diff --git a/.eslintrc b/.eslintrc deleted file mode 100644 index 91926fcd..00000000 --- a/.eslintrc +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "nodemailer" -} diff --git a/.gitignore b/.gitignore index 2437b541..96ac666e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,34 +1,9 @@ /.idea +/.vscode /last-failed-e2e-test.* node_modules npm-debug.log -package-lock.json .DS_Store -config/development.* -config/production.* -config/test.* -workers/reports/config/development.* -workers/reports/config/production.* -workers/reports/config/test.* dump.rdb -# generate POT file every time you want to update your PO file -languages/mailtrain.pot - -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 -!public/grapejs/templates/aves - -config/production.toml -workers/reports/config/production.toml -docker-compose.override.yml diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 00000000..a3472fb0 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "mvis/ivis-core"] + path = mvis/ivis-core + url = https://github.com/smartarch/ivis-core.git diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index dc5ea4b5..00000000 --- a/.travis.yml +++ /dev/null @@ -1,18 +0,0 @@ -dist: trusty -sudo: required -language: node_js -node_js: - - 8 -services: - - mysql -before_install: - - sudo apt-get -q -y install pwgen imagemagick -install: - - sudo bash test/e2e/install.sh - - npm install -before_script: - - npm run starttest > /dev/null 2>&1 & - - sleep 10 -script: - - grunt - - npm run _e2e diff --git a/BACKERS.md b/BACKERS.md deleted file mode 100644 index 6439658d..00000000 --- a/BACKERS.md +++ /dev/null @@ -1,18 +0,0 @@ -# Crowdfunding Backers - -Mailtrain received funding from a [crowdfunding campaign](https://www.indiegogo.com/at/mailtrain/8720095). This was to enable me to spend the time required to get automation support into Mailtrain. These are the people who contributed to this fund raiser. - - * iRedMail - free, open source mail server solution <[www.iredmail.org](http://www.iredmail.org/)> - * Richard Adleta - * Wes Bos - * Christophe Lombart - * Anselm Hannemann - * Jens Carroll - * Anonymous - * Brett Nelson - * Jason Pelker - * Leif Singer - * Eve Land - * Diana Espino - * Moussa Clarke - * Carl Hauschke diff --git a/CHANGELOG.md b/CHANGELOG.md index 7b18d957..400e3c8a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,149 +1,5 @@ # Changelog -## 1.23.2 2017-04-04 +## 2.0.0-rc1 2018-12-25 - * Allow skipping DNS check for imports - * Added option to use subscription widgets - -## 1.23.0 2017-03-19 - - * Fixed security issue where description tags were able to include script tags. Reported by Andreas Lindh. Fixed with [ae6affda](https://github.com/Mailtrain-org/mailtrain/commit/ae6affda8193f034e06f7e095ee23821a83d5190) - * Fixed security issue where templates that looked like file paths loaded content from arbitrary files. Reported by Andreas Lindh. Fixed with [0879fa41](https://github.com/Mailtrain-org/mailtrain/commit/0879fa412a2d4a417aeca5cd5092a8f86531e7ef) - * Fixed security issue where users were able to use html tags in subscription values. Reported by Andreas Lindh. Fixed with [9d5fb816](https://github.com/Mailtrain-org/mailtrain/commit/9d5fb816c937114966d4f589e1ad4e164ff3a187) - * Support for multiple HTML editors (Mosaico, GrapeJS, Summernote, HTML code) - -## 1.22.0 2017-03-02 - - * Reverted license back to GPL-v3 to support Mosaico - -## 1.21.0 2017-02-17 - - * Changed license from MIT to EUPL-1.1 - * Added support for sending mail using AWS SES - -## 1.20.0 2016-12-11 - - * Added option to distribute sending queue between multiple processes to speed up delivery - -## 1.19.0 2016-09-15 - - * Changed license from GPL-V3 to MIT - -## 1.18.0 2016-09-08 - - * Updated installation script to bundle ZoneMTA as the default sending engine - * Added new option to disable clicked and opened tracking - * Store remote IP for subscription confirmations - -## 1.17.0 2016-08-29 - - * Added new custom field for JSON data that is rendered using Handlebars when included in an email - -## 1.16.0 2016-08-29 - - * Render list values using Handlebars templates - * Added new API method to create custom fields - * Added LDAP authentication support - -## 1.15.0 2016-07-28 - - * Check SMTP settings using AJAX instead of posting entire form - -## 1.14.0 2016-07-09 - - * Fixed ANY match segments with range queries - * Added an option to disable un/subscribe confirmation messages - * Added support for throttling when sending messages - * Added preview links in message lists - -## 1.13.0 2016-06-23 - - * Added API method to delete subscribers - * Added a counter to triggers with a view to list all subscribers that caused this trigger to fire - -## 1.12.1 2016-06-23 - - * Fixed invalid base SQL dump - -## 1.12.0 2016-06-22 - - * Automation support. Create triggers that send a campaign once fired - * Fixed an issue with unresolved URL redirects - * Added support for relative date ranges in segments - -## 1.11.0 2016-05-31 - - * Retry transactional mail if failed with soft error (4xx) - * New feature to preview campaigns using selected test users - -## 1.10.1 2016-05-26 - - * Fix a bug with SMTP transport instance where campaign sending stalled until server was restarted - -## 1.10.0 2016-05-25 - - * Fetch multiple unsent messages at once to speed up delivery - * Fixed a bug of counting unsubscribers correctly - * Use LONGTEXT for template text fields (messages might include inlined images which are larger than 64kB) - -## 1.9.0 2016-05-16 - - * New look - * Added views for bounced/unsubscribed/complained etc. - -## 1.8.2 2016-05-13 - - * Added missing views for subscribers who clicked on any link and subscribers who opened the message - -## 1.8.1 2016-05-13 - - * Fixed an issue in API - -## 1.8.0 2016-05-13 - - * Show details about subscribers who clicked on a specific link - -## 1.7.0 2016-05-11 - - * Updated API, added new option **REQUIRE_CONFIRMATION** for subscriptions to send confirmation email before subscribing - -## 1.6.0 2016-05-07 - - * Added simple API support for adding and removing list subscriptions - -## 1.5.0 2016-05-05 - - * Fixed a bug in unsubscribing through the admin interface - * Added individual link click stats - -## 1.4.1 2016-05-04 - - * Added support for RSS templates - -## 1.4.0 2016-05-04 - - * Added support for RSS campaigns - * Subscribers get timezone attached to their profile - * Outgoing messages are preprocessed using juice - * Added installation script for easier setup - -## 1.3.0 2016-04-29 - - * Added option to use an URL as message source (when message needs to be rendered a POST request with Merge Tags as the POST body is made against that URL) - * Added option to schedule sending. You can set optional delay time when starting campaign sending. Once this time is reached sending starts automatically - * Show meaningful MySQL error when connection fails - -## 1.2.0 2016-04-25 - - * Rewrite merge tags in links (allows using links like `http://example.com/?u=[FIRST_NAME]` in messages) - * Added view for Imports to list failed addresses - * Automatic SQL table creation on initial run (no need for the `mysql` command anymore) - * Automatic SQL table updates on startup - * Send welcome and unsubscribe confirmation emails for subscribers - * Added support for GPG encryption for outgoing messages (requires custom field "GPG Key" set up for the list) - * Added new SMTP option: allow self-signed certs - * Added new setting: Disable WYSIWG editor (allows better handling of complex HTML templates) - * Allow downgrading user when server started as root (user is downgraded once all ports are bound) - * Added Nitrous.io one-click install button for easy try-out - * Added Max Post Size option to allow larger payloads from bounce webhooks - * Added VERP support to catch bounces using built in VERP smtp-server (disabled by default) + * This is a complete rewrite of Mailtrain v1 with many features added. Just check it out. diff --git a/Dockerfile b/Dockerfile index d49ffbeb..337be331 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,13 +1,26 @@ -FROM node:8.6 +FROM node:10.14-alpine + +RUN apk add --update pwgen netcat-openbsd python make gcc git g++ bash imagemagick # First install dependencies -COPY ./package.json ./app/ +COPY server/package.json /app/server/package.json +COPY server/package-lock.json /app/server/package-lock.json +COPY client/package.json /app/client/package.json +COPY client/package-lock.json /app/client/package-lock.json +COPY shared/package.json /app/shared/package.json +COPY shared/package-lock.json /app/shared/package-lock.json +COPY zone-mta/package.json /app/zone-mta/package.json +COPY zone-mta/package-lock.json /app/zone-mta/package-lock.json + WORKDIR /app/ -ENV NODE_ENV production -RUN npm install --no-progress --production && npm install --no-progress passport-ldapjs passport-ldapauth -# Later, copy the app files. That improves development speed as buiding the Docker image will not have + +RUN for idx in client shared server zone-mta; do (cd $idx && npm install); done + +# Later, copy the app files. That improves development speed as buiding the Docker image will not have # to download and install all the NPM dependencies every time there's a change in the source code COPY . /app -EXPOSE 3000 + +RUN cd client && npm run build + +EXPOSE 3000 3003 3004 ENTRYPOINT ["bash", "/app/docker-entrypoint.sh"] -CMD ["node", "index.js"] diff --git a/Gruntfile.js b/Gruntfile.js deleted file mode 100644 index 797686e6..00000000 --- a/Gruntfile.js +++ /dev/null @@ -1,36 +0,0 @@ -'use strict'; - -module.exports = function (grunt) { - - // Project configuration. - grunt.initConfig({ - eslint: { - all: ['lib/**/*.js', 'test/**/*.js', 'config/**/*.js', 'services/**/*.js', 'Gruntfile.js', 'app.js', 'index.js', 'routes/editorapi.js'] - }, - - nodeunit: { - all: ['test/nodeunit/**/*-test.js'] - }, - - jsxgettext: { - test: { - files: [{ - src: ['views/**/*.hbs', 'lib/**/*.js', 'routes/**/*.js', 'services/**/*.js', 'app.js', 'index.js', '!ignored'], - output: 'mailtrain.pot', - 'output-dir': './languages/' - }], - options: { - keyword: ['translate', '_'] - } - } - } - }); - - // Load the plugin(s) - grunt.loadNpmTasks('grunt-eslint'); - grunt.loadNpmTasks('grunt-contrib-nodeunit'); - grunt.task.loadTasks('tasks'); - - // Tasks - grunt.registerTask('default', ['eslint', 'nodeunit', 'jsxgettext']); -}; diff --git a/README.md b/README.md index 8d8ed08e..3f2e3362 100644 --- a/README.md +++ b/README.md @@ -1,62 +1,210 @@ -# Mailtrain +# Mailtrain v2 (beta) -[Mailtrain](http://mailtrain.org) is a self hosted newsletter application built on Node.js (v7+) and MySQL (v5.5+ or MariaDB). +Mailtrain is a self hosted newsletter application built on Node.js (v10+) and MySQL (v8+) or MariaDB (v10+). -![](http://mailtrain.org/mailtrain.png) +![](https://mailtrain.org/mailtrain.png) ## Features -* Subscriber list management +* Subscriber lists management * List segmentation * Custom fields -* Email templates -* Large CSV list import files +* Email templates (including MJML-based templates) +* Custom reports +* Automation (triggered and RSS campaigns) +* Multiple users with granular user permissions and flexible sharing +* Hierarchical namespaces for enterprise-level situations +* Builtin Zone-MTA (https://github.com/zone-eu/zone-mta) for close-to-zero setup of mail delivery -Subscribe to Mailtrain Newsletter [here](https://mailtrain.org/subscription/S18sew2wM) (uses Mailtrain obviously) +## Recommended minimal hardware Requirements +* 2 vCPU +* 4096 MB RAM -## Hardware Requirements -* 1 vCPU -* 1024 MB RAM -## Quick Start - Deploy with Docker -#### Requirements: +## Quick Start - * [Docker](https://www.docker.com/) - * [Docker Compose](https://docs.docker.com/compose/) +### Preparation +Mailtrain creates three URL endpoints, which are referred to as "trusted", "sandbox" and "public". This allows Mailtrain +to guarantee security and avoid XSS attacks in the multi-user settings. The function of these three endpoints is as follows: +- *trusted* - This is the main endpoint for the UI that a logged-in user uses to manage lists, send campaigns, etc. +- *sandbox* - This is an endpoint not directly visible to a user. It is used to host WYSIWYG template editors. +- *public* - This is an endpoint for subscribers. It is used to host subscription management forms, files and archive. -#### Steps: -Depending on how you have configured your system and Docker you may need to prepend the commands below with `sudo`. +The recommended deployment of Mailtrain would use 3 DNS entries that all points to the **same** IP address. For example as follows: +- *lists.example.com* - public endpoint (A record `lists` under `example.com` domain) +- *mailtrain.example.com* - trusted endpoint (CNAME record `mailtrain` under `example.com` domain that points to `lists`) +- *sbox.mailtrain.example.com* - sandbox endpoint (CNAME record `sbox.mailtrain` under `example.com` domain that points to `lists`) -* Download Mailtrain files using git: `git clone git://github.com/Mailtrain-org/mailtrain.git` (or download [zipped repo](https://github.com/Mailtrain-org/mailtrain/archive/master.zip)) and open Mailtrain folder `cd mailtrain` -* Copy the file `docker-compose.override.yml.tmpl` to `docker-compose.override.yml` and modify it if you need to. -* Bring up the stack with: `docker-compose up -d` -* Start: `docker-compose start` -* Open [http://localhost:3000/](http://localhost:3000/) (change the host name `localhost` to the name of the host where you are deploying the system). -* Authenticate as user `admin` with password `test` -* Navigate to [http://localhost:3000/settings](http://localhost:3000/settings) and update service configuration. -* Navigate to [http://localhost:3000/users/account](http://localhost:3000/users/account) and update user information and password. -## Quick Start - Manual Install (any OS that supports Node.js) +### Installation on fresh CentOS 7 or Ubuntu 18.04 LTS (public website secured by SSL) -### Requirements: - * Mailtrain requires at least **Node.js v7**. If you want to use an older version of Node.js then you should use version v1.24 of Mailtrain. You can either download it [here](https://github.com/Mailtrain-org/mailtrain/archive/v1.24.0.zip) or if using git then run `git checkout v1.24.0` before starting it +This will setup a publicly accessible Mailtrain instance. All endpoints (trusted, sandbox, public) will provide both HTTP (on port 80) +and HTTPS (on port 443). The HTTP ports just issue HTTP redirect to their HTTPS counterparts. - 1. Download Mailtrain files using git: `git clone git://github.com/Mailtrain-org/mailtrain.git` (or download [zipped repo](https://github.com/Mailtrain-org/mailtrain/archive/master.zip)) and open Mailtrain folder `cd mailtrain` - 2. Run `npm install --production` in the Mailtrain folder to install required dependencies - 3. Copy [config/default.toml](config/default.toml) as `config/production.toml` and update MySQL and any other settings in it - 4. Run the server `NODE_ENV=production npm start` - 5. Open [http://localhost:3000/](http://localhost:3000/) - 6. Authenticate as `admin`:`test` - 7. Navigate to [http://localhost:3000/settings](http://localhost:3000/settings) and update service configuration - 8. Navigate to [http://localhost:3000/users/account](http://localhost:3000/users/account) and update user information and password +The script below will also acquire a valid certificate from [Let's Encrypt](https://letsencrypt.org/). +If you are hosting Mailtrain on AWS or some other cloud provider, make sure that **before** running the installation +script you allow inbound connection to ports 80 (HTTP) and 443 (HTTPS). -## Read The Docs -For more information, please [read the docs](http://docs.mailtrain.org/). +**Note,** that this will automatically accept the Let's Encrypt's Terms of Service. +Thus, by running this script below, you agree with the Let's Encrypt's Terms of Service (https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf). + + + +1. Login as root. (I had some problems running npm as root on CentOS 7 on AWS. This seems to be fixed by the seemingly extraneous `su` within `sudo`.) + ``` + sudo su - + ``` + +2. Install GIT + + For Centos 7 type: + ``` + yum install -y git + ``` + + For Ubuntu 18.04 LTS type + ``` + apt-get install -y git + ``` + +3. Download Mailtrain using git to the `/opt/mailtrain` directory + ``` + cd /opt + git clone https://github.com/Mailtrain-org/mailtrain.git + cd mailtrain + git checkout development + ``` + +4. Run the installation script. Replace the urls and your email address with the correct values. **NOTE** that running this script you agree + Let's Encrypt's conditions. + + For Centos 7 type: + ``` + bash setup/install-centos7-https.sh mailtrain.example.com sbox.mailtrain.example.com lists.example.com admin@example.com + ``` + + For Ubuntu 18.04 LTS type: + ``` + bash setup/install-ubuntu1804-https.sh mailtrain.example.com sbox.mailtrain.example.com lists.example.com admin@example.com + ``` + +5. Start Mailtrain and enable to be started by default when your server starts. + ``` + systemctl start mailtrain + systemctl enable mailtrain + ``` + +6. Open the trusted endpoint (like `https://mailtrain.example.com`) + +7. Authenticate as `admin`:`test` + +8. Update your password under admin/Account + +9. Update your settings under Administration/Global Settings. + +10. If you intend to sign your email by DKIM, set the DKIM key and DKIM selector under Administration/Send Configurations. + + +### Installation on fresh CentOS 7 or Ubuntu 18.04 LTS (local installation) + +This will setup a locally accessible Mailtrain instance (primarily for development and testing). +All endpoints (trusted, sandbox, public) will provide only HTTP as follows: +- http://localhost:3000 - trusted endpoint +- http://localhost:3003 - sandbox endpoint +- http://localhost:3004 - public endpoint + +1. Login as root. (I had some problems running npm as root on CentOS 7 on AWS. This seems to be fixed by the seemingly extraneous `su` within `sudo`.) + ``` + sudo su - + ``` + +2. Install git + + For Centos 7 type: + ``` + yum install -y git + ``` + + For Ubuntu 18.04 LTS type: + ``` + apt-get install -y git + ``` + +3. Download Mailtrain using git to the `/opt/mailtrain` directory + ``` + cd /opt + git clone https://github.com/Mailtrain-org/mailtrain.git + cd mailtrain + git checkout development + ``` + +4. Run the installation script. Replace the urls and your email address with the correct values. **NOTE** that running this script you agree + Let's Encrypt's conditions. + + For Centos 7 type: + ``` + bash setup/install-centos7-local.sh + ``` + + For Ubuntu 18.04 LTS type: + ``` + bash setup/install-ubuntu1804-local.sh + ``` + +5. Start Mailtrain and enable to be started by default when your server starts. + ``` + systemctl start mailtrain + systemctl enable mailtrain + ``` + +6. Open the trusted endpoint http://localhost:3000 + +7. Authenticate as `admin`:`test` + + + +### Deployment with Docker and Docker compose + +This setup starts a stack composed of Mailtrain, MongoDB, Redis, and MariaDB. It will setup a locally accessible Mailtrain instance with HTTP endpoints as follows. +- http://localhost:3000 - trusted endpoint +- http://localhost:3003 - sandbox endpoint +- http://localhost:3004 - public endpoint + +To make this publicly accessible, you should add reverse proxy that makes these endpoints publicly available over HTTPS. If using the proxy, you also need to set the URL bases and `--withProxy` parameter via `MAILTRAIN_SETTING` as shown below. +An example of such proxy would be: +- http://localhost:3000 -> https://mailtrain.example.com +- http://localhost:3003 -> https://sbox.mailtrain.example.com +- http://localhsot:3004 -> https://lists.example.com + +To deploy Mailtrain with Docker, you need the following three dependencies installed: + +- [Docker](https://www.docker.com/) +- [Docker Compose](https://docs.docker.com/compose/) + +These are the steps to start Mailtrain via docker-compose: + +1. Download Mailtrain's docker-compose build file + ``` + curl -O https://raw.githubusercontent.com/Mailtrain-org/mailtrain/development/docker-compose.yml + ``` + +2. Deploy Mailtrain via docker-compose (in the directory to which you downloaded the `docker-compose.yml` file). This will take quite some time when run for the first time. Subsequent executions will be fast. + ``` + docker-compose up + ``` + + You can specify Mailtrain's URL bases via the `MAILTRAIN_SETTINGS` environment variable as follows. The `--withProxy` parameter is to be used when Mailtrain is put behind a reverse proxy. + ``` + MAILTRAIN_SETTINGS="--trustedUrlBase https://mailtrain.example.com --sandboxUrlBase https://sbox.mailtrain.example.com --publicUrlBase https://lists.example.com --withProxy" docker-compose up + ``` + +3. Open the trusted endpoint http://localhost:3000 + +4. Authenticate as `admin`:`test` + +The instructions above use an automatically built Docker image on DockerHub (https://hub.docker.com/r/mailtrain/mailtrain). If you want to build the Docker image yourself (e.g. when doing development), use the `docker-compose-local.yml` located in the project's root directory. ## License - * Versions 1.22.0 and up **GPL-V3.0** - * Versions 1.21.0 and up: **EUPL-1.1** - * Versions 1.19.0 and up: **MIT** - * Up to versions 1.18.0 **GPL-V3.0** + **GPL-V3.0** diff --git a/TODO.md b/TODO.md new file mode 100644 index 00000000..82f5c76f --- /dev/null +++ b/TODO.md @@ -0,0 +1,26 @@ +Note that some of these may be already obsolete... + +### Front page +- Some dashboard + +### Campaigns +- List of sent RSS campaigns (?) + +### Pull requests +- Support ldaps:// - 5325f2ea7864ce5f42a9a6df3408af7ffbd32591 +- Support https - abd788d8f4d18b5a977226ba1224cba7f2b7fa9b +- Support warn of failed login - 4bd1e994b27420ba366d9b0429e9014e5bf01f13 +- Add X-Mailer header option in settings to override or disable it - 44fe8882b876bdfd9990110496d16f819dc64ac3 +- Add custom unsubscribe option in a campaign - 68cb8384f7dfdbcaf2932293ec5a2f1ec0a1554e + +### API +- Add API extensions + +### GDPR +- Refuse editing subscriptions which have been anonymized +- Add field to subscriptions which says till when the consent has been given +- Provide a link (and merge tag) that will update the consent date to now +- Add campaign trigger that triggers if the consent for specific subscription field is about to expire (i.e. it is greater than now - seconds) + +### RSS Campaigns +- Aggregated RSS campaigns \ No newline at end of file diff --git a/UPGRADE.md b/UPGRADE.md new file mode 100644 index 00000000..e98d3d28 --- /dev/null +++ b/UPGRADE.md @@ -0,0 +1,21 @@ +## Migration from Mailtrain v1 to Mailtrain v2 + +The migration should happen almost automatically. There are however the following caveats: + +1. Structure of config files (under `config`) has changed at many places. Revisit the default config (`config/default.toml`) + and update your configs accordingly. + +2. Images uploaded in a template editor (Mosaico, Grapesjs, etc.) need to be manually moved to a new destination (under `client`). + For Mosaico, this means to move folders named by a number from `public/mosaico` to `client/static/mosaico`. + +3. Directory for custom Mosaico templates has changed from `public/mosaico/templates` to `client/static/mosaico/templates`. + +4. Imports are not migrated. If you have any pending imports, complete them before migration to v2. + +5. Zone MTA configuration endpoint (webhooks/zone-mta/sender-config) has changed. The send-configuration CID has to be + part of the URL - e.g. webhooks/zone-mta/sender-config/system. + +6. If there are lists that contain birthday or date fields that were created before + commit `bc73a0df0cab9943d726bd12fc1c6f2ff1279aa7` (on Jan 3, 2018), they still have TIMESTAMP data type in DB instead + of DATETIME. The problem was that that commit did not introduce migration from TIMESTAMP to DATETIME. + Mailtrain v2 does this migration, however in some corner cases, this may shift the date by a day back or forth. diff --git a/app.js b/app.js deleted file mode 100644 index c6578e60..00000000 --- a/app.js +++ /dev/null @@ -1,265 +0,0 @@ -'use strict'; - -const config = require('config'); -const log = require('npmlog'); - -const _ = require('./lib/translate')._; - -const express = require('express'); -const bodyParser = require('body-parser'); -const path = require('path'); -const favicon = require('serve-favicon'); -const logger = require('morgan'); -const cookieParser = require('cookie-parser'); -const session = require('express-session'); -const RedisStore = require('connect-redis')(session); -const flash = require('connect-flash'); -const hbs = require('hbs'); -const handlebarsHelpers = require('./lib/handlebars-helpers'); -const compression = require('compression'); -const passport = require('./lib/passport'); -const tools = require('./lib/tools'); - -const routes = require('./routes/index'); -const users = require('./routes/users'); -const lists = require('./routes/lists'); -const settings = require('./routes/settings'); -const settingsModel = require('./lib/models/settings'); -const templates = require('./routes/templates'); -const campaigns = require('./routes/campaigns'); -const links = require('./routes/links'); -const fields = require('./routes/fields'); -const forms = require('./routes/forms'); -const segments = require('./routes/segments'); -const triggers = require('./routes/triggers'); -const webhooks = require('./routes/webhooks'); -const subscription = require('./routes/subscription'); -const archive = require('./routes/archive'); -const api = require('./routes/api'); -const blacklist = require('./routes/blacklist'); -const editorapi = require('./routes/editorapi'); -const grapejs = require('./routes/grapejs'); -const mosaico = require('./routes/mosaico'); -const reports = require('./routes/reports'); -const reportsTemplates = require('./routes/report-templates'); - -const app = express(); - -// view engine setup -app.set('views', path.join(__dirname, 'views')); -app.set('view engine', 'hbs'); - -// Handle proxies. Needed to resolve client IP -if (config.www.proxy) { - app.set('trust proxy', config.www.proxy); -} - -// Do not expose software used -app.disable('x-powered-by'); - -hbs.registerPartials(__dirname + '/views/partials'); -hbs.registerPartials(__dirname + '/views/subscription/partials/'); -hbs.registerPartials(__dirname + '/views/report-templates/partials/'); -hbs.registerPartials(__dirname + '/views/reports/partials/'); - -/** - * We need this helper to make sure that we consume flash messages only - * when we are able to actually display these. Otherwise we might end up - * in a situation where we consume a flash messages but then comes a redirect - * and the message is never displayed - */ -hbs.registerHelper('flash_messages', function () { // eslint-disable-line prefer-arrow-callback - if (typeof this.flash !== 'function') { // eslint-disable-line no-invalid-this - return ''; - } - - let messages = this.flash(); // eslint-disable-line no-invalid-this - let response = []; - - // group messages by type - Object.keys(messages).forEach(key => { - let el = ''; - - response.push(el); - }); - - return new hbs.handlebars.SafeString( - response.join('\n') - ); -}); - -handlebarsHelpers.registerHelpers(hbs.handlebars); - - -app.use(compression()); -app.use(favicon(path.join(__dirname, 'public', 'favicon.ico'))); - -app.use(logger(config.www.log, { - stream: { - write: message => { - message = (message || '').toString(); - if (message) { - log.info('HTTP', message.replace('\n', '').trim()); - } - } - } -})); - -app.use(cookieParser()); -app.use(express.static(path.join(__dirname, 'public'))); - -app.use(session({ - store: config.redis.enabled ? new RedisStore(config.redis) : false, - secret: config.www.secret, - saveUninitialized: false, - resave: false -})); -app.use(flash()); - -app.use((req, res, next) => { - req._ = str => _(str); - next(); -}); - -app.use(bodyParser.urlencoded({ - extended: true, - limit: config.www.postsize -})); - -app.use(bodyParser.text({ - limit: config.www.postsize -})); - -app.use(bodyParser.json({ - limit: config.www.postsize -})); - -passport.setup(app); - -// make sure flash messages are available -app.use((req, res, next) => { - res.locals.flash = req.flash.bind(req); - res.locals.user = req.user; - res.locals.ldap = { - enabled: config.ldap.enabled, - passwordresetlink: config.ldap.passwordresetlink - }; - - let menu = [{ - title: _('Home'), - url: '/', - selected: true - }]; - - res.setSelectedMenu = key => { - menu.forEach(item => { - item.selected = (item.key === key); - }); - }; - - res.locals.menu = menu; - tools.updateMenu(res); - - res.locals.customStyles = config.customstyles || []; - res.locals.customScripts = config.customscripts || []; - - let bodyClasses = []; - if (req.user) { - bodyClasses.push('logged-in user-' + req.user.username); - } - res.locals.bodyClass = bodyClasses.join(' '); - - settingsModel.list(['ua_code', 'shoutout'], (err, configItems) => { - if (err) { - return next(err); - } - Object.keys(configItems).forEach(key => { - res.locals[key] = configItems[key]; - }); - next(); - }); -}); - -app.use('/', routes); -app.use('/users', users); -app.use('/lists', lists); -app.use('/templates', templates); -app.use('/campaigns', campaigns); -app.use('/settings', settings); -app.use('/blacklist', blacklist); -app.use('/links', links); -app.use('/fields', fields); -app.use('/forms', forms); -app.use('/segments', segments); -app.use('/triggers', triggers); -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); - -if (config.reports && config.reports.enabled === true) { - app.use('/reports', reports); - app.use('/report-templates', reportsTemplates); -} - -// catch 404 and forward to error handler -app.use((req, res, next) => { - let err = new Error(_('Not Found')); - err.status = 404; - next(err); -}); - -// error handlers - -// development error handler -// will print stacktrace -if (app.get('env') === 'development') { - app.use((err, req, res, next) => { - if (!err) { - return next(); - } - res.status(err.status || 500); - res.render('error', { - message: err.message, - error: err - }); - }); -} - -// production error handler -// no stacktraces leaked to user -app.use((err, req, res, next) => { - if (!err) { - return next(); - } - res.status(err.status || 500); - res.render('error', { - message: err.message, - error: {} - }); -}); - -module.exports = app; diff --git a/client/.gitignore b/client/.gitignore new file mode 100644 index 00000000..9b1c8b13 --- /dev/null +++ b/client/.gitignore @@ -0,0 +1 @@ +/dist diff --git a/client/package-lock.json b/client/package-lock.json new file mode 100644 index 00000000..1a955905 --- /dev/null +++ b/client/package-lock.json @@ -0,0 +1,12356 @@ +{ + "name": "mailtrain-client", + "version": "2.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@babel/cli": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.5.5.tgz", + "integrity": "sha512-UHI+7pHv/tk9g6WXQKYz+kmXTI77YtuY3vqC59KIqcoWEjsJJSG6rAxKaLsgj3LDyadsPrCB929gVOKM6Hui0w==", + "dev": true, + "requires": { + "chokidar": "^2.0.4", + "commander": "^2.8.1", + "convert-source-map": "^1.1.0", + "fs-readdir-recursive": "^1.1.0", + "glob": "^7.0.0", + "lodash": "^4.17.13", + "mkdirp": "^0.5.1", + "output-file-sync": "^2.0.0", + "slash": "^2.0.0", + "source-map": "^0.5.0" + }, + "dependencies": { + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "optional": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "optional": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true, + "optional": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true, + "optional": true + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "optional": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "optional": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "chokidar": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.6.tgz", + "integrity": "sha512-V2jUo67OKkc6ySiRpJrjlpJKl9kDuG+Xb8VgsGzb+aEouhgS1D0weyPU4lEzdAcsCAvrih2J2BqyXqHWvVLw5g==", + "dev": true, + "optional": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + } + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "optional": true, + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "optional": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "optional": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "optional": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "optional": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "optional": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "optional": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "optional": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, + "optional": true + } + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "optional": true, + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "optional": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "optional": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "optional": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "optional": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "optional": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "optional": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "optional": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "optional": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "optional": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true, + "optional": true + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "optional": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "optional": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "optional": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true, + "optional": true + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true, + "optional": true + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "optional": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "optional": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "@babel/code-frame": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz", + "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.0.0" + } + }, + "@babel/core": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.5.5.tgz", + "integrity": "sha512-i4qoSr2KTtce0DmkuuQBV4AuQgGPUcPXMr9L5MyYAtk06z068lQ10a4O009fe5OB/DfNV+h+qqT7ddNV8UnRjg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.5.5", + "@babel/generator": "^7.5.5", + "@babel/helpers": "^7.5.5", + "@babel/parser": "^7.5.5", + "@babel/template": "^7.4.4", + "@babel/traverse": "^7.5.5", + "@babel/types": "^7.5.5", + "convert-source-map": "^1.1.0", + "debug": "^4.1.0", + "json5": "^2.1.0", + "lodash": "^4.17.13", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" + }, + "dependencies": { + "@babel/types": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.5.5.tgz", + "integrity": "sha512-s63F9nJioLqOlW3UkyMd+BYhXt44YuaFm/VV0VwuteqjYwRrObkU7ra9pY4wAJR3oXi8hJrMcrcJdO/HH33vtw==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true + } + } + }, + "@babel/generator": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.5.5.tgz", + "integrity": "sha512-ETI/4vyTSxTzGnU2c49XHv2zhExkv9JHLTwDAFz85kmcwuShvYG2H08FwgIguQf4JC75CBnXAUM5PqeF4fj0nQ==", + "dev": true, + "requires": { + "@babel/types": "^7.5.5", + "jsesc": "^2.5.1", + "lodash": "^4.17.13", + "source-map": "^0.5.0", + "trim-right": "^1.0.1" + }, + "dependencies": { + "@babel/types": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.5.5.tgz", + "integrity": "sha512-s63F9nJioLqOlW3UkyMd+BYhXt44YuaFm/VV0VwuteqjYwRrObkU7ra9pY4wAJR3oXi8hJrMcrcJdO/HH33vtw==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true + } + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz", + "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz", + "integrity": "sha512-qNSR4jrmJ8M1VMM9tibvyRAHXQs2PmaksQF7c1CGJNipfe3D8p+wgNwgso/P2A2r2mdgBWAXljNWR0QRZAMW8w==", + "dev": true, + "requires": { + "@babel/helper-explode-assignable-expression": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-builder-react-jsx": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.3.0.tgz", + "integrity": "sha512-MjA9KgwCuPEkQd9ncSXvSyJ5y+j2sICHyrI0M3L+6fnS4wMSNDc1ARXsbTfbb2cXHn17VisSnU/sHFTCxVxSMw==", + "dev": true, + "requires": { + "@babel/types": "^7.3.0", + "esutils": "^2.0.0" + } + }, + "@babel/helper-call-delegate": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.4.4.tgz", + "integrity": "sha512-l79boDFJ8S1c5hvQvG+rc+wHw6IuH7YldmRKsYtpbawsxURu/paVy57FZMomGK22/JckepaikOkY0MoAmdyOlQ==", + "dev": true, + "requires": { + "@babel/helper-hoist-variables": "^7.4.4", + "@babel/traverse": "^7.4.4", + "@babel/types": "^7.4.4" + }, + "dependencies": { + "@babel/types": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.5.5.tgz", + "integrity": "sha512-s63F9nJioLqOlW3UkyMd+BYhXt44YuaFm/VV0VwuteqjYwRrObkU7ra9pY4wAJR3oXi8hJrMcrcJdO/HH33vtw==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true + } + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.5.5.tgz", + "integrity": "sha512-ZsxkyYiRA7Bg+ZTRpPvB6AbOFKTFFK4LrvTet8lInm0V468MWCaSYJE+I7v2z2r8KNLtYiV+K5kTCnR7dvyZjg==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-member-expression-to-functions": "^7.5.5", + "@babel/helper-optimise-call-expression": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-replace-supers": "^7.5.5", + "@babel/helper-split-export-declaration": "^7.4.4" + } + }, + "@babel/helper-define-map": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.5.5.tgz", + "integrity": "sha512-fTfxx7i0B5NJqvUOBBGREnrqbTxRh7zinBANpZXAVDlsZxYdclDp467G1sQ8VZYMnAURY3RpBUAgOYT9GfzHBg==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.1.0", + "@babel/types": "^7.5.5", + "lodash": "^4.17.13" + }, + "dependencies": { + "@babel/types": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.5.5.tgz", + "integrity": "sha512-s63F9nJioLqOlW3UkyMd+BYhXt44YuaFm/VV0VwuteqjYwRrObkU7ra9pY4wAJR3oXi8hJrMcrcJdO/HH33vtw==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true + } + } + }, + "@babel/helper-explode-assignable-expression": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz", + "integrity": "sha512-NRQpfHrJ1msCHtKjbzs9YcMmJZOg6mQMmGRB+hbamEdG5PNpaSm95275VD92DvJKuyl0s2sFiDmMZ+EnnvufqA==", + "dev": true, + "requires": { + "@babel/traverse": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-function-name": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", + "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.0.0", + "@babel/template": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", + "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.4.4.tgz", + "integrity": "sha512-VYk2/H/BnYbZDDg39hr3t2kKyifAm1W6zHRfhx8jGjIHpQEBv9dry7oQ2f3+J703TLu69nYdxsovl0XYfcnK4w==", + "dev": true, + "requires": { + "@babel/types": "^7.4.4" + }, + "dependencies": { + "@babel/types": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.5.5.tgz", + "integrity": "sha512-s63F9nJioLqOlW3UkyMd+BYhXt44YuaFm/VV0VwuteqjYwRrObkU7ra9pY4wAJR3oXi8hJrMcrcJdO/HH33vtw==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true + } + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.5.5.tgz", + "integrity": "sha512-5qZ3D1uMclSNqYcXqiHoA0meVdv+xUEex9em2fqMnrk/scphGlGgg66zjMrPJESPwrFJ6sbfFQYUSa0Mz7FabA==", + "dev": true, + "requires": { + "@babel/types": "^7.5.5" + }, + "dependencies": { + "@babel/types": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.5.5.tgz", + "integrity": "sha512-s63F9nJioLqOlW3UkyMd+BYhXt44YuaFm/VV0VwuteqjYwRrObkU7ra9pY4wAJR3oXi8hJrMcrcJdO/HH33vtw==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true + } + } + }, + "@babel/helper-module-imports": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz", + "integrity": "sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-module-transforms": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.5.5.tgz", + "integrity": "sha512-jBeCvETKuJqeiaCdyaheF40aXnnU1+wkSiUs/IQg3tB85up1LyL8x77ClY8qJpuRJUcXQo+ZtdNESmZl4j56Pw==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/helper-simple-access": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.4.4", + "@babel/template": "^7.4.4", + "@babel/types": "^7.5.5", + "lodash": "^4.17.13" + }, + "dependencies": { + "@babel/types": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.5.5.tgz", + "integrity": "sha512-s63F9nJioLqOlW3UkyMd+BYhXt44YuaFm/VV0VwuteqjYwRrObkU7ra9pY4wAJR3oXi8hJrMcrcJdO/HH33vtw==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true + } + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz", + "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", + "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==", + "dev": true + }, + "@babel/helper-regex": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.5.5.tgz", + "integrity": "sha512-CkCYQLkfkiugbRDO8eZn6lRuR8kzZoGXCg3149iTk5se7g6qykSpy3+hELSwquhu+TgHn8nkLiBwHvNX8Hofcw==", + "dev": true, + "requires": { + "lodash": "^4.17.13" + } + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz", + "integrity": "sha512-3fOK0L+Fdlg8S5al8u/hWE6vhufGSn0bN09xm2LXMy//REAF8kDCrYoOBKYmA8m5Nom+sV9LyLCwrFynA8/slg==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.0.0", + "@babel/helper-wrap-function": "^7.1.0", + "@babel/template": "^7.1.0", + "@babel/traverse": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-replace-supers": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.5.5.tgz", + "integrity": "sha512-XvRFWrNnlsow2u7jXDuH4jDDctkxbS7gXssrP4q2nUD606ukXHRvydj346wmNg+zAgpFx4MWf4+usfC93bElJg==", + "dev": true, + "requires": { + "@babel/helper-member-expression-to-functions": "^7.5.5", + "@babel/helper-optimise-call-expression": "^7.0.0", + "@babel/traverse": "^7.5.5", + "@babel/types": "^7.5.5" + }, + "dependencies": { + "@babel/types": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.5.5.tgz", + "integrity": "sha512-s63F9nJioLqOlW3UkyMd+BYhXt44YuaFm/VV0VwuteqjYwRrObkU7ra9pY4wAJR3oXi8hJrMcrcJdO/HH33vtw==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true + } + } + }, + "@babel/helper-simple-access": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz", + "integrity": "sha512-Vk+78hNjRbsiu49zAPALxTb+JUQCz1aolpd8osOF16BGnLtseD21nbHgLPGUwrXEurZgiCOUmvs3ExTu4F5x6w==", + "dev": true, + "requires": { + "@babel/template": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz", + "integrity": "sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q==", + "dev": true, + "requires": { + "@babel/types": "^7.4.4" + }, + "dependencies": { + "@babel/types": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.5.5.tgz", + "integrity": "sha512-s63F9nJioLqOlW3UkyMd+BYhXt44YuaFm/VV0VwuteqjYwRrObkU7ra9pY4wAJR3oXi8hJrMcrcJdO/HH33vtw==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true + } + } + }, + "@babel/helper-wrap-function": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz", + "integrity": "sha512-o9fP1BZLLSrYlxYEYyl2aS+Flun5gtjTIG8iln+XuEzQTs0PLagAGSXUcqruJwD5fM48jzIEggCKpIfWTcR7pQ==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.1.0", + "@babel/template": "^7.1.0", + "@babel/traverse": "^7.1.0", + "@babel/types": "^7.2.0" + } + }, + "@babel/helpers": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.5.5.tgz", + "integrity": "sha512-nRq2BUhxZFnfEn/ciJuhklHvFOqjJUD5wpx+1bxUF2axL9C+v4DE/dmp5sT2dKnpOs4orZWzpAZqlCy8QqE/7g==", + "dev": true, + "requires": { + "@babel/template": "^7.4.4", + "@babel/traverse": "^7.5.5", + "@babel/types": "^7.5.5" + }, + "dependencies": { + "@babel/types": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.5.5.tgz", + "integrity": "sha512-s63F9nJioLqOlW3UkyMd+BYhXt44YuaFm/VV0VwuteqjYwRrObkU7ra9pY4wAJR3oXi8hJrMcrcJdO/HH33vtw==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true + } + } + }, + "@babel/highlight": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz", + "integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==", + "dev": true, + "requires": { + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@babel/parser": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.5.5.tgz", + "integrity": "sha512-E5BN68cqR7dhKan1SfqgPGhQ178bkVKpXTPEXnFJBrEt8/DKRZlybmy+IgYLTeN7tp1R5Ccmbm2rBk17sHYU3g==", + "dev": true + }, + "@babel/plugin-proposal-async-generator-functions": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.2.0.tgz", + "integrity": "sha512-+Dfo/SCQqrwx48ptLVGLdE39YtWRuKc/Y9I5Fy0P1DDBB9lsAHpjcEJQt+4IifuSOSTLBKJObJqMvaO1pIE8LQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-remap-async-to-generator": "^7.1.0", + "@babel/plugin-syntax-async-generators": "^7.2.0" + } + }, + "@babel/plugin-proposal-class-properties": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.5.5.tgz", + "integrity": "sha512-AF79FsnWFxjlaosgdi421vmYG6/jg79bVD0dpD44QdgobzHKuLZ6S3vl8la9qIeSwGi8i1fS0O1mfuDAAdo1/A==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.5.5", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-proposal-decorators": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.4.4.tgz", + "integrity": "sha512-z7MpQz3XC/iQJWXH9y+MaWcLPNSMY9RQSthrLzak8R8hCj0fuyNk+Dzi9kfNe/JxxlWQ2g7wkABbgWjW36MTcw==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.4.4", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-decorators": "^7.2.0" + } + }, + "@babel/plugin-proposal-dynamic-import": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.5.0.tgz", + "integrity": "sha512-x/iMjggsKTFHYC6g11PL7Qy58IK8H5zqfm9e6hu4z1iH2IRyAp9u9dL80zA6R76yFovETFLKz2VJIC2iIPBuFw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-dynamic-import": "^7.2.0" + } + }, + "@babel/plugin-proposal-function-bind": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-function-bind/-/plugin-proposal-function-bind-7.2.0.tgz", + "integrity": "sha512-qOFJ/eX1Is78sywwTxDcsntLOdb5ZlHVVqUz5xznq8ldAfOVIyZzp1JE2rzHnaksZIhrqMrwIpQL/qcEprnVbw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-function-bind": "^7.2.0" + } + }, + "@babel/plugin-proposal-json-strings": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.2.0.tgz", + "integrity": "sha512-MAFV1CA/YVmYwZG0fBQyXhmj0BHCB5egZHCKWIFVv/XCxAeVGIHfos3SwDck4LvCllENIAg7xMKOG5kH0dzyUg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-json-strings": "^7.2.0" + } + }, + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.5.5.tgz", + "integrity": "sha512-F2DxJJSQ7f64FyTVl5cw/9MWn6naXGdk3Q3UhDbFEEHv+EilCPoeRD3Zh/Utx1CJz4uyKlQ4uH+bJPbEhMV7Zw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-object-rest-spread": "^7.2.0" + } + }, + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz", + "integrity": "sha512-mgYj3jCcxug6KUcX4OBoOJz3CMrwRfQELPQ5560F70YQUBZB7uac9fqaWamKR1iWUzGiK2t0ygzjTScZnVz75g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.2.0" + } + }, + "@babel/plugin-proposal-unicode-property-regex": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.4.4.tgz", + "integrity": "sha512-j1NwnOqMG9mFUOH58JTFsA/+ZYzQLUZ/drqWUqxCYLGeu2JFZL8YrNC9hBxKmWtAuOCHPcRpgv7fhap09Fb4kA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.4.4", + "regexpu-core": "^4.5.4" + } + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.2.0.tgz", + "integrity": "sha512-1ZrIRBv2t0GSlcwVoQ6VgSLpLgiN/FVQUzt9znxo7v2Ov4jJrs8RY8tv0wvDmFN3qIdMKWrmMMW6yZ0G19MfGg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-decorators": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.2.0.tgz", + "integrity": "sha512-38QdqVoXdHUQfTpZo3rQwqQdWtCn5tMv4uV6r2RMfTqNBuv4ZBhz79SfaQWKTVmxHjeFv/DnXVC/+agHCklYWA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-dynamic-import": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.2.0.tgz", + "integrity": "sha512-mVxuJ0YroI/h/tbFTPGZR8cv6ai+STMKNBq0f8hFxsxWjl94qqhsb+wXbpNMDPU3cfR1TIsVFzU3nXyZMqyK4w==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-function-bind": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-function-bind/-/plugin-syntax-function-bind-7.2.0.tgz", + "integrity": "sha512-/WzU1lLU2l0wDfB42Wkg6tahrmtBbiD8C4H6EGSX0M4GAjzN6JiOpq/Uh8G6GSoR6lPMvhjM0MNiV6znj6y/zg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.2.0.tgz", + "integrity": "sha512-5UGYnMSLRE1dqqZwug+1LISpA403HzlSfsg6P9VXU6TBjcSHeNlw4DxDx7LgpF+iKZoOG/+uzqoRHTdcUpiZNg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-jsx": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.2.0.tgz", + "integrity": "sha512-VyN4QANJkRW6lDBmENzRszvZf3/4AXaj9YR7GwrWeeN9tEBPuXbmDYVU9bYBN0D70zCWVwUy0HWq2553VCb6Hw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz", + "integrity": "sha512-t0JKGgqk2We+9may3t0xDdmneaXmyxq0xieYcKHxIsrJO64n1OiMWNUtc5gQK1PA0NpdCRrtZp4z+IUaKugrSA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.2.0.tgz", + "integrity": "sha512-bDe4xKNhb0LI7IvZHiA13kff0KEfaGX/Hv4lMA9+7TEc63hMNvfKo6ZFpXhKuEp+II/q35Gc4NoMeDZyaUbj9w==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz", + "integrity": "sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.5.0.tgz", + "integrity": "sha512-mqvkzwIGkq0bEF1zLRRiTdjfomZJDV33AH3oQzHVGkI2VzEmXLpKKOBvEVaFZBJdN0XTyH38s9j/Kiqr68dggg==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-remap-async-to-generator": "^7.1.0" + } + }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.2.0.tgz", + "integrity": "sha512-ntQPR6q1/NKuphly49+QiQiTN0O63uOwjdD6dhIjSWBI5xlrbUFh720TIpzBhpnrLfv2tNH/BXvLIab1+BAI0w==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.5.5.tgz", + "integrity": "sha512-82A3CLRRdYubkG85lKwhZB0WZoHxLGsJdux/cOVaJCJpvYFl1LVzAIFyRsa7CvXqW8rBM4Zf3Bfn8PHt5DP0Sg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "lodash": "^4.17.13" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.5.5.tgz", + "integrity": "sha512-U2htCNK/6e9K7jGyJ++1p5XRU+LJjrwtoiVn9SzRlDT2KubcZ11OOwy3s24TjHxPgxNwonCYP7U2K51uVYCMDg==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.0.0", + "@babel/helper-define-map": "^7.5.5", + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-optimise-call-expression": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-replace-supers": "^7.5.5", + "@babel/helper-split-export-declaration": "^7.4.4", + "globals": "^11.1.0" + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.2.0.tgz", + "integrity": "sha512-kP/drqTxY6Xt3NNpKiMomfgkNn4o7+vKxK2DDKcBG9sHj51vHqMBGy8wbDS/J4lMxnqs153/T3+DmCEAkC5cpA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.5.0.tgz", + "integrity": "sha512-YbYgbd3TryYYLGyC7ZR+Tq8H/+bCmwoaxHfJHupom5ECstzbRLTch6gOQbhEY9Z4hiCNHEURgq06ykFv9JZ/QQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.4.4.tgz", + "integrity": "sha512-P05YEhRc2h53lZDjRPk/OektxCVevFzZs2Gfjd545Wde3k+yFDbXORgl2e0xpbq8mLcKJ7Idss4fAg0zORN/zg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.4.4", + "regexpu-core": "^4.5.4" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.5.0.tgz", + "integrity": "sha512-igcziksHizyQPlX9gfSjHkE2wmoCH3evvD2qR5w29/Dk0SMKE/eOI7f1HhBdNhR/zxJDqrgpoDTq5YSLH/XMsQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.2.0.tgz", + "integrity": "sha512-umh4hR6N7mu4Elq9GG8TOu9M0bakvlsREEC+ialrQN6ABS4oDQ69qJv1VtR3uxlKMCQMCvzk7vr17RHKcjx68A==", + "dev": true, + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.4.4.tgz", + "integrity": "sha512-9T/5Dlr14Z9TIEXLXkt8T1DU7F24cbhwhMNUziN3hB1AXoZcdzPcTiKGRn/6iOymDqtTKWnr/BtRKN9JwbKtdQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.4.4.tgz", + "integrity": "sha512-iU9pv7U+2jC9ANQkKeNF6DrPy4GBa4NWQtl6dHB4Pb3izX2JOEvDTFarlNsBj/63ZEzNNIAMs3Qw4fNCcSOXJA==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.2.0.tgz", + "integrity": "sha512-2ThDhm4lI4oV7fVQ6pNNK+sx+c/GM5/SaML0w/r4ZB7sAneD/piDJtwdKlNckXeyGK7wlwg2E2w33C/Hh+VFCg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-member-expression-literals": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.2.0.tgz", + "integrity": "sha512-HiU3zKkSU6scTidmnFJ0bMX8hz5ixC93b4MHMiYebmk2lUVNGOboPsqQvx5LzooihijUoLR/v7Nc1rbBtnc7FA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.5.0.tgz", + "integrity": "sha512-n20UsQMKnWrltocZZm24cRURxQnWIvsABPJlw/fvoy9c6AgHZzoelAIzajDHAQrDpuKFFPPcFGd7ChsYuIUMpg==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0", + "babel-plugin-dynamic-import-node": "^2.3.0" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.5.0.tgz", + "integrity": "sha512-xmHq0B+ytyrWJvQTc5OWAC4ii6Dhr0s22STOoydokG51JjWhyYo5mRPXoi+ZmtHQhZZwuXNN+GG5jy5UZZJxIQ==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.4.4", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-simple-access": "^7.1.0", + "babel-plugin-dynamic-import-node": "^2.3.0" + } + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.5.0.tgz", + "integrity": "sha512-Q2m56tyoQWmuNGxEtUyeEkm6qJYFqs4c+XyXH5RAuYxObRNz9Zgj/1g2GMnjYp2EUyEy7YTrxliGCXzecl/vJg==", + "dev": true, + "requires": { + "@babel/helper-hoist-variables": "^7.4.4", + "@babel/helper-plugin-utils": "^7.0.0", + "babel-plugin-dynamic-import-node": "^2.3.0" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.2.0.tgz", + "integrity": "sha512-BV3bw6MyUH1iIsGhXlOK6sXhmSarZjtJ/vMiD9dNmpY8QXFFQTj+6v92pcfy1iqa8DeAfJFwoxcrS/TUZda6sw==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.4.5.tgz", + "integrity": "sha512-z7+2IsWafTBbjNsOxU/Iv5CvTJlr5w4+HGu1HovKYTtgJ362f7kBcQglkfmlspKKZ3bgrbSGvLfNx++ZJgCWsg==", + "dev": true, + "requires": { + "regexp-tree": "^0.1.6" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.4.4.tgz", + "integrity": "sha512-r1z3T2DNGQwwe2vPGZMBNjioT2scgWzK9BCnDEh+46z8EEwXBq24uRzd65I7pjtugzPSj921aM15RpESgzsSuA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.5.5.tgz", + "integrity": "sha512-un1zJQAhSosGFBduPgN/YFNvWVpRuHKU7IHBglLoLZsGmruJPOo6pbInneflUdmq7YvSVqhpPs5zdBvLnteltQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-replace-supers": "^7.5.5" + } + }, + "@babel/plugin-transform-parameters": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.4.4.tgz", + "integrity": "sha512-oMh5DUO1V63nZcu/ZVLQFqiihBGo4OpxJxR1otF50GMeCLiRx5nUdtokd+u9SuVJrvvuIh9OosRFPP4pIPnwmw==", + "dev": true, + "requires": { + "@babel/helper-call-delegate": "^7.4.4", + "@babel/helper-get-function-arity": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-property-literals": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.2.0.tgz", + "integrity": "sha512-9q7Dbk4RhgcLp8ebduOpCbtjh7C0itoLYHXd9ueASKAG/is5PQtMR5VJGka9NKqGhYEGn5ITahd4h9QeBMylWQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-react-display-name": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.2.0.tgz", + "integrity": "sha512-Htf/tPa5haZvRMiNSQSFifK12gtr/8vwfr+A9y69uF0QcU77AVu4K7MiHEkTxF7lQoHOL0F9ErqgfNEAKgXj7A==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-react-jsx": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.3.0.tgz", + "integrity": "sha512-a/+aRb7R06WcKvQLOu4/TpjKOdvVEKRLWFpKcNuHhiREPgGRB4TQJxq07+EZLS8LFVYpfq1a5lDUnuMdcCpBKg==", + "dev": true, + "requires": { + "@babel/helper-builder-react-jsx": "^7.3.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.2.0" + } + }, + "@babel/plugin-transform-react-jsx-self": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.2.0.tgz", + "integrity": "sha512-v6S5L/myicZEy+jr6ielB0OR8h+EH/1QFx/YJ7c7Ua+7lqsjj/vW6fD5FR9hB/6y7mGbfT4vAURn3xqBxsUcdg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.2.0" + } + }, + "@babel/plugin-transform-react-jsx-source": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.2.0.tgz", + "integrity": "sha512-A32OkKTp4i5U6aE88GwwcuV4HAprUgHcTq0sSafLxjr6AW0QahrCRCjxogkbbcdtpbXkuTOlgpjophCxb6sh5g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.2.0" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.4.5.tgz", + "integrity": "sha512-gBKRh5qAaCWntnd09S8QC7r3auLCqq5DI6O0DlfoyDjslSBVqBibrMdsqO+Uhmx3+BlOmE/Kw1HFxmGbv0N9dA==", + "dev": true, + "requires": { + "regenerator-transform": "^0.14.0" + } + }, + "@babel/plugin-transform-reserved-words": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.2.0.tgz", + "integrity": "sha512-fz43fqW8E1tAB3DKF19/vxbpib1fuyCwSPE418ge5ZxILnBhWyhtPgz8eh1RCGGJlwvksHkyxMxh0eenFi+kFw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.2.0.tgz", + "integrity": "sha512-QP4eUM83ha9zmYtpbnyjTLAGKQritA5XW/iG9cjtuOI8s1RuL/3V6a3DeSHfKutJQ+ayUfeZJPcnCYEQzaPQqg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.2.2.tgz", + "integrity": "sha512-KWfky/58vubwtS0hLqEnrWJjsMGaOeSBn90Ezn5Jeg9Z8KKHmELbP1yGylMlm5N6TPKeY9A2+UaSYLdxahg01w==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.2.0.tgz", + "integrity": "sha512-KKYCoGaRAf+ckH8gEL3JHUaFVyNHKe3ASNsZ+AlktgHevvxGigoIttrEJb8iKN03Q7Eazlv1s6cx2B2cQ3Jabw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.0.0" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.4.4.tgz", + "integrity": "sha512-mQrEC4TWkhLN0z8ygIvEL9ZEToPhG5K7KDW3pzGqOfIGZ28Jb0POUkeWcoz8HnHvhFy6dwAT1j8OzqN8s804+g==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.2.0.tgz", + "integrity": "sha512-2LNhETWYxiYysBtrBTqL8+La0jIoQQnIScUJc74OYvUGRmkskNY4EzLCnjHBzdmb38wqtTaixpo1NctEcvMDZw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.4.4.tgz", + "integrity": "sha512-il+/XdNw01i93+M9J9u4T7/e/Ue/vWfNZE4IRUQjplu2Mqb/AFTDimkw2tdEdSH50wuQXZAbXSql0UphQke+vA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.4.4", + "regexpu-core": "^4.5.4" + } + }, + "@babel/polyfill": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/polyfill/-/polyfill-7.4.4.tgz", + "integrity": "sha512-WlthFLfhQQhh+A2Gn5NSFl0Huxz36x86Jn+E9OW7ibK8edKPq+KLy4apM1yDpQ8kJOVi1OVjpP4vSDLdrI04dg==", + "requires": { + "core-js": "^2.6.5", + "regenerator-runtime": "^0.13.2" + } + }, + "@babel/preset-env": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.5.5.tgz", + "integrity": "sha512-GMZQka/+INwsMz1A5UEql8tG015h5j/qjptpKY2gJ7giy8ohzU710YciJB5rcKsWGWHiW3RUnHib0E5/m3Tp3A==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-async-generator-functions": "^7.2.0", + "@babel/plugin-proposal-dynamic-import": "^7.5.0", + "@babel/plugin-proposal-json-strings": "^7.2.0", + "@babel/plugin-proposal-object-rest-spread": "^7.5.5", + "@babel/plugin-proposal-optional-catch-binding": "^7.2.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-syntax-async-generators": "^7.2.0", + "@babel/plugin-syntax-dynamic-import": "^7.2.0", + "@babel/plugin-syntax-json-strings": "^7.2.0", + "@babel/plugin-syntax-object-rest-spread": "^7.2.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.2.0", + "@babel/plugin-transform-arrow-functions": "^7.2.0", + "@babel/plugin-transform-async-to-generator": "^7.5.0", + "@babel/plugin-transform-block-scoped-functions": "^7.2.0", + "@babel/plugin-transform-block-scoping": "^7.5.5", + "@babel/plugin-transform-classes": "^7.5.5", + "@babel/plugin-transform-computed-properties": "^7.2.0", + "@babel/plugin-transform-destructuring": "^7.5.0", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/plugin-transform-duplicate-keys": "^7.5.0", + "@babel/plugin-transform-exponentiation-operator": "^7.2.0", + "@babel/plugin-transform-for-of": "^7.4.4", + "@babel/plugin-transform-function-name": "^7.4.4", + "@babel/plugin-transform-literals": "^7.2.0", + "@babel/plugin-transform-member-expression-literals": "^7.2.0", + "@babel/plugin-transform-modules-amd": "^7.5.0", + "@babel/plugin-transform-modules-commonjs": "^7.5.0", + "@babel/plugin-transform-modules-systemjs": "^7.5.0", + "@babel/plugin-transform-modules-umd": "^7.2.0", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.4.5", + "@babel/plugin-transform-new-target": "^7.4.4", + "@babel/plugin-transform-object-super": "^7.5.5", + "@babel/plugin-transform-parameters": "^7.4.4", + "@babel/plugin-transform-property-literals": "^7.2.0", + "@babel/plugin-transform-regenerator": "^7.4.5", + "@babel/plugin-transform-reserved-words": "^7.2.0", + "@babel/plugin-transform-shorthand-properties": "^7.2.0", + "@babel/plugin-transform-spread": "^7.2.0", + "@babel/plugin-transform-sticky-regex": "^7.2.0", + "@babel/plugin-transform-template-literals": "^7.4.4", + "@babel/plugin-transform-typeof-symbol": "^7.2.0", + "@babel/plugin-transform-unicode-regex": "^7.4.4", + "@babel/types": "^7.5.5", + "browserslist": "^4.6.0", + "core-js-compat": "^3.1.1", + "invariant": "^2.2.2", + "js-levenshtein": "^1.1.3", + "semver": "^5.5.0" + }, + "dependencies": { + "@babel/types": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.5.5.tgz", + "integrity": "sha512-s63F9nJioLqOlW3UkyMd+BYhXt44YuaFm/VV0VwuteqjYwRrObkU7ra9pY4wAJR3oXi8hJrMcrcJdO/HH33vtw==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true + } + } + }, + "@babel/preset-react": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.0.0.tgz", + "integrity": "sha512-oayxyPS4Zj+hF6Et11BwuBkmpgT/zMxyuZgFrMeZID6Hdh3dGlk4sHCAhdBCpuCKW2ppBfl2uCCetlrUIJRY3w==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-transform-react-display-name": "^7.0.0", + "@babel/plugin-transform-react-jsx": "^7.0.0", + "@babel/plugin-transform-react-jsx-self": "^7.0.0", + "@babel/plugin-transform-react-jsx-source": "^7.0.0" + } + }, + "@babel/runtime": { + "version": "7.4.3", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.4.3.tgz", + "integrity": "sha512-9lsJwJLxDh/T3Q3SZszfWOTkk3pHbkmH+3KY+zwIDmsNlxsumuhS2TH3NIpktU4kNvfzy+k3eLT7aTJSPTo0OA==", + "requires": { + "regenerator-runtime": "^0.13.2" + } + }, + "@babel/template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.4.4.tgz", + "integrity": "sha512-CiGzLN9KgAvgZsnivND7rkA+AeJ9JB0ciPOD4U59GKbQP2iQl+olF1l76kJOupqidozfZ32ghwBEJDhnk9MEcw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.4.4", + "@babel/types": "^7.4.4" + }, + "dependencies": { + "@babel/types": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.5.5.tgz", + "integrity": "sha512-s63F9nJioLqOlW3UkyMd+BYhXt44YuaFm/VV0VwuteqjYwRrObkU7ra9pY4wAJR3oXi8hJrMcrcJdO/HH33vtw==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true + } + } + }, + "@babel/traverse": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.5.5.tgz", + "integrity": "sha512-MqB0782whsfffYfSjH4TM+LMjrJnhCNEDMDIjeTpl+ASaUvxcjoiVCo/sM1GhS1pHOXYfWVCYneLjMckuUxDaQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.5.5", + "@babel/generator": "^7.5.5", + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.4.4", + "@babel/parser": "^7.5.5", + "@babel/types": "^7.5.5", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.13" + }, + "dependencies": { + "@babel/types": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.5.5.tgz", + "integrity": "sha512-s63F9nJioLqOlW3UkyMd+BYhXt44YuaFm/VV0VwuteqjYwRrObkU7ra9pY4wAJR3oXi8hJrMcrcJdO/HH33vtw==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true + } + } + }, + "@babel/types": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.4.0.tgz", + "integrity": "sha512-aPvkXyU2SPOnztlgo8n9cEiXW755mgyvueUPcpStqdzoSPm0fjO0vQBjLkt3JKJW7ufikfcnMTTPsN1xaTsBPA==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.11", + "to-fast-properties": "^2.0.0" + }, + "dependencies": { + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true + } + } + }, + "@coreui/coreui": { + "version": "2.1.12", + "resolved": "https://registry.npmjs.org/@coreui/coreui/-/coreui-2.1.12.tgz", + "integrity": "sha512-wO2olnHWyvzW6CHaiU4oRq/tomuuHItiifcyU40UBN00vACjBUH4kpxfhZGGjwM031GRZRL6LnAWzwZb9wg8Lw==", + "requires": { + "@coreui/coreui-plugin-npm-postinstall": "^1.0.2", + "bootstrap": "^4.3.1", + "core-js": "^3.1.3", + "regenerator-runtime": "^0.13.2" + }, + "dependencies": { + "core-js": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.1.4.tgz", + "integrity": "sha512-YNZN8lt82XIMLnLirj9MhKDFZHalwzzrL9YLt6eb0T5D0EDl4IQ90IGkua8mHbnxNrkj1d8hbdizMc0Qmg1WnQ==" + } + } + }, + "@coreui/coreui-plugin-npm-postinstall": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@coreui/coreui-plugin-npm-postinstall/-/coreui-plugin-npm-postinstall-1.0.2.tgz", + "integrity": "sha512-yeeoWp+bNS84nP1977Y8UCiQ9pssO+f4QuVj3i0/gYZFjjvOgxx0dnyWhtowD5sLYnCRMPlPpqyjwXze3SlkYg==" + }, + "@fortawesome/fontawesome-free": { + "version": "5.9.0", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-5.9.0.tgz", + "integrity": "sha512-g795BBEzM/Hq2SYNPm/NQTIp3IWd4eXSH0ds87Na2jnrAUFX3wkyZAI4Gwj9DOaWMuz2/01i8oWI7P7T/XLkhg==" + }, + "@icons/material": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/@icons/material/-/material-0.2.4.tgz", + "integrity": "sha512-QPcGmICAPbGLGb6F/yNf/KzKqvFx8z5qx3D1yFqVAjoFmXK35EgyW+cJ57Te3CNsmzblwtzakLGFqHPqrfb4Tw==" + }, + "@types/hoist-non-react-statics": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz", + "integrity": "sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA==", + "requires": { + "@types/react": "*", + "hoist-non-react-statics": "^3.3.0" + }, + "dependencies": { + "hoist-non-react-statics": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.0.tgz", + "integrity": "sha512-0XsbTXxgiaCDYDIWFcwkmerZPSwywfUqYmwT4jzewKTQSWoE6FCMoUVOeBJWK3E/CrWbxRG3m5GzY4lnIwGRBA==", + "requires": { + "react-is": "^16.7.0" + } + } + } + }, + "@types/prop-types": { + "version": "15.7.1", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.1.tgz", + "integrity": "sha512-CFzn9idOEpHrgdw8JsoTkaDDyRWk1jrzIV8djzcgpq0y9tG4B4lFT+Nxh52DVpDXV+n4+NPNv7M1Dj5uMp6XFg==" + }, + "@types/react": { + "version": "16.8.23", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.8.23.tgz", + "integrity": "sha512-abkEOIeljniUN9qB5onp++g0EY38h7atnDHxwKUFz1r3VH1+yG1OKi2sNPTyObL40goBmfKFpdii2lEzwLX1cA==", + "requires": { + "@types/prop-types": "*", + "csstype": "^2.2.0" + } + }, + "@webassemblyjs/ast": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.8.5.tgz", + "integrity": "sha512-aJMfngIZ65+t71C3y2nBBg5FFG0Okt9m0XEgWZ7Ywgn1oMAT8cNwx00Uv1cQyHtidq0Xn94R4TAywO+LCQ+ZAQ==", + "dev": true, + "requires": { + "@webassemblyjs/helper-module-context": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/wast-parser": "1.8.5" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.8.5.tgz", + "integrity": "sha512-9p+79WHru1oqBh9ewP9zW95E3XAo+90oth7S5Re3eQnECGq59ly1Ri5tsIipKGpiStHsUYmY3zMLqtk3gTcOtQ==", + "dev": true + }, + "@webassemblyjs/helper-api-error": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.8.5.tgz", + "integrity": "sha512-Za/tnzsvnqdaSPOUXHyKJ2XI7PDX64kWtURyGiJJZKVEdFOsdKUCPTNEVFZq3zJ2R0G5wc2PZ5gvdTRFgm81zA==", + "dev": true + }, + "@webassemblyjs/helper-buffer": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.8.5.tgz", + "integrity": "sha512-Ri2R8nOS0U6G49Q86goFIPNgjyl6+oE1abW1pS84BuhP1Qcr5JqMwRFT3Ah3ADDDYGEgGs1iyb1DGX+kAi/c/Q==", + "dev": true + }, + "@webassemblyjs/helper-code-frame": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.8.5.tgz", + "integrity": "sha512-VQAadSubZIhNpH46IR3yWO4kZZjMxN1opDrzePLdVKAZ+DFjkGD/rf4v1jap744uPVU6yjL/smZbRIIJTOUnKQ==", + "dev": true, + "requires": { + "@webassemblyjs/wast-printer": "1.8.5" + } + }, + "@webassemblyjs/helper-fsm": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.8.5.tgz", + "integrity": "sha512-kRuX/saORcg8se/ft6Q2UbRpZwP4y7YrWsLXPbbmtepKr22i8Z4O3V5QE9DbZK908dh5Xya4Un57SDIKwB9eow==", + "dev": true + }, + "@webassemblyjs/helper-module-context": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.8.5.tgz", + "integrity": "sha512-/O1B236mN7UNEU4t9X7Pj38i4VoU8CcMHyy3l2cV/kIF4U5KoHXDVqcDuOs1ltkac90IM4vZdHc52t1x8Yfs3g==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "mamacro": "^0.0.3" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.8.5.tgz", + "integrity": "sha512-Cu4YMYG3Ddl72CbmpjU/wbP6SACcOPVbHN1dI4VJNJVgFwaKf1ppeFJrwydOG3NDHxVGuCfPlLZNyEdIYlQ6QQ==", + "dev": true + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.8.5.tgz", + "integrity": "sha512-VV083zwR+VTrIWWtgIUpqfvVdK4ff38loRmrdDBgBT8ADXYsEZ5mPQ4Nde90N3UYatHdYoDIFb7oHzMncI02tA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-buffer": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/wasm-gen": "1.8.5" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.8.5.tgz", + "integrity": "sha512-aaCvQYrvKbY/n6wKHb/ylAJr27GglahUO89CcGXMItrOBqRarUMxWLJgxm9PJNuKULwN5n1csT9bYoMeZOGF3g==", + "dev": true, + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.8.5.tgz", + "integrity": "sha512-plYUuUwleLIziknvlP8VpTgO4kqNaH57Y3JnNa6DLpu/sGcP6hbVdfdX5aHAV716pQBKrfuU26BJK29qY37J7A==", + "dev": true, + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.8.5.tgz", + "integrity": "sha512-U7zgftmQriw37tfD934UNInokz6yTmn29inT2cAetAsaU9YeVCveWEwhKL1Mg4yS7q//NGdzy79nlXh3bT8Kjw==", + "dev": true + }, + "@webassemblyjs/wasm-edit": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.8.5.tgz", + "integrity": "sha512-A41EMy8MWw5yvqj7MQzkDjU29K7UJq1VrX2vWLzfpRHt3ISftOXqrtojn7nlPsZ9Ijhp5NwuODuycSvfAO/26Q==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-buffer": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/helper-wasm-section": "1.8.5", + "@webassemblyjs/wasm-gen": "1.8.5", + "@webassemblyjs/wasm-opt": "1.8.5", + "@webassemblyjs/wasm-parser": "1.8.5", + "@webassemblyjs/wast-printer": "1.8.5" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.8.5.tgz", + "integrity": "sha512-BCZBT0LURC0CXDzj5FXSc2FPTsxwp3nWcqXQdOZE4U7h7i8FqtFK5Egia6f9raQLpEKT1VL7zr4r3+QX6zArWg==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/ieee754": "1.8.5", + "@webassemblyjs/leb128": "1.8.5", + "@webassemblyjs/utf8": "1.8.5" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.8.5.tgz", + "integrity": "sha512-HKo2mO/Uh9A6ojzu7cjslGaHaUU14LdLbGEKqTR7PBKwT6LdPtLLh9fPY33rmr5wcOMrsWDbbdCHq4hQUdd37Q==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-buffer": "1.8.5", + "@webassemblyjs/wasm-gen": "1.8.5", + "@webassemblyjs/wasm-parser": "1.8.5" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.8.5.tgz", + "integrity": "sha512-pi0SYE9T6tfcMkthwcgCpL0cM9nRYr6/6fjgDtL6q/ZqKHdMWvxitRi5JcZ7RI4SNJJYnYNaWy5UUrHQy998lw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-api-error": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/ieee754": "1.8.5", + "@webassemblyjs/leb128": "1.8.5", + "@webassemblyjs/utf8": "1.8.5" + } + }, + "@webassemblyjs/wast-parser": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.8.5.tgz", + "integrity": "sha512-daXC1FyKWHF1i11obK086QRlsMsY4+tIOKgBqI1lxAnkp9xe9YMcgOxm9kLe+ttjs5aWV2KKE1TWJCN57/Btsg==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/floating-point-hex-parser": "1.8.5", + "@webassemblyjs/helper-api-error": "1.8.5", + "@webassemblyjs/helper-code-frame": "1.8.5", + "@webassemblyjs/helper-fsm": "1.8.5", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.8.5.tgz", + "integrity": "sha512-w0U0pD4EhlnvRyeJzBqaVSJAo9w/ce7/WPogeXLzGkO6hzhr4GnQIZ4W4uUt5b9ooAaXPtnXlj0gzsXEOUNYMg==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/wast-parser": "1.8.5", + "@xtuc/long": "4.2.2" + } + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true + }, + "@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true + }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" + }, + "acorn": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.2.1.tgz", + "integrity": "sha512-JD0xT5FCRDNyjDda3Lrg/IxFscp9q4tiYtxE1/nOzlKCk7hIRuYjhq1kCNkbPjMRMZuFq20HNQn1I9k8Oj0E+Q==", + "dev": true + }, + "ajv": { + "version": "6.10.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz", + "integrity": "sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg==", + "requires": { + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-errors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", + "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", + "dev": true + }, + "ajv-keywords": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.0.tgz", + "integrity": "sha512-aUjdRFISbuFOl0EIZc+9e4FfZp0bDZgAdOOf30bJmw8VM9v84SHyVyxDfbWxpGYbdZD/9XoKxfHVNmxPkhwyGw==", + "dev": true + }, + "amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "dev": true + }, + "ansi-align": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz", + "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=", + "dev": true, + "requires": { + "string-width": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=" + }, + "anymatch": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz", + "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", + "requires": { + "micromatch": "^2.1.5", + "normalize-path": "^2.0.0" + } + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true + }, + "are-we-there-yet": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", + "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", + "dev": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "arr-diff": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", + "requires": { + "arr-flatten": "^1.0.1" + } + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" + }, + "array-filter": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-0.0.1.tgz", + "integrity": "sha1-fajPLiZijtcygDWB/SH2fKzS7uw=", + "dev": true + }, + "array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", + "dev": true + }, + "array-map": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/array-map/-/array-map-0.0.0.tgz", + "integrity": "sha1-iKK6tz0c97zVwbEYoAP2b2ZfpmI=", + "dev": true + }, + "array-reduce": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz", + "integrity": "sha1-FziZ0//Rx9k4PkR5Ul2+J4yrXys=", + "dev": true + }, + "array-unique": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=" + }, + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" + }, + "asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "asn1.js": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", + "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "assert": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "dev": true, + "requires": { + "object-assign": "^4.1.1", + "util": "0.10.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "dev": true + }, + "util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dev": true, + "requires": { + "inherits": "2.0.1" + } + } + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" + }, + "async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.2.tgz", + "integrity": "sha512-H1qVYh1MYhEEFLsP97cVKqCGo7KfCyTt6uEWqsTBr9SO84oK9Uwbyd/yCW+6rKJLHksBNUVWZDAjfS+Ccx0Bbg==", + "requires": { + "lodash": "^4.17.11" + } + }, + "async-each": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.2.tgz", + "integrity": "sha512-6xrbvN0MOBKSJDdonmSSz2OwFSgxRaVtBDes26mj9KIGtDo+g9xosFRSC+i1gQh2oAN/tQ62AI/pGZGQjVOiRg==" + }, + "async-foreach": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz", + "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=", + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" + }, + "attr-accept": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/attr-accept/-/attr-accept-1.1.3.tgz", + "integrity": "sha512-iT40nudw8zmCweivz6j58g+RT33I4KbaIvRUhjNmDwO2WmsQUxFEZZYZ5w3vXe5x5MX9D7mfvA/XaLOZYFR9EQ==", + "requires": { + "core-js": "^2.5.0" + } + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" + }, + "aws4": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", + "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==" + }, + "axios": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.18.1.tgz", + "integrity": "sha512-0BfJq4NSfQXd+SkFdrvFbG7addhYSBA2mQwISr46pD6E5iqkWg02RAs8vyTT/j0RTnoYmeXauBuSv1qKwR179g==", + "requires": { + "follow-redirects": "1.5.10", + "is-buffer": "^2.0.2" + }, + "dependencies": { + "is-buffer": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.3.tgz", + "integrity": "sha512-U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw==" + } + } + }, + "babel-helper-builder-react-jsx": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.26.0.tgz", + "integrity": "sha1-Of+DE7dci2Xc7/HzHTg+D/KkCKA=", + "requires": { + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "esutils": "^2.0.2" + } + }, + "babel-loader": { + "version": "8.0.6", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.0.6.tgz", + "integrity": "sha512-4BmWKtBOBm13uoUwd08UwjZlaw3O9GWf456R9j+5YykFZ6LUIjIKLc0zEZf+hauxPOJs96C8k6FvYD09vWzhYw==", + "dev": true, + "requires": { + "find-cache-dir": "^2.0.0", + "loader-utils": "^1.0.2", + "mkdirp": "^0.5.1", + "pify": "^4.0.1" + } + }, + "babel-plugin-dynamic-import-node": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz", + "integrity": "sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ==", + "dev": true, + "requires": { + "object.assign": "^4.1.0" + } + }, + "babel-plugin-syntax-flow": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz", + "integrity": "sha1-TDqyCiryaqIM0lmVw5jE63AxDI0=" + }, + "babel-plugin-syntax-jsx": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz", + "integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=" + }, + "babel-plugin-transform-flow-strip-types": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz", + "integrity": "sha1-hMtnKTXUNxT9wyvOhFaNh0Qc988=", + "requires": { + "babel-plugin-syntax-flow": "^6.18.0", + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-react-display-name": { + "version": "6.25.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-display-name/-/babel-plugin-transform-react-display-name-6.25.0.tgz", + "integrity": "sha1-Z+K/Hx6ck6sI25Z5LgU5K/LMKNE=", + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-react-jsx": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.24.1.tgz", + "integrity": "sha1-hAoCjn30YN/DotKfDA2R9jduZqM=", + "requires": { + "babel-helper-builder-react-jsx": "^6.24.1", + "babel-plugin-syntax-jsx": "^6.8.0", + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-react-jsx-self": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-self/-/babel-plugin-transform-react-jsx-self-6.22.0.tgz", + "integrity": "sha1-322AqdomEqEh5t3XVYvL7PBuY24=", + "requires": { + "babel-plugin-syntax-jsx": "^6.8.0", + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-react-jsx-source": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-source/-/babel-plugin-transform-react-jsx-source-6.22.0.tgz", + "integrity": "sha1-ZqwSFT9c0tF7PBkmj0vwGX9E7NY=", + "requires": { + "babel-plugin-syntax-jsx": "^6.8.0", + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-runtime": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-runtime/-/babel-plugin-transform-runtime-6.23.0.tgz", + "integrity": "sha1-iEkNRGUC6puOfvsP4J7E2ZR5se4=", + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-preset-flow": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-preset-flow/-/babel-preset-flow-6.23.0.tgz", + "integrity": "sha1-5xIYiHCFrpoktb5Baa/7WZgWxJ0=", + "requires": { + "babel-plugin-transform-flow-strip-types": "^6.22.0" + } + }, + "babel-preset-react": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-preset-react/-/babel-preset-react-6.24.1.tgz", + "integrity": "sha1-umnfrqRfw+xjm2pOzqbhdwLJE4A=", + "requires": { + "babel-plugin-syntax-jsx": "^6.3.13", + "babel-plugin-transform-react-display-name": "^6.23.0", + "babel-plugin-transform-react-jsx": "^6.24.1", + "babel-plugin-transform-react-jsx-self": "^6.22.0", + "babel-plugin-transform-react-jsx-source": "^6.22.0", + "babel-preset-flow": "^6.23.0" + } + }, + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + }, + "dependencies": { + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" + } + } + }, + "babel-types": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", + "requires": { + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" + } + }, + "backbone": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/backbone/-/backbone-1.4.0.tgz", + "integrity": "sha512-RLmDrRXkVdouTg38jcgHhyQ/2zjg7a8E6sz2zxfz21Hh17xDJYUHBZimVIt5fUyS8vbfpeSmTL3gUjTEvUV3qQ==", + "requires": { + "underscore": ">=1.8.3" + } + }, + "backbone-undo": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/backbone-undo/-/backbone-undo-0.2.5.tgz", + "integrity": "sha1-VbJSMPkDGcpiJGXomoAki4k8LOI=", + "requires": { + "backbone": "1.0.0 - 1.2.1", + "underscore": "1.4.4 - 1.8.3" + }, + "dependencies": { + "backbone": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/backbone/-/backbone-1.2.1.tgz", + "integrity": "sha1-1yGcXtSeXhMdv/ryXJbW0sw8oD4=", + "requires": { + "underscore": ">=1.7.0" + } + }, + "underscore": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz", + "integrity": "sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI=" + } + } + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" + } + } + }, + "base64-js": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz", + "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==", + "dev": true + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true + }, + "binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==" + }, + "block-stream": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", + "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", + "dev": true, + "requires": { + "inherits": "~2.0.0" + } + }, + "bluebird": { + "version": "3.5.5", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.5.tgz", + "integrity": "sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w==", + "dev": true + }, + "bn.js": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", + "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", + "dev": true + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=" + }, + "bootstrap": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.3.1.tgz", + "integrity": "sha512-rXqOmH1VilAt2DyPzluTi2blhk17bO7ef+zLLPlWvG494pDxcM234pJ8wTc/6R40UWizAIIMgxjvxZg5kmsbag==" + }, + "boxen": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.3.0.tgz", + "integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==", + "dev": true, + "requires": { + "ansi-align": "^2.0.0", + "camelcase": "^4.0.0", + "chalk": "^2.0.1", + "cli-boxes": "^1.0.0", + "string-width": "^2.0.0", + "term-size": "^1.2.0", + "widest-line": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "brace": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/brace/-/brace-0.11.1.tgz", + "integrity": "sha1-SJb8ydVE7vRfS7dmDbMg07N5/lg=" + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "requires": { + "expand-range": "^1.8.1", + "preserve": "^0.2.0", + "repeat-element": "^1.1.2" + } + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", + "dev": true + }, + "browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dev": true, + "requires": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "dev": true, + "requires": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "browserify-rsa": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", + "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "randombytes": "^2.0.1" + } + }, + "browserify-sign": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", + "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", + "dev": true, + "requires": { + "bn.js": "^4.1.1", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.2", + "elliptic": "^6.0.0", + "inherits": "^2.0.1", + "parse-asn1": "^5.0.0" + } + }, + "browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "dev": true, + "requires": { + "pako": "~1.0.5" + } + }, + "browserslist": { + "version": "4.6.6", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.6.6.tgz", + "integrity": "sha512-D2Nk3W9JL9Fp/gIcWei8LrERCS+eXu9AM5cfXA8WEZ84lFks+ARnZ0q/R69m2SV3Wjma83QDDPxsNKXUwdIsyA==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30000984", + "electron-to-chromium": "^1.3.191", + "node-releases": "^1.1.25" + } + }, + "buffer": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", + "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", + "dev": true, + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true + }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", + "dev": true + }, + "builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", + "dev": true + }, + "cacache": { + "version": "11.3.3", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-11.3.3.tgz", + "integrity": "sha512-p8WcneCytvzPxhDvYp31PD039vi77I12W+/KfR9S8AZbaiARFBCpsPJS+9uhWfeBfeAtW7o/4vt3MUqLkbY6nA==", + "dev": true, + "requires": { + "bluebird": "^3.5.5", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", + "glob": "^7.1.4", + "graceful-fs": "^4.1.15", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.3", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", + "y18n": "^4.0.0" + }, + "dependencies": { + "glob": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", + "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "y18n": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "dev": true + }, + "yallist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz", + "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==", + "dev": true + } + } + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + } + } + }, + "camel-case": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", + "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", + "requires": { + "no-case": "^2.2.0", + "upper-case": "^1.1.1" + } + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "camelcase-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "dev": true, + "requires": { + "camelcase": "^2.0.0", + "map-obj": "^1.0.0" + }, + "dependencies": { + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "dev": true + } + } + }, + "caniuse-lite": { + "version": "1.0.30000985", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000985.tgz", + "integrity": "sha512-1ngiwkgqAYPG0JSSUp3PUDGPKKY59EK7NrGGX+VOxaKCNzRbNc7uXMny+c3VJfZxtoK3wSImTvG9T9sXiTw2+w==", + "dev": true + }, + "capture-stack-trace": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz", + "integrity": "sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw==", + "dev": true + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" + }, + "cash-dom": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/cash-dom/-/cash-dom-1.3.7.tgz", + "integrity": "sha512-cWqx3b+8Vh5hvRd87voSW7hxHVhUekGiOUd7iix8fP29cl6TBIInkAqYVSKaL2xeVewS3/kfPnIIC+Xl3nVe/A==" + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "cheerio": { + "version": "0.22.0", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-0.22.0.tgz", + "integrity": "sha1-qbqoYKP5tZWmuBsahocxIe06Jp4=", + "requires": { + "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" + } + }, + "chokidar": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz", + "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", + "requires": { + "anymatch": "^1.3.0", + "async-each": "^1.0.0", + "fsevents": "^1.0.0", + "glob-parent": "^2.0.0", + "inherits": "^2.0.1", + "is-binary-path": "^1.0.0", + "is-glob": "^2.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.0.0" + } + }, + "chownr": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.2.tgz", + "integrity": "sha512-GkfeAQh+QNy3wquu9oIZr6SS5x7wGdSgNQvD10X3r+AZr1Oys22HW8kAmDMvNg2+Dm0TeGaEuO8gFwdBXxwO8A==", + "dev": true + }, + "chrome-trace-event": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", + "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "ci-info": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz", + "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==", + "dev": true + }, + "cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + } + } + }, + "classnames": { + "version": "2.2.6", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.6.tgz", + "integrity": "sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q==" + }, + "clean-css": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.1.tgz", + "integrity": "sha512-4ZxI6dy4lrY6FHzfiy1aEOXgu4LIsW2MhwG0VBKdcoGoH/XLFgaHSdLTGr4O8Be6A8r3MOphEiI8Gc1n0ecf3g==", + "requires": { + "source-map": "~0.6.0" + } + }, + "clean-css-cli": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/clean-css-cli/-/clean-css-cli-4.3.0.tgz", + "integrity": "sha512-8GHZfr+mG3zB/Lgqrr27qHBFsPSn0fyEI3f2rIZpxPxUbn2J6A8xyyeBRVTW8duDuXigN0s80vsXiXJOEFIO5Q==", + "dev": true, + "requires": { + "clean-css": "^4.2.1", + "commander": "2.x", + "glob": "7.x" + } + }, + "cli-boxes": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz", + "integrity": "sha1-T6kXw+WclKAEzWH47lCdplFocUM=", + "dev": true + }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "dev": true, + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" + } + }, + "clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=" + }, + "clone-deep": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-2.0.2.tgz", + "integrity": "sha512-SZegPTKjCgpQH63E+eN6mVEEPdQBOUzjyJm5Pora4lrwWRFS8I0QAxV/KD6vV/i0WuijHZWQC1fMsPEdxfdVCQ==", + "dev": true, + "requires": { + "for-own": "^1.0.0", + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.0", + "shallow-clone": "^1.0.0" + }, + "dependencies": { + "for-own": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", + "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", + "dev": true, + "requires": { + "for-in": "^1.0.1" + } + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + } + } + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "dev": true + }, + "codemirror": { + "version": "5.48.2", + "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.48.2.tgz", + "integrity": "sha512-i9VsmC8AfA5ji6EDIZ+aoSe4vt9FcwPLdHB1k1ItFbVyuOFRrcfvnoKqwZlC7EVA2UmTRiNEypE4Uo7YvzVY8Q==" + }, + "codemirror-formatting": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/codemirror-formatting/-/codemirror-formatting-1.0.0.tgz", + "integrity": "sha1-h5zB/dkBg0PB1VEXac5TYNcF6/I=" + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "combined-stream": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz", + "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==", + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "2.17.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", + "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==" + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "dev": true + }, + "component-emitter": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=" + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "config-chain": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.12.tgz", + "integrity": "sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA==", + "requires": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + } + }, + "configstore": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.2.tgz", + "integrity": "sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw==", + "dev": true, + "requires": { + "dot-prop": "^4.1.0", + "graceful-fs": "^4.1.2", + "make-dir": "^1.0.0", + "unique-string": "^1.0.0", + "write-file-atomic": "^2.0.0", + "xdg-basedir": "^3.0.0" + }, + "dependencies": { + "make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "dev": true, + "requires": { + "pify": "^3.0.0" + } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + } + } + }, + "console-browserify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", + "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", + "dev": true, + "requires": { + "date-now": "^0.1.4" + } + }, + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", + "dev": true + }, + "constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", + "dev": true + }, + "convert-source-map": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz", + "integrity": "sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", + "dev": true, + "requires": { + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" + } + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" + }, + "core-js": { + "version": "2.6.5", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.5.tgz", + "integrity": "sha512-klh/kDpwX8hryYL14M9w/xei6vrv6sE8gTHDG7/T/+SEovB/G4ejwcfE/CBzO6Edsu+OETZMZ3wcX/EjUkrl5A==" + }, + "core-js-compat": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.1.4.tgz", + "integrity": "sha512-Z5zbO9f1d0YrJdoaQhphVAnKPimX92D6z8lCGphH89MNRxlL1prI9ExJPqVwP0/kgkQCv8c4GJGT8X16yUncOg==", + "dev": true, + "requires": { + "browserslist": "^4.6.2", + "core-js-pure": "3.1.4", + "semver": "^6.1.1" + }, + "dependencies": { + "semver": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.2.0.tgz", + "integrity": "sha512-jdFC1VdUGT/2Scgbimf7FSx9iJLXoqfglSF+gJeuNWVpiE37OIbc1jywR/GJyFdz3mnkz2/id0L0J/cr0izR5A==", + "dev": true + } + } + }, + "core-js-pure": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.1.4.tgz", + "integrity": "sha512-uJ4Z7iPNwiu1foygbcZYJsJs1jiXrTTCvxfLDXNhI/I+NHbSIEyr548y4fcsCEyWY0XgfAG/qqaunJ1SThHenA==", + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, + "create-ecdh": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", + "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "elliptic": "^6.0.0" + } + }, + "create-error-class": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", + "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", + "dev": true, + "requires": { + "capture-stack-trace": "^1.0.0" + } + }, + "create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dev": true, + "requires": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "create-react-class": { + "version": "15.6.3", + "resolved": "https://registry.npmjs.org/create-react-class/-/create-react-class-15.6.3.tgz", + "integrity": "sha512-M+/3Q6E6DLO6Yx3OwrWjwHBnvfXXYA7W+dFjt/ZDBemHO1DDZhsalX/NUtnTYclN6GfnBDRh4qRHjcDHmlJBJg==", + "requires": { + "fbjs": "^0.8.9", + "loose-envify": "^1.3.1", + "object-assign": "^4.1.1" + } + }, + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "dev": true, + "requires": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + } + }, + "crypto-random-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz", + "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=", + "dev": true + }, + "css-loader": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-2.1.1.tgz", + "integrity": "sha512-OcKJU/lt232vl1P9EEDamhoO9iKY3tIjY5GU+XDLblAykTdgs6Ux9P1hTHve8nFKy5KPpOXOsVI/hIwi3841+w==", + "dev": true, + "requires": { + "camelcase": "^5.2.0", + "icss-utils": "^4.1.0", + "loader-utils": "^1.2.3", + "normalize-path": "^3.0.0", + "postcss": "^7.0.14", + "postcss-modules-extract-imports": "^2.0.0", + "postcss-modules-local-by-default": "^2.0.6", + "postcss-modules-scope": "^2.1.0", + "postcss-modules-values": "^2.0.0", + "postcss-value-parser": "^3.3.0", + "schema-utils": "^1.0.0" + }, + "dependencies": { + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + } + } + }, + "css-select": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", + "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", + "requires": { + "boolbase": "~1.0.0", + "css-what": "2.1", + "domutils": "1.5.1", + "nth-check": "~1.0.1" + } + }, + "css-what": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz", + "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==" + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true + }, + "csstype": { + "version": "2.6.6", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.6.tgz", + "integrity": "sha512-RpFbQGUE74iyPgvr46U9t1xoQBM8T4BL8SxrN66Le2xYAPSaDJJKeztV3awugusb3g3G9iL8StmkBBXhcbbXhg==" + }, + "currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "dev": true, + "requires": { + "array-find-index": "^1.0.1" + } + }, + "cyclist": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-0.2.2.tgz", + "integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=", + "dev": true + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "requires": { + "assert-plus": "^1.0.0" + } + }, + "datatables.net": { + "version": "1.10.19", + "resolved": "https://registry.npmjs.org/datatables.net/-/datatables.net-1.10.19.tgz", + "integrity": "sha512-+ljXcI6Pj3PTGy5pesp3E5Dr3x3AV45EZe0o1r0gKENN2gafBKXodVnk2ypKwl2tTmivjxbkiqoWnipTefyBTA==", + "requires": { + "jquery": ">=1.7" + } + }, + "datatables.net-bs4": { + "version": "1.10.19", + "resolved": "https://registry.npmjs.org/datatables.net-bs4/-/datatables.net-bs4-1.10.19.tgz", + "integrity": "sha512-pgeP17w4aPR7HIxIwuJghfqXULjdg1K6xMUUKDyCERJRSNNK4MRToFfELtIsluLNN555YBK4Kx8nihX5/ZT1Fw==", + "requires": { + "datatables.net": "1.10.19", + "jquery": ">=1.7" + } + }, + "datauri": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/datauri/-/datauri-1.1.0.tgz", + "integrity": "sha512-0q+cTTKx7q8eDteZRIQLTFJuiIsVing17UbWTPssY4JLSMaYsk/VKpNulBDo9NSgQWcvlPrkEHW8kUO67T/7mQ==", + "requires": { + "image-size": "^0.6.2", + "mimer": "^0.3.2", + "semver": "^5.5.0" + } + }, + "date-now": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", + "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=", + "dev": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" + }, + "deep-extend": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.5.1.tgz", + "integrity": "sha512-N8vBdOa+DF7zkRrDCsaOXoCs/E2fJfx9B9MrKnnSiHNh4ws7eSys6YQE4KvT1cecKmOASYQBhbKjeuDD9lT81w==" + }, + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dev": true, + "requires": { + "object-keys": "^1.0.12" + } + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" + } + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + }, + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", + "dev": true + }, + "des.js": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", + "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "detect-file": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", + "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", + "dev": true + }, + "diff-match-patch": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/diff-match-patch/-/diff-match-patch-1.0.4.tgz", + "integrity": "sha512-Uv3SW8bmH9nAtHKaKSanOQmj2DnlH65fUpcrMdfdaOxUG02QQ4YGZ8AE7kKOMisF7UqvOlGKVYWRvezdncW9lg==" + }, + "diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + } + }, + "dnd-core": { + "version": "7.7.0", + "resolved": "https://registry.npmjs.org/dnd-core/-/dnd-core-7.7.0.tgz", + "integrity": "sha512-+YqwflWEY1MEAEl2QiEiRaglYkCwIZryyQwximQGuTOm/ns7fS6Lg/i7OCkrtjM10D5FhArf/VUHIL4ZaRBK0g==", + "requires": { + "asap": "^2.0.6", + "invariant": "^2.2.4", + "redux": "^4.0.1" + } + }, + "dom-helpers": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-3.4.0.tgz", + "integrity": "sha512-LnuPJ+dwqKDIyotW1VzmOZ5TONUN7CwkCR5hrgawTUbkBGYdeoNLZo6nNfGkCrjtE1nXXaj7iMMpDa8/d9WoIA==", + "requires": { + "@babel/runtime": "^7.1.2" + } + }, + "dom-serializer": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.1.tgz", + "integrity": "sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==", + "requires": { + "domelementtype": "^1.3.0", + "entities": "^1.1.1" + } + }, + "domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", + "dev": true + }, + "domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" + }, + "domhandler": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", + "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", + "requires": { + "domelementtype": "1" + } + }, + "domutils": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", + "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "dot-prop": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz", + "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==", + "dev": true, + "requires": { + "is-obj": "^1.0.0" + } + }, + "duplexer3": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", + "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", + "dev": true + }, + "duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "dev": true, + "requires": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "editorconfig": { + "version": "0.15.3", + "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-0.15.3.tgz", + "integrity": "sha512-M9wIMFx96vq0R4F+gRpY3o2exzb8hEj/n9S8unZtHSvYjibBp/iMufSzvmOcV/laG0ZtuTVGtiJggPOSW2r93g==", + "requires": { + "commander": "^2.19.0", + "lru-cache": "^4.1.5", + "semver": "^5.6.0", + "sigmund": "^1.0.1" + }, + "dependencies": { + "commander": { + "version": "2.20.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz", + "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==" + } + } + }, + "electron-to-chromium": { + "version": "1.3.199", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.199.tgz", + "integrity": "sha512-gachlDdHSK47s0N2e58GH9HMC6Z4ip0SfmYUa5iEbE50AKaOUXysaJnXMfKj0xB245jWbYcyFSH+th3rqsF8hA==", + "dev": true + }, + "ellipsize": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/ellipsize/-/ellipsize-0.1.0.tgz", + "integrity": "sha1-nUNoLUS5GtFuvYQmisEDFwplU/g=" + }, + "elliptic": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.0.tgz", + "integrity": "sha512-eFOJTMyCYb7xtE/caJ6JJu+bhi67WCYNbkGSknu20pmM8Ke/bqOfdnZWxyoGN26JgfxTbXrsCkEw4KheCT/KGg==", + "dev": true, + "requires": { + "bn.js": "^4.4.0", + "brorand": "^1.0.1", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.0" + } + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", + "dev": true + }, + "encoding": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", + "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", + "requires": { + "iconv-lite": "~0.4.13" + } + }, + "end-of-stream": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", + "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, + "enhanced-resolve": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz", + "integrity": "sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.4.0", + "tapable": "^1.0.0" + } + }, + "entities": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" + }, + "errno": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", + "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", + "dev": true, + "requires": { + "prr": "~1.0.1" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es-abstract": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.13.0.tgz", + "integrity": "sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.0", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "is-callable": "^1.1.4", + "is-regex": "^1.0.4", + "object-keys": "^1.0.12" + } + }, + "es-to-primitive": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz", + "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + }, + "eslint-scope": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", + "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", + "dev": true, + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "esrecurse": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", + "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", + "dev": true, + "requires": { + "estraverse": "^4.1.0" + } + }, + "estraverse": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", + "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", + "dev": true + }, + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=" + }, + "events": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.0.0.tgz", + "integrity": "sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA==", + "dev": true + }, + "evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dev": true, + "requires": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "dev": true, + "requires": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "expand-brackets": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "requires": { + "is-posix-bracket": "^0.1.0" + } + }, + "expand-range": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", + "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", + "requires": { + "fill-range": "^2.1.0" + } + }, + "expand-tilde": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", + "dev": true, + "requires": { + "homedir-polyfill": "^1.0.1" + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "extglob": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "requires": { + "is-extglob": "^1.0.0" + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" + }, + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=" + }, + "fast-json-stable-stringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" + }, + "fbjs": { + "version": "0.8.17", + "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.17.tgz", + "integrity": "sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90=", + "requires": { + "core-js": "^1.0.0", + "isomorphic-fetch": "^2.1.1", + "loose-envify": "^1.0.0", + "object-assign": "^4.1.0", + "promise": "^7.1.1", + "setimmediate": "^1.0.5", + "ua-parser-js": "^0.7.18" + }, + "dependencies": { + "core-js": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", + "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=" + } + } + }, + "figgy-pudding": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz", + "integrity": "sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==", + "dev": true + }, + "file-loader": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-3.0.1.tgz", + "integrity": "sha512-4sNIOXgtH/9WZq4NvlfU3Opn5ynUsqBwSLyM+I7UOwdGigTBYfVVQEwe/msZNX/j4pCJTIM14Fsw66Svo1oVrw==", + "dev": true, + "requires": { + "loader-utils": "^1.0.2", + "schema-utils": "^1.0.0" + } + }, + "file-selector": { + "version": "0.1.11", + "resolved": "https://registry.npmjs.org/file-selector/-/file-selector-0.1.11.tgz", + "integrity": "sha512-NopCegJ7QuoqVzUdSLcZb0M9IFO69CSFZzuZhZBasfQxepNwa1ehL6L9UKe3EyBof3EUeraccfJocLCRAvtxdg==", + "requires": { + "tslib": "^1.9.0" + } + }, + "filename-regex": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", + "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=" + }, + "fill-range": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", + "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", + "requires": { + "is-number": "^2.1.0", + "isobject": "^2.0.0", + "randomatic": "^3.0.0", + "repeat-element": "^1.1.2", + "repeat-string": "^1.5.2" + } + }, + "find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "findup-sync": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz", + "integrity": "sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==", + "dev": true, + "requires": { + "detect-file": "^1.0.0", + "is-glob": "^4.0.0", + "micromatch": "^3.0.4", + "resolve-dir": "^1.0.1" + }, + "dependencies": { + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + } + } + }, + "flush-write-stream": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "follow-redirects": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz", + "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==", + "requires": { + "debug": "=3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + } + } + }, + "font-awesome": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/font-awesome/-/font-awesome-4.7.0.tgz", + "integrity": "sha1-j6jPBBGhoxr9B7BtKQK7n8gVoTM=" + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" + }, + "for-own": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", + "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", + "requires": { + "for-in": "^1.0.1" + } + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "requires": { + "map-cache": "^0.2.2" + } + }, + "from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "frontend-collective-react-dnd-scrollzone": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/frontend-collective-react-dnd-scrollzone/-/frontend-collective-react-dnd-scrollzone-1.0.2.tgz", + "integrity": "sha512-me/D9PZJq9j/sjEjs/OPmm6V6nbaHbhgeQiwrWu0t35lhwAOKWc+QBzzKKcZQeboYTkgE8UvCD9el+5ANp+g5Q==", + "requires": { + "hoist-non-react-statics": "^3.1.0", + "lodash.throttle": "^4.0.1", + "prop-types": "^15.5.9", + "raf": "^3.2.0", + "react": "^16.3.0", + "react-display-name": "^0.2.0", + "react-dom": "^16.3.0" + }, + "dependencies": { + "hoist-non-react-statics": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.0.tgz", + "integrity": "sha512-0XsbTXxgiaCDYDIWFcwkmerZPSwywfUqYmwT4jzewKTQSWoE6FCMoUVOeBJWK3E/CrWbxRG3m5GzY4lnIwGRBA==", + "requires": { + "react-is": "^16.7.0" + } + } + } + }, + "fs-readdir-recursive": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", + "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==", + "dev": true + }, + "fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "fsevents": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.7.tgz", + "integrity": "sha512-Pxm6sI2MeBD7RdD12RYsqaP0nMiwx8eZBXCa6z2L+mRHm2DYrOYwihmhjpkdjUHwQhslWQjRpEgNq4XvBmaAuw==", + "optional": true, + "requires": { + "nan": "^2.9.2", + "node-pre-gyp": "^0.10.0" + }, + "dependencies": { + "abbrev": { + "version": "1.1.1", + "bundled": true, + "optional": true + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true, + "optional": true + }, + "aproba": { + "version": "1.2.0", + "bundled": true, + "optional": true + }, + "are-we-there-yet": { + "version": "1.1.5", + "bundled": true, + "optional": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "balanced-match": { + "version": "1.0.0", + "bundled": true, + "optional": true + }, + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "optional": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "chownr": { + "version": "1.1.1", + "bundled": true, + "optional": true + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true, + "optional": true + }, + "concat-map": { + "version": "0.0.1", + "bundled": true, + "optional": true + }, + "console-control-strings": { + "version": "1.1.0", + "bundled": true, + "optional": true + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true, + "optional": true + }, + "debug": { + "version": "2.6.9", + "bundled": true, + "optional": true, + "requires": { + "ms": "2.0.0" + } + }, + "deep-extend": { + "version": "0.6.0", + "bundled": true, + "optional": true + }, + "delegates": { + "version": "1.0.0", + "bundled": true, + "optional": true + }, + "detect-libc": { + "version": "1.0.3", + "bundled": true, + "optional": true + }, + "fs-minipass": { + "version": "1.2.5", + "bundled": true, + "optional": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true, + "optional": true + }, + "gauge": { + "version": "2.7.4", + "bundled": true, + "optional": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "glob": { + "version": "7.1.3", + "bundled": true, + "optional": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "has-unicode": { + "version": "2.0.1", + "bundled": true, + "optional": true + }, + "iconv-lite": { + "version": "0.4.24", + "bundled": true, + "optional": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ignore-walk": { + "version": "3.0.1", + "bundled": true, + "optional": true, + "requires": { + "minimatch": "^3.0.4" + } + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "optional": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true, + "optional": true + }, + "ini": { + "version": "1.3.5", + "bundled": true, + "optional": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "optional": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "bundled": true, + "optional": true + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "optional": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "bundled": true, + "optional": true + }, + "minipass": { + "version": "2.3.5", + "bundled": true, + "optional": true, + "requires": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, + "minizlib": { + "version": "1.2.1", + "bundled": true, + "optional": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "optional": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.0.0", + "bundled": true, + "optional": true + }, + "needle": { + "version": "2.2.4", + "bundled": true, + "optional": true, + "requires": { + "debug": "^2.1.2", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + } + }, + "node-pre-gyp": { + "version": "0.10.3", + "bundled": true, + "optional": true, + "requires": { + "detect-libc": "^1.0.2", + "mkdirp": "^0.5.1", + "needle": "^2.2.1", + "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", + "npmlog": "^4.0.2", + "rc": "^1.2.7", + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^4" + } + }, + "nopt": { + "version": "4.0.1", + "bundled": true, + "optional": true, + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + }, + "npm-bundled": { + "version": "1.0.5", + "bundled": true, + "optional": true + }, + "npm-packlist": { + "version": "1.2.0", + "bundled": true, + "optional": true, + "requires": { + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1" + } + }, + "npmlog": { + "version": "4.1.2", + "bundled": true, + "optional": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true, + "optional": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true, + "optional": true + }, + "once": { + "version": "1.4.0", + "bundled": true, + "optional": true, + "requires": { + "wrappy": "1" + } + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true, + "optional": true + }, + "os-tmpdir": { + "version": "1.0.2", + "bundled": true, + "optional": true + }, + "osenv": { + "version": "0.1.5", + "bundled": true, + "optional": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true, + "optional": true + }, + "process-nextick-args": { + "version": "2.0.0", + "bundled": true, + "optional": true + }, + "rc": { + "version": "1.2.8", + "bundled": true, + "optional": true, + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "bundled": true, + "optional": true + } + } + }, + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "optional": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "rimraf": { + "version": "2.6.3", + "bundled": true, + "optional": true, + "requires": { + "glob": "^7.1.3" + } + }, + "safe-buffer": { + "version": "5.1.2", + "bundled": true, + "optional": true + }, + "safer-buffer": { + "version": "2.1.2", + "bundled": true, + "optional": true + }, + "sax": { + "version": "1.2.4", + "bundled": true, + "optional": true + }, + "semver": { + "version": "5.6.0", + "bundled": true, + "optional": true + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true, + "optional": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true, + "optional": true + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "optional": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "optional": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "optional": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true, + "optional": true + }, + "tar": { + "version": "4.4.8", + "bundled": true, + "optional": true, + "requires": { + "chownr": "^1.1.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.3.4", + "minizlib": "^1.1.1", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.2", + "yallist": "^3.0.2" + } + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true, + "optional": true + }, + "wide-align": { + "version": "1.1.3", + "bundled": true, + "optional": true, + "requires": { + "string-width": "^1.0.2 || 2" + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true, + "optional": true + }, + "yallist": { + "version": "3.0.3", + "bundled": true, + "optional": true + } + } + }, + "fstream": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz", + "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "inherits": "~2.0.0", + "mkdirp": ">=0.5 0", + "rimraf": "2" + } + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "dev": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "gaze": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz", + "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==", + "dev": true, + "requires": { + "globule": "^1.0.0" + } + }, + "get-caller-file": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", + "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", + "dev": true + }, + "get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", + "dev": true + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "dev": true + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "requires": { + "assert-plus": "^1.0.0" + } + }, + "glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-base": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", + "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", + "requires": { + "glob-parent": "^2.0.0", + "is-glob": "^2.0.0" + } + }, + "glob-parent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", + "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", + "requires": { + "is-glob": "^2.0.0" + } + }, + "global-dirs": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", + "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", + "dev": true, + "requires": { + "ini": "^1.3.4" + } + }, + "global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "dev": true, + "requires": { + "global-prefix": "^3.0.0" + }, + "dependencies": { + "global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "dev": true, + "requires": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + } + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + } + } + }, + "global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", + "dev": true, + "requires": { + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" + } + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true + }, + "globule": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/globule/-/globule-1.2.1.tgz", + "integrity": "sha512-g7QtgWF4uYSL5/dn71WxubOrS7JVGCnFPEnoeChJmBnyR9Mw8nGoEwOgJL/RC2Te0WhbsEUCejfH8SZNJ+adYQ==", + "dev": true, + "requires": { + "glob": "~7.1.1", + "lodash": "~4.17.10", + "minimatch": "~3.0.2" + } + }, + "got": { + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/got/-/got-6.7.1.tgz", + "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", + "dev": true, + "requires": { + "create-error-class": "^3.0.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "is-redirect": "^1.0.0", + "is-retry-allowed": "^1.0.0", + "is-stream": "^1.0.0", + "lowercase-keys": "^1.0.0", + "safe-buffer": "^5.0.1", + "timed-out": "^4.0.0", + "unzip-response": "^2.0.1", + "url-parse-lax": "^1.0.0" + } + }, + "graceful-fs": { + "version": "4.1.15", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", + "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==" + }, + "grapesjs": { + "version": "0.14.62", + "resolved": "https://registry.npmjs.org/grapesjs/-/grapesjs-0.14.62.tgz", + "integrity": "sha512-pqmSf6gp1qYPBZPCVPuDrIcS+Ea8ILl4+pyct70i3lN1hm+N+5Jidb4JzlbszIHZMtGT+nC7VIbQWuZCaT2Qbg==", + "requires": { + "backbone": "^1.3.3", + "backbone-undo": "^0.2.5", + "cash-dom": "^1.3.7", + "codemirror": "^5.42.0", + "codemirror-formatting": "^1.0.0", + "font-awesome": "^4.7.0", + "keymaster": "^1.6.2", + "promise-polyfill": "^8.1.0", + "spectrum-colorpicker": "^1.8.0", + "underscore": "^1.9.1" + } + }, + "grapesjs-mjml": { + "version": "0.0.31", + "resolved": "https://registry.npmjs.org/grapesjs-mjml/-/grapesjs-mjml-0.0.31.tgz", + "integrity": "sha512-HHf2LAZBAOItrSNJL3158T/YuO0TwxmWFSYvp5b60BlP1MkpF/yQs+5UptcC6hg/hZVeOx2ao95FY5OqOk7gZQ==", + "requires": { + "mjml": "^3.3.5" + } + }, + "grapesjs-preset-newsletter": { + "version": "0.2.20", + "resolved": "https://registry.npmjs.org/grapesjs-preset-newsletter/-/grapesjs-preset-newsletter-0.2.20.tgz", + "integrity": "sha512-rffUeuznf9Saig+kIUddmGfhWwbLjxdaqAYf6Hoge4b0sfT8knOS4mQXJBdRsSROfzuRhFe6ybRHm4yC32lHxA==", + "requires": { + "juice": "^4.1.1" + }, + "dependencies": { + "juice": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/juice/-/juice-4.3.2.tgz", + "integrity": "sha512-3Qym/RnFoCGa9qrDz6xn4zRnohgI6G87xKWZV+/seF3dYpaVqNS1HijsDef+elGhytRY79RIboOzk0hucLtx6g==", + "requires": { + "cheerio": "^0.22.0", + "commander": "^2.15.1", + "cross-spawn": "^5.1.0", + "deep-extend": "^0.5.1", + "mensch": "^0.3.3", + "slick": "^1.12.2", + "web-resource-inliner": "^4.2.1" + } + } + } + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" + }, + "har-validator": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", + "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", + "requires": { + "ajv": "^6.5.5", + "har-schema": "^2.0.0" + } + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "has-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", + "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=", + "dev": true + }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", + "dev": true + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + } + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "hash-base": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", + "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" + }, + "history": { + "version": "4.9.0", + "resolved": "https://registry.npmjs.org/history/-/history-4.9.0.tgz", + "integrity": "sha512-H2DkjCjXf0Op9OAr6nJ56fcRkTSNrUiv41vNJ6IswJjif6wlpZK0BTfFbi7qK9dXLSYZxkq5lBsj3vUjlYBYZA==", + "requires": { + "@babel/runtime": "^7.1.2", + "loose-envify": "^1.2.0", + "resolve-pathname": "^2.2.0", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0", + "value-equal": "^0.4.0" + } + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "dev": true, + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "hoist-non-react-statics": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-1.2.0.tgz", + "integrity": "sha1-qkSM8JhtVcxAdzsXF0t90GbLfPs=" + }, + "homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "dev": true, + "requires": { + "parse-passwd": "^1.0.0" + } + }, + "hosted-git-info": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz", + "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==", + "dev": true + }, + "html-minifier": { + "version": "3.5.21", + "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.21.tgz", + "integrity": "sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA==", + "requires": { + "camel-case": "3.0.x", + "clean-css": "4.2.x", + "commander": "2.17.x", + "he": "1.2.x", + "param-case": "2.1.x", + "relateurl": "0.2.x", + "uglify-js": "3.4.x" + } + }, + "html-parse-stringify2": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-parse-stringify2/-/html-parse-stringify2-2.0.1.tgz", + "integrity": "sha1-3FZwtyksoVi3vJFsmmc1rIhyg0o=", + "requires": { + "void-elements": "^2.0.1" + } + }, + "htmlparser2": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", + "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", + "requires": { + "domelementtype": "^1.3.1", + "domhandler": "^2.3.0", + "domutils": "^1.5.1", + "entities": "^1.1.1", + "inherits": "^2.0.1", + "readable-stream": "^3.1.1" + } + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", + "dev": true + }, + "i18next": { + "version": "13.1.5", + "resolved": "https://registry.npmjs.org/i18next/-/i18next-13.1.5.tgz", + "integrity": "sha512-tFaX79dg5IcO02I/p8ImZubrxZrOCf06eiAUBlqCjcHXSfC8wqUgI+Yp4qH0iZZV5jBG5z0RWLAamO72NnZiyg==" + }, + "i18next-browser-languagedetector": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/i18next-browser-languagedetector/-/i18next-browser-languagedetector-2.2.4.tgz", + "integrity": "sha512-wPbtH18FdOuB245I8Bhma5/XSDdN/HpYlX+wga1eMy+slhaFQSnrWX6fp+aYSL2eEuj0RlfHeEVz6Fo/lxAj6A==" + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "icss-replace-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", + "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=", + "dev": true + }, + "icss-utils": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.0.tgz", + "integrity": "sha512-3DEun4VOeMvSczifM3F2cKQrDQ5Pj6WKhkOq6HD4QTnDUAq8MQRxy5TX6Sy1iY6WPBe4gQ3p5vTECjbIkglkkQ==", + "dev": true, + "requires": { + "postcss": "^7.0.14" + } + }, + "ieee754": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", + "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==", + "dev": true + }, + "iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", + "dev": true + }, + "ignore-by-default": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz", + "integrity": "sha1-SMptcvbGo68Aqa1K5odr44ieKwk=", + "dev": true + }, + "image-size": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.6.3.tgz", + "integrity": "sha512-47xSUiQioGaB96nqtp5/q55m0aBQSQdyIloMOc/x+QVTDZLNmXE892IIDrJ0hM1A5vcNUDD5tDffkSP5lCaIIA==" + }, + "immutable": { + "version": "4.0.0-rc.12", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.0.0-rc.12.tgz", + "integrity": "sha512-0M2XxkZLx/mi3t8NVwIm1g8nHoEmM9p9UBl/G9k4+hm0kBgOVdMV/B3CY5dQ8qG8qc80NN4gDV4HQv6FTJ5q7A==" + }, + "import-lazy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", + "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=", + "dev": true + }, + "import-local": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", + "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", + "dev": true, + "requires": { + "pkg-dir": "^3.0.0", + "resolve-cwd": "^2.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, + "in-publish": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.0.tgz", + "integrity": "sha1-4g/146KvwmkDILbcVSaCqcf631E=", + "dev": true + }, + "indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "dev": true, + "requires": { + "repeating": "^2.0.0" + } + }, + "indexes-of": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", + "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + }, + "ini": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==" + }, + "interpret": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz", + "integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==", + "dev": true + }, + "invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "requires": { + "loose-envify": "^1.0.0" + } + }, + "invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", + "dev": true + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "is-callable": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", + "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==", + "dev": true + }, + "is-ci": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz", + "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", + "dev": true, + "requires": { + "ci-info": "^1.5.0" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-date-object": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", + "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", + "dev": true + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" + } + } + }, + "is-dotfile": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", + "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=" + }, + "is-equal-shallow": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", + "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", + "requires": { + "is-primitive": "^2.0.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=" + }, + "is-finite": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", + "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "requires": { + "is-extglob": "^1.0.0" + } + }, + "is-installed-globally": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.1.0.tgz", + "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=", + "dev": true, + "requires": { + "global-dirs": "^0.1.0", + "is-path-inside": "^1.0.0" + } + }, + "is-npm": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz", + "integrity": "sha1-8vtjpl5JBbQGyGBydloaTceTufQ=", + "dev": true + }, + "is-number": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", + "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", + "dev": true + }, + "is-path-inside": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", + "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", + "dev": true, + "requires": { + "path-is-inside": "^1.0.1" + } + }, + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", + "dev": true + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "requires": { + "isobject": "^3.0.1" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + } + } + }, + "is-posix-bracket": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", + "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=" + }, + "is-primitive": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", + "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=" + }, + "is-redirect": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz", + "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=", + "dev": true + }, + "is-regex": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", + "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", + "dev": true, + "requires": { + "has": "^1.0.1" + } + }, + "is-retry-allowed": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz", + "integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ=", + "dev": true + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + }, + "is-symbol": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz", + "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==", + "dev": true, + "requires": { + "has-symbols": "^1.0.0" + } + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" + }, + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + }, + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "requires": { + "isarray": "1.0.0" + } + }, + "isomorphic-fetch": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", + "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", + "requires": { + "node-fetch": "^1.0.1", + "whatwg-fetch": ">=0.10.0" + } + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" + }, + "jquery": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.4.0.tgz", + "integrity": "sha512-ggRCXln9zEqv6OqAGXFEcshF5dSBvCkzj6Gm2gzuR5fWawaX8t7cxKVkkygKODrDAzKdoYw3l/e3pm3vlT4IbQ==" + }, + "js-base64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.5.1.tgz", + "integrity": "sha512-M7kLczedRMYX4L8Mdh4MzyAMM9O5osx+4FcOQuTvr3A9F2D9S5JXheN0ewNbrvK2UatkTRhL5ejGmGSjNMiZuw==", + "dev": true + }, + "js-beautify": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.9.1.tgz", + "integrity": "sha512-oxxvVZdOdUfzk8IOLBF2XUZvl2GoBEfA+b0of4u2EBY/46NlXasi8JdFvazA5lCrf9/lQhTjyVy2QCUW7iq0MQ==", + "requires": { + "config-chain": "^1.1.12", + "editorconfig": "^0.15.2", + "glob": "^7.1.3", + "mkdirp": "~0.5.0", + "nopt": "~4.0.1" + } + }, + "js-levenshtein": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz", + "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==", + "dev": true + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" + }, + "json5": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz", + "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + } + } + }, + "jsonify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", + "dev": true + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "juice": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/juice/-/juice-5.2.0.tgz", + "integrity": "sha512-0l6GZmT3efexyaaay3SchKT5kG311N59TEFP5lfvEy0nz9SNqjx311plJ3b4jze7arsmDsiHQLh/xnAuk0HFTQ==", + "requires": { + "cheerio": "^0.22.0", + "commander": "^2.15.1", + "cross-spawn": "^6.0.5", + "deep-extend": "^0.6.0", + "mensch": "^0.3.3", + "slick": "^1.12.2", + "web-resource-inliner": "^4.3.1" + }, + "dependencies": { + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" + } + } + }, + "keymaster": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/keymaster/-/keymaster-1.6.2.tgz", + "integrity": "sha1-4a5U0OqUiPn2C2a2aPAumhlGxus=" + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + }, + "latest-version": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-3.1.0.tgz", + "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=", + "dev": true, + "requires": { + "package-json": "^4.0.0" + } + }, + "lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "dev": true, + "requires": { + "invert-kv": "^1.0.0" + } + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "load-script": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/load-script/-/load-script-1.0.0.tgz", + "integrity": "sha1-BJGTngvuVkPuSUp+PaPSuscMbKQ=" + }, + "loader-runner": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", + "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", + "dev": true + }, + "loader-utils": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", + "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^2.0.0", + "json5": "^1.0.1" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + } + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" + }, + "lodash.assignin": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.assignin/-/lodash.assignin-4.2.0.tgz", + "integrity": "sha1-uo31+4QesKPoBEIysOJjqNxqKKI=" + }, + "lodash.bind": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/lodash.bind/-/lodash.bind-4.2.1.tgz", + "integrity": "sha1-euMBfpOWIqwxt9fX3LGzTbFpDTU=" + }, + "lodash.defaults": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", + "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=" + }, + "lodash.filter": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.filter/-/lodash.filter-4.6.0.tgz", + "integrity": "sha1-ZosdSYFgOuHMWm+nYBQ+SAtMSs4=" + }, + "lodash.flatten": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", + "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=" + }, + "lodash.foreach": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.foreach/-/lodash.foreach-4.5.0.tgz", + "integrity": "sha1-Gmo16s5AEoDH8G3d7DUWWrJ+PlM=" + }, + "lodash.get": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", + "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=" + }, + "lodash.isequal": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", + "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=" + }, + "lodash.map": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.map/-/lodash.map-4.6.0.tgz", + "integrity": "sha1-dx7Hg540c9nEzeKLGTlMNWL09tM=" + }, + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" + }, + "lodash.pick": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz", + "integrity": "sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM=" + }, + "lodash.reduce": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.reduce/-/lodash.reduce-4.6.0.tgz", + "integrity": "sha1-8atrg5KZrUj3hKu/R2WW8DuRTTs=" + }, + "lodash.reject": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.reject/-/lodash.reject-4.6.0.tgz", + "integrity": "sha1-gNZJLcFHCGS79YNTO2UfQqn1JBU=" + }, + "lodash.some": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.some/-/lodash.some-4.6.0.tgz", + "integrity": "sha1-G7nzFO9ri63tE7VJFpsqlF62jk0=" + }, + "lodash.tail": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.tail/-/lodash.tail-4.1.1.tgz", + "integrity": "sha1-0jM6NtnncXyK0vfKyv7HwytERmQ=", + "dev": true + }, + "lodash.throttle": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", + "integrity": "sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ=" + }, + "lodash.unescape": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.unescape/-/lodash.unescape-4.0.1.tgz", + "integrity": "sha1-vyJJiGzlFM2hEvrpIYzcBlIR/Jw=" + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", + "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "dev": true, + "requires": { + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.0" + } + }, + "lower-case": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", + "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=" + }, + "lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", + "dev": true + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + } + }, + "mamacro": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/mamacro/-/mamacro-0.0.3.tgz", + "integrity": "sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA==", + "dev": true + }, + "map-age-cleaner": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", + "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", + "dev": true, + "requires": { + "p-defer": "^1.0.0" + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" + }, + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "dev": true + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "requires": { + "object-visit": "^1.0.0" + } + }, + "material-colors": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/material-colors/-/material-colors-1.2.6.tgz", + "integrity": "sha512-6qE4B9deFBIa9YSpOc9O0Sgc43zTeVYbgDT5veRKSlB2+ZuHNoVVxA1L/ckMUayV9Ay9y7Z/SZCLcGteW9i7bg==" + }, + "math-random": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.4.tgz", + "integrity": "sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==" + }, + "md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "dev": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "mem": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", + "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", + "dev": true, + "requires": { + "map-age-cleaner": "^0.1.1", + "mimic-fn": "^2.0.0", + "p-is-promise": "^2.0.0" + } + }, + "memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "dev": true, + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "memorystream": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", + "integrity": "sha1-htcJCzDORV1j+64S3aUaR93K+bI=", + "dev": true + }, + "mensch": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/mensch/-/mensch-0.3.3.tgz", + "integrity": "sha1-4gD/TdgjcX+OBWOzLj9UgfyiYrI=" + }, + "meow": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "dev": true, + "requires": { + "camelcase-keys": "^2.0.0", + "decamelize": "^1.1.2", + "loud-rejection": "^1.0.0", + "map-obj": "^1.0.1", + "minimist": "^1.1.3", + "normalize-package-data": "^2.3.4", + "object-assign": "^4.0.1", + "read-pkg-up": "^1.0.1", + "redent": "^1.0.0", + "trim-newlines": "^1.0.0" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + } + } + }, + "micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "requires": { + "arr-diff": "^2.0.0", + "array-unique": "^0.2.1", + "braces": "^1.8.2", + "expand-brackets": "^0.1.4", + "extglob": "^0.3.1", + "filename-regex": "^2.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.1", + "kind-of": "^3.0.2", + "normalize-path": "^2.0.1", + "object.omit": "^2.0.0", + "parse-glob": "^3.0.4", + "regex-cache": "^0.4.2" + } + }, + "miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + } + }, + "mime": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.2.tgz", + "integrity": "sha512-zJBfZDkwRu+j3Pdd2aHsR5GfH2jIWhmL1ZzBoc+X+3JEti2hbArWcyJ+1laC1D2/U/W1a/+Cegj0/OnEU2ybjg==", + "dev": true + }, + "mime-db": { + "version": "1.38.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.38.0.tgz", + "integrity": "sha512-bqVioMFFzc2awcdJZIzR3HjZFX20QhilVS7hytkKrv7xFAn8bM1gzc/FOX2awLISvWe0PV8ptFKcon+wZ5qYkg==" + }, + "mime-types": { + "version": "2.1.22", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.22.tgz", + "integrity": "sha512-aGl6TZGnhm/li6F7yx82bJiBZwgiEa4Hf6CNr8YO+r5UHr53tSTYZb102zyU50DOWWKeOv0uQLRL0/9EiKWCog==", + "requires": { + "mime-db": "~1.38.0" + } + }, + "mimer": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/mimer/-/mimer-0.3.2.tgz", + "integrity": "sha512-N6NcgDQAevhP/02DQ/epK6daLy4NKrIHyTlJcO6qBiYn98q+Y4a/knNsAATCe1xLS2F0nEmJp+QYli2s8vKwyQ==" + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + }, + "mississippi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", + "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", + "dev": true, + "requires": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^3.0.0", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + } + }, + "mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "mixin-object": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mixin-object/-/mixin-object-2.0.1.tgz", + "integrity": "sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4=", + "dev": true, + "requires": { + "for-in": "^0.1.3", + "is-extendable": "^0.1.1" + }, + "dependencies": { + "for-in": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-0.1.8.tgz", + "integrity": "sha1-2Hc5COMSVhCZUrH9ubP6hn0ndeE=", + "dev": true + } + } + }, + "mjml": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/mjml/-/mjml-3.3.5.tgz", + "integrity": "sha512-a7uMTYsXNPfwe4ncjQXobcqWsdOoKa4sk2+F59g8Q7AFZDLIFV0Ya5fcp3spBADovCLycZ8seF79K3svU/KDIg==", + "requires": { + "lodash": "^4.17.4", + "mjml-accordion": "~3.3.5", + "mjml-button": "~3.3.5", + "mjml-carousel": "~3.3.5", + "mjml-cli": "~3.3.5", + "mjml-column": "~3.3.5", + "mjml-container": "~3.3.5", + "mjml-core": "~3.3.5", + "mjml-divider": "~3.3.5", + "mjml-group": "~3.3.5", + "mjml-head-attributes": "~3.3.5", + "mjml-head-font": "~3.3.5", + "mjml-head-preview": "~3.3.5", + "mjml-head-style": "~3.3.5", + "mjml-head-title": "~3.3.5", + "mjml-hero": "~3.3.5", + "mjml-html": "~3.3.5", + "mjml-image": "~3.3.5", + "mjml-invoice": "~3.3.5", + "mjml-list": "~3.3.5", + "mjml-location": "~3.3.5", + "mjml-navbar": "~3.3.5", + "mjml-raw": "~3.3.5", + "mjml-section": "~3.3.5", + "mjml-social": "~3.3.5", + "mjml-spacer": "~3.3.5", + "mjml-table": "~3.3.5", + "mjml-text": "~3.3.5", + "mjml-wrapper": "~3.3.5" + } + }, + "mjml-accordion": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/mjml-accordion/-/mjml-accordion-3.3.5.tgz", + "integrity": "sha512-pK30iNhIvqnDnidqVKFw4GJEfKWCukYYw4hByIagwikdVKdbXHc1pf/IpFsKtJ8zx9Cdi4JeFVWYwwikU2v1Bw==", + "requires": { + "classnames": "^2.2.5", + "lodash": "^4.17.4", + "mjml-core": "~3.3.5", + "react": "^15.4.2" + }, + "dependencies": { + "react": { + "version": "15.6.2", + "resolved": "https://registry.npmjs.org/react/-/react-15.6.2.tgz", + "integrity": "sha1-26BDSrQ5z+gvEI8PURZjkIF5qnI=", + "requires": { + "create-react-class": "^15.6.0", + "fbjs": "^0.8.9", + "loose-envify": "^1.1.0", + "object-assign": "^4.1.0", + "prop-types": "^15.5.10" + } + } + } + }, + "mjml-button": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/mjml-button/-/mjml-button-3.3.5.tgz", + "integrity": "sha512-PKvk6arRTYLY4PcpPdf9bTpFvZtw/2KIID4H0+lYLz0C8pIuHPoHh4wTaXguBGdT9gLfpMAp2WleMOUD6zmEPA==", + "requires": { + "lodash": "^4.17.4", + "mjml-core": "~3.3.5", + "react": "^15.4.2" + }, + "dependencies": { + "react": { + "version": "15.6.2", + "resolved": "https://registry.npmjs.org/react/-/react-15.6.2.tgz", + "integrity": "sha1-26BDSrQ5z+gvEI8PURZjkIF5qnI=", + "requires": { + "create-react-class": "^15.6.0", + "fbjs": "^0.8.9", + "loose-envify": "^1.1.0", + "object-assign": "^4.1.0", + "prop-types": "^15.5.10" + } + } + } + }, + "mjml-carousel": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/mjml-carousel/-/mjml-carousel-3.3.5.tgz", + "integrity": "sha512-yGXLZBUxQLKiCxS5H5MSoAbGJcSmdcBYFHqLsukiHAHbsetpang9BbI0v3X+PrvOco6DzL2SlOG8EDXnrAuNUw==", + "requires": { + "lodash": "^4.17.4", + "mjml-core": "~3.3.5", + "react": "^15.4.2" + }, + "dependencies": { + "react": { + "version": "15.6.2", + "resolved": "https://registry.npmjs.org/react/-/react-15.6.2.tgz", + "integrity": "sha1-26BDSrQ5z+gvEI8PURZjkIF5qnI=", + "requires": { + "create-react-class": "^15.6.0", + "fbjs": "^0.8.9", + "loose-envify": "^1.1.0", + "object-assign": "^4.1.0", + "prop-types": "^15.5.10" + } + } + } + }, + "mjml-cli": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/mjml-cli/-/mjml-cli-3.3.5.tgz", + "integrity": "sha512-LmOht5KFC/9oRngLitnGUpB2lNPUz2TGNeRIxBIJNC0FtaBpUz3g5LCofZHYvSMOEcgVqISeOHsmNIV75l3lLw==", + "requires": { + "chokidar": "^1.6.1", + "commander": "^2.9.0", + "glob": "^7.1.1", + "lodash": "^4.17.4", + "mjml-core": "~3.3.5", + "mz": "^2.6.0" + } + }, + "mjml-column": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/mjml-column/-/mjml-column-3.3.5.tgz", + "integrity": "sha512-VvU7PQ9phme1oWoKugw1UTNeqNXMqDVOkrrtMNpKiLOByuG0vMegwWGJOIsuznuy80Pl5wnVk9XuynMbOhb82A==", + "requires": { + "classnames": "^2.2.5", + "lodash": "^4.17.4", + "mjml-core": "~3.3.5", + "react": "^15.4.2" + }, + "dependencies": { + "react": { + "version": "15.6.2", + "resolved": "https://registry.npmjs.org/react/-/react-15.6.2.tgz", + "integrity": "sha1-26BDSrQ5z+gvEI8PURZjkIF5qnI=", + "requires": { + "create-react-class": "^15.6.0", + "fbjs": "^0.8.9", + "loose-envify": "^1.1.0", + "object-assign": "^4.1.0", + "prop-types": "^15.5.10" + } + } + } + }, + "mjml-container": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/mjml-container/-/mjml-container-3.3.5.tgz", + "integrity": "sha512-HGg2AHsuoZnM6iLlkoq81oWn1f3W+lJ64dKiYw4ZPY/MEHVl9ayFDpRw7dsia5pSENtjwjQsQsUC2iCyQulaAA==", + "requires": { + "classnames": "^2.2.5", + "mjml-core": "~3.3.5", + "react": "^15.4.2" + }, + "dependencies": { + "react": { + "version": "15.6.2", + "resolved": "https://registry.npmjs.org/react/-/react-15.6.2.tgz", + "integrity": "sha1-26BDSrQ5z+gvEI8PURZjkIF5qnI=", + "requires": { + "create-react-class": "^15.6.0", + "fbjs": "^0.8.9", + "loose-envify": "^1.1.0", + "object-assign": "^4.1.0", + "prop-types": "^15.5.10" + } + } + } + }, + "mjml-core": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/mjml-core/-/mjml-core-3.3.5.tgz", + "integrity": "sha512-Cqc+8HLyMe26Co1jnyKTt+m10rQnXmAjXYcrdJV8QrjpDeLIZd1dClYTBjEAtREmUf5cAovdRHulPLfiOF9sZA==", + "requires": { + "cheerio": "^0.22.0", + "classnames": "^2.2.5", + "debug": "^2.6.0", + "he": "^1.1.0", + "hoist-non-react-statics": "^1.2.0", + "html-minifier": "^3.2.3", + "immutable": "^3.8.1", + "jquery": "^3.1.1", + "js-beautify": "^1.6.8", + "juice": "^4.0.2", + "lodash": "^4.17.4", + "mjml-validator": "~3.3.3", + "react": "^15.4.2", + "react-dom": "^15.4.2", + "warning": "^3.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "immutable": { + "version": "3.8.2", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.8.2.tgz", + "integrity": "sha1-wkOZUUVbs5kT2vKBN28VMOEErfM=" + }, + "juice": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/juice/-/juice-4.3.2.tgz", + "integrity": "sha512-3Qym/RnFoCGa9qrDz6xn4zRnohgI6G87xKWZV+/seF3dYpaVqNS1HijsDef+elGhytRY79RIboOzk0hucLtx6g==", + "requires": { + "cheerio": "^0.22.0", + "commander": "^2.15.1", + "cross-spawn": "^5.1.0", + "deep-extend": "^0.5.1", + "mensch": "^0.3.3", + "slick": "^1.12.2", + "web-resource-inliner": "^4.2.1" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "react": { + "version": "15.6.2", + "resolved": "https://registry.npmjs.org/react/-/react-15.6.2.tgz", + "integrity": "sha1-26BDSrQ5z+gvEI8PURZjkIF5qnI=", + "requires": { + "create-react-class": "^15.6.0", + "fbjs": "^0.8.9", + "loose-envify": "^1.1.0", + "object-assign": "^4.1.0", + "prop-types": "^15.5.10" + } + }, + "react-dom": { + "version": "15.6.2", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-15.6.2.tgz", + "integrity": "sha1-Qc+t9pO3V/rycIRDodH9WgK+9zA=", + "requires": { + "fbjs": "^0.8.9", + "loose-envify": "^1.1.0", + "object-assign": "^4.1.0", + "prop-types": "^15.5.10" + } + } + } + }, + "mjml-divider": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/mjml-divider/-/mjml-divider-3.3.5.tgz", + "integrity": "sha512-LIEwKA2v/hxU7YKL/h/H4TRCL47167W6JQ+Ju7JZE9ropPvEHnmd5sWme9wc9iib70+6RIk25JvGjxfQZJeOOw==", + "requires": { + "lodash": "^4.17.4", + "mjml-core": "~3.3.5", + "react": "^15.4.2" + }, + "dependencies": { + "react": { + "version": "15.6.2", + "resolved": "https://registry.npmjs.org/react/-/react-15.6.2.tgz", + "integrity": "sha1-26BDSrQ5z+gvEI8PURZjkIF5qnI=", + "requires": { + "create-react-class": "^15.6.0", + "fbjs": "^0.8.9", + "loose-envify": "^1.1.0", + "object-assign": "^4.1.0", + "prop-types": "^15.5.10" + } + } + } + }, + "mjml-group": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/mjml-group/-/mjml-group-3.3.5.tgz", + "integrity": "sha512-PNAmb+TqTkglKJFQpgaxuKSxfo7m/MCKNxgOjY6xaTswY/5BVtYO1ne2+raYBGWR2OLw3f8vNV4EZW+REy3fSQ==", + "requires": { + "classnames": "^2.2.5", + "lodash": "^4.17.4", + "mjml-core": "~3.3.5", + "react": "^15.4.2" + }, + "dependencies": { + "react": { + "version": "15.6.2", + "resolved": "https://registry.npmjs.org/react/-/react-15.6.2.tgz", + "integrity": "sha1-26BDSrQ5z+gvEI8PURZjkIF5qnI=", + "requires": { + "create-react-class": "^15.6.0", + "fbjs": "^0.8.9", + "loose-envify": "^1.1.0", + "object-assign": "^4.1.0", + "prop-types": "^15.5.10" + } + } + } + }, + "mjml-head-attributes": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/mjml-head-attributes/-/mjml-head-attributes-3.3.5.tgz", + "integrity": "sha512-P0QzVA+xHp0Dn5DzC+sMsdu06a2q3ZqtHho6ex9cRAJ1DrgXr043XT5VddycaW0BssG8tca31nA+eELiP8GxYw==", + "requires": { + "lodash": "^4.17.4" + } + }, + "mjml-head-font": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/mjml-head-font/-/mjml-head-font-3.3.5.tgz", + "integrity": "sha512-GosELGr8UsMkzfhPU8QJLvsCjrJMyJn6eA2u7icI0e8Q5G13GxUYIdyh1ICepn9Ff/NZp7mkwXCDmelJmlhxng==", + "requires": { + "lodash": "^4.17.4" + } + }, + "mjml-head-preview": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/mjml-head-preview/-/mjml-head-preview-3.3.5.tgz", + "integrity": "sha512-hoiGShrkk2fw4lIsgoaC+L40eV6AGi2/p9C2BSAKTmeKPl70sUIk9TKpu+g3atAtV10EkHiG5XBhZCZSbZwnRA==" + }, + "mjml-head-style": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/mjml-head-style/-/mjml-head-style-3.3.5.tgz", + "integrity": "sha512-51o0rB7fCx2f58hI/FHQH1X72ahap25oXeiCtJ+X+hH4xdtUaRL5stPM5WdED2kRDCrurMdNxo4s9xN+immPeA==" + }, + "mjml-head-title": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/mjml-head-title/-/mjml-head-title-3.3.5.tgz", + "integrity": "sha512-DGcdLRKOxIGFJLESQi8ftIb6dKCIlPOPRpXVJ1FPoQ0/qPLXbXpHqJPRLIGzAD8tIPtVa/MbXk+Wm5+DP/Nf6w==" + }, + "mjml-hero": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/mjml-hero/-/mjml-hero-3.3.5.tgz", + "integrity": "sha512-Q8jM/wtpDkq+8WOK2V3W59MGAmW7kNZc7U+MTwuF/xjdJIUrYkOBgYyE/iv8dVUkOXXtI2tnouJ+nWxHfLJX3A==", + "requires": { + "classnames": "^2.2.5", + "lodash": "^4.17.4", + "mjml-core": "~3.3.5", + "react": "^15.4.2" + }, + "dependencies": { + "react": { + "version": "15.6.2", + "resolved": "https://registry.npmjs.org/react/-/react-15.6.2.tgz", + "integrity": "sha1-26BDSrQ5z+gvEI8PURZjkIF5qnI=", + "requires": { + "create-react-class": "^15.6.0", + "fbjs": "^0.8.9", + "loose-envify": "^1.1.0", + "object-assign": "^4.1.0", + "prop-types": "^15.5.10" + } + } + } + }, + "mjml-html": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/mjml-html/-/mjml-html-3.3.5.tgz", + "integrity": "sha512-Ei2zyFmVb4s5qHCp1cckWeKwLIsUVmNsRGboZmcmHgr00MYHvrxC8s42oRsUP/B6i5U7FBrJAit9X54Q1eRByQ==", + "requires": { + "lodash": "^4.17.4", + "mjml-core": "~3.3.5", + "react": "^15.4.2" + }, + "dependencies": { + "react": { + "version": "15.6.2", + "resolved": "https://registry.npmjs.org/react/-/react-15.6.2.tgz", + "integrity": "sha1-26BDSrQ5z+gvEI8PURZjkIF5qnI=", + "requires": { + "create-react-class": "^15.6.0", + "fbjs": "^0.8.9", + "loose-envify": "^1.1.0", + "object-assign": "^4.1.0", + "prop-types": "^15.5.10" + } + } + } + }, + "mjml-image": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/mjml-image/-/mjml-image-3.3.5.tgz", + "integrity": "sha512-UDHyaTfwchOtZp3PN9pDJpcFSv3YbEb6U25SGT0UHoJTckKOAcKWoaPGfCvi1DvnQ9+r3xqZV0/oI1qdXxa3Pw==", + "requires": { + "lodash": "^4.17.4", + "mjml-core": "~3.3.5", + "react": "^15.4.2" + }, + "dependencies": { + "react": { + "version": "15.6.2", + "resolved": "https://registry.npmjs.org/react/-/react-15.6.2.tgz", + "integrity": "sha1-26BDSrQ5z+gvEI8PURZjkIF5qnI=", + "requires": { + "create-react-class": "^15.6.0", + "fbjs": "^0.8.9", + "loose-envify": "^1.1.0", + "object-assign": "^4.1.0", + "prop-types": "^15.5.10" + } + } + } + }, + "mjml-invoice": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/mjml-invoice/-/mjml-invoice-3.3.5.tgz", + "integrity": "sha512-JHWvpZQu9JRr/JC/h9sl4/XBcsfdPZ88kFKL5nKaQ6dFBmdYvs+sqZ7ZDAgfGGwzoTNNKrgLdt6shvwKGo5B1g==", + "requires": { + "he": "^1.1.1", + "lodash": "^4.17.4", + "mjml-core": "~3.3.5", + "mjml-table": "~3.3.3", + "numeral": "^2.0.4", + "react": "^15.4.2" + }, + "dependencies": { + "react": { + "version": "15.6.2", + "resolved": "https://registry.npmjs.org/react/-/react-15.6.2.tgz", + "integrity": "sha1-26BDSrQ5z+gvEI8PURZjkIF5qnI=", + "requires": { + "create-react-class": "^15.6.0", + "fbjs": "^0.8.9", + "loose-envify": "^1.1.0", + "object-assign": "^4.1.0", + "prop-types": "^15.5.10" + } + } + } + }, + "mjml-list": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/mjml-list/-/mjml-list-3.3.5.tgz", + "integrity": "sha512-50Jk4Z3Z5VfOpreZWGyuC53ZvDsQ0TtKGKXZZv0fyK38Fz597mxPah83u+bD/SveJMoSt4PzMX5/5RAroympQQ==", + "requires": { + "lodash": "^4.17.4", + "mjml-core": "~3.3.5", + "react": "^15.4.2" + }, + "dependencies": { + "react": { + "version": "15.6.2", + "resolved": "https://registry.npmjs.org/react/-/react-15.6.2.tgz", + "integrity": "sha1-26BDSrQ5z+gvEI8PURZjkIF5qnI=", + "requires": { + "create-react-class": "^15.6.0", + "fbjs": "^0.8.9", + "loose-envify": "^1.1.0", + "object-assign": "^4.1.0", + "prop-types": "^15.5.10" + } + } + } + }, + "mjml-location": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/mjml-location/-/mjml-location-3.3.5.tgz", + "integrity": "sha512-GUeXSMJwc9syfO3/DRyjMyqYlg8J9UAwXnqUB9TwnvgJdHquhJeD6xEtBFuLY7KyENiZsKavXvV4BqT6/GqAPg==", + "requires": { + "lodash": "^4.17.4", + "mjml-core": "~3.3.5", + "mjml-image": "~3.3.3", + "mjml-text": "~3.3.3", + "react": "^15.4.2" + }, + "dependencies": { + "react": { + "version": "15.6.2", + "resolved": "https://registry.npmjs.org/react/-/react-15.6.2.tgz", + "integrity": "sha1-26BDSrQ5z+gvEI8PURZjkIF5qnI=", + "requires": { + "create-react-class": "^15.6.0", + "fbjs": "^0.8.9", + "loose-envify": "^1.1.0", + "object-assign": "^4.1.0", + "prop-types": "^15.5.10" + } + } + } + }, + "mjml-navbar": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/mjml-navbar/-/mjml-navbar-3.3.5.tgz", + "integrity": "sha512-elHcplAHvgSeJYHT0qtA+mT//8RKTBXwVOqk4b+4HV7Y9084p7rKsqtHYArMO8mfbXRYqrJ5zWn9rOU5UvSGPg==", + "requires": { + "lodash": "^4.17.4", + "mjml-core": "~3.3.5", + "mjml-section": "~3.3.3", + "react": "^15.4.2" + }, + "dependencies": { + "react": { + "version": "15.6.2", + "resolved": "https://registry.npmjs.org/react/-/react-15.6.2.tgz", + "integrity": "sha1-26BDSrQ5z+gvEI8PURZjkIF5qnI=", + "requires": { + "create-react-class": "^15.6.0", + "fbjs": "^0.8.9", + "loose-envify": "^1.1.0", + "object-assign": "^4.1.0", + "prop-types": "^15.5.10" + } + } + } + }, + "mjml-raw": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/mjml-raw/-/mjml-raw-3.3.5.tgz", + "integrity": "sha512-7gP98gI+eHkoc1Y91Uq57Ow3/GvF82tTmt3bjTq6aCtHKLPRDVGg+mF99JGdyqDSPQOY/rLh1W1XWgZ0JknNqQ==", + "requires": { + "mjml-core": "~3.3.5", + "react": "^15.4.2" + }, + "dependencies": { + "react": { + "version": "15.6.2", + "resolved": "https://registry.npmjs.org/react/-/react-15.6.2.tgz", + "integrity": "sha1-26BDSrQ5z+gvEI8PURZjkIF5qnI=", + "requires": { + "create-react-class": "^15.6.0", + "fbjs": "^0.8.9", + "loose-envify": "^1.1.0", + "object-assign": "^4.1.0", + "prop-types": "^15.5.10" + } + } + } + }, + "mjml-section": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/mjml-section/-/mjml-section-3.3.5.tgz", + "integrity": "sha512-71Y5fCwoBq/v1Vl5/cmXvjrc6RZoIXzYVFuXFrWkaOO2cJ/ozXNXLRPCbj4DmjK55RITXktS2Y8X22FOgvM0EA==", + "requires": { + "lodash": "^4.17.4", + "mjml-core": "~3.3.5", + "react": "^15.4.2" + }, + "dependencies": { + "react": { + "version": "15.6.2", + "resolved": "https://registry.npmjs.org/react/-/react-15.6.2.tgz", + "integrity": "sha1-26BDSrQ5z+gvEI8PURZjkIF5qnI=", + "requires": { + "create-react-class": "^15.6.0", + "fbjs": "^0.8.9", + "loose-envify": "^1.1.0", + "object-assign": "^4.1.0", + "prop-types": "^15.5.10" + } + } + } + }, + "mjml-social": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/mjml-social/-/mjml-social-3.3.5.tgz", + "integrity": "sha512-0x2mhrMoLQu8dhZnlZJZrfb0eVmUUXzkp0yNlIPlDR07WywPKbFOorIQXMT5rSvihskDpklRHA8lz13bBJ/ofw==", + "requires": { + "lodash": "^4.17.4", + "mjml-core": "~3.3.5", + "react": "^15.4.2" + }, + "dependencies": { + "react": { + "version": "15.6.2", + "resolved": "https://registry.npmjs.org/react/-/react-15.6.2.tgz", + "integrity": "sha1-26BDSrQ5z+gvEI8PURZjkIF5qnI=", + "requires": { + "create-react-class": "^15.6.0", + "fbjs": "^0.8.9", + "loose-envify": "^1.1.0", + "object-assign": "^4.1.0", + "prop-types": "^15.5.10" + } + } + } + }, + "mjml-spacer": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/mjml-spacer/-/mjml-spacer-3.3.5.tgz", + "integrity": "sha512-9uAgL4ga1cSRBJVRQhjLJCgv0DlAfi71V2LbZRa7mFJ3biPTZuGw2OYdWXopX3Iu5MtkIuJ4+dMPV+C14NGR9Q==", + "requires": { + "mjml-core": "~3.3.5", + "react": "^15.4.2" + }, + "dependencies": { + "react": { + "version": "15.6.2", + "resolved": "https://registry.npmjs.org/react/-/react-15.6.2.tgz", + "integrity": "sha1-26BDSrQ5z+gvEI8PURZjkIF5qnI=", + "requires": { + "create-react-class": "^15.6.0", + "fbjs": "^0.8.9", + "loose-envify": "^1.1.0", + "object-assign": "^4.1.0", + "prop-types": "^15.5.10" + } + } + } + }, + "mjml-table": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/mjml-table/-/mjml-table-3.3.5.tgz", + "integrity": "sha512-sZ5wOpHRVlag1llIu7NQcFOvo/9JQudn62lEcJqRXBygUE5BNkswN1L2oS6wHYVWiwynDleIF7Jg2l0Dv5RJDA==", + "requires": { + "mjml-core": "~3.3.5", + "react": "^15.4.2" + }, + "dependencies": { + "react": { + "version": "15.6.2", + "resolved": "https://registry.npmjs.org/react/-/react-15.6.2.tgz", + "integrity": "sha1-26BDSrQ5z+gvEI8PURZjkIF5qnI=", + "requires": { + "create-react-class": "^15.6.0", + "fbjs": "^0.8.9", + "loose-envify": "^1.1.0", + "object-assign": "^4.1.0", + "prop-types": "^15.5.10" + } + } + } + }, + "mjml-text": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/mjml-text/-/mjml-text-3.3.5.tgz", + "integrity": "sha512-4W6J5Dl1HAwYVpropG/BxkKDI4nvOdEoPT9T9v/kZtjcQAEj0VTrsOF2GbZbBA9gCuXZMNssUqsnuy6OvlUv2w==", + "requires": { + "classnames": "^2.2.5", + "lodash": "^4.17.4", + "mjml-core": "~3.3.5", + "react": "^15.4.2" + }, + "dependencies": { + "react": { + "version": "15.6.2", + "resolved": "https://registry.npmjs.org/react/-/react-15.6.2.tgz", + "integrity": "sha1-26BDSrQ5z+gvEI8PURZjkIF5qnI=", + "requires": { + "create-react-class": "^15.6.0", + "fbjs": "^0.8.9", + "loose-envify": "^1.1.0", + "object-assign": "^4.1.0", + "prop-types": "^15.5.10" + } + } + } + }, + "mjml-validator": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/mjml-validator/-/mjml-validator-3.3.5.tgz", + "integrity": "sha512-+SPP64nJVG9IX1QwcxPY7POiMZZKlD+jxiuYo1F453IXsezeZCAUq+CmcBrDMHkG5ms1uC5d/GPZ4ICMu2V69A==", + "requires": { + "lodash": "^4.17.4", + "warning": "^3.0.0" + } + }, + "mjml-wrapper": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/mjml-wrapper/-/mjml-wrapper-3.3.5.tgz", + "integrity": "sha512-G88x20fqEJWVi4xuN1KGpxNQJdELCC44RiY0bWd7GnH+eAcWcA7/HS2VWmq6f7G3Wi8+avdI51Yd+5uvjxWElA==", + "requires": { + "lodash": "^4.17.2", + "mjml-core": "~3.3.5", + "mjml-section": "~3.3.3", + "react": "^15.4.1" + }, + "dependencies": { + "react": { + "version": "15.6.2", + "resolved": "https://registry.npmjs.org/react/-/react-15.6.2.tgz", + "integrity": "sha1-26BDSrQ5z+gvEI8PURZjkIF5qnI=", + "requires": { + "create-react-class": "^15.6.0", + "fbjs": "^0.8.9", + "loose-envify": "^1.1.0", + "object-assign": "^4.1.0", + "prop-types": "^15.5.10" + } + } + } + }, + "mjml4-in-browser": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/mjml4-in-browser/-/mjml4-in-browser-1.1.2.tgz", + "integrity": "sha512-/GFYD4qnRT/0zNxD0hevJiGeyEGAwCP0WlpPpzMMnH29FHHZu6FB1dUIaEkVaV0IFw2HTG01IuEKX4pYiubAIA==", + "requires": { + "html-minifier": "^3.5.3", + "htmlparser2": "^3.10.1", + "js-beautify": "^1.10.1", + "juice": "^4.1.0", + "lodash": "^4.17.15", + "warning": "^4.0.3" + }, + "dependencies": { + "js-beautify": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.10.1.tgz", + "integrity": "sha512-4y8SHOIRC+/YQ2gs3zJEKBUraQerq49FJYyXRpdzUGYQzCq8q9xtIh0YXial1S5KmonVui4aiUb6XaGyjE51XA==", + "requires": { + "config-chain": "^1.1.12", + "editorconfig": "^0.15.3", + "glob": "^7.1.3", + "mkdirp": "~0.5.1", + "nopt": "~4.0.1" + } + }, + "juice": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/juice/-/juice-4.3.2.tgz", + "integrity": "sha512-3Qym/RnFoCGa9qrDz6xn4zRnohgI6G87xKWZV+/seF3dYpaVqNS1HijsDef+elGhytRY79RIboOzk0hucLtx6g==", + "requires": { + "cheerio": "^0.22.0", + "commander": "^2.15.1", + "cross-spawn": "^5.1.0", + "deep-extend": "^0.5.1", + "mensch": "^0.3.3", + "slick": "^1.12.2", + "web-resource-inliner": "^4.2.1" + } + }, + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" + }, + "warning": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz", + "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==", + "requires": { + "loose-envify": "^1.0.0" + } + } + } + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "requires": { + "minimist": "0.0.8" + } + }, + "moment": { + "version": "2.24.0", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.24.0.tgz", + "integrity": "sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg==" + }, + "moment-timezone": { + "version": "0.5.26", + "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.26.tgz", + "integrity": "sha512-sFP4cgEKTCymBBKgoxZjYzlSovC20Y6J7y3nanDc5RoBIXKlZhoYwBoZGe3flwU6A372AcRwScH8KiwV6zjy1g==", + "requires": { + "moment": ">= 2.9.0" + } + }, + "move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", + "dev": true, + "requires": { + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "requires": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "nan": { + "version": "2.13.2", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.13.2.tgz", + "integrity": "sha512-TghvYc72wlMGMVMluVo9WRJc0mB8KxxF/gZ4YYFy7V2ZQX9l7rgbPg7vjS9mt6U5HXODVFVI2bOduCzwOMv/lw==" + }, + "nanoid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-2.0.1.tgz", + "integrity": "sha512-k1u2uemjIGsn25zmujKnotgniC/gxQ9sdegdezeDiKdkDW56THUMqlz3urndKCXJxA6yPzSZbXx/QCMe/pxqsA==" + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" + } + } + }, + "neo-async": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.0.tgz", + "integrity": "sha512-MFh0d/Wa7vkKO3Y3LlacqAEeHK0mckVqzDieUKTT+KGxi+zIpeVsFxymkIiRpbpDziHc290Xr9A1O4Om7otoRA==", + "dev": true + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" + }, + "no-case": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", + "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", + "requires": { + "lower-case": "^1.1.1" + } + }, + "node-fetch": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", + "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", + "requires": { + "encoding": "^0.1.11", + "is-stream": "^1.0.1" + } + }, + "node-gyp": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz", + "integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==", + "dev": true, + "requires": { + "fstream": "^1.0.0", + "glob": "^7.0.3", + "graceful-fs": "^4.1.2", + "mkdirp": "^0.5.0", + "nopt": "2 || 3", + "npmlog": "0 || 1 || 2 || 3 || 4", + "osenv": "0", + "request": "^2.87.0", + "rimraf": "2", + "semver": "~5.3.0", + "tar": "^2.0.0", + "which": "1" + }, + "dependencies": { + "nopt": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "dev": true, + "requires": { + "abbrev": "1" + } + }, + "semver": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", + "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", + "dev": true + } + } + }, + "node-libs-browser": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", + "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", + "dev": true, + "requires": { + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^3.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.1", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.11.0", + "vm-browserify": "^1.0.1" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + }, + "dependencies": { + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + } + } + }, + "node-releases": { + "version": "1.1.25", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.25.tgz", + "integrity": "sha512-fI5BXuk83lKEoZDdH3gRhtsNgh05/wZacuXkgbiYkceE7+QIMXOg98n9ZV7mz27B+kFHnqHcUpscZZlGRSmTpQ==", + "dev": true, + "requires": { + "semver": "^5.3.0" + } + }, + "node-sass": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.12.0.tgz", + "integrity": "sha512-A1Iv4oN+Iel6EPv77/HddXErL2a+gZ4uBeZUy+a8O35CFYTXhgA8MgLCWBtwpGZdCvTvQ9d+bQxX/QC36GDPpQ==", + "dev": true, + "requires": { + "async-foreach": "^0.1.3", + "chalk": "^1.1.1", + "cross-spawn": "^3.0.0", + "gaze": "^1.0.0", + "get-stdin": "^4.0.1", + "glob": "^7.0.3", + "in-publish": "^2.0.0", + "lodash": "^4.17.11", + "meow": "^3.7.0", + "mkdirp": "^0.5.1", + "nan": "^2.13.2", + "node-gyp": "^3.8.0", + "npmlog": "^4.0.0", + "request": "^2.88.0", + "sass-graph": "^2.2.4", + "stdout-stream": "^1.4.0", + "true-case-path": "^1.0.2" + }, + "dependencies": { + "cross-spawn": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz", + "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=", + "dev": true, + "requires": { + "lru-cache": "^4.0.1", + "which": "^1.2.9" + } + } + } + }, + "nodemon": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-1.19.1.tgz", + "integrity": "sha512-/DXLzd/GhiaDXXbGId5BzxP1GlsqtMGM9zTmkWrgXtSqjKmGSbLicM/oAy4FR0YWm14jCHRwnR31AHS2dYFHrg==", + "dev": true, + "requires": { + "chokidar": "^2.1.5", + "debug": "^3.1.0", + "ignore-by-default": "^1.0.1", + "minimatch": "^3.0.4", + "pstree.remy": "^1.1.6", + "semver": "^5.5.0", + "supports-color": "^5.2.0", + "touch": "^3.1.0", + "undefsafe": "^2.0.2", + "update-notifier": "^2.5.0" + }, + "dependencies": { + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "chokidar": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.6.tgz", + "integrity": "sha512-V2jUo67OKkc6ySiRpJrjlpJKl9kDuG+Xb8VgsGzb+aEouhgS1D0weyPU4lEzdAcsCAvrih2J2BqyXqHWvVLw5g==", + "dev": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + } + }, + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + }, + "dependencies": { + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "nopt": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", + "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "requires": { + "remove-trailing-separator": "^1.0.1" + } + }, + "npm-run-all": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz", + "integrity": "sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "chalk": "^2.4.1", + "cross-spawn": "^6.0.5", + "memorystream": "^0.3.1", + "minimatch": "^3.0.4", + "pidtree": "^0.3.0", + "read-pkg": "^3.0.0", + "shell-quote": "^1.6.1", + "string.prototype.padend": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + } + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "requires": { + "pify": "^3.0.0" + } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + }, + "read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", + "dev": true, + "requires": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, + "requires": { + "path-key": "^2.0.0" + } + }, + "npmlog": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "dev": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "nth-check": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", + "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "requires": { + "boolbase": "~1.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true + }, + "numeral": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/numeral/-/numeral-2.0.6.tgz", + "integrity": "sha1-StCAk21EPCVhrtnyGX7//iX05QY=" + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "requires": { + "isobject": "^3.0.0" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + } + } + }, + "object.assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", + "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "object-keys": "^1.0.11" + } + }, + "object.omit": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", + "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", + "requires": { + "for-own": "^0.1.4", + "is-extendable": "^0.1.1" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "requires": { + "isobject": "^3.0.1" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + } + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", + "dev": true + }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" + }, + "os-locale": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "dev": true, + "requires": { + "lcid": "^1.0.0" + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" + }, + "osenv": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "output-file-sync": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/output-file-sync/-/output-file-sync-2.0.1.tgz", + "integrity": "sha512-mDho4qm7WgIXIGf4eYU1RHN2UU5tPfVYVSRwDJw0uTmj35DQUt/eNp19N7v6T3SrR0ESTEf2up2CGO73qI35zQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "is-plain-obj": "^1.1.0", + "mkdirp": "^0.5.1" + } + }, + "p-defer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", + "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=", + "dev": true + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true + }, + "p-is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz", + "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==", + "dev": true + }, + "p-limit": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.0.tgz", + "integrity": "sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "package-json": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-4.0.1.tgz", + "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=", + "dev": true, + "requires": { + "got": "^6.7.1", + "registry-auth-token": "^3.0.1", + "registry-url": "^3.0.3", + "semver": "^5.1.0" + } + }, + "pako": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.10.tgz", + "integrity": "sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw==", + "dev": true + }, + "parallel-transform": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.1.0.tgz", + "integrity": "sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY=", + "dev": true, + "requires": { + "cyclist": "~0.2.2", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "param-case": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", + "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", + "requires": { + "no-case": "^2.2.0" + } + }, + "parse-asn1": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.4.tgz", + "integrity": "sha512-Qs5duJcuvNExRfFZ99HDD3z4mAi3r9Wl/FOjEOijlxwCZs7E7mW2vjTpgQ4J8LpTF8x5v+1Vn5UQFejmWT11aw==", + "dev": true, + "requires": { + "asn1.js": "^4.0.0", + "browserify-aes": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, + "parse-glob": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", + "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", + "requires": { + "glob-base": "^0.3.0", + "is-dotfile": "^1.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.0" + } + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "^1.2.0" + } + }, + "parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", + "dev": true + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" + }, + "path-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", + "dev": true + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", + "dev": true + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", + "dev": true + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" + }, + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "dev": true + }, + "path-to-regexp": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.7.0.tgz", + "integrity": "sha1-Wf3g9DW62suhA6hOnTvGTpa5k30=", + "requires": { + "isarray": "0.0.1" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + } + } + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "pbkdf2": { + "version": "3.0.17", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz", + "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==", + "dev": true, + "requires": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + }, + "pidtree": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.3.0.tgz", + "integrity": "sha512-9CT4NFlDcosssyg8KVFltgokyKZIFjoBxw8CTGy+5F38Y1eQWrt8tRayiUOXE+zVKQnYu5BR8JjCtvK3BcnBhg==", + "dev": true + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + } + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "requires": { + "find-up": "^3.0.0" + } + }, + "popper.js": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.15.0.tgz", + "integrity": "sha512-w010cY1oCUmI+9KwwlWki+r5jxKfTFDVoadl7MSrIujHU5MJ5OR6HTDj6Xo8aoR/QsA56x8jKjA59qGH4ELtrA==" + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" + }, + "postcss": { + "version": "7.0.14", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.14.tgz", + "integrity": "sha512-NsbD6XUUMZvBxtQAJuWDJeeC4QFsmWsfozWxCJPWf3M55K9iu2iMDaKqyoOdTJ1R4usBXuxlVFAIo8rZPQD4Bg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-modules-extract-imports": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz", + "integrity": "sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ==", + "dev": true, + "requires": { + "postcss": "^7.0.5" + } + }, + "postcss-modules-local-by-default": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-2.0.6.tgz", + "integrity": "sha512-oLUV5YNkeIBa0yQl7EYnxMgy4N6noxmiwZStaEJUSe2xPMcdNc8WmBQuQCx18H5psYbVxz8zoHk0RAAYZXP9gA==", + "dev": true, + "requires": { + "postcss": "^7.0.6", + "postcss-selector-parser": "^6.0.0", + "postcss-value-parser": "^3.3.1" + } + }, + "postcss-modules-scope": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.1.0.tgz", + "integrity": "sha512-91Rjps0JnmtUB0cujlc8KIKCsJXWjzuxGeT/+Q2i2HXKZ7nBUeF9YQTZZTNvHVoNYj1AthsjnGLtqDUE0Op79A==", + "dev": true, + "requires": { + "postcss": "^7.0.6", + "postcss-selector-parser": "^6.0.0" + } + }, + "postcss-modules-values": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-2.0.0.tgz", + "integrity": "sha512-Ki7JZa7ff1N3EIMlPnGTZfUMe69FFwiQPnVSXC9mnn3jozCRBYIxiZd44yJOV2AmabOo4qFf8s0dC/+lweG7+w==", + "dev": true, + "requires": { + "icss-replace-symbols": "^1.1.0", + "postcss": "^7.0.6" + } + }, + "postcss-selector-parser": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz", + "integrity": "sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg==", + "dev": true, + "requires": { + "cssesc": "^3.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", + "dev": true + }, + "preserve": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", + "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=" + }, + "private": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", + "dev": true + }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", + "dev": true + }, + "process-nextick-args": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" + }, + "promise": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "requires": { + "asap": "~2.0.3" + } + }, + "promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", + "dev": true + }, + "promise-polyfill": { + "version": "8.1.3", + "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-8.1.3.tgz", + "integrity": "sha512-MG5r82wBzh7pSKDRa9y+vllNHz3e3d4CNj1PQE4BQYxLme0gKYYBm9YENq+UkEikyZ0XbiGWxYlVw3Rl9O/U8g==" + }, + "prop-types": { + "version": "15.7.2", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", + "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==", + "requires": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.8.1" + } + }, + "prop-types-extra": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/prop-types-extra/-/prop-types-extra-1.1.0.tgz", + "integrity": "sha512-QFyuDxvMipmIVKD2TwxLVPzMnO4e5oOf1vr3tJIomL8E7d0lr6phTHd5nkPhFIzTD1idBLLEPeylL9g+rrTzRg==", + "requires": { + "react-is": "^16.3.2", + "warning": "^3.0.0" + } + }, + "proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=" + }, + "prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", + "dev": true + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" + }, + "psl": { + "version": "1.1.31", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.31.tgz", + "integrity": "sha512-/6pt4+C+T+wZUieKR620OpzN/LlnNKuWjy1iFLQ/UG35JqHlR/89MP1d96dUfkf6Dne3TuLQzOYEYshJ+Hx8mw==" + }, + "pstree.remy": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.7.tgz", + "integrity": "sha512-xsMgrUwRpuGskEzBFkH8NmTimbZ5PcPup0LA8JJkHIm2IMUbQcpo3yeLNWVrufEYjh8YwtSVh0xz6UeWc5Oh5A==", + "dev": true + }, + "public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "dev": true, + "requires": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + }, + "dependencies": { + "pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + } + } + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + }, + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", + "dev": true + }, + "querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", + "dev": true + }, + "querystringify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.1.tgz", + "integrity": "sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA==" + }, + "raf": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", + "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", + "requires": { + "performance-now": "^2.1.0" + } + }, + "randomatic": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz", + "integrity": "sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==", + "requires": { + "is-number": "^4.0.0", + "kind-of": "^6.0.0", + "math-random": "^1.0.1" + }, + "dependencies": { + "is-number": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==" + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" + } + } + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "dev": true, + "requires": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dev": true, + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "dev": true + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + } + } + }, + "react": { + "version": "16.8.6", + "resolved": "https://registry.npmjs.org/react/-/react-16.8.6.tgz", + "integrity": "sha512-pC0uMkhLaHm11ZSJULfOBqV4tIZkx87ZLvbbQYunNixAAvjnC+snJCg0XQXn9VIsttVsbZP/H/ewzgsd5fxKXw==", + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2", + "scheduler": "^0.13.6" + } + }, + "react-ace": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/react-ace/-/react-ace-6.6.0.tgz", + "integrity": "sha512-Jehhp8bxa8kqiXk07Jzy+uD5qZMBwo43O+raniGHjdX7Qk93xFkKaAz8LxtUVZPJGlRnV5ODMNj0qHwDSN+PBw==", + "requires": { + "@babel/polyfill": "^7.4.4", + "brace": "^0.11.1", + "diff-match-patch": "^1.0.4", + "lodash.get": "^4.4.2", + "lodash.isequal": "^4.5.0", + "prop-types": "^15.7.2" + } + }, + "react-ckeditor-component": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/react-ckeditor-component/-/react-ckeditor-component-1.1.0.tgz", + "integrity": "sha512-dcptPsMKRDGvAGxokwdVDKPgZbTgwngknaQVD+SDTV6XSw57J6LD7cRaqEo6WGLwMZh39Up37fdJjugNd6vEAA==", + "requires": { + "babel-plugin-transform-runtime": "^6.23.0", + "babel-preset-react": "^6.16.0", + "babel-runtime": "^6.11.6", + "load-script": "^1.0.0" + } + }, + "react-color": { + "version": "2.17.3", + "resolved": "https://registry.npmjs.org/react-color/-/react-color-2.17.3.tgz", + "integrity": "sha512-1dtO8LqAVotPIChlmo6kLtFS1FP89ll8/OiA8EcFRDR+ntcK+0ukJgByuIQHRtzvigf26dV5HklnxDIvhON9VQ==", + "requires": { + "@icons/material": "^0.2.4", + "lodash": "^4.17.11", + "material-colors": "^1.2.1", + "prop-types": "^15.5.10", + "reactcss": "^1.2.0", + "tinycolor2": "^1.4.1" + } + }, + "react-day-picker": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/react-day-picker/-/react-day-picker-7.3.0.tgz", + "integrity": "sha512-t2kz0Zy4P5U4qwU5YhsBq2QGmypP8L/u+89TSnuD0h4dYKSEDQArFPWfin9gv8erV1ciR1Wzr485TMaYnI7FTw==", + "requires": { + "prop-types": "^15.6.2" + } + }, + "react-display-name": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/react-display-name/-/react-display-name-0.2.4.tgz", + "integrity": "sha512-zvU6iouW+SWwHTyThwxGICjJYCMZFk/6r/+jmOdC7ntQoPlS/Pqb81MkxaMf2bHTSq9TN3K3zX2/ayMW/jCtyA==" + }, + "react-dnd": { + "version": "7.7.0", + "resolved": "https://registry.npmjs.org/react-dnd/-/react-dnd-7.7.0.tgz", + "integrity": "sha512-anpJDKMgdXE6kXvtBFmIAe1fuaexpVy7meUyNjiTfCnjQ1mRvnttGTVvcW9fMKijsUQYadiyvzd3BRxteFuVXg==", + "requires": { + "@types/hoist-non-react-statics": "^3.3.1", + "dnd-core": "^7.7.0", + "hoist-non-react-statics": "^3.3.0", + "invariant": "^2.1.0", + "shallowequal": "^1.1.0" + }, + "dependencies": { + "hoist-non-react-statics": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.0.tgz", + "integrity": "sha512-0XsbTXxgiaCDYDIWFcwkmerZPSwywfUqYmwT4jzewKTQSWoE6FCMoUVOeBJWK3E/CrWbxRG3m5GzY4lnIwGRBA==", + "requires": { + "react-is": "^16.7.0" + } + } + } + }, + "react-dnd-html5-backend": { + "version": "7.7.0", + "resolved": "https://registry.npmjs.org/react-dnd-html5-backend/-/react-dnd-html5-backend-7.7.0.tgz", + "integrity": "sha512-JgKmWOxqorFyfGPeWV+SAPhVGFe6+LrOR24jETE9rrYZU5hCppzwK9ujjS508kWibeDvbfEgi9j5qC2wB1/MoQ==", + "requires": { + "dnd-core": "^7.7.0" + } + }, + "react-dnd-touch-backend": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/react-dnd-touch-backend/-/react-dnd-touch-backend-0.7.1.tgz", + "integrity": "sha512-B2oiyGWDe35jqBEnczW+cGRHxL6FN2BpMK498mSmBeLjfRGz1h3gzUAh3GrBSmjWvntCM1cDwyPgIYQNIbtM7g==", + "requires": { + "invariant": "^2.2.4" + } + }, + "react-dom": { + "version": "16.8.6", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.8.6.tgz", + "integrity": "sha512-1nL7PIq9LTL3fthPqwkvr2zY7phIPjYrT0jp4HjyEQrEROnw4dG41VVwi/wfoCneoleqrNX7iAD+pXebJZwrwA==", + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2", + "scheduler": "^0.13.6" + } + }, + "react-dropzone": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/react-dropzone/-/react-dropzone-8.2.0.tgz", + "integrity": "sha512-G25lAPDn5QSEUUCgAsUyKqaqa/pV2B39jAdRl5bjl89DyOpK7uFPnF1GDY5io7wUj0Bn8txj44qU8Xglp8CHcw==", + "requires": { + "attr-accept": "^1.1.3", + "file-selector": "^0.1.8", + "prop-types": "^15.6.2", + "prop-types-extra": "^1.1.0" + } + }, + "react-google-charts": { + "version": "3.0.14", + "resolved": "https://registry.npmjs.org/react-google-charts/-/react-google-charts-3.0.14.tgz", + "integrity": "sha512-ZUHPlHbpLt4MxXi6kWp0KbPN1FAxDcF8wEoGFMJ/eJs4lElIaigmfKFMEaqjoC15nwmq8gAc/Rpbos0zaU4BMg==", + "requires": { + "react-load-script": "^0.0.6" + } + }, + "react-i18next": { + "version": "9.0.10", + "resolved": "https://registry.npmjs.org/react-i18next/-/react-i18next-9.0.10.tgz", + "integrity": "sha512-xpeCWNut7ylQLs3Qqyo7dT13kgZbML1CdftbdnswLCv0RbRT16bRP16ma59iLe1KHIbn92VJo0Q8LSKYoXVNvg==", + "requires": { + "@babel/runtime": "^7.3.1", + "hoist-non-react-statics": "3.2.1", + "html-parse-stringify2": "2.0.1" + }, + "dependencies": { + "hoist-non-react-statics": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.2.1.tgz", + "integrity": "sha512-TFsu3TV3YLY+zFTZDrN8L2DTFanObwmBLpWvJs1qfUuEQ5bTAdFcwfx2T/bsCXfM9QHSLvjfP+nihEl0yvozxw==", + "requires": { + "react-is": "^16.3.2" + } + } + } + }, + "react-is": { + "version": "16.8.6", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.8.6.tgz", + "integrity": "sha512-aUk3bHfZ2bRSVFFbbeVS4i+lNPZr3/WM5jT2J5omUVV1zzcs1nAaf3l51ctA5FFvCRbhrH0bdAsRRQddFJZPtA==" + }, + "react-lifecycles-compat": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", + "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" + }, + "react-load-script": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/react-load-script/-/react-load-script-0.0.6.tgz", + "integrity": "sha512-aRGxDGP9VoLxcsaYvKWIW+LRrMOzz2eEcubTS4NvQPPugjk2VvMhow0wWTkSl7RxookomD1MwcP4l5UStg5ShQ==" + }, + "react-router": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-4.3.1.tgz", + "integrity": "sha512-yrvL8AogDh2X42Dt9iknk4wF4V8bWREPirFfS9gLU1huk6qK41sg7Z/1S81jjTrGHxa3B8R3J6xIkDAA6CVarg==", + "requires": { + "history": "^4.7.2", + "hoist-non-react-statics": "^2.5.0", + "invariant": "^2.2.4", + "loose-envify": "^1.3.1", + "path-to-regexp": "^1.7.0", + "prop-types": "^15.6.1", + "warning": "^4.0.1" + }, + "dependencies": { + "hoist-non-react-statics": { + "version": "2.5.5", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz", + "integrity": "sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw==" + }, + "warning": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz", + "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==", + "requires": { + "loose-envify": "^1.0.0" + } + } + } + }, + "react-router-dom": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-4.3.1.tgz", + "integrity": "sha512-c/MlywfxDdCp7EnB7YfPMOfMD3tOtIjrQlj/CKfNMBxdmpJP8xcz5P/UAFn3JbnQCNUxsHyVVqllF9LhgVyFCA==", + "requires": { + "history": "^4.7.2", + "invariant": "^2.2.4", + "loose-envify": "^1.3.1", + "prop-types": "^15.6.1", + "react-router": "^4.3.1", + "warning": "^4.0.1" + }, + "dependencies": { + "warning": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz", + "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==", + "requires": { + "loose-envify": "^1.0.0" + } + } + } + }, + "react-sortable-tree": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/react-sortable-tree/-/react-sortable-tree-2.6.2.tgz", + "integrity": "sha512-mYX6ByTs7fywPqTEWpEUMgtvLDVyVrkm1Tw/pOPteiLwwMnOqh1LxBwJPUJBmhU2E0P2Zvw3dhnBFL14Fe4EkA==", + "requires": { + "frontend-collective-react-dnd-scrollzone": "^1.0.2", + "lodash.isequal": "^4.5.0", + "prop-types": "^15.6.1", + "react-dnd": "^7.3.0", + "react-dnd-html5-backend": "^7.0.1", + "react-lifecycles-compat": "^3.0.4", + "react-sortable-tree": "^2.6.0", + "react-virtualized": "^9.19.1" + } + }, + "react-virtualized": { + "version": "9.21.0", + "resolved": "https://registry.npmjs.org/react-virtualized/-/react-virtualized-9.21.0.tgz", + "integrity": "sha512-duKD2HvO33mqld4EtQKm9H9H0p+xce1c++2D5xn59Ma7P8VT7CprfAe5hwjd1OGkyhqzOZiTMlTal7LxjH5yBQ==", + "requires": { + "babel-runtime": "^6.26.0", + "classnames": "^2.2.3", + "dom-helpers": "^2.4.0 || ^3.0.0", + "loose-envify": "^1.3.0", + "prop-types": "^15.6.0", + "react-lifecycles-compat": "^3.0.4" + } + }, + "reactcss": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/reactcss/-/reactcss-1.2.3.tgz", + "integrity": "sha512-KiwVUcFu1RErkI97ywr8nvx8dNOpT03rbnma0SSalTYjkrPYaEajR4a/MRt6DZ46K6arDRbWMNHF+xH7G7n/8A==", + "requires": { + "lodash": "^4.0.1" + } + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, + "requires": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, + "requires": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + }, + "dependencies": { + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "requires": { + "pinkie-promise": "^2.0.0" + } + } + } + }, + "readable-stream": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.3.0.tgz", + "integrity": "sha512-EsI+s3k3XsW+fU8fQACLN59ky34AZ14LoeVZpYwmZvldCFo0r0gnelwF2TcMjLor/BTL5aDJVBMkss0dthToPw==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + }, + "dependencies": { + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" + } + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "redent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "dev": true, + "requires": { + "indent-string": "^2.1.0", + "strip-indent": "^1.0.1" + } + }, + "redux": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/redux/-/redux-4.0.4.tgz", + "integrity": "sha512-vKv4WdiJxOWKxK0yRoaK3Y4pxxB0ilzVx6dszU2W8wLxlb2yikRph4iV/ymtdJ6ZxpBLFbyrxklnT5yBbQSl3Q==", + "requires": { + "loose-envify": "^1.4.0", + "symbol-observable": "^1.2.0" + } + }, + "regenerate": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", + "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==", + "dev": true + }, + "regenerate-unicode-properties": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz", + "integrity": "sha512-LGZzkgtLY79GeXLm8Dp0BVLdQlWICzBnJz/ipWUgo59qBaZ+BHtq51P2q1uVZlppMuUAT37SDk39qUbjTWB7bA==", + "dev": true, + "requires": { + "regenerate": "^1.4.0" + } + }, + "regenerator-runtime": { + "version": "0.13.2", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.2.tgz", + "integrity": "sha512-S/TQAZJO+D3m9xeN1WTI8dLKBBiRgXBlTJvbWjCThHWZj9EvHK70Ff50/tYj2J/fvBY6JtFVwRuazHN2E7M9BA==" + }, + "regenerator-transform": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.1.tgz", + "integrity": "sha512-flVuee02C3FKRISbxhXl9mGzdbWUVHubl1SMaknjxkFB1/iqpJhArQUvRxOOPEc/9tAiX0BaQ28FJH10E4isSQ==", + "dev": true, + "requires": { + "private": "^0.1.6" + } + }, + "regex-cache": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", + "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", + "requires": { + "is-equal-shallow": "^0.1.3" + } + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + } + }, + "regexp-tree": { + "version": "0.1.11", + "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.11.tgz", + "integrity": "sha512-7/l/DgapVVDzZobwMCCgMlqiqyLFJ0cduo/j+3BcDJIB+yJdsYCfKuI3l/04NV+H/rfNRdPIDbXNZHM9XvQatg==", + "dev": true + }, + "regexpu-core": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.5.4.tgz", + "integrity": "sha512-BtizvGtFQKGPUcTy56o3nk1bGRp4SZOTYrDtGNlqCQufptV5IkkLN6Emw+yunAJjzf+C9FQFtvq7IoA3+oMYHQ==", + "dev": true, + "requires": { + "regenerate": "^1.4.0", + "regenerate-unicode-properties": "^8.0.2", + "regjsgen": "^0.5.0", + "regjsparser": "^0.6.0", + "unicode-match-property-ecmascript": "^1.0.4", + "unicode-match-property-value-ecmascript": "^1.1.0" + } + }, + "registry-auth-token": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.4.0.tgz", + "integrity": "sha512-4LM6Fw8eBQdwMYcES4yTnn2TqIasbXuwDx3um+QRs7S55aMKCBKBxvPXl2RiUjHwuJLTyYfxSpmfSAjQpcuP+A==", + "dev": true, + "requires": { + "rc": "^1.1.6", + "safe-buffer": "^5.0.1" + } + }, + "registry-url": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", + "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", + "dev": true, + "requires": { + "rc": "^1.0.1" + } + }, + "regjsgen": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.0.tgz", + "integrity": "sha512-RnIrLhrXCX5ow/E5/Mh2O4e/oa1/jW0eaBKTSy3LaCj+M3Bqvm97GWDp2yUtzIs4LEn65zR2yiYGFqb2ApnzDA==", + "dev": true + }, + "regjsparser": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.0.tgz", + "integrity": "sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ==", + "dev": true, + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true + } + } + }, + "relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=" + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" + }, + "repeat-element": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==" + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" + }, + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "dev": true, + "requires": { + "is-finite": "^1.0.0" + } + }, + "request": { + "version": "2.88.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", + "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.0", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.4.3", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, + "require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "dev": true + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=" + }, + "resolve": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.10.0.tgz", + "integrity": "sha512-3sUr9aq5OfSg2S9pNtPA9hL1FVEAjvfOC4leW0SNf/mpnaakz2a9femSd6LqAww2RaFctwyf1lCqnTHuF1rxDg==", + "dev": true, + "requires": { + "path-parse": "^1.0.6" + } + }, + "resolve-cwd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", + "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "dev": true, + "requires": { + "resolve-from": "^3.0.0" + } + }, + "resolve-dir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", + "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", + "dev": true, + "requires": { + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" + }, + "dependencies": { + "global-modules": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "dev": true, + "requires": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + } + } + } + }, + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true + }, + "resolve-pathname": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-2.2.0.tgz", + "integrity": "sha512-bAFz9ld18RzJfddgrO2e/0S2O81710++chRMUxHjXOYKF6jTAMrUNZrEZ1PvV0zlhfjidm08iRPdTLPno1FuRg==" + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" + }, + "rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "dev": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "run-queue": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", + "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", + "dev": true, + "requires": { + "aproba": "^1.1.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "requires": { + "ret": "~0.1.10" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "sass-graph": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.4.tgz", + "integrity": "sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k=", + "dev": true, + "requires": { + "glob": "^7.0.0", + "lodash": "^4.0.0", + "scss-tokenizer": "^0.2.3", + "yargs": "^7.0.0" + } + }, + "sass-loader": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-7.1.0.tgz", + "integrity": "sha512-+G+BKGglmZM2GUSfT9TLuEp6tzehHPjAMoRRItOojWIqIGPloVCMhNIQuG639eJ+y033PaGTSjLaTHts8Kw79w==", + "dev": true, + "requires": { + "clone-deep": "^2.0.1", + "loader-utils": "^1.0.1", + "lodash.tail": "^4.1.1", + "neo-async": "^2.5.0", + "pify": "^3.0.0", + "semver": "^5.5.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + } + } + }, + "scheduler": { + "version": "0.13.6", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.13.6.tgz", + "integrity": "sha512-IWnObHt413ucAYKsD9J1QShUKkbKLQQHdxRyw73sw4FN26iWr3DY/H34xGPe4nmL1DwXyWmSWmMrA9TfQbE/XQ==", + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + }, + "scss-tokenizer": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz", + "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=", + "dev": true, + "requires": { + "js-base64": "^2.1.8", + "source-map": "^0.4.2" + }, + "dependencies": { + "source-map": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "dev": true, + "requires": { + "amdefine": ">=0.0.4" + } + } + } + }, + "semver": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz", + "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==" + }, + "semver-diff": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz", + "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", + "dev": true, + "requires": { + "semver": "^5.0.3" + } + }, + "serialize-javascript": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.7.0.tgz", + "integrity": "sha512-ke8UG8ulpFOxO8f8gRYabHQe/ZntKlcig2Mp+8+URDP1D8vJZ0KUt7LYo07q25Z/+JVSgpr/cui9PIp5H6/+nA==", + "dev": true + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" + }, + "sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "shallow-clone": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-1.0.0.tgz", + "integrity": "sha512-oeXreoKR/SyNJtRJMAKPDSvd28OqEwG4eR/xc856cRGBII7gX9lvAqDxusPm0846z/w/hWYjI1NpKwJ00NHzRA==", + "dev": true, + "requires": { + "is-extendable": "^0.1.1", + "kind-of": "^5.0.0", + "mixin-object": "^2.0.1" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "shallowequal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", + "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==" + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" + }, + "shell-quote": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.6.1.tgz", + "integrity": "sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c=", + "dev": true, + "requires": { + "array-filter": "~0.0.0", + "array-map": "~0.0.0", + "array-reduce": "~0.0.0", + "jsonify": "~0.0.0" + } + }, + "shortid": { + "version": "2.2.14", + "resolved": "https://registry.npmjs.org/shortid/-/shortid-2.2.14.tgz", + "integrity": "sha512-4UnZgr9gDdA1kaKj/38IiudfC3KHKhDc1zi/HSxd9FQDR0VLwH3/y79tZJLsVYPsJgIjeHjqIWaWVRJUj9qZOQ==", + "requires": { + "nanoid": "^2.0.0" + } + }, + "sigmund": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", + "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=" + }, + "signal-exit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "dev": true + }, + "slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "dev": true + }, + "slick": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/slick/-/slick-1.12.2.tgz", + "integrity": "sha1-vQSN23TefRymkV+qSldXCzVQwtc=" + }, + "slugify": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.3.4.tgz", + "integrity": "sha512-KP0ZYk5hJNBS8/eIjGkFDCzGQIoZ1mnfQRYS5WM3273z+fxGWXeN0fkwf2ebEweydv9tioZIHGZKoF21U07/nw==" + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "requires": { + "kind-of": "^3.2.0" + } + }, + "source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "source-map-resolve": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", + "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", + "requires": { + "atob": "^2.1.1", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "source-map-support": { + "version": "0.5.12", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.12.tgz", + "integrity": "sha512-4h2Pbvyy15EE02G+JOZpUCmqWJuqrs+sEkzewTm++BPi7Hvn/HwcqLAcNxYAyI0x13CpPPn+kMjl+hplXMHITQ==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" + }, + "spdx-correct": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", + "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", + "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", + "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.4.tgz", + "integrity": "sha512-7j8LYJLeY/Yb6ACbQ7F76qy5jHkp0U6jgBfJsk97bwWlVUnUWsAgpyaCvo17h0/RQGnQ036tVDomiwoI4pDkQA==", + "dev": true + }, + "spectrum-colorpicker": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/spectrum-colorpicker/-/spectrum-colorpicker-1.8.0.tgz", + "integrity": "sha1-uSbPUALAp3hgtfg1HhwJPGUgAQc=" + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "requires": { + "extend-shallow": "^3.0.0" + } + }, + "sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, + "ssri": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", + "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", + "dev": true, + "requires": { + "figgy-pudding": "^3.5.1" + } + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "stdout-stream": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz", + "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==", + "dev": true, + "requires": { + "readable-stream": "^2.0.1" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "stream-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", + "dev": true, + "requires": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "stream-each": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", + "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" + } + }, + "stream-http": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "dev": true, + "requires": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "stream-shift": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", + "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=", + "dev": true + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "string.prototype.padend": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.0.0.tgz", + "integrity": "sha1-86rvfBcZ8XDF6rHDK/eA2W4h8vA=", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "es-abstract": "^1.4.3", + "function-bind": "^1.0.2" + } + }, + "string_decoder": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.2.0.tgz", + "integrity": "sha512-6YqyX6ZWEYguAxgZzHGL7SsCeGx3V2TtOTqZz1xSTSWnqsbWwbptafNyvf/ACquZUXV3DANr5BDIwNYe1mN42w==", + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "^0.2.0" + } + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "dev": true + }, + "strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "dev": true, + "requires": { + "get-stdin": "^4.0.1" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true + }, + "style-loader": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.23.1.tgz", + "integrity": "sha512-XK+uv9kWwhZMZ1y7mysB+zoihsEj4wneFWAS5qoiLwzW0WzSqMrrsIy+a3zkQJq0ipFtBpX5W3MqyRIBF/WFGg==", + "dev": true, + "requires": { + "loader-utils": "^1.1.0", + "schema-utils": "^1.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + }, + "symbol-observable": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", + "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==" + }, + "tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "dev": true + }, + "tar": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.2.tgz", + "integrity": "sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==", + "dev": true, + "requires": { + "block-stream": "*", + "fstream": "^1.0.12", + "inherits": "2" + } + }, + "term-size": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz", + "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", + "dev": true, + "requires": { + "execa": "^0.7.0" + } + }, + "terser": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.1.2.tgz", + "integrity": "sha512-jvNoEQSPXJdssFwqPSgWjsOrb+ELoE+ILpHPKXC83tIxOlh2U75F1KuB2luLD/3a6/7K3Vw5pDn+hvu0C4AzSw==", + "dev": true, + "requires": { + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + }, + "dependencies": { + "commander": { + "version": "2.20.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz", + "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==", + "dev": true + } + } + }, + "terser-webpack-plugin": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.3.0.tgz", + "integrity": "sha512-W2YWmxPjjkUcOWa4pBEv4OP4er1aeQJlSo2UhtCFQCuRXEHjOFscO8VyWHj9JLlA0RzQb8Y2/Ta78XZvT54uGg==", + "dev": true, + "requires": { + "cacache": "^11.3.2", + "find-cache-dir": "^2.0.0", + "is-wsl": "^1.1.0", + "loader-utils": "^1.2.3", + "schema-utils": "^1.0.0", + "serialize-javascript": "^1.7.0", + "source-map": "^0.6.1", + "terser": "^4.0.0", + "webpack-sources": "^1.3.0", + "worker-farm": "^1.7.0" + } + }, + "thenify": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.0.tgz", + "integrity": "sha1-5p44obq+lpsBCCB5eLn2K4hgSDk=", + "requires": { + "any-promise": "^1.0.0" + } + }, + "thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=", + "requires": { + "thenify": ">= 3.1.0 < 4" + } + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "timed-out": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", + "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=", + "dev": true + }, + "timers-browserify": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.10.tgz", + "integrity": "sha512-YvC1SV1XdOUaL6gx5CoGroT3Gu49pK9+TZ38ErPldOWW4j49GI1HKs9DV+KGq/w6y+LZ72W1c8cKz2vzY+qpzg==", + "dev": true, + "requires": { + "setimmediate": "^1.0.4" + } + }, + "tiny-invariant": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.0.4.tgz", + "integrity": "sha512-lMhRd/djQJ3MoaHEBrw8e2/uM4rs9YMNk0iOr8rHQ0QdbM7D4l0gFl3szKdeixrlyfm9Zqi4dxHCM2qVG8ND5g==" + }, + "tiny-warning": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.2.tgz", + "integrity": "sha512-rru86D9CpQRLvsFG5XFdy0KdLAvjdQDyZCsRcuu60WtzFylDM3eAWSxEVz5kzL2Gp544XiUvPbVKtOA/txLi9Q==" + }, + "tinycolor2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.4.1.tgz", + "integrity": "sha1-9PrTM0R7wLB9TcjpIJ2POaisd+g=" + }, + "to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", + "dev": true + }, + "to-fast-properties": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=" + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "requires": { + "kind-of": "^3.0.2" + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "dependencies": { + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "requires": { + "kind-of": "^3.0.2" + } + } + } + }, + "touch": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz", + "integrity": "sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==", + "dev": true, + "requires": { + "nopt": "~1.0.10" + }, + "dependencies": { + "nopt": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", + "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=", + "dev": true, + "requires": { + "abbrev": "1" + } + } + } + }, + "tough-cookie": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", + "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", + "requires": { + "psl": "^1.1.24", + "punycode": "^1.4.1" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" + } + } + }, + "trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", + "dev": true + }, + "trim-right": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", + "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", + "dev": true + }, + "true-case-path": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz", + "integrity": "sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==", + "dev": true, + "requires": { + "glob": "^7.1.2" + } + }, + "tslib": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", + "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==" + }, + "tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", + "dev": true + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, + "ua-parser-js": { + "version": "0.7.19", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.19.tgz", + "integrity": "sha512-T3PVJ6uz8i0HzPxOF9SWzWAlfN/DavlpQqepn22xgve/5QecC+XMCAtmUNnY7C9StehaV6exjUCI801lOI7QlQ==" + }, + "uglify-js": { + "version": "3.4.10", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.10.tgz", + "integrity": "sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw==", + "requires": { + "commander": "~2.19.0", + "source-map": "~0.6.1" + }, + "dependencies": { + "commander": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", + "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==" + } + } + }, + "undefsafe": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.2.tgz", + "integrity": "sha1-Il9rngM3Zj4Njnz9aG/Cg2zKznY=", + "dev": true, + "requires": { + "debug": "^2.2.0" + } + }, + "underscore": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz", + "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==" + }, + "unicode-canonical-property-names-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", + "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==", + "dev": true + }, + "unicode-match-property-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", + "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", + "dev": true, + "requires": { + "unicode-canonical-property-names-ecmascript": "^1.0.4", + "unicode-property-aliases-ecmascript": "^1.0.4" + } + }, + "unicode-match-property-value-ecmascript": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz", + "integrity": "sha512-hDTHvaBk3RmFzvSl0UVrUmC3PuW9wKVnpoUDYH0JDkSIovzw+J5viQmeYHxVSBptubnr7PbH2e0fnpDRQnQl5g==", + "dev": true + }, + "unicode-property-aliases-ecmascript": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz", + "integrity": "sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw==", + "dev": true + }, + "union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + } + }, + "uniq": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", + "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", + "dev": true + }, + "unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "dev": true, + "requires": { + "unique-slug": "^2.0.0" + } + }, + "unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4" + } + }, + "unique-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz", + "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", + "dev": true, + "requires": { + "crypto-random-string": "^1.0.0" + } + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + } + } + }, + "unzip-response": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz", + "integrity": "sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c=", + "dev": true + }, + "upath": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.2.tgz", + "integrity": "sha512-kXpym8nmDmlCBr7nKdIx8P2jNBa+pBpIUFRnKJ4dr8htyYGJFokkr2ZvERRtUN+9SY+JqXouNgUPtv6JQva/2Q==", + "dev": true + }, + "update-notifier": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-2.5.0.tgz", + "integrity": "sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw==", + "dev": true, + "requires": { + "boxen": "^1.2.1", + "chalk": "^2.0.1", + "configstore": "^3.0.0", + "import-lazy": "^2.1.0", + "is-ci": "^1.0.10", + "is-installed-globally": "^0.1.0", + "is-npm": "^1.0.0", + "latest-version": "^3.0.0", + "semver-diff": "^2.0.0", + "xdg-basedir": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "upper-case": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", + "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=" + }, + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "requires": { + "punycode": "^2.1.0" + } + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" + }, + "url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "dev": true, + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + }, + "dependencies": { + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", + "dev": true + } + } + }, + "url-loader": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-1.1.2.tgz", + "integrity": "sha512-dXHkKmw8FhPqu8asTc1puBfe3TehOCo2+RmOOev5suNCIYBcT626kxiWg1NBVkwc4rO8BGa7gP70W7VXuqHrjg==", + "dev": true, + "requires": { + "loader-utils": "^1.1.0", + "mime": "^2.0.3", + "schema-utils": "^1.0.0" + } + }, + "url-parse": { + "version": "1.4.7", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz", + "integrity": "sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==", + "requires": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "url-parse-lax": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", + "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", + "dev": true, + "requires": { + "prepend-http": "^1.0.1" + } + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" + }, + "util": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "dev": true, + "requires": { + "inherits": "2.0.3" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "uuid": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" + }, + "v8-compile-cache": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.0.3.tgz", + "integrity": "sha512-CNmdbwQMBjwr9Gsmohvm0pbL954tJrNzf6gWL3K+QMQf00PF7ERGrEiLgjuU3mKreLC2MeGhUsNV9ybTbLgd3w==", + "dev": true + }, + "valid-data-url": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/valid-data-url/-/valid-data-url-0.1.6.tgz", + "integrity": "sha512-FXg2qXMzfAhZc0y2HzELNfUeiOjPr+52hU1DNBWiJJ2luXD+dD1R9NA48Ug5aj0ibbxroeGDc/RJv6ThiGgkDw==" + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "value-equal": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-0.4.0.tgz", + "integrity": "sha512-x+cYdNnaA3CxvMaTX0INdTCN8m8aF2uY9BvEqmxuYp8bL09cs/kWVQPVGcA35fMktdOsP69IgU7wFj/61dJHEw==" + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "vm-browserify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.0.tgz", + "integrity": "sha512-iq+S7vZJE60yejDYM0ek6zg308+UZsdtPExWP9VZoCFCz1zkJoXFnAX7aZfd/ZwrkidzdUZL0C/ryW+JwAiIGw==", + "dev": true + }, + "void-elements": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", + "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=" + }, + "warning": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/warning/-/warning-3.0.0.tgz", + "integrity": "sha1-MuU3fLVy3kqwR1O9+IIcAe1gW3w=", + "requires": { + "loose-envify": "^1.0.0" + } + }, + "watchpack": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz", + "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==", + "dev": true, + "requires": { + "chokidar": "^2.0.2", + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0" + }, + "dependencies": { + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "chokidar": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.6.tgz", + "integrity": "sha512-V2jUo67OKkc6ySiRpJrjlpJKl9kDuG+Xb8VgsGzb+aEouhgS1D0weyPU4lEzdAcsCAvrih2J2BqyXqHWvVLw5g==", + "dev": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + } + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + } + } + }, + "web-resource-inliner": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/web-resource-inliner/-/web-resource-inliner-4.3.1.tgz", + "integrity": "sha512-4DCEuz0E1RJR8Yhki5rg/LLn/bpplFJKdvxQvD4zTGf3N5GxaWvSki0hcLDUbvGpYtkYvbHq3fow8v4V+iVsaQ==", + "requires": { + "async": "^2.1.2", + "chalk": "^1.1.3", + "datauri": "^1.0.4", + "htmlparser2": "^3.9.2", + "lodash.unescape": "^4.0.1", + "request": "^2.78.0", + "safer-buffer": "^2.1.2", + "valid-data-url": "^0.1.4", + "xtend": "^4.0.0" + } + }, + "webpack": { + "version": "4.36.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.36.1.tgz", + "integrity": "sha512-Ej01/N9W8DVyhEpeQnbUdGvOECw0L46FxS12cCOs8gSK7bhUlrbHRnWkjiXckGlHjUrmL89kDpTRIkUk6Y+fKg==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-module-context": "1.8.5", + "@webassemblyjs/wasm-edit": "1.8.5", + "@webassemblyjs/wasm-parser": "1.8.5", + "acorn": "^6.2.0", + "ajv": "^6.1.0", + "ajv-keywords": "^3.1.0", + "chrome-trace-event": "^1.0.0", + "enhanced-resolve": "^4.1.0", + "eslint-scope": "^4.0.0", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^2.3.0", + "loader-utils": "^1.1.0", + "memory-fs": "~0.4.1", + "micromatch": "^3.1.8", + "mkdirp": "~0.5.0", + "neo-async": "^2.5.0", + "node-libs-browser": "^2.0.0", + "schema-utils": "^1.0.0", + "tapable": "^1.1.0", + "terser-webpack-plugin": "^1.1.0", + "watchpack": "^1.5.0", + "webpack-sources": "^1.3.0" + }, + "dependencies": { + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + } + } + }, + "webpack-cli": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.6.tgz", + "integrity": "sha512-0vEa83M7kJtxK/jUhlpZ27WHIOndz5mghWL2O53kiDoA9DIxSKnfqB92LoqEn77cT4f3H2cZm1BMEat/6AZz3A==", + "dev": true, + "requires": { + "chalk": "2.4.2", + "cross-spawn": "6.0.5", + "enhanced-resolve": "4.1.0", + "findup-sync": "3.0.0", + "global-modules": "2.0.0", + "import-local": "2.0.0", + "interpret": "1.2.0", + "loader-utils": "1.2.3", + "supports-color": "6.1.0", + "v8-compile-cache": "2.0.3", + "yargs": "13.2.4" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dev": true, + "requires": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "invert-kv": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", + "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "lcid": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", + "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", + "dev": true, + "requires": { + "invert-kv": "^2.0.0" + } + }, + "os-locale": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", + "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", + "dev": true, + "requires": { + "execa": "^1.0.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" + } + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + } + }, + "y18n": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "dev": true + }, + "yargs": { + "version": "13.2.4", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.2.4.tgz", + "integrity": "sha512-HG/DWAJa1PAnHT9JAhNa8AbAv3FPaiLzioSjCcmuXXhP8MlpHO5vwls4g4j6n30Z74GVQj8Xa62dWVx1QCGklg==", + "dev": true, + "requires": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "os-locale": "^3.1.0", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.0" + } + }, + "yargs-parser": { + "version": "13.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz", + "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "webpack-sources": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.3.0.tgz", + "integrity": "sha512-OiVgSrbGu7NEnEvQJJgdSFPl2qWKkWq5lHMhgiToIiN9w34EBnjYzSYs+VbL5KoYiLNtFFa7BZIKxRED3I32pA==", + "dev": true, + "requires": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } + }, + "whatwg-fetch": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz", + "integrity": "sha512-9GSJUgz1D4MfyKU7KRqwOjXCXTqWdFNvEr7eUBYchQiVc744mqK/MzXPNR2WsPkmkOa4ywfg8C2n8h+13Bey1Q==" + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "requires": { + "isexe": "^2.0.0" + } + }, + "which-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", + "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", + "dev": true + }, + "wide-align": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "dev": true, + "requires": { + "string-width": "^1.0.2 || 2" + } + }, + "widest-line": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.1.tgz", + "integrity": "sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA==", + "dev": true, + "requires": { + "string-width": "^2.1.1" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "worker-farm": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", + "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", + "dev": true, + "requires": { + "errno": "~0.1.7" + } + }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "dev": true, + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "write-file-atomic": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", + "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + }, + "xdg-basedir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz", + "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=", + "dev": true + }, + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=" + }, + "y18n": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", + "dev": true + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" + }, + "yargs": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz", + "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=", + "dev": true, + "requires": { + "camelcase": "^3.0.0", + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "get-caller-file": "^1.0.1", + "os-locale": "^1.4.0", + "read-pkg-up": "^1.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^1.0.2", + "which-module": "^1.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^5.0.0" + }, + "dependencies": { + "camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "dev": true + } + } + }, + "yargs-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz", + "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=", + "dev": true, + "requires": { + "camelcase": "^3.0.0" + }, + "dependencies": { + "camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "dev": true + } + } + } + } +} diff --git a/client/package.json b/client/package.json new file mode 100644 index 00000000..4a300a69 --- /dev/null +++ b/client/package.json @@ -0,0 +1,86 @@ +{ + "name": "mailtrain-client", + "version": "2.0.0", + "description": "Self hosted email newsletter app - client components", + "main": "index.js", + "scripts": { + "js": "webpack", + "watch-js": "webpack --watch", + "css": "npm-run-all --sequential css-compile css-minify", + "css-compile": "node-sass --output-style expanded --source-map true --source-map-contents true --precision 6 src/scss/mailtrain.scss dist/mailtrain.css", + "css-minify": "cleancss --level 1 --source-map --source-map-inline-sources --output dist/mailtrain.min.css dist/mailtrain.css", + "watch-css": "nodemon --watch src/scss -e scss -x \"npm run css\"", + "watch": "npm-run-all --parallel watch-css watch-js", + "build": "npm-run-all --parallel css js" + }, + "repository": { + "type": "git", + "url": "git://github.com/Mailtrain-org/mailtrain.git" + }, + "license": "GPL-3.0", + "homepage": "https://mailtrain.org/", + "dependencies": { + "@coreui/coreui": "^2.1.12", + "@fortawesome/fontawesome-free": "^5.9.0", + "axios": "^0.18.1", + "bootstrap": "^4.2.1", + "clone": "^2.1.2", + "datatables.net": "^1.10.19", + "datatables.net-bs4": "^1.10.19", + "ellipsize": "^0.1.0", + "grapesjs": "^0.14.62", + "grapesjs-mjml": "0.0.31", + "grapesjs-preset-newsletter": "^0.2.20", + "htmlparser2": "^3.10.1", + "i18next": "^13.1.0", + "i18next-browser-languagedetector": "^2.2.4", + "immutable": "^4.0.0-rc.12", + "juice": "^5.2.0", + "lodash": "^4.17.15", + "mjml4-in-browser": "^1.1.2", + "moment": "^2.23.0", + "moment-timezone": "^0.5.26", + "popper.js": "^1.14.6", + "prop-types": "^15.6.2", + "querystringify": "^2.1.0", + "react": "^16.7.0", + "react-ace": "^6.6.0", + "react-ckeditor-component": "^1.1.0", + "react-color": "^2.17.3", + "react-day-picker": "^7.2.4", + "react-dnd": "^7.7.0", + "react-dnd-html5-backend": "^7.7.0", + "react-dnd-touch-backend": "^0.7.1", + "react-dom": "^16.7.0", + "react-dropzone": "^8.0.3", + "react-google-charts": "^3.0.14", + "react-i18next": "^9.0.1", + "react-router-dom": "^4.3.1", + "react-sortable-tree": "^2.6.0", + "shallowequal": "^1.1.0", + "shortid": "^2.2.14", + "slugify": "^1.3.4", + "url-parse": "^1.4.7" + }, + "devDependencies": { + "@babel/cli": "^7.5.5", + "@babel/core": "^7.5.5", + "@babel/plugin-proposal-class-properties": "^7.5.5", + "@babel/plugin-proposal-decorators": "^7.4.4", + "@babel/plugin-proposal-function-bind": "^7.2.0", + "@babel/preset-env": "^7.5.5", + "@babel/preset-react": "^7.0.0", + "babel-loader": "^8.0.6", + "clean-css-cli": "^4.2.1", + "css-loader": "^2.1.0", + "file-loader": "^3.0.1", + "node-sass": "^4.12.0", + "nodemon": "^1.19.1", + "npm-run-all": "^4.1.5", + "sass-loader": "^7.1.0", + "style-loader": "^0.23.1", + "url-loader": "^1.1.2", + "webpack": "^4.36.1", + "webpack-cli": "^3.3.6" + } +} diff --git a/client/src/Home.js b/client/src/Home.js new file mode 100644 index 00000000..f7c6b7db --- /dev/null +++ b/client/src/Home.js @@ -0,0 +1,27 @@ +'use strict'; + +import React, {Component} from 'react'; +import {withTranslation} from './lib/i18n'; +import {requiresAuthenticatedUser} from './lib/page'; +import {withComponentMixins} from "./lib/decorator-helpers"; + +@withComponentMixins([ + withTranslation, + requiresAuthenticatedUser +]) +export default class List extends Component { + constructor(props) { + super(props); + } + + render() { + const t = this.props.t; + + return ( +
+

{t('Mailtrain 2 beta')}

+
{t('Build') + ' 2019-07-26-1703'}
+
+ ); + } +} \ No newline at end of file diff --git a/client/src/account/API.js b/client/src/account/API.js new file mode 100644 index 00000000..ad9706d2 --- /dev/null +++ b/client/src/account/API.js @@ -0,0 +1,397 @@ +'use strict'; + +import React, {Component} from 'react'; +import {withTranslation} from '../lib/i18n'; +import {Trans} from 'react-i18next'; +import {requiresAuthenticatedUser, Title, withPageHelpers} from '../lib/page' +import {withAsyncErrorHandler, withErrorHandling} from '../lib/error-handling'; +import axios from '../lib/axios'; +import {Button} from '../lib/bootstrap-components'; +import {getUrl} from "../lib/urls"; +import {withComponentMixins} from "../lib/decorator-helpers"; +import styles from "./styles.scss" + +@withComponentMixins([ + withTranslation, + withErrorHandling, + withPageHelpers, + requiresAuthenticatedUser +]) +export default class API extends Component { + constructor(props) { + super(props); + + this.state = { + accessToken: null + }; + } + + @withAsyncErrorHandler + async loadAccessToken() { + const response = await axios.get(getUrl('rest/access-token')); + this.setState({ + accessToken: response.data + }); + } + + componentDidMount() { + // noinspection JSIgnoredPromiseFromCall + this.loadAccessToken(); + } + + async resetAccessToken() { + const response = await axios.post(getUrl('rest/access-token-reset')); + this.setState({ + accessToken: response.data + }); + } + + render() { + const t = this.props.t; + + const accessToken = this.state.accessToken || 'ACCESS_TOKEN'; + + let accessTokenMsg; + if (this.state.accessToken) { + accessTokenMsg =
{t('personalAccessToken') + ': '}{accessToken}
; + } else { + accessTokenMsg =
{t('accessTokenNotYetGenerated')}
; + } + + return ( +
+ {t('api')} + +
+
+
+
+ {accessTokenMsg} +
+
+ +
+
+

{t('notesAboutTheApi')}

+ +
    +
  • + API response is a JSON structure with error and data properties. If the response error has a value set then the request failed. +
  • +
  • + You need to define proper Content-Type when making a request. You can either use application/x-www-form-urlencoded for normal form data or application/json for a JSON payload. Using multipart/form-data is not supported. +
  • +
+
+
+ +
+
+ POST /api/subscribe/:listId – {t('addSubscription')} +
+
+

+ {t('thisApiCallEitherInsertsANewSubscription')} +

+
+
+

POST /api/subscribe/:listId – {t('addSubscription')}

+ +

+ {t('thisApiCallEitherInsertsANewSubscription')} +

+ +

+ {t('Query params')} +

+ + +

+ POST {t('arguments')} +

+ + +

+ {t('additionalPostArguments')}: +

+ + + +

+ {t('example')} +

+ +
curl -XPOST '{getUrl(`api/subscribe/B16uVTdW?access_token=${accessToken}`)}' \
+--data 'EMAIL=test@example.com&MERGE_CHECKBOX=yes&REQUIRE_CONFIRMATION=yes'
+ +

POST /api/unsubscribe/:listId – {t('removeSubscription')}

+ +

+ {t('thisApiCallMarksASubscriptionAs')} +

+ +

+ {t('Query params')} +

+ + +

+ POST {t('arguments')} +

+ + +

+ {t('example')} +

+ +
curl -XPOST '{getUrl(`api/unsubscribe/B16uVTdW?access_token=${accessToken}`)}' \
+--data 'EMAIL=test@example.com'
+ +

POST /api/delete/:listId – {t('deleteSubscription')}

+ +

+ {t('thisApiCallDeletesASubscription')} +

+ +

+ {t('Query params')} +

+ + +

+ POST {t('arguments')} +

+ + +

+ {t('example')} +

+ +
curl -XPOST '{getUrl(`api/delete/B16uVTdW?access_token=${accessToken}`)}' \
+--data 'EMAIL=test@example.com'
+ +

POST /api/field/:listId – {t('addNewCustomField')}

+ +

+ {t('thisApiCallCreatesANewCustomFieldForA')} +

+ +

+ {t('Query params')} +

+ + +

+ POST {t('arguments')} +

+ + +

+ {t('example')} +

+ +
curl -XPOST '{getUrl(`api/field/B16uVTdW?access_token=${accessToken}`)}' \
+--data 'NAME=Birthday&TYPE=birthday-us&VISIBLE=yes'
+ +

GET /api/blacklist/get – {t('getListOfBlacklistedEmails')}

+ +

+ {t('thisApiCallGetListOfBlacklistedEmails')} +

+ +

+ {t('Query params')} +

+ + +

+ {t('example')} +

+ +
curl -XGET '{getUrl(`api/blacklist/get?access_token=${accessToken}&limit=10&start=10&search=gmail`)}' 
+ +

POST /api/blacklist/add – {t('addEmailToBlacklist')}

+ +

+ {t('thisApiCallEitherAddEmailsToBlacklist')} +

+ +

+ {t('Query params')} +

+ + +

+ POST {t('arguments')} +

+ + +

+ {t('example')} +

+ +
curl -XPOST '{getUrl(`api/blacklist/add?access_token={accessToken}`)}' \
+--data 'EMAIL=test@example.com&'
+ +

POST /api/blacklist/delete – {t('deleteEmailFromBlacklist')}

+ +

+ {t('thisApiCallEitherDeleteEmailsFrom')} +

+ +

+ {t('Query params')} +

+ + +

+ POST {t('arguments')} +

+ + +

+ {t('example')} +

+ +
curl -XPOST '{getUrl(`api/blacklist/delete?access_token=${accessToken}`)}' \
+--data 'EMAIL=test@example.com&'
+ +

GET /api/lists/:email – {t('getTheListsAUserHasSubscribedTo')}

+ +

+ {t('retrieveTheListsThatTheUserWithEmailHas')} +

+ +

+ {t('Query params')} +

+ + +

+ {t('example')} +

+ +
curl -XGET '{getUrl(`api/lists/test@example.com?access_token=${accessToken}`)}'
+ + +

GET /api/rss/fetch/:campaignCid – {t('triggerFetchOfACampaign')}

+ +

+ {t('forcesTheRssFeedCheckToImmediatelyCheck')} +

+ +

+ {t('Query params')} +

+ + +

+ {t('example')} +

+ +
curl -XGET '{getUrl(`api/rss/fetch/5OOnZKrp0?access_token=${accessToken}`)}'
+ +

POST /api/templates/:templateId/send – {t('sendTransactionalEmail')}

+ +

+ {t('sendSingleEmailByTemplateWithGiven')} +

+ +

+ {t('Query params')} +

+ + +

+ POST {t('arguments')} +

+ + +

+ {t('example')} +

+ +
curl -XPOST '{getUrl(`api/templates/1/send?access_token=${accessToken}`)}' \
+--data 'EMAIL=test@example.com&SUBJECT=Test&TAGS[FOO]=bar&TAGS[TEST]=example'
+
+ ); + } +} diff --git a/client/src/account/Account.js b/client/src/account/Account.js new file mode 100644 index 00000000..fc5a83e7 --- /dev/null +++ b/client/src/account/Account.js @@ -0,0 +1,224 @@ +'use strict'; + +import React, {Component} from 'react'; +import {withTranslation} from '../lib/i18n'; +import {Trans} from 'react-i18next'; +import {requiresAuthenticatedUser, Title, withPageHelpers} from '../lib/page' +import { + Button, + ButtonRow, + Fieldset, + filterData, + Form, + FormSendMethod, + InputField, + withForm, + withFormErrorHandlers +} from '../lib/form'; +import {withAsyncErrorHandler, withErrorHandling} from '../lib/error-handling'; +import passwordValidator from '../../../shared/password-validator'; +import interoperableErrors from '../../../shared/interoperable-errors'; +import mailtrainConfig from 'mailtrainConfig'; +import {withComponentMixins} from "../lib/decorator-helpers"; + +@withComponentMixins([ + withTranslation, + withForm, + withErrorHandling, + withPageHelpers, + requiresAuthenticatedUser +]) +export default class Account extends Component { + constructor(props) { + super(props); + + this.passwordValidator = passwordValidator(props.t); + + this.state = {}; + + this.initForm({ + serverValidation: { + url: 'rest/account-validate', + changed: ['email', 'currentPassword'] + } + }); + } + + getFormValuesMutator(data) { + data.password = ''; + data.password2 = ''; + data.currentPassword = ''; + } + + submitFormValuesMutator(data) { + return filterData(data, ['name', 'email', 'password', 'currentPassword']); + } + + @withAsyncErrorHandler + async loadFormValues() { + await this.getFormValuesFromURL('rest/account'); + } + + componentDidMount() { + // noinspection JSIgnoredPromiseFromCall + this.loadFormValues(); + } + + localValidateFormValues(state) { + const t = this.props.t; + + const email = state.getIn(['email', 'value']); + const emailServerValidation = state.getIn(['email', 'serverValidation']); + + if (!email) { + state.setIn(['email', 'error'], t('emailMustNotBeEmpty')); + } else if (emailServerValidation && emailServerValidation.invalid) { + state.setIn(['email', 'error'], t('invalidEmailAddress')); + } else if (emailServerValidation && emailServerValidation.exists) { + state.setIn(['email', 'error'], t('theEmailIsAlreadyAssociatedWithAnother')); + } else if (!emailServerValidation) { + state.setIn(['email', 'error'], t('validationIsInProgress')); + } else { + state.setIn(['email', 'error'], null); + } + + + const name = state.getIn(['name', 'value']); + + if (!name) { + state.setIn(['name', 'error'], t('fullNameMustNotBeEmpty')); + } else { + state.setIn(['name', 'error'], null); + } + + + const password = state.getIn(['password', 'value']) || ''; + const password2 = state.getIn(['password2', 'value']) || ''; + const currentPassword = state.getIn(['currentPassword', 'value']) || ''; + + let passwordMsgs = []; + + if (password || currentPassword) { + const passwordResults = this.passwordValidator.test(password); + + passwordMsgs.push(...passwordResults.errors); + + const currentPasswordServerValidation = state.getIn(['currentPassword', 'serverValidation']); + + if (!currentPassword) { + state.setIn(['currentPassword', 'error'], t('currentPasswordMustNotBeEmpty')); + } else if (currentPasswordServerValidation && currentPasswordServerValidation.incorrect) { + state.setIn(['currentPassword', 'error'], t('incorrectPassword')); + } else if (!currentPasswordServerValidation) { + state.setIn(['email', 'error'], t('validationIsInProgress')); + } else { + state.setIn(['currentPassword', 'error'], null); + } + + } + + if (passwordMsgs.length > 1) { + passwordMsgs = passwordMsgs.map((msg, idx) =>
{msg}
) + } + + state.setIn(['password', 'error'], passwordMsgs.length > 0 ? passwordMsgs : null); + state.setIn(['password2', 'error'], password !== password2 ? t('passwordsMustMatch') : null); + } + + @withFormErrorHandlers + async submitHandler() { + const t = this.props.t; + + try { + this.disableForm(); + this.setFormStatusMessage('info', t('updatingUserProfile')); + + const submitSuccessful = await this.validateAndSendFormValuesToURL(FormSendMethod.POST, 'rest/account'); + + if (submitSuccessful) { + this.setFlashMessage('success', t('userProfileUpdated')); + this.hideFormValidation(); + this.updateFormValue('password', ''); + this.updateFormValue('password2', ''); + this.updateFormValue('currentPassword', ''); + + this.clearFormStatusMessage(); + this.enableForm(); + + } else { + this.enableForm(); + this.setFormStatusMessage('warning', t('thereAreErrorsInTheFormPleaseFixThemAnd')); + } + } catch (error) { + if (error instanceof interoperableErrors.IncorrectPasswordError) { + this.enableForm(); + + this.setFormStatusMessage('danger', + + {t('yourUpdatesCannotBeSaved')}{' '} + {t('thePasswordIsIncorrectPossiblyJust')} + + ); + + this.scheduleFormRevalidate(); + return; + } + + if (error instanceof interoperableErrors.DuplicitEmailError) { + this.enableForm(); + + this.setFormStatusMessage('danger', + + {t('yourUpdatesCannotBeSaved')}{' '} + {t('theEmailIsAlreadyAssignedToAnotherUser')} + + ); + + this.scheduleFormRevalidate(); + return; + } + + throw error; + } + } + + render() { + const t = this.props.t; + + if (mailtrainConfig.isAuthMethodLocal) { + return ( +
+ {t('account')} + +
+
+ + +
+ +
+

{t('youOnlyNeedToFillOutThisFormIfYouWantTo')}

+ + + +
+ + +
+ ); + } else { + return ( +
+ {t('account')} + +

{t('accountManagementIsNotPossibleBecause')}

+ + {mailtrainConfig.externalPasswordResetLink &&

If you want to change the password, use this link.

} +
+ ); + } + } +} diff --git a/client/src/account/root.js b/client/src/account/root.js new file mode 100644 index 00000000..a5c666ff --- /dev/null +++ b/client/src/account/root.js @@ -0,0 +1,28 @@ +'use strict'; + +import React from 'react'; +import Account from './Account'; +import API from './API'; + + +function getMenus(t) { + return { + 'account': { + title: t('account'), + link: '/account', + panelComponent: Account, + + children: { + api: { + title: t('api'), + link: '/account/api', + panelComponent: API + } + } + } + }; +} + +export default { + getMenus +} diff --git a/client/src/account/styles.scss b/client/src/account/styles.scss new file mode 100644 index 00000000..f8e9249f --- /dev/null +++ b/client/src/account/styles.scss @@ -0,0 +1,9 @@ +.api { + :global .card h4 { + margin-top: 0px; + } + + h4 { + margin-top: 45px; + } +} \ No newline at end of file diff --git a/client/src/blacklist/List.js b/client/src/blacklist/List.js new file mode 100644 index 00000000..9429b446 --- /dev/null +++ b/client/src/blacklist/List.js @@ -0,0 +1,142 @@ +'use strict'; + +import React, {Component} from "react"; +import {withTranslation} from '../lib/i18n'; +import {requiresAuthenticatedUser, Title, withPageHelpers} from "../lib/page"; +import {withErrorHandling} from "../lib/error-handling"; +import {Table} from "../lib/table"; +import {ButtonRow, Form, FormSendMethod, InputField, withForm} from "../lib/form"; +import {Button} from "../lib/bootstrap-components"; +import {HTTPMethod} from "../lib/axios"; +import {tableAddRestActionButton, tableRestActionDialogInit, tableRestActionDialogRender} from "../lib/modals"; +import {withComponentMixins} from "../lib/decorator-helpers"; + +@withComponentMixins([ + withTranslation, + withForm, + withErrorHandling, + withPageHelpers, + requiresAuthenticatedUser +]) +export default class List extends Component { + constructor(props) { + super(props); + + const t = props.t; + + this.state = {}; + tableRestActionDialogInit(this); + + this.initForm({ + leaveConfirmation: false, + serverValidation: { + url: 'rest/blacklist-validate', + changed: ['email'] + } + }); + } + + static propTypes = { + } + + clearFields() { + this.populateFormValues({ + email: '' + }); + } + + localValidateFormValues(state) { + const t = this.props.t; + + const email = state.getIn(['email', 'value']); + const emailServerValidation = state.getIn(['email', 'serverValidation']); + + if (!email) { + state.setIn(['email', 'error'], t('emailMustNotBeEmpty-1')); + } else if (emailServerValidation && emailServerValidation.invalid) { + state.setIn(['email', 'error'], t('invalidEmailAddress')); + } else if (emailServerValidation && emailServerValidation.exists) { + state.setIn(['email', 'error'], t('theEmailIsAlreadyOnBlacklist')); + } else if (!emailServerValidation) { + state.setIn(['email', 'error'], t('validationIsInProgress')); + } else { + state.setIn(['email', 'error'], null); + } + } + + async submitHandler() { + const t = this.props.t; + + this.disableForm(); + this.setFormStatusMessage('info', t('saving')); + + const submitSuccessful = await this.validateAndSendFormValuesToURL(FormSendMethod.POST, 'rest/blacklist'); + + if (submitSuccessful) { + this.hideFormValidation(); + this.clearFields(); + this.enableForm(); + + this.clearFormStatusMessage(); + this.table.refresh(); + + } else { + this.enableForm(); + this.setFormStatusMessage('warning', t('thereAreErrorsInTheFormPleaseFixThemAnd-1')); + } + } + + componentDidMount() { + this.clearFields(); + } + + render() { + const t = this.props.t; + + const columns = [ + { data: 0, title: t('email') }, + { + actions: data => { + const actions = []; + + const email = data[0]; + + tableAddRestActionButton( + actions, this, + { method: HTTPMethod.DELETE, url: `rest/blacklist/${email}`}, + { icon: 'trash-alt', label: t('removeFromBlacklist') }, + t('confirmRemovalFromBlacklist'), + t('areYouSureYouWantToRemoveEmailFromThe', {email}), + t('removingEmailFromTheBlacklist', {email}), + t('emailRemovedFromTheBlacklist', {email}), + null + ); + + return actions; + } + } + ]; + + return ( +
+ {tableRestActionDialogRender(this)} + {t('blacklist')} + +

{t('addEmailToBlacklist-1')}

+
+ + + + ").addClass(this._triggerClass).html(r?N("").attr({src:r,alt:i,title:i}):i)),e[s?"before":"after"](t.trigger),t.trigger.click(function(){return N.datepicker._datepickerShowing&&N.datepicker._lastInput===e[0]?N.datepicker._hideDatepicker():(N.datepicker._datepickerShowing&&N.datepicker._lastInput!==e[0]&&N.datepicker._hideDatepicker(),N.datepicker._showDatepicker(e[0])),!1}))},_autoSize:function(e){if(this._get(e,"autoSize")&&!e.inline){var t,n,i,r,o=new Date(2009,11,20),s=this._get(e,"dateFormat");s.match(/[DM]/)&&(t=function(e){for(r=i=n=0;rn&&(n=e[r].length,i=r);return i},o.setMonth(t(this._get(e,s.match(/MM/)?"monthNames":"monthNamesShort"))),o.setDate(t(this._get(e,s.match(/DD/)?"dayNames":"dayNamesShort"))+20-o.getDay())),e.input.attr("size",this._formatDate(e,o).length)}},_inlineDatepicker:function(e,t){var n=N(e);n.hasClass(this.markerClassName)||(n.addClass(this.markerClassName).append(t.dpDiv),N.data(e,"datepicker",t),this._setDate(t,this._getDefaultDate(t),!0),this._updateDatepicker(t),this._updateAlternate(t),t.settings.disabled&&this._disableDatepicker(e),t.dpDiv.css("display","block"))},_dialogDatepicker:function(e,t,n,i,r){var o,s,a,l,c,u=this._dialogInst;return u||(this.uuid+=1,o="dp"+this.uuid,this._dialogInput=N(""),this._dialogInput.keydown(this._doKeyDown),N("body").append(this._dialogInput),(u=this._dialogInst=this._newInst(this._dialogInput,!1)).settings={},N.data(this._dialogInput[0],"datepicker",u)),b(u.settings,i||{}),t=t&&t.constructor===Date?this._formatDate(u,t):t,this._dialogInput.val(t),this._pos=r?r.length?r:[r.pageX,r.pageY]:null,this._pos||(s=document.documentElement.clientWidth,a=document.documentElement.clientHeight,l=document.documentElement.scrollLeft||document.body.scrollLeft,c=document.documentElement.scrollTop||document.body.scrollTop,this._pos=[s/2-100+l,a/2-150+c]),this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px"),u.settings.onSelect=n,this._inDialog=!0,this.dpDiv.addClass(this._dialogClass),this._showDatepicker(this._dialogInput[0]),N.blockUI&&N.blockUI(this.dpDiv),N.data(this._dialogInput[0],"datepicker",u),this},_destroyDatepicker:function(e){var t,n=N(e),i=N.data(e,"datepicker");n.hasClass(this.markerClassName)&&(t=e.nodeName.toLowerCase(),N.removeData(e,"datepicker"),"input"===t?(i.append.remove(),i.trigger.remove(),n.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress).unbind("keyup",this._doKeyUp)):"div"!==t&&"span"!==t||n.removeClass(this.markerClassName).empty(),m===i&&(m=null))},_enableDatepicker:function(t){var e,n,i=N(t),r=N.data(t,"datepicker");i.hasClass(this.markerClassName)&&("input"===(e=t.nodeName.toLowerCase())?(t.disabled=!1,r.trigger.filter("button").each(function(){this.disabled=!1}).end().filter("img").css({opacity:"1.0",cursor:""})):"div"!==e&&"span"!==e||((n=i.children("."+this._inlineClass)).children().removeClass("ui-state-disabled"),n.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!1)),this._disabledInputs=N.map(this._disabledInputs,function(e){return e===t?null:e}))},_disableDatepicker:function(t){var e,n,i=N(t),r=N.data(t,"datepicker");i.hasClass(this.markerClassName)&&("input"===(e=t.nodeName.toLowerCase())?(t.disabled=!0,r.trigger.filter("button").each(function(){this.disabled=!0}).end().filter("img").css({opacity:"0.5",cursor:"default"})):"div"!==e&&"span"!==e||((n=i.children("."+this._inlineClass)).children().addClass("ui-state-disabled"),n.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!0)),this._disabledInputs=N.map(this._disabledInputs,function(e){return e===t?null:e}),this._disabledInputs[this._disabledInputs.length]=t)},_isDisabledDatepicker:function(e){if(!e)return!1;for(var t=0;ta&&il&&rt;)--Z<0&&(Z=11,ee--);for(e.drawMonth=Z,e.drawYear=ee,n=this._get(e,"prevText"),n=V?this.formatDate(n,this._daylightSavingAdjust(new Date(ee,Z-J,1)),this._getFormatConfig(e)):n,i=this._canAdjustMonth(e,-1,ee,Z)?""+n+"":q?"":""+n+"",r=this._get(e,"nextText"),r=V?this.formatDate(r,this._daylightSavingAdjust(new Date(ee,Z+J,1)),this._getFormatConfig(e)):r,o=this._canAdjustMonth(e,1,ee,Z)?""+r+"":q?"":""+r+"",s=this._get(e,"currentText"),a=this._get(e,"gotoCurrent")&&e.currentDay?X:j,s=V?this.formatDate(s,a,this._getFormatConfig(e)):s,l=e.inline?"":"",c=U?"
"+(W?l:"")+(this._isInRange(e,a)?"":"")+(W?"":l)+"
":"",u=parseInt(this._get(e,"firstDay"),10),u=isNaN(u)?0:u,d=this._get(e,"showWeek"),h=this._get(e,"dayNames"),f=this._get(e,"dayNamesMin"),p=this._get(e,"monthNames"),m=this._get(e,"monthNamesShort"),g=this._get(e,"beforeShowDay"),v=this._get(e,"showOtherMonths"),y=this._get(e,"selectOtherMonths"),b=this._getDefaultDate(e),_="",w=0;w<$[0];w++){for(C="",this.maxRows=4,k=0;k<$[1];k++){if(T=this._daylightSavingAdjust(new Date(ee,Z,e.selectedDay)),S=" ui-corner-all",E="",Y){if(E+="
"}for(E+="
"+(/all|left/.test(S)&&0===w?W?o:i:"")+(/all|right/.test(S)&&0===w?W?i:o:"")+this._generateMonthYearHeader(e,Z,ee,Q,G,0",N=d?"":"",x=0;x<7;x++)N+="";for(E+=N+"",R=this._getDaysInMonth(ee,Z),ee===e.selectedYear&&Z===e.selectedMonth&&(e.selectedDay=Math.min(e.selectedDay,R)),A=(this._getFirstDayOfMonth(ee,Z)-u+7)%7,P=Math.ceil((A+R)/7),M=Y&&this.maxRows>P?this.maxRows:P,this.maxRows=M,I=this._daylightSavingAdjust(new Date(ee,Z,1-A)),O=0;O",B=d?"":"",x=0;x<7;x++)L=g?g.apply(e.input?e.input[0]:null,[I]):[!0,""],F=(H=I.getMonth()!==Z)&&!y||!L[0]||Q&&I"+(H&&!v?" ":F?""+I.getDate()+"":""+I.getDate()+"")+"",I.setDate(I.getDate()+1),I=this._daylightSavingAdjust(I);E+=B+""}11<++Z&&(Z=0,ee++),C+=E+="
"+this._get(e,"weekHeader")+""+f[D]+"
"+this._get(e,"calculateWeek")(I)+"
"+(Y?"
"+(0<$[0]&&k===$[1]-1?"
":""):"")}_+=C}return _+=c,e._keyEvent=!1,_},_generateMonthYearHeader:function(e,t,n,i,r,o,s,a){var l,c,u,d,h,f,p,m,g=this._get(e,"changeMonth"),v=this._get(e,"changeYear"),y=this._get(e,"showMonthAfterYear"),b="
",_="";if(o||!g)_+=""+s[t]+"";else{for(l=i&&i.getFullYear()===n,c=r&&r.getFullYear()===n,_+=""}if(y||(b+=_+(!o&&g&&v?"":" ")),!e.yearshtml)if(e.yearshtml="",o||!v)b+=""+n+"";else{for(d=this._get(e,"yearRange").split(":"),h=(new Date).getFullYear(),p=(f=function(e){var t=e.match(/c[+\-].*/)?n+parseInt(e.substring(1),10):e.match(/[+\-].*/)?h+parseInt(e,10):parseInt(e,10);return isNaN(t)?h:t})(d[0]),m=Math.max(p,f(d[1]||"")),p=i?Math.max(p,i.getFullYear()):p,m=r?Math.min(m,r.getFullYear()):m,e.yearshtml+="",b+=e.yearshtml,e.yearshtml=null}return b+=this._get(e,"yearSuffix"),y&&(b+=(!o&&g&&v?"":" ")+_),b+="
"},_adjustInstDate:function(e,t,n){var i=e.drawYear+("Y"===n?t:0),r=e.drawMonth+("M"===n?t:0),o=Math.min(e.selectedDay,this._getDaysInMonth(i,r))+("D"===n?t:0),s=this._restrictMinMax(e,this._daylightSavingAdjust(new Date(i,r,o)));e.selectedDay=s.getDate(),e.drawMonth=e.selectedMonth=s.getMonth(),e.drawYear=e.selectedYear=s.getFullYear(),"M"!==n&&"Y"!==n||this._notifyChange(e)},_restrictMinMax:function(e,t){var n=this._getMinMaxDate(e,"min"),i=this._getMinMaxDate(e,"max"),r=n&&t=r.getTime())&&(!o||t.getTime()<=o.getTime())&&(!s||t.getFullYear()>=s)&&(!a||t.getFullYear()<=a)},_getFormatConfig:function(e){var t=this._get(e,"shortYearCutoff");return{shortYearCutoff:t="string"!=typeof t?t:(new Date).getFullYear()%100+parseInt(t,10),dayNamesShort:this._get(e,"dayNamesShort"),dayNames:this._get(e,"dayNames"),monthNamesShort:this._get(e,"monthNamesShort"),monthNames:this._get(e,"monthNames")}},_formatDate:function(e,t,n,i){t||(e.currentDay=e.selectedDay,e.currentMonth=e.selectedMonth,e.currentYear=e.selectedYear);var r=t?"object"==typeof t?t:this._daylightSavingAdjust(new Date(i,n,t)):this._daylightSavingAdjust(new Date(e.currentYear,e.currentMonth,e.currentDay));return this.formatDate(this._get(e,"dateFormat"),r,this._getFormatConfig(e))}}),N.fn.datepicker=function(e){if(!this.length)return this;N.datepicker.initialized||(N(document).mousedown(N.datepicker._checkExternalClick),N.datepicker.initialized=!0),0===N("#"+N.datepicker._mainDivId).length&&N("body").append(N.datepicker.dpDiv);var t=Array.prototype.slice.call(arguments,1);return"string"!=typeof e||"isDisabled"!==e&&"getDate"!==e&&"widget"!==e?"option"===e&&2===arguments.length&&"string"==typeof arguments[1]?N.datepicker["_"+e+"Datepicker"].apply(N.datepicker,[this[0]].concat(t)):this.each(function(){"string"==typeof e?N.datepicker["_"+e+"Datepicker"].apply(N.datepicker,[this].concat(t)):N.datepicker._attachDatepicker(this,e)}):N.datepicker["_"+e+"Datepicker"].apply(N.datepicker,[this[0]].concat(t))},N.datepicker=new g,N.datepicker.initialized=!1,N.datepicker.uuid=(new Date).getTime(),N.datepicker.version="1.11.4";N.datepicker;N.widget("ui.draggable",N.ui.mouse,{version:"1.11.4",widgetEventPrefix:"drag",options:{addClasses:!0,appendTo:"parent",axis:!1,connectToSortable:!1,containment:!1,cursor:"auto",cursorAt:!1,grid:!1,handle:!1,helper:"original",iframeFix:!1,opacity:!1,refreshPositions:!1,revert:!1,revertDuration:500,scope:"default",scroll:!0,scrollSensitivity:20,scrollSpeed:20,snap:!1,snapMode:"both",snapTolerance:20,stack:!1,zIndex:!1,drag:null,start:null,stop:null},_create:function(){"original"===this.options.helper&&this._setPositionRelative(),this.options.addClasses&&this.element.addClass("ui-draggable"),this.options.disabled&&this.element.addClass("ui-draggable-disabled"),this._setHandleClassName(),this._mouseInit()},_setOption:function(e,t){this._super(e,t),"handle"===e&&(this._removeHandleClassName(),this._setHandleClassName())},_destroy:function(){(this.helper||this.element).is(".ui-draggable-dragging")?this.destroyOnClear=!0:(this.element.removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled"),this._removeHandleClassName(),this._mouseDestroy())},_mouseCapture:function(e){var t=this.options;return this._blurActiveElement(e),!(this.helper||t.disabled||0").css("position","absolute").appendTo(e.parent()).outerWidth(e.outerWidth()).outerHeight(e.outerHeight()).offset(e.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_blurActiveElement:function(e){var t=this.document[0];if(this.handleElement.is(e.target))try{t.activeElement&&"body"!==t.activeElement.nodeName.toLowerCase()&&N(t.activeElement).blur()}catch(e){}},_mouseStart:function(e){var t=this.options;return this.helper=this._createHelper(e),this.helper.addClass("ui-draggable-dragging"),this._cacheHelperProportions(),N.ui.ddmanager&&(N.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(!0),this.offsetParent=this.helper.offsetParent(),this.hasFixedAncestor=0n[2]&&(l=n[2]+this.offset.click.left),e.pageY-this.offset.click.top>n[3]&&(c=n[3]+this.offset.click.top)),s.grid&&(r=s.grid[1]?this.originalPageY+Math.round((c-this.originalPageY)/s.grid[1])*s.grid[1]:this.originalPageY,c=n?r-this.offset.click.top>=n[1]||r-this.offset.click.top>n[3]?r:r-this.offset.click.top>=n[1]?r-s.grid[1]:r+s.grid[1]:r,o=s.grid[0]?this.originalPageX+Math.round((l-this.originalPageX)/s.grid[0])*s.grid[0]:this.originalPageX,l=n?o-this.offset.click.left>=n[0]||o-this.offset.click.left>n[2]?o:o-this.offset.click.left>=n[0]?o-s.grid[0]:o+s.grid[0]:o),"y"===s.axis&&(l=this.originalPageX),"x"===s.axis&&(c=this.originalPageY)),{top:c-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.offset.scroll.top:a?0:this.offset.scroll.top),left:l-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.offset.scroll.left:a?0:this.offset.scroll.left)}},_clear:function(){this.helper.removeClass("ui-draggable-dragging"),this.helper[0]===this.element[0]||this.cancelHelperRemoval||this.helper.remove(),this.helper=null,this.cancelHelperRemoval=!1,this.destroyOnClear&&this.destroy()},_normalizeRightBottom:function(){"y"!==this.options.axis&&"auto"!==this.helper.css("right")&&(this.helper.width(this.helper.width()),this.helper.css("right","auto")),"x"!==this.options.axis&&"auto"!==this.helper.css("bottom")&&(this.helper.height(this.helper.height()),this.helper.css("bottom","auto"))},_trigger:function(e,t,n){return n=n||this._uiHash(),N.ui.plugin.call(this,e,[t,n,this],!0),/^(drag|start|stop)/.test(e)&&(this.positionAbs=this._convertPositionTo("absolute"),n.offset=this.positionAbs),N.Widget.prototype._trigger.call(this,e,t,n)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}}),N.ui.plugin.add("draggable","connectToSortable",{start:function(t,e,n){var i=N.extend({},e,{item:n.element});n.sortables=[],N(n.options.connectToSortable).each(function(){var e=N(this).sortable("instance");e&&!e.options.disabled&&(n.sortables.push(e),e.refreshPositions(),e._trigger("activate",t,i))})},stop:function(t,e,n){var i=N.extend({},e,{item:n.element});n.cancelHelperRemoval=!1,N.each(n.sortables,function(){var e=this;e.isOver?(e.isOver=0,n.cancelHelperRemoval=!0,e.cancelHelperRemoval=!1,e._storedCSS={position:e.placeholder.css("position"),top:e.placeholder.css("top"),left:e.placeholder.css("left")},e._mouseStop(t),e.options.helper=e.options._helper):(e.cancelHelperRemoval=!0,e._trigger("deactivate",t,i))})},drag:function(n,i,r){N.each(r.sortables,function(){var e=!1,t=this;t.positionAbs=r.positionAbs,t.helperProportions=r.helperProportions,t.offset.click=r.offset.click,t._intersectsWith(t.containerCache)&&(e=!0,N.each(r.sortables,function(){return this.positionAbs=r.positionAbs,this.helperProportions=r.helperProportions,this.offset.click=r.offset.click,this!==t&&this._intersectsWith(this.containerCache)&&N.contains(t.element[0],this.element[0])&&(e=!1),e})),e?(t.isOver||(t.isOver=1,r._parent=i.helper.parent(),t.currentItem=i.helper.appendTo(t.element).data("ui-sortable-item",!0),t.options._helper=t.options.helper,t.options.helper=function(){return i.helper[0]},n.target=t.currentItem[0],t._mouseCapture(n,!0),t._mouseStart(n,!0,!0),t.offset.click.top=r.offset.click.top,t.offset.click.left=r.offset.click.left,t.offset.parent.left-=r.offset.parent.left-t.offset.parent.left,t.offset.parent.top-=r.offset.parent.top-t.offset.parent.top,r._trigger("toSortable",n),r.dropped=t.element,N.each(r.sortables,function(){this.refreshPositions()}),r.currentItem=r.element,t.fromOutside=r),t.currentItem&&(t._mouseDrag(n),i.position=t.position)):t.isOver&&(t.isOver=0,t.cancelHelperRemoval=!0,t.options._revert=t.options.revert,t.options.revert=!1,t._trigger("out",n,t._uiHash(t)),t._mouseStop(n,!0),t.options.revert=t.options._revert,t.options.helper=t.options._helper,t.placeholder&&t.placeholder.remove(),i.helper.appendTo(r._parent),r._refreshOffsets(n),i.position=r._generatePosition(n,!0),r._trigger("fromSortable",n),r.dropped=!1,N.each(r.sortables,function(){this.refreshPositions()}))})}}),N.ui.plugin.add("draggable","cursor",{start:function(e,t,n){var i=N("body"),r=n.options;i.css("cursor")&&(r._cursor=i.css("cursor")),i.css("cursor",r.cursor)},stop:function(e,t,n){var i=n.options;i._cursor&&N("body").css("cursor",i._cursor)}}),N.ui.plugin.add("draggable","opacity",{start:function(e,t,n){var i=N(t.helper),r=n.options;i.css("opacity")&&(r._opacity=i.css("opacity")),i.css("opacity",r.opacity)},stop:function(e,t,n){var i=n.options;i._opacity&&N(t.helper).css("opacity",i._opacity)}}),N.ui.plugin.add("draggable","scroll",{start:function(e,t,n){n.scrollParentNotHidden||(n.scrollParentNotHidden=n.helper.scrollParent(!1)),n.scrollParentNotHidden[0]!==n.document[0]&&"HTML"!==n.scrollParentNotHidden[0].tagName&&(n.overflowOffset=n.scrollParentNotHidden.offset())},drag:function(e,t,n){var i=n.options,r=!1,o=n.scrollParentNotHidden[0],s=n.document[0];o!==s&&"HTML"!==o.tagName?(i.axis&&"x"===i.axis||(n.overflowOffset.top+o.offsetHeight-e.pageY
").css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")}),this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0}),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css({margin:this.originalElement.css("margin")}),this._proportionallyResize()),this.handles=r.handles||(N(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this._handles=N(),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),e=this.handles.split(","),this.handles={},t=0;t
")).css({zIndex:r.zIndex}),"se"===n&&i.addClass("ui-icon ui-icon-gripsmall-diagonal-se"),this.handles[n]=".ui-resizable-"+n,this.element.append(i);this._renderAxis=function(e){var t,n,i,r;for(t in e=e||this.element,this.handles)this.handles[t].constructor===String?this.handles[t]=this.element.children(this.handles[t]).first().show():(this.handles[t].jquery||this.handles[t].nodeType)&&(this.handles[t]=N(this.handles[t]),this._on(this.handles[t],{mousedown:o._mouseDown})),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)&&(n=N(this.handles[t],this.element),r=/sw|ne|nw|se|n|s/.test(t)?n.outerHeight():n.outerWidth(),i=["padding",/ne|nw|n/.test(t)?"Top":/se|sw|s/.test(t)?"Bottom":/^e$/.test(t)?"Right":"Left"].join(""),e.css(i,r),this._proportionallyResize()),this._handles=this._handles.add(this.handles[t])},this._renderAxis(this.element),this._handles=this._handles.add(this.element.find(".ui-resizable-handle")),this._handles.disableSelection(),this._handles.mouseover(function(){o.resizing||(this.className&&(i=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),o.axis=i&&i[1]?i[1]:"se")}),r.autoHide&&(this._handles.hide(),N(this.element).addClass("ui-resizable-autohide").mouseenter(function(){r.disabled||(N(this).removeClass("ui-resizable-autohide"),o._handles.show())}).mouseleave(function(){r.disabled||o.resizing||(N(this).addClass("ui-resizable-autohide"),o._handles.hide())})),this._mouseInit()},_destroy:function(){this._mouseDestroy();var e,t=function(e){N(e).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").removeData("ui-resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};return this.elementIsWrapper&&(t(this.element),e=this.element,this.originalElement.css({position:e.css("position"),width:e.outerWidth(),height:e.outerHeight(),top:e.css("top"),left:e.css("left")}).insertAfter(e),e.remove()),this.originalElement.css("resize",this.originalResizeStyle),t(this.originalElement),this},_mouseCapture:function(e){var t,n,i=!1;for(t in this.handles)((n=N(this.handles[t])[0])===e.target||N.contains(n,e.target))&&(i=!0);return!this.options.disabled&&i},_mouseStart:function(e){var t,n,i,r=this.options,o=this.element;return this.resizing=!0,this._renderProxy(),t=this._num(this.helper.css("left")),n=this._num(this.helper.css("top")),r.containment&&(t+=N(r.containment).scrollLeft()||0,n+=N(r.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:t,top:n},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:o.width(),height:o.height()},this.originalSize=this._helper?{width:o.outerWidth(),height:o.outerHeight()}:{width:o.width(),height:o.height()},this.sizeDiff={width:o.outerWidth()-o.width(),height:o.outerHeight()-o.height()},this.originalPosition={left:t,top:n},this.originalMousePosition={left:e.pageX,top:e.pageY},this.aspectRatio="number"==typeof r.aspectRatio?r.aspectRatio:this.originalSize.width/this.originalSize.height||1,i=N(".ui-resizable-"+this.axis).css("cursor"),N("body").css("cursor","auto"===i?this.axis+"-resize":i),o.addClass("ui-resizable-resizing"),this._propagate("start",e),!0},_mouseDrag:function(e){var t,n,i=this.originalMousePosition,r=this.axis,o=e.pageX-i.left||0,s=e.pageY-i.top||0,a=this._change[r];return this._updatePrevProperties(),a&&(t=a.apply(this,[e,o,s]),this._updateVirtualBoundaries(e.shiftKey),(this._aspectRatio||e.shiftKey)&&(t=this._updateRatio(t,e)),t=this._respectSize(t,e),this._updateCache(t),this._propagate("resize",e),n=this._applyChanges(),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),N.isEmptyObject(n)||(this._updatePrevProperties(),this._trigger("resize",e,this.ui()),this._applyChanges())),!1},_mouseStop:function(e){this.resizing=!1;var t,n,i,r,o,s,a,l=this.options,c=this;return this._helper&&(i=(n=(t=this._proportionallyResizeElements).length&&/textarea/i.test(t[0].nodeName))&&this._hasScroll(t[0],"left")?0:c.sizeDiff.height,r=n?0:c.sizeDiff.width,o={width:c.helper.width()-r,height:c.helper.height()-i},s=parseInt(c.element.css("left"),10)+(c.position.left-c.originalPosition.left)||null,a=parseInt(c.element.css("top"),10)+(c.position.top-c.originalPosition.top)||null,l.animate||this.element.css(N.extend(o,{top:a,left:s})),c.helper.height(c.size.height),c.helper.width(c.size.width),this._helper&&!l.animate&&this._proportionallyResize()),N("body").css("cursor","auto"),this.element.removeClass("ui-resizable-resizing"),this._propagate("stop",e),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var e={};return this.position.top!==this.prevPosition.top&&(e.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(e.left=this.position.left+"px"),this.size.width!==this.prevSize.width&&(e.width=this.size.width+"px"),this.size.height!==this.prevSize.height&&(e.height=this.size.height+"px"),this.helper.css(e),e},_updateVirtualBoundaries:function(e){var t,n,i,r,o,s=this.options;o={minWidth:this._isNumber(s.minWidth)?s.minWidth:0,maxWidth:this._isNumber(s.maxWidth)?s.maxWidth:1/0,minHeight:this._isNumber(s.minHeight)?s.minHeight:0,maxHeight:this._isNumber(s.maxHeight)?s.maxHeight:1/0},(this._aspectRatio||e)&&(t=o.minHeight*this.aspectRatio,i=o.minWidth/this.aspectRatio,n=o.maxHeight*this.aspectRatio,r=o.maxWidth/this.aspectRatio,t>o.minWidth&&(o.minWidth=t),i>o.minHeight&&(o.minHeight=i),ne.width,s=this._isNumber(e.height)&&t.minHeight&&t.minHeight>e.height,a=this.originalPosition.left+this.originalSize.width,l=this.position.top+this.size.height,c=/sw|nw|w/.test(n),u=/nw|ne|n/.test(n);return o&&(e.width=t.minWidth),s&&(e.height=t.minHeight),i&&(e.width=t.maxWidth),r&&(e.height=t.maxHeight),o&&c&&(e.left=a-t.minWidth),i&&c&&(e.left=a-t.maxWidth),s&&u&&(e.top=l-t.minHeight),r&&u&&(e.top=l-t.maxHeight),e.width||e.height||e.left||!e.top?e.width||e.height||e.top||!e.left||(e.left=null):e.top=null,e},_getPaddingPlusBorderDimensions:function(e){for(var t=0,n=[],i=[e.css("borderTopWidth"),e.css("borderRightWidth"),e.css("borderBottomWidth"),e.css("borderLeftWidth")],r=[e.css("paddingTop"),e.css("paddingRight"),e.css("paddingBottom"),e.css("paddingLeft")];t<4;t++)n[t]=parseInt(i[t],10)||0,n[t]+=parseInt(r[t],10)||0;return{height:n[0]+n[2],width:n[1]+n[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var e,t=0,n=this.helper||this.element;t"),this.helper.addClass(this._helper).css({width:this.element.outerWidth()-1,height:this.element.outerHeight()-1,position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++t.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element},_change:{e:function(e,t){return{width:this.originalSize.width+t}},w:function(e,t){var n=this.originalSize;return{left:this.originalPosition.left+t,width:n.width-t}},n:function(e,t,n){var i=this.originalSize;return{top:this.originalPosition.top+n,height:i.height-n}},s:function(e,t,n){return{height:this.originalSize.height+n}},se:function(e,t,n){return N.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[e,t,n]))},sw:function(e,t,n){return N.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[e,t,n]))},ne:function(e,t,n){return N.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[e,t,n]))},nw:function(e,t,n){return N.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[e,t,n]))}},_propagate:function(e,t){N.ui.plugin.call(this,e,[t,this.ui()]),"resize"!==e&&this._trigger(e,t,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),N.ui.plugin.add("resizable","animate",{stop:function(t){var n=N(this).resizable("instance"),e=n.options,i=n._proportionallyResizeElements,r=i.length&&/textarea/i.test(i[0].nodeName),o=r&&n._hasScroll(i[0],"left")?0:n.sizeDiff.height,s=r?0:n.sizeDiff.width,a={width:n.size.width-s,height:n.size.height-o},l=parseInt(n.element.css("left"),10)+(n.position.left-n.originalPosition.left)||null,c=parseInt(n.element.css("top"),10)+(n.position.top-n.originalPosition.top)||null;n.element.animate(N.extend(a,c&&l?{top:c,left:l}:{}),{duration:e.animateDuration,easing:e.animateEasing,step:function(){var e={width:parseInt(n.element.css("width"),10),height:parseInt(n.element.css("height"),10),top:parseInt(n.element.css("top"),10),left:parseInt(n.element.css("left"),10)};i&&i.length&&N(i[0]).css({width:e.width,height:e.height}),n._updateCache(e),n._propagate("resize",t)}})}}),N.ui.plugin.add("resizable","containment",{start:function(){var n,i,e,t,r,o,s,a=N(this).resizable("instance"),l=a.options,c=a.element,u=l.containment,d=u instanceof N?u.get(0):/parent/.test(u)?c.parent().get(0):u;d&&(a.containerElement=N(d),/document/.test(u)||u===document?(a.containerOffset={left:0,top:0},a.containerPosition={left:0,top:0},a.parentData={element:N(document),left:0,top:0,width:N(document).width(),height:N(document).height()||document.body.parentNode.scrollHeight}):(n=N(d),i=[],N(["Top","Right","Left","Bottom"]).each(function(e,t){i[e]=a._num(n.css("padding"+t))}),a.containerOffset=n.offset(),a.containerPosition=n.position(),a.containerSize={height:n.innerHeight()-i[3],width:n.innerWidth()-i[1]},e=a.containerOffset,t=a.containerSize.height,r=a.containerSize.width,o=a._hasScroll(d,"left")?d.scrollWidth:r,s=a._hasScroll(d)?d.scrollHeight:t,a.parentData={element:d,left:e.left,top:e.top,width:o,height:s}))},resize:function(e){var t,n,i,r,o=N(this).resizable("instance"),s=o.options,a=o.containerOffset,l=o.position,c=o._aspectRatio||e.shiftKey,u={top:0,left:0},d=o.containerElement,h=!0;d[0]!==document&&/static/.test(d.css("position"))&&(u=a),l.left<(o._helper?a.left:0)&&(o.size.width=o.size.width+(o._helper?o.position.left-a.left:o.position.left-u.left),c&&(o.size.height=o.size.width/o.aspectRatio,h=!1),o.position.left=s.helper?a.left:0),l.top<(o._helper?a.top:0)&&(o.size.height=o.size.height+(o._helper?o.position.top-a.top:o.position.top),c&&(o.size.width=o.size.height*o.aspectRatio,h=!1),o.position.top=o._helper?a.top:0),i=o.containerElement.get(0)===o.element.parent().get(0),r=/relative|absolute/.test(o.containerElement.css("position")),o.offset.top=i&&r?(o.offset.left=o.parentData.left+o.position.left,o.parentData.top+o.position.top):(o.offset.left=o.element.offset().left,o.element.offset().top),t=Math.abs(o.sizeDiff.width+(o._helper?o.offset.left-u.left:o.offset.left-a.left)),n=Math.abs(o.sizeDiff.height+(o._helper?o.offset.top-u.top:o.offset.top-a.top)),t+o.size.width>=o.parentData.width&&(o.size.width=o.parentData.width-t,c&&(o.size.height=o.size.width/o.aspectRatio,h=!1)),n+o.size.height>=o.parentData.height&&(o.size.height=o.parentData.height-n,c&&(o.size.width=o.size.height*o.aspectRatio,h=!1)),h||(o.position.left=o.prevPosition.left,o.position.top=o.prevPosition.top,o.size.width=o.prevSize.width,o.size.height=o.prevSize.height)},stop:function(){var e=N(this).resizable("instance"),t=e.options,n=e.containerOffset,i=e.containerPosition,r=e.containerElement,o=N(e.helper),s=o.offset(),a=o.outerWidth()-e.sizeDiff.width,l=o.outerHeight()-e.sizeDiff.height;e._helper&&!t.animate&&/relative/.test(r.css("position"))&&N(this).css({left:s.left-i.left-n.left,width:a,height:l}),e._helper&&!t.animate&&/static/.test(r.css("position"))&&N(this).css({left:s.left-i.left-n.left,width:a,height:l})}}),N.ui.plugin.add("resizable","alsoResize",{start:function(){var e=N(this).resizable("instance").options;N(e.alsoResize).each(function(){var e=N(this);e.data("ui-resizable-alsoresize",{width:parseInt(e.width(),10),height:parseInt(e.height(),10),left:parseInt(e.css("left"),10),top:parseInt(e.css("top"),10)})})},resize:function(e,n){var t=N(this).resizable("instance"),i=t.options,r=t.originalSize,o=t.originalPosition,s={height:t.size.height-r.height||0,width:t.size.width-r.width||0,top:t.position.top-o.top||0,left:t.position.left-o.left||0};N(i.alsoResize).each(function(){var e=N(this),i=N(this).data("ui-resizable-alsoresize"),r={},t=e.parents(n.originalElement[0]).length?["width","height"]:["width","height","top","left"];N.each(t,function(e,t){var n=(i[t]||0)+(s[t]||0);n&&0<=n&&(r[t]=n||null)}),e.css(r)})},stop:function(){N(this).removeData("resizable-alsoresize")}}),N.ui.plugin.add("resizable","ghost",{start:function(){var e=N(this).resizable("instance"),t=e.options,n=e.size;e.ghost=e.originalElement.clone(),e.ghost.css({opacity:.25,display:"block",position:"relative",height:n.height,width:n.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass("string"==typeof t.ghost?t.ghost:""),e.ghost.appendTo(e.helper)},resize:function(){var e=N(this).resizable("instance");e.ghost&&e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})},stop:function(){var e=N(this).resizable("instance");e.ghost&&e.helper&&e.helper.get(0).removeChild(e.ghost.get(0))}}),N.ui.plugin.add("resizable","grid",{resize:function(){var e,t=N(this).resizable("instance"),n=t.options,i=t.size,r=t.originalSize,o=t.originalPosition,s=t.axis,a="number"==typeof n.grid?[n.grid,n.grid]:n.grid,l=a[0]||1,c=a[1]||1,u=Math.round((i.width-r.width)/l)*l,d=Math.round((i.height-r.height)/c)*c,h=r.width+u,f=r.height+d,p=n.maxWidth&&n.maxWidthh,v=n.minHeight&&n.minHeight>f;n.grid=a,g&&(h+=l),v&&(f+=c),p&&(h-=l),m&&(f-=c),/^(se|s|e)$/.test(s)?(t.size.width=h,t.size.height=f):/^(ne)$/.test(s)?(t.size.width=h,t.size.height=f,t.position.top=o.top-d):/^(sw)$/.test(s)?(t.size.width=h,t.size.height=f,t.position.left=o.left-u):((f-c<=0||h-l<=0)&&(e=t._getPaddingPlusBorderDimensions(this)),t.position.top=0=+this.uiDialog.css("z-index")&&(this.uiDialog.css("z-index",r+1),n=!0),n&&!t&&this._trigger("focus",e),n},open:function(){var e=this;this._isOpen?this._moveToTop()&&this._focusTabbable():(this._isOpen=!0,this.opener=N(this.document[0].activeElement),this._size(),this._position(),this._createOverlay(),this._moveToTop(null,!0),this.overlay&&this.overlay.css("z-index",this.uiDialog.css("z-index")-1),this._show(this.uiDialog,this.options.show,function(){e._focusTabbable(),e._trigger("focus")}),this._makeFocusTarget(),this._trigger("open"))},_focusTabbable:function(){var e=this._focusedElement;e||(e=this.element.find("[autofocus]")),e.length||(e=this.element.find(":tabbable")),e.length||(e=this.uiDialogButtonPane.find(":tabbable")),e.length||(e=this.uiDialogTitlebarClose.filter(":tabbable")),e.length||(e=this.uiDialog),e.eq(0).focus()},_keepFocus:function(e){function t(){var e=this.document[0].activeElement;this.uiDialog[0]===e||N.contains(this.uiDialog[0],e)||this._focusTabbable()}e.preventDefault(),t.call(this),this._delay(t)},_createWrapper:function(){this.uiDialog=N("
").addClass("ui-dialog ui-widget ui-widget-content ui-corner-all ui-front "+this.options.dialogClass).hide().attr({tabIndex:-1,role:"dialog"}).appendTo(this._appendTo()),this._on(this.uiDialog,{keydown:function(e){if(this.options.closeOnEscape&&!e.isDefaultPrevented()&&e.keyCode&&e.keyCode===N.ui.keyCode.ESCAPE)return e.preventDefault(),void this.close(e);if(e.keyCode===N.ui.keyCode.TAB&&!e.isDefaultPrevented()){var t=this.uiDialog.find(":tabbable"),n=t.filter(":first"),i=t.filter(":last");e.target!==i[0]&&e.target!==this.uiDialog[0]||e.shiftKey?e.target!==n[0]&&e.target!==this.uiDialog[0]||!e.shiftKey||(this._delay(function(){i.focus()}),e.preventDefault()):(this._delay(function(){n.focus()}),e.preventDefault())}},mousedown:function(e){this._moveToTop(e)&&this._focusTabbable()}}),this.element.find("[aria-describedby]").length||this.uiDialog.attr({"aria-describedby":this.element.uniqueId().attr("id")})},_createTitlebar:function(){var e;this.uiDialogTitlebar=N("
").addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(this.uiDialog),this._on(this.uiDialogTitlebar,{mousedown:function(e){N(e.target).closest(".ui-dialog-titlebar-close")||this.uiDialog.focus()}}),this.uiDialogTitlebarClose=N("").button({label:this.options.closeText,icons:{primary:"ui-icon-closethick"},text:!1}).addClass("ui-dialog-titlebar-close").appendTo(this.uiDialogTitlebar),this._on(this.uiDialogTitlebarClose,{click:function(e){e.preventDefault(),this.close(e)}}),e=N("").uniqueId().addClass("ui-dialog-title").prependTo(this.uiDialogTitlebar),this._title(e),this.uiDialog.attr({"aria-labelledby":e.attr("id")})},_title:function(e){this.options.title||e.html(" "),e.text(this.options.title)},_createButtonPane:function(){this.uiDialogButtonPane=N("
").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"),this.uiButtonSet=N("
").addClass("ui-dialog-buttonset").appendTo(this.uiDialogButtonPane),this._createButtons()},_createButtons:function(){var r=this,e=this.options.buttons;this.uiDialogButtonPane.remove(),this.uiButtonSet.empty(),N.isEmptyObject(e)||N.isArray(e)&&!e.length?this.uiDialog.removeClass("ui-dialog-buttons"):(N.each(e,function(e,t){var n,i;t=N.isFunction(t)?{click:t,text:e}:t,t=N.extend({type:"button"},t),n=t.click,t.click=function(){n.apply(r.element[0],arguments)},i={icons:t.icons,text:t.showText},delete t.icons,delete t.showText,N("",t).button(i).appendTo(r.uiButtonSet)}),this.uiDialog.addClass("ui-dialog-buttons"),this.uiDialogButtonPane.appendTo(this.uiDialog))},_makeDraggable:function(){var r=this,o=this.options;function s(e){return{position:e.position,offset:e.offset}}this.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",handle:".ui-dialog-titlebar",containment:"document",start:function(e,t){N(this).addClass("ui-dialog-dragging"),r._blockFrames(),r._trigger("dragStart",e,s(t))},drag:function(e,t){r._trigger("drag",e,s(t))},stop:function(e,t){var n=t.offset.left-r.document.scrollLeft(),i=t.offset.top-r.document.scrollTop();o.position={my:"left top",at:"left"+(0<=n?"+":"")+n+" top"+(0<=i?"+":"")+i,of:r.window},N(this).removeClass("ui-dialog-dragging"),r._unblockFrames(),r._trigger("dragStop",e,s(t))}})},_makeResizable:function(){var o=this,s=this.options,e=s.resizable,t=this.uiDialog.css("position"),n="string"==typeof e?e:"n,e,s,w,se,sw,ne,nw";function a(e){return{originalPosition:e.originalPosition,originalSize:e.originalSize,position:e.position,size:e.size}}this.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:this.element,maxWidth:s.maxWidth,maxHeight:s.maxHeight,minWidth:s.minWidth,minHeight:this._minHeight(),handles:n,start:function(e,t){N(this).addClass("ui-dialog-resizing"),o._blockFrames(),o._trigger("resizeStart",e,a(t))},resize:function(e,t){o._trigger("resize",e,a(t))},stop:function(e,t){var n=o.uiDialog.offset(),i=n.left-o.document.scrollLeft(),r=n.top-o.document.scrollTop();s.height=o.uiDialog.height(),s.width=o.uiDialog.width(),s.position={my:"left top",at:"left"+(0<=i?"+":"")+i+" top"+(0<=r?"+":"")+r,of:o.window},N(this).removeClass("ui-dialog-resizing"),o._unblockFrames(),o._trigger("resizeStop",e,a(t))}}).css("position",t)},_trackFocus:function(){this._on(this.widget(),{focusin:function(e){this._makeFocusTarget(),this._focusedElement=N(e.target)}})},_makeFocusTarget:function(){this._untrackInstance(),this._trackingInstances().unshift(this)},_untrackInstance:function(){var e=this._trackingInstances(),t=N.inArray(this,e);-1!==t&&e.splice(t,1)},_trackingInstances:function(){var e=this.document.data("ui-dialog-instances");return e||(e=[],this.document.data("ui-dialog-instances",e)),e},_minHeight:function(){var e=this.options;return"auto"===e.height?e.minHeight:Math.min(e.minHeight,e.height)},_position:function(){var e=this.uiDialog.is(":visible");e||this.uiDialog.show(),this.uiDialog.position(this.options.position),e||this.uiDialog.hide()},_setOptions:function(e){var n=this,i=!1,r={};N.each(e,function(e,t){n._setOption(e,t),e in n.sizeRelatedOptions&&(i=!0),e in n.resizableRelatedOptions&&(r[e]=t)}),i&&(this._size(),this._position()),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option",r)},_setOption:function(e,t){var n,i,r=this.uiDialog;"dialogClass"===e&&r.removeClass(this.options.dialogClass).addClass(t),"disabled"!==e&&(this._super(e,t),"appendTo"===e&&this.uiDialog.appendTo(this._appendTo()),"buttons"===e&&this._createButtons(),"closeText"===e&&this.uiDialogTitlebarClose.button({label:""+t}),"draggable"===e&&((n=r.is(":data(ui-draggable)"))&&!t&&r.draggable("destroy"),!n&&t&&this._makeDraggable()),"position"===e&&this._position(),"resizable"===e&&((i=r.is(":data(ui-resizable)"))&&!t&&r.resizable("destroy"),i&&"string"==typeof t&&r.resizable("option","handles",t),i||!1===t||this._makeResizable()),"title"===e&&this._title(this.uiDialogTitlebar.find(".ui-dialog-title")))},_size:function(){var e,t,n,i=this.options;this.element.show().css({width:"auto",minHeight:0,maxHeight:"none",height:0}),i.minWidth>i.width&&(i.width=i.minWidth),e=this.uiDialog.css({height:"auto",width:i.width}).outerHeight(),t=Math.max(0,i.minHeight-e),n="number"==typeof i.maxHeight?Math.max(0,i.maxHeight-e):"none","auto"===i.height?this.element.css({minHeight:t,maxHeight:n,height:"auto"}):this.element.height(Math.max(0,i.height-e)),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())},_blockFrames:function(){this.iframeBlocks=this.document.find("iframe").map(function(){var e=N(this);return N("
").css({position:"absolute",width:e.outerWidth(),height:e.outerHeight()}).appendTo(e.parent()).offset(e.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_allowInteraction:function(e){return!!N(e.target).closest(".ui-dialog").length||!!N(e.target).closest(".ui-datepicker").length},_createOverlay:function(){if(this.options.modal){var t=!0;this._delay(function(){t=!1}),this.document.data("ui-dialog-overlays")||this._on(this.document,{focusin:function(e){t||this._allowInteraction(e)||(e.preventDefault(),this._trackingInstances()[0]._focusTabbable())}}),this.overlay=N("
").addClass("ui-widget-overlay ui-front").appendTo(this._appendTo()),this._on(this.overlay,{mousedown:"_keepFocus"}),this.document.data("ui-dialog-overlays",(this.document.data("ui-dialog-overlays")||0)+1)}},_destroyOverlay:function(){if(this.options.modal&&this.overlay){var e=this.document.data("ui-dialog-overlays")-1;e?this.document.data("ui-dialog-overlays",e):this.document.unbind("focusin").removeData("ui-dialog-overlays"),this.overlay.remove(),this.overlay=null}}});N.widget("ui.droppable",{version:"1.11.4",widgetEventPrefix:"drop",options:{accept:"*",activeClass:!1,addClasses:!0,greedy:!1,hoverClass:!1,scope:"default",tolerance:"intersect",activate:null,deactivate:null,drop:null,out:null,over:null},_create:function(){var e,t=this.options,n=t.accept;this.isover=!1,this.isout=!0,this.accept=N.isFunction(n)?n:function(e){return e.is(n)},this.proportions=function(){if(!arguments.length)return e||(e={width:this.element[0].offsetWidth,height:this.element[0].offsetHeight});e=arguments[0]},this._addToManager(t.scope),t.addClasses&&this.element.addClass("ui-droppable")},_addToManager:function(e){N.ui.ddmanager.droppables[e]=N.ui.ddmanager.droppables[e]||[],N.ui.ddmanager.droppables[e].push(this)},_splice:function(e){for(var t=0;t")[0],g=u.each;function v(e,t,n){var i=m[t.type]||{};return null==e?n||!t.def?null:t.def:(e=i.floor?~~e:parseFloat(e),isNaN(e)?t.def:i.mod?(e+i.mod)%i.mod:e<0?0:i.maxo.mod/2?i+=o.mod:i-r>o.mod/2&&(i-=o.mod)),v((r-i)*s+i,t)))}),this[t](c)},blend:function(e){if(1===this._rgba[3])return this;var t=this._rgba.slice(),n=t.pop(),i=f(e)._rgba;return f(u.map(t,function(e,t){return(1-n)*i[t]+n*e}))},toRgbaString:function(){var e="rgba(",t=u.map(this._rgba,function(e,t){return null==e?2
").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),t={width:n.width(),height:n.height()},r=document.activeElement;try{r.id}catch(e){r=document.body}return n.wrap(e),(n[0]===r||N.contains(n[0],r))&&N(r).focus(),e=n.parent(),"static"===n.css("position")?(e.css({position:"relative"}),n.css({position:"relative"})):(N.extend(i,{position:n.css("position"),zIndex:n.css("z-index")}),N.each(["top","left","bottom","right"],function(e,t){i[t]=n.css(t),isNaN(parseInt(i[t],10))&&(i[t]="auto")}),n.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})),n.css(t),e.css(i).show()},removeWrapper:function(e){var t=document.activeElement;return e.parent().is(".ui-effects-wrapper")&&(e.parent().replaceWith(e),(e[0]===t||N.contains(e[0],t))&&N(t).focus()),e},setTransition:function(i,e,r,o){return o=o||{},N.each(e,function(e,t){var n=i.cssUnit(t);0
").css({position:"absolute",visibility:"visible",left:-i*f,top:-n*p}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:f,height:p,left:r+(d?s*f:0),top:o+(d?a*p:0),opacity:d?0:1}).animate({left:r+(d?0:s*f),top:o+(d?0:a*p),opacity:d?1:0},e.duration||500,e.easing,g)},N.effects.effect.fade=function(e,t){var n=N(this),i=N.effects.setMode(n,e.mode||"toggle");n.animate({opacity:i},{queue:!1,duration:e.duration,easing:e.easing,complete:t})},N.effects.effect.fold=function(e,t){var n,i,r=N(this),o=["position","top","bottom","left","right","height","width"],s=N.effects.setMode(r,e.mode||"hide"),a="show"===s,l="hide"===s,c=e.size||15,u=/([0-9]+)%/.exec(c),d=!!e.horizFirst,h=a!==d,f=h?["width","height"]:["height","width"],p=e.duration/2,m={},g={};N.effects.save(r,o),r.show(),n=N.effects.createWrapper(r).css({overflow:"hidden"}),i=h?[n.width(),n.height()]:[n.height(),n.width()],u&&(c=parseInt(u[1],10)/100*i[l?0:1]),a&&n.css(d?{height:0,width:c}:{height:c,width:0}),m[f[0]]=a?i[0]:c,g[f[1]]=a?i[1]:0,n.animate(m,p,e.easing).animate(g,p,e.easing,function(){l&&r.hide(),N.effects.restore(r,o),N.effects.removeWrapper(r),t()})},N.effects.effect.highlight=function(e,t){var n=N(this),i=["backgroundImage","backgroundColor","opacity"],r=N.effects.setMode(n,e.mode||"show"),o={backgroundColor:n.css("backgroundColor")};"hide"===r&&(o.opacity=0),N.effects.save(n,i),n.show().css({backgroundImage:"none",backgroundColor:e.color||"#ffff99"}).animate(o,{queue:!1,duration:e.duration,easing:e.easing,complete:function(){"hide"===r&&n.hide(),N.effects.restore(n,i),t()}})},N.effects.effect.size=function(o,e){var t,n,s,a=N(this),i=["position","top","bottom","left","right","width","height","overflow","opacity"],l=["width","height","overflow"],r=["fontSize"],c=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],u=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"],d=N.effects.setMode(a,o.mode||"effect"),h=o.restore||"effect"!==d,f=o.scale||"both",p=o.origin||["middle","center"],m=a.css("position"),g=h?i:["position","top","bottom","left","right","overflow","opacity"],v={height:0,width:0,outerHeight:0,outerWidth:0};"show"===d&&a.show(),t={height:a.height(),width:a.width(),outerHeight:a.outerHeight(),outerWidth:a.outerWidth()},"toggle"===o.mode&&"show"===d?(a.from=o.to||v,a.to=o.from||t):(a.from=o.from||("show"===d?v:t),a.to=o.to||("hide"===d?v:t)),s={from:{y:a.from.height/t.height,x:a.from.width/t.width},to:{y:a.to.height/t.height,x:a.to.width/t.width}},"box"!==f&&"both"!==f||(s.from.y!==s.to.y&&(g=g.concat(c),a.from=N.effects.setTransition(a,c,s.from.y,a.from),a.to=N.effects.setTransition(a,c,s.to.y,a.to)),s.from.x!==s.to.x&&(g=g.concat(u),a.from=N.effects.setTransition(a,u,s.from.x,a.from),a.to=N.effects.setTransition(a,u,s.to.x,a.to))),"content"!==f&&"both"!==f||s.from.y!==s.to.y&&(g=g.concat(r).concat(l),a.from=N.effects.setTransition(a,r,s.from.y,a.from),a.to=N.effects.setTransition(a,r,s.to.y,a.to)),N.effects.save(a,g),a.show(),N.effects.createWrapper(a),a.css("overflow","hidden").css(a.from),p&&(n=N.effects.getBaseline(p,t),a.from.top=(t.outerHeight-a.outerHeight())*n.y,a.from.left=(t.outerWidth-a.outerWidth())*n.x,a.to.top=(t.outerHeight-a.to.outerHeight)*n.y,a.to.left=(t.outerWidth-a.to.outerWidth)*n.x),a.css(a.from),"content"!==f&&"both"!==f||(c=c.concat(["marginTop","marginBottom"]).concat(r),u=u.concat(["marginLeft","marginRight"]),l=i.concat(c).concat(u),a.find("*[width]").each(function(){var e=N(this),t=e.height(),n=e.width(),i=e.outerHeight(),r=e.outerWidth();h&&N.effects.save(e,l),e.from={height:t*s.from.y,width:n*s.from.x,outerHeight:i*s.from.y,outerWidth:r*s.from.x},e.to={height:t*s.to.y,width:n*s.to.x,outerHeight:t*s.to.y,outerWidth:n*s.to.x},s.from.y!==s.to.y&&(e.from=N.effects.setTransition(e,c,s.from.y,e.from),e.to=N.effects.setTransition(e,c,s.to.y,e.to)),s.from.x!==s.to.x&&(e.from=N.effects.setTransition(e,u,s.from.x,e.from),e.to=N.effects.setTransition(e,u,s.to.x,e.to)),e.css(e.from),e.animate(e.to,o.duration,o.easing,function(){h&&N.effects.restore(e,l)})})),a.animate(a.to,{queue:!1,duration:o.duration,easing:o.easing,complete:function(){0===a.to.opacity&&a.css("opacity",a.from.opacity),"hide"===d&&a.hide(),N.effects.restore(a,g),h||("static"===m?a.css({position:"relative",top:a.to.top,left:a.to.left}):N.each(["top","left"],function(r,e){a.css(e,function(e,t){var n=parseInt(t,10),i=r?a.to.left:a.to.top;return"auto"===t?i+"px":n+i+"px"})})),N.effects.removeWrapper(a),e()}})},N.effects.effect.scale=function(e,t){var n=N(this),i=N.extend(!0,{},e),r=N.effects.setMode(n,e.mode||"effect"),o=parseInt(e.percent,10)||(0===parseInt(e.percent,10)?0:"hide"===r?0:100),s=e.direction||"both",a=e.origin,l={height:n.height(),width:n.width(),outerHeight:n.outerHeight(),outerWidth:n.outerWidth()},c="horizontal"!==s?o/100:1,u="vertical"!==s?o/100:1;i.effect="size",i.queue=!1,i.complete=t,"effect"!==r&&(i.origin=a||["middle","center"],i.restore=!0),i.from=e.from||("show"===r?{height:0,width:0,outerHeight:0,outerWidth:0}:l),i.to={height:l.height*c,width:l.width*u,outerHeight:l.outerHeight*c,outerWidth:l.outerWidth*u},i.fade&&("show"===r&&(i.from.opacity=0,i.to.opacity=1),"hide"===r&&(i.from.opacity=1,i.to.opacity=0)),n.effect(i)},N.effects.effect.puff=function(e,t){var n=N(this),i=N.effects.setMode(n,e.mode||"hide"),r="hide"===i,o=parseInt(e.percent,10)||150,s=o/100,a={height:n.height(),width:n.width(),outerHeight:n.outerHeight(),outerWidth:n.outerWidth()};N.extend(e,{effect:"scale",queue:!1,fade:!0,mode:i,complete:t,percent:r?o:100,from:r?a:{height:a.height*s,width:a.width*s,outerHeight:a.outerHeight*s,outerWidth:a.outerWidth*s}}),n.effect(e)},N.effects.effect.pulsate=function(e,t){var n,i=N(this),r=N.effects.setMode(i,e.mode||"show"),o="show"===r,s="hide"===r,a=o||"hide"===r,l=2*(e.times||5)+(a?1:0),c=e.duration/l,u=0,d=i.queue(),h=d.length;for(!o&&i.is(":visible")||(i.css("opacity",0).show(),u=1),n=1;n
").appendTo(document.body).addClass(e.className).css({top:u.top-s,left:u.left-a,height:n.innerHeight(),width:n.innerWidth(),position:r?"fixed":"absolute"}).animate(c,e.duration,e.easing,function(){d.remove(),t()})},N.widget("ui.progressbar",{version:"1.11.4",options:{max:100,value:0,change:null,complete:null},min:0,_create:function(){this.oldValue=this.options.value=this._constrainedValue(),this.element.addClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").attr({role:"progressbar","aria-valuemin":this.min}),this.valueDiv=N("
").appendTo(this.element),this._refreshValue()},_destroy:function(){this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"),this.valueDiv.remove()},value:function(e){if(void 0===e)return this.options.value;this.options.value=this._constrainedValue(e),this._refreshValue()},_constrainedValue:function(e){return void 0===e&&(e=this.options.value),this.indeterminate=!1===e,"number"!=typeof e&&(e=0),!this.indeterminate&&Math.min(this.options.max,Math.max(this.min,e))},_setOptions:function(e){var t=e.value;delete e.value,this._super(e),this.options.value=this._constrainedValue(t),this._refreshValue()},_setOption:function(e,t){"max"===e&&(t=Math.max(this.min,t)),"disabled"===e&&this.element.toggleClass("ui-state-disabled",!!t).attr("aria-disabled",t),this._super(e,t)},_percentage:function(){return this.indeterminate?100:100*(this.options.value-this.min)/(this.options.max-this.min)},_refreshValue:function(){var e=this.options.value,t=this._percentage();this.valueDiv.toggle(this.indeterminate||e>this.min).toggleClass("ui-corner-right",e===this.options.max).width(t.toFixed(0)+"%"),this.element.toggleClass("ui-progressbar-indeterminate",this.indeterminate),this.indeterminate?(this.element.removeAttr("aria-valuenow"),this.overlayDiv||(this.overlayDiv=N("
").appendTo(this.valueDiv))):(this.element.attr({"aria-valuemax":this.options.max,"aria-valuenow":e}),this.overlayDiv&&(this.overlayDiv.remove(),this.overlayDiv=null)),this.oldValue!==e&&(this.oldValue=e,this._trigger("change")),e===this.options.max&&this._trigger("complete")}}),N.widget("ui.selectable",N.ui.mouse,{version:"1.11.4",options:{appendTo:"body",autoRefresh:!0,distance:0,filter:"*",tolerance:"touch",selected:null,selecting:null,start:null,stop:null,unselected:null,unselecting:null},_create:function(){var e,t=this;this.element.addClass("ui-selectable"),this.dragged=!1,this.refresh=function(){(e=N(t.options.filter,t.element[0])).addClass("ui-selectee"),e.each(function(){var e=N(this),t=e.offset();N.data(this,"selectable-item",{element:this,$element:e,left:t.left,top:t.top,right:t.left+e.outerWidth(),bottom:t.top+e.outerHeight(),startselected:!1,selected:e.hasClass("ui-selected"),selecting:e.hasClass("ui-selecting"),unselecting:e.hasClass("ui-unselecting")})})},this.refresh(),this.selectees=e.addClass("ui-selectee"),this._mouseInit(),this.helper=N("
")},_destroy:function(){this.selectees.removeClass("ui-selectee").removeData("selectable-item"),this.element.removeClass("ui-selectable ui-selectable-disabled"),this._mouseDestroy()},_mouseStart:function(n){var i=this,e=this.options;this.opos=[n.pageX,n.pageY],this.options.disabled||(this.selectees=N(e.filter,this.element[0]),this._trigger("start",n),N(e.appendTo).append(this.helper),this.helper.css({left:n.pageX,top:n.pageY,width:0,height:0}),e.autoRefresh&&this.refresh(),this.selectees.filter(".ui-selected").each(function(){var e=N.data(this,"selectable-item");e.startselected=!0,n.metaKey||n.ctrlKey||(e.$element.removeClass("ui-selected"),e.selected=!1,e.$element.addClass("ui-unselecting"),e.unselecting=!0,i._trigger("unselecting",n,{unselecting:e.element}))}),N(n.target).parents().addBack().each(function(){var e,t=N.data(this,"selectable-item");if(t)return e=!n.metaKey&&!n.ctrlKey||!t.$element.hasClass("ui-selected"),t.$element.removeClass(e?"ui-unselecting":"ui-selected").addClass(e?"ui-selecting":"ui-unselecting"),t.unselecting=!e,t.selecting=e,(t.selected=e)?i._trigger("selecting",n,{selecting:t.element}):i._trigger("unselecting",n,{unselecting:t.element}),!1}))},_mouseDrag:function(n){if(this.dragged=!0,!this.options.disabled){var e,i=this,r=this.options,o=this.opos[0],s=this.opos[1],a=n.pageX,l=n.pageY;return aa||e.rightl||e.bottomo&&e.rights&&e.bottom",options:{appendTo:null,disabled:null,icons:{button:"ui-icon-triangle-1-s"},position:{my:"left top",at:"left bottom",collision:"none"},width:null,change:null,close:null,focus:null,open:null,select:null},_create:function(){var e=this.element.uniqueId().attr("id");this.ids={element:e,button:e+"-button",menu:e+"-menu"},this._drawButton(),this._drawMenu(),this.options.disabled&&this.disable()},_drawButton:function(){var e=this;this.label=N("label[for='"+this.ids.element+"']").attr("for",this.ids.button),this._on(this.label,{click:function(e){this.button.focus(),e.preventDefault()}}),this.element.hide(),this.button=N("",{class:"ui-selectmenu-button ui-widget ui-state-default ui-corner-all",tabindex:this.options.disabled?-1:0,id:this.ids.button,role:"combobox","aria-expanded":"false","aria-autocomplete":"list","aria-owns":this.ids.menu,"aria-haspopup":"true"}).insertAfter(this.element),N("",{class:"ui-icon "+this.options.icons.button}).prependTo(this.button),this.buttonText=N("",{class:"ui-selectmenu-text"}).appendTo(this.button),this._setText(this.buttonText,this.element.find("option:selected").text()),this._resizeButton(),this._on(this.button,this._buttonEvents),this.button.one("focusin",function(){e.menuItems||e._refreshMenu()}),this._hoverable(this.button),this._focusable(this.button)},_drawMenu:function(){var i=this;this.menu=N("
    ",{"aria-hidden":"true","aria-labelledby":this.ids.button,id:this.ids.menu}),this.menuWrap=N("
    ",{class:"ui-selectmenu-menu ui-front"}).append(this.menu).appendTo(this._appendTo()),this.menuInstance=this.menu.menu({role:"listbox",select:function(e,t){e.preventDefault(),i._setSelection(),i._select(t.item.data("ui-selectmenu-item"),e)},focus:function(e,t){var n=t.item.data("ui-selectmenu-item");null!=i.focusIndex&&n.index!==i.focusIndex&&(i._trigger("focus",e,{item:n}),i.isOpen||i._select(n,e)),i.focusIndex=n.index,i.button.attr("aria-activedescendant",i.menuItems.eq(n.index).attr("id"))}}).menu("instance"),this.menu.addClass("ui-corner-bottom").removeClass("ui-corner-all"),this.menuInstance._off(this.menu,"mouseleave"),this.menuInstance._closeOnDocumentClick=function(){return!1},this.menuInstance._isDivider=function(){return!1}},refresh:function(){this._refreshMenu(),this._setText(this.buttonText,this._getSelectedItem().text()),this.options.width||this._resizeButton()},_refreshMenu:function(){this.menu.empty();var e,t=this.element.find("option");t.length&&(this._parseOptions(t),this._renderMenu(this.menu,this.items),this.menuInstance.refresh(),this.menuItems=this.menu.find("li").not(".ui-selectmenu-optgroup"),e=this._getSelectedItem(),this.menuInstance.focus(null,e),this._setAria(e.data("ui-selectmenu-item")),this._setOption("disabled",this.element.prop("disabled")))},open:function(e){this.options.disabled||(this.menuItems?(this.menu.find(".ui-state-focus").removeClass("ui-state-focus"),this.menuInstance.focus(null,this._getSelectedItem())):this._refreshMenu(),this.isOpen=!0,this._toggleAttr(),this._resizeMenu(),this._position(),this._on(this.document,this._documentClick),this._trigger("open",e))},_position:function(){this.menuWrap.position(N.extend({of:this.button},this.options.position))},close:function(e){this.isOpen&&(this.isOpen=!1,this._toggleAttr(),this.range=null,this._off(this.document),this._trigger("close",e))},widget:function(){return this.button},menuWidget:function(){return this.menu},_renderMenu:function(n,e){var i=this,r="";N.each(e,function(e,t){t.optgroup!==r&&(N("
  • ",{class:"ui-selectmenu-optgroup ui-menu-divider"+(t.element.parent("optgroup").prop("disabled")?" ui-state-disabled":""),text:t.optgroup}).appendTo(n),r=t.optgroup),i._renderItemData(n,t)})},_renderItemData:function(e,t){return this._renderItem(e,t).data("ui-selectmenu-item",t)},_renderItem:function(e,t){var n=N("
  • ");return t.disabled&&n.addClass("ui-state-disabled"),this._setText(n,t.label),n.appendTo(e)},_setText:function(e,t){t?e.text(t):e.html(" ")},_move:function(e,t){var n,i,r=".ui-menu-item";this.isOpen?n=this.menuItems.eq(this.focusIndex):(n=this.menuItems.eq(this.element[0].selectedIndex),r+=":not(.ui-state-disabled)"),(i="first"===e||"last"===e?n["first"===e?"prevAll":"nextAll"](r).eq(-1):n[e+"All"](r).eq(0)).length&&this.menuInstance.focus(t,i)},_getSelectedItem:function(){return this.menuItems.eq(this.element[0].selectedIndex)},_toggle:function(e){this[this.isOpen?"close":"open"](e)},_setSelection:function(){var e;this.range&&(window.getSelection?((e=window.getSelection()).removeAllRanges(),e.addRange(this.range)):this.range.select(),this.button.focus())},_documentClick:{mousedown:function(e){this.isOpen&&(N(e.target).closest(".ui-selectmenu-menu, #"+this.ids.button).length||this.close(e))}},_buttonEvents:{mousedown:function(){var e;window.getSelection?(e=window.getSelection()).rangeCount&&(this.range=e.getRangeAt(0)):this.range=document.selection.createRange()},click:function(e){this._setSelection(),this._toggle(e)},keydown:function(e){var t=!0;switch(e.keyCode){case N.ui.keyCode.TAB:case N.ui.keyCode.ESCAPE:this.close(e),t=!1;break;case N.ui.keyCode.ENTER:this.isOpen&&this._selectFocusedItem(e);break;case N.ui.keyCode.UP:e.altKey?this._toggle(e):this._move("prev",e);break;case N.ui.keyCode.DOWN:e.altKey?this._toggle(e):this._move("next",e);break;case N.ui.keyCode.SPACE:this.isOpen?this._selectFocusedItem(e):this._toggle(e);break;case N.ui.keyCode.LEFT:this._move("prev",e);break;case N.ui.keyCode.RIGHT:this._move("next",e);break;case N.ui.keyCode.HOME:case N.ui.keyCode.PAGE_UP:this._move("first",e);break;case N.ui.keyCode.END:case N.ui.keyCode.PAGE_DOWN:this._move("last",e);break;default:this.menu.trigger(e),t=!1}t&&e.preventDefault()}},_selectFocusedItem:function(e){var t=this.menuItems.eq(this.focusIndex);t.hasClass("ui-state-disabled")||this._select(t.data("ui-selectmenu-item"),e)},_select:function(e,t){var n=this.element[0].selectedIndex;this.element[0].selectedIndex=e.index,this._setText(this.buttonText,e.label),this._setAria(e),this._trigger("select",t,{item:e}),e.index!==n&&this._trigger("change",t,{item:e}),this.close(t)},_setAria:function(e){var t=this.menuItems.eq(e.index).attr("id");this.button.attr({"aria-labelledby":t,"aria-activedescendant":t}),this.menu.attr("aria-activedescendant",t)},_setOption:function(e,t){"icons"===e&&this.button.find("span.ui-icon").removeClass(this.options.icons.button).addClass(t.button),this._super(e,t),"appendTo"===e&&this.menuWrap.appendTo(this._appendTo()),"disabled"===e&&(this.menuInstance.option("disabled",t),this.button.toggleClass("ui-state-disabled",t).attr("aria-disabled",t),this.element.prop("disabled",t),t?(this.button.attr("tabindex",-1),this.close()):this.button.attr("tabindex",0)),"width"===e&&this._resizeButton()},_appendTo:function(){var e=this.options.appendTo;return e&&(e=e.jquery||e.nodeType?N(e):this.document.find(e).eq(0)),e&&e[0]||(e=this.element.closest(".ui-front")),e.length||(e=this.document[0].body),e},_toggleAttr:function(){this.button.toggleClass("ui-corner-top",this.isOpen).toggleClass("ui-corner-all",!this.isOpen).attr("aria-expanded",this.isOpen),this.menuWrap.toggleClass("ui-selectmenu-open",this.isOpen),this.menu.attr("aria-hidden",!this.isOpen)},_resizeButton:function(){var e=this.options.width;e||(e=this.element.show().outerWidth(),this.element.hide()),this.button.outerWidth(e)},_resizeMenu:function(){this.menu.outerWidth(Math.max(this.button.outerWidth(),this.menu.width("").outerWidth()+1))},_getCreateOptions:function(){return{disabled:this.element.prop("disabled")}},_parseOptions:function(e){var r=[];e.each(function(e,t){var n=N(t),i=n.parent("optgroup");r.push({element:n,index:e,value:n.val(),label:n.text(),optgroup:i.attr("label")||"",disabled:i.prop("disabled")||n.prop("disabled")})}),this.items=r},_destroy:function(){this.menuWrap.remove(),this.button.remove(),this.element.show(),this.element.removeUniqueId(),this.label.attr("for",this.ids.element)}}),N.widget("ui.slider",N.ui.mouse,{version:"1.11.4",widgetEventPrefix:"slide",options:{animate:!1,distance:0,max:100,min:0,orientation:"horizontal",range:!1,step:1,value:0,values:null,change:null,slide:null,start:null,stop:null},numPages:5,_create:function(){this._keySliding=!1,this._mouseSliding=!1,this._animateOff=!0,this._handleIndex=null,this._detectOrientation(),this._mouseInit(),this._calculateNewMax(),this.element.addClass("ui-slider ui-slider-"+this.orientation+" ui-widget ui-widget-content ui-corner-all"),this._refresh(),this._setOption("disabled",this.options.disabled),this._animateOff=!1},_refresh:function(){this._createRange(),this._createHandles(),this._setupEvents(),this._refreshValue()},_createHandles:function(){var e,t,n=this.options,i=this.element.find(".ui-slider-handle").addClass("ui-state-default ui-corner-all"),r=[];for(t=n.values&&n.values.length||1,i.length>t&&(i.slice(t).remove(),i=i.slice(0,t)),e=i.length;e");this.handles=i.add(N(r.join("")).appendTo(this.element)),this.handle=this.handles.eq(0),this.handles.each(function(e){N(this).data("ui-slider-handle-index",e)})},_createRange:function(){var e=this.options,t="";e.range?(!0===e.range&&(e.values?e.values.length&&2!==e.values.length?e.values=[e.values[0],e.values[0]]:N.isArray(e.values)&&(e.values=e.values.slice(0)):e.values=[this._valueMin(),this._valueMin()]),this.range&&this.range.length?this.range.removeClass("ui-slider-range-min ui-slider-range-max").css({left:"",bottom:""}):(this.range=N("
    ").appendTo(this.element),t="ui-slider-range ui-widget-header ui-corner-all"),this.range.addClass(t+("min"===e.range||"max"===e.range?" ui-slider-range-"+e.range:""))):(this.range&&this.range.remove(),this.range=null)},_setupEvents:function(){this._off(this.handles),this._on(this.handles,this._handleEvents),this._hoverable(this.handles),this._focusable(this.handles)},_destroy:function(){this.handles.remove(),this.range&&this.range.remove(),this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-widget ui-widget-content ui-corner-all"),this._mouseDestroy()},_mouseCapture:function(e){var t,n,i,r,o,s,a,l=this,c=this.options;return!c.disabled&&(this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()},this.elementOffset=this.element.offset(),t={x:e.pageX,y:e.pageY},n=this._normValueFromMouse(t),i=this._valueMax()-this._valueMin()+1,this.handles.each(function(e){var t=Math.abs(n-l.values(e));(t=this._valueMax())return this._valueMax();var t=0=t&&(i+=0 *",opacity:!1,placeholder:!1,revert:!1,scroll:!0,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1e3,activate:null,beforeStop:null,change:null,deactivate:null,out:null,over:null,receive:null,remove:null,sort:null,start:null,stop:null,update:null},_isOverAxis:function(e,t,n){return t<=e&&e*{ cursor: "+o.cursor+" !important; }").appendTo(r)),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",e,this._uiHash()),this._preserveHelperProportions||this._cacheHelperProportions(),!n)for(i=this.containers.length-1;0<=i;i--)this.containers[i]._trigger("activate",e,this._uiHash(this));return N.ui.ddmanager&&(N.ui.ddmanager.current=this),N.ui.ddmanager&&!o.dropBehaviour&&N.ui.ddmanager.prepareOffsets(this,e),this.dragging=!0,this.helper.addClass("ui-sortable-helper"),this._mouseDrag(e),!0},_mouseDrag:function(e){var t,n,i,r,o=this.options,s=!1;for(this.position=this._generatePosition(e),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-e.pageYe[this.floating?"width":"height"]?f:o",n.document[0]).addClass(i||n.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper");return"tbody"===e?n._createTrPlaceholder(n.currentItem.find("tr").eq(0),N("",n.document[0]).appendTo(t)):"tr"===e?n._createTrPlaceholder(n.currentItem,t):"img"===e&&t.attr("src",n.currentItem.attr("src")),i||t.css("visibility","hidden"),t},update:function(e,t){i&&!r.forcePlaceholderSize||(t.height()||t.height(n.currentItem.innerHeight()-parseInt(n.currentItem.css("paddingTop")||0,10)-parseInt(n.currentItem.css("paddingBottom")||0,10)),t.width()||t.width(n.currentItem.innerWidth()-parseInt(n.currentItem.css("paddingLeft")||0,10)-parseInt(n.currentItem.css("paddingRight")||0,10)))}}),n.placeholder=N(r.placeholder.element.call(n.element,n.currentItem)),n.currentItem.after(n.placeholder),r.placeholder.update(n,n.placeholder)},_createTrPlaceholder:function(e,t){var n=this;e.children().each(function(){N(" ",n.document[0]).attr("colspan",N(this).attr("colspan")||1).appendTo(t)})},_contactContainers:function(e){var t,n,i,r,o,s,a,l,c,u,d=null,h=null;for(t=this.containers.length-1;0<=t;t--)if(!N.contains(this.currentItem[0],this.containers[t].element[0]))if(this._intersectsWith(this.containers[t].containerCache)){if(d&&N.contains(this.containers[t].element[0],d.element[0]))continue;d=this.containers[t],h=t}else this.containers[t].containerCache.over&&(this.containers[t]._trigger("out",e,this._uiHash(this)),this.containers[t].containerCache.over=0);if(d)if(1===this.containers.length)this.containers[h].containerCache.over||(this.containers[h]._trigger("over",e,this._uiHash(this)),this.containers[h].containerCache.over=1);else{for(i=1e4,r=null,o=(c=d.floating||this._isFloating(this.currentItem))?"left":"top",s=c?"width":"height",u=c?"clientX":"clientY",n=this.items.length-1;0<=n;n--)N.contains(this.containers[h].element[0],this.items[n].item[0])&&this.items[n].item[0]!==this.currentItem[0]&&(a=this.items[n].item.offset()[o],l=!1,e[u]-a>this.items[n][s]/2&&(l=!0),Math.abs(e[u]-a)this.containment[2]&&(r=this.containment[2]+this.offset.click.left),e.pageY-this.offset.click.top>this.containment[3]&&(o=this.containment[3]+this.offset.click.top)),i.grid&&(t=this.originalPageY+Math.round((o-this.originalPageY)/i.grid[1])*i.grid[1],o=this.containment?t-this.offset.click.top>=this.containment[1]&&t-this.offset.click.top<=this.containment[3]?t:t-this.offset.click.top>=this.containment[1]?t-i.grid[1]:t+i.grid[1]:t,n=this.originalPageX+Math.round((r-this.originalPageX)/i.grid[0])*i.grid[0],r=this.containment?n-this.offset.click.left>=this.containment[0]&&n-this.offset.click.left<=this.containment[2]?n:n-this.offset.click.left>=this.containment[0]?n-i.grid[0]:n+i.grid[0]:n)),{top:o-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.scrollParent.scrollTop():a?0:s.scrollTop()),left:r-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():a?0:s.scrollLeft())}},_rearrange:function(e,t,n,i){n?n[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 r=this.counter;this._delay(function(){r===this.counter&&this.refreshPositions(!i)})},_clear:function(e,t){this.reverting=!1;var n,i=[];if(!this._noFinalSort&&this.currentItem.parent().length&&this.placeholder.before(this.currentItem),this._noFinalSort=null,this.helper[0]===this.currentItem[0]){for(n in this._storedCSS)"auto"!==this._storedCSS[n]&&"static"!==this._storedCSS[n]||(this._storedCSS[n]="");this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")}else this.currentItem.show();function r(t,n,i){return function(e){i._trigger(t,e,n._uiHash(n))}}for(this.fromOutside&&!t&&i.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||i.push(function(e){this._trigger("update",e,this._uiHash())}),this!==this.currentContainer&&(t||(i.push(function(e){this._trigger("remove",e,this._uiHash())}),i.push(function(t){return function(e){t._trigger("receive",e,this._uiHash(this))}}.call(this,this.currentContainer)),i.push(function(t){return function(e){t._trigger("update",e,this._uiHash(this))}}.call(this,this.currentContainer)))),n=this.containers.length-1;0<=n;n--)t||i.push(r("deactivate",this,this.containers[n])),this.containers[n].containerCache.over&&(i.push(r("out",this,this.containers[n])),this.containers[n].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(n=0;n",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 i={},r=this.element;return N.each(["min","max","step"],function(e,t){var n=r.attr(t);void 0!==n&&n.length&&(i[t]=n)}),i},_events:{keydown:function(e){this._start(e)&&this._keydown(e)&&e.preventDefault()},keyup:"_stop",focus:function(){this.previous=this.element.val()},blur:function(e){this.cancelBlur?delete this.cancelBlur:(this._stop(),this._refresh(),this.previous!==this.element.val()&&this._trigger("change",e))},mousewheel:function(e,t){if(t){if(!this.spinning&&!this._start(e))return!1;this._spin((0Math.ceil(.5*e.height())&&0"},_buttonHtml:function(){return""},_start:function(e){return!(!this.spinning&&!1===this._trigger("start",e))&&(this.counter||(this.counter=1),this.spinning=!0)},_repeat:function(e,t,n){e=e||500,clearTimeout(this.timer),this.timer=this._delay(function(){this._repeat(40,t,n)},e),this._spin(t*this.options.step,n)},_spin:function(e,t){var n=this.value()||0;this.counter||(this.counter=1),n=this._adjustValue(n+e*this._increment(this.counter)),this.spinning&&!1===this._trigger("spin",t,{value:n})||(this._value(n),this.counter++)},_increment:function(e){var t=this.options.incremental;return t?N.isFunction(t)?t(e):Math.floor(e*e*e/5e4-e*e/500+17*e/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.toString(),n=t.indexOf(".");return-1===n?0:t.length-n-1},_adjustValue:function(e){var t,n,i=this.options;return n=e-(t=null!==i.min?i.min:0),e=t+(n=Math.round(n/i.step)*i.step),e=parseFloat(e.toFixed(this._precision())),null!==i.max&&e>i.max?i.max:null!==i.min&&e?@\[\]\^`{|}~]/g,"\\$&"):""},refresh:function(){var e=this.options,t=this.tablist.children(":has(a[href])");e.disabled=N.map(t.filter(".ui-state-disabled"),function(e){return t.index(e)}),this._processTabs(),!1!==e.active&&this.anchors.length?this.active.length&&!N.contains(this.tablist[0],this.active[0])?this.tabs.length===e.disabled.length?(e.active=!1,this.active=N()):this._activate(this._findNextTab(Math.max(0,e.active-1),!1)):e.active=this.tabs.index(this.active):(e.active=!1,this.active=N()),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 l=this,e=this.tabs,t=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(e){N(this).is(".ui-state-disabled")&&e.preventDefault()}).delegate(".ui-tabs-anchor","focus"+this.eventNamespace,function(){N(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 N("a",this)[0]}).addClass("ui-tabs-anchor").attr({role:"presentation",tabIndex:-1}),this.panels=N(),this.anchors.each(function(e,t){var n,i,r,o=N(t).uniqueId().attr("id"),s=N(t).closest("li"),a=s.attr("aria-controls");l._isLocal(t)?(r=(n=t.hash).substring(1),i=l.element.find(l._sanitizeSelector(n))):(n="#"+(r=s.attr("aria-controls")||N({}).uniqueId()[0].id),(i=l.element.find(n)).length||(i=l._createPanel(r)).insertAfter(l.panels[e-1]||l.tablist),i.attr("aria-live","polite")),i.length&&(l.panels=l.panels.add(i)),a&&s.data("ui-tabs-aria-controls",a),s.attr({"aria-controls":r,"aria-labelledby":o}),i.attr("aria-labelledby",o)}),this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").attr("role","tabpanel"),e&&(this._off(e.not(this.tabs)),this._off(t.not(this.anchors)),this._off(n.not(this.panels)))},_getList:function(){return this.tablist||this.element.find("ol,ul").eq(0)},_createPanel:function(e){return N("
    ").attr("id",e).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").data("ui-tabs-destroy",!0)},_setupDisabled:function(e){N.isArray(e)&&(e.length?e.length===this.anchors.length&&(e=!0):e=!1);for(var t,n=0;t=this.tabs[n];n++)!0===e||-1!==N.inArray(n,e)?N(t).addClass("ui-state-disabled").attr("aria-disabled","true"):N(t).removeClass("ui-state-disabled").removeAttr("aria-disabled");this.options.disabled=e},_setupEvents:function(e){var n={};e&&N.each(e.split(" "),function(e,t){n[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,n),this._on(this.tabs,{keydown:"_tabKeydown"}),this._on(this.panels,{keydown:"_panelKeydown"}),this._focusable(this.tabs),this._hoverable(this.tabs)},_setupHeightStyle:function(e){var n,t=this.element.parent();"fill"===e?(n=t.height(),n-=this.element.outerHeight()-this.element.height(),this.element.siblings(":visible").each(function(){var e=N(this),t=e.css("position");"absolute"!==t&&"fixed"!==t&&(n-=e.outerHeight(!0))}),this.element.children().not(this.panels).each(function(){n-=N(this).outerHeight(!0)}),this.panels.each(function(){N(this).height(Math.max(0,n-N(this).innerHeight()+N(this).height()))}).css("overflow","auto")):"auto"===e&&(n=0,this.panels.each(function(){n=Math.max(n,N(this).height("").height())}).height(n))},_eventHandler:function(e){var t=this.options,n=this.active,i=N(e.currentTarget).closest("li"),r=i[0]===n[0],o=r&&t.collapsible,s=o?N():this._getPanelForTab(i),a=n.length?this._getPanelForTab(n):N(),l={oldTab:n,oldPanel:a,newTab:o?N():i,newPanel:s};e.preventDefault(),i.hasClass("ui-state-disabled")||i.hasClass("ui-tabs-loading")||this.running||r&&!t.collapsible||!1===this._trigger("beforeActivate",e,l)||(t.active=!o&&this.tabs.index(i),this.active=r?N():i,this.xhr&&this.xhr.abort(),a.length||s.length||N.error("jQuery UI Tabs: Mismatching fragment identifier."),s.length&&this.load(this.tabs.index(i),e),this._toggle(e,l))},_toggle:function(e,t){var n=this,i=t.newPanel,r=t.oldPanel;function o(){n.running=!1,n._trigger("activate",e,t)}function s(){t.newTab.closest("li").addClass("ui-tabs-active ui-state-active"),i.length&&n.options.show?n._show(i,n.options.show,o):(i.show(),o())}this.running=!0,r.length&&this.options.hide?this._hide(r,this.options.hide,function(){t.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),s()}):(t.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),r.hide(),s()),r.attr("aria-hidden","true"),t.oldTab.attr({"aria-selected":"false","aria-expanded":"false"}),i.length&&r.length?t.oldTab.attr("tabIndex",-1):i.length&&this.tabs.filter(function(){return 0===N(this).attr("tabIndex")}).attr("tabIndex",-1),i.attr("aria-hidden","false"),t.newTab.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0})},_activate:function(e){var t,n=this._findActive(e);n[0]!==this.active[0]&&(n.length||(n=this.active),t=n.find(".ui-tabs-anchor")[0],this._eventHandler({target:t,currentTarget:t,preventDefault:N.noop}))},_findActive:function(e){return!1===e?N():this.tabs.eq(e)},_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(){N.data(this,"ui-tabs-destroy")?N(this).remove():N(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 e=N(this),t=e.data("ui-tabs-aria-controls");t?e.attr("aria-controls",t).removeData("ui-tabs-aria-controls"):e.removeAttr("aria-controls")}),this.panels.show(),"content"!==this.options.heightStyle&&this.panels.css("height","")},enable:function(n){var e=this.options.disabled;!1!==e&&(e=void 0!==n&&(n=this._getIndex(n),N.isArray(e)?N.map(e,function(e){return e!==n?e:null}):N.map(this.tabs,function(e,t){return t!==n?t:null})),this._setupDisabled(e))},disable:function(e){var t=this.options.disabled;if(!0!==t){if(void 0===e)t=!0;else{if(e=this._getIndex(e),-1!==N.inArray(e,t))return;t=N.isArray(t)?N.merge([e],t).sort():[e]}this._setupDisabled(t)}},load:function(e,i){e=this._getIndex(e);var r=this,n=this.tabs.eq(e),t=n.find(".ui-tabs-anchor"),o=this._getPanelForTab(n),s={tab:n,panel:o},a=function(e,t){"abort"===t&&r.panels.stop(!1,!0),n.removeClass("ui-tabs-loading"),o.removeAttr("aria-busy"),e===r.xhr&&delete r.xhr};this._isLocal(t[0])||(this.xhr=N.ajax(this._ajaxSettings(t,i,s)),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),r._trigger("load",i,s),a(n,t)},1)}).fail(function(e,t){setTimeout(function(){a(e,t)},1)})))},_ajaxSettings:function(e,n,i){var r=this;return{url:e.attr("href"),beforeSend:function(e,t){return r._trigger("beforeLoad",n,N.extend({jqXHR:e,ajaxSettings:t},i))}}},_getPanelForTab:function(e){var t=N(e).attr("aria-controls");return this.element.find(this._sanitizeSelector("#"+t))}}),N.widget("ui.tooltip",{version:"1.11.4",options:{content:function(){var e=N(this).attr("title")||"";return N("").text(e).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(e,t){var n=(e.attr("aria-describedby")||"").split(/\s+/);n.push(t),e.data("ui-tooltip-id",t).attr("aria-describedby",N.trim(n.join(" ")))},_removeDescribedBy:function(e){var t=e.data("ui-tooltip-id"),n=(e.attr("aria-describedby")||"").split(/\s+/),i=N.inArray(t,n);-1!==i&&n.splice(i,1),e.removeData("ui-tooltip-id"),(n=N.trim(n.join(" ")))?e.attr("aria-describedby",n):e.removeAttr("aria-describedby")},_create:function(){this._on({mouseover:"open",focusin:"open"}),this.tooltips={},this.parents={},this.options.disabled&&this._disable(),this.liveRegion=N("
    ").attr({role:"log","aria-live":"assertive","aria-relevant":"additions"}).addClass("ui-helper-hidden-accessible").appendTo(this.document[0].body)},_setOption:function(e,t){var n=this;if("disabled"===e)return this[t?"_disable":"_enable"](),void(this.options[e]=t);this._super(e,t),"content"===e&&N.each(this.tooltips,function(e,t){n._updateContent(t.element)})},_disable:function(){var i=this;N.each(this.tooltips,function(e,t){var n=N.Event("blur");n.target=n.currentTarget=t.element[0],i.close(n,!0)}),this.element.find(this.options.items).addBack().each(function(){var e=N(this);e.is("[title]")&&e.data("ui-tooltip-title",e.attr("title")).removeAttr("title")})},_enable:function(){this.element.find(this.options.items).addBack().each(function(){var e=N(this);e.data("ui-tooltip-title")&&e.attr("title",e.data("ui-tooltip-title"))})},open:function(e){var n=this,t=N(e?e.target:this.element).closest(this.options.items);t.length&&!t.data("ui-tooltip-id")&&(t.attr("title")&&t.data("ui-tooltip-title",t.attr("title")),t.data("ui-tooltip-open",!0),e&&"mouseover"===e.type&&t.parents().each(function(){var e,t=N(this);t.data("ui-tooltip-open")&&((e=N.Event("blur")).target=e.currentTarget=this,n.close(e,!0)),t.attr("title")&&(t.uniqueId(),n.parents[this.id]={element:this,title:t.attr("title")},t.attr("title",""))}),this._registerCloseHandlers(e,t),this._updateContent(t,e))},_updateContent:function(t,n){var e,i=this.options.content,r=this,o=n?n.type:null;if("string"==typeof i)return this._open(n,t,i);(e=i.call(t[0],function(e){r._delay(function(){t.data("ui-tooltip-open")&&(n&&(n.type=o),this._open(n,t,e))})}))&&this._open(n,t,e)},_open:function(e,t,n){var i,r,o,s,a=N.extend({},this.options.position);function l(e){a.of=e,r.is(":hidden")||r.position(a)}n&&((i=this._find(t))?i.tooltip.find(".ui-tooltip-content").html(n):(t.is("[title]")&&(e&&"mouseover"===e.type?t.attr("title",""):t.removeAttr("title")),i=this._tooltip(t),r=i.tooltip,this._addDescribedBy(t,r.attr("id")),r.find(".ui-tooltip-content").html(n),this.liveRegion.children().hide(),n.clone?(s=n.clone()).removeAttr("id").find("[id]").removeAttr("id"):s=n,N("
    ").html(s).appendTo(this.liveRegion),this.options.track&&e&&/^mouse/.test(e.type)?(this._on(this.document,{mousemove:l}),l(e)):r.position(N.extend({of:t},this.options.position)),r.hide(),this._show(r,this.options.show),this.options.show&&this.options.show.delay&&(o=this.delayedShow=setInterval(function(){r.is(":visible")&&(l(a.of),clearInterval(o))},N.fx.interval)),this._trigger("open",e,{tooltip:r})))},_registerCloseHandlers:function(e,n){var t={keyup:function(e){if(e.keyCode===N.ui.keyCode.ESCAPE){var t=N.Event(e);t.currentTarget=n[0],this.close(t,!0)}}};n[0]!==this.element[0]&&(t.remove=function(){this._removeTooltip(this._find(n).tooltip)}),e&&"mouseover"!==e.type||(t.mouseleave="close"),e&&"focusin"!==e.type||(t.focusout="close"),this._on(!0,n,t)},close:function(e){var t,n=this,i=N(e?e.currentTarget:this.element),r=this._find(i);r?(t=r.tooltip,r.closing||(clearInterval(this.delayedShow),i.data("ui-tooltip-title")&&!i.attr("title")&&i.attr("title",i.data("ui-tooltip-title")),this._removeDescribedBy(i),r.hiding=!0,t.stop(!0),this._hide(t,this.options.hide,function(){n._removeTooltip(N(this))}),i.removeData("ui-tooltip-open"),this._off(i,"mouseleave focusout keyup"),i[0]!==this.element[0]&&this._off(i,"remove"),this._off(this.document,"mousemove"),e&&"mouseleave"===e.type&&N.each(this.parents,function(e,t){N(t.element).attr("title",t.title),delete n.parents[e]}),r.closing=!0,this._trigger("close",e,{tooltip:t}),r.hiding||(r.closing=!1))):i.removeData("ui-tooltip-open")},_tooltip:function(e){var t=N("
    ").attr("role","tooltip").addClass("ui-tooltip ui-widget ui-corner-all ui-widget-content "+(this.options.tooltipClass||"")),n=t.uniqueId().attr("id");return N("
    ").addClass("ui-tooltip-content").appendTo(t),t.appendTo(this.document[0].body),this.tooltips[n]={element:e,tooltip:t}},_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 r=this;N.each(this.tooltips,function(e,t){var n=N.Event("blur"),i=t.element;n.target=n.currentTarget=i[0],r.close(n,!0),N("#"+e).remove(),i.data("ui-tooltip-title")&&(i.attr("title")||i.attr("title",i.data("ui-tooltip-title")),i.removeData("ui-tooltip-title"))}),this.liveRegion.remove()}})}),function(e){if(e.support.touch="ontouchend"in document,e.support.touch){var t,n=e.ui.mouse.prototype,i=n._mouseInit,r=n._mouseDestroy;n._touchStart=function(e){!t&&this._mouseCapture(e.originalEvent.changedTouches[0])&&(t=!0,this._touchMoved=!1,o(e,"mouseover"),o(e,"mousemove"),o(e,"mousedown"))},n._touchMove=function(e){t&&(this._touchMoved=!0,o(e,"mousemove"))},n._touchEnd=function(e){t&&(o(e,"mouseup"),o(e,"mouseout"),this._touchMoved||o(e,"click"),t=!1)},n._mouseInit=function(){this.element.bind({touchstart:e.proxy(this,"_touchStart"),touchmove:e.proxy(this,"_touchMove"),touchend:e.proxy(this,"_touchEnd")}),i.call(this)},n._mouseDestroy=function(){this.element.unbind({touchstart:e.proxy(this,"_touchStart"),touchmove:e.proxy(this,"_touchMove"),touchend:e.proxy(this,"_touchEnd")}),r.call(this)}}function o(e,t){if(!(1s.byteLength){console.log("Invalid meta data: Invalid segment size.");break}if(i=p.metaDataParsers.jpeg[t])for(r=0;re.byteLength))return f.createObjectURL(new Blob([e.buffer.slice(t,t+n)]));console.log("Invalid Exif data: Invalid thumbnail data.")},f.exifTagTypes={1:{getValue:function(e,t){return e.getUint8(t)},size:1},2:{getValue:function(e,t){return String.fromCharCode(e.getUint8(t))},size:1,ascii:!0},3:{getValue:function(e,t,n){return e.getUint16(t,n)},size:2},4:{getValue:function(e,t,n){return e.getUint32(t,n)},size:4},5:{getValue:function(e,t,n){return e.getUint32(t,n)/e.getUint32(t+4,n)},size:8},9:{getValue:function(e,t,n){return e.getInt32(t,n)},size:4},10:{getValue:function(e,t,n){return e.getInt32(t,n)/e.getInt32(t+4,n)},size:8}},f.exifTagTypes[7]=f.exifTagTypes[1],f.getExifValue=function(e,t,n,i,r,o){var s,a,l,c,u,d,h=f.exifTagTypes[i];if(h){if(!((a=4<(s=h.size*r)?t+e.getUint32(n+8,o):n+8)+s>e.byteLength)){if(1===r)return h.getValue(e,a,o);for(l=[],c=0;ce.byteLength)console.log("Invalid Exif data: Invalid directory offset.");else{if(!((s=n+2+12*(o=e.getUint16(n,i)))+4>e.byteLength)){for(a=0;ae.byteLength)console.log("Invalid Exif data: Invalid segment size.");else if(0===e.getUint16(t+8)){switch(e.getUint16(l)){case 18761:o=!0;break;case 19789:o=!1;break;default:return void console.log("Invalid Exif data: Invalid byte alignment marker.")}42===e.getUint16(l+2,o)?(s=e.getUint32(l+4,o),i.exif=new f.ExifMap,(s=f.parseExifTags(e,l,l+s,o,i))&&!r.disableExifThumbnail&&(a={exif:{}},s=f.parseExifTags(e,l,l+s,o,a),a.exif[513]&&(i.exif.Thumbnail=f.getExifThumbnail(e,l+a.exif[513],a.exif[514]))),i.exif[34665]&&!r.disableExifSub&&f.parseExifTags(e,l,l+i.exif[34665],o,i),i.exif[34853]&&!r.disableExifGps&&f.parseExifTags(e,l,l+i.exif[34853],o,i)):console.log("Invalid Exif data: Missing TIFF marker.")}else console.log("Invalid Exif data: Missing byte alignment offset.")}},f.metaDataParsers.jpeg[65505].push(f.parseExifData)}),function(e){"use strict";"function"==typeof define&&define.amd?define(["./load-image","./load-image-exif"],e):"object"==typeof module&&module.exports?e(require("./load-image"),require("./load-image-exif")):e(window.loadImage)}(function(e){"use strict";e.ExifMap.prototype.tags={256:"ImageWidth",257:"ImageHeight",34665:"ExifIFDPointer",34853:"GPSInfoIFDPointer",40965:"InteroperabilityIFDPointer",258:"BitsPerSample",259:"Compression",262:"PhotometricInterpretation",274:"Orientation",277:"SamplesPerPixel",284:"PlanarConfiguration",530:"YCbCrSubSampling",531:"YCbCrPositioning",282:"XResolution",283:"YResolution",296:"ResolutionUnit",273:"StripOffsets",278:"RowsPerStrip",279:"StripByteCounts",513:"JPEGInterchangeFormat",514:"JPEGInterchangeFormatLength",301:"TransferFunction",318:"WhitePoint",319:"PrimaryChromaticities",529:"YCbCrCoefficients",532:"ReferenceBlackWhite",306:"DateTime",270:"ImageDescription",271:"Make",272:"Model",305:"Software",315:"Artist",33432:"Copyright",36864:"ExifVersion",40960:"FlashpixVersion",40961:"ColorSpace",40962:"PixelXDimension",40963:"PixelYDimension",42240:"Gamma",37121:"ComponentsConfiguration",37122:"CompressedBitsPerPixel",37500:"MakerNote",37510:"UserComment",40964:"RelatedSoundFile",36867:"DateTimeOriginal",36868:"DateTimeDigitized",37520:"SubSecTime",37521:"SubSecTimeOriginal",37522:"SubSecTimeDigitized",33434:"ExposureTime",33437:"FNumber",34850:"ExposureProgram",34852:"SpectralSensitivity",34855:"PhotographicSensitivity",34856:"OECF",34864:"SensitivityType",34865:"StandardOutputSensitivity",34866:"RecommendedExposureIndex",34867:"ISOSpeed",34868:"ISOSpeedLatitudeyyy",34869:"ISOSpeedLatitudezzz",37377:"ShutterSpeedValue",37378:"ApertureValue",37379:"BrightnessValue",37380:"ExposureBias",37381:"MaxApertureValue",37382:"SubjectDistance",37383:"MeteringMode",37384:"LightSource",37385:"Flash",37396:"SubjectArea",37386:"FocalLength",41483:"FlashEnergy",41484:"SpatialFrequencyResponse",41486:"FocalPlaneXResolution",41487:"FocalPlaneYResolution",41488:"FocalPlaneResolutionUnit",41492:"SubjectLocation",41493:"ExposureIndex",41495:"SensingMethod",41728:"FileSource",41729:"SceneType",41730:"CFAPattern",41985:"CustomRendered",41986:"ExposureMode",41987:"WhiteBalance",41988:"DigitalZoomRatio",41989:"FocalLengthIn35mmFilm",41990:"SceneCaptureType",41991:"GainControl",41992:"Contrast",41993:"Saturation",41994:"Sharpness",41995:"DeviceSettingDescription",41996:"SubjectDistanceRange",42016:"ImageUniqueID",42032:"CameraOwnerName",42033:"BodySerialNumber",42034:"LensSpecification",42035:"LensMake",42036:"LensModel",42037:"LensSerialNumber",0:"GPSVersionID",1:"GPSLatitudeRef",2:"GPSLatitude",3:"GPSLongitudeRef",4:"GPSLongitude",5:"GPSAltitudeRef",6:"GPSAltitude",7:"GPSTimeStamp",8:"GPSSatellites",9:"GPSStatus",10:"GPSMeasureMode",11:"GPSDOP",12:"GPSSpeedRef",13:"GPSSpeed",14:"GPSTrackRef",15:"GPSTrack",16:"GPSImgDirectionRef",17:"GPSImgDirection",18:"GPSMapDatum",19:"GPSDestLatitudeRef",20:"GPSDestLatitude",21:"GPSDestLongitudeRef",22:"GPSDestLongitude",23:"GPSDestBearingRef",24:"GPSDestBearing",25:"GPSDestDistanceRef",26:"GPSDestDistance",27:"GPSProcessingMethod",28:"GPSAreaInformation",29:"GPSDateStamp",30:"GPSDifferential",31:"GPSHPositioningError"},e.ExifMap.prototype.stringValues={ExposureProgram:{0:"Undefined",1:"Manual",2:"Normal program",3:"Aperture priority",4:"Shutter priority",5:"Creative program",6:"Action program",7:"Portrait mode",8:"Landscape mode"},MeteringMode:{0:"Unknown",1:"Average",2:"CenterWeightedAverage",3:"Spot",4:"MultiSpot",5:"Pattern",6:"Partial",255:"Other"},LightSource:{0:"Unknown",1:"Daylight",2:"Fluorescent",3:"Tungsten (incandescent light)",4:"Flash",9:"Fine weather",10:"Cloudy weather",11:"Shade",12:"Daylight fluorescent (D 5700 - 7100K)",13:"Day white fluorescent (N 4600 - 5400K)",14:"Cool white fluorescent (W 3900 - 4500K)",15:"White fluorescent (WW 3200 - 3700K)",17:"Standard light A",18:"Standard light B",19:"Standard light C",20:"D55",21:"D65",22:"D75",23:"D50",24:"ISO studio tungsten",255:"Other"},Flash:{0:"Flash did not fire",1:"Flash fired",5:"Strobe return light not detected",7:"Strobe return light detected",9:"Flash fired, compulsory flash mode",13:"Flash fired, compulsory flash mode, return light not detected",15:"Flash fired, compulsory flash mode, return light detected",16:"Flash did not fire, compulsory flash mode",24:"Flash did not fire, auto mode",25:"Flash fired, auto mode",29:"Flash fired, auto mode, return light not detected",31:"Flash fired, auto mode, return light detected",32:"No flash function",65:"Flash fired, red-eye reduction mode",69:"Flash fired, red-eye reduction mode, return light not detected",71:"Flash fired, red-eye reduction mode, return light detected",73:"Flash fired, compulsory flash mode, red-eye reduction mode",77:"Flash fired, compulsory flash mode, red-eye reduction mode, return light not detected",79:"Flash fired, compulsory flash mode, red-eye reduction mode, return light detected",89:"Flash fired, auto mode, red-eye reduction mode",93:"Flash fired, auto mode, return light not detected, red-eye reduction mode",95:"Flash fired, auto mode, return light detected, red-eye reduction mode"},SensingMethod:{1:"Undefined",2:"One-chip color area sensor",3:"Two-chip color area sensor",4:"Three-chip color area sensor",5:"Color sequential area sensor",7:"Trilinear sensor",8:"Color sequential linear sensor"},SceneCaptureType:{0:"Standard",1:"Landscape",2:"Portrait",3:"Night scene"},SceneType:{1:"Directly photographed"},CustomRendered:{0:"Normal process",1:"Custom process"},WhiteBalance:{0:"Auto white balance",1:"Manual white balance"},GainControl:{0:"None",1:"Low gain up",2:"High gain up",3:"Low gain down",4:"High gain down"},Contrast:{0:"Normal",1:"Soft",2:"Hard"},Saturation:{0:"Normal",1:"Low saturation",2:"High saturation"},Sharpness:{0:"Normal",1:"Soft",2:"Hard"},SubjectDistanceRange:{0:"Unknown",1:"Macro",2:"Close view",3:"Distant view"},FileSource:{3:"DSC"},ComponentsConfiguration:{0:"",1:"Y",2:"Cb",3:"Cr",4:"R",5:"G",6:"B"},Orientation:{1:"top-left",2:"top-right",3:"bottom-right",4:"bottom-left",5:"left-top",6:"right-top",7:"right-bottom",8:"left-bottom"}},e.ExifMap.prototype.getText=function(e){var t=this.get(e);switch(e){case"LightSource":case"Flash":case"MeteringMode":case"ExposureProgram":case"SensingMethod":case"SceneCaptureType":case"SceneType":case"CustomRendered":case"WhiteBalance":case"GainControl":case"Contrast":case"Saturation":case"Sharpness":case"SubjectDistanceRange":case"FileSource":case"Orientation":return this.stringValues[e][t];case"ExifVersion":case"FlashpixVersion":if(!t)return;return String.fromCharCode(t[0],t[1],t[2],t[3]);case"ComponentsConfiguration":if(!t)return;return this.stringValues[e][t[0]]+this.stringValues[e][t[1]]+this.stringValues[e][t[2]]+this.stringValues[e][t[3]];case"GPSVersionID":if(!t)return;return t[0]+"."+t[1]+"."+t[2]+"."+t[3]}return String(t)},function(e){var t,n=e.tags,i=e.map;for(t in n)n.hasOwnProperty(t)&&(i[n[t]]=t)}(e.ExifMap.prototype),e.ExifMap.prototype.getAll=function(){var e,t,n={};for(e in this)this.hasOwnProperty(e)&&(t=this.tags[e])&&(n[t]=this.getText(t));return n}}),function(e){"use strict";"function"==typeof define&&define.amd?define(["./load-image","./load-image-meta"],e):"object"==typeof module&&module.exports?e(require("./load-image"),require("./load-image-meta")):e(window.loadImage)}(function(d){"use strict";d.IptcMap=function(){return this},d.IptcMap.prototype.map={ObjectName:5},d.IptcMap.prototype.get=function(e){return this[e]||this[this.map[e]]},d.parseIptcTags=function(e,t,n,i){for(var r,o,s=t;s').prop("disabled")),v.support.xhrFileUpload=!(!window.ProgressEvent||!window.FileReader),v.support.xhrFormDataFileUpload=!!window.FormData,v.support.blobSlice=window.Blob&&(Blob.prototype.slice||Blob.prototype.webkitSlice||Blob.prototype.mozSlice),v.widget("blueimp.fileupload",{options:{dropZone:v(document),pasteZone:void 0,fileInput:void 0,replaceFileInput:!0,paramName:void 0,singleFileUploads:!0,limitMultiFileUploads:void 0,limitMultiFileUploadSize:void 0,limitMultiFileUploadSizeOverhead:512,sequentialUploads:!1,limitConcurrentUploads:void 0,forceIframeTransport:!1,redirect:void 0,redirectParamName:void 0,postMessage:void 0,multipart:!0,maxChunkSize:void 0,uploadedBytes:void 0,recalculateProgress:!0,progressInterval:100,bitrateInterval:500,autoUpload:!0,messages:{uploadedBytes:"Uploaded bytes exceed file size"},i18n:function(n,e){return n=this.messages[n]||n.toString(),e&&v.each(e,function(e,t){n=n.replace("{"+e+"}",t)}),n},formData:function(e){return e.serializeArray()},add:function(e,t){if(e.isDefaultPrevented())return!1;(t.autoUpload||!1!==t.autoUpload&&v(this).fileupload("option","autoUpload"))&&t.process().done(function(){t.submit()})},processData:!1,contentType:!1,cache:!1,timeout:0},_specialOptions:["fileInput","dropZone","pasteZone","multipart","forceIframeTransport"],_blobSlice:v.support.blobSlice&&function(){return(this.slice||this.webkitSlice||this.mozSlice).apply(this,arguments)},_BitrateTimer:function(){this.timestamp=Date.now?Date.now():(new Date).getTime(),this.loaded=0,this.bitrate=0,this.getBitrate=function(e,t,n){var i=e-this.timestamp;return(!this.bitrate||!n||n").prop("href",e.url).prop("host");e.dataType="iframe "+(e.dataType||""),e.formData=this._getFormData(e),e.redirect&&t&&t!==location.host&&e.formData.push({name:e.redirectParamName||"redirect",value:e.redirect})},_initDataSettings:function(e){this._isXHRUpload(e)?(this._chunkedUpload(e,!0)||(e.data||this._initXHRData(e),this._initProgressListener(e)),e.postMessage&&(e.dataType="postmessage "+(e.dataType||""))):this._initIframeSettings(e)},_getParamName:function(e){var t=v(e.fileInput),i=e.paramName;return i?v.isArray(i)||(i=[i]):(i=[],t.each(function(){for(var e=v(this),t=e.prop("name")||"files[]",n=(e.prop("files")||[1]).length;n;)i.push(t),n-=1}),i.length||(i=[t.prop("name")||"files[]"])),i},_initFormSettings:function(e){e.form&&e.form.length||(e.form=v(e.fileInput.prop("form")),e.form.length||(e.form=v(this.options.fileInput.prop("form")))),e.paramName=this._getParamName(e),e.url||(e.url=e.form.prop("action")||location.href),e.type=(e.type||"string"===v.type(e.form.prop("method"))&&e.form.prop("method")||"").toUpperCase(),"POST"!==e.type&&"PUT"!==e.type&&"PATCH"!==e.type&&(e.type="POST"),e.formAcceptCharset||(e.formAcceptCharset=e.form.attr("accept-charset"))},_getAJAXSettings:function(e){var t=v.extend({},this.options,e);return this._initFormSettings(t),this._initDataSettings(t),t},_getDeferredState:function(e){return e.state?e.state():e.isResolved()?"resolved":e.isRejected()?"rejected":"pending"},_enhancePromise:function(e){return e.success=e.done,e.error=e.fail,e.complete=e.always,e},_getXHRPromise:function(e,t,n){var i=v.Deferred(),r=i.promise();return t=t||this.options.context||r,!0===e?i.resolveWith(t,n):!1===e&&i.rejectWith(t,n),r.abort=i.promise,this._enhancePromise(r)},_addConvenienceMethods:function(e,n){var i=this,r=function(e){return v.Deferred().resolveWith(i,e).promise()};n.process=function(e,t){return(e||t)&&(n._processQueue=this._processQueue=(this._processQueue||r([this])).then(function(){return n.errorThrown?v.Deferred().rejectWith(i,[n]).promise():r(arguments)}).then(e,t)),this._processQueue||r([this])},n.submit=function(){return"pending"!==this.state()&&(n.jqXHR=this.jqXHR=!1!==i._trigger("submit",v.Event("submit",{delegatedEvent:e}),this)&&i._onSend(e,this)),this.jqXHR||i._getXHRPromise()},n.abort=function(){return this.jqXHR?this.jqXHR.abort():(this.errorThrown="abort",i._trigger("fail",null,this),i._getXHRPromise(!1))},n.state=function(){return this.jqXHR?i._getDeferredState(this.jqXHR):this._processQueue?i._getDeferredState(this._processQueue):void 0},n.processing=function(){return!this.jqXHR&&this._processQueue&&"pending"===i._getDeferredState(this._processQueue)},n.progress=function(){return this._progress},n.response=function(){return this._response}},_getUploadedBytes:function(e){var t=e.getResponseHeader("Range"),n=t&&t.split("-"),i=n&&1s._sending)for(var i=s._slots.shift();i;){if("pending"===s._getDeferredState(i)){i.resolve();break}i=s._slots.shift()}0===s._active&&s._trigger("stop")})};return this._beforeSend(e,a),this.options.sequentialUploads||this.options.limitConcurrentUploads&&this.options.limitConcurrentUploads<=this._sending?((o=1h||d&&d<=t+1-g)&&(s.push(c.slice(g,t+1)),(e=m.slice(g,t+1)).length||(e=m),o.push(e),g=t+1,p=0);else o=m;else for(s=[],o=[],t=0;t").append(i)[0].reset(),n.after(i).detach(),t&&i.focus(),v.cleanData(n.unbind("remove")),this.options.fileInput=this.options.fileInput.map(function(e,t){return t===n[0]?i[0]:t}),n[0]===this.element[0]&&(this.element=i)},_handleFileTreeEntry:function(n,i){var e,r=this,o=v.Deferred(),s=[],a=function(e){e&&!e.entry&&(e.entry=n),o.resolve([e])},l=function(){e.readEntries(function(e){var t;e.length?(s=s.concat(e),l()):(t=s,r._handleFileTreeEntries(t,i+n.name+"/").done(function(e){o.resolve(e)}).fail(a))},a)};return i=i||"",n.isFile?n._file?(n._file.relativePath=i,o.resolve(n._file)):n.file(function(e){e.relativePath=i,o.resolve(e)},a):n.isDirectory?(e=n.createReader(),l()):o.resolve([]),o.promise()},_handleFileTreeEntries:function(e,t){var n=this;return v.when.apply(v,v.map(e,function(e){return n._handleFileTreeEntry(e,t)})).then(function(){return Array.prototype.concat.apply([],arguments)})},_getDroppedFiles:function(e){var t=(e=e||{}).items;return t&&t.length&&(t[0].webkitGetAsEntry||t[0].getAsEntry)?this._handleFileTreeEntries(v.map(t,function(e){var t;return e.webkitGetAsEntry?((t=e.webkitGetAsEntry())&&(t._file=e.getAsFile()),t):e.getAsEntry()})):v.Deferred().resolve(v.makeArray(e.files)).promise()},_getSingleFileInputFiles:function(e){var t,n,i=(e=v(e)).prop("webkitEntries")||e.prop("entries");if(i&&i.length)return this._handleFileTreeEntries(i);if((t=v.makeArray(e.prop("files"))).length)void 0===t[0].name&&t[0].fileName&&v.each(t,function(e,t){t.name=t.fileName,t.size=t.fileSize});else{if(!(n=e.prop("value")))return v.Deferred().resolve([]).promise();t=[{name:n.replace(/^.*\\/,"")}]}return v.Deferred().resolve(t).promise()},_getFileInputFiles:function(e){return e instanceof v&&1!==e.length?v.when.apply(v,v.map(e,this._getSingleFileInputFiles)).then(function(){return Array.prototype.concat.apply([],arguments)}):this._getSingleFileInputFiles(e)},_onChange:function(t){var n=this,i={fileInput:v(t.target),form:v(t.target.form)};this._getFileInputFiles(i.fileInput).always(function(e){i.files=e,n.options.replaceFileInput&&n._replaceFileInput(i),!1!==n._trigger("change",v.Event("change",{delegatedEvent:t}),i)&&n._onAdd(t,i)})},_onPaste:function(e){var t=e.originalEvent&&e.originalEvent.clipboardData&&e.originalEvent.clipboardData.items,i={files:[]};t&&t.length&&(v.each(t,function(e,t){var n=t.getAsFile&&t.getAsFile();n&&i.files.push(n)}),!1!==this._trigger("paste",v.Event("paste",{delegatedEvent:e}),i)&&this._onAdd(e,i))},_onDrop:function(t){t.dataTransfer=t.originalEvent&&t.originalEvent.dataTransfer;var n=this,e=t.dataTransfer,i={};e&&e.files&&e.files.length&&(t.preventDefault(),this._getDroppedFiles(e).always(function(e){i.files=e,!1!==n._trigger("drop",v.Event("drop",{delegatedEvent:t}),i)&&n._onAdd(t,i)}))},_onDragOver:e("dragover"),_onDragEnter:e("dragenter"),_onDragLeave:e("dragleave"),_initEventHandlers:function(){this._isXHRUpload(this.options)&&(this._on(this.options.dropZone,{dragover:this._onDragOver,drop:this._onDrop,dragenter:this._onDragEnter,dragleave:this._onDragLeave}),this._on(this.options.pasteZone,{paste:this._onPaste})),v.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(e,t){var n=-1!==v.inArray(e,this._specialOptions);n&&this._destroyEventHandlers(),this._super(e,t),n&&(this._initSpecialOptions(),this._initEventHandlers())},_initSpecialOptions:function(){var e=this.options;void 0===e.fileInput?e.fileInput=this.element.is('input[type="file"]')?this.element:this.element.find('input[type="file"]'):e.fileInput instanceof v||(e.fileInput=v(e.fileInput)),e.dropZone instanceof v||(e.dropZone=v(e.dropZone)),e.pasteZone instanceof v||(e.pasteZone=v(e.pasteZone))},_getRegExp:function(e){var t=e.split("/"),n=t.pop();return t.shift(),new RegExp(t.join("/"),n)},_isRegExpOption:function(e,t){return"url"!==e&&"string"===v.type(t)&&/^\/.*\/[igm]{0,3}$/.test(t)},_initDataAttributes:function(){var r=this,o=this.options,s=this.element.data();v.each(this.element[0].attributes,function(e,t){var n,i=t.name.toLowerCase();/^data-/.test(i)&&(i=i.slice(5).replace(/-[a-z]/g,function(e){return e.charAt(1).toUpperCase()}),n=s[i],r._isRegExpOption(i,n)&&(n=r._getRegExp(n)),o[i]=n)})},_create:function(){this._initDataAttributes(),this._initSpecialOptions(),this._slots=[],this._sequence=this._getXHRPromise(!0),this._sending=this._active=0,this._initProgressObject(this),this._initEventHandlers()},active:function(){return this._active},progress:function(){return this._progress},add:function(t){var n=this;t&&!this.options.disabled&&(t.fileInput&&!t.files?this._getFileInputFiles(t.fileInput).always(function(e){t.files=e,n._onAdd(null,t)}):(t.files=v.makeArray(t.files),this._onAdd(null,t)))},send:function(t){if(t&&!this.options.disabled){if(t.fileInput&&!t.files){var n,i,r=this,o=v.Deferred(),e=o.promise();return e.abort=function(){return i=!0,n?n.abort():(o.reject(null,"abort","abort"),e)},this._getFileInputFiles(t.fileInput).always(function(e){i||(e.length?(t.files=e,(n=r._onSend(null,t)).then(function(e,t,n){o.resolve(e,t,n)},function(e,t,n){o.reject(e,t,n)})):o.reject())}),this._enhancePromise(e)}if(t.files=v.makeArray(t.files),t.files.length)return this._onSend(null,t)}return this._getXHRPromise(!1,t&&t.context)}})}),function(e){"use strict";"function"==typeof define&&define.amd?define(["jquery","./jquery.fileupload"],e):"object"==typeof exports?e(require("jquery"),require("./jquery.fileupload")):e(window.jQuery)}(function(s){"use strict";var i=s.blueimp.fileupload.prototype.options.add;s.widget("blueimp.fileupload",s.blueimp.fileupload,{options:{processQueue:[],add:function(e,t){var n=s(this);t.process(function(){return n.fileupload("process",t)}),i.call(this,e,t)}},processActions:{},_processFile:function(e,i){var r=this,o=s.Deferred().resolveWith(r,[e]).promise();return this._trigger("process",null,e),s.each(e.processQueue,function(e,t){var n=function(e){return i.errorThrown?s.Deferred().rejectWith(r,[i]).promise():r.processActions[t.action].call(r,e,t)};o=o.then(n,t.always&&n)}),o.done(function(){r._trigger("processdone",null,e),r._trigger("processalways",null,e)}).fail(function(){r._trigger("processfail",null,e),r._trigger("processalways",null,e)}),o},_transformProcessQueue:function(r){var t=[];s.each(r.processQueue,function(){var n={},e=this.action,i=!0===this.prefix?e:this.prefix;s.each(this,function(e,t){"string"===s.type(t)&&"@"===t.charAt(0)?n[e]=r[t.slice(1)||(i?i+e.charAt(0).toUpperCase()+e.slice(1):e)]:n[e]=t}),t.push(n)}),r.processQueue=t},processing:function(){return this._processing},process:function(i){var r=this,o=s.extend({},this.options,i);return o.processQueue&&o.processQueue.length&&(this._transformProcessQueue(o),0===this._processing&&this._trigger("processstart"),s.each(i.files,function(e){var t=e?s.extend({},o):o,n=function(){return i.errorThrown?s.Deferred().rejectWith(r,[i]).promise():r._processFile(t,i)};t.index=e,r._processing+=1,r._processingQueue=r._processingQueue.then(n,n).always(function(){r._processing-=1,0===r._processing&&r._trigger("processstop")})})),this._processingQueue},_create:function(){this._super(),this._processing=0,this._processingQueue=s.Deferred().resolveWith(this).promise()}})}),function(e){"use strict";"function"==typeof define&&define.amd?define(["jquery","load-image","load-image-meta","load-image-scale","load-image-exif","canvas-to-blob","./jquery.fileupload-process"],e):"object"==typeof exports?e(require("jquery"),require("blueimp-load-image/js/load-image"),require("blueimp-load-image/js/load-image-meta"),require("blueimp-load-image/js/load-image-scale"),require("blueimp-load-image/js/load-image-exif"),require("blueimp-canvas-to-blob"),require("./jquery.fileupload-process")):e(window.jQuery,window.loadImage)}(function(a,l){"use strict";a.blueimp.fileupload.prototype.options.processQueue.unshift({action:"loadImageMetaData",disableImageHead:"@",disableExif:"@",disableExifThumbnail:"@",disableExifSub:"@",disableExifGps:"@",disabled:"@disableImageMetaDataLoad"},{action:"loadImage",prefix:!0,fileTypes:"@",maxFileSize:"@",noRevoke:"@",disabled:"@disableImageLoad"},{action:"resizeImage",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",prefix:"preview",maxWidth:"@",maxHeight:"@",minWidth:"@",minHeight:"@",crop:"@",orientation:"@",thumbnail:"@",canvas:"@",disabled:"@disableImagePreview"},{action:"setImage",name:"@imagePreviewName",disabled:"@disableImagePreview"},{action:"deleteImageReferences",disabled:"@disableImageReferencesDeletion"}),a.widget("blueimp.fileupload",a.blueimp.fileupload,{options:{loadImageFileTypes:/^image\/(gif|jpeg|png|svg\+xml)$/,loadImageMaxFileSize:1e7,imageMaxWidth:1920,imageMaxHeight:1080,imageOrientation:!1,imageCrop:!1,disableImageResize:!0,previewMaxWidth:80,previewMaxHeight:80,previewOrientation:!0,previewThumbnail:!0,previewCrop:!1,previewCanvas:!0},processActions:{loadImage:function(t,e){if(e.disabled)return t;var n=this,i=t.files[t.index],r=a.Deferred();return"number"===a.type(e.maxFileSize)&&i.size>e.maxFileSize||e.fileTypes&&!e.fileTypes.test(i.type)||!l(i,function(e){e.src&&(t.img=e),r.resolveWith(n,[t])},e)?t:r.promise()},resizeImage:function(t,n){if(n.disabled||!t.canvas&&!t.img)return t;n=a.extend({canvas:!0},n);var e,i=this,r=a.Deferred(),o=n.canvas&&t.canvas||t.img,s=function(e){e&&(e.width!==o.width||e.height!==o.height||n.forceResize)&&(t[e.getContext?"canvas":"img"]=e),t.preview=e,r.resolveWith(i,[t])};if(t.exif){if(!0===n.orientation&&(n.orientation=t.exif.get("Orientation")),n.thumbnail&&(e=t.exif.get("Thumbnail")))return l(e,s,n),r.promise();t.orientation?delete n.orientation:t.orientation=n.orientation}return o?(s(l.scale(o,n)),r.promise()):t},saveImage:function(t,e){if(!t.canvas||e.disabled)return t;var n=this,i=t.files[t.index],r=a.Deferred();return t.canvas.toBlob?(t.canvas.toBlob(function(e){e.name||(i.type===e.type?e.name=i.name:i.name&&(e.name=i.name.replace(/\.\w+$/,"."+e.type.substr(6)))),i.type!==e.type&&delete t.imageHead,t.files[t.index]=e,r.resolveWith(n,[t])},e.type||i.type,e.quality),r.promise()):t},loadImageMetaData:function(t,e){if(e.disabled)return t;var n=this,i=a.Deferred();return l.parseMetaData(t.files[t.index],function(e){a.extend(t,e),i.resolveWith(n,[t])},e),i.promise()},saveImageMetaData:function(e,t){if(!(e.imageHead&&e.canvas&&e.canvas.toBlob)||t.disabled)return e;var n=e.files[e.index],i=new Blob([e.imageHead,this._blobSlice.call(n,20)],{type:n.type});return i.name=n.name,e.files[e.index]=i,e},setImage:function(e,t){return e.preview&&!t.disabled&&(e.files[e.index][t.name||"preview"]=e.preview),e},deleteImageReferences:function(e,t){return t.disabled||(delete e.img,delete e.canvas,delete e.preview,delete e.imageHead),e}}})}),function(e){"use strict";"function"==typeof define&&define.amd?define(["jquery","./jquery.fileupload-process"],e):"object"==typeof exports?e(require("jquery"),require("./jquery.fileupload-process")):e(window.jQuery)}(function(s){"use strict";s.blueimp.fileupload.prototype.options.processQueue.push({action:"validate",always:!0,acceptFileTypes:"@",maxFileSize:"@",minFileSize:"@",maxNumberOfFiles:"@",disabled:"@disableValidation"}),s.widget("blueimp.fileupload",s.blueimp.fileupload,{options:{getNumberOfFiles:s.noop,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(e,t){if(t.disabled)return e;var n,i=s.Deferred(),r=this.options,o=e.files[e.index];return(t.minFileSize||t.maxFileSize)&&(n=o.size),"number"===s.type(t.maxNumberOfFiles)&&(r.getNumberOfFiles()||0)+e.files.length>t.maxNumberOfFiles?o.error=r.i18n("maxNumberOfFiles"):!t.acceptFileTypes||t.acceptFileTypes.test(o.type)||t.acceptFileTypes.test(o.name)?n>t.maxFileSize?o.error=r.i18n("maxFileSize"):"number"===s.type(n)&&n=n.x&&r.x+r.w<=n.w+n.x&&r.y>=n.y&&r.y+r.h<=n.h+n.y)return i[o];return null},intersect:function(e,t){var n,i,r,o;return n=f(e.x,t.x),i=f(e.y,t.y),r=s(e.x+e.w,t.x+t.w),o=s(e.y+e.h,t.y+t.h),r-n<0||o-i<0?null:p(n,i,r-n,o-i)},clamp:function(e,t,n){var i,r,o,s,a,l,c,u,d,h;return a=e.x,l=e.y,c=e.x+e.w,u=e.y+e.h,d=t.x+t.w,h=t.y+t.h,i=f(0,t.x-a),r=f(0,t.y-l),o=f(0,c-d),s=f(0,u-h),a+=i,l+=r,n&&(c+=i,u+=r,a-=o,l-=s),p(a,l,(c-=o)-a,(u-=s)-l)},create:p,fromClientRect:function(e){return p(e.left,e.top,e.width,e.height)}}}),e("tinymce/util/Promise",[],function(){if(window.Promise)return window.Promise;var e=o.immediateFn||"function"==typeof setImmediate&&setImmediate||function(e){setTimeout(e,1)};function n(e,t){return function(){e.apply(t,arguments)}}var t=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)};function o(e){if("object"!=typeof this)throw new TypeError("Promises must be constructed via new");if("function"!=typeof e)throw new TypeError("not a function");this._state=null,this._value=null,this._deferreds=[],c(e,n(i,this),n(r,this))}function s(n){var i=this;null!==this._state?e(function(){var e=i._state?n.onFulfilled:n.onRejected;if(null!==e){var t;try{t=e(i._value)}catch(e){return void n.reject(e)}n.resolve(t)}else(i._state?n.resolve:n.reject)(i._value)}):this._deferreds.push(n)}function i(e){try{if(e===this)throw new TypeError("A promise cannot be resolved with itself.");if(e&&("object"==typeof e||"function"==typeof e)){var t=e.then;if("function"==typeof t)return void c(n(t,e),n(i,this),n(r,this))}this._state=!0,this._value=e,a.call(this)}catch(e){r.call(this,e)}}function r(e){this._state=!1,this._value=e,a.call(this)}function a(){for(var e=0,t=this._deferreds.length;e+~]|"+B+")"+B+"*"),U=new RegExp("="+B+"*([^\\]'\"]*?)"+B+"*\\]","g"),q=new RegExp(F),V=new RegExp("^"+L+"$"),$={ID:new RegExp("^#("+L+")"),CLASS:new RegExp("^\\.("+L+")"),TAG:new RegExp("^("+L+"|[*])"),ATTR:new RegExp("^"+H),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+B+"*(even|odd|(([+-]|)(\\d*)n|)"+B+"*(?:([+-]|)"+B+"*(\\d+)|))"+B+"*\\)|)","i"),bool:new RegExp("^(?:"+O+")$","i"),needsContext:new RegExp("^"+B+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+B+"*((?:-\\d)?\\d*)"+B+"*\\)|)(?=[^-]|$)","i")},K=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,Y=/^[^{]+\{\s*\[native \w/,X=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,Q=/[+~]/,G=/'|\\/g,Z=new RegExp("\\\\([\\da-f]{1,6}"+B+"?|("+B+")|.)","ig"),ee=function(e,t,n){var i="0x"+t-65536;return i!=i||n?t:i<0?String.fromCharCode(i+65536):String.fromCharCode(i>>10|55296,1023&i|56320)};try{P.apply(t=M.call(T.childNodes),T.childNodes),t[T.childNodes.length].nodeType}catch(e){P={apply:t.length?function(e,t){A.apply(e,M.call(t))}:function(e,t){for(var n=e.length,i=0;e[n++]=t[i++];);e.length=n-1}}}function te(e,t,n,i){var r,o,s,a,l,c,u,d,h,f;if((t?t.ownerDocument||t:T)!==w&&v(t),n=n||[],!e||"string"!=typeof e)return n;if(1!==(a=(t=t||w).nodeType)&&9!==a)return[];if(y&&!i){if(r=X.exec(e))if(s=r[1]){if(9===a){if(!(o=t.getElementById(s))||!o.parentNode)return n;if(o.id===s)return n.push(o),n}else if(t.ownerDocument&&(o=t.ownerDocument.getElementById(s))&&C(t,o)&&o.id===s)return n.push(o),n}else{if(r[2])return P.apply(n,t.getElementsByTagName(e)),n;if((s=r[3])&&p.getElementsByClassName)return P.apply(n,t.getElementsByClassName(s)),n}if(p.qsa&&(!b||!b.test(e))){if(d=u=k,h=t,f=9===a&&e,1===a&&"object"!==t.nodeName.toLowerCase()){for(c=m(e),(u=t.getAttribute("id"))?d=u.replace(G,"\\$&"):t.setAttribute("id",d),d="[id='"+d+"'] ",l=c.length;l--;)c[l]=d+he(c[l]);h=Q.test(e)&&ue(t.parentNode)||t,f=c.join(",")}if(f)try{return P.apply(n,h.querySelectorAll(f)),n}catch(e){}finally{u||t.removeAttribute("id")}}}return g(e.replace(z,"$1"),t,n,i)}function ne(){var i=[];return function e(t,n){return i.push(t+" ")>_.cacheLength&&delete e[i.shift()],e[t+" "]=n}}function ie(e){return e[k]=!0,e}function re(e){var t=w.createElement("div");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function oe(e,t){for(var n=e.split("|"),i=e.length;i--;)_.attrHandle[n[i]]=t}function se(e,t){var n=t&&e,i=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||1<<31)-(~e.sourceIndex||1<<31);if(i)return i;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function ae(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function le(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ce(s){return ie(function(o){return o=+o,ie(function(e,t){for(var n,i=s([],e.length,o),r=i.length;r--;)e[n=i[r]]&&(e[n]=!(t[n]=e[n]))})})}function ue(e){return e&&typeof e.getElementsByTagName!==N&&e}for(e in p=te.support={},i=te.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},v=te.setDocument=function(e){var t,l=e?e.ownerDocument||e:T,n=l.defaultView;return l!==w&&9===l.nodeType&&l.documentElement?(r=(w=l).documentElement,y=!i(l),n&&n!==function(e){try{return e.top}catch(e){}return null}(n)&&(n.addEventListener?n.addEventListener("unload",function(){v()},!1):n.attachEvent&&n.attachEvent("onunload",function(){v()})),p.attributes=re(function(e){return e.className="i",!e.getAttribute("className")}),p.getElementsByTagName=re(function(e){return e.appendChild(l.createComment("")),!e.getElementsByTagName("*").length}),p.getElementsByClassName=Y.test(l.getElementsByClassName),p.getById=re(function(e){return r.appendChild(e).id=k,!l.getElementsByName||!l.getElementsByName(k).length}),p.getById?(_.find.ID=function(e,t){if(typeof t.getElementById!==N&&y){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},_.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){return e.getAttribute("id")===t}}):(delete _.find.ID,_.filter.ID=function(e){var n=e.replace(Z,ee);return function(e){var t=typeof e.getAttributeNode!==N&&e.getAttributeNode("id");return t&&t.value===n}}),_.find.TAG=p.getElementsByTagName?function(e,t){if(typeof t.getElementsByTagName!==N)return t.getElementsByTagName(e)}:function(e,t){var n,i=[],r=0,o=t.getElementsByTagName(e);if("*"!==e)return o;for(;n=o[r++];)1===n.nodeType&&i.push(n);return i},_.find.CLASS=p.getElementsByClassName&&function(e,t){if(y)return t.getElementsByClassName(e)},s=[],b=[],(p.qsa=Y.test(l.querySelectorAll))&&(re(function(e){e.innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&b.push("[*^$]="+B+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||b.push("\\["+B+"*(?:value|"+O+")"),e.querySelectorAll(":checked").length||b.push(":checked")}),re(function(e){var t=l.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&b.push("name"+B+"*[*^$|!~]?="),e.querySelectorAll(":enabled").length||b.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),b.push(",.*:")})),(p.matchesSelector=Y.test(a=r.matches||r.webkitMatchesSelector||r.mozMatchesSelector||r.oMatchesSelector||r.msMatchesSelector))&&re(function(e){p.disconnectedMatch=a.call(e,"div"),a.call(e,"[s!='']:x"),s.push("!=",F)}),b=b.length&&new RegExp(b.join("|")),s=s.length&&new RegExp(s.join("|")),t=Y.test(r.compareDocumentPosition),C=t||Y.test(r.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,i=t&&t.parentNode;return e===i||!(!i||1!==i.nodeType||!(n.contains?n.contains(i):e.compareDocumentPosition&&16&e.compareDocumentPosition(i)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},E=t?function(e,t){if(e===t)return u=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!p.sortDetached&&t.compareDocumentPosition(e)===n?e===l||e.ownerDocument===T&&C(T,e)?-1:t===l||t.ownerDocument===T&&C(T,t)?1:c?I.call(c,e)-I.call(c,t):0:4&n?-1:1)}:function(e,t){if(e===t)return u=!0,0;var n,i=0,r=e.parentNode,o=t.parentNode,s=[e],a=[t];if(!r||!o)return e===l?-1:t===l?1:r?-1:o?1:c?I.call(c,e)-I.call(c,t):0;if(r===o)return se(e,t);for(n=e;n=n.parentNode;)s.unshift(n);for(n=t;n=n.parentNode;)a.unshift(n);for(;s[i]===a[i];)i++;return i?se(s[i],a[i]):s[i]===T?-1:a[i]===T?1:0},l):w},te.matches=function(e,t){return te(e,null,null,t)},te.matchesSelector=function(e,t){if((e.ownerDocument||e)!==w&&v(e),t=t.replace(U,"='$1']"),p.matchesSelector&&y&&(!s||!s.test(t))&&(!b||!b.test(t)))try{var n=a.call(e,t);if(n||p.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(Z,ee),e[3]=(e[3]||e[4]||e[5]||"").replace(Z,ee),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||te.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&te.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return $.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&q.test(n)&&(t=m(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(Z,ee).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=l[e+" "];return t||(t=new RegExp("(^|"+B+")"+e+"("+B+"|$)"))&&l(e,function(e){return t.test("string"==typeof e.className&&e.className||typeof e.getAttribute!==N&&e.getAttribute("class")||"")})},ATTR:function(n,i,r){return function(e){var t=te.attr(e,n);return null==t?"!="===i:!i||(t+="","="===i?t===r:"!="===i?t!==r:"^="===i?r&&0===t.indexOf(r):"*="===i?r&&-1)[^>]*$|#([\w\-]*)$)/,c=e.Event,u=n.makeMap("children,contents,next,prev");function d(e){return void 0!==e}function h(e){return"string"==typeof e}function f(e,t){var n,i,r;for(r=(t=t||o).createElement("div"),n=t.createDocumentFragment(),r.innerHTML=e;i=r.firstChild;)n.appendChild(i);return n}function p(e,t,n,i){var r;if(h(t))t=f(t,N(e[0]));else if(t.length&&!t.nodeType){if(t=C.makeArray(t),i)for(r=t.length-1;0<=r;r--)p(e,t[r],n,i);else for(r=0;r"===e.charAt(e.length-1)&&3<=e.length?[null,e,null]:l.exec(e)))return C(t).find(e);if(n[1])for(i=f(e,N(t)).firstChild;i;)s.call(r,i),i=i.nextSibling;else{if(!(i=N(t).getElementById(n[2])))return r;if(i.id!==n[2])return r.find(e);r.length=1,r[0]=i}}else this.add(e,!1);return r},toArray:function(){return n.toArray(this)},add:function(e,t){var n,i;if(h(e))return this.add(C(e));if(!1!==t)for(n=C.unique(this.toArray().concat(C.makeArray(e))),this.length=n.length,i=0;i=r.nodeValue.length-1?r.parentNode.removeChild(r):r.deleteData(l,c),d.collapse(m)),e==p)return;return 0=i.nodeValue.length?u.insertAfter(e,i):(t=i.splitText(r),i.parentNode.insertBefore(e,t)):i.parentNode.insertBefore(e,i)},surroundContents:function(e){var t=d.extractContents();d.insertNode(e),e.appendChild(t),d.selectNode(e)},cloneRange:function(){return t(new A(u),{startContainer:d[v],startOffset:d[g],endContainer:d[y],endOffset:d[b],collapsed:d.collapsed,commonAncestorContainer:d.commonAncestorContainer})},toStringIE:function(){return u.create("body",null,s()).outerText}}),d}return A.prototype.toString=function(){return this.toStringIE()},A}),e("tinymce/html/Entities",["tinymce/util/Tools"],function(e){var r,s,o,t=e.makeMap,i=/[&<>\"\u0060\u007E-\uD7FF\uE000-\uFFEF]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g,a=/[<>&\u007E-\uD7FF\uE000-\uFFEF]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g,n=/[<>&\"\']/g,l=/&#([a-z0-9]+);?|&([a-z0-9]+);/gi,c={128:"€",130:"‚",131:"Æ’",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Å ",139:"‹",140:"Å’",142:"Ž",145:"‘",146:"’",147:"“",148:"â€",149:"•",150:"–",151:"—",152:"Ëœ",153:"â„¢",154:"Å¡",155:"›",156:"Å“",158:"ž",159:"Ÿ"};function u(e,t){var n,i,r,o={};if(e){for(e=e.split(","),t=t||10,n=0;n":">","&":"&","`":"`"},o={"<":"<",">":">","&":"&",""":'"',"'":"'"},r=u("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 d={encodeRaw:function(e,t){return e.replace(t?i:a,function(e){return s[e]||e})},encodeAllRaw:function(e){return(""+e).replace(n,function(e){return s[e]||e})},encodeNumeric:function(e,t){return e.replace(t?i:a,function(e){return 1>10),56320+(1023&t))):c[t]||String.fromCharCode(t):o[e]||r[e]||(n=e,(i=document.createElement("div")).innerHTML=n,i.textContent||i.innerText||n);var n,i})}};return d}),e("tinymce/dom/StyleSheetLoader",["tinymce/util/Tools","tinymce/util/Delay"],function(v,y){return function(h,e){var f,p=0,m={};function g(e){h.getElementsByTagName("head")[0].appendChild(e)}f=(e=e||{}).maxLoadTime||5e3,this.load=function(e,t,n){var r,i,o,s;function a(){for(var e=s.passed,t=e.length;t--;)e[t]();s.status=2,s.passed=[],s.failed=[]}function l(){for(var e=s.failed,t=e.length;t--;)e[t]();s.status=3,s.passed=[],s.failed=[]}function c(e,t){e()||((new Date).getTime()-o"+n+"":r+" />"},createFragment:function(e){var t,n,i,r=this.doc;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(),1"+n,t.removeChild(t.firstChild)}catch(e){c("
    ").html("
    "+n).contents().slice(1).appendTo(t)}return n}}):e.html(n)},getOuterHTML:function(e){return 1==(e=this.get(e)).nodeType&&"outerHTML"in e?e.outerHTML:c("
    ").append(c(e).clone()).html()},setOuterHTML:function(e,t){var n=this;n.$$(e).each(function(){try{if("outerHTML"in this)return void(this.outerHTML=t)}catch(e){}n.remove(c(this).html(t),!0)})},decode:e.decode,encode:e.encodeAllRaw,insertAfter:function(e,i){return i=this.get(i),this.run(e,function(e){var t,n;return t=i.parentNode,(n=i.nextSibling)?t.insertBefore(e,n):t.appendChild(e),e})},replace:function(t,e,n){return this.run(e,function(e){return a(e,"array")&&(t=t.cloneNode(!0)),n&&s(l(e.childNodes),function(e){t.appendChild(e)}),e.parentNode.replaceChild(t,e)})},rename:function(t,e){var n,i=this;return t.nodeName!=e.toUpperCase()&&(n=i.create(e),s(i.getAttribs(t),function(e){i.setAttrib(n,e.nodeName,i.getAttrib(t,e.nodeName))}),i.replace(n,t,1)),n||t},findCommonAncestor:function(e,t){for(var n,i=e;i;){for(n=t;n&&i!=n;)n=n.parentNode;if(i==n)break;i=i.parentNode}return!i&&e.ownerDocument?e.ownerDocument.documentElement:i},toHex:function(e){return this.styles.toHex(o.trim(e))},run:function(e,n,i){var r,o=this;return"string"==typeof e&&(e=o.get(e)),!!e&&(i=i||this,e.nodeType||!e.length&&0!==e.length?n.call(i,e):(r=[],s(e,function(e,t){e&&("string"==typeof e&&(e=o.get(e)),r.push(n.call(i,e,t)))}),r))},getAttribs:function(e){var t;if(!(e=this.get(e)))return[];if(m){if(t=[],"OBJECT"==e.nodeName)return e.attributes;"OPTION"===e.nodeName&&this.getAttrib(e,"selected")&&t.push({specified:1,nodeName:"selected"});return e.cloneNode(!1).outerHTML.replace(/<\/?[\w:\-]+ ?|=[\"][^\"]+\"|=\'[^\']+\'|=[\w\-]+|>/gi,"").replace(/[\w:\-]+/gi,function(e){t.push({specified:1,nodeName:e})}),t}return e.attributes},isEmpty:function(e,t){var n,i,r,o,s,a,l=0;if(e=e.firstChild){s=new h(e,e.parentNode),t=t||(this.schema?this.schema.getNonEmptyElements():null),o=this.schema?this.schema.getWhiteSpaceElements():{};do{if(1===(r=e.nodeType)){var c=e.getAttribute("data-mce-bogus");if(c){e=s.next("all"===c);continue}if(a=e.nodeName.toLowerCase(),t&&t[a]){if("br"!==a)return!1;l++,e=s.next();continue}for(n=(i=this.getAttribs(e)).length;n--;)if("name"===(a=i[n].nodeName)||"data-mce-bookmark"===a)return!1}if(8==r)return!1;if(3===r&&!v.test(e.nodeValue))return!1;if(3===r&&e.parentNode&&o[e.parentNode.nodeName]&&v.test(e.nodeValue))return!1;e=s.next()}while(e)}return l<=1},createRng:function(){var e=this.doc;return e.createRange?e.createRange():new t(this)},nodeIndex:n,split:function(e,t,n){var i,r,o,l=this,s=l.createRng();function c(e){var t,n=e.childNodes,i=e.nodeType;if(1!=i||"bookmark"!=e.getAttribute("data-mce-type")){for(t=n.length-1;0<=t;t--)c(n[t]);if(9!=i){if(3==i&&0m.length-1?p=m.length-1:p<0&&(p=0),d=m[p]||f),c==d)return r(g([c]));for(t=_.findCommonAncestor(c,d),o=c;o;o=o.parentNode){if(o===d)return b(c,t,!0);if(o===t)break}for(o=d;o;o=o.parentNode){if(o===c)return b(d,t);if(o===t)break}n=y(c,t)||c,i=y(d,t)||d,b(c,n,!0),(a=v(n==c?n:n.nextSibling,"nextSibling",i==d?i.nextSibling:i)).length&&r(g(a)),b(d,i)}function g(e){var t;return 3===(t=e[0]).nodeType&&t===c&&u>=t.nodeValue.length&&e.splice(0,1),t=e[e.length-1],0===h&&0o.childNodes.length-1&&(n=!1),9===o.nodeType&&(o=_.getRoot(),s=0),o===u){if(n&&(a=o.childNodes[0=e.childNodes.length&&(t=e.childNodes.length-1),e=e.childNodes[t]),e},o}),e("tinymce/NodeChange",["tinymce/dom/RangeUtils","tinymce/Env","tinymce/util/Delay"],function(s,t,n){return function(o){var i,r=[];"onselectionchange"in o.getDoc()||o.on("NodeChange Click MouseUp KeyUp Focus",function(e){var t,n;n={startContainer:(t=o.selection.getRng()).startContainer,startOffset:t.startOffset,endContainer:t.endContainer,endOffset:t.endOffset},"nodechange"!=e.type&&s.compareRanges(n,i)||o.fire("SelectionChange"),i=n}),o.on("contextmenu",function(){o.fire("SelectionChange")}),o.on("SelectionChange",function(){var e=o.selection.getStart(!0);!t.range&&o.selection.isCollapsed()||!function(e){var t,n;if((n=o.$(e).parentsUntil(o.getBody()).add(e)).length===r.length){for(t=n.length;0<=t&&n[t]===r[t];t--);if(-1===t)return r=n,!0}return r=n,!1}(e)&&o.dom.isChildOf(e,o.getBody())&&o.nodeChanged({selectionChange:!0})}),o.on("MouseUp",function(e){e.isDefaultPrevented()||("IMG"==o.selection.getNode().nodeName?n.setEditorTimeout(o,function(){o.nodeChanged()}):o.nodeChanged())}),this.nodeChanged=function(e){var t,n,i,r=o.selection;o.initialized&&r&&!o.settings.disable_nodechange&&!o.readonly&&(i=o.getBody(),(t=r.getStart()||i).ownerDocument==o.getDoc()&&o.dom.isChildOf(t,i)||(t=i),"IMG"==t.nodeName&&r.isCollapsed()&&(t=t.parentNode),n=[],o.dom.getParent(t,function(e){if(e===i)return!0;n.push(e)}),(e=e||{}).element=t,e.parents=n,o.fire("NodeChange",e))}}}),e("tinymce/html/Node",[],function(){var o=/^[ \t\r\n]*$/,r={"#text":3,"#comment":8,"#cdata":4,"#pi":7,"#doctype":10,"#document-fragment":11};function s(e,t,n){var i,r,o=n?"lastChild":"firstChild",s=n?"prev":"next";if(e[o])return e[o];if(e!==t){if(i=e[s])return i;for(r=e.parent;r&&r!==t;r=r.parent)if(i=r[s])return i}}function a(e,t){this.name=e,1===(this.type=t)&&(this.attributes=[],this.attributes.map={})}return a.prototype={replace:function(e){return e.parent&&e.remove(),this.insert(e,this),this.remove(),this},attr:function(e,t){var n,i;if("string"!=typeof e){for(i in e)this.attr(i,e[i]);return this}if(n=this.attributes){if(void 0===t)return n.map[e];if(null===t){if(e in n.map)for(delete n.map[e],i=n.length;i--;)if(n[i].name===e)return n=n.splice(i,1),this;return this}if(e in n.map){for(i=n.length;i--;)if(n[i].name===e){n[i].value=t;break}}else n.push({name:e,value:t});return n.map[e]=t,this}},clone:function(){var e,t,n,i,r,o=new a(this.name,this.type);if(n=this.attributes){for((r=[]).map={},e=0,t=n.length;e
    "},postRender:function(){var e,t=this;return t.items().exec("postRender"),t._super(),t._layout.postRender(t),t.state.set("rendered",!0),t.settings.style&&t.$el.css(t.settings.style),t.settings.border&&(e=t.borderBox,t.$el.css({"border-top-width":e.top,"border-right-width":e.right,"border-bottom-width":e.bottom,"border-left-width":e.left})),t.parent()||(t.keyboardNav=new i({root:t})),t},initLayoutRect:function(){var e=this._super();return this._layout.recalc(this),e},recalc:function(){var e=this._layoutRect,t=this._lastRect;if(!t||t.w!=e.w||t.h!=e.h)return this._layout.recalc(this),e=this.layoutRect(),this._lastRect={x:e.x,y:e.y,w:e.w,h:e.h},!0},reflow:function(){var e;if(c.remove(this),this.visible()){for(r.repaintControls=[],r.repaintControls.map={},this.recalc(),e=r.repaintControls.length;e--;)r.repaintControls[e].repaint();"flow"!==this.settings.layout&&"stack"!==this.settings.layout&&this.repaint(),r.repaintControls=[]}return this}})}),e("tinymce/ui/DragHelper",["tinymce/dom/DomQuery"],function(w){function C(e){var t,n;if(e.changedTouches)for(t="screenX screenY pageX pageY clientX clientY".split(" "),n=0;n
    ").css({position:"absolute",top:0,left:0,width:h.width,height:h.height,zIndex:2147483647,opacity:1e-4,cursor:n}).appendTo(_.body),w(_).on("mousemove touchmove",v).on("mouseup touchend",g),f.start(e)},v=function(e){if(C(e),e.button!==m)return g(e);e.deltaX=e.screenX-y,e.deltaY=e.screenY-b,e.preventDefault(),f.drag(e)},g=function(e){C(e),w(_).off("mousemove touchmove",v).off("mouseup touchend",g),p.remove(),f.stop&&f.stop(e)},this.destroy=function(){w(x()).off()},w(x()).on("mousedown touchstart",t)}}),e("tinymce/ui/Scrollable",["tinymce/dom/DomQuery","tinymce/ui/DragHelper"],function(y,i){return{init:function(){this.on("repaint",this.renderScroll)},renderScroll:function(){var g=this,v=2;function n(){var p,m,e;function t(e,t,n,i,r,o){var s,a,l,c,u,d,h,f;if(a=g.getEl("scroll"+e)){if(h=t.toLowerCase(),f=n.toLowerCase(),y(g.getEl("absend")).css(h,g.layoutRect()[i]-1),!r)return void y(a).css("display","none");y(a).css("display","block"),s=g.getEl("body"),l=g.getEl("scroll"+e+"t"),c=s["client"+n]-2*v,u=(c-=p&&m?a["client"+o]:0)/s["scroll"+n],(d={})[h]=s["offset"+t]+v,d[f]=c,y(a).css(d),(d={})[h]=s["scroll"+t]*u,d[f]=c*u,y(l).css(d)}}e=g.getEl("body"),p=e.scrollWidth>e.clientWidth,m=e.scrollHeight>e.clientHeight,t("h","Left","Width","contentW",p,"Height"),t("v","Top","Height","contentH",m,"Width")}g.settings.autoScroll&&(g._hasScroll||(g._hasScroll=!0,function(){function e(s,a,l,c,u){var d,e=g._id+"-scroll"+s,t=g.classPrefix;y(g.getEl()).append('
    '),g.draghelper=new i(e+"t",{start:function(){d=g.getEl("body")["scroll"+a],y("#"+e).addClass(t+"active")},drag:function(e){var t,n,i,r,o=g.layoutRect();n=o.contentW>o.innerW,i=o.contentH>o.innerH,r=g.getEl("body")["client"+l]-2*v,t=(r-=n&&i?g.getEl("scroll"+s)["client"+u]:0)/g.getEl("body")["scroll"+l],g.getEl("body")["scroll"+a]=d+e["delta"+c]/t},stop:function(){y("#"+e).removeClass(t+"active")}})}g.classes.add("scroll"),e("v","Top","Height","Y","Width"),e("h","Left","Width","X","Height")}(),g.on("wheel",function(e){var t=g.getEl("body");t.scrollLeft+=10*(e.deltaX||0),t.scrollTop+=10*e.deltaY,n()}),y(g.getEl("body")).on("scroll",n)),n())}}}),e("tinymce/ui/Panel",["tinymce/ui/Container","tinymce/ui/Scrollable"],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),void 0===n?n='
    '+t.renderHtml(e)+"
    ":("function"==typeof n&&(n=n.call(e)),e._hasBody=!1),'
    '+(e._preBodyHtml||"")+n+"
    "}})}),e("tinymce/ui/Movable",["tinymce/ui/DomUtils"],function(f){function o(e,t,n){var i,r,o,s,a,l,c,u,d,h;return d=f.getViewPort(),o=(r=f.getPos(t)).x,s=r.y,e.state.get("fixed")&&"static"==f.getRuntimeStyle(document.body,"position")&&(o-=d.x,s-=d.y),i=e.getEl(),a=(h=f.getSize(i)).width,l=h.height,c=(h=f.getSize(t)).width,u=h.height,"b"===(n=(n||"").split(""))[0]&&(s+=u),"r"===n[1]&&(o+=c),"c"===n[0]&&(s+=Math.round(u/2)),"c"===n[1]&&(o+=Math.round(c/2)),"b"===n[3]&&(s-=l),"r"===n[4]&&(o-=a),"c"===n[3]&&(s-=Math.round(l/2)),"c"===n[4]&&(o-=Math.round(a/2)),{x:o,y:s,w:a,h:l}}return{testMoveRel:function(e,t){for(var n=f.getViewPort(),i=0;in.x&&r.x+r.wn.y&&r.y+r.he&&(r.fixed(!1).layoutRect({y:r._autoFixY}).repaint(),t(!1,r._autoFixY-e)):(r._autoFixY=r.layoutRect().y,r._autoFixY
    ').appendTo(i.getContainerElm())),r.setTimeout(function(){t.addClass(n+"in"),s(i.getEl()).addClass(n+"in")}),c=!0),m(!0,i)}}),i.on("show",function(){i.parents().each(function(e){if(e.state.get("fixed"))return i.fixed(!0),!1})}),e.popover&&(i._preBodyHtml='
    ',i.classes.add("popover").add("bottom").add(i.isRtl()?"end":"start")),i.aria("label",e.ariaLabel),i.aria("labelledby",i._id),i.aria("describedby",i.describedBy||i._id+"-none")},fixed:function(e){if(this.state.get("fixed")!=e){if(this.state.get("rendered")){var t=i.getViewPort();e?this.layoutRect().y-=t.y:this.layoutRect().y+=t.y}this.classes.toggle("fixed",e),this.state.set("fixed",e)}return this},show:function(){var e,t=this._super();for(e=u.length;e--&&u[e]!==this;);return-1===e&&u.push(this),t},hide:function(){return v(this),m(!1,this),this._super()},hideAll:function(){g.hideAll()},close:function(){return this.fire("close").isDefaultPrevented()||(this.remove(),m(!1,this)),this},remove:function(){v(this),this._super()},postRender:function(){return this.settings.bodyRole&&this.getEl("body").setAttribute("role",this.settings.bodyRole),this._super()}});function v(e){var t;for(t=u.length;t--;)u[t]===e&&u.splice(t,1);for(t=d.length;t--;)d[t]===e&&d.splice(t,1)}return g.hideAll=function(){for(var e=u.length;e--;){var t=u[e];t&&t.settings.autohide&&(t.hide(),u.splice(e,1))}},g}),e("tinymce/ui/Window",["tinymce/ui/FloatPanel","tinymce/ui/Panel","tinymce/ui/DomUtils","tinymce/dom/DomQuery","tinymce/ui/DragHelper","tinymce/ui/BoxUtils","tinymce/Env","tinymce/util/Delay"],function(e,t,a,l,i,c,r,u){var o=[],s="";function d(e){var t,n=l("meta[name=viewport]")[0];!1!==r.overrideViewPort&&(n||((n=document.createElement("meta")).setAttribute("name","viewport"),document.getElementsByTagName("head")[0].appendChild(n)),(t=n.getAttribute("content"))&&void 0!==s&&(s=t),n.setAttribute("content",e?"width=device-width,initial-scale=1.0,user-scalable=0,minimum-scale=1.0,maximum-scale=1.0":s))}function n(e,t){(function(){for(var e=0;ee.w&&(n=e.x-Math.max(0,t/2),r.layoutRect({w:t,x:n}),i=!0),o&&(o.layoutRect({w:r.layoutRect().innerW}).recalc(),(t=o.layoutRect().minW+e.deltaW)>e.w&&(n=e.x-Math.max(0,t-e.w),r.layoutRect({w:t,x:n}),i=!0)),i&&r.recalc()},initLayoutRect:function(){var e,t=this._super(),n=0;if(this.settings.title&&!this._fullscreen){e=this.getEl("head");var i=a.getSize(e);t.headerW=i.width,t.headerH=i.height,n+=t.headerH}this.statusbar&&(n+=this.statusbar.layoutRect().h),t.deltaH+=n,t.minH+=n,t.h+=n;var r=a.getWindowSize();return t.x=this.settings.x||Math.max(0,r.w/2-t.w/2),t.y=this.settings.y||Math.max(0,r.h/2-t.h/2),t},renderHtml:function(){var e=this,t=e._layout,n=e._id,i=e.classPrefix,r=e.settings,o="",s="",a=r.html;return e.preRender(),t.preRender(e),r.title&&(o='
    '+e.encode(r.title)+'
    '),r.url&&(a=''),void 0===a&&(a=t.renderHtml(e)),e.statusbar&&(s=e.statusbar.renderHtml()),'
    '+o+'
    '+a+"
    "+s+"
    "},fullscreen:function(e){var n,t,i=this,r=document.documentElement,o=i.classPrefix;if(e!=i._fullscreen)if(l(window).on("resize",function(){var e;if(i._fullscreen)if(n)i._timer||(i._timer=u.setTimeout(function(){var e=a.getWindowSize();i.moveTo(0,0).resizeTo(e.w,e.h),i._timer=0},50));else{e=(new Date).getTime();var t=a.getWindowSize();i.moveTo(0,0).resizeTo(t.w,t.h),50<(new Date).getTime()-e&&(n=!0)}}),t=i.layoutRect(),i._fullscreen=e){i._initial={x:t.x,y:t.y,w:t.w,h:t.h},i.borderBox=c.parseBox("0"),i.getEl("head").style.display="none",t.deltaH-=t.headerH+2,l([r,document.body]).addClass(o+"fullscreen"),i.classes.add("fullscreen");var s=a.getWindowSize();i.moveTo(0,0).resizeTo(s.w,s.h)}else i.borderBox=c.parseBox(i.settings.border),i.getEl("head").style.display="",t.deltaH+=t.headerH,l([r,document.body]).removeClass(o+"fullscreen"),i.classes.remove("fullscreen"),i.moveTo(i._initial.x,i._initial.y).resizeTo(i._initial.w,i._initial.h);return i.reflow()},postRender:function(){var t,n=this;setTimeout(function(){n.classes.add("in"),n.fire("open")},0),n._super(),n.statusbar&&n.statusbar.postRender(),n.focus(),this.dragHelper=new i(n._id+"-dragh",{start:function(){t={x:n.layoutRect().x,y:n.layoutRect().y}},drag:function(e){n.moveTo(t.x+e.deltaX,t.y+e.deltaY)}}),n.on("submit",function(e){e.isDefaultPrevented()||n.close()}),o.push(n),d(!0)},submit:function(){return this.fire("submit",{data:this.toJSON()})},remove:function(){var e;for(this.dragHelper.destroy(),this._super(),this.statusbar&&this.statusbar.remove(),n(this.classPrefix,!1),e=o.length;e--;)o[e]===this&&o.splice(e,1);d(0
    '+this.encode(this.state.get("text"))+"
    "},bindStates:function(){var t=this;return t.state.on("change:text",function(e){t.getEl().lastChild.innerHTML=t.encode(e.value)}),t._super()},repaint:function(){var e,t;e=this.getEl().style,t=this._layoutRect,e.left=t.x+"px",e.top=t.y+"px",e.zIndex=131070}})}),e("tinymce/ui/Widget",["tinymce/ui/Control","tinymce/ui/Tooltip"],function(e,t){var n,o=e.extend({init:function(i){var r=this;r._super(i),i=r.settings,r.canFocus=!0,i.tooltip&&!1!==o.tooltips&&(r.on("mouseenter",function(e){var t=r.tooltip().moveTo(-65535);if(e.control==r){var n=t.text(i.tooltip).show().testMoveRel(r.getEl(),["bc-tc","bc-tl","bc-tr"]);t.classes.toggle("tooltip-n","bc-tc"==n),t.classes.toggle("tooltip-nw","bc-tl"==n),t.classes.toggle("tooltip-ne","bc-tr"==n),t.moveRel(r.getEl(),n)}else t.hide()}),r.on("mouseleave mousedown click",function(){r.tooltip().hide()})),r.aria("label",i.ariaLabel||i.tooltip)},tooltip:function(){return n||(n=new t({type:"tooltip"})).renderTo(),n},postRender:function(){var e=this.settings;this._super(),this.parent()||!e.width&&!e.height||(this.initLayoutRect(),this.repaint()),e.autofocus&&this.focus()},bindStates:function(){var t=this;function n(e){t.aria("disabled",e),t.classes.toggle("disabled",e)}function i(e){t.aria("pressed",e),t.classes.toggle("active",e)}return t.state.on("change:disabled",function(e){n(e.value)}),t.state.on("change:active",function(e){i(e.value)}),t.state.get("disabled")&&n(!0),t.state.get("active")&&i(!0),t._super()},remove:function(){this._super(),n&&(n.remove(),n=null)}});return o}),e("tinymce/ui/Progress",["tinymce/ui/Widget"],function(e){return e.extend({Defaults:{value:0},init:function(e){this._super(e),this.classes.add("progress"),this.settings.filter||(this.settings.filter=function(e){return Math.round(e)})},renderHtml:function(){var e=this._id,t=this.classPrefix;return'
    0%
    '},postRender:function(){return this._super(),this.value(this.settings.value),this},bindStates:function(){var t=this;function n(e){e=t.settings.filter(e),t.getEl().lastChild.innerHTML=e+"%",t.getEl().firstChild.firstChild.style.width=e+"%"}return t.state.on("change:value",function(e){n(e.value)}),n(t.state.get("value")),t._super()}})}),e("tinymce/ui/Notification",["tinymce/ui/Control","tinymce/ui/Movable","tinymce/ui/Progress","tinymce/util/Delay"],function(e,t,n,i){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||0'),e.color&&(o=' style="background-color: '+e.color+'"'),e.closeButton&&(i=''),e.progressBar&&(r=e.progressBar.renderHtml()),'"},postRender:function(){var e=this;return i.setTimeout(function(){e.$el.addClass(e.classPrefix+"in")}),e._super()},bindStates:function(){var t=this;return t.state.on("change:text",function(e){t.getEl().childNodes[1].innerHTML=e.value}),t.progressBar&&t.progressBar.bindStates(),t._super()},close:function(){return this.fire("close").isDefaultPrevented()||this.remove(),this},repaint:function(){var e,t;e=this.getEl().style,t=this._layoutRect,e.left=t.x+"px",e.top=t.y+"px",e.zIndex=65534}})}),e("tinymce/NotificationManager",["tinymce/ui/Notification","tinymce/util/Delay","tinymce/util/Tools"],function(s,t,a){return function(i){var r=[];function e(){if(r.length)return r[r.length-1]}function o(){if(0r.length-1)return null;i=r[t[n]]}return i}}}),e("tinymce/util/Quirks",["tinymce/util/VK","tinymce/dom/RangeUtils","tinymce/dom/TreeWalker","tinymce/dom/NodePath","tinymce/html/Node","tinymce/html/Entities","tinymce/Env","tinymce/util/Tools","tinymce/util/Delay","tinymce/caret/CaretContainer","tinymce/caret/CaretPosition","tinymce/caret/CaretWalker"],function(N,D,R,A,P,M,I,O,B,L,H,F){return function(p){var n,r=O.each,m=p.$,h=N.BACKSPACE,g=N.DELETE,c=p.dom,s=p.selection,e=p.settings,t=p.parser,i=p.serializer,o=I.gecko,a=I.ie,l=I.webkit,u="data:text/mce-internal,",d=a?"Text":"URL";function f(e,t){try{p.getDoc().execCommand(e,!1,t)}catch(e){}}function v(){var e=p.getDoc().documentMode;return e||6}function y(e){return e.isDefaultPrevented()}function b(e){var t,n;e.dataTransfer&&(p.selection.isCollapsed()&&"IMG"==e.target.tagName&&s.select(e.target),0<(t=p.selection.getContent()).length&&(n=u+escape(p.id)+","+escape(t),e.dataTransfer.setData(d,n)))}function _(e){var t;return e.dataTransfer&&(t=e.dataTransfer.getData(d))&&0<=t.indexOf(u)?(t=t.substr(u.length).split(","),{id:unescape(t[0]),html:unescape(t[1])}):null}function x(e){p.queryCommandSupported("mceInsertClipboardContent")?p.execCommand("mceInsertClipboardContent",!1,{content:e}):p.execCommand("mceInsertContent",!1,e)}function w(){p.shortcuts.add("meta+a",null,"SelectAll")}function C(){p.on("keydown",function(e){if(!y(e)&&e.keyCode===h){if(!p.getBody().getElementsByTagName("hr").length)return;if(s.isCollapsed()&&0===s.getRng(!0).startOffset){var t=s.getNode(),n=t.previousSibling;if("HR"==t.nodeName)return c.remove(t),void e.preventDefault();n&&n.nodeName&&"hr"===n.nodeName.toLowerCase()&&(c.remove(n),e.preventDefault())}}})}function k(){p.on("keydown",function(e){if(!y(e)&&e.keyCode===h&&s.isCollapsed()&&0===s.getRng(!0).startOffset){var t=s.getNode().previousSibling;if(t&&t.nodeName&&"table"===t.nodeName.toLowerCase())return e.preventDefault(),!1}})}function T(){p.inline||(p.contentStyles.push("body {min-height: 150px}"),p.on("click",function(e){var t;if("HTML"==e.target.nodeName){if(11s.childNodes.length-1;if(!n||!i)return e;if(o&&r!=o)if(t){if(!c(r,o))return e;1==n.nodeType?"BR"==n.nodeName?e.setStartBefore(n):e.setStartAfter(n):e.setStart(n,n.data.length),1==i.nodeType?e.setEnd(i,0):e.setEndBefore(i)}else{if(!c(o,r))return e;1==i.nodeType?"BR"==i.nodeName?e.setStartBefore(i):e.setStartAfter(i):e.setStart(i,i.data.length),1==n.nodeType&&l?e.setEndAfter(n):e.setEndBefore(n)}return e}(t,e)))return!0}function l(e){var t,i,r;o(e)||(O.each(p.getBody().getElementsByTagName("*"),function(e){"SPAN"==e.tagName&&e.setAttribute("mce-data-marked",1),!e.hasAttribute("data-mce-style")&&e.hasAttribute("style")&&p.dom.setAttrib(e,"style",p.dom.getAttrib(e,"style"))}),(t=new n(function(){})).observe(p.getDoc(),{childList:!0,attributes:!0,subtree:!0,attributeFilter:["style"]}),p.getDoc().execCommand(e?"ForwardDelete":"Delete",!1,null),i=p.selection.getRng(),r=i.startContainer.parentNode,O.each(t.takeRecords(),function(e){if(f.isChildOf(e.target,p.getBody())){if("style"==e.attributeName){var t=e.target.getAttribute("data-mce-style");t?e.target.setAttribute("style",t):e.target.removeAttribute("style")}O.each(e.addedNodes,function(e){var t,n;"SPAN"!=e.nodeName||e.getAttribute("mce-data-marked")||(e==r&&(t=i.startOffset,n=e.firstChild),f.remove(e,!0),n&&(i.setStart(n,t),i.setEnd(n,t),p.selection.setRng(i)))})}}),t.disconnect(),O.each(p.dom.select("span[mce-data-marked]"),function(e){e.removeAttribute("mce-data-marked")}))}function d(e){p.undoManager.transact(function(){l(e)})}n||(e=!0,n=function(){var t,n=[];function i(e){var t=e.relatedNode||e.target;n.push({target:t,addedNodes:[t]})}function r(e){var t=e.relatedNode||e.target;n.push({target:t,attributeName:e.attrName})}this.observe=function(e){(t=e).addEventListener("DOMSubtreeModified",i,!1),t.addEventListener("DOMNodeInsertedIntoDocument",i,!1),t.addEventListener("DOMNodeInserted",i,!1),t.addEventListener("DOMAttrModified",r,!1)},this.disconnect=function(){t.removeEventListener("DOMSubtreeModified",i,!1),t.removeEventListener("DOMNodeInsertedIntoDocument",i,!1),t.removeEventListener("DOMNodeInserted",i,!1),t.removeEventListener("DOMAttrModified",r,!1)},this.takeRecords=function(){return n}}),p.on("keydown",function(e){var t=e.keyCode==g,n=e.ctrlKey||e.metaKey;if(!y(e)&&(t||e.keyCode==h)){var i=p.selection.getRng(),r=i.startContainer,o=i.startOffset;if(t&&e.shiftKey)return;if(function(e,n){var t,i,r,o,s,a,l,c,u;function d(e,t){return u=m(t).parents().filter(function(e,t){return!!p.schema.getTextInlineElements()[t.nodeName]}),r=e.cloneNode(!1),(u=O.map(u,function(e){return e=e.cloneNode(!1),r.hasChildNodes()&&e.appendChild(r.firstChild),r.appendChild(e),r.appendChild(e),e})).length?(c=f.create("br"),u[0].appendChild(c),f.replace(r,e),n.setStartBefore(c),n.setEndBefore(c),p.selection.setRng(n),c):null}function h(e){return e&&p.schema.getTextBlockElements()[e.tagName]}if(n.collapsed&&(a=n.startContainer,l=n.startOffset,h(i=f.getParent(a,f.isBlock))))if(1==a.nodeType){if((a=a.childNodes[l])&&"BR"!=a.tagName)return;if(s=e?i.nextSibling:i.previousSibling,f.isEmpty(i)&&h(s)&&f.isEmpty(s)&&d(i,a))return f.remove(s),!0}else if(3==a.nodeType){if(t=A.create(i,a),o=i.cloneNode(!0),a=A.resolve(o,t),e){if(l>=a.data.length)return;a.deleteData(l,1)}else{if(l<=0)return;a.deleteData(l-1,1)}if(f.isEmpty(o))return d(i,a)}}(t,i))return void e.preventDefault();if(!n&&i.collapsed&&3==r.nodeType&&(t?oi.clientHeight)return;t=1,(n=s(e.x,e.y))&&(c.bind(r,"mouseup",l),c.bind(r,"mousemove",a),c.getRoot().focus(),n.select())}})}()),11<=I.ie&&k(),I.ie&&(T(),w(),f("AutoUrlDetect",!1),p.on("dragstart",function(e){b(e)}),p.on("drop",function(e){if(!y(e)){var t=_(e);if(t&&t.id!=p.id){e.preventDefault();var n=D.getCaretRangeFromPoint(e.x,e.y,p.getDoc());s.setRng(n),x(t.html)}}})),o&&(E(),C(),window.Range.prototype.getClientRects||p.on("mousedown",function(e){if(!y(e)&&"HTML"===e.target.nodeName){var t=p.getBody();t.blur(),B.setEditorTimeout(p,function(){t.focus()})}}),function(){function n(){var e=c.getAttribs(s.getStart().cloneNode(!1));return function(){var t=s.getStart();t!==p.getBody()&&(c.setAttrib(t,"style",null),r(e,function(e){t.setAttributeNode(e.cloneNode(!0))}))}}function i(){return!s.isCollapsed()&&c.getParent(s.getStart(),c.isBlock)!=c.getParent(s.getEnd(),c.isBlock)}p.on("keypress",function(e){var t;if(!y(e)&&(8==e.keyCode||46==e.keyCode)&&i())return t=n(),p.getDoc().execCommand("delete",!1,null),t(),e.preventDefault(),!1}),c.bind(p.getDoc(),"cut",function(e){var t;!y(e)&&i()&&(t=n(),B.setEditorTimeout(p,function(){t()}))})}(),e.readonly||p.on("BeforeExecCommand MouseDown",function(){f("StyleWithCSS",!1),f("enableInlineTableEditing",!1),e.object_resizing||f("enableObjectResizing",!1)}),p.on("SetContent ExecCommand",function(e){"setcontent"!=e.type&&"mceInsertLink"!==e.command||r(c.select("a"),function(e){var t=e.parentNode,n=c.getRoot();if(t.lastChild===e){for(;t&&!c.isBlock(t);){if(t.parentNode.lastChild!==t||t===n)return;t=t.parentNode}c.add(t,"br",{"data-mce-bogus":1})}})}),p.contentStyles.push("img:-moz-broken {-moz-force-broken-image-icon:1;min-width:24px;min-height:24px}"),I.mac&&p.on("keydown",function(e){!N.metaKeyPressed(e)||e.shiftKey||37!=e.keyCode&&39!=e.keyCode||(e.preventDefault(),p.selection.getSel().modify("move",37==e.keyCode?"backward":"forward","lineboundary"))}),k()),{refreshContentEditable:S,isHidden:function(){var e;return o?!(e=p.selection.getSel())||!e.rangeCount||0===e.rangeCount:0}}}}),e("tinymce/EditorObservable",["tinymce/util/Observable","tinymce/dom/DOMUtils","tinymce/util/Tools"],function(e,t,n){var i,l=t.DOM;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=l.select(e.settings.event_root)[0]),e.eventRoot):e.getBody()}function o(o,s){var e,t=r(o,s);function a(e){return!e.hidden&&!e.readonly}if(o.delegates||(o.delegates={}),!o.delegates[s])if(o.settings.event_root){if(i||(i={},o.editorManager.on("removeEditor",function(){var e;if(!o.editorManager.activeEditor&&i){for(e in i)o.dom.unbind(r(o,e));i=null}})),i[s])return;e=function(e){for(var t=e.target,n=o.editorManager.editors,i=n.length;i--;){var r=n[i].getBody();(r===t||l.isChildOf(t,r))&&a(n[i])&&n[i].fire(s,e)}},i[s]=e,l.bind(t,s,e)}else e=function(e){a(o)&&o.fire(s,e)},l.bind(t,s,e),o.delegates[s]=e}var s={bindPendingEventDelegates:function(){var t=this;n.each(t._pendingNativeEvents,function(e){o(t,e)})},toggleNativeEvent:function(e,t){var n=this;"focus"!=e&&"blur"!=e&&(t?n.initialized?o(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,t=this;if(t.delegates){for(e in t.delegates)t.dom.unbind(r(t,e),e,t.delegates[e]);delete t.delegates}t.inline||(t.getBody().onload=null,t.dom.unbind(t.getWin()),t.dom.unbind(t.getDoc())),t.dom.unbind(t.getBody()),t.dom.unbind(t.getContainer())}};return s=n.extend({},e,s)}),e("tinymce/Mode",[],function(){function o(e,t,n){try{e.getDoc().execCommand(t,!1,n)}catch(e){}}function i(e,t){var n,i,r;e._clickBlocker&&(e._clickBlocker.unbind(),e._clickBlocker=null),t?(e._clickBlocker=(i=(n=e).getBody(),r=function(e){0"),a))[r.length-1]=u.extend(r[r.length-1],{func:n,scope:i||o}),u.extend(r[0],{desc:o.translate(t),subpatterns:r.slice(1)})}function r(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 c(e){return e.func?e.func.call(e.scope):null}o.on("keyup keypress keydown",function(t){var e,n;((n=t).altKey||n.ctrlKey||n.metaKey||"keydown"===(e=t).type&&112<=e.keyCode&&e.keyCode<=123)&&!t.isDefaultPrevented()&&(h(s,function(e){if(r(t,e))return i=e.subpatterns.slice(0),"keydown"==t.type&&c(e),!0}),r(t,i[0])&&(1===i.length&&"keydown"==t.type&&c(i[0]),i.shift()))}),this.add=function(e,n,i,r){var t;return"string"==typeof(t=i)?i=function(){o.execCommand(t,!1,null)}:u.isArray(t)&&(i=function(){o.execCommand(t[0],t[1],t[2])}),h(f(u.trim(e.toLowerCase())),function(e){var t=l(e,n,i,r);s[t.id]=t}),!0},this.remove=function(e){var t=l(e);return!!s[t.id]&&(delete s[t.id],!0)}}}),e("tinymce/file/Uploader",["tinymce/util/Promise","tinymce/util/Tools","tinymce/util/Fun"],function(a,l,m){return function(d,s){var i={};function n(e,i,r,t){var o,n;(o=new XMLHttpRequest).open("POST",s.url),o.withCredentials=s.credentials,o.upload.onprogress=function(e){t(e.loaded/e.total*100)},o.onerror=function(){r("Image upload failed due to a XHR Transport error. Code: "+o.status)},o.onload=function(){var e,t,n;200==o.status?(e=JSON.parse(o.responseText))&&"string"==typeof e.location?i((t=s.basePath,n=e.location,t?t.replace(/\/$/,"")+"/"+n.replace(/^\//,""):n)):r("Invalid JSON: "+o.responseText):r("HTTP Error: "+o.status)},(n=new FormData).append("file",e.blob(),e.filename()),o.send(n)}function h(e,t){return{url:t,blobInfo:e,status:!0}}function f(e,t){return{url:"",blobInfo:e,status:!1,error:t}}function p(e,t){l.each(i[e],function(e){e(t)}),delete i[e]}function r(l,c,u){return d.markPending(l.blobUri()),new a(function(t){var n,e,i,r,o,s=function(){};try{var a=function(){n&&(n.close(),e=s)};e=function(e){e<0||100
    ').css(n).appendTo(h),e&&m.addClass("mce-visual-caret-before"),p=x.setInterval(function(){b("div.mce-visual-caret",h).toggleClass("mce-visual-caret-hidden")},500),(i=t.ownerDocument.createRange()).setStart(g,0),i.setEnd(g,0)):(g=y.insertInline(t,e),i=t.ownerDocument.createRange(),w(g.nextSibling)?(i.setStart(g,0),i.setEnd(g,0)):(i.setStart(g,1),i.setEnd(g,1))),i},hide:v,getCss:function(){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;}"},destroy:function(){x.clearInterval(p)}}}}),e("tinymce/dom/Dimensions",["tinymce/util/Arr","tinymce/dom/NodeType","tinymce/geom/ClientRect"],function(r,o,s){return{getClientRects:function n(t){function e(e){return r.map(e,function(e){return(e=s.clone(e)).node=t,e})}if(r.isArray(t))return r.reduce(t,function(e,t){return e.concat(n(t))},[]);if(o.isElement(t))return e(t.getClientRects());if(o.isText(t)){var i=t.ownerDocument.createRange();return i.setStart(t,0),i.setEnd(t,t.data.length),e(i.getClientRects())}}}}),e("tinymce/caret/LineWalker",["tinymce/util/Fun","tinymce/util/Arr","tinymce/dom/Dimensions","tinymce/caret/CaretCandidate","tinymce/caret/CaretUtils","tinymce/caret/CaretWalker","tinymce/caret/CaretPosition","tinymce/geom/ClientRect"],function(e,p,d,h,f,m,g,v){var t=e.curry;function n(r,o,s,e,a,t){var n,l,c=0,u=[];function i(e){var t,n,i;for(i=d.getClientRects(e),-1==r&&(i=i.reverse()),t=0;te}),isLine:t(function(e,t){return t.line===e})}}),e("tinymce/caret/LineUtils",["tinymce/util/Fun","tinymce/util/Arr","tinymce/dom/NodeType","tinymce/dom/Dimensions","tinymce/geom/ClientRect","tinymce/caret/CaretUtils","tinymce/caret/CaretCandidate"],function(e,l,t,c,n,i,r){var u=t.isContentEditableFalse,o=i.findNode,s=e.curry;function d(e,t){return Math.abs(e.left-t)}function h(e,t){return Math.abs(e.right-t)}function f(e,r){function o(e,t){return e>=t.left&&e<=t.right}return l.reduce(e,function(e,t){var n,i;return n=Math.min(d(e,r),h(e,r)),i=Math.min(d(t,r),h(t,r)),o(r,t)?t:o(r,e)?e:i==n&&u(t.node)?t:i=e.top&&n<=e.bottom}),t))&&(r=f(p(e,r),t))&&u(r.node)?(a=t,{node:(s=r).node,before:d(s,a)o&&(a=n.pageX+i-o),n.pageY+r>s&&(l=n.pageY+r-s),t.style.width=i-a+"px",t.style.height=r-l+"px",v(e.clientX,e.clientY)}},r=_(c,e),a=c,o=function(){x(a),a.dragging&&l.fire("dragend")},(l=e).on("mousedown",n),e.on("mousemove",i),e.on("mouseup",r),t.bind(s,"mousemove",i),t.bind(s,"mouseup",o),e.on("remove",function(){t.unbind(s,"mousemove",i),t.unbind(s,"mouseup",o)})};return{init:function(e){var n;t(e),(n=e).on("drop",function(e){var t=void 0!==e.clientX?n.getDoc().elementFromPoint(e.clientX,e.clientY):null;(f(t)||f(n.dom.getContentEditableParent(t)))&&e.preventDefault()})}}}),e("tinymce/SelectionOverrides",["tinymce/Env","tinymce/caret/CaretWalker","tinymce/caret/CaretPosition","tinymce/caret/CaretContainer","tinymce/caret/CaretUtils","tinymce/caret/FakeCaret","tinymce/caret/LineWalker","tinymce/caret/LineUtils","tinymce/dom/NodeType","tinymce/dom/RangeUtils","tinymce/geom/ClientRect","tinymce/util/VK","tinymce/util/Fun","tinymce/util/Arr","tinymce/util/Delay","tinymce/DragDropOverrides"],function(L,H,F,z,h,a,j,W,U,e,q,V,$,K,J,Y){var X=$.curry,Q=U.isContentEditableTrue,G=U.isContentEditableFalse,Z=U.isElement,ee=h.isAfterContentEditableFalse,te=h.isBeforeContentEditableFalse,ne=e.getSelectedNode;function ie(e,t){for(;t=e(t);)if(t.isVisible())return t;return t}return function(f){var p,e,t,m=f.getBody(),l=new H(m),g=X(ie,l.next),v=X(ie,l.prev),i=new a(f.getBody(),_),y="sel-"+f.dom.uniqueId(),b=f.$;function _(e){return f.dom.isBlock(e)}function x(e){e&&f.selection.setRng(e)}function w(){return f.selection.getRng()}function r(e,t){f.selection.scrollIntoView(e,t)}function C(e,t,n){return f.fire("ShowCaret",{target:t,direction:e,before:n}).isDefaultPrevented()?null:(r(t,-1===e),i.show(n,t))}function k(e){var t,n;return f.fire("BeforeObjectSelected",{target:e}).isDefaultPrevented()?null:((n=(t=e).ownerDocument.createRange()).selectNode(t),n)}function T(e,t){return t=h.normalizeRange(e,m,t),-1==e?F.fromRangeStart(t):F.fromRangeEnd(t)}function o(e,t,n,i){var r,o,s,a,l,c,u,d;return!i.collapsed&&(r=ne(i),G(r))?C(e,r,-1==e):(l=i,a=z.isCaretContainerBlock(l.startContainer),n(o=T(e,i))?k(o.getNode(-1==e)):(o=t(o))?n(o)?C(e,o.getNode(-1==e),1==e):n(s=t(o))&&(c=o,u=s,!(d=h.isInSameBlock(c,u))&&U.isBr(c.getNode())||d)?C(e,s.getNode(-1==e),1==e):a?R(o.toRange()):null:a?i:null)}function s(e,t){var n,i,r;if(t.collapsed&&f.settings.forced_root_block){if(!(n=f.dom.getParent(t.startContainer,"PRE")))return;(1==e?g(F.fromRangeStart(t)):v(F.fromRangeStart(t)))||(r=f.dom.create(f.settings.forced_root_block),(!L.ie||11<=L.ie)&&(r.innerHTML='
    '),i=r,1==e?f.$(n).after(i):f.$(n).before(i),f.selection.select(i,!0),f.selection.collapse())}}function S(e,t,n,i){var r;return(r=o(e,t,n,i))?r:(r=s(e,i))||null}function E(e,t,n){var i;return(i=function(e,t,n){var i,r,o,s,a,l,c,u,d;if(d=ne(n),i=T(e,n),r=t(m,j.isAboveLine(1),i),o=K.filter(r,j.isLine(1)),a=K.last(i.getClientRects()),te(i)&&(d=i.getNode()),ee(i)&&(d=i.getNode(!0)),!a)return null;if(l=a.left,(s=W.findClosestClientRect(o,l))&&G(s.node))return c=Math.abs(l-s.left),u=Math.abs(l-s.right),C(e,s.node,c
  • ').attr("id",y)).appendTo(f.getBody()),e=f.dom.createRng(),c===u&&L.ie?(n.empty().append('

     

    ').append(c),e.setStartAfter(n[0].firstChild.firstChild),e.setEndAfter(c)):(n.empty().append(" ").append(c).append(" "),e.setStart(n[0].firstChild,1),e.setEnd(n[0].lastChild,0)),n.css({top:h.getPos(t,f.getBody()).y}),n[0].focus(),(i=f.selection.getSel()).removeAllRanges(),i.addRange(e),f.$("*[data-mce-selected]").removeAttr("data-mce-selected"),t.setAttribute("data-mce-selected",1),p=t,B(),e)):null)}function O(){p&&(p.removeAttribute("data-mce-selected"),f.$("#"+y).remove(),p=null)}function B(){i.hide()}return L.ceFalse&&(function(){var n=X(S,1,g,te),i=X(S,-1,v,ee),r=X(P,1,te,ee),o=X(P,-1,ee,te),s=X(E,-1,j.upUntil),a=X(E,1,j.downUntil);function l(e,t){if(!1===e.isDefaultPrevented()){var n=t(w());n&&(e.preventDefault(),x(n))}}function c(e){for(var t=f.getBody();e&&e!=t;){if(Q(e)||G(e))return e;e=e.parentNode}return null}f.on("mouseup",function(){var e=w();e.collapsed&&x(D(e))}),f.on("click",function(e){var t;(t=c(e.target))&&(G(t)&&(e.preventDefault(),f.focus()),Q(t)&&f.dom.isChildOf(t,f.selection.getNode())&&O())}),f.on("blur NewBlock",function(){O(),B()});var e,u,d=function(e,t){var n,i,r=f.dom.getParent(e,f.dom.isBlock),o=f.dom.getParent(t,f.dom.isBlock);return r&&(n=r,i=o,!(f.dom.getParent(n,f.dom.isBlock)===f.dom.getParent(i,f.dom.isBlock)))&&function(e){var t=new H(e);if(!e.firstChild)return!1;var n=F.before(e.firstChild),i=t.next(n);return i&&!te(i)&&!ee(i)}(r)};function h(){var e,t=c(f.selection.getNode());Q(t)&&_(t)&&f.dom.isEmpty(t)&&(e=f.dom.create("br",{"data-mce-bogus":"1"}),f.$(t).empty().append(e),f.selection.setRng(F.before(e).toRange()))}function t(e){var t=b("*[data-mce-caret]")[0];if(t)return"compositionstart"==e.type?(e.preventDefault(),e.stopPropagation(),void N(t)):void(z.hasContent(t)&&N(t))}u=!1,(e=f).on("touchstart",function(){u=!1}),e.on("touchmove",function(){u=!0}),e.on("touchend",function(e){var t=c(e.target);G(t)&&(u||(e.preventDefault(),I(k(t))))}),f.on("mousedown",function(e){var t,n,i,r;if(t=c(e.target))G(t)?(e.preventDefault(),I(k(t))):(n=e.clientX,i=e.clientY,((r=f.selection.getRng()).collapsed||!K.reduce(r.getClientRects(),function(e,t){return e||q.containsXY(t,n,i)},!1))&&f.selection.placeCaretAt(e.clientX,e.clientY));else{O(),B();var o=W.closestCaret(m,e.clientX,e.clientY);o&&(d(e.target,o.node)||(e.preventDefault(),f.getBody().focus(),x(C(1,o.node,o.before))))}}),f.on("keydown",function(e){var t;if(!V.modifierPressed(e))switch(e.keyCode){case V.RIGHT:l(e,n);break;case V.DOWN:l(e,a);break;case V.LEFT:l(e,i);break;case V.UP:l(e,s);break;case V.DELETE:l(e,r);break;case V.BACKSPACE:l(e,o);break;default:!G(f.selection.getNode())||112<=(t=e).keyCode&&t.keyCode<=123||e.preventDefault()}}),f.on("keyup compositionstart",function(e){t(e),function(e){var t;switch(e.keyCode){case V.DELETE:case V.BACKSPACE:t=h()}t&&e.preventDefault()}(e)},!0),f.on("cut",function(){var e=f.selection.getNode();G(e)&&J.setEditorTimeout(f,function(){x(R(A(e)))})}),f.on("getSelectionRange",function(e){var t=e.range;if(p){if(!p.parentNode)return void(p=null);(t=t.cloneRange()).selectNode(p),e.range=t}}),f.on("setSelectionRange",function(e){var t;(t=I(e.range))&&(e.range=t)}),f.on("AfterSetSelectionRange",function(e){var t,n=e.range;M(n)||B(),t=n.startContainer.parentNode,f.dom.hasClass(t,"mce-offscreen-selection")||O()}),f.on("focus",function(){J.setEditorTimeout(f,function(){f.selection.setRng(R(f.selection.getRng()))},0)}),f.on("copy",function(e){var t,n=e.clipboardData;if(!e.isDefaultPrevented()&&e.clipboardData&&!L.ie){var i=(t=f.dom.get(y))?t.getElementsByTagName("*")[0]:t;i&&(e.preventDefault(),n.clearData(),n.setData("text/html",i.outerHTML),n.setData("text/plain",i.outerText))}}),Y.init(f)}(),e=f.contentStyles,t=".mce-content-body",e.push(i.getCss()),e.push(t+" .mce-offscreen-selection {position: absolute;left: -9999999999px;max-width: 1000000px;}"+t+" *[contentEditable=false] {cursor: default;}"+t+" *[contentEditable=true] {cursor: text;}")),{showBlockCaretContainer:N,hideFakeCaret:B,destroy:function(){i.destroy(),p=null}}}}),e("tinymce/util/Uuid",[],function(){var n=0;return{uuid:function(e){return e+n+++(t=function(){return Math.round(4294967295*Math.random()).toString(36)},"s"+(new Date).getTime().toString(36)+t()+t()+t());var t}}}),e("tinymce/ui/Sidebar",[],function(){return{add:function(e,t,n){var i=e.sidebars?e.sidebars:[];i.push({name:t,settings:n}),e.sidebars=i}}}),e("tinymce/Editor",["tinymce/dom/DOMUtils","tinymce/dom/DomQuery","tinymce/AddOnManager","tinymce/NodeChange","tinymce/html/Node","tinymce/dom/Serializer","tinymce/html/Serializer","tinymce/dom/Selection","tinymce/Formatter","tinymce/UndoManager","tinymce/EnterKey","tinymce/ForceBlocks","tinymce/EditorCommands","tinymce/util/URI","tinymce/dom/ScriptLoader","tinymce/dom/EventUtils","tinymce/WindowManager","tinymce/NotificationManager","tinymce/html/Schema","tinymce/html/DomParser","tinymce/util/Quirks","tinymce/Env","tinymce/util/Tools","tinymce/util/Delay","tinymce/EditorObservable","tinymce/Mode","tinymce/Shortcuts","tinymce/EditorUpload","tinymce/SelectionOverrides","tinymce/util/Uuid","tinymce/ui/Sidebar","tinymce/ErrorReporter"],function(s,a,l,c,u,d,h,f,p,m,g,v,y,b,o,e,_,x,w,C,k,T,S,E,t,n,N,D,R,r,i,A){var P=s.DOM,M=l.ThemeManager,I=l.PluginManager,O=S.extend,B=S.each,L=S.explode,H=S.inArray,F=S.trim,z=S.resolve,j=e.Event,W=T.gecko,U=T.ie;function q(e,t,n){var i,r,o,s=this;i=s.documentBaseUrl=n.documentBaseURL,r=n.baseURI,o=n.defaultSettings,t=O({id:e,theme:"modern",delta_width:0,delta_height:0,popup_css:"",plugins:"",document_base_url:i,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:s.convertURL,url_converter_scope:s,ie7_compat:!0},o,t),o&&o.external_plugins&&t.external_plugins&&(t.external_plugins=O({},o.external_plugins,t.external_plugins)),s.settings=t,l.language=t.language||"en",l.languageLoad=t.language_load,l.baseURL=n.baseURL,s.id=t.id=e,s.setDirty(!1),s.plugins={},s.documentBaseURI=new b(t.document_base_url||i,{base_uri:r}),s.baseURI=r,s.contentCSS=[],s.contentStyles=[],s.shortcuts=new N(s),s.loadedCSS={},s.editorCommands=new y(s),s.suffix=n.suffix,s.editorManager=n,s.inline=t.inline,s.settings.content_editable=s.inline,t.cache_suffix&&(T.cacheSuffix=t.cache_suffix.replace(/^[\?\&]+/,"")),!1===t.override_viewport&&(T.overrideViewPort=!1),n.fire("SetupEditor",s),s.execCallback("setup",s),s.$=a.overrideDefaults(function(){return{context:s.inline?s.getBody():s.getDoc(),element:s.getBody()}})}return O(q.prototype={render:function(){var n=this,i=n.settings,e=n.id,r=n.suffix;if(j.domLoaded){if(n.getElement()&&T.contentEditable){i.inline?n.inline=!0:(n.orgVisibility=n.getElement().style.visibility,n.getElement().style.visibility="hidden");var t=n.getElement().form||P.getParent(e,"form");t&&(n.formElement=t,i.hidden_input&&!/TEXTAREA|INPUT/i.test(n.getElement().nodeName)&&(P.insertAfter(P.create("input",{type:"hidden",name:e}),e),n.hasHiddenInput=!0),n.formEventDelegate=function(e){n.fire(e.type,e)},P.bind(t,"submit reset",n.formEventDelegate),n.on("reset",function(){n.setContent(n.startContent,{format:"raw"})}),!i.submit_patch||t.submit.nodeType||t.submit.length||t._mceOldSubmit||(t._mceOldSubmit=t.submit,t.submit=function(){return n.editorManager.triggerSave(),n.setDirty(!1),t._mceOldSubmit(t)})),n.windowManager=new _(n),n.notificationManager=new x(n),"xml"==i.encoding&&n.on("GetContent",function(e){e.save&&(e.content=P.encode(e.content))}),i.add_form_submit_trigger&&n.on("submit",function(){n.initialized&&n.save()}),i.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),function(){var e=o.ScriptLoader;if(i.language&&"en"!=i.language&&!i.language_url&&(i.language_url=n.editorManager.baseURL+"/langs/"+i.language+".js"),i.language_url&&e.add(i.language_url),i.theme&&"function"!=typeof i.theme&&"-"!=i.theme.charAt(0)&&!M.urls[i.theme]){var t=i.theme_url;t=t?n.documentBaseURI.toAbsolute(t):"themes/"+i.theme+"/theme"+r+".js",M.load(i.theme,t)}S.isArray(i.plugins)&&(i.plugins=i.plugins.join(" ")),B(i.external_plugins,function(e,t){I.load(t,e),i.plugins+=" "+t}),B(i.plugins.split(/[ ,]/),function(e){if((e=F(e))&&!I.urls[e])if("-"==e.charAt(0)){e=e.substr(1,e.length);var t=I.dependencies(e);B(t,function(e){var t={prefix:"plugins/",resource:e,suffix:"/plugin"+r+".js"};e=I.createUrl(t,e),I.load(e.resource,e)})}else I.load(e,{prefix:"plugins/",resource:e,suffix:"/plugin"+r+".js"})}),e.loadQueue(function(){n.removed||n.init()},n,function(e){A.pluginLoadError(n,e[0]),n.removed||n.init()})}()}}else P.bind(window,"ready",function e(){P.unbind(window,"ready",e),n.render()})},init:function(){var e,t,n,i,r,o,s,a,l,c,u,d=this,h=d.settings,f=d.getElement(),p=[];if(d.rtl=h.rtl_ui||d.editorManager.i18n.rtl,d.editorManager.i18n.setCode(h.language),h.aria_label=h.aria_label||P.getAttrib(f,"aria-label",d.getLang("aria.rich_text_area")),d.fire("ScriptsLoaded"),h.theme&&("function"!=typeof h.theme?(h.theme=h.theme.replace(/-/,""),o=M.get(h.theme),d.theme=new o(d,M.urls[h.theme]),d.theme.init&&d.theme.init(d,M.urls[h.theme]||d.documentBaseUrl.replace(/\/$/,""),d.$)):d.theme=h.theme),B(h.plugins.replace(/\-/g,"").split(/[ ,]/),function t(e){var n,i,r=I.get(e);if(n=I.urls[e]||d.documentBaseUrl.replace(/\/$/,""),e=F(e),r&&-1===H(p,e)){if(B(I.dependencies(e),function(e){t(e)}),d.plugins[e])return;i=new r(d,n,d.$),(d.plugins[e]=i).init&&(i.init(d,n),p.push(e))}}),h.render_ui&&d.theme&&(d.orgDisplay=f.style.display,"function"!=typeof h.theme?(e=h.width||f.style.width||f.offsetWidth,t=h.height||f.style.height||f.offsetHeight,n=h.min_height||100,(c=/^[0-9\.]+(|px)$/i).test(""+e)&&(e=Math.max(parseInt(e,10),100)),c.test(""+t)&&(t=Math.max(parseInt(t,10),n)),r=d.theme.renderUI({targetNode:f,width:e,height:t,deltaWidth:h.delta_width,deltaHeight:h.delta_height}),h.content_editable||(t=(r.iframeHeight||t)+("number"==typeof t?r.deltaHeight||0:""))",h.document_base_url!=d.documentBaseUrl&&(d.iframeHTML+=''),!T.caretAfter&&h.ie7_compat&&(d.iframeHTML+=''),d.iframeHTML+='',!/#$/.test(document.location.href))for(u=0;u',d.loadedCSS[m]=!0}-1!=(a=h.body_id||"tinymce").indexOf("=")&&(a=(a=d.getParam("body_id","","hash"))[d.id]||a),-1!=(l=h.body_class||"").indexOf("=")&&(l=(l=d.getParam("body_class","","hash"))[d.id]||""),h.content_security_policy&&(d.iframeHTML+=''),d.iframeHTML+='
    ';var g='javascript:(function(){document.open();document.domain="'+document.domain+'";var ed = window.parent.tinymce.get("'+d.id+'");document.write(ed.iframeHTML);document.close();ed.initContentBody(true);})()';document.domain!=location.hostname&&T.ie&&T.ie<12&&(s=g);var v=P.create("iframe",{id:d.id+"_ifr",frameBorder:"0",allowTransparency:"true",title:d.editorManager.translate("Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help"),style:{width:"100%",height:t,display:"block"}});if(v.onload=function(){v.onload=null,d.fire("load")},P.setAttrib(v,"src",s||'javascript:""'),d.contentAreaContainer=r.iframeContainer,d.iframeElement=v,i=P.add(r.iframeContainer,v),U)try{d.getDoc()}catch(e){i.src=s=g}r.editorContainer&&(P.get(r.editorContainer).style.display=d.orgDisplay,d.hidden=P.isHidden(r.editorContainer)),d.getElement().style.display="none",P.setAttrib(d.id,"aria-hidden",!0),s||d.initContentBody(),f=i=r=null},initContentBody:function(e){var t,n,a=this,i=a.settings,r=a.getElement(),o=a.getDoc();i.inline||(a.getElement().style.visibility=a.orgVisibility),e||i.content_editable||(o.open(),o.write(a.iframeHTML),o.close()),i.content_editable&&(a.on("remove",function(){var e=this.getBody();P.removeClass(e,"mce-content-body"),P.removeClass(e,"mce-edit-focus"),P.setAttrib(e,"contentEditable",null)}),P.addClass(r,"mce-content-body"),a.contentDocument=o=i.content_document||document,a.contentWindow=i.content_window||window,a.bodyElement=r,i.content_document=i.content_window=null,i.root_name=r.nodeName.toLowerCase()),(t=a.getBody()).disabled=!0,a.readonly=i.readonly,a.readonly||(a.inline&&"static"==P.getStyle(t,"position",!0)&&(t.style.position="relative"),t.contentEditable=a.getParam("content_editable_state",!0)),t.disabled=!1,a.editorUpload=new D(a),a.schema=new w(i),a.dom=new s(o,{keep_values:!0,url_converter:a.convertURL,url_converter_scope:a,hex_colors:i.force_hex_style_colors,class_filter:i.class_filter,update_styles:!0,root_element:a.inline?a.getBody():null,collect:i.content_editable,schema:a.schema,onSetAttrib:function(e){a.fire("SetAttrib",e)}}),a.parser=new C(i,a.schema),a.parser.addAttributeFilter("src,href,style,tabindex",function(e,t){for(var n,i,r,o=e.length,s=a.dom;o--;)if(i=(n=e[o]).attr(t),r="data-mce-"+t,!n.attributes.map[r]){if(0===i.indexOf("data:")||0===i.indexOf("blob:"))continue;"style"===t?((i=s.serializeStyle(s.parseStyle(i),n.name)).length||(i=null),n.attr(r,i),n.attr(t,i)):"tabindex"===t?(n.attr(r,i),n.attr(t,null)):n.attr(r,a.convertURL(i,t,n.name))}}),a.parser.addNodeFilter("script",function(e){for(var t,n,i=e.length;i--;)0!==(n=(t=e[i]).attr("type")||"no/type").indexOf("mce-")&&t.attr("type","mce-"+n)}),a.parser.addNodeFilter("#cdata",function(e){for(var t,n=e.length;n--;)(t=e[n]).type=8,t.name="#comment",t.value="[CDATA["+t.value+"]]"}),a.parser.addNodeFilter("p,h1,h2,h3,h4,h5,h6,div",function(e){for(var t,n=e.length,i=a.schema.getNonEmptyElements();n--;)(t=e[n]).isEmpty(i)&&0===t.getAll("br").length&&(t.append(new u("br",1)).shortEnded=!0)}),a.serializer=new d(i,a),a.selection=new f(a.dom,a.getWin(),a.serializer,a),a.formatter=new p(a),a.undoManager=new m(a),a.forceBlocks=new v(a),a.enterKey=new g(a),a._nodeChangeDispatcher=new c(a),a._selectionOverrides=new R(a),a.fire("PreInit"),i.browser_spellcheck||i.gecko_spellcheck||(o.body.spellcheck=!1,P.setAttrib(t,"spellcheck","false")),a.quirks=new k(a),a.fire("PostRender"),i.directionality&&(t.dir=i.directionality),i.nowrap&&(t.style.whiteSpace="nowrap"),i.protect&&a.on("BeforeSetContent",function(t){B(i.protect,function(e){t.content=t.content.replace(e,function(e){return"\x3c!--mce:protected "+escape(e)+"--\x3e"})})}),a.on("SetContent",function(){a.addVisual(a.getBody())}),i.padd_empty_editor&&a.on("PostProcess",function(e){e.content=e.content.replace(/^(]*>( | |\s|\u00a0|
    |)<\/p>[\r\n]*|
    [\r\n]*)$/,"")}),a.load({initial:!0,format:"html"}),a.startContent=a.getContent({format:"raw"}),a.initialized=!0,a.bindPendingEventDelegates(),a.fire("init"),a.focus(!0),a.nodeChanged({initial:!0}),a.execCallback("init_instance_callback",a),a.on("compositionstart compositionend",function(e){a.composing="compositionstart"===e.type}),0',"TABLE"==o.nodeName?e=""+i+"":/^(UL|OL)$/.test(o.nodeName)&&(e="
  • "+i+"
  • "),(n=r.settings.forced_root_block)&&r.schema.isValidChild(o.nodeName.toLowerCase(),n.toLowerCase())?(e=i,e=r.dom.createHTML(n,r.settings.forced_root_block_attrs,e)):U||e||(e='
    '),r.dom.setHTML(o,e),r.fire("SetContent",t)):("raw"!==t.format&&(e=new h({validate:r.validate},r.schema).serialize(r.parser.parse(e,{isRootContent:!0}))),t.content=F(e),r.dom.setHTML(o,t.content),t.no_events||r.fire("SetContent",t)),t.content},getContent:function(e){var t,n=this.getBody();return(e=e||{}).format=e.format||"html",e.get=!0,e.getInner=!0,e.no_events||this.fire("BeforeGetContent",e),t="raw"==e.format?S.trim(this.serializer.getTrimmedContent()):"text"==e.format?n.innerText||n.textContent:this.serializer.serialize(n,e),"text"!=e.format?e.content=F(t):e.content=t,e.no_events||this.fire("GetContent",e),e.content},insertContent:function(e,t){t&&(e=O({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){n.setMode(this,e)},getContainer:function(){return this.container||(this.container=P.get(this.editorContainer||this.id+"_parent")),this.container},getContentAreaContainer:function(){return this.contentAreaContainer},getElement:function(){return this.targetElm||(this.targetElm=P.get(this.id)),this.targetElm},getWin:function(){var e;return this.contentWindow||(e=this.iframeElement)&&(this.contentWindow=e.contentWindow),this.contentWindow},getDoc:function(){var e;return this.contentDocument||(e=this.getWin())&&(this.contentDocument=e.document),this.contentDocument},getBody:function(){var e=this.getDoc();return this.bodyElement||(e?e.body:null)},convertURL:function(e,t,n){var i=this.settings;return i.urlconverter_callback?this.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?this.documentBaseURI.toRelative(e):e=this.documentBaseURI.toAbsolute(e,i.remove_script_host)},addVisual:function(e){var n,i=this,r=i.settings,o=i.dom;e=e||i.getBody(),i.hasVisual===ye&&(i.hasVisual=r.visual),B(o.select("table,a",e),function(e){var t;switch(e.nodeName){case"TABLE":return n=r.visual_table_class||"mce-item-table",void((t=o.getAttrib(e,"border"))&&"0"!=t||!i.hasVisual?o.removeClass(e,n):o.addClass(e,n));case"A":return void(o.getAttrib(e,"href",!1)||(t=o.getAttrib(e,"name")||e.id,n=r.visual_anchor_class||"mce-item-anchor",t&&i.hasVisual?o.addClass(e,n):o.removeClass(e,n)))}}),i.fire("VisualAid",{element:e,hasVisual:i.hasVisual})},remove:function(){var e=this;e.removed||(e.save(),e.removed=1,e.unbindAllNativeEvents(),e.hasHiddenInput&&P.remove(e.getElement().nextSibling),e.inline||(U&&U<10&&e.getDoc().execCommand("SelectAll",!1,null),P.setStyle(e.id,"display",e.orgDisplay),e.getBody().onload=null),e.fire("remove"),e.editorManager.remove(e),P.remove(e.getContainer()),e._selectionOverrides.destroy(),e.editorUpload.destroy(),e.destroy())},destroy:function(e){var t,n=this;n.destroyed||(e||n.removed?(e||(n.editorManager.off("beforeunload",n._beforeUnload),n.theme&&n.theme.destroy&&n.theme.destroy(),n.selection.destroy(),n.dom.destroy()),(t=n.formElement)&&(t._mceOldSubmit&&(t.submit=t._mceOldSubmit,t._mceOldSubmit=null),P.unbind(t,"submit reset",n.formEventDelegate)),n.contentAreaContainer=n.formElement=n.container=n.editorContainer=null,n.bodyElement=n.contentDocument=n.contentWindow=null,n.iframeElement=n.targetElm=null,n.selection&&(n.selection=n.selection.win=n.selection.dom=n.selection.dom.doc=null),n.destroyed=1):n.remove())},uploadImages:function(e){return this.editorUpload.uploadImages(e)},_scanForImages:function(){return this.editorUpload.scanForImages()}},t),q}),e("tinymce/util/I18n",["tinymce/util/Tools"],function(s){var a={},l="en";return{setCode:function(e){e&&(l=e,this.rtl=!!this.data[e]&&"rtl"===this.data[e]._dir)},getCode:function(){return l},rtl:!1,add:function(e,t){var n=a[e];for(var i in n||(a[e]=n={}),t)n[i]=t[i];this.setCode(e)},translate:function(e){var t=a[l]||{};function n(e){return s.is(e,"function")?Object.prototype.toString.call(e):i(e)?"":""+e}function i(e){return""===e||null===e||s.is(e,"undefined")}function r(e){return e=n(e),s.hasOwn(t,e)?n(t[e]):e}if(i(e))return"";if(s.is(e,"object")&&s.hasOwn(e,"raw"))return n(e.raw);if(s.is(e,"array")){var o=e.slice(1);e=r(e[0]).replace(/\{([0-9]+)\}/g,function(e,t){return s.hasOwn(o,t)?n(o[t]):e})}return r(e).replace(/{context:\w+}$/,"")},data:a}}),e("tinymce/FocusManager",["tinymce/dom/DOMUtils","tinymce/util/Delay","tinymce/Env"],function(e,t,i){var r,a,l,c=e.DOM,u=function(t,e){var n=t?t.settings.custom_ui_selector:"";return null!==c.getParent(e,function(e){return o.isEditorUIElement(e)||!!n&&t.dom.is(e,n)})};function o(s){function n(){try{return document.activeElement}catch(e){return document.body}}s.on("AddEditor",function(e){var o=e.editor;o.on("init",function(){(o.inline||i.ie)&&("onbeforedeactivate"in document&&i.ie<9?o.dom.bind(o.getBody(),"beforedeactivate",function(e){if(e.target==o.getBody())try{o.lastRng=o.selection.getRng()}catch(e){}}):o.on("nodechange mouseup keyup",function(e){var t=n();"nodechange"==e.type&&e.selectionChange||(t&&t.id==o.id+"_ifr"&&(t=o.getBody()),o.dom.isChildOf(t,o.getBody())&&(o.lastRng=o.selection.getRng()))}),i.webkit&&!r&&(r=function(){var e=s.activeEditor;if(e&&e.selection){var t=e.selection.getRng();t&&!t.collapsed&&(o.lastRng=t)}},c.bind(document,"selectionchange",r)))}),o.on("setcontent",function(){o.lastRng=null}),o.on("mousedown",function(){o.selection.lastFocusBookmark=null}),o.on("focusin",function(){var e,t,n,i,r=s.focusedEditor;o.selection.lastFocusBookmark&&((n=(t=o).selection.lastFocusBookmark).startContainer?((i=t.getDoc().createRange()).setStart(n.startContainer,n.startOffset),i.setEnd(n.endContainer,n.endOffset)):i=n,e=i,o.selection.lastFocusBookmark=null,o.selection.setRng(e)),r!=o&&(r&&r.fire("blur",{focusedEditor:o}),s.setActive(o),(s.focusedEditor=o).fire("focus",{blurredEditor:r}),o.focus(!0)),o.lastRng=null}),o.on("focusout",function(){t.setEditorTimeout(o,function(){var e=s.focusedEditor;u(o,n())||e!=o||(o.fire("blur",{focusedEditor:null}),s.focusedEditor=null,o.selection&&(o.selection.lastFocusBookmark=null))})}),a||(a=function(e){var t,n=s.activeEditor;t=e.target,n&&t.ownerDocument==document&&(n.selection&&t!=n.getBody()&&(n.selection.lastFocusBookmark=function(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}(n.dom,n.lastRng)),t==document.body||u(n,t)||s.focusedEditor!=n||(n.fire("blur",{focusedEditor:null}),s.focusedEditor=null))},c.bind(document,"focusin",a)),o.inline&&!l&&(l=function(e){var t=s.activeEditor,n=t.dom;if(t.inline&&n&&!n.isChildOf(e.target,t.getBody())){var i=t.selection.getRng();i.collapsed||(t.lastRng=i)}},c.bind(document,"mouseup",l))}),s.on("RemoveEditor",function(e){s.focusedEditor==e.editor&&(s.focusedEditor=null),s.activeEditor||(c.unbind(document,"selectionchange",r),c.unbind(document,"focusin",a),c.unbind(document,"mouseup",l),r=a=l=null)})}return o.isEditorUIElement=function(e){return-1!==e.className.toString().indexOf("mce-")},o._isUIElement=u,o}),e("tinymce/EditorManager",["tinymce/Editor","tinymce/dom/DomQuery","tinymce/dom/DOMUtils","tinymce/util/URI","tinymce/Env","tinymce/util/Tools","tinymce/util/Promise","tinymce/util/Observable","tinymce/util/I18n","tinymce/FocusManager","tinymce/AddOnManager"],function(f,p,e,l,t,m,r,n,i,c,o){var s,a,g=e.DOM,v=m.explode,y=m.each,b=m.extend,_=0,u=!1;function d(t){y(a.editors,function(e){"scroll"===t.type?e.fire("ScrollWindow",t):e.fire("ResizeWindow",t)})}function h(e,t){t!==u&&(t?p(window).on("resize scroll",d):p(window).off("resize scroll",d),u=t)}function x(e){var t,n=a.editors;delete n[e.id];for(var i=0;ii.length?null:(t=i.substring(r,n),r=n+1,t)}}(),t}),e("tinymce/Compat",["tinymce/dom/DOMUtils","tinymce/dom/EventUtils","tinymce/dom/ScriptLoader","tinymce/AddOnManager","tinymce/util/Tools","tinymce/Env"],function(e,t,n,i,r,o){var s=window.tinymce;return s.DOM=e.DOM,s.ScriptLoader=n.ScriptLoader,s.PluginManager=i.PluginManager,s.ThemeManager=i.ThemeManager,s.dom=s.dom||{},s.dom.Event=t.Event,r.each("trim isArray is toArray makeMap each map grep inArray extend create walk createNS resolve explode _addCacheSuffix".split(" "),function(e){s[e]=r[e]}),r.each("isOpera isWebKit isIE isGecko isMac".split(" "),function(e){s[e]=o[e.substr(2).toLowerCase()]}),{}}),e("tinymce/ui/Layout",["tinymce/util/Class","tinymce/util/Tools"],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,n,i,r,o=this.settings;t=o.firstControlClass,n=o.lastControlClass,e.each(function(e){e.classes.remove(t).remove(n).add(o.controlClass),e.visible()&&(i||(i=e),r=e)}),i&&i.classes.add(t),r&&r.classes.add(n)},renderHtml:function(e){var t="";return this.applyClasses(e.items()),e.items().each(function(e){t+=e.renderHtml()}),t},recalc:function(){},postRender:function(){},isNative:function(){return!1}})}),e("tinymce/ui/AbsoluteLayout",["tinymce/ui/Layout"],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)}})}),e("tinymce/ui/Button",["tinymce/ui/Widget"],function(e){return e.extend({Defaults:{classes:"widget btn",role:"button"},init:function(e){var t,n=this;n._super(e),e=n.settings,t=n.settings.size,n.on("click mousedown",function(e){e.preventDefault()}),n.on("touchstart",function(e){n.fire("click",e),e.preventDefault()}),e.subtype&&n.classes.add(e.subtype),t&&n.classes.add("btn-"+t),e.icon&&n.icon(e.icon)},icon:function(e){return arguments.length?(this.state.set("icon",e),this):this.state.get("icon")},repaint:function(){var e,t=this.getEl().firstChild;t&&((e=t.style).width=e.height="100%"),this._super()},renderHtml:function(){var e,t=this._id,n=this.classPrefix,i=this.state.get("icon"),r=this.state.get("text"),o="";return e=(e=this.settings.image)?(i="none","string"!=typeof e&&(e=window.getSelection?e[0]:e[1])," style=\"background-image: url('"+e+"')\""):"",r&&(this.classes.add("btn-has-text"),o=''+this.encode(r)+""),i=i?n+"ico "+n+"i-"+i:"",'
    "},bindStates:function(){var o=this,n=o.$,i=o.classPrefix+"txt";function s(e){var t=n("span."+i,o.getEl());e?(t[0]||(n("button:first",o.getEl()).append(''),t=n("span."+i,o.getEl())),t.html(o.encode(e))):t.remove(),o.classes.toggle("btn-has-text",!!e)}return o.state.on("change:text",function(e){s(e.value)}),o.state.on("change:icon",function(e){var t=e.value,n=o.classPrefix;t=(o.settings.icon=t)?n+"ico "+n+"i-"+o.settings.icon:"";var i=o.getEl().firstChild,r=i.getElementsByTagName("i")[0];t?(r&&r==i.firstChild||(r=document.createElement("i"),i.insertBefore(r,i.firstChild)),r.className=t):r&&i.removeChild(r),s(o.state.get("text"))}),o._super()}})}),e("tinymce/ui/ButtonGroup",["tinymce/ui/Container"],function(e){return e.extend({Defaults:{defaultType:"button",role:"group"},renderHtml:function(){var e=this._layout;return this.classes.add("btn-group"),this.preRender(),e.preRender(this),'
    '+(this.settings.html||"")+e.renderHtml(this)+"
    "}})}),e("tinymce/ui/Checkbox",["tinymce/ui/Widget"],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._id,t=this.classPrefix;return'
    '+this.encode(this.state.get("text"))+"
    "},bindStates:function(){var o=this;function t(e){o.classes.toggle("checked",e),o.aria("checked",e)}return o.state.on("change:text",function(e){o.getEl("al").firstChild.data=o.translate(e.value)}),o.state.on("change:checked change:value",function(e){o.fire("change"),t(e.value)}),o.state.on("change:icon",function(e){var t=e.value,n=o.classPrefix;if(void 0===t)return o.settings.icon;t=(o.settings.icon=t)?n+"ico "+n+"i-"+o.settings.icon:"";var i=o.getEl().firstChild,r=i.getElementsByTagName("i")[0];t?(r&&r==i.firstChild||(r=document.createElement("i"),i.insertBefore(r,i.firstChild)),r.className=t):r&&i.removeChild(r)}),o.state.get("checked")&&t(!0),o._super()}})}),e("tinymce/ui/ComboBox",["tinymce/ui/Widget","tinymce/ui/Factory","tinymce/ui/DomUtils","tinymce/dom/DomQuery","tinymce/util/VK","tinymce/util/Tools"],function(e,o,l,c,i,n){return e.extend({init:function(i){var r=this;r._super(i),i=r.settings,r.classes.add("combobox"),r.subinput=!0,r.ariaTarget="inp",i.menu=i.menu||i.values,i.menu&&(i.icon="caret"),r.on("click",function(e){var t=e.target,n=r.getEl();if(c.contains(n,t)||t==n)for(;t&&t!=n;)t.id&&-1!=t.id.indexOf("-open")&&(r.fire("action"),i.menu&&(r.showMenu(),e.aria&&r.menu.items()[0].focus())),t=t.parentNode}),r.on("keydown",function(e){var t;13==e.keyCode&&"INPUT"===e.target.nodeName&&(e.preventDefault(),r.parents().reverse().each(function(e){if(e.toJSON)return t=e,!1}),r.fire("submit",{data:t.toJSON()}))}),r.on("keyup",function(e){if("INPUT"==e.target.nodeName){var t=r.state.get("value"),n=e.target.value;n!==t&&(r.state.set("value",n),r.fire("autocomplete",e))}}),r.on("mouseover",function(e){var t=r.tooltip().moveTo(-65535);if(r.statusLevel()&&-1!==e.target.className.indexOf(r.classPrefix+"status")){var n=r.statusMessage()||"Ok",i=t.text(n).show().testMoveRel(e.target,["bc-tc","bc-tl","bc-tr"]);t.classes.toggle("tooltip-n","bc-tc"==i),t.classes.toggle("tooltip-nw","bc-tl"==i),t.classes.toggle("tooltip-ne","bc-tr"==i),t.moveRel(e.target,i)}})},statusLevel:function(e){return 0
';return r}()+'
','
'+e+"
"}})}),e("tinymce/ui/Path",["tinymce/ui/Widget"],function(e){return e.extend({init:function(e){var n=this;e.delimiter||(e.delimiter="»"),n._super(e),n.classes.add("path"),n.canFocus=!0,n.on("click",function(e){var t;(t=e.target.getAttribute("data-index"))&&n.fire("select",{value:n.row()[t],index:t})}),n.row(n.settings.row)},focus:function(){return this.getEl().firstChild.focus(),this},row:function(e){return arguments.length?(this.state.set("row",e),this):this.state.get("row")},renderHtml:function(){return'
'+this._getDataPathHtml(this.state.get("row"))+"
"},bindStates:function(){var t=this;return t.state.on("change:row",function(e){t.innerHtml(t._getDataPathHtml(e.value))}),t._super()},_getDataPathHtml:function(e){var t,n,i=e||[],r="",o=this.classPrefix;for(t=0,n=i.length;t
":"")+'
'+i[t].name+"
";return r||(r='
 
'),r}})}),e("tinymce/ui/ElementPath",["tinymce/ui/Path"],function(e){return e.extend({postRender:function(){var o=this,s=o.settings.editor;function a(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}return!1!==s.settings.elementpath&&(o.on("select",function(e){s.focus(),s.selection.select(this.row()[e.index].element),s.nodeChanged()}),s.on("nodeChange",function(e){for(var t=[],n=e.parents,i=n.length;i--;)if(1==n[i].nodeType&&!a(n[i])){var r=s.fire("ResolveName",{name:n[i].nodeName.toLowerCase(),target:n[i]});if(r.isDefaultPrevented()||t.push({name:r.name,element:n[i]}),r.isPropagationStopped())break}o.row(t)})),o._super()}})}),e("tinymce/ui/FormItem",["tinymce/ui/Container"],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)+"
"}})}),e("tinymce/ui/Form",["tinymce/ui/Container","tinymce/ui/FormItem","tinymce/util/Tools"],function(e,r,o){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 i=this,e=i.items();i.settings.formItemDefaults||(i.settings.formItemDefaults={layout:"flex",autoResize:"overflow",defaults:{flex:1}}),e.each(function(e){var t,n=e.settings.label;n&&((t=new r(o.extend({items:{type:"label",id:e._id+"-l",text:n,flex:0,forId:e._id,disabled:e.disabled()}},i.settings.formItemDefaults))).type="formitem",e.aria("labelledby",e._id+"-l"),void 0===e.settings.flex&&(e.settings.flex=1),i.replace(e,t),t.add(e))})},submit:function(){return this.fire("submit",{data:this.toJSON()})},postRender:function(){this._super(),this.fromJSON(this.settings.data)},bindStates:function(){var n=this;function e(){var e,t,i=0,r=[];if(!1!==n.settings.labelGapCalc)for(("children"==n.settings.labelGapCalc?n.find("formitem"):n.items()).filter("formitem").each(function(e){var t=e.items()[0],n=t.getEl().clientWidth;i=i'+(e.settings.title?''+e.settings.title+"":"")+'
'+(e.settings.html||"")+t.renderHtml(e)+"
"}})}),e("tinymce/content/LinkTargets",["tinymce/dom/DOMUtils","tinymce/util/Fun","tinymce/util/Arr","tinymce/util/Uuid","tinymce/util/Tools","tinymce/dom/NodeType"],function(i,r,o,s,e,n){var t=e.trim,a=function(e,t,n,i,r){return{type:e,title:t,url:n,level:i,attach:r}},l=function(e){return e.innerText||e.textContent},c=function(e){return(t=e)&&"A"===t.nodeName&&(t.id||t.name)&&d(e);var t},u=function(e){return e&&/^(H[1-6])$/.test(e.nodeName)},d=function(e){return function(e){for(;e=e.parentNode;){var t=e.contentEditable;if(t&&"inherit"!==t)return n.isContentEditableTrue(e)}return!1}(e)&&!n.isContentEditableFalse(e)},h=function(e){return u(e)&&d(e)},f=function(e){var t,n,i=(t=e).id?t.id:s.uuid("h");return a("header",l(e),"#"+i,u(n=e)?parseInt(n.nodeName.substr(1),10):0,function(){e.id=i})},p=function(e){var t=e.id||e.name,n=l(e);return a("anchor",n||"#"+t,"#"+t,0,r.noop)},m=function(e){var t,n;return t="h1,h2,h3,h4,h5,h6,a:not([href])",n=e,i.DOM.select(t,n)},g=function(e){return 0",s)),null!==a&&o.push(g("",a)),o))],h.reduce(r,function(e,t){return 0===e.length||0===t.length?e.concat(t):e.concat(l,t)},[])):y(e,c(p))},y=function(e,t){var n=e.toLowerCase(),i=d.grep(t,function(e){return-1!==e.title.toLowerCase().indexOf(n)});return 1===i.length&&i[0].title===e?[]:i},c=function(r,i,o,s){var t=function(e){var t=a.find(o),n=l(e,t,s,i);r.showAutoComplete(n,e)};r.on("autocomplete",function(){t(r.value())}),r.on("selectitem",function(e){var t=e.value;r.value(t.url);var n,i=(n=t.title).raw?n.raw:n;"image"===s?r.fire("change",{meta:{alt:i,attach:t.attach}}):r.fire("change",{meta:{text:i,attach:t.attach}}),r.focus()}),r.on("click",function(e){0===r.value().length&&"INPUT"===e.target.nodeName&&t("")}),r.on("PostRender",function(){r.getRoot().on("submit",function(e){var t,n,i;e.isDefaultPrevented()||(t=r.value(),i=p[n=s],/^https?/.test(t)&&(i?-1===h.indexOf(i,t)&&(p[n]=i.slice(0,5).concat(t)):p[n]=[t]))})})},u=function(o,e,n){var i=e.filepicker_validator_handler;if(i){o.state.on("change:value",function(e){var t;0!==(t=e.value).length?i({url:t,type:n},function(e){var t,n,i,r=(n=(t=e).status,i=t.message,"valid"===n?{status:"ok",message:i}:"unknown"===n?{status:"warn",message:i}:"invalid"===n?{status:"warn",message:i}:{status:"none",message:""});o.statusMessage(r.message),o.statusLevel(r.status)}):o.statusLevel("none")})}};return e.extend({init:function(e){var t,n,i,r=this,o=tinymce.activeEditor,s=o.settings,a=e.filetype;e.spellcheck=!1,(i=s.file_picker_types||s.file_browser_callback_types)&&(i=d.makeMap(i,/[, ]/)),i&&!i[a]||(!(n=s.file_picker_callback)||i&&!i[a]?!(n=s.file_browser_callback)||i&&!i[a]||(t=function(){n(r.getEl("inp").id,r.value(),a,window)}):t=function(){var e=r.fire("beforecall").meta;e=d.extend({filetype:a},e),n.call(o,function(e,t){r.value(e).fire("change",{meta:t})},r.value(),e)}),t&&(e.icon="browse",e.onaction=t),r._super(e),c(r,s,o.getBody(),a),u(r,s,a)}})}),e("tinymce/ui/FitLayout",["tinymce/ui/AbsoluteLayout"],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()})}})}),e("tinymce/ui/FlexLayout",["tinymce/ui/AbsoluteLayout"],function(e){return e.extend({recalc:function(e){var t,n,i,r,o,s,a,l,c,u,d,h,f,p,m,g,v,y,b,_,x,w,C,k,T,S,E,N,D,R,A,P,M,I,O,B,L,H=[],F=Math.max,z=Math.min;for(i=e.items().filter(":visible"),r=e.layoutRect(),o=e.paddingBox,s=e.settings,h=e.isRtl()?s.direction||"row-reversed":s.direction,a=s.align,l=e.isRtl()?s.pack||"end":s.pack,c=s.spacing||0,"row-reversed"!=h&&"column-reverse"!=h||(i=i.set(i.toArray().reverse()),h=h.split("-")[0]),L="column"==h?(k="y",w="h",C="minH",T="maxH",E="innerH",S="top",N="deltaH",D="contentH",I="left",P="w",R="x",A="innerW",M="minW",O="right",B="deltaW","contentW"):(k="x",w="w",C="minW",T="maxW",E="innerW",S="left",N="deltaW",D="contentW",I="top",P="h",R="y",A="innerH",M="minH",O="bottom",B="deltaH","contentH"),d=r[E]-o[S]-o[S],x=u=0,t=0,n=i.length;tD[d]?k:D[d],R[h]=T>R[h]?T:R[h];for(S=o.innerW-g.left-g.right,d=w=0;d'},src:function(e){this.getEl().src=e},html:function(e,t){var n=this,i=this.getEl().contentWindow.document.body;return i?(i.innerHTML=e,t&&t()):r.setTimeout(function(){n.html(e)}),this}})}),e("tinymce/ui/InfoBox",["tinymce/ui/Widget"],function(e){return e.extend({init:function(e){this._super(e),this.classes.add("widget").add("infobox"),this.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.classPrefix;return'
'+this.encode(this.state.get("text"))+'
'},bindStates:function(){var t=this;return t.state.on("change:text",function(e){t.getEl("body").firstChild.data=t.encode(e.value),t.state.get("rendered")&&t.updateLayoutRect()}),t.state.on("change:help",function(e){t.classes.toggle("has-help",e.value),t.state.get("rendered")&&t.updateLayoutRect()}),t._super()}})}),e("tinymce/ui/Label",["tinymce/ui/Widget","tinymce/ui/DomUtils"],function(e,t){return e.extend({init:function(e){this._super(e),this.classes.add("widget").add("label"),this.canFocus=!1,e.multiline&&this.classes.add("autoscroll"),e.strong&&this.classes.add("strong")},initLayoutRect:function(){var e=this._super();this.settings.multiline&&(t.getSize(this.getEl()).width>e.maxW&&(e.minW=e.maxW,this.classes.add("multiline")),this.getEl().style.width=e.minW+"px",e.startMinH=e.h=e.minH=Math.min(e.maxH,t.getSize(this.getEl()).height));return e},repaint:function(){return this.settings.multiline||(this.getEl().style.lineHeight=this.layoutRect().h+"px"),this._super()},severity:function(e){this.classes.remove("error"),this.classes.remove("warning"),this.classes.remove("success"),this.classes.add(e)},renderHtml:function(){var e,t,n=this,i=n.settings.forId;return!i&&(t=n.settings.forName)&&(e=n.getRoot().find("#"+t)[0])&&(i=e._id),i?'":''+n.encode(n.state.get("text"))+""},bindStates:function(){var t=this;return t.state.on("change:text",function(e){t.innerHtml(t.encode(e.value)),t.state.get("rendered")&&t.updateLayoutRect()}),t._super()}})}),e("tinymce/ui/Toolbar",["tinymce/ui/Container"],function(e){return e.extend({Defaults:{role:"toolbar",layout:"flow"},init:function(e){this._super(e),this.classes.add("toolbar")},postRender:function(){return this.items().each(function(e){e.classes.add("toolbar-item")}),this._super()}})}),e("tinymce/ui/MenuBar",["tinymce/ui/Toolbar"],function(e){return e.extend({Defaults:{role:"menubar",containerCls:"menubar",ariaRoot:!0,defaults:{type:"menubutton"}}})}),e("tinymce/ui/MenuButton",["tinymce/ui/Button","tinymce/ui/Factory","tinymce/ui/MenuBar"],function(e,i,a){var o=e.extend({init:function(e){this._renderOpen=!0,this._super(e),e=this.settings,this.classes.add("menubtn"),e.fixedWidth&&this.classes.add("fixed-width"),this.aria("haspopup",!0),this.state.set("menu",e.menu||this.render())},showMenu:function(e){var t,n=this;if(n.menu&&n.menu.visible()&&!1!==e)return n.hideMenu();n.menu||((t=n.state.get("menu")||[]).length?t={type:"menu",items:t}:t.type=t.type||"menu",t.renderTo?n.menu=t.parent(n).show().renderTo():n.menu=i.create(t).parent(n).renderTo(),n.fire("createmenu"),n.menu.reflow(),n.menu.on("cancel",function(e){e.control.parent()===n.menu&&(e.stopPropagation(),n.focus(),n.hideMenu())}),n.menu.on("select",function(){n.focus()}),n.menu.on("show hide",function(e){e.control==n.menu&&n.activeMenu("show"==e.type),n.aria("expanded","show"==e.type)}).fire("show")),n.menu.show(),n.menu.layoutRect({w:n.layoutRect().w}),n.menu.moveRel(n.getEl(),n.isRtl()?["br-tr","tr-br"]:["bl-tl","tl-bl"]),n.fire("showmenu")},hideMenu:function(){this.menu&&(this.menu.items().each(function(e){e.hideMenu&&e.hideMenu()}),this.menu.hide())},activeMenu:function(e){this.classes.toggle("active",e)},renderHtml:function(){var e,t=this,n=t._id,i=t.classPrefix,r=t.settings.icon,o=t.state.get("text"),s="";return e=(e=t.settings.image)?(r="none","string"!=typeof e&&(e=window.getSelection?e[0]:e[1])," style=\"background-image: url('"+e+"')\""):"",o&&(t.classes.add("btn-has-text"),s=''+t.encode(o)+""),r=t.settings.icon?i+"ico "+i+"i-"+r:"",t.aria("role",t.parent()instanceof a?"menuitem":"button"),'
'},postRender:function(){var r=this;return r.on("click",function(e){e.control===r&&function(e,t){for(;e;){if(t===e)return!0;e=e.parentNode}return!1}(e.target,r.getEl())&&(r.focus(),r.showMenu(!e.aria),e.aria&&r.menu.items().filter(":visible")[0].focus())}),r.on("mouseenter",function(e){var t,n=e.control,i=r.parent();n&&i&&n instanceof o&&n.parent()==i&&(i.items().filter("MenuButton").each(function(e){e.hideMenu&&e!=n&&(e.menu&&e.menu.visible()&&(t=!0),e.hideMenu())}),t&&(n.focus(),n.showMenu()))}),r._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 o}),e("tinymce/ui/MenuItem",["tinymce/ui/Widget","tinymce/ui/Factory","tinymce/Env","tinymce/util/Delay"],function(e,o,f,r){return e.extend({Defaults:{border:0,role:"menuitem"},init:function(e){var t,n=this;n._super(e),e=n.settings,n.classes.add("menu-item"),e.menu&&n.classes.add("menu-item-expand"),e.preview&&n.classes.add("menu-item-preview"),"-"!==(t=n.state.get("text"))&&"|"!==t||(n.classes.add("menu-item-sep"),n.aria("role","separator"),n.state.set("text","-")),e.selectable&&(n.aria("role","menuitemcheckbox"),n.classes.add("menu-item-checkbox"),e.icon="selected"),e.preview||e.selectable||n.classes.add("menu-item-normal"),n.on("mousedown",function(e){e.preventDefault()}),e.menu&&!e.ariaHideMenu&&n.aria("haspopup",!0)},hasMenus:function(){return!!this.settings.menu},showMenu:function(){var t,n=this,e=n.settings,i=n.parent();if(i.items().each(function(e){e!==n&&e.hideMenu()}),e.menu){(t=n.menu)?t.show():((t=e.menu).length?t={type:"menu",items:t}:t.type=t.type||"menu",i.settings.itemDefaults&&(t.itemDefaults=i.settings.itemDefaults),(t=n.menu=o.create(t).parent(n).renderTo()).reflow(),t.on("cancel",function(e){e.stopPropagation(),n.focus(),t.hide()}),t.on("show hide",function(e){e.control.items&&e.control.items().each(function(e){e.active(e.settings.selected)})}).fire("show"),t.on("hide",function(e){e.control===t&&n.classes.remove("selected")}),t.submenu=!0),t._parentMenu=i,t.classes.add("menu-sub");var r=t.testMoveRel(n.getEl(),n.isRtl()?["tl-tr","bl-br","tr-tl","br-bl"]:["tr-tl","br-bl","tl-tr","bl-br"]);t.moveRel(n.getEl(),r),r="menu-sub-"+(t.rel=r),t.classes.remove(t._lastRel).add(r),t._lastRel=r,n.classes.add("selected"),n.aria("expanded",!0)}},hideMenu:function(){return this.menu&&(this.menu.items().each(function(e){e.hideMenu&&e.hideMenu()}),this.menu.hide(),this.aria("expanded",!1)),this},renderHtml:function(){var e,t=this,n=t._id,i=t.settings,r=t.classPrefix,o=t.state.get("text"),s=t.settings.icon,a="",l=i.shortcut,c=t.encode(i.url);function u(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function d(e){var t=i.match||"";return t?e.replace(new RegExp(u(t),"gi"),function(e){return"!mce~match["+e+"]mce~match!"}):e}function h(e){return e.replace(new RegExp(u("!mce~match["),"g"),"").replace(new RegExp(u("]mce~match!"),"g"),"")}return s&&t.parent().classes.add("menu-has-icons"),i.image&&(a=" style=\"background-image: url('"+i.image+"')\""),l&&(l=function(e){var t,n,i={};for(i=f.mac?{alt:"⌥",ctrl:"⌘",shift:"⇧",meta:"⌘"}:{meta:"Ctrl"},e=e.split("+"),t=0;t ":"",o=h(t.encode(d(o))),c=h(t.encode(d(c))),'
'+e+("-"!==o?''+o+"":"")+(l?'
'+l+"
":"")+(i.menu?'
':"")+(c?'":"")+"
"},postRender:function(){var t=this,n=t.settings,e=n.textStyle;if("function"==typeof e&&(e=e.call(this)),e){var i=t.getEl("text");i&&i.setAttribute("style",e)}return t.on("mouseenter click",function(e){e.control===t&&(n.menu||"click"!==e.type?(t.showMenu(),e.aria&&t.menu.focus(!0)):(t.fire("select"),r.requestAnimationFrame(function(){t.parent().hideAll()})))}),t._super(),t},hover:function(){return this.parent().items().each(function(e){e.classes.remove("selected")}),this.classes.toggle("selected",!0),this},active:function(e){return void 0!==e&&this.aria("checked",e),this._super(e)},remove:function(){this._super(),this.menu&&this.menu.remove()}})}),e("tinymce/ui/Throbber",["tinymce/dom/DomQuery","tinymce/ui/Control","tinymce/util/Delay"],function(c,e,u){return function(i,r){var o,s,a=this,l=e.classPrefix;a.show=function(e,t){function n(){o&&(c(i).append('
'),t&&t())}return a.hide(),o=!0,e?s=u.setTimeout(n,e):n(),a},a.hide=function(){var e=i.lastChild;return u.clearTimeout(s),e&&-1!=e.className.indexOf("throbber")&&e.parentNode.removeChild(e),o=!1,a}}}),e("tinymce/ui/Menu",["tinymce/ui/FloatPanel","tinymce/ui/MenuItem","tinymce/ui/Throbber","tinymce/util/Tools"],function(e,t,r,i){return e.extend({Defaults:{defaultType:"menuitem",border:1,layout:"stack",role:"application",bodyRole:"menu",ariaRoot:!0},init:function(e){if(e.autohide=!0,e.constrainToViewport=!0,"function"==typeof e.items&&(e.itemsFactory=e.items,e.items=[]),e.itemDefaults)for(var t=e.items,n=t.length;n--;)t[n]=i.extend({},e.itemDefaults,t[n]);this._super(e),this.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(){this.hideAll(),this.fire("select")},load:function(){var t,n=this;function i(){n.throbber&&(n.throbber.hide(),n.throbber=null)}n.settings.itemsFactory&&(n.throbber||(n.throbber=new r(n.getEl("body"),!0),0===n.items().length?(n.throbber.show(),n.fire("loading")):n.throbber.show(100,function(){n.items().remove(),n.fire("loading")}),n.on("hide close",i)),n.requestTime=t=(new Date).getTime(),n.settings.itemsFactory(function(e){0!==e.length?n.requestTime===t&&(n.getEl().style.width="",n.getEl("body").style.width="",i(),n.items().remove(),n.getEl("body").innerHTML="",n.add(e),n.renderNew(),n.fire("loaded")):n.hide()}))},hideAll:function(){return this.find("menuitem").exec("hideMenu"),this._super()},preRender:function(){var n=this;return n.items().each(function(e){var t=e.settings;if(t.icon||t.image||t.selectable)return!(n._hasIcons=!0)}),n.settings.itemsFactory&&n.on("postrender",function(){n.settings.itemsFactory&&n.load()}),n._super()}})}),e("tinymce/ui/ListBox",["tinymce/ui/MenuButton","tinymce/ui/Menu"],function(e,r){return e.extend({init:function(i){var e,r,o,n,s=this;s._super(i),i=s.settings,s._values=e=i.values,e&&(void 0!==i.value&&function e(t){for(var n=0;n'},postRender:function(){var t=this;t._super(),t.resizeDragHelper=new n(this._id,{start:function(){t.fire("ResizeStart")},drag:function(e){"both"!=t.settings.direction&&(e.deltaX=0),t.fire("Resize",e)},stop:function(){t.fire("ResizeEnd")}})},remove:function(){return this.resizeDragHelper&&this.resizeDragHelper.destroy(),this._super()}})}),e("tinymce/ui/SelectBox",["tinymce/ui/Widget"],function(e){function n(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 n=this;n._super(e),n.settings.size&&(n.size=n.settings.size),n.settings.options&&(n._options=n.settings.options),n.on("keydown",function(e){var t;13==e.keyCode&&(e.preventDefault(),n.parents().reverse().each(function(e){if(e.toJSON)return t=e,!1}),n.fire("submit",{data:t.toJSON()}))})},options:function(e){return arguments.length?(this.state.set("options",e),this):this.state.get("options")},renderHtml:function(){var e,t="";return e=n(this._options),this.size&&(t=' size = "'+this.size+'"'),'"},bindStates:function(){var t=this;return t.state.on("change:options",function(e){t.getEl().innerHTML=n(e.value)}),t._super()}})}),e("tinymce/ui/Slider",["tinymce/ui/Widget","tinymce/ui/DragHelper","tinymce/ui/DomUtils"],function(e,m,g){function v(e,t,n){return e
'},reset:function(){this.value(this._initValue).repaint()},postRender:function(){var e,t,n,i,r,o,s,a,l,c,u,d,h,f,p=this;e=p._minValue,t=p._maxValue,o="v"==p.settings.orientation?(n="screenY",i="top",r="height","h"):(n="screenX",i="left",r="width","w"),p._super(),function(o,s){function t(e){var t,n,i,r;t=v(t=(((t=p.value())+(r=n=o))/((i=s)-r)+.05*e)*(i-n)-n,o,s),p.value(t),p.fire("dragstart",{value:t}),p.fire("drag",{value:t}),p.fire("dragend",{value:t})}p.on("keydown",function(e){switch(e.keyCode){case 37:case 38:t(-1);break;case 39:case 40:t(1)}})}(e,t,p.getEl("handle")),s=e,a=t,l=p.getEl("handle"),p._dragHelper=new m(p._id,{handle:p._id+"-handle",start:function(e){c=e[n],u=parseInt(p.getEl("handle").style[i],10),d=(p.layoutRect()[o]||100)-g.getSize(l)[r],p.fire("dragstart",{value:f})},drag:function(e){var t=e[n]-c;h=v(u+t,0,d),l.style[i]=h+"px",f=s+h/d*(a-s),p.value(f),p.tooltip().text(""+p.settings.previewFilter(f)).show().moveRel(l,"bc tc"),p.fire("drag",{value:f})},stop:function(){p.tooltip().hide(),p.fire("dragend",{value:f})}})},repaint:function(){this._super(),n(this,this.value())},bindStates:function(){var t=this;return t.state.on("change:value",function(e){n(t,e.value)}),t._super()}})}),e("tinymce/ui/Spacer",["tinymce/ui/Widget"],function(e){return e.extend({renderHtml:function(){return this.classes.add("spacer"),this.canFocus=!1,'
'}})}),e("tinymce/ui/SplitButton",["tinymce/ui/MenuButton","tinymce/ui/DomUtils","tinymce/dom/DomQuery"],function(e,r,o){return e.extend({Defaults:{classes:"widget btn splitbtn",role:"button"},repaint:function(){var e,t,n=this.getEl(),i=this.layoutRect();return this._super(),e=n.firstChild,t=n.lastChild,o(e).css({width:i.w-r.getSize(t).width,height:i.h-2}),o(t).css({height:i.h-2}),this},activeMenu:function(e){o(this.getEl().lastChild).toggleClass(this.classPrefix+"active",e)},renderHtml:function(){var e,t=this,n=t._id,i=t.classPrefix,r=t.state.get("icon"),o=t.state.get("text"),s="";return e=(e=t.settings.image)?(r="none","string"!=typeof e&&(e=window.getSelection?e[0]:e[1])," style=\"background-image: url('"+e+"')\""):"",r=t.settings.icon?i+"ico "+i+"i-"+r:"",o&&(t.classes.add("btn-has-text"),s=''+t.encode(o)+""),'
'},postRender:function(){var n=this.settings.onclick;return this.on("click",function(e){var t=e.target;if(e.control==this)for(;t;){if(e.aria&&"down"!=e.aria.key||"BUTTON"==t.nodeName&&-1==t.className.indexOf("open"))return e.stopImmediatePropagation(),void(n&&n.call(this,e));t=t.parentNode}}),delete this.settings.onclick,this._super()}})}),e("tinymce/ui/StackLayout",["tinymce/ui/FlowLayout"],function(e){return e.extend({Defaults:{containerClass:"stack-layout",controlClass:"stack-layout-item",endClass:"break"},isNative:function(){return!0}})}),e("tinymce/ui/TabPanel",["tinymce/ui/Panel","tinymce/dom/DomQuery","tinymce/ui/DomUtils"],function(e,t,r){return e.extend({Defaults:{layout:"absolute",defaults:{type:"panel"}},activateTab:function(n){var e;this.activeTabId&&(e=this.getEl(this.activeTabId),t(e).removeClass(this.classPrefix+"active"),e.setAttribute("aria-selected","false")),this.activeTabId="t"+n,(e=this.getEl("t"+n)).setAttribute("aria-selected","true"),t(e).addClass(this.classPrefix+"active"),this.items()[n].show().fire("showtab"),this.reflow(),this.items().each(function(e,t){n!=t&&e.hide()})},renderHtml:function(){var i=this,e=i._layout,r="",o=i.classPrefix;return i.preRender(),e.preRender(i),i.items().each(function(e,t){var n=i._id+"-t"+t;e.aria("role","tabpanel"),e.aria("labelledby",n),r+='"}),'
'+r+'
'+e.renderHtml(i)+"
"},postRender:function(){var i=this;i._super(),i.settings.activeTab=i.settings.activeTab||0,i.activateTab(i.settings.activeTab),this.on("click",function(e){var t=e.target.parentNode;if(t&&t.id==i._id+"-head")for(var n=t.childNodes.length;n--;)t.childNodes[n]==e.target&&i.activateTab(n)})},initLayoutRect:function(){var e,t,n;t=(t=r.getSize(this.getEl("head")).width)<0?0:t,n=0,this.items().each(function(e){t=Math.max(t,e.layoutRect().minW),n=Math.max(n,e.layoutRect().minH)}),this.items().each(function(e){e.settings.x=0,e.settings.y=0,e.settings.w=t,e.settings.h=n,e.layoutRect({x:0,y:0,w:t,h:n})});var i=r.getSize(this.getEl("head")).height;return this.settings.minWidth=t,this.settings.minHeight=n+i,(e=this._super()).deltaH+=i,e.innerH=e.h-e.deltaH,e}})}),e("tinymce/ui/TextBox",["tinymce/ui/Widget","tinymce/util/Tools","tinymce/ui/DomUtils"],function(e,i,r){return e.extend({init:function(e){var n=this;n._super(e),n.classes.add("textbox"),e.multiline?n.classes.add("multiline"):(n.on("keydown",function(e){var t;13==e.keyCode&&(e.preventDefault(),n.parents().reverse().each(function(e){if(e.toJSON)return t=e,!1}),n.fire("submit",{data:t.toJSON()}))}),n.on("keyup",function(e){n.state.set("value",e.target.value)}))},repaint:function(){var e,t,n,i,r,o=0;e=this.getEl().style,t=this._layoutRect,r=this._lastRepaintRect||{};var s=document;return!this.settings.multiline&&s.all&&(!s.documentMode||s.documentMode<=8)&&(e.lineHeight=t.h-o+"px"),i=(n=this.borderBox).left+n.right+8,o=n.top+n.bottom+(this.settings.multiline?8:0),t.x!==r.x&&(e.left=t.x+"px",r.x=t.x),t.y!==r.y&&(e.top=t.y+"px",r.y=t.y),t.w!==r.w&&(e.width=t.w-i+"px",r.w=t.w),t.h!==r.h&&(e.height=t.h-o+"px",r.h=t.h),this._lastRepaintRect=r,this.fire("repaint",{},!1),this},renderHtml:function(){var t,e,n=this.settings;return t={id:this._id,hidefocus:"1"},i.each(["rows","spellcheck","maxLength","size","readonly","min","max","step","list","pattern","placeholder","required","multiple"],function(e){t[e]=n[e]}),this.disabled()&&(t.disabled="disabled"),n.subtype&&(t.type=n.subtype),(e=r.create(n.multiline?"textarea":"input",t)).value=this.state.get("value"),e.className=this.classes,e.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 t=this;t.getEl().value=t.state.get("value"),t._super(),t.$el.on("change",function(e){t.state.set("value",e.target.value),t.fire("change",e)})},bindStates:function(){var t=this;return t.state.on("change:value",function(e){t.getEl().value!=e.value&&(t.getEl().value=e.value)}),t.state.on("change:disabled",function(e){t.getEl().disabled=e.value}),t._super()},remove:function(){this.$el.off(),this._super()}})}),e("tinymce/Register",[],function(){var e=this||window;return"function"==typeof e.define&&(e.define.amd||e.define("ephox/tinymce",[],function(){return e.tinymce})),"object"==typeof module&&(module.exports=window.tinymce),{}}),function(e){var t,n,i,r,o;for(t=0;t ctrl+shift+p","",function(){var e=a(y.selection.getNode());e&&e.toolbar.panel&&e.toolbar.panel.items()[0].focus()})}}}),n("tinymce.modern.ui.A11y",[],function(){var n=function(t,n){return function(){var e=t.find(n)[0];e&&e.focus(!0)}};return{addKeys:function(e,t){e.shortcuts.add("Alt+F9","",n(t,"menubar")),e.shortcuts.add("Alt+F10,F10","",n(t,"toolbar")),e.shortcuts.add("Alt+F11","",n(t,"elementpath")),t.on("cancel",function(){e.focus()})}}}),n("tinymce.modern.ui.Sidebar",["global!tinymce.util.Tools","global!tinymce.ui.Factory","global!tinymce.Env"],function(f,p,t){var m=function(e,t,n){var i,r=e.settings[n];r&&r((i=t.getEl("body"),{element:function(){return i}}))},i=function(u,d,h){return function(e){var t,n,i,r,o,s=e.control,a=s.parents().filter("panel")[0],l=a.find("#"+d)[0],c=(t=h,n=d,f.grep(t,function(e){return e.name===n})[0]);i=d,r=a,o=h,f.each(o,function(e){var t=r.items().filter("#"+e.name)[0];t&&t.visible()&&e.name!==i&&(m(e,t,"onhide"),t.visible(!1))}),s.parent().items().each(function(e){e.active(!1)}),l&&l.visible()?(m(c,l,"onhide"),l.hide(),s.active(!1)):(l?l.show():(l=p.create({type:"container",name:d,layout:"stack",classes:"sidebar-panel",html:""}),a.prepend(l),m(c,l,"onrender")),m(c,l,"onshow"),s.active(!0)),u.fire("ResizeEditor")}};return{hasSidebar:function(e){return!(t.ie&&!(11<=t.ie)||!e.sidebars)&&0'),r.close()}}var o,s}function a(e){if(e){var t=(i=e).getAttribute("data-mce-href")||i.getAttribute("href");if(/^#/.test(t)){var n=y.$(t);n.length&&y.selection.scrollIntoView(n[0],!0)}else s(e.href)}var i}function e(){a(r())}function t(t){return function(){var e=y.settings.link_list;"string"==typeof e?tinymce.util.XHR.send({url:e,success:function(e){t(tinymce.util.JSON.parse(e))}}):"function"==typeof e?e(t):t(e)}}function _(e,r,t){return function n(e,i){return i=i||[],tinymce.each(e,function(e){var t={text:e.text||e.title};e.menu?t.menu=n(e.menu):(t.value=e.value,r&&r(t)),i.push(t)}),i}(e,t||[])}function l(e){var t,o,s,i,a,n,r,l,c,u,d,h,f={},p=y.selection,m=y.dom;function g(e){var t=i.find("#text");(!t.value()||e.lastControl&&t.value()==e.lastControl.text())&&t.value(e.control.text()),i.find("#href").value(e.control.value())}function v(){!s&&0===f.text.length&&a&&this.parent().parent().find("#text")[0].value(this.value())}t=p.getNode(),o=m.getParent(t,"a[href]"),a=function(e){var t=p.getContent();if(/]+>[^<]+<\/a>$/.test(t)||-1==t.indexOf("href=")))return!1;if(e){var n,i=e.childNodes;if(0===i.length)return!1;for(n=i.length-1;0<=n;n--)if(3!=i[n].nodeType)return!1}return!0}(),f.text=s=o?o.innerText||o.textContent:p.getContent({format:"text"}),f.href=o?m.getAttrib(o,"href"):"",o?f.target=m.getAttrib(o,"target"):y.settings.default_link_target&&(f.target=y.settings.default_link_target),(h=m.getAttrib(o,"rel"))&&(f.rel=h),(h=m.getAttrib(o,"class"))&&(f.class=h),(h=m.getAttrib(o,"title"))&&(f.title=h),a&&(n={name:"text",type:"textbox",size:40,label:"Text to display",onchange:function(){f.text=this.value()}}),e&&(r={type:"listbox",label:"Link list",values:_(e,function(e){e.value=y.convertURL(e.value||e.url,"href")},[{text:"None",value:""}]),onselect:g,value:y.convertURL(f.href,"href"),onPostRender:function(){r=this}}),!1!==y.settings.target_list&&(y.settings.target_list||(y.settings.target_list=[{text:"None",value:""},{text:"New window",value:"_blank"}]),c={name:"target",type:"listbox",label:"Target",values:_(y.settings.target_list)}),y.settings.rel_list&&(l={name:"rel",type:"listbox",label:"Rel",values:_(y.settings.rel_list)}),y.settings.link_class_list&&(u={name:"class",type:"listbox",label:"Class",values:_(y.settings.link_class_list,function(e){e.value&&(e.textStyle=function(){return y.formatter.getCssText({inline:"a",classes:[e.value]})})})}),!1!==y.settings.link_title&&(d={name:"title",type:"textbox",label:"Title",value:f.title}),i=y.windowManager.open({title:"Insert link",data:f,body:[{name:"href",type:"filepicker",filetype:"file",size:40,autofocus:!0,label:"Url",onchange:function(e){var t=e.meta||{};r&&r.value(y.convertURL(this.value(),"href")),tinymce.each(e.meta,function(e,t){var n=i.find("#"+t);"text"===t?0===s.length&&(n.value(e),f.text=e):n.value(e)}),t.attach&&(b={href:this.value(),attach:t.attach}),t.text||v.call(this)},onkeyup:v,onbeforecall:function(e){e.meta=i.toJSON()}},n,d,function(n){var i=[];if(tinymce.each(y.dom.select("a:not([href])"),function(e){var t=e.name||e.id;t&&i.push({text:t,value:"#"+t,selected:-1!=n.indexOf("#"+t)})}),i.length)return i.unshift({text:"None",value:""}),{name:"anchor",type:"listbox",label:"Anchors",values:i,onselect:g}}(f.href),r,l,c,u],onSubmit:function(e){var t;function n(e,t){var n=y.selection.getRng();tinymce.util.Delay.setEditorTimeout(y,function(){y.windowManager.confirm(e,function(e){y.selection.setRng(n),t(e)})})}function i(){var e={href:t,target:f.target?f.target:null,rel:f.rel?f.rel:null,class:f.class?f.class:null,title:f.title?f.title:null};y.settings.allow_unsafe_link_target||(e.rel=function(e,t){var n,i="noopener noreferrer";function r(e){var t=new RegExp("("+i.replace(" ","|")+")","g");return e&&(e=tinymce.trim(e.replace(t,""))),e||null}return t?(n=r(n=e))?[n,i].join(" "):i:r(e)}(e.rel,"_blank"==e.target)),t===b.href&&(b.attach(),b={}),o?(y.focus(),a&&f.text!=s&&("innerText"in o?o.innerText=f.text:o.textContent=f.text),m.setAttribs(o,e),p.select(o),y.undoManager.add()):a?y.insertContent(m.createHTML("a",e,m.encode(f.text))):y.execCommand("mceInsertLink",!1,e)}function r(){y.undoManager.transact(i)}f=tinymce.extend(f,e.data),(t=f.href)?0")}),e.addButton("hr",{icon:"hr",tooltip:"Horizontal line",cmd:"InsertHorizontalRule"}),e.addMenuItem("hr",{icon:"hr",text:"Horizontal line",cmd:"InsertHorizontalRule",context:"insert"})}),function(a,e){"use strict";var l={};function t(e,t,n){if("string"!=typeof e)throw"invalid module definition, module id must be defined and be a string";if(void 0===t)throw"invalid module definition, dependencies must be specified";if(void 0===n)throw"invalid module definition, definition function must be specified";!function(e,t){for(var n,i=[],r=0;r/g]),function e(t){var n=t.name,i=t;if("br"!==n)if(o[n]&&(r+=" "),s[n])r+=" ";else{if(3==t.type&&(r+=t.value),!t.shortEnded&&(t=t.firstChild))for(;e(t),t=t.next;);a[n]&&i.next&&(r+="\n","p"==n&&(r+="\n"))}else r+="\n"}(n.parse(e)),r},trimHtml:function(e){return e=u(function(e){var t="\x3c!--StartFragment--\x3e",n="\x3c!--EndFragment--\x3e",i=e.indexOf(t);if(-1!==i){var r=e.substr(i+t.length),o=r.indexOf(n);if(-1!==o&&/^<\/(p|h[1-6]|li)>/i.test(r.substr(o+n.length,5)))return r.substr(0,o)}return e}(e),[/^[\s\S]*]*>\s*|\s*<\/body[^>]*>[\s\S]*$/gi,/|/g,[/( ?)\u00a0<\/span>( ?)/g,function(e,t,n){return t||n?" ":" "}],/
/g,/
$/i])},createIdGenerator:function(e){var t=0;return function(){return e+t++}},isMsEdge:function(){return-1!==navigator.userAgent.indexOf(" Edge/")}}}),t("tinymce/pasteplugin/SmartPaste",["tinymce/util/Tools"],function(r){var s=function(e){return/^https?:\/\/[\w\?\-\/+=.&%@~#]+$/i.test(e)},a=function(e){return s(e)&&/.(gif|jpe?g|png)$/.test(e)},o=function(e,t,n){return!(!1!==e.selection.isCollapsed()||!s(t))&&(r=t,o=n,(i=e).undoManager.extra(function(){o(i,r)},function(){i.execCommand("mceInsertLink",!1,r)}),!0);var i,r,o},l=function(e,t,n){return!!a(t)&&(r=t,o=n,(i=e).undoManager.extra(function(){o(i,r)},function(){i.insertContent('')}),!0);var i,r,o},c=function(e,t){return e.insertContent(t,{merge:!1!==e.settings.paste_merge_formats,paste:!0}),!0};return{isImageUrl:a,isAbsoluteUrl:s,insertContent:function(e,t){var n,i;!1===e.settings.smart_paste?c(e,t):(n=e,i=t,r.each([o,l,c],function(e){return!0!==e(n,i,c)}))}}}),t("tinymce/pasteplugin/Clipboard",["tinymce/Env","tinymce/dom/RangeUtils","tinymce/util/VK","tinymce/util/Tools","tinymce/pasteplugin/Utils","tinymce/pasteplugin/SmartPaste","tinymce/util/Delay"],function(T,S,t,E,N,r,D){return function(f){var c,u,d,h=this,p=0,s=!1,a="%MCEPASTEBIN%",o="data:text/mce-internal,",m=N.createIdGenerator("mceclip");function g(e){var t,n=f.dom;if(t=f.fire("BeforePastePreProcess",{content:e}),e=(t=f.fire("PastePreProcess",t)).content,!t.isDefaultPrevented()){if(f.hasEventListeners("PastePostProcess")&&!t.isDefaultPrevented()){var i=n.add(f.getBody(),"div",{style:"display:none"},e);t=f.fire("PastePostProcess",{node:i}),n.remove(i),e=t.node.innerHTML}t.isDefaultPrevented()||r.insertContent(f,e)}}function v(e){e=f.dom.encode(e).replace(/\r\n/g,"\n");var t,n=f.dom.getParent(f.selection.getStart(),f.dom.isBlock),i=f.settings.forced_root_block;i&&(t=(t=f.dom.createHTML(i,f.settings.forced_root_block_attrs)).substr(0,t.length-3)+">"),n&&/^(PRE|DIV)$/.test(n.nodeName)||!i?e=N.filter(e,[[/\n/g,"
"]]):-1!=(e=N.filter(e,[[/\n\n/g,"

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

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

")&&(e=t+e),g(e)}function y(){var e,o=f.dom,t=f.getBody(),n=f.dom.getViewPort(f.getWin()).y,i=20;if(u=f.selection.getRng(),f.inline&&(e=f.selection.getScrollContainer())&&0')}else g('')}function C(s,a){var e=s.clipboardData||s.dataTransfer;function t(e){var t,n,i,r=!1;if(e)for(t=0;t")?e["text/plain"]:N.innerText(i)),i!=a?n?v(i):g(i):t||f.windowManager.alert("Please use Ctrl+V/Cmd+V keyboard shortcuts to paste contents.")}f.on("keydown",function(e){function t(e){n(e)&&!e.isDefaultPrevented()&&b()}if(n(e)&&!e.isDefaultPrevented()){if((d=e.shiftKey&&86==e.keyCode)&&T.webkit&&-1!=navigator.userAgent.indexOf("Version/"))return;if(e.stopImmediatePropagation(),p=(new Date).getTime(),T.ie&&d)return e.preventDefault(),void f.fire("paste",{ieFake:!0});b(),y(),f.once("keyup",t),f.once("paste",function(){f.off("keyup",t)})}});f.on("paste",function(e){var t,n,i=(new Date).getTime(),r=(t=x(e.clipboardData||f.getDoc().dataTransfer),N.isMsEdge()?E.extend(t,{"text/html":""}):t),o=(new Date).getTime()-i,s=(new Date).getTime()-p-o<1e3,a="text"==h.pasteFormat||d;(d=!1,e.isDefaultPrevented()||(n=e.clipboardData,-1!=navigator.userAgent.indexOf("Android")&&n&&n.items&&0===n.items.length))?b():w(r)||!C(e,u||f.selection.getRng())?(s||e.preventDefault(),!T.ie||s&&!e.ieFake||(y(),f.dom.bind(c,"paste",function(e){e.stopPropagation()}),f.getDoc().execCommand("Paste",!1,null),r["text/html"]=_()),k(r,"text/html")?(e.preventDefault(),l(r,s,a)):D.setEditorTimeout(f,function(){l(r,s,a)},0)):b()}),f.on("dragstart dragend",function(e){s="dragstart"==e.type}),f.on("drop",function(e){var t,n,i,r;if((i=e,n=S.getCaretRangeFromPoint(i.clientX,i.clientY,f.getDoc()),!e.isDefaultPrevented()&&!s)&&((w(t=x(e.dataTransfer))&&(!(r=t["text/plain"])||0!==r.indexOf("file://"))||!C(e,n))&&n&&!1!==f.settings.paste_filter_drop)){var o=t["mce-internal"]||t["text/html"]||t["text/plain"];o&&(e.preventDefault(),D.setEditorTimeout(f,function(){f.undoManager.transact(function(){t["mce-internal"]&&f.execCommand("Delete"),f.selection.setRng(n),o=N.trimHtml(o),t["text/html"]?g(o):v(o)})}))}}),f.on("dragover dragend",function(e){f.settings.paste_data_images&&e.preventDefault()})}h.pasteHtml=g,h.pasteText=v,h.pasteImageData=C,f.on("preInit",function(){e(),f.parser.addNodeFilter("img",function(e,t,n){function i(e){e.attr("data-mce-object")||o===T.transparentSrc||e.remove()}if(!f.settings.paste_data_images&&((s=n).data&&!0===s.data.paste))for(var r=e.length;r--;){var o=e[r].attributes.map.src;o&&(0===o.indexOf("webkit-fake-url")?i(e[r]):f.settings.allow_html_data_urls||0!==o.indexOf("data:")||i(e[r]))}var s})})}}),t("tinymce/pasteplugin/WordFilter",["tinymce/util/Tools","tinymce/html/DomParser","tinymce/html/Schema","tinymce/html/Serializer","tinymce/html/Node","tinymce/pasteplugin/Utils"],function(d,h,f,p,m,g){function v(e){return/]+id="?docs-internal-[^>]*>/gi,"")).replace(/
/gi,""),(s=u.paste_retain_style_properties)&&(a=d.makeMap(s.split(/[, ]/))),!1!==u.paste_enable_default_filters&&v(e.content)){e.wordContent=!0,t=g.filter(t,[//gi,/<(!|script[^>]*>.*?<\/script(?=[>\s])|\/?(\?xml(:\w+)?|img|meta|link|style|\w:\w+)(?=[\s\/>]))[^>]*>/gi,[/<(\/?)s>/gi,"<$1strike>"],[/ /gi," "],[/([\s\u00a0]*)<\/span>/gi,function(e,t){return 0]+) style="([^"]*)"([^>]*>)/gi,function(e,t,n,i){var r=u.parseStyle(n,"span"),o={};if("none"===c)return t+i;for(var s=0;s]+) style="([^"]*)"([^>]*>)/gi,"$1$3");return e=e.replace(/(<[^>]+) data-mce-style="([^"]+)"([^>]*>)/gi,function(e,t,n,i){return t+' style="'+n+'"'+i})}),n.ie&&(e(function(e){if(!o.isWordContent(e))return e;var n=[];r.each(i.schema.getBlockElements(),function(e,t){n.push(t)});var t=new RegExp("(?:
 [\\s\\r\\n]+|
)*(<\\/?("+n.join("|")+")[^>]*>)(?:
 [\\s\\r\\n]+|
)*","g");return e=s.filter(e,[[t,"$1"]]),e=s.filter(e,[[/

/g,"

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

/g,"
"]])}),t=function(e){i.$("a",e).find("font,u").each(function(e,t){i.dom.remove(t,!0)})},i.on("PastePostProcess",function(e){t(e.node)}))}}),t("tinymce/pasteplugin/Plugin",["tinymce/PluginManager","tinymce/pasteplugin/Clipboard","tinymce/pasteplugin/WordFilter","tinymce/pasteplugin/Quirks"],function(s,a,l,c){var u;s.add("paste",function(n){var i,r=this,t=n.settings;function e(){if("text"==i.pasteFormat)i.pasteFormat="html",n.fire("PastePlainTextToggle",{state:!1});else if(i.pasteFormat="text",n.fire("PastePlainTextToggle",{state:!0}),!u&&!1!==n.settings.paste_plaintext_inform){var e=n.translate("Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.");n.notificationManager.open({text:e,type:"info"}),u=!0}n.focus()}function o(){var t=this;t.active("text"===i.pasteFormat),n.on("PastePlainTextToggle",function(e){t.active(e.state)})}/(^|[ ,])powerpaste([, ]|$)/.test(t.plugins)&&s.get("powerpaste")?"undefined"!=typeof console&&console.log&&console.log("PowerPaste is incompatible with Paste plugin! Remove 'paste' from the 'plugins' option."):(r.clipboard=i=new a(n),r.quirks=new c(n),r.wordFilter=new l(n),n.settings.paste_as_text&&(r.clipboard.pasteFormat="text"),t.paste_preprocess&&n.on("PastePreProcess",function(e){t.paste_preprocess.call(r,r,e)}),t.paste_postprocess&&n.on("PastePostProcess",function(e){t.paste_postprocess.call(r,r,e)}),n.addCommand("mceInsertClipboardContent",function(e,t){t.content&&r.clipboard.pasteHtml(t.content),t.text&&r.clipboard.pasteText(t.text)}),n.settings.paste_block_drop&&n.on("dragend dragover draggesture dragdrop drop drag",function(e){e.preventDefault(),e.stopPropagation()}),n.settings.paste_data_images||n.on("drop",function(e){var t=e.dataTransfer;t&&t.files&&0=e.childNodes.length?n.data.length:0}:{container:e,offset:t}};return{getNormalizedEndPoint:o,normalizeRange:function(e){var t=e.cloneRange(),n=o(e.startContainer,e.startOffset);t.setStart(n.container,n.offset);var i=o(e.endContainer,e.endOffset);return t.setEnd(i.container,i.offset),t}}}),n("tinymce.lists.core.Bookmark",["global!tinymce.dom.DOMUtils.DOM","tinymce.lists.core.NodeType","tinymce.lists.core.Range"],function(s,e,n){return{createBookmark:function(r){var o={},e=function(e){var t,n,i;n=r[e?"startContainer":"endContainer"],i=r[e?"startOffset":"endOffset"],1===n.nodeType&&(t=s.create("span",{"data-mce-type":"bookmark"}),n.hasChildNodes()?(i=Math.min(i,n.childNodes.length-1),e?n.insertBefore(t,n.childNodes[i]):s.insertAfter(t,n.childNodes[i])):n.appendChild(t),n=t,i=0),o[e?"startContainer":"endContainer"]=n,o[e?"startOffset":"endOffset"]=i};return e(!0),r.collapsed||e(),o},resolveBookmark:function(r){function e(e){var t,n,i;t=i=r[e?"startContainer":"endContainer"],n=r[e?"startOffset":"endOffset"],t&&(1===t.nodeType&&(n=function(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}(t),t=t.parentNode,s.remove(i)),r[e?"startContainer":"endContainer"]=t,r[e?"startOffset":"endOffset"]=n)}e(!0),e();var t=s.createRng();return t.setStart(r.startContainer,r.startOffset),r.endContainer&&t.setEnd(r.endContainer,r.endOffset),n.normalizeRange(t)}}}),n("tinymce.lists.core.NormalizeLists",["global!tinymce.dom.DOMUtils.DOM","global!tinymce.util.Tools","tinymce.lists.core.NodeType"],function(r,n,o){var i=function(e,t){var n,i=t.parentNode;"LI"===i.nodeName&&i.firstChild===t&&((n=i.previousSibling)&&"LI"===n.nodeName?(n.appendChild(t),o.isEmpty(e,i)&&r.remove(i)):r.setStyle(i,"listStyleType","none")),o.isListNode(i)&&(n=i.previousSibling)&&"LI"===n.nodeName&&n.appendChild(t)};return{normalizeList:i,normalizeLists:function(t,e){n.each(n.grep(t.select("ol,ul",e)),function(e){i(t,e)})}}}),t("global!tinymce.dom.BookmarkManager",tinymce.dom.BookmarkManager),t("global!tinymce.Env",tinymce.Env),n("tinymce.lists.core.TextBlock",["global!tinymce.dom.DOMUtils.DOM","global!tinymce.Env"],function(c,u){return{createNewTextBlock:function(e,t,n){var i,r,o,s=c.createFragment(),a=e.schema.getBlockElements();if(e.settings.forced_root_block&&(n=n||e.settings.forced_root_block),n&&((r=c.create(n)).tagName===e.settings.forced_root_block&&c.setAttribs(r,e.settings.forced_root_block_attrs),s.appendChild(r)),t)for(;i=t.firstChild;){var l=i.nodeName;o||"SPAN"===l&&"bookmark"===i.getAttribute("data-mce-type")||(o=!0),a[l]?(s.appendChild(i),r=null):n?(r||(r=c.create(n),s.appendChild(r)),r.appendChild(i)):s.appendChild(i)}return e.settings.forced_root_block?o||u.ie&&!(10

'+(n?"×":"")+"
"}for((e=function(e){var t,n,i=[];for(n=["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"],n=d.settings.textcolor_map||n,n=d.settings[e+"_map"]||n,t=0;t",r=0;r":u((t=e[s]).color,t.text);n+=""}if(d.settings.color_picker_callback){for(n+='
",n+="",r=0;r"," ","+","~","preFilter","excess","unquoted","nodeNameSelector","pattern","operator","check","result","what","simple","forward","ofType","xml","uniqueCache","outerCache","nodeIndex","start","parent","useCache","lastChild","uniqueID","pseudo","args","setFilters","idx","matched","not","matcher","unmatched","has","innerText","lang","elemLang","hash","location","root","focus","activeElement","hasFocus","href","tabIndex","enabled","checked","selected","selectedIndex","empty","header","button","even","odd","lt","gt","radio","checkbox","file","password","image","submit","reset","tokens","combinator","base","skip","checkNonElements","doneName","oldCache","newCache","elementMatcher","matchers","condense","newUnmatched","mapped","setMatcher","postFilter","postFinder","postSelector","temp","preMap","postMap","preexisting","contexts","multipleContexts","matcherIn","matcherOut","matcherFromTokens","checkContext","leadingRelative","implicitRelative","matchContext","matchAnyContext","filters","parseOnly","soFar","preFilters","cached","setMatchers","elementMatchers","bySet","byElement","superMatcher","outermost","matchedCount","setMatched","contextBackup","dirrunsUnique","matcherFromGroupMatchers","token","compiled","defaultValue","unique","isXMLDoc","escapeSelector","until","truncate","is","siblings","n","rneedsContext","rsingleTag","winnow","qualifier","self","rootjQuery","ready","parseHTML","rparentsprev","guaranteedUnique","children","contents","prev","sibling","targets","l","closest","index","prevAll","add","addBack","parents","parentsUntil","nextAll","nextUntil","prevUntil","contentDocument","content","reverse","rnothtmlwhite","Identity","v","Thrower","ex","adoptValue","resolve","reject","noValue","method","promise","fail","then","Callbacks","object","flag","createOptions","firing","memory","fired","locked","queue","firingIndex","fire","once","stopOnFalse","remove","disable","lock","fireWith","Deferred","func","tuples","state","always","deferred","catch","pipe","fns","newDefer","tuple","returned","progress","notify","onFulfilled","onRejected","onProgress","maxDepth","depth","special","that","mightThrow","TypeError","notifyWith","resolveWith","process","exceptionHook","stackTrace","rejectWith","getStackHook","setTimeout","stateString","when","singleValue","remaining","resolveContexts","resolveValues","master","updateFunc","rerrorNames","stack","console","warn","message","readyException","readyList","completed","removeEventListener","readyWait","wait","readyState","doScroll","access","chainable","emptyGet","raw","bulk","rmsPrefix","rdashAlpha","fcamelCase","all","letter","toUpperCase","camelCase","string","acceptData","owner","Data","uid","defineProperty","configurable","set","data","prop","hasData","dataPriv","dataUser","rbrace","rmultiDash","dataAttr","JSON","parse","getData","removeData","_data","_removeData","dequeue","startLength","hooks","_queueHooks","stop","setter","clearQueue","count","defer","pnum","source","rcssNum","cssExpand","isHiddenWithinTree","style","display","css","swap","old","adjustCSS","valueParts","tween","adjusted","scale","maxIterations","currentValue","initial","unit","cssNumber","initialInUnit","defaultDisplayMap","showHide","show","values","body","hide","toggle","rcheckableType","rtagName","rscriptType","wrapMap","option","thead","col","tr","td","_default","getAll","setGlobalEval","refElements","optgroup","tbody","tfoot","colgroup","caption","th","div","rhtml","buildFragment","scripts","selection","ignored","wrap","fragment","createDocumentFragment","nodes","htmlPrefilter","createTextNode","checkClone","cloneNode","noCloneChecked","rkeyEvent","rmouseEvent","rtypenamespace","returnTrue","returnFalse","safeActiveElement","err","on","types","one","origFn","event","off","handleObjIn","eventHandle","events","t","handleObj","handlers","namespaces","origType","elemData","handle","triggered","dispatch","delegateType","bindType","namespace","delegateCount","setup","mappedTypes","origCount","teardown","removeEvent","nativeEvent","handlerQueue","fix","delegateTarget","preDispatch","isPropagationStopped","currentTarget","isImmediatePropagationStopped","rnamespace","preventDefault","stopPropagation","postDispatch","matchedHandlers","matchedSelectors","addProp","hook","Event","enumerable","originalEvent","writable","load","noBubble","trigger","blur","click","beforeunload","returnValue","props","isDefaultPrevented","defaultPrevented","relatedTarget","timeStamp","now","isSimulated","stopImmediatePropagation","altKey","bubbles","cancelable","changedTouches","ctrlKey","detail","eventPhase","metaKey","pageX","pageY","shiftKey","view","char","charCode","keyCode","buttons","clientX","clientY","offsetX","offsetY","pointerId","pointerType","screenX","screenY","targetTouches","toElement","touches","which","mouseenter","mouseleave","pointerenter","pointerleave","orig","related","rxhtmlTag","rnoInnerhtml","rchecked","rcleanScript","manipulationTarget","disableScript","restoreScript","cloneCopyEvent","dest","pdataOld","pdataCur","udataOld","udataCur","domManip","collection","hasScripts","iNoClone","valueIsFunction","html","_evalUrl","keepData","cleanData","dataAndEvents","deepDataAndEvents","srcElements","destElements","inPage","detach","append","prepend","insertBefore","before","after","replaceWith","replaceChild","appendTo","prependTo","insertAfter","replaceAll","original","insert","rnumnonpx","getStyles","opener","getComputedStyle","rboxStyle","curCSS","computed","width","minWidth","maxWidth","getPropertyValue","pixelBoxStyles","addGetHookIf","conditionFn","hookFn","computeStyleTests","container","cssText","divStyle","pixelPositionVal","reliableMarginLeftVal","roundPixelMeasures","marginLeft","right","pixelBoxStylesVal","boxSizingReliableVal","position","scrollboxSizeVal","offsetWidth","measure","round","parseFloat","backgroundClip","clearCloneStyle","boxSizingReliable","pixelPosition","reliableMarginLeft","scrollboxSize","rdisplayswap","rcustomProp","cssShow","visibility","cssNormalTransform","letterSpacing","fontWeight","cssPrefixes","emptyStyle","finalPropName","cssProps","capName","vendorPropName","setPositiveNumber","subtract","max","boxModelAdjustment","dimension","box","isBorderBox","styles","computedVal","extra","delta","ceil","getWidthOrHeight","valueIsBorderBox","Tween","easing","cssHooks","opacity","animationIterationCount","columnCount","fillOpacity","flexGrow","flexShrink","lineHeight","order","orphans","widows","zIndex","zoom","origName","isCustomProp","setProperty","isFinite","getClientRects","getBoundingClientRect","left","margin","padding","border","prefix","suffix","expand","expanded","parts","propHooks","run","percent","eased","duration","pos","step","fx","scrollTop","scrollLeft","linear","p","swing","cos","PI","fxNow","inProgress","opt","rfxtypes","rrun","schedule","hidden","requestAnimationFrame","interval","tick","createFxNow","genFx","includeWidth","height","createTween","animation","Animation","tweeners","properties","stopped","prefilters","currentTime","startTime","tweens","opts","specialEasing","originalProperties","originalOptions","gotoEnd","propFilter","bind","complete","timer","anim","*","tweener","oldfire","propTween","restoreDisplay","isBox","dataShow","unqueued","overflow","overflowX","overflowY","prefilter","speed","speeds","fadeTo","to","animate","optall","doAnimation","finish","stopQueue","timers","cssFn","slideDown","slideUp","slideToggle","fadeIn","fadeOut","fadeToggle","slow","fast","delay","time","timeout","clearTimeout","checkOn","optSelected","radioValue","boolHook","removeAttr","nType","attrHooks","attrNames","getter","lowercaseName","rfocusable","rclickable","stripAndCollapse","getClass","classesToArray","removeProp","propFix","tabindex","parseInt","for","class","addClass","classes","curValue","clazz","finalValue","removeClass","toggleClass","stateVal","isValidValue","classNames","hasClass","rreturn","valHooks","optionSet","focusin","rfocusMorph","stopPropagationCallback","onlyHandlers","bubbleType","ontype","lastElement","eventPath","isTrigger","parentWindow","simulate","triggerHandler","attaches","nonce","rquery","parseXML","DOMParser","parseFromString","rbracket","rCRLF","rsubmitterTypes","rsubmittable","buildParams","traditional","param","s","valueOrFunction","encodeURIComponent","serialize","serializeArray","r20","rhash","rantiCache","rheaders","rnoContent","rprotocol","transports","allTypes","originAnchor","addToPrefiltersOrTransports","structure","dataTypeExpression","dataType","dataTypes","inspectPrefiltersOrTransports","jqXHR","inspected","seekingTransport","inspect","prefilterOrFactory","dataTypeOrTransport","ajaxExtend","flatOptions","ajaxSettings","active","lastModified","etag","url","isLocal","protocol","processData","async","contentType","accepts","json","responseFields","converters","* text","text html","text json","text xml","ajaxSetup","settings","ajaxPrefilter","ajaxTransport","ajax","transport","cacheURL","responseHeadersString","responseHeaders","timeoutTimer","urlAnchor","fireGlobals","uncached","callbackContext","globalEventContext","completeDeferred","statusCode","requestHeaders","requestHeadersNames","strAbort","getResponseHeader","getAllResponseHeaders","setRequestHeader","overrideMimeType","mimeType","status","abort","statusText","finalText","crossDomain","host","hasContent","ifModified","headers","beforeSend","success","send","nativeStatusText","responses","isSuccess","response","modified","ct","finalDataType","firstDataType","ajaxHandleResponses","conv2","current","conv","dataFilter","throws","ajaxConvert","getJSON","getScript","wrapAll","firstElementChild","wrapInner","htmlIsFunction","unwrap","visible","offsetHeight","xhr","XMLHttpRequest","xhrSuccessStatus","0","1223","xhrSupported","cors","errorCallback","open","username","xhrFields","onload","onerror","onabort","ontimeout","onreadystatechange","responseType","responseText","binary","text script","charset","scriptCharset","evt","oldCallbacks","rjsonp","jsonp","jsonpCallback","originalSettings","callbackName","overwritten","responseContainer","jsonProp","createHTMLDocument","implementation","keepScripts","parsed","params","animated","offset","setOffset","curPosition","curLeft","curCSSTop","curTop","curOffset","curCSSLeft","curElem","using","rect","win","pageYOffset","pageXOffset","offsetParent","parentOffset","scrollTo","Height","Width","","defaultExtra","funcName","hover","fnOver","fnOut","unbind","delegate","undelegate","proxy","holdReady","hold","parseJSON","isNumeric","isNaN","define","amd","_jQuery","_$","$","noConflict","migrateMute","require","r","o","migrateWarnings","migrateTrace","trace","migrateVersion","log","migrateReset","compatMode","d","u","c","querySelector","size","f","y","h","g","Q","fixHooks","_migrated_","x","k","A","andSelf","S","q","z","eval","R","navigator","H","T","K","W","X","Y","Z","oc","bb","pc","aa","ba","pd","qa","Pb","kb","tc","F","G","da","Zc","Ka","fd","J","deferUpdates","useOnlyNativeEvents","foreachHidesDestroyed","__proto__","C","Oa","userAgent","MouseEvents","propertychange","Ic","Lb","hb","vc","Mb","fb","gb","$b","Ba","setPrototypeOf","zb","O","Ha","Sb","removeNode","Xb","la","na","Ca","ua","Wc","Ua","Yc","Cb","Td","substring","ud","Rb","jd","P","tagName","zc","onError","Fc","I","za","detachEvent","Fb","createEvent","dispatchEvent","initEvent","fireEvent","N","Eb","classList","baseVal","Ab","zd","Xc","mergeAttributes","vd","Od","Da","Xd","Yd","Kc","Md","Function","fc","stringify","Nd","includeFields","action","submitter","getTime","Tb","clear","cleanExternalData","1","8","9","xb","ta","clean","innerShiv","Ld","parentElement","dc","Wb","ad","bd","Tc","sd","Jd","ma","scheduler","MutationObserver","observe","yb","cancel","resetForTesting","Rd","Ta","throttle","throttleEvaluation","read","write","rateLimit","Hb","tb","notifySubscribers","equalityComparer","boolean","number","gc","kc","lc","Ib","ab","Jb","D","ob","change","rc","subscribe","cb","Qa","Gb","Wa","dd","wc","mb","Cd","mc","qb","qc","Ad","Pc","U","ac","nd","od","ed","pa","Va","rb","Wd","sa","xa","wa","Na","Ya","Mc","Ia","trackArrayChanges","removeAll","destroy","_destroy","destroyAll","sorted","reversed","yc","Oc","Nb","sparse","Ob","min","L","Jc","lb","ka","Xa","ha","ra","pb","hc","vb","Vc","disposeWhenNodeIsRemoved","Sa","disposeWhen","Qb","V","Hc","pure","deferEvaluation","ea","ja","La","Ub","Ma","Ja","Id","Qd","Gc","yd","xd","Nc","Ed","wb","Number","Boolean","save","toJSON","$c","Vd","Ga","Promise","__ko__hasDomDataOptionValue__","Yb","ya","unknown","substr","in","return","typeof","Ra","va","Zb","ub","getBindingHandler","preprocess","valueAccessors","bindingParams","Hd","$a","ul","ol","Ea","Uc","Vb","Bd","Ud","Rc","ga","md","nodeHasBindings","getComponentNameForNode","getBindings","getBindingsString","parseBindingsString","sc","getBindingAccessors","instance","B","M","Sc","xc","ib","Kb","preprocessNode","bindingContextForDescendants","gd","Dc","oa","Bb","ca","Lc","update","$data","controlsDescendantBindings","shouldBindDescendants","fa","textarea","template","$parents","$root","ko","$rawData","dataDependency","exportDependencies","createChildContext","as","noChildContext","$parentContext","$parent","rd","Bc","Fa","Sd","eb","kd","Pa","uc","Cc","synchronous","definition","Fd","loaders","suppressLoaderExceptions","Ac","nc","DocumentFragment","register","sb","unregister","Ec","getConfig","loadComponent","viewModel","loadTemplate","element","HTMLElement","loadViewModel","cd","component","$raw","dispose","createViewModel","templateNodes","$component","$componentTemplateNodes","koDescendantsComplete","lookupNamespaceURI","removeAttributeNS","setAttributeNS","uniqueName","checkedValue","__ko__cssValue","enable","cancelBubble","foreach","Qc","includeDestroyed","afterAdd","beforeRemove","afterRender","beforeMove","afterMove","templateEngine","hasfocus","__ko_hasfocusUpdating","__ko_hasfocusLastValue","let","multiple","cc","abs","selectedOptions","opera","textInput","propertyName","textinput","qd","autocomplete","form","renderTemplateSource","createJavaScriptEvaluatorBlock","makeTemplateSource","ia","renderTemplate","isTemplateRewritten","allowTemplateRewriting","rewriteTemplate","ic","wd","Kd","ld","Db","jb","hd","jc","previousSibling","ec","bc","Pd","$index","ifnot","moved","dontLimitMoves","Aa","nb","_countWaitingForRemove","E","Dd","Za","Gd","tmpl","koBindingContext","templateOptions","fragments","addTemplate","ko_code","ko_with","close","uuid","eventType","focusable","isTabIndexNotNaN","mapName","img","ui","BACKSPACE","COMMA","DELETE","DOWN","END","ENTER","ESCAPE","HOME","LEFT","PAGE_DOWN","PAGE_UP","PERIOD","RIGHT","SPACE","TAB","UP","scrollParent","includeHidden","excludeStaticParent","overflowRegex","uniqueId","removeUniqueId","dataName","tabbable","isTabIndexNaN","outerWidth","side","innerWidth","innerHeight","outerHeight","reduce","ie","disableSelection","enableSelection","plugin","plugins","allowDisconnected","widget_uuid","widget_slice","widget","fullName","existingConstructor","basePrototype","proxiedPrototype","Widget","_createWidget","_proto","_childConstructors","_super","_superApply","__super","__superApply","widgetEventPrefix","widgetName","widgetFullName","child","childPrototype","bridge","inputIndex","inputLength","isMethodCall","methodValue","charAt","_init","defaultElement","create","eventNamespace","bindings","hoverable","_on","_getCreateOptions","_create","_trigger","_getCreateEventData","curOption","_setOptions","_setOption","suppressDisabledCheck","delegateElement","handlerProxy","eventName","_off","_delay","_hoverable","_focusable","focusout","defaultEffect","effect","hasOptions","effectName","effects","mouseHandled","mouseup","distance","_mouseInit","_mouseDown","started","_mouseDestroy","_mouseMoveDelegate","_mouseUpDelegate","_mouseMoved","_mouseStarted","_mouseUp","_mouseDownEvent","btnIsLeft","elIsCancel","_mouseCapture","mouseDelayMet","_mouseDelayTimer","_mouseDistanceMet","_mouseDelayMet","_mouseStart","_mouseMove","documentMode","_mouseDrag","_mouseStop","cachedScrollbarWidth","supportsOffsetFractions","rhorizontal","rvertical","roffset","rposition","rpercent","_position","getOffsets","offsets","parseCss","property","scrollbarWidth","w1","w2","innerDiv","clientWidth","getScrollInfo","within","isDocument","hasOverflowX","scrollWidth","scrollHeight","getWithinInfo","withinElement","of","atOffset","targetWidth","targetHeight","targetOffset","basePosition","dimensions","scrollInfo","collision","getDimensions","at","horizontalOffset","verticalOffset","collisionPosition","elemWidth","elemHeight","marginTop","collisionWidth","collisionHeight","myOffset","my","bottom","feedback","horizontal","vertical","important","fit","newOverRight","withinOffset","collisionPosLeft","overLeft","overRight","newOverBottom","collisionPosTop","overTop","overBottom","flip","newOverLeft","offsetLeft","newOverTop","offsetTop","flipfit","testElement","testElementParent","testElementStyle","background","collapsible","heightStyle","icons","activeHeader","activate","beforeActivate","hideProps","borderTopWidth","borderBottomWidth","paddingTop","paddingBottom","showProps","prevShow","prevHide","_processPanels","_refresh","panel","_createIcons","_destroyIcons","_setupEvents","_activate","_keydown","currentIndex","toFocus","_eventHandler","_panelKeyDown","refresh","prevHeaders","prevPanels","panels","maxHeight","_findActive","headerId","panelId","aria-selected","aria-expanded","aria-hidden","keydown","clicked","clickedIsActive","collapsing","toShow","toHide","eventData","oldHeader","oldPanel","newHeader","newPanel","_toggle","_animate","_toggleComplete","total","adjust","boxSizing","down","submenu","items","menus","role","activeMenu","mousedown .ui-menu-item","click .ui-menu-item","mouseenter .ui-menu-item","previousFilter","mouseleave .ui-menu","keepActiveItem","item","collapseAll","_closeOnDocumentClick","character","previousPage","nextPage","_move","previous","collapse","filterTimer","_filterMenuItems","icon","submenus","menu","submenuCarat","_isDivider","_itemRole","listbox","nested","focused","_scrollIntoView","_close","_startOpening","borderTop","scroll","elementHeight","itemHeight","_hasScroll","fromFocus","_open","currentMenu","startMenu","newItem","isFirstItem","isLastItem","direction","escapedCharacter","regex","autoFocus","minLength","search","requestIndex","pending","suppressKeyPress","suppressKeyPressRepeat","suppressInput","isTextarea","isInput","isMultiLine","valueMethod","isNewMenu","_keyEvent","_value","term","_searchTimeout","keypress","selectedItem","cancelBlur","searching","_change","_initSource","_appendTo","mousedown","menuElement","menufocus","label","liveRegion","menuselect","aria-live","aria-relevant","array","request","equalValues","menuVisible","modifierKey","_search","cancelSearch","_response","__response","_normalize","_suggest","_renderMenu","_resizeMenu","_renderItemData","_renderItem","keyEvent","escapeRegex","messages","noResults","amount","lastActive","baseClasses","typeClasses","formResetHandler","radioGroup","radios","primary","secondary","_determineButtonType","hasTitle","buttonElement","toggleButton","activeClass","keyup","_resetButton","ancestor","labelSelector","buttonText","multipleIcons","buttonClasses","rtl","allButtons","existingButtons","datepicker_instActive","Datepicker","_curInst","_disabledInputs","_datepickerShowing","_inDialog","_mainDivId","_inlineClass","_appendClass","_triggerClass","_dialogClass","_disableClass","_unselectableClass","_currentClass","_dayOverClass","regional","closeText","prevText","nextText","currentText","monthNames","monthNamesShort","dayNames","dayNamesShort","dayNamesMin","weekHeader","dateFormat","firstDay","isRTL","showMonthAfterYear","yearSuffix","_defaults","showOn","showAnim","showOptions","defaultDate","appendText","buttonImage","buttonImageOnly","hideIfNoPrevNext","navigationAsDateFormat","gotoCurrent","changeMonth","changeYear","yearRange","showOtherMonths","selectOtherMonths","showWeek","calculateWeek","iso8601Week","shortYearCutoff","minDate","maxDate","beforeShowDay","beforeShow","onSelect","onChangeMonthYear","onClose","numberOfMonths","showCurrentAtPos","stepMonths","stepBigMonths","altField","altFormat","constrainInput","showButtonPanel","autoSize","en","dpDiv","datepicker_bindHover","datepicker_handleMouseover","datepicker","_isDisabledDatepicker","inline","datepicker_extendRemove","markerClassName","maxRows","_widgetDatepicker","setDefaults","_attachDatepicker","inst","_newInst","_connectDatepicker","_inlineDatepicker","selectedDay","selectedMonth","selectedYear","drawMonth","drawYear","_attachments","_doKeyDown","_doKeyPress","_doKeyUp","_autoSize","_disableDatepicker","_get","_showDatepicker","alt","title","_lastInput","_hideDatepicker","findMax","maxI","date","names","setMonth","setDate","getDay","_formatDate","divSpan","_setDate","_getDefaultDate","_updateDatepicker","_updateAlternate","_dialogDatepicker","browserWidth","browserHeight","scrollX","scrollY","_dialogInst","_dialogInput","_pos","clientHeight","blockUI","_destroyDatepicker","$target","_enableDatepicker","cursor","_getInst","_optionDatepicker","_getDateDatepicker","_getMinMaxDate","_changeDatepicker","_refreshDatepicker","_setDateDatepicker","noDefault","_setDateFromField","_getDate","dateStr","handled","_selectDay","_adjustDate","_clearDate","_gotoToday","chars","chr","_possibleChars","lastVal","parseDate","_getFormatConfig","beforeShowSettings","isFixed","_findPos","_checkOffset","datepicker_getZindex","_shouldFocusInput","_generateHTML","_attachHandlers","origyearshtml","numMonths","_getNumberOfMonths","cols","activeCell","yearshtml","dpWidth","dpHeight","inputWidth","inputHeight","viewWidth","viewHeight","postProcess","_tidyDialog","unblockUI","_checkExternalClick","period","_adjustInstDate","currentDay","currentMonth","currentYear","getDate","getMonth","getFullYear","_notifyChange","_selectMonthYear","month","year","_selectDate","formatDate","noWeekends","day","checkDate","floor","format","iFormat","dim","iValue","shortYearCutoffTemp","doy","literal","lookAhead","getNumber","isDoubled","digits","getName","shortNames","longNames","pair","checkLiteral","_ticksTo1970","_getDaysInMonth","_daylightSavingAdjust","ATOM","COOKIE","ISO_8601","RFC_822","RFC_850","RFC_1036","RFC_1123","RFC_2822","RSS","TICKS","TIMESTAMP","W3C","formatNumber","formatName","output","getYear","dates","_restrictMinMax","_determineDate","newDate","offsetString","setHours","setMinutes","setSeconds","setMilliseconds","getHours","noChange","origMonth","origYear","today","selectDay","selectMonth","selectYear","maxDraw","gotoDate","controls","buttonPanel","dow","row","group","selectedDate","cornerClass","calender","daysInMonth","leadDays","curRows","numRows","printDate","dRow","daySettings","otherMonth","unselectable","tempDate","isMultiMonth","currentDate","_canAdjustMonth","_isInRange","_generateMonthYearHeader","_getFirstDayOfMonth","inMinYear","inMaxYear","years","thisYear","determineYear","endYear","monthHtml","onChange","minMax","curYear","curMonth","yearSplit","minYear","maxYear","initialized","otherArgs","mouse","addClasses","axis","connectToSortable","containment","cursorAt","grid","helper","iframeFix","refreshPositions","revert","revertDuration","scope","scrollSensitivity","scrollSpeed","snap","snapMode","snapTolerance","drag","_setPositionRelative","_setHandleClassName","_removeHandleClassName","destroyOnClear","_blurActiveElement","_getHandle","_blockFrames","iframeBlocks","iframe","_unblockFrames","handleElement","_createHelper","_cacheHelperProportions","ddmanager","_cacheMargins","cssPosition","hasFixedAncestor","positionAbs","_refreshOffsets","originalPosition","_generatePosition","originalPageX","originalPageY","_adjustOffsetFromHelper","_setContainment","_clear","dropBehaviour","prepareOffsets","_normalizeRightBottom","dragStart","margins","_getParentOffset","_getRelativeOffset","noPropagation","_convertPositionTo","_uiHash","dropped","drop","dragStop","helperIsFunction","helperProportions","_isRootNode","po","scrollIsRootNode","isUserScrollable","ce","relativeContainer","mod","constrainPosition","co","cancelHelperRemoval","draggable","uiSortable","sortables","sortable","isOver","_storedCSS","placeholder","_helper","innermostIntersecting","_intersectsWith","containerCache","_parent","currentItem","fromOutside","_revert","_cursor","_opacity","scrollParentNotHidden","overflowOffset","scrolled","snapElements","$t","$o","ts","bs","ls","rs","x1","x2","y1","y2","snapping","release","snapItem","_zIndex","alsoResize","animateDuration","animateEasing","aspectRatio","autoHide","ghost","handles","minHeight","resize","_num","_isNumber","_aspectRatio","originalElement","_proportionallyResizeElements","resizable","elementIsWrapper","marginRight","marginBottom","originalResizeStyle","_proportionallyResize","se","sw","ne","nw","_handles","_renderAxis","padPos","padWrapper","mouseover","resizing","wrapper","exp","capture","curleft","curtop","_renderProxy","originalSize","sizeDiff","originalMousePosition","_propagate","smp","dx","dy","_updatePrevProperties","_updateVirtualBoundaries","_updateRatio","_respectSize","_updateCache","_applyChanges","pr","ista","soffseth","soffsetw","prevPosition","prevSize","forceAspectRatio","pMinWidth","pMaxWidth","pMinHeight","pMaxHeight","Infinity","_vBoundaries","cpos","csize","ismaxw","ismaxh","isminw","isminh","dw","dh","cw","_getPaddingPlusBorderDimensions","widths","borders","paddings","prel","outerDimensions","elementOffset","cs","containerElement","containerOffset","containerPosition","parentData","containerSize","woset","hoset","isParent","isOffsetRelative","cp","pRatio","cop","continueResize","ho","os","op","sum","gridX","gridY","ox","oy","newWidth","newHeight","isMaxWidth","isMaxHeight","isMinWidth","isMinHeight","autoOpen","closeOnEscape","dialogClass","modal","topOffset","beforeClose","resizeStart","resizeStop","sizeRelatedOptions","resizableRelatedOptions","originalCss","originalTitle","_createWrapper","uiDialog","_createTitlebar","_createButtonPane","_makeDraggable","_makeResizable","_isOpen","_trackFocus","_untrackInstance","_destroyOverlay","_focusedElement","_hide","isOpen","moveToTop","_moveToTop","silent","zIndices","zIndexMax","_focusTabbable","_size","_createOverlay","overlay","_show","_makeFocusTarget","uiDialogButtonPane","uiDialogTitlebarClose","_keepFocus","checkFocus","tabbables","aria-describedby","uiDialogTitle","uiDialogTitlebar","_title","aria-labelledby","uiButtonSet","_createButtons","buttonOptions","showText","filteredUi","resizeHandles","_minHeight","_trackingInstances","instances","exists","isVisible","resizableOptions","isDraggable","isResizable","nonContentHeight","minContentHeight","maxContentHeight","_allowInteraction","isOpening","overlays","accept","greedy","hoverClass","tolerance","deactivate","out","over","proportions","isover","isout","_addToManager","droppables","_splice","_deactivate","_over","_out","_drop","custom","childrenIntersection","droppable","intersect","isOverAxis","reference","toleranceMode","absolute","default","droppablesLoop","greedyChild","parentInstance","intersects","baseEasings","dataSpace","colors","rplusequals","stringParsers","re","execResult","space","color","Color","green","blue","alpha","spaces","rgba","red","hsla","hue","saturation","lightness","propTypes","byte","degrees","supportElem","clamp","allowEmpty","def","stringParse","_rgba","parser","spaceName","transparent","hue2rgb","backgroundColor","from","same","localCache","isCache","_space","used","transition","other","startColor","startValue","endValue","blend","opaque","rgb","toRgbaString","toHslaString","toHexString","includeAlpha","local","vtype","_hsla","colorInit","borderColor","part","aqua","black","fuchsia","gray","lime","maroon","navy","olive","purple","silver","teal","white","yellow","classAnimationActions","shorthandStyles","borderBottom","borderLeft","borderRight","borderWidth","getElementStyles","currentStyle","setAttr","animateClass","applyClassChange","baseClass","allAnimations","oldStyle","newStyle","styleDifference","styleInfo","dfd","force","switchClass","_normalizeArguments","standardAnimationOption","restore","setMode","mode","getBaseline","origin","createWrapper","float","fontSize","removeWrapper","setTransition","factor","cssUnit","effectMethod","pow","Sine","Circ","sqrt","Elastic","sin","Back","Bounce","pow2","bounce","easeIn","blind","ref","ref2","motion","upAnim","downAnim","times","anims","queuelen","clip","vert","explode","mx","rows","pieces","cells","childComplete","animComplete","fade","fold","horizFirst","widthFirst","animation1","animation2","highlight","backgroundImage","baseline","props0","props2","cProps","vProps","hProps","zero","c_original","str","toRef","puff","pulsate","showhide","animateTo","shake","positiveMotion","slide","transfer","targetFixed","fixTop","fixLeft","endPosition","startPosition","oldValue","_constrainedValue","aria-valuemin","valueDiv","_refreshValue","newValue","indeterminate","_percentage","percentage","toFixed","overlayDiv","aria-valuemax","aria-valuenow","autoRefresh","selecting","unselected","unselecting","selectees","dragged","$this","$element","startselected","opos","selectee","doSelect","hit","selectmenuId","ids","_drawButton","_drawMenu","aria-autocomplete","aria-owns","aria-haspopup","_setText","_resizeButton","_buttonEvents","menuItems","_refreshMenu","menuWrap","menuInstance","_setSelection","_select","focusIndex","_getSelectedItem","_parseOptions","_setAria","_toggleAttr","_documentClick","range","menuWidget","currentOptgroup","li","getSelection","removeAllRanges","addRange","rangeCount","getRangeAt","createRange","_selectFocusedItem","oldIndex","aria-activedescendant","orientation","numPages","_keySliding","_mouseSliding","_animateOff","_handleIndex","_detectOrientation","_calculateNewMax","_createRange","_createHandles","handleCount","existingHandles","_valueMin","_handleEvents","normValue","closestHandle","mouseOverHandle","elementSize","_normValueFromMouse","_valueMax","thisDistance","_lastChangedValue","_start","_clickOffset","_slide","_stop","pixelTotal","percentMouse","valueTotal","valueMouse","_trimAlignValue","uiHash","newVal","otherVal","newValues","allowed","vals","_values","valsLength","valModStep","alignValue","_precision","precision","_precisionOf","decimal","lastValPercent","valPercent","valueMin","valueMax","oRange","_set","curVal","connectWith","dropOnEmpty","forcePlaceholderSize","forceHelperSize","beforeStop","receive","_isOverAxis","_isFloating","overrideHandle","validHandle","reverting","_refreshItems","_removeCurrentsFromItems","noActivation","currentContainer","domPosition","_createPlaceholder","storedCursor","storedStylesheet","_storedOpacity","_storedZIndex","_preserveHelperProportions","containers","dragging","itemElement","intersection","lastPositionAbs","_intersectsWithPointer","_intersectsWithSides","_rearrange","_contactContainers","_noFinalSort","_getItemsAsjQuery","connected","res","attribute","expression","dyClick","dxClick","isOverElementHeight","isOverElementWidth","isOverElement","forcePointerForContainers","floating","verticalDirection","_getDragVerticalDirection","horizontalDirection","_getDragHorizontalDirection","isOverBottomHalf","isOverRightHalf","_connectWith","queries","addItems","targetData","_queries","queriesLength","toleranceElement","refreshContainers","_createTrPlaceholder","sourceTr","targetTr","dist","itemWithLeastDistance","posProperty","sizeProperty","nearBottom","innermostContainer","innermostIndex","hardRefresh","counter","delayedTriggers","delayEvent","_inst","sender","spinner_modifier","culture","up","incremental","numberFormat","page","spin","_draw","_events","mousewheel","spinning","_spin","mousewheelTimer","mousedown .ui-spinner-button","_repeat","mouseup .ui-spinner-button","mouseenter .ui-spinner-button","mouseleave .ui-spinner-button","uiSpinner","_uiSpinnerHtml","_buttonHtml","steps","_adjustValue","_increment","aboveMin","prevValue","_parse","_format","Globalize","isValid","allowAny","stepUp","_stepUp","stepDown","_stepDown","pageUp","pages","pageDown","beforeLoad","_isLocal","anchor","anchorUrl","locationUrl","decodeURIComponent","running","_processTabs","_initialActive","tabs","anchors","locationHash","tab","_getPanelForTab","_tabKeydown","focusedTab","goingForward","_handlePageNav","activating","_focusNextTab","_panelKeydown","_findNextTab","lastTabIndex","_setupHeightStyle","_setupDisabled","_sanitizeSelector","lis","tablist","prevTabs","prevAnchors","_getList","anchorId","originalAriaControls","_createPanel","aria-controls","oldTab","newTab","_getIndex","_ajaxSettings","tooltipClass","track","_addDescribedBy","describedby","_removeDescribedBy","tooltips","_disable","tooltipData","_updateContent","_enable","blurEvent","_registerCloseHandlers","contentOption","tooltip","delayedShow","a11yContent","positionOption","_find","_tooltip","mousemove","setInterval","clearInterval","fakeEvent","_removeTooltip","closing","hiding","touch","touchHandled","mouseProto","_touchStart","_touchMoved","simulateMouseEvent","_touchMove","_touchEnd","touchstart","touchmove","touchend","simulatedType","simulatedEvent","initMouseEvent","__esModule","eventListenerOptionsSupported","EventTarget","getOwnPropertyDescriptor","assign","passive","_original","CanvasPrototype","HTMLCanvasElement","hasBlobConstructor","Blob","hasArrayBufferViewSupport","Uint8Array","BlobBuilder","WebKitBlobBuilder","MozBlobBuilder","MSBlobBuilder","dataURIPattern","dataURLtoBlob","atob","ArrayBuffer","dataURI","mediaType","isBase64","dataString","byteString","arrayBuffer","intArray","getBlob","toBlob","mozGetAsFile","quality","toDataURL","fetchBlob","createObjectURL","crossOrigin","isInstanceOf","_objectURL","readFile","noRevoke","revokeObjectURL","URL","webkitURL","transform","FileReader","loadImage","transformCoordinates","getTransformedOptions","crop","naturalWidth","naturalHeight","renderImageToCanvas","getContext","drawImage","hasCanvasOption","canvas","sourceWidth","sourceHeight","contain","cover","pixelRatio","downsamplingRatio","webkitSlice","mozSlice","blobSlice","metaDataParsers","jpeg","65505","65517","parseMetaData","maxMetaDataSize","DataView","byteLength","getUint16","disableImageHead","imageHead","subarray","hasMetaOption","meta","fetch","Request","blob","translate","rotate","exif","ExifMap","Orientation","getExifThumbnail","buffer","exifTagTypes","getValue","getUint8","2","ascii","3","4","getUint32","5","getInt32","10","getExifValue","parseExifTag","parseExifTags","parseExifData","disableExif","disableExifThumbnail","Thumbnail","disableExifSub","disableExifGps","tags","256","257","34665","34853","40965","258","259","262","274","277","284","530","531","282","283","296","273","278","279","513","514","301","318","319","529","532","306","270","271","272","305","315","33432","36864","40960","40961","40962","40963","42240","37121","37122","37500","37510","40964","36867","36868","37520","37521","37522","33434","33437","34850","34852","34855","34856","34864","34865","34866","34867","34868","34869","37377","37378","37379","37380","37381","37382","37383","37384","37385","37396","37386","41483","41484","41486","41487","41488","41492","41493","41495","41728","41729","41730","41985","41986","41987","41988","41989","41990","41991","41992","41993","41994","41995","41996","42016","42032","42033","42034","42035","42036","42037","6","7","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","stringValues","ExposureProgram","MeteringMode","255","LightSource","Flash","32","65","69","71","73","77","79","89","93","95","SensingMethod","SceneCaptureType","SceneType","CustomRendered","WhiteBalance","GainControl","Contrast","Saturation","Sharpness","SubjectDistanceRange","FileSource","ComponentsConfiguration","IptcMap","ObjectName","parseIptcTags","iptc","getInt16","parseIptcData","disableIptc","35","37","38","40","42","45","47","50","55","60","62","63","70","75","80","85","90","92","100","101","103","105","110","115","116","118","120","122","130","131","135","getDragHandler","isDragOver","dataTransfer","delegatedEvent","dropEffect","fileInput","xhrFileUpload","ProgressEvent","xhrFormDataFileUpload","FormData","dropZone","pasteZone","replaceFileInput","paramName","singleFileUploads","limitMultiFileUploads","limitMultiFileUploadSize","limitMultiFileUploadSizeOverhead","sequentialUploads","limitConcurrentUploads","forceIframeTransport","redirect","redirectParamName","postMessage","multipart","maxChunkSize","uploadedBytes","recalculateProgress","progressInterval","bitrateInterval","autoUpload","i18n","formData","fileupload","_specialOptions","_blobSlice","_BitrateTimer","timestamp","loaded","bitrate","getBitrate","timeDiff","_isXHRUpload","_getFormData","_getTotal","files","_initProgressObject","_progress","_initResponseObject","_onProgress","lengthComputable","_time","chunkSize","_bitrateTimer","_initProgressListener","upload","oe","_deinitProgressListener","_isInstanceOf","_initXHRData","contentRange","encodeURI","uploadName","field","_initIframeSettings","targetHost","_initDataSettings","_chunkedUpload","_getParamName","_initFormSettings","formAcceptCharset","_getAJAXSettings","_getDeferredState","isResolved","isRejected","_enhancePromise","_getXHRPromise","resolveOrReject","_addConvenienceMethods","getPromise","resolveFunc","rejectFunc","_processQueue","errorThrown","_onSend","processing","_getUploadedBytes","upperBytesPos","testOnly","fs","mcs","currentLoaded","textStatus","_beforeSend","_active","_onDone","_onFail","_onAlways","jqXHRorResult","jqXHRorError","aborted","slot","_sending","nextSlot","_slots","_sequence","_onAdd","paramNameSet","paramNameSlice","fileSet","filesLength","limit","limitSize","overhead","batchSize","originalFiles","newData","_replaceFileInput","inputClone","restoreFocus","fileInputClone","_handleFileTreeEntry","entry","path","dirReader","entries","errorHandler","readEntries","_handleFileTreeEntries","successHandler","isFile","_file","relativePath","isDirectory","createReader","_getDroppedFiles","webkitGetAsEntry","getAsEntry","getAsFile","_getSingleFileInputFiles","fileName","fileSize","_getFileInputFiles","_onChange","_onPaste","clipboardData","_onDrop","_onDragOver","_onDragEnter","_onDragLeave","_initEventHandlers","dragover","dragenter","dragleave","paste","_destroyEventHandlers","reinit","_initSpecialOptions","_getRegExp","modifiers","_isRegExpOption","_initDataAttributes","originalAdd","blueimp","processQueue","processActions","_processFile","originalData","chain","_transformProcessQueue","_processing","_processingQueue","fileTypes","maxFileSize","forceResize","thumbnail","loadImageFileTypes","loadImageMaxFileSize","imageMaxWidth","imageMaxHeight","imageOrientation","imageCrop","disableImageResize","previewMaxWidth","previewMaxHeight","previewOrientation","previewThumbnail","previewCrop","previewCanvas","resizeImage","newImg","preview","saveImage","loadImageMetaData","saveImageMetaData","setImage","deleteImageReferences","acceptFileTypes","minFileSize","maxNumberOfFiles","getNumberOfFiles","validate","kojqui","utils","uiVersion","descendantControllingBindings","createObject","major","minor","Type","Constructor","bindingHandlers","arrayGetDistinctValues","core","BindingHandler","domDataKey","filterAndUnwrapProperties","subscribeToRefreshOn","arrayForEach","unwrapObservable","bindingValue","isObservable","refreshOn","hasRefresh","valueAccessor","allBindingsAccessor","bindingContext","unwrappedOptions","unwrappedEvents","shouldApplyBindingsToDescendants","arrayFirst","bindingName","applyBindingsToDescendants","domData","isWriteableObservable","domNodeDisposal","addDisposeCallback","oldOptions","newOptions","Accordion","eventToWatch","accordion","Autocomplete","Button","Buttonset","subscription","origOnSelect","selectedText","Dialog","marker","ev","dialog","Menu","Progressbar","progressbar","Selectmenu","selectmenu","Slider","changeEvent","realtime","slider","Spinner","spinner","Tabs","postInitHandler18","postInitHandler","Tooltip","modules","dependencies","defs","fi","relativePosition","targetRect","rel","targetW","targetH","inflate","findBestRelativePosition","constrainRect","rels","cropRect","clampRect","fixedSize","underflowX1","underflowY1","overflowX2","overflowY2","cx2","cy2","fromClientRect","clientRect","asap","immediateFn","setImmediate","thisArg","_state","_deferreds","doResolve","me","finale","Handler","reason","race","requestAnimationFramePromise","wrappedSetTimeout","wrappedSetInterval","debounce","requestAnimationFrameFunc","vendors","setEditorTimeout","editor","removed","setEditorInterval","webkit","ie11","ie12","gecko","mac","iDevice","android","fileApi","phone","tablet","windowsPhone","nav","matchMediaQuery","query","matchMedia","buildNumber","appName","iOS","contentEditable","transparentSrc","caretAfter","ceFalse","canHaveCSP","desktop","Delay","Env","mouseEventRe","deprecated","keyLocation","layerX","layerY","webkitMovementX","webkitMovementY","keyIdentifier","addEvent","srcElement","experimentalShadowDom","defaultTarget","deepPath","getTargetFromShadowDom","undef","eventDoc","clientLeft","clientTop","bindOnReady","eventUtils","readyHandler","domLoaded","waitForDomLoaded","tryScroll","EventUtils","hasFocusIn","hasMouseEnterLeave","mouseEnterLeave","executeHandlers","callbackList","fakeName","nativeHandler","defaultNativeHandler","ci","eventMap","strundefined","rescape","getTop","div1","findIndex","predicate","iteratee","accumulator","Arr","whiteSpaceRegExp","makeMap","delim","ext","sp","ns","cn","scn","de","createNS","onCreate","walk","_addCacheSuffix","cacheSuffix","Tools","skipUniques","isDefined","isString","createFragment","fragDoc","frag","domManipulate","targetNodes","sourceItem","getElementDocument","DomQuery","lastParent","newWrapper","numericCssMap","booleanMap","readonly","cssFix","siblingName","firstSibling","appendHooks","targetHooks","elm","camel","dashed","removeProperty","existingClassName","classState","docElm","contentWindow","overrideDefaults","defaults","sub","maxlength","maxLength","schema","encodingItems","validStyles","invalidStyles","rgbRegExp","urlOrStrRegExp","styleRegExp","trimRightRegExp","encodingLookup","invisibleChar","getValidStyles","getInvalidStyles","toHex","hex","isEncoded","urlConverter","url_converter","urlConverterScope","url_converter_scope","compress","noJoin","canCompress","encode","decode","keep_slashes","decodeSingleHexSequence","escSeq","decodeHexSequences","processUrl","url2","url3","str2","allow_script_urls","scriptUrl","allow_svg_data_urls","lastIndex","elementName","styleMap","serializeStyles","styleList","startNode","rootNode","findSibling","startName","shallow","prev2","findPreviousNode","Range","dom","EXTRACT","CLONE","TRUE","FALSE","START_OFFSET","START_CONTAINER","END_CONTAINER","END_OFFSET","setStart","_setEndPoint","setEnd","setStartBefore","setEndAfter","cloneContents","_traverse","_getSelectedNode","_compareBoundaryPoints","containerA","offsetA","containerB","offsetB","offsetC","cmnRoot","childA","childB","findCommonAncestor","st","collapsed","commonAncestorContainer","how","depthDiff","endNode","ep","endContainerDepth","startContainerDepth","cnt","xferNode","deleteData","_traverseFullySelected","_traverseSameContainer","_traverseCommonStartContainer","_traverseCommonEndContainer","startAncestor","endAncestor","startOffset","endOffset","_traverseLeftBoundary","_traverseRightBoundary","setStartAfter","_traverseCommonAncestors","setEndBefore","startIdx","clonedParent","prevSibling","clonedChild","clonedGrandParent","isFullySelected","_traverseNode","isLeft","txtValue","newNodeValue","oldNodeValue","newNode","startContainer","endContainer","START_TO_START","START_TO_END","END_TO_END","END_TO_START","selectNode","selectNodeContents","compareBoundaryPoints","so","eo","rsc","rso","rec","reo","deleteContents","extractContents","insertNode","nn","splitText","surroundContents","cloneRange","toStringIE","outerText","namedEntities","baseEntities","reverseEntities","attrsCharsRegExp","textCharsRegExp","rawCharsRegExp","entityRegExp","asciiMap","128","132","133","134","136","137","138","139","140","142","145","146","147","148","149","150","151","152","153","154","155","156","158","159","buildEntitiesLookup","radix","entity","lookup","\"","'","<","&","`","<",">","&",""","'","Entities","encodeRaw","encodeAllRaw","encodeNumeric","encodeNamed","entities","getEncodeFunc","named","numeric","nativeDecode","maxLoadTime","idCount","loadedStates","appendToHead","loadedCallback","link","passed","callbacks","failed","testCallback","waitCallback","waitForWebKitLinkLoaded","styleSheet","styleSheets","ownerNode","owningElement","webKitChunks","waitForGeckoLinkLoaded","cssRules","sheet","Styles","TreeWalker","StyleSheetLoader","isIE","simpleSelectorRe","updateInternalStyleAttr","domUtils","$elm","serializeStyle","parseStyle","normalized","lastNodeType","DOMUtils","blockElementsMap","stdMode","boxModel","styleSheetLoader","boundEvents","fixDoc","ownEvents","keepUrlHook","keepValues","keep_values","setupAttrHooks","getBlockElements","getRoot","isBlock","$$","getCustomElements","getAttribs","setAttrib","getAttrib","root_element","getViewPort","rootElm","getRect","getPos","getSize","getStyle","getParent","getParents","collect","selectorVal","getNext","_findSib","getPrev","elms","parentElm","newElm","setAttribs","setHTML","createHTML","outHtml","keepChildren","setStyle","update_styles","setStyles","removeAllAttribs","removeAttributeNode","originalValue","onSetAttrib","attrElm","attrName","attrValue","defaultVal","addStyle","styleElm","DOM","addedStyles","loadCSS","recalc","cls","isHidden","canHaveHTML","getOuterHTML","outerHTML","setOuterHTML","referenceNode","oldElm","rename","attrNode","pe","ps","rgbVal","isEmpty","walker","brCount","getNonEmptyElements","getWhiteSpaceElements","bogusVal","createRng","splitElm","replacementElm","bef","aft","trimNode","trimmedLength","previousIsSpan","nextIsSpan","getContentEditable","getContentEditableParent","isChildOf","dumpRng","ScriptLoader","states","scriptLoadedCallbacks","queueLoadedCallbacks","loading","isDone","markDone","failure","loadQueue","loadScripts","failures","execCallbacks","loadingScripts","loadScript","AddOnManager","urls","requireLangPack","languages","language","languageLoad","addOn","createUrl","baseUrl","dep","resource","addComponents","pluginName","pluginUrl","addOnUrl","loadDependencies","newUrl","baseURL","lastIndexOf","PluginManager","ThemeManager","isNodeType","isElement","matchNodeNames","hasContentEditableState","isText","isComment","isBr","isContentEditableTrue","isContentEditableFalse","hasPropValue","propName","propValue","hasAttributeValue","matchStyleValues","isBogus","hasAttribute","ZWSP","isZwsp","NodeType","Zwsp","isCaretContainerBlock","isCaretContainerInline","isCaretContainer","startsWithCaretContainer","endsWithCaretContainer","showCaretContainerBlock","caretContainer","brs","lastBr","trimBogusBr","insertInline","textNode","insertBlock","blockName","blockNode","br","createBogusBr","caretContainerNode","setNodeValue","getNodeValue","CaretContainer","hasCeProperty","findParent","isFormatterCaret","isCeFalseCaretContainer","hasParent","RangeUtils","rng","startPoint","endPoint","hasChildNodes","getEndChild","exclude","walkBoundary","findEndPoint","collectSiblings","end_node","start_node","normalize","normalizeEndPoint","nonEmptyElementsMap","directionLeft","isAfterNode","hasBrBeforeAfter","findTextNodeRelative","lastInlineElement","parentBlockContainer","hasContentEditableFalseParent","compareRanges","rng1","rng2","duplicate","isEqual","getCaretRangeFromPoint","point","caretPositionFromPoint","offsetNode","caretRangeFromPoint","createTextRange","moveToPoint","rects","elementFromPoint","moveToElementText","findClosestIeRange","moveOutOfContentEditableFalse","getSelectedNode","getNode","lastRng","lastPath","getDoc","nativeRng","fakeRng","getRng","startElm","getStart","isCollapsed","currentPath","getBody","isSameElementPath","nodeChanged","selectionChange","disable_nodechange","typeLookup","#text","#comment","#cdata","#pi","#doctype","#document-fragment","root_node","Node","selfAttrs","selfAttr","cloneAttrs","shortEnded","ref_node","mapCache","dummyObj","compileElementMap","schemaItems","whiteSpaceElementsMap","selfClosingElementsMap","shortEndedElementsMap","boolAttrMap","validClasses","moveCaretBeforeOnEnterElementsMap","textBlockElementsMap","textInlineElementsMap","patternElements","customElementsMap","specialElements","createLookupTable","default_value","extendWith","patternToRegExp","addValidElements","validElements","ei","ai","al","attrData","attrType","attributesOrder","outputName","globalAttributes","globalAttributesOrder","elementRuleRegExp","attrRuleRegExp","hasPatternsRegExp","paddEmpty","removeEmpty","removeEmptyAttrs","attributesRequired","required","attributesDefault","attributesForced","forcedValue","validValues","attributePatterns","setValidElements","addCustomElements","customElements","customElementRegExp","text_block_elements","block_elements","rule","cloneName","customRule","elmName","addValidChildren","validChildren","childRuleRegExp","getElementRule","blockContent","phrasingContent","flowContent","html4BlockContent","html4PhrasingContent","ni","arrayToMap","addAttrs","schemaItem","table","compileSchema","verify_html","valid_elements","valid_styles","invalid_styles","valid_classes","custom_elements","valid_children","extended_valid_elements","dt","legend","area","parentsRequired","invalid_elements","getValidClasses","getBoolAttrs","getTextBlockElements","getTextInlineElements","getShortEndedElements","getSelfClosingElements","getMoveCaretBeforeOnEnterElements","getSpecialElements","isValidChild","attrPatterns","Schema","findEndTag","startIndex","tokenRegExp","shortEndedElements","SaxParser","fix_self_closing","endRegExp","attrList","isInternalElement","removeInternalElements","fillAttrsMap","isShortEnded","elementRule","isValidElement","attribsValue","validAttributesMap","validAttributePatterns","selfClosing","attrRegExp","fixSelfClosing","filteredUrlAttrs","scriptUriRegExp","dataUriRegExp","processEndTag","valid","parseAttribute","val2","val3","attrRule","uri","unescape","allow_html_data_urls","self_closing_elements","remove_internals","allow_conditional_comments","comment","cdata","doctype","pi","paddEmptyNode","padd_empty_with_br","nodeFilters","attributeFilters","matchedNodes","matchedAttributes","root_name","filterNode","addNodeFilter","addAttributeFilter","fl","blockElements","startWhiteSpaceRegExp","isInWhiteSpacePreservedElement","endWhiteSpaceRegExp","allWhiteSpaceRegExp","isAllWhiteSpaceRegExp","whiteSpaceElements","nonEmptyElements","rootBlockName","invalidChildren","createNode","removeWhitespaceBefore","textNodeNext","textVal","forced_root_block","cloneAndExcludeBlocks","attrFiltersLen","tempNode","invalid","newParent","currentNode","childNode","whitespaceElements","nonSplitableElements","textBlockElements","nextNode","fixed","fixInvalidChildren","isRootContent","rootBlockNode","forced_root_block_attrs","addRootBlocks","remove_trailing_brs","prevName","allow_unsafe_link_target","rules","removeTargetRules","regExp","toggleTargetRules","isUnsafe","addTargetRules","allow_html_in_named_anchor","fix_list_elements","classValue","validClassesMap","indent","indentBefore","indentAfter","htmlOutput","indent_before","indent_after","entity_encoding","element_format","getContent","Writer","writer","sortedAttrs","inner","DomParser","Serializer","htmlParser","tempAttrs","trimHtml","trimContentRegExp","trimContent","endTagIndex","matchLength","bogusAllRegExp","internalName","cleanup","impl","oldDoc","htmlSerializer","importNode","no_events","onPreProcess","brNode1","brNode2","trimTrailingBr","getInner","onPostProcess","addRules","setRules","addTempAttr","getTrimmedContent","getPosition","checkRng","endIndex","inside","compareEndPoints","move","getBookmark","bookmark","getIndexes","indexes","getBookmarkEndPoint","ctrl","moveToBookmark","resolveIndexes","setBookmarkEndPoint","moveLeft","moveRng","moveStart","setEndPoint","createControlRange","addElement","ieRng","ctrlRng","ctrlElm","tmpRng","tmpRange","element2","ieRange","domRange","textNodeOffset","SPACEBAR","modifierPressed","metaKeyPressed","VK","selectedElm","selectedElmGhost","resizeHelper","selectedHandle","lastMouseDownEvent","startX","startY","selectedElmX","selectedElmY","startW","startH","ratio","resizeStarted","startScrollWidth","startScrollHeight","editableDoc","rootDocument","rootElement","rootClass","object_resizing","resizeGhostElement","deltaX","deltaY","resizeHelperX","resizeHelperY","resize_img_proportional","startPos","endGhostResize","setSizeProp","showResizeRect","targetElm","mouseDownHandleName","mouseDownEvent","hideResizeRect","unbindResizeHandleEvents","detachResizeStartListener","handleElm","startDrag","unSelectabe","data-mce-bogus","updateResizeRect","controlElm","isChildOrEqual","disableGeckoResize","getEnd","resizeNativeStart","corner","cornerX","cornerY","relativeX","relativeY","isWithinContentEditableFalse","getContentEditableRoot","nativeControlSelect","execCommand","controlSelect","contentStyles","delayedSelect","throttledUpdateResizeRect","composing","constant","negate","and","or","curry","tempArgs","compose","isInvalidTextElement","isAtomicInline","isTable","isCaretCandidate","isInEditable","isAtomic","isAtomicContentEditableFalse","isEditableCaretCandidate","isValidOverflow","clientRect1","clientRect2","isAbove","isBelow","isRight","toStart","rect1","rect2","containsXY","extendingChars","isExtendingChar","Fun","CaretCandidate","ClientRect","ExtendingChar","isFloated","isValidElementCaretCandidate","isNotPre","resolveIndex","isWhiteSpace","isHiddenWhiteSpaceRange","getCaretPositionClientRects","caretPosition","beforeNode","clientRects","brNode","nbsp","getBrClientRect","collapseAndInflateWidth","addUniqueAndValidRect","addCharacterOffset","isAtEnd","CaretPosition","toRange","isAtStart","fromRangeStart","fromRangeEnd","DomUtils","getChildNodes","equal","targetValue","normalizedNodeIndex","numTextFragments","normalizedParent","createPathItem","outputOffset","normalizedTextOffset","resolvePathItem","dataLen","findTextPosition","CaretBookmark","BookmarkManager","normalizeTableCellSelection","moveEndPoint","tridentSel","findAdjacentContentEditableFalseElm","getPoint","getLocation","pasteHTML","data-mce-type","keep","restoreEndPoint","appendData","addBogus","setRng","isBookmarkNode","TridentSelection","ControlSelection","Selection","serializer","bookmarkManager","controlSelection","setCursorLocation","_moveEndPoint","whiteSpaceBefore","whiteSpaceAfter","tmpElm","getSel","htmlText","setContent","caretNode","createContextualFragment","real","startElement","endElement","lastFocusBookmark","w3c","tryCompareBoundaryPoints","sourceRange","destinationRange","selectedRange","explicitRange","setBaseAndExtent","anchorNode","focusNode","setNode","skipEmptyTextNodes","forwards","getSelectedBlocks","endElm","selectedBlocks","isForward","anchorRange","focusRange","anchorOffset","focusOffset","selectorChanged","currentSelectors","selectorChangedData","getScrollContainer","scrollContainer","scrollIntoView","alignToTop","viewPort","viewPortY","viewPortH","getWin","placeCaretAt","node1","node2","attribs","compareObjects","obj1","obj2","parsedSelectorToHtml","ancestry","sItem","decorate","wrapInHtml","parentCandidate","parentRequired","ancestorName","candidate","getRequiredParent","siblingElm","parseSelectorItem","$0","$1","$2","$3","$4","parseSelector","getCssText","previewFrag","previewElm","parentFontSize","previewStyles","previewCss","preview_styles","removeVars","formatter","block","selectorToHtml","postProcessHooks","isPre","blocks","pre","pre1","pre2","joinPre","ElementUtils","Preview","Hooks","formatChangeData","disableCaretContainer","markCaretContainersBogus","formats","rangeUtils","forcedRootBlock","INVISIBLE_CHAR","MCE_ATTR_RE","isTextBlock","isTableCell","isCaretNode","mixed","block_expand","matchesUnInheritedFormatSelector","formatList","inherit","getTextDecoration","decoration","processUnderlineAndColor","textDecoration","vars","setElementFormat","fmt","onformat","replaceVars","styleVal","applyNodeStyle","found","applyRngStyle","node_specific","wrapName","wrapElm","newWrappers","currentWrapElm","parentName","lastContentEditable","isEq","matchNode","links","childCount","getChildCount","isWhiteSpaceNode","getChildElementNode","isElementNode","exact","matchName","removeFormat","merge_with_parents","styleNode","matchNestedWrapper","hasStyle","merge_siblings","mergeSiblings","getNonWhiteSpaceSibling","expandRng","performCaretAction","curSelNode","defaultBlock","newEnd","findSelectionEnd","adjustSelectionToVisibleSelection","processChildElements","applyStyle","ceFalseOverride","similar","splitToFormatRoot","formatRoot","lastClone","firstClone","formatRootParent","wrapAndSplit","findFormatRoot","removeRngStyle","getContainer","matchItems","item_name","onmatch","normalizeStyleValue","matchParents","str1","lastIdx","leaf","findParentContainer","findLeaf","findParentContentEditable","findWordEndPoint","lastTextNode","findSpace","pos2","findSelectorEndPoint","sibling_name","curFormat","findBlockEndPoint","compare_node","stylesModified","isColorFormatAndAnchor","remove_similar","valueOut","rootBlockElm","inc","list_block","tmpSibling","elementUtils","findElementSibling","caretContainerId","debug","caret_debug","createCaretContainer","fill","isCaretContainerEmpty","getParentCaretContainer","findFirstTextNode","removeCaretContainer","move_caret","unmarkBogusCaretParents","_hasCaretEvents","wordcharRegex","applyCaretFormat","hasContentAfter","formatNode","removeCaretFormat","isAtEndOfText","tmpNode","isInlineBlock","matchAll","matchedFormatNames","checkedMap","canApply","formatChanged","currentFormats","matchedFormats","valigntop","verticalAlign","valignmiddle","valignbottom","alignleft","textAlign","aligncenter","alignright","alignjustify","bold","italic","fontStyle","underline","strikethrough","forecolor","hilitecolor","fontname","fontFamily","fontsize","fontsize_class","blockquote","subscript","superscript","removeformat","addShortcut","addKeyboardShortcuts","KEEP","INSERT","vDown","vUp","buildScript","start1","end1","start2","end2","middle","getMiddleSnake","diag","i2","buildSnake","snake","Diff","getOuterHtml","insertAt","currentFragments","removeAt","applyDiff","Fragments","createFragmentedLevel","beforeBookmark","createCompleteLevel","getLevelContent","level","createFromEditor","trimmedFragments","hasIframes","applyToEditor","level1","level2","Levels","isFirstTypedCharacter","locks","setDirty","addNonTypingUndoLevel","typing","endTyping","cmd","command","beforeChange","isDirty","lastLevel","modKey","currentLevel","custom_undo_redo_levels","undo","redo","hasUndo","hasRedo","transact","callback1","callback2","undoManager","editableRoot","parentBlock","newBlock","containerBlock","parentBlockName","containerBlockName","newBlockName","isAfterLastNodeInContainer","canSplitBlock","renderBlockOnIE","oldRng","moveToCaretPosition","tempElm","lastNode","firstNonWhiteSpaceNodeSibling","setForcedBlockAttrs","forcedRootBlockName","emptyBlock","createNewBlock","clonedNode","textInlineElements","keep_styles","isCaretAtStartOrEndOfBlock","insertBr","insertNewBlockAfter","end_container_on_empty_block","force_p_newlines","getEditableRoot","wrapSelfAndSiblingsInDefaultBlock","isFirstOrLastLi","getContainerBlock","containerBlockParent","containerBlockParentName","handleEmptyListItem","br_in_pre","trimLeadingLineBreaks","firstChilds","trimInlineElementsOnLeftSideOfBlock","handleEnterKey","wrapped","restoreSelection","rootNodeName","moveEnd","isBlockLike","isForwards","isBackwards","skipCaretContainers","getEditingHost","getParentBlock","beforeAfter","lean","isNextToContentEditableFalse","relativeOffset","getChildNodeAtRelativeOffset","findNode","predicateFn","isInSameBlock","caretPosition1","caretPosition2","isInSameEditingHost","isBeforeContentEditableFalse","isAfterContentEditableFalse","normalizeRange","leanLeft","leanRight","CaretUtils","nodeAtIndex","getCaretCandidatePosition","findCaretPosition","startCaretPosition","innerNode","rootContentEditableFalseElm","isBrBeforeBlock","CaretWalker","listItems","trimListItems","getParentLi","findLastOf","caretPos","newCaretPos","findFirstIn","isListFragment","insertAtCaret","domFragment","cleanupDomFragment","toDomFragment","liTarget","liElms","isAt","caretWalker","newPos","beforeRng","afterRng","getSplit","insertMiddle","isParentBlockLi","InsertList","details","processValue","bookmarkHtml","hasSiblingText","trimOrPaddLeftRight","caretElement","parserArgs","markFragmentElements","_selectionOverrides","showBlockCaretContainer","validInsertion","testNode","reduceInlineTextElements","parentEditableFalseElm","nextRng","getContentEditableFalseParent","isPartOfFragment","findNextCaretRng","moveSelectionToMarker","addVisual","insertHtmlAtCaret","InsertContent","isOldIE","commands","queryCommandState","quirks","addCommands","command_list","execNativeCommand","isFormatMatch","toggleFormat","storeSelection","customCommand","skip_focus","theme","queryCommandValue","queryCommandSupported","addCommand","addQueryStateHandler","addQueryValueHandler","hasCustomCommand","mceResetDesignMode,mceBeginUndoLevel","mceEndUndoLevel,mceAddUndoLevel","Cut,Copy,Paste","queryCommandEnabled","notificationManager","unlink","JustifyLeft,JustifyCenter,JustifyRight,JustifyFull,JustifyNone","align","InsertUnorderedList,InsertOrderedList","listElm","listParent","Bold,Italic,Underline,Strikethrough,Superscript,Subscript","ForeColor,HiliteColor,FontName","FontSize","fontClasses","fontSizes","font_size_style_values","font_size_classes","RemoveFormat","mceBlockQuote","FormatBlock","mceCleanup","mceRemoveNode","mceSelectNodeDepth","mceSelectNode","mceInsertContent","mceInsertRawHTML","mceToggleFormat","mceSetContent","Indent,Outdent","intentValue","indentUnit","indentation","indentStyleName","getParam","mceRepaint","InsertHorizontalRule","mceToggleVisualAid","hasVisual","mceReplaceContent","mceInsertLink","selectAll","editingHost","delete","mceNewDocument","InsertLineBreak","brElm","extraBr","isControlKey","hasRightSideContent","JustifyLeft,JustifyCenter,JustifyRight,JustifyFull","Outdent","inline_styles","paddingLeft","FontSize,FontName","Undo","Redo","queryParts","DEFAULT_PORTS","ftp","http","https","mailto","URI","baseUri","base_url","base_uri","isProtocolRelative","directory","toAbsPath","userInfo","port","setPath","getURI","toRelative","tu","uu","toRelPath","toAbsolute","noHost","isSameOrigin","defaultPort","breakPoint","outPath","noProtoHost","parseDataUri","getDocumentBaseUrl","loc","pathname","extendClass","initializing","Class","member","mixins","mixin","Mixins","dummy","createMethod","Methods","Properties","fieldName","Statics","Defaults","nativeEvents","Dispatcher","toggleEvent","hi","beforeFire","isNative","Binding","model","otherModel","otherName","fromSelfToOther","_bindings","EventDispatcher","getEventDispatcher","_eventDispatcher","toggleNativeEvent","bubble","hasEventListeners","Observable","isNode","Collection","chunker","whiteSpace","Selector","direct","compileNameFilter","_name","compileIdFilter","compileClassesFilter","cmp","compileAttrFilter","notSelectors","parseChunks","compilePsuedoFilter","_selectors","control","si","sl","uniqueItems","__checked","funcs","getWindowSize","getRuntimeStyle","innerHtml","parseBox","measureBox","getSide","ClassList","onchange","_map","curState","clsValue","animationFrameRequested","dirtyCtrls","_layout","_id","reflow","ObservableObject","BoxUtils","ReflowQueue","Control","hasMouseWheelEventSupport","hasWheelEventSupport","idCounter","classPrefix","isRtl","defaultClasses","applyClasses","_aria","_elmCache","getEl","borderBox","paddingBox","marginBox","getContainerElm","getParentCtrl","controlIdLookup","initLayoutRect","layoutRect","autoResize","startMinWidth","startMinHeight","initialSize","deltaW","deltaH","maxW","maxH","_layoutRect","contentW","contentH","innerW","innerH","minW","minH","scrollW","_lastLayoutRect","newRect","lastLayoutRect","deltaWidth","deltaHeight","repaintControls","curRect","repaint","bodyStyle","bodyElm","borderW","borderH","lastRepaintRect","_lastRepaintRect","_hasBody","updateLayoutRect","_lastRect","parentsAndSelf","parentControls","$el","aria","ariaTarget","newItems","_eventsRoot","renderBefore","renderHtml","postRender","renderTo","preRender","render","parentEventsRoot","_nativeEvents","bindPendingEvents","border-top-width","border-right-width","border-bottom-width","border-left-width","bindStates","parentCtrl","parentWidth","parentHeight","getOffset","rootControl","eventCtrl","eventRootCtrl","mouseLeaveHandler","_lastHoverCtrl","mouseEnterHandler","lastParents","lastCtrl","fixWheelEvent","wheelDelta","wheelDeltaX","eventRootDelegates","_delegates","_hasMouseEnter","namespaceInit","typeClass","ControlType","tinymce","focusedElement","focusedControl","getRole","getParentRole","getAriaProp","isTextInputElement","getFocusElements","canFocus","getNavigationRoot","targetControl","navigationRoot","ariaRoot","moveFocusToIndex","moveFocus","lastAriaIndex","parentRole","enter","handleNonTabOrEscEvent","focusFirst","focusElements","ariaRemember","Factory","KeyboardNavigation","selectorCache","_items","bodyClasses","containerCls","layout","keyboard","focusCtrl","keyboardNav","statusbar","autofocus","oldItem","ctrlItems","defaultType","renderNew","containerElm","curItems","beforeItems","afterItems","fromJSON","lastRect","updateWithTouchData","$eventOverlay","downButton","getHandleElm","docSize","getDocumentSize","runtimeStyle","DragHelper","renderScroll","repaintScroll","hasScrollH","hasScrollV","repaintAxis","axisName","posName","sizeName","contentSizeName","hasScroll","ax","scrollBarElm","scrollThumbElm","posNameLower","sizeNameLower","autoScroll","addScrollAxis","deltaPosName","scrollStart","axisId","draghelper","addScroll","bodyEl","Container","Scrollable","_preBodyHtml","calculateRelativePosition","selfW","selfH","viewport","testMoveRel","viewPortRect","moveRel","moveTo","moveBy","constrain","constrainToViewport","resizeToContent","resizeTo","resizeBy","Panel","Movable","Resizable","documentClickHandler","documentScrollHandler","windowResizeHandler","hasModal","visiblePanels","zOrder","bindDocumentClickHandler","clickCtrl","autohide","skipOrHidePanels","repositionPanel","toggleFixedChildPanels","autofix","_autoFixY","addRemove","topModal","FloatPanel","modalBlockEl","currentZIndex","hideAll","bindWindowResizeHandler","$modalBlockEl","popover","ariaLabel","describedBy","removeVisiblePanel","bodyRole","windows","oldMetaValue","toggleFullScreenState","contentValue","overrideViewPort","toggleBodyFullScreenClasses","_fullscreen","checkFullscreenWindows","Window","spacing","pack","closeClass","needsRecalc","headerW","headEl","headerH","headerHtml","footerHtml","fullscreen","slowRendering","_timer","_initial","dragHelper","getContentWindow","ifr","lastSize","handleWindowResize","MessageBox","multiline","OK","OK_CANCEL","YES_NO","YES_NO_CANCEL","msgBox","createButton","subtype","onClick","onPostRender","onCancel","alert","confirm","getTopMostWindow","fireOpenEvent","fireCloseEvent","editorManager","setActive","bodyType","onclick","features","getParams","setParams","getWindows","setValue","Progress","closeButton","progressBar","notificationStyle","Notification","notifications","getLastNotification","positionNotifications","firstItem","getElement","getContentAreaContainer","prePositionNotifications","notif","notificationArray","newNotification","notification","isPlainTextNotification","filteredNotifications","isSameNotification","findDuplicateMessage","getNotifications","serviceMessage","service_message","targetNode","NodePath","emptyBlocksCSS","isGecko","isWebKit","mceInternalUrlPrefix","mceInternalDataType","setEditorCommandState","getDocumentMode","setMceInternalContent","selectionHtml","internalContent","setData","getMceInternalContent","insertClipboardContents","shortcuts","removeHrOnBackspace","disableBackspaceIntoATable","bodyHeight","refreshContentEditable","emptyEditorOnDeleteEverything","isEverythingSelected","startCaretPos","endCaretPos","serializeRng","bodyRng","allRng","allContentsSelected","emptyEditorWhenDeleting","olderWebKit","dragStartRng","isTrailingBr","isSiblingsIgnoreWhiteSpace","findCaretNode","handleTextBlockMergeDelete","startBlock","endBlock","caretNodeBefore","caretNodeAfter","deleteRangeBetweenTextBlocks","targetCaretNode","textBlock","targetTextBlock","isAfter","expandBetweenBlocks","customDelete","mutationObserver","childList","subtree","attributeFilter","takeRecords","record","attributeName","addedNodes","disconnect","span","transactCustomDelete","records","nodeInsert","relatedNode","attrModified","isMetaOrCtrl","blockElm","newBlockElm","clonedBlockElm","currentFormatNodes","cloneTextBlockWithFormats","handleLastBlockCharacterDelete","modify","fragmentNode","blockParent","charText","pointRng","clearData","cleanupStylesWhenDeleting","content_editable","brNodes","startRng","htmlElm","rngFromPoint","endSelection","fixCaretSelectionOfDocumentElementOnIe","getAttributeApplyFunction","setAttributeNode","isSelectionAcrossElements","applyAttributes","removeStylesWhenDeletingAcrossBlockElements","customEventRootDelegates","getEventTarget","event_root","eventRoot","bindEventDelegate","eventRootElm","isListening","delegates","activeEditor","editors","EditorObservable","bindPendingEventDelegates","_pendingNativeEvents","unbindAllNativeEvents","toggleReadOnly","_clickBlocker","clickBlocker","currentMode","keyCodeLookup","f9","f10","f11","modifierNames","pendingPatterns","parseShortcut","shortcut","createShortcut","desc","cmdFunc","subpatterns","matchShortcut","executeShortcutAction","hasModifier","isFunctionKey","uploadStatus","pendingPromises","defaultHandler","blobInfo","withCredentials","credentials","onprogress","path1","path2","pathJoin","basePath","filename","handlerSuccess","handlerFailure","resolvePending","blobUri","uploadBlobInfo","openNotification","markPending","closeNotification","base64","image/jpeg","image/jpg","image/gif","image/png","blobInfoToData","markUploaded","removeFailed","uploadBlobs","blobInfos","isUploaded","isPending","pendingUploadBlobInfo","isDefaultHandler","uriToBlob","rejectWithError","blobUriToBlob","dataUriToBlob","blobToDataUri","reader","onloadend","readAsDataURL","Conversions","blobCache","cachedPromises","findAll","images","promises","newPromise","imageInfo","findFirst","cachedBlobInfo","getByUri","dataUri","imageToBlobInfo","removeByUri","blobUriStatuses","createStatus","resultUri","hasBlobUri","getResultUri","pluginUrlToMessage","targetUrl","resolvePluginName","displayNotification","displayError","_skinLoaded","pluginLoadError","uploadError","Uploader","ImageScanner","BlobCache","UploadStatus","ErrorReporter","uploader","imageScanner","aliveGuard","replaceString","replaceImageUrl","replacementUrl","replaceUrlInUndoStack","replaceImageUri","images_reuse_filename","data-mce-src","convertURL","uploadImages","images_upload_url","images_upload_base_path","images_upload_credentials","images_upload_handler","scanForImages","imageInfos","uploadInfo","images_replace_blob_uris","uploadImagesAuto","automatic_uploads","isValidDataUriImage","imgElm","images_dataimg_filter","resultItem","replaceBlobUris","editorUpload","source_view","cursorInterval","$lastVisualCaret","contentEditableFalseNodes","trimInlineCaretContainers","rootRect","getAbsoluteClientRect","getCss","toArrayWithNode","Dimensions","walkUntil","isAboveFn","isBeflowFn","targetClientRect","line","findUntil","upUntil","downUntil","positionsUntil","walkFn","isBelowFn","getClientRect","isAboveLine","lineNumber","isLine","distanceToRectLeft","distanceToRectRight","findClosestClientRect","isInside","oldClientRect","oldDistance","newDistance","findLineNodeRects","targetNodeRect","checkPosFn","lineRects","closestCaret","contentEditableFalseNodeRects","closestNodeRect","getContentEditableFalseChildren","caretInfo","getAbsolutePosition","calc","bodyPosition","scrollPosition","mousePosition","calculatePosition","getBodyPosition","getScrollPosition","iframePosition","inlineScroll","iframeScroll","getBodyScroll","getMousePosition","MousePosition","removeElement","isLeftMouseButtonPressed","ceElm","elmPos","maxX","maxY","relX","relY","clonedElm","ghostElm","contenteditable","createGhost","targetElement","dragElement","isValidDropTarget","getRawTarget","targetClone","cloneElm","cloneElement","insertContent","hideFakeCaret","removeDragState","bindFakeDragEvents","pageDom","dragStartHandler","dragHandler","dropHandler","dragEndHandler","throttledPlaceCaretAt","movement","hasDraggableElement","targetPos","applyRelPos","appendGhostToBody","moveGhost","realTarget","blockIeDrop","FakeCaret","LineWalker","LineUtils","DragDropOverrides","getVisualCaretPosition","selectedContentEditableNode","getNextVisualCaretPosition","getPrevVisualCaretPosition","fakeCaret","realSelectionId","setRange","getRange","showCaret","getNodeRange","getNormalizedRangeEndPoint","moveToCeFalseHorizontally","getNextPosFn","isBeforeContentEditableFalseFn","peekCaretPosition","rangeIsInContainerBlock","isRangeInCaretContainerBlock","fromCaretPosition","toCaretPosition","inSameBlock","isMoveInsideSameBlock","renderRangeCaret","exitPreBlock","moveH","newRange","moveV","walkerFn","linePositions","nextLinePositions","closestNextLineRect","caretClientRect","dist1","dist2","contentEditableFalseNode","caretPositions","moveToCeFalseVertically","blockCaretContainer","renderCaretAtRange","ceRoot","deleteContentEditableNode","nextCaretPosition","prevCaretPosition","prevCeFalseElm","nextElement","textBlocks","mergeTextBlocks","fromBlock","toBlock","ceTarget","backspaceDelete","beforeFn","afterFn","newCaretPosition","isWithinCaretContainer","isRangeInCaretContainer","setContentEditableSelection","$realSelectionContainer","origTargetClone","removeContentEditableSelection","deleteForward","backspace","override","moveFn","contentEditableRoot","hasBetterMouseTarget","targetBlock","caretBlock","hasNormalCaretPosition","paddEmptyContentEditableArea","handleBlockContainer","isXYWithinRange","isContentKey","prevent","handleEmptyBackspaceDelete","isFakeSelectionElement","realSelectionElement","getRealSelectionElement","registerEvents","rnd","sidebars","NodeChange","DomSerializer","Formatter","UndoManager","EnterKey","ForceBlocks","EditorCommands","WindowManager","NotificationManager","Quirks","Mode","Shortcuts","EditorUpload","SelectionOverrides","Uuid","Sidebar","Editor","documentBaseUrl","defaultSettings","documentBaseURL","baseURI","delta_width","delta_height","popup_css","document_base_url","add_form_submit_trigger","submit_patch","add_unload_trigger","convert_urls","relative_urls","remove_script_host","visual","font_size_legacy_values","hidden_input","padd_empty_editor","render_ui","convert_fonts_to_spans","ie7_compat","external_plugins","language_load","documentBaseURI","contentCSS","loadedCSS","editorCommands","cache_suffix","override_viewport","execCallback","orgVisibility","formElement","hasHiddenInput","formEventDelegate","startContent","_mceOldSubmit","triggerSave","windowManager","encoding","_beforeUnload","destroyed","set_dirty","scriptLoader","language_url","themeUrl","theme_url","Theme","bodyId","bodyClass","initializedPlugins","rtl_ui","setCode","aria_label","getLang","initPlugin","pluginInstance","Plugin","orgDisplay","min_height","renderUI","iframeHeight","editorContainer","iframeContainer","content_css","content_style","initContentBody","iframeHTML","cssUrl","body_id","body_class","content_security_policy","domainRelaxUrl","domain","hostname","frameBorder","allowTransparency","contentAreaContainer","iframeElement","skipWrite","contentCssText","content_document","content_window","bodyElement","hex_colors","force_hex_style_colors","class_filter","forceBlocks","enterKey","_nodeChangeDispatcher","browser_spellcheck","gecko_spellcheck","spellcheck","directionality","nowrap","protect","auto_focus","skipFocus","contentEditableHost","callbackLookup","addButton","addSidebar","addMenuItem","addContextToolbar","contextToolbars","focusedEditor","setProgressState","padd","isNotDirty","oldState","urlconverter_callback","visual_table_class","visual_anchor_class","automatic","_scanForImages","newCode","_dir","getCode","langData","getLangData","selectionChangeHandler","documentFocusInHandler","documentMouseUpHandler","isUIElement","customSelector","custom_ui_selector","FocusManager","isEditorUIElement","getActiveElement","bookmarkToRng","blurredEditor","createBookmark","_isUIElement","I18n","beforeUnloadDelegate","EditorManager","instanceCounter","boundGlobalEvents","globalEventDelegate","toggleGlobalEvents","removeEditorFromList","removedFromList","majorVersion","minorVersion","releaseDate","preInit","tinyMCEPreInit","srcScript","currentScript","focusManager","pluginBaseUrls","plugin_base_urls","invalidInlineTargets","createId","provideResults","initEditors","initCount","createEditor","forms","editor_deselector","editor_selector","findTargets","purgeDestroyedEditor","isInvalidInlineTarget","report","addI18n","tinyMCE","replaceWithSpan","font","face","strike","XHR","success_scope","error_scope","content_type","requestheaders","quote","JSONRequest","sendRPC","ecb","scb","ty","LocalStorage","storageElm","userDataKey","hasOldIEDataSupport","localStorage","updateKeys","addBehavior","getItem","setItem","removeItem","nextPos","firstControlClass","lastControlClass","containerClass","firstClass","lastClass","lastItem","controlClass","Layout","btnStyle","btnElm","textHtml","textCls","setButtonText","$span","iconElm","subinput","showMenu","statusLevel","statusMessage","openElm","innerPadding","inputElm","statusHtml","openBtnHtml","extraAttrs","showAutoComplete","previewUrl","hideMenu","statusIconElm","focusIdx","ComboBox","onaction","repaintColor","showPanel","panelSettings","hidePanel","popoverAlign","PanelButton","_color","resetColor","onClickHandler","brightness","chroma","hsvToRgb","toRgb","toHsv","minRGB","maxRGB","rgb2hsv","hsv","hueRootElm","huePointElm","svRootElm","svPointElm","updateColor","hueUpdate","updateSaturationAndValue","updateHue","_repaint","_svdraghelper","_hdraghelper","_rendered","hueHtml","stops","gradientPrefix","stopsList","getOldIeFallbackHtml","delimiter","_getDataPathHtml","Path","elementpath","outParents","flex","FormItem","labelGap","formItemDefaults","formItem","forId","recalcLabels","maxLabelWidth","labels","labelGapCalc","labelCtrl","labelWidth","Form","attach","getElementText","isValidAnchor","isAnchor","isEditable","isHeader","isChildOfContentEditableTrue","isValidHeader","headerTarget","getOrGenerateId","getLevel","anchorTarget","anchorText","getTargetElements","getHeaderTargets","getAnchorTargets","LinkTargets","history","toMenuItem","staticMenuItem","getSetting","editorSettings","createMenuItems","fileType","anchorMenuItems","topAnchor","bottomAchor","separator","fromHistoryMenuItems","uniqueHistory","isUniqueUrl","fromMenuItems","toMenuItems","typeahead_urls","filterByQuery","lowerCaseTerm","setupAutoCompleteHandler","linkTargets","linkDetails","getTitle","addToHistory","setupLinkValidatorHandler","validatorHandler","filepicker_validator_handler","uiState","statusToUiState","validateUrl","actionCallback","fileBrowserCallback","fileBrowserCallbackTypes","filetype","file_picker_types","file_browser_callback_types","file_picker_callback","file_browser_callback","AbsoluteLayout","contLayoutRect","contPaddingBox","contSettings","totalFlex","availableSpace","ctrlLayoutRect","maxSize","maxAlignEndPos","minSizeName","maxSizeName","beforeName","innerSizeName","deltaSizeName","alignAxisName","alignInnerSizeName","alignSizeName","alignMinSizeName","alignBeforeName","alignAfterName","alignDeltaSizeName","alignContentSizeName","maxSizeItems","maxFlexSize","endClass","getSpecifiedFontProp","getComputedFontProp","getFontSize","specifiedFontSize","getFontFamily","fontValue","normalizeFontFamily","toPt","FontInfo","setupRtlMode","formatMenu","createFormats","initOnPostRender","toggleUndoRedoState","checkState","typeFn","newFormats","defaultStyleFormats","createMenu","menuItem","createStylesMenu","style_formats_merge","style_formats","itemDefaults","textStyle","createFormatMenu","outdent","cut","help","selectall","visualaid","newdocument","alignnone","trimMenuItems","outputMenuItems","createCustomMenuItems","nameList","ar","flatten","createInsertMenu","insert_button_items","prependToContext","createContextMenuItems","hideFormatMenuItems","hideMenuObjects","selectable","oncreatemenu","onShowMenu","style_formats_autohide","block_formats","fixedWidth","onselect","createListBoxChangeHandler","fonts","font_formats","getFirstFont","createFontNameListBoxChangeHandler","fontsize_formats","px","pt","createFontSizeListBoxChangeHandler","registerControls","ui_container","setupContainer","posX","posY","ctrlSettings","spacingH","spacingV","alignH","alignV","ctrlMinWidth","ctrlMinHeight","availableWidth","availableHeight","reverseRows","colWidths","rowHeights","columns","flexV","packV","flexWidths","severity","strong","startMinH","targetCtrl","forName","Toolbar","MenuBar","MenuButton","_renderOpen","hasVisibleSiblingMenu","overCtrl","ariaHideMenu","hasMenus","_parentMenu","_lastRel","iconHtml","escapeRegExp","markMatches","boldMatches","convertShortcut","textElm","MenuItem","Throbber","itemsFactory","hideThrobber","throbber","requestTime","_hasIcons","lastItemCtrl","setSelected","menuValues","lastControl","activateMenuItemsByValue","getSelectedItem","Checkbox","resizeDragHelper","strOptions","_options","minVal","maxVal","setAriaProp","updateSliderHandle","shortSizeName","stylePosName","styleValue","handleEl","_minValue","_maxValue","previewFilter","minValue","maxValue","_initValue","screenCordName","startHandlePos","maxHandlePos","handlePos","alter","fromFraction","toFraction","handleKeyboard","_dragHelper","mainButtonElm","menuButtonElm","_menuBtnText","FlowLayout","activateTab","activeTabElm","activeTabId","tabsHtml","activeTab","targetParent","headH","hidefocus","privateModules","AMDLC_TESTS","expose","dem","actual","deps","defn","defResult","instantiate","defineGlobal","util","createToolbar","buttonGroup","toolbarItems","itemName","bindSelectorChanged","stateSelector","disabledStateSelector","createToolbars","toolbars","addToolbar","toolbar","defaultMenus","edit","tools","createMenuItem","editorMenuItems","menuButton","isUserDefined","removedMenuItems","removed_menuitems","createMenuButtons","menuButtons","defaultMenuBar","enabledMenuNames","menubar","geom","Rect","toClientRect","geomRect","movePanelTo","userConstrain","elementRect","contentAreaRect","panelRect","addContextualToolbars","getContextToolbars","reposition","shouldShow","relPos","relRect","testPositions","inline_toolbar_position_handler","getElementRect","togglePositionClass","pos1","hideAllFloatingPanels","repositionHandler","findFrontMostMatch","showContextToolbar","oncancel","hideAllContextToolbars","addKeys","sidebar","api","btnCtrl","findSidebar","hidePanels","deactivateButtons","hasSidebar","createSidebar","fireSkinLoaded","iframeElm","iframeSize","min_width","max_width","max_height","Menubar","ContextToolbars","A11y","SkinLoaded","Resize","editArea","resizeHandleCtrl","startSize","skinUiCss","toolbar_items_size","editAreaContainer","onResizeStart","onResize","switchMode","inlineToolbarContainer","fixed_toolbar_container","_fixed","bodyPos","scrollContainerPos","Iframe","Inline","ProgressState","skin","skinUrl","skin_url","attachState","isLink","hasLinks","getLink","getSelectedLink","openDetachedWindow","appendClickRemove","gotoLink","getHref","targetEl","gotoSelectedLink","createLinkList","linkList","link_list","buildListItems","inputList","itemCallback","startItems","appendItems","showDialog","anchorElm","initialText","onlyText","textListCtrl","linkListCtrl","relListCtrl","targetListCtrl","classListCtrl","linkTitleCtrl","linkListChangeHandler","textCtrl","updateText","isOnlyTextSelected","default_link_target","target_list","rel_list","link_class_list","link_title","inp","onkeyup","onbeforecall","anchorList","buildAnchorListControl","onSubmit","delayedConfirm","createLink","linkAttrs","insertLink","link_assume_external_targets","link_context_toolbar","contextmenu","isContextMenuVisible","hasOnlyAltModifier","toggleVisibility","domParser","ignoreElements","startFragment","endFragment","fragmentHtml","endPos","getInnerFragment","s1","s2","createIdGenerator","isMsEdge","isAbsoluteUrl","isImageUrl","linkSelection","pasteHtml","insertImage","createImage","paste_merge_formats","smart_paste","smartInsertContent","Utils","SmartPaste","pasteBinElm","keyboardPastePlainTextState","keyboardPasteTimeStamp","draggingInternally","pasteBinDefaultContent","tempBody","pasteText","forcedRootBlockStartHtml","createPasteBin","getCaretRect","removePasteBin","pasteBinClone","getPasteBinHtml","pasteBinClones","cloneHtml","getDataTransferItems","legacyText","hasHtmlOrText","hasContentType","pasteImage","getBase64FromUri","Image","existingBlobInfo","pasteImageData","processItems","hadImage","paste_data_images","clipboardContent","isKeyboardPasteEvent","registerEventHandlers","insertClipboardContent","isKeyBoardPaste","plainTextMode","removePasteBinOnKeyUp","ieFake","clipboardTimer","clipboardEvent","text/html","getClipboardContent","clipboardDelay","pasteFormat","isBrokenAndroidClipboardEvent","dropContent","getCaretRangeFromEvent","plainTextContent","isPlainTextFileUrl","paste_filter_drop","isWordContent","isNumericList","patterns","WordFilter","retainStyleProperties","filterStyles","outputStyles","_listLevel","_listIgnore","paste_retain_style_properties","paste_enable_default_filters","wordContent","paste_word_valid_elements","paste_convert_word_fake_lists","currentListNode","prevListNode","txt","trimListStart","convertParagraphToLi","paragraphNode","listName","removeIgnoredNodes","nodeText","convertFakeListsToProperLists","addPreProcessFilter","filterFunc","webKitStyles","paste_webkit_styles","paste_remove_styles_if_webkit","inputStyles","inputValue","explorerBlocksRegExp","Clipboard","userIsInformed","clipboard","togglePlainTextPaste","paste_plaintext_inform","stateChange","wordFilter","paste_as_text","paste_preprocess","paste_postprocess","paste_block_drop","isTextNode","isListNode","isListItemNode","isFirstChild","isLastChild","isBogusBr","keepBookmarks","isChildOfBody","getSelectedListItems","getNormalizedEndPoint","outRng","rangeStart","rangeEnd","setupEndPoint","resolveBookmark","normalizeList","normalizeLists","createNewTextBlock","contentNode","hasContentNode","TextBlock","splitList","bookmarks","Bookmark","SplitList","NormalizeLists","removeEmptyLi","ulParent","outdentSelection","listElements","updateListWithDetails","updateListStyle","updateListAttrs","getEndPointNode","applyList","listItemName","getSelectedTextBlocks","listBlock","sib","sibStyle","detailStyle","mergeWithAdjacentLists","removeList","emptyListItems","rootList","shouldMerge","list1","list2","isValidLists","hasSameListStyle","elm1","elm2","hasSameClasses","toggleList","parentList","ToggleList","findNextCaretContainer","nonEmptyBlocks","mergeLiElements","fromElm","toElm","listNode","backspaceDeleteCaret","otherLi","backspaceDeleteFromListToListCaret","backspaceDeleteIntoListCaret","backspaceDeleteRange","mergeLists","indentSelection","newList","listStyle","Delete","Indent","queryListCommandState","listState","lists","setupUi","isHandled","setupCommands","setupStateHandlers","setupTabKey","renderColorPicker","getColorCellHtml","isNoColor","colorMap","textcolor_map","mapColors","color_picker_callback","applyFormat","onPanelClick","buttonCtrl","selectColor","setDivColor","customColorCells","tableElm","getCurrentColor","lastId","onButtonClick","forecolor_rows","textcolor_rows","backcolor","backcolor_rows","forecolor_cols","textcolor_cols","backcolor_cols"],"mappings":"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","file":"mosaico-libs-and-tinymce.min.js"} \ No newline at end of file diff --git a/client/static/mosaico/rs/mosaico-material.min.css b/client/static/mosaico/rs/mosaico-material.min.css new file mode 100644 index 00000000..902b3cc3 --- /dev/null +++ b/client/static/mosaico/rs/mosaico-material.min.css @@ -0,0 +1,8 @@ +/*! + * Font Awesome 4.7.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(fontawesome/fontawesome-webfont.eot?v=4.7.0);src:url(fontawesome/fontawesome-webfont.eot?#iefix&v=4.7.0) format('embedded-opentype'),url(fontawesome/fontawesome-webfont.woff2?v=4.7.0) format('woff2'),url(fontawesome/fontawesome-webfont.woff?v=4.7.0) format('woff'),url(fontawesome/fontawesome-webfont.ttf?v=4.7.0) format('truetype'),url(fontawesome/fontawesome-webfont.svg?v=4.7.0#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{-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(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0,mirror=1)";-webkit-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2,mirror=1)";-webkit-transform:scale(1,-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{-webkit-filter:none;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: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"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-vcard:before,.fa-address-card:before{content:"\f2bb"}.fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.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}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}/*! + * Font Awesome 4.7.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(fontawesome/fontawesome-webfont.eot?v=4.7.0);src:url(fontawesome/fontawesome-webfont.eot?#iefix&v=4.7.0) format('embedded-opentype'),url(fontawesome/fontawesome-webfont.woff2?v=4.7.0) format('woff2'),url(fontawesome/fontawesome-webfont.woff?v=4.7.0) format('woff'),url(fontawesome/fontawesome-webfont.ttf?v=4.7.0) format('truetype'),url(fontawesome/fontawesome-webfont.svg?v=4.7.0#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{-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(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0,mirror=1)";-webkit-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2,mirror=1)";-webkit-transform:scale(1,-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{-webkit-filter:none;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: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"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-vcard:before,.fa-address-card:before{content:"\f2bb"}.fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.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}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.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;-webkit-animation:droppable-pulsate 1s ease-in-out infinite alternate;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);-webkit-animation:none;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,.mo table>tbody>tr.even>td{background-color:#d2a7a7}.mo table>tr.even>td.active,.mo table>tbody>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 .three-quarter-width{width:75%!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);-webkit-box-shadow:0 4px 10px #727272;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;-webkit-box-shadow:none;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:#bd362f}.mo .icon_green{color:#51a351}.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:1em;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,.mo .button_links a.button_dropdown_split.primary.pressed,.mo .links.inline a.button_dropdown_split.primary.pressed,.mo .cell_links a.button_dropdown_split.primary.pressed,.mo .button_links a.button_dropdown_split.primary.selected,.mo .links.inline a.button_dropdown_split.primary.selected,.mo .cell_links a.button_dropdown_split.primary.selected{background-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:1em;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,.mo a.button.primary.pressed,.mo input.form-submit.primary.pressed,.mo a.button.primary.selected,.mo input.form-submit.primary.selected{background-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:1em;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,.mo ul.button_links li a.primary.pressed,.mo ul.inline li a.primary.pressed,.mo ul.button_links li a.primary.selected,.mo ul.inline li a.primary.selected{background-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:1em;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,.mo ul.cell_links>li>a.primary.pressed,.mo ul.cell_links>.dropdown-container>li>a.primary.pressed,.mo ul.cell_links>li>a.primary.selected,.mo ul.cell_links>.dropdown-container>li>a.primary.selected{background-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:1em;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,.mo ul.top_links li a.primary.pressed,.mo ul.box_top_links li a.primary.pressed,.mo ul.top_links a.button_dropdown_split.primary.pressed,.mo ul.box_top_links a.button_dropdown_split.primary.pressed,.mo ul.top_links li a.primary.selected,.mo ul.box_top_links li a.primary.selected,.mo ul.top_links a.button_dropdown_split.primary.selected,.mo ul.box_top_links a.button_dropdown_split.primary.selected{background-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:1em;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;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.075) inset;box-shadow:0 1px 1px rgba(0,0,0,.075) inset;-webkit-transition:border-color .15s ease-in-out 0s,-webkit-box-shadow .15s ease-in-out 0s;transition:border-color .15s ease-in-out 0s,-webkit-box-shadow .15s ease-in-out 0s;transition:border-color .15s ease-in-out 0s,box-shadow .15s ease-in-out 0s;transition:border-color .15s ease-in-out 0s,box-shadow .15s ease-in-out 0s,-webkit-box-shadow .15s ease-in-out 0s;-webkit-box-shadow:none;box-shadow:none}.mo select:focus,.mo textarea:focus{border-color:#66afe9;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.075) inset,0 0 8px rgba(102,175,233,.6);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 :-ms-input-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% transparent;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:1em;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,.mo .ui-button.primary.pressed,.mo .ui-button.primary.selected{background-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);-webkit-box-shadow:0 2px 20px #727272;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;-webkit-box-shadow:none;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}.mo .ui-dialog .async_loading_iframe.with_bg{width:10%;height:6%;min-height:50px;position:absolute;left:45%;top:47%}.mo .ui-dialog .async_loading_iframe.over{position:absolute;left:0;top: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 #604b5a}.mo .ui-dialog.dialog_warn .ui-dialog-titlebar{background:none #a71b18}.mo .ui-dialog.dialog_ok .ui-dialog-titlebar{background:none #715229}.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);-webkit-box-shadow:0 4px 10px #727272;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;-webkit-box-shadow:none;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);-webkit-box-shadow:0 2px 20px #727272;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;-webkit-box-sizing:border-box;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:1em;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;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.075) inset;box-shadow:0 1px 1px rgba(0,0,0,.075) inset;-webkit-transition:border-color .15s ease-in-out 0s,-webkit-box-shadow .15s ease-in-out 0s;transition:border-color .15s ease-in-out 0s,-webkit-box-shadow .15s ease-in-out 0s;transition:border-color .15s ease-in-out 0s,box-shadow .15s ease-in-out 0s;transition:border-color .15s ease-in-out 0s,box-shadow .15s ease-in-out 0s,-webkit-box-shadow .15s ease-in-out 0s;-webkit-box-shadow:none;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;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.075) inset,0 0 8px rgba(102,175,233,.6);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 #bd362f}.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:1em;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:1em;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,.mo .propInput .data-select:after.primary.pressed,.mo .propInput .data-select:after.primary.selected{background-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:1em;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);-webkit-box-shadow:none;box-shadow:none;border-style:dashed}.mo .propInput .data-color input[type=text]:hover,.mo .propInput .data-color input[type=text]:focus{font-size:1em;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;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.075) inset;box-shadow:0 1px 1px rgba(0,0,0,.075) inset;-webkit-transition:border-color .15s ease-in-out 0s,-webkit-box-shadow .15s ease-in-out 0s;transition:border-color .15s ease-in-out 0s,-webkit-box-shadow .15s ease-in-out 0s;transition:border-color .15s ease-in-out 0s,box-shadow .15s ease-in-out 0s;transition:border-color .15s ease-in-out 0s,box-shadow .15s ease-in-out 0s,-webkit-box-shadow .15s ease-in-out 0s;-webkit-box-shadow:none;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;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.075) inset,0 0 8px rgba(102,175,233,.6);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:1em;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;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.075) inset;box-shadow:0 1px 1px rgba(0,0,0,.075) inset;-webkit-transition:border-color .15s ease-in-out 0s,-webkit-box-shadow .15s ease-in-out 0s;transition:border-color .15s ease-in-out 0s,-webkit-box-shadow .15s ease-in-out 0s;transition:border-color .15s ease-in-out 0s,box-shadow .15s ease-in-out 0s;transition:border-color .15s ease-in-out 0s,box-shadow .15s ease-in-out 0s,-webkit-box-shadow .15s ease-in-out 0s;-webkit-box-shadow:none;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;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.075) inset,0 0 8px rgba(102,175,233,.6);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:1em;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,.mo .propInput .evo-pointer:before.primary.pressed,.mo .propInput .evo-pointer:before.primary.selected{background-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;-webkit-box-shadow:none;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);-webkit-box-shadow:0 2px 20px #727272;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{-webkit-box-shadow:0 0 1px gray;box-shadow:0 0 1px gray;margin:3px 0}#main-toolbox .draggable-item:hover{-webkit-transform:scale(1.05,1.05);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{-webkit-box-shadow:0 0 15px gray;box-shadow:0 0 15px gray}#main-toolbox .draggable-item:hover .block img{-webkit-box-shadow:0 0 15px gray;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:"";display:block;position:absolute;top:-3px;bottom:-3px;left:-7px;right:-7px;border:1px solid transparent;border-width:0;border-left-width:5px;border-right-width:5px;outline:1px solid transparent;pointer-events:none}#main-toolbox .objEdit.level1.selectable.selecteditem:after{outline-color:transparent;border-color:#ff5722;border-style:dashed solid;-webkit-animation:border-color-selection-pulsate 4s infinite;animation:border-color-selection-pulsate 4s infinite}#main-toolbox .objEdit.level1.selectable:hover:after{outline-color:currentcolor;border-top-color:transparent!important;border-bottom-color:transparent!important;-webkit-animation:none;animation:none}#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;-webkit-box-sizing:content-box;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:1em;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;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.075) inset;box-shadow:0 1px 1px rgba(0,0,0,.075) inset;-webkit-transition:border-color .15s ease-in-out 0s,-webkit-box-shadow .15s ease-in-out 0s;transition:border-color .15s ease-in-out 0s,-webkit-box-shadow .15s ease-in-out 0s;transition:border-color .15s ease-in-out 0s,box-shadow .15s ease-in-out 0s;transition:border-color .15s ease-in-out 0s,box-shadow .15s ease-in-out 0s,-webkit-box-shadow .15s ease-in-out 0s;-webkit-box-shadow:none;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;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.075) inset,0 0 8px rgba(102,175,233,.6);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:1em;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,#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after.primary.pressed,#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before.primary.pressed,#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after.primary.selected,#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before.primary.selected{background-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}@-webkit-keyframes slideright{0%{left:-450px}100%{left:0}}@keyframes slideright{0%{left:-450px}100%{left:0}}@-webkit-keyframes slideleft{0%{left:0}100%{left:-450px}}@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;-webkit-animation:slideright .2s ease-out 0s 1;animation:slideright .2s ease-out 0s 1;border-radius:0;background-color:#eee;-webkit-box-shadow:1px 0 3px gray;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;-webkit-animation:slideleft .2s ease-out 0s 1;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;-webkit-box-shadow:inset 0 0 10px gray;box-shadow:inset 0 0 10px gray}#frame-container>iframe{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;padding:0 6px;width:100%;height:100%;overflow:auto;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:scale(1);transform:scale(1)}#frame-container.desktop>iframe{padding:12px;width:200%;height:200%;-webkit-transform:scale(.5);transform:scale(.5)}#frame-container.large>iframe{padding:15px;width:250%;height:250%;-webkit-transform:scale(.4);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}}}@media screen and (min-color-index:0) and(-webkit-min-device-pixel-ratio:0){@media{#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable:hover .mce-content-body:not(.selecteditem):not(:hover):after,#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable:hover .selectable-img:not(.selecteditem):not(:hover) .mo-imgselectionhelper{visibility:hidden!important;z-index:-1!important;opacity:1!important;border-width:0!important;border-style:solid!important}}}#main-edit-area .editable{position:relative}#main-edit-area .sortable-blocks-edit.empty{min-height:200px;height:200px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin:20px 30px;border:2px dashed currentcolor;border-radius:20px;-webkit-animation:border-color-selection-pulsate 4s infinite;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;-webkit-animation:droppable-pulsate 1s ease-in-out infinite alternate;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}@-webkit-keyframes pulse{0%{left:-10px;right:-10px;opacity:.8}100%{left:-30px;right:-30px;opacity:0}}@keyframes pulse{0%{left:-10px;right:-10px;opacity:.8}100%{left:-30px;right:-30px;opacity:0}}@-webkit-keyframes slidein{0%{-webkit-transform:scale(1.5,1.5);transform:scale(1.5,1.5);opacity:0}100%{-webkit-transform:scale(1,1);transform:scale(1,1);opacity:1}}@keyframes slidein{0%{-webkit-transform:scale(1.5,1.5);transform:scale(1.5,1.5);opacity:0}100%{-webkit-transform:scale(1,1);transform:scale(1,1);opacity:1}}@-webkit-keyframes slidein2{0%{margin-left:-30%;margin-right:30%;opacity:0}100%{margin-left:0;margin-right:0;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{-webkit-animation:slidein .2s linear 0s 1;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;-webkit-animation:droppable-pulsate 1s ease-in-out infinite alternate;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);-webkit-animation:none;animation:none}#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;-webkit-animation:droppable-pulsate 1s ease-in-out infinite alternate;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:1em;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:25px;-webkit-box-shadow:0 0 5px #77deff;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,#main-edit-area .tool.primary.pressed,#main-edit-area .tool.primary.selected{background-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;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{margin-left:4px}#main-edit-area .midtools .tool{margin-left:4px}#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}@-webkit-keyframes opacityAnimation{0%{opacity:.6}50%{opacity:.3}100%{opacity:.6}}@keyframes opacityAnimation{0%{opacity:.6}50%{opacity:.3}100%{opacity:.6}}#main-wysiwyg-area a[href]{cursor:default!important}#main-wysiwyg-area a[contenteditable]{cursor:text!important}#main-wysiwyg-area .wysiwyg-loading{pointer-events:none;-webkit-animation:opacityAnimation 2s infinite;animation:opacityAnimation 2s infinite}#main-wysiwyg-area span[contenteditable],#main-wysiwyg-area a[contenteditable],#main-wysiwyg-area b[contenteditable],#main-wysiwyg-area i[contenteditable],#main-wysiwyg-area cite[contenteditable],#main-wysiwyg-area code[contenteditable],#main-wysiwyg-area em[contenteditable],#main-wysiwyg-area label[contenteditable],#main-wysiwyg-area small[contenteditable],#main-wysiwyg-area strong[contenteditable],#main-wysiwyg-area sub[contenteditable],#main-wysiwyg-area sup[contenteditable],#main-wysiwyg-area q[contenteditable]{display:inline-block}#main-wysiwyg-area [contenteditable]{min-width:1em}#main-wysiwyg-area [contenteditable]:empty:before{content:"\2063";display:inline-block;position:relative}#main-edit-area .mce-edit-focus{outline: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:"";display:block;position:absolute;top:-3px;bottom:-3px;left:-12px;right:-12px;border:1px solid transparent;border-width:0;border-left-width:10px;border-right-width:10px;outline:1px solid transparent;pointer-events:none}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable.selected .mo-blockselectionhelper{outline-color:transparent;border-color:#ff5722;border-style:dashed solid;-webkit-animation:border-color-selection-pulsate 4s infinite;animation:border-color-selection-pulsate 4s infinite}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable:hover .mo-blockselectionhelper{outline-color:currentcolor;border-top-color:transparent!important;border-bottom-color:transparent!important;-webkit-animation:none;animation:none}#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 #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable .mce-content-body:before{content:"";display:block;position:absolute;top:-3px;bottom:-3px;left:-7px;right:-7px;border:1px dashed transparent;opacity:.3;pointer-events:none}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable:hover .mce-content-body:before{border-color:currentcolor}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable:hover .mce-content-body:hover:before{border-color:transparent}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable .selectable-img .mo-imgselectionhelper:before{content:"";display:block;position:absolute;top:-3px;bottom:-3px;left:-7px;right:-7px;border:1px dashed transparent;opacity:.3;pointer-events:none}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable:hover .selectable-img .mo-imgselectionhelper:before{border-color:currentcolor}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable:hover .selectable-img:hover .mo-imgselectionhelper:before{border-color:transparent}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .mce-content-body{position:relative;cursor:text}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .mce-content-body:after{content:"";display:block;position:absolute;top:-3px;bottom:-3px;left:-7px;right:-7px;border:1px solid transparent;border-width:0;border-left-width:5px;border-right-width:5px;outline:1px solid transparent;pointer-events:none}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .mce-content-body.selecteditem:after{outline-color:transparent;border-color:#ff5722;border-style:dashed solid;-webkit-animation:border-color-selection-pulsate 4s infinite;animation:border-color-selection-pulsate 4s infinite}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .mce-content-body:hover:after{outline-color:currentcolor;border-top-color:transparent!important;border-bottom-color:transparent!important;-webkit-animation:none;animation:none}#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:after{content:"";display:block;position:absolute;top:-3px;bottom:-3px;left:-7px;right:-7px;border:1px solid transparent;border-width:0;border-left-width:5px;border-right-width:5px;outline:1px solid transparent;pointer-events:none}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .selectable-img.selecteditem .mo-imgselectionhelper:after{outline-color:transparent;border-color:#ff5722;border-style:dashed solid;-webkit-animation:border-color-selection-pulsate 4s infinite;animation:border-color-selection-pulsate 4s infinite}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .selectable-img:hover .mo-imgselectionhelper:after{outline-color:currentcolor;border-top-color:transparent!important;border-bottom-color:transparent!important;-webkit-animation:none;animation:none}#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{-webkit-box-shadow:0 0 5px #77deff;box-shadow:0 0 5px #77deff}.moxman-container.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);-webkit-box-shadow:0 2px 20px #727272;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{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);-webkit-box-shadow:0 2px 20px #727272;box-shadow:0 2px 20px #727272;color:#303030;background-color:#fff;padding:0;overflow:hidden}body.moxman-v2 .moxman-btn{border:none;background-color:transparent}body.moxman-v2 .moxman-btn button{background-color:#ff5722;color:#eee;border:1px solid #ff5722;border-radius:2px}body.moxman-v2 .moxman-btn button i{color:#eee}body.moxman-v2 .moxman-btn button .moxman-caret{border-top-color:#eee}body.moxman-v2 .moxman-btn.moxman-active button{background-color:#ee3900}body.moxman-v2 .moxman-btn.moxman-primary button{color:#eee;background-color:#ff5722;border:1px solid #ff5722}body.moxman-v2 .moxman-btn.moxman-primary button i{color:#eee}body.moxman-v2 .moxman-btn.moxman-primary button .moxman-caret{border-top-color:#eee}body.moxman-v2 .moxman-combobox .moxman-textbox{border-top-left-radius:2px;border-bottom-left-radius:2px}body.moxman-v2 .moxman-combobox .moxman-btn button{border-top-left-radius:0;border-bottom-left-radius:0}@-webkit-keyframes border-color-selection-pulsate{0%{border-color:currentcolor}40%{border-color:#ff5722}60%{border-color:#ff5722}100%{border-color:currentcolor}}@keyframes border-color-selection-pulsate{0%{border-color:currentcolor}40%{border-color:#ff5722}60%{border-color:#ff5722}100%{border-color:currentcolor}}@-webkit-keyframes droppable-pulsate{0%{opacity:1}100%{opacity:.1}}@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;-webkit-box-sizing:border-box;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;-webkit-box-shadow:0 0 10px gray,0 0 5px gray;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;-webkit-box-shadow:0 1px 10px gray,0 0 5px gray;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);-webkit-box-shadow:0 2px 20px #727272;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;-webkit-box-shadow:0 0 5px #AAA;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}@-webkit-keyframes loading{0%{-webkit-transform:scale(1,1) rotate(0deg);transform:scale(1,1) rotate(0deg)}50%{-webkit-transform:scale(1.5,1.5) rotate(360deg);transform:scale(1.5,1.5) rotate(360deg)}100%{-webkit-transform:scale(1,1) rotate(720deg);transform:scale(1,1) rotate(720deg)}}@keyframes loading{0%{-webkit-transform:scale(1,1) rotate(0deg);transform:scale(1,1) rotate(0deg)}50%{-webkit-transform:scale(1.5,1.5) rotate(360deg);transform:scale(1.5,1.5) rotate(360deg)}100%{-webkit-transform:scale(1,1) rotate(720deg);transform:scale(1,1) rotate(720deg)}}.mo-standalone #loading.loading img{-webkit-animation:loading 4s linear infinite;animation:loading 4s linear infinite}@-webkit-keyframes broken{0%{opacity:0}95%{opacity:0}100%{opacity:1}}@keyframes broken{0%{opacity:0}95%{opacity:0}100%{opacity:1}}#loading.loading div{-webkit-animation:broken 10s linear forwards;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:-webkit-box;display:flex;display:-ms-flexbox;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-align-items:center;-webkit-box-pack: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 *{-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;border-radius:3px;background-position:15px center;background-repeat:no-repeat;-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{-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-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,black,black 1px,white 1px,white 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;-webkit-box-shadow:1px 1px 3px #727272;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{-webkit-box-shadow:0 0 10px #727272;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{-webkit-box-shadow:1px 1px 3px #727272;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%;-webkit-box-shadow:1px 1px 2px #727272;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;-webkit-transition:margin-left .2s,background-color .2s;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%;-webkit-box-shadow:1px 1px 3px #727272;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;-webkit-box-shadow:1px 1px 3px #727272;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;-webkit-box-shadow:1px 1px 3px #888;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;-webkit-box-shadow:inset 1px 1px 4px rgba(0,0,0,.3);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;-webkit-box-shadow:1px 1px 3px #727272;box-shadow:1px 1px 3px #727272}.mo .propInput .evo-pointer:before{content:none;display:none}.mo .evo-pop{min-width:250px}.mo .evo-pop:before{display:block;content:"";background-color:rgba(158,158,158,.19);position:absolute;left:0;right:0;height:43px;bottom:0}.mo .evo-pop th.ui-widget-content{text-align:center;font-weight:400}.mo .evo-pop .evo-more{text-align:right;padding:7px 5px}.mo .evo-pop .evo-more a{color:#ff5722;text-transform:uppercase;font-weight:700}.mo .evo-pop .evo-color{padding:6px 3px 2px 4px}.mo .propInput .ui-textbutton .ui-textbutton-button{border-radius:50%;-webkit-box-shadow:1px 1px 3px #727272;box-shadow:1px 1px 3px #727272} +/*# sourceMappingURL=mosaico-material.min.css.map */ \ No newline at end of file diff --git a/client/static/mosaico/rs/mosaico-material.min.css.map b/client/static/mosaico/rs/mosaico-material.min.css.map new file mode 100644 index 00000000..b26a6d5c --- /dev/null +++ b/client/static/mosaico/rs/mosaico-material.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../build/mosaico-material.css","../../node_modules/font-awesome/less/path.less","../../src/css/style_elements_jquery.less","../../node_modules/font-awesome/less/core.less","../../node_modules/font-awesome/less/larger.less","../../node_modules/font-awesome/less/fixed-width.less","../../node_modules/font-awesome/less/list.less","../../node_modules/font-awesome/less/bordered-pulled.less","../../node_modules/font-awesome/less/animated.less","../../root/mosaico/node_modules/font-awesome/less/mixins.less","../../node_modules/font-awesome/less/rotated-flipped.less","../../node_modules/font-awesome/less/stacked.less","../../node_modules/font-awesome/less/icons.less","../../node_modules/font-awesome/less/screen-reader.less","../../node_modules/font-awesome/less/mixins.less","../../root/mosaico/node_modules/font-awesome/less/path.less","../../root/mosaico/node_modules/font-awesome/less/core.less","../../root/mosaico/node_modules/font-awesome/less/larger.less","../../root/mosaico/node_modules/font-awesome/less/fixed-width.less","../../root/mosaico/node_modules/font-awesome/less/list.less","../../root/mosaico/node_modules/font-awesome/less/bordered-pulled.less","../../root/mosaico/node_modules/font-awesome/less/animated.less","../../root/mosaico/node_modules/font-awesome/less/rotated-flipped.less","../../root/mosaico/node_modules/font-awesome/less/stacked.less","../../root/mosaico/node_modules/font-awesome/less/icons.less","../../root/mosaico/node_modules/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/safarihack.css","../../src/css/style_mosaico_content.less","../../src/css/style_elements_moxie.less","../../node_modules/toastr/toastr.less","../../node_modules/evol-colorpicker/css/evol-colorpicker.css"],"names":[],"mappings":"AAAA;;;GAGG,ACAH,WACE,wBAAA,AACA,qDAAA,AACA,iXAAA,CDMD,AEZA,ICIC,qBAAA,AACA,6CAAA,AACA,kBAAA,AACA,oBAAA,AACA,mCAAA,AACA,iCAAA,CHWD,AEpBA,OEKC,uBAAA,AACA,kBAAA,AACA,mBAAA,CJmBD,AE1BA,OESsB,aAAA,CJoBtB,AE7BA,OEUsB,aAAA,CJsBtB,AEhCA,OEWsB,aAAA,CJwBtB,AEnCA,OEYsB,aAAA,CJ0BtB,AEtCA,OGGC,mBAAA,AACA,iBAAA,CLsCD,AE1CA,OIIC,eAAA,AACA,yBAAA,AACA,oBAAA,CNyCD,AE/CA,UIOQ,iBAAA,CN2CR,AElDA,OIUC,kBAAA,AACA,mBAAA,AACA,mBAAA,AACA,gBAAA,AACA,iBAAA,CN2CD,AEzDA,aIgBG,kBAAA,CN4CH,AE5DA,WKIC,yBAAA,AACA,wBAAA,AACA,kBAAA,CP2DD,AEjEA,cKS6B,UAAA,CP2D7B,AEpEA,eKU8B,WAAA,CP6D9B,AEvEA,iBKagC,iBAAA,CP6DhC,AE1EA,kBKciC,gBAAA,CP+DjC,AO3DD,YAAc,WAAA,CP+Db,AO9DD,WAAa,UAAA,CPiEZ,AO9DC,cAAc,iBAAA,CPiEf,AOhEC,eAAe,gBAAA,CPmEhB,AE1FA,SMIC,6CAAA,AACQ,oCAAA,CRyFT,AE9FA,UMSC,+CAAA,AACQ,sCAAA,CRwFT,AQrFD,2BACE,GACE,+BAAA,AACQ,sBAAA,CRuFT,AQrFD,KACE,iCAAA,AACQ,wBAAA,CRuFT,CACF,AQpFD,mBACE,GACE,+BAAA,AACQ,sBAAA,CRsFT,AQpFD,KACE,iCAAA,AACQ,wBAAA,CRsFT,CACF,AEtHA,cOcC,sEAAA,AACA,gCAAA,AAEQ,uBAAA,CT2GT,AE5HA,eOcC,sEAAA,AACA,iCAAA,AAEQ,wBAAA,CTiHT,AElIA,eOcC,sEAAA,AACA,iCAAA,AAEQ,wBAAA,CTuHT,AExIA,oBOqBC,+EAAA,AACA,8BAAA,AAEQ,qBAAA,CTsHT,AE9IA,kBOqBC,+EAAA,AACA,8BAAA,AAEQ,qBAAA,CT4HT,AEpJA,gHQkBC,oBAAA,WAAA,CVyID,AE3JA,USIC,kBAAA,AACA,qBAAA,AACA,UAAA,AACA,WAAA,AACA,gBAAA,AACA,qBAAA,CX0JD,AEnKA,0BSYC,kBAAA,AACA,OAAA,AACA,WAAA,AACA,iBAAA,CX2JD,AE1KA,aSiB4B,mBAAA,CX4J5B,AE7KA,aSkB4B,aAAA,CX8J5B,AEhLA,YSmB2B,UAAA,CXgK3B,AEnLA,iBUGgC,eAAA,CZqLhC,AExLA,iBUIgC,eAAA,CZuLhC,AE3LA,kBUKiC,eAAA,CZyLjC,AE9LA,sBUMqC,eAAA,CZ2LrC,AEjMA,iBUOgC,eAAA,CZ6LhC,AEpMA,gBUQ+B,eAAA,CZ+L/B,AEvMA,kBUSiC,eAAA,CZiMjC,AE1MA,gBUU+B,eAAA,CZmM/B,AE7MA,gBUW+B,eAAA,CZqM/B,AEhNA,oBUYmC,eAAA,CZuMnC,AEnNA,cUa6B,eAAA,CZyM7B,AEtNA,mBUckC,eAAA,CZ2MlC,AEzNA,iBUegC,eAAA,CZ6MhC,AE5NA,oDUkBgC,eAAA,CZ+MhC,AEjOA,uBUmBsC,eAAA,CZiNtC,AEpOA,wBUoBuC,eAAA,CZmNvC,AEvOA,qBUqBoC,eAAA,CZqNpC,AE1OA,kBUsBiC,eAAA,CZuNjC,AE7OA,+BUwB8B,eAAA,CZyN9B,AEjPA,mBUyBkC,eAAA,CZ2NlC,AEpPA,gBU0B+B,eAAA,CZ6N/B,AEvPA,kBU2BiC,eAAA,CZ+NjC,AE1PA,mBU4BkC,eAAA,CZiOlC,AE7PA,gBU6B+B,eAAA,CZmO/B,AEhQA,oBU8BmC,eAAA,CZqOnC,AEnQA,+BU+B8C,eAAA,CZuO9C,AEtQA,6BUgC4C,eAAA,CZyO5C,AEzQA,iBUiCgC,eAAA,CZ2OhC,AE5QA,yBUkCwC,eAAA,CZ6OxC,AE/QA,0CUoCiC,eAAA,CZ+OjC,AEnRA,mBUqCkC,eAAA,CZiPlC,AEtRA,oBUsCmC,eAAA,CZmPnC,AEzRA,gBUuC+B,eAAA,CZqP/B,AE5RA,gBUwC+B,eAAA,CZuP/B,AE/RA,sBUyCqC,eAAA,CZyPrC,AElSA,sBU0CqC,eAAA,CZ2PrC,AErSA,uBU2CsC,eAAA,CZ6PtC,AExSA,qBU4CoC,eAAA,CZ+PpC,AE3SA,kBU6CiC,eAAA,CZiQjC,AE9SA,mBU8CkC,eAAA,CZmQlC,AEjTA,eU+C8B,eAAA,CZqQ9B,AEpTA,gBUgD+B,eAAA,CZuQ/B,AEvTA,gBUiD+B,eAAA,CZyQ/B,AE1TA,oBUkDmC,eAAA,CZ2QnC,AE7TA,iBUmDgC,eAAA,CZ6QhC,AEhUA,kBUoDiC,eAAA,CZ+QjC,AEnUA,gBUqD+B,eAAA,CZiR/B,AEtUA,gBUsD+B,eAAA,CZmR/B,AEzUA,kBUuDiC,eAAA,CZqRjC,AE5UA,uBUwDsC,eAAA,CZuRtC,AE/UA,sBUyDqC,eAAA,CZyRrC,AElVA,sBU0DqC,eAAA,CZ2RrC,AErVA,wBU2DuC,eAAA,CZ6RvC,AExVA,uBU4DsC,eAAA,CZ+RtC,AE3VA,yBU6DwC,eAAA,CZiSxC,AE9VA,gBU8D+B,eAAA,CZmS/B,AEjWA,qCUgEkC,eAAA,CZqSlC,AErWA,kBUiEiC,eAAA,CZuSjC,AExWA,wBUkEuC,eAAA,CZySvC,AE3WA,uDUqEoC,eAAA,CZ2SpC,AEhXA,kBUsEiC,eAAA,CZ6SjC,AEnXA,sBUuEqC,eAAA,CZ+SrC,AEtXA,kBUwEiC,eAAA,CZiTjC,AEzXA,gBUyE+B,eAAA,CZmT/B,AE5XA,2CU2E0C,eAAA,CZqT1C,AEhYA,0BU4EyC,eAAA,CZuTzC,AEnYA,0BU6EyC,eAAA,CZyTzC,AEtYA,kBU8EiC,eAAA,CZ2TjC,AEzYA,yBU+EwC,eAAA,CZ6TxC,AE5YA,yBUgFwC,eAAA,CZ+TxC,AE/YA,oBUiFmC,eAAA,CZiUnC,AElZA,gBUkF+B,eAAA,CZmU/B,AErZA,iBUmFgC,eAAA,CZqUhC,AExZA,gBUoF+B,eAAA,CZuU/B,AE3ZA,mBUqFkC,eAAA,CZyUlC,AE9ZA,wBUsFuC,eAAA,CZ2UvC,AEjaA,wBUuFuC,eAAA,CZ6UvC,AEpaA,iBUwFgC,eAAA,CZ+UhC,AEvaA,wBUyFuC,eAAA,CZiVvC,AE1aA,yBU0FwC,eAAA,CZmVxC,AE7aA,uBU2FsC,eAAA,CZqVtC,AEhbA,wBU4FuC,eAAA,CZuVvC,AEnbA,wBU6FuC,eAAA,CZyVvC,AEtbA,wBU8FuC,eAAA,CZ2VvC,AEzbA,2BU+F0C,eAAA,CZ6V1C,AE5bA,uBUgGsC,eAAA,CZ+VtC,AE/bA,sBUiGqC,eAAA,CZiWrC,AElcA,0BUkGyC,eAAA,CZmWzC,AErcA,0BUmGyC,eAAA,CZqWzC,AExcA,eUoG8B,eAAA,CZuW9B,AE3cA,sBUqGqC,eAAA,CZyWrC,AE9cA,uBUsGsC,eAAA,CZ2WtC,AEjdA,oBUuGmC,eAAA,CZ6WnC,AEpdA,sBUwGqC,eAAA,CZ+WrC,AEvdA,yCU0GgC,eAAA,CZiXhC,AE3dA,kBU2GiC,eAAA,CZmXjC,AE9dA,oBU4GmC,eAAA,CZqXnC,AEjeA,gBU6G+B,eAAA,CZuX/B,AEpeA,iBU8GgC,eAAA,CZyXhC,AEveA,oBU+GmC,eAAA,CZ2XnC,AE1eA,8BUgH6C,eAAA,CZ6X7C,AE7eA,gBUiH+B,eAAA,CZ+X/B,AEhfA,gBUkH+B,eAAA,CZiY/B,AEnfA,gBUmH+B,eAAA,CZmY/B,AEtfA,eUoH8B,eAAA,CZqY9B,AEzfA,qBUqHoC,eAAA,CZuYpC,AE5fA,mDUuH+C,eAAA,CZyY/C,AEhgBA,iBUwHgC,eAAA,CZ2YhC,AEngBA,oBUyHmC,eAAA,CZ6YnC,AEtgBA,kBU0HiC,eAAA,CZ+YjC,AEzgBA,mBU2HkC,eAAA,CZiZlC,AE5gBA,kBU4HiC,eAAA,CZmZjC,AE/gBA,sBU6HqC,eAAA,CZqZrC,AElhBA,wBU8HuC,eAAA,CZuZvC,AErhBA,mBU+HkC,eAAA,CZyZlC,AExhBA,yBUgIwC,eAAA,CZ2ZxC,AE3hBA,kBUiIiC,eAAA,CZ6ZjC,AE9hBA,uBUkIsC,eAAA,CZ+ZtC,AEjiBA,oBUmImC,eAAA,CZianC,AEpiBA,oBUoImC,eAAA,CZmanC,AEviBA,4CUsIoC,eAAA,CZqapC,AE3iBA,0BUuIyC,eAAA,CZuazC,AE9iBA,2BUwI0C,eAAA,CZya1C,AEjjBA,wBUyIuC,eAAA,CZ2avC,AEpjBA,eU0I8B,eAAA,CZ6a9B,AEvjBA,iCU4I+B,eAAA,CZ+a/B,AE3jBA,oBU6ImC,eAAA,CZibnC,AE9jBA,uBU8IsC,eAAA,CZmbtC,AEjkBA,yBU+IwC,eAAA,CZqbxC,AEpkBA,qBUgJoC,eAAA,CZubpC,AEvkBA,mBUiJkC,eAAA,CZyblC,AE1kBA,oBUkJmC,eAAA,CZ2bnC,AE7kBA,2BUmJ0C,eAAA,CZ6b1C,AEhlBA,sBUoJqC,eAAA,CZ+brC,AEnlBA,yBUqJwC,eAAA,CZicxC,AEtlBA,mBUsJkC,eAAA,CZmclC,AEzlBA,kBUuJiC,eAAA,CZqcjC,AE5lBA,yBUwJwC,eAAA,CZucxC,AE/lBA,kBUyJiC,eAAA,CZycjC,AElmBA,mBU0JkC,eAAA,CZ2clC,AErmBA,iBU2JgC,eAAA,CZ6chC,AExmBA,oBU4JmC,eAAA,CZ+cnC,AE3mBA,sBU6JqC,eAAA,CZidrC,AE9mBA,wBU8JuC,eAAA,CZmdvC,AEjnBA,mBU+JkC,eAAA,CZqdlC,AEpnBA,0CUiKmC,eAAA,CZudnC,AExnBA,kBUkKiC,eAAA,CZydjC,AE3nBA,kBUmKiC,eAAA,CZ2djC,AE9nBA,uBUoKsC,eAAA,CZ6dtC,AEjoBA,+BUsK8B,eAAA,CZ+d9B,AEroBA,iBUuKgC,eAAA,CZiehC,AExoBA,oBUwKmC,eAAA,CZmenC,AE3oBA,gBUyK+B,eAAA,CZqe/B,AE9oBA,uBU0KsC,eAAA,CZuetC,AEjpBA,wBU2KuC,eAAA,CZyevC,AEppBA,uBU4KsC,eAAA,CZ2etC,AEvpBA,qBU6KoC,eAAA,CZ6epC,AE1pBA,uBU8KsC,eAAA,CZ+etC,AE7pBA,6BU+K4C,eAAA,CZif5C,AEhqBA,8BUgL6C,eAAA,CZmf7C,AEnqBA,2BUiL0C,eAAA,CZqf1C,AEtqBA,6BUkL4C,eAAA,CZuf5C,AEzqBA,iBUmLgC,eAAA,CZyfhC,AE5qBA,kBUoLiC,eAAA,CZ2fjC,AE/qBA,iBUqLgC,eAAA,CZ6fhC,AElrBA,kBUsLiC,eAAA,CZ+fjC,AErrBA,qBUuLoC,eAAA,CZigBpC,AExrBA,sBUwLqC,eAAA,CZmgBrC,AE3rBA,kCU0LgC,eAAA,CZqgBhC,AE/rBA,iCU4L+B,eAAA,CZugB/B,AEnsBA,iBU6LgC,eAAA,CZygBhC,AEtsBA,iBU8LgC,eAAA,CZ2gBhC,AEzsBA,mCUgMmC,eAAA,CZ6gBnC,AE7sBA,mCUkMkC,eAAA,CZ+gBlC,AEjtBA,qBUmMoC,eAAA,CZihBpC,AEptBA,oCUqMmC,eAAA,CZmhBnC,AExtBA,kBUsMiC,eAAA,CZqhBjC,AE3tBA,sDUyM+B,eAAA,CZuhB/B,AEhuBA,mBU0MkC,eAAA,CZyhBlC,AEnuBA,mBU2MkC,eAAA,CZ2hBlC,AEtuBA,yBU4MwC,eAAA,CZ6hBxC,AEzuBA,qBU6MoC,eAAA,CZ+hBpC,AE5uBA,iBU8MgC,eAAA,CZiiBhC,AE/uBA,iBU+MgC,eAAA,CZmiBhC,AElvBA,iBUgNgC,eAAA,CZqiBhC,AErvBA,qBUiNoC,eAAA,CZuiBpC,AExvBA,4BUkN2C,eAAA,CZyiB3C,AE3vBA,8BUmN6C,eAAA,CZ2iB7C,AE9vBA,uBUoNsC,eAAA,CZ6iBtC,AEjwBA,iBUqNgC,eAAA,CZ+iBhC,AEpwBA,sBUsNqC,eAAA,CZijBrC,AEvwBA,oBUuNmC,eAAA,CZmjBnC,AE1wBA,sBUwNqC,eAAA,CZqjBrC,AE7wBA,uBUyNsC,eAAA,CZujBtC,AEhxBA,mBU0NkC,eAAA,CZyjBlC,AEnxBA,oCU4N+B,eAAA,CZ2jB/B,AEvxBA,0CU8NoC,eAAA,CZ6jBpC,AE3xBA,uCUgOmC,eAAA,CZ+jBnC,AE/xBA,oBUiOmC,eAAA,CZikBnC,AElyBA,oBUkOmC,eAAA,CZmkBnC,AEryBA,uCUoO+B,eAAA,CZqkB/B,AEzyBA,kCUsOgC,eAAA,CZukBhC,AE7yBA,2CUwOqC,eAAA,CZykBrC,AEjzBA,qBUyOoC,eAAA,CZ2kBpC,AEpzBA,sBU0OqC,eAAA,CZ6kBrC,AEvzBA,iCU4O+B,eAAA,CZ+kB/B,AE3zBA,mBU6OkC,eAAA,CZilBlC,AE9zBA,oBU8OmC,eAAA,CZmlBnC,AEj0BA,sCUgPoC,eAAA,CZqlBpC,AEr0BA,uBUiPsC,eAAA,CZulBtC,AEx0BA,oBUkPmC,eAAA,CZylBnC,AE30BA,0BUmPyC,eAAA,CZ2lBzC,AE90BA,wBUoPuC,eAAA,CZ6lBvC,AEj1BA,mBUqPkC,eAAA,CZ+lBlC,AEp1BA,uBUsPsC,eAAA,CZimBtC,AEv1BA,oBUuPmC,eAAA,CZmmBnC,AE11BA,kBUwPiC,eAAA,CZqmBjC,AE71BA,kBUyPiC,eAAA,CZumBjC,AEh2BA,mBU0PkC,eAAA,CZymBlC,AEn2BA,uBU2PsC,eAAA,CZ2mBtC,AEt2BA,sBU4PqC,eAAA,CZ6mBrC,AEz2BA,sBU6PqC,eAAA,CZ+mBrC,AE52BA,qBU8PoC,eAAA,CZinBpC,AE/2BA,kBU+PiC,eAAA,CZmnBjC,AEl3BA,uBUgQsC,eAAA,CZqnBtC,AEr3BA,gBUiQ+B,eAAA,CZunB/B,AEx3BA,oBUkQmC,eAAA,CZynBnC,AE33BA,uBUmQsC,eAAA,CZ2nBtC,AE93BA,6BUoQ4C,eAAA,CZ6nB5C,AEj4BA,8BUqQ6C,eAAA,CZ+nB7C,AEp4BA,2BUsQ0C,eAAA,CZioB1C,AEv4BA,6BUuQ4C,eAAA,CZmoB5C,AE14BA,sBUwQqC,eAAA,CZqoBrC,AE74BA,uBUyQsC,eAAA,CZuoBtC,AEh5BA,oBU0QmC,eAAA,CZyoBnC,AEn5BA,sBU2QqC,eAAA,CZ2oBrC,AEt5BA,mBU4QkC,eAAA,CZ6oBlC,AEz5BA,kBU6QiC,eAAA,CZ+oBjC,AE55BA,kBU8QiC,eAAA,CZipBjC,AE/5BA,0CUgRiC,eAAA,CZmpBjC,AEn6BA,oBUiRmC,eAAA,CZqpBnC,AEt6BA,sBUkRqC,eAAA,CZupBrC,AEz6BA,uBUmRsC,eAAA,CZypBtC,AE56BA,mBUoRkC,eAAA,CZ2pBlC,AE/6BA,kBUqRiC,eAAA,CZ6pBjC,AEl7BA,uCUuRgC,eAAA,CZ+pBhC,AEt7BA,sBUwRqC,eAAA,CZiqBrC,AEz7BA,oBUyRmC,eAAA,CZmqBnC,AE57BA,yBU0RwC,eAAA,CZqqBxC,AE/7BA,mBU2RkC,eAAA,CZuqBlC,AEl8BA,mBU4RkC,eAAA,CZyqBlC,AEr8BA,iBU6RgC,eAAA,CZ2qBhC,AEx8BA,mBU8RkC,eAAA,CZ6qBlC,AE38BA,sBU+RqC,eAAA,CZ+qBrC,AE98BA,kBUgSiC,eAAA,CZirBjC,AEj9BA,0BUiSyC,eAAA,CZmrBzC,AEp9BA,oBUkSmC,eAAA,CZqrBnC,AEv9BA,gBUmS+B,eAAA,CZurB/B,AE19BA,+CUqSoC,eAAA,CZyrBpC,AE99BA,4EUwSsC,eAAA,CZ2rBtC,AEn+BA,0BUySyC,eAAA,CZ6rBzC,AEt+BA,gBU0S+B,eAAA,CZ+rB/B,AEz+BA,qBU2SoC,eAAA,CZisBpC,AE5+BA,0CU6SuC,eAAA,CZmsBvC,AEh/BA,oBU8SmC,eAAA,CZqsBnC,AEn/BA,gBU+S+B,eAAA,CZusB/B,AEt/BA,uBUgTsC,eAAA,CZysBtC,AEz/BA,uBUiTsC,eAAA,CZ2sBtC,AE5/BA,qBUkToC,eAAA,CZ6sBpC,AE//BA,kBUmTiC,eAAA,CZ+sBjC,AElgCA,wBUoTuC,eAAA,CZitBvC,AErgCA,sBUqTqC,eAAA,CZmtBrC,AExgCA,4BUsT2C,eAAA,CZqtB3C,AE3gCA,kBUuTiC,eAAA,CZutBjC,AE9gCA,sBUwTqC,eAAA,CZytBrC,AEjhCA,6BUyT4C,eAAA,CZ2tB5C,AEphCA,kBU0TiC,eAAA,CZ6tBjC,AEvhCA,kBU2TiC,eAAA,CZ+tBjC,AE1hCA,+BU4T8C,eAAA,CZiuB9C,AE7hCA,gCU6T+C,eAAA,CZmuB/C,AEhiCA,6BU8T4C,eAAA,CZquB5C,AEniCA,+BU+T8C,eAAA,CZuuB9C,AEtiCA,iBUgUgC,eAAA,CZyuBhC,AEziCA,gBUiU+B,eAAA,CZ2uB/B,AE5iCA,kBUkUiC,eAAA,CZ6uBjC,AE/iCA,sBUmUqC,eAAA,CZ+uBrC,AEljCA,oBUoUmC,eAAA,CZivBnC,AErjCA,sBUqUqC,eAAA,CZmvBrC,AExjCA,sBUsUqC,eAAA,CZqvBrC,AE3jCA,sBUuUqC,eAAA,CZuvBrC,AE9jCA,uBUwUsC,eAAA,CZyvBtC,AEjkCA,kBUyUiC,eAAA,CZ2vBjC,AEpkCA,wBU0UuC,eAAA,CZ6vBvC,AEvkCA,0BU2UyC,eAAA,CZ+vBzC,AE1kCA,oBU4UmC,eAAA,CZiwBnC,AE7kCA,sBU6UqC,eAAA,CZmwBrC,AEhlCA,wBU8UuC,eAAA,CZqwBvC,AEnlCA,yBU+UwC,eAAA,CZuwBxC,AEtlCA,gCUgV+C,eAAA,CZywB/C,AEzlCA,wBUiVuC,eAAA,CZ2wBvC,AE5lCA,mBUkVkC,eAAA,CZ6wBlC,AE/lCA,sDUoV8C,eAAA,CZ+wB9C,AEnmCA,kDUsV4C,eAAA,CZixB5C,AEvmCA,wDUwV+C,eAAA,CZmxB/C,AE3mCA,+BU0V8B,eAAA,CZqxB9B,AE/mCA,eU2V8B,eAAA,CZuxB9B,AElnCA,iCU6V8B,eAAA,CZyxB9B,AEtnCA,gCU+V8B,eAAA,CZ2xB9B,AE1nCA,4DUmW8B,eAAA,CZ6xB9B,AEhoCA,kDUsW8B,eAAA,CZ+xB9B,AEroCA,8BUwW8B,eAAA,CZiyB9B,AEzoCA,kCU0W8B,eAAA,CZmyB9B,AE7oCA,gBU2W+B,eAAA,CZqyB/B,AEhpCA,qBU4WoC,eAAA,CZuyBpC,AEnpCA,0BU6WyC,eAAA,CZyyBzC,AEtpCA,2BU8W0C,eAAA,CZ2yB1C,AEzpCA,2BU+W0C,eAAA,CZ6yB1C,AE5pCA,4BUgX2C,eAAA,CZ+yB3C,AE/pCA,4BUiX2C,eAAA,CZizB3C,AElqCA,6BUkX4C,eAAA,CZmzB5C,AErqCA,qBUmXoC,eAAA,CZqzBpC,AExqCA,uBUoXsC,eAAA,CZuzBtC,AE3qCA,0BUqXyC,eAAA,CZyzBzC,AE9qCA,mBUsXkC,eAAA,CZ2zBlC,AEjrCA,gBUuX+B,eAAA,CZ6zB/B,AEprCA,uBUwXsC,eAAA,CZ+zBtC,AEvrCA,wBUyXuC,eAAA,CZi0BvC,AE1rCA,mBU0XkC,eAAA,CZm0BlC,AE7rCA,0BU2XyC,eAAA,CZq0BzC,AEhsCA,qBU4XoC,eAAA,CZu0BpC,AEnsCA,kBU6XiC,eAAA,CZy0BjC,AEtsCA,eU8X8B,eAAA,CZ20B9B,AEzsCA,qBU+XoC,eAAA,CZ60BpC,AE5sCA,4BUgY2C,eAAA,CZ+0B3C,AE/sCA,kBUiYiC,eAAA,CZi1BjC,AEltCA,yBUkYwC,eAAA,CZm1BxC,AErtCA,2BUmY0C,eAAA,CZq1B1C,AExtCA,yBUoYwC,eAAA,CZu1BxC,AE3tCA,2BUqY0C,eAAA,CZy1B1C,AE9tCA,4BUsY2C,eAAA,CZ21B3C,AEjuCA,iBUuYgC,eAAA,CZ61BhC,AEpuCA,mBUwYkC,eAAA,CZ+1BlC,AEvuCA,mBUyYkC,eAAA,CZi2BlC,AE1uCA,iBU0YgC,eAAA,CZm2BhC,AE7uCA,oBU2YmC,eAAA,CZq2BnC,AEhvCA,iBU4YgC,eAAA,CZu2BhC,AEnvCA,sBU6YqC,eAAA,CZy2BrC,AEtvCA,kBU8YiC,eAAA,CZ22BjC,AEzvCA,kBU+YiC,eAAA,CZ62BjC,AE5vCA,gBUgZ+B,eAAA,CZ+2B/B,AE/vCA,sCUkZmC,eAAA,CZi3BnC,AEnwCA,iBUmZgC,eAAA,CZm3BhC,AEtwCA,kBUoZiC,eAAA,CZq3BjC,AEzwCA,mBUqZkC,eAAA,CZu3BlC,AE5wCA,eUsZ8B,eAAA,CZy3B9B,AE/wCA,cUuZ6B,eAAA,CZ23B7B,AElxCA,iBUwZgC,eAAA,CZ63BhC,AErxCA,kBUyZiC,eAAA,CZ+3BjC,AExxCA,qBU0ZoC,eAAA,CZi4BpC,AE3xCA,0BU2ZyC,eAAA,CZm4BzC,AE9xCA,gCU4Z+C,eAAA,CZq4B/C,AEjyCA,+BU6Z8C,eAAA,CZu4B9C,AEpyCA,sDU+Z8C,eAAA,CZy4B9C,AExyCA,wBUgauC,eAAA,CZ24BvC,AE3yCA,sBUiaqC,eAAA,CZ64BrC,AE9yCA,wBUkauC,eAAA,CZ+4BvC,AEjzCA,uCUoa8B,eAAA,CZi5B9B,AErzCA,yBUqawC,eAAA,CZm5BxC,AExzCA,yBUsawC,eAAA,CZq5BxC,AE3zCA,iBUuagC,eAAA,CZu5BhC,AE9zCA,2BUwa0C,eAAA,CZy5B1C,AEj0CA,qBUyaoC,eAAA,CZ25BpC,AEp0CA,kBU0aiC,eAAA,CZ65BjC,AEv0CA,6DU6aqC,eAAA,CZ+5BrC,AE50CA,kDU+ayC,eAAA,CZi6BzC,AEh1CA,iBUgbgC,eAAA,CZm6BhC,AEn1CA,kBUibiC,eAAA,CZq6BjC,AEt1CA,kBUkbiC,eAAA,CZu6BjC,AEz1CA,yBUmbwC,eAAA,CZy6BxC,AE51CA,8BUob6C,eAAA,CZ26B7C,AE/1CA,uBUqbsC,eAAA,CZ66BtC,AEl2CA,qBUsboC,eAAA,CZ+6BpC,AEr2CA,gBUub+B,eAAA,CZi7B/B,AEx2CA,yBUwbwC,eAAA,CZm7BxC,AE32CA,0BUybyC,eAAA,CZq7BzC,AE92CA,kBU0biC,eAAA,CZu7BjC,AEj3CA,kBU2biC,eAAA,CZy7BjC,AEp3CA,oBU4bmC,eAAA,CZ27BnC,AEv3CA,eU6b8B,eAAA,CZ67B9B,AE13CA,oBU8bmC,eAAA,CZ+7BnC,AE73CA,iBU+bgC,eAAA,CZi8BhC,AEh4CA,eUgc8B,eAAA,CZm8B9B,AEn4CA,iBUicgC,eAAA,CZq8BhC,AEt4CA,gBUkc+B,eAAA,CZu8B/B,AEz4CA,iBUmcgC,eAAA,CZy8BhC,AE54CA,mBUockC,eAAA,CZ28BlC,AE/4CA,0BUqcyC,eAAA,CZ68BzC,AEl5CA,iBUscgC,eAAA,CZ+8BhC,AEr5CA,wBUucuC,eAAA,CZi9BvC,AEx5CA,mBUwckC,eAAA,CZm9BlC,AE35CA,qCU0c8B,eAAA,CZq9B9B,AE/5CA,+BU4c+B,eAAA,CZu9B/B,AEn6CA,gBU6c+B,eAAA,CZy9B/B,AEt6CA,mBU8ckC,eAAA,CZ29BlC,AEz6CA,sBU+cqC,eAAA,CZ69BrC,AE56CA,sBUgdqC,eAAA,CZ+9BrC,AE/6CA,oBUidmC,eAAA,CZi+BnC,AEl7CA,sBUkdqC,eAAA,CZm+BrC,AEr7CA,uBUmdsC,eAAA,CZq+BtC,AEx7CA,wBUoduC,eAAA,CZu+BvC,AE37CA,6BUqd4C,eAAA,CZy+B5C,AE97CA,0EUwduC,eAAA,CZ2+BvC,AEn8CA,gDU0dyC,eAAA,CZ6+BzC,AEv8CA,gDU4duC,eAAA,CZ++BvC,AE38CA,gDU8duC,eAAA,CZi/BvC,AE/8CA,uBU+dsC,eAAA,CZm/BtC,AEl9CA,gBUge+B,eAAA,CZq/B/B,AEr9CA,mBUiekC,eAAA,CZu/BlC,AEx9CA,oBUkemC,eAAA,CZy/BnC,AE39CA,wGUueoC,eAAA,CZ2/BpC,AEl+CA,0BUweyC,eAAA,CZ6/BzC,AEr+CA,qDU2egC,eAAA,CZ+/BhC,AE1+CA,gCU6eiC,eAAA,CZigCjC,AE9+CA,sBU8eqC,eAAA,CZmgCrC,AEj/CA,eU+e8B,eAAA,CZqgC9B,AEp/CA,2EUkfsC,eAAA,CZugCtC,AEz/CA,yBUmfwC,eAAA,CZygCxC,AE5/CA,cUof6B,eAAA,CZ2gC7B,AE//CA,oCUsfiC,eAAA,CZ6gCjC,AEngDA,uCUwfsC,eAAA,CZ+gCtC,AEvgDA,2CU0fwC,eAAA,CZihCxC,AE3gDA,mBU2fkC,eAAA,CZmhClC,AE9gDA,uBU4fsC,eAAA,CZqhCtC,AEjhDA,kBU6fiC,eAAA,CZuhCjC,AEphDA,qBU8foC,eAAA,CZyhCpC,AEvhDA,mBU+fkC,eAAA,CZ2hClC,AE1hDA,qBUggBoC,eAAA,CZ6hCpC,AE7hDA,4BUigB2C,eAAA,CZ+hC3C,AEhiDA,gBUkgB+B,eAAA,CZiiC/B,AEniDA,6CUogBmC,eAAA,CZmiCnC,AEviDA,eUqgB8B,eAAA,CZqiC9B,AE1iDA,sBUsgBqC,eAAA,CZuiCrC,AE7iDA,gBUugB+B,eAAA,CZyiC/B,AEhjDA,sBUwgBqC,eAAA,CZ2iCrC,AEnjDA,kBUygBiC,eAAA,CZ6iCjC,AEtjDA,gBU0gB+B,eAAA,CZ+iC/B,AEzjDA,uBU2gBsC,eAAA,CZijCtC,AE5jDA,gBU4gB+B,eAAA,CZmjC/B,AE/jDA,sBU6gBqC,eAAA,CZqjCrC,AElkDA,kBU8gBiC,eAAA,CZujCjC,AErkDA,yBU+gBwC,eAAA,CZyjCxC,AExkDA,mBUghBkC,eAAA,CZ2jClC,AE3kDA,yBUihBwC,eAAA,CZ6jCxC,AE9kDA,uBUkhBsC,eAAA,CZ+jCtC,AEjlDA,mBUmhBkC,eAAA,CZikClC,AEplDA,qBUohBoC,eAAA,CZmkCpC,AEvlDA,qBUqhBoC,eAAA,CZqkCpC,AE1lDA,sBUshBqC,eAAA,CZukCrC,AE7lDA,wBUuhBuC,eAAA,CZykCvC,AEhmDA,iBUwhBgC,eAAA,CZ2kChC,AEnmDA,qBUyhBoC,eAAA,CZ6kCpC,AEtmDA,cU0hB6B,eAAA,CZ+kC7B,AEzmDA,sBU2hBqC,eAAA,CZilCrC,AE5mDA,uBU4hBsC,eAAA,CZmlCtC,AE/mDA,yBU6hBwC,eAAA,CZqlCxC,AElnDA,sBU8hBqC,eAAA,CZulCrC,AErnDA,qBU+hBoC,eAAA,CZylCpC,AExnDA,sBUgiBqC,eAAA,CZ2lCrC,AE3nDA,kBUiiBiC,eAAA,CZ6lCjC,AE9nDA,yBUkiBwC,eAAA,CZ+lCxC,AEjoDA,sBUmiBqC,eAAA,CZimCrC,AEpoDA,qBUoiBoC,eAAA,CZmmCpC,AEvoDA,mBUqiBkC,eAAA,CZqmClC,AE1oDA,eUsiB8B,eAAA,CZumC9B,AE7oDA,mBUuiBkC,eAAA,CZymClC,AEhpDA,qBUwiBoC,eAAA,CZ2mCpC,AEnpDA,cUyiB6B,eAAA,CZ6mC7B,AEtpDA,mDU4iB8B,eAAA,CZ+mC9B,AE3pDA,oBU6iBmC,eAAA,CZinCnC,AE9pDA,sBU8iBqC,eAAA,CZmnCrC,AEjqDA,0BU+iByC,eAAA,CZqnCzC,AEpqDA,oBUgjBmC,eAAA,CZunCnC,AEvqDA,oBUijBmC,eAAA,CZynCnC,AE1qDA,mBUkjBkC,eAAA,CZ2nClC,AE7qDA,kBUmjBiC,eAAA,CZ6nCjC,AEhrDA,wBUojBuC,eAAA,CZ+nCvC,AEnrDA,uBUqjBsC,eAAA,CZioCtC,AEtrDA,oBUsjBmC,eAAA,CZmoCnC,AEzrDA,qBUujBoC,eAAA,CZqoCpC,AE5rDA,2BUwjB0C,eAAA,CZuoC1C,AE/rDA,mBUyjBkC,eAAA,CZyoClC,AElsDA,gBU0jB+B,eAAA,CZ2oC/B,AErsDA,uBU2jBsC,eAAA,CZ6oCtC,AExsDA,sBU4jBqC,eAAA,CZ+oCrC,AE3sDA,uBU6jBsC,eAAA,CZipCtC,AE9sDA,qBU8jBoC,eAAA,CZmpCpC,AEjtDA,iBU+jBgC,eAAA,CZqpChC,AEptDA,gBUgkB+B,eAAA,CZupC/B,AEvtDA,mBUikBkC,eAAA,CZypClC,AE1tDA,2CUmkBsC,eAAA,CZ2pCtC,AE9tDA,2BUokB0C,eAAA,CZ6pC1C,AEjuDA,wBUqkBuC,eAAA,CZ+pCvC,AEpuDA,uBUskBsC,eAAA,CZiqCtC,AEvuDA,sBUukBqC,eAAA,CZmqCrC,AE1uDA,uBUwkBsC,eAAA,CZqqCtC,AE7uDA,yBUykBwC,eAAA,CZuqCxC,AEhvDA,yBU0kBwC,eAAA,CZyqCxC,AEnvDA,kBU2kBiC,eAAA,CZ2qCjC,AEtvDA,sBU4kBqC,eAAA,CZ6qCrC,AEzvDA,6BU6kB4C,eAAA,CZ+qC5C,AE5vDA,uBU8kBsC,eAAA,CZirCtC,AE/vDA,oBU+kBmC,eAAA,CZmrCnC,AElwDA,kBUglBiC,eAAA,CZqrCjC,AErwDA,qBUilBoC,eAAA,CZurCpC,AExwDA,sBUklBqC,eAAA,CZyrCrC,AE3wDA,gCUolB8B,eAAA,CZ2rC9B,AE/wDA,mBUqlBkC,eAAA,CZ6rClC,AElxDA,iBUslBgC,eAAA,CZ+rChC,AErxDA,kBUulBiC,eAAA,CZisCjC,AExxDA,kBUwlBiC,eAAA,CZmsCjC,AE3xDA,sCU0lBuC,eAAA,CZqsCvC,AE/xDA,yBU2lBwC,eAAA,CZusCxC,AElyDA,oBU4lBmC,eAAA,CZysCnC,AEryDA,wBU6lBuC,eAAA,CZ2sCvC,AExyDA,gEUgmBuC,eAAA,CZ6sCvC,AE7yDA,uDUkmBiD,eAAA,CZ+sCjD,AEjzDA,6CUomBuC,eAAA,CZitCvC,AErzDA,gDUsmB0C,eAAA,CZmtC1C,AEzzDA,8CUwmBwC,eAAA,CZqtCxC,AE7zDA,yBUymBwC,eAAA,CZutCxC,AEh0DA,oBU0mBmC,eAAA,CZytCnC,AEn0DA,wBU2mBuC,eAAA,CZ2tCvC,AEt0DA,0BU4mByC,eAAA,CZ6tCzC,AEz0DA,uBU6mBsC,eAAA,CZ+tCtC,AE50DA,yBU8mBwC,eAAA,CZiuCxC,AE/0DA,kBU+mBiC,eAAA,CZmuCjC,AEl1DA,0BUgnByC,eAAA,CZquCzC,AEr1DA,iBUinBgC,eAAA,CZuuChC,AEx1DA,yBUknBwC,eAAA,CZyuCxC,AE31DA,uBUmnBsC,eAAA,CZ2uCtC,AE91DA,kDUqnB0C,eAAA,CZ6uC1C,AEl2DA,iDUunByC,eAAA,CZ+uCzC,AEt2DA,gDUynBwC,eAAA,CZivCxC,AE12DA,qBU0nBoC,eAAA,CZmvCpC,AE72DA,8CU4nBsC,eAAA,CZqvCtC,AEj3DA,+CU8nBuC,eAAA,CZuvCvC,AEr3DA,2BU+nB0C,eAAA,CZyvC1C,AEx3DA,yBUgoBwC,eAAA,CZ2vCxC,AE33DA,wBUioBuC,eAAA,CZ6vCvC,AE93DA,0BUkoByC,eAAA,CZ+vCzC,AEj4DA,wBUmoBuC,eAAA,CZiwCvC,AEp4DA,qBUooBoC,eAAA,CZmwCpC,AEv4DA,sBUqoBqC,eAAA,CZqwCrC,AE14DA,4BUsoB2C,eAAA,CZuwC3C,AE74DA,cUuoB6B,eAAA,CZywC7B,AEh5DA,qBUwoBoC,eAAA,CZ2wCpC,AEn5DA,uBUyoBsC,eAAA,CZ6wCtC,AEt5DA,yBU0oBwC,eAAA,CZ+wCxC,AEz5DA,gCU2oB+C,eAAA,CZixC/C,AE55DA,sBU4oBqC,eAAA,CZmxCrC,AE/5DA,uBU6oBsC,eAAA,CZqxCtC,AEl6DA,kBU8oBiC,eAAA,CZuxCjC,AEr6DA,kBU+oBiC,eAAA,CZyxCjC,AEx6DA,mBUgpBkC,eAAA,CZ2xClC,AE36DA,iBUipBgC,eAAA,CZ6xChC,AE96DA,6BUkpB4C,eAAA,CZ+xC5C,AEj7DA,oCUopBqC,eAAA,CZiyCrC,AEr7DA,kBUqpBiC,eAAA,CZmyCjC,AEx7DA,iBUspBgC,eAAA,CZqyChC,AE37DA,kBUupBiC,eAAA,CZuyCjC,AE97DA,2BUwpB0C,eAAA,CZyyC1C,AEj8DA,4BUypB2C,eAAA,CZ2yC3C,AEp8DA,4BU0pB2C,eAAA,CZ6yC3C,AEv8DA,4BU2pB2C,eAAA,CZ+yC3C,AE18DA,oBU4pBmC,eAAA,CZizCnC,AE78DA,mBU6pBkC,eAAA,CZmzClC,AEh9DA,qBU8pBoC,eAAA,CZqzCpC,AEn9DA,iBU+pBgC,eAAA,CZuzChC,AEt9DA,eUgqB8B,eAAA,CZyzC9B,AEz9DA,sBUiqBqC,eAAA,CZ2zCrC,AE59DA,wBUkqBuC,eAAA,CZ6zCvC,AE/9DA,iBUmqBgC,eAAA,CZ+zChC,AEl+DA,iBUoqBgC,eAAA,CZi0ChC,AEr+DA,qBUqqBoC,eAAA,CZm0CpC,AEx+DA,qBUsqBoC,eAAA,CZq0CpC,AE3+DA,wBUuqBuC,eAAA,CZu0CvC,AE9+DA,gBUwqB+B,eAAA,CZy0C/B,AEj/DA,2BUyqB0C,eAAA,CZ20C1C,AEp/DA,oBU0qBmC,eAAA,CZ60CnC,AEv/DA,gBU2qB+B,eAAA,CZ+0C/B,AE1/DA,wBU4qBuC,eAAA,CZi1CvC,AE7/DA,eU6qB8B,eAAA,CZm1C9B,AEhgEA,wBU8qBuC,eAAA,CZq1CvC,AEngEA,oBU+qBmC,eAAA,CZu1CnC,AEtgEA,kBUgrBiC,eAAA,CZy1CjC,AEzgEA,wBUirBuC,eAAA,CZ21CvC,AE5gEA,0BUkrByC,eAAA,CZ61CzC,AE/gEA,uBUmrBsC,eAAA,CZ+1CtC,AElhEA,yBUorBwC,eAAA,CZi2CxC,AErhEA,wBUqrBuC,eAAA,CZm2CvC,AExhEA,2BUsrB0C,eAAA,CZq2C1C,AE3hEA,mBUurBkC,eAAA,CZu2ClC,AE9hEA,qBUwrBoC,eAAA,CZy2CpC,AEjiEA,uBUyrBsC,eAAA,CZ22CtC,AEpiEA,mBU0rBkC,eAAA,CZ62ClC,AEviEA,kBU2rBiC,eAAA,CZ+2CjC,AE1iEA,sBU4rBqC,eAAA,CZi3CrC,AE7iEA,mBU6rBkC,eAAA,CZm3ClC,AEhjEA,kBU8rBiC,eAAA,CZq3CjC,AEnjEA,4BU+rB2C,eAAA,CZu3C3C,AEtjEA,0BUgsByC,eAAA,CZy3CzC,AEzjEA,6BUisB4C,eAAA,CZ23C5C,AE5jEA,iBUksBgC,eAAA,CZ63ChC,AE/jEA,6BUmsB4C,eAAA,CZ+3C5C,AElkEA,gCUosB+C,eAAA,CZi4C/C,AErkEA,mBUqsBkC,eAAA,CZm4ClC,AExkEA,uCUssBsD,eAAA,CZq4CtD,AE3kEA,2EUwsB8D,eAAA,CZu4C9D,AE/kEA,+DU2sB+B,eAAA,CZy4C/B,AEplEA,iBU4sBgC,eAAA,CZ24ChC,AEvlEA,mBU6sBkC,eAAA,CZ64ClC,AE1lEA,4CU+sBwC,eAAA,CZ+4CxC,AE9lEA,sBUgtBqC,eAAA,CZi5CrC,AEjmEA,kBUitBiC,eAAA,CZm5CjC,AEpmEA,yBUktBwC,eAAA,CZq5CxC,AEvmEA,oBUmtBmC,eAAA,CZu5CnC,AE1mEA,0BUotByC,eAAA,CZy5CzC,AE7mEA,2BUqtB0C,eAAA,CZ25C1C,AEhnEA,sBUstBqC,eAAA,CZ65CrC,AEnnEA,uBUutBsC,eAAA,CZ+5CtC,AEtnEA,iBUwtBgC,eAAA,CZi6ChC,AEznEA,qBUytBoC,eAAA,CZm6CpC,AE5nEA,8DU2tB+C,eAAA,CZq6C/C,AEhoEA,sCU6tBuC,eAAA,CZu6CvC,AEpoEA,uBU8tBsC,eAAA,CZy6CtC,AEvoEA,yBU+tBwC,eAAA,CZ26CxC,AE1oEA,2BUguB0C,eAAA,CZ66C1C,AE7oEA,kBUiuBiC,eAAA,CZ+6CjC,AEhpEA,wBUkuBuC,eAAA,CZi7CvC,AEnpEA,0BUmuByC,eAAA,CZm7CzC,AEtpEA,yCUquBuC,eAAA,CZq7CvC,AE1pEA,6CUuuByC,eAAA,CZu7CzC,AE9pEA,uBUwuBsC,eAAA,CZy7CtC,AEjqEA,yBUyuBwC,eAAA,CZ27CxC,AEpqEA,kBU0uBiC,eAAA,CZ67CjC,AEvqEA,oBU2uBmC,eAAA,CZ+7CnC,AE1qEA,8CU6uBkC,eAAA,CZi8ClC,AE9qEA,kDU+uBoC,eAAA,CZm8CpC,AElrEA,iBUgvBgC,eAAA,CZq8ChC,AErrEA,0BUivByC,eAAA,CZu8CzC,AExrEA,oBUkvBmC,eAAA,CZy8CnC,AE3rEA,4EUqvB2C,eAAA,CZ28C3C,AEhsEA,+DUuvBqD,eAAA,CZ68CrD,AEpsEA,qDUyvB2C,eAAA,CZ+8C3C,AExsEA,wDU2vB8C,eAAA,CZi9C9C,AE5sEA,sDU6vB4C,eAAA,CZm9C5C,AEhtEA,kBU8vBiC,eAAA,CZq9CjC,AEntEA,kDUiwB+B,eAAA,CZu9C/B,AExtEA,mBUkwBkC,eAAA,CZy9ClC,AE3tEA,2BUmwB0C,eAAA,CZ29C1C,AE9tEA,2BUowB0C,eAAA,CZ69C1C,AEjuEA,0BUqwByC,eAAA,CZ+9CzC,AEpuEA,mDUuwBuC,eAAA,CZi+CvC,AExuEA,uDUywByC,eAAA,CZm+CzC,AE5uEA,oBU0wBmC,eAAA,CZq+CnC,AE/uEA,gBU2wB+B,eAAA,CZu+C/B,AElvEA,gBU4wB+B,eAAA,CZy+C/B,AErvEA,gBU6wB+B,eAAA,CZ2+C/B,AExvEA,mBU8wBkC,eAAA,CZ6+ClC,AE3vEA,mBU+wBkC,eAAA,CZ++ClC,AE9vEA,qBUgxBoC,eAAA,CZi/CpC,AEjwEA,uBUixBsC,eAAA,CZm/CtC,AEpwEA,uBUkxBsC,eAAA,CZq/CtC,AEvwEA,sBUmxBqC,eAAA,CZu/CrC,AE1wEA,kBUoxBiC,eAAA,CZy/CjC,Aa1wED,SJ8BE,kBAAA,AACA,UAAA,AACA,WAAA,AACA,UAAA,AACA,YAAA,AACA,gBAAA,AACA,mBAAA,AACA,QAAA,CT+uED,AcruEC,mDAEE,gBAAA,AACA,WAAA,AACA,YAAA,AACA,SAAA,AACA,iBAAA,AACA,SAAA,CduuEH,AS9uEC,mDAEE,gBAAA,AACA,WAAA,AACA,YAAA,AACA,SAAA,AACA,iBAAA,AACA,SAAA,CTgvEH,AcvvEC,mDAEE,gBAAA,AACA,WAAA,AACA,YAAA,AACA,SAAA,AACA,iBAAA,AACA,SAAA,CdyvEH,AShwEC,mDAEE,gBAAA,AACA,WAAA,AACA,YAAA,AACA,SAAA,AACA,iBAAA,AACA,SAAA,CTkwEH,AAiDD;;;GAGG,Ae52EH,WACE,wBAAA,AACA,qDAAA,AACA,iXAAA,Cfk3ED,AEx3EA,IcIC,qBAAA,AACA,6CAAA,AACA,kBAAA,AACA,oBAAA,AACA,mCAAA,AACA,iCAAA,ChBu3ED,AEh4EA,OeKC,uBAAA,AACA,kBAAA,AACA,mBAAA,CjB+3ED,AEt4EA,OeSsB,aAAA,CjBg4EtB,AEz4EA,OeUsB,aAAA,CjBk4EtB,AE54EA,OeWsB,aAAA,CjBo4EtB,AE/4EA,OeYsB,aAAA,CjBs4EtB,AEl5EA,OgBGC,mBAAA,AACA,iBAAA,ClBk5ED,AEt5EA,OiBIC,eAAA,AACA,yBAAA,AACA,oBAAA,CnBq5ED,AE35EA,UiBOQ,iBAAA,CnBu5ER,AE95EA,OiBUC,kBAAA,AACA,mBAAA,AACA,mBAAA,AACA,gBAAA,AACA,iBAAA,CnBu5ED,AEr6EA,aiBgBG,kBAAA,CnBw5EH,AEx6EA,WkBIC,yBAAA,AACA,wBAAA,AACA,kBAAA,CpBu6ED,AE76EA,ckBS6B,UAAA,CpBu6E7B,AEh7EA,ekBU8B,WAAA,CpBy6E9B,AEn7EA,iBkBagC,iBAAA,CpBy6EhC,AEt7EA,kBkBciC,gBAAA,CpB26EjC,AoBv6ED,YAAc,WAAA,CpB26Eb,AoB16ED,WAAa,UAAA,CpB66EZ,AoB16EC,cAAc,iBAAA,CpB66Ef,AoB56EC,eAAe,gBAAA,CpB+6EhB,AEt8EA,SmBIC,6CAAA,AACQ,oCAAA,CrBq8ET,AE18EA,UmBSC,+CAAA,AACQ,sCAAA,CrBo8ET,AqBj8ED,2BACE,GACE,+BAAA,AACQ,sBAAA,CrBm8ET,AqBj8ED,KACE,iCAAA,AACQ,wBAAA,CrBm8ET,CACF,AqBh8ED,mBACE,GACE,+BAAA,AACQ,sBAAA,CrBk8ET,AqBh8ED,KACE,iCAAA,AACQ,wBAAA,CrBk8ET,CACF,AEl+EA,cOcC,sEAAA,AACA,gCAAA,AAEQ,uBAAA,CTu9ET,AEx+EA,eOcC,sEAAA,AACA,iCAAA,AAEQ,wBAAA,CT69ET,AE9+EA,eOcC,sEAAA,AACA,iCAAA,AAEQ,wBAAA,CTm+ET,AEp/EA,oBOqBC,+EAAA,AACA,8BAAA,AAEQ,qBAAA,CTk+ET,AE1/EA,kBOqBC,+EAAA,AACA,8BAAA,AAEQ,qBAAA,CTw+ET,AEhgFA,gHoBkBC,oBAAA,WAAA,CtBq/ED,AEvgFA,UqBIC,kBAAA,AACA,qBAAA,AACA,UAAA,AACA,WAAA,AACA,gBAAA,AACA,qBAAA,CvBsgFD,AE/gFA,0BqBYC,kBAAA,AACA,OAAA,AACA,WAAA,AACA,iBAAA,CvBugFD,AEthFA,aqBiB4B,mBAAA,CvBwgF5B,AEzhFA,aqBkB4B,aAAA,CvB0gF5B,AE5hFA,YqBmB2B,UAAA,CvB4gF3B,AE/hFA,iBsBGgC,eAAA,CxBiiFhC,AEpiFA,iBsBIgC,eAAA,CxBmiFhC,AEviFA,kBsBKiC,eAAA,CxBqiFjC,AE1iFA,sBsBMqC,eAAA,CxBuiFrC,AE7iFA,iBsBOgC,eAAA,CxByiFhC,AEhjFA,gBsBQ+B,eAAA,CxB2iF/B,AEnjFA,kBsBSiC,eAAA,CxB6iFjC,AEtjFA,gBsBU+B,eAAA,CxB+iF/B,AEzjFA,gBsBW+B,eAAA,CxBijF/B,AE5jFA,oBsBYmC,eAAA,CxBmjFnC,AE/jFA,csBa6B,eAAA,CxBqjF7B,AElkFA,mBsBckC,eAAA,CxBujFlC,AErkFA,iBsBegC,eAAA,CxByjFhC,AExkFA,oDsBkBgC,eAAA,CxB2jFhC,AE7kFA,uBsBmBsC,eAAA,CxB6jFtC,AEhlFA,wBsBoBuC,eAAA,CxB+jFvC,AEnlFA,qBsBqBoC,eAAA,CxBikFpC,AEtlFA,kBsBsBiC,eAAA,CxBmkFjC,AEzlFA,+BsBwB8B,eAAA,CxBqkF9B,AE7lFA,mBsByBkC,eAAA,CxBukFlC,AEhmFA,gBsB0B+B,eAAA,CxBykF/B,AEnmFA,kBsB2BiC,eAAA,CxB2kFjC,AEtmFA,mBsB4BkC,eAAA,CxB6kFlC,AEzmFA,gBsB6B+B,eAAA,CxB+kF/B,AE5mFA,oBsB8BmC,eAAA,CxBilFnC,AE/mFA,+BsB+B8C,eAAA,CxBmlF9C,AElnFA,6BsBgC4C,eAAA,CxBqlF5C,AErnFA,iBsBiCgC,eAAA,CxBulFhC,AExnFA,yBsBkCwC,eAAA,CxBylFxC,AE3nFA,0CsBoCiC,eAAA,CxB2lFjC,AE/nFA,mBsBqCkC,eAAA,CxB6lFlC,AEloFA,oBsBsCmC,eAAA,CxB+lFnC,AEroFA,gBsBuC+B,eAAA,CxBimF/B,AExoFA,gBsBwC+B,eAAA,CxBmmF/B,AE3oFA,sBsByCqC,eAAA,CxBqmFrC,AE9oFA,sBsB0CqC,eAAA,CxBumFrC,AEjpFA,uBsB2CsC,eAAA,CxBymFtC,AEppFA,qBsB4CoC,eAAA,CxB2mFpC,AEvpFA,kBsB6CiC,eAAA,CxB6mFjC,AE1pFA,mBsB8CkC,eAAA,CxB+mFlC,AE7pFA,esB+C8B,eAAA,CxBinF9B,AEhqFA,gBsBgD+B,eAAA,CxBmnF/B,AEnqFA,gBsBiD+B,eAAA,CxBqnF/B,AEtqFA,oBsBkDmC,eAAA,CxBunFnC,AEzqFA,iBsBmDgC,eAAA,CxBynFhC,AE5qFA,kBsBoDiC,eAAA,CxB2nFjC,AE/qFA,gBsBqD+B,eAAA,CxB6nF/B,AElrFA,gBsBsD+B,eAAA,CxB+nF/B,AErrFA,kBsBuDiC,eAAA,CxBioFjC,AExrFA,uBsBwDsC,eAAA,CxBmoFtC,AE3rFA,sBsByDqC,eAAA,CxBqoFrC,AE9rFA,sBsB0DqC,eAAA,CxBuoFrC,AEjsFA,wBsB2DuC,eAAA,CxByoFvC,AEpsFA,uBsB4DsC,eAAA,CxB2oFtC,AEvsFA,yBsB6DwC,eAAA,CxB6oFxC,AE1sFA,gBsB8D+B,eAAA,CxB+oF/B,AE7sFA,qCsBgEkC,eAAA,CxBipFlC,AEjtFA,kBsBiEiC,eAAA,CxBmpFjC,AEptFA,wBsBkEuC,eAAA,CxBqpFvC,AEvtFA,uDsBqEoC,eAAA,CxBupFpC,AE5tFA,kBsBsEiC,eAAA,CxBypFjC,AE/tFA,sBsBuEqC,eAAA,CxB2pFrC,AEluFA,kBsBwEiC,eAAA,CxB6pFjC,AEruFA,gBsByE+B,eAAA,CxB+pF/B,AExuFA,2CsB2E0C,eAAA,CxBiqF1C,AE5uFA,0BsB4EyC,eAAA,CxBmqFzC,AE/uFA,0BsB6EyC,eAAA,CxBqqFzC,AElvFA,kBsB8EiC,eAAA,CxBuqFjC,AErvFA,yBsB+EwC,eAAA,CxByqFxC,AExvFA,yBsBgFwC,eAAA,CxB2qFxC,AE3vFA,oBsBiFmC,eAAA,CxB6qFnC,AE9vFA,gBsBkF+B,eAAA,CxB+qF/B,AEjwFA,iBsBmFgC,eAAA,CxBirFhC,AEpwFA,gBsBoF+B,eAAA,CxBmrF/B,AEvwFA,mBsBqFkC,eAAA,CxBqrFlC,AE1wFA,wBsBsFuC,eAAA,CxBurFvC,AE7wFA,wBsBuFuC,eAAA,CxByrFvC,AEhxFA,iBsBwFgC,eAAA,CxB2rFhC,AEnxFA,wBsByFuC,eAAA,CxB6rFvC,AEtxFA,yBsB0FwC,eAAA,CxB+rFxC,AEzxFA,uBsB2FsC,eAAA,CxBisFtC,AE5xFA,wBsB4FuC,eAAA,CxBmsFvC,AE/xFA,wBsB6FuC,eAAA,CxBqsFvC,AElyFA,wBsB8FuC,eAAA,CxBusFvC,AEryFA,2BsB+F0C,eAAA,CxBysF1C,AExyFA,uBsBgGsC,eAAA,CxB2sFtC,AE3yFA,sBsBiGqC,eAAA,CxB6sFrC,AE9yFA,0BsBkGyC,eAAA,CxB+sFzC,AEjzFA,0BsBmGyC,eAAA,CxBitFzC,AEpzFA,esBoG8B,eAAA,CxBmtF9B,AEvzFA,sBsBqGqC,eAAA,CxBqtFrC,AE1zFA,uBsBsGsC,eAAA,CxButFtC,AE7zFA,oBsBuGmC,eAAA,CxBytFnC,AEh0FA,sBsBwGqC,eAAA,CxB2tFrC,AEn0FA,yCsB0GgC,eAAA,CxB6tFhC,AEv0FA,kBsB2GiC,eAAA,CxB+tFjC,AE10FA,oBsB4GmC,eAAA,CxBiuFnC,AE70FA,gBsB6G+B,eAAA,CxBmuF/B,AEh1FA,iBsB8GgC,eAAA,CxBquFhC,AEn1FA,oBsB+GmC,eAAA,CxBuuFnC,AEt1FA,8BsBgH6C,eAAA,CxByuF7C,AEz1FA,gBsBiH+B,eAAA,CxB2uF/B,AE51FA,gBsBkH+B,eAAA,CxB6uF/B,AE/1FA,gBsBmH+B,eAAA,CxB+uF/B,AEl2FA,esBoH8B,eAAA,CxBivF9B,AEr2FA,qBsBqHoC,eAAA,CxBmvFpC,AEx2FA,mDsBuH+C,eAAA,CxBqvF/C,AE52FA,iBsBwHgC,eAAA,CxBuvFhC,AE/2FA,oBsByHmC,eAAA,CxByvFnC,AEl3FA,kBsB0HiC,eAAA,CxB2vFjC,AEr3FA,mBsB2HkC,eAAA,CxB6vFlC,AEx3FA,kBsB4HiC,eAAA,CxB+vFjC,AE33FA,sBsB6HqC,eAAA,CxBiwFrC,AE93FA,wBsB8HuC,eAAA,CxBmwFvC,AEj4FA,mBsB+HkC,eAAA,CxBqwFlC,AEp4FA,yBsBgIwC,eAAA,CxBuwFxC,AEv4FA,kBsBiIiC,eAAA,CxBywFjC,AE14FA,uBsBkIsC,eAAA,CxB2wFtC,AE74FA,oBsBmImC,eAAA,CxB6wFnC,AEh5FA,oBsBoImC,eAAA,CxB+wFnC,AEn5FA,4CsBsIoC,eAAA,CxBixFpC,AEv5FA,0BsBuIyC,eAAA,CxBmxFzC,AE15FA,2BsBwI0C,eAAA,CxBqxF1C,AE75FA,wBsByIuC,eAAA,CxBuxFvC,AEh6FA,esB0I8B,eAAA,CxByxF9B,AEn6FA,iCsB4I+B,eAAA,CxB2xF/B,AEv6FA,oBsB6ImC,eAAA,CxB6xFnC,AE16FA,uBsB8IsC,eAAA,CxB+xFtC,AE76FA,yBsB+IwC,eAAA,CxBiyFxC,AEh7FA,qBsBgJoC,eAAA,CxBmyFpC,AEn7FA,mBsBiJkC,eAAA,CxBqyFlC,AEt7FA,oBsBkJmC,eAAA,CxBuyFnC,AEz7FA,2BsBmJ0C,eAAA,CxByyF1C,AE57FA,sBsBoJqC,eAAA,CxB2yFrC,AE/7FA,yBsBqJwC,eAAA,CxB6yFxC,AEl8FA,mBsBsJkC,eAAA,CxB+yFlC,AEr8FA,kBsBuJiC,eAAA,CxBizFjC,AEx8FA,yBsBwJwC,eAAA,CxBmzFxC,AE38FA,kBsByJiC,eAAA,CxBqzFjC,AE98FA,mBsB0JkC,eAAA,CxBuzFlC,AEj9FA,iBsB2JgC,eAAA,CxByzFhC,AEp9FA,oBsB4JmC,eAAA,CxB2zFnC,AEv9FA,sBsB6JqC,eAAA,CxB6zFrC,AE19FA,wBsB8JuC,eAAA,CxB+zFvC,AE79FA,mBsB+JkC,eAAA,CxBi0FlC,AEh+FA,0CsBiKmC,eAAA,CxBm0FnC,AEp+FA,kBsBkKiC,eAAA,CxBq0FjC,AEv+FA,kBsBmKiC,eAAA,CxBu0FjC,AE1+FA,uBsBoKsC,eAAA,CxBy0FtC,AE7+FA,+BsBsK8B,eAAA,CxB20F9B,AEj/FA,iBsBuKgC,eAAA,CxB60FhC,AEp/FA,oBsBwKmC,eAAA,CxB+0FnC,AEv/FA,gBsByK+B,eAAA,CxBi1F/B,AE1/FA,uBsB0KsC,eAAA,CxBm1FtC,AE7/FA,wBsB2KuC,eAAA,CxBq1FvC,AEhgGA,uBsB4KsC,eAAA,CxBu1FtC,AEngGA,qBsB6KoC,eAAA,CxBy1FpC,AEtgGA,uBsB8KsC,eAAA,CxB21FtC,AEzgGA,6BsB+K4C,eAAA,CxB61F5C,AE5gGA,8BsBgL6C,eAAA,CxB+1F7C,AE/gGA,2BsBiL0C,eAAA,CxBi2F1C,AElhGA,6BsBkL4C,eAAA,CxBm2F5C,AErhGA,iBsBmLgC,eAAA,CxBq2FhC,AExhGA,kBsBoLiC,eAAA,CxBu2FjC,AE3hGA,iBsBqLgC,eAAA,CxBy2FhC,AE9hGA,kBsBsLiC,eAAA,CxB22FjC,AEjiGA,qBsBuLoC,eAAA,CxB62FpC,AEpiGA,sBsBwLqC,eAAA,CxB+2FrC,AEviGA,kCsB0LgC,eAAA,CxBi3FhC,AE3iGA,iCsB4L+B,eAAA,CxBm3F/B,AE/iGA,iBsB6LgC,eAAA,CxBq3FhC,AEljGA,iBsB8LgC,eAAA,CxBu3FhC,AErjGA,mCsBgMmC,eAAA,CxBy3FnC,AEzjGA,mCsBkMkC,eAAA,CxB23FlC,AE7jGA,qBsBmMoC,eAAA,CxB63FpC,AEhkGA,oCsBqMmC,eAAA,CxB+3FnC,AEpkGA,kBsBsMiC,eAAA,CxBi4FjC,AEvkGA,sDsByM+B,eAAA,CxBm4F/B,AE5kGA,mBsB0MkC,eAAA,CxBq4FlC,AE/kGA,mBsB2MkC,eAAA,CxBu4FlC,AEllGA,yBsB4MwC,eAAA,CxBy4FxC,AErlGA,qBsB6MoC,eAAA,CxB24FpC,AExlGA,iBsB8MgC,eAAA,CxB64FhC,AE3lGA,iBsB+MgC,eAAA,CxB+4FhC,AE9lGA,iBsBgNgC,eAAA,CxBi5FhC,AEjmGA,qBsBiNoC,eAAA,CxBm5FpC,AEpmGA,4BsBkN2C,eAAA,CxBq5F3C,AEvmGA,8BsBmN6C,eAAA,CxBu5F7C,AE1mGA,uBsBoNsC,eAAA,CxBy5FtC,AE7mGA,iBsBqNgC,eAAA,CxB25FhC,AEhnGA,sBsBsNqC,eAAA,CxB65FrC,AEnnGA,oBsBuNmC,eAAA,CxB+5FnC,AEtnGA,sBsBwNqC,eAAA,CxBi6FrC,AEznGA,uBsByNsC,eAAA,CxBm6FtC,AE5nGA,mBsB0NkC,eAAA,CxBq6FlC,AE/nGA,oCsB4N+B,eAAA,CxBu6F/B,AEnoGA,0CsB8NoC,eAAA,CxBy6FpC,AEvoGA,uCsBgOmC,eAAA,CxB26FnC,AE3oGA,oBsBiOmC,eAAA,CxB66FnC,AE9oGA,oBsBkOmC,eAAA,CxB+6FnC,AEjpGA,uCsBoO+B,eAAA,CxBi7F/B,AErpGA,kCsBsOgC,eAAA,CxBm7FhC,AEzpGA,2CsBwOqC,eAAA,CxBq7FrC,AE7pGA,qBsByOoC,eAAA,CxBu7FpC,AEhqGA,sBsB0OqC,eAAA,CxBy7FrC,AEnqGA,iCsB4O+B,eAAA,CxB27F/B,AEvqGA,mBsB6OkC,eAAA,CxB67FlC,AE1qGA,oBsB8OmC,eAAA,CxB+7FnC,AE7qGA,sCsBgPoC,eAAA,CxBi8FpC,AEjrGA,uBsBiPsC,eAAA,CxBm8FtC,AEprGA,oBsBkPmC,eAAA,CxBq8FnC,AEvrGA,0BsBmPyC,eAAA,CxBu8FzC,AE1rGA,wBsBoPuC,eAAA,CxBy8FvC,AE7rGA,mBsBqPkC,eAAA,CxB28FlC,AEhsGA,uBsBsPsC,eAAA,CxB68FtC,AEnsGA,oBsBuPmC,eAAA,CxB+8FnC,AEtsGA,kBsBwPiC,eAAA,CxBi9FjC,AEzsGA,kBsByPiC,eAAA,CxBm9FjC,AE5sGA,mBsB0PkC,eAAA,CxBq9FlC,AE/sGA,uBsB2PsC,eAAA,CxBu9FtC,AEltGA,sBsB4PqC,eAAA,CxBy9FrC,AErtGA,sBsB6PqC,eAAA,CxB29FrC,AExtGA,qBsB8PoC,eAAA,CxB69FpC,AE3tGA,kBsB+PiC,eAAA,CxB+9FjC,AE9tGA,uBsBgQsC,eAAA,CxBi+FtC,AEjuGA,gBsBiQ+B,eAAA,CxBm+F/B,AEpuGA,oBsBkQmC,eAAA,CxBq+FnC,AEvuGA,uBsBmQsC,eAAA,CxBu+FtC,AE1uGA,6BsBoQ4C,eAAA,CxBy+F5C,AE7uGA,8BsBqQ6C,eAAA,CxB2+F7C,AEhvGA,2BsBsQ0C,eAAA,CxB6+F1C,AEnvGA,6BsBuQ4C,eAAA,CxB++F5C,AEtvGA,sBsBwQqC,eAAA,CxBi/FrC,AEzvGA,uBsByQsC,eAAA,CxBm/FtC,AE5vGA,oBsB0QmC,eAAA,CxBq/FnC,AE/vGA,sBsB2QqC,eAAA,CxBu/FrC,AElwGA,mBsB4QkC,eAAA,CxBy/FlC,AErwGA,kBsB6QiC,eAAA,CxB2/FjC,AExwGA,kBsB8QiC,eAAA,CxB6/FjC,AE3wGA,0CsBgRiC,eAAA,CxB+/FjC,AE/wGA,oBsBiRmC,eAAA,CxBigGnC,AElxGA,sBsBkRqC,eAAA,CxBmgGrC,AErxGA,uBsBmRsC,eAAA,CxBqgGtC,AExxGA,mBsBoRkC,eAAA,CxBugGlC,AE3xGA,kBsBqRiC,eAAA,CxBygGjC,AE9xGA,uCsBuRgC,eAAA,CxB2gGhC,AElyGA,sBsBwRqC,eAAA,CxB6gGrC,AEryGA,oBsByRmC,eAAA,CxB+gGnC,AExyGA,yBsB0RwC,eAAA,CxBihGxC,AE3yGA,mBsB2RkC,eAAA,CxBmhGlC,AE9yGA,mBsB4RkC,eAAA,CxBqhGlC,AEjzGA,iBsB6RgC,eAAA,CxBuhGhC,AEpzGA,mBsB8RkC,eAAA,CxByhGlC,AEvzGA,sBsB+RqC,eAAA,CxB2hGrC,AE1zGA,kBsBgSiC,eAAA,CxB6hGjC,AE7zGA,0BsBiSyC,eAAA,CxB+hGzC,AEh0GA,oBsBkSmC,eAAA,CxBiiGnC,AEn0GA,gBsBmS+B,eAAA,CxBmiG/B,AEt0GA,+CsBqSoC,eAAA,CxBqiGpC,AE10GA,4EsBwSsC,eAAA,CxBuiGtC,AE/0GA,0BsBySyC,eAAA,CxByiGzC,AEl1GA,gBsB0S+B,eAAA,CxB2iG/B,AEr1GA,qBsB2SoC,eAAA,CxB6iGpC,AEx1GA,0CsB6SuC,eAAA,CxB+iGvC,AE51GA,oBsB8SmC,eAAA,CxBijGnC,AE/1GA,gBsB+S+B,eAAA,CxBmjG/B,AEl2GA,uBsBgTsC,eAAA,CxBqjGtC,AEr2GA,uBsBiTsC,eAAA,CxBujGtC,AEx2GA,qBsBkToC,eAAA,CxByjGpC,AE32GA,kBsBmTiC,eAAA,CxB2jGjC,AE92GA,wBsBoTuC,eAAA,CxB6jGvC,AEj3GA,sBsBqTqC,eAAA,CxB+jGrC,AEp3GA,4BsBsT2C,eAAA,CxBikG3C,AEv3GA,kBsBuTiC,eAAA,CxBmkGjC,AE13GA,sBsBwTqC,eAAA,CxBqkGrC,AE73GA,6BsByT4C,eAAA,CxBukG5C,AEh4GA,kBsB0TiC,eAAA,CxBykGjC,AEn4GA,kBsB2TiC,eAAA,CxB2kGjC,AEt4GA,+BsB4T8C,eAAA,CxB6kG9C,AEz4GA,gCsB6T+C,eAAA,CxB+kG/C,AE54GA,6BsB8T4C,eAAA,CxBilG5C,AE/4GA,+BsB+T8C,eAAA,CxBmlG9C,AEl5GA,iBsBgUgC,eAAA,CxBqlGhC,AEr5GA,gBsBiU+B,eAAA,CxBulG/B,AEx5GA,kBsBkUiC,eAAA,CxBylGjC,AE35GA,sBsBmUqC,eAAA,CxB2lGrC,AE95GA,oBsBoUmC,eAAA,CxB6lGnC,AEj6GA,sBsBqUqC,eAAA,CxB+lGrC,AEp6GA,sBsBsUqC,eAAA,CxBimGrC,AEv6GA,sBsBuUqC,eAAA,CxBmmGrC,AE16GA,uBsBwUsC,eAAA,CxBqmGtC,AE76GA,kBsByUiC,eAAA,CxBumGjC,AEh7GA,wBsB0UuC,eAAA,CxBymGvC,AEn7GA,0BsB2UyC,eAAA,CxB2mGzC,AEt7GA,oBsB4UmC,eAAA,CxB6mGnC,AEz7GA,sBsB6UqC,eAAA,CxB+mGrC,AE57GA,wBsB8UuC,eAAA,CxBinGvC,AE/7GA,yBsB+UwC,eAAA,CxBmnGxC,AEl8GA,gCsBgV+C,eAAA,CxBqnG/C,AEr8GA,wBsBiVuC,eAAA,CxBunGvC,AEx8GA,mBsBkVkC,eAAA,CxBynGlC,AE38GA,sDsBoV8C,eAAA,CxB2nG9C,AE/8GA,kDsBsV4C,eAAA,CxB6nG5C,AEn9GA,wDsBwV+C,eAAA,CxB+nG/C,AEv9GA,+BsB0V8B,eAAA,CxBioG9B,AE39GA,esB2V8B,eAAA,CxBmoG9B,AE99GA,iCsB6V8B,eAAA,CxBqoG9B,AEl+GA,gCsB+V8B,eAAA,CxBuoG9B,AEt+GA,4DsBmW8B,eAAA,CxByoG9B,AE5+GA,kDsBsW8B,eAAA,CxB2oG9B,AEj/GA,8BsBwW8B,eAAA,CxB6oG9B,AEr/GA,kCsB0W8B,eAAA,CxB+oG9B,AEz/GA,gBsB2W+B,eAAA,CxBipG/B,AE5/GA,qBsB4WoC,eAAA,CxBmpGpC,AE//GA,0BsB6WyC,eAAA,CxBqpGzC,AElgHA,2BsB8W0C,eAAA,CxBupG1C,AErgHA,2BsB+W0C,eAAA,CxBypG1C,AExgHA,4BsBgX2C,eAAA,CxB2pG3C,AE3gHA,4BsBiX2C,eAAA,CxB6pG3C,AE9gHA,6BsBkX4C,eAAA,CxB+pG5C,AEjhHA,qBsBmXoC,eAAA,CxBiqGpC,AEphHA,uBsBoXsC,eAAA,CxBmqGtC,AEvhHA,0BsBqXyC,eAAA,CxBqqGzC,AE1hHA,mBsBsXkC,eAAA,CxBuqGlC,AE7hHA,gBsBuX+B,eAAA,CxByqG/B,AEhiHA,uBsBwXsC,eAAA,CxB2qGtC,AEniHA,wBsByXuC,eAAA,CxB6qGvC,AEtiHA,mBsB0XkC,eAAA,CxB+qGlC,AEziHA,0BsB2XyC,eAAA,CxBirGzC,AE5iHA,qBsB4XoC,eAAA,CxBmrGpC,AE/iHA,kBsB6XiC,eAAA,CxBqrGjC,AEljHA,esB8X8B,eAAA,CxBurG9B,AErjHA,qBsB+XoC,eAAA,CxByrGpC,AExjHA,4BsBgY2C,eAAA,CxB2rG3C,AE3jHA,kBsBiYiC,eAAA,CxB6rGjC,AE9jHA,yBsBkYwC,eAAA,CxB+rGxC,AEjkHA,2BsBmY0C,eAAA,CxBisG1C,AEpkHA,yBsBoYwC,eAAA,CxBmsGxC,AEvkHA,2BsBqY0C,eAAA,CxBqsG1C,AE1kHA,4BsBsY2C,eAAA,CxBusG3C,AE7kHA,iBsBuYgC,eAAA,CxBysGhC,AEhlHA,mBsBwYkC,eAAA,CxB2sGlC,AEnlHA,mBsByYkC,eAAA,CxB6sGlC,AEtlHA,iBsB0YgC,eAAA,CxB+sGhC,AEzlHA,oBsB2YmC,eAAA,CxBitGnC,AE5lHA,iBsB4YgC,eAAA,CxBmtGhC,AE/lHA,sBsB6YqC,eAAA,CxBqtGrC,AElmHA,kBsB8YiC,eAAA,CxButGjC,AErmHA,kBsB+YiC,eAAA,CxBytGjC,AExmHA,gBsBgZ+B,eAAA,CxB2tG/B,AE3mHA,sCsBkZmC,eAAA,CxB6tGnC,AE/mHA,iBsBmZgC,eAAA,CxB+tGhC,AElnHA,kBsBoZiC,eAAA,CxBiuGjC,AErnHA,mBsBqZkC,eAAA,CxBmuGlC,AExnHA,esBsZ8B,eAAA,CxBquG9B,AE3nHA,csBuZ6B,eAAA,CxBuuG7B,AE9nHA,iBsBwZgC,eAAA,CxByuGhC,AEjoHA,kBsByZiC,eAAA,CxB2uGjC,AEpoHA,qBsB0ZoC,eAAA,CxB6uGpC,AEvoHA,0BsB2ZyC,eAAA,CxB+uGzC,AE1oHA,gCsB4Z+C,eAAA,CxBivG/C,AE7oHA,+BsB6Z8C,eAAA,CxBmvG9C,AEhpHA,sDsB+Z8C,eAAA,CxBqvG9C,AEppHA,wBsBgauC,eAAA,CxBuvGvC,AEvpHA,sBsBiaqC,eAAA,CxByvGrC,AE1pHA,wBsBkauC,eAAA,CxB2vGvC,AE7pHA,uCsBoa8B,eAAA,CxB6vG9B,AEjqHA,yBsBqawC,eAAA,CxB+vGxC,AEpqHA,yBsBsawC,eAAA,CxBiwGxC,AEvqHA,iBsBuagC,eAAA,CxBmwGhC,AE1qHA,2BsBwa0C,eAAA,CxBqwG1C,AE7qHA,qBsByaoC,eAAA,CxBuwGpC,AEhrHA,kBsB0aiC,eAAA,CxBywGjC,AEnrHA,6DsB6aqC,eAAA,CxB2wGrC,AExrHA,kDsB+ayC,eAAA,CxB6wGzC,AE5rHA,iBsBgbgC,eAAA,CxB+wGhC,AE/rHA,kBsBibiC,eAAA,CxBixGjC,AElsHA,kBsBkbiC,eAAA,CxBmxGjC,AErsHA,yBsBmbwC,eAAA,CxBqxGxC,AExsHA,8BsBob6C,eAAA,CxBuxG7C,AE3sHA,uBsBqbsC,eAAA,CxByxGtC,AE9sHA,qBsBsboC,eAAA,CxB2xGpC,AEjtHA,gBsBub+B,eAAA,CxB6xG/B,AEptHA,yBsBwbwC,eAAA,CxB+xGxC,AEvtHA,0BsBybyC,eAAA,CxBiyGzC,AE1tHA,kBsB0biC,eAAA,CxBmyGjC,AE7tHA,kBsB2biC,eAAA,CxBqyGjC,AEhuHA,oBsB4bmC,eAAA,CxBuyGnC,AEnuHA,esB6b8B,eAAA,CxByyG9B,AEtuHA,oBsB8bmC,eAAA,CxB2yGnC,AEzuHA,iBsB+bgC,eAAA,CxB6yGhC,AE5uHA,esBgc8B,eAAA,CxB+yG9B,AE/uHA,iBsBicgC,eAAA,CxBizGhC,AElvHA,gBsBkc+B,eAAA,CxBmzG/B,AErvHA,iBsBmcgC,eAAA,CxBqzGhC,AExvHA,mBsBockC,eAAA,CxBuzGlC,AE3vHA,0BsBqcyC,eAAA,CxByzGzC,AE9vHA,iBsBscgC,eAAA,CxB2zGhC,AEjwHA,wBsBucuC,eAAA,CxB6zGvC,AEpwHA,mBsBwckC,eAAA,CxB+zGlC,AEvwHA,qCsB0c8B,eAAA,CxBi0G9B,AE3wHA,+BsB4c+B,eAAA,CxBm0G/B,AE/wHA,gBsB6c+B,eAAA,CxBq0G/B,AElxHA,mBsB8ckC,eAAA,CxBu0GlC,AErxHA,sBsB+cqC,eAAA,CxBy0GrC,AExxHA,sBsBgdqC,eAAA,CxB20GrC,AE3xHA,oBsBidmC,eAAA,CxB60GnC,AE9xHA,sBsBkdqC,eAAA,CxB+0GrC,AEjyHA,uBsBmdsC,eAAA,CxBi1GtC,AEpyHA,wBsBoduC,eAAA,CxBm1GvC,AEvyHA,6BsBqd4C,eAAA,CxBq1G5C,AE1yHA,0EsBwduC,eAAA,CxBu1GvC,AE/yHA,gDsB0dyC,eAAA,CxBy1GzC,AEnzHA,gDsB4duC,eAAA,CxB21GvC,AEvzHA,gDsB8duC,eAAA,CxB61GvC,AE3zHA,uBsB+dsC,eAAA,CxB+1GtC,AE9zHA,gBsBge+B,eAAA,CxBi2G/B,AEj0HA,mBsBiekC,eAAA,CxBm2GlC,AEp0HA,oBsBkemC,eAAA,CxBq2GnC,AEv0HA,wGsBueoC,eAAA,CxBu2GpC,AE90HA,0BsBweyC,eAAA,CxBy2GzC,AEj1HA,qDsB2egC,eAAA,CxB22GhC,AEt1HA,gCsB6eiC,eAAA,CxB62GjC,AE11HA,sBsB8eqC,eAAA,CxB+2GrC,AE71HA,esB+e8B,eAAA,CxBi3G9B,AEh2HA,2EsBkfsC,eAAA,CxBm3GtC,AEr2HA,yBsBmfwC,eAAA,CxBq3GxC,AEx2HA,csBof6B,eAAA,CxBu3G7B,AE32HA,oCsBsfiC,eAAA,CxBy3GjC,AE/2HA,uCsBwfsC,eAAA,CxB23GtC,AEn3HA,2CsB0fwC,eAAA,CxB63GxC,AEv3HA,mBsB2fkC,eAAA,CxB+3GlC,AE13HA,uBsB4fsC,eAAA,CxBi4GtC,AE73HA,kBsB6fiC,eAAA,CxBm4GjC,AEh4HA,qBsB8foC,eAAA,CxBq4GpC,AEn4HA,mBsB+fkC,eAAA,CxBu4GlC,AEt4HA,qBsBggBoC,eAAA,CxBy4GpC,AEz4HA,4BsBigB2C,eAAA,CxB24G3C,AE54HA,gBsBkgB+B,eAAA,CxB64G/B,AE/4HA,6CsBogBmC,eAAA,CxB+4GnC,AEn5HA,esBqgB8B,eAAA,CxBi5G9B,AEt5HA,sBsBsgBqC,eAAA,CxBm5GrC,AEz5HA,gBsBugB+B,eAAA,CxBq5G/B,AE55HA,sBsBwgBqC,eAAA,CxBu5GrC,AE/5HA,kBsBygBiC,eAAA,CxBy5GjC,AEl6HA,gBsB0gB+B,eAAA,CxB25G/B,AEr6HA,uBsB2gBsC,eAAA,CxB65GtC,AEx6HA,gBsB4gB+B,eAAA,CxB+5G/B,AE36HA,sBsB6gBqC,eAAA,CxBi6GrC,AE96HA,kBsB8gBiC,eAAA,CxBm6GjC,AEj7HA,yBsB+gBwC,eAAA,CxBq6GxC,AEp7HA,mBsBghBkC,eAAA,CxBu6GlC,AEv7HA,yBsBihBwC,eAAA,CxBy6GxC,AE17HA,uBsBkhBsC,eAAA,CxB26GtC,AE77HA,mBsBmhBkC,eAAA,CxB66GlC,AEh8HA,qBsBohBoC,eAAA,CxB+6GpC,AEn8HA,qBsBqhBoC,eAAA,CxBi7GpC,AEt8HA,sBsBshBqC,eAAA,CxBm7GrC,AEz8HA,wBsBuhBuC,eAAA,CxBq7GvC,AE58HA,iBsBwhBgC,eAAA,CxBu7GhC,AE/8HA,qBsByhBoC,eAAA,CxBy7GpC,AEl9HA,csB0hB6B,eAAA,CxB27G7B,AEr9HA,sBsB2hBqC,eAAA,CxB67GrC,AEx9HA,uBsB4hBsC,eAAA,CxB+7GtC,AE39HA,yBsB6hBwC,eAAA,CxBi8GxC,AE99HA,sBsB8hBqC,eAAA,CxBm8GrC,AEj+HA,qBsB+hBoC,eAAA,CxBq8GpC,AEp+HA,sBsBgiBqC,eAAA,CxBu8GrC,AEv+HA,kBsBiiBiC,eAAA,CxBy8GjC,AE1+HA,yBsBkiBwC,eAAA,CxB28GxC,AE7+HA,sBsBmiBqC,eAAA,CxB68GrC,AEh/HA,qBsBoiBoC,eAAA,CxB+8GpC,AEn/HA,mBsBqiBkC,eAAA,CxBi9GlC,AEt/HA,esBsiB8B,eAAA,CxBm9G9B,AEz/HA,mBsBuiBkC,eAAA,CxBq9GlC,AE5/HA,qBsBwiBoC,eAAA,CxBu9GpC,AE//HA,csByiB6B,eAAA,CxBy9G7B,AElgIA,mDsB4iB8B,eAAA,CxB29G9B,AEvgIA,oBsB6iBmC,eAAA,CxB69GnC,AE1gIA,sBsB8iBqC,eAAA,CxB+9GrC,AE7gIA,0BsB+iByC,eAAA,CxBi+GzC,AEhhIA,oBsBgjBmC,eAAA,CxBm+GnC,AEnhIA,oBsBijBmC,eAAA,CxBq+GnC,AEthIA,mBsBkjBkC,eAAA,CxBu+GlC,AEzhIA,kBsBmjBiC,eAAA,CxBy+GjC,AE5hIA,wBsBojBuC,eAAA,CxB2+GvC,AE/hIA,uBsBqjBsC,eAAA,CxB6+GtC,AEliIA,oBsBsjBmC,eAAA,CxB++GnC,AEriIA,qBsBujBoC,eAAA,CxBi/GpC,AExiIA,2BsBwjB0C,eAAA,CxBm/G1C,AE3iIA,mBsByjBkC,eAAA,CxBq/GlC,AE9iIA,gBsB0jB+B,eAAA,CxBu/G/B,AEjjIA,uBsB2jBsC,eAAA,CxBy/GtC,AEpjIA,sBsB4jBqC,eAAA,CxB2/GrC,AEvjIA,uBsB6jBsC,eAAA,CxB6/GtC,AE1jIA,qBsB8jBoC,eAAA,CxB+/GpC,AE7jIA,iBsB+jBgC,eAAA,CxBigHhC,AEhkIA,gBsBgkB+B,eAAA,CxBmgH/B,AEnkIA,mBsBikBkC,eAAA,CxBqgHlC,AEtkIA,2CsBmkBsC,eAAA,CxBugHtC,AE1kIA,2BsBokB0C,eAAA,CxBygH1C,AE7kIA,wBsBqkBuC,eAAA,CxB2gHvC,AEhlIA,uBsBskBsC,eAAA,CxB6gHtC,AEnlIA,sBsBukBqC,eAAA,CxB+gHrC,AEtlIA,uBsBwkBsC,eAAA,CxBihHtC,AEzlIA,yBsBykBwC,eAAA,CxBmhHxC,AE5lIA,yBsB0kBwC,eAAA,CxBqhHxC,AE/lIA,kBsB2kBiC,eAAA,CxBuhHjC,AElmIA,sBsB4kBqC,eAAA,CxByhHrC,AErmIA,6BsB6kB4C,eAAA,CxB2hH5C,AExmIA,uBsB8kBsC,eAAA,CxB6hHtC,AE3mIA,oBsB+kBmC,eAAA,CxB+hHnC,AE9mIA,kBsBglBiC,eAAA,CxBiiHjC,AEjnIA,qBsBilBoC,eAAA,CxBmiHpC,AEpnIA,sBsBklBqC,eAAA,CxBqiHrC,AEvnIA,gCsBolB8B,eAAA,CxBuiH9B,AE3nIA,mBsBqlBkC,eAAA,CxByiHlC,AE9nIA,iBsBslBgC,eAAA,CxB2iHhC,AEjoIA,kBsBulBiC,eAAA,CxB6iHjC,AEpoIA,kBsBwlBiC,eAAA,CxB+iHjC,AEvoIA,sCsB0lBuC,eAAA,CxBijHvC,AE3oIA,yBsB2lBwC,eAAA,CxBmjHxC,AE9oIA,oBsB4lBmC,eAAA,CxBqjHnC,AEjpIA,wBsB6lBuC,eAAA,CxBujHvC,AEppIA,gEsBgmBuC,eAAA,CxByjHvC,AEzpIA,uDsBkmBiD,eAAA,CxB2jHjD,AE7pIA,6CsBomBuC,eAAA,CxB6jHvC,AEjqIA,gDsBsmB0C,eAAA,CxB+jH1C,AErqIA,8CsBwmBwC,eAAA,CxBikHxC,AEzqIA,yBsBymBwC,eAAA,CxBmkHxC,AE5qIA,oBsB0mBmC,eAAA,CxBqkHnC,AE/qIA,wBsB2mBuC,eAAA,CxBukHvC,AElrIA,0BsB4mByC,eAAA,CxBykHzC,AErrIA,uBsB6mBsC,eAAA,CxB2kHtC,AExrIA,yBsB8mBwC,eAAA,CxB6kHxC,AE3rIA,kBsB+mBiC,eAAA,CxB+kHjC,AE9rIA,0BsBgnByC,eAAA,CxBilHzC,AEjsIA,iBsBinBgC,eAAA,CxBmlHhC,AEpsIA,yBsBknBwC,eAAA,CxBqlHxC,AEvsIA,uBsBmnBsC,eAAA,CxBulHtC,AE1sIA,kDsBqnB0C,eAAA,CxBylH1C,AE9sIA,iDsBunByC,eAAA,CxB2lHzC,AEltIA,gDsBynBwC,eAAA,CxB6lHxC,AEttIA,qBsB0nBoC,eAAA,CxB+lHpC,AEztIA,8CsB4nBsC,eAAA,CxBimHtC,AE7tIA,+CsB8nBuC,eAAA,CxBmmHvC,AEjuIA,2BsB+nB0C,eAAA,CxBqmH1C,AEpuIA,yBsBgoBwC,eAAA,CxBumHxC,AEvuIA,wBsBioBuC,eAAA,CxBymHvC,AE1uIA,0BsBkoByC,eAAA,CxB2mHzC,AE7uIA,wBsBmoBuC,eAAA,CxB6mHvC,AEhvIA,qBsBooBoC,eAAA,CxB+mHpC,AEnvIA,sBsBqoBqC,eAAA,CxBinHrC,AEtvIA,4BsBsoB2C,eAAA,CxBmnH3C,AEzvIA,csBuoB6B,eAAA,CxBqnH7B,AE5vIA,qBsBwoBoC,eAAA,CxBunHpC,AE/vIA,uBsByoBsC,eAAA,CxBynHtC,AElwIA,yBsB0oBwC,eAAA,CxB2nHxC,AErwIA,gCsB2oB+C,eAAA,CxB6nH/C,AExwIA,sBsB4oBqC,eAAA,CxB+nHrC,AE3wIA,uBsB6oBsC,eAAA,CxBioHtC,AE9wIA,kBsB8oBiC,eAAA,CxBmoHjC,AEjxIA,kBsB+oBiC,eAAA,CxBqoHjC,AEpxIA,mBsBgpBkC,eAAA,CxBuoHlC,AEvxIA,iBsBipBgC,eAAA,CxByoHhC,AE1xIA,6BsBkpB4C,eAAA,CxB2oH5C,AE7xIA,oCsBopBqC,eAAA,CxB6oHrC,AEjyIA,kBsBqpBiC,eAAA,CxB+oHjC,AEpyIA,iBsBspBgC,eAAA,CxBipHhC,AEvyIA,kBsBupBiC,eAAA,CxBmpHjC,AE1yIA,2BsBwpB0C,eAAA,CxBqpH1C,AE7yIA,4BsBypB2C,eAAA,CxBupH3C,AEhzIA,4BsB0pB2C,eAAA,CxBypH3C,AEnzIA,4BsB2pB2C,eAAA,CxB2pH3C,AEtzIA,oBsB4pBmC,eAAA,CxB6pHnC,AEzzIA,mBsB6pBkC,eAAA,CxB+pHlC,AE5zIA,qBsB8pBoC,eAAA,CxBiqHpC,AE/zIA,iBsB+pBgC,eAAA,CxBmqHhC,AEl0IA,esBgqB8B,eAAA,CxBqqH9B,AEr0IA,sBsBiqBqC,eAAA,CxBuqHrC,AEx0IA,wBsBkqBuC,eAAA,CxByqHvC,AE30IA,iBsBmqBgC,eAAA,CxB2qHhC,AE90IA,iBsBoqBgC,eAAA,CxB6qHhC,AEj1IA,qBsBqqBoC,eAAA,CxB+qHpC,AEp1IA,qBsBsqBoC,eAAA,CxBirHpC,AEv1IA,wBsBuqBuC,eAAA,CxBmrHvC,AE11IA,gBsBwqB+B,eAAA,CxBqrH/B,AE71IA,2BsByqB0C,eAAA,CxBurH1C,AEh2IA,oBsB0qBmC,eAAA,CxByrHnC,AEn2IA,gBsB2qB+B,eAAA,CxB2rH/B,AEt2IA,wBsB4qBuC,eAAA,CxB6rHvC,AEz2IA,esB6qB8B,eAAA,CxB+rH9B,AE52IA,wBsB8qBuC,eAAA,CxBisHvC,AE/2IA,oBsB+qBmC,eAAA,CxBmsHnC,AEl3IA,kBsBgrBiC,eAAA,CxBqsHjC,AEr3IA,wBsBirBuC,eAAA,CxBusHvC,AEx3IA,0BsBkrByC,eAAA,CxBysHzC,AE33IA,uBsBmrBsC,eAAA,CxB2sHtC,AE93IA,yBsBorBwC,eAAA,CxB6sHxC,AEj4IA,wBsBqrBuC,eAAA,CxB+sHvC,AEp4IA,2BsBsrB0C,eAAA,CxBitH1C,AEv4IA,mBsBurBkC,eAAA,CxBmtHlC,AE14IA,qBsBwrBoC,eAAA,CxBqtHpC,AE74IA,uBsByrBsC,eAAA,CxButHtC,AEh5IA,mBsB0rBkC,eAAA,CxBytHlC,AEn5IA,kBsB2rBiC,eAAA,CxB2tHjC,AEt5IA,sBsB4rBqC,eAAA,CxB6tHrC,AEz5IA,mBsB6rBkC,eAAA,CxB+tHlC,AE55IA,kBsB8rBiC,eAAA,CxBiuHjC,AE/5IA,4BsB+rB2C,eAAA,CxBmuH3C,AEl6IA,0BsBgsByC,eAAA,CxBquHzC,AEr6IA,6BsBisB4C,eAAA,CxBuuH5C,AEx6IA,iBsBksBgC,eAAA,CxByuHhC,AE36IA,6BsBmsB4C,eAAA,CxB2uH5C,AE96IA,gCsBosB+C,eAAA,CxB6uH/C,AEj7IA,mBsBqsBkC,eAAA,CxB+uHlC,AEp7IA,uCsBssBsD,eAAA,CxBivHtD,AEv7IA,2EsBwsB8D,eAAA,CxBmvH9D,AE37IA,+DsB2sB+B,eAAA,CxBqvH/B,AEh8IA,iBsB4sBgC,eAAA,CxBuvHhC,AEn8IA,mBsB6sBkC,eAAA,CxByvHlC,AEt8IA,4CsB+sBwC,eAAA,CxB2vHxC,AE18IA,sBsBgtBqC,eAAA,CxB6vHrC,AE78IA,kBsBitBiC,eAAA,CxB+vHjC,AEh9IA,yBsBktBwC,eAAA,CxBiwHxC,AEn9IA,oBsBmtBmC,eAAA,CxBmwHnC,AEt9IA,0BsBotByC,eAAA,CxBqwHzC,AEz9IA,2BsBqtB0C,eAAA,CxBuwH1C,AE59IA,sBsBstBqC,eAAA,CxBywHrC,AE/9IA,uBsButBsC,eAAA,CxB2wHtC,AEl+IA,iBsBwtBgC,eAAA,CxB6wHhC,AEr+IA,qBsBytBoC,eAAA,CxB+wHpC,AEx+IA,8DsB2tB+C,eAAA,CxBixH/C,AE5+IA,sCsB6tBuC,eAAA,CxBmxHvC,AEh/IA,uBsB8tBsC,eAAA,CxBqxHtC,AEn/IA,yBsB+tBwC,eAAA,CxBuxHxC,AEt/IA,2BsBguB0C,eAAA,CxByxH1C,AEz/IA,kBsBiuBiC,eAAA,CxB2xHjC,AE5/IA,wBsBkuBuC,eAAA,CxB6xHvC,AE//IA,0BsBmuByC,eAAA,CxB+xHzC,AElgJA,yCsBquBuC,eAAA,CxBiyHvC,AEtgJA,6CsBuuByC,eAAA,CxBmyHzC,AE1gJA,uBsBwuBsC,eAAA,CxBqyHtC,AE7gJA,yBsByuBwC,eAAA,CxBuyHxC,AEhhJA,kBsB0uBiC,eAAA,CxByyHjC,AEnhJA,oBsB2uBmC,eAAA,CxB2yHnC,AEthJA,8CsB6uBkC,eAAA,CxB6yHlC,AE1hJA,kDsB+uBoC,eAAA,CxB+yHpC,AE9hJA,iBsBgvBgC,eAAA,CxBizHhC,AEjiJA,0BsBivByC,eAAA,CxBmzHzC,AEpiJA,oBsBkvBmC,eAAA,CxBqzHnC,AEviJA,4EsBqvB2C,eAAA,CxBuzH3C,AE5iJA,+DsBuvBqD,eAAA,CxByzHrD,AEhjJA,qDsByvB2C,eAAA,CxB2zH3C,AEpjJA,wDsB2vB8C,eAAA,CxB6zH9C,AE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","file":"mosaico-material.min.css","sourcesContent":["/*!\n * Font Awesome 4.7.0 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('fontawesome/fontawesome-webfont.eot?v=4.7.0');\n src: url('fontawesome/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'), url('fontawesome/fontawesome-webfont.woff2?v=4.7.0') format('woff2'), url('fontawesome/fontawesome-webfont.woff?v=4.7.0') format('woff'), url('fontawesome/fontawesome-webfont.ttf?v=4.7.0') format('truetype'), url('fontawesome/fontawesome-webfont.svg?v=4.7.0#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: 0.2em 0.25em 0.15em;\n border: solid 0.08em #eee;\n border-radius: 0.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: 0.3em;\n}\n.fa.fa-pull-right {\n margin-left: 0.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: 0.3em;\n}\n.fa.pull-right {\n margin-left: 0.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: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.fa-handshake-o:before {\n content: \"\\f2b5\";\n}\n.fa-envelope-open:before {\n content: \"\\f2b6\";\n}\n.fa-envelope-open-o:before {\n content: \"\\f2b7\";\n}\n.fa-linode:before {\n content: \"\\f2b8\";\n}\n.fa-address-book:before {\n content: \"\\f2b9\";\n}\n.fa-address-book-o:before {\n content: \"\\f2ba\";\n}\n.fa-vcard:before,\n.fa-address-card:before {\n content: \"\\f2bb\";\n}\n.fa-vcard-o:before,\n.fa-address-card-o:before {\n content: \"\\f2bc\";\n}\n.fa-user-circle:before {\n content: \"\\f2bd\";\n}\n.fa-user-circle-o:before {\n content: \"\\f2be\";\n}\n.fa-user-o:before {\n content: \"\\f2c0\";\n}\n.fa-id-badge:before {\n content: \"\\f2c1\";\n}\n.fa-drivers-license:before,\n.fa-id-card:before {\n content: \"\\f2c2\";\n}\n.fa-drivers-license-o:before,\n.fa-id-card-o:before {\n content: \"\\f2c3\";\n}\n.fa-quora:before {\n content: \"\\f2c4\";\n}\n.fa-free-code-camp:before {\n content: \"\\f2c5\";\n}\n.fa-telegram:before {\n content: \"\\f2c6\";\n}\n.fa-thermometer-4:before,\n.fa-thermometer:before,\n.fa-thermometer-full:before {\n content: \"\\f2c7\";\n}\n.fa-thermometer-3:before,\n.fa-thermometer-three-quarters:before {\n content: \"\\f2c8\";\n}\n.fa-thermometer-2:before,\n.fa-thermometer-half:before {\n content: \"\\f2c9\";\n}\n.fa-thermometer-1:before,\n.fa-thermometer-quarter:before {\n content: \"\\f2ca\";\n}\n.fa-thermometer-0:before,\n.fa-thermometer-empty:before {\n content: \"\\f2cb\";\n}\n.fa-shower:before {\n content: \"\\f2cc\";\n}\n.fa-bathtub:before,\n.fa-s15:before,\n.fa-bath:before {\n content: \"\\f2cd\";\n}\n.fa-podcast:before {\n content: \"\\f2ce\";\n}\n.fa-window-maximize:before {\n content: \"\\f2d0\";\n}\n.fa-window-minimize:before {\n content: \"\\f2d1\";\n}\n.fa-window-restore:before {\n content: \"\\f2d2\";\n}\n.fa-times-rectangle:before,\n.fa-window-close:before {\n content: \"\\f2d3\";\n}\n.fa-times-rectangle-o:before,\n.fa-window-close-o:before {\n content: \"\\f2d4\";\n}\n.fa-bandcamp:before {\n content: \"\\f2d5\";\n}\n.fa-grav:before {\n content: \"\\f2d6\";\n}\n.fa-etsy:before {\n content: \"\\f2d7\";\n}\n.fa-imdb:before {\n content: \"\\f2d8\";\n}\n.fa-ravelry:before {\n content: \"\\f2d9\";\n}\n.fa-eercast:before {\n content: \"\\f2da\";\n}\n.fa-microchip:before {\n content: \"\\f2db\";\n}\n.fa-snowflake-o:before {\n content: \"\\f2dc\";\n}\n.fa-superpowers:before {\n content: \"\\f2dd\";\n}\n.fa-wpexplorer:before {\n content: \"\\f2de\";\n}\n.fa-meetup:before {\n content: \"\\f2e0\";\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.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.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.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 * Font Awesome 4.7.0 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('fontawesome/fontawesome-webfont.eot?v=4.7.0');\n src: url('fontawesome/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'), url('fontawesome/fontawesome-webfont.woff2?v=4.7.0') format('woff2'), url('fontawesome/fontawesome-webfont.woff?v=4.7.0') format('woff'), url('fontawesome/fontawesome-webfont.ttf?v=4.7.0') format('truetype'), url('fontawesome/fontawesome-webfont.svg?v=4.7.0#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: 0.2em 0.25em 0.15em;\n border: solid 0.08em #eee;\n border-radius: 0.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: 0.3em;\n}\n.fa.fa-pull-right {\n margin-left: 0.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: 0.3em;\n}\n.fa.pull-right {\n margin-left: 0.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: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.fa-handshake-o:before {\n content: \"\\f2b5\";\n}\n.fa-envelope-open:before {\n content: \"\\f2b6\";\n}\n.fa-envelope-open-o:before {\n content: \"\\f2b7\";\n}\n.fa-linode:before {\n content: \"\\f2b8\";\n}\n.fa-address-book:before {\n content: \"\\f2b9\";\n}\n.fa-address-book-o:before {\n content: \"\\f2ba\";\n}\n.fa-vcard:before,\n.fa-address-card:before {\n content: \"\\f2bb\";\n}\n.fa-vcard-o:before,\n.fa-address-card-o:before {\n content: \"\\f2bc\";\n}\n.fa-user-circle:before {\n content: \"\\f2bd\";\n}\n.fa-user-circle-o:before {\n content: \"\\f2be\";\n}\n.fa-user-o:before {\n content: \"\\f2c0\";\n}\n.fa-id-badge:before {\n content: \"\\f2c1\";\n}\n.fa-drivers-license:before,\n.fa-id-card:before {\n content: \"\\f2c2\";\n}\n.fa-drivers-license-o:before,\n.fa-id-card-o:before {\n content: \"\\f2c3\";\n}\n.fa-quora:before {\n content: \"\\f2c4\";\n}\n.fa-free-code-camp:before {\n content: \"\\f2c5\";\n}\n.fa-telegram:before {\n content: \"\\f2c6\";\n}\n.fa-thermometer-4:before,\n.fa-thermometer:before,\n.fa-thermometer-full:before {\n content: \"\\f2c7\";\n}\n.fa-thermometer-3:before,\n.fa-thermometer-three-quarters:before {\n content: \"\\f2c8\";\n}\n.fa-thermometer-2:before,\n.fa-thermometer-half:before {\n content: \"\\f2c9\";\n}\n.fa-thermometer-1:before,\n.fa-thermometer-quarter:before {\n content: \"\\f2ca\";\n}\n.fa-thermometer-0:before,\n.fa-thermometer-empty:before {\n content: \"\\f2cb\";\n}\n.fa-shower:before {\n content: \"\\f2cc\";\n}\n.fa-bathtub:before,\n.fa-s15:before,\n.fa-bath:before {\n content: \"\\f2cd\";\n}\n.fa-podcast:before {\n content: \"\\f2ce\";\n}\n.fa-window-maximize:before {\n content: \"\\f2d0\";\n}\n.fa-window-minimize:before {\n content: \"\\f2d1\";\n}\n.fa-window-restore:before {\n content: \"\\f2d2\";\n}\n.fa-times-rectangle:before,\n.fa-window-close:before {\n content: \"\\f2d3\";\n}\n.fa-times-rectangle-o:before,\n.fa-window-close-o:before {\n content: \"\\f2d4\";\n}\n.fa-bandcamp:before {\n content: \"\\f2d5\";\n}\n.fa-grav:before {\n content: \"\\f2d6\";\n}\n.fa-etsy:before {\n content: \"\\f2d7\";\n}\n.fa-imdb:before {\n content: \"\\f2d8\";\n}\n.fa-ravelry:before {\n content: \"\\f2d9\";\n}\n.fa-eercast:before {\n content: \"\\f2da\";\n}\n.fa-microchip:before {\n content: \"\\f2db\";\n}\n.fa-snowflake-o:before {\n content: \"\\f2dc\";\n}\n.fa-superpowers:before {\n content: \"\\f2dd\";\n}\n.fa-wpexplorer:before {\n content: \"\\f2de\";\n}\n.fa-meetup:before {\n content: \"\\f2e0\";\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.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.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.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 * 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: 0.5em 0;\n padding: 0 0 0 1.5em;\n}\n.mo ul li,\n.mo ol li {\n margin: 0.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: 0.5em 0;\n}\n.mo h2,\n.mo h3.box_title {\n font-size: 1.5em;\n margin: 0.5em 0;\n}\n.mo h3 {\n font-size: 1.3em;\n margin: 0.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: 0.5em 0.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: 0.1em 0.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.mo table > tbody > tr.even > td {\n background-color: #d2a7a7;\n}\n.mo table > tr.even > td.active,\n.mo table > tbody > 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: 0.5em 0.7em;\n}\n.mo div.showall {\n padding: 0 0.7em 0.5em 0.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: 0.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 .three-quarter-width {\n width: 75% !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: 0.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: 0.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 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: #BD362F;\n}\n.mo .icon_green {\n color: #51A351;\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 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: 0.5em;\n background-color: #b65f5f;\n margin: 0.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: 0.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: 1em;\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 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.mo .button_links a.button_dropdown_split.primary.pressed,\n.mo .links.inline a.button_dropdown_split.primary.pressed,\n.mo .cell_links a.button_dropdown_split.primary.pressed,\n.mo .button_links a.button_dropdown_split.primary.selected,\n.mo .links.inline a.button_dropdown_split.primary.selected,\n.mo .cell_links a.button_dropdown_split.primary.selected {\n background-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: 0.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: 1em;\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 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.mo a.button.primary.pressed,\n.mo input.form-submit.primary.pressed,\n.mo a.button.primary.selected,\n.mo input.form-submit.primary.selected {\n background-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: 0.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: 1em;\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 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.mo ul.button_links li a.primary.pressed,\n.mo ul.inline li a.primary.pressed,\n.mo ul.button_links li a.primary.selected,\n.mo ul.inline li a.primary.selected {\n background-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: 0.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 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: 0.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: 1em;\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 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 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.mo ul.cell_links > li > a.primary.pressed,\n.mo ul.cell_links > .dropdown-container > li > a.primary.pressed,\n.mo ul.cell_links > li > a.primary.selected,\n.mo ul.cell_links > .dropdown-container > li > a.primary.selected {\n background-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: 0.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: 0.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: 1em;\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: 0.25em 0.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 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.mo ul.top_links li a.primary.pressed,\n.mo ul.box_top_links li a.primary.pressed,\n.mo ul.top_links a.button_dropdown_split.primary.pressed,\n.mo ul.box_top_links a.button_dropdown_split.primary.pressed,\n.mo ul.top_links li a.primary.selected,\n.mo ul.box_top_links li a.primary.selected,\n.mo ul.top_links a.button_dropdown_split.primary.selected,\n.mo ul.box_top_links a.button_dropdown_split.primary.selected {\n background-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: 0.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 0.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: 0.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: 0.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 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: 0.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: 0.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: 1em;\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: 0.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% transparent;\n opacity: 0.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: 0.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: 0.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: 1em;\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 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.mo .ui-button.primary.pressed,\n.mo .ui-button.primary.selected {\n background-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: 0.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 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: 0.5em 1em 0.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: 0.1em 16px 0.2em 0;\n}\n.mo .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-close {\n position: absolute;\n right: 0.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: 0.4em;\n text-indent: -9999999px;\n}\n.mo .ui-dialog .ui-dialog-content {\n border: 0;\n padding: 0.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}\n.mo .ui-dialog .async_loading_iframe.with_bg {\n width: 10%;\n height: 6%;\n min-height: 50px;\n position: absolute;\n left: 45%;\n top: 47%;\n}\n.mo .ui-dialog .async_loading_iframe.over {\n position: absolute;\n left: 0;\n top: 0;\n}\n.mo .ui-dialog .ui-dialog-buttonpane {\n text-align: center;\n background-image: none;\n margin: 0.5em 0 0 0;\n border: none;\n padding: 0.3em 0;\n}\n.mo .ui-dialog.dialog_info .ui-dialog-titlebar {\n background: none #604b5a;\n}\n.mo .ui-dialog.dialog_warn .ui-dialog-titlebar {\n background: none #a71b18;\n}\n.mo .ui-dialog.dialog_ok .ui-dialog-titlebar {\n background: none #715229;\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: 0.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 0.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: 0.5em 1em;\n margin: 0 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: 0.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: 0.5em 1em;\n margin: 0 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: 0.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: 0.5em 1em;\n margin: 0.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: 0.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: 0.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: 1em;\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: 0.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 #BD362F;\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: 1em;\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: 1em;\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 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 .mo .propInput .data-select:after.primary.pressed,\n .mo .propInput .data-select:after.primary.selected {\n background-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: 0.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: 1em;\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: 1em;\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: 0.5em;\n width: auto;\n}\n.mo .propInput .evo-pointer {\n position: absolute;\n font-size: 1em;\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: 0.5em;\n width: auto;\n}\n.mo .propInput .evo-pointer:before {\n font-size: 1em;\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 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.mo .propInput .evo-pointer:before.primary.pressed,\n.mo .propInput .evo-pointer:before.primary.selected {\n background-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: 0.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: 0.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: 0.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: 0.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 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 display: block;\n position: absolute;\n top: -3px;\n bottom: -3px;\n left: -7px;\n right: -7px;\n border: 1px solid transparent;\n border-width: 0;\n border-left-width: 5px;\n border-right-width: 5px;\n outline: 1px solid transparent;\n pointer-events: none;\n}\n#main-toolbox .objEdit.level1.selectable.selecteditem:after {\n outline-color: transparent;\n border-color: #ff5722;\n border-style: dashed solid;\n animation: border-color-selection-pulsate 4s infinite;\n}\n#main-toolbox .objEdit.level1.selectable:hover:after {\n outline-color: currentcolor;\n border-top-color: transparent !important;\n border-bottom-color: transparent !important;\n animation: none;\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: 1em;\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: 0.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: 1em;\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 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#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after.primary.pressed,\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before.primary.pressed,\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after.primary.selected,\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before.primary.selected {\n background-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: 0.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: 0.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.\n\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\n2019/02/19 Update: since Mozilla Firefox 63 (Sept 2018), Mozilla implemented \n\"-webkit-min-device-pixel-ratio\", so this hack is currently being executed also by Firefox:\n See: https://developer.mozilla.org/en-US/docs/Web/CSS/@media\nWe have no reports of side effects on Firefox resulting from this code being enabled.\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/*\nAfter enabling the dashed outlines for editable contents we had reports from webkit based\nbrowsers (Safari) users of flickering similar to the previous issues.\n See: https://github.com/voidlabs/mosaico/issues/430\nPlease note there is no space between \"and\" and the following bracket because we only\nwant to tarket webkit (Safari) and not blink (Chrome).\n*/\n@media screen and (min-color-index:0) and(-webkit-min-device-pixel-ratio:0) { @media {\n #main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable:hover .mce-content-body:not(.selecteditem):not(:hover):after,\n #main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable:hover .selectable-img:not(.selecteditem):not(:hover) .mo-imgselectionhelper {\n \tvisibility: hidden !important;\n \tz-index: -1 !important;\n \topacity: 1 !important;\n \tborder-width: 0px 0px !important;\n border-style: solid solid !important;\n }\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: 0.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 0.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: 0.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 .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: 0.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: 1em;\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: 25px;\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 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#main-edit-area .tool.primary.pressed,\n#main-edit-area .tool.primary.selected {\n background-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: 0.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 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 {\n margin-left: 4px;\n}\n#main-edit-area .midtools .tool {\n margin-left: 4px;\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@keyframes opacityAnimation {\n 0% {\n opacity: 0.6;\n }\n 50% {\n opacity: 0.3;\n }\n 100% {\n opacity: 0.6;\n }\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 .wysiwyg-loading {\n pointer-events: none;\n animation: opacityAnimation 2s infinite;\n}\n#main-wysiwyg-area span[contenteditable],\n#main-wysiwyg-area a[contenteditable],\n#main-wysiwyg-area b[contenteditable],\n#main-wysiwyg-area i[contenteditable],\n#main-wysiwyg-area cite[contenteditable],\n#main-wysiwyg-area code[contenteditable],\n#main-wysiwyg-area em[contenteditable],\n#main-wysiwyg-area label[contenteditable],\n#main-wysiwyg-area small[contenteditable],\n#main-wysiwyg-area strong[contenteditable],\n#main-wysiwyg-area sub[contenteditable],\n#main-wysiwyg-area sup[contenteditable],\n#main-wysiwyg-area q[contenteditable] {\n display: inline-block;\n}\n#main-wysiwyg-area [contenteditable] {\n min-width: 1em;\n}\n#main-wysiwyg-area [contenteditable]:empty::before {\n content: \"\\2063\";\n display: inline-block;\n position: relative;\n}\n#main-edit-area .mce-edit-focus {\n outline: 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 display: block;\n position: absolute;\n top: -3px;\n bottom: -3px;\n left: -12px;\n right: -12px;\n border: 1px solid transparent;\n border-width: 0;\n border-left-width: 10px;\n border-right-width: 10px;\n outline: 1px solid transparent;\n pointer-events: none;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable.selected .mo-blockselectionhelper {\n outline-color: transparent;\n border-color: #ff5722;\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 outline-color: currentcolor;\n border-top-color: transparent !important;\n border-bottom-color: transparent !important;\n animation: none;\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 #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable .mce-content-body:before {\n content: \"\";\n display: block;\n position: absolute;\n top: -3px;\n bottom: -3px;\n left: -7px;\n right: -7px;\n border: 1px dashed transparent;\n opacity: 0.3;\n pointer-events: none;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable:hover .mce-content-body:before {\n border-color: currentcolor;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable:hover .mce-content-body:hover:before {\n border-color: transparent;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable .selectable-img .mo-imgselectionhelper:before {\n content: \"\";\n display: block;\n position: absolute;\n top: -3px;\n bottom: -3px;\n left: -7px;\n right: -7px;\n border: 1px dashed transparent;\n opacity: 0.3;\n pointer-events: none;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable:hover .selectable-img .mo-imgselectionhelper:before {\n border-color: currentcolor;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable:hover .selectable-img:hover .mo-imgselectionhelper:before {\n border-color: transparent;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .mce-content-body {\n position: relative;\n cursor: text;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .mce-content-body:after {\n content: \"\";\n display: block;\n position: absolute;\n top: -3px;\n bottom: -3px;\n left: -7px;\n right: -7px;\n border: 1px solid transparent;\n border-width: 0;\n border-left-width: 5px;\n border-right-width: 5px;\n outline: 1px solid transparent;\n pointer-events: none;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .mce-content-body.selecteditem:after {\n outline-color: transparent;\n border-color: #ff5722;\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 outline-color: currentcolor;\n border-top-color: transparent !important;\n border-bottom-color: transparent !important;\n animation: none;\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:after {\n content: \"\";\n display: block;\n position: absolute;\n top: -3px;\n bottom: -3px;\n left: -7px;\n right: -7px;\n border: 1px solid transparent;\n border-width: 0;\n border-left-width: 5px;\n border-right-width: 5px;\n outline: 1px solid transparent;\n pointer-events: none;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .selectable-img.selecteditem .mo-imgselectionhelper:after {\n outline-color: transparent;\n border-color: #ff5722;\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:after {\n outline-color: currentcolor;\n border-top-color: transparent !important;\n border-bottom-color: transparent !important;\n animation: none;\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-container.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 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}\nbody.moxman-v2 .moxman-btn {\n border: none;\n background-color: transparent;\n}\nbody.moxman-v2 .moxman-btn button {\n background-color: #ff5722;\n color: #eeeeee;\n border: 1px solid #ff5722;\n border-radius: 2px;\n}\nbody.moxman-v2 .moxman-btn button i {\n color: #eeeeee;\n}\nbody.moxman-v2 .moxman-btn button .moxman-caret {\n border-top-color: #eeeeee;\n}\nbody.moxman-v2 .moxman-btn.moxman-active button {\n background-color: #ee3900;\n}\nbody.moxman-v2 .moxman-btn.moxman-primary button {\n color: #eeeeee;\n background-color: #ff5722;\n border: 1px solid #ff5722;\n}\nbody.moxman-v2 .moxman-btn.moxman-primary button i {\n color: #eeeeee;\n}\nbody.moxman-v2 .moxman-btn.moxman-primary button .moxman-caret {\n border-top-color: #eeeeee;\n}\nbody.moxman-v2 .moxman-combobox .moxman-textbox {\n border-top-left-radius: 2px;\n border-bottom-left-radius: 2px;\n}\nbody.moxman-v2 .moxman-combobox .moxman-btn button {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\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: 0.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: 0.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 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.3.2\n (c) 2018 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.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, black, black 1px, white 1px, white 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: 0.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: 0.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/* evo color specific changes for material-like look */\n.mo .evo-pop {\n min-width: 250px;\n}\n.mo .evo-pop:before {\n display: block;\n content: \"\";\n background-color: rgba(158, 158, 158, 0.19);\n position: absolute;\n left: 0;\n right: 0;\n height: 43px;\n bottom: 0;\n}\n.mo .evo-pop th.ui-widget-content {\n text-align: center;\n font-weight: normal;\n}\n.mo .evo-pop .evo-more {\n text-align: right;\n padding: 7px 5px;\n}\n.mo .evo-pop .evo-more a {\n color: #ff5722;\n text-transform: uppercase;\n font-weight: bold;\n}\n.mo .evo-pop .evo-color {\n padding: 6px 3px 2px 4px;\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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL25vZGVfbW9kdWxlcy9mb250LWF3ZXNvbWUvbGVzcy9wYXRoLmxlc3MiLCIuLi9zcmMvY3NzL3N0eWxlX2VsZW1lbnRzX2pxdWVyeS5sZXNzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvbnQtYXdlc29tZS9sZXNzL2NvcmUubGVzcyIsIi4uL25vZGVfbW9kdWxlcy9mb250LWF3ZXNvbWUvbGVzcy9sYXJnZXIubGVzcyIsIi4uL25vZGVfbW9kdWxlcy9mb250LWF3ZXNvbWUvbGVzcy9maXhlZC13aWR0aC5sZXNzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvbnQtYXdlc29tZS9sZXNzL2xpc3QubGVzcyIsIi4uL25vZGVfbW9kdWxlcy9mb250LWF3ZXNvbWUvbGVzcy9ib3JkZXJlZC1wdWxsZWQubGVzcyIsIi4uL25vZGVfbW9kdWxlcy9mb250LWF3ZXNvbWUvbGVzcy9hbmltYXRlZC5sZXNzIiwiLi4vL3Jvb3QvbW9zYWljby9ub2RlX21vZHVsZXMvZm9udC1hd2Vzb21lL2xlc3MvbWl4aW5zLmxlc3MiLCIuLi9ub2RlX21vZHVsZXMvZm9udC1hd2Vzb21lL2xlc3Mvcm90YXRlZC1mbGlwcGVkLmxlc3MiLCIuLi9ub2RlX21vZHVsZXMvZm9udC1hd2Vzb21lL2xlc3Mvc3RhY2tlZC5sZXNzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvbnQtYXdlc29tZS9sZXNzL2ljb25zLmxlc3MiLCIuLi8vcm9vdC9tb3NhaWNvL25vZGVfbW9kdWxlcy9mb250LWF3ZXNvbWUvbGVzcy92YXJpYWJsZXMubGVzcyIsIi4uL25vZGVfbW9kdWxlcy9mb250LWF3ZXNvbWUvbGVzcy9zY3JlZW4tcmVhZGVyLmxlc3MiLCIuLi9ub2RlX21vZHVsZXMvZm9udC1hd2Vzb21lL2xlc3MvbWl4aW5zLmxlc3MiLCIuLi8vcm9vdC9tb3NhaWNvL25vZGVfbW9kdWxlcy9mb250LWF3ZXNvbWUvbGVzcy9wYXRoLmxlc3MiLCIuLi8vcm9vdC9tb3NhaWNvL25vZGVfbW9kdWxlcy9mb250LWF3ZXNvbWUvbGVzcy9jb3JlLmxlc3MiLCIuLi8vcm9vdC9tb3NhaWNvL25vZGVfbW9kdWxlcy9mb250LWF3ZXNvbWUvbGVzcy9sYXJnZXIubGVzcyIsIi4uLy9yb290L21vc2FpY28vbm9kZV9tb2R1bGVzL2ZvbnQtYXdlc29tZS9sZXNzL2ZpeGVkLXdpZHRoLmxlc3MiLCIuLi8vcm9vdC9tb3NhaWNvL25vZGVfbW9kdWxlcy9mb250LWF3ZXNvbWUvbGVzcy9saXN0Lmxlc3MiLCIuLi8vcm9vdC9tb3NhaWNvL25vZGVfbW9kdWxlcy9mb250LWF3ZXNvbWUvbGVzcy9ib3JkZXJlZC1wdWxsZWQubGVzcyIsIi4uLy9yb290L21vc2FpY28vbm9kZV9tb2R1bGVzL2ZvbnQtYXdlc29tZS9sZXNzL2FuaW1hdGVkLmxlc3MiLCIuLi8vcm9vdC9tb3NhaWNvL25vZGVfbW9kdWxlcy9mb250LWF3ZXNvbWUvbGVzcy9yb3RhdGVkLWZsaXBwZWQubGVzcyIsIi4uLy9yb290L21vc2FpY28vbm9kZV9tb2R1bGVzL2ZvbnQtYXdlc29tZS9sZXNzL3N0YWNrZWQubGVzcyIsIi4uLy9yb290L21vc2FpY28vbm9kZV9tb2R1bGVzL2ZvbnQtYXdlc29tZS9sZXNzL2ljb25zLmxlc3MiLCIuLi8vcm9vdC9tb3NhaWNvL25vZGVfbW9kdWxlcy9mb250LWF3ZXNvbWUvbGVzcy9zY3JlZW4tcmVhZGVyLmxlc3MiLCIuLi9zcmMvY3NzL3N0eWxlX21vc2FpY29fdG9vbHMubGVzcyIsIi4uL3NyYy9jc3MvYXBwX3N0YW5kYWxvbmVfbWF0ZXJpYWwubGVzcyIsIi4uL3NyYy9jc3Mvc3R5bGVfbW9zYWljby5sZXNzIiwiLi4vc3JjL2Nzcy9zdHlsZV9lbGVtZW50cy5sZXNzIiwiLi4vc3JjL2Nzcy9zdHlsZV9lbGVtZW50c19taXhpbnMubGVzcyIsIi4uL3NyYy9jc3Mvc2FmYXJpaGFjay5jc3MiLCIuLi9zcmMvY3NzL3N0eWxlX21vc2FpY29fY29udGVudC5sZXNzIiwiLi4vc3JjL2Nzcy9zdHlsZV9lbGVtZW50c19tb3hpZS5sZXNzIiwiLi4vbm9kZV9tb2R1bGVzL3RvYXN0ci90b2FzdHIubGVzcyIsIi4uL25vZGVfbW9kdWxlcy9ldm9sLWNvbG9ycGlja2VyL2Nzcy9ldm9sLWNvbG9ycGlja2VyLmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFHQTtFQUNFLGFBQWEsYUFBYjtFQUNBLFNBQVMsOENBQVQ7RUFDQSxTQUFTLHNEQUFrRSxPQUFPLDBCQUM1RSxpREFBNkQsT0FBTyxjQUNwRSxnREFBNEQsT0FBTyxhQUNuRSwrQ0FBMkQsT0FBTyxpQkFDbEUsa0VBQThFLE9BQU8sTUFKM0Y7RUFNQSxtQkFBQTtFQUNBLGtCQUFBOztBQ2JEO0VDSUMscUJBQUE7RUFDQSw2Q0FBQTtFQUNBLGtCQUFBO0VBQ0Esb0JBQUE7RUFDQSxtQ0FBQTtFQUNBLGtDQUFBOzs7QURURDtFRUtDLHVCQUFBO0VBQ0EsbUJBQUE7RUFDQSxvQkFBQTs7QUZQRDtFRVNzQixjQUFBOztBRlR0QjtFRVVzQixjQUFBOztBRlZ0QjtFRVdzQixjQUFBOztBRlh0QjtFRVlzQixjQUFBOztBRlp0QjtFR0dDLG1CQUFBO0VBQ0Esa0JBQUE7O0FISkQ7RUlJQyxlQUFBO0VBQ0EseUJBQUE7RUFDQSxxQkFBQTs7QUpORCxNSU9DO0VBQU8sa0JBQUE7O0FKUFI7RUlVQyxrQkFBQTtFQUNBLG1CQUFBO0VBQ0EsbUJBQUE7RUFDQSxpQkFBQTtFQUNBLGtCQUFBOztBSmRELE1BQUM7RUlnQkUsbUJBQUE7O0FKaEJIO0VLSUMsNEJBQUE7RUFDQSx5QkFBQTtFQUNBLG9CQUFBOztBTE5EO0VLUzZCLFdBQUE7O0FMVDdCO0VLVThCLFlBQUE7O0FMVjlCLEdBQUM7RUthK0IsbUJBQUE7O0FMYmhDLEdBQUM7RUtjZ0Msa0JBQUE7OztBQUlsQztFQUFjLFlBQUE7O0FBQ2Q7RUFBYSxXQUFBOztBQUdYLEdBQUM7RUFBYSxtQkFBQTs7QUFDZCxHQUFDO0VBQWMsa0JBQUE7O0FMdkJoQjtFTUlDLDZDQUFBO0VBQ1EscUNBQUE7O0FOTFQ7RU1TQyx1Q0FBdUMsUUFBdkM7RUFDUSwrQkFBK0IsUUFBL0I7O0FBR1Y7RUFDRTtJQUNFLG1CQUFtQixZQUFuQjtJQUNRLFdBQVcsWUFBWDs7RUFFVjtJQUNFLG1CQUFtQixjQUFuQjtJQUNRLFdBQVcsY0FBWDs7O0FBSVo7RUFDRTtJQUNFLG1CQUFtQixZQUFuQjtJQUNRLFdBQVcsWUFBWDs7RUFFVjtJQUNFLG1CQUFtQixjQUFuQjtJQUNRLFdBQVcsY0FBWDs7O0FOL0JYO0VPY0MsWUFBWSwwREFBWjtFQUNBLG1CQUFtQixhQUFuQjtFQUNJLGVBQWUsYUFBZjtFQUNJLFdBQVcsYUFBWDs7QVBqQlQ7RU9jQyxZQUFZLDBEQUFaO0VBQ0EsbUJBQW1CLGNBQW5CO0VBQ0ksZUFBZSxjQUFmO0VBQ0ksV0FBVyxjQUFYOztBUGpCVDtFT2NDLFlBQVksMERBQVo7RUFDQSxtQkFBbUIsY0FBbkI7RUFDSSxlQUFlLGNBQWY7RUFDSSxXQUFXLGNBQVg7O0FQakJUO0VPcUJDLFlBQVksb0VBQVo7RUFDQSxtQkFBbUIsWUFBbkI7RUFDSSxlQUFlLFlBQWY7RUFDSSxXQUFXLFlBQVg7O0FQeEJUO0VPcUJDLFlBQVksb0VBQVo7RUFDQSxtQkFBbUIsWUFBbkI7RUFDSSxlQUFlLFlBQWY7RUFDSSxXQUFXLFlBQVg7O0FQeEJULEtBQU07QUFBZSxLQUFNO0FBQWdCLEtBQU07QUFBZ0IsS0FBTTtBQUFxQixLQUFNO0VRa0JqRyxZQUFBOztBUmxCRDtFU0lDLGtCQUFBO0VBQ0EscUJBQUE7RUFDQSxVQUFBO0VBQ0EsV0FBQTtFQUNBLGdCQUFBO0VBQ0Esc0JBQUE7O0FUVEQ7QUFBYztFU1liLGtCQUFBO0VBQ0EsT0FBQTtFQUNBLFdBQUE7RUFDQSxrQkFBQTs7QVRmRDtFU2lCNEIsb0JBQUE7O0FUakI1QjtFU2tCNEIsY0FBQTs7QVRsQjVCO0VTbUIyQixXQUFBOzs7O0FUbkIzQixTQUFTO0VVR3VCLFNDd1VsQixPRHhVa0I7O0FWSGhDLFNBQVM7RVVJdUIsU0MyZGxCLE9EM2RrQjs7QVZKaEMsVUFBVTtFVUt1QixTQzBqQmxCLE9EMWpCa0I7O0FWTGpDLGNBQWM7RVVNdUIsU0NzT2xCLE9EdE9rQjs7QVZOckMsU0FBUztFVU91QixTQ3VXbEIsT0R2V2tCOztBVlBoQyxRQUFRO0VVUXVCLFNDa25CbEIsT0RsbkJrQjs7QVZSL0IsVUFBVTtFVVN1QixTQ3NuQmxCLE9EdG5Ca0I7O0FWVGpDLFFBQVE7RVVVdUIsU0N5dEJsQixPRHp0QmtCOztBVlYvQixRQUFRO0VVV3VCLFNDbVJsQixPRG5Sa0I7O0FWWC9CLFlBQVk7RVVZdUIsU0N1cEJsQixPRHZwQmtCOztBVlpuQyxNQUFNO0VVYXVCLFNDcXBCbEIsT0RycEJrQjs7QVZiN0IsV0FBVztFVWN1QixTQ3NwQmxCLE9EdHBCa0I7O0FWZGxDLFNBQVM7RVVldUIsU0N5SWxCLE9EeklrQjs7QVZmaEMsVUFBVTtBQUFTLFNBQVM7QUFBUyxTQUFTO0VVa0JkLFNDcXFCbEIsT0RycUJrQjs7QVZsQmhDLGVBQWU7RVVtQnVCLFNDOGlCbEIsT0Q5aUJrQjs7QVZuQnRDLGdCQUFnQjtFVW9CdUIsU0M0aUJsQixPRDVpQmtCOztBVnBCdkMsYUFBYTtFVXFCdUIsU0M0ZmxCLE9ENWZrQjs7QVZyQnBDLFVBQVU7RVVzQnVCLFNDaWtCbEIsT0Rqa0JrQjs7QVZ0QmpDLFFBQVE7QUFBUyxPQUFPO0VVd0JNLFNDZ0tsQixPRGhLa0I7O0FWeEI5QixXQUFXO0VVeUJ1QixTQytxQmxCLE9EL3FCa0I7O0FWekJsQyxRQUFRO0VVMEJ1QixTQ3dWbEIsT0R4VmtCOztBVjFCL0IsVUFBVTtFVTJCdUIsU0N1UGxCLE9EdlBrQjs7QVYzQmpDLFdBQVc7RVU0QnVCLFNDZ0psQixPRGhKa0I7O0FWNUJsQyxRQUFRO0VVNkJ1QixTQ21oQmxCLE9EbmhCa0I7O0FWN0IvQixZQUFZO0VVOEJ1QixTQ2dNbEIsT0RoTWtCOztBVjlCbkMsdUJBQXVCO0VVK0J1QixTQ1lsQixPRFprQjs7QVYvQjlDLHFCQUFxQjtFVWdDdUIsU0NjbEIsT0Rka0I7O0FWaEM1QyxTQUFTO0VVaUN1QixTQ3FXbEIsT0RyV2tCOztBVmpDaEMsaUJBQWlCO0VVa0N1QixTQ3dlbEIsT0R4ZWtCOztBVmxDeEMsZ0JBQWdCO0FBQVMsVUFBVTtFVW9DRixTQ3NnQmxCLE9EdGdCa0I7O0FWcENqQyxXQUFXO0VVcUN1QixTQ2dnQmxCLE9EaGdCa0I7O0FWckNsQyxZQUFZO0VVc0N1QixTQ3dZbEIsT0R4WWtCOztBVnRDbkMsUUFBUTtFVXVDdUIsU0MyWWxCLE9EM1lrQjs7QVZ2Qy9CLFFBQVE7RVV3Q3VCLFNDNFBsQixPRDVQa0I7O0FWeEMvQixjQUFjO0VVeUN1QixTQ29VbEIsT0RwVWtCOztBVnpDckMsY0FBYztFVTBDdUIsU0NpdEJsQixPRGp0QmtCOztBVjFDckMsZUFBZTtFVTJDdUIsU0Mrc0JsQixPRC9zQmtCOztBVjNDdEMsYUFBYTtFVTRDdUIsU0NndEJsQixPRGh0QmtCOztBVjVDcEMsVUFBVTtFVTZDdUIsU0N5ZWxCLE9EemVrQjs7QVY3Q2pDLFdBQVc7RVU4Q3VCLFNDd0JsQixPRHhCa0I7O0FWOUNsQyxPQUFPO0VVK0N1QixTQ3ltQmxCLE9Eem1Ca0I7O0FWL0M5QixRQUFRO0VVZ0R1QixTQ3ltQmxCLE9Eem1Ca0I7O0FWaEQvQixRQUFRO0VVaUR1QixTQ3lEbEIsT0R6RGtCOztBVmpEL0IsWUFBWTtFVWtEdUIsU0N5RGxCLE9EekRrQjs7QVZsRG5DLFNBQVM7RVVtRHVCLFNDK2RsQixPRC9ka0I7O0FWbkRoQyxVQUFVO0VVb0R1QixTQzJFbEIsT0QzRWtCOztBVnBEakMsUUFBUTtFVXFEdUIsU0MwUGxCLE9EMVBrQjs7QVZyRC9CLFFBQVE7RVVzRHVCLFNDaURsQixPRGpEa0I7O0FWdEQvQixVQUFVO0VVdUR1QixTQzBWbEIsT0QxVmtCOztBVnZEakMsZUFBZTtFVXdEdUIsU0N3bUJsQixPRHhtQmtCOztBVnhEdEMsY0FBYztFVXlEdUIsU0N3bUJsQixPRHhtQmtCOztBVnpEckMsY0FBYztFVTBEdUIsU0NwQ2xCLE9Eb0NrQjs7QVYxRHJDLGdCQUFnQjtFVTJEdUIsU0N2Q2xCLE9EdUNrQjs7QVYzRHZDLGVBQWU7RVU0RHVCLFNDckNsQixPRHFDa0I7O0FWNUR0QyxpQkFBaUI7RVU2RHVCLFNDeENsQixPRHdDa0I7O0FWN0R4QyxRQUFRO0VVOER1QixTQytXbEIsT0QvV2tCOztBVjlEL0IsVUFBVTtBQUFTLFdBQVc7RVVnRUksU0MyYWxCLE9EM2FrQjs7QVZoRWxDLFVBQVU7RVVpRXVCLFNDc1VsQixPRHRVa0I7O0FWakVqQyxnQkFBZ0I7RVVrRXVCLFNDa3JCbEIsT0RsckJrQjs7QVZsRXZDLFNBQVM7QUFBUyxTQUFTO0FBQVMsYUFBYTtFVXFFYixTQzBibEIsT0QxYmtCOztBVnJFcEMsVUFBVTtFVXNFdUIsU0NrYmxCLE9EbGJrQjs7QVZ0RWpDLGNBQWM7RVV1RXVCLFNDd1hsQixPRHhYa0I7O0FWdkVyQyxVQUFVO0VVd0V1QixTQ3REbEIsT0RzRGtCOztBVnhFakMsUUFBUTtFVXlFdUIsU0NtbkJsQixPRG5uQmtCOztBVnpFL0IsUUFBUTtBQUFTLG1CQUFtQjtFVTJFTSxTQythbEIsT0QvYWtCOztBVjNFMUMsa0JBQWtCO0VVNEV1QixTQzhmbEIsT0Q5ZmtCOztBVjVFekMsa0JBQWtCO0VVNkV1QixTQytFbEIsT0QvRWtCOztBVjdFekMsVUFBVTtFVThFdUIsU0N6QmxCLE9EeUJrQjs7QVY5RWpDLGlCQUFpQjtFVStFdUIsU0NtakJsQixPRG5qQmtCOztBVi9FeEMsaUJBQWlCO0VVZ0Z1QixTQ3FMbEIsT0RyTGtCOztBVmhGeEMsWUFBWTtFVWlGdUIsU0NsQmxCLE9Ea0JrQjs7QVZqRm5DLFFBQVE7RVVrRnVCLFNDc2JsQixPRHRia0I7O0FWbEYvQixTQUFTO0VVbUZ1QixTQ2dhbEIsT0RoYWtCOztBVm5GaEMsUUFBUTtFVW9GdUIsU0NtakJsQixPRG5qQmtCOztBVnBGL0IsV0FBVztFVXFGdUIsU0MrTmxCLE9EL05rQjs7QVZyRmxDLGdCQUFnQjtFVXNGdUIsU0NnTGxCLE9EaExrQjs7QVZ0RnZDLGdCQUFnQjtFVXVGdUIsU0M0aUJsQixPRDVpQmtCOztBVnZGdkMsU0FBUztFVXdGdUIsU0MrSWxCLE9EL0lrQjs7QVZ4RmhDLGdCQUFnQjtFVXlGdUIsU0N5RWxCLE9EekVrQjs7QVZ6RnZDLGlCQUFpQjtFVTBGdUIsU0N5RWxCLE9EekVrQjs7QVYxRnhDLGVBQWU7RVUyRnVCLFNDa2JsQixPRGxia0I7O0FWM0Z0QyxnQkFBZ0I7RVU0RnVCLFNDdVhsQixPRHZYa0I7O0FWNUZ2QyxnQkFBZ0I7RVU2RnVCLFNDMmxCbEIsT0QzbEJrQjs7QVY3RnZDLGdCQUFnQjtFVThGdUIsU0MyRGxCLE9EM0RrQjs7QVY5RnZDLG1CQUFtQjtFVStGdUIsU0N5YmxCLE9EemJrQjs7QVYvRjFDLGVBQWU7RVVnR3VCLFNDMFNsQixPRDFTa0I7O0FWaEd0QyxjQUFjO0VVaUd1QixTQzBHbEIsT0QxR2tCOztBVmpHckMsa0JBQWtCO0VVa0d1QixTQ3VsQmxCLE9EdmxCa0I7O0FWbEd6QyxrQkFBa0I7RVVtR3VCLFNDdURsQixPRHZEa0I7O0FWbkd6QyxPQUFPO0VVb0d1QixTQ25DbEIsT0RtQ2tCOztBVnBHOUIsY0FBYztFVXFHdUIsU0NuRGxCLE9EbURrQjs7QVZyR3JDLGVBQWU7RVVzR3VCLFNDbkRsQixPRG1Ea0I7O0FWdEd0QyxZQUFZO0VVdUd1QixTQ25EbEIsT0RtRGtCOztBVnZHbkMsY0FBYztFVXdHdUIsU0N2RGxCLE9EdURrQjs7QVZ4R3JDLGdCQUFnQjtBQUFTLFNBQVM7RVUwR0YsU0M0ZGxCLE9ENWRrQjs7QVYxR2hDLFVBQVU7RVUyR3VCLFNDOElsQixPRDlJa0I7O0FWM0dqQyxZQUFZO0VVNEd1QixTQ3NGbEIsT0R0RmtCOztBVjVHbkMsUUFBUTtFVTZHdUIsU0MrWmxCLE9EL1prQjs7QVY3Ry9CLFNBQVM7RVU4R3VCLFNDb1dsQixPRHBXa0I7O0FWOUdoQyxZQUFZO0VVK0d1QixTQ3BEbEIsT0RvRGtCOztBVi9HbkMsc0JBQXNCO0VVZ0h1QixTQ3VJbEIsT0R2SWtCOztBVmhIN0MsUUFBUTtFVWlIdUIsU0NrTmxCLE9EbE5rQjs7QVZqSC9CLFFBQVE7RVVrSHVCLFNDMFNsQixPRDFTa0I7O0FWbEgvQixRQUFRO0VVbUh1QixTQzZLbEIsT0Q3S2tCOztBVm5IL0IsT0FBTztFVW9IdUIsU0N5SWxCLE9EeklrQjs7QVZwSDlCLGFBQWE7RVVxSHVCLFNDeUlsQixPRHpJa0I7O0FWckhwQyxXQUFXO0FBQVMsd0JBQXdCO0VVdUhHLFNDaUlsQixPRGpJa0I7O0FWdkgvQyxTQUFTO0VVd0h1QixTQytZbEIsT0QvWWtCOztBVnhIaEMsWUFBWTtFVXlIdUIsU0NBbEIsT0RBa0I7O0FWekhuQyxVQUFVO0VVMEh1QixTQ29hbEIsT0RwYWtCOztBVjFIakMsV0FBVztFVTJIdUIsU0NnRWxCLE9EaEVrQjs7QVYzSGxDLFVBQVU7RVU0SHVCLFNDNlRsQixPRDdUa0I7O0FWNUhqQyxjQUFjO0VVNkh1QixTQ3VDbEIsT0R2Q2tCOztBVjdIckMsZ0JBQWdCO0VVOEh1QixTQ21DbEIsT0RuQ2tCOztBVjlIdkMsV0FBVztFVStIdUIsU0MrYWxCLE9EL2FrQjs7QVYvSGxDLGlCQUFpQjtFVWdJdUIsU0NrZGxCLE9EbGRrQjs7QVZoSXhDLFVBQVU7RVVpSXVCLFNDMEtsQixPRDFLa0I7O0FWaklqQyxlQUFlO0VVa0l1QixTQzJLbEIsT0QzS2tCOztBVmxJdEMsWUFBWTtFVW1JdUIsU0MzRWxCLE9EMkVrQjs7QVZuSW5DLFlBQVk7RVVvSXVCLFNDN0VsQixPRDZFa0I7O0FWcEluQyxlQUFlO0FBQVMsYUFBYTtFVXNJRCxTQ2xFbEIsT0RrRWtCOztBVnRJcEMsa0JBQWtCO0VVdUl1QixTQytrQmxCLE9EL2tCa0I7O0FWdkl6QyxtQkFBbUI7RVV3SXVCLFNDNEhsQixPRDVIa0I7O0FWeEkxQyxnQkFBZ0I7RVV5SXVCLFNDVGxCLE9EU2tCOztBVnpJdkMsT0FBTztFVTBJdUIsU0MyUWxCLE9EM1FrQjs7QVYxSTlCLFNBQVM7QUFBUyxRQUFRO0VVNElLLFNDNkNsQixPRDdDa0I7O0FWNUkvQixZQUFZO0VVNkl1QixTQ2tEbEIsT0RsRGtCOztBVjdJbkMsZUFBZTtFVThJdUIsU0NzaUJsQixPRHRpQmtCOztBVjlJdEMsaUJBQWlCO0VVK0l1QixTQ29pQmxCLE9EcGlCa0I7O0FWL0l4QyxhQUFhO0VVZ0p1QixTQzJlbEIsT0QzZWtCOztBVmhKcEMsV0FBVztFVWlKdUIsU0M4TmxCLE9EOU5rQjs7QVZqSmxDLFlBQVk7RVVrSnVCLFNDb2NsQixPRHBja0I7O0FWbEpuQyxtQkFBbUI7RVVtSnVCLFNDdVJsQixPRHZSa0I7O0FWbkoxQyxjQUFjO0VVb0p1QixTQzZoQmxCLE9EN2hCa0I7O0FWcEpyQyxpQkFBaUI7RVVxSnVCLFNDc0dsQixPRHRHa0I7O0FWckp4QyxXQUFXO0VVc0p1QixTQzhibEIsT0Q5YmtCOztBVnRKbEMsVUFBVTtFVXVKdUIsU0NxakJsQixPRHJqQmtCOztBVnZKakMsaUJBQWlCO0VVd0p1QixTQ2dMbEIsT0RoTGtCOztBVnhKeEMsVUFBVTtFVXlKdUIsU0N1a0JsQixPRHZrQmtCOztBVnpKakMsV0FBVztFVTBKdUIsU0NxUWxCLE9EclFrQjs7QVYxSmxDLFNBQVM7RVUySnVCLFNDaVdsQixPRGpXa0I7O0FWM0poQyxZQUFZO0VVNEp1QixTQzJkbEIsT0QzZGtCOztBVjVKbkMsY0FBYztFVTZKdUIsU0NqRGxCLE9EaURrQjs7QVY3SnJDLGdCQUFnQjtFVThKdUIsU0MrVmxCLE9EL1ZrQjs7QVY5SnZDLFdBQVc7RVUrSnVCLFNDc2pCbEIsT0R0akJrQjs7QVYvSmxDLGNBQWM7QUFBUyxZQUFZO0VVaUtBLFNDZ0dsQixPRGhHa0I7O0FWaktuQyxVQUFVO0VVa0t1QixTQ29LbEIsT0RwS2tCOztBVmxLakMsVUFBVTtFVW1LdUIsU0MwakJsQixPRDFqQmtCOztBVm5LakMsZUFBZTtFVW9LdUIsU0NvQ2xCLE9EcENrQjs7QVZwS3RDLFFBQVE7QUFBUyxPQUFPO0VVc0tNLFNDK1lsQixPRC9Za0I7O0FWdEs5QixTQUFTO0VVdUt1QixTQ29NbEIsT0RwTWtCOztBVnZLaEMsWUFBWTtFVXdLdUIsU0NyRGxCLE9EcURrQjs7QVZ4S25DLFFBQVE7RVV5S3VCLFNDaEZsQixPRGdGa0I7O0FWeksvQixlQUFlO0VVMEt1QixTQ3JCbEIsT0RxQmtCOztBVjFLdEMsZ0JBQWdCO0VVMkt1QixTQ29MbEIsT0RwTGtCOztBVjNLdkMsZUFBZTtFVTRLdUIsU0NrTGxCLE9EbExrQjs7QVY1S3RDLGFBQWE7RVU2S3VCLFNDbUxsQixPRG5Ma0I7O0FWN0twQyxlQUFlO0VVOEt1QixTQytLbEIsT0QvS2tCOztBVjlLdEMscUJBQXFCO0VVK0t1QixTQ3JJbEIsT0RxSWtCOztBVi9LNUMsc0JBQXNCO0VVZ0x1QixTQ2pJbEIsT0RpSWtCOztBVmhMN0MsbUJBQW1CO0VVaUx1QixTQ2pJbEIsT0RpSWtCOztBVmpMMUMscUJBQXFCO0VVa0x1QixTQ3pJbEIsT0R5SWtCOztBVmxMNUMsU0FBUztFVW1MdUIsU0MySmxCLE9EM0prQjs7QVZuTGhDLFVBQVU7RVVvTHVCLFNDNmxCbEIsT0Q3bEJrQjs7QVZwTGpDLFNBQVM7RVVxTHVCLFNDcWVsQixPRHJla0I7O0FWckxoQyxVQUFVO0VVc0x1QixTQ3lHbEIsT0R6R2tCOztBVnRMakMsYUFBYTtFVXVMdUIsU0N6RWxCLE9EeUVrQjs7QVZ2THBDLGNBQWM7RVV3THVCLFNDbElsQixPRGtJa0I7O0FWeExyQyxTQUFTO0FBQVMsU0FBUztFVTBMSyxTQ2lqQmxCLE9EampCa0I7O0FWMUxoQyxTQUFTO0FBQVMsUUFBUTtFVTRMSyxTQzRPbEIsT0Q1T2tCOztBVjVML0IsU0FBUztFVTZMdUIsU0NkbEIsT0Rja0I7O0FWN0xoQyxTQUFTO0VVOEx1QixTQzBHbEIsT0QxR2tCOztBVjlMaEMsT0FBTztBQUFTLFlBQVk7RVVnTU8sU0M2WGxCLE9EN1hrQjs7QVZoTW5DLFFBQVE7QUFBUyxXQUFXO0VVa01NLFNDMkZsQixPRDNGa0I7O0FWbE1sQyxhQUFhO0VVbU11QixTQzZTbEIsT0Q3U2tCOztBVm5NcEMsUUFBUTtBQUFTLFlBQVk7RVVxTU0sU0NxR2xCLE9EckdrQjs7QVZyTW5DLFVBQVU7RVVzTXVCLFNDZ2JsQixPRGhia0I7O0FWdE1qQyxXQUFXO0FBQVMsV0FBVztBQUFTLFFBQVE7RVV5TWpCLFNDbElsQixPRGtJa0I7O0FWek0vQixXQUFXO0VVME11QixTQ3NPbEIsT0R0T2tCOztBVjFNbEMsV0FBVztFVTJNdUIsU0NvT2xCLE9EcE9rQjs7QVYzTWxDLGlCQUFpQjtFVTRNdUIsU0MrYmxCLE9EL2JrQjs7QVY1TXhDLGFBQWE7RVU2TXVCLFNDMmdCbEIsT0QzZ0JrQjs7QVY3TXBDLFNBQVM7RVU4TXVCLFNDdWNsQixPRHZja0I7O0FWOU1oQyxTQUFTO0VVK011QixTQ3lPbEIsT0R6T2tCOztBVi9NaEMsU0FBUztFVWdOdUIsU0M2ZmxCLE9EN2ZrQjs7QVZoTmhDLGFBQWE7RVVpTnVCLFNDbVRsQixPRG5Ua0I7O0FWak5wQyxvQkFBb0I7RVVrTnVCLFNDb1RsQixPRHBUa0I7O0FWbE4zQyxzQkFBc0I7RVVtTnVCLFNDZ0lsQixPRGhJa0I7O0FWbk43QyxlQUFlO0VVb051QixTQzRIbEIsT0Q1SGtCOztBVnBOdEMsU0FBUztFVXFOdUIsU0NxUWxCLE9EclFrQjs7QVZyTmhDLGNBQWM7RVVzTnVCLFNDcEZsQixPRG9Ga0I7O0FWdE5yQyxZQUFZO0VVdU51QixTQzlFbEIsT0Q4RWtCOztBVnZObkMsY0FBYztFVXdOdUIsU0NyRmxCLE9EcUZrQjs7QVZ4TnJDLGVBQWU7RVV5TnVCLFNDckZsQixPRHFGa0I7O0FWek50QyxXQUFXO0VVME51QixTQ2hDbEIsT0RnQ2tCOztBVjFObEMsWUFBWTtBQUFTLFFBQVE7RVU0TkUsU0MwWWxCLE9EMVlrQjs7QVY1Ti9CLGFBQWE7QUFBUyxhQUFhO0VVOE5DLFNDOFlsQixPRDlZa0I7O0FWOU5wQyxXQUFXO0FBQVMsWUFBWTtFVWdPRyxTQzJZbEIsT0QzWWtCOztBVmhPbkMsWUFBWTtFVWlPdUIsU0NVbEIsT0RWa0I7O0FWak9uQyxZQUFZO0VVa091QixTQ3VNbEIsT0R2TWtCOztBVmxPbkMsZUFBZTtBQUFTLFFBQVE7RVVvT0QsU0NxZmxCLE9EcmZrQjs7QVZwTy9CLFNBQVM7QUFBUyxTQUFTO0VVc09LLFNDb0ZsQixPRHBGa0I7O0FWdE9oQyxhQUFhO0FBQVMsY0FBYztFVXdPQyxTQythbEIsT0QvYWtCOztBVnhPckMsYUFBYTtFVXlPdUIsU0M3Q2xCLE9ENkNrQjs7QVZ6T3BDLGNBQWM7RVUwT3VCLFNDMUNsQixPRDBDa0I7O0FWMU9yQyxTQUFTO0FBQVMsUUFBUTtFVTRPSyxTQ3BJbEIsT0RvSWtCOztBVjVPL0IsV0FBVztFVTZPdUIsU0M2V2xCLE9EN1drQjs7QVY3T2xDLFlBQVk7RVU4T3VCLFNDeWVsQixPRHpla0I7O0FWOU9uQyxTQUFTO0FBQVMsYUFBYTtFVWdQSyxTQ3JFbEIsT0RxRWtCOztBVmhQcEMsZUFBZTtFVWlQdUIsU0NxTGxCLE9EckxrQjs7QVZqUHRDLFlBQVk7RVVrUHVCLFNDR2xCLE9ESGtCOztBVmxQbkMsa0JBQWtCO0VVbVB1QixTQ25FbEIsT0RtRWtCOztBVm5QekMsZ0JBQWdCO0VVb1B1QixTQ25FbEIsT0RtRWtCOztBVnBQdkMsV0FBVztFVXFQdUIsU0NpZmxCLE9EamZrQjs7QVZyUGxDLGVBQWU7RVVzUHVCLFNDOFlsQixPRDlZa0I7O0FWdFB0QyxZQUFZO0VVdVB1QixTQ3labEIsT0R6WmtCOztBVnZQbkMsVUFBVTtFVXdQdUIsU0M5SmxCLE9EOEprQjs7QVZ4UGpDLFVBQVU7RVV5UHVCLFNDbEVsQixPRGtFa0I7O0FWelBqQyxXQUFXO0VVMFB1QixTQzFDbEIsT0QwQ2tCOztBVjFQbEMsZUFBZTtFVTJQdUIsU0M4QmxCLE9EOUJrQjs7QVYzUHRDLGNBQWM7RVU0UHVCLFNDMUlsQixPRDBJa0I7O0FWNVByQyxjQUFjO0VVNlB1QixTQ3NIbEIsT0R0SGtCOztBVjdQckMsYUFBYTtFVThQdUIsU0NyT2xCLE9EcU9rQjs7QVY5UHBDLFVBQVU7RVUrUHVCLFNDNE1sQixPRDVNa0I7O0FWL1BqQyxlQUFlO0VVZ1F1QixTQ1VsQixPRFZrQjs7QVZoUXRDLFFBQVE7RVVpUXVCLFNDM0tsQixPRDJLa0I7O0FWalEvQixZQUFZO0VVa1F1QixTQ3VGbEIsT0R2RmtCOztBVmxRbkMsZUFBZTtFVW1RdUIsU0MyUWxCLE9EM1FrQjs7QVZuUXRDLHFCQUFxQjtFVW9RdUIsU0NyT2xCLE9EcU9rQjs7QVZwUTVDLHNCQUFzQjtFVXFRdUIsU0NyT2xCLE9EcU9rQjs7QVZyUTdDLG1CQUFtQjtFVXNRdUIsU0NyT2xCLE9EcU9rQjs7QVZ0UTFDLHFCQUFxQjtFVXVRdUIsU0N6T2xCLE9EeU9rQjs7QVZ2UTVDLGNBQWM7RVV3UXVCLFNDck9sQixPRHFPa0I7O0FWeFFyQyxlQUFlO0VVeVF1QixTQ3JPbEIsT0RxT2tCOztBVnpRdEMsWUFBWTtFVTBRdUIsU0NyT2xCLE9EcU9rQjs7QVYxUW5DLGNBQWM7RVUyUXVCLFNDek9sQixPRHlPa0I7O0FWM1FyQyxXQUFXO0VVNFF1QixTQ3BEbEIsT0RvRGtCOztBVjVRbEMsVUFBVTtFVTZRdUIsU0M0SWxCLE9ENUlrQjs7QVY3UWpDLFVBQVU7RVU4UXVCLFNDd1lsQixPRHhZa0I7O0FWOVFqQyxnQkFBZ0I7QUFBUyxVQUFVO0VVZ1JGLFNDdU1sQixPRHZNa0I7O0FWaFJqQyxZQUFZO0VVaVJ1QixTQ3pHbEIsT0R5R2tCOztBVmpSbkMsY0FBYztFVWtSdUIsU0N5UWxCLE9EelFrQjs7QVZsUnJDLGVBQWU7RVVtUnVCLFNDeVFsQixPRHpRa0I7O0FWblJ0QyxXQUFXO0VVb1J1QixTQytWbEIsT0QvVmtCOztBVnBSbEMsVUFBVTtFVXFSdUIsU0M5R2xCLE9EOEdrQjs7QVZyUmpDLGNBQWM7QUFBUyxTQUFTO0VVdVJBLFNDb1JsQixPRHBSa0I7O0FWdlJoQyxjQUFjO0VVd1J1QixTQytDbEIsT0QvQ2tCOztBVnhSckMsWUFBWTtFVXlSdUIsU0NtQmxCLE9EbkJrQjs7QVZ6Um5DLGlCQUFpQjtFVTBSdUIsU0NvQmxCLE9EcEJrQjs7QVYxUnhDLFdBQVc7RVUyUnVCLFNDcVVsQixPRHJVa0I7O0FWM1JsQyxXQUFXO0VVNFJ1QixTQzJCbEIsT0QzQmtCOztBVjVSbEMsU0FBUztFVTZSdUIsU0NnTGxCLE9EaExrQjs7QVY3UmhDLFdBQVc7RVU4UnVCLFNDMkJsQixPRDNCa0I7O0FWOVJsQyxjQUFjO0VVK1J1QixTQ3VIbEIsT0R2SGtCOztBVi9SckMsVUFBVTtFVWdTdUIsU0NNbEIsT0ROa0I7O0FWaFNqQyxrQkFBa0I7RVVpU3VCLFNDSWxCLE9ESmtCOztBVmpTekMsWUFBWTtFVWtTdUIsU0M2WGxCLE9EN1hrQjs7QVZsU25DLFFBQVE7RVVtU3VCLFNDaEhsQixPRGdIa0I7O0FWblMvQixrQkFBa0I7QUFBUyxhQUFhO0VVcVNKLFNDdVFsQixPRHZRa0I7O0FWclNwQyxtQkFBbUI7QUFBUyxrQkFBa0I7QUFBUyxlQUFlO0VVd1NoQyxTQ3NWbEIsT0R0VmtCOztBVnhTdEMsa0JBQWtCO0VVeVN1QixTQ3dJbEIsT0R4SWtCOztBVnpTekMsUUFBUTtFVTBTdUIsU0NoR2xCLE9EZ0drQjs7QVYxUy9CLGFBQWE7RVUyU3VCLFNDdkhsQixPRHVIa0I7O0FWM1NwQyxVQUFVO0FBQVMsZ0JBQWdCO0VVNlNJLFNDdEpsQixPRHNKa0I7O0FWN1N2QyxZQUFZO0VVOFN1QixTQ3lPbEIsT0R6T2tCOztBVjlTbkMsUUFBUTtFVStTdUIsU0MwRmxCLE9EMUZrQjs7QVYvUy9CLGVBQWU7RVVnVHVCLFNDMURsQixPRDBEa0I7O0FWaFR0QyxlQUFlO0VVaVR1QixTQ2tXbEIsT0RsV2tCOztBVmpUdEMsYUFBYTtFVWtUdUIsU0M0VmxCLE9ENVZrQjs7QVZsVHBDLFVBQVU7RVVtVHVCLFNDbEVsQixPRGtFa0I7O0FWblRqQyxnQkFBZ0I7RVVvVHVCLFNDZ09sQixPRGhPa0I7O0FWcFR2QyxjQUFjO0VVcVR1QixTQzJKbEIsT0QzSmtCOztBVnJUckMsb0JBQW9CO0VVc1R1QixTQzJKbEIsT0QzSmtCOztBVnRUM0MsVUFBVTtFVXVUdUIsU0NzUmxCLE9EdFJrQjs7QVZ2VGpDLGNBQWM7RVV3VHVCLFNDNUxsQixPRDRMa0I7O0FWeFRyQyxxQkFBcUI7RVV5VHVCLFNDeEJsQixPRHdCa0I7O0FWelQ1QyxVQUFVO0VVMFR1QixTQ3VQbEIsT0R2UGtCOztBVjFUakMsVUFBVTtFVTJUdUIsU0M2SWxCLE9EN0lrQjs7QVYzVGpDLHVCQUF1QjtFVTRUdUIsU0M5SmxCLE9EOEprQjs7QVY1VDlDLHdCQUF3QjtFVTZUdUIsU0M5SmxCLE9EOEprQjs7QVY3VC9DLHFCQUFxQjtFVThUdUIsU0M5SmxCLE9EOEprQjs7QVY5VDVDLHVCQUF1QjtFVStUdUIsU0NsS2xCLE9Ea0trQjs7QVYvVDlDLFNBQVM7RVVnVXVCLFNDOERsQixPRDlEa0I7O0FWaFVoQyxRQUFRO0VVaVV1QixTQ3JIbEIsT0RxSGtCOztBVmpVL0IsVUFBVTtFVWtVdUIsU0N2U2xCLE9EdVNrQjs7QVZsVWpDLGNBQWM7RVVtVXVCLFNDMlpsQixPRDNaa0I7O0FWblVyQyxZQUFZO0VVb1V1QixTQ2hObEIsT0RnTmtCOztBVnBVbkMsY0FBYztFVXFVdUIsU0M3RmxCLE9ENkZrQjs7QVZyVXJDLGNBQWM7RVVzVXVCLFNDN0ZsQixPRDZGa0I7O0FWdFVyQyxjQUFjO0VVdVV1QixTQytPbEIsT0QvT2tCOztBVnZVckMsZUFBZTtFVXdVdUIsU0NpTWxCLE9Eak1rQjs7QVZ4VXRDLFVBQVU7RVV5VXVCLFNDNldsQixPRDdXa0I7O0FWelVqQyxnQkFBZ0I7RVUwVXVCLFNDMElsQixPRDFJa0I7O0FWMVV2QyxrQkFBa0I7RVUyVXVCLFNDMElsQixPRDFJa0I7O0FWM1V6QyxZQUFZO0VVNFV1QixTQ3FGbEIsT0RyRmtCOztBVjVVbkMsY0FBYztFVTZVdUIsU0NtRmxCLE9EbkZrQjs7QVY3VXJDLGdCQUFnQjtFVThVdUIsU0NuTGxCLE9EbUxrQjs7QVY5VXZDLGlCQUFpQjtFVStVdUIsU0MwS2xCLE9EMUtrQjs7QVYvVXhDLHdCQUF3QjtFVWdWdUIsU0NwRmxCLE9Eb0ZrQjs7QVZoVi9DLGdCQUFnQjtFVWlWdUIsU0N3UGxCLE9EeFBrQjs7QVZqVnZDLFdBQVc7RVVrVnVCLFNDakpsQixPRGlKa0I7O0FWbFZsQyxlQUFlO0FBQVMsdUJBQXVCO0VVb1ZELFNDL01sQixPRCtNa0I7O0FWcFY5QyxhQUFhO0FBQVMscUJBQXFCO0VVc1ZDLFNDOU1sQixPRDhNa0I7O0FWdFY1QyxnQkFBZ0I7QUFBUyx3QkFBd0I7RVV3VkYsU0NqTmxCLE9EaU5rQjs7QVZ4Vi9DLFFBQVE7QUFBUyxPQUFPO0VVMFZNLFNDdkdsQixPRHVHa0I7O0FWMVY5QixPQUFPO0VVMlZ1QixTQ2hDbEIsT0RnQ2tCOztBVjNWOUIsVUFBVTtBQUFTLE9BQU87RVU2VkksU0NxWWxCLE9EcllrQjs7QVY3VjlCLFNBQVM7QUFBUyxPQUFPO0VVK1ZLLFNDNENsQixPRDVDa0I7O0FWL1Y5QixPQUFPO0FBQVMsT0FBTztBQUFTLE9BQU87QUFBUyxPQUFPO0VVbVd6QixTQ2dEbEIsT0RoRGtCOztBVm5XOUIsU0FBUztBQUFTLFVBQVU7QUFBUyxPQUFPO0VVc1dkLFNDaU5sQixPRGpOa0I7O0FWdFc5QixPQUFPO0FBQVMsT0FBTztFVXdXTyxTQytDbEIsT0QvQ2tCOztBVnhXOUIsV0FBVztBQUFTLE9BQU87RVUwV0csU0MzUGxCLE9EMlBrQjs7QVYxVzlCLFFBQVE7RVUyV3VCLFNDaEdsQixPRGdHa0I7O0FWM1cvQixhQUFhO0VVNFd1QixTQ3BGbEIsT0RvRmtCOztBVjVXcEMsa0JBQWtCO0VVNld1QixTQzBQbEIsT0QxUGtCOztBVjdXekMsbUJBQW1CO0VVOFd1QixTQzBQbEIsT0QxUGtCOztBVjlXMUMsbUJBQW1CO0VVK1d1QixTQzBQbEIsT0QxUGtCOztBVi9XMUMsb0JBQW9CO0VVZ1h1QixTQzBQbEIsT0QxUGtCOztBVmhYM0Msb0JBQW9CO0VVaVh1QixTQzZQbEIsT0Q3UGtCOztBVmpYM0MscUJBQXFCO0VVa1h1QixTQzZQbEIsT0Q3UGtCOztBVmxYNUMsYUFBYTtFVW1YdUIsU0NrVWxCLE9EbFVrQjs7QVZuWHBDLGVBQWU7RVVvWHVCLFNDOFRsQixPRDlUa0I7O0FWcFh0QyxrQkFBa0I7RVVxWHVCLFNDeWFsQixPRHpha0I7O0FWclh6QyxXQUFXO0VVc1h1QixTQ3NhbEIsT0R0YWtCOztBVnRYbEMsUUFBUTtFVXVYdUIsU0MyWmxCLE9EM1prQjs7QVZ2WC9CLGVBQWU7RVV3WHVCLFNDMlpsQixPRDNaa0I7O0FWeFh0QyxnQkFBZ0I7RVV5WHVCLFNDb2FsQixPRHBha0I7O0FWelh2QyxXQUFXO0VVMFh1QixTQ3hKbEIsT0R3SmtCOztBVjFYbEMsa0JBQWtCO0VVMlh1QixTQzhQbEIsT0Q5UGtCOztBVjNYekMsYUFBYTtFVTRYdUIsU0NnQmxCLE9EaEJrQjs7QVY1WHBDLFVBQVU7RVU2WHVCLFNDcEZsQixPRG9Ga0I7O0FWN1hqQyxPQUFPO0VVOFh1QixTQzNXbEIsT0QyV2tCOztBVjlYOUIsYUFBYTtFVStYdUIsU0MvUmxCLE9EK1JrQjs7QVYvWHBDLG9CQUFvQjtFVWdZdUIsU0MvUmxCLE9EK1JrQjs7QVZoWTNDLFVBQVU7RVVpWXVCLFNDK1VsQixPRC9Va0I7O0FWallqQyxpQkFBaUI7RVVrWXVCLFNDK1VsQixPRC9Va0I7O0FWbFl4QyxtQkFBbUI7RVVtWXVCLFNDZ0RsQixPRGhEa0I7O0FWblkxQyxpQkFBaUI7RVVvWXVCLFNDa0RsQixPRGxEa0I7O0FWcFl4QyxtQkFBbUI7RVVxWXVCLFNDK0NsQixPRC9Da0I7O0FWclkxQyxvQkFBb0I7RVVzWXVCLFNDK0NsQixPRC9Da0I7O0FWdFkzQyxTQUFTO0VVdVl1QixTQ2pXbEIsT0RpV2tCOztBVnZZaEMsV0FBVztFVXdZdUIsU0NtWWxCLE9EbllrQjs7QVZ4WWxDLFdBQVc7RVV5WXVCLFNDN1dsQixPRDZXa0I7O0FWellsQyxTQUFTO0VVMFl1QixTQ2tDbEIsT0RsQ2tCOztBVjFZaEMsWUFBWTtFVTJZdUIsU0M1S2xCLE9ENEtrQjs7QVYzWW5DLFNBQVM7RVU0WXVCLFNDZ05sQixPRGhOa0I7O0FWNVloQyxjQUFjO0VVNll1QixTQ3hGbEIsT0R3RmtCOztBVjdZckMsVUFBVTtFVThZdUIsU0M0VGxCLE9ENVRrQjs7QVY5WWpDLFVBQVU7RVUrWXVCLFNDdElsQixPRHNJa0I7O0FWL1lqQyxRQUFRO0VVZ1p1QixTQzZDbEIsT0Q3Q2tCOztBVmhaL0IsVUFBVTtBQUFTLFlBQVk7RVVrWkksU0M1RGxCLE9ENERrQjs7QVZsWm5DLFNBQVM7RVVtWnVCLFNDOFBsQixPRDlQa0I7O0FWblpoQyxVQUFVO0VVb1p1QixTQ3VFbEIsT0R2RWtCOztBVnBaakMsV0FBVztFVXFadUIsU0M5V2xCLE9EOFdrQjs7QVZyWmxDLE9BQU87RVVzWnVCLFNDdFNsQixPRHNTa0I7O0FWdFo5QixNQUFNO0VVdVp1QixTQ2lXbEIsT0RqV2tCOztBVnZaN0IsU0FBUztFVXdadUIsU0N1V2xCLE9EdldrQjs7QVZ4WmhDLFVBQVU7RVV5WnVCLFNDK0lsQixPRC9Ja0I7O0FWelpqQyxhQUFhO0VVMFp1QixTQ2tGbEIsT0RsRmtCOztBVjFacEMsa0JBQWtCO0VVMlp1QixTQzZObEIsT0Q3TmtCOztBVjNaekMsd0JBQXdCO0VVNFp1QixTQy9XbEIsT0QrV2tCOztBVjVaL0MsdUJBQXVCO0VVNlp1QixTQ2pYbEIsT0RpWGtCOztBVjdaOUMsZUFBZTtBQUFTLHVCQUF1QjtFVStaRCxTQ3pSbEIsT0R5UmtCOztBVi9aOUMsZ0JBQWdCO0VVZ2F1QixTQ25NbEIsT0RtTWtCOztBVmhhdkMsY0FBYztFVWlhdUIsU0NpV2xCLE9EaldrQjs7QVZqYXJDLGdCQUFnQjtFVWthdUIsU0NvVmxCLE9EcFZrQjs7QVZsYXZDLGdCQUFnQjtBQUFTLE9BQU87RVVvYUYsU0MwU2xCLE9EMVNrQjs7QVZwYTlCLGlCQUFpQjtFVXFhdUIsU0MwR2xCLE9EMUdrQjs7QVZyYXhDLGlCQUFpQjtFVXNhdUIsU0M0TWxCLE9ENU1rQjs7QVZ0YXhDLFNBQVM7RVV1YXVCLFNDc0xsQixPRHRMa0I7O0FWdmFoQyxtQkFBbUI7RVV3YXVCLFNDekxsQixPRHlMa0I7O0FWeGExQyxhQUFhO0VVeWF1QixTQ29XbEIsT0RwV2tCOztBVnphcEMsVUFBVTtFVTBhdUIsU0M4RGxCLE9EOURrQjs7QVYxYWpDLGVBQWU7QUFBUyxRQUFRO0FBQVMsY0FBYztFVTZhbEIsU0M4U2xCLE9EOVNrQjs7QVY3YXJDLGdCQUFnQjtBQUFTLGtCQUFrQjtFVSthRixTQzFGbEIsT0QwRmtCOztBVi9hekMsU0FBUztFVWdidUIsU0NzV2xCLE9EdFdrQjs7QVZoYmhDLFVBQVU7RVVpYnVCLFNDbEdsQixPRGtHa0I7O0FWamJqQyxVQUFVO0VVa2J1QixTQ2dIbEIsT0RoSGtCOztBVmxiakMsaUJBQWlCO0VVbWJ1QixTQ2lIbEIsT0RqSGtCOztBVm5ieEMsc0JBQXNCO0VVb2J1QixTQ3lObEIsT0R6TmtCOztBVnBiN0MsZUFBZTtFVXFidUIsU0N1TmxCLE9Edk5rQjs7QVZyYnRDLGFBQWE7RVVzYnVCLFNDL05sQixPRCtOa0I7O0FWdGJwQyxRQUFRO0VVdWJ1QixTQzVObEIsT0Q0TmtCOztBVnZiL0IsaUJBQWlCO0VVd2J1QixTQzJFbEIsT0QzRWtCOztBVnhieEMsa0JBQWtCO0VVeWJ1QixTQ3lFbEIsT0R6RWtCOztBVnpiekMsVUFBVTtFVTBidUIsU0N2TmxCLE9EdU5rQjs7QVYxYmpDLFVBQVU7RVUyYnVCLFNDekNsQixPRHlDa0I7O0FWM2JqQyxZQUFZO0VVNGJ1QixTQ3BDbEIsT0RvQ2tCOztBVjVibkMsT0FBTztFVTZidUIsU0N0TGxCLE9Ec0xrQjs7QVY3YjlCLFlBQVk7RVU4YnVCLFNDN1VsQixPRDZVa0I7O0FWOWJuQyxTQUFTO0VVK2J1QixTQzFSbEIsT0QwUmtCOztBVi9iaEMsT0FBTztFVWdjdUIsU0NzRGxCLE9EdERrQjs7QVZoYzlCLFNBQVM7RVVpY3VCLFNDbUxsQixPRG5Ma0I7O0FWamNoQyxRQUFRO0VVa2N1QixTQ3JQbEIsT0RxUGtCOztBVmxjL0IsU0FBUztFVW1jdUIsU0NyUGxCLE9EcVBrQjs7QVZuY2hDLFdBQVc7RVVvY3VCLFNDN1dsQixPRDZXa0I7O0FWcGNsQyxrQkFBa0I7RVVxY3VCLFNDN1dsQixPRDZXa0I7O0FWcmN6QyxTQUFTO0VVc2N1QixTQzBMbEIsT0QxTGtCOztBVnRjaEMsZ0JBQWdCO0VVdWN1QixTQzBMbEIsT0QxTGtCOztBVnZjdkMsV0FBVztFVXdjdUIsU0N5RmxCLE9EekZrQjs7QVZ4Y2xDLGNBQWM7QUFBUyxPQUFPO0VVMGNBLFNDelVsQixPRHlVa0I7O0FWMWM5QixPQUFPO0FBQVMsUUFBUTtFVTRjTyxTQytNbEIsT0QvTWtCOztBVjVjL0IsUUFBUTtFVTZjdUIsU0M0UGxCLE9ENVBrQjs7QVY3Yy9CLFdBQVc7RVU4Y3VCLFNDdUtsQixPRHZLa0I7O0FWOWNsQyxjQUFjO0VVK2N1QixTQ3RQbEIsT0RzUGtCOztBVi9jckMsY0FBYztFVWdkdUIsU0NpS2xCLE9EaktrQjs7QVZoZHJDLFlBQVk7RVVpZHVCLFNDOVBsQixPRDhQa0I7O0FWamRuQyxjQUFjO0VVa2R1QixTQy9MbEIsT0QrTGtCOztBVmxkckMsZUFBZTtFVW1kdUIsU0N4TGxCLE9Ed0xrQjs7QVZuZHRDLGdCQUFnQjtFVW9kdUIsU0NyTWxCLE9EcU1rQjs7QVZwZHZDLHFCQUFxQjtFVXFkdUIsU0MvTGxCLE9EK0xrQjs7QVZyZDVDLGdCQUFnQjtBQUFTLGtCQUFrQjtBQUFTLGdCQUFnQjtFVXdkN0IsU0N4TWxCLE9Ed01rQjs7QVZ4ZHZDLGNBQWM7QUFBUyxrQkFBa0I7RVUwZEEsU0M5TWxCLE9EOE1rQjs7QVYxZHpDLGdCQUFnQjtBQUFTLGdCQUFnQjtFVTRkRixTQy9NbEIsT0QrTWtCOztBVjVkdkMsZ0JBQWdCO0FBQVMsZ0JBQWdCO0VVOGRGLFNDcE1sQixPRG9Na0I7O0FWOWR2QyxlQUFlO0VVK2R1QixTQ2pObEIsT0RpTmtCOztBVi9kdEMsUUFBUTtFVWdldUIsU0N1UmxCLE9EdlJrQjs7QVZoZS9CLFdBQVc7RVVpZXVCLFNDNVNsQixPRDRTa0I7O0FWamVsQyxZQUFZO0VVa2V1QixTQzlFbEIsT0Q4RWtCOztBVmxlbkMsYUFBYTtBQUFTLGFBQWE7QUFBUyxjQUFjO0FBQVMsV0FBVztBQUFTLGFBQWE7RVV1ZWhFLFNDbkVsQixPRG1Fa0I7O0FWdmVwQyxrQkFBa0I7RVV3ZXVCLFNDL1RsQixPRCtUa0I7O0FWeGV6QyxNQUFNO0FBQVMsY0FBYztBQUFTLFNBQVM7RVUyZWYsU0NxRGxCLE9EckRrQjs7QVYzZWhDLE1BQU07QUFBUyxVQUFVO0VVNmVRLFNDblFsQixPRG1Ra0I7O0FWN2VqQyxjQUFjO0VVOGV1QixTQ3pLbEIsT0R5S2tCOztBVjllckMsT0FBTztFVStldUIsU0MzS2xCLE9EMktrQjs7QVYvZTlCLHVCQUF1QjtBQUFTLGFBQWE7QUFBUyxlQUFlO0VVa2YvQixTQ3hKbEIsT0R3SmtCOztBVmxmdEMsaUJBQWlCO0VVbWZ1QixTQzJLbEIsT0QzS2tCOztBVm5meEMsTUFBTTtFVW9mdUIsU0NpQ2xCLE9EakNrQjs7QVZwZjdCLFVBQVU7QUFBUyxVQUFVO0VVc2ZJLFNDMFFsQixPRDFRa0I7O0FWdGZqQyxRQUFRO0FBQVMsZUFBZTtFVXdmTSxTQ1ZsQixPRFVrQjs7QVZ4ZnRDLFVBQVU7QUFBUyxpQkFBaUI7RVUwZkksU0NYbEIsT0RXa0I7O0FWMWZ4QyxXQUFXO0VVMmZ1QixTQzFJbEIsT0QwSWtCOztBVjNmbEMsZUFBZTtFVTRmdUIsU0NsVmxCLE9Ea1ZrQjs7QVY1ZnRDLFVBQVU7RVU2ZnVCLFNDakpsQixPRGlKa0I7O0FWN2ZqQyxhQUFhO0VVOGZ1QixTQ2JsQixPRGFrQjs7QVY5ZnBDLFdBQVc7RVUrZnVCLFNDK0ZsQixPRC9Ga0I7O0FWL2ZsQyxhQUFhO0VVZ2dCdUIsU0N1RWxCLE9EdkVrQjs7QVZoZ0JwQyxvQkFBb0I7RVVpZ0J1QixTQ3VFbEIsT0R2RWtCOztBVmpnQjNDLFFBQVE7RVVrZ0J1QixTQ3pabEIsT0R5WmtCOztBVmxnQi9CLGlCQUFpQjtBQUFTLFlBQVk7RVVvZ0JILFNDNU1sQixPRDRNa0I7O0FWcGdCbkMsT0FBTztFVXFnQnVCLFNDME1sQixPRDFNa0I7O0FWcmdCOUIsY0FBYztFVXNnQnVCLFNDeGFsQixPRHdha0I7O0FWdGdCckMsUUFBUTtFVXVnQnVCLFNDSWxCLE9ESmtCOztBVnZnQi9CLGNBQWM7RVV3Z0J1QixTQ3VGbEIsT0R2RmtCOztBVnhnQnJDLFVBQVU7RVV5Z0J1QixTQzJNbEIsT0QzTWtCOztBVnpnQmpDLFFBQVE7RVUwZ0J1QixTQytRbEIsT0QvUWtCOztBVjFnQi9CLGVBQWU7RVUyZ0J1QixTQ3pDbEIsT0R5Q2tCOztBVjNnQnRDLFFBQVE7RVU0Z0J1QixTQ3dQbEIsT0R4UGtCOztBVjVnQi9CLGNBQWM7RVU2Z0J1QixTQ3JabEIsT0RxWmtCOztBVjdnQnJDLFVBQVU7RVU4Z0J1QixTQ3ZCbEIsT0R1QmtCOztBVjlnQmpDLGlCQUFpQjtFVStnQnVCLFNDM0xsQixPRDJMa0I7O0FWL2dCeEMsV0FBVztFVWdoQnVCLFNDNVhsQixPRDRYa0I7O0FWaGhCbEMsaUJBQWlCO0VVaWhCdUIsU0NoWWxCLE9EZ1lrQjs7QVZqaEJ4QyxlQUFlO0VVa2hCdUIsU0NuWWxCLE9EbVlrQjs7QVZsaEJ0QyxXQUFXO0VVbWhCdUIsU0N0WWxCLE9Ec1lrQjs7QVZuaEJsQyxhQUFhO0VVb2hCdUIsU0NsWWxCLE9Ea1lrQjs7QVZwaEJwQyxhQUFhO0VVcWhCdUIsU0NsWWxCLE9Ea1lrQjs7QVZyaEJwQyxjQUFjO0VVc2hCdUIsU0MzYmxCLE9EMmJrQjs7QVZ0aEJyQyxnQkFBZ0I7RVV1aEJ1QixTQzNibEIsT0QyYmtCOztBVnZoQnZDLFNBQVM7RVV3aEJ1QixTQytLbEIsT0QvS2tCOztBVnhoQmhDLGFBQWE7RVV5aEJ1QixTQ25WbEIsT0RtVmtCOztBVnpoQnBDLE1BQU07RVUwaEJ1QixTQzlkbEIsT0Q4ZGtCOztBVjFoQjdCLGNBQWM7RVUyaEJ1QixTQzVSbEIsT0Q0UmtCOztBVjNoQnJDLGVBQWU7RVU0aEJ1QixTQy9DbEIsT0QrQ2tCOztBVjVoQnRDLGlCQUFpQjtFVTZoQnVCLFNDOWJsQixPRDhia0I7O0FWN2hCeEMsY0FBYztFVThoQnVCLFNDdGZsQixPRHNma0I7O0FWOWhCckMsYUFBYTtFVStoQnVCLFNDL0JsQixPRCtCa0I7O0FWL2hCcEMsY0FBYztFVWdpQnVCLFNDekhsQixPRHlIa0I7O0FWaGlCckMsVUFBVTtFVWlpQnVCLFNDdklsQixPRHVJa0I7O0FWamlCakMsaUJBQWlCO0VVa2lCdUIsU0N2SWxCLE9EdUlrQjs7QVZsaUJ4QyxjQUFjO0VVbWlCdUIsU0M0SmxCLE9ENUprQjs7QVZuaUJyQyxhQUFhO0VVb2lCdUIsU0M0SmxCLE9ENUprQjs7QVZwaUJwQyxXQUFXO0VVcWlCdUIsU0N4Y2xCLE9Ed2NrQjs7QVZyaUJsQyxPQUFPO0VVc2lCdUIsU0NqYmxCLE9EaWJrQjs7QVZ0aUI5QixXQUFXO0VVdWlCdUIsU0N2SmxCLE9EdUprQjs7QVZ2aUJsQyxhQUFhO0VVd2lCdUIsU0MzZ0JsQixPRDJnQmtCOztBVnhpQnBDLE1BQU07RVV5aUJ1QixTQzdabEIsT0Q2WmtCOztBVnppQjdCLFVBQVU7QUFBUyxVQUFVO0FBQVMsT0FBTztFVTRpQmYsU0N6S2xCLE9EeUtrQjs7QVY1aUI5QixZQUFZO0VVNmlCdUIsU0NwR2xCLE9Eb0drQjs7QVY3aUJuQyxjQUFjO0VVOGlCdUIsU0N4YmxCLE9Ed2JrQjs7QVY5aUJyQyxrQkFBa0I7RVUraUJ1QixTQzVXbEIsT0Q0V2tCOztBVi9pQnpDLFlBQVk7RVVnakJ1QixTQzlWbEIsT0Q4VmtCOztBVmhqQm5DLFlBQVk7RVVpakJ1QixTQzlQbEIsT0Q4UGtCOztBVmpqQm5DLFdBQVc7RVVrakJ1QixTQ3JKbEIsT0RxSmtCOztBVmxqQmxDLFVBQVU7RVVtakJ1QixTQ2VsQixPRGZrQjs7QVZuakJqQyxnQkFBZ0I7RVVvakJ1QixTQzJCbEIsT0QzQmtCOztBVnBqQnZDLGVBQWU7RVVxakJ1QixTQ29DbEIsT0RwQ2tCOztBVnJqQnRDLFlBQVk7RVVzakJ1QixTQ3FDbEIsT0RyQ2tCOztBVnRqQm5DLGFBQWE7RVV1akJ1QixTQzVhbEIsT0Q0YWtCOztBVnZqQnBDLG1CQUFtQjtFVXdqQnVCLFNDOWFsQixPRDhha0I7O0FWeGpCMUMsV0FBVztFVXlqQnVCLFNDL1ZsQixPRCtWa0I7O0FWempCbEMsUUFBUTtFVTBqQnVCLFNDb0JsQixPRHBCa0I7O0FWMWpCL0IsZUFBZTtFVTJqQnVCLFNDOEtsQixPRDlLa0I7O0FWM2pCdEMsY0FBYztFVTRqQnVCLFNDL0ZsQixPRCtGa0I7O0FWNWpCckMsZUFBZTtFVTZqQnVCLFNDNkVsQixPRDdFa0I7O0FWN2pCdEMsYUFBYTtFVThqQnVCLFNDOU1sQixPRDhNa0I7O0FWOWpCcEMsU0FBUztFVStqQnVCLFNDK0tsQixPRC9La0I7O0FWL2pCaEMsUUFBUTtFVWdrQnVCLFNDN0hsQixPRDZIa0I7O0FWaGtCL0IsV0FBVztFVWlrQnVCLFNDbkhsQixPRG1Ia0I7O0FWamtCbEMsWUFBWTtBQUFTLGVBQWU7RVVta0JFLFNDa0lsQixPRGxJa0I7O0FWbmtCdEMsbUJBQW1CO0VVb2tCdUIsU0NrSWxCLE9EbElrQjs7QVZwa0IxQyxnQkFBZ0I7RVVxa0J1QixTQzBLbEIsT0QxS2tCOztBVnJrQnZDLGVBQWU7RVVza0J1QixTQ2xJbEIsT0RrSWtCOztBVnRrQnRDLGNBQWM7RVV1a0J1QixTQ3lLbEIsT0R6S2tCOztBVnZrQnJDLGVBQWU7RVV3a0J1QixTQ25JbEIsT0RtSWtCOztBVnhrQnRDLGlCQUFpQjtFVXlrQnVCLFNDbElsQixPRGtJa0I7O0FWemtCeEMsaUJBQWlCO0VVMGtCdUIsU0NwSWxCLE9Eb0lrQjs7QVYxa0J4QyxVQUFVO0VVMmtCdUIsU0MxR2xCLE9EMEdrQjs7QVYza0JqQyxjQUFjO0VVNGtCdUIsU0M3UWxCLE9ENlFrQjs7QVY1a0JyQyxxQkFBcUI7RVU2a0J1QixTQzFVbEIsT0QwVWtCOztBVjdrQjVDLGVBQWU7RVU4a0J1QixTQ3pFbEIsT0R5RWtCOztBVjlrQnRDLFlBQVk7RVUra0J1QixTQ2tMbEIsT0RsTGtCOztBVi9rQm5DLFVBQVU7RVVnbEJ1QixTQ1hsQixPRFdrQjs7QVZobEJqQyxhQUFhO0VVaWxCdUIsU0N1SmxCLE9EdkprQjs7QVZqbEJwQyxjQUFjO0VVa2xCdUIsU0N3SmxCLE9EeEprQjs7QVZsbEJyQyxTQUFTO0FBQVMsT0FBTztFVW9sQkssU0MvZmxCLE9EK2ZrQjs7QVZwbEI5QixXQUFXO0VVcWxCdUIsU0M0SmxCLE9ENUprQjs7QVZybEJsQyxTQUFTO0VVc2xCdUIsU0M4R2xCLE9EOUdrQjs7QVZ0bEJoQyxVQUFVO0VVdWxCdUIsU0N3RGxCLE9EeERrQjs7QVZ2bEJqQyxVQUFVO0VVd2xCdUIsU0M5SWxCLE9EOElrQjs7QVZ4bEJqQyxNQUFNO0FBQVMsZ0JBQWdCO0VVMGxCUSxTQzBMbEIsT0QxTGtCOztBVjFsQnZDLGlCQUFpQjtFVTJsQnVCLFNDakhsQixPRGlIa0I7O0FWM2xCeEMsWUFBWTtFVTRsQnVCLFNDckhsQixPRHFIa0I7O0FWNWxCbkMsZ0JBQWdCO0VVNmxCdUIsU0NuV2xCLE9EbVdrQjs7QVY3bEJ2QyxhQUFhO0FBQVMsV0FBVztBQUFTLGdCQUFnQjtFVWdtQm5CLFNDL2dCbEIsT0QrZ0JrQjs7QVZobUJ2QyxhQUFhO0FBQVMsMEJBQTBCO0VVa21CQyxTQzlnQmxCLE9EOGdCa0I7O0FWbG1CakQsYUFBYTtBQUFTLGdCQUFnQjtFVW9tQkMsU0NsaEJsQixPRGtoQmtCOztBVnBtQnZDLGFBQWE7QUFBUyxtQkFBbUI7RVVzbUJDLFNDbmhCbEIsT0RtaEJrQjs7QVZ0bUIxQyxhQUFhO0FBQVMsaUJBQWlCO0VVd21CQyxTQ3hoQmxCLE9Ed2hCa0I7O0FWeG1CeEMsaUJBQWlCO0VVeW1CdUIsU0MzSWxCLE9EMklrQjs7QVZ6bUJ4QyxZQUFZO0VVMG1CdUIsU0MzT2xCLE9EMk9rQjs7QVYxbUJuQyxnQkFBZ0I7RVUybUJ1QixTQ3hJbEIsT0R3SWtCOztBVjNtQnZDLGtCQUFrQjtFVTRtQnVCLFNDeElsQixPRHdJa0I7O0FWNW1CekMsZUFBZTtFVTZtQnVCLFNDd0JsQixPRHhCa0I7O0FWN21CdEMsaUJBQWlCO0VVOG1CdUIsU0N3QmxCLE9EeEJrQjs7QVY5bUJ4QyxVQUFVO0VVK21CdUIsU0MvZGxCLE9EK2RrQjs7QVYvbUJqQyxrQkFBa0I7RVVnbkJ1QixTQ2xlbEIsT0RrZWtCOztBVmhuQnpDLFNBQVM7RVVpbkJ1QixTQ3BjbEIsT0RvY2tCOztBVmpuQmhDLGlCQUFpQjtFVWtuQnVCLFNDbGpCbEIsT0RrakJrQjs7QVZsbkJ4QyxlQUFlO0VVbW5CdUIsU0N4UGxCLE9Ed1BrQjs7QVZubkJ0QyxlQUFlO0FBQVMsbUJBQW1CO0VVcW5CRCxTQ3pQbEIsT0R5UGtCOztBVnJuQjFDLGVBQWU7QUFBUyxrQkFBa0I7RVV1bkJELFNDN1BsQixPRDZQa0I7O0FWdm5CekMsZUFBZTtBQUFTLGlCQUFpQjtFVXluQkQsU0NoUWxCLE9EZ1FrQjs7QVZ6bkJ4QyxhQUFhO0VVMG5CdUIsU0NyUWxCLE9EcVFrQjs7QVYxbkJwQyxlQUFlO0FBQVMsZUFBZTtFVTRuQkQsU0N4UmxCLE9Ed1JrQjs7QVY1bkJ0QyxlQUFlO0FBQVMsZ0JBQWdCO0VVOG5CRCxTQzdSbEIsT0Q2UmtCOztBVjluQnZDLG1CQUFtQjtFVStuQnVCLFNDMVJsQixPRDBSa0I7O0FWL25CMUMsaUJBQWlCO0VVZ29CdUIsU0NwU2xCLE9Eb1NrQjs7QVZob0J4QyxnQkFBZ0I7RVVpb0J1QixTQzNSbEIsT0QyUmtCOztBVmpvQnZDLGtCQUFrQjtFVWtvQnVCLFNDL1JsQixPRCtSa0I7O0FWbG9CekMsZ0JBQWdCO0VVbW9CdUIsU0NqU2xCLE9EaVNrQjs7QVZub0J2QyxhQUFhO0VVb29CdUIsU0MrRGxCLE9EL0RrQjs7QVZwb0JwQyxjQUFjO0VVcW9CdUIsU0MvRmxCLE9EK0ZrQjs7QVZyb0JyQyxvQkFBb0I7RVVzb0J1QixTQy9ibEIsT0QrYmtCOztBVnRvQjNDLE1BQU07RVV1b0J1QixTQ3RVbEIsT0RzVWtCOztBVnZvQjdCLGFBQWE7RVV3b0J1QixTQ3RVbEIsT0RzVWtCOztBVnhvQnBDLGVBQWU7RVV5b0J1QixTQ2tFbEIsT0RsRWtCOztBVnpvQnRDLGlCQUFpQjtFVTBvQnVCLFNDcktsQixPRHFLa0I7O0FWMW9CeEMsd0JBQXdCO0VVMm9CdUIsU0NyS2xCLE9EcUtrQjs7QVYzb0IvQyxjQUFjO0VVNG9CdUIsU0M1VWxCLE9ENFVrQjs7QVY1b0JyQyxlQUFlO0VVNm9CdUIsU0N3SGxCLE9EeEhrQjs7QVY3b0J0QyxVQUFVO0VVOG9CdUIsU0NuRmxCLE9EbUZrQjs7QVY5b0JqQyxVQUFVO0VVK29CdUIsU0N6ZWxCLE9EeWVrQjs7QVYvb0JqQyxXQUFXO0VVZ3BCdUIsU0M5V2xCLE9EOFdrQjs7QVZocEJsQyxTQUFTO0VVaXBCdUIsU0N4S2xCLE9Ed0trQjs7QVZqcEJoQyxxQkFBcUI7RVVrcEJ1QixTQ3BRbEIsT0RvUWtCOztBVmxwQjVDLE1BQU07QUFBUyxjQUFjO0VVb3BCUSxTQ1NsQixPRFRrQjs7QVZwcEJyQyxVQUFVO0VVcXBCdUIsU0NqZGxCLE9EaWRrQjs7QVZycEJqQyxTQUFTO0VVc3BCdUIsU0N6b0JsQixPRHlvQmtCOztBVnRwQmhDLFVBQVU7RVV1cEJ1QixTQy9uQmxCLE9EK25Ca0I7O0FWdnBCakMsbUJBQW1CO0VVd3BCdUIsU0MzaEJsQixPRDJoQmtCOztBVnhwQjFDLG9CQUFvQjtFVXlwQnVCLFNDOWhCbEIsT0Q4aEJrQjs7QVZ6cEIzQyxvQkFBb0I7RVUwcEJ1QixTQzVoQmxCLE9ENGhCa0I7O0FWMXBCM0Msb0JBQW9CO0VVMnBCdUIsU0NqaUJsQixPRGlpQmtCOztBVjNwQjNDLFlBQVk7RVU0cEJ1QixTQ3BSbEIsT0RvUmtCOztBVjVwQm5DLFdBQVc7RVU2cEJ1QixTQzVObEIsT0Q0TmtCOztBVjdwQmxDLGFBQWE7RVU4cEJ1QixTQzVObEIsT0Q0TmtCOztBVjlwQnBDLFNBQVM7RVUrcEJ1QixTQy9ObEIsT0QrTmtCOztBVi9wQmhDLE9BQU87RVVncUJ1QixTQ2xPbEIsT0RrT2tCOztBVmhxQjlCLGNBQWM7RVVpcUJ1QixTQ3BlbEIsT0RvZWtCOztBVmpxQnJDLGdCQUFnQjtFVWtxQnVCLFNDcGVsQixPRG9la0I7O0FWbHFCdkMsU0FBUztFVW1xQnVCLFNDdFNsQixPRHNTa0I7O0FWbnFCaEMsU0FBUztFVW9xQnVCLFNDaUZsQixPRGpGa0I7O0FWcHFCaEMsYUFBYTtFVXFxQnVCLFNDbGtCbEIsT0Rra0JrQjs7QVZycUJwQyxhQUFhO0VVc3FCdUIsU0NyWGxCLE9EcVhrQjs7QVZ0cUJwQyxnQkFBZ0I7RVV1cUJ1QixTQ3BJbEIsT0RvSWtCOztBVnZxQnZDLFFBQVE7RVV3cUJ1QixTQ3BjbEIsT0RvY2tCOztBVnhxQi9CLG1CQUFtQjtFVXlxQnVCLFNDaGVsQixPRGdla0I7O0FWenFCMUMsWUFBWTtFVTBxQnVCLFNDcGZsQixPRG9ma0I7O0FWMXFCbkMsUUFBUTtFVTJxQnVCLFNDbE5sQixPRGtOa0I7O0FWM3FCL0IsZ0JBQWdCO0VVNHFCdUIsU0MxWGxCLE9EMFhrQjs7QVY1cUJ2QyxPQUFPO0VVNnFCdUIsU0NvRGxCLE9EcERrQjs7QVY3cUI5QixnQkFBZ0I7RVU4cUJ1QixTQzNKbEIsT0QySmtCOztBVjlxQnZDLFlBQVk7RVUrcUJ1QixTQ3pObEIsT0R5TmtCOztBVi9xQm5DLFVBQVU7RVVnckJ1QixTQ2xIbEIsT0RrSGtCOztBVmhyQmpDLGdCQUFnQjtFVWlyQnVCLFNDN0xsQixPRDZMa0I7O0FWanJCdkMsa0JBQWtCO0VVa3JCdUIsU0M3TGxCLE9ENkxrQjs7QVZsckJ6QyxlQUFlO0VVbXJCdUIsU0MzQ2xCLE9EMkNrQjs7QVZuckJ0QyxpQkFBaUI7RVVvckJ1QixTQzNDbEIsT0QyQ2tCOztBVnByQnhDLGdCQUFnQjtFVXFyQnVCLFNDckdsQixPRHFHa0I7O0FWcnJCdkMsbUJBQW1CO0VVc3JCdUIsU0NyR2xCLE9EcUdrQjs7QVZ0ckIxQyxXQUFXO0VVdXJCdUIsU0M3VWxCLE9ENlVrQjs7QVZ2ckJsQyxhQUFhO0VVd3JCdUIsU0NubEJsQixPRG1sQmtCOztBVnhyQnBDLGVBQWU7RVV5ckJ1QixTQ25sQmxCLE9EbWxCa0I7O0FWenJCdEMsV0FBVztFVTByQnVCLFNDL0xsQixPRCtMa0I7O0FWMXJCbEMsVUFBVTtFVTJyQnVCLFNDbFhsQixPRGtYa0I7O0FWM3JCakMsY0FBYztFVTRyQnVCLFNDa0ZsQixPRGxGa0I7O0FWNXJCckMsV0FBVztFVTZyQnVCLFNDbUZsQixPRG5Ga0I7O0FWN3JCbEMsVUFBVTtFVThyQnVCLFNDOWNsQixPRDhja0I7O0FWOXJCakMsb0JBQW9CO0VVK3JCdUIsU0MyQmxCLE9EM0JrQjs7QVYvckIzQyxrQkFBa0I7RVVnc0J1QixTQ21FbEIsT0RuRWtCOztBVmhzQnpDLHFCQUFxQjtFVWlzQnVCLFNDeEtsQixPRHdLa0I7O0FWanNCNUMsU0FBUztFVWtzQnVCLFNDOWxCbEIsT0Q4bEJrQjs7QVZsc0JoQyxxQkFBcUI7RVVtc0J1QixTQ3RvQmxCLE9Ec29Ca0I7O0FWbnNCNUMsd0JBQXdCO0VVb3NCdUIsU0NxRGxCLE9EckRrQjs7QVZwc0IvQyxXQUFXO0VVcXNCdUIsU0N4bEJsQixPRHdsQmtCOztBVnJzQmxDLCtCQUErQjtFVXNzQnVCLFNDNW9CbEIsT0Q0b0JrQjs7QVZ0c0J0RCxvQkFBb0I7QUFBUyx1Q0FBdUM7RVV3c0JOLFNDOXFCbEIsT0Q4cUJrQjs7QVZ4c0I5RCxZQUFZO0FBQVMsbUJBQW1CO0FBQVMsUUFBUTtFVTJzQjFCLFNDdmZsQixPRHVma0I7O0FWM3NCL0IsU0FBUztFVTRzQnVCLFNDaFlsQixPRGdZa0I7O0FWNXNCaEMsV0FBVztFVTZzQnVCLFNDaFlsQixPRGdZa0I7O0FWN3NCbEMsV0FBVztBQUFTLGlCQUFpQjtFVStzQkcsU0MxSGxCLE9EMEhrQjs7QVYvc0J4QyxjQUFjO0VVZ3RCdUIsU0N6UmxCLE9EeVJrQjs7QVZodEJyQyxVQUFVO0VVaXRCdUIsU0NpQ2xCLE9EakNrQjs7QVZqdEJqQyxpQkFBaUI7RVVrdEJ1QixTQ2lDbEIsT0RqQ2tCOztBVmx0QnhDLFlBQVk7RVVtdEJ1QixTQ2xIbEIsT0RrSGtCOztBVm50Qm5DLGtCQUFrQjtFVW90QnVCLFNDbEhsQixPRGtIa0I7O0FWcHRCekMsbUJBQW1CO0VVcXRCdUIsU0NsSGxCLE9Ea0hrQjs7QVZydEIxQyxjQUFjO0VVc3RCdUIsU0NyTmxCLE9EcU5rQjs7QVZ0dEJyQyxlQUFlO0VVdXRCdUIsU0NwYmxCLE9Eb2JrQjs7QVZ2dEJ0QyxTQUFTO0VVd3RCdUIsU0NtRWxCLE9EbkVrQjs7QVZ4dEJoQyxhQUFhO0VVeXRCdUIsU0NwRGxCLE9Eb0RrQjs7QVZ6dEJwQyxzQkFBc0I7QUFBUyx3QkFBd0I7RVUydEJSLFNDellsQixPRHlZa0I7O0FWM3RCL0MsTUFBTTtBQUFTLGdCQUFnQjtFVTZ0QlEsU0M3YWxCLE9ENmFrQjs7QVY3dEJ2QyxlQUFlO0VVOHRCdUIsU0N0WGxCLE9Ec1hrQjs7QVY5dEJ0QyxpQkFBaUI7RVUrdEJ1QixTQ2xmbEIsT0RrZmtCOztBVi90QnhDLG1CQUFtQjtFVWd1QnVCLFNDbGZsQixPRGtma0I7O0FWaHVCMUMsVUFBVTtFVWl1QnVCLFNDdFRsQixPRHNUa0I7O0FWanVCakMsZ0JBQWdCO0VVa3VCdUIsU0NwdEJsQixPRG90QmtCOztBVmx1QnZDLGtCQUFrQjtFVW11QnVCLFNDcHRCbEIsT0RvdEJrQjs7QVZudUJ6QyxTQUFTO0FBQVMsZ0JBQWdCO0VVcXVCSyxTQ3J0QmxCLE9EcXRCa0I7O0FWcnVCdkMsV0FBVztBQUFTLGtCQUFrQjtFVXV1QkcsU0N0dEJsQixPRHN0QmtCOztBVnZ1QnpDLGVBQWU7RVV3dUJ1QixTQ0psQixPRElrQjs7QVZ4dUJ0QyxpQkFBaUI7RVV5dUJ1QixTQ0psQixPRElrQjs7QVZ6dUJ4QyxVQUFVO0VVMHVCdUIsU0NIbEIsT0RHa0I7O0FWMXVCakMsWUFBWTtFVTJ1QnVCLFNDM1dsQixPRDJXa0I7O0FWM3VCbkMsbUJBQW1CO0FBQVMsV0FBVztFVTZ1QkwsU0M1V2xCLE9ENFdrQjs7QVY3dUJsQyxxQkFBcUI7QUFBUyxhQUFhO0VVK3VCUCxTQzdXbEIsT0Q2V2tCOztBVi91QnBDLFNBQVM7RVVndkJ1QixTQ3RObEIsT0RzTmtCOztBVmh2QmhDLGtCQUFrQjtFVWl2QnVCLFNDM2JsQixPRDJia0I7O0FWanZCekMsWUFBWTtFVWt2QnVCLFNDdEZsQixPRHNGa0I7O0FWbHZCbkMsaUJBQWlCO0FBQVMsZUFBZTtBQUFTLG9CQUFvQjtFVXF2QjNCLFNDeEVsQixPRHdFa0I7O0FWcnZCM0MsaUJBQWlCO0FBQVMsOEJBQThCO0VVdXZCSCxTQ3ZFbEIsT0R1RWtCOztBVnZ2QnJELGlCQUFpQjtBQUFTLG9CQUFvQjtFVXl2QkgsU0MzRWxCLE9EMkVrQjs7QVZ6dkIzQyxpQkFBaUI7QUFBUyx1QkFBdUI7RVUydkJILFNDNUVsQixPRDRFa0I7O0FWM3ZCOUMsaUJBQWlCO0FBQVMscUJBQXFCO0VVNnZCSCxTQ2pGbEIsT0RpRmtCOztBVjd2QjVDLFVBQVU7RVU4dkJ1QixTQzNLbEIsT0QyS2tCOztBVjl2QmpDLFdBQVc7QUFBUyxPQUFPO0FBQVMsUUFBUTtFVWl3QmIsU0N6ckJsQixPRHlyQmtCOztBVmp3Qi9CLFdBQVc7RVVrd0J1QixTQ2xQbEIsT0RrUGtCOztBVmx3QmxDLG1CQUFtQjtFVW13QnVCLFNDS2xCLE9ETGtCOztBVm53QjFDLG1CQUFtQjtFVW93QnVC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dUIsU1oyZGxCLE9ZM2RrQjs7QXZCSmhDLFVBQVU7RXVCS3VCLFNaMGpCbEIsT1kxakJrQjs7QXZCTGpDLGNBQWM7RXVCTXVCLFNac09sQixPWXRPa0I7O0F2Qk5yQyxTQUFTO0V1Qk91QixTWnVXbEIsT1l2V2tCOztBdkJQaEMsUUFBUTtFdUJRdUIsU1prbkJsQixPWWxuQmtCOztBdkJSL0IsVUFBVTtFdUJTdUIsU1pzbkJsQixPWXRuQmtCOztBdkJUakMsUUFBUTtFdUJVdUIsU1p5dEJsQixPWXp0QmtCOztBdkJWL0IsUUFBUTtFdUJXdUIsU1ptUmxCLE9ZblJrQjs7QXZCWC9CLFlBQVk7RXVCWXVCLFNadXBCbEIsT1l2cEJrQjs7QXZCWm5DLE1BQU07RXVCYXVCLFNacXBCbEIsT1lycEJrQjs7QXZCYjdCLFdBQVc7RXVCY3VCLFNac3BCbEIsT1l0cEJrQjs7QXZCZGxDLFNBQVM7RXVCZXVCLFNaeUlsQixPWXpJa0I7O0F2QmZoQyxVQUFVO0FBQVMsU0FBUztBQUFTLFNBQVM7RXVCa0JkLFNacXFCbEIsT1lycUJrQjs7QXZCbEJoQyxlQUFlO0V1Qm1CdUIsU1o4aUJsQixPWTlpQmtCOztBdkJuQnRDLGdCQUFnQjtFdUJvQnVCLFNaNGlCbEIsT1k1aUJrQjs7QXZCcEJ2QyxhQUFhO0V1QnFCdUIsU1o0ZmxCLE9ZNWZrQjs7QXZCckJwQyxVQUFVO0V1QnNCdUIsU1ppa0JsQixPWWprQmtCOztBdkJ0QmpDLFFBQVE7QUFBUyxPQUFPO0V1QndCTSxTWmdLbEIsT1loS2tCOztBdkJ4QjlCLFdBQVc7RXVCeUJ1QixTWitxQmxCLE9ZL3FCa0I7O0F2QnpCbEMsUUFBUTtFdUIwQnVCLFNad1ZsQixPWXhWa0I7O0F2QjFCL0IsVUFBVTtFdUIyQnVCLFNadVBsQixPWXZQa0I7O0F2QjNCakMsV0FBVztFdUI0QnVCLFNaZ0psQixPWWhKa0I7O0F2QjVCbEMsUUFBUTtFdUI2QnVCLFNabWhCbEIsT1luaEJrQjs7QXZCN0IvQixZQUFZO0V1QjhCdUIsU1pnTWxCLE9ZaE1rQjs7QXZCOUJuQyx1QkFBdUI7RXVCK0J1QixTWllsQixPWVprQjs7QXZCL0I5QyxxQkFBcUI7RXVCZ0N1QixTWmNsQixPWWRrQjs7QXZCaEM1QyxTQUFTO0V1QmlDdUIsU1pxV2xCLE9ZcldrQjs7QXZCakNoQyxpQkFBaUI7RXVCa0N1QixTWndlbEIsT1l4ZWtCOztBdkJsQ3hDLGdCQUFnQjtBQUFTLFVBQVU7RXVCb0NGLFNac2dCbEIsT1l0Z0JrQjs7QXZCcENqQyxXQUFXO0V1QnFDdUIsU1pnZ0JsQixPWWhnQmtCOztBdkJyQ2xDLFlBQVk7RXVCc0N1QixTWndZbEIsT1l4WWtCOztBdkJ0Q25DLFFBQVE7RXVCdUN1QixTWjJZbEIsT1kzWWtCOztBdkJ2Qy9CLFFBQVE7RXVCd0N1QixTWjRQbEIsT1k1UGtCOztBdkJ4Qy9CLGNBQWM7RXVCeUN1QixTWm9VbEIsT1lwVWtCOztBdkJ6Q3JDLGNBQWM7RXVCMEN1QixTWml0QmxCLE9ZanRCa0I7O0F2QjFDckMsZUFBZTtFdUIyQ3VCLFNaK3NCbEIsT1kvc0JrQjs7QXZCM0N0QyxhQUFhO0V1QjRDdUIsU1pndEJsQixPWWh0QmtCOztBdkI1Q3BDLFVBQVU7RXVCNkN1QixTWnllbEIsT1l6ZWtCOztBdkI3Q2pDLFdBQVc7RXVCOEN1QixTWndCbEIsT1l4QmtCOztBdkI5Q2xDLE9BQU87RXVCK0N1QixTWnltQmxCLE9Zem1Ca0I7O0F2Qi9DOUIsUUFBUTtFdUJnRHVCLFNaeW1CbEIsT1l6bUJrQjs7QXZCaEQvQixRQUFRO0V1QmlEdUIsU1p5RGxCLE9ZekRrQjs7QXZCakQvQixZQUFZO0V1QmtEdUIsU1p5RGxCLE9ZekRrQjs7QXZCbERuQyxTQUFTO0V1Qm1EdUIsU1orZGxCLE9ZL2RrQjs7QXZCbkRoQyxVQUFVO0V1Qm9EdUIsU1oyRWxCLE9ZM0VrQjs7QXZCcERqQyxRQUFRO0V1QnFEdUIsU1owUGxCLE9ZMVBrQjs7QXZCckQvQixRQUFRO0V1QnNEdUIsU1ppRGxCLE9ZakRrQjs7QXZCdEQvQixVQUFVO0V1QnVEdUIsU1owVmxCLE9ZMVZrQjs7QXZCdkRqQyxlQUFlO0V1QndEdUIsU1p3bUJsQixPWXhtQmtCOztBdkJ4RHRDLGNBQWM7RXVCeUR1QixTWndtQmxCLE9ZeG1Ca0I7O0F2QnpEckMsY0FBYztFdUIwRHVCLFNacENsQixPWW9Da0I7O0F2QjFEckMsZ0JBQWdCO0V1QjJEdUIsU1p2Q2xCLE9ZdUNrQjs7QXZCM0R2QyxlQUFlO0V1QjREdUIsU1pyQ2xCLE9ZcUNrQjs7QXZCNUR0QyxpQkFBaUI7RXVCNkR1QixTWnhDbEIsT1l3Q2tCOztBdkI3RHhDLFFBQVE7RXVCOER1QixTWitXbEIsT1kvV2tCOztBdkI5RC9CLFVBQVU7QUFBUyxXQUFXO0V1QmdFSSxTWjJhbEIsT1kzYWtCOztBdkJoRWxDLFVBQVU7RXVCaUV1QixTWnNVbEIsT1l0VWtCOztBdkJqRWpDLGdCQUFnQjtFdUJrRXVCLFNaa3JCbEIsT1lsckJrQjs7QXZCbEV2QyxTQUFTO0FBQVMsU0FBUztBQUFTLGFBQWE7RXVCcUViLFNaMGJsQixPWTFia0I7O0F2QnJFcEMsVUFBVTtFdUJzRXVCLFNaa2JsQixPWWxia0I7O0F2QnRFakMsY0FBYztFdUJ1RXVCLFNad1hsQixPWXhYa0I7O0F2QnZFckMsVUFBVTtFdUJ3RXVCLFNadERsQixPWXNEa0I7O0F2QnhFakMsUUFBUTtFdUJ5RXVCLFNabW5CbEIsT1lubkJrQjs7QXZCekUvQixRQUFRO0FBQVMsbUJBQW1CO0V1QjJFTSxTWithbEIsT1kvYWtCOztBdkIzRTFDLGtCQUFrQjtFdUI0RXVCLFNaOGZsQixPWTlma0I7O0F2QjVFekMsa0JBQWtCO0V1QjZFdUIsU1orRWxCLE9ZL0VrQjs7QXZCN0V6QyxVQUFVO0V1QjhFdUIsU1p6QmxCLE9ZeUJrQjs7QXZCOUVqQyxpQkFBaUI7RXVCK0V1QixTWm1qQmxCLE9ZbmpCa0I7O0F2Qi9FeEMsaUJBQWlCO0V1QmdGdUIsU1pxTGxCLE9ZckxrQjs7QXZCaEZ4QyxZQUFZO0V1QmlGdUIsU1psQmxCLE9Za0JrQjs7QXZCakZuQyxRQUFRO0V1QmtGdUIsU1pzYmxCLE9ZdGJrQjs7QXZCbEYvQixTQUFTO0V1Qm1GdUIsU1pnYWxCLE9ZaGFrQjs7QXZCbkZoQyxRQUFRO0V1Qm9GdUIsU1ptakJsQixPWW5qQmtCOztBdkJwRi9CLFdBQVc7RXVCcUZ1QixTWitObEIsT1kvTmtCOztBdkJyRmxDLGdCQUFnQjtFdUJzRnVCLFNaZ0xsQixPWWhMa0I7O0F2QnRGdkMsZ0JBQWdCO0V1QnVGdUIsU1o0aUJsQixPWTVpQmtCOztBdkJ2RnZDLFNBQVM7RXVCd0Z1QixTWitJbEIsT1kvSWtCOztBdkJ4RmhDLGdCQUFnQjtFdUJ5RnVCLFNaeUVsQixPWXpFa0I7O0F2QnpGdkMsaUJBQWlCO0V1QjBGdUIsU1p5RWxCLE9ZekVrQjs7QXZCMUZ4QyxlQUFlO0V1QjJGdUIsU1prYmxCLE9ZbGJrQjs7QXZCM0Z0QyxnQkFBZ0I7RXVCNEZ1QixTWnVYbEIsT1l2WGtCOztBdkI1RnZDLGdCQUFnQjtFdUI2RnVCLFNaMmxCbEIsT1kzbEJrQjs7QXZCN0Z2QyxnQkFBZ0I7RXVCOEZ1QixTWjJEbEIsT1kzRGtCOztBdkI5RnZDLG1CQUFtQjtFdUIrRnVCLFNaeWJsQixPWXpia0I7O0F2Qi9GMUMsZUFBZTtFdUJnR3VCLFNaMFNsQixPWTFTa0I7O0F2QmhHdEMsY0FBYztFdUJpR3VCLFNaMEdsQixPWTFHa0I7O0F2QmpHckMsa0JBQWtCO0V1QmtHdUIsU1p1bEJsQixPWXZsQmtCOztBdkJsR3pDLGtCQUFrQjtFdUJtR3VCLFNadURsQixPWXZEa0I7O0F2Qm5HekMsT0FBTztFdUJvR3VCLFNabkNsQixPWW1Da0I7O0F2QnBHOUIsY0FBYztFdUJxR3VCLFNabkRsQixPWW1Ea0I7O0F2QnJHckMsZUFBZTtFdUJzR3VCLFNabkRsQixPWW1Ea0I7O0F2QnRHdEMsWUFBWTtFdUJ1R3VCLFNabkRsQixPWW1Ea0I7O0F2QnZHbkMsY0FBYztFdUJ3R3VCLFNadkRsQixPWXVEa0I7O0F2QnhHckMsZ0JBQWdCO0FBQVMsU0FBUztFdUIwR0YsU1o0ZGxCLE9ZNWRrQjs7QXZCMUdoQyxVQUFVO0V1QjJHdUIsU1o4SWxCLE9ZOUlrQjs7QXZCM0dqQyxZQUFZO0V1QjRHdUIsU1pzRmxCLE9ZdEZrQjs7QXZCNUduQyxRQUFRO0V1QjZHdUIsU1orWmxCLE9ZL1prQjs7QXZCN0cvQixTQUFTO0V1QjhHdUIsU1pvV2xCLE9ZcFdrQjs7QXZCOUdoQyxZQUFZO0V1QitHdUIsU1pwRGxCLE9Zb0RrQjs7QXZCL0duQyxzQkFBc0I7RXVCZ0h1QixTWnVJbEIsT1l2SWtCOztBdkJoSDdDLFFBQVE7RXVCaUh1QixTWmtObEIsT1lsTmtCOztBdkJqSC9CLFFBQVE7RXVCa0h1QixTWjBTbEIsT1kxU2tCOztBdkJsSC9CLFFBQVE7RXVCbUh1QixTWjZLbEIsT1k3S2tCOztBdkJuSC9CLE9BQU87RXVCb0h1QixTWnlJbEIsT1l6SWtCOztBdkJwSDlCLGFBQWE7RXVCcUh1QixTWnlJbEIsT1l6SWtCOztBdkJySHBDLFdBQVc7QUFBUyx3QkFBd0I7RXVCdUhHLFNaaUlsQixPWWpJa0I7O0F2QnZIL0MsU0FBUztFdUJ3SHVCLFNaK1lsQixPWS9Za0I7O0F2QnhIaEMsWUFBWTtFdUJ5SHVCLFNaQWxCLE9ZQWtCOztBdkJ6SG5DLFVBQVU7RXVCMEh1QixTWm9hbEIsT1lwYWtCOztBdkIxSGpDLFdBQVc7RXVCMkh1QixTWmdFbEIsT1loRWtCOztBdkIzSGxDLFVBQVU7RXVCNEh1QixTWjZUbEIsT1k3VGtCOztBdkI1SGpDLGNBQWM7RXVCNkh1QixTWnVDbEIsT1l2Q2tCOztBdkI3SHJDLGdCQUFnQjtFdUI4SHVCLFNabUNsQixPWW5Da0I7O0F2QjlIdkMsV0FBVztFdUIrSHVCLFNaK2FsQixPWS9ha0I7O0F2Qi9IbEMsaUJBQWlCO0V1QmdJdUIsU1prZGxCLE9ZbGRrQjs7QXZCaEl4QyxVQUFVO0V1QmlJdUIsU1owS2xCLE9ZMUtrQjs7QXZCaklqQyxlQUFlO0V1QmtJdUIsU1oyS2xCLE9ZM0trQjs7QXZCbEl0QyxZQUFZO0V1Qm1JdUIsU1ozRWxCLE9ZMkVrQjs7QXZCbkluQyxZQUFZO0V1Qm9JdUIsU1o3RWxCLE9ZNkVrQjs7QXZCcEluQyxlQUFlO0FBQVMsYUFBYTtFdUJzSUQsU1psRWxCLE9Za0VrQjs7QXZCdElwQyxrQkFBa0I7RXVCdUl1QixTWitrQmxCLE9ZL2tCa0I7O0F2QnZJekMsbUJBQW1CO0V1QndJdUIsU1o0SGxCLE9ZNUhrQjs7QXZCeEkxQyxnQkFBZ0I7RXVCeUl1QixTWlRsQixPWVNrQjs7QXZCekl2QyxPQUFPO0V1QjBJdUIsU1oyUWxCLE9ZM1FrQjs7QXZCMUk5QixTQUFTO0FBQVMsUUFBUTtFdUI0SUssU1o2Q2xCLE9ZN0NrQjs7QXZCNUkvQixZQUFZO0V1QjZJdUIsU1prRGxCLE9ZbERrQjs7QXZCN0luQyxlQUFlO0V1QjhJdUIsU1pzaUJsQixPWXRpQmtCOztBdkI5SXRDLGlCQUFpQjtFdUIrSXVCLFNab2lCbEIsT1lwaUJrQjs7QXZCL0l4QyxhQUFhO0V1QmdKdUIsU1oyZWxCLE9ZM2VrQjs7QXZCaEpwQyxXQUFXO0V1QmlKdUIsU1o4TmxCLE9ZOU5rQjs7QXZCakpsQyxZQUFZO0V1QmtKdUIsU1pvY2xCLE9ZcGNrQjs7QXZCbEpuQyxtQkFBbUI7RXVCbUp1QixTWnVSbEIsT1l2UmtCOztBdkJuSjFDLGNBQWM7RXVCb0p1QixTWjZoQmxCLE9ZN2hCa0I7O0F2QnBKckMsaUJBQWlCO0V1QnFKdUIsU1pzR2xCLE9ZdEdrQjs7QXZCckp4QyxXQUFXO0V1QnNKdUIsU1o4YmxCLE9ZOWJrQjs7QXZCdEpsQyxVQUFVO0V1QnVKdUIsU1pxakJsQixPWXJqQmtCOztBdkJ2SmpDLGlCQUFpQjtFdUJ3SnVCLFNaZ0xsQixPWWhMa0I7O0F2QnhKeEMsVUFBVTtFdUJ5SnVCLFNadWtCbEIsT1l2a0JrQjs7QXZCekpqQyxXQUFXO0V1QjBKdUIsU1pxUWxCLE9ZclFrQjs7QXZCMUpsQyxTQUFTO0V1QjJKdUIsU1ppV2xCLE9ZaldrQjs7QXZCM0poQyxZQUFZO0V1QjRKdUIsU1oyZGxCLE9ZM2RrQjs7QXZCNUpuQyxjQUFjO0V1QjZKdUIsU1pqRGxCLE9ZaURrQjs7QXZCN0pyQyxnQkFBZ0I7RXVCOEp1QixTWitWbEIsT1kvVmtCOztBdkI5SnZDLFdBQVc7RXVCK0p1QixTWnNqQmxCLE9ZdGpCa0I7O0F2Qi9KbEMsY0FBYztBQUFTLFlBQVk7RXVCaUtBLFNaZ0dsQixPWWhHa0I7O0F2QmpLbkMsVUFBVTtFdUJrS3VCLFNab0tsQixPWXBLa0I7O0F2QmxLakMsVUFBVTtFdUJtS3VCLFNaMGpCbEIsT1kxakJrQjs7QXZCbktqQyxlQUFlO0V1Qm9LdUIsU1pvQ2xCLE9ZcENrQjs7QXZCcEt0QyxRQUFRO0FBQVMsT0FBTztFdUJzS00sU1orWWxCLE9ZL1lrQjs7QXZCdEs5QixTQUFTO0V1QnVLdUIsU1pvTWxCLE9ZcE1rQjs7QXZCdktoQyxZQUFZO0V1QndLdUIsU1pyRGxCLE9ZcURrQjs7QXZCeEtuQyxRQUFRO0V1QnlLdUIsU1poRmxCLE9ZZ0ZrQjs7QXZCeksvQixlQUFlO0V1QjBLdUIsU1pyQmxCLE9ZcUJrQjs7QXZCMUt0QyxnQkFBZ0I7RXVCMkt1QixTWm9MbEIsT1lwTGtCOztBdkIzS3ZDLGVBQWU7RXVCNEt1QixTWmtMbEIsT1lsTGtCOztBdkI1S3RDLGFBQWE7RXVCNkt1QixTWm1MbEIsT1luTGtCOztBdkI3S3BDLGVBQWU7RXVCOEt1QixTWitLbEIsT1kvS2tCOztBdkI5S3RDLHFCQUFxQjtFdUIrS3VCLFNacklsQixPWXFJa0I7O0F2Qi9LNUMsc0JBQXNCO0V1QmdMdUIsU1pqSWxCLE9ZaUlrQjs7QXZCaEw3QyxtQkFBbUI7RXVCaUx1QixTWmpJbEIsT1lpSWtCOztBdkJqTDFDLHFCQUFxQjtFdUJrTHVCLFNaeklsQixPWXlJa0I7O0F2QmxMNUMsU0FBUztFdUJtTHVCLFNaMkpsQixPWTNKa0I7O0F2Qm5MaEMsVUFBVTtFdUJvTHVCLFNaNmxCbEIsT1k3bEJrQjs7QXZCcExqQyxTQUFTO0V1QnFMdUIsU1pxZWxCLE9ZcmVrQjs7QXZCckxoQyxVQUFVO0V1QnNMdUIsU1p5R2xCLE9ZekdrQjs7QXZCdExqQyxhQUFhO0V1QnVMdUIsU1p6RWxCLE9ZeUVrQjs7QXZCdkxwQyxjQUFjO0V1QndMdUIsU1psSWxCLE9Za0lrQjs7QXZCeExyQyxTQUFTO0FBQVMsU0FBUztFdUIwTEssU1ppakJsQixPWWpqQmtCOztBdkIxTGhDLFNBQVM7QUFBUyxRQUFRO0V1QjRMSyxTWjRPbEIsT1k1T2tCOztBdkI1TC9CLFNBQVM7RXVCNkx1QixTWmRsQixPWWNrQjs7QXZCN0xoQyxTQUFTO0V1QjhMdUIsU1owR2xCLE9ZMUdrQjs7QXZCOUxoQyxPQUFPO0FBQVMsWUFBWTtFdUJnTU8sU1o2WGxCLE9ZN1hrQjs7QXZCaE1uQyxRQUFRO0FBQVMsV0FBVztFdUJrTU0sU1oyRmxCLE9ZM0ZrQjs7QXZCbE1sQyxhQUFhO0V1Qm1NdUIsU1o2U2xCLE9ZN1NrQjs7QXZCbk1wQyxRQUFRO0FBQVMsWUFBWTtFdUJxTU0sU1pxR2xCLE9ZckdrQjs7QXZCck1uQyxVQUFVO0V1QnNNdUIsU1pnYmxCLE9ZaGJrQjs7QXZCdE1qQyxXQUFXO0FBQVMsV0FBVztBQUFTLFFBQVE7RXVCeU1qQixTWmxJbEIsT1lrSWtCOztBdkJ6TS9CLFdBQVc7RXVCME11QixTWnNPbEIsT1l0T2tCOztBdkIxTWxDLFdBQVc7RXVCMk11QixTWm9PbEIsT1lwT2tCOztBdkIzTWxDLGlCQUFpQjtFdUI0TXVCLFNaK2JsQixPWS9ia0I7O0F2QjVNeEMsYUFBYTtFdUI2TXVCLFNaMmdCbEIsT1kzZ0JrQjs7QXZCN01wQyxTQUFTO0V1QjhNdUIsU1p1Y2xCLE9ZdmNrQjs7QXZCOU1oQyxTQUFTO0V1QitNdUIsU1p5T2xCLE9Zek9rQjs7QXZCL01oQyxTQUFTO0V1QmdOdUIsU1o2ZmxCLE9ZN2ZrQjs7QXZCaE5oQyxhQUFhO0V1QmlOdUIsU1ptVGxCLE9ZblRrQjs7QXZCak5wQyxvQkFBb0I7RXVCa051QixTWm9UbEIsT1lwVGtCOztBdkJsTjNDLHNCQUFzQjtFdUJtTnVCLFNaZ0lsQixPWWhJa0I7O0F2Qm5ON0MsZUFBZTtFdUJvTnVCLFNaNEhsQixPWTVIa0I7O0F2QnBOdEMsU0FBUztFdUJxTnVCLFNacVFsQixPWXJRa0I7O0F2QnJOaEMsY0FBYztFdUJzTnVCLFNacEZsQixPWW9Ga0I7O0F2QnROckMsWUFBWTtFdUJ1TnVCLFNaOUVsQixPWThFa0I7O0F2QnZObkMsY0FBYztFdUJ3TnVCLFNackZsQixPWXFGa0I7O0F2QnhOckMsZUFBZTtFdUJ5TnVCLFNackZsQixPWXFGa0I7O0F2QnpOdEMsV0FBVztFdUIwTnVCLFNaaENsQixPWWdDa0I7O0F2QjFObEMsWUFBWTtBQUFTLFFBQVE7RXVCNE5FLFNaMFlsQixPWTFZa0I7O0F2QjVOL0IsYUFBYTtBQUFTLGFBQWE7RXVCOE5DLFNaOFlsQixPWTlZa0I7O0F2QjlOcEMsV0FBVztBQUFTLFlBQVk7RXVCZ09HLFNaMllsQixPWTNZa0I7O0F2QmhPbkMsWUFBWTtFdUJpT3VCLFNaVWxCLE9ZVmtCOztBdkJqT25DLFlBQVk7RXVCa091QixTWnVNbEIsT1l2TWtCOztBdkJsT25DLGVBQWU7QUFBUyxRQUFRO0V1Qm9PRCxTWnFmbEIsT1lyZmtCOztBdkJwTy9CLFNBQVM7QUFBUyxTQUFTO0V1QnNPSyxTWm9GbEIsT1lwRmtCOztBdkJ0T2hDLGFBQWE7QUFBUyxjQUFjO0V1QndPQyxTWithbEIsT1kvYWtCOztBdkJ4T3JDLGFBQWE7RXVCeU91QixTWjdDbEIsT1k2Q2tCOztBdkJ6T3BDLGNBQWM7RXVCME91QixTWjFDbEIsT1kwQ2tCOztBdkIxT3JDLFNBQVM7QUFBUyxRQUFRO0V1QjRPSyxTWnBJbEIsT1lvSWtCOztBdkI1Ty9CLFdBQVc7RXVCNk91QixTWjZXbEIsT1k3V2tCOztBdkI3T2xDLFlBQVk7RXVCOE91QixTWnllbEIsT1l6ZWtCOztBdkI5T25DLFNBQVM7QUFBUyxhQUFhO0V1QmdQSyxTWnJFbEIsT1lxRWtCOztBdkJoUHBDLGVBQWU7RXVCaVB1QixTWnFMbEIsT1lyTGtCOztBdkJqUHRDLFlBQVk7RXVCa1B1QixTWkdsQixPWUhrQjs7QXZCbFBuQyxrQkFBa0I7RXVCbVB1QixTWm5FbEIsT1ltRWtCOztBdkJuUHpDLGdCQUFnQjtFdUJvUHVCLFNabkVsQixPWW1Fa0I7O0F2QnBQdkMsV0FBVztFdUJxUHVCLFNaaWZsQixPWWpma0I7O0F2QnJQbEMsZUFBZTtFdUJzUHVCLFNaOFlsQixPWTlZa0I7O0F2QnRQdEMsWUFBWTtFdUJ1UHVCLFNaeVpsQixPWXpaa0I7O0F2QnZQbkMsVUFBVTtFdUJ3UHVCLFNaOUpsQixPWThKa0I7O0F2QnhQakMsVUFBVTtFdUJ5UHVCLFNabEVsQixPWWtFa0I7O0F2QnpQakMsV0FBVztFdUIwUHVCLFNaMUNsQixPWTBDa0I7O0F2QjFQbEMsZUFBZTtFdUIyUHVCLFNaOEJsQixPWTlCa0I7O0F2QjNQdEMsY0FBYztFdUI0UHVCLFNaMUlsQixPWTBJa0I7O0F2QjVQckMsY0FBYztFdUI2UHVCLFNac0hsQixPWXRIa0I7O0F2QjdQckMsYUFBYTtFdUI4UHVCLFNack9sQixPWXFPa0I7O0F2QjlQcEMsVUFBVTtFdUIrUHVCLFNaNE1sQixPWTVNa0I7O0F2Qi9QakMsZUFBZTtFdUJnUXVCLFNaVWxCLE9ZVmtCOztBdkJoUXRDLFFBQVE7RXVCaVF1QixTWjNLbEIsT1kyS2tCOztBdkJqUS9CLFlBQVk7RXVCa1F1QixTWnVGbEIsT1l2RmtCOztBdkJsUW5DLGVBQWU7RXVCbVF1QixTWjJRbEIsT1kzUWtCOztBdkJuUXRDLHFCQUFxQjtFdUJvUXVCLFNack9sQixPWXFPa0I7O0F2QnBRNUMsc0JBQXNCO0V1QnFRdUIsU1pyT2xCLE9ZcU9rQjs7QXZCclE3QyxtQkFBbUI7RXVCc1F1QixTWnJPbEIsT1lxT2tCOztBdkJ0UTFDLHFCQUFxQjtFdUJ1UXVCLFNaek9sQixPWXlPa0I7O0F2QnZRNUMsY0FBYztFdUJ3UXVCLFNack9sQixPWXFPa0I7O0F2QnhRckMsZUFBZTtFdUJ5UXVCLFNack9sQixPWXFPa0I7O0F2QnpRdEMsWUFBWTtFdUIwUXVCLFNack9sQixPWXFPa0I7O0F2QjFRbkMsY0FBYztFdUIyUXVCLFNaek9sQixPWXlPa0I7O0F2QjNRckMsV0FBVztFdUI0UXVCLFNacERsQixPWW9Ea0I7O0F2QjVRbEMsVUFBVTtFdUI2UXVCLFNaNElsQixPWTVJa0I7O0F2QjdRakMsVUFBVTtFdUI4UXVCLFNad1lsQixPWXhZa0I7O0F2QjlRakMsZ0JBQWdCO0FBQVMsVUFBVTtFdUJnUkYsU1p1TWxCLE9Zdk1rQjs7QXZCaFJqQyxZQUFZO0V1QmlSdUIsU1p6R2xCLE9ZeUdrQjs7QXZCalJuQyxjQUFjO0V1QmtSdUIsU1p5UWxCLE9ZelFrQjs7QXZCbFJyQyxlQUFlO0V1Qm1SdUIsU1p5UWxCLE9ZelFrQjs7QXZCblJ0QyxXQUFXO0V1Qm9SdUIsU1orVmxCLE9ZL1ZrQjs7QXZCcFJsQyxVQUFVO0V1QnFSdUIsU1o5R2xCLE9ZOEdrQjs7QXZCclJqQyxjQUFjO0FBQVMsU0FBUztFdUJ1UkEsU1pvUmxCLE9ZcFJrQjs7QXZCdlJoQyxjQUFjO0V1QndSdUIsU1orQ2xCLE9ZL0NrQjs7QXZCeFJyQyxZQUFZO0V1QnlSdUIsU1ptQmxCLE9ZbkJrQjs7QXZCelJuQyxpQkFBaUI7RXVCMFJ1QixTWm9CbEIsT1lwQmtCOztBdkIxUnhDLFdBQVc7RXVCMlJ1QixTWnFVbEIsT1lyVWtCOztBdkIzUmxDLFdBQVc7RXVCNFJ1QixTWjJCbEIsT1kzQmtCOztBdkI1UmxDLFNBQVM7RXVCNlJ1QixTWmdMbEIsT1loTGtCOztBdkI3UmhDLFdBQVc7RXVCOFJ1QixTWjJCbEIsT1kzQmtCOztBdkI5UmxDLGNBQWM7RXVCK1J1QixTWnVIbEIsT1l2SGtCOztBdkIvUnJDLFVBQVU7RXVCZ1N1QixTWk1sQixPWU5rQjs7QXZCaFNqQyxrQkFBa0I7RXVCaVN1QixTWklsQixPWUprQjs7QXZCalN6QyxZQUFZO0V1QmtTdUIsU1o2WGxCLE9ZN1hrQjs7QXZCbFNuQyxRQUFRO0V1Qm1TdUIsU1poSGxCLE9ZZ0hrQjs7QXZCblMvQixrQkFBa0I7QUFBUyxhQUFhO0V1QnFTSixTWnVRbEIsT1l2UWtCOztBdkJyU3BDLG1CQUFtQjtBQUFTLGtCQUFrQjtBQUFTLGVBQWU7RXVCd1NoQyxTWnNWbEIsT1l0VmtCOztBdkJ4U3RDLGtCQUFrQjtFdUJ5U3VCLFNad0lsQixPWXhJa0I7O0F2QnpTekMsUUFBUTtFdUIwU3VCLFNaaEdsQixPWWdHa0I7O0F2QjFTL0IsYUFBYTtFdUIyU3VCLFNadkhsQixPWXVIa0I7O0F2QjNTcEMsVUFBVTtBQUFTLGdCQUFnQjtFdUI2U0ksU1p0SmxCLE9Zc0prQjs7QXZCN1N2QyxZQUFZO0V1QjhTdUIsU1p5T2xCLE9Zek9rQjs7QXZCOVNuQyxRQUFRO0V1QitTdUIsU1owRmxCLE9ZMUZrQjs7QXZCL1MvQixlQUFlO0V1QmdUdUIsU1oxRGxCLE9ZMERrQjs7QXZCaFR0QyxlQUFlO0V1QmlUdUIsU1prV2xCLE9ZbFdrQjs7QXZCalR0QyxhQUFhO0V1QmtUdUIsU1o0VmxCLE9ZNVZrQjs7QXZCbFRwQyxVQUFVO0V1Qm1UdUIsU1psRWxCLE9Za0VrQjs7QXZCblRqQyxnQkFBZ0I7RXVCb1R1QixTWmdPbEIsT1loT2tCOztBdkJwVHZDLGNBQWM7RXVCcVR1QixTWjJKbEIsT1kzSmtCOztBdkJyVHJDLG9CQUFvQjtFdUJzVHVCLFNaMkpsQixPWTNKa0I7O0F2QnRUM0MsVUFBVTtFdUJ1VHVCLFNac1JsQixPWXRSa0I7O0F2QnZUakMsY0FBYztFdUJ3VHVCLFNaNUxsQixPWTRMa0I7O0F2QnhUckMscUJBQXFCO0V1QnlUdUIsU1p4QmxCLE9Zd0JrQjs7QXZCelQ1QyxVQUFVO0V1QjBUdUIsU1p1UGxCLE9ZdlBrQjs7QXZCMVRqQyxVQUFVO0V1QjJUdUIsU1o2SWxCLE9ZN0lrQjs7QXZCM1RqQyx1QkFBdUI7RXVCNFR1QixTWjlKbEIsT1k4SmtCOztBdkI1VDlDLHdCQUF3QjtFdUI2VHVCLFNaOUpsQixPWThKa0I7O0F2QjdUL0MscUJBQXFCO0V1QjhUdUIsU1o5SmxCLE9ZOEprQjs7QXZCOVQ1Qyx1QkFBdUI7RXVCK1R1QixTWmxLbEIsT1lrS2tCOztBdkIvVDlDLFNBQVM7RXVCZ1V1QixTWjhEbEIsT1k5RGtCOztBdkJoVWhDLFFBQVE7RXVCaVV1QixTWnJIbEIsT1lxSGtCOztBdkJqVS9CLFVBQVU7RXVCa1V1QixTWnZTbEIsT1l1U2tCOztBdkJsVWpDLGNBQWM7RXVCbVV1QixTWjJabEIsT1kzWmtCOztBdkJuVXJDLFlBQVk7RXVCb1V1QixTWmhObEIsT1lnTmtCOztBdkJwVW5DLGNBQWM7RXVCcVV1QixTWjdGbEIsT1k2RmtCOztBdkJyVXJDLGNBQWM7RXVCc1V1QixTWjdGbEIsT1k2RmtCOztBdkJ0VXJDLGNBQWM7RXVCdVV1QixTWitPbEIsT1kvT2tCOztBdkJ2VXJDLGVBQWU7RXVCd1V1QixTWmlNbEIsT1lqTWtCOztBdkJ4VXRDLFVBQVU7RXVCeVV1QixTWjZXbEIsT1k3V2tCOztBdkJ6VWpDLGdCQUFnQjtFdUIwVXVCLFNaMElsQixPWTFJa0I7O0F2QjFVdkMsa0JBQWtCO0V1QjJVdUIsU1owSWxCLE9ZMUlrQjs7QXZCM1V6QyxZQUFZO0V1QjRVdUIsU1pxRmxCLE9ZckZrQjs7QXZCNVVuQyxjQUFjO0V1QjZVdUIsU1ptRmxCLE9ZbkZrQjs7QXZCN1VyQyxnQkFBZ0I7RXVCOFV1QixTWm5MbEIsT1ltTGtCOztBdkI5VXZDLGlCQUFpQjtFdUIrVXVCLFNaMEtsQixPWTFLa0I7O0F2Qi9VeEMsd0JBQXdCO0V1QmdWdUIsU1pwRmxCLE9Zb0ZrQjs7QXZCaFYvQyxnQkFBZ0I7RXVCaVZ1QixTWndQbEIsT1l4UGtCOztBdkJqVnZDLFdBQVc7RXVCa1Z1QixTWmpKbEIsT1lpSmtCOztBdkJsVmxDLGVBQWU7QUFBUyx1QkFBdUI7RXVCb1ZELFNaL01sQixPWStNa0I7O0F2QnBWOUMsYUFBYTtBQUFTLHFCQUFxQjtFdUJzVkMsU1o5TWxCLE9ZOE1rQjs7QXZCdFY1QyxnQkFBZ0I7QUFBUyx3QkFBd0I7RXVCd1ZGLFNaak5sQixPWWlOa0I7O0F2QnhWL0MsUUFBUTtBQUFTLE9BQU87RXVCMFZNLFNadkdsQixPWXVHa0I7O0F2QjFWOUIsT0FBTztFdUIyVnVCLFNaaENsQixPWWdDa0I7O0F2QjNWOUIsVUFBVTtBQUFTLE9BQU87RXVCNlZJLFNacVlsQixPWXJZa0I7O0F2QjdWOUIsU0FBUztBQUFTLE9BQU87RXVCK1ZLLFNaNENsQixPWTVDa0I7O0F2Qi9WOUIsT0FBTztBQUFTLE9BQU87QUFBUyxPQUFPO0FBQVMsT0FBTztFdUJtV3pCLFNaZ0RsQixPWWhEa0I7O0F2Qm5XOUIsU0FBUztBQUFTLFVBQVU7QUFBUyxPQUFPO0V1QnNXZCxTWmlObEIsT1lqTmtCOztBdkJ0VzlCLE9BQU87QUFBUyxPQUFPO0V1QndXTyxTWitDbEIsT1kvQ2tCOztBdkJ4VzlCLFdBQVc7QUFBUyxPQUFPO0V1QjBXRyxTWjNQbEIsT1kyUGtCOztBdkIxVzlCLFFBQVE7RXVCMld1QixTWmhHbEIsT1lnR2tCOztBdkIzVy9CLGFBQWE7RXVCNFd1QixTWnBGbEIsT1lvRmtCOztBdkI1V3BDLGtCQUFrQjtFdUI2V3VCLFNaMFBsQixPWTFQa0I7O0F2QjdXekMsbUJBQW1CO0V1QjhXdUIsU1owUGxCLE9ZMVBrQjs7QXZCOVcxQyxtQkFBbUI7RXVCK1d1QixTWjBQbEIsT1kxUGtCOztBdkIvVzFDLG9CQUFvQjtFdUJnWHVCLFNaMFBsQixPWTFQa0I7O0F2QmhYM0Msb0JBQW9CO0V1QmlYdUIsU1o2UGxCLE9ZN1BrQjs7QXZCalgzQyxxQkFBcUI7RXVCa1h1QixTWjZQbEIsT1k3UGtCOztBdkJsWDVDLGFBQWE7RXVCbVh1QixTWmtVbEIsT1lsVWtCOztBdkJuWHBDLGVBQWU7RXVCb1h1QixTWjhUbEIsT1k5VGtCOztBdkJwWHRDLGtCQUFrQjtFdUJxWHVCLFNaeWFsQixPWXpha0I7O0F2QnJYekMsV0FBVztFdUJzWHVCLFNac2FsQixPWXRha0I7O0F2QnRYbEMsUUFBUTtFdUJ1WHVCLFNaMlpsQixPWTNaa0I7O0F2QnZYL0IsZUFBZTtFdUJ3WHVCLFNaMlpsQixPWTNaa0I7O0F2QnhYdEMsZ0JBQWdCO0V1QnlYdUIsU1pvYWxCLE9ZcGFrQjs7QXZCelh2QyxXQUFXO0V1QjBYdUIsU1p4SmxCLE9Zd0prQjs7QXZCMVhsQyxrQkFBa0I7RXVCMlh1QixTWjhQbEIsT1k5UGtCOztBdkIzWHpDLGFBQWE7RXVCNFh1QixTWmdCbEIsT1loQmtCOztBdkI1WHBDLFVBQVU7RXVCNlh1QixTWnBGbEIsT1lvRmtCOztBdkI3WGpDLE9BQU87RXVCOFh1QixTWjNXbEIsT1kyV2tCOztBdkI5WDlCLGFBQWE7RXVCK1h1QixTWi9SbEIsT1krUmtCOztBdkIvWHBDLG9CQUFvQjtFdUJnWXVCLFNaL1JsQixPWStSa0I7O0F2QmhZM0MsVUFBVTtFdUJpWXVCLFNaK1VsQixPWS9Va0I7O0F2QmpZakMsaUJBQWlCO0V1QmtZdUIsU1orVWxCLE9ZL1VrQjs7QXZCbFl4QyxtQkFBbUI7RXVCbVl1QixTWmdEbEIsT1loRGtCOztBdkJuWTFDLGlCQUFpQjtFdUJvWXVCLFNaa0RsQixPWWxEa0I7O0F2QnBZeEMsbUJBQW1CO0V1QnFZdUIsU1orQ2xCLE9ZL0NrQjs7QXZCclkxQyxvQkFBb0I7RXVCc1l1QixTWitDbEIsT1kvQ2tCOztBdkJ0WTNDLFNBQVM7RXVCdVl1QixTWmpXbEIsT1lpV2tCOztBdkJ2WWhDLFdBQVc7RXVCd1l1QixTWm1ZbEIsT1luWWtCOztBdkJ4WWxDLFdBQVc7RXVCeVl1QixTWjdXbEIsT1k2V2tCOztBdkJ6WWxDLFNBQVM7RXVCMFl1QixTWmtDbEIsT1lsQ2tCOztBdkIxWWhDLFlBQVk7RXVCMll1QixTWjVLbEIsT1k0S2tCOztBdkIzWW5DLFNBQVM7RXVCNFl1QixTWmdObEIsT1loTmtCOztBdkI1WWhDLGNBQWM7RXVCNll1QixTWnhGbEIsT1l3RmtCOztBdkI3WXJDLFVBQVU7RXVCOFl1QixTWjRUbEIsT1k1VGtCOztBdkI5WWpDLFVBQVU7RXVCK1l1QixTWnRJbEIsT1lzSWtCOztBdkIvWWpDLFFBQVE7RXVCZ1p1QixTWjZDbEIsT1k3Q2tCOztBdkJoWi9CLFVBQVU7QUFBUyxZQUFZO0V1QmtaSSxTWjVEbEIsT1k0RGtCOztBdkJsWm5DLFNBQVM7RXVCbVp1QixTWjhQbEIsT1k5UGtCOztBdkJuWmhDLFVBQVU7RXVCb1p1QixTWnVFbEIsT1l2RWtCOztBdkJwWmpDLFdBQVc7RXVCcVp1QixTWjlXbEIsT1k4V2tCOztBdkJyWmxDLE9BQU87RXVCc1p1QixTWnRTbEIsT1lzU2tCOztBdkJ0WjlCLE1BQU07RXVCdVp1QixTWmlXbEIsT1lqV2tCOztBdkJ2WjdCLFNBQVM7RXVCd1p1QixTWnVXbEIsT1l2V2tCOztBdkJ4WmhDLFVBQVU7RXVCeVp1QixTWitJbEIsT1kvSWtCOztBdkJ6WmpDLGFBQWE7RXVCMFp1QixTWmtGbEIsT1lsRmtCOztBdkIxWnBDLGtCQUFrQjtFdUIyWnVCLFNaNk5sQixPWTdOa0I7O0F2QjNaekMsd0JBQXdCO0V1QjRadUIsU1ovV2xCLE9ZK1drQjs7QXZCNVovQyx1QkFBdUI7RXVCNlp1QixTWmpYbEIsT1lpWGtCOztBdkI3WjlDLGVBQWU7QUFBUyx1QkFBdUI7RXVCK1pELFNaelJsQixPWXlSa0I7O0F2Qi9aOUMsZ0JBQWdCO0V1QmdhdUIsU1puTWxCLE9ZbU1rQjs7QXZCaGF2QyxjQUFjO0V1QmlhdUIsU1ppV2xCLE9ZaldrQjs7QXZCamFyQyxnQkFBZ0I7RXVCa2F1QixTWm9WbEIsT1lwVmtCOztBdkJsYXZDLGdCQUFnQjtBQUFTLE9BQU87RXVCb2FGLFNaMFNsQixPWTFTa0I7O0F2QnBhOUIsaUJBQWlCO0V1QnFhdUIsU1owR2xCLE9ZMUdrQjs7QXZCcmF4QyxpQkFBaUI7RXVCc2F1QixTWjRNbEIsT1k1TWtCOztBdkJ0YXhDLFNBQVM7RXVCdWF1QixTWnNMbEIsT1l0TGtCOztBdkJ2YWhDLG1CQUFtQjtFdUJ3YXVCLFNaekxsQixPWXlMa0I7O0F2QnhhMUMsYUFBYTtFdUJ5YXVCLFNab1dsQixPWXBXa0I7O0F2QnphcEMsVUFBVTtFdUIwYXVCLFNaOERsQixPWTlEa0I7O0F2QjFhakMsZUFBZTtBQUFTLFFBQVE7QUFBUyxjQUFjO0V1QjZhbEIsU1o4U2xCLE9ZOVNrQjs7QXZCN2FyQyxnQkFBZ0I7QUFBUyxrQkFBa0I7RXVCK2FGLFNaMUZsQixPWTBGa0I7O0F2Qi9hekMsU0FBUztFdUJnYnVCLFNac1dsQixPWXRXa0I7O0F2QmhiaEMsVUFBVTtFdUJpYnVCLFNabEdsQixPWWtHa0I7O0F2QmpiakMsVUFBVTtFdUJrYnVCLFNaZ0hsQixPWWhIa0I7O0F2QmxiakMsaUJBQWlCO0V1Qm1idUIsU1ppSGxCLE9ZakhrQjs7QXZCbmJ4QyxzQkFBc0I7RXVCb2J1QixTWnlObEIsT1l6TmtCOztBdkJwYjdDLGVBQWU7RXVCcWJ1QixTWnVObEIsT1l2TmtCOztBdkJyYnRDLGFBQWE7RXVCc2J1QixTWi9ObEIsT1krTmtCOztBdkJ0YnBDLFFBQVE7RXVCdWJ1QixTWjVObEIsT1k0TmtCOztBdkJ2Yi9CLGlCQUFpQjtFdUJ3YnVCLFNaMkVsQixPWTNFa0I7O0F2QnhieEMsa0JBQWtCO0V1QnlidUIsU1p5RWxCLE9ZekVrQjs7QXZCemJ6QyxVQUFVO0V1QjBidUIsU1p2TmxCLE9ZdU5rQjs7QXZCMWJqQyxVQUFVO0V1QjJidUIsU1p6Q2xCLE9ZeUNrQjs7QXZCM2JqQyxZQUFZO0V1QjRidUIsU1pwQ2xCLE9Zb0NrQjs7QXZCNWJuQyxPQUFPO0V1QjZidUIsU1p0TGxCLE9Zc0xrQjs7QXZCN2I5QixZQUFZO0V1QjhidUIsU1o3VWxCLE9ZNlVrQjs7QXZCOWJuQyxTQUFTO0V1QitidUIsU1oxUmxCLE9ZMFJrQjs7QXZCL2JoQyxPQUFPO0V1QmdjdUIsU1pzRGxCLE9ZdERrQjs7QXZCaGM5QixTQUFTO0V1QmljdUIsU1ptTGxCLE9ZbkxrQjs7QXZCamNoQyxRQUFRO0V1QmtjdUIsU1pyUGxCLE9ZcVBrQjs7QXZCbGMvQixTQUFTO0V1Qm1jdUIsU1pyUGxCLE9ZcVBrQjs7QXZCbmNoQyxXQUFXO0V1Qm9jdUIsU1o3V2xCLE9ZNldrQjs7QXZCcGNsQyxrQkFBa0I7RXVCcWN1QixTWjdXbEIsT1k2V2tCOztBdkJyY3pDLFNBQVM7RXVCc2N1QixTWjBMbEIsT1kxTGtCOztBdkJ0Y2hDLGdCQUFnQjtFdUJ1Y3VCLFNaMExsQixPWTFMa0I7O0F2QnZjdkMsV0FBVztFdUJ3Y3VCLFNaeUZsQixPWXpGa0I7O0F2QnhjbEMsY0FBYztBQUFTLE9BQU87RXVCMGNBLFNaelVsQixPWXlVa0I7O0F2QjFjOUIsT0FBTztBQUFTLFFBQVE7RXVCNGNPLFNaK01sQixPWS9Na0I7O0F2QjVjL0IsUUFBUTtFdUI2Y3VCLFNaNFBsQixPWTVQa0I7O0F2QjdjL0IsV0FBVztFdUI4Y3VCLFNadUtsQixPWXZLa0I7O0F2QjljbEMsY0FBYztFdUIrY3VCLFNadFBsQixPWXNQa0I7O0F2Qi9jckMsY0FBYztFdUJnZHVCLFNaaUtsQixPWWpLa0I7O0F2QmhkckMsWUFBWTtFdUJpZHVCLFNaOVBsQixPWThQa0I7O0F2QmpkbkMsY0FBYztFdUJrZHVCLFNaL0xsQixPWStMa0I7O0F2QmxkckMsZUFBZTtFdUJtZHVCLFNaeExsQixPWXdMa0I7O0F2Qm5kdEMsZ0JBQWdCO0V1Qm9kdUIsU1pyTWxCLE9ZcU1rQjs7QXZCcGR2QyxxQkFBcUI7RXVCcWR1QixTWi9MbEIsT1krTGtCOztBdkJyZDVDLGdCQUFnQjtBQUFTLGtCQUFrQjtBQUFTLGdCQUFnQjtFdUJ3ZDdCLFNaeE1sQixPWXdNa0I7O0F2QnhkdkMsY0FBYztBQUFTLGtCQUFrQjtFdUIwZEEsU1o5TWxCLE9ZOE1rQjs7QXZCMWR6QyxnQkFBZ0I7QUFBUyxnQkFBZ0I7RXVCNGRGLFNaL01sQixPWStNa0I7O0F2QjVkdkMsZ0JBQWdCO0FBQVMsZ0JBQWdCO0V1QjhkRixTWnBNbEIsT1lvTWtCOztBdkI5ZHZDLGVBQWU7RXVCK2R1QixTWmpObEIsT1lpTmtCOztBdkIvZHRDLFFBQVE7RXVCZ2V1QixTWnVSbEIsT1l2UmtCOztBdkJoZS9CLFdBQVc7RXVCaWV1QixTWjVTbEIsT1k0U2tCOztBdkJqZWxDLFlBQVk7RXVCa2V1QixTWjlFbEIsT1k4RWtCOztBdkJsZW5DLGFBQWE7QUFBUyxhQUFhO0FBQVMsY0FBYztBQUFTLFdBQVc7QUFBUyxhQUFhO0V1QnVlaEUsU1puRWxCLE9ZbUVrQjs7QXZCdmVwQyxrQkFBa0I7RXVCd2V1QixTWi9UbEIsT1krVGtCOztBdkJ4ZXpDLE1BQU07QUFBUyxjQUFjO0FBQVMsU0FBUztFdUIyZWYsU1pxRGxCLE9ZckRrQjs7QXZCM2VoQyxNQUFNO0FBQVMsVUFBVTtFdUI2ZVEsU1puUWxCLE9ZbVFrQjs7QXZCN2VqQyxjQUFjO0V1QjhldUIsU1p6S2xCLE9ZeUtrQjs7QXZCOWVyQyxPQUFPO0V1QitldUIsU1ozS2xCLE9ZMktrQjs7QXZCL2U5Qix1QkFBdUI7QUFBUyxhQUFhO0FBQVMsZUFBZTtFdUJrZi9CLFNaeEpsQixPWXdKa0I7O0F2QmxmdEMsaUJBQWlCO0V1Qm1mdUIsU1oyS2xCLE9ZM0trQjs7QXZCbmZ4QyxNQUFNO0V1Qm9mdUIsU1ppQ2xCLE9ZakNrQjs7QXZCcGY3QixVQUFVO0FBQVMsVUFBVTtFdUJzZkksU1owUWxCLE9ZMVFrQjs7QXZCdGZqQyxRQUFRO0FBQVMsZUFBZTtFdUJ3Zk0sU1pWbEIsT1lVa0I7O0F2QnhmdEMsVUFBVTtBQUFTLGlCQUFpQjtFdUIwZkksU1pYbEIsT1lXa0I7O0F2QjFmeEMsV0FBVztFdUIyZnVCLFNaMUlsQixPWTBJa0I7O0F2QjNmbEMsZUFBZTtFdUI0ZnVCLFNabFZsQixPWWtWa0I7O0F2QjVmdEMsVUFBVTtFdUI2ZnVCLFNaakpsQixPWWlKa0I7O0F2QjdmakMsYUFBYTtFdUI4ZnVCLFNaYmxCLE9ZYWtCOztBdkI5ZnBDLFdBQVc7RXVCK2Z1QixTWitGbEIsT1kvRmtCOztBdkIvZmxDLGFBQWE7RXVCZ2dCdUIsU1p1RWxCLE9ZdkVrQjs7QXZCaGdCcEMsb0JBQW9CO0V1QmlnQnVCLFNadUVsQixPWXZFa0I7O0F2QmpnQjNDLFFBQVE7RXVCa2dCdUIsU1p6WmxCLE9ZeVprQjs7QXZCbGdCL0IsaUJBQWlCO0FBQVMsWUFBWTtFdUJvZ0JILFNaNU1sQixPWTRNa0I7O0F2QnBnQm5DLE9BQU87RXVCcWdCdUIsU1owTWxCLE9ZMU1rQjs7QXZCcmdCOUIsY0FBYztFdUJzZ0J1QixTWnhhbEIsT1l3YWtCOztBdkJ0Z0JyQyxRQUFRO0V1QnVnQnVCLFNaSWxCLE9ZSmtCOztBdkJ2Z0IvQixjQUFjO0V1QndnQnVCLFNadUZsQixPWXZGa0I7O0F2QnhnQnJDLFVBQVU7RXVCeWdCdUIsU1oyTWxCLE9ZM01rQjs7QXZCemdCakMsUUFBUTtFdUIwZ0J1QixTWitRbEIsT1kvUWtCOztBdkIxZ0IvQixlQUFlO0V1QjJnQnVCLFNaekNsQixPWXlDa0I7O0F2QjNnQnRDLFFBQVE7RXVCNGdCdUIsU1p3UGxCLE9ZeFBrQjs7QXZCNWdCL0IsY0FBYztFdUI2Z0J1QixTWnJabEIsT1lxWmtCOztBdkI3Z0JyQyxVQUFVO0V1QjhnQnVCLFNadkJsQixPWXVCa0I7O0F2QjlnQmpDLGlCQUFpQjtFdUIrZ0J1QixTWjNMbEIsT1kyTGtCOztBdkIvZ0J4QyxXQUFXO0V1QmdoQnVCLFNaNVhsQixPWTRYa0I7O0F2QmhoQmxDLGlCQUFpQjtFdUJpaEJ1QixTWmhZbEIsT1lnWWtCOztBdkJqaEJ4QyxlQUFlO0V1QmtoQnVCLFNabllsQixPWW1Za0I7O0F2QmxoQnRDLFdBQVc7RXVCbWhCdUIsU1p0WWxCLE9Zc1lrQjs7QXZCbmhCbEMsYUFBYTtFdUJvaEJ1QixTWmxZbEIsT1lrWWtCOztBdkJwaEJwQyxhQUFhO0V1QnFoQnVCLFNabFlsQixPWWtZa0I7O0F2QnJoQnBDLGNBQWM7RXVCc2hCdUIsU1ozYmxCLE9ZMmJrQjs7QXZCdGhCckMsZ0JBQWdCO0V1QnVoQnVCLFNaM2JsQixPWTJia0I7O0F2QnZoQnZDLFNBQVM7RXVCd2hCdUIsU1orS2xCLE9ZL0trQjs7QXZCeGhCaEMsYUFBYTtFdUJ5aEJ1QixTWm5WbEIsT1ltVmtCOztBdkJ6aEJwQyxNQUFNO0V1QjBoQnVCLFNaOWRsQixPWThka0I7O0F2QjFoQjdCLGNBQWM7RXVCMmhCdUIsU1o1UmxCLE9ZNFJrQjs7QXZCM2hCckMsZUFBZTtFdUI0aEJ1QixTWi9DbEIsT1krQ2tCOztBdkI1aEJ0QyxpQkFBaUI7RXVCNmhCdUIsU1o5YmxCLE9ZOGJrQjs7QXZCN2hCeEMsY0FBYztFdUI4aEJ1QixTWnRmbEIsT1lzZmtCOztBdkI5aEJyQyxhQUFhO0V1QitoQnVCLFNaL0JsQixPWStCa0I7O0F2Qi9oQnBDLGNBQWM7RXVCZ2lCdUIsU1p6SGxCLE9ZeUhrQjs7QXZCaGlCckMsVUFBVTtFdUJpaUJ1QixTWnZJbEIsT1l1SWtCOztBdkJqaUJqQyxpQkFBaUI7RXVCa2lCdUIsU1p2SWxCLE9ZdUlrQjs7QXZCbGlCeEMsY0FBYztFdUJtaUJ1QixTWjRKbEIsT1k1SmtCOztBdkJuaUJyQyxhQUFhO0V1Qm9pQnVCLFNaNEpsQixPWTVKa0I7O0F2QnBpQnBDLFdBQVc7RXVCcWlCdUIsU1p4Y2xCLE9Zd2NrQjs7QXZCcmlCbEMsT0FBTztFdUJzaUJ1QixTWmpibEIsT1lpYmtCOztBdkJ0aUI5QixXQUFXO0V1QnVpQnVCLFNadkpsQixPWXVKa0I7O0F2QnZpQmxDLGFBQWE7RXVCd2lCdUIsU1ozZ0JsQixPWTJnQmtCOztBdkJ4aUJwQyxNQUFNO0V1QnlpQnVCLFNaN1psQixPWTZaa0I7O0F2QnppQjdCLFVBQVU7QUFBUyxVQUFVO0FBQVMsT0FBTztFdUI0aUJmLFNaektsQixPWXlLa0I7O0F2QjVpQjlCLFlBQVk7RXVCNmlCdUIsU1pwR2xCLE9Zb0drQjs7QXZCN2lCbkMsY0FBYztFdUI4aUJ1QixTWnhibEIsT1l3YmtCOztBdkI5aUJyQyxrQkFBa0I7RXVCK2lCdUIsU1o1V2xCLE9ZNFdrQjs7QXZCL2lCekMsWUFBWTtFdUJnakJ1QixTWjlWbEIsT1k4VmtCOztBdkJoakJuQyxZQUFZO0V1QmlqQnVCLFNaOVBsQixPWThQa0I7O0F2QmpqQm5DLFdBQVc7RXVCa2pCdUIsU1pySmxCLE9ZcUprQjs7QXZCbGpCbEMsVUFBVTtFdUJtakJ1QixTWmVsQixPWWZrQjs7QXZCbmpCakMsZ0JBQWdCO0V1Qm9qQnVCLFNaMkJsQixPWTNCa0I7O0F2QnBqQnZDLGVBQWU7RXVCcWpCdUIsU1pvQ2xCLE9ZcENrQjs7QXZCcmpCdEMsWUFBWTtFdUJzakJ1QixTWnFDbEIsT1lyQ2tCOztBdkJ0akJuQyxhQUFhO0V1QnVqQnVCLFNaNWFsQixPWTRha0I7O0F2QnZqQnBDLG1CQUFtQjtFdUJ3akJ1QixTWjlhbEIsT1k4YWtCOztBdkJ4akIxQyxXQUFXO0V1QnlqQnVCLFNaL1ZsQixPWStWa0I7O0F2QnpqQmxDLFFBQVE7RXVCMGpCdUIsU1pvQmxCLE9ZcEJrQjs7QXZCMWpCL0IsZUFBZTtFdUIyakJ1QixTWjhLbEIsT1k5S2tCOztBdkIzakJ0QyxjQUFjO0V1QjRqQnVCLFNaL0ZsQixPWStGa0I7O0F2QjVqQnJDLGVBQWU7RXVCNmpCdUIsU1o2RWxCLE9ZN0VrQjs7QXZCN2pCdEMsYUFBYTtFdUI4akJ1QixTWjlNbEIsT1k4TWtCOztBdkI5akJwQyxTQUFTO0V1QitqQnVCLFNaK0tsQixPWS9La0I7O0F2Qi9qQmhDLFFBQVE7RXVCZ2tCdUIsU1o3SGxCLE9ZNkhrQjs7QXZCaGtCL0IsV0FBVztFdUJpa0J1QixTWm5IbEIsT1ltSGtCOztBdkJqa0JsQyxZQUFZO0FBQVMsZUFBZTtFdUJta0JFLFNaa0lsQixPWWxJa0I7O0F2Qm5rQnRDLG1CQUFtQjtFdUJva0J1QixTWmtJbEIsT1lsSWtCOztBdkJwa0IxQyxnQkFBZ0I7RXVCcWtCdUIsU1owS2xCLE9ZMUtrQjs7QXZCcmtCdkMsZUFBZTtFdUJza0J1QixTWmxJbEIsT1lrSWtCOztBdkJ0a0J0QyxjQUFjO0V1QnVrQnVCLFNaeUtsQixPWXpLa0I7O0F2QnZrQnJDLGVBQWU7RXVCd2tCdUIsU1puSWxCLE9ZbUlrQjs7QXZCeGtCdEMsaUJBQWlCO0V1QnlrQnVCLFNabElsQixPWWtJa0I7O0F2QnprQnhDLGlCQUFpQjtFdUIwa0J1QixTWnBJbEIsT1lvSWtCOztBdkIxa0J4QyxVQUFVO0V1QjJrQnVCLFNaMUdsQixPWTBHa0I7O0F2QjNrQmpDLGNBQWM7RXVCNGtCdUIsU1o3UWxCLE9ZNlFrQjs7QXZCNWtCckMscUJBQXFCO0V1QjZrQnVCLFNaMVVsQixPWTBVa0I7O0F2QjdrQjVDLGVBQWU7RXVCOGtCdUIsU1p6RWxCLE9ZeUVrQjs7QXZCOWtCdEMsWUFBWTtFdUIra0J1QixTWmtMbEIsT1lsTGtCOztBdkIva0JuQyxVQUFVO0V1QmdsQnVCLFNaWGxCLE9ZV2tCOztBdkJobEJqQyxhQUFhO0V1QmlsQnVCLFNadUpsQixPWXZKa0I7O0F2QmpsQnBDLGNBQWM7RXVCa2xCdUIsU1p3SmxCLE9ZeEprQjs7QXZCbGxCckMsU0FBUztBQUFTLE9BQU87RXVCb2xCSyxTWi9mbEIsT1krZmtCOztBdkJwbEI5QixXQUFXO0V1QnFsQnVCLFNaNEpsQixPWTVKa0I7O0F2QnJsQmxDLFNBQVM7RXVCc2xCdUIsU1o4R2xCLE9ZOUdrQjs7QXZCdGxCaEMsVUFBVTtFdUJ1bEJ1QixTWndEbEIsT1l4RGtCOztBdkJ2bEJqQyxVQUFVO0V1QndsQnVCLFNaOUlsQixPWThJa0I7O0F2QnhsQmpDLE1BQU07QUFBUyxnQkFBZ0I7RXVCMGxCUSxTWjBMbEIsT1kxTGtCOztBdkIxbEJ2QyxpQkFBaUI7RXVCMmxCdUIsU1pqSGxCLE9ZaUhrQjs7QXZCM2xCeEMsWUFBWTtFdUI0bEJ1QixTWnJIbEIsT1lxSGtCOztBdkI1bEJuQyxnQkFBZ0I7RXVCNmxCdUIsU1puV2xCLE9ZbVdrQjs7QXZCN2xCdkMsYUFBYTtBQUFTLFdBQVc7QUFBUyxnQkFBZ0I7RXVCZ21CbkIsU1ovZ0JsQixPWStnQmtCOztBdkJobUJ2QyxhQUFhO0FBQVMsMEJBQTBCO0V1QmttQkMsU1o5Z0JsQixPWThnQmtCOztBdkJsbUJqRCxhQUFhO0FBQVMsZ0JBQWdCO0V1Qm9tQkMsU1psaEJsQixPWWtoQmtCOztBdkJwbUJ2QyxhQUFhO0FBQVMsbUJBQW1CO0V1QnNtQkMsU1puaEJsQixPWW1oQmtCOztBdkJ0bUIxQyxhQUFhO0FBQVMsaUJBQWlCO0V1QndtQkMsU1p4aEJsQixPWXdoQmtCOztBdkJ4bUJ4QyxpQkFBaUI7RXVCeW1CdUIsU1ozSWxCLE9ZMklrQjs7QXZCem1CeEMsWUFBWTtFdUIwbUJ1QixTWjNPbEIsT1kyT2tCOztBdkIxbUJuQyxnQkFBZ0I7RXVCMm1CdUIsU1p4SWxCLE9Zd0lrQjs7QXZCM21CdkMsa0JBQWtCO0V1QjRtQnVCLFNaeElsQixPWXdJa0I7O0F2QjVtQnpDLGVBQWU7RXVCNm1CdUIsU1p3QmxCLE9ZeEJrQjs7QXZCN21CdEMsaUJBQWlCO0V1QjhtQnVCLFNad0JsQixPWXhCa0I7O0F2QjltQnhDLFVBQVU7RXVCK21CdUIsU1ovZGxCLE9ZK2RrQjs7QXZCL21CakMsa0JBQWtCO0V1QmduQnVCLFNabGVsQixPWWtla0I7O0F2QmhuQnpDLFNBQVM7RXVCaW5CdUIsU1pwY2xCLE9Zb2NrQjs7QXZCam5CaEMsaUJBQWlCO0V1QmtuQnVCLFNabGpCbEIsT1lrakJrQjs7QXZCbG5CeEMsZUFBZTtFdUJtbkJ1QixTWnhQbEIsT1l3UGtCOztBdkJubkJ0QyxlQUFlO0FBQVMsbUJBQW1CO0V1QnFuQkQsU1p6UGxCLE9ZeVBrQjs7QXZCcm5CMUMsZUFBZTtBQUFTLGtCQUFrQjtFdUJ1bkJELFNaN1BsQixPWTZQa0I7O0F2QnZuQnpDLGVBQWU7QUFBUyxpQkFBaUI7RXVCeW5CRCxTWmhRbEIsT1lnUWtCOztBdkJ6bkJ4QyxhQUFhO0V1QjBuQnVCLFNaclFsQixPWXFRa0I7O0F2QjFuQnBDLGVBQWU7QUFBUyxlQUFlO0V1QjRuQkQsU1p4UmxCLE9Zd1JrQjs7QXZCNW5CdEMsZUFBZTtBQUFTLGdCQUFnQjtFdUI4bkJELFNaN1JsQixPWTZSa0I7O0F2QjluQnZDLG1CQUFtQjtFdUIrbkJ1QixTWjFSbEIsT1kwUmtCOztBdkIvbkIxQyxpQkFBaUI7RXVCZ29CdUIsU1pwU2xCLE9Zb1NrQjs7QXZCaG9CeEMsZ0JBQWdCO0V1QmlvQnVCLFNaM1JsQixPWTJSa0I7O0F2QmpvQnZDLGtCQUFrQjtFdUJrb0J1QixTWi9SbEIsT1krUmtCOztBdkJsb0J6QyxnQkFBZ0I7RXVCbW9CdUIsU1pqU2xCLE9ZaVNrQjs7QXZCbm9CdkMsYUFBYTtFdUJvb0J1QixTWitEbEIsT1kvRGtCOztBdkJwb0JwQyxjQUFjO0V1QnFvQnVCLFNaL0ZsQixPWStGa0I7O0F2QnJvQnJDLG9CQUFvQjtFdUJzb0J1QixTWi9ibEIsT1krYmtCOztBdkJ0b0IzQyxNQUFNO0V1QnVvQnVCLFNadFVsQixPWXNVa0I7O0F2QnZvQjdCLGFBQWE7RXVCd29CdUIsU1p0VWxCLE9Zc1VrQjs7QXZCeG9CcEMsZUFBZTtFdUJ5b0J1QixTWmtFbEIsT1lsRWtCOztBdkJ6b0J0QyxpQkFBaUI7RXVCMG9CdUIsU1pyS2xCLE9ZcUtrQjs7QXZCMW9CeEMsd0JBQXdCO0V1QjJvQnVCLFNacktsQixPWXFLa0I7O0F2QjNvQi9DLGNBQWM7RXVCNG9CdUIsU1o1VWxCLE9ZNFVrQjs7QXZCNW9CckMsZUFBZTtFdUI2b0J1QixTWndIbEIsT1l4SGtCOztBdkI3b0J0QyxVQUFVO0V1QjhvQnVCLFNabkZsQixPWW1Ga0I7O0F2QjlvQmpDLFVBQVU7RXVCK29CdUIsU1p6ZWxCLE9ZeWVrQjs7QXZCL29CakMsV0FBVztFdUJncEJ1QixTWjlXbEIsT1k4V2tCOztBdkJocEJsQyxTQUFTO0V1QmlwQnVCLFNaeEtsQixPWXdLa0I7O0F2QmpwQmhDLHFCQUFxQjtFdUJrcEJ1QixTWnBRbEIsT1lvUWtCOztBdkJscEI1QyxNQUFNO0FBQVMsY0FBYztFdUJvcEJRLFNaU2xCLE9ZVGtCOztBdkJwcEJyQyxVQUFVO0V1QnFwQnVCLFNaamRsQixPWWlka0I7O0F2QnJwQmpDLFNBQVM7RXVCc3BCdUIsU1p6b0JsQixPWXlvQmtCOztBdkJ0cEJoQyxVQUFVO0V1QnVwQnVCLFNaL25CbEIsT1krbkJrQjs7QXZCdnBCakMsbUJBQW1CO0V1QndwQnVCLFNaM2hCbEIsT1kyaEJrQjs7QXZCeHBCMUMsb0JBQW9CO0V1QnlwQnVCLFNaOWhCbEIsT1k4aEJrQjs7QXZCenBCM0Msb0JBQW9CO0V1QjBwQnVCLFNaNWhCbEIsT1k0aEJrQjs7QXZCMXBCM0Msb0JBQW9CO0V1QjJwQnVCLFNaamlCbEIsT1lpaUJrQjs7QXZCM3BCM0MsWUFBWTtFdUI0cEJ1QixTWnBSbEIsT1lvUmtCOztBdkI1cEJuQyxXQUFXO0V1QjZwQnVCLFNaNU5sQixPWTROa0I7O0F2QjdwQmxDLGFBQWE7RXVCOHBCdUIsU1o1TmxCLE9ZNE5rQjs7QXZCOXBCcEMsU0FBUztFdUIrcEJ1QixTWi9ObEIsT1krTmtCOztBdkIvcEJoQyxPQUFPO0V1QmdxQnVCLFNabE9sQixPWWtPa0I7O0F2QmhxQjlCLGNBQWM7RXVCaXFCdUIsU1pwZWxCLE9Zb2VrQjs7QXZCanFCckMsZ0JBQWdCO0V1QmtxQnVCLFNacGVsQixPWW9la0I7O0F2QmxxQnZDLFNBQVM7RXVCbXFCdUIsU1p0U2xCLE9Zc1NrQjs7QXZCbnFCaEMsU0FBUztFdUJvcUJ1QixTWmlGbEIsT1lqRmtCOztBdkJwcUJoQyxhQUFhO0V1QnFxQnVCLFNabGtCbEIsT1lra0JrQjs7QXZCcnFCcEMsYUFBYTtFdUJzcUJ1QixTWnJYbEIsT1lxWGtCOztBdkJ0cUJwQyxnQkFBZ0I7RXVCdXFCdUIsU1pwSWxCLE9Zb0lrQjs7QXZCdnFCdkMsUUFBUTtFdUJ3cUJ1QixTWnBjbEIsT1lvY2tCOztBdkJ4cUIvQixtQkFBbUI7RXVCeXFCdUIsU1poZWxCLE9ZZ2VrQjs7QXZCenFCMUMsWUFBWTtFdUIwcUJ1QixTWnBmbEIsT1lvZmtCOztBdkIxcUJuQyxRQUFRO0V1QjJxQnVCLFNabE5sQixPWWtOa0I7O0F2QjNxQi9CLGdCQUFnQjtFdUI0cUJ1QixTWjFYbEIsT1kwWGtCOztBdkI1cUJ2QyxPQUFPO0V1QjZxQnVCLFNab0RsQixPWXBEa0I7O0F2QjdxQjlCLGdCQUFnQjtFdUI4cUJ1QixTWjNKbEIsT1kySmtCOztBdkI5cUJ2QyxZQUFZO0V1QitxQnVCLFNaek5sQixPWXlOa0I7O0F2Qi9xQm5DLFVBQVU7RXVCZ3JCdUIsU1psSGxCLE9Za0hrQjs7QXZCaHJCakMsZ0JBQWdCO0V1QmlyQnVCLFNaN0xsQixPWTZMa0I7O0F2QmpyQnZDLGtCQUFrQjtFdUJrckJ1QixTWjdMbEIsT1k2TGtCOztBdkJsckJ6QyxlQUFlO0V1Qm1yQnVCLFNaM0NsQixPWTJDa0I7O0F2Qm5yQnRDLGlCQUFpQjtFdUJvckJ1QixTWjNDbEIsT1kyQ2tCOztBdkJwckJ4QyxnQkFBZ0I7RXVCcXJCdUIsU1pyR2xCLE9ZcUdrQjs7QXZCcnJCdkMsbUJBQW1CO0V1QnNyQnVCLFNackdsQixPWXFHa0I7O0F2QnRyQjFDLFdBQVc7RXVCdXJCdUIsU1o3VWxCLE9ZNlVrQjs7QXZCdnJCbEMsYUFBYTtFdUJ3ckJ1QixTWm5sQmxCLE9ZbWxCa0I7O0F2QnhyQnBDLGVBQWU7RXVCeXJCdUIsU1pubEJsQixPWW1sQmtCOztBdkJ6ckJ0QyxXQUFXO0V1QjByQnVCLFNaL0xsQixPWStMa0I7O0F2QjFyQmxDLFVBQVU7RXVCMnJCdUIsU1psWGxCLE9Za1hrQjs7QXZCM3JCakMsY0FBYztFdUI0ckJ1QixTWmtGbEIsT1lsRmtCOztBdkI1ckJyQyxXQUFXO0V1QjZyQnVCLFNabUZsQixPWW5Ga0I7O0F2QjdyQmxDLFVBQVU7RXVCOHJCdUIsU1o5Y2xCLE9ZOGNrQjs7QXZCOXJCakMsb0JBQW9CO0V1QityQnVCLFNaMkJsQixPWTNCa0I7O0F2Qi9yQjNDLGtCQUFrQjtFdUJnc0J1QixTWm1FbEIsT1luRWtCOztBdkJoc0J6QyxxQkFBcUI7RXVCaXNCdUIsU1p4S2xCLE9Zd0trQjs7QXZCanNCNUMsU0FBUztFdUJrc0J1QixTWjlsQmxCLE9ZOGxCa0I7O0F2QmxzQmhDLHFCQUFxQjtFdUJtc0J1QixTWnRvQmxCLE9Zc29Ca0I7O0F2Qm5zQjVDLHdCQUF3QjtFdUJvc0J1QixTWnFEbEIsT1lyRGtCOztBdkJwc0IvQyxXQUFXO0V1QnFzQnVCLFNaeGxCbEIsT1l3bEJrQjs7QXZCcnNCbEMsK0JBQStCO0V1QnNzQnVCLFNaNW9CbEIsT1k0b0JrQjs7QXZCdHNCdEQsb0JBQW9CO0FBQVMsdUNBQXVDO0V1QndzQk4sU1o5cUJsQixPWThxQmtCOztBdkJ4c0I5RCxZQUFZO0FBQVMsbUJBQW1CO0FBQVMsUUFBUTtFdUIyc0IxQixTWnZmbEIsT1l1ZmtCOztBdkIzc0IvQixTQUFTO0V1QjRzQnVCLFNaaFlsQixPWWdZa0I7O0F2QjVzQmhDLFdBQVc7RXVCNnNCdUIsU1poWWxCLE9ZZ1lrQjs7QXZCN3NCbEMsV0FBVztBQUFTLGlCQUFpQjtFdUIrc0JHLFNaMUhsQixPWTBIa0I7O0F2Qi9zQnhDLGNBQWM7RXVCZ3RCdUIsU1p6UmxCLE9ZeVJrQjs7QXZCaHRCckMsVUFBVTtFdUJpdEJ1QixTWmlDbEIsT1lqQ2tCOztBdkJqdEJqQyxpQkFBaUI7RXVCa3RCdUIsU1ppQ2xCLE9ZakNrQjs7QXZCbHRCeEMsWUFBWTtFdUJtdEJ1QixTWmxIbEIsT1lrSGtCOztBdkJudEJuQyxrQkFBa0I7RXVCb3RCdUIsU1psSGxCLE9Za0hrQjs7QXZCcHRCekMsbUJBQW1CO0V1QnF0QnVCLFNabEhsQixPWWtIa0I7O0F2QnJ0QjFDLGNBQWM7RXVCc3RCdUIsU1pyTmxCLE9ZcU5rQjs7QXZCdHRCckMsZUFBZTtFdUJ1dEJ1QixTWnBibEIsT1lvYmtCOztBdkJ2dEJ0QyxTQUFTO0V1Qnd0QnVCLFNabUVsQixPWW5Fa0I7O0F2Qnh0QmhDLGFBQWE7RXVCeXRCdUIsU1pwRGxCLE9Zb0RrQjs7QXZCenRCcEMsc0JBQXNCO0FBQVMsd0JBQXdCO0V1QjJ0QlIsU1p6WWxCLE9ZeVlrQjs7QXZCM3RCL0MsTUFBTTtBQUFTLGdCQUFnQjtFdUI2dEJRLFNaN2FsQixPWTZha0I7O0F2Qjd0QnZDLGVBQWU7RXVCOHRCdUIsU1p0WGxCLE9Zc1hrQjs7QXZCOXRCdEMsaUJBQWlCO0V1Qit0QnVCLFNabGZsQixPWWtma0I7O0F2Qi90QnhDLG1CQUFtQjtFdUJndUJ1QixTWmxmbEIsT1lrZmtCOztBdkJodUIxQyxVQUFVO0V1Qml1QnVCLFNadFRsQixPWXNUa0I7O0F2Qmp1QmpDLGdCQUFnQjtFdUJrdUJ1QixTWnB0QmxCLE9Zb3RCa0I7O0F2Qmx1QnZDLGtCQUFrQjtFdUJtdUJ1QixTWnB0QmxCLE9Zb3RCa0I7O0F2Qm51QnpDLFNBQVM7QUFBUyxnQkFBZ0I7RXVCcXVCSyxTWnJ0QmxCLE9ZcXRCa0I7O0F2QnJ1QnZDLFdBQVc7QUFBUyxrQkFBa0I7RXVCdXVCRyxTWnR0QmxCLE9Zc3RCa0I7O0F2QnZ1QnpDLGVBQWU7RXVCd3VCdUIsU1pKbEIsT1lJa0I7O0F2Qnh1QnRDLGlCQUFpQjtFdUJ5dUJ1QixTWkpsQixPWUlrQjs7QXZCenVCeEMsVUFBVTtFdUIwdUJ1QixTWkhsQixPWUdrQjs7QXZCMXVCakMsWUFBWTtFdUIydUJ1QixTWjNXbEIsT1kyV2tCOztBdkIzdUJuQyxtQkFBbUI7QUFBUyxXQUFXO0V1QjZ1QkwsU1o1V2xCLE9ZNFdrQjs7QXZCN3VCbEMscUJBQXFCO0FBQVMsYUFBYTtFdUIrdUJQLFNaN1dsQixPWTZXa0I7O0F2Qi91QnBDLFNBQVM7RXVCZ3ZCdUIsU1p0TmxCLE9Zc05rQjs7QXZCaHZCaEMsa0JBQWtCO0V1Qml2QnVCLFNaM2JsQixPWTJia0I7O0F2Qmp2QnpDLFlBQVk7RXVCa3ZCdUIsU1p0RmxCLE9Zc0ZrQjs7QXZCbHZCbkMsaUJBQWlCO0FBQVMsZUFBZTtBQUFTLG9CQUFvQjtFdUJxdkIzQixTWnhFbEIsT1l3RWtCOztBdkJydkIzQyxpQkFBaUI7QUFBUyw4QkFBOEI7RXVCdXZCSCxTWnZFbEIsT1l1RWtCOztBdkJ2dkJyRCxpQkFBaUI7QUFBUyxvQkFBb0I7RXVCeXZCSCxTWjNFbEIsT1kyRWtCOztBdkJ6dkIzQyxpQkFBaUI7QUFBUyx1QkFBdUI7RXVCMnZCSCxTWjVFbEIsT1k0RWtCOztBdkIzdkI5QyxpQkFBaUI7QUFBUyxxQkFBcUI7RXVCNnZCSCxTWmpGbEIsT1lpRmtCOztBdkI3dkI1QyxVQUFVO0V1Qjh2QnVCLFNaM0tsQixPWTJLa0I7O0F2Qjl2QmpDLFdBQVc7QUFBUyxPQUFPO0FBQVMsUUFBUTtFdUJpd0JiLFNaenJCbEIsT1l5ckJrQjs7QXZCandCL0IsV0FBVztFdUJrd0J1QixTWmxQbEIsT1lrUGtCOztBdkJsd0JsQyxtQkFBbUI7RXVCbXdCdUIsU1pLbEIsT1lMa0I7O0F2Qm53QjFDLG1CQUFtQjtFdUJvd0J1QixTWktsQixPWUxrQjs7QXZCcHdCMUMsa0JBQWtCO0V1QnF3QnVCLFNaS2xCLE9ZTGtCOztBdkJyd0J6QyxtQkFBbUI7QUFBUyxnQkFBZ0I7RXVCdXdCTCxTWkRsQixPWUNrQjs7QXZCdndCdkMscUJBQXFCO0FBQVMsa0JBQWtCO0V1Qnl3QlAsU1pGbEIsT1lFa0I7O0F2Qnp3QnpDLFlBQVk7RXVCMHdCdUIsU1p4c0JsQixPWXdzQmtCOztBdkIxd0JuQyxRQUFRO0V1QjJ3QnVCLFNacGJsQixPWW9ia0I7O0F2QjN3Qi9CLFFBQVE7RXVCNHdCdUIsU1oxaEJsQixPWTBoQmtCOztBdkI1d0IvQixRQUFRO0V1QjZ3QnVCLFNaeFlsQixPWXdZa0I7O0F2Qjd3Qi9CLFdBQVc7RXVCOHdCdUIsU1ovT2xCLE9ZK09rQjs7QXZCOXdCbEMsV0FBVztFdUIrd0J1QixTWnppQmxCLE9ZeWlCa0I7O0F2Qi93QmxDLGFBQWE7RXVCZ3hCdUIsU1pqVWxCLE9Z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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,null,null,null,null,null,null,null,null,null,null,null,null]} \ No newline at end of file diff --git a/client/static/mosaico/rs/mosaico.min.css b/client/static/mosaico/rs/mosaico.min.css new file mode 100644 index 00000000..ce1b95e9 --- /dev/null +++ b/client/static/mosaico/rs/mosaico.min.css @@ -0,0 +1,8 @@ +/*! + * Font Awesome 4.7.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(fontawesome/fontawesome-webfont.eot?v=4.7.0);src:url(fontawesome/fontawesome-webfont.eot?#iefix&v=4.7.0) format('embedded-opentype'),url(fontawesome/fontawesome-webfont.woff2?v=4.7.0) format('woff2'),url(fontawesome/fontawesome-webfont.woff?v=4.7.0) format('woff'),url(fontawesome/fontawesome-webfont.ttf?v=4.7.0) format('truetype'),url(fontawesome/fontawesome-webfont.svg?v=4.7.0#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{-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(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0,mirror=1)";-webkit-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2,mirror=1)";-webkit-transform:scale(1,-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{-webkit-filter:none;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: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"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-vcard:before,.fa-address-card:before{content:"\f2bb"}.fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.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}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}/*! + * Font Awesome 4.7.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(fontawesome/fontawesome-webfont.eot?v=4.7.0);src:url(fontawesome/fontawesome-webfont.eot?#iefix&v=4.7.0) format('embedded-opentype'),url(fontawesome/fontawesome-webfont.woff2?v=4.7.0) format('woff2'),url(fontawesome/fontawesome-webfont.woff?v=4.7.0) format('woff'),url(fontawesome/fontawesome-webfont.ttf?v=4.7.0) format('truetype'),url(fontawesome/fontawesome-webfont.svg?v=4.7.0#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{-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(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0,mirror=1)";-webkit-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2,mirror=1)";-webkit-transform:scale(1,-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{-webkit-filter:none;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: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"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-vcard:before,.fa-address-card:before{content:"\f2bb"}.fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.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}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.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;-webkit-animation:droppable-pulsate 1s ease-in-out infinite alternate;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);-webkit-animation:none;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,.mo table>tbody>tr.even>td{background-color:#f1eee6}.mo table>tr.even>td.active,.mo table>tbody>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 .three-quarter-width{width:75%!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);-webkit-box-shadow:0 4px 10px #807e7c;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;-webkit-box-shadow:none;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:#bd362f}.mo .icon_green{color:#51a351}.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:1em;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,.mo .button_links a.button_dropdown_split.primary.pressed,.mo .links.inline a.button_dropdown_split.primary.pressed,.mo .cell_links a.button_dropdown_split.primary.pressed,.mo .button_links a.button_dropdown_split.primary.selected,.mo .links.inline a.button_dropdown_split.primary.selected,.mo .cell_links a.button_dropdown_split.primary.selected{background-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:1em;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,.mo a.button.primary.pressed,.mo input.form-submit.primary.pressed,.mo a.button.primary.selected,.mo input.form-submit.primary.selected{background-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:1em;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,.mo ul.button_links li a.primary.pressed,.mo ul.inline li a.primary.pressed,.mo ul.button_links li a.primary.selected,.mo ul.inline li a.primary.selected{background-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:1em;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,.mo ul.cell_links>li>a.primary.pressed,.mo ul.cell_links>.dropdown-container>li>a.primary.pressed,.mo ul.cell_links>li>a.primary.selected,.mo ul.cell_links>.dropdown-container>li>a.primary.selected{background-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:1em;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,.mo ul.top_links li a.primary.pressed,.mo ul.box_top_links li a.primary.pressed,.mo ul.top_links a.button_dropdown_split.primary.pressed,.mo ul.box_top_links a.button_dropdown_split.primary.pressed,.mo ul.top_links li a.primary.selected,.mo ul.box_top_links li a.primary.selected,.mo ul.top_links a.button_dropdown_split.primary.selected,.mo ul.box_top_links a.button_dropdown_split.primary.selected{background-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:1em;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;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.075) inset;box-shadow:0 1px 1px rgba(0,0,0,.075) inset;-webkit-transition:border-color .15s ease-in-out 0s,-webkit-box-shadow .15s ease-in-out 0s;transition:border-color .15s ease-in-out 0s,-webkit-box-shadow .15s ease-in-out 0s;transition:border-color .15s ease-in-out 0s,box-shadow .15s ease-in-out 0s;transition:border-color .15s ease-in-out 0s,box-shadow .15s ease-in-out 0s,-webkit-box-shadow .15s ease-in-out 0s}.mo select:focus,.mo textarea:focus{border-color:#66afe9;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.075) inset,0 0 8px rgba(102,175,233,.6);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 :-ms-input-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% transparent;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:1em;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,.mo .ui-button.primary.pressed,.mo .ui-button.primary.selected{background-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);-webkit-box-shadow:0 2px 20px #807e7c;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;-webkit-box-shadow:none;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}.mo .ui-dialog .async_loading_iframe.with_bg{width:10%;height:6%;min-height:50px;position:absolute;left:45%;top:47%}.mo .ui-dialog .async_loading_iframe.over{position:absolute;left:0;top: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 #81b1b3}.mo .ui-dialog.dialog_warn .ui-dialog-titlebar{background:none #c88170}.mo .ui-dialog.dialog_ok .ui-dialog-titlebar{background:none #92b781}.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);-webkit-box-shadow:0 4px 10px #807e7c;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;-webkit-box-shadow:none;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);-webkit-box-shadow:0 2px 20px #807e7c;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;-webkit-box-sizing:border-box;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:1em;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;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.075) inset;box-shadow:0 1px 1px rgba(0,0,0,.075) inset;-webkit-transition:border-color .15s ease-in-out 0s,-webkit-box-shadow .15s ease-in-out 0s;transition:border-color .15s ease-in-out 0s,-webkit-box-shadow .15s ease-in-out 0s;transition:border-color .15s ease-in-out 0s,box-shadow .15s ease-in-out 0s;transition:border-color .15s ease-in-out 0s,box-shadow .15s ease-in-out 0s,-webkit-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;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.075) inset,0 0 8px rgba(102,175,233,.6);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 #bd362f}.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:1em;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:1em;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,.mo .propInput .data-select:after.primary.pressed,.mo .propInput .data-select:after.primary.selected{background-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:1em;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);-webkit-box-shadow:none;box-shadow:none;border-style:dashed}.mo .propInput .data-color input[type=text]:hover,.mo .propInput .data-color input[type=text]:focus{font-size:1em;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;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.075) inset;box-shadow:0 1px 1px rgba(0,0,0,.075) inset;-webkit-transition:border-color .15s ease-in-out 0s,-webkit-box-shadow .15s ease-in-out 0s;transition:border-color .15s ease-in-out 0s,-webkit-box-shadow .15s ease-in-out 0s;transition:border-color .15s ease-in-out 0s,box-shadow .15s ease-in-out 0s;transition:border-color .15s ease-in-out 0s,box-shadow .15s ease-in-out 0s,-webkit-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;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.075) inset,0 0 8px rgba(102,175,233,.6);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:1em;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;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.075) inset;box-shadow:0 1px 1px rgba(0,0,0,.075) inset;-webkit-transition:border-color .15s ease-in-out 0s,-webkit-box-shadow .15s ease-in-out 0s;transition:border-color .15s ease-in-out 0s,-webkit-box-shadow .15s ease-in-out 0s;transition:border-color .15s ease-in-out 0s,box-shadow .15s ease-in-out 0s;transition:border-color .15s ease-in-out 0s,box-shadow .15s ease-in-out 0s,-webkit-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;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.075) inset,0 0 8px rgba(102,175,233,.6);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:1em;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,.mo .propInput .evo-pointer:before.primary.pressed,.mo .propInput .evo-pointer:before.primary.selected{background-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;-webkit-box-shadow:none;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);-webkit-box-shadow:0 2px 20px #807e7c;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{-webkit-box-shadow:0 0 1px gray;box-shadow:0 0 1px gray;margin:3px 0}#main-toolbox .draggable-item:hover{-webkit-transform:scale(1.05,1.05);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{-webkit-box-shadow:0 0 15px gray;box-shadow:0 0 15px gray}#main-toolbox .draggable-item:hover .block img{-webkit-box-shadow:0 0 15px gray;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:"";display:block;position:absolute;top:-3px;bottom:-3px;left:-7px;right:-7px;border:1px solid transparent;border-width:0;border-left-width:5px;border-right-width:5px;outline:1px solid transparent;pointer-events:none}#main-toolbox .objEdit.level1.selectable.selecteditem:after{outline-color:transparent;border-color:#c00;border-style:dashed solid;-webkit-animation:border-color-selection-pulsate 4s infinite;animation:border-color-selection-pulsate 4s infinite}#main-toolbox .objEdit.level1.selectable:hover:after{outline-color:currentcolor;border-top-color:transparent!important;border-bottom-color:transparent!important;-webkit-animation:none;animation:none}#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;-webkit-box-sizing:content-box;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:1em;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;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.075) inset;box-shadow:0 1px 1px rgba(0,0,0,.075) inset;-webkit-transition:border-color .15s ease-in-out 0s,-webkit-box-shadow .15s ease-in-out 0s;transition:border-color .15s ease-in-out 0s,-webkit-box-shadow .15s ease-in-out 0s;transition:border-color .15s ease-in-out 0s,box-shadow .15s ease-in-out 0s;transition:border-color .15s ease-in-out 0s,box-shadow .15s ease-in-out 0s,-webkit-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;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.075) inset,0 0 8px rgba(102,175,233,.6);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:1em;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,#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after.primary.pressed,#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before.primary.pressed,#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after.primary.selected,#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before.primary.selected{background-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}@-webkit-keyframes slideright{0%{left:-450px}100%{left:0}}@keyframes slideright{0%{left:-450px}100%{left:0}}@-webkit-keyframes slideleft{0%{left:0}100%{left:-450px}}@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;-webkit-animation:slideright .2s ease-out 0s 1;animation:slideright .2s ease-out 0s 1;border-radius:0;background-color:#fefdfc;-webkit-box-shadow:1px 0 3px gray;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;-webkit-animation:slideleft .2s ease-out 0s 1;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;-webkit-box-shadow:inset 0 0 10px gray;box-shadow:inset 0 0 10px gray}#frame-container>iframe{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;padding:0 6px;width:100%;height:100%;overflow:auto;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:scale(1);transform:scale(1)}#frame-container.desktop>iframe{padding:12px;width:200%;height:200%;-webkit-transform:scale(.5);transform:scale(.5)}#frame-container.large>iframe{padding:15px;width:250%;height:250%;-webkit-transform:scale(.4);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}}}@media screen and (min-color-index:0) and(-webkit-min-device-pixel-ratio:0){@media{#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable:hover .mce-content-body:not(.selecteditem):not(:hover):after,#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable:hover .selectable-img:not(.selecteditem):not(:hover) .mo-imgselectionhelper{visibility:hidden!important;z-index:-1!important;opacity:1!important;border-width:0!important;border-style:solid!important}}}#main-edit-area .editable{position:relative}#main-edit-area .sortable-blocks-edit.empty{min-height:200px;height:200px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin:20px 30px;border:2px dashed currentcolor;border-radius:20px;-webkit-animation:border-color-selection-pulsate 4s infinite;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;-webkit-animation:droppable-pulsate 1s ease-in-out infinite alternate;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}@-webkit-keyframes pulse{0%{left:-10px;right:-10px;opacity:.8}100%{left:-30px;right:-30px;opacity:0}}@keyframes pulse{0%{left:-10px;right:-10px;opacity:.8}100%{left:-30px;right:-30px;opacity:0}}@-webkit-keyframes slidein{0%{-webkit-transform:scale(1.5,1.5);transform:scale(1.5,1.5);opacity:0}100%{-webkit-transform:scale(1,1);transform:scale(1,1);opacity:1}}@keyframes slidein{0%{-webkit-transform:scale(1.5,1.5);transform:scale(1.5,1.5);opacity:0}100%{-webkit-transform:scale(1,1);transform:scale(1,1);opacity:1}}@-webkit-keyframes slidein2{0%{margin-left:-30%;margin-right:30%;opacity:0}100%{margin-left:0;margin-right:0;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{-webkit-animation:slidein .2s linear 0s 1;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;-webkit-animation:droppable-pulsate 1s ease-in-out infinite alternate;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);-webkit-animation:none;animation:none}#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;-webkit-animation:droppable-pulsate 1s ease-in-out infinite alternate;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:1em;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:25px;-webkit-box-shadow:0 0 5px #fff;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,#main-edit-area .tool.primary.pressed,#main-edit-area .tool.primary.selected{background-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;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{margin-left:4px}#main-edit-area .midtools .tool{margin-left:4px}#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}@-webkit-keyframes opacityAnimation{0%{opacity:.6}50%{opacity:.3}100%{opacity:.6}}@keyframes opacityAnimation{0%{opacity:.6}50%{opacity:.3}100%{opacity:.6}}#main-wysiwyg-area a[href]{cursor:default!important}#main-wysiwyg-area a[contenteditable]{cursor:text!important}#main-wysiwyg-area .wysiwyg-loading{pointer-events:none;-webkit-animation:opacityAnimation 2s infinite;animation:opacityAnimation 2s infinite}#main-wysiwyg-area span[contenteditable],#main-wysiwyg-area a[contenteditable],#main-wysiwyg-area b[contenteditable],#main-wysiwyg-area i[contenteditable],#main-wysiwyg-area cite[contenteditable],#main-wysiwyg-area code[contenteditable],#main-wysiwyg-area em[contenteditable],#main-wysiwyg-area label[contenteditable],#main-wysiwyg-area small[contenteditable],#main-wysiwyg-area strong[contenteditable],#main-wysiwyg-area sub[contenteditable],#main-wysiwyg-area sup[contenteditable],#main-wysiwyg-area q[contenteditable]{display:inline-block}#main-wysiwyg-area [contenteditable]{min-width:1em}#main-wysiwyg-area [contenteditable]:empty:before{content:"\2063";display:inline-block;position:relative}#main-edit-area .mce-edit-focus{outline: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:"";display:block;position:absolute;top:-3px;bottom:-3px;left:-12px;right:-12px;border:1px solid transparent;border-width:0;border-left-width:10px;border-right-width:10px;outline:1px solid transparent;pointer-events:none}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable.selected .mo-blockselectionhelper{outline-color:transparent;border-color:#c00;border-style:dashed solid;-webkit-animation:border-color-selection-pulsate 4s infinite;animation:border-color-selection-pulsate 4s infinite}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable:hover .mo-blockselectionhelper{outline-color:currentcolor;border-top-color:transparent!important;border-bottom-color:transparent!important;-webkit-animation:none;animation:none}#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 #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable .mce-content-body:before{content:"";display:block;position:absolute;top:-3px;bottom:-3px;left:-7px;right:-7px;border:1px dashed transparent;opacity:.3;pointer-events:none}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable:hover .mce-content-body:before{border-color:currentcolor}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable:hover .mce-content-body:hover:before{border-color:transparent}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable .selectable-img .mo-imgselectionhelper:before{content:"";display:block;position:absolute;top:-3px;bottom:-3px;left:-7px;right:-7px;border:1px dashed transparent;opacity:.3;pointer-events:none}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable:hover .selectable-img .mo-imgselectionhelper:before{border-color:currentcolor}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable:hover .selectable-img:hover .mo-imgselectionhelper:before{border-color:transparent}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .mce-content-body{position:relative;cursor:text}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .mce-content-body:after{content:"";display:block;position:absolute;top:-3px;bottom:-3px;left:-7px;right:-7px;border:1px solid transparent;border-width:0;border-left-width:5px;border-right-width:5px;outline:1px solid transparent;pointer-events:none}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .mce-content-body.selecteditem:after{outline-color:transparent;border-color:#c00;border-style:dashed solid;-webkit-animation:border-color-selection-pulsate 4s infinite;animation:border-color-selection-pulsate 4s infinite}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .mce-content-body:hover:after{outline-color:currentcolor;border-top-color:transparent!important;border-bottom-color:transparent!important;-webkit-animation:none;animation:none}#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:after{content:"";display:block;position:absolute;top:-3px;bottom:-3px;left:-7px;right:-7px;border:1px solid transparent;border-width:0;border-left-width:5px;border-right-width:5px;outline:1px solid transparent;pointer-events:none}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .selectable-img.selecteditem .mo-imgselectionhelper:after{outline-color:transparent;border-color:#c00;border-style:dashed solid;-webkit-animation:border-color-selection-pulsate 4s infinite;animation:border-color-selection-pulsate 4s infinite}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .selectable-img:hover .mo-imgselectionhelper:after{outline-color:currentcolor;border-top-color:transparent!important;border-bottom-color:transparent!important;-webkit-animation:none;animation:none}#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{-webkit-box-shadow:0 0 5px #fff;box-shadow:0 0 5px #fff}.moxman-container.moxman-window,.mce-window{border:none;border-top-left-radius:7px;border-top-right-radius:7px;border-color:rgba(128,126,124,0);-webkit-box-shadow:0 2px 20px #807e7c;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{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);-webkit-box-shadow:0 2px 20px #807e7c;box-shadow:0 2px 20px #807e7c;color:#333332;background-color:#fff;padding:0;overflow:hidden}body.moxman-v2 .moxman-btn{border:none;background-color:transparent}body.moxman-v2 .moxman-btn button{background-color:#333332;color:#fefdfc;border:1px solid #333332;border-radius:5px}body.moxman-v2 .moxman-btn button i{color:#fefdfc}body.moxman-v2 .moxman-btn button .moxman-caret{border-top-color:#fefdfc}body.moxman-v2 .moxman-btn.moxman-active button{background-color:#191919}body.moxman-v2 .moxman-btn.moxman-primary button{color:#fefdfc;background-color:#9c010f;border:1px solid #9c010f}body.moxman-v2 .moxman-btn.moxman-primary button i{color:#fefdfc}body.moxman-v2 .moxman-btn.moxman-primary button .moxman-caret{border-top-color:#fefdfc}body.moxman-v2 .moxman-combobox .moxman-textbox{border-top-left-radius:5px;border-bottom-left-radius:5px}body.moxman-v2 .moxman-combobox .moxman-btn button{border-top-left-radius:0;border-bottom-left-radius:0}@-webkit-keyframes border-color-selection-pulsate{0%{border-color:currentcolor}40%{border-color:#c00}60%{border-color:#c00}100%{border-color:currentcolor}}@keyframes border-color-selection-pulsate{0%{border-color:currentcolor}40%{border-color:#c00}60%{border-color:#c00}100%{border-color:currentcolor}}@-webkit-keyframes droppable-pulsate{0%{opacity:1}100%{opacity:.1}}@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;-webkit-box-sizing:border-box;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;-webkit-box-shadow:0 0 10px gray,0 0 5px gray;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;-webkit-box-shadow:0 1px 10px gray,0 0 5px gray;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);-webkit-box-shadow:0 2px 20px #807e7c;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;-webkit-box-shadow:0 0 5px #AAA;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}@-webkit-keyframes loading{0%{-webkit-transform:scale(1,1) rotate(0deg);transform:scale(1,1) rotate(0deg)}50%{-webkit-transform:scale(1.5,1.5) rotate(360deg);transform:scale(1.5,1.5) rotate(360deg)}100%{-webkit-transform:scale(1,1) rotate(720deg);transform:scale(1,1) rotate(720deg)}}@keyframes loading{0%{-webkit-transform:scale(1,1) rotate(0deg);transform:scale(1,1) rotate(0deg)}50%{-webkit-transform:scale(1.5,1.5) rotate(360deg);transform:scale(1.5,1.5) rotate(360deg)}100%{-webkit-transform:scale(1,1) rotate(720deg);transform:scale(1,1) rotate(720deg)}}.mo-standalone #loading.loading img{-webkit-animation:loading 4s linear infinite;animation:loading 4s linear infinite}@-webkit-keyframes broken{0%{opacity:0}95%{opacity:0}100%{opacity:1}}@keyframes broken{0%{opacity:0}95%{opacity:0}100%{opacity:1}}#loading.loading div{-webkit-animation:broken 10s linear forwards;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:-webkit-box;display:flex;display:-ms-flexbox;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-align-items:center;-webkit-box-pack: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 *{-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;border-radius:3px;background-position:15px center;background-repeat:no-repeat;-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{-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-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,black,black 1px,white 1px,white 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/client/static/mosaico/rs/mosaico.min.css.map b/client/static/mosaico/rs/mosaico.min.css.map new file mode 100644 index 00000000..da58883c --- /dev/null +++ b/client/static/mosaico/rs/mosaico.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../build/mosaico.css","../../node_modules/font-awesome/less/path.less","../../root/mosaico/node_modules/font-awesome/less/icons.less","../../node_modules/font-awesome/less/core.less","../../node_modules/font-awesome/less/larger.less","../../node_modules/font-awesome/less/fixed-width.less","../../node_modules/font-awesome/less/list.less","../../node_modules/font-awesome/less/bordered-pulled.less","../../node_modules/font-awesome/less/animated.less","../../root/mosaico/node_modules/font-awesome/less/mixins.less","../../node_modules/font-awesome/less/rotated-flipped.less","../../node_modules/font-awesome/less/stacked.less","../../node_modules/font-awesome/less/icons.less","../../node_modules/font-awesome/less/screen-reader.less","../../node_modules/font-awesome/less/mixins.less","../../root/mosaico/node_modules/font-awesome/less/path.less","../../root/mosaico/node_modules/font-awesome/less/core.less","../../root/mosaico/node_modules/font-awesome/less/larger.less","../../root/mosaico/node_modules/font-awesome/less/fixed-width.less","../../root/mosaico/node_modules/font-awesome/less/list.less","../../root/mosaico/node_modules/font-awesome/less/bordered-pulled.less","../../root/mosaico/node_modules/font-awesome/less/animated.less","../../root/mosaico/node_modules/font-awesome/less/rotated-flipped.less","../../root/mosaico/node_modules/font-awesome/less/stacked.less","../../root/mosaico/node_modules/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","../../node_modules/toastr/toastr.less","../../node_modules/evol-colorpicker/css/evol-colorpicker.css"],"names":[],"mappings":"AAAA;;;GAGG,ACAH,WACE,wBAAA,AACA,qDAAA,AACA,iXAAA,CDMD,AEZA,ICIC,qBAAA,AACA,6CAAA,AACA,kBAAA,AACA,oBAAA,AACA,mCAAA,AACA,iCAAA,CHWD,AEpBA,OEKC,uBAAA,AACA,kBAAA,AACA,mBAAA,CJmBD,AE1BA,OESsB,aAAA,CJoBtB,AE7BA,OEUsB,aAAA,CJsBtB,AEhCA,OEWsB,aAAA,CJwBtB,AEnCA,OEYsB,aAAA,CJ0BtB,AEtCA,OGGC,mBAAA,AACA,iBAAA,CLsCD,AE1CA,OIIC,eAAA,AACA,yBAAA,AACA,oBAAA,CNyCD,AE/CA,UIOQ,iBAAA,CN2CR,AElDA,OIUC,kBAAA,AACA,mBAAA,AACA,mBAAA,AACA,gBAAA,AACA,iBAAA,CN2CD,AEzDA,aIgBG,kBAAA,CN4CH,AE5DA,WKIC,yBAAA,AACA,wBAAA,AACA,kBAAA,CP2DD,AEjEA,cKS6B,UAAA,CP2D7B,AEpEA,eKU8B,WAAA,CP6D9B,AEvEA,iBKagC,iBAAA,CP6DhC,AE1EA,kBKciC,gBAAA,CP+DjC,AO3DD,YAAc,WAAA,CP+Db,AO9DD,WAAa,UAAA,CPiEZ,AO9DC,cAAc,iBAAA,CPiEf,AOhEC,eAAe,gBAAA,CPmEhB,AE1FA,SMIC,6CAAA,AACQ,oCAAA,CRyFT,AE9FA,UMSC,+CAAA,AACQ,sCAAA,CRwFT,AQrFD,2BACE,GACE,+BAAA,AACQ,sBAAA,CRuFT,AQrFD,KACE,iCAAA,AACQ,wBAAA,CRuFT,CACF,AQpFD,mBACE,GACE,+BAAA,AACQ,sBAAA,CRsFT,AQpFD,KACE,iCAAA,AACQ,wBAAA,CRsFT,CACF,AEtHA,cOcC,sEAAA,AACA,gCAAA,AAEQ,uBAAA,CT2GT,AE5HA,eOcC,sEAAA,AACA,iCAAA,AAEQ,wBAAA,CTiHT,AElIA,eOcC,sEAAA,AACA,iCAAA,AAEQ,wBAAA,CTuHT,AExIA,oBOqBC,+EAAA,AACA,8BAAA,AAEQ,qBAAA,CTsHT,AE9IA,kBOqBC,+EAAA,AACA,8BAAA,AAEQ,qBAAA,CT4HT,AEpJA,gHQkBC,oBAAA,WAAA,CVyID,AE3JA,USIC,kBAAA,AACA,qBAAA,AACA,UAAA,AACA,WAAA,AACA,gBAAA,AACA,qBAAA,CX0JD,AEnKA,0BSYC,kBAAA,AACA,OAAA,AACA,WAAA,AACA,iBAAA,CX2JD,AE1KA,aSiB4B,mBAAA,CX4J5B,AE7KA,aSkB4B,aAAA,CX8J5B,AEhLA,YSmB2B,UAAA,CXgK3B,AEnLA,iBUGgC,eAAA,CZqLhC,AExLA,iBUIgC,eAAA,CZuLhC,AE3LA,kBUKiC,eAAA,CZyLjC,AE9LA,sBUMqC,eAAA,CZ2LrC,AEjMA,iBUOgC,eAAA,CZ6LhC,AEpMA,gBUQ+B,eAAA,CZ+L/B,AEvMA,kBUSiC,eAAA,CZiMjC,AE1MA,gBUU+B,eAAA,CZmM/B,AE7MA,gBUW+B,eAAA,CZqM/B,AEhNA,oBUYmC,eAAA,CZuMnC,AEnNA,cUa6B,eAAA,CZyM7B,AEtNA,mBUckC,eAAA,CZ2MlC,AEzNA,iBUegC,eAAA,CZ6MhC,AE5NA,oDUkBgC,eAAA,CZ+MhC,AEjOA,uBUmBsC,eAAA,CZiNtC,AEpOA,wBUoBuC,eAAA,CZmNvC,AEvOA,qBUqBoC,eAAA,CZqNpC,AE1OA,kBUsBiC,eAAA,CZuNjC,AE7OA,+BUwB8B,eAAA,CZyN9B,AEjPA,mBUyBkC,eAAA,CZ2NlC,AEpPA,gBU0B+B,eAAA,CZ6N/B,AEvPA,kBU2BiC,eAAA,CZ+NjC,AE1PA,mBU4BkC,eAAA,CZiOlC,AE7PA,gBU6B+B,eAAA,CZmO/B,AEhQA,oBU8BmC,eAAA,CZqOnC,AEnQA,+BU+B8C,eAAA,CZuO9C,AEtQA,6BUgC4C,eAAA,CZyO5C,AEzQA,iBUiCgC,eAAA,CZ2OhC,AE5QA,yBUkCwC,eAAA,CZ6OxC,AE/QA,0CUoCiC,eAAA,CZ+OjC,AEnRA,mBUqCkC,eAAA,CZiPlC,AEtRA,oBUsCmC,eAAA,CZmPnC,AEzRA,gBUuC+B,eAAA,CZqP/B,AE5RA,gBUwC+B,eAAA,CZuP/B,AE/RA,sBUyCqC,eAAA,CZyPrC,AElSA,sBU0CqC,eAAA,CZ2PrC,AErSA,uBU2CsC,eAAA,CZ6PtC,AExSA,qBU4CoC,eAAA,CZ+PpC,AE3SA,kBU6CiC,eAAA,CZiQjC,AE9SA,mBU8CkC,eAAA,CZmQlC,AEjTA,eU+C8B,eAAA,CZqQ9B,AEpTA,gBUgD+B,eAAA,CZuQ/B,AEvTA,gBUiD+B,eAAA,CZyQ/B,AE1TA,oBUkDmC,eAAA,CZ2QnC,AE7TA,iBUmDgC,eAAA,CZ6QhC,AEhUA,kBUoDiC,eAAA,CZ+QjC,AEnUA,gBUqD+B,eAAA,CZiR/B,AEtUA,gBUsD+B,eAAA,CZmR/B,AEzUA,kBUuDiC,eAAA,CZqRjC,AE5UA,uBUwDsC,eAAA,CZuRtC,AE/UA,sBUyDqC,eAAA,CZyRrC,AElVA,sBU0DqC,eAAA,CZ2RrC,AErVA,wBU2DuC,eAAA,CZ6RvC,AExVA,uBU4DsC,eAAA,CZ+RtC,AE3VA,yBU6DwC,eAAA,CZiSxC,AE9VA,gBU8D+B,eAAA,CZmS/B,AEjWA,qCUgEkC,eAAA,CZqSlC,AErWA,kBUiEiC,eAAA,CZuSjC,AExWA,wBUkEuC,eAAA,CZySvC,AE3WA,uDUqEoC,eAAA,CZ2SpC,AEhXA,kBUsEiC,eAAA,CZ6SjC,AEnXA,sBUuEqC,eAAA,CZ+SrC,AEtXA,kBUwEiC,eAAA,CZiTjC,AEzXA,gBUyE+B,eAAA,CZmT/B,AE5XA,2CU2E0C,eAAA,CZqT1C,AEhYA,0BU4EyC,eAAA,CZuTzC,AEnYA,0BU6EyC,eAAA,CZyTzC,AEtYA,kBU8EiC,eAAA,CZ2TjC,AEzYA,yBU+EwC,eAAA,CZ6TxC,AE5YA,yBUgFwC,eAAA,CZ+TxC,AE/YA,oBUiFmC,eAAA,CZiUnC,AElZA,gBUkF+B,eAAA,CZmU/B,AErZA,iBUmFgC,eAAA,CZqUhC,AExZA,gBUoF+B,eAAA,CZuU/B,AE3ZA,mBUqFkC,eAAA,CZyUlC,AE9ZA,wBUsFuC,eAAA,CZ2UvC,AEjaA,wBUuFuC,eAAA,CZ6UvC,AEpaA,iBUwFgC,eAAA,CZ+UhC,AEvaA,wBUyFuC,eAAA,CZiVvC,AE1aA,yBU0FwC,eAAA,CZmVxC,AE7aA,uBU2FsC,eAAA,CZqVtC,AEhbA,wBU4FuC,eAAA,CZuVvC,AEnbA,wBU6FuC,eAAA,CZyVvC,AEtbA,wBU8FuC,eAAA,CZ2VvC,AEzbA,2BU+F0C,eAAA,CZ6V1C,AE5bA,uBUgGsC,eAAA,CZ+VtC,AE/bA,sBUiGqC,eAAA,CZiWrC,AElcA,0BUkGyC,eAAA,CZmWzC,AErcA,0BUmGyC,eAAA,CZqWzC,AExcA,eUoG8B,eAAA,CZuW9B,AE3cA,sBUqGqC,eAAA,CZyWrC,AE9cA,uBUsGsC,eAAA,CZ2WtC,AEjdA,oBUuGmC,eAAA,CZ6WnC,AEpdA,sBUwGqC,eAAA,CZ+WrC,AEvdA,yCU0GgC,eAAA,CZiXhC,AE3dA,kBU2GiC,eAAA,CZmXjC,AE9dA,oBU4GmC,eAAA,CZqXnC,AEjeA,gBU6G+B,eAAA,CZuX/B,AEpeA,iBU8GgC,eAAA,CZyXhC,AEveA,oBU+GmC,eAAA,CZ2XnC,AE1eA,8BUgH6C,eAAA,CZ6X7C,AE7eA,gBUiH+B,eAAA,CZ+X/B,AEhfA,gBUkH+B,eAAA,CZiY/B,AEnfA,gBUmH+B,eAAA,CZmY/B,AEtfA,eUoH8B,eAAA,CZqY9B,AEzfA,qBUqHoC,eAAA,CZuYpC,AE5fA,mDUuH+C,eAAA,CZyY/C,AEhgBA,iBUwHgC,eAAA,CZ2YhC,AEngBA,oBUyHmC,eAAA,CZ6YnC,AEtgBA,kBU0HiC,eAAA,CZ+YjC,AEzgBA,mBU2HkC,eAAA,CZiZlC,AE5gBA,kBU4HiC,eAAA,CZmZjC,AE/gBA,sBU6HqC,eAAA,CZqZrC,AElhBA,wBU8HuC,eAAA,CZuZvC,AErhBA,mBU+HkC,eAAA,CZyZlC,AExhBA,yBUgIwC,eAAA,CZ2ZxC,AE3hBA,kBUiIiC,eAAA,CZ6ZjC,AE9hBA,uBUkIsC,eAAA,CZ+ZtC,AEjiBA,oBUmImC,eAAA,CZianC,AEpiBA,oBUoImC,eAAA,CZmanC,AEviBA,4CUsIoC,eAAA,CZqapC,AE3iBA,0BUuIyC,eAAA,CZuazC,AE9iBA,2BUwI0C,eAAA,CZya1C,AEjjBA,wBUyIuC,eAAA,CZ2avC,AEpjBA,eU0I8B,eAAA,CZ6a9B,AEvjBA,iCU4I+B,eAAA,CZ+a/B,AE3jBA,oBU6ImC,eAAA,CZibnC,AE9jBA,uBU8IsC,eAAA,CZmbtC,AEjkBA,yBU+IwC,eAAA,CZqbxC,AEpkBA,qBUgJoC,eAAA,CZubpC,AEvkBA,mBUiJkC,eAAA,CZyblC,AE1kBA,oBUkJmC,eAAA,CZ2bnC,AE7kBA,2BUmJ0C,eAAA,CZ6b1C,AEhlBA,sBUoJqC,eAAA,CZ+brC,AEnlBA,yBUqJwC,eAAA,CZicxC,AEtlBA,mBUsJkC,eAAA,CZmclC,AEzlBA,kBUuJiC,eAAA,CZqcjC,AE5lBA,yBUwJwC,eAAA,CZucxC,AE/lBA,kBUyJiC,eAAA,CZycjC,AElmBA,mBU0JkC,eAAA,CZ2clC,AErmBA,iBU2JgC,eAAA,CZ6chC,AExmBA,oBU4JmC,eAAA,CZ+cnC,AE3mBA,sBU6JqC,eAAA,CZidrC,AE9mBA,wBU8JuC,eAAA,CZmdvC,AEjnBA,mBU+JkC,eAAA,CZqdlC,AEpnBA,0CUiKmC,eAAA,CZudnC,AExnBA,kBUkKiC,eAAA,CZydjC,AE3nBA,kBUmKiC,eAAA,CZ2djC,AE9nBA,uBUoKsC,eAAA,CZ6dtC,AEjoBA,+BUsK8B,eAAA,CZ+d9B,AEroBA,iBUuKgC,eAAA,CZiehC,AExoBA,oBUwKmC,eAAA,CZmenC,AE3oBA,gBUyK+B,eAAA,CZqe/B,AE9oBA,uBU0KsC,eAAA,CZuetC,AEjpBA,wBU2KuC,eAAA,CZyevC,AEppBA,uBU4KsC,eAAA,CZ2etC,AEvpBA,qBU6KoC,eAAA,CZ6epC,AE1pBA,uBU8KsC,eAAA,CZ+etC,AE7pBA,6BU+K4C,eAAA,CZif5C,AEhqBA,8BUgL6C,eAAA,CZmf7C,AEnqBA,2BUiL0C,eAAA,CZqf1C,AEtqBA,6BUkL4C,eAAA,CZuf5C,AEzqBA,iBUmLgC,eAAA,CZyfhC,AE5qBA,kBUoLiC,eAAA,CZ2fjC,AE/qBA,iBUqLgC,eAAA,CZ6fhC,AElrBA,kBUsLiC,eAAA,CZ+fjC,AErrBA,qBUuLoC,eAAA,CZigBpC,AExrBA,sBUwLqC,eAAA,CZmgBrC,AE3rBA,kCU0LgC,eAAA,CZqgBhC,AE/rBA,iCU4L+B,eAAA,CZugB/B,AEnsBA,iBU6LgC,eAAA,CZygBhC,AEtsBA,iBU8LgC,eAAA,CZ2gBhC,AEzsBA,mCUgMmC,eAAA,CZ6gBnC,AE7sBA,mCUkMkC,eAAA,CZ+gBlC,AEjtBA,qBUmMoC,eAAA,CZihBpC,AEptBA,oCUqMmC,eAAA,CZmhBnC,AExtBA,kBUsMiC,eAAA,CZqhBjC,AE3tBA,sDUyM+B,eAAA,CZuhB/B,AEhuBA,mBU0MkC,eAAA,CZyhBlC,AEnuBA,mBU2MkC,eAAA,CZ2hBlC,AEtuBA,yBU4MwC,eAAA,CZ6hBxC,AEzuBA,qBU6MoC,eAAA,CZ+hBpC,AE5uBA,iBU8MgC,eAAA,CZiiBhC,AE/uBA,iBU+MgC,eAAA,CZmiBhC,AElvBA,iBUgNgC,eAAA,CZqiBhC,AErvBA,qBUiNoC,eAAA,CZuiBpC,AExvBA,4BUkN2C,eAAA,CZyiB3C,AE3vBA,8BUmN6C,eAAA,CZ2iB7C,AE9vBA,uBUoNsC,eAAA,CZ6iBtC,AEjwBA,iBUqNgC,eAAA,CZ+iBhC,AEpwBA,sBUsNqC,eAAA,CZijBrC,AEvwBA,oBUuNmC,eAAA,CZmjBnC,AE1wBA,sBUwNqC,eAAA,CZqjBrC,AE7wBA,uBUyNsC,eAAA,CZujBtC,AEhxBA,mBU0NkC,eAAA,CZyjBlC,AEnxBA,oCU4N+B,eAAA,CZ2jB/B,AEvxBA,0CU8NoC,eAAA,CZ6jBpC,AE3xBA,uCUgOmC,eAAA,CZ+jBnC,AE/xBA,oBUiOmC,eAAA,CZikBnC,AElyBA,oBUkOmC,eAAA,CZmkBnC,AEryBA,uCUoO+B,eAAA,CZqkB/B,AEzyBA,kCUsOgC,eAAA,CZukBhC,AE7yBA,2CUwOqC,eAAA,CZykBrC,AEjzBA,qBUyOoC,eAAA,CZ2kBpC,AEpzBA,sBU0OqC,eAAA,CZ6kBrC,AEvzBA,iCU4O+B,eAAA,CZ+kB/B,AE3zBA,mBU6OkC,eAAA,CZilBlC,AE9zBA,oBU8OmC,eAAA,CZmlBnC,AEj0BA,sCUgPoC,eAAA,CZqlBpC,AEr0BA,uBUiPsC,eAAA,CZulBtC,AEx0BA,oBUkPmC,eAAA,CZylBnC,AE30BA,0BUmPyC,eAAA,CZ2lBzC,AE90BA,wBUoPuC,eAAA,CZ6lBvC,AEj1BA,mBUqPkC,eAAA,CZ+lBlC,AEp1BA,uBUsPsC,eAAA,CZimBtC,AEv1BA,oBUuPmC,eAAA,CZmmBnC,AE11BA,kBUwPiC,eAAA,CZqmBjC,AE71BA,kBUyPiC,eAAA,CZumBjC,AEh2BA,mBU0PkC,eAAA,CZymBlC,AEn2BA,uBU2PsC,eAAA,CZ2mBtC,AEt2BA,sBU4PqC,eAAA,CZ6mBrC,AEz2BA,sBU6PqC,eAAA,CZ+mBrC,AE52BA,qBU8PoC,eAAA,CZinBpC,AE/2BA,kBU+PiC,eAAA,CZmnBjC,AEl3BA,uBUgQsC,eAAA,CZqnBtC,AEr3BA,gBUiQ+B,eAAA,CZunB/B,AEx3BA,oBUkQmC,eAAA,CZynBnC,AE33BA,uBUmQsC,eAAA,CZ2nBtC,AE93BA,6BUoQ4C,eAAA,CZ6nB5C,AEj4BA,8BUqQ6C,eAAA,CZ+nB7C,AEp4BA,2BUsQ0C,eAAA,CZioB1C,AEv4BA,6BUuQ4C,eAAA,CZmoB5C,AE14BA,sBUwQqC,eAAA,CZqoBrC,AE74BA,uBUyQsC,eAAA,CZuoBtC,AEh5BA,oBU0QmC,eAAA,CZyoBnC,AEn5BA,sBU2QqC,eAAA,CZ2oBrC,AEt5BA,mBU4QkC,eAAA,CZ6oBlC,AEz5BA,kBU6QiC,eAAA,CZ+oBjC,AE55BA,kBU8QiC,eAAA,CZipBjC,AE/5BA,0CUgRiC,eAAA,CZmpBjC,AEn6BA,oBUiRmC,eAAA,CZqpBnC,AEt6BA,sBUkRqC,eAAA,CZupBrC,AEz6BA,uBUmRsC,eAAA,CZypBtC,AE56BA,mBUoRkC,eAAA,CZ2pBlC,AE/6BA,kBUqRiC,eAAA,CZ6pBjC,AEl7BA,uCUuRgC,eAAA,CZ+pBhC,AEt7BA,sBUwRqC,eAAA,CZiqBrC,AEz7BA,oBUyRmC,eAAA,CZmqBnC,AE57BA,yBU0RwC,eAAA,CZqqBxC,AE/7BA,mBU2RkC,eAAA,CZuqBlC,AEl8BA,mBU4RkC,eAAA,CZyqBlC,AEr8BA,iBU6RgC,eAAA,CZ2qBhC,AEx8BA,mBU8RkC,eAAA,CZ6qBlC,AE38BA,sBU+RqC,eAAA,CZ+qBrC,AE98BA,kBUgSiC,eAAA,CZirBjC,AEj9BA,0BUiSyC,eAAA,CZmrBzC,AEp9BA,oBUkSmC,eAAA,CZqrBnC,AEv9BA,gBUmS+B,eAAA,CZurB/B,AE19BA,+CUqSoC,eAAA,CZyrBpC,AE99BA,4EUwSsC,eAAA,CZ2rBtC,AEn+BA,0BUySyC,eAAA,CZ6rBzC,AEt+BA,gBU0S+B,eAAA,CZ+rB/B,AEz+BA,qBU2SoC,eAAA,CZisBpC,AE5+BA,0CU6SuC,eAAA,CZmsBvC,AEh/BA,oBU8SmC,eAAA,CZqsBnC,AEn/BA,gBU+S+B,eAAA,CZusB/B,AEt/BA,uBUgTsC,eAAA,CZysBtC,AEz/BA,uBUiTsC,eAAA,CZ2sBtC,AE5/BA,qBUkToC,eAAA,CZ6sBpC,AE//BA,kBUmTiC,eAAA,CZ+sBjC,AElgCA,wBUoTuC,eAAA,CZitBvC,AErgCA,sBUqTqC,eAAA,CZmtBrC,AExgCA,4BUsT2C,eAAA,CZqtB3C,AE3gCA,kBUuTiC,eAAA,CZutBjC,AE9gCA,sBUwTqC,eAAA,CZytBrC,AEjhCA,6BUyT4C,eAAA,CZ2tB5C,AEphCA,kBU0TiC,eAAA,CZ6tBjC,AEvhCA,kBU2TiC,eAAA,CZ+tBjC,AE1hCA,+BU4T8C,eAAA,CZiuB9C,AE7hCA,gCU6T+C,eAAA,CZmuB/C,AEhiCA,6BU8T4C,eAAA,CZquB5C,AEniCA,+BU+T8C,eAAA,CZuuB9C,AEtiCA,iBUgUgC,eAAA,CZyuBhC,AEziCA,gBUiU+B,eAAA,CZ2uB/B,AE5iCA,kBUkUiC,eAAA,CZ6uBjC,AE/iCA,sBUmUqC,eAAA,CZ+uBrC,AEljCA,oBUoUmC,eAAA,CZivBnC,AErjCA,sBUqUqC,eAAA,CZmvBrC,AExjCA,sBUsUqC,eAAA,CZqvBrC,AE3jCA,sBUuUqC,eAAA,CZuvBrC,AE9jCA,uBUwUsC,eAAA,CZyvBtC,AEjkCA,kBUyUiC,eAAA,CZ2vBjC,AEpkCA,wBU0UuC,eAAA,CZ6vBvC,AEvkCA,0BU2UyC,eAAA,CZ+vBzC,AE1kCA,oBU4UmC,eAAA,CZiwBnC,AE7kCA,sBU6UqC,eAAA,CZmwBrC,AEhlCA,wBU8UuC,eAAA,CZqwBvC,AEnlCA,yBU+UwC,eAAA,CZuwBxC,AEtlCA,gCUgV+C,eAAA,CZywB/C,AEzlCA,wBUiVuC,eAAA,CZ2wBvC,AE5lCA,mBUkVkC,eAAA,CZ6wBlC,AE/lCA,sDUoV8C,eAAA,CZ+wB9C,AEnmCA,kDUsV4C,eAAA,CZixB5C,AEvmCA,wDUwV+C,eAAA,CZmxB/C,AE3mCA,+BU0V8B,eAAA,CZqxB9B,AE/mCA,eU2V8B,eAAA,CZuxB9B,AElnCA,iCU6V8B,eAAA,CZyxB9B,AEtnCA,gCU+V8B,eAAA,CZ2xB9B,AE1nCA,4DUmW8B,eAAA,CZ6xB9B,AEhoCA,kDUsW8B,eAAA,CZ+xB9B,AEroCA,8BUwW8B,eAAA,CZiyB9B,AEzoCA,kCU0W8B,eAAA,CZmyB9B,AE7oCA,gBU2W+B,eAAA,CZqyB/B,AEhpCA,qBU4WoC,eAAA,CZuyBpC,AEnpCA,0BU6WyC,eAAA,CZyyBzC,AEtpCA,2BU8W0C,eAAA,CZ2yB1C,AEzpCA,2BU+W0C,eAAA,CZ6yB1C,AE5pCA,4BUgX2C,eAAA,CZ+yB3C,AE/pCA,4BUiX2C,eAAA,CZizB3C,AElqCA,6BUkX4C,eAAA,CZmzB5C,AErqCA,qBUmXoC,eAAA,CZqzBpC,AExqCA,uBUoXsC,eAAA,CZuzBtC,AE3qCA,0BUqXyC,eAAA,CZyzBzC,AE9qCA,mBUsXkC,eAAA,CZ2zBlC,AEjrCA,gBUuX+B,eAAA,CZ6zB/B,AEprCA,uBUwXsC,eAAA,CZ+zBtC,AEvrCA,wBUyXuC,eAAA,CZi0BvC,AE1rCA,mBU0XkC,eAAA,CZm0BlC,AE7rCA,0BU2XyC,eAAA,CZq0BzC,AEhsCA,qBU4XoC,eAAA,CZu0BpC,AEnsCA,kBU6XiC,eAAA,CZy0BjC,AEtsCA,eU8X8B,eAAA,CZ20B9B,AEzsCA,qBU+XoC,eAAA,CZ60BpC,AE5sCA,4BUgY2C,eAAA,CZ+0B3C,AE/sCA,kBUiYiC,eAAA,CZi1BjC,AEltCA,yBUkYwC,eAAA,CZm1BxC,AErtCA,2BUmY0C,eAAA,CZq1B1C,AExtCA,yBUoYwC,eAAA,CZu1BxC,AE3tCA,2BUqY0C,eAAA,CZy1B1C,AE9tCA,4BUsY2C,eAAA,CZ21B3C,AEjuCA,iBUuYgC,eAAA,CZ61BhC,AEpuCA,mBUwYkC,eAAA,CZ+1BlC,AEvuCA,mBUyYkC,eAAA,CZi2BlC,AE1uCA,iBU0YgC,eAAA,CZm2BhC,AE7uCA,oBU2YmC,eAAA,CZq2BnC,AEhvCA,iBU4YgC,eAAA,CZu2BhC,AEnvCA,sBU6YqC,eAAA,CZy2BrC,AEtvCA,kBU8YiC,eAAA,CZ22BjC,AEzvCA,kBU+YiC,eAAA,CZ62BjC,AE5vCA,gBUgZ+B,eAAA,CZ+2B/B,AE/vCA,sCUkZmC,eAAA,CZi3BnC,AEnwCA,iBUmZgC,eAAA,CZm3BhC,AEtwCA,kBUoZiC,eAAA,CZq3BjC,AEzwCA,mBUqZkC,eAAA,CZu3BlC,AE5wCA,eUsZ8B,eAAA,CZy3B9B,AE/wCA,cUuZ6B,eAAA,CZ23B7B,AElxCA,iBUwZgC,eAAA,CZ63BhC,AErxCA,kBUyZiC,eAAA,CZ+3BjC,AExxCA,qBU0ZoC,eAAA,CZi4BpC,AE3xCA,0BU2ZyC,eAAA,CZm4BzC,AE9xCA,gCU4Z+C,eAAA,CZq4B/C,AEjyCA,+BU6Z8C,eAAA,CZu4B9C,AEpyCA,sDU+Z8C,eAAA,CZy4B9C,AExyCA,wBUgauC,eAAA,CZ24BvC,AE3yCA,sBUiaqC,eAAA,CZ64BrC,AE9yCA,wBUkauC,eAAA,CZ+4BvC,AEjzCA,uCUoa8B,eAAA,CZi5B9B,AErzCA,yBUqawC,eAAA,CZm5BxC,AExzCA,yBUsawC,eAAA,CZq5BxC,AE3zCA,iBUuagC,eAAA,CZu5BhC,AE9zCA,2BUwa0C,eAAA,CZy5B1C,AEj0CA,qBUyaoC,eAAA,CZ25BpC,AEp0CA,kBU0aiC,eAAA,CZ65BjC,AEv0CA,6DU6aqC,eAAA,CZ+5BrC,AE50CA,kDU+ayC,eAAA,CZi6BzC,AEh1CA,iBUgbgC,eAAA,CZm6BhC,AEn1CA,kBUibiC,eAAA,CZq6BjC,AEt1CA,kBUkbiC,eAAA,CZu6BjC,AEz1CA,yBUmbwC,eAAA,CZy6BxC,AE51CA,8BUob6C,eAAA,CZ26B7C,AE/1CA,uBUqbsC,eAAA,CZ66BtC,AEl2CA,qBUsboC,eAAA,CZ+6BpC,AEr2CA,gBUub+B,eAAA,CZi7B/B,AEx2CA,yBUwbwC,eAAA,CZm7BxC,AE32CA,0BUybyC,eAAA,CZq7BzC,AE92CA,kBU0biC,eAAA,CZu7BjC,AEj3CA,kBU2biC,eAAA,CZy7BjC,AEp3CA,oBU4bmC,eAAA,CZ27BnC,AEv3CA,eU6b8B,eAAA,CZ67B9B,AE13CA,oBU8bmC,eAAA,CZ+7BnC,AE73CA,iBU+bgC,eAAA,CZi8BhC,AEh4CA,eUgc8B,eAAA,CZm8B9B,AEn4CA,iBUicgC,eAAA,CZq8BhC,AEt4CA,gBUkc+B,eAAA,CZu8B/B,AEz4CA,iBUmcgC,eAAA,CZy8BhC,AE54CA,mBUockC,eAAA,CZ28BlC,AE/4CA,0BUqcyC,eAAA,CZ68BzC,AEl5CA,iBUscgC,eAAA,CZ+8BhC,AEr5CA,wBUucuC,eAAA,CZi9BvC,AEx5CA,mBUwckC,eAAA,CZm9BlC,AE35CA,qCU0c8B,eAAA,CZq9B9B,AE/5CA,+BU4c+B,eAAA,CZu9B/B,AEn6CA,gBU6c+B,eAAA,CZy9B/B,AEt6CA,mBU8ckC,eAAA,CZ29BlC,AEz6CA,sBU+cqC,eAAA,CZ69BrC,AE56CA,sBUgdqC,eAAA,CZ+9BrC,AE/6CA,oBUidmC,eAAA,CZi+BnC,AEl7CA,sBUkdqC,eAAA,CZm+BrC,AEr7CA,uBUmdsC,eAAA,CZq+BtC,AEx7CA,wBUoduC,eAAA,CZu+BvC,AE37CA,6BUqd4C,eAAA,CZy+B5C,AE97CA,0EUwduC,eAAA,CZ2+BvC,AEn8CA,gDU0dyC,eAAA,CZ6+BzC,AEv8CA,gDU4duC,eAAA,CZ++BvC,AE38CA,gDU8duC,eAAA,CZi/BvC,AE/8CA,uBU+dsC,eAAA,CZm/BtC,AEl9CA,gBUge+B,eAAA,CZq/B/B,AEr9CA,mBUiekC,eAAA,CZu/BlC,AEx9CA,oBUkemC,eAAA,CZy/BnC,AE39CA,wGUueoC,eAAA,CZ2/BpC,AEl+CA,0BUweyC,eAAA,CZ6/BzC,AEr+CA,qDU2egC,eAAA,CZ+/BhC,AE1+CA,gCU6eiC,eAAA,CZigCjC,AE9+CA,sBU8eqC,eAAA,CZmgCrC,AEj/CA,eU+e8B,eAAA,CZqgC9B,AEp/CA,2EUkfsC,eAAA,CZugCtC,AEz/CA,yBUmfwC,eAAA,CZygCxC,AE5/CA,cUof6B,eAAA,CZ2gC7B,AE//CA,oCUsfiC,eAAA,CZ6gCjC,AEngDA,uCUwfsC,eAAA,CZ+gCtC,AEvgDA,2CU0fwC,eAAA,CZihCxC,AE3gDA,mBU2fkC,eAAA,CZmhClC,AE9gDA,uBU4fsC,eAAA,CZqhCtC,AEjhDA,kBU6fiC,eAAA,CZuhCjC,AEphDA,qBU8foC,eAAA,CZyhCpC,AEvhDA,mBU+fkC,eAAA,CZ2hClC,AE1hDA,qBUggBoC,eAAA,CZ6hCpC,AE7hDA,4BUigB2C,eAAA,CZ+hC3C,AEhiDA,gBUkgB+B,eAAA,CZiiC/B,AEniDA,6CUogBmC,eAAA,CZmiCnC,AEviDA,eUqgB8B,eAAA,CZqiC9B,AE1iDA,sBUsgBqC,eAAA,CZuiCrC,AE7iDA,gBUugB+B,eAAA,CZyiC/B,AEhjDA,sBUwgBqC,eAAA,CZ2iCrC,AEnjDA,kBUygBiC,eAAA,CZ6iCjC,AEtjDA,gBU0gB+B,eAAA,CZ+iC/B,AEzjDA,uBU2gBsC,eAAA,CZijCtC,AE5jDA,gBU4gB+B,eAAA,CZmjC/B,AE/jDA,sBU6gBqC,eAAA,CZqjCrC,AElkDA,kBU8gBiC,eAAA,CZujCjC,AErkDA,yBU+gBwC,eAAA,CZyjCxC,AExkDA,mBUghBkC,eAAA,CZ2jClC,AE3kDA,yBUihBwC,eAAA,CZ6jCxC,AE9kDA,uBUkhBsC,eAAA,CZ+jCtC,AEjlDA,mBUmhBkC,eAAA,CZikClC,AEplDA,qBUohBoC,eAAA,CZmkCpC,AEvlDA,qBUqhBoC,eAAA,CZqkCpC,AE1lDA,sBUshBqC,eAAA,CZukCrC,AE7lDA,wBUuhBuC,eAAA,CZykCvC,AEhmDA,iBUwhBgC,eAAA,CZ2kChC,AEnmDA,qBUyhBoC,eAAA,CZ6kCpC,AEtmDA,cU0hB6B,eAAA,CZ+kC7B,AEzmDA,sBU2hBqC,eAAA,CZilCrC,AE5mDA,uBU4hBsC,eAAA,CZmlCtC,AE/mDA,yBU6hBwC,eAAA,CZqlCxC,AElnDA,sBU8hBqC,eAAA,CZulCrC,AErnDA,qBU+hBoC,eAAA,CZylCpC,AExnDA,sBUgiBqC,eAAA,CZ2lCrC,AE3nDA,kBUiiBiC,eAAA,CZ6lCjC,AE9nDA,yBUkiBwC,eAAA,CZ+lCxC,AEjoDA,sBUmiBqC,eAAA,CZimCrC,AEpoDA,qBUoiBoC,eAAA,CZmmCpC,AEvoDA,mBUqiBkC,eAAA,CZqmClC,AE1oDA,eUsiB8B,eAAA,CZumC9B,AE7oDA,mBUuiBkC,eAAA,CZymClC,AEhpDA,qBUwiBoC,eAAA,CZ2mCpC,AEnpDA,cUyiB6B,eAAA,CZ6mC7B,AEtpDA,mDU4iB8B,eAAA,CZ+mC9B,AE3pDA,oBU6iBmC,eAAA,CZinCnC,AE9pDA,sBU8iBqC,eAAA,CZmnCrC,AEjqDA,0BU+iByC,eAAA,CZqnCzC,AEpqDA,oBUgjBmC,eAAA,CZunCnC,AEvqDA,oBUijBmC,eAAA,CZynCnC,AE1qDA,mBUkjBkC,eAAA,CZ2nClC,AE7qDA,kBUmjBiC,eAAA,CZ6nCjC,AEhrDA,wBUojBuC,eAAA,CZ+nCvC,AEnrDA,uBUqjBsC,eAAA,CZioCtC,AEtrDA,oBUsjBmC,eAAA,CZmoCnC,AEzrDA,qBUujBoC,eAAA,CZqoCpC,AE5rDA,2BUwjB0C,eAAA,CZuoC1C,AE/rDA,mBUyjBkC,eAAA,CZyoClC,AElsDA,gBU0jB+B,eAAA,CZ2oC/B,AErsDA,uBU2jBsC,eAAA,CZ6oCtC,AExsDA,sBU4jBqC,eAAA,CZ+oCrC,AE3sDA,uBU6jBsC,eAAA,CZipCtC,AE9sDA,qBU8jBoC,eAAA,CZmpCpC,AEjtDA,iBU+jBgC,eAAA,CZqpChC,AEptDA,gBUgkB+B,eAAA,CZupC/B,AEvtDA,mBUikBkC,eAAA,CZypClC,AE1tDA,2CUmkBsC,eAAA,CZ2pCtC,AE9tDA,2BUokB0C,eAAA,CZ6pC1C,AEjuDA,wBUqkBuC,eAAA,CZ+pCvC,AEpuDA,uBUskBsC,eAAA,CZiqCtC,AEvuDA,sBUukBqC,eAAA,CZmqCrC,AE1uDA,uBUwkBsC,eAAA,CZqqCtC,AE7uDA,yBUykBwC,eAAA,CZuqCxC,AEhvDA,yBU0kBwC,eAAA,CZyqCxC,AEnvDA,kBU2kBiC,eAAA,CZ2qCjC,AEtvDA,sBU4kBqC,eAAA,CZ6qCrC,AEzvDA,6BU6kB4C,eAAA,CZ+qC5C,AE5vDA,uBU8kBsC,eAAA,CZirCtC,AE/vDA,oBU+kBmC,eAAA,CZmrCnC,AElwDA,kBUglBiC,eAAA,CZqrCjC,AErwDA,qBUilBoC,eAAA,CZurCpC,AExwDA,sBUklBqC,eAAA,CZyrCrC,AE3wDA,gCUolB8B,eAAA,CZ2rC9B,AE/wDA,mBUqlBkC,eAAA,CZ6rClC,AElxDA,iBUslBgC,eAAA,CZ+rChC,AErxDA,kBUulBiC,eAAA,CZisCjC,AExxDA,kBUwlBiC,eAAA,CZmsCjC,AE3xDA,sCU0lBuC,eAAA,CZqsCvC,AE/xDA,yBU2lBwC,eAAA,CZusCxC,AElyDA,oBU4lBmC,eAAA,CZysCnC,AEryDA,wBU6lBuC,eAAA,CZ2sCvC,AExyDA,gEUgmBuC,eAAA,CZ6sCvC,AE7yDA,uDUkmBiD,eAAA,CZ+sCjD,AEjzDA,6CUomBuC,eAAA,CZitCvC,AErzDA,gDUsmB0C,eAAA,CZmtC1C,AEzzDA,8CUwmBwC,eAAA,CZqtCxC,AE7zDA,yBUymBwC,eAAA,CZutCxC,AEh0DA,oBU0mBmC,eAAA,CZytCnC,AEn0DA,wBU2mBuC,eAAA,CZ2tCvC,AEt0DA,0BU4mByC,eAAA,CZ6tCzC,AEz0DA,uBU6mBsC,eAAA,CZ+tCtC,AE50DA,yBU8mBwC,eAAA,CZiuCxC,AE/0DA,kBU+mBiC,eAAA,CZmuCjC,AEl1DA,0BUgnByC,eAAA,CZquCzC,AEr1DA,iBUinBgC,eAAA,CZuuChC,AEx1DA,yBUknBwC,eAAA,CZyuCxC,AE31DA,uBUmnBsC,eAAA,CZ2uCtC,AE91DA,kDUqnB0C,eAAA,CZ6uC1C,AEl2DA,iDUunByC,eAAA,CZ+uCzC,AEt2DA,gDUynBwC,eAAA,CZivCxC,AE12DA,qBU0nBoC,eAAA,CZmvCpC,AE72DA,8CU4nBsC,eAAA,CZqvCtC,AEj3DA,+CU8nBuC,eAAA,CZuvCvC,AEr3DA,2BU+nB0C,eAAA,CZyvC1C,AEx3DA,yBUgoBwC,eAAA,CZ2vCxC,AE33DA,wBUioBuC,eAAA,CZ6vCvC,AE93DA,0BUkoByC,eAAA,CZ+vCzC,AEj4DA,wBUmoBuC,eAAA,CZiwCvC,AEp4DA,qBUooBoC,eAAA,CZmwCpC,AEv4DA,sBUqoBqC,eAAA,CZqwCrC,AE14DA,4BUsoB2C,eAAA,CZuwC3C,AE74DA,cUuoB6B,eAAA,CZywC7B,AEh5DA,qBUwoBoC,eAAA,CZ2wCpC,AEn5DA,uBUyoBsC,eAAA,CZ6wCtC,AEt5DA,yBU0oBwC,eAAA,CZ+wCxC,AEz5DA,gCU2oB+C,eAAA,CZixC/C,AE55DA,sBU4oBqC,eAAA,CZmxCrC,AE/5DA,uBU6oBsC,eAAA,CZqxCtC,AEl6DA,kBU8oBiC,eAAA,CZuxCjC,AEr6DA,kBU+oBiC,eAAA,CZyxCjC,AEx6DA,mBUgpBkC,eAAA,CZ2xClC,AE36DA,iBUipBgC,eAAA,CZ6xChC,AE96DA,6BUkpB4C,eAAA,CZ+xC5C,AEj7DA,oCUopBqC,eAAA,CZiyCrC,AEr7DA,kBUqpBiC,eAAA,CZmyCjC,AEx7DA,iBUspBgC,eAAA,CZqyChC,AE37DA,kBUupBiC,eAAA,CZuyCjC,AE97DA,2BUwpB0C,eAAA,CZyyC1C,AEj8DA,4BUypB2C,eAAA,CZ2yC3C,AEp8DA,4BU0pB2C,eAAA,CZ6yC3C,AEv8DA,4BU2pB2C,eAAA,CZ+yC3C,AE18DA,oBU4pBmC,eAAA,CZizCnC,AE78DA,mBU6pBkC,eAAA,CZmzClC,AEh9DA,qBU8pBoC,eAAA,CZqzCpC,AEn9DA,iBU+pBgC,eAAA,CZuzChC,AEt9DA,eUgqB8B,eAAA,CZyzC9B,AEz9DA,sBUiqBqC,eAAA,CZ2zCrC,AE59DA,wBUkqBuC,eAAA,CZ6zCvC,AE/9DA,iBUmqBgC,eAAA,CZ+zChC,AEl+DA,iBUoqBgC,eAAA,CZi0ChC,AEr+DA,qBUqqBoC,eAAA,CZm0CpC,AEx+DA,qBUsqBoC,eAAA,CZq0CpC,AE3+DA,wBUuqBuC,eAAA,CZu0CvC,AE9+DA,gBUwqB+B,eAAA,CZy0C/B,AEj/DA,2BUyqB0C,eAAA,CZ20C1C,AEp/DA,oBU0qBmC,eAAA,CZ60CnC,AEv/DA,gBU2qB+B,eAAA,CZ+0C/B,AE1/DA,wBU4qBuC,eAAA,CZi1CvC,AE7/DA,eU6qB8B,eAAA,CZm1C9B,AEhgEA,wBU8qBuC,eAAA,CZq1CvC,AEngEA,oBU+qBmC,eAAA,CZu1CnC,AEtgEA,kBUgrBiC,eAAA,CZy1CjC,AEzgEA,wBUirBuC,eAAA,CZ21CvC,AE5gEA,0BUkrByC,eAAA,CZ61CzC,AE/gEA,uBUmrBsC,eAAA,CZ+1CtC,AElhEA,yBUorBwC,eAAA,CZi2CxC,AErhEA,wBUqrBuC,eAAA,CZm2CvC,AExhEA,2BUsrB0C,eAAA,CZq2C1C,AE3hEA,mBUurBkC,eAAA,CZu2ClC,AE9hEA,qBUwrBoC,eAAA,CZy2CpC,AEjiEA,uBUyrBsC,eAAA,CZ22CtC,AEpiEA,mBU0rBkC,eAAA,CZ62ClC,AEviEA,kBU2rBiC,eAAA,CZ+2CjC,AE1iEA,sBU4rBqC,eAAA,CZi3CrC,AE7iEA,mBU6rBkC,eAAA,CZm3ClC,AEhjEA,kBU8rBiC,eAAA,CZq3CjC,AEnjEA,4BU+rB2C,eAAA,CZu3C3C,AEtjEA,0BUgsByC,eAAA,CZy3CzC,AEzjEA,6BUisB4C,eAAA,CZ23C5C,AE5jEA,iBUksBgC,eAAA,CZ63ChC,AE/jEA,6BUmsB4C,eAAA,CZ+3C5C,AElkEA,gCUosB+C,eAAA,CZi4C/C,AErkEA,mBUqsBkC,eAAA,CZm4ClC,AExkEA,uCUssBsD,eAAA,CZq4CtD,AE3kEA,2EUwsB8D,eAAA,CZu4C9D,AE/kEA,+DU2sB+B,eAAA,CZy4C/B,AEplEA,iBU4sBgC,eAAA,CZ24ChC,AEvlEA,mBU6sBkC,eAAA,CZ64ClC,AE1lEA,4CU+sBwC,eAAA,CZ+4CxC,AE9lEA,sBUgtBqC,eAAA,CZi5CrC,AEjmEA,kBUitBiC,eAAA,CZm5CjC,AEpmEA,yBUktBwC,eAAA,CZq5CxC,AEvmEA,oBUmtBmC,eAAA,CZu5CnC,AE1mEA,0BUotByC,eAAA,CZy5CzC,AE7mEA,2BUqtB0C,eAAA,CZ25C1C,AEhnEA,sBUstBqC,eAAA,CZ65CrC,AEnnEA,uBUutBsC,eAAA,CZ+5CtC,AEtnEA,iBUwtBgC,eAAA,CZi6ChC,AEznEA,qBUytBoC,eAAA,CZm6CpC,AE5nEA,8DU2tB+C,eAAA,CZq6C/C,AEhoEA,sCU6tBuC,eAAA,CZu6CvC,AEpoEA,uBU8tBsC,eAAA,CZy6CtC,AEvoEA,yBU+tBwC,eAAA,CZ26CxC,AE1oEA,2BUguB0C,eAAA,CZ66C1C,AE7oEA,kBUiuBiC,eAAA,CZ+6CjC,AEhpEA,wBUkuBuC,eAAA,CZi7CvC,AEnpEA,0BUmuByC,eAAA,CZm7CzC,AEtpEA,yCUquBuC,eAAA,CZq7CvC,AE1pEA,6CUuuByC,eAAA,CZu7CzC,AE9pEA,uBUwuBsC,eAAA,CZy7CtC,AEjqEA,yBUyuBwC,eAAA,CZ27CxC,AEpqEA,kBU0uBiC,eAAA,CZ67CjC,AEvqEA,oBU2uBmC,eAAA,CZ+7CnC,AE1qEA,8CU6uBkC,eAAA,CZi8ClC,AE9qEA,kDU+uBoC,eAAA,CZm8CpC,AElrEA,iBUgvBgC,eAAA,CZq8ChC,AErrEA,0BUivByC,eAAA,CZu8CzC,AExrEA,oBUkvBmC,eAAA,CZy8CnC,AE3rEA,4EUqvB2C,eAAA,CZ28C3C,AEhsEA,+DUuvBqD,eAAA,CZ68CrD,AEpsEA,qDUyvB2C,eAAA,CZ+8C3C,AExsEA,wDU2vB8C,eAAA,CZi9C9C,AE5sEA,sDU6vB4C,eAAA,CZm9C5C,AEhtEA,kBU8vBiC,eAAA,CZq9CjC,AEntEA,kDUiwB+B,eAAA,CZu9C/B,AExtEA,mBUkwBkC,eAAA,CZy9ClC,AE3tEA,2BUmwB0C,eAAA,CZ29C1C,AE9tEA,2BUowB0C,eAAA,CZ69C1C,AEjuEA,0BUqwByC,eAAA,CZ+9CzC,AEpuEA,mDUuwBuC,eAAA,CZi+CvC,AExuEA,uDUywByC,eAAA,CZm+CzC,AE5uEA,oBU0wBmC,eAAA,CZq+CnC,AE/uEA,gBU2wB+B,eAAA,CZu+C/B,AElvEA,gBU4wB+B,eAAA,CZy+C/B,AErvEA,gBU6wB+B,eAAA,CZ2+C/B,AExvEA,mBU8wBkC,eAAA,CZ6+ClC,AE3vEA,mBU+wBkC,eAAA,CZ++ClC,AE9vEA,qBUgxBoC,eAAA,CZi/CpC,AEjwEA,uBUixBsC,eAAA,CZm/CtC,AEpwEA,uBUkxBsC,eAAA,CZq/CtC,AEvwEA,sBUmxBqC,eAAA,CZu/CrC,AE1wEA,kBUoxBiC,eAAA,CZy/CjC,Aa1wED,SJ8BE,kBAAA,AACA,UAAA,AACA,WAAA,AACA,UAAA,AACA,YAAA,AACA,gBAAA,AACA,mBAAA,AACA,QAAA,CT+uED,AcruEC,mDAEE,gBAAA,AACA,WAAA,AACA,YAAA,AACA,SAAA,AACA,iBAAA,AACA,SAAA,CduuEH,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BA6B+B,eAAA,CF+kF/B,AE5mFA,oBA8BmC,eAAA,CFilFnC,AE/mFA,+BA+B8C,eAAA,CFmlF9C,AElnFA,6BAgC4C,eAAA,CFqlF5C,AErnFA,iBAiCgC,eAAA,CFulFhC,AExnFA,yBAkCwC,eAAA,CFylFxC,AE3nFA,0CAoCiC,eAAA,CF2lFjC,AE/nFA,mBAqCkC,eAAA,CF6lFlC,AEloFA,oBAsCmC,eAAA,CF+lFnC,AEroFA,gBAuC+B,eAAA,CFimF/B,AExoFA,gBAwC+B,eAAA,CFmmF/B,AE3oFA,sBAyCqC,eAAA,CFqmFrC,AE9oFA,sBA0CqC,eAAA,CFumFrC,AEjpFA,uBA2CsC,eAAA,CFymFtC,AEppFA,qBA4CoC,eAAA,CF2mFpC,AEvpFA,kBA6CiC,eAAA,CF6mFjC,AE1pFA,mBA8CkC,eAAA,CF+mFlC,AE7pFA,eA+C8B,eAAA,CFinF9B,AEhqFA,gBAgD+B,eAAA,CFmnF/B,AEnqFA,gBAiD+B,eAAA,CFqnF/B,AEtqFA,oBAkDmC,eAAA,CFunFnC,AEzqFA,iBAmDgC,eAAA,CFynFhC,AE5qFA,kBAoDiC,eAAA,CF2nFjC,AE/qFA,gBAqD+B,eAAA,CF6nF/B,AElrFA,gBAsD+B,eAAA,CF+nF/B,AErrFA,kBAuDiC,eAAA,CFioFjC,AExrFA,uBAwDsC,eAAA,CFmoFtC,AE3rFA,sBAyDqC,eAAA,CFqoFrC,AE9rFA,sBA0DqC,eAAA,CFuoFrC,AEjsFA,wBA2DuC,eAAA,CFyoFvC,AEpsFA,uBA4DsC,eAAA,CF2oFtC,AEvsFA,yBA6DwC,eAAA,CF6oFxC,AE1sFA,gBA8D+B,eAAA,CF+oF/B,AE7sFA,qCAgEkC,eAAA,CFipFlC,AEjtFA,kBAiEiC,eAAA,CFmpFjC,AEptFA,wBAkEuC,eAAA,CFqpFvC,AEvtFA,uDAqEoC,eAAA,CFupFpC,AE5tFA,kBAsEiC,eAAA,CFypFjC,AE/tFA,sBAuEqC,eAAA,CF2pFrC,AEluFA,kBAwEiC,eAAA,CF6pFjC,AEruFA,gBAyE+B,eAAA,CF+pF/B,AExuFA,2CA2E0C,eAAA,CFiqF1C,AE5uFA,0BA4EyC,eAAA,CFmqFzC,AE/uFA,0BA6EyC,eAAA,CFqqFzC,AElvFA,kBA8EiC,eAAA,CFuqFjC,AErvFA,yBA+EwC,eAAA,CFyqFxC,AExvFA,yBAgFwC,eAAA,CF2qFxC,AE3vFA,oBAiFmC,eAAA,CF6qFnC,AE9vFA,gBAkF+B,eAAA,CF+qF/B,AEjwFA,iBAmFgC,eAAA,CFirFhC,AEpwFA,gBAoF+B,eAAA,CFmrF/B,AEvwFA,mBAqFkC,eAAA,CFqrFlC,AE1wFA,wBAsFuC,eAAA,CFurFvC,AE7wFA,wBAuFuC,eAAA,CFyrFvC,AEhxFA,iBAwFgC,eAAA,CF2rFhC,AEnxFA,wBAyFuC,eAAA,CF6rFvC,AEtxFA,yBA0FwC,eAAA,CF+rFxC,AEzxFA,uBA2FsC,eAAA,CFisFtC,AE5xFA,wBA4FuC,eAAA,CFmsFvC,AE/xFA,wBA6FuC,eAAA,CFqsFvC,AElyFA,wBA8FuC,eAAA,CFusFvC,AEryFA,2BA+F0C,eAAA,CFysF1C,AExyFA,uBAgGsC,eAAA,CF2sFtC,AE3yFA,sBAiGqC,eAAA,CF6sFrC,AE9yFA,0BAkGyC,eAAA,CF+sFzC,AEjzFA,0BAmGyC,eAAA,CFitFzC,AEpzFA,eAoG8B,eAAA,CFmtF9B,AEvzFA,sBAqGqC,eAAA,CFqtFrC,AE1zFA,uBAsGsC,eAAA,CFutFtC,AE7zFA,oBAuGmC,eAAA,CFytFnC,AEh0FA,sBAwGqC,eAAA,CF2tFrC,AEn0FA,yCA0GgC,eAAA,CF6tFhC,AEv0FA,kBA2GiC,eAAA,CF+tFjC,AE10FA,oBA4GmC,eAAA,CFiuFnC,AE70FA,gBA6G+B,eAAA,CFmuF/B,AEh1FA,iBA8GgC,eAAA,CFquFhC,AEn1FA,oBA+GmC,eAAA,CFuuFnC,AEt1FA,8BAgH6C,eAAA,CFyuF7C,AEz1FA,gBAiH+B,eAAA,CF2uF/B,AE51FA,gBAkH+B,eAAA,CF6uF/B,AE/1FA,gBAmH+B,eAAA,CF+uF/B,AEl2FA,eAoH8B,eAAA,CFivF9B,AEr2FA,qBAqHoC,eAAA,CFmvFpC,AEx2FA,mDAuH+C,eAAA,CFqvF/C,AE52FA,iBAwHgC,eAAA,CFuvFhC,AE/2FA,oBAyHmC,eAAA,CFyvFnC,AEl3FA,kBA0HiC,eAAA,CF2vFjC,AEr3FA,mBA2HkC,eAAA,CF6vFlC,AEx3FA,kBA4HiC,eAAA,CF+vFjC,AE33FA,sBA6HqC,eAAA,CFiwFrC,AE93FA,wBA8HuC,eAAA,CFmwFvC,AEj4FA,mBA+HkC,eAAA,CFqwFlC,AEp4FA,yBAgIwC,eAAA,CFuwFxC,AEv4FA,kBAiIiC,eAAA,CFywFjC,AE14FA,uBAkIsC,eAAA,CF2wFtC,AE74FA,oBAmImC,eAAA,CF6wFnC,AEh5FA,oBAoImC,eAAA,CF+wFnC,AEn5FA,4CAsIoC,eAAA,CFixFpC,AEv5FA,0BAuIyC,eAAA,CFmxFzC,AE15FA,2BAwI0C,eAAA,CFqxF1C,AE75FA,wBAyIuC,eAAA,CFuxFvC,AEh6FA,eA0I8B,eAAA,CFyxF9B,AEn6FA,iCA4I+B,eAAA,CF2xF/B,AEv6FA,oBA6ImC,eAAA,CF6xFnC,AE16FA,uBA8IsC,eAAA,CF+xFtC,AE76FA,yBA+IwC,eAAA,CFiyFxC,AEh7FA,qBAgJoC,eAAA,CFmyFpC,AEn7FA,mBAiJkC,eAAA,CFqyFlC,AEt7FA,oBAkJmC,eAAA,CFuyFnC,AEz7FA,2BAmJ0C,eAAA,CFyyF1C,AE57FA,sBAoJqC,eAAA,CF2yFrC,AE/7FA,yBAqJwC,eAAA,CF6yFxC,AEl8FA,mBAsJkC,eAAA,CF+yFlC,AEr8FA,kBAuJiC,eAAA,CFizFjC,AEx8FA,yBAwJwC,eAAA,CFmzFxC,AE38FA,kBAyJiC,eAAA,CFqzFjC,AE98FA,mBA0JkC,eAAA,CFuzFlC,AEj9FA,iBA2JgC,eAAA,CFyzFhC,AEp9FA,oBA4JmC,eAAA,CF2zFnC,AEv9FA,sBA6JqC,eAAA,CF6zFrC,AE19FA,wBA8JuC,eAAA,CF+zFvC,AE79FA,mBA+JkC,eAAA,CFi0FlC,AEh+FA,0CAiKmC,eAAA,CFm0FnC,AEp+FA,kBAkKiC,eAAA,CFq0FjC,AEv+FA,kBAmKiC,eAAA,CFu0FjC,AE1+FA,uBAoKsC,eAAA,CFy0FtC,AE7+FA,+BAsK8B,eAAA,CF20F9B,AEj/FA,iBAuKgC,eAAA,CF60FhC,AEp/FA,oBAwKmC,eAAA,CF+0FnC,AEv/FA,gBAyK+B,eAAA,CFi1F/B,AE1/FA,uBA0KsC,eAAA,CFm1FtC,AE7/FA,wBA2KuC,eAAA,CFq1FvC,AEhgGA,uBA4KsC,eAAA,CFu1FtC,AEngGA,qBA6KoC,eAAA,CFy1FpC,AEtgGA,uBA8KsC,eAAA,CF21FtC,AEzgGA,6BA+K4C,eAAA,CF61F5C,AE5gGA,8BAgL6C,eAAA,CF+1F7C,AE/gGA,2BAiL0C,eAAA,CFi2F1C,AElhGA,6BAkL4C,eAAA,CFm2F5C,AErhGA,iBAmLgC,eAAA,CFq2FhC,AExhGA,kBAoLiC,eAAA,CFu2FjC,AE3hGA,iBAqLgC,eAAA,CFy2FhC,AE9hGA,kBAsLiC,eAAA,CF22FjC,AEjiGA,qBAuLoC,eAAA,CF62FpC,AEpiGA,sBAwLqC,eAAA,CF+2FrC,AEviGA,kCA0LgC,eAAA,CFi3FhC,AE3iGA,iCA4L+B,eAAA,CFm3F/B,AE/iGA,iBA6LgC,eAAA,CFq3FhC,AEljGA,iBA8LgC,eAAA,CFu3FhC,AErjGA,mCAgMmC,eAAA,CFy3FnC,AEzjGA,mCAkMkC,eAAA,CF23FlC,AE7jGA,qBAmMoC,eAAA,CF63FpC,AEhkGA,oCAqMmC,eAAA,CF+3FnC,AEpkGA,kBAsMiC,eAAA,CFi4FjC,AEvkGA,sDAyM+B,eAAA,CFm4F/B,AE5kGA,mBA0MkC,eAAA,CFq4FlC,AE/kGA,mBA2MkC,eAAA,CFu4FlC,AEllGA,yBA4MwC,eAAA,CFy4FxC,AErlGA,qBA6MoC,eAAA,CF24FpC,AExlGA,iBA8MgC,eAAA,CF64FhC,AE3lGA,iBA+MgC,eAAA,CF+4FhC,AE9lGA,iBAgNgC,eAAA,CFi5FhC,AEjmGA,qBAiNoC,eAAA,CFm5FpC,AEpmGA,4BAkN2C,eAAA,CFq5F3C,AEvmGA,8BAmN6C,eAAA,CFu5F7C,AE1mGA,uBAoNsC,eAAA,CFy5FtC,AE7mGA,iBAqNgC,eAAA,CF25FhC,AEhnGA,sBAsNqC,eAAA,CF65FrC,AEnnGA,oBAuNmC,eAAA,CF+5FnC,AEtnGA,sBAwNqC,eAAA,CFi6FrC,AEznGA,uBAyNsC,eAAA,CFm6FtC,AE5nGA,mBA0NkC,eAAA,CFq6FlC,AE/nGA,oCA4N+B,eAAA,CFu6F/B,AEnoGA,0CA8NoC,eAAA,CFy6FpC,AEvoGA,uCAgOmC,eAAA,CF26FnC,AE3oGA,oBAiOmC,eAAA,CF66FnC,AE9oGA,oBAkOmC,eAAA,CF+6FnC,AEjpGA,uCAoO+B,eAAA,CFi7F/B,AErpGA,kCAsOgC,eAAA,CFm7FhC,AEzpGA,2CAwOqC,eAAA,CFq7FrC,AE7pGA,qBAyOoC,eAAA,CFu7FpC,AEhqGA,sBA0OqC,eAAA,CFy7FrC,AEnqGA,iCA4O+B,eAAA,CF27F/B,AEvqGA,mBA6OkC,eAAA,CF67FlC,AE1qGA,oBA8OmC,eAAA,CF+7FnC,AE7qGA,sCAgPoC,eAAA,CFi8FpC,AEjrGA,uBAiPsC,eAAA,CFm8FtC,AEprGA,oBAkPmC,eAAA,CFq8FnC,AEvrGA,0BAmPyC,eAAA,CFu8FzC,AE1rGA,wBAoPuC,eAAA,CFy8FvC,AE7rGA,mBAqPkC,eAAA,CF28FlC,AEhsGA,uBAsPsC,eAAA,CF68FtC,AEnsGA,oBAuPmC,eAAA,CF+8FnC,AEtsGA,kBAwPiC,eAAA,CFi9FjC,AEzsGA,kBAyPiC,eAAA,CFm9FjC,AE5sGA,mBA0PkC,eAAA,CFq9FlC,AE/sGA,uBA2PsC,eAAA,CFu9FtC,AEltGA,sBA4PqC,eAAA,CFy9FrC,AErtGA,sBA6PqC,eAAA,CF29FrC,AExtGA,qBA8PoC,eAAA,CF69FpC,AE3tGA,kBA+PiC,eAAA,CF+9FjC,AE9tGA,uBAgQsC,eAAA,CFi+FtC,AEjuGA,gBAiQ+B,eAAA,CFm+F/B,AEpuGA,oBAkQmC,eAAA,CFq+FnC,AEvuGA,uBAmQsC,eAAA,CFu+FtC,AE1uGA,6BAoQ4C,eAAA,CFy+F5C,AE7uGA,8BAqQ6C,eAAA,CF2+F7C,AEhvGA,2BAsQ0C,eAAA,CF6+F1C,AEnvGA,6BAuQ4C,eAAA,CF++F5C,AEtvGA,sBAwQqC,eAAA,CFi/FrC,AEzvGA,uBAyQsC,eAAA,CFm/FtC,AE5vGA,oBA0QmC,eAAA,CFq/FnC,AE/vGA,sBA2QqC,eAAA,CFu/FrC,AElwGA,mBA4QkC,eAAA,CFy/FlC,AErwGA,kBA6QiC,eAAA,CF2/FjC,AExwGA,kBA8QiC,eAAA,CF6/FjC,AE3wGA,0CAgRiC,eAAA,CF+/FjC,AE/wGA,oBAiRmC,eAAA,CFigGnC,AElxGA,sBAkRqC,eAAA,CFmgGrC,AErxGA,uBAmRsC,eAAA,CFqgGtC,AExxGA,mBAoRkC,eAAA,CFugGlC,AE3xGA,kBAqRiC,eAAA,CFygGjC,AE9xGA,uCAuRgC,eAAA,CF2gGhC,AElyGA,sBAwRqC,eAAA,CF6gGrC,AEryGA,oBAyRmC,eAAA,CF+gGnC,AExyGA,yBA0RwC,eAAA,CFihGxC,AE3yGA,mBA2RkC,eAAA,CFmhGlC,AE9yGA,mBA4RkC,eAAA,CFqhGlC,AEjzGA,iBA6RgC,eAAA,CFuhGhC,AEpzGA,mBA8RkC,eAAA,CFyhGlC,AEvzGA,sBA+RqC,eAAA,CF2hGrC,AE1zGA,kBAgSiC,eAAA,CF6hGjC,AE7zGA,0BAiSyC,eAAA,CF+hGzC,AEh0GA,oBAkSmC,eAAA,CFiiGnC,AEn0GA,gBAmS+B,eAAA,CFmiG/B,AEt0GA,+CAqSoC,eAAA,CFqiGpC,AE10GA,4EAwSsC,eAAA,CFuiGtC,AE/0GA,0BAySyC,eAAA,CFyiGzC,AEl1GA,gBA0S+B,eAAA,CF2iG/B,AEr1GA,qBA2SoC,eAAA,CF6iGpC,AEx1GA,0CA6SuC,eAAA,CF+iGvC,AE51GA,oBA8SmC,eAAA,CFijGnC,AE/1GA,gBA+S+B,eAAA,CFmjG/B,AEl2GA,uBAgTsC,eAAA,CFqjGtC,AEr2GA,uBAiTsC,eAAA,CFujGtC,AEx2GA,qBAkToC,eAAA,CFyjGpC,AE32GA,kBAmTiC,eAAA,CF2jGjC,AE92GA,wBAoTuC,eAAA,CF6jGvC,AEj3GA,sBAqTqC,eAAA,CF+jGrC,AEp3GA,4BAsT2C,eAAA,CFikG3C,AEv3GA,kBAuTiC,eAAA,CFmkGjC,AE13GA,sBAwTqC,eAAA,CFqkGrC,AE73GA,6BAyT4C,eAAA,CFukG5C,AEh4GA,kBA0TiC,eAAA,CFykGjC,AEn4GA,kBA2TiC,eAAA,CF2kGjC,AEt4GA,+BA4T8C,eAAA,CF6kG9C,AEz4GA,gCA6T+C,eAAA,CF+kG/C,AE54GA,6BA8T4C,eAAA,CFilG5C,AE/4GA,+BA+T8C,eAAA,CFmlG9C,AEl5GA,iBAgUgC,eAAA,CFqlGhC,AEr5GA,gBAiU+B,eAAA,CFulG/B,AEx5GA,kBAkUiC,eAAA,CFylGjC,AE35GA,sBAmUqC,eAAA,CF2lGrC,AE95GA,oBAoUmC,eAAA,CF6lGnC,AEj6GA,sBAqUqC,eAAA,CF+lGrC,AEp6GA,sBAsUqC,eAAA,CFimGrC,AEv6GA,sBAuUqC,eAAA,CFmmGrC,AE16GA,uBAwUsC,eAAA,CFqmGtC,AE76GA,kBAyUiC,eAAA,CFumGjC,AEh7GA,wBA0UuC,eAAA,CFymGvC,AEn7GA,0BA2UyC,eAAA,CF2mGzC,AEt7GA,oBA4UmC,eAAA,CF6mGnC,AEz7GA,sBA6UqC,eAAA,CF+mGrC,AE57GA,wBA8UuC,eAAA,CFinGvC,AE/7GA,yBA+UwC,eAAA,CFmnGxC,AEl8GA,gCAgV+C,eAAA,CFqnG/C,AEr8GA,wBAiVuC,eAAA,CFunGvC,AEx8GA,mBAkVkC,eAAA,CFynGlC,AE38GA,sDAoV8C,eAAA,CF2nG9C,AE/8GA,kDAsV4C,eAAA,CF6nG5C,AEn9GA,wDAwV+C,eAAA,CF+nG/C,AEv9GA,+BA0V8B,eAAA,CFioG9B,AE39GA,eA2V8B,eAAA,CFmoG9B,AE99GA,iCA6V8B,eAAA,CFqoG9B,AEl+GA,gCA+V8B,eAAA,CFuoG9B,AEt+GA,4DAmW8B,eAAA,CFyoG9B,AE5+GA,kDAsW8B,eAAA,CF2oG9B,AEj/GA,8BAwW8B,eAAA,CF6oG9B,AEr/GA,kCA0W8B,eAAA,CF+oG9B,AEz/GA,gBA2W+B,eAAA,CFipG/B,AE5/GA,qBA4WoC,eAAA,CFmpGpC,AE//GA,0BA6WyC,eAAA,CFqpGzC,AElgHA,2BA8W0C,eAAA,CFupG1C,AErgHA,2BA+W0C,eAAA,CFypG1C,AExgHA,4BAgX2C,eAAA,CF2pG3C,AE3gHA,4BAiX2C,eAAA,CF6pG3C,AE9gHA,6BAkX4C,eAAA,CF+pG5C,AEjhHA,qBAmXoC,eAAA,CFiqGpC,AEphHA,uBAoXsC,eAAA,CFmqGtC,AEvhHA,0BAqXyC,eAAA,CFqqGzC,AE1hHA,mBAsXkC,eAAA,CFuqGlC,AE7hHA,gBAuX+B,eAAA,CFyqG/B,AEhiHA,uBAwXsC,eAAA,CF2qGtC,AEniHA,wBAyXuC,eAAA,CF6qGvC,AEtiHA,mBA0XkC,eAAA,CF+qGlC,AEziHA,0BA2XyC,eAAA,CFirGzC,AE5iHA,qBA4XoC,eAAA,CFmrGpC,AE/iHA,kBA6XiC,eAAA,CFqrGjC,AEljHA,eA8X8B,eAAA,CFurG9B,AErjHA,qBA+XoC,eAAA,CFyrGpC,AExjHA,4BAgY2C,eAAA,CF2rG3C,AE3jHA,kBAiYiC,eAAA,CF6rGjC,AE9jHA,yBAkYwC,eAAA,CF+rGxC,AEjkHA,2BAmY0C,eAAA,CFisG1C,AEpkHA,yBAoYwC,eAAA,CFmsGxC,AEvkHA,2BAqY0C,eAAA,CFqsG1C,AE1kHA,4BAsY2C,eAAA,CFusG3C,AE7kHA,iBAuYgC,eAAA,CFysGhC,AEhlHA,mBAwYkC,eAAA,CF2sGlC,AEnlHA,mBAyYkC,eAAA,CF6sGlC,AEtlHA,iBA0YgC,eAAA,CF+sGhC,AEzlHA,oBA2YmC,eAAA,CFitGnC,AE5lHA,iBA4YgC,eAAA,CFmtGhC,AE/lHA,sBA6YqC,eAAA,CFqtGrC,AElmHA,kBA8YiC,eAAA,CFutGjC,AErmHA,kBA+YiC,eAAA,CFytGjC,AExmHA,gBAgZ+B,eAAA,CF2tG/B,AE3mHA,sCAkZmC,eAAA,CF6tGnC,AE/mHA,iBAmZgC,eAAA,CF+tGhC,AElnHA,kBAoZiC,eAAA,CFiuGjC,AErnHA,mBAqZkC,eAAA,CFmuGlC,AExnHA,eAsZ8B,eAAA,CFquG9B,AE3nHA,cAuZ6B,eAAA,CFuuG7B,AE9nHA,iBAwZgC,eAAA,CFyuGhC,AEjoHA,kBAyZiC,eAAA,CF2uGjC,AEpoHA,qBA0ZoC,eAAA,CF6uGpC,AEvoHA,0BA2ZyC,eAAA,CF+uGzC,AE1oHA,gCA4Z+C,eAAA,CFivG/C,AE7oHA,+BA6Z8C,eAAA,CFmvG9C,AEhpHA,sDA+Z8C,eAAA,CFqvG9C,AEppHA,wBAgauC,eAAA,CFuvGvC,AEvpHA,sBAiaqC,eAAA,CFyvGrC,AE1pHA,wBAkauC,eAAA,CF2vGvC,AE7pHA,uCAoa8B,eAAA,CF6vG9B,AEjqHA,yBAqawC,eAAA,CF+vGxC,AEpqHA,yBAsawC,eAAA,CFiwGxC,AEvqHA,iBAuagC,eAAA,CFmwGhC,AE1qHA,2BAwa0C,eAAA,CFqwG1C,AE7qHA,qBAyaoC,eAAA,CFuwGpC,AEhrHA,kBA0aiC,eAAA,CFywGjC,AEnrHA,6DA6aqC,eAAA,CF2wGrC,AExrHA,kDA+ayC,eAAA,CF6wGzC,AE5rHA,iBAgbgC,eAAA,CF+wGhC,AE/rHA,kBAibiC,eAAA,CFixGjC,AElsHA,kBAkbiC,eAAA,CFmxGjC,AErsHA,yBAmbwC,eAAA,CFqxGxC,AExsHA,8BAob6C,eAAA,CFuxG7C,AE3sHA,uBAqbsC,eAAA,CFyxGtC,AE9sHA,qBAsboC,eAAA,CF2xGpC,AEjtHA,gBAub+B,eAAA,CF6xG/B,AEptHA,yBAwbwC,eAAA,CF+xGxC,AEvtHA,0BAybyC,eAAA,CFiyGzC,AE1tHA,kBA0biC,eAAA,CFmyGjC,AE7tHA,kBA2biC,eAAA,CFqyGjC,AEhuHA,oBA4bmC,eAAA,CFuyGnC,AEnuHA,eA6b8B,eAAA,CFyyG9B,AEtuHA,oBA8bmC,eAAA,CF2yGnC,AEzuHA,iBA+bgC,eAAA,CF6yGhC,AE5uHA,eAgc8B,eAAA,CF+yG9B,AE/uHA,iBAicgC,eAAA,CFizGhC,AElvHA,gBAkc+B,eAAA,CFmzG/B,AErvHA,iBAmcgC,eAAA,CFqzGhC,AExvHA,mBAockC,eAAA,CFuzGlC,AE3vHA,0BAqcyC,eAAA,CFyzGzC,AE9vHA,iBAscgC,eAAA,CF2zGhC,AEjwHA,wBAucuC,eAAA,CF6zGvC,AEpwHA,mBAwckC,eAAA,CF+zGlC,AEvwHA,qCA0c8B,eAAA,CFi0G9B,AE3wHA,+BA4c+B,eAAA,CFm0G/B,AE/wHA,gBA6c+B,eAAA,CFq0G/B,AElxHA,mBA8ckC,eAAA,CFu0GlC,AErxHA,sBA+cqC,eAAA,CFy0GrC,AExxHA,sBAgdqC,eAAA,CF20GrC,AE3xHA,oBAidmC,eAAA,CF60GnC,AE9xHA,sBAkdqC,eAAA,CF+0GrC,AEjyHA,uBAmdsC,eAAA,CFi1GtC,AEpyHA,wBAoduC,eAAA,CFm1GvC,AEvyHA,6BAqd4C,eAAA,CFq1G5C,AE1yHA,0EAwduC,eAAA,CFu1GvC,AE/yHA,gDA0dyC,eAAA,CFy1GzC,AEnzHA,gDA4duC,eAAA,CF21GvC,AEvzHA,gDA8duC,eAAA,CF61GvC,AE3zHA,uBA+dsC,eAAA,CF+1GtC,AE9zHA,gBAge+B,eAAA,CFi2G/B,AEj0HA,mBAiekC,eAAA,CFm2GlC,AEp0HA,oBAkemC,eAAA,CFq2GnC,AEv0HA,wGAueoC,eAAA,CFu2GpC,AE90HA,0BAweyC,eAAA,CFy2GzC,AEj1HA,qDA2egC,eAAA,CF22GhC,AEt1HA,gCA6eiC,eAAA,CF62GjC,AE11HA,sBA8eqC,eAAA,CF+2GrC,AE71HA,eA+e8B,eAAA,CFi3G9B,AEh2HA,2EAkfsC,eAAA,CFm3GtC,AEr2HA,yBAmfwC,eAAA,CFq3GxC,AEx2HA,cAof6B,eAAA,CFu3G7B,AE32HA,oCAsfiC,eAAA,CFy3GjC,AE/2HA,uCAwfsC,eAAA,CF23GtC,AEn3HA,2CA0fwC,eAAA,CF63GxC,AEv3HA,mBA2fkC,eAAA,CF+3GlC,AE13HA,uBA4fsC,eAAA,CFi4GtC,AE73HA,kBA6fiC,eAAA,CFm4GjC,AEh4HA,qBA8foC,eAAA,CFq4GpC,AEn4HA,mBA+fkC,eAAA,CFu4GlC,AEt4HA,qBAggBoC,eAAA,CFy4GpC,AEz4HA,4BAigB2C,eAAA,CF24G3C,AE54HA,gBAkgB+B,eAAA,CF64G/B,AE/4HA,6CAogBmC,eAAA,CF+4GnC,AEn5HA,eAqgB8B,eAAA,CFi5G9B,AEt5HA,sBAsgBqC,eAAA,CFm5GrC,AEz5HA,gBAugB+B,eAAA,CFq5G/B,AE55HA,sBAwgBqC,eAAA,CFu5GrC,AE/5HA,kBAygBiC,eAAA,CFy5GjC,AEl6HA,gBA0gB+B,eAAA,CF25G/B,AEr6HA,uBA2gBsC,eAAA,CF65GtC,AEx6HA,gBA4gB+B,eAAA,CF+5G/B,AE36HA,sBA6gBqC,eAAA,CFi6GrC,AE96HA,kBA8gBiC,eAAA,CFm6GjC,AEj7HA,yBA+gBwC,eAAA,CFq6GxC,AEp7HA,mBAghBkC,eAAA,CFu6GlC,AEv7HA,yBAihBwC,eAAA,CFy6GxC,AE17HA,uBAkhBsC,eAAA,CF26GtC,AE77HA,mBAmhBkC,eAAA,CF66GlC,AEh8HA,qBAohBoC,eAAA,CF+6GpC,AEn8HA,qBAqhBoC,eAAA,CFi7GpC,AEt8HA,sBAshBqC,eAAA,CFm7GrC,AEz8HA,wBAuhBuC,eAAA,CFq7GvC,AE58HA,iBAwhBgC,eAAA,CFu7GhC,AE/8HA,qBAyhBoC,eAAA,CFy7GpC,AEl9HA,cA0hB6B,eAAA,CF27G7B,AEr9HA,sBA2hBqC,eAAA,CF67GrC,AEx9HA,uBA4hBsC,eAAA,CF+7GtC,AE39HA,yBA6hBwC,eAAA,CFi8GxC,AE99HA,sBA8hBqC,eAAA,CFm8GrC,AEj+HA,qBA+hBoC,eAAA,CFq8GpC,AEp+HA,sBAgiBqC,eAAA,CFu8GrC,AEv+HA,kBAiiBiC,eAAA,CFy8GjC,AE1+HA,yBAkiBwC,eAAA,CF28GxC,AE7+HA,sBAmiBqC,eAAA,CF68GrC,AEh/HA,qBAoiBoC,eAAA,CF+8GpC,AEn/HA,mBAqiBkC,eAAA,CFi9GlC,AEt/HA,eAsiB8B,eAAA,CFm9G9B,AEz/HA,mBAuiBkC,eAAA,CFq9GlC,AE5/HA,qBAwiBoC,eAAA,CFu9GpC,AE//HA,cAyiB6B,eAAA,CFy9G7B,AElgIA,mDA4iB8B,eAAA,CF29G9B,AEvgIA,oBA6iBmC,eAAA,CF69GnC,AE1gIA,sBA8iBqC,eAAA,CF+9GrC,AE7gIA,0BA+iByC,eAAA,CFi+GzC,AEhhIA,oBAgjBmC,eAAA,CFm+GnC,AEnhIA,oBAijBmC,eAAA,CFq+GnC,AEthIA,mBAkjBkC,eAAA,CFu+GlC,AEzhIA,kBAmjBiC,eAAA,CFy+GjC,AE5hIA,wBAojBuC,eAAA,CF2+GvC,AE/hIA,uBAqjBsC,eAAA,CF6+GtC,AEliIA,oBAsjBmC,eAAA,CF++GnC,AEriIA,qBAujBoC,eAAA,CFi/GpC,AExiIA,2BAwjB0C,eAAA,CFm/G1C,AE3iIA,mBAyjBkC,eAAA,CFq/GlC,AE9iIA,gBA0jB+B,eAAA,CFu/G/B,AEjjIA,uBA2jBsC,eAAA,CFy/GtC,AEpjIA,sBA4jBqC,eAAA,CF2/GrC,AEvjIA,uBA6jBsC,eAAA,CF6/GtC,AE1jIA,qBA8jBoC,eAAA,CF+/GpC,AE7jIA,iBA+jBgC,eAAA,CFigHhC,AEhkIA,gBAgkB+B,eAAA,CFmgH/B,AEnkIA,mBAikBkC,eAAA,CFqgHlC,AEtkIA,2CAmkBsC,eAAA,CFugHtC,AE1kIA,2BAokB0C,eAAA,CFygH1C,AE7kIA,wBAqkBuC,eAAA,CF2gHvC,AEhlIA,uBAskBsC,eAAA,CF6gHtC,AEnlIA,sBAukBqC,eAAA,CF+gHrC,AEtlIA,uBAwkBsC,eAAA,CFihHtC,AEzlIA,yBAykBwC,eAAA,CFmhHxC,AE5lIA,yBA0kBwC,eAAA,CFqhHxC,AE/lIA,kBA2kBiC,eAAA,CFuhHjC,AElmIA,sBA4kBqC,eAAA,CFyhHrC,AErmIA,6BA6kB4C,eAAA,CF2hH5C,AExmIA,uBA8kBsC,eAAA,CF6hHtC,AE3mIA,oBA+kBmC,eAAA,CF+hHnC,AE9mIA,kBAglBiC,eAAA,CFiiHjC,AEjnIA,qBAilBoC,eAAA,CFmiHpC,AEpnIA,sBAklBqC,eAAA,CFqiHrC,AEvnIA,gCAolB8B,eAAA,CFuiH9B,AE3nIA,mBAqlBkC,eAAA,CFyiHlC,AE9nIA,iBAslBgC,eAAA,CF2iHhC,AEjoIA,kBAulBiC,eAAA,CF6iHjC,AEpoIA,kBAwlBiC,eAAA,CF+iHjC,AEvoIA,sCA0lBuC,eAAA,CFijHvC,AE3oIA,yBA2lBwC,eAAA,CFmjHxC,AE9oIA,oBA4lBmC,eAAA,CFqjHnC,AEjpIA,wBA6lBuC,eAAA,CFujHvC,AEppIA,gEAgmBuC,eAAA,CFyjHvC,AEzpIA,uDAkmBiD,eAAA,CF2jHjD,AE7pIA,6CAomBuC,eAAA,CF6jHvC,AEjqIA,gDAsmB0C,eAAA,CF+jH1C,AErqIA,8CAwmBwC,eAAA,CFikHxC,AEzqIA,yBAymBwC,eAAA,CFmkHxC,AE5qIA,oBA0mBmC,eAAA,CFqkHnC,AE/qIA,wBA2mBuC,eAAA,CFukHvC,AElrIA,0BA4mByC,eAAA,CFykHzC,AErrIA,uBA6mBsC,eAAA,CF2kHtC,AExrIA,yBA8mBwC,eAAA,CF6kHxC,AE3rIA,kBA+mBiC,eAAA,CF+kHjC,AE9rIA,0BAgnByC,eAAA,CFilHzC,AEjsIA,iBAinBgC,eAAA,CFmlHhC,AEpsIA,yBAknBwC,eAAA,CFqlHxC,AEvsIA,uBAmnBsC,eAAA,CFulHtC,AE1sIA,kDAqnB0C,eAAA,CFylH1C,AE9sIA,iDAunByC,eAAA,CF2lHzC,AEltIA,gDAynBwC,eAAA,CF6lHxC,AEttIA,qBA0nBoC,eAAA,CF+lHpC,AEztIA,8CA4nBsC,eAAA,CFimHtC,AE7tIA,+CA8nBuC,eAAA,CFmmHvC,AEjuIA,2BA+nB0C,eAAA,CFqmH1C,AEpuIA,yBAgoBwC,eAAA,CFumHxC,AEvuIA,wBAioBuC,eAAA,CFymHvC,AE1uIA,0BAkoByC,eAAA,CF2mHzC,AE7uIA,wBAmoBuC,eAAA,CF6mHvC,AEhvIA,qBAooBoC,eAAA,CF+mHpC,AEnvIA,sBAqoBqC,eAAA,CFinHrC,AEtvIA,4BAsoB2C,eAAA,CFmnH3C,AEzvIA,cAuoB6B,eAAA,CFqnH7B,AE5vIA,qBAwoBoC,eAAA,CFunHpC,AE/vIA,uBAyoBsC,eAAA,CFynHtC,AElwIA,yBA0oBwC,eAAA,CF2nHxC,AErwIA,gCA2oB+C,eAAA,CF6nH/C,AExwIA,sBA4oBqC,eAAA,CF+nHrC,AE3wIA,uBA6oBsC,eAAA,CFioHtC,AE9wIA,kBA8oBiC,eAAA,CFmoHjC,AEjxIA,kBA+oBiC,eAAA,CFqoHjC,AEpxIA,mBAgpBkC,eAAA,CFuoHlC,AEvxIA,iBAipBgC,eAAA,CFyoHhC,AE1xIA,6BAkpB4C,eAAA,CF2oH5C,AE7xIA,oCAopBqC,eAAA,CF6oHrC,AEjyIA,kBAqpBiC,eAAA,CF+oHjC,AEpyIA,iBAspBgC,eAAA,CFipHhC,AEvyIA,kBAupBiC,eAAA,CFmpHjC,AE1yIA,2BAwpB0C,eAAA,CFqpH1C,AE7yIA,4BAypB2C,eAAA,CFupH3C,AEhzIA,4BA0pB2C,eAAA,CFypH3C,AEnzIA,4BA2pB2C,eAAA,CF2pH3C,AEtzIA,oBA4pBmC,eAAA,CF6pHnC,AEzzIA,mBA6pBkC,eAAA,CF+pHlC,AE5zIA,qBA8pBoC,eAAA,CFiqHpC,AE/zIA,iBA+pBgC,eAAA,CFmqHhC,AEl0IA,eAgqB8B,eAAA,CFqqH9B,AEr0IA,sBAiqBqC,eAAA,CFuqHrC,AEx0IA,wBAkqBuC,eAAA,CFyqHvC,AE30IA,iBAmqBgC,eAAA,CF2qHhC,AE90IA,iBAoqBgC,eAAA,CF6qHhC,AEj1IA,qBAqqBoC,eAAA,CF+qHpC,AEp1IA,qBAsqBoC,eAAA,CFirHpC,AEv1IA,wBAuqBuC,eAAA,CFmrHvC,AE11IA,gBAwqB+B,eAAA,CFqrH/B,AE71IA,2BAyqB0C,eAAA,CFurH1C,AEh2IA,oBA0qBmC,eAAA,CFyrHnC,AEn2IA,gBA2qB+B,eAAA,CF2rH/B,AEt2IA,wBA4qBuC,eAAA,CF6rHvC,AEz2IA,eA6qB8B,eAAA,CF+rH9B,AE52IA,wBA8qBuC,eAAA,CFisHvC,AE/2IA,oBA+qBmC,eAAA,CFmsHnC,AEl3IA,kBAgrBiC,eAAA,CFqsHjC,AEr3IA,wBAirBuC,eAAA,CFusHvC,AEx3IA,0BAkrByC,eAAA,CFysHzC,AE33IA,uBAmrBsC,eAAA,CF2sHtC,AE93IA,yBAorBwC,eAAA,CF6sHxC,AEj4IA,wBAqrBuC,eAAA,CF+sHvC,AEp4IA,2BAsrB0C,eAAA,CFitH1C,AEv4IA,mBAurBkC,eAAA,CFmtHlC,AE14IA,qBAwrBoC,eAAA,CFqtHpC,AE74IA,uBAyrBsC,eAAA,CFutHtC,AEh5IA,mBA0rBkC,eAAA,CFytHlC,AEn5IA,kBA2rBiC,eAAA,CF2tHjC,AEt5IA,sBA4rBqC,eAAA,CF6tHrC,AEz5IA,mBA6rBkC,eAAA,CF+tHlC,AE55IA,kBA8rBiC,eAAA,CFiuHjC,AE/5IA,4BA+rB2C,eAAA,CFmuH3C,AEl6IA,0BAgsByC,eAAA,CFquHzC,AEr6IA,6BAisB4C,eAAA,CFuuH5C,AEx6IA,iBAksBgC,eAAA,CFyuHhC,AE36IA,6BAmsB4C,eAAA,CF2uH5C,AE96IA,gCAosB+C,eAAA,CF6uH/C,AEj7IA,mBAqsBkC,eAAA,CF+uHlC,AEp7IA,uCAssBsD,eAAA,CFivHtD,AEv7IA,2EAwsB8D,eAAA,CFmvH9D,AE37IA,+DA2sB+B,eAAA,CFqvH/B,AEh8IA,iBA4sBgC,eAAA,CFuvHhC,AEn8IA,mBA6sBkC,eAAA,CFyvHlC,AEt8IA,4CA+sBwC,eAAA,CF2vHxC,AE18IA,sBAgtBqC,eAAA,CF6vHrC,AE78IA,kBAitBiC,eAAA,CF+vHjC,AEh9IA,yBAktBwC,eAAA,CFiwHxC,AEn9IA,oBAmtBmC,eAAA,CFmwHnC,AEt9IA,0BAotByC,eAAA,CFqwHzC,AEz9IA,2BAqtB0C,eAAA,CFuwH1C,AE59IA,sBAstBqC,eAAA,CFywHrC,AE/9IA,uBAutBsC,eAAA,CF2wHtC,AEl+IA,iBAwtBgC,eAAA,CF6wHhC,AEr+IA,qBAytBoC,eAAA,CF+wHpC,AEx+IA,8DA2tB+C,eAAA,CFixH/C,AE5+IA,sCA6tBuC,eAAA,CFmxHvC,AEh/IA,uBA8tBsC,eAAA,CFqxHtC,AEn/IA,yBA+tBwC,eAAA,CFuxHxC,AEt/IA,2BAguB0C,eAAA,CFyxH1C,AEz/IA,kBAiuBiC,eAAA,CF2xHjC,AE5/IA,wBAkuBuC,eAAA,CF6xHvC,AE//IA,0BAmuByC,eAAA,CF+xHzC,AElgJA,yCAquBuC,eAAA,CFiyHvC,AEtgJA,6CAuuByC,eAAA,CFmyHzC,AE1gJA,uBAwuBsC,eAAA,CFqyHtC,AE7gJA,yBAyuBwC,eAAA,CFuyHxC,AEhhJA,kBA0uBiC,eAAA,CFyyHjC,AEnhJA,oBA2uBmC,eAAA,CF2yHnC,AEthJA,8CA6uBkC,eAAA,CF6yHlC,AE1hJA,kDA+uBoC,eAAA,CF+yHpC,AE9hJA,iBAgvBgC,eAAA,CFizHhC,AEjiJA,0BAivByC,eAAA,CFmzHzC,AEpiJA,oBAkvBmC,eAAA,CFqzHnC,AEviJA,4EAqvB2C,eAAA,CFuzH3C,AE5iJA,+DAuvBqD,eAAA,CFyzHrD,AEhjJA,qDAyvB2C,eAAA,CF2zH3C,AEpjJA,wDA2vB8C,eAAA,CF6zH9C,AExjJA,sDA6vB4C,eAAA,CF+zH5C,AE5jJA,kBA8vBiC,eAAA,CFi0HjC,AE/jJA,kDAiwB+B,eAAA,CFm0H/B,AEpkJA,mBAkwBkC,eAAA,CFq0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UEgCE,WAAA,AACA,yBAAA,AACA,iBAAA,AACA,eAAA,AACA,+BAAA,C3Bi0JD,AyBr2JD,mCEuCI,YAAA,AACA,UAAA,AACA,4BAAA,C3Bk0JH,AyB32JD,aE4CI,kBAAA,AAEA,gBAAA,AACA,kBAAA,AACA,gCAAA,AACA,sBAAA,AACA,wBAAA,C3Bi0JH,AyBn3JD,aEqDI,kBAAA,AACA,aAAA,AAEA,yBAAA,AACA,kBAAA,AACA,qBAAA,C3Bg0JH,A2B/zJG,oBACE,wBAAA,C3Bi0JL,AyB73JD,gDEgEI,wBAAA,C3Bi0JH,A2Bh0JG,8DACE,wBAAA,C3Bm0JL,AyBr4JD,wCE0EM,0BAAA,C3B8zJL,AyBx4JD,uCE6EM,2BAAA,C3B8zJL,AyB34JD,yBEsFI,SAAA,C3BwzJH,AyB94JD,yDEyFI,kCAAA,C3ByzJH,AyBl5JD,wJE4FI,kCAAA,C3B4zJH,AyBx5JD,0BEgGE,WAAA,AACA,eAAA,C3B2zJD,AyB55JD,YEoGE,cAAA,AACA,gBAAA,AACA,gBAAA,AACA,iBAAA,C3B2zJD,AyBl6JD,gBE0GE,oBAAA,AACA,sBAAA,AAgCA,UAAA,C3B4xJD,AyBv6JD,aEsHE,SAAA,AACA,SAAA,C3BozJD,A2BnzJC,oBACE,cAAA,C3BqzJH,AyB96JD,gBE4HI,eAAA,AACA,qBAAA,AACA,cAAA,C3BqzJH,AyBn7JD,WEmIE,aAAA,C3BmzJD,AyBt7JD,SEuIE,cAAA,C3BkzJD,AyBz7JD,iBE2IE,UAAA,C3BizJD,AyB57JD,gBE+IE,eAAA,C3BgzJD,AyB/7JD,qBEmJE,eAAA,C3B+yJD,AyBl8JD,mBEuJE,mBAAA,C3B8yJD,AyBr8JD,gBE0JE,mBAAA,C3B8yJD,AyBx8JD,yBE6JE,mBAAA,C3B8yJD,AyB38JD,gBEgKE,oBAAA,C3B8yJD,AyB98JD,kBEmKE,oBAAA,C3B8yJD,AyBj9JD,eEuKE,cAAA,C3B6yJD,AyBp9JD,UE2KE,yBAAA,AAEA,aAAA,AACA,YAAA,C3B2yJD,AyBz9JD,wBEgLI,YAAA,C3B4yJH,AyB59JD,uBEmLI,eAAA,C3B4yJH,AyB/9JD,cG4OE,kBAAA,AACA,aAAA,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IAOE,YAAA,AACA,cAAA,AACA,SAAA,AACA,WAAA,AACA,kBAAA,AACA,WAAA,ClC85SD,AkC55SD,WACE,WAAA,AACA,qBAAA,ClC85SD,AkC55SD,eACE,sBAAA,AACA,8BAAA,AACA,+BAAA,AACA,YAAA,AACA,kBAAA,AACA,WAAA,AACA,YAAA,AACA,UAAA,ClC85SD,AkC55SD,gBACE,eAAA,AACA,qBAAA,AACA,UAAA,ClC85SD,AkC55SD,SACE,YAAA,AACA,WAAA,ClC85SD,AkC55SD,UACE,gBAAA,AACA,iBAAA,ClC85SD,AkC55SD,WACE,WAAA,ClC85SD,AkC55SD,eACE,eAAA,AACA,wBAAA,AACA,YAAA,AACA,WAAA,AACA,WAAA,AACA,YAAA,AACA,UAAA,ClC85SD,AkC55SD,iBACE,sFAAA,ClC85SD,AkC55SD,YACE,eAAA,AACA,wBAAA,AACA,YAAA,AACA,UAAA,AACA,WAAA,AACA,YAAA,AACA,kBAAA,AACA,WAAA,AACA,OAAA,ClC85SD,AkC55SD,WACE,eAAA,ClC85SD,AkC55SD,aACE,cAAA,ClC85SD,AkC55SD,mBACE,YAAA,ClC85SD","file":"mosaico.min.css","sourcesContent":["/*!\n * Font Awesome 4.7.0 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('fontawesome/fontawesome-webfont.eot?v=4.7.0');\n src: url('fontawesome/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'), url('fontawesome/fontawesome-webfont.woff2?v=4.7.0') format('woff2'), url('fontawesome/fontawesome-webfont.woff?v=4.7.0') format('woff'), url('fontawesome/fontawesome-webfont.ttf?v=4.7.0') format('truetype'), url('fontawesome/fontawesome-webfont.svg?v=4.7.0#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: 0.2em 0.25em 0.15em;\n border: solid 0.08em #eee;\n border-radius: 0.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: 0.3em;\n}\n.fa.fa-pull-right {\n margin-left: 0.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: 0.3em;\n}\n.fa.pull-right {\n margin-left: 0.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: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.fa-handshake-o:before {\n content: \"\\f2b5\";\n}\n.fa-envelope-open:before {\n content: \"\\f2b6\";\n}\n.fa-envelope-open-o:before {\n content: \"\\f2b7\";\n}\n.fa-linode:before {\n content: \"\\f2b8\";\n}\n.fa-address-book:before {\n content: \"\\f2b9\";\n}\n.fa-address-book-o:before {\n content: \"\\f2ba\";\n}\n.fa-vcard:before,\n.fa-address-card:before {\n content: \"\\f2bb\";\n}\n.fa-vcard-o:before,\n.fa-address-card-o:before {\n content: \"\\f2bc\";\n}\n.fa-user-circle:before {\n content: \"\\f2bd\";\n}\n.fa-user-circle-o:before {\n content: \"\\f2be\";\n}\n.fa-user-o:before {\n content: \"\\f2c0\";\n}\n.fa-id-badge:before {\n content: \"\\f2c1\";\n}\n.fa-drivers-license:before,\n.fa-id-card:before {\n content: \"\\f2c2\";\n}\n.fa-drivers-license-o:before,\n.fa-id-card-o:before {\n content: \"\\f2c3\";\n}\n.fa-quora:before {\n content: \"\\f2c4\";\n}\n.fa-free-code-camp:before {\n content: \"\\f2c5\";\n}\n.fa-telegram:before {\n content: \"\\f2c6\";\n}\n.fa-thermometer-4:before,\n.fa-thermometer:before,\n.fa-thermometer-full:before {\n content: \"\\f2c7\";\n}\n.fa-thermometer-3:before,\n.fa-thermometer-three-quarters:before {\n content: \"\\f2c8\";\n}\n.fa-thermometer-2:before,\n.fa-thermometer-half:before {\n content: \"\\f2c9\";\n}\n.fa-thermometer-1:before,\n.fa-thermometer-quarter:before {\n content: \"\\f2ca\";\n}\n.fa-thermometer-0:before,\n.fa-thermometer-empty:before {\n content: \"\\f2cb\";\n}\n.fa-shower:before {\n content: \"\\f2cc\";\n}\n.fa-bathtub:before,\n.fa-s15:before,\n.fa-bath:before {\n content: \"\\f2cd\";\n}\n.fa-podcast:before {\n content: \"\\f2ce\";\n}\n.fa-window-maximize:before {\n content: \"\\f2d0\";\n}\n.fa-window-minimize:before {\n content: \"\\f2d1\";\n}\n.fa-window-restore:before {\n content: \"\\f2d2\";\n}\n.fa-times-rectangle:before,\n.fa-window-close:before {\n content: \"\\f2d3\";\n}\n.fa-times-rectangle-o:before,\n.fa-window-close-o:before {\n content: \"\\f2d4\";\n}\n.fa-bandcamp:before {\n content: \"\\f2d5\";\n}\n.fa-grav:before {\n content: \"\\f2d6\";\n}\n.fa-etsy:before {\n content: \"\\f2d7\";\n}\n.fa-imdb:before {\n content: \"\\f2d8\";\n}\n.fa-ravelry:before {\n content: \"\\f2d9\";\n}\n.fa-eercast:before {\n content: \"\\f2da\";\n}\n.fa-microchip:before {\n content: \"\\f2db\";\n}\n.fa-snowflake-o:before {\n content: \"\\f2dc\";\n}\n.fa-superpowers:before {\n content: \"\\f2dd\";\n}\n.fa-wpexplorer:before {\n content: \"\\f2de\";\n}\n.fa-meetup:before {\n content: \"\\f2e0\";\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.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.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.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 * Font Awesome 4.7.0 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('fontawesome/fontawesome-webfont.eot?v=4.7.0');\n src: url('fontawesome/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'), url('fontawesome/fontawesome-webfont.woff2?v=4.7.0') format('woff2'), url('fontawesome/fontawesome-webfont.woff?v=4.7.0') format('woff'), url('fontawesome/fontawesome-webfont.ttf?v=4.7.0') format('truetype'), url('fontawesome/fontawesome-webfont.svg?v=4.7.0#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: 0.2em 0.25em 0.15em;\n border: solid 0.08em #eee;\n border-radius: 0.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: 0.3em;\n}\n.fa.fa-pull-right {\n margin-left: 0.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: 0.3em;\n}\n.fa.pull-right {\n margin-left: 0.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: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.fa-handshake-o:before {\n content: \"\\f2b5\";\n}\n.fa-envelope-open:before {\n content: \"\\f2b6\";\n}\n.fa-envelope-open-o:before {\n content: \"\\f2b7\";\n}\n.fa-linode:before {\n content: \"\\f2b8\";\n}\n.fa-address-book:before {\n content: \"\\f2b9\";\n}\n.fa-address-book-o:before {\n content: \"\\f2ba\";\n}\n.fa-vcard:before,\n.fa-address-card:before {\n content: \"\\f2bb\";\n}\n.fa-vcard-o:before,\n.fa-address-card-o:before {\n content: \"\\f2bc\";\n}\n.fa-user-circle:before {\n content: \"\\f2bd\";\n}\n.fa-user-circle-o:before {\n content: \"\\f2be\";\n}\n.fa-user-o:before {\n content: \"\\f2c0\";\n}\n.fa-id-badge:before {\n content: \"\\f2c1\";\n}\n.fa-drivers-license:before,\n.fa-id-card:before {\n content: \"\\f2c2\";\n}\n.fa-drivers-license-o:before,\n.fa-id-card-o:before {\n content: \"\\f2c3\";\n}\n.fa-quora:before {\n content: \"\\f2c4\";\n}\n.fa-free-code-camp:before {\n content: \"\\f2c5\";\n}\n.fa-telegram:before {\n content: \"\\f2c6\";\n}\n.fa-thermometer-4:before,\n.fa-thermometer:before,\n.fa-thermometer-full:before {\n content: \"\\f2c7\";\n}\n.fa-thermometer-3:before,\n.fa-thermometer-three-quarters:before {\n content: \"\\f2c8\";\n}\n.fa-thermometer-2:before,\n.fa-thermometer-half:before {\n content: \"\\f2c9\";\n}\n.fa-thermometer-1:before,\n.fa-thermometer-quarter:before {\n content: \"\\f2ca\";\n}\n.fa-thermometer-0:before,\n.fa-thermometer-empty:before {\n content: \"\\f2cb\";\n}\n.fa-shower:before {\n content: \"\\f2cc\";\n}\n.fa-bathtub:before,\n.fa-s15:before,\n.fa-bath:before {\n content: \"\\f2cd\";\n}\n.fa-podcast:before {\n content: \"\\f2ce\";\n}\n.fa-window-maximize:before {\n content: \"\\f2d0\";\n}\n.fa-window-minimize:before {\n content: \"\\f2d1\";\n}\n.fa-window-restore:before {\n content: \"\\f2d2\";\n}\n.fa-times-rectangle:before,\n.fa-window-close:before {\n content: \"\\f2d3\";\n}\n.fa-times-rectangle-o:before,\n.fa-window-close-o:before {\n content: \"\\f2d4\";\n}\n.fa-bandcamp:before {\n content: \"\\f2d5\";\n}\n.fa-grav:before {\n content: \"\\f2d6\";\n}\n.fa-etsy:before {\n content: \"\\f2d7\";\n}\n.fa-imdb:before {\n content: \"\\f2d8\";\n}\n.fa-ravelry:before {\n content: \"\\f2d9\";\n}\n.fa-eercast:before {\n content: \"\\f2da\";\n}\n.fa-microchip:before {\n content: \"\\f2db\";\n}\n.fa-snowflake-o:before {\n content: \"\\f2dc\";\n}\n.fa-superpowers:before {\n content: \"\\f2dd\";\n}\n.fa-wpexplorer:before {\n content: \"\\f2de\";\n}\n.fa-meetup:before {\n content: \"\\f2e0\";\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.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.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.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 * 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: 0.5em 0;\n padding: 0 0 0 1.5em;\n}\n.mo ul li,\n.mo ol li {\n margin: 0.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: 0.5em 0;\n}\n.mo h2,\n.mo h3.box_title {\n font-size: 1.5em;\n margin: 0.5em 0;\n}\n.mo h3 {\n font-size: 1.3em;\n margin: 0.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: 0.5em 0.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: 0.1em 0.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.mo table > tbody > tr.even > td {\n background-color: #f1eee6;\n}\n.mo table > tr.even > td.active,\n.mo table > tbody > 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: 0.5em 0.7em;\n}\n.mo div.showall {\n padding: 0 0.7em 0.5em 0.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: 0.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 .three-quarter-width {\n width: 75% !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: 0.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: 0.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 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: #BD362F;\n}\n.mo .icon_green {\n color: #51A351;\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 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: 0.5em;\n background-color: #e4dfcf;\n margin: 0.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: 0.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: 1em;\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 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.mo .button_links a.button_dropdown_split.primary.pressed,\n.mo .links.inline a.button_dropdown_split.primary.pressed,\n.mo .cell_links a.button_dropdown_split.primary.pressed,\n.mo .button_links a.button_dropdown_split.primary.selected,\n.mo .links.inline a.button_dropdown_split.primary.selected,\n.mo .cell_links a.button_dropdown_split.primary.selected {\n background-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: 0.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: 1em;\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 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.mo a.button.primary.pressed,\n.mo input.form-submit.primary.pressed,\n.mo a.button.primary.selected,\n.mo input.form-submit.primary.selected {\n background-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: 0.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: 1em;\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 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.mo ul.button_links li a.primary.pressed,\n.mo ul.inline li a.primary.pressed,\n.mo ul.button_links li a.primary.selected,\n.mo ul.inline li a.primary.selected {\n background-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: 0.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 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: 0.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: 1em;\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 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 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.mo ul.cell_links > li > a.primary.pressed,\n.mo ul.cell_links > .dropdown-container > li > a.primary.pressed,\n.mo ul.cell_links > li > a.primary.selected,\n.mo ul.cell_links > .dropdown-container > li > a.primary.selected {\n background-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: 0.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: 0.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: 1em;\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: 0.25em 0.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 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.mo ul.top_links li a.primary.pressed,\n.mo ul.box_top_links li a.primary.pressed,\n.mo ul.top_links a.button_dropdown_split.primary.pressed,\n.mo ul.box_top_links a.button_dropdown_split.primary.pressed,\n.mo ul.top_links li a.primary.selected,\n.mo ul.box_top_links li a.primary.selected,\n.mo ul.top_links a.button_dropdown_split.primary.selected,\n.mo ul.box_top_links a.button_dropdown_split.primary.selected {\n background-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: 0.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 0.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: 0.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: 0.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 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: 0.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: 0.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: 1em;\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: 0.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% transparent;\n opacity: 0.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: 0.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: 0.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: 1em;\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 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.mo .ui-button.primary.pressed,\n.mo .ui-button.primary.selected {\n background-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: 0.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 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: 0.5em 1em 0.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: 0.1em 16px 0.2em 0;\n}\n.mo .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-close {\n position: absolute;\n right: 0.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: 0.4em;\n text-indent: -9999999px;\n}\n.mo .ui-dialog .ui-dialog-content {\n border: 0;\n padding: 0.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}\n.mo .ui-dialog .async_loading_iframe.with_bg {\n width: 10%;\n height: 6%;\n min-height: 50px;\n position: absolute;\n left: 45%;\n top: 47%;\n}\n.mo .ui-dialog .async_loading_iframe.over {\n position: absolute;\n left: 0;\n top: 0;\n}\n.mo .ui-dialog .ui-dialog-buttonpane {\n text-align: center;\n background-image: none;\n margin: 0.5em 0 0 0;\n border: none;\n padding: 0.3em 0;\n}\n.mo .ui-dialog.dialog_info .ui-dialog-titlebar {\n background: none #81b1b3;\n}\n.mo .ui-dialog.dialog_warn .ui-dialog-titlebar {\n background: none #c88170;\n}\n.mo .ui-dialog.dialog_ok .ui-dialog-titlebar {\n background: none #92b781;\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: 0.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 0.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: 0.5em 1em;\n margin: 0 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: 0.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: 0.5em 1em;\n margin: 0 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: 0.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: 0.5em 1em;\n margin: 0.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: 0.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: 0.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: 1em;\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: 0.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 #BD362F;\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: 1em;\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: 1em;\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 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 .mo .propInput .data-select:after.primary.pressed,\n .mo .propInput .data-select:after.primary.selected {\n background-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: 0.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: 1em;\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: 1em;\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: 0.5em;\n width: auto;\n}\n.mo .propInput .evo-pointer {\n position: absolute;\n font-size: 1em;\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: 0.5em;\n width: auto;\n}\n.mo .propInput .evo-pointer:before {\n font-size: 1em;\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 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.mo .propInput .evo-pointer:before.primary.pressed,\n.mo .propInput .evo-pointer:before.primary.selected {\n background-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: 0.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: 0.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: 0.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: 0.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 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 display: block;\n position: absolute;\n top: -3px;\n bottom: -3px;\n left: -7px;\n right: -7px;\n border: 1px solid transparent;\n border-width: 0;\n border-left-width: 5px;\n border-right-width: 5px;\n outline: 1px solid transparent;\n pointer-events: none;\n}\n#main-toolbox .objEdit.level1.selectable.selecteditem:after {\n outline-color: transparent;\n border-color: #CC0000;\n border-style: dashed solid;\n animation: border-color-selection-pulsate 4s infinite;\n}\n#main-toolbox .objEdit.level1.selectable:hover:after {\n outline-color: currentcolor;\n border-top-color: transparent !important;\n border-bottom-color: transparent !important;\n animation: none;\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: 1em;\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: 0.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: 1em;\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 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#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after.primary.pressed,\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before.primary.pressed,\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after.primary.selected,\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before.primary.selected {\n background-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: 0.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: 0.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.\n\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\n2019/02/19 Update: since Mozilla Firefox 63 (Sept 2018), Mozilla implemented \n\"-webkit-min-device-pixel-ratio\", so this hack is currently being executed also by Firefox:\n See: https://developer.mozilla.org/en-US/docs/Web/CSS/@media\nWe have no reports of side effects on Firefox resulting from this code being enabled.\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/*\nAfter enabling the dashed outlines for editable contents we had reports from webkit based\nbrowsers (Safari) users of flickering similar to the previous issues.\n See: https://github.com/voidlabs/mosaico/issues/430\nPlease note there is no space between \"and\" and the following bracket because we only\nwant to tarket webkit (Safari) and not blink (Chrome).\n*/\n@media screen and (min-color-index:0) and(-webkit-min-device-pixel-ratio:0) { @media {\n #main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable:hover .mce-content-body:not(.selecteditem):not(:hover):after,\n #main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable:hover .selectable-img:not(.selecteditem):not(:hover) .mo-imgselectionhelper {\n \tvisibility: hidden !important;\n \tz-index: -1 !important;\n \topacity: 1 !important;\n \tborder-width: 0px 0px !important;\n border-style: solid solid !important;\n }\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: 0.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 0.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: 0.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 .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: 0.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: 1em;\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: 25px;\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 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#main-edit-area .tool.primary.pressed,\n#main-edit-area .tool.primary.selected {\n background-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: 0.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 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 {\n margin-left: 4px;\n}\n#main-edit-area .midtools .tool {\n margin-left: 4px;\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@keyframes opacityAnimation {\n 0% {\n opacity: 0.6;\n }\n 50% {\n opacity: 0.3;\n }\n 100% {\n opacity: 0.6;\n }\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 .wysiwyg-loading {\n pointer-events: none;\n animation: opacityAnimation 2s infinite;\n}\n#main-wysiwyg-area span[contenteditable],\n#main-wysiwyg-area a[contenteditable],\n#main-wysiwyg-area b[contenteditable],\n#main-wysiwyg-area i[contenteditable],\n#main-wysiwyg-area cite[contenteditable],\n#main-wysiwyg-area code[contenteditable],\n#main-wysiwyg-area em[contenteditable],\n#main-wysiwyg-area label[contenteditable],\n#main-wysiwyg-area small[contenteditable],\n#main-wysiwyg-area strong[contenteditable],\n#main-wysiwyg-area sub[contenteditable],\n#main-wysiwyg-area sup[contenteditable],\n#main-wysiwyg-area q[contenteditable] {\n display: inline-block;\n}\n#main-wysiwyg-area [contenteditable] {\n min-width: 1em;\n}\n#main-wysiwyg-area [contenteditable]:empty::before {\n content: \"\\2063\";\n display: inline-block;\n position: relative;\n}\n#main-edit-area .mce-edit-focus {\n outline: 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 display: block;\n position: absolute;\n top: -3px;\n bottom: -3px;\n left: -12px;\n right: -12px;\n border: 1px solid transparent;\n border-width: 0;\n border-left-width: 10px;\n border-right-width: 10px;\n outline: 1px solid transparent;\n pointer-events: none;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable.selected .mo-blockselectionhelper {\n outline-color: transparent;\n border-color: #CC0000;\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 outline-color: currentcolor;\n border-top-color: transparent !important;\n border-bottom-color: transparent !important;\n animation: none;\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 #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable .mce-content-body:before {\n content: \"\";\n display: block;\n position: absolute;\n top: -3px;\n bottom: -3px;\n left: -7px;\n right: -7px;\n border: 1px dashed transparent;\n opacity: 0.3;\n pointer-events: none;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable:hover .mce-content-body:before {\n border-color: currentcolor;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable:hover .mce-content-body:hover:before {\n border-color: transparent;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable .selectable-img .mo-imgselectionhelper:before {\n content: \"\";\n display: block;\n position: absolute;\n top: -3px;\n bottom: -3px;\n left: -7px;\n right: -7px;\n border: 1px dashed transparent;\n opacity: 0.3;\n pointer-events: none;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable:hover .selectable-img .mo-imgselectionhelper:before {\n border-color: currentcolor;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable:hover .selectable-img:hover .mo-imgselectionhelper:before {\n border-color: transparent;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .mce-content-body {\n position: relative;\n cursor: text;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .mce-content-body:after {\n content: \"\";\n display: block;\n position: absolute;\n top: -3px;\n bottom: -3px;\n left: -7px;\n right: -7px;\n border: 1px solid transparent;\n border-width: 0;\n border-left-width: 5px;\n border-right-width: 5px;\n outline: 1px solid transparent;\n pointer-events: none;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .mce-content-body.selecteditem:after {\n outline-color: transparent;\n border-color: #CC0000;\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 outline-color: currentcolor;\n border-top-color: transparent !important;\n border-bottom-color: transparent !important;\n animation: none;\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:after {\n content: \"\";\n display: block;\n position: absolute;\n top: -3px;\n bottom: -3px;\n left: -7px;\n right: -7px;\n border: 1px solid transparent;\n border-width: 0;\n border-left-width: 5px;\n border-right-width: 5px;\n outline: 1px solid transparent;\n pointer-events: none;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .selectable-img.selecteditem .mo-imgselectionhelper:after {\n outline-color: transparent;\n border-color: #CC0000;\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:after {\n outline-color: currentcolor;\n border-top-color: transparent !important;\n border-bottom-color: transparent !important;\n animation: none;\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-container.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 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}\nbody.moxman-v2 .moxman-btn {\n border: none;\n background-color: transparent;\n}\nbody.moxman-v2 .moxman-btn button {\n background-color: #333332;\n color: #FEFDFC;\n border: 1px solid #333332;\n border-radius: 5px;\n}\nbody.moxman-v2 .moxman-btn button i {\n color: #FEFDFC;\n}\nbody.moxman-v2 .moxman-btn button .moxman-caret {\n border-top-color: #FEFDFC;\n}\nbody.moxman-v2 .moxman-btn.moxman-active button {\n background-color: #191919;\n}\nbody.moxman-v2 .moxman-btn.moxman-primary button {\n color: #FEFDFC;\n background-color: #9C010F;\n border: 1px solid #9C010F;\n}\nbody.moxman-v2 .moxman-btn.moxman-primary button i {\n color: #FEFDFC;\n}\nbody.moxman-v2 .moxman-btn.moxman-primary button .moxman-caret {\n border-top-color: #FEFDFC;\n}\nbody.moxman-v2 .moxman-combobox .moxman-textbox {\n border-top-left-radius: 5px;\n border-bottom-left-radius: 5px;\n}\nbody.moxman-v2 .moxman-combobox .moxman-btn button {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\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: 0.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: 0.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 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.3.2\n (c) 2018 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.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, black, black 1px, white 1px, white 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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL25vZGVfbW9kdWxlcy9mb250LWF3ZXNvbWUvbGVzcy9wYXRoLmxlc3MiLCIuLi8vcm9vdC9tb3NhaWNvL25vZGVfbW9kdWxlcy9mb250LWF3ZXNvbWUvbGVzcy9pY29ucy5sZXNzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvbnQtYXdlc29tZS9sZXNzL2NvcmUubGVzcyIsIi4uL25vZGVfbW9kdWxlcy9mb250LWF3ZXNvbWUvbGVzcy9sYXJnZXIubGVzcyIsIi4uL25vZGVfbW9kdWxlcy9mb250LWF3ZXNvbWUvbGVzcy9maXhlZC13aWR0aC5sZXNzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvbnQtYXdlc29tZS9sZXNzL2xpc3QubGVzcyIsIi4uL25vZGVfbW9kdWxlcy9mb250LWF3ZXNvbWUvbGVzcy9ib3JkZXJlZC1wdWxsZWQubGVzcyIsIi4uL25vZGVfbW9kdWxlcy9mb250LWF3ZXNvbWUvbGVzcy9hbmltYXRlZC5sZXNzIiwiLi4vL3Jvb3QvbW9zYWljby9ub2RlX21vZHVsZXMvZm9udC1hd2Vzb21lL2xlc3MvbWl4aW5zLmxlc3MiLCIuLi9ub2RlX21vZHVsZXMvZm9udC1hd2Vzb21lL2xlc3Mvcm90YXRlZC1mbGlwcGVkLmxlc3MiLCIuLi9ub2RlX21vZHVsZXMvZm9udC1hd2Vzb21lL2xlc3Mvc3RhY2tlZC5sZXNzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvbnQtYXdlc29tZS9sZXNzL2ljb25zLmxlc3MiLCIuLi8vcm9vdC9tb3NhaWNvL25vZGVfbW9kdWxlcy9mb250LWF3ZXNvbWUvbGVzcy92YXJpYWJsZXMubGVzcyIsIi4uL25vZGVfbW9kdWxlcy9mb250LWF3ZXNvbWUvbGVzcy9zY3JlZW4tcmVhZGVyLmxlc3MiLCIuLi9ub2RlX21vZHVsZXMvZm9udC1hd2Vzb21lL2xlc3MvbWl4aW5zLmxlc3MiLCIuLi8vcm9vdC9tb3NhaWNvL25vZGVfbW9kdWxlcy9mb250LWF3ZXNvbWUvbGVzcy9wYXRoLmxlc3MiLCIuLi8vcm9vdC9tb3NhaWNvL25vZGVfbW9kdWxlcy9mb250LWF3ZXNvbWUvbGVzcy9jb3JlLmxlc3MiLCIuLi8vcm9vdC9tb3NhaWNvL25vZGVfbW9kdWxlcy9mb250LWF3ZXNvbWUvbGVzcy9sYXJnZXIubGVzcyIsIi4uLy9yb290L21vc2FpY28vbm9kZV9tb2R1bGVzL2ZvbnQtYXdlc29tZS9sZXNzL2ZpeGVkLXdpZHRoLmxlc3MiLCIuLi8vcm9vdC9tb3NhaWNvL25vZGVfbW9kdWxlcy9mb250LWF3ZXNvbWUvbGVzcy9saXN0Lmxlc3MiLCIuLi8vcm9vdC9tb3NhaWNvL25vZGVfbW9kdWxlcy9mb250LWF3ZXNvbWUvbGVzcy9ib3JkZXJlZC1wdWxsZWQubGVzcyIsIi4uLy9yb290L21vc2FpY28vbm9kZV9tb2R1bGVzL2ZvbnQtYXdlc29tZS9sZXNzL2FuaW1hdGVkLmxlc3MiLCIuLi8vcm9vdC9tb3NhaWNvL25vZGVfbW9kdWxlcy9mb250LWF3ZXNvbWUvbGVzcy9yb3RhdGVkLWZsaXBwZWQubGVzcyIsIi4uLy9yb290L21vc2FpY28vbm9kZV9tb2R1bGVzL2ZvbnQtYXdlc29tZS9sZXNzL3N0YWNrZWQubGVzcyIsIi4uLy9yb290L21vc2FpY28vbm9kZV9tb2R1bGVzL2ZvbnQtYXdlc29tZS9sZXNzL3NjcmVlbi1yZWFkZXIubGVzcyIsIi4uL3NyYy9jc3Mvc3R5bGVfbW9zYWljb190b29scy5sZXNzIiwiLi4vc3JjL2Nzcy9zdHlsZV92YXJpYWJsZXMubGVzcyIsIi4uL3NyYy9jc3Mvc3R5bGVfbW9zYWljby5sZXNzIiwiLi4vc3JjL2Nzcy9zdHlsZV9lbGVtZW50cy5sZXNzIiwiLi4vc3JjL2Nzcy9zdHlsZV9lbGVtZW50c19taXhpbnMubGVzcyIsIi4uL3NyYy9jc3Mvc3R5bGVfZWxlbWVudHNfanF1ZXJ5Lmxlc3MiLCIuLi9zcmMvY3NzL3NhZmFyaWhhY2suY3NzIiwiLi4vc3JjL2Nzcy9zdHlsZV9tb3NhaWNvX2NvbnRlbnQubGVzcyIsIi4uL3NyYy9jc3Mvc3R5bGVfZWxlbWVudHNfbW94aWUubGVzcyIsIi4uL25vZGVfbW9kdWxlcy90b2FzdHIvdG9hc3RyLmxlc3MiLCIuLi9ub2RlX21vZHVsZXMvZXZvbC1jb2xvcnBpY2tlci9jc3MvZXZvbC1jb2xvcnBpY2tlci5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBR0E7RUFDRSxhQUFhLGFBQWI7RUFDQSxTQUFTLDhDQUFUO0VBQ0EsU0FBUyxzREFBa0UsT0FBTywwQkFDNUUsaURBQTZELE9BQU8sY0FDcEUsZ0RBQTRELE9BQU8sYUFDbkUsK0NBQTJELE9BQU8saUJBQ2xFLGtFQUE4RSxPQUFPLE1BSjNGO0VBTUEsbUJBQUE7RUFDQSxrQkFBQTs7QUNiRDtFQ0lDLHFCQUFBO0VBQ0EsNkNBQUE7RUFDQSxrQkFBQTtFQUNBLG9CQUFBO0VBQ0EsbUNBQUE7RUFDQSxrQ0FBQTs7O0FEVEQ7RUVLQyx1QkFBQTtFQUNBLG1CQUFBO0VBQ0Esb0JBQUE7O0FGUEQ7RUVTc0IsY0FBQTs7QUZUdEI7RUVVc0IsY0FBQTs7QUZWdEI7RUVXc0IsY0FBQTs7QUZYdEI7RUVZc0IsY0FBQTs7QUZadEI7RUdHQyxtQkFBQTtFQUNBLGtCQUFBOztBSEpEO0VJSUMsZUFBQTtFQUNBLHlCQUFBO0VBQ0EscUJBQUE7O0FKTkQsTUlPQztFQUFPLGtCQUFBOztBSlBSO0VJVUMsa0JBQUE7RUFDQSxtQkFBQTtFQUNBLG1CQUFBO0VBQ0EsaUJBQUE7RUFDQSxrQkFBQTs7QUpkRCxNQUFDO0VJZ0JFLG1CQUFBOztBSmhCSDtFS0lDLDRCQUFBO0VBQ0EseUJBQUE7RUFDQSxvQkFBQTs7QUxORDtFS1M2QixXQUFBOztBTFQ3QjtFS1U4QixZQUFBOztBTFY5QixHQUFDO0VLYStCLG1CQUFBOztBTGJoQyxHQUFDO0VLY2dDLGtCQUFBOzs7QUFJbEM7RUFBYyxZQUFBOztBQUNkO0VBQWEsV0FBQTs7QUFHWCxHQUFDO0VBQWEsbUJBQUE7O0FBQ2QsR0FBQztFQUFjLGtCQUFBOztBTHZCaEI7RU1JQyw2Q0FBQTtFQUNRLHFDQUFBOztBTkxUO0VNU0MsdUNBQXVDLFFBQXZDO0VBQ1EsK0JBQStCLFFBQS9COztBQUdWO0VBQ0U7SUFDRSxtQkFBbUIsWUFBbkI7SUFDUSxXQUFXLFlBQVg7O0VBRVY7SUFDRSxtQkFBbUIsY0FBbkI7SUFDUSxXQUFXLGNBQVg7OztBQUlaO0VBQ0U7SUFDRSxtQkFBbUIsWUFBbkI7SUFDUSxXQUFXLFlBQVg7O0VBRVY7SUFDRSxtQkFBbUIsY0FBbkI7SUFDUSxXQUFXLGNBQVg7OztBTi9CWDtFT2NDLFlBQVksMERBQVo7RUFDQSxtQkFBbUIsYUFBbkI7RUFDSSxlQUFlLGFBQWY7RUFDSSxXQUFXLGFBQVg7O0FQakJUO0VPY0MsWUFBWSwwREFBWjtFQUNBLG1CQUFtQixjQUFuQjtFQUNJLGVBQWUsY0FBZjtFQUNJLFdBQVcsY0FBWDs7QVBqQlQ7RU9jQyxZQUFZLDBEQUFaO0VBQ0EsbUJBQW1CLGNBQW5CO0VBQ0ksZUFBZSxjQUFmO0VBQ0ksV0FBVyxjQUFYOztBUGpCVDtFT3FCQyxZQUFZLG9FQUFaO0VBQ0EsbUJBQW1CLFlBQW5CO0VBQ0ksZUFBZSxZQUFmO0VBQ0ksV0FBVyxZQUFYOztBUHhCVDtFT3FCQyxZQUFZLG9FQUFaO0VBQ0EsbUJBQW1CLFlBQW5CO0VBQ0ksZUFBZSxZQUFmO0VBQ0ksV0FBVyxZQUFYOztBUHhCVCxLQUFNO0FBQWUsS0FBTTtBQUFnQixLQUFNO0FBQWdCLEtBQU07QUFDcEQsS0FBTTtFUWlCeEIsWUFBQTs7QVJsQkQ7RVNJQyxrQkFBQTtFQUNBLHFCQUFBO0VBQ0EsVUFBQTtFQUNBLFdBQUE7RUFDQSxnQkFBQTtFQUNBLHNCQUFBOztBVFREO0FBQWM7RVNZYixrQkFBQTtFQUNBLE9BQUE7RUFDQSxXQUFBO0VBQ0Esa0JBQUE7O0FUZkQ7RVNpQjRCLG9CQUFBOztBVGpCNUI7RVNrQjRCLGNBQUE7O0FUbEI1QjtFU21CMkIsV0FBQTs7OztBVG5CM0IsU0FBUztFVUd1QixTQ3dVbEIsT0R4VWtCOztBVkhoQyxTQUFTO0VVSXVCLFNDMmRsQixPRDNka0I7O0FWSmhDLFVBQVU7RVVLdUIsU0MwakJsQixPRDFqQmtCOztBVkxqQyxjQUFjO0VVTXVCLFNDc09sQixPRHRPa0I7O0FWTnJDLFNBQVM7RVVPdUIsU0N1V2xCLE9EdldrQjs7QVZQaEMsUUFBUTtFVVF1QixTQ2tuQmxCLE9EbG5Ca0I7O0FWUi9CLFVBQVU7RVVTdUIsU0NzbkJsQixPRHRuQmtCOztBVlRqQyxRQUFRO0VVVXVCLFNDeXRCbEIsT0R6dEJrQjs7QVZWL0IsUUFBUTtFVVd1QixTQ21SbEIsT0RuUmtCOztBVlgvQixZQUFZO0VVWXVCLFNDdXBCbEIsT0R2cEJrQjs7QVZabkMsTUFBTTtFVWF1QixTQ3FwQmxCLE9EcnBCa0I7O0FWYjdCLFdBQVc7RVVjdUIsU0NzcEJsQixPRHRwQmtCOztBVmRsQyxTQUFTO0VVZXVCLFNDeUlsQixPRHpJa0I7O0FWZmhDLFVBQVU7QUFBUyxTQUFTO0FBQVMsU0FBUztFVWtCZCxTQ3FxQmxCLE9EcnFCa0I7O0FWbEJoQyxlQUFlO0VVbUJ1QixTQzhpQmxCLE9EOWlCa0I7O0FWbkJ0QyxnQkFBZ0I7RVVvQnVCLFNDNGlCbEIsT0Q1aUJrQjs7QVZwQnZDLGFBQWE7RVVxQnVCLFNDNGZsQixPRDVma0I7O0FWckJwQyxVQUFVO0VVc0J1QixTQ2lrQmxCLE9EamtCa0I7O0FWdEJqQyxRQUFRO0FBQVMsT0FBTztFVXdCTSxTQ2dLbEIsT0RoS2tCOztBVnhCOUIsV0FBVztFVXlCdUIsU0MrcUJsQixPRC9xQmtCOztBVnpCbEMsUUFBUTtFVTBCdUIsU0N3VmxCLE9EeFZrQjs7QVYxQi9CLFVBQVU7RVUyQnVCLFNDdVBsQixPRHZQa0I7O0FWM0JqQyxXQUFXO0VVNEJ1QixTQ2dKbEIsT0RoSmtCOztBVjVCbEMsUUFBUTtFVTZCdUIsU0NtaEJsQixPRG5oQmtCOztBVjdCL0IsWUFBWTtFVThCdUIsU0NnTWxCLE9EaE1rQjs7QVY5Qm5DLHVCQUF1QjtFVStCdUIsU0NZbEIsT0Raa0I7O0FWL0I5QyxxQkFBcUI7RVVnQ3VCLFNDY2xCLE9EZGtCOztBVmhDNUMsU0FBUztFVWlDdUIsU0NxV2xCLE9EcldrQjs7QVZqQ2hDLGlCQUFpQjtFVWtDdUIsU0N3ZWxCLE9EeGVrQjs7QVZsQ3hDLGdCQUFnQjtBQUFTLFVBQVU7RVVvQ0YsU0NzZ0JsQixPRHRnQmtCOztBVnBDakMsV0FBVztFVXFDdUIsU0NnZ0JsQixPRGhnQmtCOztBVnJDbEMsWUFBWTtFVXNDdUIsU0N3WWxCLE9EeFlrQjs7QVZ0Q25DLFFBQVE7RVV1Q3VCLFNDMllsQixPRDNZa0I7O0FWdkMvQixRQUFRO0VVd0N1QixTQzRQbEIsT0Q1UGtCOztBVnhDL0IsY0FBYztFVXlDdUIsU0NvVWxCLE9EcFVrQjs7QVZ6Q3JDLGNBQWM7RVUwQ3VCLFNDaXRCbEIsT0RqdEJrQjs7QVYxQ3JDLGVBQWU7RVUyQ3VCLFNDK3NCbEIsT0Qvc0JrQjs7QVYzQ3RDLGFBQWE7RVU0Q3VCLFNDZ3RCbEIsT0RodEJrQjs7QVY1Q3BDLFVBQVU7RVU2Q3VCLFNDeWVsQixPRHpla0I7O0FWN0NqQyxXQUFXO0VVOEN1QixTQ3dCbEIsT0R4QmtCOztBVjlDbEMsT0FBTztFVStDdUIsU0N5bUJsQixPRHptQmtCOztBVi9DOUIsUUFBUTtFVWdEdUIsU0N5bUJsQixPRHptQmtCOztBVmhEL0IsUUFBUTtFVWlEdUIsU0N5RGxCLE9EekRrQjs7QVZqRC9CLFlBQVk7RVVrRHVCLFNDeURsQixPRHpEa0I7O0FWbERuQyxTQUFTO0VVbUR1QixTQytkbEIsT0QvZGtCOztBVm5EaEMsVUFBVTtFVW9EdUIsU0MyRWxCLE9EM0VrQjs7QVZwRGpDLFFBQVE7RVVxRHVCLFNDMFBsQixPRDFQa0I7O0FWckQvQixRQUFRO0VVc0R1QixTQ2lEbEIsT0RqRGtCOztBVnREL0IsVUFBVTtFVXVEdUIsU0MwVmxCLE9EMVZrQjs7QVZ2RGpDLGVBQWU7RVV3RHVCLFNDd21CbEIsT0R4bUJrQjs7QVZ4RHRDLGNBQWM7RVV5RHVCLFNDd21CbEIsT0R4bUJrQjs7QVZ6RHJDLGNBQWM7RVUwRHVCLFNDcENsQixPRG9Da0I7O0FWMURyQyxnQkFBZ0I7RVUyRHVCLFNDdkNsQixPRHVDa0I7O0FWM0R2QyxlQUFlO0VVNER1QixTQ3JDbEIsT0RxQ2tCOztBVjVEdEMsaUJBQWlCO0VVNkR1QixTQ3hDbEIsT0R3Q2tCOztBVjdEeEMsUUFBUTtFVThEdUIsU0MrV2xCLE9EL1drQjs7QVY5RC9CLFVBQVU7QUFBUyxXQUFXO0VVZ0VJLFNDMmFsQixPRDNha0I7O0FWaEVsQyxVQUFVO0VVaUV1QixTQ3NVbEIsT0R0VWtCOztBVmpFakMsZ0JBQWdCO0VVa0V1QixTQ2tyQmxCLE9EbHJCa0I7O0FWbEV2QyxTQUFTO0FBQVMsU0FBUztBQUFTLGFBQWE7RVVxRWIsU0MwYmxCLE9EMWJrQjs7QVZyRXBDLFVBQVU7RVVzRXVCLFNDa2JsQixPRGxia0I7O0FWdEVqQyxjQUFjO0VVdUV1QixTQ3dYbEIsT0R4WGtCOztBVnZFckMsVUFBVTtFVXdFdUIsU0N0RGxCLE9Ec0RrQjs7QVZ4RWpDLFFBQVE7RVV5RXVCLFNDbW5CbEIsT0RubkJrQjs7QVZ6RS9CLFFBQVE7QUFBUyxtQkFBbUI7RVUyRU0sU0MrYWxCLE9EL2FrQjs7QVYzRTFDLGtCQUFrQjtFVTRFdUIsU0M4ZmxCLE9EOWZrQjs7QVY1RXpDLGtCQUFrQjtFVTZFdUIsU0MrRWxCLE9EL0VrQjs7QVY3RXpDLFVBQVU7RVU4RXVCLFNDekJsQixPRHlCa0I7O0FWOUVqQyxpQkFBaUI7RVUrRXVCLFNDbWpCbEIsT0RuakJrQjs7QVYvRXhDLGlCQUFpQjtFVWdGdUIsU0NxTGxCLE9EckxrQjs7QVZoRnhDLFlBQVk7RVVpRnVCLFNDbEJsQixPRGtCa0I7O0FWakZuQyxRQUFRO0VVa0Z1QixTQ3NibEIsT0R0YmtCOztBVmxGL0IsU0FBUztFVW1GdUIsU0NnYWxCLE9EaGFrQjs7QVZuRmhDLFFBQVE7RVVvRnVCLFNDbWpCbEIsT0RuakJrQjs7QVZwRi9CLFdBQVc7RVVxRnVCLFNDK05sQixPRC9Oa0I7O0FWckZsQyxnQkFBZ0I7RVVzRnVCLFNDZ0xsQixPRGhMa0I7O0FWdEZ2QyxnQkFBZ0I7RVV1RnVCLFNDNGlCbEIsT0Q1aUJrQjs7QVZ2RnZDLFNBQVM7RVV3RnVCLFNDK0lsQixPRC9Ja0I7O0FWeEZoQyxnQkFBZ0I7RVV5RnVCLFNDeUVsQixPRHpFa0I7O0FWekZ2QyxpQkFBaUI7RVUwRnVCLFNDeUVsQixPRHpFa0I7O0FWMUZ4QyxlQUFlO0VVMkZ1QixTQ2tibEIsT0RsYmtCOztBVjNGdEMsZ0JBQWdCO0VVNEZ1QixTQ3VYbEIsT0R2WGtCOztBVjVGdkMsZ0JBQWdCO0VVNkZ1QixTQzJsQmxCLE9EM2xCa0I7O0FWN0Z2QyxnQkFBZ0I7RVU4RnVCLFNDMkRsQixPRDNEa0I7O0FWOUZ2QyxtQkFBbUI7RVUrRnVCLFNDeWJsQixPRHpia0I7O0FWL0YxQyxlQUFlO0VVZ0d1QixTQzBTbEIsT0QxU2tCOztBVmhHdEMsY0FBYztFVWlHdUIsU0MwR2xCLE9EMUdrQjs7QVZqR3JDLGtCQUFrQjtFVWtHdUIsU0N1bEJsQixPRHZsQmtCOztBVmxHekMsa0JBQWtCO0VVbUd1QixTQ3VEbEIsT0R2RGtCOztBVm5HekMsT0FBTztFVW9HdUIsU0NuQ2xCLE9EbUNrQjs7QVZwRzlCLGNBQWM7RVVxR3VCLFNDbkRsQixPRG1Ea0I7O0FWckdyQyxlQUFlO0VVc0d1QixTQ25EbEIsT0RtRGtCOztBVnRHdEMsWUFBWTtFVXVHdUIsU0NuRGxCLE9EbURrQjs7QVZ2R25DLGNBQWM7RVV3R3VCLFNDdkRsQixPRHVEa0I7O0FWeEdyQyxnQkFBZ0I7QUFBUyxTQUFTO0VVMEdGLFNDNGRsQixPRDVka0I7O0FWMUdoQyxVQUFVO0VVMkd1QixTQzhJbEIsT0Q5SWtCOztBVjNHakMsWUFBWTtFVTRHdUIsU0NzRmxCLE9EdEZrQjs7QVY1R25DLFFBQVE7RVU2R3VCLFNDK1psQixPRC9aa0I7O0FWN0cvQixTQUFTO0VVOEd1QixTQ29XbEIsT0RwV2tCOztBVjlHaEMsWUFBWTtFVStHdUIsU0NwRGxCLE9Eb0RrQjs7QVYvR25DLHNCQUFzQjtFVWdIdUIsU0N1SWxCLE9EdklrQjs7QVZoSDdDLFFBQVE7RVVpSHVCLFNDa05sQixPRGxOa0I7O0FWakgvQixRQUFRO0VVa0h1QixTQzBTbEIsT0QxU2tCOztBVmxIL0IsUUFBUTtFVW1IdUIsU0M2S2xCLE9EN0trQjs7QVZuSC9CLE9BQU87RVVvSHVCLFNDeUlsQixPRHpJa0I7O0FWcEg5QixhQUFhO0VVcUh1QixTQ3lJbEIsT0R6SWtCOztBVnJIcEMsV0FBVztBQUFTLHdCQUF3QjtFVXVIRyxTQ2lJbEIsT0RqSWtCOztBVnZIL0MsU0FBUztFVXdIdUIsU0MrWWxCLE9EL1lrQjs7QVZ4SGhDLFlBQVk7RVV5SHVCLFNDQWxCLE9EQWtCOztBVnpIbkMsVUFBVTtFVTBIdUIsU0NvYWxCLE9EcGFrQjs7QVYxSGpDLFdBQVc7RVUySHVCLFNDZ0VsQixPRGhFa0I7O0FWM0hsQyxVQUFVO0VVNEh1QixTQzZUbEIsT0Q3VGtCOztBVjVIakMsY0FBYztFVTZIdUIsU0N1Q2xCLE9EdkNrQjs7QVY3SHJDLGdCQUFnQjtFVThIdUIsU0NtQ2xCLE9EbkNrQjs7QVY5SHZDLFdBQVc7RVUrSHVCLFNDK2FsQixPRC9ha0I7O0FWL0hsQyxpQkFBaUI7RVVnSXVCLFNDa2RsQixPRGxka0I7O0FWaEl4QyxVQUFVO0VVaUl1QixTQzBLbEIsT0QxS2tCOztBVmpJakMsZUFBZTtFVWtJdUIsU0MyS2xCLE9EM0trQjs7QVZsSXRDLFlBQVk7RVVtSXVCLFNDM0VsQixPRDJFa0I7O0FWbkluQyxZQUFZO0VVb0l1QixTQzdFbEIsT0Q2RWtCOztBVnBJbkMsZUFBZTtBQUFTLGFBQWE7RVVzSUQsU0NsRWxCLE9Ea0VrQjs7QVZ0SXBDLGtCQUFrQjtFVXVJdUIsU0Mra0JsQixPRC9rQmtCOztBVnZJekMsbUJBQW1CO0VVd0l1QixTQzRIbEIsT0Q1SGtCOztBVnhJMUMsZ0JBQWdCO0VVeUl1QixTQ1RsQixPRFNrQjs7QVZ6SXZDLE9BQU87RVUwSXVCLFNDMlFsQixPRDNRa0I7O0FWMUk5QixTQUFTO0FBQVMsUUFBUTtFVTRJSyxTQzZDbEIsT0Q3Q2tCOztBVjVJL0IsWUFBWTtFVTZJdUIsU0NrRGxCLE9EbERrQjs7QVY3SW5DLGVBQWU7RVU4SXVCLFNDc2lCbEIsT0R0aUJrQjs7QVY5SXRDLGlCQUFpQjtFVStJdUIsU0NvaUJsQixPRHBpQmtCOztBVi9JeEMsYUFBYTtFVWdKdUIsU0MyZWxCLE9EM2VrQjs7QVZoSnBDLFdBQVc7RVVpSnVCLFNDOE5sQixPRDlOa0I7O0FWakpsQyxZQUFZO0VVa0p1QixTQ29jbEIsT0RwY2tCOztBVmxKbkMsbUJBQW1CO0VVbUp1QixTQ3VSbEIsT0R2UmtCOztBVm5KMUMsY0FBYztFVW9KdUIsU0M2aEJsQixPRDdoQmtCOztBVnBKckMsaUJBQWlCO0VVcUp1QixTQ3NHbEIsT0R0R2tCOztBVnJKeEMsV0FBVztFVXNKdUIsU0M4YmxCLE9EOWJrQjs7QVZ0SmxDLFVBQVU7RVV1SnVCLFNDcWpCbEIsT0RyakJrQjs7QVZ2SmpDLGlCQUFpQjtFVXdKdUIsU0NnTGxCLE9EaExrQjs7QVZ4SnhDLFVBQVU7RVV5SnVCLFNDdWtCbEIsT0R2a0JrQjs7QVZ6SmpDLFdBQVc7RVUwSnVCLFNDcVFsQixPRHJRa0I7O0FWMUpsQyxTQUFTO0VVMkp1QixTQ2lXbEIsT0RqV2tCOztBVjNKaEMsWUFBWTtFVTRKdUIsU0MyZGxCLE9EM2RrQjs7QVY1Sm5DLGNBQWM7RVU2SnVCLFNDakRsQixPRGlEa0I7O0FWN0pyQyxnQkFBZ0I7RVU4SnVCLFNDK1ZsQixPRC9Wa0I7O0FWOUp2QyxXQUFXO0VVK0p1QixTQ3NqQmxCLE9EdGpCa0I7O0FWL0psQyxjQUFjO0FBQVMsWUFBWTtFVWlLQSxTQ2dHbEIsT0RoR2tCOztBVmpLbkMsVUFBVTtFVWtLdUIsU0NvS2xCLE9EcEtrQjs7QVZsS2pDLFVBQVU7RVVtS3VCLFNDMGpCbEIsT0QxakJrQjs7QVZuS2pDLGVBQWU7RVVvS3VCLFNDb0NsQixPRHBDa0I7O0FWcEt0QyxRQUFRO0FBQVMsT0FBTztFVXNLTSxTQytZbEIsT0QvWWtCOztBVnRLOUIsU0FBUztFVXVLdUIsU0NvTWxCLE9EcE1rQjs7QVZ2S2hDLFlBQVk7RVV3S3VCLFNDckRsQixPRHFEa0I7O0FWeEtuQyxRQUFRO0VVeUt1QixTQ2hGbEIsT0RnRmtCOztBVnpLL0IsZUFBZTtFVTBLdUIsU0NyQmxCLE9EcUJrQjs7QVYxS3RDLGdCQUFnQjtFVTJLdUIsU0NvTGxCLE9EcExrQjs7QVYzS3ZDLGVBQWU7RVU0S3VCLFNDa0xsQixPRGxMa0I7O0FWNUt0QyxhQUFhO0VVNkt1QixTQ21MbEIsT0RuTGtCOztBVjdLcEMsZUFBZTtFVThLdUIsU0MrS2xCLE9EL0trQjs7QVY5S3RDLHFCQUFxQjtFVStLdUIsU0NySWxCLE9EcUlrQjs7QVYvSzVDLHNCQUFzQjtFVWdMdUIsU0NqSWxCLE9EaUlrQjs7QVZoTDdDLG1CQUFtQjtFVWlMdUIsU0NqSWxCLE9EaUlrQjs7QVZqTDFDLHFCQUFxQjtFVWtMdUIsU0N6SWxCLE9EeUlrQjs7QVZsTDVDLFNBQVM7RVVtTHVCLFNDMkpsQixPRDNKa0I7O0FWbkxoQyxVQUFVO0VVb0x1QixTQzZsQmxCLE9EN2xCa0I7O0FWcExqQyxTQUFTO0VVcUx1QixTQ3FlbEIsT0RyZWtCOztBVnJMaEMsVUFBVTtFVXNMdUIsU0N5R2xCLE9EekdrQjs7QVZ0TGpDLGFBQWE7RVV1THVCLFNDekVsQixPRHlFa0I7O0FWdkxwQyxjQUFjO0VVd0x1QixTQ2xJbEIsT0RrSWtCOztBVnhMckMsU0FBUztBQUFTLFNBQVM7RVUwTEssU0NpakJsQixPRGpqQmtCOztBVjFMaEMsU0FBUztBQUFTLFFBQVE7RVU0TEssU0M0T2xCLE9ENU9rQjs7QVY1TC9CLFNBQVM7RVU2THVCLFNDZGxCLE9EY2tCOztBVjdMaEMsU0FBUztFVThMdUIsU0MwR2xCLE9EMUdrQjs7QVY5TGhDLE9BQU87QUFBUyxZQUFZO0VVZ01PLFNDNlhsQixPRDdYa0I7O0FWaE1uQyxRQUFRO0FBQVMsV0FBVztFVWtNTSxTQzJGbEIsT0QzRmtCOztBVmxNbEMsYUFBYTtFVW1NdUIsU0M2U2xCLE9EN1NrQjs7QVZuTXBDLFFBQVE7QUFBUyxZQUFZO0VVcU1NLFNDcUdsQixPRHJHa0I7O0FWck1uQyxVQUFVO0VVc011QixTQ2dibEIsT0RoYmtCOztBVnRNakMsV0FBVztBQUFTLFdBQVc7QUFBUyxRQUFRO0VVeU1qQixTQ2xJbEIsT0RrSWtCOztBVnpNL0IsV0FBVztFVTBNdUIsU0NzT2xCLE9EdE9rQjs7QVYxTWxDLFdBQVc7RVUyTXVCLFNDb09sQixPRHBPa0I7O0FWM01sQyxpQkFBaUI7RVU0TXVCLFNDK2JsQixPRC9ia0I7O0FWNU14QyxhQUFhO0VVNk11QixTQzJnQmxCLE9EM2dCa0I7O0FWN01wQyxTQUFTO0VVOE11QixTQ3VjbEIsT0R2Y2tCOztBVjlNaEMsU0FBUztFVStNdUIsU0N5T2xCLE9Eek9rQjs7QVYvTWhDLFNBQVM7RVVnTnVCLFNDNmZsQixPRDdma0I7O0FWaE5oQyxhQUFhO0VVaU51QixTQ21UbEIsT0RuVGtCOztBVmpOcEMsb0JBQW9CO0VVa051QixTQ29UbEIsT0RwVGtCOztBVmxOM0Msc0JBQXNCO0VVbU51QixTQ2dJbEIsT0RoSWtCOztBVm5ON0MsZUFBZTtFVW9OdUIsU0M0SGxCLE9ENUhrQjs7QVZwTnRDLFNBQVM7RVVxTnVCLFNDcVFsQixPRHJRa0I7O0FWck5oQyxjQUFjO0VVc051QixTQ3BGbEIsT0RvRmtCOztBVnROckMsWUFBWTtFVXVOdUIsU0M5RWxCLE9EOEVrQjs7QVZ2Tm5DLGNBQWM7RVV3TnVCLFNDckZsQixPRHFGa0I7O0FWeE5yQyxlQUFlO0VVeU51QixTQ3JGbEIsT0RxRmtCOztBVnpOdEMsV0FBVztFVTBOdUIsU0NoQ2xCLE9EZ0NrQjs7QVYxTmxDLFlBQVk7QUFBUyxRQUFRO0VVNE5FLFNDMFlsQixPRDFZa0I7O0FWNU4vQixhQUFhO0FBQVMsYUFBYTtFVThOQyxTQzhZbEIsT0Q5WWtCOztBVjlOcEMsV0FBVztBQUFTLFlBQVk7RVVnT0csU0MyWWxCLE9EM1lrQjs7QVZoT25DLFlBQVk7RVVpT3VCLFNDVWxCLE9EVmtCOztBVmpPbkMsWUFBWTtFVWtPdUIsU0N1TWxCLE9Edk1rQjs7QVZsT25DLGVBQWU7QUFBUyxRQUFRO0VVb09ELFNDcWZsQixPRHJma0I7O0FWcE8vQixTQUFTO0FBQVMsU0FBUztFVXNPSyxTQ29GbEIsT0RwRmtCOztBVnRPaEMsYUFBYTtBQUFTLGNBQWM7RVV3T0MsU0MrYWxCLE9EL2FrQjs7QVZ4T3JDLGFBQWE7RVV5T3VCLFNDN0NsQixPRDZDa0I7O0FWek9wQyxjQUFjO0VVME91QixTQzFDbEIsT0QwQ2tCOztBVjFPckMsU0FBUztBQUFTLFFBQVE7RVU0T0ssU0NwSWxCLE9Eb0lrQjs7QVY1Ty9CLFdBQVc7RVU2T3VCLFNDNldsQixPRDdXa0I7O0FWN09sQyxZQUFZO0VVOE91QixTQ3llbEIsT0R6ZWtCOztBVjlPbkMsU0FBUztBQUFTLGFBQWE7RVVnUEssU0NyRWxCLE9EcUVrQjs7QVZoUHBDLGVBQWU7RVVpUHVCLFNDcUxsQixPRHJMa0I7O0FWalB0QyxZQUFZO0VVa1B1QixTQ0dsQixPREhrQjs7QVZsUG5DLGtCQUFrQjtFVW1QdUIsU0NuRWxCLE9EbUVrQjs7QVZuUHpDLGdCQUFnQjtFVW9QdUIsU0NuRWxCLE9EbUVrQjs7QVZwUHZDLFdBQVc7RVVxUHVCLFNDaWZsQixPRGpma0I7O0FWclBsQyxlQUFlO0VVc1B1QixTQzhZbEIsT0Q5WWtCOztBVnRQdEMsWUFBWTtFVXVQdUIsU0N5WmxCLE9EelprQjs7QVZ2UG5DLFVBQVU7RVV3UHVCLFNDOUpsQixPRDhKa0I7O0FWeFBqQyxVQUFVO0VVeVB1QixTQ2xFbEIsT0RrRWtCOztBVnpQakMsV0FBVztFVTBQdUIsU0MxQ2xCLE9EMENrQjs7QVYxUGxDLGVBQWU7RVUyUHVCLFNDOEJsQixPRDlCa0I7O0FWM1B0QyxjQUFjO0VVNFB1QixTQzFJbEIsT0QwSWtCOztBVjVQckMsY0FBYztFVTZQdUIsU0NzSGxCLE9EdEhrQjs7QVY3UHJDLGFBQWE7RVU4UHVCLFNDck9sQixPRHFPa0I7O0FWOVBwQyxVQUFVO0VVK1B1QixTQzRNbEIsT0Q1TWtCOztBVi9QakMsZUFBZTtFVWdRdUIsU0NVbEIsT0RWa0I7O0FWaFF0QyxRQUFRO0VVaVF1QixTQzNLbEIsT0QyS2tCOztBVmpRL0IsWUFBWTtFVWtRdUIsU0N1RmxCLE9EdkZrQjs7QVZsUW5DLGVBQWU7RVVtUXVCLFNDMlFsQixPRDNRa0I7O0FWblF0QyxxQkFBcUI7RVVvUXVCLFNDck9sQixPRHFPa0I7O0FWcFE1QyxzQkFBc0I7RVVxUXVCLFNDck9sQixPRHFPa0I7O0FWclE3QyxtQkFBbUI7RVVzUXVCLFNDck9sQixPRHFPa0I7O0FWdFExQyxxQkFBcUI7RVV1UXVCLFNDek9sQixPRHlPa0I7O0FWdlE1QyxjQUFjO0VVd1F1QixTQ3JPbEIsT0RxT2tCOztBVnhRckMsZUFBZTtFVXlRdUIsU0NyT2xCLE9EcU9rQjs7QVZ6UXRDLFlBQVk7RVUwUXVCLFNDck9sQixPRHFPa0I7O0FWMVFuQyxjQUFjO0VVMlF1QixTQ3pPbEIsT0R5T2tCOztBVjNRckMsV0FBVztFVTRRdUIsU0NwRGxCLE9Eb0RrQjs7QVY1UWxDLFVBQVU7RVU2UXVCLFNDNElsQixPRDVJa0I7O0FWN1FqQyxVQUFVO0VVOFF1QixTQ3dZbEIsT0R4WWtCOztBVjlRakMsZ0JBQWdCO0FBQVMsVUFBVTtFVWdSRixTQ3VNbEIsT0R2TWtCOztBVmhSakMsWUFBWTtFVWlSdUIsU0N6R2xCLE9EeUdrQjs7QVZqUm5DLGNBQWM7RVVrUnVCLFNDeVFsQixPRHpRa0I7O0FWbFJyQyxlQUFlO0VVbVJ1QixTQ3lRbEIsT0R6UWtCOztBVm5SdEMsV0FBVztFVW9SdUIsU0MrVmxCLE9EL1ZrQjs7QVZwUmxDLFVBQVU7RVVxUnVCLFNDOUdsQixPRDhHa0I7O0FWclJqQyxjQUFjO0FBQVMsU0FBUztFVXVSQSxTQ29SbEIsT0RwUmtCOztBVnZSaEMsY0FBYztFVXdSdUIsU0MrQ2xCLE9EL0NrQjs7QVZ4UnJDLFlBQVk7RVV5UnVCLFNDbUJsQixPRG5Ca0I7O0FWelJuQyxpQkFBaUI7RVUwUnVCLFNDb0JsQixPRHBCa0I7O0FWMVJ4QyxXQUFXO0VVMlJ1QixTQ3FVbEIsT0RyVWtCOztBVjNSbEMsV0FBVztFVTRSdUIsU0MyQmxCLE9EM0JrQjs7QVY1UmxDLFNBQVM7RVU2UnVCLFNDZ0xsQixPRGhMa0I7O0FWN1JoQyxXQUFXO0VVOFJ1QixTQzJCbEIsT0QzQmtCOztBVjlSbEMsY0FBYztFVStSdUIsU0N1SGxCLE9EdkhrQjs7QVYvUnJDLFVBQVU7RVVnU3VCLFNDTWxCLE9ETmtCOztBVmhTakMsa0JBQWtCO0VVaVN1QixTQ0lsQixPREprQjs7QVZqU3pDLFlBQVk7RVVrU3VCLFNDNlhsQixPRDdYa0I7O0FWbFNuQyxRQUFRO0VVbVN1QixTQ2hIbEIsT0RnSGtCOztBVm5TL0Isa0JBQWtCO0FBQVMsYUFBYTtFVXFTSixTQ3VRbEIsT0R2UWtCOztBVnJTcEMsbUJBQW1CO0FBQVMsa0JBQWtCO0FBQVMsZUFBZTtFVXdTaEMsU0NzVmxCLE9EdFZrQjs7QVZ4U3RDLGtCQUFrQjtFVXlTdUIsU0N3SWxCLE9EeElrQjs7QVZ6U3pDLFFBQVE7RVUwU3VCLFNDaEdsQixPRGdHa0I7O0FWMVMvQixhQUFhO0VVMlN1QixTQ3ZIbEIsT0R1SGtCOztBVjNTcEMsVUFBVTtBQUFTLGdCQUFnQjtFVTZTSSxTQ3RKbEIsT0RzSmtCOztBVjdTdkMsWUFBWTtFVThTdUIsU0N5T2xCLE9Eek9rQjs7QVY5U25DLFFBQVE7RVUrU3VCLFNDMEZsQixPRDFGa0I7O0FWL1MvQixlQUFlO0VVZ1R1QixTQzFEbEIsT0QwRGtCOztBVmhUdEMsZUFBZTtFVWlUdUIsU0NrV2xCLE9EbFdrQjs7QVZqVHRDLGFBQWE7RVVrVHVCLFNDNFZsQixPRDVWa0I7O0FWbFRwQyxVQUFVO0VVbVR1QixTQ2xFbEIsT0RrRWtCOztBVm5UakMsZ0JBQWdCO0VVb1R1QixTQ2dPbEIsT0RoT2tCOztBVnBUdkMsY0FBYztFVXFUdUIsU0MySmxCLE9EM0prQjs7QVZyVHJDLG9CQUFvQjtFVXNUdUIsU0MySmxCLE9EM0prQjs7QVZ0VDNDLFVBQVU7RVV1VHVCLFNDc1JsQixPRHRSa0I7O0FWdlRqQyxjQUFjO0VVd1R1QixTQzVMbEIsT0Q0TGtCOztBVnhUckMscUJBQXFCO0VVeVR1QixTQ3hCbEIsT0R3QmtCOztBVnpUNUMsVUFBVTtFVTBUdUIsU0N1UGxCLE9EdlBrQjs7QVYxVGpDLFVBQVU7RVUyVHVCLFNDNklsQixPRDdJa0I7O0FWM1RqQyx1QkFBdUI7RVU0VHVCLFNDOUpsQixPRDhKa0I7O0FWNVQ5Qyx3QkFBd0I7RVU2VHVCLFNDOUpsQixPRDhKa0I7O0FWN1QvQyxxQkFBcUI7RVU4VHVCLFNDOUpsQixPRDhKa0I7O0FWOVQ1Qyx1QkFBdUI7RVUrVHVCLFNDbEtsQixPRGtLa0I7O0FWL1Q5QyxTQUFTO0VVZ1V1QixTQzhEbEIsT0Q5RGtCOztBVmhVaEMsUUFBUTtFVWlVdUIsU0NySGxCLE9EcUhrQjs7QVZqVS9CLFVBQVU7RVVrVXVCLFNDdlNsQixPRHVTa0I7O0FWbFVqQyxjQUFjO0VVbVV1QixTQzJabEIsT0QzWmtCOztBVm5VckMsWUFBWTtFVW9VdUIsU0NoTmxCLE9EZ05rQjs7QVZwVW5DLGNBQWM7RVVxVXVCLFNDN0ZsQixPRDZGa0I7O0FWclVyQyxjQUFjO0VVc1V1QixTQzdGbEIsT0Q2RmtCOztBVnRVckMsY0FBYztFVXVVdUIsU0MrT2xCLE9EL09rQjs7QVZ2VXJDLGVBQWU7RVV3VXVCLFNDaU1sQixPRGpNa0I7O0FWeFV0QyxVQUFVO0VVeVV1QixTQzZXbEIsT0Q3V2tCOztBVnpVakMsZ0JBQWdCO0VVMFV1QixTQzBJbEIsT0QxSWtCOztBVjFVdkMsa0JBQWtCO0VVMlV1QixTQzBJbEIsT0QxSWtCOztBVjNVekMsWUFBWTtFVTRVdUIsU0NxRmxCLE9EckZrQjs7QVY1VW5DLGNBQWM7RVU2VXVCLFNDbUZsQixPRG5Ga0I7O0FWN1VyQyxnQkFBZ0I7RVU4VXVCLFNDbkxsQixPRG1Ma0I7O0FWOVV2QyxpQkFBaUI7RVUrVXVCLFNDMEtsQixPRDFLa0I7O0FWL1V4Qyx3QkFBd0I7RVVnVnVCLFNDcEZsQixPRG9Ga0I7O0FWaFYvQyxnQkFBZ0I7RVVpVnVCLFNDd1BsQixPRHhQa0I7O0FWalZ2QyxXQUFXO0VVa1Z1QixTQ2pKbEIsT0RpSmtCOztBVmxWbEMsZUFBZTtBQUFTLHVCQUF1QjtFVW9WRCxTQy9NbEIsT0QrTWtCOztBVnBWOUMsYUFBYTtBQUFTLHFCQUFxQjtFVXNWQyxTQzlNbEIsT0Q4TWtCOztBVnRWNUMsZ0JBQWdCO0FBQVMsd0JBQXdCO0VVd1ZGLFNDak5sQixPRGlOa0I7O0FWeFYvQyxRQUFRO0FBQVMsT0FBTztFVTBWTSxTQ3ZHbEIsT0R1R2tCOztBVjFWOUIsT0FBTztFVTJWdUIsU0NoQ2xCLE9EZ0NrQjs7QVYzVjlCLFVBQVU7QUFBUyxPQUFPO0VVNlZJLFNDcVlsQixPRHJZa0I7O0FWN1Y5QixTQUFTO0FBQVMsT0FBTztFVStWSyxTQzRDbEIsT0Q1Q2tCOztBVi9WOUIsT0FBTztBQUFTLE9BQU87QUFBUyxPQUFPO0FBQVMsT0FBTztFVW1XekIsU0NnRGxCLE9EaERrQjs7QVZuVzlCLFNBQVM7QUFBUyxVQUFVO0FBQVMsT0FBTztFVXNXZCxTQ2lObEIsT0RqTmtCOztBVnRXOUIsT0FBTztBQUFTLE9BQU87RVV3V08sU0MrQ2xCLE9EL0NrQjs7QVZ4VzlCLFdBQVc7QUFBUyxPQUFPO0VVMFdHLFNDM1BsQixPRDJQa0I7O0FWMVc5QixRQUFRO0VVMld1QixTQ2hHbEIsT0RnR2tCOztBVjNXL0IsYUFBYTtFVTRXdUIsU0NwRmxCLE9Eb0ZrQjs7QVY1V3BDLGtCQUFrQjtFVTZXdUIsU0MwUGxCLE9EMVBrQjs7QVY3V3pDLG1CQUFtQjtFVThXdUIsU0MwUGxCLE9EMVBrQjs7QVY5VzFDLG1CQUFtQjtFVStXdUIsU0MwUGxCLE9EMVBrQjs7QVYvVzFDLG9CQUFvQjtFVWdYdUIsU0MwUGxCLE9EMVBrQjs7QVZoWDNDLG9CQUFvQjtFVWlYdUIsU0M2UGxCLE9EN1BrQjs7QVZqWDNDLHFCQUFxQjtFVWtYdUIsU0M2UGxCLE9EN1BrQjs7QVZsWDVDLGFBQWE7RVVtWHVCLFNDa1VsQixPRGxVa0I7O0FWblhwQyxlQUFlO0VVb1h1QixTQzhUbEIsT0Q5VGtCOztBVnBYdEMsa0JBQWtCO0VVcVh1QixTQ3lhbEIsT0R6YWtCOztBVnJYekMsV0FBVztFVXNYdUIsU0NzYWxCLE9EdGFrQjs7QVZ0WGxDLFFBQVE7RVV1WHVCLFNDMlpsQixPRDNaa0I7O0FWdlgvQixlQUFlO0VVd1h1QixTQzJabEIsT0QzWmtCOztBVnhYdEMsZ0JBQWdCO0VVeVh1QixTQ29hbEIsT0RwYWtCOztBVnpYdkMsV0FBVztFVTBYdUIsU0N4SmxCLE9Ed0prQjs7QVYxWGxDLGtCQUFrQjtFVTJYdUIsU0M4UGxCLE9EOVBrQjs7QVYzWHpDLGFBQWE7RVU0WHVCLFNDZ0JsQixPRGhCa0I7O0FWNVhwQyxVQUFVO0VVNlh1QixTQ3BGbEIsT0RvRmtCOztBVjdYakMsT0FBTztFVThYdUIsU0MzV2xCLE9EMldrQjs7QVY5WDlCLGFBQWE7RVUrWHVCLFNDL1JsQixPRCtSa0I7O0FWL1hwQyxvQkFBb0I7RVVnWXVCLFNDL1JsQixPRCtSa0I7O0FWaFkzQyxVQUFVO0VVaVl1QixTQytVbEIsT0QvVWtCOztBVmpZakMsaUJBQWlCO0VVa1l1QixTQytVbEIsT0QvVWtCOztBVmxZeEMsbUJBQW1CO0VVbVl1QixTQ2dEbEIsT0RoRGtCOztBVm5ZMUMsaUJBQWlCO0VVb1l1QixTQ2tEbEIsT0RsRGtCOztBVnBZeEMsbUJBQW1CO0VVcVl1QixTQytDbEIsT0QvQ2tCOztBVnJZMUMsb0JBQW9CO0VVc1l1QixTQytDbEIsT0QvQ2tCOztBVnRZM0MsU0FBUztFVXVZdUIsU0NqV2xCLE9EaVdrQjs7QVZ2WWhDLFdBQVc7RVV3WXVCLFNDbVlsQixPRG5Za0I7O0FWeFlsQyxXQUFXO0VVeVl1QixTQzdXbEIsT0Q2V2tCOztBVnpZbEMsU0FBUztFVTBZdUIsU0NrQ2xCLE9EbENrQjs7QVYxWWhDLFlBQVk7RVUyWXVCLFNDNUtsQixPRDRLa0I7O0FWM1luQyxTQUFTO0VVNFl1QixTQ2dObEIsT0RoTmtCOztBVjVZaEMsY0FBYztFVTZZdUIsU0N4RmxCLE9Ed0ZrQjs7QVY3WXJDLFVBQVU7RVU4WXVCLFNDNFRsQixPRDVUa0I7O0FWOVlqQyxVQUFVO0VVK1l1QixTQ3RJbEIsT0RzSWtCOztBVi9ZakMsUUFBUTtFVWdadUIsU0M2Q2xCLE9EN0NrQjs7QVZoWi9CLFVBQVU7QUFBUyxZQUFZO0VVa1pJLFNDNURsQixPRDREa0I7O0FWbFpuQyxTQUFTO0VVbVp1QixTQzhQbEIsT0Q5UGtCOztBVm5aaEMsVUFBVTtFVW9adUIsU0N1RWxCLE9EdkVrQjs7QVZwWmpDLFdBQVc7RVVxWnVCLFNDOVdsQixPRDhXa0I7O0FWclpsQyxPQUFPO0VVc1p1QixTQ3RTbEIsT0RzU2tCOztBVnRaOUIsTUFBTTtFVXVadUIsU0NpV2xCLE9EaldrQjs7QVZ2WjdCLFNBQVM7RVV3WnVCLFNDdVdsQixPRHZXa0I7O0FWeFpoQyxVQUFVO0VVeVp1QixTQytJbEIsT0QvSWtCOztBVnpaakMsYUFBYTtFVTBadUIsU0NrRmxCLE9EbEZrQjs7QVYxWnBDLGtCQUFrQjtFVTJadUIsU0M2TmxCLE9EN05rQjs7QVYzWnpDLHdCQUF3QjtFVTRadUIsU0MvV2xCLE9EK1drQjs7QVY1Wi9DLHVCQUF1QjtFVTZadUIsU0NqWGxCLE9EaVhrQjs7QVY3WjlDLGVBQWU7QUFBUyx1QkFBdUI7RVUrWkQsU0N6UmxCLE9EeVJrQjs7QVYvWjlDLGdCQUFnQjtFVWdhdUIsU0NuTWxCLE9EbU1rQjs7QVZoYXZDLGNBQWM7RVVpYXVCLFNDaVdsQixPRGpXa0I7O0FWamFyQyxnQkFBZ0I7RVVrYXVCLFNDb1ZsQixPRHBWa0I7O0FWbGF2QyxnQkFBZ0I7QUFBUyxPQUFPO0VVb2FGLFNDMFNsQixPRDFTa0I7O0FWcGE5QixpQkFBaUI7RVVxYXVCLFNDMEdsQixPRDFHa0I7O0FWcmF4QyxpQkFBaUI7RVVzYXVCLFNDNE1sQixPRDVNa0I7O0FWdGF4QyxTQUFTO0VVdWF1QixTQ3NMbEIsT0R0TGtCOztBVnZhaEMsbUJBQW1CO0VVd2F1QixTQ3pMbEIsT0R5TGtCOztBVnhhMUMsYUFBYTtFVXlhdUIsU0NvV2xCLE9EcFdrQjs7QVZ6YXBDLFVBQVU7RVUwYXVCLFNDOERsQixPRDlEa0I7O0FWMWFqQyxlQUFlO0FBQVMsUUFBUTtBQUFTLGNBQWM7RVU2YWxCLFNDOFNsQixPRDlTa0I7O0FWN2FyQyxnQkFBZ0I7QUFBUyxrQkFBa0I7RVUrYUYsU0MxRmxCLE9EMEZrQjs7QVYvYXpDLFNBQVM7RVVnYnVCLFNDc1dsQixPRHRXa0I7O0FWaGJoQyxVQUFVO0VVaWJ1QixTQ2xHbEIsT0RrR2tCOztBVmpiakMsVUFBVTtFVWtidUIsU0NnSGxCLE9EaEhrQjs7QVZsYmpDLGlCQUFpQjtFVW1idUIsU0NpSGxCLE9EakhrQjs7QVZuYnhDLHNCQUFzQjtFVW9idUIsU0N5TmxCLE9Eek5rQjs7QVZwYjdDLGVBQWU7RVVxYnVCLFNDdU5sQixPRHZOa0I7O0FWcmJ0QyxhQUFhO0VVc2J1QixTQy9ObEIsT0QrTmtCOztBVnRicEMsUUFBUTtFVXVidUIsU0M1TmxCLE9ENE5rQjs7QVZ2Yi9CLGlCQUFpQjtFVXdidUIsU0MyRWxCLE9EM0VrQjs7QVZ4YnhDLGtCQUFrQjtFVXlidUIsU0N5RWxCLE9EekVrQjs7QVZ6YnpDLFVBQVU7RVUwYnVCLFNDdk5sQixPRHVOa0I7O0FWMWJqQyxVQUFVO0VVMmJ1QixTQ3pDbEIsT0R5Q2tCOztBVjNiakMsWUFBWTtFVTRidUIsU0NwQ2xCLE9Eb0NrQjs7QVY1Ym5DLE9BQU87RVU2YnVCLFNDdExsQixPRHNMa0I7O0FWN2I5QixZQUFZO0VVOGJ1QixTQzdVbEIsT0Q2VWtCOztBVjlibkMsU0FBUztFVStidUIsU0MxUmxCLE9EMFJrQjs7QVYvYmhDLE9BQU87RVVnY3VCLFNDc0RsQixPRHREa0I7O0FWaGM5QixTQUFTO0VVaWN1QixTQ21MbEIsT0RuTGtCOztBVmpjaEMsUUFBUTtFVWtjdUIsU0NyUGxCLE9EcVBrQjs7QVZsYy9CLFNBQVM7RVVtY3VCLFNDclBsQixPRHFQa0I7O0FWbmNoQyxXQUFXO0VVb2N1QixTQzdXbEIsT0Q2V2tCOztBVnBjbEMsa0JBQWtCO0VVcWN1QixTQzdXbEIsT0Q2V2tCOztBVnJjekMsU0FBUztFVXNjdUIsU0MwTGxCLE9EMUxrQjs7QVZ0Y2hDLGdCQUFnQjtFVXVjdUIsU0MwTGxCLE9EMUxrQjs7QVZ2Y3ZDLFdBQVc7RVV3Y3VCLFNDeUZsQixPRHpGa0I7O0FWeGNsQyxjQUFjO0FBQVMsT0FBTztFVTBjQSxTQ3pVbEIsT0R5VWtCOztBVjFjOUIsT0FBTztBQUFTLFFBQVE7RVU0Y08sU0MrTWxCLE9EL01rQjs7QVY1Yy9CLFFBQVE7RVU2Y3VCLFNDNFBsQixPRDVQa0I7O0FWN2MvQixXQUFXO0VVOGN1QixTQ3VLbEIsT0R2S2tCOztBVjljbEMsY0FBYztFVStjdUIsU0N0UGxCLE9Ec1BrQjs7QVYvY3JDLGNBQWM7RVVnZHVCLFNDaUtsQixPRGpLa0I7O0FWaGRyQyxZQUFZO0VVaWR1QixTQzlQbEIsT0Q4UGtCOztBVmpkbkMsY0FBYztFVWtkdUIsU0MvTGxCLE9EK0xrQjs7QVZsZHJDLGVBQWU7RVVtZHVCLFNDeExsQixPRHdMa0I7O0FWbmR0QyxnQkFBZ0I7RVVvZHVCLFNDck1sQixPRHFNa0I7O0FWcGR2QyxxQkFBcUI7RVVxZHVCLFNDL0xsQixPRCtMa0I7O0FWcmQ1QyxnQkFBZ0I7QUFBUyxrQkFBa0I7QUFBUyxnQkFBZ0I7RVV3ZDdCLFNDeE1sQixPRHdNa0I7O0FWeGR2QyxjQUFjO0FBQVMsa0JBQWtCO0VVMGRBLFNDOU1sQixPRDhNa0I7O0FWMWR6QyxnQkFBZ0I7QUFBUyxnQkFBZ0I7RVU0ZEYsU0MvTWxCLE9EK01rQjs7QVY1ZHZDLGdCQUFnQjtBQUFTLGdCQUFnQjtFVThkRixTQ3BNbEIsT0RvTWtCOztBVjlkdkMsZUFBZTtFVStkdUIsU0NqTmxCLE9EaU5rQjs7QVYvZHRDLFFBQVE7RVVnZXVCLFNDdVJsQixPRHZSa0I7O0FWaGUvQixXQUFXO0VVaWV1QixTQzVTbEIsT0Q0U2tCOztBVmplbEMsWUFBWTtFVWtldUIsU0M5RWxCLE9EOEVrQjs7QVZsZW5DLGFBQWE7QUFBUyxhQUFhO0FBQVMsY0FBYztBQUFTLFdBQzlEO0FBQVMsYUFBYTtFVXNlUyxTQ25FbEIsT0RtRWtCOztBVnZlcEMsa0JBQWtCO0VVd2V1QixTQy9UbEIsT0QrVGtCOztBVnhlekMsTUFBTTtBQUFTLGNBQWM7QUFBUyxTQUFTO0VVMmVmLFNDcURsQixPRHJEa0I7O0FWM2VoQyxNQUFNO0FBQVMsVUFBVTtFVTZlUSxTQ25RbEIsT0RtUWtCOztBVjdlakMsY0FBYztFVThldUIsU0N6S2xCLE9EeUtrQjs7QVY5ZXJDLE9BQU87RVUrZXVCLFNDM0tsQixPRDJLa0I7O0FWL2U5Qix1QkFBdUI7QUFBUyxhQUFhO0FBQVMsZUFBZTtFVWtmL0IsU0N4SmxCLE9Ed0prQjs7QVZsZnRDLGlCQUFpQjtFVW1mdUIsU0MyS2xCLE9EM0trQjs7QVZuZnhDLE1BQU07RVVvZnVCLFNDaUNsQixPRGpDa0I7O0FWcGY3QixVQUFVO0FBQVMsVUFBVTtFVXNmSSxTQzBRbEIsT0QxUWtCOztBVnRmakMsUUFBUTtBQUFTLGVBQWU7RVV3Zk0sU0NWbEIsT0RVa0I7O0FWeGZ0QyxVQUFVO0FBQVMsaUJBQWlCO0VVMGZJLFNDWGxCLE9EV2tCOztBVjFmeEMsV0FBVztFVTJmdUIsU0MxSWxCLE9EMElrQjs7QVYzZmxDLGVBQWU7RVU0ZnVCLFNDbFZsQixPRGtWa0I7O0FWNWZ0QyxVQUFVO0VVNmZ1QixTQ2pKbEIsT0RpSmtCOztBVjdmakMsYUFBYTtFVThmdUIsU0NibEIsT0Rha0I7O0FWOWZwQyxXQUFXO0VVK2Z1QixTQytGbEIsT0QvRmtCOztBVi9mbEMsYUFBYTtFVWdnQnVCLFNDdUVsQixPRHZFa0I7O0FWaGdCcEMsb0JBQW9CO0VVaWdCdUIsU0N1RWxCLE9EdkVrQjs7QVZqZ0IzQyxRQUFRO0VVa2dCdUIsU0N6WmxCLE9EeVprQjs7QVZsZ0IvQixpQkFBaUI7QUFBUyxZQUFZO0VVb2dCSCxTQzVNbEIsT0Q0TWtCOztBVnBnQm5DLE9BQU87RVVxZ0J1QixTQzBNbEIsT0QxTWtCOztBVnJnQjlCLGNBQWM7RVVzZ0J1QixTQ3hhbEIsT0R3YWtCOztBVnRnQnJDLFFBQVE7RVV1Z0J1QixTQ0lsQixPREprQjs7QVZ2Z0IvQixjQUFjO0VVd2dCdUIsU0N1RmxCLE9EdkZrQjs7QVZ4Z0JyQyxVQUFVO0VVeWdCdUIsU0MyTWxCLE9EM01rQjs7QVZ6Z0JqQyxRQUFRO0VVMGdCdUIsU0MrUWxCLE9EL1FrQjs7QVYxZ0IvQixlQUFlO0VVMmdCdUIsU0N6Q2xCLE9EeUNrQjs7QVYzZ0J0QyxRQUFRO0VVNGdCdUIsU0N3UGxCLE9EeFBrQjs7QVY1Z0IvQixjQUFjO0VVNmdCdUIsU0NyWmxCLE9EcVprQjs7QVY3Z0JyQyxVQUFVO0VVOGdCdUIsU0N2QmxCLE9EdUJrQjs7QVY5Z0JqQyxpQkFBaUI7RVUrZ0J1QixTQzNMbEIsT0QyTGtCOztBVi9nQnhDLFdBQVc7RVVnaEJ1QixTQzVYbEIsT0Q0WGtCOztBVmhoQmxDLGlCQUFpQjtFVWloQnVCLFNDaFlsQixPRGdZa0I7O0FWamhCeEMsZUFBZTtFVWtoQnVCLFNDbllsQixPRG1Za0I7O0FWbGhCdEMsV0FBVztFVW1oQnVCLFNDdFlsQixPRHNZa0I7O0FWbmhCbEMsYUFBYTtFVW9oQnVCLFNDbFlsQixPRGtZa0I7O0FWcGhCcEMsYUFBYTtFVXFoQnVCLFNDbFlsQixPRGtZa0I7O0FWcmhCcEMsY0FBYztFVXNoQnVCLFNDM2JsQixPRDJia0I7O0FWdGhCckMsZ0JBQWdCO0VVdWhCdUIsU0MzYmxCLE9EMmJrQjs7QVZ2aEJ2QyxTQUFTO0VVd2hCdUIsU0MrS2xCLE9EL0trQjs7QVZ4aEJoQyxhQUFhO0VVeWhCdUIsU0NuVmxCLE9EbVZrQjs7QVZ6aEJwQyxNQUFNO0VVMGhCdUIsU0M5ZGxCLE9EOGRrQjs7QVYxaEI3QixjQUFjO0VVMmhCdUIsU0M1UmxCLE9ENFJrQjs7QVYzaEJyQyxlQUFlO0VVNGhCdUIsU0MvQ2xCLE9EK0NrQjs7QVY1aEJ0QyxpQkFBaUI7RVU2aEJ1QixTQzlibEIsT0Q4YmtCOztBVjdoQnhDLGNBQWM7RVU4aEJ1QixTQ3RmbEIsT0RzZmtCOztBVjloQnJDLGFBQWE7RVUraEJ1QixTQy9CbEIsT0QrQmtCOztBVi9oQnBDLGNBQWM7RVVnaUJ1QixTQ3pIbEIsT0R5SGtCOztBVmhpQnJDLFVBQVU7RVVpaUJ1QixTQ3ZJbEIsT0R1SWtCOztBVmppQmpDLGlCQUFpQjtFVWtpQnVCLFNDdklsQixPRHVJa0I7O0FWbGlCeEMsY0FBYztFVW1pQnVCLFNDNEpsQixPRDVKa0I7O0FWbmlCckMsYUFBYTtFVW9pQnVCLFNDNEpsQixPRDVKa0I7O0FWcGlCcEMsV0FBVztFVXFpQnVCLFNDeGNsQixPRHdja0I7O0FWcmlCbEMsT0FBTztFVXNpQnVCLFNDamJsQixPRGlia0I7O0FWdGlCOUIsV0FBVztFVXVpQnVCLFNDdkpsQixPRHVKa0I7O0FWdmlCbEMsYUFBYTtFVXdpQnVCLFNDM2dCbEIsT0QyZ0JrQjs7QVZ4aUJwQyxNQUFNO0VVeWlCdUIsU0M3WmxCLE9ENlprQjs7QVZ6aUI3QixVQUFVO0FBQVMsVUFBVTtBQUFTLE9BQU87RVU0aUJmLFNDektsQixPRHlLa0I7O0FWNWlCOUIsWUFBWTtFVTZpQnVCLFNDcEdsQixPRG9Ha0I7O0FWN2lCbkMsY0FBYztFVThpQnVCLFNDeGJsQixPRHdia0I7O0FWOWlCckMsa0JBQWtCO0VVK2lCdUIsU0M1V2xCLE9ENFdrQjs7QVYvaUJ6QyxZQUFZO0VVZ2pCdUIsU0M5VmxCLE9EOFZrQjs7QVZoakJuQyxZQUFZO0VVaWpCdUIsU0M5UGxCLE9EOFBrQjs7QVZqakJuQyxXQUFXO0VVa2pCdUIsU0NySmxCLE9EcUprQjs7QVZsakJsQyxVQUFVO0VVbWpCdUIsU0NlbEIsT0Rma0I7O0FWbmpCakMsZ0JBQWdCO0VVb2pCdUIsU0MyQmxCLE9EM0JrQjs7QVZwakJ2QyxlQUFlO0VVcWpCdUIsU0NvQ2xCLE9EcENrQjs7QVZyakJ0QyxZQUFZO0VVc2pCdUIsU0NxQ2xCLE9EckNrQjs7QVZ0akJuQyxhQUFhO0VVdWpCdUIsU0M1YWxCLE9ENGFrQjs7QVZ2akJwQyxtQkFBbUI7RVV3akJ1QixTQzlhbEIsT0Q4YWtCOztBVnhqQjFDLFdBQVc7RVV5akJ1QixTQy9WbEIsT0QrVmtCOztBVnpqQmxDLFFBQVE7RVUwakJ1QixTQ29CbEIsT0RwQmtCOztBVjFqQi9CLGVBQWU7RVUyakJ1QixTQzhLbEIsT0Q5S2tCOztBVjNqQnRDLGNBQWM7RVU0akJ1QixTQy9GbEIsT0QrRmtCOztBVjVqQnJDLGVBQWU7RVU2akJ1QixTQzZFbEIsT0Q3RWtCOztBVjdqQnRDLGFBQWE7RVU4akJ1QixTQzlNbEIsT0Q4TWtCOztBVjlqQnBDLFNBQVM7RVUrakJ1QixTQytLbEIsT0QvS2tCOztBVi9qQmhDLFFBQVE7RVVna0J1QixTQzdIbEIsT0Q2SGtCOztBVmhrQi9CLFdBQVc7RVVpa0J1QixTQ25IbEIsT0RtSGtCOztBVmprQmxDLFlBQVk7QUFBUyxlQUFlO0VVbWtCRSxTQ2tJbEIsT0RsSWtCOztBVm5rQnRDLG1CQUFtQjtFVW9rQnVCLFNDa0lsQixPRGxJa0I7O0FWcGtCMUMsZ0JBQWdCO0VVcWtCdUIsU0MwS2xCLE9EMUtrQjs7QVZya0J2QyxlQUFlO0VVc2tCdUIsU0NsSWxCLE9Ea0lrQjs7QVZ0a0J0QyxjQUFjO0VVdWtCdUIsU0N5S2xCLE9EektrQjs7QVZ2a0JyQyxlQUFlO0VVd2tCdUIsU0NuSWxCLE9EbUlrQjs7QVZ4a0J0QyxpQkFBaUI7RVV5a0J1QixTQ2xJbEIsT0RrSWtCOztBVnprQnhDLGlCQUFpQjtFVTBrQnVCLFNDcElsQixPRG9Ja0I7O0FWMWtCeEMsVUFBVTtFVTJrQnVCLFNDMUdsQixPRDBHa0I7O0FWM2tCakMsY0FBYztFVTRrQnVCLFNDN1FsQixPRDZRa0I7O0FWNWtCckMscUJBQXFCO0VVNmtCdUIsU0MxVWxCLE9EMFVrQjs7QVY3a0I1QyxlQUFlO0VVOGtCdUIsU0N6RWxCLE9EeUVrQjs7QVY5a0J0QyxZQUFZO0VVK2tCdUIsU0NrTGxCLE9EbExrQjs7QVYva0JuQyxVQUFVO0VVZ2xCdUIsU0NYbEIsT0RXa0I7O0FWaGxCakMsYUFBYTtFVWlsQnVCLFNDdUpsQixPRHZKa0I7O0FWamxCcEMsY0FBYztFVWtsQnVCLFNDd0psQixPRHhKa0I7O0FWbGxCckMsU0FBUztBQUFTLE9BQU87RVVvbEJLLFNDL2ZsQixPRCtma0I7O0FWcGxCOUIsV0FBVztFVXFsQnVCLFNDNEpsQixPRDVKa0I7O0FWcmxCbEMsU0FBUztFVXNsQnVCLFNDOEdsQixPRDlHa0I7O0FWdGxCaEMsVUFBVTtFVXVsQnVCLFNDd0RsQixPRHhEa0I7O0FWdmxCakMsVUFBVTtFVXdsQnVCLFNDOUlsQixPRDhJa0I7O0FWeGxCakMsTUFBTTtBQUFTLGdCQUFnQjtFVTBsQlEsU0MwTGxCLE9EMUxrQjs7QVYxbEJ2QyxpQkFBaUI7RVUybEJ1QixTQ2pIbEIsT0RpSGtCOztBVjNsQnhDLFlBQVk7RVU0bEJ1QixTQ3JIbEIsT0RxSGtCOztBVjVsQm5DLGdCQUFnQjtFVTZsQnVCLFNDbldsQixPRG1Xa0I7O0FWN2xCdkMsYUFBYTtBQUFTLFdBQVc7QUFBUyxnQkFBZ0I7RVVnbUJuQixTQy9nQmxCLE9EK2dCa0I7O0FWaG1CdkMsYUFBYTtBQUFTLDBCQUEwQjtFVWttQkMsU0M5Z0JsQixPRDhnQmtCOztBVmxtQmpELGFBQWE7QUFBUyxnQkFBZ0I7RVVvbUJDLFNDbGhCbEIsT0RraEJrQjs7QVZwbUJ2QyxhQUFhO0FBQVMsbUJBQW1CO0VVc21CQyxTQ25oQmxCLE9EbWhCa0I7O0FWdG1CMUMsYUFBYTtBQUFTLGlCQUFpQjtFVXdtQkMsU0N4aEJsQixPRHdoQmtCOztBVnhtQnhDLGlCQUFpQjtFVXltQnVCLFNDM0lsQixPRDJJa0I7O0FWem1CeEMsWUFBWTtFVTBtQnVCLFNDM09sQixPRDJPa0I7O0FWMW1CbkMsZ0JBQWdCO0VVMm1CdUIsU0N4SWxCLE9Ed0lrQjs7QVYzbUJ2QyxrQkFBa0I7RVU0bUJ1QixTQ3hJbEIsT0R3SWtCOztBVjVtQnpDLGVBQWU7RVU2bUJ1QixTQ3dCbEIsT0R4QmtCOztBVjdtQnRDLGlCQUFpQjtFVThtQnVCLFNDd0JsQixPRHhCa0I7O0FWOW1CeEMsVUFBVTtFVSttQnVCLFNDL2RsQixPRCtka0I7O0FWL21CakMsa0JBQWtCO0VVZ25CdUIsU0NsZWxCLE9Ea2VrQjs7QVZobkJ6QyxTQUFTO0VVaW5CdUIsU0NwY2xCLE9Eb2NrQjs7QVZqbkJoQyxpQkFBaUI7RVVrbkJ1QixTQ2xqQmxCLE9Ea2pCa0I7O0FWbG5CeEMsZUFBZTtFVW1uQnVCLFNDeFBsQixPRHdQa0I7O0FWbm5CdEMsZUFBZTtBQUFTLG1CQUFtQjtFVXFuQkQsU0N6UGxCLE9EeVBrQjs7QVZybkIxQyxlQUFlO0FBQVMsa0JBQWtCO0VVdW5CRCxTQzdQbEIsT0Q2UGtCOztBVnZuQnpDLGVBQWU7QUFBUyxpQkFBaUI7RVV5bkJELFNDaFFsQixPRGdRa0I7O0FWem5CeEMsYUFBYTtFVTBuQnVCLFNDclFsQixPRHFRa0I7O0FWMW5CcEMsZUFBZTtBQUFTLGVBQWU7RVU0bkJELFNDeFJsQixPRHdSa0I7O0FWNW5CdEMsZUFBZTtBQUFTLGdCQUFnQjtFVThuQkQsU0M3UmxCLE9ENlJrQjs7QVY5bkJ2QyxtQkFBbUI7RVUrbkJ1QixTQzFSbEIsT0QwUmtCOztBVi9uQjFDLGlCQUFpQjtFVWdvQnVCLFNDcFNsQixPRG9Ta0I7O0FWaG9CeEMsZ0JBQWdCO0VVaW9CdUIsU0MzUmxCLE9EMlJrQjs7QVZqb0J2QyxrQkFBa0I7RVVrb0J1QixTQy9SbEIsT0QrUmtCOztBVmxvQnpDLGdCQUFnQjtFVW1vQnVCLFNDalNsQixPRGlTa0I7O0FWbm9CdkMsYUFBYTtFVW9vQnVCLFNDK0RsQixPRC9Ea0I7O0FWcG9CcEMsY0FBYztFVXFvQnVCLFNDL0ZsQixPRCtGa0I7O0FWcm9CckMsb0JBQW9CO0VVc29CdUIsU0MvYmxCLE9EK2JrQjs7QVZ0b0IzQyxNQUFNO0VVdW9CdUIsU0N0VWxCLE9Ec1VrQjs7QVZ2b0I3QixhQUFhO0VVd29CdUIsU0N0VWxCLE9Ec1VrQjs7QVZ4b0JwQyxlQUFlO0VVeW9CdUIsU0NrRWxCLE9EbEVrQjs7QVZ6b0J0QyxpQkFBaUI7RVUwb0J1QixTQ3JLbEIsT0RxS2tCOztBVjFvQnhDLHdCQUF3QjtFVTJvQnVCLFNDcktsQixPRHFLa0I7O0FWM29CL0MsY0FBYztFVTRvQnVCLFNDNVVsQixPRDRVa0I7O0FWNW9CckMsZUFBZTtFVTZvQnVCLFNDd0hsQixPRHhIa0I7O0FWN29CdEMsVUFBVTtFVThvQnVCLFNDbkZsQixPRG1Ga0I7O0FWOW9CakMsVUFBVTtFVStvQnVCLFNDemVsQixPRHlla0I7O0FWL29CakMsV0FBVztFVWdwQnVCLFNDOVdsQixPRDhXa0I7O0FWaHBCbEMsU0FBUztFVWlwQnVCLFNDeEtsQixPRHdLa0I7O0FWanBCaEMscUJBQXFCO0VVa3BCdUIsU0NwUWxCLE9Eb1FrQjs7QVZscEI1QyxNQUFNO0FBQVMsY0FBYztFVW9wQlEsU0NTbEIsT0RUa0I7O0FWcHBCckMsVUFBVTtFVXFwQnVCLFNDamRsQixPRGlka0I7O0FWcnBCakMsU0FBUztFVXNwQnVCLFNDem9CbEIsT0R5b0JrQjs7QVZ0cEJoQyxVQUFVO0VVdXBCdUIsU0MvbkJsQixPRCtuQmtCOztBVnZwQmpDLG1CQUFtQjtFVXdwQnVCLFNDM2hCbEIsT0QyaEJrQjs7QVZ4cEIxQyxvQkFBb0I7RVV5cEJ1QixTQzloQmxCLE9EOGhCa0I7O0FWenBCM0Msb0JBQW9CO0VVMHBCdUIsU0M1aEJsQixPRDRoQmtCOztBVjFwQjNDLG9CQUFvQjtFVTJwQnVCLFNDamlCbEIsT0RpaUJrQjs7QVYzcEIzQyxZQUFZO0VVNHBCdUIsU0NwUmxCLE9Eb1JrQjs7QVY1cEJuQyxXQUFXO0VVNnBCdUIsU0M1TmxCLE9ENE5rQjs7QVY3cEJsQyxhQUFhO0VVOHBCdUIsU0M1TmxCLE9ENE5rQjs7QVY5cEJwQyxTQUFTO0VVK3BCdUIsU0MvTmxCLE9EK05rQjs7QVYvcEJoQyxPQUFPO0VVZ3FCdUIsU0NsT2xCLE9Ea09rQjs7QVZocUI5QixjQUFjO0VVaXFCdUIsU0NwZWxCLE9Eb2VrQjs7QVZqcUJyQyxnQkFBZ0I7RVVrcUJ1QixTQ3BlbEIsT0RvZWtCOztBVmxxQnZDLFNBQVM7RVVtcUJ1QixTQ3RTbEIsT0RzU2tCOztBVm5xQmhDLFNBQVM7RVVvcUJ1QixTQ2lGbEIsT0RqRmtCOztBVnBxQmhDLGFBQWE7RVVxcUJ1QixTQ2xrQmxCLE9Ea2tCa0I7O0FWcnFCcEMsYUFBYTtFVXNxQnVCLFNDclhsQixPRHFYa0I7O0FWdHFCcEMsZ0JBQWdCO0VVdXFCdUIsU0NwSWxCLE9Eb0lrQjs7QVZ2cUJ2QyxRQUFRO0VVd3FCdUIsU0NwY2xCLE9Eb2NrQjs7QVZ4cUIvQixtQkFBbUI7RVV5cUJ1QixTQ2hlbEIsT0RnZWtCOztBVnpxQjFDLFlBQVk7RVUwcUJ1QixTQ3BmbEIsT0RvZmtCOztBVjFxQm5DLFFBQVE7RVUycUJ1QixTQ2xObEIsT0RrTmtCOztBVjNxQi9CLGdCQUFnQjtFVTRxQnVCLFNDMVhsQixPRDBYa0I7O0FWNXFCdkMsT0FBTztFVTZxQnVCLFNDb0RsQixPRHBEa0I7O0FWN3FCOUIsZ0JBQWdCO0VVOHFCdUIsU0MzSmxCLE9EMkprQjs7QVY5cUJ2QyxZQUFZO0VVK3FCdUIsU0N6TmxCLE9EeU5rQjs7QVYvcUJuQyxVQUFVO0VVZ3JCdUIsU0NsSGxCLE9Ea0hrQjs7QVZockJqQyxnQkFBZ0I7RVVpckJ1QixTQzdMbEIsT0Q2TGtCOztBVmpyQnZDLGtCQUFrQjtFVWtyQnVCLFNDN0xsQixPRDZMa0I7O0FWbHJCekMsZUFBZTtFVW1yQnVCLFNDM0NsQixPRDJDa0I7O0FWbnJCdEMsaUJBQWlCO0VVb3JCdUIsU0MzQ2xCLE9EMkNrQjs7QVZwckJ4QyxnQkFBZ0I7RVVxckJ1QixTQ3JHbEIsT0RxR2tCOztBVnJyQnZDLG1CQUFtQjtFVXNyQnVCLFNDckdsQixPRHFHa0I7O0FWdHJCMUMsV0FBVztFVXVyQnVCLFNDN1VsQixPRDZVa0I7O0FWdnJCbEMsYUFBYTtFVXdyQnVCLFNDbmxCbEIsT0RtbEJrQjs7QVZ4ckJwQyxlQUFlO0VVeXJCdUIsU0NubEJsQixPRG1sQmtCOztBVnpyQnRDLFdBQVc7RVUwckJ1QixTQy9MbEIsT0QrTGtCOztBVjFyQmxDLFVBQVU7RVUyckJ1QixTQ2xYbEIsT0RrWGtCOztBVjNyQmpDLGNBQWM7RVU0ckJ1QixTQ2tGbEIsT0RsRmtCOztBVjVyQnJDLFdBQVc7RVU2ckJ1QixTQ21GbEIsT0RuRmtCOztBVjdyQmxDLFVBQVU7RVU4ckJ1QixTQzljbEIsT0Q4Y2tCOztBVjlyQmpDLG9CQUFvQjtFVStyQnVCLFNDMkJsQixPRDNCa0I7O0FWL3JCM0Msa0JBQWtCO0VVZ3NCdUIsU0NtRWxCLE9EbkVrQjs7QVZoc0J6QyxxQkFBcUI7RVVpc0J1QixTQ3hLbEIsT0R3S2tCOztBVmpzQjVDLFNBQVM7RVVrc0J1QixTQzlsQmxCLE9EOGxCa0I7O0FWbHNCaEMscUJBQXFCO0VVbXNCdUIsU0N0b0JsQixPRHNvQmtCOztBVm5zQjVDLHdCQUF3QjtFVW9zQnVCLFNDcURsQixPRHJEa0I7O0FWcHNCL0MsV0FBVztFVXFzQnVCLFNDeGxCbEIsT0R3bEJrQjs7QVZyc0JsQywrQkFBK0I7RVVzc0J1QixTQzVvQmxCLE9ENG9Ca0I7O0FWdHNCdEQsb0JBQW9CO0FBQVMsdUNBQXVDO0VVd3NCTixTQzlxQmxCLE9EOHFCa0I7O0FWeHNCOUQsWUFBWTtBQUFTLG1CQUFtQjtBQUFTLFFBQVE7RVUyc0IxQixTQ3ZmbEIsT0R1ZmtCOztBVjNzQi9CLFNBQVM7RVU0c0J1QixTQ2hZbEIsT0RnWWtCOztBVjVzQmhDLFdBQVc7RVU2c0J1QixTQ2hZbEIsT0RnWWtCOztBVjdzQmxDLFdBQVc7QUFBUyxpQkFBaUI7RVUrc0JHLFNDMUhsQixPRDBIa0I7O0FWL3NCeEMsY0FBYztFVWd0QnVCLFNDelJsQixPRHlSa0I7O0FWaHRCckMsVUFBVTtFVWl0QnVCLFNDaUNsQixPRGpDa0I7O0FWanRCakMsaUJBQWlCO0VVa3RCdUIsU0NpQ2xCLE9EakNrQjs7QVZsdEJ4QyxZQUFZO0VVbXRCdUIsU0NsSGxCLE9Ea0hrQjs7QVZudEJuQyxrQkFBa0I7RVVvdEJ1QixTQ2xIbEIsT0RrSGtCOztBVnB0QnpDLG1CQUFtQjtFVXF0QnVCLFNDbEhsQixPRGtIa0I7O0FWcnRCMUMsY0FBYztFVXN0QnVCLFNDck5sQixPRHFOa0I7O0FWdHRCckMsZUFBZTtFVXV0QnVCLFNDcGJsQixPRG9ia0I7O0FWdnRCdEMsU0FBUztFVXd0QnVCLFNDbUVsQixPRG5Fa0I7O0FWeHRCaEMsYUFBYTtFVXl0QnVCLFNDcERsQixPRG9Ea0I7O0FWenRCcEMsc0JBQXNCO0FBQVMsd0JBQXdCO0VVMnRCUixTQ3pZbEIsT0R5WWtCOztBVjN0Qi9DLE1BQU07QUFBUyxnQkFBZ0I7RVU2dEJRLFNDN2FsQixPRDZha0I7O0FWN3RCdkMsZUFBZTtFVTh0QnVCLFNDdFhsQixPRHNYa0I7O0FWOXRCdEMsaUJBQWlCO0VVK3RCdUIsU0NsZmxCLE9Ea2ZrQjs7QVYvdEJ4QyxtQkFBbUI7RVVndUJ1QixTQ2xmbEIsT0RrZmtCOztBVmh1QjFDLFVBQVU7RVVpdUJ1QixTQ3RUbEIsT0RzVGtCOztBVmp1QmpDLGdCQUFnQjtFVWt1QnVCLFNDcHRCbEIsT0RvdEJrQjs7QVZsdUJ2QyxrQkFBa0I7RVVtdUJ1QixTQ3B0QmxCLE9Eb3RCa0I7O0FWbnVCekMsU0FBUztBQUFTLGdCQUFnQjtFVXF1QkssU0NydEJsQixPRHF0QmtCOztBVnJ1QnZDLFdBQVc7QUFBUyxrQkFBa0I7RVV1dUJHLFNDdHRCbEIsT0RzdEJrQjs7QVZ2dUJ6QyxlQUFlO0VVd3VCdUIsU0NKbEIsT0RJa0I7O0FWeHVCdEMsaUJBQWlCO0VVeXVCdUIsU0NKbEIsT0RJa0I7O0FWenVCeEMsVUFBVTtFVTB1QnVCLFNDSGxCLE9ER2tCOztBVjF1QmpDLFlBQVk7RVUydUJ1QixTQzNXbEIsT0QyV2tCOztBVjN1Qm5DLG1CQUFtQjtBQUFTLFdBQVc7RVU2dUJMLFNDNVdsQixPRDRXa0I7O0FWN3VCbEMscUJBQXFCO0FBQVMsYUFBYTtFVSt1QlAsU0M3V2xCLE9ENldrQjs7QVYvdUJwQyxTQUFTO0VVZ3ZCdUIsU0N0TmxCLE9Ec05rQjs7QVZodkJoQyxrQkFBa0I7RVVpdkJ1QixTQzNibEIsT0QyYmtCOztBVmp2QnpDLFlBQVk7RVVrdkJ1QixTQ3RGbEIsT0RzRmtCOztBVmx2Qm5DLGlCQUFpQjtBQUFTLGVBQWU7QUFBUyxvQkFBb0I7RVVxdkIzQixTQ3hFbEIsT0R3RWtCOztBVnJ2QjNDLGlCQUFpQjtBQUFTLDhCQUE4QjtFVXV2QkgsU0N2RWxCLE9EdUVrQjs7QVZ2dkJyRCxpQkFBaUI7QUFBUyxvQkFBb0I7RVV5dkJILFNDM0VsQixPRDJFa0I7O0FWenZCM0MsaUJBQWlCO0FBQVMsdUJBQXVCO0VVMnZCSCxTQzVFbEIsT0Q0RWtCOztBVjN2QjlDLGlCQUFpQjtBQUFTLHFCQUFxQjtFVTZ2QkgsU0NqRmxCLE9EaUZrQjs7QVY3dkI1QyxVQUFVO0VVOHZCdUIsU0MzS2xCLE9EMktrQjs7QVY5dkJqQyxXQUFXO0FBQVMsT0FBTztBQUFTLFFBQVE7RVVpd0JiLFNDenJCbEIsT0R5ckJrQjs7QVZqd0IvQixXQUFXO0VVa3dCdUIsU0NsUGxCLE9Ea1BrQjs7QVZsd0JsQyxtQkFBbUI7RVVtd0J1QixTQ0tsQixPRExrQjs7QVZud0IxQyxtQkFBbUI7RVVvd0J1QixTQ0tsQixP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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,null,null,null,null,null,null,null,null,null,null,null]} \ No newline at end of file diff --git a/client/static/mosaico/rs/mosaico.min.js b/client/static/mosaico/rs/mosaico.min.js new file mode 100644 index 00000000..8b5c33bc --- /dev/null +++ b/client/static/mosaico/rs/mosaico.min.js @@ -0,0 +1,348 @@ +/** + * Mosaico - OpenSource Email Template Editor - v0.17.5 - 2019-05-18 + * Licensed under the GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.en.html) + * + * Copyright (c) 2019 Stefano Bagnara + */ +(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(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i
\x3c!-- ko if: typeof $index != \'undefined\' --\x3e
\x3c!-- ko if: $index() > 0 --\x3e
\x3c!-- /ko --\x3e \x3c!-- ko if: $index() < $parent.blocks().length -1 --\x3e
\x3c!-- /ko --\x3e
\x3c!-- /ko --\x3e \x3c!-- ko if: typeof $data._nextVariant != \'undefined\' --\x3e
\x3c!-- /ko --\x3e
\x3c!-- ko block: $data --\x3e\x3c!-- /ko --\x3e'),templateSystem.addTemplate("blocks-show","\x3c!-- ko template: { name: 'block-show', foreach: blocks } --\x3e\x3c!-- /ko --\x3e"),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",'
\x3c!-- ko if: items.pageCount() > 1 --\x3e\x3c!-- /ko --\x3e'),templateSystem.addTemplate("img-wysiwyg",'
size
\x3c!-- ko if: _src() != \'\' --\x3e
\x3c!-- ko if: typeof $root.editImage !== \'undefined\' --\x3e
\x3c!-- /ko --\x3e \x3c!-- /ko --\x3e \x3c!-- ko if: _src() == \'\' --\x3e
\x3c!-- ko if: typeof $root.selectImage !== \'undefined\' --\x3e \x3c!-- /ko --\x3e \x3c!-- /ko --\x3e
\x3c!-- ko template: _template --\x3e\x3c!-- /ko --\x3e \x3c!-- ko if: _src() == \'\' --\x3e \x3c!-- Insert an image here --\x3e Drop an image here \x3c!-- /ko --\x3e \x3c!-- ko if: _src() != \'\' --\x3e \x3c!-- --\x3e \x3c!-- /ko --\x3e \x3c!-- pulsante per la cancellazione --\x3e
\x3c!-- ko if: _src.preloaded && _src() != _src.preloaded() --\x3ePRELOADING....\x3c!-- /ko --\x3e \x3c!-- ko if: _src() != \'\' --\x3e \x3c!-- /ko --\x3e
'),templateSystem.addTemplate("main",'\x3c!-- ko if: $root.logoPath --\x3e
mosaico
Oppps... !!
\x3c!-- /ko --\x3e'),templateSystem.addTemplate("toolbox",'
Block __name__
Add
\x3c!-- ko if: $root.selectedBlock() !== null --\x3e
\x3c!-- /ko --\x3e \x3c!-- ko if: $root.selectedBlock() == null --\x3e
By clicking on message parts you will select a block and content options, if any, will show here
\x3c!-- /ko --\x3e \x3c!-- ko block: content --\x3e\x3c!-- /ko --\x3e
\x3c!-- ko if: typeof $root.content().theme === \'undefined\' || typeof $root.content().theme().scheme === \'undefined\' || $root.content().theme().scheme() === \'custom\' --\x3e \x3c!-- ko if: $root.selectedBlock() !== null --\x3e
\x3c!-- /ko --\x3e \x3c!-- ko if: $root.selectedBlock() == null --\x3e
By clicking on message parts you will select a block and style options, if available, will show here
\x3c!-- /ko --\x3e
\x3c!-- ko block: content --\x3e\x3c!-- /ko --\x3e
\x3c!-- /ko --\x3e
X
Gallery:
Click or drag files here
\x3c!-- ko if: $root.showGallery() --\x3e
\x3c!-- ko if: galleryRecent().length == 0 --\x3e
No images uploaded, yet
\x3c!-- /ko --\x3e \x3c!-- ko template: {name: \'gallery-images\', data: { items: galleryRecent } } --\x3e# recent gallery #\x3c!-- /ko --\x3e
\x3c!-- ko if: $root.galleryLoaded() === false --\x3e# load gally #\x3c!-- /ko --\x3e \x3c!-- ko if: $root.galleryLoaded() === \'loading\' --\x3e
Loading gallery...
\x3c!-- /ko --\x3e \x3c!-- ko if: $root.galleryLoaded() === 0 --\x3e
The gallery is empty
\x3c!-- /ko --\x3e \x3c!-- ko template: {name: \'gallery-images\', data: { items: galleryRemote } } --\x3e# remote gallery #\x3c!-- /ko --\x3e
\x3c!-- /ko --\x3e
X
\x3c!-- ko if: $root.debug --\x3e Content:
  BlockDefs:  
  \x3c!-- /ko --\x3e  Output  Export  Import  
X
\x3c!-- ko withProperties: { templateMode: \'styler\' } --\x3e \x3c!-- ko if: $root.showTheme --\x3e \x3c!-- ko block: $root.content().theme --\x3e\x3c!-- /ko --\x3e \x3c!-- /ko --\x3e \x3c!-- /ko --\x3e
')}); + +},{"../src/js/bindings/choose-template.js":31}],2:[function(require,module,exports){ +(function (global){ +"use strict";function compare(e,t){if(e===t)return 0;for(var r=e.length,n=t.length,i=0,a=Math.min(r,n);i=0;u--)if(o[u]!==f[u])return!1;for(u=o.length-1;u>=0;u--)if(!_deepEqual(e[s=o[u]],t[s],r,n))return!1;return!0}function notDeepStrictEqual(e,t,r){_deepEqual(e,t,!0)&&fail(e,t,r,"notDeepStrictEqual",notDeepStrictEqual)}function expectedException(e,t){if(!e||!t)return!1;if("[object RegExp]"==Object.prototype.toString.call(t))return t.test(e);try{if(e instanceof t)return!0}catch(e){}return!Error.isPrototypeOf(t)&&!0===t.call({},e)}function _tryBlock(e){var t;try{e()}catch(e){t=e}return t}function _throws(e,t,r,n){var i;if("function"!=typeof t)throw new TypeError('"block" argument must be a function');"string"==typeof r&&(n=r,r=null),i=_tryBlock(t),n=(r&&r.name?" ("+r.name+").":".")+(n?" "+n:"."),e&&!i&&fail(i,r,"Missing expected exception"+n);var a="string"==typeof n,s=!e&&i&&!r;if((!e&&util.isError(i)&&a&&expectedException(i,r)||s)&&fail(i,r,"Got unwanted exception"+n),e&&i&&r&&!expectedException(i,r)||!e&&i)throw i}assert.AssertionError=function(e){this.name="AssertionError",this.actual=e.actual,this.expected=e.expected,this.operator=e.operator,e.message?(this.message=e.message,this.generatedMessage=!1):(this.message=getMessage(this),this.generatedMessage=!0);var t=e.stackStartFunction||fail;if(Error.captureStackTrace)Error.captureStackTrace(this,t);else{var r=new Error;if(r.stack){var n=r.stack,i=getName(t),a=n.indexOf("\n"+i);if(a>=0){var s=n.indexOf("\n",a+1);n=n.substring(s+1)}this.stack=n}}},util.inherits(assert.AssertionError,Error),assert.fail=fail,assert.ok=ok,assert.equal=function(e,t,r){e!=t&&fail(e,t,r,"==",assert.equal)},assert.notEqual=function(e,t,r){e==t&&fail(e,t,r,"!=",assert.notEqual)},assert.deepEqual=function(e,t,r){_deepEqual(e,t,!1)||fail(e,t,r,"deepEqual",assert.deepEqual)},assert.deepStrictEqual=function(e,t,r){_deepEqual(e,t,!0)||fail(e,t,r,"deepStrictEqual",assert.deepStrictEqual)},assert.notDeepEqual=function(e,t,r){_deepEqual(e,t,!1)&&fail(e,t,r,"notDeepEqual",assert.notDeepEqual)},assert.notDeepStrictEqual=notDeepStrictEqual,assert.strictEqual=function(e,t,r){e!==t&&fail(e,t,r,"===",assert.strictEqual)},assert.notStrictEqual=function(e,t,r){e===t&&fail(e,t,r,"!==",assert.notStrictEqual)},assert.throws=function(e,t,r){_throws(!0,e,t,r)},assert.doesNotThrow=function(e,t,r){_throws(!1,e,t,r)},assert.ifError=function(e){if(e)throw e};var objectKeys=Object.keys||function(e){var t=[];for(var r in e)hasOwn.call(e,r)&&t.push(r);return t}; + +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) + +},{"util/":5}],3:[function(require,module,exports){ +"function"==typeof Object.create?module.exports=function(t,e){t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}})}:module.exports=function(t,e){t.super_=e;var o=function(){};o.prototype=e.prototype,t.prototype=new o,t.prototype.constructor=t}; + +},{}],4:[function(require,module,exports){ +module.exports=function(o){return o&&"object"==typeof o&&"function"==typeof o.copy&&"function"==typeof o.fill&&"function"==typeof o.readUInt8}; + +},{}],5:[function(require,module,exports){ +(function (process,global){ +var formatRegExp=/%[sdj%]/g;exports.format=function(e){if(!isString(e)){for(var r=[],t=0;t=i)return e;switch(e){case"%s":return String(n[t++]);case"%d":return Number(n[t++]);case"%j":try{return JSON.stringify(n[t++])}catch(e){return"[Circular]"}default:return e}}),s=n[t];t=3&&(t.depth=arguments[2]),arguments.length>=4&&(t.colors=arguments[3]),isBoolean(r)?t.showHidden=r:r&&exports._extend(t,r),isUndefined(t.showHidden)&&(t.showHidden=!1),isUndefined(t.depth)&&(t.depth=2),isUndefined(t.colors)&&(t.colors=!1),isUndefined(t.customInspect)&&(t.customInspect=!0),t.colors&&(t.stylize=stylizeWithColor),formatValue(t,e,t.depth)}function stylizeWithColor(e,r){var t=inspect.styles[r];return t?"["+inspect.colors[t][0]+"m"+e+"["+inspect.colors[t][1]+"m":e}function stylizeNoColor(e,r){return e}function arrayToHash(e){var r={};return e.forEach(function(e,t){r[e]=!0}),r}function formatValue(e,r,t){if(e.customInspect&&r&&isFunction(r.inspect)&&r.inspect!==exports.inspect&&(!r.constructor||r.constructor.prototype!==r)){var n=r.inspect(t,e);return isString(n)||(n=formatValue(e,n,t)),n}var i=formatPrimitive(e,r);if(i)return i;var o=Object.keys(r),s=arrayToHash(o);if(e.showHidden&&(o=Object.getOwnPropertyNames(r)),isError(r)&&(o.indexOf("message")>=0||o.indexOf("description")>=0))return formatError(r);if(0===o.length){if(isFunction(r)){var u=r.name?": "+r.name:"";return e.stylize("[Function"+u+"]","special")}if(isRegExp(r))return e.stylize(RegExp.prototype.toString.call(r),"regexp");if(isDate(r))return e.stylize(Date.prototype.toString.call(r),"date");if(isError(r))return formatError(r)}var c,a="",l=!1,p=["{","}"];(isArray(r)&&(l=!0,p=["[","]"]),isFunction(r))&&(a=" [Function"+(r.name?": "+r.name:"")+"]");return isRegExp(r)&&(a=" "+RegExp.prototype.toString.call(r)),isDate(r)&&(a=" "+Date.prototype.toUTCString.call(r)),isError(r)&&(a=" "+formatError(r)),0!==o.length||l&&0!=r.length?t<0?isRegExp(r)?e.stylize(RegExp.prototype.toString.call(r),"regexp"):e.stylize("[Object]","special"):(e.seen.push(r),c=l?formatArray(e,r,t,s,o):o.map(function(n){return formatProperty(e,r,t,s,n,l)}),e.seen.pop(),reduceToSingleString(c,a,p)):p[0]+a+p[1]}function formatPrimitive(e,r){if(isUndefined(r))return e.stylize("undefined","undefined");if(isString(r)){var t="'"+JSON.stringify(r).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(t,"string")}return isNumber(r)?e.stylize(""+r,"number"):isBoolean(r)?e.stylize(""+r,"boolean"):isNull(r)?e.stylize("null","null"):void 0}function formatError(e){return"["+Error.prototype.toString.call(e)+"]"}function formatArray(e,r,t,n,i){for(var o=[],s=0,u=r.length;s-1&&(u=o?u.split("\n").map(function(e){return" "+e}).join("\n").substr(2):"\n"+u.split("\n").map(function(e){return" "+e}).join("\n")):u=e.stylize("[Circular]","special")),isUndefined(s)){if(o&&i.match(/^\d+$/))return u;(s=JSON.stringify(""+i)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(s=s.substr(1,s.length-2),s=e.stylize(s,"name")):(s=s.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),s=e.stylize(s,"string"))}return s+": "+u}function reduceToSingleString(e,r,t){return e.reduce(function(e,r){return 0,r.indexOf("\n")>=0&&0,e+r.replace(/\u001b\[\d\d?m/g,"").length+1},0)>60?t[0]+(""===r?"":r+"\n ")+" "+e.join(",\n ")+" "+t[1]:t[0]+r+" "+e.join(", ")+" "+t[1]}function isArray(e){return Array.isArray(e)}function isBoolean(e){return"boolean"==typeof e}function isNull(e){return null===e}function isNullOrUndefined(e){return null==e}function isNumber(e){return"number"==typeof e}function isString(e){return"string"==typeof e}function isSymbol(e){return"symbol"==typeof e}function isUndefined(e){return void 0===e}function isRegExp(e){return isObject(e)&&"[object RegExp]"===objectToString(e)}function isObject(e){return"object"==typeof e&&null!==e}function isDate(e){return isObject(e)&&"[object Date]"===objectToString(e)}function isError(e){return isObject(e)&&("[object Error]"===objectToString(e)||e instanceof Error)}function isFunction(e){return"function"==typeof e}function isPrimitive(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e}function objectToString(e){return Object.prototype.toString.call(e)}function pad(e){return e<10?"0"+e.toString(10):e.toString(10)}exports.debuglog=function(e){if(isUndefined(debugEnviron)&&(debugEnviron=process.env.NODE_DEBUG||""),e=e.toUpperCase(),!debugs[e])if(new RegExp("\\b"+e+"\\b","i").test(debugEnviron)){var r=process.pid;debugs[e]=function(){var t=exports.format.apply(exports,arguments);console.error("%s %d: %s",e,r,t)}}else debugs[e]=function(){};return debugs[e]},exports.inspect=inspect,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]},inspect.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},exports.isArray=isArray,exports.isBoolean=isBoolean,exports.isNull=isNull,exports.isNullOrUndefined=isNullOrUndefined,exports.isNumber=isNumber,exports.isString=isString,exports.isSymbol=isSymbol,exports.isUndefined=isUndefined,exports.isRegExp=isRegExp,exports.isObject=isObject,exports.isDate=isDate,exports.isError=isError,exports.isFunction=isFunction,exports.isPrimitive=isPrimitive,exports.isBuffer=require("./support/isBuffer");var months=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function timestamp(){var e=new Date,r=[pad(e.getHours()),pad(e.getMinutes()),pad(e.getSeconds())].join(":");return[e.getDate(),months[e.getMonth()],r].join(" ")}function hasOwnProperty(e,r){return Object.prototype.hasOwnProperty.call(e,r)}exports.log=function(){console.log("%s - %s",timestamp(),exports.format.apply(exports,arguments))},exports.inherits=require("inherits"),exports._extend=function(e,r){if(!r||!isObject(r))return e;for(var t=Object.keys(r),n=t.length;n--;)e[t[n]]=r[t[n]];return e}; + +}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) + +},{"./support/isBuffer":4,"_process":22,"inherits":3}],6:[function(require,module,exports){ +(function (global){ +var console,util=require("util"),assert=require("assert"),now=require("date-now"),slice=Array.prototype.slice,times={};console="undefined"!=typeof global&&global.console?global.console:"undefined"!=typeof window&&window.console?window.console:{};for(var functions=[[log,"log"],[info,"info"],[warn,"warn"],[error,"error"],[time,"time"],[timeEnd,"timeEnd"],[trace,"trace"],[dir,"dir"],[consoleAssert,"assert"]],i=0;i0,f=s?"-ie":"",n=!s&&(/mozilla/.test(i.toLowerCase())&&!/webkit/.test(i.toLowerCase())),c=[],a=["ffffff","000000","eeece1","1f497d","4f81bd","c0504d","9bbb59","8064a2","4bacc6","f79646"],r=["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"],l=["c00000","ff0000","ffc000","ffff00","92d050","00b050","00b0f0","0070c0","002060","7030a0"],h=[["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"]],d=function(t){var e=t.toString(16);return 1==e.length&&(e="0"+e),e},p=function(t){return d(Number(t))},v=function(t){var e=d(t);return e+e+e},u=function(t){if(t.length>10){var e=1+t.indexOf("("),o=t.indexOf(")"),i=t.substring(e,o).split(",");return["#",p(i[0]),p(i[1]),p(i[2])].join("")}return t};t.widget("evol.colorpicker",{version:"3.3.2",options:{color:null,customTheme: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 e=this;switch(this._paletteIdx="theme"==this.options.defaultPalette?1:2,this._id="evo-cp"+o++,this._enabled=!0,this.options.showOn=this.options.hideButton?"focus":this.options.showOn,this.element.get(0).tagName){case"INPUT":var i=this.options.color,c=this.element,a=("focus"===this.options.showOn?"":"evo-pointer ")+"evo-colorind"+(n?"-ff":f)+(this.options.hideButton?" evo-hidden-button":""),r="";this._isPopup=!0,this._palette=null;var l=c.val();null!==i?i!=l&&c.val(i).change():""!==l&&(i=this.options.color=l),"#0000ffff"===i?a+=" evo-transparent":r=null!==i?"background-color:"+i:"",c.addClass("colorPicker "+this._id).wrap('
').after('
').on("keyup onpaste",function(o){var i=t(this).val();i!=e.options.color&&e._setValue(i,!0)});var h=this.options.showOn;"both"!==h&&"focus"!==h||c.on("focus",function(){e.showPalette()}),"both"!==h&&"button"!==h||c.next().on("click",function(t){return t.stopPropagation(),e.showPalette(),!1});break;default:this._isPopup=!1,this._palette=this.element.html(this._paletteHTML()).attr("aria-haspopup","true"),this._bindColors()}if(this.options.history&&(i&&this._add2History(i),this.options.initialHistory)){var d=this.options.initialHistory;for(var p in d)this._add2History(d[p])}},_paletteHTML:function(){var t=this._paletteIdx=Math.abs(this._paletteIdx),e=this.options,o=e.strings.split(","),i='
"+this["_paletteHTML"+t]()+'
'+o[1+t]+"";return e.history&&(i+=''+o[5]+""),i+="
",e.displayIndicator&&(i+=this._colorIndHTML(this.options.color)+this._colorIndHTML("")),i+="
"},_colorIndHTML:function(t){var e=s?"evo-colorbox-ie ":"",o="";return t?"#0000ffff"===t?e+="evo-transparent":o="background-color:"+t:o="display:none",'
'+(t||"")+"
"},_paletteHTML1:function(){var t,e=this.options,o=e.strings.split(","),i='
':'">',c='',h=''+c+o[0]+"";if(e.customTheme)for(t=0,ml=e.customTheme.length;t",s||(h+=''),h+='',t=0;t<10;t++)h+=i+r[t]+n;for(var d=1;d<4;d++)for(h+='',t=0;t<10;t++)h+=i+r[10*d+t]+n;for(h+='',t=40;t<50;t++)h+=i+r[t]+n;for(h+=""+c,e.transparentColor&&(h+='
'),h+=o[1]+"",t=0;t<10;t++)h+=i+l[t]+n}return h+="
"},_paletteHTML2:function(){for(var t,e,o='
':'">',n='',c='
',a=0,r=h.length;a
"}c+='
';var d="";for(c+=n,t=255;t>10;t-=10)c+=o+v(t)+i,d+=o+v(t-=10)+i;return c+=""+n+d+"
"},_switchPalette:function(e){if(this._enabled){var o,i,s,f=this.options,n=f.strings.split(",");if(t(e).hasClass("evo-hist")){var a='
'+n[5]+'
';if(0===c.length)a+="

 "+n[6]+"

";else for(var r=c.length-1;r>-1;r--)9===c[r].length?f.transparentColor&&(a+='
'):a+='
';a+="
",o=-this._paletteIdx,i=a,s=n[4]}else this._paletteIdx<0?(o=-this._paletteIdx,this._palette.find(".evo-hist").show()):o=2==this._paletteIdx?1:2,i=this["_paletteHTML"+o](),s=n[o+1],this._paletteIdx=o;this._paletteIdx=o;var l=this._palette.find(".evo-more").prev().html(i).end().children().eq(0).html(s);o<0&&l.next().hide()}},_downOrUpPositioning:function(){for(var t=this.element,e=0;null!==t&&e<100;){if("visible"!=t.css("overflow")){var o=this._palette.offset().top+this._palette.height(),i=t.offset().top+t.height(),s=this._palette.offset().top-this._palette.height()-this.element.outerHeight(),f=t.offset().top;o>i&&s>f?this._palette.css({bottom:this.element.outerHeight()+"px"}):this._palette.css({bottom:"auto"});break}if("HTML"==t[0].tagName)break;t=t.offsetParent(),e++}},showPalette:function(){if(this._enabled&&(this._active=!0,t(".colorPicker").not("."+this._id).colorpicker("hidePalette"),null===this._palette)){this._palette=this.element.next().after(this._paletteHTML()).next().on("click",function(t){return t.stopPropagation(),!1}),this._bindColors();var e=this;this._isPopup&&(this._downOrUpPositioning(),t(document.body).on("click."+e._id,function(t){t.target!=e.element.get(0)&&e.hidePalette()}).on("keyup."+e._id,function(t){27===t.keyCode&&e.hidePalette()}))}return this},hidePalette:function(){if(this._isPopup&&this._palette){t(document.body).off("click."+this._id);var e=this;this._palette.off("mouseover click","td,.evo-transparent").fadeOut(function(){e._palette.remove(),e._palette=e._cTxt=null}).find(".evo-more a").off("click")}return this},_bindColors:function(){var e=this,o=this.options,i=this._palette.find("div.evo-color"),s=o.history?"td,.evo-cHist>div":"td";o.transparentColor&&(s+=",.evo-transparent"),this._cTxt1=i.eq(0).children().eq(0),this._cTxt2=i.eq(1).children().eq(0),this._palette.on("click",s,function(o){if(e._enabled){var i=t(this);e._setValue(i.hasClass("evo-transparent")?"#0000ffff":u(i.attr("style").substring(17))),e._active=!1}}).on("mouseover",s,function(o){if(e._enabled){var i=t(this),s=i.hasClass("evo-transparent")?"#0000ffff":u(i.attr("style").substring(17));e.options.displayIndicator&&e._setColorInd(s,2),e._active&&e.element.trigger("mouseover.color",s)}}).find(".evo-more a").on("click",function(){return e._switchPalette(this),!1})},val:function(t){return void 0===t?this.options.color:(this._setValue(t),this)},_setValue:function(t,e){t=t.replace(/ /g,""),this.options.color=t,this._isPopup?(e||this.hidePalette(),this._setBoxColor(this.element.val(t).change().next(),t)):this._setColorInd(t,1),this.options.history&&this._paletteIdx>0&&this._add2History(t),this.element.trigger("change.color",t)},_setColorInd:function(t,e){var o=this["_cTxt"+e];this._setBoxColor(o,t),o.next().html(t)},_setBoxColor:function(t,e){"#0000ffff"===e?t.addClass("evo-transparent").removeAttr("style"):t.removeClass("evo-transparent").attr("style","background-color:"+e)},_setOption:function(t,e){"color"==t?this._setValue(e,!0):this.options[t]=e},_add2History:function(t){for(var e=c.length,o=0;o27&&c.shift(),c.push(t)},clear:function(){this.hidePalette().val("")},enable:function(){var t=this.element;return this._isPopup?t.removeAttr("disabled"):t.css({opacity:"1","pointer-events":"auto"}),"focus"!==this.options.showOn&&this.element.next().addClass("evo-pointer"),t.removeAttr("aria-disabled"),this._enabled=!0,this},disable:function(){var t=this.element;return this._isPopup?t.attr("disabled","disabled"):(this.hidePalette(),t.css({opacity:"0.3","pointer-events":"none"})),"focus"!==this.options.showOn&&this.element.next().removeClass("evo-pointer"),t.attr("aria-disabled","true"),this._enabled=!1,this},isDisabled:function(){return!this._enabled},destroy:function(){t(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(),t.Widget.prototype.destroy.call(this)}})}(jQuery); + +},{}],9:[function(require,module,exports){ +"function"==typeof Object.create?module.exports=function(t,e){t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}})}:module.exports=function(t,e){t.super_=e;var o=function(){};o.prototype=e.prototype,t.prototype=new o,t.prototype.constructor=t}; + +},{}],10:[function(require,module,exports){ +!function(e){"use strict";var r=function(e,r){var t=new Error(e+" at character "+r);throw t.index=r,t.description=e,t},t={"-":!0,"!":!0,"~":!0,"+":!0},n={"||":1,"&&":2,"|":3,"^":4,"&":5,"==":6,"!=":6,"===":6,"!==":6,"<":7,">":7,"<=":7,">=":7,"<<":8,">>":8,">>>":8,"+":9,"-":9,"*":10,"/":10,"%":10},o=function(e){var r,t=0;for(var n in e)(r=n.length)>t&&e.hasOwnProperty(n)&&(t=r);return t},i=o(t),a=o(n),u={true:!0,false:!1,null:null},s=function(e){return n[e]||0},p=function(e,r,t){return{type:"||"===e||"&&"===e?"LogicalExpression":"BinaryExpression",operator:e,left:r,right:t}},f=function(e){return e>=48&&e<=57},c=function(e){return 36===e||95===e||e>=65&&e<=90||e>=97&&e<=122||e>=128&&!n[String.fromCharCode(e)]},l=function(e){return 36===e||95===e||e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57||e>=128&&!n[String.fromCharCode(e)]},h=function(e){for(var o,h,d=0,v=e.charAt,x=e.charCodeAt,y=function(r){return v.call(e,r)},m=function(r){return x.call(e,r)},g=e.length,b=function(){for(var e=m(d);32===e||9===e||10===e||13===e;)e=m(++d)},E=function(){var e,t,n=w();return b(),63!==m(d)?n:(d++,(e=E())||r("Expected expression",d),b(),58===m(d)?(d++,(t=E())||r("Expected expression",d),{type:"ConditionalExpression",test:n,consequent:e,alternate:t}):void r("Expected :",d))},C=function(){b();for(var r=e.substr(d,a),t=r.length;t>0;){if(n.hasOwnProperty(r)&&(!c(m(d))||d+r.length2&&n<=o[o.length-2].prec;)u=o.pop(),t=o.pop().value,a=o.pop(),e=p(t,a,u),o.push(e);(e=O())||r("Expected expression after "+t,d),o.push(i,e)}for(e=o[f=o.length-1];f>1;)e=p(o[f-1].value,o[f-2],e),f-=2;return e},O=function(){var r,n,o;if(b(),r=m(d),f(r)||46===r)return U();if(39===r||34===r)return k();if(91===r)return S();for(o=(n=e.substr(d,i)).length;o>0;){if(t.hasOwnProperty(n)&&(!c(m(d))||d+n.length=0)return}}if(f){var h=c[c.length-1],g=h.pseudos;h.pseudos=function(e){return e.filter(function(e){return!r(e)})}(h.pseudos),l=c.toString(),h.pseudos=g}try{a=t(l)}catch(e){return}a.each(function(){var r=this;if(!(r.name&&e.nonVisualElements.indexOf(r.name.toUpperCase())>=0)){if(f){var n="pseudo"+f,a=r[n];a||((a=r[n]=t("").get(0)).pseudoElementType=f,a.pseudoElementParent=r,r[n]=a),r=a}if(!r.styleProps){if(r.styleProps={},t(r).attr(i)){var l="* { "+t(r).attr(i)+" } ";c(utils.parseCSS(l)[0][1],new utils.Selector("")}}function p(r,n){if(r.name){var s=r.name.toUpperCase();if(e[n+"Elements"].indexOf(s)>-1)for(var a in r.styleProps)if(r.styleProps[a].prop===n){if(r.styleProps[a].value.match(/px/)){var o=r.styleProps[a].value.replace("px","");return void t(r).attr(n,o)}if(e.tableElements.indexOf(s)>-1&&r.styleProps[a].value.match(/\%/))return void t(r).attr(n,r.styleProps[a].value)}}}function c(e){return 0!==e.indexOf("url(")?e:e.replace(/^url\((["'])?([^"']+)\1\)$/,"$2")}}function r(e){return"before"===e.name||"after"===e.name}return e.ignoredPseudos=["hover","active","focus","visited","link"],e.widthElements=["TABLE","TD","TH","IMG"],e.heightElements=["TABLE","TD","TH","IMG"],e.tableElements=["TABLE","TH","TR","TD","CAPTION","COLGROUP","COL","THEAD","TBODY","TFOOT"],e.nonVisualElements=["HEAD","TITLE","BASE","LINK","STYLE","META","SCRIPT","NOSCRIPT"],e.styleToAttribute={"background-color":"bgcolor","background-image":"background","text-align":"align","vertical-align":"valign"},e.excludedProperties=[],e.juiceDocument=function(r,n){n=utils.getDefaultOptions(n);var s=function(t,r){return function(t,r){var n,s,a,o=[];return t("style").each(function(){if(1===(n=(a=this).childNodes).length){if(s=n[0].data,r.applyStyleTags&&void 0===t(a).attr("data-embed")&&o.push(s),r.removeStyleTags&&void 0===t(a).attr("data-embed")){var i=utils.getPreservedText(a.childNodes[0].nodeValue,{mediaQueries:r.preserveMediaQueries,fontFaces:r.preserveFontFaces,keyFrames:r.preserveKeyFrames,pseudos:e.ignoredPseudos});i?a.childNodes[0].nodeValue=i:t(a).remove()}t(a).removeAttr("data-embed")}}),o}(t,r).join("\n")}(r,n);return s+="\n"+n.extraCss,t(r,s,n),r},e.inlineDocument=t,e}; + +},{"./utils":14}],12:[function(require,module,exports){ +"use strict";module.exports=exports=Property;var utils=require("./utils");function Property(t,r,i,p,o){this.prop=t,this.value=r,this.selector=i,this.priority=p||0,this.additionalPriority=o||[]}Property.prototype.compareFunc=function(t){var r=[];r.push.apply(r,this.selector.specificity()),r.push.apply(r,this.additionalPriority),r[0]+=this.priority;var i=[];return i.push.apply(i,t.selector.specificity()),i.push.apply(i,t.additionalPriority),i[0]+=t.priority,utils.compareFunc(r,i)},Property.prototype.compare=function(t){return 1===this.compareFunc(t)?this:t},Property.prototype.toString=function(){return this.prop+": "+this.value.replace(/['"]+/g,"")+";"}; + +},{"./utils":14}],13:[function(require,module,exports){ +"use strict";var parser=require("slick/parser");function Selector(t,e){this.text=t,this.spec=void 0,this.styleAttribute=e||!1}function parse(t){try{return parser(t)[0]}catch(t){return[]}}module.exports=exports=Selector,Selector.prototype.parsed=function(){return this.tokens||(this.tokens=parse(this.text)),this.tokens},Selector.prototype.specificity=function(){var t=this.styleAttribute;return this.spec||(this.spec=function e(r,s){var i=s||parse(r);var a=[t?1:0,0,0,0];var n=[];for(var o=0;o=0;o--)(t.fontFaces&&"font-face"===s[o].type||t.mediaQueries&&"media"===s[o].type||t.keyFrames&&"keyframes"===s[o].type||t.pseudos&&s[o].selectors&&this.matchesPseudo(s[o].selectors[0],t.pseudos))&&n.unshift(mensch.stringify({stylesheet:{rules:[s[o]]}},{comments:!1,indentation:" "})),s[o].position.start;return 0!==n.length&&"\n"+n.join("\n")+"\n"},exports.normalizeLineEndings=function(e){return e.replace(/\r\n/g,"\n").replace(/\n/g,"\r\n")},exports.matchesPseudo=function(e,t){return t.find(function(t){return e.indexOf(t)>-1})},exports.compareFunc=function(e,t){for(var r=Math.min(e.length,t.length),s=0;st[s]?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 r in t)own.call(t,r)&&(e[r]=t[r]);return e},exports.getDefaultOptions=function(e){var t=exports.extend({extraCss:"",insertPreservedExtraCss:!0,applyStyleTags:!0,removeStyleTags:!0,preserveMediaQueries:!0,preserveFontFaces:!0,preserveKeyFrames:!0,preservePseudos:!0,applyWidthAttributes:!0,applyHeightAttributes:!0,applyAttributesTableElements:!0,url:""},e);return t.webResources=t.webResources||{},t}; + +},{"./property":12,"./selector":13,"mensch":17}],15:[function(require,module,exports){ +(function (global){ +!function(e){if("function"==typeof define&&define.amd)define(["knockout","jquery","jquery-ui/ui/widgets/sortable","jquery-ui/ui/widgets/draggable","jquery-ui/ui/widgets/droppable"],e);else if("function"==typeof require&&"object"==typeof exports&&"object"==typeof module){var n="undefined"!=typeof window?window.ko:"undefined"!=typeof global?global.ko:null,t="undefined"!=typeof window?window.jQuery:"undefined"!=typeof global?global.jQuery:null;"undefined"!=typeof window?window.jQuery.ui.sortable:"undefined"!=typeof global&&global.jQuery.ui.sortable,"undefined"!=typeof window?window.jQuery.ui.draggable:"undefined"!=typeof global&&global.jQuery.ui.draggable,"undefined"!=typeof window?window.jQuery.ui.droppable:"undefined"!=typeof global&&global.jQuery.ui.droppable,e(n,t)}else e(window.ko,window.jQuery)}(function(e,n){var t="ko_sortItem",o=e.utils.unwrapObservable,i=e.utils.domData.get,a=e.utils.domData.set,d=n.ui&&n.ui.version,r=d&&d.indexOf("1.6.")&&d.indexOf("1.7.")&&(d.indexOf("1.8.")||"1.8.24"===d),s=function(n,o){e.utils.arrayForEach(n,function(e){1===e.nodeType&&(a(e,t,o),a(e,"ko_parentList",i(e.parentNode,"ko_sortList")))})},l=function(n,t){var i,a={},d=o(n())||{};return d.data?(a[t]=d.data,a.name=d.template):a[t]=n(),e.utils.arrayForEach(["afterAdd","afterRender","as","beforeRemove","includeDestroyed","templateEngine","templateOptions","nodes"],function(n){d.hasOwnProperty(n)?a[n]=d[n]:e.bindingHandlers.sortable.hasOwnProperty(n)&&(a[n]=e.bindingHandlers.sortable[n])}),"foreach"===t&&(a.afterRender?(i=a.afterRender,a.afterRender=function(e,n){s.call(n,e,n),i.call(n,e,n)}):a.afterRender=s),a},u=function(e,n){var t=o(n);if(t)for(var i=0;i=0)if(c)if(c!==p)c.splice(f,1),p.splice(b,0,D),a(v,t,null),l.item.remove();else{var k=o(c);c.valueWillMutate&&c.valueWillMutate(),k.splice(f,1),k.splice(b,0,D),c.valueHasMutated&&c.valueHasMutated()}else p.splice(b,0,D),a(v,t,null),l.item.remove()}else b>=0&&(c&&(c.splice(f,1),e.processAllDeferredBindingUpdates&&e.processAllDeferredBindingUpdates(),e.options&&e.options.deferUpdates&&e.tasks.runEarly()),p.splice(b,0,D)),a(v,t,null);e.processAllDeferredBindingUpdates&&e.processAllDeferredBindingUpdates(),h.afterMove&&h.afterMove.call(this,m,d,l)}g&&g.apply(this,arguments)},connectWith:!!h.connectClass&&"."+h.connectClass})),void 0!==h.isEnabled&&e.computed({read:function(){m.sortable(o(h.isEnabled)?"enable":"disable")},disposeWhenNodeIsRemoved:d})},0);return e.utils.domNodeDisposal.addDisposeCallback(d,function(){(m.data("ui-sortable")||m.data("sortable"))&&m.sortable("destroy"),e.utils.toggleDomNodeCssClass(d,h.connectClass,!1),clearTimeout(w)}),{controlsDescendantBindings:!0}},update:function(n,t,o,i,d){var r=l(t,"foreach");a(n,"ko_sortList",r.foreach),e.bindingHandlers.template.update(n,function(){return r},o,i,d)},connectClass:"ko_container",allowDrop:!0,afterMove:null,beforeMove:null,options:{}},e.bindingHandlers.draggable={init:function(t,i,d,r,s){var u=o(i())||{},c=u.options||{},p=e.utils.extend({},e.bindingHandlers.draggable.options),f=l(i,"data"),b=u.connectClass||e.bindingHandlers.draggable.connectClass,g=void 0!==u.isEnabled?u.isEnabled:e.bindingHandlers.draggable.isEnabled;return u="data"in u?u.data:u,a(t,"ko_dragItem",u),e.utils.extend(p,c),p.connectToSortable=!!b&&"."+b,n(t).draggable(p),void 0!==g&&e.computed({read:function(){n(t).draggable(o(g)?"enable":"disable")},disposeWhenNodeIsRemoved:t}),e.utils.domNodeDisposal.addDisposeCallback(t,function(){n(t).draggable("destroy")}),e.bindingHandlers.template.init(t,function(){return f},d,r,s)},update:function(n,t,o,i,a){var d=l(t,"data");return e.bindingHandlers.template.update(n,function(){return d},o,i,a)},connectClass:e.bindingHandlers.sortable.connectClass,options:{helper:"clone"}},e.bindingHandlers.droppable={init:function(a,d,r,s,l){var u=o(d())||{},c=u.options||{},p=e.utils.extend({},e.bindingHandlers.droppable.options),f=void 0!==u.isEnabled?u.isEnabled:e.bindingHandlers.droppable.isEnabled;e.utils.extend(p,c),u="data"in u?u.data:d(),p.drop=function(e,n){var o=i(n.draggable[0],"ko_dragItem")||i(n.draggable[0],t);u(o)},n(a).droppable(p),void 0!==f&&e.computed({read:function(){n(a).droppable(o(f)?"enable":"disable")},disposeWhenNodeIsRemoved:a}),e.utils.domNodeDisposal.addDisposeCallback(a,function(){n(a).droppable("destroy")})},options:{accept:"*"}}}); + +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) + +},{}],16:[function(require,module,exports){ +(function (global){ +!function(e){"function"==typeof require&&"object"==typeof exports&&"object"==typeof module?e("undefined"!=typeof window?window.ko:"undefined"!=typeof global?global.ko:null):"function"==typeof define&&define.amd?define(["knockout"],e):e(window.ko)}(function(e){e.subscribable.fn.watch=function(t,a,n,o){var r=typeof t;return"boolean"===r||"undefined"===r?e.watch(this,{enabled:!1!==t}):"function"!==r||e.isSubscribable(t)?e.watch(t,a,n,o||this):e.watch(this,a||{},t,o||this),this},e.watch=function(t,a,n,o){function r(l,c,f,u,s,b){if(l&&0!==a.depth&&(-1===a.depth||f.length<(a.depth||1))){if(a.watchedOnly&&!l.watchable&&l!=t)return;if(!1!==a.enabled&&!0!==a.enabled||(l.watchable=a.enabled),!1===l.watchable)return;!0===a.seal&&(l.watchable=!1);var d=typeof l;if("object"===d||"function"===d){if(l._watcher===o)return;if(a.hide&&e.utils.arrayIndexOf(a.hide,l)>-1)return;var h=[].concat(f,c&&c!==t?c:[]);if("function"!==d){if("[object Object]"===Object.prototype.toString.call(l))e.utils.objectForEach(l,function(t,n){if(n=a.getter?a.getter.call(o,h,l,t):n){if(a.wrap){var i=Object.prototype.toString.call(n);"[object Function]"!==i&&"[object Object]"!==i&&(a.beforeWrap&&!1===a.beforeWrap.call(o,h,l,n)||(n=l[t]="[object Array]"===i?e.observableArray(n):e.observable(n)))}a.unloop&&(n._watcher=u?void 0:o);var c=r(n,s?null:l,h,u,null,t);a.tagFields&&void 0===n._fieldName&&(c||"parentsOnly"!==a.tagFields&&"function"==typeof n||"object"==typeof n)&&(n._fieldName=t)}});else if(!0!==a.hideArrays)for(var p=0;p0||a.mutable)&&(t.subscribe(function(e){if(a.oldValues>0){var n=t.oldValues?t.oldValues:t.oldValues=[];for(n.unshift(e);n.length>a.oldValues;)n.pop()}a.mutable&&"object"==typeof e&&r(e,c?null:t,l,!0,!0)},null,"beforeChange")._watcher=o))}(l,y,h,s),y)return r(l(),s?null:l,h,u,!0),!0;if(!0!==a.hideWrappedValues)return r(l(),s?null:l,h,u,!0)}}}}}function i(e){var t=e[l];if(!t)throw"Subscriptions field (."+l+") not defined for observable child "+(e._fieldName||"");if(t.change)for(n=t.change.length-1;n>=0;n--)t.change[n]._watcher===o&&t.change[n].dispose();if(t.beforeChange&&(a.mutable||a.oldValues>0))for(n=t.beforeChange.length-1;n>=0;n--)t.beforeChange[n]._watcher===o&&t.beforeChange[n].dispose();if(t.arrayChange)for(var n=t.arrayChange.length-1;n>=0;n--)t.arrayChange[n]._watcher===o&&t.arrayChange[n].dispose()}var l;switch("function"==typeof a&&(o=o||n,n=a,a={}),o=o||this,"function"==typeof e.subscription||e.version){case!0:l="_subscriptions";break;case"3.0.0":l="F";break;case"3.1.0":l="H";break;case"3.2.0":l="M";break;case"3.3.0":l="G";break;case"3.4.0":case"3.4.1":l="K";break;case"3.4.2":l="F";break;case"3.5.0-beta":l="S";break;default:throw"Unsupported Knockout version. Only v3.0.0 to v3.5.0-beta are supported when minified. Current version is "+e.version}return"function"!=typeof t||e.isSubscribable(t)?(r(t,null,[]),{dispose:function(){r(t,null,[],!0)}}):e.computed(t,n,a)}}),window.foo="1.4.0"; + +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) + +},{}],17:[function(require,module,exports){ +module.exports={lex:require("./lib/lexer"),parse:require("./lib/parser"),stringify:require("./lib/stringify")}; + +},{"./lib/lexer":19,"./lib/parser":20,"./lib/stringify":21}],18:[function(require,module,exports){ +(function (process){ +function debug(e){return _debug.bind(null,e)}function _debug(e){var n=[].slice.call(arguments,1);n.unshift("["+e+"]"),process.stderr.write(n.join(" ")+"\n")}exports=module.exports=debug; + +}).call(this,require('_process')) + +},{"_process":22}],19:[function(require,module,exports){ +var DEBUG=!1,TIMER=!1,debug=require("./debug")("lex");function lex(e){var a,r,s="",t=0,c=-1,n=0,l=1,o="before-selector",u=[o],i={},b=[],f=["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"];function m(e){return e?u[u.length-1-e]:o}function g(a){var r=c+1;return a===e.slice(r,r+a.length)}function v(a){var r=e.slice(c).indexOf(a);return r>0&&r}function k(e){return e===p(1)}function p(a){return e[c+(a||1)]}function d(){var e=u.pop();return o=u[u.length-1],e}function h(e){return o=e,u.push(o),u.length}function w(e){var a=o;return u[u.length-1]=o=e,a}function y(a){if(1==(a||1))"\n"==e[c]?(l++,t=1):t++,c++;else{var r=e.slice(c,c+a).split("\n");r.length>1&&(l+=r.length-1,t=1),t+=r[r.length-1].length,c+=a}}function x(){i.end={line:l,col:t},DEBUG&&debug("addToken:",JSON.stringify(i,null,2)),b.push(i),s="",i={}}function E(e){i={type:e,start:{line:l,col:t}}}for(TIMER&&(a=Date.now());y(),r=e[c];)switch(DEBUG&&debug(r,m()),r){case" ":switch(m()){case"selector":case"value":case"value-paren":case"at-group":case"at-value":case"comment":case"double-string":case"single-string":s+=r}break;case"\n":case"\t":case"\r":case"\f":switch(m()){case"value":case"value-paren":case"at-group":case"comment":case"single-string":case"double-string":case"selector":s+=r;break;case"at-value":"\n"===r&&(i.value=s.trim(),x(),d())}break;case":":switch(m()){case"name":i.name=s.trim(),s="",w("before-value");break;case"before-selector":s+=r,E("selector"),h("selector");break;case"before-value":w("value"),s+=r;break;default:s+=r}break;case";":switch(m()){case"name":case"before-value":case"value":s.trim().length>0&&(i.value=s.trim(),x()),w("before-name");break;case"value-paren":s+=r;break;case"at-value":i.value=s.trim(),x(),d();break;case"before-name":break;default:s+=r}break;case"{":switch(m()){case"selector":if("\\"===p(-1)){s+=r;break}i.text=s.trim(),x(),w("before-name"),n+=1;break;case"at-group":switch(i.name=s.trim(),i.type){case"font-face":case"viewport":case"page":h("before-name");break;default:h("before-selector")}x(),n+=1;break;case"name":case"at-rule":i.name=s.trim(),x(),h("before-name"),n+=1;break;case"comment":case"double-string":case"single-string":s+=r;break;case"before-value":w("value"),s+=r}break;case"}":switch(m()){case"before-name":case"name":case"before-value":case"value":s&&(i.value=s.trim()),i.name&&i.value&&x(),E("end"),x(),d(),"at-group"===m()&&(E("at-group-end"),x(),d()),n>0&&(n-=1);break;case"at-group":case"before-selector":case"selector":if("\\"===p(-1)){s+=r;break}n>0&&"at-group"===m(1)&&(E("at-group-end"),x()),n>1&&d(),n>0&&(n-=1);break;case"double-string":case"single-string":case"comment":s+=r}break;case'"':case"'":switch(m()){case"double-string":'"'===r&&"\\"!==p(-1)&&d();break;case"single-string":"'"===r&&"\\"!==p(-1)&&d();break;case"before-at-value":w("at-value"),h('"'===r?"double-string":"single-string");break;case"before-value":w("value"),h('"'===r?"double-string":"single-string");break;case"comment":break;default:"\\"!==p(-1)&&h('"'===r?"double-string":"single-string")}s+=r;break;case"/":switch(m()){case"comment":case"double-string":case"single-string":s+=r;break;case"before-value":case"selector":case"name":case"value":if(k("*")){var D=v("*/");D&&y(D+1)}else"before-value"==m()&&w("value"),s+=r;break;default:k("*")?(E("comment"),h("comment"),y()):s+=r}break;case"*":switch(m()){case"comment":k("/")?(i.text=s,y(),x(),d()):s+=r;break;case"before-selector":s+=r,E("selector"),h("selector");break;case"before-value":w("value"),s+=r;break;default:s+=r}break;case"@":switch(m()){case"comment":case"double-string":case"single-string":s+=r;break;case"before-value":w("value"),s+=r;break;default:for(var z,T,B=!1,G=0,I=f.length;!B&&G1)for(var r=1;r+)\\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,s,t="";if(t+=this.tag||"*",this.id&&(t+="#"+this.id),this.classes&&(t+="."+this.classList.join(".")),this.attributes)for(e=0;s=this.attributes[e++];)t+="["+s.name+(s.operator?s.operator+'"'+s.value+'"':"")+"]";if(this.pseudos)for(e=0;s=this.pseudos[e++];)t+=":"+s.name,s.value&&(t+="("+s.value+")");this.raw=t}return this.raw};var Expression=function(){this.length=0};Expression.prototype.toString=function(){if(!this.raw){for(var e,s="",t=0;e=this[t++];)1!==t&&(s+=" ")," "!==e.combinator&&(s+=e.combinator+" "),s+=e;this.raw=s}return this.raw};var replacer=function(e,s,t,a,r,i,n,c,u,o,p,l,h,f,g,d){var v,w;if((s||!this.length)&&(v=this[this.length++]=new Expression,s))return"";if(v||(v=this[this.length-1]),(t||a||!v.length)&&(w=v[v.length++]=new Part(t)),w||(w=v[v.length-1]),r)w.tag=unescape(r);else if(i)w.id=unescape(i);else if(n){var m=unescape(n),b=w.classes||(w.classes={});if(!b[m]){b[m]=escape(n);var x=w.classList||(w.classList=[]);x.push(m),x.sort()}}else h?(d=d||g,(w.pseudos||(w.pseudos=[])).push({type:1==l.length?"class":"element",name:unescape(h),escapedName:escape(h),value:d?unescape(d):null,escapedValue:d?escape(d):null})):c&&(p=p?escape(p):null,(w.attributes||(w.attributes=[])).push({operator:u,name:unescape(c),escapedName:escape(c),value:p?unescape(p):null,escapedValue:p?escape(p):null}));return""},Expressions=function(e){this.length=0;for(var s,t=this,a=e;e;){if((s=e.replace(slickRe,function(){return replacer.apply(t,arguments)}))===e)throw new Error(a+" is an invalid expression");e=s}};Expressions.prototype.toString=function(){if(!this.raw){for(var e,s=[],t=0;e=this[t++];)s.push(e);this.raw=s.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; + +},{}],24:[function(require,module,exports){ +!function(t){var e=/^\s+/,r=/\s+$/,n=0,a=t.round,i=t.min,s=t.max,o=t.random;function f(o,h){if(h=h||{},(o=o||"")instanceof f)return o;if(!(this instanceof f))return new f(o,h);var u=function(n){var a={r:0,g:0,b:0},o=1,f=null,h=null,u=null,l=!1,c=!1;"string"==typeof n&&(n=function(t){t=t.replace(e,"").replace(r,"").toLowerCase();var n,a=!1;if(H[t])t=H[t],a=!0;else if("transparent"==t)return{r:0,g:0,b:0,a:0,format:"name"};if(n=O.rgb.exec(t))return{r:n[1],g:n[2],b:n[3]};if(n=O.rgba.exec(t))return{r:n[1],g:n[2],b:n[3],a:n[4]};if(n=O.hsl.exec(t))return{h:n[1],s:n[2],l:n[3]};if(n=O.hsla.exec(t))return{h:n[1],s:n[2],l:n[3],a:n[4]};if(n=O.hsv.exec(t))return{h:n[1],s:n[2],v:n[3]};if(n=O.hsva.exec(t))return{h:n[1],s:n[2],v:n[3],a:n[4]};if(n=O.hex8.exec(t))return{r:M(n[1]),g:M(n[2]),b:M(n[3]),a:z(n[4]),format:a?"name":"hex8"};if(n=O.hex6.exec(t))return{r:M(n[1]),g:M(n[2]),b:M(n[3]),format:a?"name":"hex"};if(n=O.hex4.exec(t))return{r:M(n[1]+""+n[1]),g:M(n[2]+""+n[2]),b:M(n[3]+""+n[3]),a:z(n[4]+""+n[4]),format:a?"name":"hex8"};if(n=O.hex3.exec(t))return{r:M(n[1]+""+n[1]),g:M(n[2]+""+n[2]),b:M(n[3]+""+n[3]),format:a?"name":"hex"};return!1}(n));"object"==typeof n&&(P(n.r)&&P(n.g)&&P(n.b)?(g=n.r,b=n.g,d=n.b,a={r:255*C(g,255),g:255*C(b,255),b:255*C(d,255)},l=!0,c="%"===String(n.r).substr(-1)?"prgb":"rgb"):P(n.h)&&P(n.s)&&P(n.v)?(f=L(n.s),h=L(n.v),a=function(e,r,n){e=6*C(e,360),r=C(r,100),n=C(n,100);var a=t.floor(e),i=e-a,s=n*(1-r),o=n*(1-i*r),f=n*(1-(1-i)*r),h=a%6;return{r:255*[n,o,s,s,f,n][h],g:255*[f,n,n,o,s,s][h],b:255*[s,s,f,n,n,o][h]}}(n.h,f,h),l=!0,c="hsv"):P(n.h)&&P(n.s)&&P(n.l)&&(f=L(n.s),u=L(n.l),a=function(t,e,r){var n,a,i;function s(t,e,r){return r<0&&(r+=1),r>1&&(r-=1),r<1/6?t+6*(e-t)*r:r<.5?e:r<2/3?t+(e-t)*(2/3-r)*6:t}if(t=C(t,360),e=C(e,100),r=C(r,100),0===e)n=a=i=r;else{var o=r<.5?r*(1+e):r+e-r*e,f=2*r-o;n=s(f,o,t+1/3),a=s(f,o,t),i=s(f,o,t-1/3)}return{r:255*n,g:255*a,b:255*i}}(n.h,f,u),l=!0,c="hsl"),n.hasOwnProperty("a")&&(o=n.a));var g,b,d;return o=F(o),{ok:l,format:n.format||c,r:i(255,s(a.r,0)),g:i(255,s(a.g,0)),b:i(255,s(a.b,0)),a:o}}(o);this._originalInput=o,this._r=u.r,this._g=u.g,this._b=u.b,this._a=u.a,this._roundA=a(100*this._a)/100,this._format=h.format||u.format,this._gradientType=h.gradientType,this._r<1&&(this._r=a(this._r)),this._g<1&&(this._g=a(this._g)),this._b<1&&(this._b=a(this._b)),this._ok=u.ok,this._tc_id=n++}function h(t,e,r){t=C(t,255),e=C(e,255),r=C(r,255);var n,a,o=s(t,e,r),f=i(t,e,r),h=(o+f)/2;if(o==f)n=a=0;else{var u=o-f;switch(a=h>.5?u/(2-o-f):u/(o+f),o){case t:n=(e-r)/u+(e>1)+720)%360;--e;)n.h=(n.h+a)%360,i.push(f(n));return i}function S(t,e){e=e||6;for(var r=f(t).toHsv(),n=r.h,a=r.s,i=r.v,s=[],o=1/e;e--;)s.push(f({h:n,s:a,v:i})),i=(i+o)%1;return s}f.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 t=this.toRgb();return(299*t.r+587*t.g+114*t.b)/1e3},getLuminance:function(){var e,r,n,a=this.toRgb();return e=a.r/255,r=a.g/255,n=a.b/255,.2126*(e<=.03928?e/12.92:t.pow((e+.055)/1.055,2.4))+.7152*(r<=.03928?r/12.92:t.pow((r+.055)/1.055,2.4))+.0722*(n<=.03928?n/12.92:t.pow((n+.055)/1.055,2.4))},setAlpha:function(t){return this._a=F(t),this._roundA=a(100*this._a)/100,this},toHsv:function(){var t=u(this._r,this._g,this._b);return{h:360*t.h,s:t.s,v:t.v,a:this._a}},toHsvString:function(){var t=u(this._r,this._g,this._b),e=a(360*t.h),r=a(100*t.s),n=a(100*t.v);return 1==this._a?"hsv("+e+", "+r+"%, "+n+"%)":"hsva("+e+", "+r+"%, "+n+"%, "+this._roundA+")"},toHsl:function(){var t=h(this._r,this._g,this._b);return{h:360*t.h,s:t.s,l:t.l,a:this._a}},toHslString:function(){var t=h(this._r,this._g,this._b),e=a(360*t.h),r=a(100*t.s),n=a(100*t.l);return 1==this._a?"hsl("+e+", "+r+"%, "+n+"%)":"hsla("+e+", "+r+"%, "+n+"%, "+this._roundA+")"},toHex:function(t){return l(this._r,this._g,this._b,t)},toHexString:function(t){return"#"+this.toHex(t)},toHex8:function(t){return function(t,e,r,n,i){var s=[I(a(t).toString(16)),I(a(e).toString(16)),I(a(r).toString(16)),I(N(n))];if(i&&s[0].charAt(0)==s[0].charAt(1)&&s[1].charAt(0)==s[1].charAt(1)&&s[2].charAt(0)==s[2].charAt(1)&&s[3].charAt(0)==s[3].charAt(1))return s[0].charAt(0)+s[1].charAt(0)+s[2].charAt(0)+s[3].charAt(0);return s.join("")}(this._r,this._g,this._b,this._a,t)},toHex8String:function(t){return"#"+this.toHex8(t)},toRgb:function(){return{r:a(this._r),g:a(this._g),b:a(this._b),a:this._a}},toRgbString:function(){return 1==this._a?"rgb("+a(this._r)+", "+a(this._g)+", "+a(this._b)+")":"rgba("+a(this._r)+", "+a(this._g)+", "+a(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:a(100*C(this._r,255))+"%",g:a(100*C(this._g,255))+"%",b:a(100*C(this._b,255))+"%",a:this._a}},toPercentageRgbString:function(){return 1==this._a?"rgb("+a(100*C(this._r,255))+"%, "+a(100*C(this._g,255))+"%, "+a(100*C(this._b,255))+"%)":"rgba("+a(100*C(this._r,255))+"%, "+a(100*C(this._g,255))+"%, "+a(100*C(this._b,255))+"%, "+this._roundA+")"},toName:function(){return 0===this._a?"transparent":!(this._a<1)&&(R[l(this._r,this._g,this._b,!0)]||!1)},toFilter:function(t){var e="#"+c(this._r,this._g,this._b,this._a),r=e,n=this._gradientType?"GradientType = 1, ":"";if(t){var a=f(t);r="#"+c(a._r,a._g,a._b,a._a)}return"progid:DXImageTransform.Microsoft.gradient("+n+"startColorstr="+e+",endColorstr="+r+")"},toString:function(t){var e=!!t;t=t||this._format;var r=!1,n=this._a<1&&this._a>=0;return e||!n||"hex"!==t&&"hex6"!==t&&"hex3"!==t&&"hex4"!==t&&"hex8"!==t&&"name"!==t?("rgb"===t&&(r=this.toRgbString()),"prgb"===t&&(r=this.toPercentageRgbString()),"hex"!==t&&"hex6"!==t||(r=this.toHexString()),"hex3"===t&&(r=this.toHexString(!0)),"hex4"===t&&(r=this.toHex8String(!0)),"hex8"===t&&(r=this.toHex8String()),"name"===t&&(r=this.toName()),"hsl"===t&&(r=this.toHslString()),"hsv"===t&&(r=this.toHsvString()),r||this.toHexString()):"name"===t&&0===this._a?this.toName():this.toRgbString()},clone:function(){return f(this.toString())},_applyModification:function(t,e){var r=t.apply(null,[this].concat([].slice.call(e)));return this._r=r._r,this._g=r._g,this._b=r._b,this.setAlpha(r._a),this},lighten:function(){return this._applyModification(_,arguments)},brighten:function(){return this._applyModification(p,arguments)},darken:function(){return this._applyModification(m,arguments)},desaturate:function(){return this._applyModification(g,arguments)},saturate:function(){return this._applyModification(b,arguments)},greyscale:function(){return this._applyModification(d,arguments)},spin:function(){return this._applyModification(v,arguments)},_applyCombination:function(t,e){return t.apply(null,[this].concat([].slice.call(e)))},analogous:function(){return this._applyCombination(w,arguments)},complement:function(){return this._applyCombination(y,arguments)},monochromatic:function(){return this._applyCombination(S,arguments)},splitcomplement:function(){return this._applyCombination(k,arguments)},triad:function(){return this._applyCombination(A,arguments)},tetrad:function(){return this._applyCombination(x,arguments)}},f.fromRatio=function(t,e){if("object"==typeof t){var r={};for(var n in t)t.hasOwnProperty(n)&&(r[n]="a"===n?t[n]:L(t[n]));t=r}return f(t,e)},f.equals=function(t,e){return!(!t||!e)&&f(t).toRgbString()==f(e).toRgbString()},f.random=function(){return f.fromRatio({r:o(),g:o(),b:o()})},f.mix=function(t,e,r){r=0===r?0:r||50;var n=f(t).toRgb(),a=f(e).toRgb(),i=r/100;return f({r:(a.r-n.r)*i+n.r,g:(a.g-n.g)*i+n.g,b:(a.b-n.b)*i+n.b,a:(a.a-n.a)*i+n.a})},f.readability=function(e,r){var n=f(e),a=f(r);return(t.max(n.getLuminance(),a.getLuminance())+.05)/(t.min(n.getLuminance(),a.getLuminance())+.05)},f.isReadable=function(t,e,r){var n,a,i=f.readability(t,e);switch(a=!1,(n=function(t){var e,r;e=((t=t||{level:"AA",size:"small"}).level||"AA").toUpperCase(),r=(t.size||"small").toLowerCase(),"AA"!==e&&"AAA"!==e&&(e="AA");"small"!==r&&"large"!==r&&(r="small");return{level:e,size:r}}(r)).level+n.size){case"AAsmall":case"AAAlarge":a=i>=4.5;break;case"AAlarge":a=i>=3;break;case"AAAsmall":a=i>=7}return a},f.mostReadable=function(t,e,r){var n,a,i,s,o=null,h=0;a=(r=r||{}).includeFallbackColors,i=r.level,s=r.size;for(var u=0;uh&&(h=n,o=f(e[u]));return f.isReadable(t,o,{level:i,size:s})||!a?o:(r.includeFallbackColors=!1,f.mostReadable(t,["#fff","#000"],r))};var H=f.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=f.hexNames=function(t){var e={};for(var r in t)t.hasOwnProperty(r)&&(e[t[r]]=r);return e}(H);function F(t){return t=parseFloat(t),(isNaN(t)||t<0||t>1)&&(t=1),t}function C(e,r){(function(t){return"string"==typeof t&&-1!=t.indexOf(".")&&1===parseFloat(t)})(e)&&(e="100%");var n=function(t){return"string"==typeof t&&-1!=t.indexOf("%")}(e);return e=i(r,s(0,parseFloat(e))),n&&(e=parseInt(e*r,10)/100),t.abs(e-r)<1e-6?1:e%r/parseFloat(r)}function q(t){return i(1,s(0,t))}function M(t){return parseInt(t,16)}function I(t){return 1==t.length?"0"+t:""+t}function L(t){return t<=1&&(t=100*t+"%"),t}function N(e){return t.round(255*parseFloat(e)).toString(16)}function z(t){return M(t)/255}var E,T,j,O=(T="[\\s|\\(]+("+(E="(?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?)")+")[,|\\s]+("+E+")[,|\\s]+("+E+")\\s*\\)?",j="[\\s|\\(]+("+E+")[,|\\s]+("+E+")[,|\\s]+("+E+")[,|\\s]+("+E+")\\s*\\)?",{CSS_UNIT:new RegExp(E),rgb:new RegExp("rgb"+T),rgba:new RegExp("rgba"+j),hsl:new RegExp("hsl"+T),hsla:new RegExp("hsla"+j),hsv:new RegExp("hsv"+T),hsva:new RegExp("hsva"+j),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})$/});function P(t){return!!O.CSS_UNIT.exec(t)}"undefined"!=typeof module&&module.exports?module.exports=f:"function"==typeof define&&define.amd?define(function(){return f}):window.tinycolor=f}(Math); + +},{}],25:[function(require,module,exports){ +(function (global){ +!function(e){e(["jquery"],function(e){return function(){var t,n,o,s=0,i={error:"error",info:"info",success:"success",warning:"warning"},a={clear:function(n,o){var s=u();t||r(s);l(n,s,o)||function(n){for(var o=t.children(),s=o.length-1;s>=0;s--)l(e(o[s]),n)}(s)},remove:function(n){var o=u();t||r(o);if(n&&0===e(":focus",n).length)return void p(n);t.children().length&&t.remove()},error:function(e,t,n){return d({type:i.error,iconClass:u().iconClasses.error,message:e,optionsOverride:n,title:t})},getContainer:r,info:function(e,t,n){return d({type:i.info,iconClass:u().iconClasses.info,message:e,optionsOverride:n,title:t})},options:{},subscribe:function(e){n=e},success:function(e,t,n){return d({type:i.success,iconClass:u().iconClasses.success,message:e,optionsOverride:n,title:t})},version:"2.1.4",warning:function(e,t,n){return d({type:i.warning,iconClass:u().iconClasses.warning,message:e,optionsOverride:n,title:t})}};return a;function r(n,o){return n||(n=u()),(t=e("#"+n.containerId)).length?t:(o&&(t=function(n){return(t=e("
").attr("id",n.containerId).addClass(n.positionClass)).appendTo(e(n.target)),t}(n)),t)}function l(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(){p(t)}}),!0)}function c(e){n&&n(e)}function d(n){var i=u(),a=n.iconClass||i.iconClass;if(void 0!==n.optionsOverride&&(i=e.extend(i,n.optionsOverride),a=n.optionsOverride.iconClass||a),!function(e,t){if(e.preventDuplicates){if(t.message===o)return!0;o=t.message}return!1}(i,n)){s++,t=r(i,!0);var l=null,d=e("
"),f=e("
"),g=e("
"),m=e("
"),h=e(i.closeHtml),v={intervalId:null,hideEta:null,maxHideTime:null},C={toastId:s,state:"visible",startTime:new Date,options:i,map:n};return n.iconClass&&d.addClass(i.toastClass).addClass(a),function(){if(n.title){var e=n.title;i.escapeHtml&&(e=w(n.title)),f.append(e).addClass(i.titleClass),d.append(f)}}(),function(){if(n.message){var e=n.message;i.escapeHtml&&(e=w(n.message)),g.append(e).addClass(i.messageClass),d.append(g)}}(),i.closeButton&&(h.addClass(i.closeClass).attr("role","button"),d.prepend(h)),i.progressBar&&(m.addClass(i.progressClass),d.prepend(m)),i.rtl&&d.addClass("rtl"),i.newestOnTop?t.prepend(d):t.append(d),function(){var e="";switch(n.iconClass){case"toast-success":case"toast-info":e="polite";break;default:e="assertive"}d.attr("aria-live",e)}(),d.hide(),d[i.showMethod]({duration:i.showDuration,easing:i.showEasing,complete:i.onShown}),i.timeOut>0&&(l=setTimeout(T,i.timeOut),v.maxHideTime=parseFloat(i.timeOut),v.hideEta=(new Date).getTime()+v.maxHideTime,i.progressBar&&(v.intervalId=setInterval(D,10))),function(){i.closeOnHover&&d.hover(O,b);!i.onclick&&i.tapToDismiss&&d.click(T);i.closeButton&&h&&h.click(function(e){e.stopPropagation?e.stopPropagation():void 0!==e.cancelBubble&&!0!==e.cancelBubble&&(e.cancelBubble=!0),i.onCloseClick&&i.onCloseClick(e),T(!0)});i.onclick&&d.click(function(e){i.onclick(e),T()})}(),c(C),i.debug&&console&&console.log(C),d}function w(e){return null==e&&(e=""),e.replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function T(t){var n=t&&!1!==i.closeMethod?i.closeMethod:i.hideMethod,o=t&&!1!==i.closeDuration?i.closeDuration:i.hideDuration,s=t&&!1!==i.closeEasing?i.closeEasing:i.hideEasing;if(!e(":focus",d).length||t)return clearTimeout(v.intervalId),d[n]({duration:o,easing:s,complete:function(){p(d),clearTimeout(l),i.onHidden&&"hidden"!==C.state&&i.onHidden(),C.state="hidden",C.endTime=new Date,c(C)}})}function b(){(i.timeOut>0||i.extendedTimeOut>0)&&(l=setTimeout(T,i.extendedTimeOut),v.maxHideTime=parseFloat(i.extendedTimeOut),v.hideEta=(new Date).getTime()+v.maxHideTime)}function O(){clearTimeout(l),v.hideEta=0,d.stop(!0,!0)[i.showMethod]({duration:i.showDuration,easing:i.showEasing})}function D(){var e=(v.hideEta-(new Date).getTime())/v.maxHideTime*100;m.width(e+"%")}}function u(){return e.extend({},{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},a.options)}function p(e){t||(t=r()),e.is(":visible")||(e.remove(),e=null,0===t.children().length&&(t.remove(),o=void 0))}}()})}("function"==typeof define&&define.amd?define:function(e,t){"undefined"!=typeof module&&module.exports?module.exports=t("undefined"!=typeof window?window.jQuery:"undefined"!=typeof global?global.jQuery:null):window.toastr=t(window.jQuery)}); + +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) + +},{}],26:[function(require,module,exports){ +module.exports=function(o){return o&&"object"==typeof o&&"function"==typeof o.copy&&"function"==typeof o.fill&&"function"==typeof o.readUInt8}; + +},{}],27:[function(require,module,exports){ +(function (process,global){ +var formatRegExp=/%[sdj%]/g;exports.format=function(e){if(!isString(e)){for(var r=[],t=0;t=i)return e;switch(e){case"%s":return String(n[t++]);case"%d":return Number(n[t++]);case"%j":try{return JSON.stringify(n[t++])}catch(e){return"[Circular]"}default:return e}}),s=n[t];t=3&&(t.depth=arguments[2]),arguments.length>=4&&(t.colors=arguments[3]),isBoolean(r)?t.showHidden=r:r&&exports._extend(t,r),isUndefined(t.showHidden)&&(t.showHidden=!1),isUndefined(t.depth)&&(t.depth=2),isUndefined(t.colors)&&(t.colors=!1),isUndefined(t.customInspect)&&(t.customInspect=!0),t.colors&&(t.stylize=stylizeWithColor),formatValue(t,e,t.depth)}function stylizeWithColor(e,r){var t=inspect.styles[r];return t?"["+inspect.colors[t][0]+"m"+e+"["+inspect.colors[t][1]+"m":e}function stylizeNoColor(e,r){return e}function arrayToHash(e){var r={};return e.forEach(function(e,t){r[e]=!0}),r}function formatValue(e,r,t){if(e.customInspect&&r&&isFunction(r.inspect)&&r.inspect!==exports.inspect&&(!r.constructor||r.constructor.prototype!==r)){var n=r.inspect(t,e);return isString(n)||(n=formatValue(e,n,t)),n}var i=formatPrimitive(e,r);if(i)return i;var o=Object.keys(r),s=arrayToHash(o);if(e.showHidden&&(o=Object.getOwnPropertyNames(r)),isError(r)&&(o.indexOf("message")>=0||o.indexOf("description")>=0))return formatError(r);if(0===o.length){if(isFunction(r)){var u=r.name?": "+r.name:"";return e.stylize("[Function"+u+"]","special")}if(isRegExp(r))return e.stylize(RegExp.prototype.toString.call(r),"regexp");if(isDate(r))return e.stylize(Date.prototype.toString.call(r),"date");if(isError(r))return formatError(r)}var c,a="",l=!1,p=["{","}"];(isArray(r)&&(l=!0,p=["[","]"]),isFunction(r))&&(a=" [Function"+(r.name?": "+r.name:"")+"]");return isRegExp(r)&&(a=" "+RegExp.prototype.toString.call(r)),isDate(r)&&(a=" "+Date.prototype.toUTCString.call(r)),isError(r)&&(a=" "+formatError(r)),0!==o.length||l&&0!=r.length?t<0?isRegExp(r)?e.stylize(RegExp.prototype.toString.call(r),"regexp"):e.stylize("[Object]","special"):(e.seen.push(r),c=l?formatArray(e,r,t,s,o):o.map(function(n){return formatProperty(e,r,t,s,n,l)}),e.seen.pop(),reduceToSingleString(c,a,p)):p[0]+a+p[1]}function formatPrimitive(e,r){if(isUndefined(r))return e.stylize("undefined","undefined");if(isString(r)){var t="'"+JSON.stringify(r).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(t,"string")}return isNumber(r)?e.stylize(""+r,"number"):isBoolean(r)?e.stylize(""+r,"boolean"):isNull(r)?e.stylize("null","null"):void 0}function formatError(e){return"["+Error.prototype.toString.call(e)+"]"}function formatArray(e,r,t,n,i){for(var o=[],s=0,u=r.length;s-1&&(u=o?u.split("\n").map(function(e){return" "+e}).join("\n").substr(2):"\n"+u.split("\n").map(function(e){return" "+e}).join("\n")):u=e.stylize("[Circular]","special")),isUndefined(s)){if(o&&i.match(/^\d+$/))return u;(s=JSON.stringify(""+i)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(s=s.substr(1,s.length-2),s=e.stylize(s,"name")):(s=s.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),s=e.stylize(s,"string"))}return s+": "+u}function reduceToSingleString(e,r,t){return e.reduce(function(e,r){return 0,r.indexOf("\n")>=0&&0,e+r.replace(/\u001b\[\d\d?m/g,"").length+1},0)>60?t[0]+(""===r?"":r+"\n ")+" "+e.join(",\n ")+" "+t[1]:t[0]+r+" "+e.join(", ")+" "+t[1]}function isArray(e){return Array.isArray(e)}function isBoolean(e){return"boolean"==typeof e}function isNull(e){return null===e}function isNullOrUndefined(e){return null==e}function isNumber(e){return"number"==typeof e}function isString(e){return"string"==typeof e}function isSymbol(e){return"symbol"==typeof e}function isUndefined(e){return void 0===e}function isRegExp(e){return isObject(e)&&"[object RegExp]"===objectToString(e)}function isObject(e){return"object"==typeof e&&null!==e}function isDate(e){return isObject(e)&&"[object Date]"===objectToString(e)}function isError(e){return isObject(e)&&("[object Error]"===objectToString(e)||e instanceof Error)}function isFunction(e){return"function"==typeof e}function isPrimitive(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e}function objectToString(e){return Object.prototype.toString.call(e)}function pad(e){return e<10?"0"+e.toString(10):e.toString(10)}exports.debuglog=function(e){if(isUndefined(debugEnviron)&&(debugEnviron=process.env.NODE_DEBUG||""),e=e.toUpperCase(),!debugs[e])if(new RegExp("\\b"+e+"\\b","i").test(debugEnviron)){var r=process.pid;debugs[e]=function(){var t=exports.format.apply(exports,arguments);console.error("%s %d: %s",e,r,t)}}else debugs[e]=function(){};return debugs[e]},exports.inspect=inspect,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]},inspect.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},exports.isArray=isArray,exports.isBoolean=isBoolean,exports.isNull=isNull,exports.isNullOrUndefined=isNullOrUndefined,exports.isNumber=isNumber,exports.isString=isString,exports.isSymbol=isSymbol,exports.isUndefined=isUndefined,exports.isRegExp=isRegExp,exports.isObject=isObject,exports.isDate=isDate,exports.isError=isError,exports.isFunction=isFunction,exports.isPrimitive=isPrimitive,exports.isBuffer=require("./support/isBuffer");var months=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function timestamp(){var e=new Date,r=[pad(e.getHours()),pad(e.getMinutes()),pad(e.getSeconds())].join(":");return[e.getDate(),months[e.getMonth()],r].join(" ")}function hasOwnProperty(e,r){return Object.prototype.hasOwnProperty.call(e,r)}exports.log=function(){console.log("%s - %s",timestamp(),exports.format.apply(exports,arguments))},exports.inherits=require("inherits"),exports._extend=function(e,r){if(!r||!isObject(r))return e;for(var t=Object.keys(r),n=t.length;n--;)e[t[n]]=r[t[n]];return e}; + +}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) + +},{"./support/isBuffer":26,"_process":22,"inherits":9}],28:[function(require,module,exports){ +(function (global){ +"use strict";var templateLoader=require("./template-loader.js"),console=require("console-browserify"),ko="undefined"!=typeof window?window.ko:"undefined"!=typeof global?global.ko:null,$="undefined"!=typeof window?window.jQuery:"undefined"!=typeof global?global.jQuery:null;require("./ko-bindings.js");var performanceAwareCaller=require("./timed-call.js").timedCall,addUndoStackExtensionMaker=require("./undomanager/undomain.js"),colorPlugin=require("./ext/color.js"),utilPlugin=require("./ext/util.js"),inlinerPlugin=require("./ext/inliner.js"),localStorageLoader=require("./ext/localstorage.js");if(void 0===ko)throw"Cannot find knockout.js library!";if(void 0===$)throw"Cannot find jquery library!";function _canonicalize(e){var i=global.document.createElement("div");return i.innerHTML="",i.firstChild.href=e,i.innerHTML=i.innerHTML,i.firstChild.href}function _appendUrlParameters(e,i){var n=-1==e.indexOf("?")?"?":"&",a=e;for(var t in i)i.hasOwnProperty(t)&&(a+=n+t+"="+encodeURIComponent(i[t]),n="&");return a}var applyBindingOptions=function(e,i){i.bindingHandlers.wysiwygSrc.convertedUrl=function(i,n,a,t){var o=e.imgProcessorBackend?e.imgProcessorBackend:"./upload",r=o.match(/^(https?:\/\/[^\/]*\/).*$/),l=i.match(/^(https?:\/\/[^\/]*\/).*$/);if(null===r||null!==l&&r[1]==l[1])return o.indexOf("?"),_appendUrlParameters(o,{src:i,method:n,params:a+","+t});console.log("Cannot apply backend image resizing to non-local resources ",i,n,a,t,r,l);var d={method:n,width:a};return null!==t&&(d.height=t),_appendUrlParameters(i,d)},i.bindingHandlers.wysiwygSrc.placeholderUrl=function(i,n,a){return _appendUrlParameters(e.imgProcessorBackend?e.imgProcessorBackend:"./upload",{method:"placeholder",params:i+","+n})},e&&e.tinymceConfig&&(i.bindingHandlers.wysiwyg.standardOptions=e.tinymceConfig),e&&e.tinymceConfigFull&&(i.bindingHandlers.wysiwyg.fullOptions=e.tinymceConfigFull)},start=function(e,i,n,a,t){templateLoader.fixPageEvents();var o=[function(i){e&&e.strings&&(i.t=function(n,a){var t=e.strings[n];return void 0===t&&(console.warn("Missing translation string for",n,": using default string"),t=n),i.tt(t,a)})},addUndoStackExtensionMaker(performanceAwareCaller),colorPlugin,utilPlugin,inlinerPlugin];if(void 0!==t)for(var r=0;r\r\n\r\n\r\n\r\n
\r\n\r\n',init:function(e,t){!function(n){try{var o=e.contentDocument;o.open(),o.write(ko.bindingHandlers.bindIframe.tpl),o.close();try{var r=o.body;if(r){for(var i=e.contentWindow.parent.document.getElementsByTagName("script"),d=0;d0?e:10)}}),e.currentPage=ko.computed({read:o,write:function(n){n>e.pageCount()?o(e.pageCount()):o(n<=0?1:n)}}),e.pageCount=ko.computed(function(){return Math.ceil(e().length/e.pageSize())||1}),e.currentPageData=ko.computed(function(){var n=t(),r=o(),u=n*(r-1),a=n*r;return e().slice(u,a)}),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 : {}) + +},{}],37:[function(require,module,exports){ +(function (global){ +"use strict";var $="undefined"!=typeof window?window.jQuery:"undefined"!=typeof global?global.jQuery:null,ko="undefined"!=typeof window?window.ko:"undefined"!=typeof global?global.ko:null,sortable="undefined"!=typeof window?window.jQuery.ui.sortable:"undefined"!=typeof global?global.jQuery.ui.sortable:null,draggable="undefined"!=typeof window?window.jQuery.ui.draggable:"undefined"!=typeof global?global.jQuery.ui.draggable:null,console=require("console-browserify");if(require("knockout-sortable"),void 0===sortable)throw"Cannot find jquery-ui sortable widget dependency!";if(void 0===draggable)throw"Cannot find jquery-ui sortable widget dependency!";var isDraggingHelper=function(e,n){e()?n.type==e()+"stop"&&e(!1):"dragstart"!=n.type&&"sortstart"!=n.type||e(n.type.substring(0,4))},makeExtendedValueAccessor=function(e){return function(){var n=e();ko.utils.peekObservable(n),ko.utils.unwrapObservable(n),"undefined"==n.options&&(n.options={});var o=n.options.start;n.options.start=function(e,r){if(void 0!==n.dragging&&ko.isWritableObservable(n.dragging)&&isDraggingHelper(n.dragging,e),void 0!==n.dropContainer&&(n.scrollInterval=global.setInterval(function(){var e=$(n.dropContainer).scrollTop();$(n.dropContainer).scrollTop(e+n.adding)},20)),void 0!==o)return o(e,r)};var r=n.options.stop;n.options.stop=function(e,o){if(void 0!==n.dragging&&ko.isWritableObservable(n.dragging)&&isDraggingHelper(n.dragging,e),void 0!==n.dropContainer&&global.clearInterval(n.scrollInterval),void 0!==r)return r(e,o)};var i=n.options.drag;return n.options.drag=function(e,o){if(void 0!==n.dropContainer){var r=e.pageY-$(n.dropContainer).offset().top,t=r-$(n.dropContainer).height();n.adding=r<-20?-20:r<0?-10:r<10?-5:t>20?20:t>0?10:t>-10?5:0}if(void 0!==i)return i(e,o)},n}};ko.bindingHandlers.extsortable={init:function(e,n,o,r,i){return ko.bindingHandlers.sortable.init(e,makeExtendedValueAccessor(n),o,r,i)},update:function(e,n,o,r,i){return ko.bindingHandlers.sortable.update(e,makeExtendedValueAccessor(n),o,r,i)}},ko.bindingHandlers.extdraggable={init:function(e,n,o,r,i){return ko.bindingHandlers.draggable.init(e,makeExtendedValueAccessor(n),o,r,i)},update:function(e,n,o,r,i){return ko.bindingHandlers.draggable.update(e,makeExtendedValueAccessor(n),o,r,i)}}; + +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) + +},{"console-browserify":6,"knockout-sortable":15}],38:[function(require,module,exports){ +(function (global){ +"use strict";var $="undefined"!=typeof window?window.jQuery:"undefined"!=typeof global?global.jQuery:null,ko="undefined"!=typeof window?window.ko:"undefined"!=typeof global?global.ko:null,console=require("console-browserify");ko.bindingHandlers.fudroppable={init:function(e,i){var o=i()||{},r={},l=function(e,i,o,r,l,a){e[i]?global.clearTimeout(e[i]):(void 0!==r&&o.classList.add(r),ko.isWriteableObservable(l)&&!l()&&l(!0));var s=function(){e[i]=null,void 0!==r&&o.classList.remove(r),ko.isWriteableObservable(l)&&l()&&l(!1)};"dragleave"==a.type?s():e[i]=global.setTimeout(s,500)};(o.active||o.activeClass)&&ko.utils.registerEventHandler(global,"dragover",l.bind(void 0,r,"activeTimeout",e,o.activeClass,o.active)),o.hoverClass&&ko.utils.registerEventHandler(e,"dragover dragenter dragleave",l.bind(void 0,r,"hoverTimeout",e,o.hoverClass,void 0))}},ko.bindingHandlers.fileupload={extendOptions:{},remoteFilePreprocessor:function(e){return e},init:function(e,i){ko.utils.domNodeDisposal.addDisposeCallback(e,function(){$(e).fileupload("destroy")}),!("WebkitAppearance"in global.document.documentElement.style)||"webkitNbspMode"in global.document.documentElement.style||"StyleMedia"in global?$(e).attr("title",""):$(e).attr("title"," ")},update:function(e,i){var o=i()||{},r=$(e),l=r.parents(".uploadzone"),a=o.data;o.data=void 0;var s=o.canvasPreview;ko.utils.extend(o,{url:"/upload/",dataType:"json",dropZone:l.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 n=0,t="",d=function(){0==--n&&(a&&a(t),t="",s&&(l.find("img").show(),l.find("canvas").remove()),l.removeClass("uploading"),l.find(".progress-bar").css("width",0))},u=function(e){if("object"==typeof o.messages&&null!==o.messages){var i=e.match(/^([^ ]+)(.*)$/);if(i&&void 0!==o.messages[i[1]])return o.messages[i[1]]+i[2]}return e};r.fileupload(o);for(var p=["fileuploadadd","fileuploadprocessalways","fileuploadprogressall","fileuploaddone","fileuploadfail"],f=function(e,i){if("fileuploadadd"==e.type&&n++,"fileuploadfail"==e.type&&(console.log("fileuploadfail",e,i),o.onerror&&(""===i.errorThrown&&"error"==i.textStatus?o.onerror(u("generic")):o.onerror(u("generic ("+i.errorThrown+")"))),d()),"fileuploaddone"==e.type)if(void 0!==i.result.files[0].url){if(o.onfile)for(var r=0;r=0;m--){var g=p[m];r.on(g,f)}$.support.fileInput||r.prop("disabled",!0).parent().addClass("disabled")}}; + +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) + +},{"console-browserify":6}],39:[function(require,module,exports){ +(function (global){ +"use strict";var beforeSubscriptionProp,afterSubscriptionProp,ko="undefined"!=typeof window?window.ko:"undefined"!=typeof global?global.ko:null,console=require("console-browserify");if(ko.bindingHandlers.ifSubs={cloneNodes:function(o,e){for(var i=0,n=o.length,r=[];i=ko.utils.unwrapObservable(u.threshold),void 0!==e().not&&e().not&&(i=!i),(p||i!==s)&&(p&&ko.computedContext.getDependenciesCount()&&(t=ko.bindingHandlers.ifSubs.cloneNodes(ko.virtualElements.childNodes(o),!0)),i?(p||ko.virtualElements.setDomNodeChildren(o,ko.bindingHandlers.ifSubs.cloneNodes(t)),ko.applyBindingsToDescendants(r,o)):ko.virtualElements.emptyNode(o),s=i)},null,{disposeWhenNodeIsRemoved:o}),{controlsDescendantBindings:!0}}},ko.virtualElements.allowedBindings.ifSubs=!0,"function"==typeof ko.subscription&&void 0!==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)beforeSubscriptionProp="sa",afterSubscriptionProp="Ia";else if("3.4.2"==ko.version)beforeSubscriptionProp="ua",afterSubscriptionProp="Ka";else{if("3.5.0-beta"!=ko.version)throw"Unsupported minimized Knockout version "+ko.version+" (supported DEBUG or minimized 3.2.0 ... 3.5.0-beta)";beforeSubscriptionProp="Pa",afterSubscriptionProp="ab"}ko.extenders.subscriptionsCount=function(o,e,i){if(void 0===o.subsCount){o.subsCount=ko.observable(o.getSubscriptionsCount()).extend({notify:"always"});var n=o[beforeSubscriptionProp],r=o[afterSubscriptionProp];o[beforeSubscriptionProp]=function(r){n&&n.call(o,r);var s=o.getSubscriptionsCount()+1;void 0!==e&&s!=e&&void 0!==i&&s!=i||o.subsCount(s)},o[afterSubscriptionProp]=function(n){r&&r.call(o,n);var s=o.getSubscriptionsCount();void 0!==e&&s!=e&&void 0!==i&&s!=i||o.subsCount(s)}}else console.log("already applied subscriptionCount to observable");return null}; + +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) + +},{"console-browserify":6}],40:[function(require,module,exports){ +(function (global){ +"use strict";var $="undefined"!=typeof window?window.jQuery:"undefined"!=typeof global?global.jQuery:null,spinner="undefined"!=typeof window?window.jQuery.ui.spinner:"undefined"!=typeof global?global.jQuery.ui.spinner:null,console=require("console-browserify");if(void 0===spinner)throw"Cannot find jquery-ui spinner widget dependency!";$.widget("ui.spinner",spinner,{_adjustValue:function(n){this._super(n);var e=this.options;return n=parseFloat(n.toFixed(this._precision())),null!==e.max&&n>e.max?e.max:null!==e.min&&nt&&w+pc&&_scrollIntoView(o,!1,r,c-u)):(wt&&u>c&&_scrollIntoView(o,!0,r,t-w)))}}catch(o){console.log("TODO exception scrolling into view",o)}}},ko.virtualElements.allowedBindings.scrollIntoView=!0; + +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) + +},{"console-browserify":6}],46:[function(require,module,exports){ +(function (global){ +"use strict";var ko="undefined"!=typeof window?window.ko:"undefined"!=typeof global?global.ko:null,origTemplateSystem=require("./script-template.js"),templates={};function createStringTemplateEngine(e){var t=e.makeTemplateSource;return e.makeTemplateSource=function(e){return void 0!==templates[e]?new ko.templateSources.stringTemplate(e,templates[e]):t(e)},e}function pushTemplate(e,t){templates[e]=t}function removeTemplate(e){void 0!==templates[e]?templates[e]=void 0:origTemplateSystem.removeTemplate(e)}function init(){ko.setTemplateEngine(createStringTemplateEngine(new ko.nativeTemplateEngine))}function getTemplateContent(e){return void 0!==templates[e]?templates[e]:origTemplateSystem.getTemplateContent(e)}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){if(1===arguments.length)return this._data[e];this._data[e]=t},text:function(e){if(0===arguments.length)return this.template;this.template=e}}),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":43}],47:[function(require,module,exports){ +(function (global){ +"use strict";var ko="undefined"!=typeof window?window.ko:"undefined"!=typeof global?global.ko:null,$="undefined"!=typeof window?window.jQuery:"undefined"!=typeof global?global.jQuery:null,kojqui="undefined"!=typeof window?window.kojqui:"undefined"!=typeof global?global.kojqui:null,console=require("console-browserify"),extendValueAccessor=function(o,n){return function(){return ko.utils.extend(n,o()),n}},options={show:{delay:500},track:!0,items:'[title][title!=""][title!=" "]'};ko.bindingHandlers.tooltips={init:function(o,n,i,e,t){if(void 0!==$.fn.tooltip&&void 0!==ko.bindingHandlers.tooltip)return ko.bindingHandlers.tooltip.init(o,extendValueAccessor(n,options),i,e,t)},update:function(o,n,i,e,t){if(void 0!==$.fn.tooltip&&void 0!==ko.bindingHandlers.tooltip)return ko.bindingHandlers.tooltip.update(o,extendValueAccessor(n,options),i,e,t)}}; + +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) + +},{"console-browserify":6}],48:[function(require,module,exports){ +(function (global){ +"use strict";var ko="undefined"!=typeof window?window.ko:"undefined"!=typeof global?global.ko:null,console=require("console-browserify");ko.bindingHandlers.validatedValue={init:function(e,n,i){var o=n;if(void 0!==e.pattern){var t=new RegExp("^(?:"+e.pattern+")$"),a=ko.computed({read:function(){var i=ko.utils.unwrapObservable(n());return null===i||""===i||t.test(i)?e.classList.remove("invalid"):e.classList.add("invalid"),i},write:ko.isWriteableObservable(n())&&function(i){ko.selectExtensions.writeValue(e,i);var o=ko.selectExtensions.readValue(e);n()(o)},disposeWhenNodeIsRemoved:e});o=function(){return a}}ko.bindingHandlers.value.init(e,o,i)}},ko.expressionRewriting._twoWayBindings.validatedValue=!0; + +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) + +},{"console-browserify":6}],49:[function(require,module,exports){ +(function (global){ +"use strict";var ko="undefined"!=typeof window?window.ko:"undefined"!=typeof global?global.ko:null,console=require("console-browserify");ko.bindingHandlers.uniqueId={currentIndex:0,init:function(e,n){var t=ko.utils.unwrapObservable(n())||{};if(""===t.id()){var i,l,r;r="ko_"+(void 0!==t.type?ko.utils.unwrapObservable(t.type):"block");do{i=r+"_"+ ++ko.bindingHandlers.uniqueId.currentIndex,l=global.document.getElementById(i)}while(l);t.id(i)}}},ko.virtualElements.allowedBindings.uniqueId=!0,ko.bindingHandlers.virtualAttr={update:function(e,n){8!==e.nodeType&&ko.bindingHandlers.attr.update(e,n)}},ko.virtualElements.allowedBindings.virtualAttr=!0,ko.bindingHandlers.virtualAttrStyle={update:function(e,n,t,i,l){if(8!==e.nodeType){var r=["style"];(void 0===l.templateMode||"wysiwyg"!=l.templateMode)&&r.push("replacedstyle");for(var o=ko.utils.unwrapObservable(n()),d=0;d0&&d>0?"cover":"resize");var u=ko.bindingHandlers.wysiwygSrc.convertedUrl(s.toString(),g,a,d);e.setAttribute("src",u)}null!=a?e.setAttribute("width",a):e.removeAttribute("width"),null!=d?e.setAttribute("height",d):e.removeAttribute("height")}},ko.bindingHandlers.wysiwygId={init:function(e,i,n,t,o){void 0===o.templateMode||"wysiwyg"!=o.templateMode||e.setAttribute("id",ko.utils.unwrapObservable(i()))},update:function(e,i,n,t,o){void 0===o.templateMode||"wysiwyg"!=o.templateMode||e.setAttribute("id",ko.utils.unwrapObservable(i()))}},ko.virtualElements.allowedBindings.wysiwygId=!0,ko.bindingHandlers.wysiwygClick={init:function(e,i,n,t,o){void 0===o.templateMode||"wysiwyg"!=o.templateMode||ko.bindingHandlers.click.init(e,i,n,t,o)}},ko.virtualElements.allowedBindings.wysiwygClick=!0,ko.bindingHandlers.wysiwygCss={update:function(e,i,n,t,o){void 0===o.templateMode||"wysiwyg"!=o.templateMode||ko.bindingHandlers.css.update(e,i,n,t,o)}},ko.virtualElements.allowedBindings.wysiwygCss=!0,ko.bindingHandlers.wysiwygImg={makeTemplateValueAccessor:function(e,i){return function(){var n=void 0!==i.templateMode&&"wysiwyg"==i.templateMode,t=e(),o=ko.utils.peekObservable(t);return ko.utils.unwrapObservable(t),{name:n?o._editTemplate:o._template,templateEngine:ko.nativeTemplateEngine.instance}}},init:function(e,i,n,t,o){return ko.bindingHandlers.template.init(e,ko.bindingHandlers.wysiwygImg.makeTemplateValueAccessor(i,o))},update:function(e,i,n,t,o){return o=o.extend(i()),ko.bindingHandlers.template.update(e,ko.bindingHandlers.wysiwygImg.makeTemplateValueAccessor(i,o),n,t,o)}},ko.virtualElements.allowedBindings.wysiwygImg=!0;var _catchingFire=function(e,i){try{return this.originalFire.apply(this,arguments)}catch(i){console.warn("Cought tinymce exception while firing editor event",e,i)}};ko.bindingHandlers.wysiwyg={debug:!1,getContentOptions:{format:"raw"},useTarget:!1,currentIndex:0,standardOptions:{},initializingClass:"wysiwyg-loading",removeSelectionOnBlur:!0,emptyClass:void 0,fullOptions:{toolbar1:"bold italic forecolor backcolor hr styleselect removeformat | link unlink | pastetext code",plugins:["link hr paste lists textcolor code"]},init:function(e,i,n,t,o){ko.bindingHandlers.focusable.init(e);var l,s=ko.bindingHandlers.wysiwyg.debug&&"function"==typeof console.debug;ko.bindingHandlers.wysiwyg.useTarget?l="@target_"+ ++ko.bindingHandlers.wysiwyg.currentIndex:(l=e.getAttribute("id"))||(l="wysiwyg_"+ ++ko.bindingHandlers.wysiwyg.currentIndex,e.setAttribute("id",l)),ko.bindingHandlers.wysiwyg.initializingClass&&e.classList.add(ko.bindingHandlers.wysiwyg.initializingClass),ko.utils.domNodeDisposal.addDisposeCallback(e,function(){s&&console.debug("Editor for selector",l,"is being removed..."),tinymce.remove("#"+e.getAttribute("id")),s&&console.debug("Editor for selector",l,"has been removed.")});var r=i();if(!ko.isObservable(r))throw"Wysiwyg binding called with non observable";if(8===e.nodeType)throw"Wysiwyg binding called on virtual node, ignoring...."+e.innerHTML;var a,d="DIV"==e.tagName||"TD"==e.tagName,g=!1,u=!1,w={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",forced_root_block:d?"p":"",init_instance_callback:function(i){if(s&&console.debug("Editor for selector",l,"is now initialized."),ko.bindingHandlers.wysiwyg.initializingClass&&e.classList.remove(ko.bindingHandlers.wysiwyg.initializingClass),"function"==typeof console.debug){var n=e.currentStyle?e.currentStyle.display:global.getComputedStyle(e,null).display;"inline"==n&&console.debug("Initializing an editor on an inline element: please note that while it may work, this is unsupported because of a multitude of browser issues",e.tagName,n,l)}},setup:function(i){s&&console.debug("Editor for selector",l,"is now in the setup phase.");var n=function(){0==(e.textContent||e.innerText||"").trim().length?e.classList.add(ko.bindingHandlers.wysiwyg.emptyClass):e.classList.remove(ko.bindingHandlers.wysiwyg.emptyClass)};i.on("change redo undo",function(){if(!g)try{u=!0,r(i.getContent(ko.bindingHandlers.wysiwyg.getContentOptions))}catch(e){console.warn("Unexpected error setting content value for",l,e)}finally{u=!1}ko.bindingHandlers.wysiwyg.emptyClass&&n()}),ko.bindingHandlers.wysiwyg.emptyClass&&i.on("keyup",function(){n()}),i.on("focus",function(){i.nodeChanged(),i.getElement().click()}),ko.bindingHandlers.wysiwyg.removeSelectionOnBlur&&i.on("blur",function(e){global.getSelection().removeAllRanges()}),i.on("BeforeSetContent",function(e){e.initial&&(e.format="raw")}),void 0===i.originalFire&&(i.originalFire=i.fire,i.fire=_catchingFire),a=i}};return ko.bindingHandlers.wysiwyg.useTarget?w.target=e:w.selector="#"+l,ko.utils.extend(w,ko.bindingHandlers.wysiwyg.standardOptions),d&&ko.utils.extend(w,ko.bindingHandlers.wysiwyg.fullOptions),global.setTimeout(function(){s&&console.debug("Editor for selector",l,"is being inizialized ...");var e=tinymce.init(w);s&&console.debug("Editor for selector",l,"init has just been called returning",e),e.then(function(){s&&console.debug("Editor for selector",l,"init promise has resolved.")},function(e){console.log("Editor for selector",l,"init promise has failed.",e)})}),ko.computed(function(){var n=ko.utils.unwrapObservable(i());if(!u){try{g=!0,void 0!==a?a.setContent(n,{format:"raw"}):ko.utils.setHtml(e,n)}catch(e){console.warn("Exception setting content to editable element",typeof a,e)}g=!1}},null,{disposeWhenNodeIsRemoved:e}),{controlsDescendantBindings:!0}}}; + +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) + +},{"./eventable.js":34,"console-browserify":6}],51:[function(require,module,exports){ +"use strict";var console=require("console-browserify"),checkModel=function(e,o,t,n,l){var i,f,r,a=0;if(void 0===l&&(l=!1),void 0!==o&&"function"==typeof o.splice)for(i={},f=0;f0)if(t[p].length>0){var c=0;for(f=0;f=e[p].length){console.log("WARN cannot find ",r,t[p][f].type," block in reference"),a=Math.max(a,2);break}a=Math.max(a,checkModel(e[p][c],void 0,t[p][f],r+"["+f+"."+t[p][f].type+"]"))}}else for(f=0;f=0;l--)if("property"==e[l].type&&e[l].name==t)return _declarationValueUrlPrefixer(e[l].value,r);return null},_propToCamelCase=function(e){return e.replace(/-([a-z])/g,function(e,t,r,l){return t.toUpperCase()})},_declarationValueUrlPrefixer=function(e,t){return e.match(/url\(.*\)/)?e.replace(/(url\()([^\)]*)(\))/g,function(e,r,l,i){var n=l.trim(),o=l.trim().charAt(0);"'"==o||'"'==o?n=n.substr(1,n.length-2):o="";var a=t(n);return null!==a?r+o+a+o+i:e}):e},elaborateDeclarations=function(e,t,r,l,i,n,o){var a="object"==typeof n&&null!==n?n:{},u=null,s=0;void 0===t&&(t=cssParse("#{\n"+e+"}",{comments:!0,position:!0}).stylesheet.rules[0].declarations,s=1);for(var d=t.length-1;d>=0;d--)if("property"==t[d].type)if(!0===o&&"display"==t[d].name&&"none"==t[d].value)null===u&&(u=e),u=converterUtils.removeStyle(u,t[d].position.start,t[d].position.end,s,0,0,"");else{var v=t[d].name.match(/^-ko-(bind-|attr-)?([a-z0-9-]*?)(-if|-ifnot)?$/);if(null!==v){null===u&&void 0!==e&&(u=e);var c,f,m,p="attr-"==v[1],y="bind-"==v[1],h=v[2],b="-if"==v[3]||"-ifnot"==v[3];if(b){if(c=t[d].name.substr(0,t[d].name.length-v[3].length),null===_declarationValueLookup(t,c,r))throw"Unable to find declaration "+c+" for "+t[d].name}else{if((p||y)&&void 0===i&&void 0!==e)throw"Attributes and bind declarations are only allowed in inline styles!";var S,g=!0;if(p?(m=domutils.getAttribute(i,h),g=!1,S="virtualAttr"):y?(S=null,"text"==h?void 0!==i?m=domutils.getInnerText(i):g=!1:"html"==h&&void 0!==i?m=domutils.getInnerHtml(i):g=!1):((g=void 0!==e)&&(m=_declarationValueLookup(t,h,r)),S="virtualStyle"),g&&null===m)throw console.error("Cannot find default value for",t[d].name,t),"Cannot find default value for "+t[d].name+": "+t[d].value+" in "+i+" ("+typeof e+"/"+h+")";var w=m,U=y||p?-1!=h.indexOf("-")?"'"+h+"'":h:_propToCamelCase(h);try{f=converterUtils.expressionBinding(t[d].value,l,w)}catch(e){throw console.error("Model ensure path failed",e.stack,"name",t[d].name,"value",t[d].value,"default",m,"element",i),e}null!==S&&void 0===a[S]&&(a[S]={}),"virtualAttr"==S&&"href"==U&&(S=null,U="wysiwygHref",null!=i&&domutils.removeAttribute(i,"href"));var x=_declarationValueLookup(t,t[d].name+"-if",r),A=!1;if(null===x)x=_declarationValueLookup(t,t[d].name+"-ifnot",r),A=!0;else if(null!==_declarationValueLookup(t,t[d].name+"-ifnot",r))throw"Unexpected error: cannot use both -if and -ifnot property conditions";if(null!==x)try{f=(A?"!":"")+"("+converterUtils.conditionBinding(x,l)+") ? "+f+" : null"}catch(e){throw console.error("Unable to deal with -ko style binding condition",x,t[d].name),e}null!==S?a[S][U]=f:a[U]=f}if(null!==u)try{if(null!=i)u=converterUtils.removeStyle(u,t[d].position.start,t[d].position.end,s,0,0,"");else{var _="";b||(_=h+": \x3c!-- ko text: "+f+" --\x3e"+m+"\x3c!-- /ko --\x3e"),u=converterUtils.removeStyle(u,t[d].position.start,t[d].position.end,s,0,0,_)}}catch(e){throw console.warn("Remove style failed",e,"name",t[d]),e}}else{var k=_declarationValueUrlPrefixer(t[d].value,r);if(k!=t[d].value&&(null===u&&void 0!==e&&(u=e),null!==u))try{u=converterUtils.removeStyle(u,t[d].position.start,t[d].position.end,s,0,0,t[d].name+": "+k)}catch(e){throw console.log("Remove style failed replacing url",e,"name",t[d]),e}var C=_propToCamelCase(t[d].name),V="virtualAttrStyle",P=void 0!==a.virtualStyle?a.virtualStyle[C]:void 0,j=" ";void 0===a[V]&&(a[V]="''",j=""),void 0!==P?(a[V]="'"+t[d].name+": '+("+P+")+';"+j+"'+"+a[V],delete a.virtualStyle[C]):a[V]="'"+t[d].name+": "+converterUtils.addSlashes(k)+";"+j+"'+"+a[V]}}if(null!=i){for(var z in a.virtualStyle)if(a.virtualStyle.hasOwnProperty(z))throw console.log("Unexpected virtualStyle binding after conversion to virtualAttr.style",z,a.virtualStyle[z],e),"Unexpected virtualStyle binding after conversion to virtualAttr.style for "+z;delete a.virtualStyle;var L=domutils.getAttribute(i,"data-bind"),q=(null!==L?L+", ":"")+_bindingSerializer(a);""==q?domutils.removeAttribute(i,"data-bind"):domutils.setAttribute(i,"data-bind",q)}if(void 0===e){var O=!1;for(var T in a.virtualStyle)if(a.virtualStyle.hasOwnProperty(T)){O=!0;break}if(O){if(void 0!==a.virtualAttrStyle){var B=a.virtualAttrStyle;delete a.virtualAttrStyle,a.virtualAttrStyle=B}}else delete a.virtualStyle;return _bindingSerializer(a)}return u},_bindingSerializer=function(e){var t=[];for(var r in e)e.hasOwnProperty(r)&&("object"==typeof e[r]?t.push(r+": { "+_bindingSerializer(e[r])+" }"):t.push(r+": "+e[r]));return t.reverse().join(", ")};module.exports=elaborateDeclarations; + +},{"./domutils.js":53,"./utils.js":59,"console-browserify":6,"mensch/lib/parser.js":20}],53:[function(require,module,exports){ +(function (global){ +"use strict";var $="undefined"!=typeof window?window.jQuery:"undefined"!=typeof global?global.jQuery:null;function _extend(e,t){if(t)for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);return e}var objExtend=function(e,t){return"function"==typeof $.extend?$.extend(!0,e,t):_extend(e,JSON.parse(JSON.stringify(t)))},getAttribute=function(e,t){var n=$(e).attr(t);return void 0===n&&(n=null),n},setAttribute=function(e,t,n){$(e).attr(t,n)},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&&void 0!==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 : {}) + +},{}],54:[function(require,module,exports){ +"use strict";var console=require("console-browserify"),elaborateDeclarations=require("./declarations.js"),utils=require("./utils.js"),modelDef=require("./model.js"),_getOptionsObject=function(e){for(var t=e.split("|"),o={},i=0;i1?l[1].trim():l[0].trim()}return o},_filterProps=function(e,t,o){var i=[];for(var l in e)if(!l.match(/^customStyle$/)&&!l.match(/^_/)&&e.hasOwnProperty(l)){var a=null!==e[l]&&void 0!==e[l]._category&&"style"==e[l]._category;"id"==l||"type"==l||l.match(/Blocks$/)||("styler"==t?(a||o>0)&&i.push(l):"edit"==t?null!==e[l]&&void 0!==e[l]._category&&"content"==e[l]._category&&(void 0===e[l]._context||"block"!=e[l]._context)&&i.push(l):void 0===t&&i.push(l))}return i},_propInput=function(e,t,o,i,l){var a,n="";if(null!==e&&void 0!==e._widget&&(a=e._widget),void 0===a)throw"Unknown data type for "+t;var s="focusable: true";if("edit"==i&&(s+=", event: { focus: function(ui, event) { $($element).click(); } } "),n+='"},_getGlobalStyleProp=function(e,t,o,i){var l;return"object"==typeof t&&null!==t&&void 0===t._widget||void 0!==o&&void 0!==i&&i.length>0&&"object"==typeof e&&void 0!==e[i]&&(l=e[i]),l},_propEditor=function(e,t,o,i,l,a,n,s,d,r,c,p,v,u,b){if(void 0===d&&(d=0),void 0!==n&&"object"==typeof i&&null!==i&&void 0===i._usecount)return"function"==typeof console.debug&&console.debug("Ignoring",a,"property because it is not used by the template","prop:",n,"type:",s,"level:",d,e._templateName),"";var h,f=void 0!==p?n+"._defaultComputed":n,m="",g=f,_=1,y=1;if("object"==typeof i&&null!==i&&void 0===i._widget||void 0===p&&(_+=1),void 0===p&&void 0!==r&&(y+=r),void 0!==n&&v&&(m+="\x3c!-- ko ifSubs: { data: "+g+", threshold: "+y+", gutter: "+_+" } --\x3e"),void 0===n||null!==i&&void 0!==i._name||console.log("Missing label for property ",n),void 0===n&&null!==i&&void 0===i._name&&"theme"!==i.type&&console.log("Missing label for object ",i.type),"object"==typeof i&&null!==i&&void 0===i._widget){var k=_filterProps(i,s,d),x="styler"==s&&null!==i&&void 0!==i.customStyle&&void 0!==p,S="",w="";void 0!==n&&"edit"==s&&(S=", click: function(obj, evt) { $root.selectItem("+n+", $data); return false }, clickBubble: false, css: { selecteditem: $root.isSelectedItem("+n+") }, scrollIntoView: $root.isSelectedItem("+n+"), ",w+=" selectable"),x&&(w+=" supportsCustomStyles"),m+='
';var $,j,D,B=null!==i&&void 0!==i._name?i._name:void 0!==n?"["+n+"]":"";if(x){var E="Stile";null!=l&&void 0!==l._name?E=l._name:console.log("Missing label for theme section ",n,null!==i?i.type:"-"),B="Block"}else B=""+B+"";m+="'+B+"","edit"==s&&void 0!==i._blockDescription&&(m+="
"+i._blockDescription+"
"),x&&(m+='",m+="\x3c!-- ko template: { name: 'customstyle', if: customStyle } --\x3e\x3c!-- /ko --\x3e"),void 0!==n&&(m+="\x3c!-- ko with: "+n+" --\x3e",1==d&&void 0!==n&&void 0!==i._previewBindings&&void 0!==e&&(void 0!==u&&(m+='\x3c!-- ko with: $root.content() --\x3e
\x3c!-- /ko --\x3e'),void 0!==b&&(m+='\x3c!-- ko with: $parent --\x3e
\x3c!-- /ko --\x3e'),m+='
')),0===d&&void 0!==i._previewBindings&&($=elaborateDeclarations(void 0,i._previewBindings,o,e.bind(this,a.length>0?a+".":"")));var C,I=m.length;for(j=0;j0?a+"."+k[j]:k[j],"object"==typeof i[k[j]]&&null!==i[k[j]]&&void 0===i[k[j]]._widget||(C=void 0,0===d&&"theme"==k[j]?m+=_propEditor(e,t,o,i[k[j]],void 0,D,k[j],s,0,r,void 0,void 0,v,u):(C=_getGlobalStyleProp(c,i[k[j]],k[j],D),m+=_propEditor(e,t,o,i[k[j]],void 0,D,k[j],s,d+1,r,c,C,v,u,$)));for(j=0;j0?a+"."+k[j]:k[j],"object"==typeof i[k[j]]&&null!==i[k[j]]&&void 0===i[k[j]]._widget&&(C=void 0,0===d&&"theme"==k[j]?m+=_propEditor(e,t,o,i[k[j]],void 0,D,k[j],s,0,r,void 0,void 0,v,u):(C=_getGlobalStyleProp(c,i[k[j]],k[j],D),m+=_propEditor(e,t,o,i[k[j]],void 0,D,k[j],s,d+1,r,c,C,v,u,$)));if(0==m.length-I){if("object"==typeof i&&null!==i&&"template"==i._context)return"";m+='
Selected element has no editable properties
'}void 0!==n&&(m+="\x3c!-- /ko --\x3e"),m+="
"}else{var P=!0;if(void 0===c&&(P=!1),null===i||"object"!=typeof i||void 0!==i._widget){var M=[];void 0!==p&&M.push("css: { notnull: "+n+"() !== null }"),(h=null!==i&&void 0!==i._help?' title="'+utils.addSlashes(i._help)+"\" data-bind=\"attr: { title: $root.ut('template', '"+utils.addSlashes(i._help)+"') }\"":"").length>0&&M.push("tooltips: {}"),m+='
0?'data-bind="'+utils.addSlashes(M.join())+'"':"")+">";var T=null!==i&&void 0!==i._name?i._name:void 0!==n?"["+n+"]":"";m+="'+(T=""+T+"")+"",m+='
',m+=_propInput(i,n,f,s,t),m+="
",void 0!==p&&(m+='
',m+=_propInput(i,n,p,s,t),m+="
",P&&(m+='
")),m+="
"}else m+=null===i||"object"!=typeof i?'
[A|'+n+"|"+typeof i+"]
":'
[B|'+n+"|"+typeof i+"]
"}return void 0!==n&&v&&(m+="\x3c!-- /ko --\x3e",m+="\x3c!-- ko ifSubs: { not: true, data: "+g+", threshold: "+y+", gutter: 0 } --\x3e",m+='('+n+")",m+="\x3c!-- /ko --\x3e"),m},createBlockEditor=function(e,t,o,i,l,a,n,s,d,r,c,p){void 0===c&&(c=!0);var v,u=modelDef.getDef(e,a),b=modelDef.getDef(e,l);void 0!==b._previewBindings&&"thaeme"!=a&&"styler"==n&&(v=elaborateDeclarations(void 0,b._previewBindings,i,modelDef.getBindValue.bind(void 0,e,o,l,l,"")));var h,f=void 0!==r&&r?e[a]._globalStyles:void 0,m=void 0!==r&&r?e[a]._globalStyle:void 0;void 0!==m&&(h=modelDef.getDef(e,"theme")[m.replace(/^(\$theme|_theme_)\./,"")]);var g=modelDef.getBindValue.bind(void 0,e,o,l,a);g._templateName=a;var _='
';_+='
'+u.type+"
";var y=_propEditor(g,t,i,u,h,"",void 0,n,p,d,f,m,c,v);y.length>0&&(_+=y),s(_+="
",a,n)},createBlockEditors=function(e,t,o,i,l,a,n,s){createBlockEditor(e,t,o,i,l,a,"edit",n,s),createBlockEditor(e,t,o,i,l,a,"styler",n,s,!0)},generateEditors=function(e,t,o,i,l){var a,n=e._defs,s=e.templateName,d=e._blocks,r=[];for(a=0;a0&&a.push(n[d]);t[o]=a}else"string"==typeof t[o]||"boolean"==typeof t[o]?t[o]=l:"object"==typeof t[o]&&null!==t[o]&&void 0!==t[o]._widget?("object"==typeof l&&null!==l&&console.log("objectvalue",o,t[o]._widget,l),t[o]=l):console.log("setting",typeof t[o],t[o],o,l);else{var f=o.substr(0,r);_valueSet(e,t[f],o.substr(r+1),l)}},_modelCreateOrUpdateBlockDef=function(e,t,o,l){if(void 0!==e[t]&&e[t]._initialized&&!e[t]._writeable)throw console.log("_modelCreateOrUpdateBlockDef",e,t,o,l),"Trying to alter non writeable model: "+t+" / "+o;if(void 0===e[t]&&(e[t]={_writeable:!0},void 0===l&&(l={}),void 0===l.category&&void 0===e[t]._category&&(t.match(/(^t|.T)heme$/)||t.match(/(^s|.S)tyle$/)||t.match(/(^c|.C)olor$/)||t.match(/(^r|.R)adius$/)?l.category="style":l.category="content")),void 0!==l){if(void 0!==l.name&&(e[t]._name=l.name),void 0!==l.themeOverride&&(e[t]._themeOverride=l.themeOverride),void 0!==l.globalStyle){e[t]._globalStyle=l.globalStyle;var r=l.globalStyle.replace(/^(\$theme|_theme_)\./,""),n=r.indexOf("."),i=-1!=n?r.substr(0,n):r;_modelCreateOrUpdateBlockDef(e,"theme",i),(void 0===e[t]._themeOverride||e[t]._themeOverride)&&_modelCreateOrUpdateBlockDef(e,t,"customStyle=false")}void 0!==l.contextName&&(e[t]._context=l.contextName,"block"==l.contextName&&void 0===e[t]._globalStyle&&(e[t]._globalStyle="_theme_.bodyTheme",_modelCreateOrUpdateBlockDef(e,"theme","bodyTheme"),(void 0===e[t]._themeOverride||e[t]._themeOverride)&&_modelCreateOrUpdateBlockDef(e,t,"customStyle=false"))),void 0!==l.extend&&(e[t].type=l.extend)}for(var a in l)l.hasOwnProperty(a)&&void 0!==l[a]&&-1==["name","extend","contextName","globalStyle","themeOverride"].indexOf(a)&&(e[t]["_"+a]=l[a]);void 0!==o&&o.length>0&&(e[t]._props=void 0!==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 l in e)if(!l.match(/^_.*/)&&e.hasOwnProperty(l)){var r=e[l];if("object"==typeof r&&null!==r&&void 0!==r._complex&&r._complex)o[l]=_generateModelFromDef(r,t);else if("type"==l)o[l]=r;else{if("object"!=typeof r)throw console.error("Unexpected model def",l,r,e),"Unexpected model def ["+l+"]="+r;o[l]=null}}if(void 0!==e._defaultValues){var n=e._defaultValues;for(var i in n)n.hasOwnProperty(i)&&_valueSet(t,o,i,n[i])}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,l){if(void 0===e[t]){if(-1!=t.indexOf(" "))return null;var r=_removePrefix(t);return null!==r?_getModelDef(e,r,o,l):null}var n=e[t];if("object"!=typeof n)throw"Block definition must be an object: found "+n+" for "+t;if(void 0===n._initialized){if(void 0===n.type&&(-1==t.indexOf(" ")?n.type=t:n.type=t.substr(t.indexOf(" ")+1)),n.type!=t&&void 0===n._widget){var i=_getModelDef(e,n.type,!0);n=objExtend(i,n),e[t]=n}else void 0===n._widget&&void 0===n._props&&n._complex;n._writeable=!0,n._initialized=!0}if(void 0!==n._props){var a=n._props;if((a=a.split(" ")).length>0&&void 0===n._writeable)throw console.error("Altering a non writable object ",t,a,n),"Altering a non writable object: "+t+" def: "+a;void 0===n._processedDefs&&(n._processedDefs={}),void 0===n._globalStyles&&(n._globalStyles={}),void 0===n._defaultValues&&(n._defaultValues={});for(var d=0;d0?domutils.setAttribute(e,"style",l):domutils.removeAttribute(e,"style"))},_fixRelativePath=function(e,t,o,a){var i=t(domutils.getAttribute(a,e));null!==i&&domutils.setAttribute(a,e,i)},processBlock=function(e,t,o,a,i,r,l,d,s,c){try{var n;if("block"==r)n=domutils.getAttribute(e,"data-ko-block"),domutils.removeAttribute(e,"data-ko-block");else{if("template"!=r)throw"Unexpected context name while processing block: "+r;n=l}$("[data-ko-remove]",e).remove();for(var u=$("[data-ko-block]",e).replaceWith(""),m=["href","src","data-ko-placeholder-src","background"],h=0;h0&&(b+=" "),b+=domutils.getAttribute(t,"data-ko-properties"),domutils.removeAttribute(t,"data-ko-properties")}),modelDef.createOrUpdateBlockDef(t,n,b,{contextName:r});var v=modelDef.ensurePathAndGetBindValue.bind(void 0,t,o,l,n,"");"block"==r&&v("id",""),$("style",e).each(function(e,a){var r=domutils.getInnerHtml(a),d=modelDef.createOrUpdateBlockDef.bind(void 0,t),s=modelDef.ensurePathAndGetBindValue.bind(void 0,t,o,l),u=processStylesheetRules(r,void 0,s,d,o,i,l,n);if(u!=r)if(""!==u.trim()){var m=c(u);domutils.setAttribute(a,"data-bind","template: { name: '"+m+"' }"),domutils.setContent(a,"")}else domutils.removeElements($(a))}),processStyle(e,i,v,s);for(var f=["data-ko-display","data-ko-editable","data-ko-wrap","href"],k=0;k0){var n=s.substr(0,s.lastIndexOf("."));l=v(n)}else l=v(s);if(d="wysiwygClick: function(obj, evt) { $root.selectItem("+l+", $data); return false }, clickBubble: false, wysiwygCss: { selecteditem: $root.isSelectedItem("+l+") }, scrollIntoView: $root.isSelectedItem("+l+")","img"!=domutils.getLowerTagName(t)){a=domutils.getInnerHtml(t);var u=v(s,a,!0,"wysiwyg");if(o="",domutils.getAttribute(t,"id")||(o+="wysiwygId: id()+'_"+s.replace(".","_")+"', "),void 0!==d&&(o+=d+", "),o+="wysiwygOrHtml: "+u,"td"==domutils.getLowerTagName(t)){var m=$('
')[0];domutils.setAttribute(m,"data-bind",o);var h=domutils.getInnerHtml($("
").append(m));domutils.setContent(t,h)}else r=(null!==(i=domutils.getAttribute(t,"data-bind"))?i+", ":"")+o,domutils.setAttribute(t,"data-bind",r),domutils.setContent(t,"");domutils.removeAttribute(t,"data-ko-editable")}else{var p=domutils.getAttribute(t,"width");if(""===p&&(p=null),null===p)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 f=domutils.getAttribute(t,"align"),k=(i=domutils.getAttribute(t,"data-bind"))&&i.match(/virtualAttr: {[^}]* height: ([^,}]*)[,}]/);k&&(b=k[1]);var g=i&&i.match(/virtualAttr: {[^}]* width: ([^,}]*)[,}]/);g&&(p=g[1]);var w,A,y="";(a=domutils.getAttribute(t,"data-ko-placeholder-src"))?y=domutils.getAttribute(t,"src"):a=domutils.getAttribute(t,"src"),p&&b?w=p+"+'x'+"+b:b?p||(w="'h'+"+b+"+''"):w="'w'+"+p+"+''";var x=b||domutils.getAttribute(t,"data-ko-placeholder-height"),_=p||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"),a&&(A="{ width: "+_+", height: "+x+", text: "+w+"}"),!_||!x)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 D=v(s,y,!1,"wysiwyg");r=(null!==i?i+", ":"")+(o="wysiwygSrc: { width: "+p+", height: "+b+", src: "+D+", placeholder: "+A+" }"),domutils.setAttribute(t,"data-bind",r);var I=c(t),R="{ width: "+p;"left"==f?R+=", float: 'left'":"right"==f?R+=", float: 'right'":"center"==f&&("function"==typeof console.debug?console.debug("Ignoring align=center on an img tag: we don't know how to emulate this alignment in the editor!"):"top"==f?R+=", verticalAlign: 'top'":"middle"==f?R+=", verticalAlign: 'middle'":"bottom"==f&&(R+=", verticalAlign: 'bottom'")),R+="}",$(t).before("\x3c!-- ko wysiwygImg: { _data: $data, _item: "+l+", _template: '"+I+"', _editTemplate: 'img-wysiwyg', _src: "+D+", _width: "+p+", _height: "+b+", _align: "+(null===f?void 0:"'"+f+"'")+", _size: "+w+", _method: "+void 0+", _placeholdersrc: "+A+", _stylebind: "+R+" } --\x3e"),$(t).after("\x3c!-- /ko --\x3e")}}),$("[href]",e).each(function(e,t){var o=domutils.getAttribute(t,"href"),a="wysiwygHref: '"+converterUtils.addSlashes(o)+"'",i=domutils.getAttribute(t,"data-bind"),r=(null!==i?i+", ":"")+a;domutils.setAttribute(t,"data-bind",r)}),$("replacedblock",e).each(function(e,r){var s=u[e],m=processBlock(s,t,o,a,i,"block",n,d,!0,c),h=modelDef.ensurePathAndGetBindValue(t,o,l,n,"",m);$(r).before("\x3c!-- ko block: { data: "+converterUtils.addSlashes(h)+", template: 'block' } --\x3e"),$(r).after("\x3c!-- /ko --\x3e"),$(r).remove()}),$($("[data-ko-wrap]",e).get().reverse(),e).each(function(e,t){var o=domutils.getAttribute(t,"data-ko-wrap");if(void 0===o||""===o||"true"===o)throw"Unsupported empty value for data-ko-wrap: use false value if you want to always remove the tag";var a,i,r=converterUtils.conditionBinding(o,v),l=domutils.getAttribute(t,"data-bind");if(""!==l&&null!==l&&l.match(/(block|wysiwygOrHtml):/)){var d="\x3c!-- ko "+l+" --\x3e"+domutils.getInnerHtml(t)+"\x3c!-- /ko --\x3e";a=c(d),domutils.removeAttribute(t,"data-ko-wrap"),i=c(t),domutils.replaceHtml(t,"\x3c!-- ko template: /* special */ (typeof templateMode != 'undefined' && templateMode == 'wysiwyg') || "+r+" ? '"+i+"' : '"+a+"' --\x3e\x3c!-- /ko --\x3e")}else a=c(domutils.getInnerHtml(t)),domutils.removeAttribute(t,"data-ko-wrap"),domutils.setContent(t,"\x3c!-- ko template: '"+a+"' --\x3e\x3c!-- /ko --\x3e"),i=c(t),domutils.replaceHtml(t,"\x3c!-- ko template: (typeof templateMode != 'undefined' && templateMode == 'wysiwyg') || "+r+" ? '"+i+"' : '"+a+"' --\x3e\x3c!-- /ko --\x3e")}),c(e,n,"show"),a(l,n,r,d),n}catch(t){throw console.error("Exception while parsing the template",t,e),t}};function conditional_replace(e){return e.replace(//g,function(e,t,o){var a="\x3c!-- cc:start --\x3e";a+=o.replace(/<([A-Za-z:]+)/g,"\x3c!-- cc:bo:$1 --\x3e/g,"\x3c!-- cc:bc:$1 --\x3e\x3c!-- cc:ac:$1 --\x3e").replace(/\/>/g,"/>\x3c!-- cc:sc --\x3e"),a+="\x3c!-- cc:end --\x3e";var i='';return(i+=$("
").append($(a)).html().replace(/^/,"").replace(/$/,""))+""})}var translateTemplate=function(e,t,o,a){var i={},r=conditional_replace(t.replace(/(<[^>]+\s)(style|http-equiv)(="[^"]*"[^>]*>)/gi,function(e,t,o,a){return t+"replaced"+o+a})),l="function"==typeof $.parseHTML?$($.parseHTML(r,!1)):$(r),d=l[0],s=[],c=function(e,t,o,a){s.push({root:e,block:t,context:o,container:a})},n=function(e,t,o){if(void 0===i.themes&&(i.themes={}),void 0===i.themes[e]&&(i.themes[e]={}),void 0===i.themes[e][t]||null===i.themes[e][t])i.themes[e][t]=o;else if(null!=o){var a=i.themes[e][t];a!=o&&console.log("Error setting a new default for property "+t+" in theme "+e+". old:"+a+" new:"+o+"!")}},u=$("[data-ko-container]",l),m={};u.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 a=$("> [data-ko-block]",t);domutils.removeElements(a,!0),m[o]=a}),modelDef.createOrUpdateBlockDef(i,"id"),modelDef.createOrUpdateBlockDef(i,"bodyTheme"),modelDef.createOrUpdateBlockDef(i,"blocks","blocks[]"),modelDef.createOrUpdateBlockDef(i,"text"),processBlock(d,i,n,c,o,"template",e,void 0,!1,a);var h=function(t,r,l){processBlock(l,i,n,c,o,"block",e,t,!0,a)};for(var p in m)if(m.hasOwnProperty(p)){var b=m[p],v=p;modelDef.ensurePathAndGetBindValue(i,n,e,e,"",v+".blocks","[]"),b.each(h.bind(void 0,v))}var f={_defs:i,templateName:e,_blocks:s};return void 0!==i[e]._version&&(f.version=i[e]._version),f};module.exports=translateTemplate; + +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) + +},{"./declarations.js":52,"./domutils.js":53,"./model.js":56,"./stylesheet.js":58,"./utils.js":59,"console-browserify":6}],58:[function(require,module,exports){ +"use strict";var cssParse=require("mensch/lib/parser.js"),console=require("console-browserify"),converterUtils=require("./utils.js"),elaborateDeclarations=require("./declarations.js"),_removeOptionalQuotes=function(e){return"'"!=e[0]&&'"'!=e[0]||e[e.length-1]!=e[0]?e:e.substr(1,e.length-2).replace(/\\([\s\S])/gm,"$1")},_processStyleSheetRules_processBlockDef=function(e,t){for(var o,s,r,l=0;l=0;d--){if("supports"==t[d].type&&"-ko-blockdefs"==t[d].name)_processStyleSheetRules_processBlockDef(s,t[d].rules),c=converterUtils.removeStyle(c,t[d].position.start,p,0,0,0,"");else if("media"==t[d].type||"supports"==t[d].type)c=processStylesheetRules(c,t[d].rules,o,s,r,l,n,i);else if("comment"==t[d].type);else if("rule"==t[d].type){for(var f=t[d].selectors,h="",m=null,v=0;v0&&(h+=", ");var y=f[v].match(/\[data-ko-block=([^ ]*)\]/);if(null!==y){if(null!==m&&m!=y[1])throw"Found multiple block-match attribute selectors: cannot translate it ("+m+" vs "+y[1]+")";m=y[1]}h+="\x3c!-- ko text: templateMode =='wysiwyg' ? '#main-wysiwyg-area ' : '' --\x3e\x3c!-- /ko --\x3e"+f[v]}if(m){var k="\x3c!-- ko foreach: $root.findObjectsOfType($data, '"+m+"') --\x3e",x=p,g=" ";t[d].declarations.length>0&&(t[d].declarations[0].position.start.line!=t[d].position.end.line&&(g="\n"+new Array(t[d].position.start.col).join(" ")),x=t[d].declarations[t[d].declarations.length-1].position.end),null===x?c+=g+"\x3c!-- /ko --\x3e":c=x==p?converterUtils.removeStyle(c,x,p,0,0,0,g+"\x3c!-- /ko --\x3e"):converterUtils.removeStyle(c,x,p,0,0,0,g+"}"+g+"\x3c!-- /ko --\x3e"),h=k+g+h.replace(new RegExp("\\[data-ko-block="+m+"\\]","g"),"\x3c!-- ko text: '#'+id() --\x3e"+m+"\x3c!-- /ko --\x3e"),s(m,"",{contextName:"block"})}var b=m||i;a=o.bind(this,b,"");var w=elaborateDeclarations(c,t[d].declarations,l,a);null!==w&&(c=w),c=converterUtils.removeStyle(c,t[d].position.start,t[d].position.end,0,0,0,h)}else console.log("Unknown rule type",t[d].type,"while parsing \")}}function p(r,n){if(r.name){var s=r.name.toUpperCase();if(e[n+\"Elements\"].indexOf(s)>-1)for(var a in r.styleProps)if(r.styleProps[a].prop===n){if(r.styleProps[a].value.match(/px/)){var o=r.styleProps[a].value.replace(\"px\",\"\");return void t(r).attr(n,o)}if(e.tableElements.indexOf(s)>-1&&r.styleProps[a].value.match(/\\%/))return void t(r).attr(n,r.styleProps[a].value)}}}function c(e){return 0!==e.indexOf(\"url(\")?e:e.replace(/^url\\(([\"'])?([^\"']+)\\1\\)$/,\"$2\")}}function r(e){return\"before\"===e.name||\"after\"===e.name}return e.ignoredPseudos=[\"hover\",\"active\",\"focus\",\"visited\",\"link\"],e.widthElements=[\"TABLE\",\"TD\",\"TH\",\"IMG\"],e.heightElements=[\"TABLE\",\"TD\",\"TH\",\"IMG\"],e.tableElements=[\"TABLE\",\"TH\",\"TR\",\"TD\",\"CAPTION\",\"COLGROUP\",\"COL\",\"THEAD\",\"TBODY\",\"TFOOT\"],e.nonVisualElements=[\"HEAD\",\"TITLE\",\"BASE\",\"LINK\",\"STYLE\",\"META\",\"SCRIPT\",\"NOSCRIPT\"],e.styleToAttribute={\"background-color\":\"bgcolor\",\"background-image\":\"background\",\"text-align\":\"align\",\"vertical-align\":\"valign\"},e.excludedProperties=[],e.juiceDocument=function(r,n){n=utils.getDefaultOptions(n);var s=function(t,r){return function(t,r){var n,s,a,o=[];return t(\"style\").each(function(){if(1===(n=(a=this).childNodes).length){if(s=n[0].data,r.applyStyleTags&&void 0===t(a).attr(\"data-embed\")&&o.push(s),r.removeStyleTags&&void 0===t(a).attr(\"data-embed\")){var i=utils.getPreservedText(a.childNodes[0].nodeValue,{mediaQueries:r.preserveMediaQueries,fontFaces:r.preserveFontFaces,keyFrames:r.preserveKeyFrames,pseudos:e.ignoredPseudos});i?a.childNodes[0].nodeValue=i:t(a).remove()}t(a).removeAttr(\"data-embed\")}}),o}(t,r).join(\"\\n\")}(r,n);return s+=\"\\n\"+n.extraCss,t(r,s,n),r},e.inlineDocument=t,e};\n\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImlubGluZS5qcyJdLCJuYW1lcyI6WyJ1dGlscyIsInJlcXVpcmUiLCJtb2R1bGUiLCJleHBvcnRzIiwianVpY2VDbGllbnQiLCJpbmxpbmVEb2N1bWVudCIsIiQiLCJjc3MiLCJvcHRpb25zIiwicnVsZXMiLCJwYXJzZUNTUyIsImVkaXRlZEVsZW1lbnRzIiwic3R5bGVBdHRyaWJ1dGVOYW1lIiwiZm9yRWFjaCIsInJ1bGUiLCJlbHMiLCJzZWwiLCJzdHlsZSIsInNlbGVjdG9yIiwiU2VsZWN0b3IiLCJwYXJzZWRTZWxlY3RvciIsInBhcnNlZCIsInBzZXVkb0VsZW1lbnRUeXBlIiwibGVuZ3RoIiwicHNldWRvcyIsImkiLCJpc1BzZXVkb0VsZW1lbnROYW1lIiwibmFtZSIsImdldFBzZXVkb0VsZW1lbnRUeXBlIiwic3ViU2VsIiwiaiIsInN1YlNlbFBzZXVkbyIsImlnbm9yZWRQc2V1ZG9zIiwiaW5kZXhPZiIsImxhc3QiLCJmaWx0ZXIiLCJwc2V1ZG8iLCJmaWx0ZXJFbGVtZW50UHNldWRvcyIsInRvU3RyaW5nIiwiZXJyIiwiZWFjaCIsImVsIiwidGhpcyIsIm5vblZpc3VhbEVsZW1lbnRzIiwidG9VcHBlckNhc2UiLCJwc2V1ZG9FbFByb3BOYW1lIiwicHNldWRvRWwiLCJnZXQiLCJwc2V1ZG9FbGVtZW50UGFyZW50Iiwic3R5bGVQcm9wcyIsImF0dHIiLCJjc3NUZXh0IiwiYWRkUHJvcHMiLCJwdXNoIiwibCIsInR5cGUiLCJ2YWx1ZSIsImltcG9ydGFudCIsIm1hdGNoIiwicHJlc2VydmVJbXBvcnRhbnQiLCJyZXBsYWNlIiwiYWRkaXRpb25hbFByaW9yaXR5IiwicG9zaXRpb24iLCJzdGFydCIsImxpbmUiLCJjb2wiLCJwcm9wIiwiUHJvcGVydHkiLCJleGlzdGluZyIsImV4Y2x1ZGVkUHJvcGVydGllcyIsImNvbXBhcmUiLCJuZXh0UHJvcCIsIk9iamVjdCIsImtleXMiLCJwcm9wcyIsImtleSIsIm5wIiwic29ydCIsImEiLCJiIiwiY29tcGFyZUZ1bmMiLCJzdHJpbmciLCJtYXAiLCJqb2luIiwiaW5saW5lUHNldWRvRWxlbWVudHMiLCJjb250ZW50IiwiaW1hZ2VVcmxNYXRjaCIsInVybCIsImltZyIsInNsaWNlIiwicGFyc2VDb250ZW50IiwidGV4dCIsInBhcmVudCIsInByZXBlbmQiLCJhcHBlbmQiLCJhcHBseVdpZHRoQXR0cmlidXRlcyIsInNldERpbWVuc2lvbkF0dHJzIiwiYXBwbHlIZWlnaHRBdHRyaWJ1dGVzIiwiYXBwbHlBdHRyaWJ1dGVzVGFibGVFbGVtZW50cyIsImVsTmFtZSIsInN0eWxlVG9BdHRyaWJ1dGUiLCJ0YWJsZUVsZW1lbnRzIiwiZXh0cmFjdEJhY2tncm91bmRVcmwiLCJ0ZXN0IiwiaW5zZXJ0UHJlc2VydmVkRXh0cmFDc3MiLCJleHRyYUNzcyIsInByZXNlcnZlZFRleHQiLCJnZXRQcmVzZXJ2ZWRUZXh0IiwibWVkaWFRdWVyaWVzIiwicHJlc2VydmVNZWRpYVF1ZXJpZXMiLCJmb250RmFjZXMiLCJwcmVzZXJ2ZUZvbnRGYWNlcyIsImtleUZyYW1lcyIsInByZXNlcnZlS2V5RnJhbWVzIiwiJGFwcGVuZFRvIiwicm9vdCIsImZpcnN0IiwiZGltZW5zaW9uIiwicHhTaXplIiwid2lkdGhFbGVtZW50cyIsImhlaWdodEVsZW1lbnRzIiwiYmFja2dyb3VuZC1jb2xvciIsImJhY2tncm91bmQtaW1hZ2UiLCJ0ZXh0LWFsaWduIiwidmVydGljYWwtYWxpZ24iLCJqdWljZURvY3VtZW50IiwiZ2V0RGVmYXVsdE9wdGlvbnMiLCJzdHlsZURhdGFMaXN0Iiwic3R5bGVEYXRhIiwic3R5bGVFbGVtZW50IiwicmVzdWx0cyIsImNoaWxkTm9kZXMiLCJkYXRhIiwiYXBwbHlTdHlsZVRhZ3MiLCJ1bmRlZmluZWQiLCJyZW1vdmVTdHlsZVRhZ3MiLCJub2RlVmFsdWUiLCJyZW1vdmUiLCJyZW1vdmVBdHRyIiwiZ2V0U3R5bGVzRGF0YSIsImV4dHJhY3RDc3NGcm9tRG9jdW1lbnQiXSwibWFwcGluZ3MiOiJBQUFBLGFBRUEsSUFB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eURDLElBQXZDaEksRUFBRTJILEdBQWMvRSxLQUFLLGVBQ2pEZ0YsRUFBUTdFLEtBQUsyRSxHQUVYeEgsRUFBUStILHNCQUEwREQsSUFBdkNoSSxFQUFFMkgsR0FBYy9FLEtBQUssY0FBNkIsQ0FDL0UsSUFBSXdELEVBQWdCMUcsTUFBTTJHLGlCQUFpQnNCLEVBQWFFLFdBQVcsR0FBR0ssVUFBVyxDQUMvRTVCLGFBQWNwRyxFQUFRcUcscUJBQ3RCQyxVQUFXdEcsRUFBUXVHLGtCQUNuQkMsVUFBV3hHLEVBQVF5RyxrQkFDbkJ6RixRQUFTcEIsRUFBWTRCLGlCQUVuQjBFLEVBQ0Z1QixFQUFhRSxXQUFXLEdBQUdLLFVBQVk5QixFQUV2Q3BHLEVBQUUySCxHQUFjUSxTQUdwQm5JLEVBQUUySCxHQUFjUyxXQUFXLGlCQUV0QlIsRUFJT1MsQ0FBY3JJLEVBQUdFLEdBQ2IyRSxLQUFLLE1BeENieUQsQ0FBdUJ0SSxFQUFHRSxHQUdwQyxPQUZBRCxHQUFPLEtBQU9DLEVBQVFpRyxTQUN0QnBHLEVBQWVDLEVBQUdDLEVBQUtDLEdBQ2hCRixHQXhUVEYsRUFBWUMsZUFBaUJBLEVBaVd0QkQiLCJmaWxlIjoiL3Jvb3QvbW9zYWljby9ub2RlX21vZHVsZXMvanVpY2UvbGliL2lubGluZS5qcyJ9", + "\"use strict\";module.exports=exports=Property;var utils=require(\"./utils\");function Property(t,r,i,p,o){this.prop=t,this.value=r,this.selector=i,this.priority=p||0,this.additionalPriority=o||[]}Property.prototype.compareFunc=function(t){var r=[];r.push.apply(r,this.selector.specificity()),r.push.apply(r,this.additionalPriority),r[0]+=this.priority;var i=[];return i.push.apply(i,t.selector.specificity()),i.push.apply(i,t.additionalPriority),i[0]+=t.priority,utils.compareFunc(r,i)},Property.prototype.compare=function(t){return 1===this.compareFunc(t)?this:t},Property.prototype.toString=function(){return this.prop+\": \"+this.value.replace(/['\"]+/g,\"\")+\";\"};\n\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInByb3BlcnR5LmpzIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJQcm9wZXJ0eSIsInV0aWxzIiwicmVxdWlyZSIsInByb3AiLCJ2YWx1ZSIsInNlbGVjdG9yIiwicHJpb3JpdHkiLCJhZGRpdGlvbmFsUHJpb3JpdHkiLCJ0aGlzIiwicHJvdG90eXBlIiwiY29tcGFyZUZ1bmMiLCJwcm9wZXJ0eSIsImEiLCJwdXNoIiwiYXBwbHkiLCJzcGVjaWZpY2l0eSIsImIiLCJjb21wYXJlIiwidG9TdHJpbmciLCJyZXBsYWNlIl0sIm1hcHBpbmdzIjoiQUFBQSxhQUVBQSxPQUFPQyxRQUFVQSxRQUFVQyxTQU0zQixJQUFJQyxNQUFRQyxRQUFRLFdBYXBCLFNBQVNGLFNBQVNHLEVBQU1DLEVBQU9DLEVBQVVDLEVBQVVDLEdBQ2pEQyxLQUFLTCxLQUFPQSxFQUNaSyxLQUFLSixNQUFRQSxFQUNiSSxLQUFLSCxTQUFXQSxFQUNoQkcsS0FBS0YsU0FBV0EsR0FBWSxFQUM1QkUsS0FBS0QsbUJBQXFCQSxHQUFzQixHQVNsRFAsU0FBU1MsVUFBVUMsWUFBYyxTQUFTQyxHQUN4QyxJQUFJQyxFQUFJLEdBQ1JBLEVBQUVDLEtBQUtDLE1BQU1GLEVBQUdKLEtBQUtILFNBQVNVLGVBQzlCSCxFQUFFQyxLQUFLQyxNQUFNRixFQUFHSixLQUFLRCxvQkFDckJLLEVBQUUsSUFBTUosS0FBS0YsU0FDYixJQUFJVSxFQUFJLEdBSVIsT0FIQUEsRUFBRUgsS0FBS0MsTUFBTUUsRUFBR0wsRUFBU04sU0FBU1UsZUFDbENDLEVBQUVILEtBQUtDLE1BQU1FLEVBQUdMLEVBQVNKLG9CQUN6QlMsRUFBRSxJQUFNTCxFQUFTTCxTQUNWTCxNQUFNUyxZQUFZRSxFQUFHSSxJQUc5QmhCLFNBQVNTLFVBQVVRLFFBQVUsU0FBU04sR0FFcEMsT0FBZSxJQURGSCxLQUFLRSxZQUFZQyxHQUVyQkgsS0FFRkcsR0FVVFgsU0FBU1MsVUFBVVMsU0FBVyxXQUM1QixPQUFPVixLQUFLTCxLQUFPLEtBQU9LLEtBQUtKLE1BQU1lLFFBQVEsU0FBVSxJQUFNIiwiZmlsZSI6Ii9yb290L21vc2FpY28vbm9kZV9tb2R1bGVzL2p1aWNlL2xpYi9wcm9wZXJ0eS5qcyJ9", + "\"use strict\";var parser=require(\"slick/parser\");function Selector(t,e){this.text=t,this.spec=void 0,this.styleAttribute=e||!1}function parse(t){try{return parser(t)[0]}catch(t){return[]}}module.exports=exports=Selector,Selector.prototype.parsed=function(){return this.tokens||(this.tokens=parse(this.text)),this.tokens},Selector.prototype.specificity=function(){var t=this.styleAttribute;return this.spec||(this.spec=function e(r,s){var i=s||parse(r);var a=[t?1:0,0,0,0];var n=[];for(var o=0;o=0;o--)(t.fontFaces&&\"font-face\"===s[o].type||t.mediaQueries&&\"media\"===s[o].type||t.keyFrames&&\"keyframes\"===s[o].type||t.pseudos&&s[o].selectors&&this.matchesPseudo(s[o].selectors[0],t.pseudos))&&n.unshift(mensch.stringify({stylesheet:{rules:[s[o]]}},{comments:!1,indentation:\" \"})),s[o].position.start;return 0!==n.length&&\"\\n\"+n.join(\"\\n\")+\"\\n\"},exports.normalizeLineEndings=function(e){return e.replace(/\\r\\n/g,\"\\n\").replace(/\\n/g,\"\\r\\n\")},exports.matchesPseudo=function(e,t){return t.find(function(t){return e.indexOf(t)>-1})},exports.compareFunc=function(e,t){for(var r=Math.min(e.length,t.length),s=0;st[s]?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 r in t)own.call(t,r)&&(e[r]=t[r]);return e},exports.getDefaultOptions=function(e){var t=exports.extend({extraCss:\"\",insertPreservedExtraCss:!0,applyStyleTags:!0,removeStyleTags:!0,preserveMediaQueries:!0,preserveFontFaces:!0,preserveKeyFrames:!0,preservePseudos:!0,applyWidthAttributes:!0,applyHeightAttributes:!0,applyAttributesTableElements:!0,url:\"\"},e);return t.webResources=t.webResources||{},t};\n\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInV0aWxzLmpzIl0sIm5hbWVzIjpbIm1lbnNjaCIsInJlcXVpcmUiLCJvd24iLCJoYXNPd25Qcm9wZXJ0eSIsIlNlbGVjdG9yIiwiUHJvcGVydHkiLCJleHBvcnRzIiwiZXh0cmFjdCIsInNlbGVjdG9yVGV4dCIsImF0dHIiLCJzZWxzIiwic2VsIiwiaSIsImwiLCJsZW5ndGgiLCJjIiwiY2hhckF0IiwicHVzaCIsInBhcnNlQ1NTIiwiY3NzIiwicGFyc2VkIiwicGFyc2UiLCJwb3NpdGlvbiIsImNvbW1lbnRzIiwicnVsZXMiLCJzdHlsZXNoZWV0IiwicmV0IiwidHlwZSIsInJ1bGUiLCJzZWxlY3RvcnMiLCJpaSIsImxsIiwiZGVjbGFyYXRpb25zIiwiZ2V0UHJlc2VydmVkVGV4dCIsIm9wdGlvbnMiLCJwcmVzZXJ2ZWQiLCJmb250RmFjZXMiLCJtZWRpYVF1ZXJpZXMiLCJrZXlGcmFtZXMiLCJwc2V1ZG9zIiwidGhpcyIsIm1hdGNoZXNQc2V1ZG8iLCJ1bnNoaWZ0Iiwic3RyaW5naWZ5IiwiaW5kZW50YXRpb24iLCJzdGFydCIsImpvaW4iLCJub3JtYWxpemVMaW5lRW5kaW5ncyIsInRleHQiLCJyZXBsYWNlIiwibmVlZGxlIiwiaGF5c3RhY2siLCJmaW5kIiwiZWxlbWVudCIsImluZGV4T2YiLCJjb21wYXJlRnVuYyIsImEiLCJiIiwibWluIiwiTWF0aCIsImNvbXBhcmUiLCJleHRlbmQiLCJvYmoiLCJzcmMiLCJrZXkiLCJjYWxsIiwiZ2V0RGVmYXVsdE9wdGlvbnMiLCJyZXN1bHQiLCJleHRyYUNzcyIsImluc2VydFByZXNlcnZlZEV4dHJhQ3NzIiwiYXBwbHlTdHlsZVRhZ3MiLCJyZW1vdmVTdHlsZVRhZ3MiLCJwcmVzZXJ2ZU1lZGlhUXVlcmllcyIsInByZXNlcnZlRm9udEZhY2VzIiwicHJlc2VydmVLZXlGcmFtZXMiLCJwcmVzZXJ2ZVBzZXVkb3MiLCJhcHBseVdpZHRoQXR0cmlidXRlcyIsImFwcGx5SGVpZ2h0QXR0cmlidXRlcyIsImFwcGx5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LEVBQUk4QyxFQUFLOUMsSUFDdkIsR0FBSTRDLEVBQUU1QyxLQUFPNkMsRUFBRTdDLEdBQ2YsT0FBSTRDLEVBQUU1QyxHQUFLNkMsRUFBRTdDLEdBQWEsR0FDbEIsRUFHVixPQUFPNEMsRUFBRTFDLE9BQVMyQyxFQUFFM0MsUUFHdEJSLFFBQVFzRCxRQUFVLFNBQVNKLEVBQUdDLEdBQzVCLE9BQW9DLEdBQTdCbkQsUUFBUWlELFlBQVlDLEVBQUdDLEdBQVVELEVBQUlDLEdBRzlDbkQsUUFBUXVELE9BQVMsU0FBU0MsRUFBS0MsR0FDN0IsSUFBSyxJQUFJQyxLQUFPRCxFQUNWN0QsSUFBSStELEtBQUtGLEVBQUtDLEtBQ2hCRixFQUFJRSxHQUFPRCxFQUFJQyxJQUduQixPQUFPRixHQUdUeEQsUUFBUTRELGtCQUFvQixTQUFTaEMsR0FDbkMsSUFBSWlDLEVBQVM3RCxRQUFRdUQsT0FBTyxDQUMxQk8sU0FBVSxHQUNWQyx5QkFBeUIsRUFDekJDLGdCQUFnQixFQUNoQkMsaUJBQWlCLEVBQ2pCQyxzQkFBc0IsRUFDdEJDLG1CQUFtQixFQUNuQkMsbUJBQW1CLEVBQ25CQyxpQkFBaUIsRUFDakJDLHNCQUFzQixFQUN0QkMsdUJBQXVCLEVBQ3ZCQyw4QkFBOEIsRUFDOUJDLElBQUssSUFDSjdDLEdBSUgsT0FGQWlDLEVBQU9hLGFBQWViLEVBQU9hLGNBQWdCLEdBRXRDYiIsImZpbGUiOiIvcm9vdC9tb3NhaWNvL25vZGVfbW9kdWxlcy9qdWljZS9saWIvdXRpbHMuanMifQ==", + "!function(e){if(\"function\"==typeof define&&define.amd)define([\"knockout\",\"jquery\",\"jquery-ui/ui/widgets/sortable\",\"jquery-ui/ui/widgets/draggable\",\"jquery-ui/ui/widgets/droppable\"],e);else if(\"function\"==typeof require&&\"object\"==typeof exports&&\"object\"==typeof module){var n=\"undefined\"!=typeof window?window.ko:\"undefined\"!=typeof global?global.ko:null,t=\"undefined\"!=typeof window?window.jQuery:\"undefined\"!=typeof global?global.jQuery:null;\"undefined\"!=typeof window?window.jQuery.ui.sortable:\"undefined\"!=typeof global&&global.jQuery.ui.sortable,\"undefined\"!=typeof window?window.jQuery.ui.draggable:\"undefined\"!=typeof global&&global.jQuery.ui.draggable,\"undefined\"!=typeof window?window.jQuery.ui.droppable:\"undefined\"!=typeof global&&global.jQuery.ui.droppable,e(n,t)}else e(window.ko,window.jQuery)}(function(e,n){var t=\"ko_sortItem\",o=e.utils.unwrapObservable,i=e.utils.domData.get,a=e.utils.domData.set,d=n.ui&&n.ui.version,r=d&&d.indexOf(\"1.6.\")&&d.indexOf(\"1.7.\")&&(d.indexOf(\"1.8.\")||\"1.8.24\"===d),s=function(n,o){e.utils.arrayForEach(n,function(e){1===e.nodeType&&(a(e,t,o),a(e,\"ko_parentList\",i(e.parentNode,\"ko_sortList\")))})},l=function(n,t){var i,a={},d=o(n())||{};return d.data?(a[t]=d.data,a.name=d.template):a[t]=n(),e.utils.arrayForEach([\"afterAdd\",\"afterRender\",\"as\",\"beforeRemove\",\"includeDestroyed\",\"templateEngine\",\"templateOptions\",\"nodes\"],function(n){d.hasOwnProperty(n)?a[n]=d[n]:e.bindingHandlers.sortable.hasOwnProperty(n)&&(a[n]=e.bindingHandlers.sortable[n])}),\"foreach\"===t&&(a.afterRender?(i=a.afterRender,a.afterRender=function(e,n){s.call(n,e,n),i.call(n,e,n)}):a.afterRender=s),a},u=function(e,n){var t=o(n);if(t)for(var i=0;i=0)if(c)if(c!==p)c.splice(f,1),p.splice(b,0,D),a(v,t,null),l.item.remove();else{var k=o(c);c.valueWillMutate&&c.valueWillMutate(),k.splice(f,1),k.splice(b,0,D),c.valueHasMutated&&c.valueHasMutated()}else p.splice(b,0,D),a(v,t,null),l.item.remove()}else b>=0&&(c&&(c.splice(f,1),e.processAllDeferredBindingUpdates&&e.processAllDeferredBindingUpdates(),e.options&&e.options.deferUpdates&&e.tasks.runEarly()),p.splice(b,0,D)),a(v,t,null);e.processAllDeferredBindingUpdates&&e.processAllDeferredBindingUpdates(),h.afterMove&&h.afterMove.call(this,m,d,l)}g&&g.apply(this,arguments)},connectWith:!!h.connectClass&&\".\"+h.connectClass})),void 0!==h.isEnabled&&e.computed({read:function(){m.sortable(o(h.isEnabled)?\"enable\":\"disable\")},disposeWhenNodeIsRemoved:d})},0);return e.utils.domNodeDisposal.addDisposeCallback(d,function(){(m.data(\"ui-sortable\")||m.data(\"sortable\"))&&m.sortable(\"destroy\"),e.utils.toggleDomNodeCssClass(d,h.connectClass,!1),clearTimeout(w)}),{controlsDescendantBindings:!0}},update:function(n,t,o,i,d){var r=l(t,\"foreach\");a(n,\"ko_sortList\",r.foreach),e.bindingHandlers.template.update(n,function(){return r},o,i,d)},connectClass:\"ko_container\",allowDrop:!0,afterMove:null,beforeMove:null,options:{}},e.bindingHandlers.draggable={init:function(t,i,d,r,s){var u=o(i())||{},c=u.options||{},p=e.utils.extend({},e.bindingHandlers.draggable.options),f=l(i,\"data\"),b=u.connectClass||e.bindingHandlers.draggable.connectClass,g=void 0!==u.isEnabled?u.isEnabled:e.bindingHandlers.draggable.isEnabled;return u=\"data\"in u?u.data:u,a(t,\"ko_dragItem\",u),e.utils.extend(p,c),p.connectToSortable=!!b&&\".\"+b,n(t).draggable(p),void 0!==g&&e.computed({read:function(){n(t).draggable(o(g)?\"enable\":\"disable\")},disposeWhenNodeIsRemoved:t}),e.utils.domNodeDisposal.addDisposeCallback(t,function(){n(t).draggable(\"destroy\")}),e.bindingHandlers.template.init(t,function(){return f},d,r,s)},update:function(n,t,o,i,a){var d=l(t,\"data\");return e.bindingHandlers.template.update(n,function(){return d},o,i,a)},connectClass:e.bindingHandlers.sortable.connectClass,options:{helper:\"clone\"}},e.bindingHandlers.droppable={init:function(a,d,r,s,l){var u=o(d())||{},c=u.options||{},p=e.utils.extend({},e.bindingHandlers.droppable.options),f=void 0!==u.isEnabled?u.isEnabled:e.bindingHandlers.droppable.isEnabled;e.utils.extend(p,c),u=\"data\"in u?u.data:d(),p.drop=function(e,n){var o=i(n.draggable[0],\"ko_dragItem\")||i(n.draggable[0],t);u(o)},n(a).droppable(p),void 0!==f&&e.computed({read:function(){n(a).droppable(o(f)?\"enable\":\"disable\")},disposeWhenNodeIsRemoved:a}),e.utils.domNodeDisposal.addDisposeCallback(a,function(){n(a).droppable(\"destroy\")})},options:{accept:\"*\"}}});\n\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImtub2Nrb3V0LXNvcnRhYmxlLmpzIl0sIm5hbWVzIjpbImZhY3RvcnkiLCJkZWZpbmUiLCJhbWQiLCJyZXF1aXJlIiwiZXhwb3J0cyIsIm1vZHVsZSIsImtvIiwid2luZG93IiwiZ2xvYmFsIiwialF1ZXJ5IiwiJCIsIklURU1LRVkiLCJ1bndyYXAiLCJ1dGlscyIsInVud3JhcE9ic2VydmFibGUiLCJkYXRhR2V0IiwiZG9tRGF0YSIsImdldCIsImRhdGFTZXQiLCJzZXQiLCJ2ZXJzaW9uIiwidWkiLCJoYXNOZXN0ZWRTb3J0YWJsZUZpeCIsImluZGV4T2YiLCJhZGRNZXRhRGF0YUFmdGVyUmVuZGVyIiwiZWxlbWVudHMiLCJkYXRhIiwiYXJyYXlGb3JFYWNoIiwiZWxlbWVudCIsIm5vZGVUeXBlIiwicGFyZW50Tm9kZSIsInByZXBhcmVUZW1wbGF0ZU9wdGlvbnMiLCJ2YWx1ZUFjY2Vzc29yIiwiZGF0YU5hbWUiLCJhY3R1YWxBZnRlclJlbmRlciIsInJlc3VsdCIsIm9wdGlvbnMiLCJuYW1lIiwidGVtcGxhdGUiLCJvcHRpb24iLCJoYXNPd25Qcm9wZXJ0eSIsImJpbmRpbmdIYW5kbGVycyIsInNvcnRhYmxlIiwiYWZ0ZXJSZW5kZXIiLCJjYWxsIiwidXBkYXRlSW5kZXhGcm9tRGVzdHJveWVkSXRlbXMiLCJpbmRleCIsIml0ZW1zIiwidW53cmFwcGVkIiwiaSIsIl9kZXN0cm95IiwiaW5pdCIsImFsbEJpbmRpbmdzQWNjZXNzb3IiLCJjb250ZXh0Iiwic3RhcnRBY3R1YWwiLCJ1cGRhdGVBY3R1YWwiLCIkZWxlbWVudCIsInZhbHVlIiwidGVtcGxhdGVPcHRpb25zIiwidGVtcGxhdGVTb3VyY2UiLCJ0ZW1wbGF0ZUVsZW1lbnQiLCJkb2N1bWVudCIsImdldEVsZW1lbnRCeUlkIiwidGVtcGxhdGVTb3VyY2VzIiwiZG9tRWxlbWVudCIsInRleHQiLCJ0cmltIiwiY29udGVudHMiLCJlYWNoIiwidGhpcyIsInJlbW92ZUNoaWxkIiwic3RyaXBUZW1wbGF0ZVdoaXRlc3BhY2UiLCJleHRlbmQiLCJjb25uZWN0Q2xhc3MiLCJpc09ic2VydmFibGUiLCJhbGxvd0Ryb3AiLCJjb21wdXRlZCIsInJlYWQiLCJzaG91bGRBZGQiLCJmb3JlYWNoIiwidG9nZ2xlRG9tTm9kZUNzc0NsYXNzIiwiZGlzcG9zZVdoZW5Ob2RlSXNSZW1vdmVkIiwic3RhcnQiLCJ1cGRhdGUiLCJoZWxwZXIiLCJlIiwiaXMiLCJjaGlsZHJlbiIsIndpZHRoIiwiY3JlYXRlVGltZW91dCIsInNldFRpbWVvdXQiLCJkcmFnSXRlbSIsIm9yaWdpbmFsUmVjZWl2ZSIsInJlY2VpdmUiLCJldmVudCIsImVsIiwiaXRlbSIsImFycmF5SW5kZXhPZiIsInBhcmVudCIsImZpbmQiLCJjaGFuZ2UiLCJhcHBseSIsImFyZ3VtZW50cyIsImNsb25lIiwiZHJhZ2dlZCIsInNvdXJjZVBhcmVudCIsInRhcmdldFBhcmVudCIsInNvdXJjZUluZGV4IiwidGFyZ2V0SW5kZXgiLCJhcmciLCJwYXJlbnRFbCIsInJlbW92ZSIsImNvbnRhaW5zIiwiaW5jbHVkZURlc3Ryb3llZCIsImJlZm9yZU1vdmUiLCJhZnRlck1vdmUiLCJzb3VyY2VQYXJlbnROb2RlIiwic2VuZGVyIiwiY2FuY2VsRHJvcCIsInN0cmF0ZWd5TW92ZSIsInNwbGljZSIsInVuZGVybHlpbmdMaXN0IiwidmFsdWVXaWxsTXV0YXRlIiwidmFsdWVIYXNNdXRhdGVkIiwicHJvY2Vzc0FsbERlZmVycmVkQmluZGluZ1VwZGF0ZXMiLCJkZWZlclVwZGF0ZXMiLCJ0YXNrcyIsInJ1bkVhcmx5IiwiY29ubmVjdFdpdGgiLCJ1bmRlZmluZWQiLCJpc0VuYWJsZWQiLCJkb21Ob2RlRGlzcG9zYWwiLCJhZGREaXNwb3NlQ2FsbGJhY2siLCJjbGVhclRpbWVvdXQiLCJjb250cm9sc0Rlc2NlbmRhbnRCaW5kaW5ncyIsImRyYWdnYWJsZSIsImRyYWdnYWJsZU9wdGlvbnMiLCJjb25uZWN0VG9Tb3J0YWJsZSIsImRyb3BwYWJsZSIsImRyb3BwYWJsZU9wdGlv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", + "!function(e){\"function\"==typeof require&&\"object\"==typeof exports&&\"object\"==typeof module?e(\"undefined\"!=typeof window?window.ko:\"undefined\"!=typeof global?global.ko:null):\"function\"==typeof define&&define.amd?define([\"knockout\"],e):e(window.ko)}(function(e){e.subscribable.fn.watch=function(t,a,n,o){var r=typeof t;return\"boolean\"===r||\"undefined\"===r?e.watch(this,{enabled:!1!==t}):\"function\"!==r||e.isSubscribable(t)?e.watch(t,a,n,o||this):e.watch(this,a||{},t,o||this),this},e.watch=function(t,a,n,o){function r(l,c,f,u,s,b){if(l&&0!==a.depth&&(-1===a.depth||f.length<(a.depth||1))){if(a.watchedOnly&&!l.watchable&&l!=t)return;if(!1!==a.enabled&&!0!==a.enabled||(l.watchable=a.enabled),!1===l.watchable)return;!0===a.seal&&(l.watchable=!1);var d=typeof l;if(\"object\"===d||\"function\"===d){if(l._watcher===o)return;if(a.hide&&e.utils.arrayIndexOf(a.hide,l)>-1)return;var h=[].concat(f,c&&c!==t?c:[]);if(\"function\"!==d){if(\"[object Object]\"===Object.prototype.toString.call(l))e.utils.objectForEach(l,function(t,n){if(n=a.getter?a.getter.call(o,h,l,t):n){if(a.wrap){var i=Object.prototype.toString.call(n);\"[object Function]\"!==i&&\"[object Object]\"!==i&&(a.beforeWrap&&!1===a.beforeWrap.call(o,h,l,n)||(n=l[t]=\"[object Array]\"===i?e.observableArray(n):e.observable(n)))}a.unloop&&(n._watcher=u?void 0:o);var c=r(n,s?null:l,h,u,null,t);a.tagFields&&void 0===n._fieldName&&(c||\"parentsOnly\"!==a.tagFields&&\"function\"==typeof n||\"object\"==typeof n)&&(n._fieldName=t)}});else if(!0!==a.hideArrays)for(var p=0;p0||a.mutable)&&(t.subscribe(function(e){if(a.oldValues>0){var n=t.oldValues?t.oldValues:t.oldValues=[];for(n.unshift(e);n.length>a.oldValues;)n.pop()}a.mutable&&\"object\"==typeof e&&r(e,c?null:t,l,!0,!0)},null,\"beforeChange\")._watcher=o))}(l,y,h,s),y)return r(l(),s?null:l,h,u,!0),!0;if(!0!==a.hideWrappedValues)return r(l(),s?null:l,h,u,!0)}}}}}function i(e){var t=e[l];if(!t)throw\"Subscriptions field (.\"+l+\") not defined for observable child \"+(e._fieldName||\"\");if(t.change)for(n=t.change.length-1;n>=0;n--)t.change[n]._watcher===o&&t.change[n].dispose();if(t.beforeChange&&(a.mutable||a.oldValues>0))for(n=t.beforeChange.length-1;n>=0;n--)t.beforeChange[n]._watcher===o&&t.beforeChange[n].dispose();if(t.arrayChange)for(var n=t.arrayChange.length-1;n>=0;n--)t.arrayChange[n]._watcher===o&&t.arrayChange[n].dispose()}var l;switch(\"function\"==typeof a&&(o=o||n,n=a,a={}),o=o||this,\"function\"==typeof e.subscription||e.version){case!0:l=\"_subscriptions\";break;case\"3.0.0\":l=\"F\";break;case\"3.1.0\":l=\"H\";break;case\"3.2.0\":l=\"M\";break;case\"3.3.0\":l=\"G\";break;case\"3.4.0\":case\"3.4.1\":l=\"K\";break;case\"3.4.2\":l=\"F\";break;case\"3.5.0-beta\":l=\"S\";break;default:throw\"Unsupported Knockout version. Only v3.0.0 to v3.5.0-beta are supported when minified. Current version is \"+e.version}return\"function\"!=typeof t||e.isSubscribable(t)?(r(t,null,[]),{dispose:function(){r(t,null,[],!0)}}):e.computed(t,n,a)}}),window.foo=\"1.4.0\";\n\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImtvLXJlYWN0b3IubWluLmpzIl0sIm5hbWVzIjpbImUiLCJyZXF1aXJlIiwiZXhwb3J0cyIsIm1vZHVsZSIsIndpbmRvdyIsImdsb2JhbCIsImRlZmluZSIsImFtZCIsImtvIiwic3Vic2NyaWJhYmxlIiwiZm4iLCJ3YXRjaCIsInQiLCJhIiwibiIsInIiLCJvIiwidGhpcyIsImVuYWJsZWQiLCJpc1N1YnNjcmliYWJsZSIsImMiLCJ1IiwiZiIsInMiLCJiIiwiaCIsImRlcHRoIiwibGVuZ3RoIiwid2F0Y2hlZE9ubHkiLCJ3YXRjaGFibGUiLCJzZWFsIiwiZCIsIl93YXRjaGVyIiwiaGlkZSIsInV0aWxzIiwiYXJyYXlJbmRleE9mIiwicCIsImNvbmNhdCIsIk9iamVjdCIsInByb3RvdHlwZSIsInRvU3RyaW5nIiwiY2FsbCIsIm9iamVjdEZvckVhY2giLCJnZXR0ZXIiLCJ3cmFwIiwiaSIsImJlZm9yZVdyYXAiLCJvYnNlcnZhYmxlQXJyYXkiLCJvYnNlcnZhYmxlIiwidW5sb29wIiwibCIsInRhZ0ZpZWxkcyIsIl9maWVsZE5hbWUiLCJoaWRlQXJyYXlzIiwieSIsIm5vdGlmeVN1YnNjcmliZXJzIiwiYmVmb3JlV2F0Y2giLCJ2IiwicG9wIiwic3Vic2NyaWJlIiwic3BsaXRBcnJheUNoYW5nZXMiLCJhcnJheUZvckVhY2giLCJtb3ZlZCIsImFzeW5jIiwidmFsdWUiLCJzdGF0dXMiLCJzZXRUaW1lb3V0IiwibXV0YWJsZSIsIm9sZFZhbHVlcyIsInVuc2hpZnQiLCJoaWRlV3JhcHBlZFZhbHVlcyIsImNoYW5nZSIsImRpc3Bvc2UiLCJiZWZvcmVDaGFuZ2UiLCJhcnJheUNoYW5nZSIsInN1YnNjcmlwdGlvbiIsInZlcnNpb24iLCJjb21wdXRlZCIsImZvbyJdLCJtYXBwaW5ncyI6IkNBR0MsU0FBU0EsR0FBRyxtQkFBbUJDLFNBQVMsaUJBQWlCQyxTQUFTLGlCQUFpQkMsT0FBT0gsRUFBcUIsb0JBQVhJLE9BQXlCQSxPQUFXLEdBQXNCLG9CQUFYQyxP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LEVBQUU4RCxZQUFZLElBQUksSUFBSTVELEVBQUVGLEVBQUU4RCxZQUFZL0MsT0FBTyxFQUFFYixHQUFHLEVBQUVBLElBQUlGLEVBQUU4RCxZQUFZNUQsR0FBR2tCLFdBQVdqQixHQUFHSCxFQUFFOEQsWUFBWTVELEdBQUcwRCxVQUErNUIsSUFBSXBELEVBQUUsT0FBeEQsbUJBQW1CUCxJQUFJRSxFQUFFQSxHQUFHRCxFQUFFQSxFQUFFRCxFQUFFQSxFQUFFLElBQUlFLEVBQUVBLEdBQUdFLEtBQWtCLG1CQUFtQmpCLEVBQUUyRSxjQUFjM0UsRUFBRTRFLFNBQVMsS0FBSSxFQUFHeEQsRUFBRSxpQkFBaUIsTUFBTSxJQUFJLFFBQVFBLEVBQUUsSUFBSSxNQUFNLElBQUksUUFBUUEsRUFBRSxJQUFJLE1BQU0sSUFBSSxRQUFRQSxFQUFFLElBQUksTUFBTSxJQUFJLFFBQVFBLEVBQUUsSUFBSSxNQUFNLElBQUksUUFBUSxJQUFJLFFBQVFBLEVBQUUsSUFBSSxNQUFNLElBQUksUUFBUUEsRUFBRSxJQUFJLE1BQU0sSUFBSSxhQUFhQSxFQUFFLElBQUksTUFBTSxRQUFRLEtBQUssNEdBQTRHcEIsRUFBRTRFLFFBQVEsTUFBTSxtQkFBbUJoRSxHQUFHWixFQUFFbUIsZUFBZVAsSUFBSUksRUFBRUosRUFBRSxLQUFLLElBQUksQ0FBQzRELFFBQVEsV0FBV3hELEVBQUVKLEVBQUUsS0FBSyxJQUFHLE1BQU9aLEVBQUU2RSxTQUFTakUsRUFBRUUsRUFBRUQsTUFBTVQsT0FBTzBFLElBQU0iLCJmaWxlIjoiL3Jvb3QvbW9zYWljby9ub2RlX21vZHVsZXMva28tcmVhY3Rvci9kaXN0L2tvLXJlYWN0b3IubWluLmpzIn0=", + "module.exports={lex:require(\"./lib/lexer\"),parse:require(\"./lib/parser\"),stringify:require(\"./lib/stringify\")};\n\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LmpzIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJsZXgiLCJyZXF1aXJlIiwicGFyc2UiLCJzdHJpbmdpZnkiXSwibWFwcGluZ3MiOiJBQUFBQSxPQUFPQyxRQUFVLENBQ2JDLElBQU9DLFFBQVEsZUFDZkMsTUFBT0QsUUFBUSxnQkFDZkUsVUFBV0YsUUFBUSIsImZpbGUiOiIvcm9vdC9tb3NhaWNvL25vZGVfbW9kdWxlcy9tZW5zY2gvaW5kZXguanMifQ==", + "function debug(e){return _debug.bind(null,e)}function _debug(e){var n=[].slice.call(arguments,1);n.unshift(\"[\"+e+\"]\"),process.stderr.write(n.join(\" \")+\"\\n\")}exports=module.exports=debug;\n\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImRlYnVnLmpzIl0sIm5hbWVzIjpbImRlYnVnIiwibGFiZWwiLCJfZGVidWciLCJiaW5kIiwiYXJncyIsInNsaWNlIiwiY2FsbCIsImFyZ3VtZW50cyIsInVuc2hpZnQiLCJwcm9jZXNzIiwic3RkZXJyIiwid3JpdGUiLCJqb2luIiwiZXhwb3J0cyIsIm1vZHVsZSJdLCJtYXBwaW5ncyI6IkFBRUEsU0FBU0EsTUFBTUMsR0FDYixPQUFPQyxPQUFPQyxLQUFLLEtBQU1GLEdBRzNCLFNBQVNDLE9BQU9ELEdBQ2QsSUFBSUcsRUFBTyxHQUFHQyxNQUFNQyxLQUFLQyxVQUFXLEdBQ3BDSCxFQUFLSSxRQUFRLElBQU1QLEVBQVEsS0FDM0JRLFFBQVFDLE9BQU9DLE1BQU1QLEVBQUtRLEtBQUssS0FBTyxNQVR4Q0MsUUFBVUMsT0FBT0QsUUFBVWIiLCJmaWxlIjoiL3Jvb3QvbW9zYWljby9ub2RlX21vZHVsZXMvbWVuc2NoL2xpYi9kZWJ1Zy5qcyJ9", + "var DEBUG=!1,TIMER=!1,debug=require(\"./debug\")(\"lex\");function lex(e){var a,r,s=\"\",t=0,c=-1,n=0,l=1,o=\"before-selector\",u=[o],i={},b=[],f=[\"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\"];function m(e){return e?u[u.length-1-e]:o}function g(a){var r=c+1;return a===e.slice(r,r+a.length)}function v(a){var r=e.slice(c).indexOf(a);return r>0&&r}function k(e){return e===p(1)}function p(a){return e[c+(a||1)]}function d(){var e=u.pop();return o=u[u.length-1],e}function h(e){return o=e,u.push(o),u.length}function w(e){var a=o;return u[u.length-1]=o=e,a}function y(a){if(1==(a||1))\"\\n\"==e[c]?(l++,t=1):t++,c++;else{var r=e.slice(c,c+a).split(\"\\n\");r.length>1&&(l+=r.length-1,t=1),t+=r[r.length-1].length,c+=a}}function x(){i.end={line:l,col:t},DEBUG&&debug(\"addToken:\",JSON.stringify(i,null,2)),b.push(i),s=\"\",i={}}function E(e){i={type:e,start:{line:l,col:t}}}for(TIMER&&(a=Date.now());y(),r=e[c];)switch(DEBUG&&debug(r,m()),r){case\" \":switch(m()){case\"selector\":case\"value\":case\"value-paren\":case\"at-group\":case\"at-value\":case\"comment\":case\"double-string\":case\"single-string\":s+=r}break;case\"\\n\":case\"\\t\":case\"\\r\":case\"\\f\":switch(m()){case\"value\":case\"value-paren\":case\"at-group\":case\"comment\":case\"single-string\":case\"double-string\":case\"selector\":s+=r;break;case\"at-value\":\"\\n\"===r&&(i.value=s.trim(),x(),d())}break;case\":\":switch(m()){case\"name\":i.name=s.trim(),s=\"\",w(\"before-value\");break;case\"before-selector\":s+=r,E(\"selector\"),h(\"selector\");break;case\"before-value\":w(\"value\"),s+=r;break;default:s+=r}break;case\";\":switch(m()){case\"name\":case\"before-value\":case\"value\":s.trim().length>0&&(i.value=s.trim(),x()),w(\"before-name\");break;case\"value-paren\":s+=r;break;case\"at-value\":i.value=s.trim(),x(),d();break;case\"before-name\":break;default:s+=r}break;case\"{\":switch(m()){case\"selector\":if(\"\\\\\"===p(-1)){s+=r;break}i.text=s.trim(),x(),w(\"before-name\"),n+=1;break;case\"at-group\":switch(i.name=s.trim(),i.type){case\"font-face\":case\"viewport\":case\"page\":h(\"before-name\");break;default:h(\"before-selector\")}x(),n+=1;break;case\"name\":case\"at-rule\":i.name=s.trim(),x(),h(\"before-name\"),n+=1;break;case\"comment\":case\"double-string\":case\"single-string\":s+=r;break;case\"before-value\":w(\"value\"),s+=r}break;case\"}\":switch(m()){case\"before-name\":case\"name\":case\"before-value\":case\"value\":s&&(i.value=s.trim()),i.name&&i.value&&x(),E(\"end\"),x(),d(),\"at-group\"===m()&&(E(\"at-group-end\"),x(),d()),n>0&&(n-=1);break;case\"at-group\":case\"before-selector\":case\"selector\":if(\"\\\\\"===p(-1)){s+=r;break}n>0&&\"at-group\"===m(1)&&(E(\"at-group-end\"),x()),n>1&&d(),n>0&&(n-=1);break;case\"double-string\":case\"single-string\":case\"comment\":s+=r}break;case'\"':case\"'\":switch(m()){case\"double-string\":'\"'===r&&\"\\\\\"!==p(-1)&&d();break;case\"single-string\":\"'\"===r&&\"\\\\\"!==p(-1)&&d();break;case\"before-at-value\":w(\"at-value\"),h('\"'===r?\"double-string\":\"single-string\");break;case\"before-value\":w(\"value\"),h('\"'===r?\"double-string\":\"single-string\");break;case\"comment\":break;default:\"\\\\\"!==p(-1)&&h('\"'===r?\"double-string\":\"single-string\")}s+=r;break;case\"/\":switch(m()){case\"comment\":case\"double-string\":case\"single-string\":s+=r;break;case\"before-value\":case\"selector\":case\"name\":case\"value\":if(k(\"*\")){var D=v(\"*/\");D&&y(D+1)}else\"before-value\"==m()&&w(\"value\"),s+=r;break;default:k(\"*\")?(E(\"comment\"),h(\"comment\"),y()):s+=r}break;case\"*\":switch(m()){case\"comment\":k(\"/\")?(i.text=s,y(),x(),d()):s+=r;break;case\"before-selector\":s+=r,E(\"selector\"),h(\"selector\");break;case\"before-value\":w(\"value\"),s+=r;break;default:s+=r}break;case\"@\":switch(m()){case\"comment\":case\"double-string\":case\"single-string\":s+=r;break;case\"before-value\":w(\"value\"),s+=r;break;default:for(var z,T,B=!1,G=0,I=f.length;!B&&G1)for(var r=1;r+)\\\\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,s,t=\"\";if(t+=this.tag||\"*\",this.id&&(t+=\"#\"+this.id),this.classes&&(t+=\".\"+this.classList.join(\".\")),this.attributes)for(e=0;s=this.attributes[e++];)t+=\"[\"+s.name+(s.operator?s.operator+'\"'+s.value+'\"':\"\")+\"]\";if(this.pseudos)for(e=0;s=this.pseudos[e++];)t+=\":\"+s.name,s.value&&(t+=\"(\"+s.value+\")\");this.raw=t}return this.raw};var Expression=function(){this.length=0};Expression.prototype.toString=function(){if(!this.raw){for(var e,s=\"\",t=0;e=this[t++];)1!==t&&(s+=\" \"),\" \"!==e.combinator&&(s+=e.combinator+\" \"),s+=e;this.raw=s}return this.raw};var replacer=function(e,s,t,a,r,i,n,c,u,o,p,l,h,f,g,d){var v,w;if((s||!this.length)&&(v=this[this.length++]=new Expression,s))return\"\";if(v||(v=this[this.length-1]),(t||a||!v.length)&&(w=v[v.length++]=new Part(t)),w||(w=v[v.length-1]),r)w.tag=unescape(r);else if(i)w.id=unescape(i);else if(n){var m=unescape(n),b=w.classes||(w.classes={});if(!b[m]){b[m]=escape(n);var x=w.classList||(w.classList=[]);x.push(m),x.sort()}}else h?(d=d||g,(w.pseudos||(w.pseudos=[])).push({type:1==l.length?\"class\":\"element\",name:unescape(h),escapedName:escape(h),value:d?unescape(d):null,escapedValue:d?escape(d):null})):c&&(p=p?escape(p):null,(w.attributes||(w.attributes=[])).push({operator:u,name:unescape(c),escapedName:escape(c),value:p?unescape(p):null,escapedValue:p?escape(p):null}));return\"\"},Expressions=function(e){this.length=0;for(var s,t=this,a=e;e;){if((s=e.replace(slickRe,function(){return replacer.apply(t,arguments)}))===e)throw new Error(a+\" is an invalid expression\");e=s}};Expressions.prototype.toString=function(){if(!this.raw){for(var e,s=[],t=0;e=this[t++];)s.push(e);this.raw=s.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;\n\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInBhcnNlci5qcyJdLCJuYW1lcyI6WyJlc2NhcGVSZSIsInVuZXNjYXBlUmUiLCJlc2NhcGUiLCJzdHJpbmciLCJyZXBsYWNlIiwidW5lc2NhcGUiLCJzbGlja1JlIiwiUmVnRXhwIiwiUGFydCIsImNvbWJpbmF0b3IiLCJ0aGlzIiwidGFnIiwicHJvdG90eXBlIiwidG9TdHJpbmciLCJyYXciLCJrIiwicGFydCIsInhwciIsImlkIiwiY2xhc3NlcyIsImNsYXNzTGlzdCIsImpvaW4iLCJhdHRyaWJ1dGVzIiwibmFtZSIsIm9wZXJhdG9yIiwidmFsdWUiLCJwc2V1ZG9zIiwiRXhwcmVzc2lvbiIsImxlbmd0aCIsImJpdCIsImoiLCJyZXBsYWNlciIsInJhd01hdGNoIiwic2VwYXJhdG9yIiwiY29tYmluYXRvckNoaWxkcmVuIiwidGFnTmFtZSIsImNsYXNzTmFtZSIsImF0dHJpYnV0ZUtleSIsImF0dHJpYnV0ZU9wZXJhdG9yIiwiYXR0cmlidXRlUXVvdGUiLCJhdHRyaWJ1dGVWYWx1ZSIsInBzZXVkb01hcmtlciIsInBzZXVkb0NsYXNzIiwicHNldWRvUXVvdGUiLCJwc2V1ZG9DbGFzc1F1b3RlZFZhbHVlIiwicHNldWRvQ2xhc3NWYWx1ZSIsImV4cHJlc3Npb24iLCJjdXJyZW50IiwidW5lc2NhcGVkIiwicHVzaCIsInNvcnQiLCJ0eXBlIiwiZXNjYXBlZE5hbWUiLCJlc2NhcGVkVmFsdWUiLCJFeHByZXNzaW9ucyIsInJlcGxhY2VkIiwic2VsZiIsIm9yaWdpbmFsIiwiYXBwbHkiLCJhcmd1bWVudHMiLCJFcnJvciIsImV4cHJlc3Npb25zIiwiaSIsImNhY2hlIiwicGFyc2UiLCJtb2R1bGUiLCJleHBvcnRzIl0sIm1hcHBpbmdzIjoiQUFHRSxhQWtCRixJQUFJQSxTQUFhLDJCQUNiQyxXQUFhLE1BRWJDLE9BQVMsU0FBU0MsR0FHbEIsT0FBUUEsRUFBUyxJQUFJQyxRQUFRSixTQUFVLFNBR3ZDSyxTQUFXLFNBQVNGLEdBQ3BCLE9BQVFBLEVBQVMsSUFBSUMsUUFBUUgsV0FBWSxLQUd6Q0ssUUFBVUMsT0E2QmQsMFFBQ0tILFFBQVEsZUFBZ0IsSUFBTUYsT0FBTyxzQkFBd0IsS0FDN0RFLFFBQVEsYUFBYyw4Q0FDdEJBLFFBQVEsY0FBZSxnREFLeEJJLEtBQU8sU0FBY0MsR0FDckJDLEtBQUtELFdBQWFBLEdBQWMsSUFDaENDLEtBQUtDLElBQU0sS0FHZkgsS0FBS0ksVUFBVUMsU0FBVyxXQUV0QixJQUFLSCxLQUFLSSxJQUFJLENBRVYsSUFBY0MsRUFBR0MsRUFBYkMsRUFBTSxHQUtWLEdBSEFBLEdBQU9QLEtBQUtDLEtBQU8sSUFDZkQsS0FBS1EsS0FBSUQsR0FBTyxJQUFNUCxLQUFLUSxJQUMzQlIsS0FBS1MsVUFBU0YsR0FBTyxJQUFNUCxLQUFLVSxVQUFVQyxLQUFLLE1BQy9DWCxLQUFLWSxXQUFZLElBQUtQLEVBQUksRUFBR0MsRUFBT04sS0FBS1ksV0FBV1AsTUFDcERFLEdBQU8sSUFBTUQsRUFBS08sTUFBUVAsRUFBS1EsU0FBV1IsRUFBS1EsU0FBVyxJQUFNUixFQUFLUyxNQUFRLElBQU0sSUFBTSxJQUU3RixHQUFJZixLQUFLZ0IsUUFBUyxJQUFLWCxFQUFJLEVBQUdDLEVBQU9OLEtBQUtnQixRQUFRWCxNQUM5Q0UsR0FBTyxJQUFNRCxFQUFLTyxLQUNkUCxFQUFLUyxRQUFPUixHQUFPLElBQU1ELEVBQUtTLE1BQVEsS0FHOUNmLEtBQUtJLElBQU1HLEVBSWYsT0FBT1AsS0FBS0ksS0FLaEIsSUFBSWEsV0FBYSxXQUNiakIsS0FBS2tCLE9BQVMsR0FHbEJELFdBQVdmLFVBQVVDLFNBQVcsV0FFNUIsSUFBS0gsS0FBS0ksSUFBSSxDQUlWLElBRkEsSUFFZ0JlLEVBRlpaLEVBQU0sR0FFRGEsRUFBSSxFQUFRRCxFQUFNbkIsS0FBS29CLE1BQ2xCLElBQU5BLElBQVNiLEdBQU8sS0FDRyxNQUFuQlksRUFBSXBCLGFBQW9CUSxHQUFPWSxFQUFJcEIsV0FBYSxLQUNwRFEsR0FBT1ksRUFHWG5CLEtBQUtJLElBQU1HLEVBSWYsT0FBT1AsS0FBS0ksS0FHaEIsSUFBSWlCLFNBQVcsU0FDWEMsRUFFQUMsRUFDQXhCLEVBQ0F5QixFQUVBQyxFQUNBakIsRUFDQWtCLEVBRUFDLEVBQ0FDLEVBQ0FDLEVBQ0FDLEVBRUFDLEVBQ0FDLEVBQ0FDLEVBQ0FDLEVBQ0FDLEdBR0EsSUFBSUMsRUFBWUMsRUFFaEIsSUFBSWQsSUFBY3ZCLEtBQUtrQixVQUNuQmtCLEVBQWFwQyxLQUFLQSxLQUFLa0IsVUFBWSxJQUFJRCxXQUNuQ00sR0FBVyxNQUFPLEdBVzFCLEdBUkthLElBQVlBLEVBQWFwQyxLQUFLQSxLQUFLa0IsT0FBUyxLQUU3Q25CLEdBQWN5QixJQUF1QlksRUFBV2xCLFVBQ2hEbUIsRUFBVUQsRUFBV0EsRUFBV2xCLFVBQVksSUFBSXBCLEtBQUtDLElBR3BEc0MsSUFBU0EsRUFBVUQsRUFBV0EsRUFBV2xCLE9BQVMsSUFFbkRPLEVBRUFZLEVBQVFwQyxJQUFNTixTQUFTOEIsUUFFcEIsR0FBSWpCLEVBRVA2QixFQUFRN0IsR0FBS2IsU0FBU2EsUUFFbkIsR0FBSWtCLEVBQVUsQ0FFakIsSUFBSVksRUFBWTNDLFNBQVMrQixHQUVyQmpCLEVBQVU0QixFQUFRNUIsVUFBWTRCLEVBQVE1QixRQUFVLElBQ3BELElBQUtBLEVBQVE2QixHQUFXLENBQ3BCN0IsRUFBUTZCLEdBQWE5QyxPQUFPa0MsR0FDNUIsSUFBSWhCLEVBQVkyQixFQUFRM0IsWUFBYzJCLEVBQVEzQixVQUFZLElBQzFEQSxFQUFVNkIsS0FBS0QsR0FDZjVCLEVBQVU4QixhQUdQUixHQUVQRyxFQUFtQkEsR0FBb0JELEdBRXJDRyxFQUFRckIsVUFBWXFCLEVBQVFyQixRQUFVLEtBQUt1QixLQUFLLENBQzlDRSxLQUFzQyxHQUF2QlYsRUFBYWIsT0FBYyxRQUFVLFVBQ3BETCxLQUFlbEIsU0FBU3FDLEdBQ3hCVSxZQUFlbEQsT0FBT3dDLEdBQ3RCakIsTUFBZW9CLEVBQW1CeEMsU0FBU3dDLEdBQW9CLEtBQy9EUSxhQUFlUixFQUFtQjNDLE9BQU8yQyxHQUFvQixRQUcxRFIsSUFFUEcsRUFBaUJBLEVBQWlCdEMsT0FBT3NDLEdBQWtCLE1BRXpETyxFQUFRekIsYUFBZXlCLEVBQVF6QixXQUFhLEtBQUsyQixLQUFLLENBQ3BEekIsU0FBZWMsRUFDZmYsS0FBZWxCLFNBQVNnQyxHQUN4QmUsWUFBZWxELE9BQU9tQyxHQUN0QlosTUFBZWUsRUFBaUJuQyxTQUFTbUMsR0FBa0IsS0FDM0RhLGFBQWViLEVBQWlCdEMsT0FBT3NDLEdBQWtCLFFBS2pFLE1BQU8sSUFNUGMsWUFBYyxTQUFxQlIsR0FDbkNwQyxLQUFLa0IsT0FBUyxFQU1kLElBSkEsSUFFMkIyQixFQUZ2QkMsRUFBTzlDLEtBRVArQyxFQUFXWCxFQUVSQSxHQUFXLENBSWQsSUFIQVMsRUFBV1QsRUFBVzFDLFFBQVFFLFFBQVMsV0FDbkMsT0FBT3lCLFNBQVMyQixNQUFNRixFQUFNRyxnQkFFZmIsRUFBWSxNQUFNLElBQUljLE1BQU1ILEVBQVcsNkJBQ3hEWCxFQUFhUyxJQUlyQkQsWUFBWTFDLFVBQVVDLFNBQVcsV0FDN0IsSUFBS0gsS0FBS0ksSUFBSSxDQUVWLElBREEsSUFDZ0JnQyxFQURaZSxFQUFjLEdBQ1RDLEVBQUksRUFBZWhCLEVBQWFwQyxLQUFLb0QsTUFBT0QsRUFBWVosS0FBS0gsR0FDdEVwQyxLQUFLSSxJQUFNK0MsRUFBWXhDLEtBQUssTUFHaEMsT0FBT1gsS0FBS0ksS0FHaEIsSUFBSWlELE1BQVEsR0FFUkMsTUFBUSxTQUFTbEIsR0FDakIsT0FBa0IsTUFBZEEsRUFBMkIsTUFDL0JBLEdBQWMsR0FBS0EsR0FBWTFDLFFBQVEsYUFBYyxJQUM5QzJELE1BQU1qQixLQUFnQmlCLE1BQU1qQixHQUFjLElBQUlRLFlBQVlSLE1BR3JFbUIsT0FBT0MsUUFBVUYiLCJmaWxlIjoiL3Jvb3QvbW9zYWljby9ub2RlX21vZHVsZXMvc2xpY2svcGFyc2VyLmpzIn0=", + "!function(t){var e=/^\\s+/,r=/\\s+$/,n=0,a=t.round,i=t.min,s=t.max,o=t.random;function f(o,h){if(h=h||{},(o=o||\"\")instanceof f)return o;if(!(this instanceof f))return new f(o,h);var u=function(n){var a={r:0,g:0,b:0},o=1,f=null,h=null,u=null,l=!1,c=!1;\"string\"==typeof n&&(n=function(t){t=t.replace(e,\"\").replace(r,\"\").toLowerCase();var n,a=!1;if(H[t])t=H[t],a=!0;else if(\"transparent\"==t)return{r:0,g:0,b:0,a:0,format:\"name\"};if(n=O.rgb.exec(t))return{r:n[1],g:n[2],b:n[3]};if(n=O.rgba.exec(t))return{r:n[1],g:n[2],b:n[3],a:n[4]};if(n=O.hsl.exec(t))return{h:n[1],s:n[2],l:n[3]};if(n=O.hsla.exec(t))return{h:n[1],s:n[2],l:n[3],a:n[4]};if(n=O.hsv.exec(t))return{h:n[1],s:n[2],v:n[3]};if(n=O.hsva.exec(t))return{h:n[1],s:n[2],v:n[3],a:n[4]};if(n=O.hex8.exec(t))return{r:M(n[1]),g:M(n[2]),b:M(n[3]),a:z(n[4]),format:a?\"name\":\"hex8\"};if(n=O.hex6.exec(t))return{r:M(n[1]),g:M(n[2]),b:M(n[3]),format:a?\"name\":\"hex\"};if(n=O.hex4.exec(t))return{r:M(n[1]+\"\"+n[1]),g:M(n[2]+\"\"+n[2]),b:M(n[3]+\"\"+n[3]),a:z(n[4]+\"\"+n[4]),format:a?\"name\":\"hex8\"};if(n=O.hex3.exec(t))return{r:M(n[1]+\"\"+n[1]),g:M(n[2]+\"\"+n[2]),b:M(n[3]+\"\"+n[3]),format:a?\"name\":\"hex\"};return!1}(n));\"object\"==typeof n&&(P(n.r)&&P(n.g)&&P(n.b)?(g=n.r,b=n.g,d=n.b,a={r:255*C(g,255),g:255*C(b,255),b:255*C(d,255)},l=!0,c=\"%\"===String(n.r).substr(-1)?\"prgb\":\"rgb\"):P(n.h)&&P(n.s)&&P(n.v)?(f=L(n.s),h=L(n.v),a=function(e,r,n){e=6*C(e,360),r=C(r,100),n=C(n,100);var a=t.floor(e),i=e-a,s=n*(1-r),o=n*(1-i*r),f=n*(1-(1-i)*r),h=a%6;return{r:255*[n,o,s,s,f,n][h],g:255*[f,n,n,o,s,s][h],b:255*[s,s,f,n,n,o][h]}}(n.h,f,h),l=!0,c=\"hsv\"):P(n.h)&&P(n.s)&&P(n.l)&&(f=L(n.s),u=L(n.l),a=function(t,e,r){var n,a,i;function s(t,e,r){return r<0&&(r+=1),r>1&&(r-=1),r<1/6?t+6*(e-t)*r:r<.5?e:r<2/3?t+(e-t)*(2/3-r)*6:t}if(t=C(t,360),e=C(e,100),r=C(r,100),0===e)n=a=i=r;else{var o=r<.5?r*(1+e):r+e-r*e,f=2*r-o;n=s(f,o,t+1/3),a=s(f,o,t),i=s(f,o,t-1/3)}return{r:255*n,g:255*a,b:255*i}}(n.h,f,u),l=!0,c=\"hsl\"),n.hasOwnProperty(\"a\")&&(o=n.a));var g,b,d;return o=F(o),{ok:l,format:n.format||c,r:i(255,s(a.r,0)),g:i(255,s(a.g,0)),b:i(255,s(a.b,0)),a:o}}(o);this._originalInput=o,this._r=u.r,this._g=u.g,this._b=u.b,this._a=u.a,this._roundA=a(100*this._a)/100,this._format=h.format||u.format,this._gradientType=h.gradientType,this._r<1&&(this._r=a(this._r)),this._g<1&&(this._g=a(this._g)),this._b<1&&(this._b=a(this._b)),this._ok=u.ok,this._tc_id=n++}function h(t,e,r){t=C(t,255),e=C(e,255),r=C(r,255);var n,a,o=s(t,e,r),f=i(t,e,r),h=(o+f)/2;if(o==f)n=a=0;else{var u=o-f;switch(a=h>.5?u/(2-o-f):u/(o+f),o){case t:n=(e-r)/u+(e>1)+720)%360;--e;)n.h=(n.h+a)%360,i.push(f(n));return i}function S(t,e){e=e||6;for(var r=f(t).toHsv(),n=r.h,a=r.s,i=r.v,s=[],o=1/e;e--;)s.push(f({h:n,s:a,v:i})),i=(i+o)%1;return s}f.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 t=this.toRgb();return(299*t.r+587*t.g+114*t.b)/1e3},getLuminance:function(){var e,r,n,a=this.toRgb();return e=a.r/255,r=a.g/255,n=a.b/255,.2126*(e<=.03928?e/12.92:t.pow((e+.055)/1.055,2.4))+.7152*(r<=.03928?r/12.92:t.pow((r+.055)/1.055,2.4))+.0722*(n<=.03928?n/12.92:t.pow((n+.055)/1.055,2.4))},setAlpha:function(t){return this._a=F(t),this._roundA=a(100*this._a)/100,this},toHsv:function(){var t=u(this._r,this._g,this._b);return{h:360*t.h,s:t.s,v:t.v,a:this._a}},toHsvString:function(){var t=u(this._r,this._g,this._b),e=a(360*t.h),r=a(100*t.s),n=a(100*t.v);return 1==this._a?\"hsv(\"+e+\", \"+r+\"%, \"+n+\"%)\":\"hsva(\"+e+\", \"+r+\"%, \"+n+\"%, \"+this._roundA+\")\"},toHsl:function(){var t=h(this._r,this._g,this._b);return{h:360*t.h,s:t.s,l:t.l,a:this._a}},toHslString:function(){var t=h(this._r,this._g,this._b),e=a(360*t.h),r=a(100*t.s),n=a(100*t.l);return 1==this._a?\"hsl(\"+e+\", \"+r+\"%, \"+n+\"%)\":\"hsla(\"+e+\", \"+r+\"%, \"+n+\"%, \"+this._roundA+\")\"},toHex:function(t){return l(this._r,this._g,this._b,t)},toHexString:function(t){return\"#\"+this.toHex(t)},toHex8:function(t){return function(t,e,r,n,i){var s=[I(a(t).toString(16)),I(a(e).toString(16)),I(a(r).toString(16)),I(N(n))];if(i&&s[0].charAt(0)==s[0].charAt(1)&&s[1].charAt(0)==s[1].charAt(1)&&s[2].charAt(0)==s[2].charAt(1)&&s[3].charAt(0)==s[3].charAt(1))return s[0].charAt(0)+s[1].charAt(0)+s[2].charAt(0)+s[3].charAt(0);return s.join(\"\")}(this._r,this._g,this._b,this._a,t)},toHex8String:function(t){return\"#\"+this.toHex8(t)},toRgb:function(){return{r:a(this._r),g:a(this._g),b:a(this._b),a:this._a}},toRgbString:function(){return 1==this._a?\"rgb(\"+a(this._r)+\", \"+a(this._g)+\", \"+a(this._b)+\")\":\"rgba(\"+a(this._r)+\", \"+a(this._g)+\", \"+a(this._b)+\", \"+this._roundA+\")\"},toPercentageRgb:function(){return{r:a(100*C(this._r,255))+\"%\",g:a(100*C(this._g,255))+\"%\",b:a(100*C(this._b,255))+\"%\",a:this._a}},toPercentageRgbString:function(){return 1==this._a?\"rgb(\"+a(100*C(this._r,255))+\"%, \"+a(100*C(this._g,255))+\"%, \"+a(100*C(this._b,255))+\"%)\":\"rgba(\"+a(100*C(this._r,255))+\"%, \"+a(100*C(this._g,255))+\"%, \"+a(100*C(this._b,255))+\"%, \"+this._roundA+\")\"},toName:function(){return 0===this._a?\"transparent\":!(this._a<1)&&(R[l(this._r,this._g,this._b,!0)]||!1)},toFilter:function(t){var e=\"#\"+c(this._r,this._g,this._b,this._a),r=e,n=this._gradientType?\"GradientType = 1, \":\"\";if(t){var a=f(t);r=\"#\"+c(a._r,a._g,a._b,a._a)}return\"progid:DXImageTransform.Microsoft.gradient(\"+n+\"startColorstr=\"+e+\",endColorstr=\"+r+\")\"},toString:function(t){var e=!!t;t=t||this._format;var r=!1,n=this._a<1&&this._a>=0;return e||!n||\"hex\"!==t&&\"hex6\"!==t&&\"hex3\"!==t&&\"hex4\"!==t&&\"hex8\"!==t&&\"name\"!==t?(\"rgb\"===t&&(r=this.toRgbString()),\"prgb\"===t&&(r=this.toPercentageRgbString()),\"hex\"!==t&&\"hex6\"!==t||(r=this.toHexString()),\"hex3\"===t&&(r=this.toHexString(!0)),\"hex4\"===t&&(r=this.toHex8String(!0)),\"hex8\"===t&&(r=this.toHex8String()),\"name\"===t&&(r=this.toName()),\"hsl\"===t&&(r=this.toHslString()),\"hsv\"===t&&(r=this.toHsvString()),r||this.toHexString()):\"name\"===t&&0===this._a?this.toName():this.toRgbString()},clone:function(){return f(this.toString())},_applyModification:function(t,e){var r=t.apply(null,[this].concat([].slice.call(e)));return this._r=r._r,this._g=r._g,this._b=r._b,this.setAlpha(r._a),this},lighten:function(){return this._applyModification(_,arguments)},brighten:function(){return this._applyModification(p,arguments)},darken:function(){return this._applyModification(m,arguments)},desaturate:function(){return this._applyModification(g,arguments)},saturate:function(){return this._applyModification(b,arguments)},greyscale:function(){return this._applyModification(d,arguments)},spin:function(){return this._applyModification(v,arguments)},_applyCombination:function(t,e){return t.apply(null,[this].concat([].slice.call(e)))},analogous:function(){return this._applyCombination(w,arguments)},complement:function(){return this._applyCombination(y,arguments)},monochromatic:function(){return this._applyCombination(S,arguments)},splitcomplement:function(){return this._applyCombination(k,arguments)},triad:function(){return this._applyCombination(A,arguments)},tetrad:function(){return this._applyCombination(x,arguments)}},f.fromRatio=function(t,e){if(\"object\"==typeof t){var r={};for(var n in t)t.hasOwnProperty(n)&&(r[n]=\"a\"===n?t[n]:L(t[n]));t=r}return f(t,e)},f.equals=function(t,e){return!(!t||!e)&&f(t).toRgbString()==f(e).toRgbString()},f.random=function(){return f.fromRatio({r:o(),g:o(),b:o()})},f.mix=function(t,e,r){r=0===r?0:r||50;var n=f(t).toRgb(),a=f(e).toRgb(),i=r/100;return f({r:(a.r-n.r)*i+n.r,g:(a.g-n.g)*i+n.g,b:(a.b-n.b)*i+n.b,a:(a.a-n.a)*i+n.a})},f.readability=function(e,r){var n=f(e),a=f(r);return(t.max(n.getLuminance(),a.getLuminance())+.05)/(t.min(n.getLuminance(),a.getLuminance())+.05)},f.isReadable=function(t,e,r){var n,a,i=f.readability(t,e);switch(a=!1,(n=function(t){var e,r;e=((t=t||{level:\"AA\",size:\"small\"}).level||\"AA\").toUpperCase(),r=(t.size||\"small\").toLowerCase(),\"AA\"!==e&&\"AAA\"!==e&&(e=\"AA\");\"small\"!==r&&\"large\"!==r&&(r=\"small\");return{level:e,size:r}}(r)).level+n.size){case\"AAsmall\":case\"AAAlarge\":a=i>=4.5;break;case\"AAlarge\":a=i>=3;break;case\"AAAsmall\":a=i>=7}return a},f.mostReadable=function(t,e,r){var n,a,i,s,o=null,h=0;a=(r=r||{}).includeFallbackColors,i=r.level,s=r.size;for(var u=0;uh&&(h=n,o=f(e[u]));return f.isReadable(t,o,{level:i,size:s})||!a?o:(r.includeFallbackColors=!1,f.mostReadable(t,[\"#fff\",\"#000\"],r))};var H=f.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=f.hexNames=function(t){var e={};for(var r in t)t.hasOwnProperty(r)&&(e[t[r]]=r);return e}(H);function F(t){return t=parseFloat(t),(isNaN(t)||t<0||t>1)&&(t=1),t}function C(e,r){(function(t){return\"string\"==typeof t&&-1!=t.indexOf(\".\")&&1===parseFloat(t)})(e)&&(e=\"100%\");var n=function(t){return\"string\"==typeof t&&-1!=t.indexOf(\"%\")}(e);return e=i(r,s(0,parseFloat(e))),n&&(e=parseInt(e*r,10)/100),t.abs(e-r)<1e-6?1:e%r/parseFloat(r)}function q(t){return i(1,s(0,t))}function M(t){return parseInt(t,16)}function I(t){return 1==t.length?\"0\"+t:\"\"+t}function L(t){return t<=1&&(t=100*t+\"%\"),t}function N(e){return t.round(255*parseFloat(e)).toString(16)}function z(t){return M(t)/255}var E,T,j,O=(T=\"[\\\\s|\\\\(]+(\"+(E=\"(?:[-\\\\+]?\\\\d*\\\\.\\\\d+%?)|(?:[-\\\\+]?\\\\d+%?)\")+\")[,|\\\\s]+(\"+E+\")[,|\\\\s]+(\"+E+\")\\\\s*\\\\)?\",j=\"[\\\\s|\\\\(]+(\"+E+\")[,|\\\\s]+(\"+E+\")[,|\\\\s]+(\"+E+\")[,|\\\\s]+(\"+E+\")\\\\s*\\\\)?\",{CSS_UNIT:new RegExp(E),rgb:new RegExp(\"rgb\"+T),rgba:new RegExp(\"rgba\"+j),hsl:new RegExp(\"hsl\"+T),hsla:new RegExp(\"hsla\"+j),hsv:new RegExp(\"hsv\"+T),hsva:new RegExp(\"hsva\"+j),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})$/});function P(t){return!!O.CSS_UNIT.exec(t)}\"undefined\"!=typeof module&&module.exports?module.exports=f:\"function\"==typeof define&&define.amd?define(function(){return f}):window.tinycolor=f}(Math);\n\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRpbnljb2xvci5qcyJdLCJuYW1lcyI6WyJNYXRoIiwidHJpbUxlZnQiLCJ0cmltUmlnaHQiLCJ0aW55Q291bnRlciIsIm1hdGhSb3VuZCIsInJvdW5kIiwibWF0aE1pbiIsIm1pbiIsIm1hdGhNYXgiLCJtYXgiLCJtYXRoUmFuZG9tIiwicmFuZG9tIiwidGlueWNvbG9yIiwiY29sb3IiLCJvcHRzIiwidGhpcyIsInJnYiIsInIiLCJnIiwiYiIsImEiLCJzIiwidiIsImwiLCJvayIsImZvcm1hdCIsInJlcGxhY2UiLCJ0b0xvd2VyQ2FzZSIsIm1hdGNoIiwibmFtZWQiLCJuYW1lcyIsIm1hdGNoZXJzIiwiZXhlYyIsInJnYmEiLCJoc2wiLCJoIiwiaHNsYSIsImhzdiIsImhzdmEiLCJoZXg4IiwicGFyc2VJbnRGcm9tSGV4IiwiY29udmVydEhleFRvRGVjaW1hbCIsImhleDYiLCJoZXg0IiwiaGV4MyIsInN0cmluZ0lucHV0VG9PYmplY3QiLCJpc1ZhbGlkQ1NTVW5pdCIsImJvdW5kMDEiLCJTdHJpbmciLCJzdWJzdHIiLCJjb252ZXJ0VG9QZXJjZW50YWdlIiwiaSIsImZsb29yIiwiZiIsInAiLCJxIiwidCIsIm1vZCIsImhzdlRvUmdiIiwiaHVlMnJnYiIsImhzbFRvUmdiIiwiaGFzT3duUHJvcGVydHkiLCJib3VuZEFscGhhIiwiaW5wdXRUb1JHQiIsIl9vcmlnaW5hbElucHV0IiwiX3IiLCJfZyIsIl9iIiwiX2EiLCJfcm91bmRBIiwiX2Zvcm1hdCIsIl9ncmFkaWVudFR5cGUiLCJncmFkaWVudFR5cGUiLCJfb2siLCJfdGNfaWQiLCJyZ2JUb0hzbCIsImQiLCJyZ2JUb0hzdiIsInJnYlRvSGV4IiwiYWxsb3czQ2hhciIsImhleCIsInBhZDIiLCJ0b1N0cmluZyIsImNoYXJBdCIsImpvaW4iLCJyZ2JhVG9BcmdiSGV4IiwiY29udmVydERlY2ltYWxUb0hleCIsImRlc2F0dXJhdGUiLCJhbW91bnQiLCJ0b0hzbCIsImNsYW1wMDEiLCJzYXR1cmF0ZSIsImdyZXlzY2FsZSIsImxpZ2h0ZW4iLCJicmlnaHRlbiIsInRvUmdiIiwiZGFya2VuIiwic3BpbiIsImh1ZSIsImNvbXBsZW1lbnQiLCJ0cmlhZCIsInRldHJhZCIsInNwbGl0Y29tcGxlbWVudCIsImFuYWxvZ291cyIsInJlc3VsdHMiLCJzbGljZXMiLCJwYXJ0IiwicmV0IiwicHVzaCIsIm1vbm9jaHJvbWF0aWMiLCJ0b0hzdiIsIm1vZGlmaWNhdGlvbiIsInByb3RvdHlwZSIsImlzRGFyayIsImdldEJyaWdodG5lc3MiLCJpc0xpZ2h0IiwiaXNWYWxpZCIsImdldE9yaWdpbmFsSW5wdXQiLCJnZXRGb3JtYXQiLCJnZXRBbHBoYSIsImdldEx1bWluYW5jZSIsIlJzUkdCIiwiR3NSR0IiLCJCc1JHQiIsInBvdyIsInNldEFscGhhIiwidmFsdWUiLCJ0b0hzdlN0cmluZyIsInRvSHNsU3RyaW5nIiwidG9IZXgiLCJ0b0hleFN0cmluZyIsInRvSGV4OCIsImFsbG93NENoYXIiLCJyZ2JhVG9IZXgiLCJ0b0hleDhTdHJpbmciLCJ0b1JnYlN0cmluZyIsInRvUGVyY2VudGFnZVJnYiIsInRvUGVyY2VudGFnZVJnYlN0cmluZyIsInRvTmFtZSIsImhleE5hbWVzIiwidG9GaWx0ZXIiLCJzZWNvbmRDb2xvciIsImhleDhTdHJpbmciLCJzZWNvbmRIZXg4U3RyaW5nIiwiZm9ybWF0U2V0IiwiZm9ybWF0dGVkU3RyaW5nIiwiaGFzQWxwaGEiLCJjbG9uZSIsIl9hcHBseU1vZGlmaWNhdGlvbiIsImZuIiwiYXJncyIsImFwcGx5IiwiY29uY2F0Iiwic2xpY2UiLCJjYWxsIiwiYXJndW1lbnRzIiwiX2FwcGx5Q29tYmluYXRpb24iLCJmcm9tUmF0aW8iLCJuZXdDb2xvciIsImVxdWFscyIsImNvbG9yMSIsImNvbG9yMiIsIm1peCIsInJnYjEiLCJyZ2IyIiwicmVhZGFiaWxpdHkiLCJjMSIsImMyIiwiaXNSZWFkYWJsZSIsIndjYWcyIiwid2NhZzJQYXJtcyIsIm91dCIsInBhcm1zIiwibGV2ZWwiLCJzaXplIiwidG9VcHBlckNhc2UiLCJ2YWxpZGF0ZVdDQUcyUGFybXMiLCJtb3N0UmVhZGFibGUiLCJiYXNlQ29sb3IiLCJjb2xvckxpc3QiLCJpbmNsdWRlRmFsbGJhY2tDb2xvcnMiLCJiZXN0Q29sb3IiLCJiZXN0U2NvcmUiLCJsZW5ndGgiLCJhbGljZWJsdWUiLCJhbnRpcXVld2hpdGUiLCJhcXVhIiwiYXF1YW1hcmluZSIsImF6dXJlIiwiYmVpZ2UiLCJiaXNxdWUiLCJibGFjayIsImJsYW5jaGVkYWxtb25kIiwiYmx1ZSIsImJsdWV2aW9sZXQiLCJicm93biIsImJ1cmx5d29vZCIsImJ1cm50c2llbm5hIiwiY2FkZXRibHVlIiwiY2hhcnRyZXVzZSIsImNob2NvbGF0ZSIsImNvcmFsIiwiY29ybmZsb3dlcmJsdWUiLCJjb3Juc2lsayIsImNyaW1zb24iLCJjeWFuIiwiZGFya2JsdWUiLCJkYXJrY3lhbiIsImRhcmtnb2xkZW5yb2QiLCJkYXJrZ3JheSIsImRhcmtncmVlbiIsImRhcmtncmV5IiwiZGFya2toYWtpIiwiZGFya21hZ2VudGEiLCJkYXJrb2xpdmVncmVlbiIsImRhcmtvcmFuZ2UiLCJkYXJrb3JjaGlkIiwiZGFya3JlZCIsImRhcmtzYWxtb24iLCJkYXJrc2VhZ3JlZW4iLCJkYXJrc2xhdGVibHVlIiwiZGFya3NsYXRlZ3JheSIsImRhcmtzbGF0ZWdyZXkiLCJkYXJrdHVycXVvaXNlIiwiZGFya3Zpb2xldCIsImRlZXBwaW5rIiwiZGVlcHNreWJsdWUiLCJkaW1ncmF5IiwiZGltZ3JleSIsImRvZGdlcmJsdWUiLCJmaXJlYnJpY2siLCJmbG9yYWx3aGl0ZSIsImZvcmVzdGdyZWVuIiwiZnVjaHNpYSIsImdhaW5zYm9ybyIsImdob3N0d2hpdGUiLCJnb2xkIiwiZ29sZGVucm9kIiwiZ3JheSIsImdyZWVuIiwiZ3JlZW55ZWxsb3ciLCJncmV5IiwiaG9uZXlkZXciLCJob3RwaW5rIiwiaW5kaWFucmVkIiwiaW5kaWdvIiwiaXZvcnkiLCJraGFraSIsImxhdmVuZGVyIiwibGF2ZW5kZXJibHVzaCIsImxhd25ncmVlbiIsImxlbW9uY2hpZmZvbiIsImxpZ2h0Ymx1ZSIsImxpZ2h0Y29yYWwiLCJsaWdodGN5YW4iLCJsaWdodGdvbGRlbnJvZHllbGxvdyIsImxpZ2h0Z3JheSIsImxpZ2h0Z3JlZW4iLCJsaWdodGdyZXkiLCJsaWdodHBpbmsiLCJsaWdodHNhbG1vbiIsImxpZ2h0c2VhZ3JlZW4iLCJsaWdodHNreWJsdWUiLCJsaWdodHNsYXRlZ3JheSIsImxpZ2h0c2xhdGVncmV5IiwibGlnaHRzdGVlbGJsdWUiLCJsaWdodHllbGxvdyIsImxpbWUiLCJsaW1lZ3JlZW4iLCJsaW5lbiIsIm1hZ2VudGEiLCJtYXJvb24iLCJtZWRpdW1hcXVhbWFyaW5lIiwibWVkaXVtYmx1ZSIsIm1lZGl1bW9yY2hpZCIsIm1lZGl1bXB1cnBsZSIsIm1lZGl1bXNlYWdyZWVuIiwibWVkaXVtc2xhdGVibHVlIiwibWVkaXVtc3ByaW5nZ3JlZW4iLCJtZWRpdW10dXJxdW9pc2UiLCJtZWRpdW12aW9sZXRyZWQiLCJtaWRuaWdodGJsdWUiLCJtaW50Y3JlYW0iLCJtaXN0eXJvc2UiLCJtb2NjYXNpbiIsIm5hdmFqb3doaXRlIiwibmF2eSIsIm9sZGxhY2UiLCJvbGl2ZSIsIm9saXZlZHJhYiIsIm9yYW5nZSIsIm9yYW5nZXJlZCIsIm9yY2hpZCIsInBhbGVnb2xkZW5yb2QiLCJwYWxlZ3JlZW4iLCJwYWxldHVycXVvaXNlIiwicGFsZXZpb2xldHJlZCIsInBhcGF5YXdoaXAiLCJwZWFjaHB1ZmYiLCJwZXJ1IiwicGluayIsInBsdW0iLCJwb3dkZXJibHVlIiwicHVycGxlIiwicmViZWNjYXB1cnBsZSIsInJlZCIsInJvc3licm93biIsInJveWFsYmx1ZSIsInNhZGRsZWJyb3duIiwic2FsbW9uIiwic2FuZHlicm93biIsInNlYWdyZWVuIiwic2Vhc2hlbGwiLCJzaWVubmEiLCJzaWx2ZXIiLCJza3libHVlIiwic2xhdGVibHVlIiwic2xhdGVncmF5Iiwic2xhdGVncmV5Iiwic25vdyIsInNwcmluZ2dyZWVuIiwic3RlZWxibHVlIiwidGFuIiwidGVhbCIsInRoaXN0bGUiLCJ0b21hdG8iLCJ0dXJxdW9pc2UiLCJ2aW9sZXQiLCJ3aGVhdCIsIndoaXRlIiwid2hpdGVzbW9rZSIsInllbGxvdyIsInllbGxvd2dyZWVuIiwibyIsImZsaXBwZWQiLCJmbGlwIiwicGFyc2VGbG9hdCIsImlzTmFOIiwibiIsImluZGV4T2YiLCJpc09uZVBvaW50WmVybyIsInByb2Nlc3NQZXJjZW50IiwiaXNQZXJjZW50YWdlIiwicGFyc2VJbnQiLCJhYnMiLCJ2YWwiLCJjIiwiQ1NTX1VOSVQiLCJQRVJNSVNTSVZFX01BVENIMyIsIlBFUk1JU1NJVkVfTUFUQ0g0IiwiUmVnRXhwIiwibW9kdWxlIiwiZXhwb3J0cyIsImRlZmluZSIsImFtZCIsIndpbmRvdyJdLCJtYXBwaW5ncyI6IkNBSUEsU0FBVUEsR0FFVixJQUFJQyxFQUFXLE9BQ1hDLEVBQVksT0FDWkMsRUFBYyxFQUNkQyxFQUFZSixFQUFLSyxNQUNqQkMsRUFBVU4sRUFBS08sSUFDZkMsRUFBVVIsRUFBS1MsSUFDZkMsRUFBYVYsRUFBS1csT0FFdEIsU0FBU0MsRUFBV0MsRUFBT0MsR0FNdkIsR0FIQUEsRUFBT0EsR0FBUSxJQURmRCxFQUFRLEdBQWtCLGNBSUxELEVBQ2xCLE9BQU9DLEVBR1YsS0FBTUUsZ0JBQWdCSCxHQUNsQixPQUFPLElBQUlBLEVBQVVDLEVBQU9DLEdBR2hDLElBQUlFLEVBb1JSLFNBQW9CSCxHQUVoQixJQUFJRyxFQUFNLENBQUVDLEVBQUcsRUFBR0MsRUFBRyxFQUFHQyxFQUFHLEdBQ3ZCQyxFQUFJLEVBQ0pDLEVBQUksS0FDSkMsRUFBSSxLQUNKQyxFQUFJLEtBQ0pDLEdBQUssRUFDTEMsR0FBUyxFQUVPLGlCQUFUWixJQUNQQSxFQXl3QlIsU0FBNkJBLEdBRXpCQSxFQUFRQSxFQUFNYSxRQUFRekIsRUFBUyxJQUFJeUIsUUFBUXhCLEVBQVcsSUFBSXlCLGNBQzFELElBYUlDLEVBYkFDLEdBQVEsRUFDWixHQUFJQyxFQUFNakIsR0FDTkEsRUFBUWlCLEVBQU1q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", + "!function(e){e([\"jquery\"],function(e){return function(){var t,n,o,s=0,i={error:\"error\",info:\"info\",success:\"success\",warning:\"warning\"},a={clear:function(n,o){var s=u();t||r(s);l(n,s,o)||function(n){for(var o=t.children(),s=o.length-1;s>=0;s--)l(e(o[s]),n)}(s)},remove:function(n){var o=u();t||r(o);if(n&&0===e(\":focus\",n).length)return void p(n);t.children().length&&t.remove()},error:function(e,t,n){return d({type:i.error,iconClass:u().iconClasses.error,message:e,optionsOverride:n,title:t})},getContainer:r,info:function(e,t,n){return d({type:i.info,iconClass:u().iconClasses.info,message:e,optionsOverride:n,title:t})},options:{},subscribe:function(e){n=e},success:function(e,t,n){return d({type:i.success,iconClass:u().iconClasses.success,message:e,optionsOverride:n,title:t})},version:\"2.1.4\",warning:function(e,t,n){return d({type:i.warning,iconClass:u().iconClasses.warning,message:e,optionsOverride:n,title:t})}};return a;function r(n,o){return n||(n=u()),(t=e(\"#\"+n.containerId)).length?t:(o&&(t=function(n){return(t=e(\"
\").attr(\"id\",n.containerId).addClass(n.positionClass)).appendTo(e(n.target)),t}(n)),t)}function l(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(){p(t)}}),!0)}function c(e){n&&n(e)}function d(n){var i=u(),a=n.iconClass||i.iconClass;if(void 0!==n.optionsOverride&&(i=e.extend(i,n.optionsOverride),a=n.optionsOverride.iconClass||a),!function(e,t){if(e.preventDuplicates){if(t.message===o)return!0;o=t.message}return!1}(i,n)){s++,t=r(i,!0);var l=null,d=e(\"
\"),f=e(\"
\"),g=e(\"
\"),m=e(\"
\"),h=e(i.closeHtml),v={intervalId:null,hideEta:null,maxHideTime:null},C={toastId:s,state:\"visible\",startTime:new Date,options:i,map:n};return n.iconClass&&d.addClass(i.toastClass).addClass(a),function(){if(n.title){var e=n.title;i.escapeHtml&&(e=w(n.title)),f.append(e).addClass(i.titleClass),d.append(f)}}(),function(){if(n.message){var e=n.message;i.escapeHtml&&(e=w(n.message)),g.append(e).addClass(i.messageClass),d.append(g)}}(),i.closeButton&&(h.addClass(i.closeClass).attr(\"role\",\"button\"),d.prepend(h)),i.progressBar&&(m.addClass(i.progressClass),d.prepend(m)),i.rtl&&d.addClass(\"rtl\"),i.newestOnTop?t.prepend(d):t.append(d),function(){var e=\"\";switch(n.iconClass){case\"toast-success\":case\"toast-info\":e=\"polite\";break;default:e=\"assertive\"}d.attr(\"aria-live\",e)}(),d.hide(),d[i.showMethod]({duration:i.showDuration,easing:i.showEasing,complete:i.onShown}),i.timeOut>0&&(l=setTimeout(T,i.timeOut),v.maxHideTime=parseFloat(i.timeOut),v.hideEta=(new Date).getTime()+v.maxHideTime,i.progressBar&&(v.intervalId=setInterval(D,10))),function(){i.closeOnHover&&d.hover(O,b);!i.onclick&&i.tapToDismiss&&d.click(T);i.closeButton&&h&&h.click(function(e){e.stopPropagation?e.stopPropagation():void 0!==e.cancelBubble&&!0!==e.cancelBubble&&(e.cancelBubble=!0),i.onCloseClick&&i.onCloseClick(e),T(!0)});i.onclick&&d.click(function(e){i.onclick(e),T()})}(),c(C),i.debug&&console&&console.log(C),d}function w(e){return null==e&&(e=\"\"),e.replace(/&/g,\"&\").replace(/\"/g,\""\").replace(/'/g,\"'\").replace(//g,\">\")}function T(t){var n=t&&!1!==i.closeMethod?i.closeMethod:i.hideMethod,o=t&&!1!==i.closeDuration?i.closeDuration:i.hideDuration,s=t&&!1!==i.closeEasing?i.closeEasing:i.hideEasing;if(!e(\":focus\",d).length||t)return clearTimeout(v.intervalId),d[n]({duration:o,easing:s,complete:function(){p(d),clearTimeout(l),i.onHidden&&\"hidden\"!==C.state&&i.onHidden(),C.state=\"hidden\",C.endTime=new Date,c(C)}})}function b(){(i.timeOut>0||i.extendedTimeOut>0)&&(l=setTimeout(T,i.extendedTimeOut),v.maxHideTime=parseFloat(i.extendedTimeOut),v.hideEta=(new Date).getTime()+v.maxHideTime)}function O(){clearTimeout(l),v.hideEta=0,d.stop(!0,!0)[i.showMethod]({duration:i.showDuration,easing:i.showEasing})}function D(){var e=(v.hideEta-(new Date).getTime())/v.maxHideTime*100;m.width(e+\"%\")}}function u(){return e.extend({},{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},a.options)}function p(e){t||(t=r()),e.is(\":visible\")||(e.remove(),e=null,0===t.children().length&&(t.remove(),o=void 0))}}()})}(\"function\"==typeof define&&define.amd?define:function(e,t){\"undefined\"!=typeof module&&module.exports?module.exports=t(\"undefined\"!=typeof window?window.jQuery:\"undefined\"!=typeof global?global.jQuery:null):window.toastr=t(window.jQuery)});\n\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRvYXN0ci5qcyJdLCJuYW1lcyI6WyJkZWZpbmUiLCIkIiwiJGNvbnRhaW5lciIsImxpc3RlbmVyIiwicHJldmlvdXNUb2FzdCIsInRvYXN0SWQiLCJ0b2FzdFR5cGUiLCJlcnJvciIsImluZm8iLCJzdWNjZXNzIiwid2FybmluZyIsInRvYXN0ciIsImNsZWFyIiwiJHRvYXN0RWxlbWVudCIsImNsZWFyT3B0aW9ucyIsIm9wdGlvbnMiLCJnZXRPcHRpb25zIiwiZ2V0Q29udGFpbmVyIiwiY2xlYXJUb2FzdCIsInRvYXN0c1RvQ2xlYXIiLCJjaGlsZHJlbiIsImkiLCJsZW5ndGgiLCJjbGVhckNvbnRhaW5lciIsInJlbW92ZSIsInJlbW92ZVRvYXN0IiwibWVzc2FnZSIsInRpdGxlIiwib3B0aW9uc092ZXJyaWRlIiwibm90aWZ5IiwidHlwZSIsImljb25DbGFzcyIsImljb25DbGFzc2VzIiwic3Vic2NyaWJlIiwiY2FsbGJhY2siLCJ2ZXJzaW9uIiwiY3JlYXRlIiwiY29udGFpbmVySWQiLCJhdHRyIiwiYWRkQ2xhc3MiLCJwb3NpdGlvbkNsYXNzIiwiYXBwZW5kVG8iLCJ0YXJnZXQiLCJjcmVhdGVDb250YWluZXIiLCJmb3JjZSIsImhpZGVNZXRob2QiLCJkdXJhdGlvbiIsImhpZGVEdXJhdGlvbiIsImVhc2luZyIsImhpZGVFYXNpbmciLCJjb21wbGV0ZSIsInB1Ymxpc2giLCJhcmdzIiwibWFwIiwiZXh0ZW5kIiwicHJldmVudER1cGxpY2F0ZXMiLCJzaG91bGRFeGl0IiwiaW50ZXJ2YWxJZCIsIiR0aXRsZUVsZW1lbnQiLCIkbWVzc2FnZUVsZW1lbnQiLCIkcHJvZ3Jlc3NFbGVtZW50IiwiJGNsb3NlRWxlbWVudCIsImNsb3NlSHRtbCIsInByb2dyZXNzQmFyIiwiaGlkZUV0YSIsIm1heEhpZGVUaW1lIiwicmVzcG9uc2UiLCJzdGF0ZSIsInN0YXJ0VGltZSIsIkRhdGUiLCJ0b2FzdENsYXNzIiwic3VmZml4IiwiZXNjYXBlSHRtbCIsImFwcGVuZCIsInRpdGxlQ2xhc3MiLCJzZXRUaXRsZSIsIm1lc3NhZ2VDbGFzcyIsInNldE1lc3NhZ2UiLCJjbG9zZUJ1dHRvbiIsImNsb3NlQ2xhc3MiLCJwcmVwZW5kIiwicHJvZ3Jlc3NDbGFzcyIsInJ0bCIsIm5ld2VzdE9uVG9wIiwiYXJpYVZhbHVlIiwic2V0QXJpYSIsImhpZGUiLCJzaG93TWV0aG9kIiwic2hvd0R1cmF0aW9uIiwic2hvd0Vhc2luZyIsIm9uU2hvd24iLCJ0aW1lT3V0Iiwic2V0VGltZW91dCIsImhpZGVUb2FzdCIsInBhcnNlRmxvYXQiLCJnZXRUaW1lIiwic2V0SW50ZXJ2YWwiLCJ1cGRhdGVQcm9ncmVzcyIsImNsb3NlT25Ib3ZlciIsImhvdmVyIiwic3RpY2tBcm91bmQiLCJkZWxheWVkSGlkZVRvYXN0Iiwib25jbGljayIsInRhcFRvRGlzbWlzcyIsImNsaWNrIiwiZXZlbnQiLCJzdG9wUHJvcGFnYXRpb24iLCJ1bmRlZmluZWQiLCJjYW5jZWxCdWJibGUiLCJvbkNsb3NlQ2xpY2siLCJoYW5kbGVFdmVudHMiLCJkZWJ1ZyIsImNvbnNvbGUiLCJsb2ciLCJzb3VyY2UiLCJyZXBsYWNlIiwib3ZlcnJpZGUiLCJtZXRob2QiLCJjbG9zZU1ldGhvZCIsImNsb3NlRHVyYXRpb24iLCJjbG9zZUVhc2luZyIsImNsZWFyVGltZW91dCIsIm9uSGlkZGVuIiwiZW5kVGltZSIsImV4dGVuZGVkVGltZU91dCIsInN0b3AiLCJwZXJjZW50YWdlIiwid2lkdGgiLCJpcyIsImFtZCIsImRlcHMiLCJmYWN0b3J5IiwibW9kdWxlIiwiZXhwb3J0cyIsIndpbmRvdyIsImdsb2JhbCIsImpRdWVyeSJdLCJtYXBwaW5ncyI6IkNBYUMsU0FBVUEsR0FDUEEsRUFBTyxDQUFDLFVBQVcsU0FBVUMsR0FDekIsT0FBTyxXQUNILElBQUlDLEVBQ0FDLEVBc0JBQyxFQXJCQUMsRUFBVSxFQUNWQyxFQUFZLENBQ1pDLE1BQU8sUUFDUEMsS0FBTSxPQUNOQyxRQUFTLFVBQ1RDLFFBQVMsV0FHVEMsRUFBUyxDQUNUQyxN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", + "module.exports=function(o){return o&&\"object\"==typeof o&&\"function\"==typeof o.copy&&\"function\"==typeof o.fill&&\"function\"==typeof o.readUInt8};\n\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImlzQnVmZmVyQnJvd3Nlci5qcyJdLCJuYW1lcyI6WyJtb2R1bGUiLCJleHBvcnRzIiwiYXJnIiwiY29weSIsImZpbGwiLCJyZWFkVUludDgiXSwibWFwcGluZ3MiOiJBQUFBQSxPQUFPQyxRQUFVLFNBQWtCQyxHQUNqQyxPQUFPQSxHQUFzQixpQkFBUkEsR0FDSSxtQkFBYkEsRUFBSUMsTUFDUyxtQkFBYkQsRUFBSUUsTUFDYyxtQkFBbEJGLEVBQUlHIiwiZmlsZSI6Ii9yb290L21vc2FpY28vbm9kZV9tb2R1bGVzL3V0aWwvc3VwcG9ydC9pc0J1ZmZlckJyb3dzZXIuanMifQ==", + "var formatRegExp=/%[sdj%]/g;exports.format=function(e){if(!isString(e)){for(var r=[],t=0;t=i)return e;switch(e){case\"%s\":return String(n[t++]);case\"%d\":return Number(n[t++]);case\"%j\":try{return JSON.stringify(n[t++])}catch(e){return\"[Circular]\"}default:return e}}),s=n[t];t=3&&(t.depth=arguments[2]),arguments.length>=4&&(t.colors=arguments[3]),isBoolean(r)?t.showHidden=r:r&&exports._extend(t,r),isUndefined(t.showHidden)&&(t.showHidden=!1),isUndefined(t.depth)&&(t.depth=2),isUndefined(t.colors)&&(t.colors=!1),isUndefined(t.customInspect)&&(t.customInspect=!0),t.colors&&(t.stylize=stylizeWithColor),formatValue(t,e,t.depth)}function stylizeWithColor(e,r){var t=inspect.styles[r];return t?\"\u001b[\"+inspect.colors[t][0]+\"m\"+e+\"\u001b[\"+inspect.colors[t][1]+\"m\":e}function stylizeNoColor(e,r){return e}function arrayToHash(e){var r={};return e.forEach(function(e,t){r[e]=!0}),r}function formatValue(e,r,t){if(e.customInspect&&r&&isFunction(r.inspect)&&r.inspect!==exports.inspect&&(!r.constructor||r.constructor.prototype!==r)){var n=r.inspect(t,e);return isString(n)||(n=formatValue(e,n,t)),n}var i=formatPrimitive(e,r);if(i)return i;var o=Object.keys(r),s=arrayToHash(o);if(e.showHidden&&(o=Object.getOwnPropertyNames(r)),isError(r)&&(o.indexOf(\"message\")>=0||o.indexOf(\"description\")>=0))return formatError(r);if(0===o.length){if(isFunction(r)){var u=r.name?\": \"+r.name:\"\";return e.stylize(\"[Function\"+u+\"]\",\"special\")}if(isRegExp(r))return e.stylize(RegExp.prototype.toString.call(r),\"regexp\");if(isDate(r))return e.stylize(Date.prototype.toString.call(r),\"date\");if(isError(r))return formatError(r)}var c,a=\"\",l=!1,p=[\"{\",\"}\"];(isArray(r)&&(l=!0,p=[\"[\",\"]\"]),isFunction(r))&&(a=\" [Function\"+(r.name?\": \"+r.name:\"\")+\"]\");return isRegExp(r)&&(a=\" \"+RegExp.prototype.toString.call(r)),isDate(r)&&(a=\" \"+Date.prototype.toUTCString.call(r)),isError(r)&&(a=\" \"+formatError(r)),0!==o.length||l&&0!=r.length?t<0?isRegExp(r)?e.stylize(RegExp.prototype.toString.call(r),\"regexp\"):e.stylize(\"[Object]\",\"special\"):(e.seen.push(r),c=l?formatArray(e,r,t,s,o):o.map(function(n){return formatProperty(e,r,t,s,n,l)}),e.seen.pop(),reduceToSingleString(c,a,p)):p[0]+a+p[1]}function formatPrimitive(e,r){if(isUndefined(r))return e.stylize(\"undefined\",\"undefined\");if(isString(r)){var t=\"'\"+JSON.stringify(r).replace(/^\"|\"$/g,\"\").replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"')+\"'\";return e.stylize(t,\"string\")}return isNumber(r)?e.stylize(\"\"+r,\"number\"):isBoolean(r)?e.stylize(\"\"+r,\"boolean\"):isNull(r)?e.stylize(\"null\",\"null\"):void 0}function formatError(e){return\"[\"+Error.prototype.toString.call(e)+\"]\"}function formatArray(e,r,t,n,i){for(var o=[],s=0,u=r.length;s-1&&(u=o?u.split(\"\\n\").map(function(e){return\" \"+e}).join(\"\\n\").substr(2):\"\\n\"+u.split(\"\\n\").map(function(e){return\" \"+e}).join(\"\\n\")):u=e.stylize(\"[Circular]\",\"special\")),isUndefined(s)){if(o&&i.match(/^\\d+$/))return u;(s=JSON.stringify(\"\"+i)).match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)?(s=s.substr(1,s.length-2),s=e.stylize(s,\"name\")):(s=s.replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"').replace(/(^\"|\"$)/g,\"'\"),s=e.stylize(s,\"string\"))}return s+\": \"+u}function reduceToSingleString(e,r,t){return e.reduce(function(e,r){return 0,r.indexOf(\"\\n\")>=0&&0,e+r.replace(/\\u001b\\[\\d\\d?m/g,\"\").length+1},0)>60?t[0]+(\"\"===r?\"\":r+\"\\n \")+\" \"+e.join(\",\\n \")+\" \"+t[1]:t[0]+r+\" \"+e.join(\", \")+\" \"+t[1]}function isArray(e){return Array.isArray(e)}function isBoolean(e){return\"boolean\"==typeof e}function isNull(e){return null===e}function isNullOrUndefined(e){return null==e}function isNumber(e){return\"number\"==typeof e}function isString(e){return\"string\"==typeof e}function isSymbol(e){return\"symbol\"==typeof e}function isUndefined(e){return void 0===e}function isRegExp(e){return isObject(e)&&\"[object RegExp]\"===objectToString(e)}function isObject(e){return\"object\"==typeof e&&null!==e}function isDate(e){return isObject(e)&&\"[object Date]\"===objectToString(e)}function isError(e){return isObject(e)&&(\"[object Error]\"===objectToString(e)||e instanceof Error)}function isFunction(e){return\"function\"==typeof e}function isPrimitive(e){return null===e||\"boolean\"==typeof e||\"number\"==typeof e||\"string\"==typeof e||\"symbol\"==typeof e||void 0===e}function objectToString(e){return Object.prototype.toString.call(e)}function pad(e){return e<10?\"0\"+e.toString(10):e.toString(10)}exports.debuglog=function(e){if(isUndefined(debugEnviron)&&(debugEnviron=process.env.NODE_DEBUG||\"\"),e=e.toUpperCase(),!debugs[e])if(new RegExp(\"\\\\b\"+e+\"\\\\b\",\"i\").test(debugEnviron)){var r=process.pid;debugs[e]=function(){var t=exports.format.apply(exports,arguments);console.error(\"%s %d: %s\",e,r,t)}}else debugs[e]=function(){};return debugs[e]},exports.inspect=inspect,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]},inspect.styles={special:\"cyan\",number:\"yellow\",boolean:\"yellow\",undefined:\"grey\",null:\"bold\",string:\"green\",date:\"magenta\",regexp:\"red\"},exports.isArray=isArray,exports.isBoolean=isBoolean,exports.isNull=isNull,exports.isNullOrUndefined=isNullOrUndefined,exports.isNumber=isNumber,exports.isString=isString,exports.isSymbol=isSymbol,exports.isUndefined=isUndefined,exports.isRegExp=isRegExp,exports.isObject=isObject,exports.isDate=isDate,exports.isError=isError,exports.isFunction=isFunction,exports.isPrimitive=isPrimitive,exports.isBuffer=require(\"./support/isBuffer\");var months=[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"];function timestamp(){var e=new Date,r=[pad(e.getHours()),pad(e.getMinutes()),pad(e.getSeconds())].join(\":\");return[e.getDate(),months[e.getMonth()],r].join(\" \")}function hasOwnProperty(e,r){return Object.prototype.hasOwnProperty.call(e,r)}exports.log=function(){console.log(\"%s - %s\",timestamp(),exports.format.apply(exports,arguments))},exports.inherits=require(\"inherits\"),exports._extend=function(e,r){if(!r||!isObject(r))return e;for(var t=Object.keys(r),n=t.length;n--;)e[t[n]]=r[t[n]];return e};\n\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInV0aWwuanMiXSwibmFtZXMiOlsiZm9ybWF0UmVnRXhwIiwiZXhwb3J0cyIsImZvcm1hdCIsImYiLCJpc1N0cmluZyIsIm9iamVjdHMiLCJpIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwicHVzaCIsImluc3BlY3QiLCJqb2luIiwiYXJncyIsImxlbiIsInN0ciIsIlN0cmluZyIsInJlcGxhY2UiLCJ4IiwiTnVtYmVyIiwiSlNPTiIsInN0cmluZ2lmeSIsIl8iLCJpc051bGwiLCJpc09iamVjdCIsImRlcHJlY2F0ZSIsImZuIiwibXNnIiwiaXNVbmRlZmluZWQiLCJnbG9iYWwiLCJwcm9jZXNzIiwiYXBwbHkiLCJ0aGlzIiwibm9EZXByZWNhdGlvbiIsIndhcm5lZCIsInRocm93RGVwcmVjYXRpb24iLCJFcnJvciIsInRyYWNlRGVwcmVjYXRpb24iLCJjb25zb2xlIiwidHJhY2UiLCJlcnJvciIsImRlYnVnRW52aXJvbiIsImRlYnVncyIsIm9iaiIsIm9wdHMiLCJjdHgiLCJzZWVuIiwic3R5bGl6ZSIsInN0eWxpemVOb0NvbG9yIiwiZGVwdGgiLCJjb2xvcnMiLCJpc0Jvb2xlYW4iLCJzaG93SGlkZGVuIiwiX2V4dGVuZCIsImN1c3RvbUluc3BlY3QiLCJzdHlsaXplV2l0aENvbG9yIiwiZm9ybWF0VmFsdWUiLCJzdHlsZVR5cGUiLCJzdHlsZSIsInN0eWxlcyIsImFycmF5VG9IYXNoIiwiYXJyYXkiLCJoYXNoIiwiZm9yRWFjaCIsInZhbCIsImlkeCIsInZhbHVlIiwicmVjdXJzZVRpbWVzIiwiaXNGdW5jdGlvbiIsImNvbnN0cnVjdG9yIiwicHJvdG90eXBlIiwicmV0IiwicHJpbWl0aXZlIiwiZm9ybWF0UHJpbWl0aXZlIiwia2V5cyIsIk9iamVjdCIsInZpc2libGVLZXlzIiwiZ2V0T3duUHJvcGVydHlOYW1lcyIsImlzRXJyb3IiLCJpbmRleE9mIiwiZm9ybWF0RXJyb3IiLCJuYW1lIiwiaXNSZWdFeHAiLCJSZWdFeHAiLCJ0b1N0cmluZyIsImNhbGwiLCJpc0RhdGUiLCJEYXRlIiwib3V0cHV0IiwiYmFzZSIsImJyYWNlcyIsImlzQXJyYXkiLCJ0b1VUQ1N0cmluZyIsImZvcm1hdEFycmF5IiwibWFwIiwia2V5IiwiZm9ybWF0UHJvcGVydHkiLCJwb3AiLCJyZWR1Y2VUb1NpbmdsZVN0cmluZyIsInNpbXBsZSIsImlzTnVtYmVyIiwibCIsImhhc093blByb3BlcnR5IiwibWF0Y2giLCJkZXNjIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiZ2V0Iiwic2V0Iiwic3BsaXQiLCJsaW5lIiwic3Vic3RyIiwicmVkdWNlIiwicHJldiIsImN1ciIsIm51bUxpbmVzRXN0IiwiYXIiLCJBcnJheSIsImFyZyIsImlzTnVsbE9yVW5kZWZpbmVkIiwiaXNTeW1ib2wiLCJyZSIsIm9iamVjdFRvU3RyaW5nIiwiZCIsImUiLCJpc1ByaW1pdGl2ZSIsIm8iLCJwYWQiLCJuIiwiZGVidWdsb2ciLCJlbnYiLCJOT0RFX0RFQlVHIiwidG9VcHBlckNhc2UiLCJ0ZXN0IiwicGlkIiwiYm9sZCIsIml0YWxpYyIsInVuZGVybGluZSIsImludmVyc2UiLCJ3aGl0ZSIsImdyZXkiLCJibGFjayIsImJsdWUiLCJjeWFuIiwiZ3JlZW4iLCJtYWdlbnRhIiwicmVkIiwieWVsbG93Iiwic3BlY2lhbCIsIm51bWJlciIsImJvb2xlYW4iLCJ1bmRlZmluZWQiLCJudWxsIiwic3RyaW5nIiwiZGF0ZSIsInJlZ2V4cCIsImlzQnVmZmVyIiwicmVxdWlyZSIsIm1vbnRocyIsInRpbWVzdGFtcCIsInRpbWUiLCJnZXRIb3VycyIsImdldE1pbnV0ZXMiLCJnZXRTZWNvbmRzIiwiZ2V0RGF0ZSIsImdldE1vbnRoIiwicHJvcCIsImxvZyIsImluaGVyaXRzIiwib3JpZ2luIiwiYWRkIl0sIm1hcHBpbmdzIjoiQUFxQkEsSUFBSUEsYUFBZSxXQUNuQkMsUUFBUUMsT0FBUyxTQUFTQyxHQUN4QixJQUFLQyxTQUFTRCxHQUFJLENBRWhCLElBREEsSUFBSUUsRUFBVSxHQUNMQyxFQUFJLEVBQUdB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SUFBSUosRUFBRXVDLGNBQ05uQyxJQUFJSixFQUFFd0MsZUFBZXRKLEtBQUssS0FDdEMsTUFBTyxDQUFDOEcsRUFBRXlDLFVBQVdOLE9BQU9uQyxFQUFFMEMsWUFBYUwsR0FBTW5KLEtBQUssS0FxQ3hELFNBQVMwRixlQUFlM0QsRUFBSzBILEdBQzNCLE9BQU8xRixPQUFPTCxVQUFVZ0MsZUFBZWpCLEtBQUsxQyxFQUFLMEgsR0FqQ25EbkssUUFBUW9LLElBQU0sV0FDWmhJLFFBQVFnSSxJQUFJLFVBQVdSLFlBQWE1SixRQUFRQyxPQUFPNEIsTUFBTTdCLFFBQVNNLGFBaUJwRU4sUUFBUXFLLFNBQVdYLFFBQVEsWUFFM0IxSixRQUFRbUQsUUFBVSxTQUFTbUgsRUFBUUMsR0FFakMsSUFBS0EsSUFBUWpKLFNBQVNpSixHQUFNLE9BQU9ELEVBSW5DLElBRkEsSUFBSTlGLEVBQU9DLE9BQU9ELEtBQUsrRixHQUNuQmxLLEVBQUltRSxFQUFLakUsT0FDTkYsS0FDTGlLLEVBQU85RixFQUFLbkUsSUFBTWtLLEVBQUkvRixFQUFLbkUsSUFFN0IsT0FBT2lLIiwiZmlsZSI6Ii9yb290L21vc2FpY28vbm9kZV9tb2R1bGVzL3V0aWwvdXRpbC5qcyJ9", + "\"use strict\";var templateLoader=require(\"./template-loader.js\"),console=require(\"console-browserify\"),ko=\"undefined\"!=typeof window?window.ko:\"undefined\"!=typeof global?global.ko:null,$=\"undefined\"!=typeof window?window.jQuery:\"undefined\"!=typeof global?global.jQuery:null;require(\"./ko-bindings.js\");var performanceAwareCaller=require(\"./timed-call.js\").timedCall,addUndoStackExtensionMaker=require(\"./undomanager/undomain.js\"),colorPlugin=require(\"./ext/color.js\"),utilPlugin=require(\"./ext/util.js\"),inlinerPlugin=require(\"./ext/inliner.js\"),localStorageLoader=require(\"./ext/localstorage.js\");if(void 0===ko)throw\"Cannot find knockout.js library!\";if(void 0===$)throw\"Cannot find jquery library!\";function _canonicalize(e){var i=global.document.createElement(\"div\");return i.innerHTML=\"\",i.firstChild.href=e,i.innerHTML=i.innerHTML,i.firstChild.href}function _appendUrlParameters(e,i){var n=-1==e.indexOf(\"?\")?\"?\":\"&\",a=e;for(var t in i)i.hasOwnProperty(t)&&(a+=n+t+\"=\"+encodeURIComponent(i[t]),n=\"&\");return a}var applyBindingOptions=function(e,i){i.bindingHandlers.wysiwygSrc.convertedUrl=function(i,n,a,t){var o=e.imgProcessorBackend?e.imgProcessorBackend:\"./upload\",r=o.match(/^(https?:\\/\\/[^\\/]*\\/).*$/),l=i.match(/^(https?:\\/\\/[^\\/]*\\/).*$/);if(null===r||null!==l&&r[1]==l[1])return o.indexOf(\"?\"),_appendUrlParameters(o,{src:i,method:n,params:a+\",\"+t});console.log(\"Cannot apply backend image resizing to non-local resources \",i,n,a,t,r,l);var d={method:n,width:a};return null!==t&&(d.height=t),_appendUrlParameters(i,d)},i.bindingHandlers.wysiwygSrc.placeholderUrl=function(i,n,a){return _appendUrlParameters(e.imgProcessorBackend?e.imgProcessorBackend:\"./upload\",{method:\"placeholder\",params:i+\",\"+n})},e&&e.tinymceConfig&&(i.bindingHandlers.wysiwyg.standardOptions=e.tinymceConfig),e&&e.tinymceConfigFull&&(i.bindingHandlers.wysiwyg.fullOptions=e.tinymceConfigFull)},start=function(e,i,n,a,t){templateLoader.fixPageEvents();var o=[function(i){e&&e.strings&&(i.t=function(n,a){var t=e.strings[n];return void 0===t&&(console.warn(\"Missing translation string for\",n,\": using default string\"),t=n),i.tt(t,a)})},addUndoStackExtensionMaker(performanceAwareCaller),colorPlugin,utilPlugin,inlinerPlugin];if(void 0!==t)for(var r=0;r\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n',init:function(e,t){!function(n){try{var o=e.contentDocument;o.open(),o.write(ko.bindingHandlers.bindIframe.tpl),o.close();try{var r=o.body;if(r){for(var i=e.contentWindow.parent.document.getElementsByTagName(\"script\"),d=0;d0?e:10)}}),e.currentPage=ko.computed({read:o,write:function(n){n>e.pageCount()?o(e.pageCount()):o(n<=0?1:n)}}),e.pageCount=ko.computed(function(){return Math.ceil(e().length/e.pageSize())||1}),e.currentPageData=ko.computed(function(){var n=t(),r=o(),u=n*(r-1),a=n*r;return e().slice(u,a)}),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};\n\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImV4dGVuZGVyLXBhZ2luYXRpb24uanMiXSwibmFtZXMiOlsia28iLCJ3aW5kb3ciLCJnbG9iYWwiLCJleHRlbmRlcnMiLCJwYWdpbmciLCJ0YXJnZXQiLCJwYWdlU2l6ZSIsIl9wYWdlU2l6ZSIsIm9ic2VydmFibGUiLCJfY3VycmVudFBhZ2UiLCJjb21wdXRlZCIsInJlYWQiLCJ3cml0ZSIsIm5ld1ZhbHVlIiwiY3VycmVudFBhZ2UiLCJwYWdlQ291bnQiLCJNYXRoIiwiY2VpbCIsImxlbmd0aCIsImN1cnJlbnRQYWdlRGF0YSIsInBhZ2VJbmRleCIsInN0YXJ0SW5kZXgiLCJlbmRJbmRleCIsInNsaWNlIiwibW92ZUZpcnN0IiwibW92ZVByZXZpb3VzIiwibW92ZU5leHQiLCJtb3ZlTGFzdCJdLCJtYXBwaW5ncyI6IkFBQUEsYUFFQSxJQUFJQSxHQUF3QixvQkFBWEMsT0FBeUJBLE9BQVdELEdBQXNCLG9CQUFYRSxPQUF5QkEsT0FBV0YsR0FBSSxLQUV4R0EsR0FBR0csVUFBVUMsT0FBUyxTQUFTQyxFQUFRQyxHQUNyQyxJQUFJQyxFQUFZUCxHQUFHUSxXQUFXRixHQUFZLElBRXhDRyxFQUFlVCxHQUFHUSxXQUFXLEdBbUQvQixPQWxEQUgsRUFBT0MsU0FBV04sR0FBR1UsU0FBUyxDQUM1QkMsS0FBTUosRUFDTkssTUFBTyxTQUFTQyxHQUVaTixFQURFTSxFQUFXLEVBQ0hBLEVBRUEsT0FLaEJSLEVBQU9TLFlBQWNkLEdBQUdVLFNBQVMsQ0FDL0JDLEtBQU1GLEVBQ05HLE1BQU8sU0FBU0MsR0FDVkEsRUFBV1IsRUFBT1UsWUFDcEJOLEVBQWFKLEVBQU9VLGFBRXBCTixFQURTSSxHQUFZLEVBQ1IsRUFFQUEsTUFLbkJSLEVBQU9VLFVBQVlmLEdBQUdVLFNBQVMsV0FDN0IsT0FBT00sS0FBS0MsS0FBS1osSUFBU2EsT0FBU2IsRUFBT0MsYUFBZSxJQUczREQsRUFBT2MsZ0JBQWtCbkIsR0FBR1UsU0FBUyxXQUNuQyxJQUFJSixFQUFXQyxJQUNiYSxFQUFZWCxJQUNaWSxFQUFhZixHQUFZYyxFQUFZLEdBQ3JDRSxFQUFXaEIsRUFBV2MsRUFFeEIsT0FBT2YsSUFBU2tCLE1BQU1GLEVBQVlDLEtBR3BDakIsRUFBT21CLFVBQVksV0FDakJuQixFQUFPUyxZQUFZLElBRXJCVCxFQUFPb0IsYUFBZSxXQUNwQnBCLEVBQU9TLFlBQVlULEVBQU9TLGNBQWdCLElBRTVDVCxFQUFPcUIsU0FBVyxXQUNoQnJCLEVBQU9TLFlBQVlULEVBQU9TLGNBQWdCLElBRTVDVCxFQUFPc0IsU0FBVyxXQUNoQnRCLEVBQU9TLFlBQVlULEVBQU9VLGNBR3JCViIsImZpbGUiOiIvcm9vdC9tb3NhaWNvL3NyYy9qcy9iaW5kaW5ncy9leHRlbmRlci1wYWdpbmF0aW9uLmpzIn0=", + "\"use strict\";var $=\"undefined\"!=typeof window?window.jQuery:\"undefined\"!=typeof global?global.jQuery:null,ko=\"undefined\"!=typeof window?window.ko:\"undefined\"!=typeof global?global.ko:null,sortable=\"undefined\"!=typeof window?window.jQuery.ui.sortable:\"undefined\"!=typeof global?global.jQuery.ui.sortable:null,draggable=\"undefined\"!=typeof window?window.jQuery.ui.draggable:\"undefined\"!=typeof global?global.jQuery.ui.draggable:null,console=require(\"console-browserify\");if(require(\"knockout-sortable\"),void 0===sortable)throw\"Cannot find jquery-ui sortable widget dependency!\";if(void 0===draggable)throw\"Cannot find jquery-ui sortable widget dependency!\";var isDraggingHelper=function(e,n){e()?n.type==e()+\"stop\"&&e(!1):\"dragstart\"!=n.type&&\"sortstart\"!=n.type||e(n.type.substring(0,4))},makeExtendedValueAccessor=function(e){return function(){var n=e();ko.utils.peekObservable(n),ko.utils.unwrapObservable(n),\"undefined\"==n.options&&(n.options={});var o=n.options.start;n.options.start=function(e,r){if(void 0!==n.dragging&&ko.isWritableObservable(n.dragging)&&isDraggingHelper(n.dragging,e),void 0!==n.dropContainer&&(n.scrollInterval=global.setInterval(function(){var e=$(n.dropContainer).scrollTop();$(n.dropContainer).scrollTop(e+n.adding)},20)),void 0!==o)return o(e,r)};var r=n.options.stop;n.options.stop=function(e,o){if(void 0!==n.dragging&&ko.isWritableObservable(n.dragging)&&isDraggingHelper(n.dragging,e),void 0!==n.dropContainer&&global.clearInterval(n.scrollInterval),void 0!==r)return r(e,o)};var i=n.options.drag;return n.options.drag=function(e,o){if(void 0!==n.dropContainer){var r=e.pageY-$(n.dropContainer).offset().top,t=r-$(n.dropContainer).height();n.adding=r<-20?-20:r<0?-10:r<10?-5:t>20?20:t>0?10:t>-10?5:0}if(void 0!==i)return i(e,o)},n}};ko.bindingHandlers.extsortable={init:function(e,n,o,r,i){return ko.bindingHandlers.sortable.init(e,makeExtendedValueAccessor(n),o,r,i)},update:function(e,n,o,r,i){return ko.bindingHandlers.sortable.update(e,makeExtendedValueAccessor(n),o,r,i)}},ko.bindingHandlers.extdraggable={init:function(e,n,o,r,i){return ko.bindingHandlers.draggable.init(e,makeExtendedValueAccessor(n),o,r,i)},update:function(e,n,o,r,i){return ko.bindingHandlers.draggable.update(e,makeExtendedValueAccessor(n),o,r,i)}};\n\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImV4dHNvcnRhYmxlcy5qcyJdLCJuYW1lcyI6WyIkIiwid2luZG93IiwialF1ZXJ5IiwiZ2xvYmFsIiwia28iLCJzb3J0YWJsZSIsInVpIiwiZHJhZ2dhYmxlIiwiY29uc29sZSIsInJlcXVpcmUiLCJpc0RyYWdnaW5nSGVscGVyIiwid3JpdGFibGUiLCJlIiwidHlwZSIsInN1YnN0cmluZyIsIm1ha2VFeHRlbmRlZFZhbHVlQWNjZXNzb3IiLCJ2YWx1ZUFjY2Vzc29yIiwibW9kZWxWYWx1ZSIsInV0aWxzIiwicGVla09ic2VydmFibGUiLCJ1bndyYXBPYnNlcnZhYmxlIiwib3B0aW9ucyIsIm9yaWdTdGFydCIsInN0YXJ0IiwiZHJhZ2dpbmciLCJpc1dyaXRhYmxlT2JzZXJ2YWJsZSIsImRyb3BDb250YWluZXIiLCJzY3JvbGxJbnRlcnZhbCIsInNldEludGVydmFsIiwiZm9vIiwic2Nyb2xsVG9wIiwiYWRkaW5nIiwib3JpZ1N0b3AiLCJzdG9wIiwiY2xlYXJJbnRlcnZhbCIsIm9yaWdEcmFnIiwiZHJhZyIsInRvcCIsInBhZ2VZIiwib2Zmc2V0IiwiYm90dG9tIiwiaGVpZ2h0IiwiYmluZGluZ0hhbmRsZXJzIiwiZXh0c29ydGFibGUiLCJpbml0IiwiZWxlbWVudCIsImFsbEJpbmRpbmdzQWNjZXNzb3IiLCJkYXRhIiwiY29udGV4dCIsInVwZGF0ZSIsImV4dGRyYWdnYWJsZSJdLCJtYXBwaW5ncyI6IkFBQUEsYUFHQSxJQUFJQSxFQUF1QixvQkFBWEMsT0FBeUJBLE9BQWVDLE9BQXNCLG9CQUFYQyxPQUF5QkEsT0FBZUQsT0FBSSxLQUMzR0UsR0FBd0Isb0JBQVhILE9BQXlCQSxPQUFXRyxHQUFzQixvQkFBWEQsT0FBeUJBLE9BQVdDLEdBQUksS0FDcEdDLFNBQThCLG9CQUFYSixPQUF5QkEsT0FBZUMsT0FBTUksR0FBWUQsU0FBc0Isb0JBQVhGLE9BQXlCQSxPQUFlRCxPQUFNSSxHQUFZRCxTQUFJLEtBQ3RKRSxVQUErQixvQkFBWE4sT0FBeUJBLE9B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", + "\"use strict\";var $=\"undefined\"!=typeof window?window.jQuery:\"undefined\"!=typeof global?global.jQuery:null,ko=\"undefined\"!=typeof window?window.ko:\"undefined\"!=typeof global?global.ko:null,console=require(\"console-browserify\");ko.bindingHandlers.fudroppable={init:function(e,i){var o=i()||{},r={},l=function(e,i,o,r,l,a){e[i]?global.clearTimeout(e[i]):(void 0!==r&&o.classList.add(r),ko.isWriteableObservable(l)&&!l()&&l(!0));var s=function(){e[i]=null,void 0!==r&&o.classList.remove(r),ko.isWriteableObservable(l)&&l()&&l(!1)};\"dragleave\"==a.type?s():e[i]=global.setTimeout(s,500)};(o.active||o.activeClass)&&ko.utils.registerEventHandler(global,\"dragover\",l.bind(void 0,r,\"activeTimeout\",e,o.activeClass,o.active)),o.hoverClass&&ko.utils.registerEventHandler(e,\"dragover dragenter dragleave\",l.bind(void 0,r,\"hoverTimeout\",e,o.hoverClass,void 0))}},ko.bindingHandlers.fileupload={extendOptions:{},remoteFilePreprocessor:function(e){return e},init:function(e,i){ko.utils.domNodeDisposal.addDisposeCallback(e,function(){$(e).fileupload(\"destroy\")}),!(\"WebkitAppearance\"in global.document.documentElement.style)||\"webkitNbspMode\"in global.document.documentElement.style||\"StyleMedia\"in global?$(e).attr(\"title\",\"\"):$(e).attr(\"title\",\" \")},update:function(e,i){var o=i()||{},r=$(e),l=r.parents(\".uploadzone\"),a=o.data;o.data=void 0;var s=o.canvasPreview;ko.utils.extend(o,{url:\"/upload/\",dataType:\"json\",dropZone:l.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 n=0,t=\"\",d=function(){0==--n&&(a&&a(t),t=\"\",s&&(l.find(\"img\").show(),l.find(\"canvas\").remove()),l.removeClass(\"uploading\"),l.find(\".progress-bar\").css(\"width\",0))},u=function(e){if(\"object\"==typeof o.messages&&null!==o.messages){var i=e.match(/^([^ ]+)(.*)$/);if(i&&void 0!==o.messages[i[1]])return o.messages[i[1]]+i[2]}return e};r.fileupload(o);for(var p=[\"fileuploadadd\",\"fileuploadprocessalways\",\"fileuploadprogressall\",\"fileuploaddone\",\"fileuploadfail\"],f=function(e,i){if(\"fileuploadadd\"==e.type&&n++,\"fileuploadfail\"==e.type&&(console.log(\"fileuploadfail\",e,i),o.onerror&&(\"\"===i.errorThrown&&\"error\"==i.textStatus?o.onerror(u(\"generic\")):o.onerror(u(\"generic (\"+i.errorThrown+\")\"))),d()),\"fileuploaddone\"==e.type)if(void 0!==i.result.files[0].url){if(o.onfile)for(var r=0;r=0;m--){var g=p[m];r.on(g,f)}$.support.fileInput||r.prop(\"disabled\",!0).parent().addClass(\"disabled\")}};\n\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZpbGV1cGxvYWQuanMiXSwibmFtZXMiOlsiJCIsIndpbmRvdyIsImpRdWVyeSIsImdsb2JhbCIsImtvIiwiY29uc29sZSIsInJlcXVpcmUiLCJiaW5kaW5nSGFuZGxlcnMiLCJmdWRyb3BwYWJsZSIsImluaXQiLCJlbGVtZW50IiwidmFsdWVBY2Nlc3NvciIsIm9wdCIsInRpbWVvdXRzT2JqIiwib3ZlciIsInRpbWVvdXRzIiwiZHJvcFpvbmVUaW1lb3V0IiwiY2xhc3NOYW1lIiwib2JzZXJ2YWJsZSIsImV2ZW50IiwiY2xlYXJUaW1lb3V0IiwiY2xhc3NMaXN0IiwiYWRkIiwiaXNXcml0ZWFibGVPYnNlcnZhYmxlIiwic3RvcCIsInJlbW92ZSIsInR5cGUiLCJzZXRUaW1lb3V0IiwiYWN0aXZlIiwiYWN0aXZlQ2xhc3MiLCJ1dGlscyIsInJlZ2lzdGVyRXZlbnRIYW5kbGVyIiwiYmluZCIsImhvdmVyQ2xhc3MiLCJmaWxldXBsb2FkIiwiZXh0ZW5kT3B0aW9ucyIsInJlbW90ZUZpbGVQcmVwcm9jZXNzb3IiLCJ1cmwiLCJkb21Ob2RlRGlzcG9zYWwiLCJhZGREaXNwb3NlQ2FsbGJhY2siLCJkb2N1bWVudCIsImRvY3VtZW50RWxlbWVudCIsInN0eWxlIiwiYXR0ciIsInVwZGF0ZSIsIm9wdGlvbnMiLCIkZnUiLCIkcGFyZW50IiwicGFyZW50cyIsImRhdGFWYWx1ZSIsImRhdGEiLCJjYW52YXNQcmV2aWV3IiwiZXh0ZW5kIiwiZGF0YVR5cGUiLCJkcm9wWm9uZSIsImZpbmQiLCJhdXRvVXBsb2FkIiwiYWNjZXB0RmlsZVR5cGVzIiwibWF4RmlsZVNpemUiLCJkaXNhYmxlSW1hZ2VSZXNpemUiLCJ0ZXN0IiwibmF2aWdhdG9yIiwidXNlckFnZW50IiwicHJldmlld01heFdpZHRoIiwicHJldmlld01heEhlaWdodCIsInByZXZpZXdDcm9wIiwicmVwbGFjZUZpbGVJbnB1dCIsIm1lc3NhZ2VzIiwidW5rbm93bkVycm9yIiwidXBsb2FkZWRCeXRlcyIsIm1heE51bWJlck9mRmlsZXMiLCJtaW5GaWxlU2l6ZSIsInBvc3RfbWF4X3NpemUiLCJtYXhfZmlsZV9zaXplIiwibWluX2ZpbGVfc2l6ZSIsImFjY2VwdF9maWxlX3R5cGVzIiwibWF4X251bWJlcl9vZl9maWxlcyIsIm1heF93aWR0aCIsIm1pbl93aWR0aCIsIm1heF9oZWlnaHQiLCJtaW5faGVpZ2h0IiwiYWJvcnQiLCJpbWFnZV9yZXNpemUiLCJnZW5lcmljIiwid29ya2luZyIsImZpcnN0V29ya2VkIiwiY2xlYW51cCIsInNob3ciLCJyZW1vdmVDbGFzcyIsImNzcyIsInRyYW5zbGF0ZWRNZXNzYWdlIiwidGV4dCIsIm1hdGNoIiwiZXZlbnRzIiwiZXZlbnRIYW5kbGVyIiwiZSIsImxvZyIsIm9uZXJyb3IiLCJlcnJvclRocm93biIsInRleHRTdGF0dXMiLCJyZXN1bHQiLCJmaWxlcyIsIm9uZmlsZSIsImkiLCJsZW5ndGgiLCJpbWciLCJJbWFnZSIsIm9ubG9hZCIsInNyYyIsImVycm9yIiwiaW5kZXgiLCJmaWxlIiwicHJldmlldyIsImVsIiwiaGlkZSIsInByZXBlbmQiLCJhZGRDbGFzcyIsInByb2dyZXNzIiwicGFyc2VJbnQiLCJsb2FkZWQiLCJ0b3RhbCIsImV2ZW50TmFtZSIsIm9uIiwic3VwcG9ydCIsImZpbGVJbnB1dCIsInByb3AiLCJwYXJlbnQiXSwibWFwcGluZ3MiOiJBQUFBLGFBWUEsSUFBSUEsRUFBdUIsb0JBQVhDLE9BQXlCQSxPQUFlQyxPQUFzQixvQkFBWEMsT0FBeUJBLE9BQWVELE9BQUksS0FDM0dFLEdBQXdCLG9CQUFYSCxPQUF5QkEsT0FBV0csR0FBc0Isb0JBQVhELE9BQXlCQSxPQUFXQyxHQUFJLEtBQ3BHQyxRQUFVQyxRQUFRLHNCQUV0QkYsR0FBR0csZ0JBQTZCQyxZQUFJLENBQ2xDQyxLQUFNLFNBQVNDLEVBQVNDLEdBQ3RCLElBQUlDLEVBQU1ELEtBQW1CLEdBQ3pCRSxFQUFjLEdBRWRDLEVBQU8sU0FBU0MsRUFBVUMsRUFBaUJOLEVBQVNPLEVBQVdDLEVBQVlD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", + "\"use strict\";var beforeSubscriptionProp,afterSubscriptionProp,ko=\"undefined\"!=typeof window?window.ko:\"undefined\"!=typeof global?global.ko:null,console=require(\"console-browserify\");if(ko.bindingHandlers.ifSubs={cloneNodes:function(o,e){for(var i=0,n=o.length,r=[];i=ko.utils.unwrapObservable(u.threshold),void 0!==e().not&&e().not&&(i=!i),(p||i!==s)&&(p&&ko.computedContext.getDependenciesCount()&&(t=ko.bindingHandlers.ifSubs.cloneNodes(ko.virtualElements.childNodes(o),!0)),i?(p||ko.virtualElements.setDomNodeChildren(o,ko.bindingHandlers.ifSubs.cloneNodes(t)),ko.applyBindingsToDescendants(r,o)):ko.virtualElements.emptyNode(o),s=i)},null,{disposeWhenNodeIsRemoved:o}),{controlsDescendantBindings:!0}}},ko.virtualElements.allowedBindings.ifSubs=!0,\"function\"==typeof ko.subscription&&void 0!==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)beforeSubscriptionProp=\"sa\",afterSubscriptionProp=\"Ia\";else if(\"3.4.2\"==ko.version)beforeSubscriptionProp=\"ua\",afterSubscriptionProp=\"Ka\";else{if(\"3.5.0-beta\"!=ko.version)throw\"Unsupported minimized Knockout version \"+ko.version+\" (supported DEBUG or minimized 3.2.0 ... 3.5.0-beta)\";beforeSubscriptionProp=\"Pa\",afterSubscriptionProp=\"ab\"}ko.extenders.subscriptionsCount=function(o,e,i){if(void 0===o.subsCount){o.subsCount=ko.observable(o.getSubscriptionsCount()).extend({notify:\"always\"});var n=o[beforeSubscriptionProp],r=o[afterSubscriptionProp];o[beforeSubscriptionProp]=function(r){n&&n.call(o,r);var s=o.getSubscriptionsCount()+1;void 0!==e&&s!=e&&void 0!==i&&s!=i||o.subsCount(s)},o[afterSubscriptionProp]=function(n){r&&r.call(o,n);var s=o.getSubscriptionsCount();void 0!==e&&s!=e&&void 0!==i&&s!=i||o.subsCount(s)}}else console.log(\"already applied subscriptionCount to observable\");return null};\n\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImlmLXN1YnMuanMiXSwibmFtZXMiOlsiYmVmb3JlU3Vic2NyaXB0aW9uUHJvcCIsImFmdGVyU3Vic2NyaXB0aW9uUHJvcCIsImtvIiwid2luZG93IiwiZ2xvYmFsIiwiY29uc29sZSIsInJlcXVpcmUiLCJiaW5kaW5nSGFuZGxlcnMiLCJpZlN1YnMiLCJjbG9uZU5vZGVzIiwibm9kZXNBcnJheSIsInNob3VsZENsZWFuTm9kZXMiLCJpIiwiaiIsImxlbmd0aCIsIm5ld05vZGVzQXJyYXkiLCJjbG9uZWROb2RlIiwiY2xvbmVOb2RlIiwicHVzaCIsImNsZWFuTm9kZSIsImluaXQiLCJlbGVtZW50IiwidmFsdWVBY2Nlc3NvciIsImFsbEJpbmRpbmdzIiwidmlld01vZGVsIiwiYmluZGluZ0NvbnRleHQiLCJkaWREaXNwbGF5T25MYXN0VXBkYXRlIiwic2F2ZWROb2RlcyIsInZhbHVlQWNjIiwiZGF0YSIsInN1YnNDb3VudCIsImV4dGVuZGVycyIsInN1YnNjcmlwdGlvbnNDb3VudCIsImNvbXB1dGVkIiwic2hvdWxkRGlzcGxheSIsImd1dHRlciIsImRhdGFWYWx1ZSIsInV0aWxzIiwidW53cmFwT2JzZXJ2YWJsZSIsImlzRmlyc3RSZW5kZXIiLCJ0aHJlc2hvbGQiLCJub3QiLCJjb21wdXRlZENvbnRleHQiLCJnZXREZXBlbmRlbmNpZXNDb3VudCIsInZpcnR1YWxFbGVtZW50cyIsImNoaWxkTm9kZXMiLCJzZXREb21Ob2RlQ2hpbGRyZW4iLCJhcHBseUJpbmRpbmdzVG9EZXNjZW5kYW50cyIsImVtcHR5Tm9kZSIsImRpc3Bvc2VXaGVuTm9kZUlzUmVtb3ZlZCIsImNvbnRyb2xzRGVzY2VuZGFudEJpbmRpbmdzIiwiYWxsb3dlZEJpbmRpbmdzIiwic3Vic2NyaXB0aW9uIiwiaXNXcml0YWJsZU9ic2VydmFibGUiLCJ2ZXJzaW9uIiwidGFyZ2V0IiwibDEiLCJsMiIsIm9ic2VydmFibGUiLCJnZXRTdWJzY3JpcHRpb25zQ291bnQiLCJleHRlbmQiLCJub3RpZnkiLCJ1bmRlcmx5aW5nQmVmb3JlU3Vic2NyaXB0aW9uQWRkRnVuY3Rpb24iLCJ1bmRlcmx5aW5nQWZ0ZXJTdWJzY3JpcHRpb25SZW1vdmVGdW5jdGlvbiIsImV2ZW50IiwiY2FsbCIsImMiLCJsb2ciXSwibWFwcGluZ3MiOiJBQUFBLGFBRUEsSUFnRUlBLHVCQUNBQyxzQkFqRUFDLEdBQXdCLG9CQUFYQyxPQUF5QkEsT0FBV0QsR0FBc0Isb0JBQVhFLE9BQXlCQSxPQUFXRixHQUFJLEtBQ3BHRyxRQUFVQyxRQUFRLHNCQWlFdEIsR0EvREFKLEdBQUdLLGdCQUF3QkMsT0FBSSxDQUU3QkMsV0FBWSxTQUFTQyxFQUFZQyxHQUMvQixJQUFLLElBQUlDLEVBQUksRUFBR0MsRUFBSUgsRUFBV0ksT0FBUUMsRUFBZ0IsR0FBSUgsRUFBSUMsRUFBR0QsSUFBSyxDQUNyRSxJQUFJSSxFQUFhTixFQUFXRSxHQUFHSyxXQUFBQSxHQUMvQkYsRUFBY0csS0FBS1AsRUFBbUJULEdBQUdpQixVQUFVSCxHQUFjQSxHQUVuRSxPQUFPRCxHQUVUSyxLQUFRLFNBQVNDLEVBQVNDLEVBQWVDLEVBQWFDLEVBQVdDLEdBQy9ELElBQUlDLEVBQ0ZDLEVBQ0FDLEVBQVdOLElBcUNiLFlBQUEsSUFwQ1dNLEVBQVNDLEtBQUtDLFdBQ3ZCNUIsR0FBRzZCLFVBQThCQyxtQkFBRUosRUFBU0MsTUFHOUMzQixHQUFHK0IsU0FBUyxXQUNWLElBRUVDLEVBQTZCQyxFQUYzQkMsRUFBWWxDLEdBQUdtQyxNQUFNQyxpQkFBaUJoQixJQUFnQk8sS0FBS0MsV0FDN0RTLEdBQWlCWixFQUduQlEsU0FBQUEsSUFBa0JiLElBQWdCYSxPQUF5QmIsSUFBZ0JhLE9BQVMsR0FDcEZELEVBQWdCRSxHQUFhVixFQUF5QlMsRUFBUyxJQUFNakMsR0FBR21DLE1BQU1DLGlCQUFpQlYsRUFBU1ksZ0JBQUFBLElBQzdGbEIsSUFBZ0JtQixLQUF1Qm5CLElBQWdCbUIsTUFDaEVQLEdBQWlCQSxJQUVKSyxHQUFrQkwsSUFBa0JSLEtBSTdDYSxHQUFpQnJDLEdBQUd3QyxnQkFBZ0JDLHlCQUN0Q2hCLEVBQWF6QixHQUFHSyxnQkFBd0JDLE9BQUVDLFdBQVdQLEdBQUcwQyxnQkFBZ0JDLFdBQVd4QixJQUFBQSxJQUdqRmEsR0FDR0ssR0FDSHJDLEdBQUcwQyxnQkFBZ0JFLG1CQUFtQnpCLEVBQVNuQixHQUFHSyxnQkFBd0JDLE9BQUVDLFdBQVdrQixJQUV6RnpCLEdBQUc2QywyQkFBMkJ0QixFQUFnQkosSUFFOUNuQixHQUFHMEMsZ0JBQWdCSSxVQUFVM0IsR0FHL0JLLEVBQXlCUSxJQUUxQixLQUFNLENBQ1BlLHlCQUEwQjVCLElBRXJCLENBQ0w2Qiw0QkFBQUEsS0FJTmhELEdBQUcwQyxnQkFBZ0JPLGdCQUF3QjNDLFFBQUEsRUFTYixtQkFBbkJOLEdBQUdrRCxtQkFBQUEsSUFBcUNsRCxHQUFHbUQscUJBQ3BEckQsdUJBQXlCLHdCQUN6QkMsc0JBQXdCLCtCQUNuQixHQUFrQixTQUFkQyxHQUFHb0QsUUFDWnRELHVCQUF5QixLQUN6QkMsc0JBQXdCLFVBQ25CLEdBQWtCLFNBQWRDLEdBQUdvRCxRQUNadEQsdUJBQXlCLEtBQ3pCQyxzQkFBd0IsVUFDbkIsR0FBa0IsU0FBZEMsR0FBR29ELFFBQ1p0RCx1QkFBeUIsS0FDekJDLHNCQUF3QixVQUNuQixHQUFrQixTQUFkQyxHQUFHb0QsUUFDWnRELHVCQUF5QixLQUN6QkMsc0JBQXdCLFVBQ25CLEdBQWtCLFNBQWRDLEdBQUdvRCxRQUNadEQsdUJBQXlCLEtBQ3pCQyxzQkFBd0IsU0FDbkIsQ0FBQSxHQUFrQixjQUFkQyxHQUFHb0QsUUFJVCxLQUFNLDBDQUE0Q3BELEdBQUdvRCxRQUFVLHVEQUhsRXRELHVCQUF5QixLQUN6QkMsc0JBQXdCLEtBTTFCQyxHQUFHNkIsVUFBOEJDLG1CQUFJLFNBQVN1QixFQUFRQyxFQUFJQyxHQUN4RCxRQUFBLElBQVdGLEVBQU96QixVQUEyQixDQUMzQ3lCLEVBQU96QixVQUFZNUIsR0FBR3dELFdBQVdILEVBQU9JLHlCQUF5QkMsT0FBTyxDQUN0RUMsT0FBUSxXQUVWLElBQUlDLEVBQTBDUCxFQUFPdkQsd0JBQ2pEK0QsRUFBNENSLEVBQU90RCx1QkFDdkRzRCxFQUFPdkQsd0JBQTBCLFNBQVNnRSxHQUNwQ0YsR0FBeUNBLEVBQXdDRyxLQUFLVixFQUFRUyxHQUNsRyxJQUFJRSxFQUFJWCxFQUFPSSx3QkFBMEIsT0FBQSxJQUM5QkgsR0FBc0JVLEdBQUtWLFFBQUFBLElBQWFDLEdBQXNCUyxHQUFLVCxHQUFJRixFQUFPekIsVUFBVW9DLElBRXJHWCxFQUFPdEQsdUJBQXlCLFNBQVMrRCxHQUNuQ0QsR0FBMkNBLEVBQTBDRSxLQUFLVixFQUFRUyxHQUN0RyxJQUFJRSxFQUFJWCxFQUFPSSw2QkFBQUEsSUFDSkgsR0FBc0JVLEdBQUtWLFFBQUFBLElBQWFDLEdBQXNCUyxHQUFLVCxHQUFJRixFQUFPekIsVUFBVW9DLFNBR3JHN0QsUUFBUThELElBQUksbURBRWQsT0FBTyIsImZpbGUiOiIvcm9vdC9tb3NhaWNvL3NyYy9qcy9iaW5kaW5ncy9pZi1zdWJzLmpzIn0=", + "\"use strict\";var $=\"undefined\"!=typeof window?window.jQuery:\"undefined\"!=typeof global?global.jQuery:null,spinner=\"undefined\"!=typeof window?window.jQuery.ui.spinner:\"undefined\"!=typeof global?global.jQuery.ui.spinner:null,console=require(\"console-browserify\");if(void 0===spinner)throw\"Cannot find jquery-ui spinner widget dependency!\";$.widget(\"ui.spinner\",spinner,{_adjustValue:function(n){this._super(n);var e=this.options;return n=parseFloat(n.toFixed(this._precision())),null!==e.max&&n>e.max?e.max:null!==e.min&&nt&&w+pc&&_scrollIntoView(o,!1,r,c-u)):(wt&&u>c&&_scrollIntoView(o,!0,r,t-w)))}}catch(o){console.log(\"TODO exception scrolling into view\",o)}}},ko.virtualElements.allowedBindings.scrollIntoView=!0;\n\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNjcm9sbGludG92aWV3LmpzIl0sIm5hbWVzIjpbIiQiLCJ3aW5kb3ciLCJqUXVlcnkiLCJnbG9iYWwiLCJrbyIsImNvbnNvbGUiLCJyZXF1aXJlIiwiX3Njcm9sbEludG9WaWV3IiwiJGVsZW1lbnQiLCJhbGlnblRvcCIsInNjcm9sbFBhcmVudCIsIm1vdmVCeSIsImN1cnJlbnRTY3JvbGxUb3AiLCJzY3JvbGxUb3AiLCJuZXdTY3JvbGxUb3AiLCJub2RlVHlwZSIsImFjdGlvbiIsIk1hdGgiLCJyb3VuZCIsInRpbWUiLCJhYnMiLCJzdG9wIiwiYW5pbWF0ZSIsImJpbmRpbmdIYW5kbGVycyIsInNjcm9sbEludG9WaWV3IiwidXBkYXRlIiwiZWxlbWVudCIsInZhbHVlQWNjZXNzb3IiLCJhbGxCaW5kaW5nc0FjY2Vzc29yIiwidmlld01vZGVsIiwiYmluZGluZ0NvbnRleHQiLCJ1dGlscyIsInVud3JhcE9ic2VydmFibGUiLCJuZXh0U2libGluZyIsInBhcmVudFRvcCIsInJlbGF0aXZlT2Zmc2V0IiwiZGVmYXVsdFZpZXciLCJvZmZzZXQiLCJ0b3AiLCJwYXJlbnRIZWlnaHQiLCJoZWlnaHQiLCJwYXJlbnRTY3JvbGwiLCJwYXJlbnRCb3R0b20iLCJlbFRvcCIsImVsSGVpZ2h0IiwiZWxCb3R0b20iLCJlIiwibG9nIiwidmlydHVhbEVsZW1lbnRzIiwiYWxsb3dlZEJpbmRpbmdzIl0sIm1hcHBpbmdzIjoiQUFBQSxhQUVBLElBQUlBLEVBQXVCLG9CQUFYQyxPQUF5QkEsT0FBZUMsT0FBc0Isb0JBQVhDLE9BQXlCQSxPQUFlRCxPQUFJLEtBQzNHRSxHQUF3QixvQkFBWEgsT0FBeUJBLE9BQVdHLEdBQXNCLG9CQUFYRCxPQUF5QkEsT0FBV0MsR0FBSSxLQUNwR0MsUUFBVUMsUUFBUSxzQkFFbEJDLGdCQUFrQixTQUFTQyxFQUFVQyxFQUFVQyxFQUFjQyxHQUMvRCxJQUFJQyxFQUFtQkYsRUFBYUcsWUFDaENDLEVBQWVGLEVBQW1CRCxHQUFVRixFQUFXLElBQU0sSUFHakUsUUFBQSxJQURxQkMsRUFBYSxHQUFHSyxTQUN4QixDQUNYLElBQUlDLEVBQVMsQ0FDWEgsVUFBa0JJLEtBQUtDLE1BQU1KLEdBQWdCLE1BRTNDSyxFQUFPRixLQUFLQyxNQUFNRCxLQUFLRyxJQUFJTixFQUFlRixJQUM5Q0YsRUFBYVcsT0FBT0MsUUFBUU4sRUFBUUcsUUFFcENULEVBQWFHLFVBQVVDLElBTTNCVixHQUFHbUIsZ0JBQWdCQyxlQUFpQixDQUNsQ0MsT0FBUSxTQUFTQyxFQUFTQyxFQUFlQyxFQUFxQkMsRUFBV0MsR0FFdkUsR0FEZTFCLEdBQUcyQixNQUFNQyxpQkFBaUJMLEtBRXpDLElBRUUsS0FBNEIsSUFBckJELEVBQVFYLFVBRWJXLEVBQVVBLEVBQVFPLFlBRXBCLEdBQXlCLElBQXJCUCxFQUFRWCxTQUFnQixDQUMxQixJQUVJbUIsRUFGQXhCLEVBQWVWLEVBQUUwQixHQUFTaEIsZUFHMUJ5QixHQUFBQSxFQUM0QixHQUE1QnpCLEVBQWEsR0FBR0ssVUFFbEJMLEVBQWVWLEVBQUVVLEVBQWEsR0FBRzBCLGFBQ2pDRixFQUFZLEVBQ1pDLEdBQUFBLEdBRUFELEVBQVl4QixFQUFhMkIsU0FBU0MsSUFHcEMsSUFBSUMsRUFBZTdCLEVBQWE4QixTQUM1QkMsRUFBZS9CLEVBQWFHLFlBQzVCNkIsRUFBZVIsRUFBWUssRUFHM0IvQixFQUFXUixFQUFFMEIsR0FDYmlCLEVBQVFuQyxFQUFTNkIsU0FBU0MsSUFFMUJILElBQWdCUSxHQUFnQkYsR0FDcEMsSUFBSUcsRUFBV3BDLEVBQVNnQyxTQUNwQkssRUFBV0YsRUFBUUMsRUFDbkJELEVBQVFULEdBQWFTLEVBQVFDLEVBQVdGLElBRWpDRSxFQUFXTCxHQUVoQkksRUFBUVQsR0FBVzNCLGdCQUFnQm1CLEdBQUFBLEVBQWVoQixFQUFjd0IsRUFBWVMsR0FFNUVFLEVBQVdILEdBQWNuQyxnQkFBZ0JtQixHQUFBQSxFQUFnQmhCLEVBQWNnQyxFQUFlRyxLQUt0RkYsRUFBUVQsR0FBYVcsRUFBV0gsR0FBY25DLGdCQUFnQm1CLEdBQUFBLEVBQWdCaEIsRUFBY2dDLEVBQWVHLEdBRTNHRixFQUFRVCxHQUFhVyxFQUFXSCxHQUFjbkMsZ0JBQWdCbUIsR0FBQUEsRUFBZWhCLEVBQWN3QixFQUFZUyxNQUsvRyxNQUFPRyxHQUNQekMsUUFBUTBDLElBQUkscUNBQXNDRCxNQUl4RDFDLEdBQUc0QyxnQkFBZ0JDLGdCQUFnQ3pCLGdCQUFBIiwiZmlsZSI6Ii9yb290L21vc2FpY28vc3JjL2pzL2JpbmRpbmdzL3Njcm9sbGludG92aWV3LmpzIn0=", + "\"use strict\";var ko=\"undefined\"!=typeof window?window.ko:\"undefined\"!=typeof global?global.ko:null,origTemplateSystem=require(\"./script-template.js\"),templates={};function createStringTemplateEngine(e){var t=e.makeTemplateSource;return e.makeTemplateSource=function(e){return void 0!==templates[e]?new ko.templateSources.stringTemplate(e,templates[e]):t(e)},e}function pushTemplate(e,t){templates[e]=t}function removeTemplate(e){void 0!==templates[e]?templates[e]=void 0:origTemplateSystem.removeTemplate(e)}function init(){ko.setTemplateEngine(createStringTemplateEngine(new ko.nativeTemplateEngine))}function getTemplateContent(e){return void 0!==templates[e]?templates[e]:origTemplateSystem.getTemplateContent(e)}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){if(1===arguments.length)return this._data[e];this._data[e]=t},text:function(e){if(0===arguments.length)return this.template;this.template=e}}),module.exports={init:init,addTemplate:pushTemplate,removeTemplate:removeTemplate,getTemplateContent:getTemplateContent};\n\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0cmluZy10ZW1wbGF0ZS5qcyJdLCJuYW1lcyI6WyJrbyIsIndpbmRvdyIsImdsb2JhbCIsIm9yaWdUZW1wbGF0ZVN5c3RlbSIsInJlcXVpcmUiLCJ0ZW1wbGF0ZXMiLCJjcmVhdGVTdHJpbmdUZW1wbGF0ZUVuZ2luZSIsInRlbXBsYXRlRW5naW5lIiwib3JpZyIsIm1ha2VUZW1wbGF0ZVNvdXJjZSIsInRlbXBsYXRlTmFtZSIsInRlbXBsYXRlU291cmNlcyIsInN0cmluZ1RlbXBsYXRlIiwicHVzaFRlbXBsYXRlIiwidGVtcGxhdGVUZXh0IiwicmVtb3ZlVGVtcGxhdGUiLCJpbml0Iiwic2V0VGVtcGxhdGVFbmdpbmUiLCJuYXRpdmVUZW1wbGF0ZUVuZ2luZSIsImdldFRlbXBsYXRlQ29udGVudCIsImlkIiwidGVtcGxhdGUiLCJ0aGlzIiwiX2RhdGEiLCJ1dGlscyIsImV4dGVuZCIsInByb3RvdHlwZSIsImRhdGEiLCJrZXkiLCJ2YWx1ZSIsImFyZ3VtZW50cyIsImxlbmd0aCIsInRleHQiLCJtb2R1bGUiLCJleHBvcnRzIiwiYWRkVGVtcGxhdGUiXSwibWFwcGluZ3MiOiJBQUFBLGFBRUEsSUFBSUEsR0FBd0Isb0JBQVhDLE9BQXlCQSxPQUFXRCxHQUFzQixvQkFBWEUsT0FBeUJBLE9BQVdGLEdBQUksS0FDcEdHLG1CQUFxQkMsUUFBUSx3QkFFN0JDLFVBQVksR0E2QmhCLFNBQVNDLDJCQUEyQkMsR0FDbEMsSUFBSUMsRUFBT0QsRUFBZUUsbUJBUTFCLE9BUEFGLEVBQWVFLG1CQUFxQixTQUFTQyxHQUMzQyxZQUFBLElBQVdMLFVBQVVLLEdBQ1osSUFBSVYsR0FBR1csZ0JBQWdCQyxlQUFlRixFQUFjTCxVQUFVSyxJQUU5REYsRUFBS0UsSUFHVEgsRUFHVCxTQUFTTSxhQUFhSCxFQUFjSSxHQUNsQ1QsVUFBVUssR0FBZ0JJLEVBRzVCLFNBQVNDLGVBQWVMLFFBQUFBLElBQ1hMLFVBQVVLLEdBQ25CTCxVQUFVSyxRQUFBQSxFQUVWUCxtQkFBbUJZLGVBQWVMLEdBSXRDLFNBQVNNLE9BQ1BoQixHQUFHaUIsa0JBQWtCWCwyQkFBMkIsSUFBSU4sR0FBR2tCLHVCQUd6RCxTQUFTQyxtQkFBbUJDLEdBQzFCLFlBQUEsSUFBV2YsVUFBVWUsR0FDWmYsVUFBVWUsR0FFVmpCLG1CQUFtQmdCLG1CQUFtQkMsR0ExRGpEcEIsR0FBR1csZ0JBQWdCQyxlQUFpQixTQUFTRixFQUFjVyxHQUN6REMsS0FBS1osYUFBZUEsRUFDcEJZLEtBQUtELFNBQVdBLEVBQ2hCQyxLQUFLQyxNQUFRLElBR2Z2QixHQUFHd0IsTUFBTUMsT0FBT3pCLEdBQUdXLGdCQUFnQkMsZUFBZWMsVUFBVyxDQUMzREMsS0FBTSxTQUFTQyxFQUFLQyxHQUVsQixHQUF5QixJQUFyQkMsVUFBVUMsT0FDWixPQUFPVCxLQUFLQyxNQUFNSyxHQUdwQk4sS0FBS0MsTUFBTUssR0FBT0MsR0FFcEJHLEtBQU0sU0FBU0gsR0FFYixHQUF5QixJQUFyQkMsVUFBVUMsT0FDWixPQUFPVCxLQUFLRCxTQUVkQyxLQUFLRCxTQUFXUSxLQTBDcEJJLE9BQU9DLFFBQVUsQ0FDZmxCLEtBQU1BLEtBQ05tQixZQUFhdEIsYUFDYkUsZUFBZ0JBLGVBQ2hCSSxtQkFBb0JBIiwiZmlsZSI6Ii9yb290L21vc2FpY28vc3JjL2pzL2JpbmRpbmdzL3N0cmluZy10ZW1wbGF0ZS5qcyJ9", + "\"use strict\";var ko=\"undefined\"!=typeof window?window.ko:\"undefined\"!=typeof global?global.ko:null,$=\"undefined\"!=typeof window?window.jQuery:\"undefined\"!=typeof global?global.jQuery:null,kojqui=\"undefined\"!=typeof window?window.kojqui:\"undefined\"!=typeof global?global.kojqui:null,console=require(\"console-browserify\"),extendValueAccessor=function(o,n){return function(){return ko.utils.extend(n,o()),n}},options={show:{delay:500},track:!0,items:'[title][title!=\"\"][title!=\" \"]'};ko.bindingHandlers.tooltips={init:function(o,n,i,e,t){if(void 0!==$.fn.tooltip&&void 0!==ko.bindingHandlers.tooltip)return ko.bindingHandlers.tooltip.init(o,extendValueAccessor(n,options),i,e,t)},update:function(o,n,i,e,t){if(void 0!==$.fn.tooltip&&void 0!==ko.bindingHandlers.tooltip)return ko.bindingHandlers.tooltip.update(o,extendValueAccessor(n,options),i,e,t)}};\n\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRvb2x0aXBzLmpzIl0sIm5hbWVzIjpbImtvIiwid2luZG93IiwiZ2xvYmFsIiwiJCIsImpRdWVyeSIsImtvanF1aSIsImNvbnNvbGUiLCJyZXF1aXJlIiwiZXh0ZW5kVmFsdWVBY2Nlc3NvciIsInZhbHVlQWNjZXNzb3IiLCJvYmoiLCJ1dGlscyIsImV4dGVuZCIsIm9wdGlvbnMiLCJzaG93IiwiZGVsYXkiLCJ0cmFjayIsIml0ZW1zIiwiYmluZGluZ0hhbmRsZXJzIiwidG9vbHRpcHMiLCJpbml0IiwiZWxlbWVudCIsImFsbEJpbmRpbmdzQWNjZXNzb3IiLCJkYXRhIiwiY29udGV4dCIsImZuIiwidG9vbHRpcCIsInVwZGF0ZSJdLCJtYXBwaW5ncyI6IkFBQUEsYUFFQSxJQUFJQSxHQUF3QixvQkFBWEMsT0FBeUJBLE9BQVdELEdBQXNCLG9CQUFYRSxPQUF5QkEsT0FBV0YsR0FBSSxLQUNwR0csRUFBdUIsb0JBQVhGLE9BQXlCQSxPQUFlRyxPQUFzQixvQkFBWEYsT0FBeUJBLE9BQWVFLE9BQUksS0FDM0dDLE9BQTRCLG9CQUFYSixPQUF5QkEsT0FBZUksT0FBc0Isb0JBQVhILE9BQXlCQSxPQUFlRyxPQUFJLEtBQ2hIQyxRQUFVQyxRQUFRLHNCQUVsQkMsb0JBQXNCLFNBQVNDLEVBQWVDLEdBQ2hELE9BQU8sV0FFTCxPQURBVixHQUFHVyxNQUFNQyxPQUFPRixFQUFLRCxLQUNkQyxJQUlQRyxRQUFVLENBQ1pDLEtBQU0sQ0FDSkMsTUFBTyxLQUVUQyxPQUFBQSxFQUNBQyxNQUFPLGtDQUdUakIsR0FBR2tCLGdCQUFnQkMsU0FBVyxDQUM1QkMsS0FBTSxTQUFTQyxFQUFTWixFQUFlYSxFQUFxQkMsRUFBTUMsR0FDaEUsUUFBQSxJQUFXckIsRUFBRXNCLEdBQUdDLGNBQUFBLElBQWtDMUIsR0FBR2tCLGdCQUFnQlEsUUFHbkUsT0FBTzFCLEdBQUdrQixnQkFBZ0JRLFFBQVFOLEtBQUtDLEVBQVNiLG9CQUFvQkMsRUFBZUksU0FBVVMsRUFBcUJDLEVBQU1DLElBRzVIRyxPQUFRLFNBQVNOLEVBQVNaLEVBQWVhLEVBQXFCQyxFQUFNQyxHQUNsRSxRQUFBLElBQVdyQixFQUFFc0IsR0FBR0MsY0FBQUEsSUFBa0MxQixHQUFHa0IsZ0JBQWdCUSxRQUNuRSxPQUFPMUIsR0FBR2tCLGdCQUFnQlEsUUFBUUMsT0FBT04sRUFBU2Isb0JBQW9CQyxFQUFlSSxTQUFVUyxFQUFxQkMsRUFBTUMiLCJmaWxlIjoiL3Jvb3QvbW9zYWljby9zcmMvanMvYmluZGluZ3MvdG9vbHRpcHMuanMifQ==", + "\"use strict\";var ko=\"undefined\"!=typeof window?window.ko:\"undefined\"!=typeof global?global.ko:null,console=require(\"console-browserify\");ko.bindingHandlers.validatedValue={init:function(e,n,i){var o=n;if(void 0!==e.pattern){var t=new RegExp(\"^(?:\"+e.pattern+\")$\"),a=ko.computed({read:function(){var i=ko.utils.unwrapObservable(n());return null===i||\"\"===i||t.test(i)?e.classList.remove(\"invalid\"):e.classList.add(\"invalid\"),i},write:ko.isWriteableObservable(n())&&function(i){ko.selectExtensions.writeValue(e,i);var o=ko.selectExtensions.readValue(e);n()(o)},disposeWhenNodeIsRemoved:e});o=function(){return a}}ko.bindingHandlers.value.init(e,o,i)}},ko.expressionRewriting._twoWayBindings.validatedValue=!0;\n\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInZhbGlkYXRlZC12YWx1ZS5qcyJdLCJuYW1lcyI6WyJrbyIsIndpbmRvdyIsImdsb2JhbCIsImNvbnNvbGUiLCJyZXF1aXJlIiwiYmluZGluZ0hhbmRsZXJzIiwidmFsaWRhdGVkVmFsdWUiLCJpbml0IiwiZWxlbWVudCIsInZhbHVlQWNjZXNzb3IiLCJhbGxCaW5kaW5ncyIsIm5ld1ZhbHVlQWNjZXNzb3IiLCJwYXR0ZXJuIiwicmUiLCJSZWdFeHAiLCJjb21wdXRlZCIsInJlYWQiLCJyZXMiLCJ1dGlscyIsInVud3JhcE9ic2VydmFibGUiLCJ0ZXN0IiwiY2xhc3NMaXN0IiwicmVtb3ZlIiwiYWRkIiwid3JpdGUiLCJpc1dyaXRlYWJsZU9ic2VydmFibGUiLCJ2YWx1ZSIsInNlbGVjdEV4dGVuc2lvbnMiLCJ3cml0ZVZhbHVlIiwidXBkVmFsdWUiLCJyZWFkVmFsdWUiLCJkaXNwb3NlV2hlbk5vZGVJc1JlbW92ZWQiLCJleHByZXNzaW9uUmV3cml0aW5nIiwiX3R3b1dheUJpbmRpbmdzIl0sIm1hcHBpbmdzIjoiQUFBQSxhQUVBLElBQUlBLEdBQXdCLG9CQUFYQyxPQUF5QkEsT0FBV0QsR0FBc0Isb0JBQVhFLE9BQXlCQSxPQUFXRixHQUFJLEtBQ3BHRyxRQUFVQyxRQUFRLHNCQUd0QkosR0FBR0ssZ0JBQWdDQyxlQUFJLENBQ3RDQyxLQUFNLFNBQVNDLEVBQVNDLEVBQWVDLEdBQ3RDLElBQUlDLEVBQW1CRixFQUN2QixRQUFBLElBQVdELEVBQVFJLFFBQXlCLENBQzNDLElBQUlDLEVBQUssSUFBSUMsT0FBTyxPQUFTTixFQUFRSSxRQUFVLE1BQzNDRyxFQUFXZixHQUFHZSxTQUFTLENBQzFCQyxLQUFNLFdBQ0wsSUFBSUMsRUFBTWpCLEdBQUdrQixNQUFNQyxpQkFBaUJWLEtBU3BDLE9BUG9CLE9BQVJRLEdBQXdCLEtBQVJBLEdBQWNKLEVBQUdPLEtBQUtILEdBR2pEVCxFQUFRYSxVQUFVQyxPQUFPLFdBRXpCZCxFQUFRYSxVQUFVRSxJQUFJLFdBRWhCTixHQUVSTyxNQUFPeEIsR0FBR3lCLHNCQUFzQmhCLE1BQW9CLFNBQVNpQixHQUU1RDFCLEdBQUcyQixpQkFBaUJDLFdBQVdwQixFQUFTa0IsR0FDeEMsSUFBSUcsRUFBVzdCLEdBQUcyQixpQkFBaUJHLFVBQVV0QixHQUM3Q0MsR0FBQUEsQ0FBZ0JvQixJQUVqQkUseUJBQTBCdkIsSUFFM0JHLEVBQW1CLFdBQ2xCLE9BQU9JLEdBR1RmLEdBQUdLLGdCQUF1QnFCLE1BQUVuQixLQUFLQyxFQUFTRyxFQUFrQkQsS0FHOURWLEdBQUdnQyxvQkFBb0JDLGdCQUFnQzNCLGdCQUFBIiwiZmlsZSI6Ii9yb290L21vc2FpY28vc3JjL2pzL2JpbmRpbmdzL3ZhbGlkYXRlZC12YWx1ZS5qcyJ9", + "\"use strict\";var ko=\"undefined\"!=typeof window?window.ko:\"undefined\"!=typeof global?global.ko:null,console=require(\"console-browserify\");ko.bindingHandlers.uniqueId={currentIndex:0,init:function(e,n){var t=ko.utils.unwrapObservable(n())||{};if(\"\"===t.id()){var i,l,r;r=\"ko_\"+(void 0!==t.type?ko.utils.unwrapObservable(t.type):\"block\");do{i=r+\"_\"+ ++ko.bindingHandlers.uniqueId.currentIndex,l=global.document.getElementById(i)}while(l);t.id(i)}}},ko.virtualElements.allowedBindings.uniqueId=!0,ko.bindingHandlers.virtualAttr={update:function(e,n){8!==e.nodeType&&ko.bindingHandlers.attr.update(e,n)}},ko.virtualElements.allowedBindings.virtualAttr=!0,ko.bindingHandlers.virtualAttrStyle={update:function(e,n,t,i,l){if(8!==e.nodeType){var r=[\"style\"];(void 0===l.templateMode||\"wysiwyg\"!=l.templateMode)&&r.push(\"replacedstyle\");for(var o=ko.utils.unwrapObservable(n()),d=0;d0&&d>0?\"cover\":\"resize\");var u=ko.bindingHandlers.wysiwygSrc.convertedUrl(s.toString(),g,a,d);e.setAttribute(\"src\",u)}null!=a?e.setAttribute(\"width\",a):e.removeAttribute(\"width\"),null!=d?e.setAttribute(\"height\",d):e.removeAttribute(\"height\")}},ko.bindingHandlers.wysiwygId={init:function(e,i,n,t,o){void 0===o.templateMode||\"wysiwyg\"!=o.templateMode||e.setAttribute(\"id\",ko.utils.unwrapObservable(i()))},update:function(e,i,n,t,o){void 0===o.templateMode||\"wysiwyg\"!=o.templateMode||e.setAttribute(\"id\",ko.utils.unwrapObservable(i()))}},ko.virtualElements.allowedBindings.wysiwygId=!0,ko.bindingHandlers.wysiwygClick={init:function(e,i,n,t,o){void 0===o.templateMode||\"wysiwyg\"!=o.templateMode||ko.bindingHandlers.click.init(e,i,n,t,o)}},ko.virtualElements.allowedBindings.wysiwygClick=!0,ko.bindingHandlers.wysiwygCss={update:function(e,i,n,t,o){void 0===o.templateMode||\"wysiwyg\"!=o.templateMode||ko.bindingHandlers.css.update(e,i,n,t,o)}},ko.virtualElements.allowedBindings.wysiwygCss=!0,ko.bindingHandlers.wysiwygImg={makeTemplateValueAccessor:function(e,i){return function(){var n=void 0!==i.templateMode&&\"wysiwyg\"==i.templateMode,t=e(),o=ko.utils.peekObservable(t);return ko.utils.unwrapObservable(t),{name:n?o._editTemplate:o._template,templateEngine:ko.nativeTemplateEngine.instance}}},init:function(e,i,n,t,o){return ko.bindingHandlers.template.init(e,ko.bindingHandlers.wysiwygImg.makeTemplateValueAccessor(i,o))},update:function(e,i,n,t,o){return o=o.extend(i()),ko.bindingHandlers.template.update(e,ko.bindingHandlers.wysiwygImg.makeTemplateValueAccessor(i,o),n,t,o)}},ko.virtualElements.allowedBindings.wysiwygImg=!0;var _catchingFire=function(e,i){try{return this.originalFire.apply(this,arguments)}catch(i){console.warn(\"Cought tinymce exception while firing editor event\",e,i)}};ko.bindingHandlers.wysiwyg={debug:!1,getContentOptions:{format:\"raw\"},useTarget:!1,currentIndex:0,standardOptions:{},initializingClass:\"wysiwyg-loading\",removeSelectionOnBlur:!0,emptyClass:void 0,fullOptions:{toolbar1:\"bold italic forecolor backcolor hr styleselect removeformat | link unlink | pastetext code\",plugins:[\"link hr paste lists textcolor code\"]},init:function(e,i,n,t,o){ko.bindingHandlers.focusable.init(e);var l,s=ko.bindingHandlers.wysiwyg.debug&&\"function\"==typeof console.debug;ko.bindingHandlers.wysiwyg.useTarget?l=\"@target_\"+ ++ko.bindingHandlers.wysiwyg.currentIndex:(l=e.getAttribute(\"id\"))||(l=\"wysiwyg_\"+ ++ko.bindingHandlers.wysiwyg.currentIndex,e.setAttribute(\"id\",l)),ko.bindingHandlers.wysiwyg.initializingClass&&e.classList.add(ko.bindingHandlers.wysiwyg.initializingClass),ko.utils.domNodeDisposal.addDisposeCallback(e,function(){s&&console.debug(\"Editor for selector\",l,\"is being removed...\"),tinymce.remove(\"#\"+e.getAttribute(\"id\")),s&&console.debug(\"Editor for selector\",l,\"has been removed.\")});var r=i();if(!ko.isObservable(r))throw\"Wysiwyg binding called with non observable\";if(8===e.nodeType)throw\"Wysiwyg binding called on virtual node, ignoring....\"+e.innerHTML;var a,d=\"DIV\"==e.tagName||\"TD\"==e.tagName,g=!1,u=!1,w={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\",forced_root_block:d?\"p\":\"\",init_instance_callback:function(i){if(s&&console.debug(\"Editor for selector\",l,\"is now initialized.\"),ko.bindingHandlers.wysiwyg.initializingClass&&e.classList.remove(ko.bindingHandlers.wysiwyg.initializingClass),\"function\"==typeof console.debug){var n=e.currentStyle?e.currentStyle.display:global.getComputedStyle(e,null).display;\"inline\"==n&&console.debug(\"Initializing an editor on an inline element: please note that while it may work, this is unsupported because of a multitude of browser issues\",e.tagName,n,l)}},setup:function(i){s&&console.debug(\"Editor for selector\",l,\"is now in the setup phase.\");var n=function(){0==(e.textContent||e.innerText||\"\").trim().length?e.classList.add(ko.bindingHandlers.wysiwyg.emptyClass):e.classList.remove(ko.bindingHandlers.wysiwyg.emptyClass)};i.on(\"change redo undo\",function(){if(!g)try{u=!0,r(i.getContent(ko.bindingHandlers.wysiwyg.getContentOptions))}catch(e){console.warn(\"Unexpected error setting content value for\",l,e)}finally{u=!1}ko.bindingHandlers.wysiwyg.emptyClass&&n()}),ko.bindingHandlers.wysiwyg.emptyClass&&i.on(\"keyup\",function(){n()}),i.on(\"focus\",function(){i.nodeChanged(),i.getElement().click()}),ko.bindingHandlers.wysiwyg.removeSelectionOnBlur&&i.on(\"blur\",function(e){global.getSelection().removeAllRanges()}),i.on(\"BeforeSetContent\",function(e){e.initial&&(e.format=\"raw\")}),void 0===i.originalFire&&(i.originalFire=i.fire,i.fire=_catchingFire),a=i}};return ko.bindingHandlers.wysiwyg.useTarget?w.target=e:w.selector=\"#\"+l,ko.utils.extend(w,ko.bindingHandlers.wysiwyg.standardOptions),d&&ko.utils.extend(w,ko.bindingHandlers.wysiwyg.fullOptions),global.setTimeout(function(){s&&console.debug(\"Editor for selector\",l,\"is being inizialized ...\");var e=tinymce.init(w);s&&console.debug(\"Editor for selector\",l,\"init has just been called returning\",e),e.then(function(){s&&console.debug(\"Editor for selector\",l,\"init promise has resolved.\")},function(e){console.log(\"Editor for selector\",l,\"init promise has failed.\",e)})}),ko.computed(function(){var n=ko.utils.unwrapObservable(i());if(!u){try{g=!0,void 0!==a?a.setContent(n,{format:\"raw\"}):ko.utils.setHtml(e,n)}catch(e){console.warn(\"Exception setting content to editable element\",typeof a,e)}g=!1}},null,{disposeWhenNodeIsRemoved:e}),{controlsDescendantBindings:!0}}};\n\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInd5c2l3eWdzLmpzIl0sIm5hbWVzIjpbInRpbnltY2UiLCJ3aW5kb3ciLCJnbG9iYWwiLCIkIiwialF1ZXJ5Iiwia28iLCJjb25zb2xlIiwicmVxdWlyZSIsImJpbmRpbmdIYW5kbGVycyIsInd5c2l3eWdPckh0bWwiLCJpbml0IiwiZWxlbWVudCIsInZhbHVlQWNjZXNzb3IiLCJhbGxCaW5kaW5nc0FjY2Vzc29yIiwidmlld01vZGVsIiwiYmluZGluZ0NvbnRleHQiLCJ0ZW1wbGF0ZU1vZGUiLCJ2aXJ0dWFsSHRtbCIsInd5c2l3eWciLCJ1cGRhdGUiLCJ2aXJ0dWFsRWxlbWVudHMiLCJhbGxvd2VkQmluZGluZ3MiLCJ3eXNpd3lnSHJlZiIsIm5vZGVUeXBlIiwic2V0QXR0cmlidXRlIiwicmVtb3ZlQXR0cmlidXRlIiwiaXNOb3RXeXNpd3lnTW9kZSIsImF0dHJWYWx1ZSIsInV0aWxzIiwidW53cmFwT2JzZXJ2YWJsZSIsInRvU3RyaW5nIiwid3lzaXd5Z1NyYyIsImNvbnZlcnRlZFVybCIsInNyYyIsIm1ldGhvZCIsIndpZHRoIiwiaGVpZ2h0IiwicXVlcnlQYXJhbVNlcGFyYXRvciIsImluZGV4T2YiLCJwbGFjZWhvbGRlclVybCIsInBsd2lkdGgiLCJwbGhlaWdodCIsInBsdGV4dCIsInZhbHVlIiwicGxhY2Vob2xkZXJWYWx1ZSIsInBsYWNlaG9sZGVyIiwidGV4dCIsInd5c2l3eWdJZCIsInd5c2l3eWdDbGljayIsImNsaWNrIiwid3lzaXd5Z0NzcyIsImNzcyIsInd5c2l3eWdJbWciLCJtYWtlVGVtcGxhdGVWYWx1ZUFjY2Vzc29yIiwiaXNXeXNpd3lnTW9kZSIsIm1vZGVsVmFsdWUiLCJ1bndyYXBwZWRWYWx1ZSIsInBlZWtPYnNlcnZhYmxlIiwibmFtZSIsIl9lZGl0VGVtcGxhdGUiLCJfdGVtcGxhdGUiLCJ0ZW1wbGF0ZUVuZ2luZSIsIm5hdGl2ZVRlbXBsYXRlRW5naW5lIiwiaW5zdGFuY2UiLCJhbGxCaW5kaW5ncyIsInRlbXBsYXRlIiwiZXh0ZW5kIiwiX2NhdGNoaW5nRmlyZSIsImV2ZW50IiwiYXJncyIsInRoaXMiLCJvcmlnaW5hbEZpcmUiLCJhcHBseSIsImFyZ3VtZW50cyIsImUiLCJ3YXJuIiwiZGVidWciLCJnZXRDb250ZW50T3B0aW9ucyIsImZvcm1hdCIsInVzZVRhcmdldCIsImN1cnJlbnRJbmRleCIsInN0YW5kYXJkT3B0aW9ucyIsImluaXRpYWxpemluZ0NsYXNzIiwicmVtb3ZlU2VsZWN0aW9uT25CbHVyIiwiZW1wdHlDbGFzcyIsImZ1bGxPcHRpb25zIiwidG9vbGJhcjEiLCJwbHVnaW5zIiwiZm9jdXNhYmxlIiwic2VsZWN0b3JJZCIsImRvRGVidWciLCJnZXRBdHRyaWJ1dGUiLCJjbGFzc0xpc3QiLCJhZGQiLCJkb21Ob2RlRGlzcG9zYWwiLCJhZGREaXNwb3NlQ2FsbGJhY2siLCJyZW1vdmUiLCJpc09ic2VydmFibGUiLCJpbm5lckhUTUwiLCJ0aGlzRWRpdG9yIiwiZnVsbEVkaXRvciIsInRhZ05hbWUiLCJpc1N1YnNjcmliZXJDaGFuZ2UiLCJpc0VkaXRvckNoYW5nZSIsIm9wdGlvbnMiLCJpbmxpbmUiLCJoaWRkZW5faW5wdXQiLCJ0b29sYmFyMiIsInByZXZpZXdfc3R5bGVzIiwicGFzdGVfYXNfdGV4dCIsImxhbmd1YWdlIiwic2NoZW1hIiwiZXh0ZW5kZWRfdmFsaWRfZWxlbWVudHMiLCJtZW51YmFyIiwic2tpbiIsImZvcmNlZF9yb290X2Jsb2NrIiwiaW5pdF9pbnN0YW5jZV9jYWxsYmFjayIsImVkaXRvciIsImVsZW1lbnRTdHlsZSIsImN1cnJlbnRTdHlsZSIsImRpc3BsYXkiLCJnZXRDb21wdXRlZFN0eWxlIiwic2V0dXAiLCJlbXB0eUNsYXNzSGFuZGxlciIsInRleHRDb250ZW50IiwiaW5uZXJUZXh0IiwidHJpbSIsImxlbmd0aCIsIm9uIiwiZ2V0Q29udGVudCIsIm5vZGVDaGFuZ2VkIiwiZ2V0RWxlbWVudCIsImdldFNlbGVjdGlvbiIsInJlbW92ZUFsbFJhbmdlcyIsImluaXRpYWwiLCJmaXJlIiwidGFyZ2V0Iiwic2VsZWN0b3IiLCJzZXRUaW1lb3V0IiwicmVzIiwidGhlbiIsImZhaWx1cmUiLCJsb2ciLCJjb21wdXRlZCIsImNvbnRlbnQiLCJzZXRDb250ZW50Iiwic2V0SHRtbCIsImRpc3Bvc2VXaGVuTm9kZUlzUmVtb3ZlZCIsImNvbnRyb2xzRGVzY2VuZGFudEJpbmRpbmdzIl0sIm1hcHBpbmdzIjoiQUFBQSxhQUdBLElBQUlBLFFBQTZCLG9CQUFYQyxPQUF5QkEsT0FBZ0JELFFBQXNCLG9CQUFYRSxPQUF5QkEsT0FBZ0JGLFFBQUksS0FDbkhHLEVBQXVCLG9CQUFYRixPQUF5QkEsT0FBZUcsT0FBc0Isb0JBQVhGLE9BQXlCQSxPQUFlRSxPQUFJLEtBQzNHQyxHQUF3QixvQkFBWEosT0FBeUJBLE9BQVdJLEdBQXNCLG9CQUFYSCxPQUF5QkEsT0FBV0csR0FBSSxLQUNwR0MsUUFBVUMsUUFBUSxzQkFDdEJBLFFBQVEsa0JBRVJGLEdBQUdHLGdCQUFnQkMsY0FBZ0IsQ0FDakNDLEtBQU0sU0FBU0MsRUFBU0MsRUFBZUMsRUFBcUJDLEVBQVdDLEdBR3JFLFlBQUEsSUFGK0JBLEVBQWVDLGNBQThELFdBQS9CRCxFQUFlQyxhQUduRlgsR0FBR0csZ0JBQTZCUyxZQUFFUCxPQUVsQ0wsR0FBR0csZ0JBQWdCVSxRQUFRUixLQUFLQyxFQUFTQyxFQUFlQyxFQUFxQkMsRUFBV0MsSUFFbkdJLE9BQVEsU0FBU1IsRUFBU0MsRUFBZUMsRUFBcUJDLEVBQVdDLEdBRXZFLFFBQUEsSUFEK0JBLEVBQWVDLGNBQThELFdBQS9CRCxFQUFlQyxhQUUxRixPQUFPWCxHQUFHRyxnQkFBNkJTLFlBQUVFLE9BQU9SLEVBQVNDLEVBQWVDLEVBQXFCQyxFQUFXQyxLQUs5R1YsR0FBR2UsZ0JBQWdCQyxnQkFBK0JaLGVBQUEsRUFFbERKLEdBQUdHLGdCQUFnQmMsWUFBYyxDQUMvQlosS0FBTSxTQUFTQyxFQUFTQyxFQUFlQyxFQUFxQkMsRUFBV0MsR0FDNUMsSUFBckJKLEVBQVFZLFdBQ0ZYLFNBSVIsSUFGK0JHLEVB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LFdBQzVCLElBQUsxQixFQUNILElBQ0VDLEdBQUFBLEVBU0E1RCxFQUFNMEUsRUFBT1ksV0FBVzVILEdBQUdHLGdCQUFnQlUsUUFBUTJELG9CQUNuRCxNQUFPSCxHQUNQcEUsUUFBUXFFLEtBQUssNkNBQThDYyxFQUFZZixHQUN2RSxRQUNBNkIsR0FBQUEsRUFHQWxHLEdBQUdHLGdCQUFnQlUsUUFBUWtFLFlBQVl1QyxNQUd6Q3RILEdBQUdHLGdCQUFnQlUsUUFBUWtFLFlBQzdCaUMsRUFBT1csR0FBRyxRQUFTLFdBQ2pCTCxNQU1KTixFQUFPVyxHQUFHLFFBQVMsV0FFakJYLEVBQU9hLGNBQ1BiLEVBQU9jLGFBQWFsRixVQUtsQjVDLEdBQUdHLGdCQUFnQlUsUUFBUWlFLHVCQUM3QmtDLEVBQU9XLEdBQUcsT0FBUSxTQUFTNUQsR0FDekJsRSxPQUFPa0ksZUFBZUMsb0JBSzFCaEIsRUFBT1csR0FBRyxtQkFBb0IsU0FBUzNELEdBQ2pDQSxFQUFLaUUsVUFBU2pFLEVBQUtTLE9BQVMsY0FBQSxJQWV2QnVDLEVBQU85QyxlQUNoQjhDLEVBQU85QyxhQUFlOEMsRUFBT2tCLEtBQzdCbEIsRUFBT2tCLEtBQU9wRSxlQUdoQmdDLEVBQWFrQixJQW1EakIsT0E3Q0loSCxHQUFHRyxnQkFBZ0JVLFFBQVE2RCxVQUM3QnlCLEVBQVFnQyxPQUFTN0gsRUFFakI2RixFQUFRaUMsU0FBVyxJQUFNaEQsRUFHM0JwRixHQUFHdUIsTUFBTXNDLE9BQU9zQyxFQUFTbkcsR0FBR0csZ0JBQWdCVSxRQUFRK0QsaUJBQ2hEbUIsR0FBWS9GLEdBQUd1QixNQUFNc0MsT0FBT3NDLEVBQVNuRyxHQUFHRyxnQkFBZ0JVLFFBQVFtRSxhQUtwRW5GLE9BQU93SSxXQUFXLFdBQ1poRCxHQUFTcEYsUUFBUXNFLE1BQU0sc0JBQXVCYSxFQUFZLDRCQUM5RCxJQUFJa0QsRUFBTTNJLFFBQVFVLEtBQUs4RixHQUNuQmQsR0FBU3BGLFFBQVFzRSxNQUFNLHNCQUF1QmEsRUFBWSxzQ0FBdUNrRCxHQUNyR0EsRUFBSUMsS0FBSyxXQUNIbEQsR0FBU3BGLFFBQVFzRSxNQUFNLHNCQUF1QmEsRUFBWSwrQkFDN0QsU0FBU29ELEdBQ1Z2SSxRQUFRd0ksSUFBSSxzQkFBdUJyRCxFQUFZLDJCQUE0Qm9ELE9BSS9FeEksR0FBRzBJLFNBQVMsV0FDVixJQUFJQyxFQUFVM0ksR0FBR3VCLE1BQU1DLGlCQUFpQmpCLEtBQ3hDLElBQUsyRixFQUFnQixDQUNuQixJQUNFRCxHQUFBQSxPQUFxQixJQUdWSCxFQUNUQSxFQUFXOEMsV0FBV0QsRUFBUyxDQUFFbEUsT0FBUSxRQUV6Q3pFLEdBQUd1QixNQUFNc0gsUUFBUXZJLEVBQVNxSSxHQUU1QixNQUFPdEUsR0FDUHBFLFFBQVFxRSxLQUFLLHVEQUF3RHdCLEVBQVl6QixHQUVuRjRCLEdBQUFBLElBRUQsS0FBTSxDQUNQNkMseUJBQTBCeEksSUFJckIsQ0FDTHlJLDRCQUFBQSIsImZpbGUiOiIvcm9vdC9tb3NhaWNvL3NyYy9qcy9iaW5kaW5ncy93eXNpd3lncy5qcyJ9", + "\"use strict\";var console=require(\"console-browserify\"),checkModel=function(e,o,t,n,l){var i,f,r,a=0;if(void 0===l&&(l=!1),void 0!==o&&\"function\"==typeof o.splice)for(i={},f=0;f0)if(t[p].length>0){var c=0;for(f=0;f=e[p].length){console.log(\"WARN cannot find \",r,t[p][f].type,\" block in reference\"),a=Math.max(a,2);break}a=Math.max(a,checkModel(e[p][c],void 0,t[p][f],r+\"[\"+f+\".\"+t[p][f].type+\"]\"))}}else for(f=0;f=0;l--)if(\"property\"==e[l].type&&e[l].name==t)return _declarationValueUrlPrefixer(e[l].value,r);return null},_propToCamelCase=function(e){return e.replace(/-([a-z])/g,function(e,t,r,l){return t.toUpperCase()})},_declarationValueUrlPrefixer=function(e,t){return e.match(/url\\(.*\\)/)?e.replace(/(url\\()([^\\)]*)(\\))/g,function(e,r,l,i){var n=l.trim(),o=l.trim().charAt(0);\"'\"==o||'\"'==o?n=n.substr(1,n.length-2):o=\"\";var a=t(n);return null!==a?r+o+a+o+i:e}):e},elaborateDeclarations=function(e,t,r,l,i,n,o){var a=\"object\"==typeof n&&null!==n?n:{},u=null,s=0;void 0===t&&(t=cssParse(\"#{\\n\"+e+\"}\",{comments:!0,position:!0}).stylesheet.rules[0].declarations,s=1);for(var d=t.length-1;d>=0;d--)if(\"property\"==t[d].type)if(!0===o&&\"display\"==t[d].name&&\"none\"==t[d].value)null===u&&(u=e),u=converterUtils.removeStyle(u,t[d].position.start,t[d].position.end,s,0,0,\"\");else{var v=t[d].name.match(/^-ko-(bind-|attr-)?([a-z0-9-]*?)(-if|-ifnot)?$/);if(null!==v){null===u&&void 0!==e&&(u=e);var c,f,m,p=\"attr-\"==v[1],y=\"bind-\"==v[1],h=v[2],b=\"-if\"==v[3]||\"-ifnot\"==v[3];if(b){if(c=t[d].name.substr(0,t[d].name.length-v[3].length),null===_declarationValueLookup(t,c,r))throw\"Unable to find declaration \"+c+\" for \"+t[d].name}else{if((p||y)&&void 0===i&&void 0!==e)throw\"Attributes and bind declarations are only allowed in inline styles!\";var S,g=!0;if(p?(m=domutils.getAttribute(i,h),g=!1,S=\"virtualAttr\"):y?(S=null,\"text\"==h?void 0!==i?m=domutils.getInnerText(i):g=!1:\"html\"==h&&void 0!==i?m=domutils.getInnerHtml(i):g=!1):((g=void 0!==e)&&(m=_declarationValueLookup(t,h,r)),S=\"virtualStyle\"),g&&null===m)throw console.error(\"Cannot find default value for\",t[d].name,t),\"Cannot find default value for \"+t[d].name+\": \"+t[d].value+\" in \"+i+\" (\"+typeof e+\"/\"+h+\")\";var w=m,U=y||p?-1!=h.indexOf(\"-\")?\"'\"+h+\"'\":h:_propToCamelCase(h);try{f=converterUtils.expressionBinding(t[d].value,l,w)}catch(e){throw console.error(\"Model ensure path failed\",e.stack,\"name\",t[d].name,\"value\",t[d].value,\"default\",m,\"element\",i),e}null!==S&&void 0===a[S]&&(a[S]={}),\"virtualAttr\"==S&&\"href\"==U&&(S=null,U=\"wysiwygHref\",null!=i&&domutils.removeAttribute(i,\"href\"));var x=_declarationValueLookup(t,t[d].name+\"-if\",r),A=!1;if(null===x)x=_declarationValueLookup(t,t[d].name+\"-ifnot\",r),A=!0;else if(null!==_declarationValueLookup(t,t[d].name+\"-ifnot\",r))throw\"Unexpected error: cannot use both -if and -ifnot property conditions\";if(null!==x)try{f=(A?\"!\":\"\")+\"(\"+converterUtils.conditionBinding(x,l)+\") ? \"+f+\" : null\"}catch(e){throw console.error(\"Unable to deal with -ko style binding condition\",x,t[d].name),e}null!==S?a[S][U]=f:a[U]=f}if(null!==u)try{if(null!=i)u=converterUtils.removeStyle(u,t[d].position.start,t[d].position.end,s,0,0,\"\");else{var _=\"\";b||(_=h+\": \\x3c!-- ko text: \"+f+\" --\\x3e\"+m+\"\\x3c!-- /ko --\\x3e\"),u=converterUtils.removeStyle(u,t[d].position.start,t[d].position.end,s,0,0,_)}}catch(e){throw console.warn(\"Remove style failed\",e,\"name\",t[d]),e}}else{var k=_declarationValueUrlPrefixer(t[d].value,r);if(k!=t[d].value&&(null===u&&void 0!==e&&(u=e),null!==u))try{u=converterUtils.removeStyle(u,t[d].position.start,t[d].position.end,s,0,0,t[d].name+\": \"+k)}catch(e){throw console.log(\"Remove style failed replacing url\",e,\"name\",t[d]),e}var C=_propToCamelCase(t[d].name),V=\"virtualAttrStyle\",P=void 0!==a.virtualStyle?a.virtualStyle[C]:void 0,j=\" \";void 0===a[V]&&(a[V]=\"''\",j=\"\"),void 0!==P?(a[V]=\"'\"+t[d].name+\": '+(\"+P+\")+';\"+j+\"'+\"+a[V],delete a.virtualStyle[C]):a[V]=\"'\"+t[d].name+\": \"+converterUtils.addSlashes(k)+\";\"+j+\"'+\"+a[V]}}if(null!=i){for(var z in a.virtualStyle)if(a.virtualStyle.hasOwnProperty(z))throw console.log(\"Unexpected virtualStyle binding after conversion to virtualAttr.style\",z,a.virtualStyle[z],e),\"Unexpected virtualStyle binding after conversion to virtualAttr.style for \"+z;delete a.virtualStyle;var L=domutils.getAttribute(i,\"data-bind\"),q=(null!==L?L+\", \":\"\")+_bindingSerializer(a);\"\"==q?domutils.removeAttribute(i,\"data-bind\"):domutils.setAttribute(i,\"data-bind\",q)}if(void 0===e){var O=!1;for(var T in a.virtualStyle)if(a.virtualStyle.hasOwnProperty(T)){O=!0;break}if(O){if(void 0!==a.virtualAttrStyle){var B=a.virtualAttrStyle;delete a.virtualAttrStyle,a.virtualAttrStyle=B}}else delete a.virtualStyle;return _bindingSerializer(a)}return u},_bindingSerializer=function(e){var t=[];for(var r in e)e.hasOwnProperty(r)&&(\"object\"==typeof e[r]?t.push(r+\": { \"+_bindingSerializer(e[r])+\" }\"):t.push(r+\": \"+e[r]));return t.reverse().join(\", \")};module.exports=elaborateDeclarations;\n\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImRlY2xhcmF0aW9ucy5qcyJdLCJuYW1lcyI6WyJjb252ZXJ0ZXJVdGlscyIsInJlcXVpcmUiLCJjc3NQYXJzZSIsImNvbnNvbGUiLCJkb211dGlscyIsIl9kZWNsYXJhdGlvblZhbHVlTG9va3VwIiwiZGVjbGFyYXRpb25zIiwicHJvcGVydHluYW1lIiwidGVtcGxhdGVVcmxDb252ZXJ0ZXIiLCJpIiwibGVuZ3RoIiwidHlwZSIsIm5hbWUiLCJfZGVjbGFyYXRpb25WYWx1ZVVybFByZWZpeGVyIiwidmFsdWUiLCJfcHJvcFRvQ2FtZWxDYXNlIiwicHJvcE5hbWUiLCJyZXBsYWNlIiwibWF0Y2giLCJjb250ZW50cyIsIm9mZnNldCIsInMiLCJ0b1VwcGVyQ2FzZSIsIm1hdGNoZWQiLCJwcmVmaXgiLCJ1cmwiLCJwb3N0Zml4IiwidHJpbW1lZCIsInRyaW0iLCJhcGljZSIsImNoYXJBdCIsInN1YnN0ciIsIm5ld1VybCIsImVsYWJvcmF0ZURlY2xhcmF0aW9ucyIsInN0eWxlIiwiYmluZGluZ1Byb3ZpZGVyIiwiZWxlbWVudCIsImJhc2ljQmluZGluZ3MiLCJyZW1vdmVEaXNwbGF5Tm9uZSIsIm5ld0JpbmRpbmdzIiwibmV3U3R5bGUiLCJza2lwTGluZXMiLCJjb21tZW50cyIsInBvc2l0aW9uIiwic3R5bGVzaGVldCIsInJ1bGVzIiwicmVtb3ZlU3R5bGUiLCJzdGFydCIsImVuZCIsImRlY2wiLCJjb25kRGVjbCIsImJpbmRWYWx1ZSIsInByb3BEZWZhdWx0VmFsdWUiLCJpc0F0dHIiLCJpc0JpbmQiLCJpc0lmIiwiYmluZFR5cGUiLCJuZWVkRGVmYXVsdFZhbHVlIiwiZ2V0QXR0cmlidXRlIiwiZ2V0SW5uZXJUZXh0IiwiZ2V0SW5uZXJIdG1sIiwiZXJyb3IiLCJiaW5kRGVmYXVsdFZhbHVlIiwiYmluZE5hbWUiLCJpbmRleE9mIiwiZXhwcmVzc2lvbkJpbmRpbmciLCJlIiwic3RhY2siLCJyZW1vdmVBdHRyaWJ1dGUiLCJkZWNsYXJhdGlvbkNvbmRpdGlvbiIsIm5vdCIsImNvbmRpdGlvbkJpbmRpbmciLCJyZXBsYWNlZFdpdGgiLCJ3YXJuIiwicmVwbGFjZWRWYWx1ZSIsImxvZyIsImJpbmROYW1lMiIsImJpbmQiLCJiaW5kVmFsMiIsInZpcnR1YWxTdHlsZSIsImRpc3QiLCJhZGRTbGFzaGVzIiwicHJvcCIsImhhc093blByb3BlcnR5IiwiY3VycmVudEJpbmRpbmdzIiwiZGF0YUJpbmQiLCJfYmluZGluZ1NlcmlhbGl6ZXIiLCJzZXRBdHRyaWJ1dGUiLCJoYXNWaXJ0dWFsU3R5bGUiLCJwcm9wMSIsInZpcnR1YWxBdHRyU3R5bGUiLCJ2cyIsInZhbCIsInJlcyIsInB1c2giLCJyZXZlcnNlIiwiam9pbiIsIm1vZHVsZSIsImV4cG9ydHMiXSwibWFwcGluZ3MiOiJBQUFBLGFBTUEsSUFBSUEsZUFBaUJDLFFBQVEsY0FDekJDLFNBQVdELFFBQVEsd0JBQ25CRSxRQUFVRixRQUFRLHNCQUNsQkcsU0FBV0gsUUFBUSxpQkFFbkJJLHdCQUEwQixTQUFTQyxFQUFjQyxFQUFjQyxHQUNqRSxJQUFLLElBQUlDLEVBQUlILEVBQWFJLE9BQVMsRUFBR0QsR0FBSyxFQUFHQSxJQUM1QyxHQUE0QixZQUF4QkgsRUFBYUcsR0FBR0UsTUFBc0JMLEVBQWFHLEdBQUdHLE1BQVFMLEVBQ2hFLE9BQU9NLDZCQUE2QlAsRUFBYUcsR0FBR0ssTUFBT04sR0FHL0QsT0FBTyxNQUdMTyxpQkFBbUIsU0FBU0MsR0FDOUIsT0FBT0EsRUFBU0MsUUFBUSxZQUFhLFNBQVNDLEVBQU9DLEVBQVVDLEVBQVFDLEdBQ3JFLE9BQU9GLEVBQVNHLGlCQUloQlQsNkJBQStCLFNBQVNDLEVBQU9OLEdBQ2pELE9BQUlNLEVBQU1JLE1BQU0sYUFDQ0osRUFBTUcsUUFBUSx1QkFBd0IsU0FBU00sRUFBU0MsRUFBUUMsRUFBS0MsR0FDbEYsSUFBSUMsRUFBVUYsRUFBSUcsT0FDZEMsRUFBUUosRUFBSUcsT0FBT0UsT0FBTyxHQUNqQixLQUFURCxHQUEwQixLQUFUQSxFQUNuQkYsRUFBVUEsRUFBUUks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", + "\"use strict\";var $=\"undefined\"!=typeof window?window.jQuery:\"undefined\"!=typeof global?global.jQuery:null;function _extend(e,t){if(t)for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);return e}var objExtend=function(e,t){return\"function\"==typeof $.extend?$.extend(!0,e,t):_extend(e,JSON.parse(JSON.stringify(t)))},getAttribute=function(e,t){var n=$(e).attr(t);return void 0===n&&(n=null),n},setAttribute=function(e,t,n){$(e).attr(t,n)},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&&void 0!==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};\n\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImRvbXV0aWxzLmpzIl0sIm5hbWVzIjpbIiQiLCJ3aW5kb3ciLCJqUXVlcnkiLCJnbG9iYWwiLCJfZXh0ZW5kIiwidGFyZ2V0Iiwic291cmNlIiwicHJvcCIsImhhc093blByb3BlcnR5Iiwib2JqRXh0ZW5kIiwib2JqIiwiZXh0ZW5kZXIiLCJleHRlbmQiLCJKU09OIiwicGFyc2UiLCJzdHJpbmdpZnkiLCJnZXRBdHRyaWJ1dGUiLCJlbGVtZW50IiwiYXR0cmlidXRlIiwicmVzIiwiYXR0ciIsInNldEF0dHJpYnV0ZSIsInZhbHVlIiwicmVtb3ZlQXR0cmlidXRlIiwicmVtb3ZlQXR0ciIsImdldElubmVyVGV4dCIsInRleHQiLCJnZXRJbm5lckh0bWwiLCJodG1sIiwiZ2V0TG93ZXJUYWdOYW1lIiwidGFnTmFtZSIsIm5hbWUiLCJ0b0xvd2VyQ2FzZSIsInNldENvbnRlbnQiLCJjb250ZW50IiwicmVwbGFjZUh0bWwiLCJyZXBsYWNlV2l0aCIsInJlbW92ZUVsZW1lbnRzIiwiJGVsZW1lbnRzIiwidHJ5RGV0YWNoIiwiZGV0YWNoIiwicmVtb3ZlIiwibW9kdWxlIiwiZXhwb3J0cyJdLCJtYXBwaW5ncyI6IkFBQUEsYUFNQSxJQUFJQSxFQUF1QixvQkFBWEMsT0FBeUJBLE9BQWVDLE9BQXNCLG9CQUFYQyxPQUF5QkEsT0FBZUQsT0FBSSxLQUUvRyxTQUFTRSxRQUFRQyxFQUFRQyxHQUN2QixHQUFJQSxFQUNGLElBQUssSUFBSUMsS0FBUUQsRUFDWEEsRUFBT0UsZUFBZUQsS0FDeEJGLEVBQU9FLEdBQVFELEVBQU9DLElBSTVCLE9BQU9GLEVBR1QsSUFBSUksVUFBWSxTQUFTQyxFQUFLQyxHQUM1QixNQUF1QixtQkFBWlgsRUFBRVksT0FDSlosRUFBRVksUUFBQUEsRUFBYUYsRUFBS0MsR0FFcEJQLFFBQVFNLEVBQUtHLEtBQUtDLE1BQU1ELEtBQUtFLFVBQVVKLE1BSTlDSyxhQUFlLFNBQVNDLEVBQVNDLEdBQ25DLElBQUlDLEVBQU1uQixFQUFFaUIsR0FBU0csS0FBS0YsR0FFMUIsWUFBQSxJQURXQyxJQUFvQkEsRUFBTSxNQUM5QkEsR0FJTEUsYUFBZSxTQUFTSixFQUFTQyxFQUFXSSxHQUM5Q3RCLEVBQUVpQixHQUFTRyxLQUFLRixFQUFXSSxJQUl6QkMsZ0JBQWtCLFNBQVNOLEVBQVNDLEdBQ3RDbEIsRUFBRWlCLEdBQVNPLFdBQVdOLElBSXBCTyxhQUFlLFNBQVNSLEdBQzFCLE9BQU9qQixFQUFFaUIsR0FBU1MsUUFLaEJDLGFBQWUsU0FBU1YsR0FDMUIsT0FBT2pCLEVBQUVpQixHQUFTVyxRQUloQkMsZ0JBQWtCLFNBQVNaLEdBSTdCLE1BQXdCLEtBQXBCQSxFQUFRYSxTQUF5QyxpQkFBaEJiLEVBQVFjLEtBQXlCZCxFQUFRYyxLQUFLQyxjQUMzRCxLQUFwQmYsRUFBUWEsUUFBdUJiLEVBQVFhLFFBQVFFLGNBQzVDaEMsRUFBRWlCLEdBQVNWLEtBQUssV0FBV3lCLGVBSWhDQyxXQUFhLFNBQVNoQixFQUFTaUIsR0FDakNsQyxFQUFFaUIsR0FBU1csS0FBS00sSUFJZEMsWUFBYyxTQUFTbEIsRUFBU1csR0FDbEM1QixFQUFFaUIsR0FBU21CLFlBQVlSLElBSXJCUyxlQUFpQixTQUFTQyxFQUFXQyxHQUNuQ0EsUUFBQUEsSUFBb0JELEVBQVVFLFFBQXdCRixFQUFVRSxTQUVwRUYsRUFBVUcsVUFHWkMsT0FBT0MsUUFBVSxDQUNmM0IsYUFBY0EsYUFDZEssYUFBY0EsYUFDZEUsZ0JBQWlCQSxnQkFDakJFLGFBQWNBLGFBQ2RFLGFBQWNBLGFBQ2RFLGdCQUFpQkEsZ0JBQ2pCSSxXQUFZQSxXQUNaRSxZQUFhQSxZQUNiRSxlQUFnQkEsZUFDaEI1QixVQUFXQSIsImZpbGUiOiIvcm9vdC9tb3NhaWNvL3NyYy9qcy9jb252ZXJ0ZXIvZG9tdXRpbHMuanMifQ==", + "\"use strict\";var console=require(\"console-browserify\"),elaborateDeclarations=require(\"./declarations.js\"),utils=require(\"./utils.js\"),modelDef=require(\"./model.js\"),_getOptionsObject=function(e){for(var t=e.split(\"|\"),o={},i=0;i1?l[1].trim():l[0].trim()}return o},_filterProps=function(e,t,o){var i=[];for(var l in e)if(!l.match(/^customStyle$/)&&!l.match(/^_/)&&e.hasOwnProperty(l)){var a=null!==e[l]&&void 0!==e[l]._category&&\"style\"==e[l]._category;\"id\"==l||\"type\"==l||l.match(/Blocks$/)||(\"styler\"==t?(a||o>0)&&i.push(l):\"edit\"==t?null!==e[l]&&void 0!==e[l]._category&&\"content\"==e[l]._category&&(void 0===e[l]._context||\"block\"!=e[l]._context)&&i.push(l):void 0===t&&i.push(l))}return i},_propInput=function(e,t,o,i,l){var a,n=\"\";if(null!==e&&void 0!==e._widget&&(a=e._widget),void 0===a)throw\"Unknown data type for \"+t;var s=\"focusable: true\";if(\"edit\"==i&&(s+=\", event: { focus: function(ui, event) { $($element).click(); } } \"),n+='\"},_getGlobalStyleProp=function(e,t,o,i){var l;return\"object\"==typeof t&&null!==t&&void 0===t._widget||void 0!==o&&void 0!==i&&i.length>0&&\"object\"==typeof e&&void 0!==e[i]&&(l=e[i]),l},_propEditor=function(e,t,o,i,l,a,n,s,d,r,c,p,v,u,b){if(void 0===d&&(d=0),void 0!==n&&\"object\"==typeof i&&null!==i&&void 0===i._usecount)return\"function\"==typeof console.debug&&console.debug(\"Ignoring\",a,\"property because it is not used by the template\",\"prop:\",n,\"type:\",s,\"level:\",d,e._templateName),\"\";var h,f=void 0!==p?n+\"._defaultComputed\":n,m=\"\",g=f,_=1,y=1;if(\"object\"==typeof i&&null!==i&&void 0===i._widget||void 0===p&&(_+=1),void 0===p&&void 0!==r&&(y+=r),void 0!==n&&v&&(m+=\"\\x3c!-- ko ifSubs: { data: \"+g+\", threshold: \"+y+\", gutter: \"+_+\" } --\\x3e\"),void 0===n||null!==i&&void 0!==i._name||console.log(\"Missing label for property \",n),void 0===n&&null!==i&&void 0===i._name&&\"theme\"!==i.type&&console.log(\"Missing label for object \",i.type),\"object\"==typeof i&&null!==i&&void 0===i._widget){var k=_filterProps(i,s,d),x=\"styler\"==s&&null!==i&&void 0!==i.customStyle&&void 0!==p,S=\"\",w=\"\";void 0!==n&&\"edit\"==s&&(S=\", click: function(obj, evt) { $root.selectItem(\"+n+\", $data); return false }, clickBubble: false, css: { selecteditem: $root.isSelectedItem(\"+n+\") }, scrollIntoView: $root.isSelectedItem(\"+n+\"), \",w+=\" selectable\"),x&&(w+=\" supportsCustomStyles\"),m+='
';var $,j,D,B=null!==i&&void 0!==i._name?i._name:void 0!==n?\"[\"+n+\"]\":\"\";if(x){var E=\"Stile\";null!=l&&void 0!==l._name?E=l._name:console.log(\"Missing label for theme section \",n,null!==i?i.type:\"-\"),B=\"Block\"}else B=\"\"+B+\"\";m+=\"'+B+\"\",\"edit\"==s&&void 0!==i._blockDescription&&(m+=\"
\"+i._blockDescription+\"
\"),x&&(m+='\",m+=\"\\x3c!-- ko template: { name: 'customstyle', if: customStyle } --\\x3e\\x3c!-- /ko --\\x3e\"),void 0!==n&&(m+=\"\\x3c!-- ko with: \"+n+\" --\\x3e\",1==d&&void 0!==n&&void 0!==i._previewBindings&&void 0!==e&&(void 0!==u&&(m+='\\x3c!-- ko with: $root.content() --\\x3e
\\x3c!-- /ko --\\x3e'),void 0!==b&&(m+='\\x3c!-- ko with: $parent --\\x3e
\\x3c!-- /ko --\\x3e'),m+='
')),0===d&&void 0!==i._previewBindings&&($=elaborateDeclarations(void 0,i._previewBindings,o,e.bind(this,a.length>0?a+\".\":\"\")));var C,I=m.length;for(j=0;j0?a+\".\"+k[j]:k[j],\"object\"==typeof i[k[j]]&&null!==i[k[j]]&&void 0===i[k[j]]._widget||(C=void 0,0===d&&\"theme\"==k[j]?m+=_propEditor(e,t,o,i[k[j]],void 0,D,k[j],s,0,r,void 0,void 0,v,u):(C=_getGlobalStyleProp(c,i[k[j]],k[j],D),m+=_propEditor(e,t,o,i[k[j]],void 0,D,k[j],s,d+1,r,c,C,v,u,$)));for(j=0;j0?a+\".\"+k[j]:k[j],\"object\"==typeof i[k[j]]&&null!==i[k[j]]&&void 0===i[k[j]]._widget&&(C=void 0,0===d&&\"theme\"==k[j]?m+=_propEditor(e,t,o,i[k[j]],void 0,D,k[j],s,0,r,void 0,void 0,v,u):(C=_getGlobalStyleProp(c,i[k[j]],k[j],D),m+=_propEditor(e,t,o,i[k[j]],void 0,D,k[j],s,d+1,r,c,C,v,u,$)));if(0==m.length-I){if(\"object\"==typeof i&&null!==i&&\"template\"==i._context)return\"\";m+='
Selected element has no editable properties
'}void 0!==n&&(m+=\"\\x3c!-- /ko --\\x3e\"),m+=\"
\"}else{var P=!0;if(void 0===c&&(P=!1),null===i||\"object\"!=typeof i||void 0!==i._widget){var M=[];void 0!==p&&M.push(\"css: { notnull: \"+n+\"() !== null }\"),(h=null!==i&&void 0!==i._help?' title=\"'+utils.addSlashes(i._help)+\"\\\" data-bind=\\\"attr: { title: $root.ut('template', '\"+utils.addSlashes(i._help)+\"') }\\\"\":\"\").length>0&&M.push(\"tooltips: {}\"),m+='
0?'data-bind=\"'+utils.addSlashes(M.join())+'\"':\"\")+\">\";var T=null!==i&&void 0!==i._name?i._name:void 0!==n?\"[\"+n+\"]\":\"\";m+=\"'+(T=\"\"+T+\"\")+\"\",m+='
',m+=_propInput(i,n,f,s,t),m+=\"
\",void 0!==p&&(m+='
',m+=_propInput(i,n,p,s,t),m+=\"
\",P&&(m+='
\")),m+=\"
\"}else m+=null===i||\"object\"!=typeof i?'
[A|'+n+\"|\"+typeof i+\"]
\":'
[B|'+n+\"|\"+typeof i+\"]
\"}return void 0!==n&&v&&(m+=\"\\x3c!-- /ko --\\x3e\",m+=\"\\x3c!-- ko ifSubs: { not: true, data: \"+g+\", threshold: \"+y+\", gutter: 0 } --\\x3e\",m+='('+n+\")\",m+=\"\\x3c!-- /ko --\\x3e\"),m},createBlockEditor=function(e,t,o,i,l,a,n,s,d,r,c,p){void 0===c&&(c=!0);var v,u=modelDef.getDef(e,a),b=modelDef.getDef(e,l);void 0!==b._previewBindings&&\"thaeme\"!=a&&\"styler\"==n&&(v=elaborateDeclarations(void 0,b._previewBindings,i,modelDef.getBindValue.bind(void 0,e,o,l,l,\"\")));var h,f=void 0!==r&&r?e[a]._globalStyles:void 0,m=void 0!==r&&r?e[a]._globalStyle:void 0;void 0!==m&&(h=modelDef.getDef(e,\"theme\")[m.replace(/^(\\$theme|_theme_)\\./,\"\")]);var g=modelDef.getBindValue.bind(void 0,e,o,l,a);g._templateName=a;var _='
';_+='
'+u.type+\"
\";var y=_propEditor(g,t,i,u,h,\"\",void 0,n,p,d,f,m,c,v);y.length>0&&(_+=y),s(_+=\"
\",a,n)},createBlockEditors=function(e,t,o,i,l,a,n,s){createBlockEditor(e,t,o,i,l,a,\"edit\",n,s),createBlockEditor(e,t,o,i,l,a,\"styler\",n,s,!0)},generateEditors=function(e,t,o,i,l){var a,n=e._defs,s=e.templateName,d=e._blocks,r=[];for(a=0;a0&&a.push(n[d]);t[o]=a}else\"string\"==typeof t[o]||\"boolean\"==typeof t[o]?t[o]=l:\"object\"==typeof t[o]&&null!==t[o]&&void 0!==t[o]._widget?(\"object\"==typeof l&&null!==l&&console.log(\"objectvalue\",o,t[o]._widget,l),t[o]=l):console.log(\"setting\",typeof t[o],t[o],o,l);else{var f=o.substr(0,r);_valueSet(e,t[f],o.substr(r+1),l)}},_modelCreateOrUpdateBlockDef=function(e,t,o,l){if(void 0!==e[t]&&e[t]._initialized&&!e[t]._writeable)throw console.log(\"_modelCreateOrUpdateBlockDef\",e,t,o,l),\"Trying to alter non writeable model: \"+t+\" / \"+o;if(void 0===e[t]&&(e[t]={_writeable:!0},void 0===l&&(l={}),void 0===l.category&&void 0===e[t]._category&&(t.match(/(^t|.T)heme$/)||t.match(/(^s|.S)tyle$/)||t.match(/(^c|.C)olor$/)||t.match(/(^r|.R)adius$/)?l.category=\"style\":l.category=\"content\")),void 0!==l){if(void 0!==l.name&&(e[t]._name=l.name),void 0!==l.themeOverride&&(e[t]._themeOverride=l.themeOverride),void 0!==l.globalStyle){e[t]._globalStyle=l.globalStyle;var r=l.globalStyle.replace(/^(\\$theme|_theme_)\\./,\"\"),n=r.indexOf(\".\"),i=-1!=n?r.substr(0,n):r;_modelCreateOrUpdateBlockDef(e,\"theme\",i),(void 0===e[t]._themeOverride||e[t]._themeOverride)&&_modelCreateOrUpdateBlockDef(e,t,\"customStyle=false\")}void 0!==l.contextName&&(e[t]._context=l.contextName,\"block\"==l.contextName&&void 0===e[t]._globalStyle&&(e[t]._globalStyle=\"_theme_.bodyTheme\",_modelCreateOrUpdateBlockDef(e,\"theme\",\"bodyTheme\"),(void 0===e[t]._themeOverride||e[t]._themeOverride)&&_modelCreateOrUpdateBlockDef(e,t,\"customStyle=false\"))),void 0!==l.extend&&(e[t].type=l.extend)}for(var a in l)l.hasOwnProperty(a)&&void 0!==l[a]&&-1==[\"name\",\"extend\",\"contextName\",\"globalStyle\",\"themeOverride\"].indexOf(a)&&(e[t][\"_\"+a]=l[a]);void 0!==o&&o.length>0&&(e[t]._props=void 0!==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 l in e)if(!l.match(/^_.*/)&&e.hasOwnProperty(l)){var r=e[l];if(\"object\"==typeof r&&null!==r&&void 0!==r._complex&&r._complex)o[l]=_generateModelFromDef(r,t);else if(\"type\"==l)o[l]=r;else{if(\"object\"!=typeof r)throw console.error(\"Unexpected model def\",l,r,e),\"Unexpected model def [\"+l+\"]=\"+r;o[l]=null}}if(void 0!==e._defaultValues){var n=e._defaultValues;for(var i in n)n.hasOwnProperty(i)&&_valueSet(t,o,i,n[i])}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,l){if(void 0===e[t]){if(-1!=t.indexOf(\" \"))return null;var r=_removePrefix(t);return null!==r?_getModelDef(e,r,o,l):null}var n=e[t];if(\"object\"!=typeof n)throw\"Block definition must be an object: found \"+n+\" for \"+t;if(void 0===n._initialized){if(void 0===n.type&&(-1==t.indexOf(\" \")?n.type=t:n.type=t.substr(t.indexOf(\" \")+1)),n.type!=t&&void 0===n._widget){var i=_getModelDef(e,n.type,!0);n=objExtend(i,n),e[t]=n}else void 0===n._widget&&void 0===n._props&&n._complex;n._writeable=!0,n._initialized=!0}if(void 0!==n._props){var a=n._props;if((a=a.split(\" \")).length>0&&void 0===n._writeable)throw console.error(\"Altering a non writable object \",t,a,n),\"Altering a non writable object: \"+t+\" def: \"+a;void 0===n._processedDefs&&(n._processedDefs={}),void 0===n._globalStyles&&(n._globalStyles={}),void 0===n._defaultValues&&(n._defaultValues={});for(var d=0;d0?domutils.setAttribute(e,\"style\",l):domutils.removeAttribute(e,\"style\"))},_fixRelativePath=function(e,t,o,a){var i=t(domutils.getAttribute(a,e));null!==i&&domutils.setAttribute(a,e,i)},processBlock=function(e,t,o,a,i,r,l,d,s,c){try{var n;if(\"block\"==r)n=domutils.getAttribute(e,\"data-ko-block\"),domutils.removeAttribute(e,\"data-ko-block\");else{if(\"template\"!=r)throw\"Unexpected context name while processing block: \"+r;n=l}$(\"[data-ko-remove]\",e).remove();for(var u=$(\"[data-ko-block]\",e).replaceWith(\"\"),m=[\"href\",\"src\",\"data-ko-placeholder-src\",\"background\"],h=0;h0&&(b+=\" \"),b+=domutils.getAttribute(t,\"data-ko-properties\"),domutils.removeAttribute(t,\"data-ko-properties\")}),modelDef.createOrUpdateBlockDef(t,n,b,{contextName:r});var v=modelDef.ensurePathAndGetBindValue.bind(void 0,t,o,l,n,\"\");\"block\"==r&&v(\"id\",\"\"),$(\"style\",e).each(function(e,a){var r=domutils.getInnerHtml(a),d=modelDef.createOrUpdateBlockDef.bind(void 0,t),s=modelDef.ensurePathAndGetBindValue.bind(void 0,t,o,l),u=processStylesheetRules(r,void 0,s,d,o,i,l,n);if(u!=r)if(\"\"!==u.trim()){var m=c(u);domutils.setAttribute(a,\"data-bind\",\"template: { name: '\"+m+\"' }\"),domutils.setContent(a,\"\")}else domutils.removeElements($(a))}),processStyle(e,i,v,s);for(var f=[\"data-ko-display\",\"data-ko-editable\",\"data-ko-wrap\",\"href\"],k=0;k0){var n=s.substr(0,s.lastIndexOf(\".\"));l=v(n)}else l=v(s);if(d=\"wysiwygClick: function(obj, evt) { $root.selectItem(\"+l+\", $data); return false }, clickBubble: false, wysiwygCss: { selecteditem: $root.isSelectedItem(\"+l+\") }, scrollIntoView: $root.isSelectedItem(\"+l+\")\",\"img\"!=domutils.getLowerTagName(t)){a=domutils.getInnerHtml(t);var u=v(s,a,!0,\"wysiwyg\");if(o=\"\",domutils.getAttribute(t,\"id\")||(o+=\"wysiwygId: id()+'_\"+s.replace(\".\",\"_\")+\"', \"),void 0!==d&&(o+=d+\", \"),o+=\"wysiwygOrHtml: \"+u,\"td\"==domutils.getLowerTagName(t)){var m=$('
')[0];domutils.setAttribute(m,\"data-bind\",o);var h=domutils.getInnerHtml($(\"
\").append(m));domutils.setContent(t,h)}else r=(null!==(i=domutils.getAttribute(t,\"data-bind\"))?i+\", \":\"\")+o,domutils.setAttribute(t,\"data-bind\",r),domutils.setContent(t,\"\");domutils.removeAttribute(t,\"data-ko-editable\")}else{var p=domutils.getAttribute(t,\"width\");if(\"\"===p&&(p=null),null===p)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 f=domutils.getAttribute(t,\"align\"),k=(i=domutils.getAttribute(t,\"data-bind\"))&&i.match(/virtualAttr: {[^}]* height: ([^,}]*)[,}]/);k&&(b=k[1]);var g=i&&i.match(/virtualAttr: {[^}]* width: ([^,}]*)[,}]/);g&&(p=g[1]);var w,A,y=\"\";(a=domutils.getAttribute(t,\"data-ko-placeholder-src\"))?y=domutils.getAttribute(t,\"src\"):a=domutils.getAttribute(t,\"src\"),p&&b?w=p+\"+'x'+\"+b:b?p||(w=\"'h'+\"+b+\"+''\"):w=\"'w'+\"+p+\"+''\";var x=b||domutils.getAttribute(t,\"data-ko-placeholder-height\"),_=p||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\"),a&&(A=\"{ width: \"+_+\", height: \"+x+\", text: \"+w+\"}\"),!_||!x)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 D=v(s,y,!1,\"wysiwyg\");r=(null!==i?i+\", \":\"\")+(o=\"wysiwygSrc: { width: \"+p+\", height: \"+b+\", src: \"+D+\", placeholder: \"+A+\" }\"),domutils.setAttribute(t,\"data-bind\",r);var I=c(t),R=\"{ width: \"+p;\"left\"==f?R+=\", float: 'left'\":\"right\"==f?R+=\", float: 'right'\":\"center\"==f&&(\"function\"==typeof console.debug?console.debug(\"Ignoring align=center on an img tag: we don't know how to emulate this alignment in the editor!\"):\"top\"==f?R+=\", verticalAlign: 'top'\":\"middle\"==f?R+=\", verticalAlign: 'middle'\":\"bottom\"==f&&(R+=\", verticalAlign: 'bottom'\")),R+=\"}\",$(t).before(\"\\x3c!-- ko wysiwygImg: { _data: $data, _item: \"+l+\", _template: '\"+I+\"', _editTemplate: 'img-wysiwyg', _src: \"+D+\", _width: \"+p+\", _height: \"+b+\", _align: \"+(null===f?void 0:\"'\"+f+\"'\")+\", _size: \"+w+\", _method: \"+void 0+\", _placeholdersrc: \"+A+\", _stylebind: \"+R+\" } --\\x3e\"),$(t).after(\"\\x3c!-- /ko --\\x3e\")}}),$(\"[href]\",e).each(function(e,t){var o=domutils.getAttribute(t,\"href\"),a=\"wysiwygHref: '\"+converterUtils.addSlashes(o)+\"'\",i=domutils.getAttribute(t,\"data-bind\"),r=(null!==i?i+\", \":\"\")+a;domutils.setAttribute(t,\"data-bind\",r)}),$(\"replacedblock\",e).each(function(e,r){var s=u[e],m=processBlock(s,t,o,a,i,\"block\",n,d,!0,c),h=modelDef.ensurePathAndGetBindValue(t,o,l,n,\"\",m);$(r).before(\"\\x3c!-- ko block: { data: \"+converterUtils.addSlashes(h)+\", template: 'block' } --\\x3e\"),$(r).after(\"\\x3c!-- /ko --\\x3e\"),$(r).remove()}),$($(\"[data-ko-wrap]\",e).get().reverse(),e).each(function(e,t){var o=domutils.getAttribute(t,\"data-ko-wrap\");if(void 0===o||\"\"===o||\"true\"===o)throw\"Unsupported empty value for data-ko-wrap: use false value if you want to always remove the tag\";var a,i,r=converterUtils.conditionBinding(o,v),l=domutils.getAttribute(t,\"data-bind\");if(\"\"!==l&&null!==l&&l.match(/(block|wysiwygOrHtml):/)){var d=\"\\x3c!-- ko \"+l+\" --\\x3e\"+domutils.getInnerHtml(t)+\"\\x3c!-- /ko --\\x3e\";a=c(d),domutils.removeAttribute(t,\"data-ko-wrap\"),i=c(t),domutils.replaceHtml(t,\"\\x3c!-- ko template: /* special */ (typeof templateMode != 'undefined' && templateMode == 'wysiwyg') || \"+r+\" ? '\"+i+\"' : '\"+a+\"' --\\x3e\\x3c!-- /ko --\\x3e\")}else a=c(domutils.getInnerHtml(t)),domutils.removeAttribute(t,\"data-ko-wrap\"),domutils.setContent(t,\"\\x3c!-- ko template: '\"+a+\"' --\\x3e\\x3c!-- /ko --\\x3e\"),i=c(t),domutils.replaceHtml(t,\"\\x3c!-- ko template: (typeof templateMode != 'undefined' && templateMode == 'wysiwyg') || \"+r+\" ? '\"+i+\"' : '\"+a+\"' --\\x3e\\x3c!-- /ko --\\x3e\")}),c(e,n,\"show\"),a(l,n,r,d),n}catch(t){throw console.error(\"Exception while parsing the template\",t,e),t}};function conditional_replace(e){return e.replace(//g,function(e,t,o){var a=\"\\x3c!-- cc:start --\\x3e\";a+=o.replace(/<([A-Za-z:]+)/g,\"\\x3c!-- cc:bo:$1 --\\x3e/g,\"\\x3c!-- cc:bc:$1 --\\x3e\\x3c!-- cc:ac:$1 --\\x3e\").replace(/\\/>/g,\"/>\\x3c!-- cc:sc --\\x3e\"),a+=\"\\x3c!-- cc:end --\\x3e\";var i='';return(i+=$(\"
\").append($(a)).html().replace(/^/,\"\").replace(/$/,\"\"))+\"\"})}var translateTemplate=function(e,t,o,a){var i={},r=conditional_replace(t.replace(/(<[^>]+\\s)(style|http-equiv)(=\"[^\"]*\"[^>]*>)/gi,function(e,t,o,a){return t+\"replaced\"+o+a})),l=\"function\"==typeof $.parseHTML?$($.parseHTML(r,!1)):$(r),d=l[0],s=[],c=function(e,t,o,a){s.push({root:e,block:t,context:o,container:a})},n=function(e,t,o){if(void 0===i.themes&&(i.themes={}),void 0===i.themes[e]&&(i.themes[e]={}),void 0===i.themes[e][t]||null===i.themes[e][t])i.themes[e][t]=o;else if(null!=o){var a=i.themes[e][t];a!=o&&console.log(\"Error setting a new default for property \"+t+\" in theme \"+e+\". old:\"+a+\" new:\"+o+\"!\")}},u=$(\"[data-ko-container]\",l),m={};u.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 a=$(\"> [data-ko-block]\",t);domutils.removeElements(a,!0),m[o]=a}),modelDef.createOrUpdateBlockDef(i,\"id\"),modelDef.createOrUpdateBlockDef(i,\"bodyTheme\"),modelDef.createOrUpdateBlockDef(i,\"blocks\",\"blocks[]\"),modelDef.createOrUpdateBlockDef(i,\"text\"),processBlock(d,i,n,c,o,\"template\",e,void 0,!1,a);var h=function(t,r,l){processBlock(l,i,n,c,o,\"block\",e,t,!0,a)};for(var p in m)if(m.hasOwnProperty(p)){var b=m[p],v=p;modelDef.ensurePathAndGetBindValue(i,n,e,e,\"\",v+\".blocks\",\"[]\"),b.each(h.bind(void 0,v))}var f={_defs:i,templateName:e,_blocks:s};return void 0!==i[e]._version&&(f.version=i[e]._version),f};module.exports=translateTemplate;\n\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInBhcnNlci5qcyJdLCJuYW1lcyI6WyIkIiwid2luZG93IiwialF1ZXJ5IiwiZ2xvYmFsIiwiY29uc29sZSIsInJlcXVpcmUiLCJjb252ZXJ0ZXJVdGlscyIsImVsYWJvcmF0ZURlY2xhcmF0aW9ucyIsInByb2Nlc3NTdHlsZXNoZWV0UnVsZXMiLCJtb2RlbERlZiIsImRvbXV0aWxzIiwid3JhcEVsZW1lbnRXaXRoQ29uZGl0aW9uIiwiYXR0cmlidXRlIiwiZWxlbWVudCIsImJpbmRpbmdQcm92aWRlciIsImNvbmQiLCJnZXRBdHRyaWJ1dGUiLCJiaW5kaW5nIiwiY29uZGl0aW9uQmluZGluZyIsImJlZm9yZSIsImFmdGVyIiwicmVtb3ZlQXR0cmlidXRlIiwiZSIsIndhcm4iLCJyZXBsYWNlZEF0dHJpYnV0ZXMiLCJhdHRyaWJ1dGVOYW1lIiwic2V0QXR0cmlidXRlIiwicHJvY2Vzc1N0eWxlIiwidGVtcGxhdGVVcmxDb252ZXJ0ZXIiLCJhZGRVbmlxdWVJZCIsIm5ld0JpbmRpbmdzIiwic3R5bGUiLCJuZXdTdHlsZSIsInVuaXF1ZUlkIiwiYXR0ciIsImlkIiwicmVtb3ZlRGlzcGxheU5vbmUiLCJ0cmltIiwibGVuZ3RoIiwiX2ZpeFJlbGF0aXZlUGF0aCIsImluZGV4IiwibmV3VXJsIiwicHJvY2Vzc0Jsb2NrIiwiZGVmcyIsInRoZW1lVXBkYXRlciIsImJsb2NrUHVzaGVyIiwiY29udGV4dE5hbWUiLCJyb290TW9kZWxOYW1lIiwiY29udGFpbmVyTmFtZSIsImdlbmVyYXRlVW5pcXVlSWQiLCJ0ZW1wbGF0ZUNyZWF0b3IiLCJ0ZW1wbGF0ZU5hbWUiLCJyZW1vdmUiLCJmaXhlZEJsb2NrcyIsInJlcGxhY2VXaXRoIiwidXJsYXR0cnMiLCJpIiwiZnVuYyIsImJpbmQiLCJlYWNoIiwiZGF0YURlZnMiLCJjcmVhdGVPclVwZGF0ZUJsb2NrRGVmIiwiZW5zdXJlUGF0aEFuZEdldEJpbmRWYWx1ZSIsImdldElubmVySHRtbCIsImJsb2NrRGVmc1VwZGF0ZXIiLCJsb2NhbFdpdGhCaW5kaW5nUHJvdmlkZXIiLCJ0bXBOYW1lIiwic2V0Q29udGVudCIsInJlbW92ZUVsZW1lbnRzIiwibm90c3VwcG9ydGVkIiwiaiIsInVybFZhciIsInJlcFN0eWxlIiwibmV3QmluZGluZyIsImRlZmF1bHRWYWx1ZSIsImN1cnJlbnRCaW5kaW5ncyIsImRhdGFCaW5kIiwiaXRlbUJpbmRWYWx1ZSIsInNlbGVjdEJpbmRpbmciLCJkYXRhRWRpdGFibGUiLCJsYXN0SW5kZXhPZiIsInN1YnMiLCJzdWJzdHIiLCJnZXRMb3dlclRhZ05hbWUiLCJtb2RlbEJpbmRWYWx1ZSIsInJlcGxhY2UiLCJ3cmFwcGluZ0RpdiIsIm5ld0NvbnRlbnQiLCJhcHBlbmQiLCJ3aWR0aCIsImVycm9yIiwiaGVpZ2h0IiwiYWxpZ24iLCJkeW5IZWlnaHQiLCJtYXRjaCIsImR5bldpZHRoIiwic2l6ZSIsInBsYWNlaG9sZGVyc3JjIiwidmFsdWUiLCJwbGhlaWdodCIsInBsd2lkdGgiLCJiaW5kaW5nVmFsdWUiLCJ0bXBsTmFtZSIsImNvbnRhaW5lckJpbmQiLCJkZWJ1ZyIsImF0dHJWYWx1ZSIsImFkZFNsYXNoZXMiLCJibG9ja0VsZW1lbnQiLCJibG9ja05hbWUiLCJnZXQiLCJyZXZlcnNlIiwiaW5uZXJUbXBsTmFtZSIsIm91dGVyVG1wbE5hbWUiLCJjb25kQmluZGluZyIsImlubmVyVG1wbENvbnRlbnQiLCJyZXBsYWNlSHRtbCIsImNvbmRpdGlvbmFsX3JlcGxhY2UiLCJodG1sIiwiY29uZGl0aW9uIiwiYm9keSIsImRkIiwib3V0cHV0IiwidHJhbnNsYXRlVGVtcGxhdGUiLCJyZXBsYWNlZEh0bWwiLCJwMSIsInAyIiwicDMiLCJjb250ZW50IiwicGFyc2VIVE1MIiwiYmxvY2tzIiwiX2Jsb2NrUHVzaGVyIiwicm9vdE5hbWUiLCJwdXNoIiwicm9vdCIsImJsb2NrIiwiY29udGV4dCIsImNvbnRhaW5lciIsIm5hbWUiLCJrZXkiLCJ2YWwiLCJ0aGVtZXMiLCJwcmVjVmFsIiwibG9nIiwiY29udGFpbmVycyIsImNvbnRhaW5lcnNEb20iLCJjb250YWluZXJCbG9ja3MiLCJ1bmRlZmluZWQiLCJibG9ja1Byb2Nlc3MiLCJwcm9wIiwiaGFzT3duUHJvcGVydHkiLCJ0ZW1wbGF0ZURlZiIsIl9kZWZzIiwiX2Jsb2NrcyIsIl92ZXJzaW9uIiwidmVyc2lvbiIsIm1vZHVsZSIsImV4cG9ydHMiXSwibWFwcGluZ3MiOiJBQUFBLGFBR0EsSUFBSUEsRUFBdUIsb0JBQVhDLE9BQXlCQSxPQUFlQyxPQUFzQixvQkFBWEMsT0FBeUJBLE9BQWVELE9BQUksS0FDM0dFLFFBQVVDLFFBQVEsc0JBQ2xCQyxlQUFpQkQsUUFBUSxjQUN6QkUsc0JBQXdCRixRQUFRLHFCQUNoQ0csdUJBQXlCSCxRQUFRLG1CQUNqQ0ksU0FBV0osUUFBUSxjQUNuQkssU0FBV0wsUUFBUSxpQkFFbkJNLHlCQUEyQixTQUFTQyxFQUFXQyxFQUFTQyxHQUMxRCxJQUFJQyxFQUFPTCxTQUFTTSxhQUFhSCxFQUFTRCxHQUUxQyxJQUNFLElBQUlLLEVBQVVYLGVBQWVZLGlCQUFpQkgsRUFBTUQsR0FDcERkLEVBQUVhLEdBQVNNLE9BQU8sa0JBQWlCRixFQUFVLFdBQzdDakIsRUFBRWEsR0FBU08sTUFBTSxzQkFDakJWLFNBQVNXLGdCQUFnQlIsRUFBU0QsR0FDbEMsTUFBT1UsR0FFUCxNQURBbEIsUUFBUW1CLEtBQUsseUNBQTBDVixFQUFTRSxFQUFNSCxHQUNoRVUsSUFLTkUsbUJBQXFCLFNBQVNYLEVBQVNZLEdBQ3pDZixTQUFTZ0IsYUFBYWIsRUFBU1ksRUFBZWYsU0FBU00sYUFBYUgsRUFBUyxXQUFhWSxLQUd4RkUsYUFBZSxTQUFTZCxFQUFTZSxFQUFzQmQsRUFBaUJlLEdBQzFFLElBRUlDLEVBRkFDLEVBQVFyQixTQUFTTSxhQUFhSCxFQUFTLGlCQUN2Q21CLEVBQVcsS0FFWEgsSUFBYUMsRUFBYyxDQUM3QkcsU0FBVSxRQUNWQyxLQUFNLENBQ0pDLEdBQUksUUFJUixJQUFJQyxFQUEwRSxPQUF0RDFCLFNBQVNNLGFBQWFILEVBQVMsbUJB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", + "\"use strict\";var cssParse=require(\"mensch/lib/parser.js\"),console=require(\"console-browserify\"),converterUtils=require(\"./utils.js\"),elaborateDeclarations=require(\"./declarations.js\"),_removeOptionalQuotes=function(e){return\"'\"!=e[0]&&'\"'!=e[0]||e[e.length-1]!=e[0]?e:e.substr(1,e.length-2).replace(/\\\\([\\s\\S])/gm,\"$1\")},_processStyleSheetRules_processBlockDef=function(e,t){for(var o,s,r,l=0;l=0;d--){if(\"supports\"==t[d].type&&\"-ko-blockdefs\"==t[d].name)_processStyleSheetRules_processBlockDef(s,t[d].rules),c=converterUtils.removeStyle(c,t[d].position.start,p,0,0,0,\"\");else if(\"media\"==t[d].type||\"supports\"==t[d].type)c=processStylesheetRules(c,t[d].rules,o,s,r,l,n,i);else if(\"comment\"==t[d].type);else if(\"rule\"==t[d].type){for(var f=t[d].selectors,h=\"\",m=null,v=0;v0&&(h+=\", \");var y=f[v].match(/\\[data-ko-block=([^ ]*)\\]/);if(null!==y){if(null!==m&&m!=y[1])throw\"Found multiple block-match attribute selectors: cannot translate it (\"+m+\" vs \"+y[1]+\")\";m=y[1]}h+=\"\\x3c!-- ko text: templateMode =='wysiwyg' ? '#main-wysiwyg-area ' : '' --\\x3e\\x3c!-- /ko --\\x3e\"+f[v]}if(m){var k=\"\\x3c!-- ko foreach: $root.findObjectsOfType($data, '\"+m+\"') --\\x3e\",x=p,g=\" \";t[d].declarations.length>0&&(t[d].declarations[0].position.start.line!=t[d].position.end.line&&(g=\"\\n\"+new Array(t[d].position.start.col).join(\" \")),x=t[d].declarations[t[d].declarations.length-1].position.end),null===x?c+=g+\"\\x3c!-- /ko --\\x3e\":c=x==p?converterUtils.removeStyle(c,x,p,0,0,0,g+\"\\x3c!-- /ko --\\x3e\"):converterUtils.removeStyle(c,x,p,0,0,0,g+\"}\"+g+\"\\x3c!-- /ko --\\x3e\"),h=k+g+h.replace(new RegExp(\"\\\\[data-ko-block=\"+m+\"\\\\]\",\"g\"),\"\\x3c!-- ko text: '#'+id() --\\x3e\"+m+\"\\x3c!-- /ko --\\x3e\"),s(m,\"\",{contextName:\"block\"})}var b=m||i;a=o.bind(this,b,\"\");var w=elaborateDeclarations(c,t[d].declarations,l,a);null!==w&&(c=w),c=converterUtils.removeStyle(c,t[d].position.start,t[d].position.end,0,0,0,h)}else console.log(\"Unknown rule type\",t[d].type,\"while parsing + + + + + + +
+ +
+ + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + +
\ No newline at end of file diff --git a/protected/reports/.gitignore b/client/static/mosaico/uploads/.gitignore similarity index 53% rename from protected/reports/.gitignore rename to client/static/mosaico/uploads/.gitignore index d5b76284..e5af87e9 100644 --- a/protected/reports/.gitignore +++ b/client/static/mosaico/uploads/.gitignore @@ -1,3 +1,3 @@ -* -!.gitignore +* +!.gitignore !README.md \ No newline at end of file diff --git a/client/static/mosaico/uploads/README.md b/client/static/mosaico/uploads/README.md new file mode 100644 index 00000000..97dd7a7d --- /dev/null +++ b/client/static/mosaico/uploads/README.md @@ -0,0 +1,2 @@ +This is a directory for images uploaded to Mosaico in Mailtrain ver. 1. +Move the content from /public/mosaico/uploads to here (/client/static/mosaico/uploads). diff --git a/public/subscription/form-input-style.css b/client/static/subscription/form-input-style.css similarity index 98% rename from public/subscription/form-input-style.css rename to client/static/subscription/form-input-style.css index a44d33df..c73c17ff 100644 --- a/public/subscription/form-input-style.css +++ b/client/static/subscription/form-input-style.css @@ -199,11 +199,10 @@ textarea { /* --- Other ------------- */ -.help-block { +.option-help-block { display: block; - font-size: .9em; - line-height: 1; - color: #999999; + margin-left: 3px; + margin-bottom: 4px; } form a { diff --git a/public/subscription/widget.js b/client/static/subscription/widget.js similarity index 100% rename from public/subscription/widget.js rename to client/static/subscription/widget.js diff --git a/client/webpack.config.js b/client/webpack.config.js new file mode 100644 index 00000000..4faa24f0 --- /dev/null +++ b/client/webpack.config.js @@ -0,0 +1,106 @@ +const webpack = require('webpack'); +const path = require('path'); + +module.exports = { + mode: 'development', + plugins: [ + ], + entry: { + "root": ['./src/root.js'], + "mosaico-root": ['./src/lib/sandboxed-mosaico-root.js'], + "ckeditor-root": ['./src/lib/sandboxed-ckeditor-root.js'], + "grapesjs-root": ['./src/lib/sandboxed-grapesjs-root.js'], + "codeeditor-root": ['./src/lib/sandboxed-codeeditor-root.js'], + }, + output: { + library: 'MailtrainReactBody', + filename: '[name].js', + path: path.resolve(__dirname, 'dist') + }, + module: { + rules: [ + { + test: /\.(js|jsx)$/, + exclude: path.join(__dirname, 'node_modules'), + use: [ + { + loader: 'babel-loader', + options: { + presets: [ + ['@babel/preset-env', { + targets: { + "chrome": "58", + "edge": "15", + "firefox": "55", + "ios": "10" + } + }], + '@babel/preset-react' + ], + plugins: [ + ["@babel/plugin-proposal-decorators", { "legacy": true }], + ["@babel/plugin-proposal-class-properties", { "loose" : true }], + "@babel/plugin-proposal-function-bind" + ] + } + } + ] + }, + { + test: /\.css$/, + use: [ + { + loader: 'style-loader' + }, + { + loader: 'css-loader' + } + ] + }, + { + test: /\.(png|jpg|gif)$/, + use: [ + { + loader: 'url-loader', + options: { + limit: 8192 // inline base64 URLs for <=8k images, direct URLs for the rest + } + } + ] + }, + { + test: /\.scss$/, + exclude: path.join(__dirname, 'node_modules'), + use: [ + 'style-loader', + { + loader: 'css-loader', + options: { + modules: true, + localIdentName: '[path][name]__[local]--[hash:base64:5]' + } + }, + 'sass-loader' + ] + }, + { + test: /\.(svg|otf|woff2|woff|ttf|eot)$/, + use: [ + 'url-loader' + ] + } + ] + }, + externals: { + jquery: 'jQuery', + csrfToken: 'csrfToken', + mailtrainConfig: 'mailtrainConfig' + }, + plugins: [ +// new webpack.optimize.UglifyJsPlugin(), + ], + watchOptions: { + ignored: 'node_modules/', + poll: 2000 + } +}; diff --git a/config/default.toml b/config/default.toml deleted file mode 100644 index 17905ecd..00000000 --- a/config/default.toml +++ /dev/null @@ -1,216 +0,0 @@ -# This file is the default config file for Mailtrain. To use a environment specific -# configuration add new file {ENV}.{ext} (eg. "production.toml") to the same folder. -# {ENV} is defined by NODE_ENV environment variable. -# -# Do not modify this file directly, otherwise you might lose your modifications when upgrading -# -# You should only define the options you want to change in your additional config file. -# For example if the only thing you want to change is the port number for the www server -# then your additional config file should look like this: -# # production.toml -# [www] -# port=80 -# or if you want to use Javascript instead of TOML then the same file could look like this: -# // production.js -# module.exports = { -# www: { -# port: 80 -# } -# }; - -# Process title visible in monitoring logs and process listing -title="mailtrain" - -# Enabled HTML editors -editors=[ - ["summernote", "Summernote"], - ["grapejs", "GrapeJS"], - ["mosaico", "Mosaico"], - ["codeeditor", "Code Editor"] -] - -# Default language to use -language="en" - -# Inject custom styles in layout.hbs -# customstyles=["/custom/hello-world.css"] - -# Inject custom scripts in layout.hbs -# customscripts=["/custom/hello-world.js"] - -# Inject custom scripts in subscription/layout.mjml.hbs -# customsubscriptionscripts=["/custom/hello-world.js"] - -# If you start out as a root user (eg. if you want to use ports lower than 1000) -# then you can downgrade the user once all services are up and running -#user="mailtrain" -#group="mailtrain" - -# If Mailtrain is started as root, "Reports" feature drops the privileges of script generating the report to disallow -# any modifications of Mailtrain code and even prohibits reading the production configuration (which contains the MySQL -# password for read/write operations). The rouser/rogroup determines the user to be used -#rouser="nobody" -#rogroup="nogroup" - -[log] -# silly|verbose|info|http|warn|error|silent -level="verbose" - -[www] -# HTTP port to listen on -port=3000 -# HTTP interface to listen on -host="0.0.0.0" -# Enable HTTPS -https=false -# HTTPS certificate file name -cert="cert.pem" -# HTTPS certificate private key file name -key="key.pem" -# HTTPS ca certificate file name -#ca="ca-certificate.pem" -# HTTPS Diffie Hellman parameters (generate with openssl dhparam) -#dhparams="dhparams.pem" -# Secret for signing the session ID cookie -secret="a cat" -# Session length in seconds when "remember me" is checked -remember=2592000 # 30 days -# logger interface for expressjs morgan -log="dev" -# Is the server behind a proxy? true/false -# Set this to true if you are serving Mailtrain as a virtual domain through Nginx or Apache -proxy=false -# maximum POST body size -postsize="2MB" -# Uncomment to set uploads folder location for temporary data. Defaults to os.tmpdir() -# If the service is started by `npm start` then os.tmpdir() points to CWD -#tmpdir="/tmp" - -[mysql] -host="localhost" -user="mailtrain" -password="mailtrain" -database="mailtrain" -# Some installations, eg. MAMP can use a different port (8889) -# MAMP users should also turn on "Allow network access to MySQL" otherwise MySQL might not be accessible -port=3306 -charset="utf8mb4" -# The timezone configured on the MySQL server. This can be 'local', 'Z', or an offset in the form +HH:MM or -HH:MM -timezone="local" - -[redis] -# enable to use Redis session cache or disable if Redis is not installed -enabled=false -host="localhost" -port=6379 -db=5 -# Uncomment if your Redis installation requires a password -#password="" - -[verp] -# Enable to start an MX server that detects bounced messages using VERP -# In most cases you do not want to use it -# Requires root privileges -enabled=false -port=2525 -host="0.0.0.0" -# With DMARC, the Return-Path and From address must match the same domain. -# By default we get around this by using the VERP address in the Sender header, -# with the side effect that some email clients diplay an ugly "on behalf of" message. -# You can safely disable this Sender header if you're not using DMARC or your -# VERP hostname is in the same domain as the From address. -# disablesenderheader=true - -[ldap] -# enable to use ldap user backend -enabled=false -url="ldap://localhost:3002" -baseDN="ou=users,dc=company" -filter="(|(username={{username}})(mail={{username}}))" -#Username field in LDAP (uid/cn/username) -uidTag="username" -passwordresetlink="" -# Use a different user to bind LDAP (final bind DN will be: {{uidTag}}={{bindUser}},{{baseDN}}) -bindUser="" -bindPassword="" -#ca="self-signed-ca.pem" - -[ldapauth] -# Alternative LDAP implementation using the more popular passport-ldapauth library. -enabled=false -url="ldap://localhost:389" -# Subtree in which the searchrequest for the user is done -baseDN="ou=users,dc=company" -# What whe are searching for. This should return a single user. -filter="(|(sAMAccountName={{username}})(mail={{username}}))" -# Username field in LDAP, used to identify the user in Mailtrain (uid/cn/username/sAMAccountName) -uidTag="sAMAccountName" -passwordresetlink="" -# Credentials for the initial search operation (final bind DN will be exactly as specified) -bindUser="name@company.net" -bindPassword="mySecretPassword" -#ca="self-signed-ca.pem" - -[postfixbounce] -# Enable to allow writing Postfix bounce log to Mailtrain listener -# If enabled, tail mail.log to Mailtrain with the following command: -# tail -f -n +0 /var/log/mail.log | nc localhost 5699 - -enabled=false -port=5699 -# allow connections from localhost only -host="127.0.0.1" - -# extra options for nodemailer -[nodemailer] -#textEncoding="base64" - -[queue] -# How many parallel sender processes to spawn -# You can use more than 1 process only if you have Redis enabled -processes=1 - -[cors] -# Allow subscription widgets to be embedded -# origins=['https://www.example.com'] - -[mosaico] -# Installed templates -templates=[["versafix-1", "Versafix One"]] -# Inject custom scripts -# customscripts=["/mosaico/custom/my-mosaico-plugin.js"] - -[grapejs] -# Installed templates -templates=[ - ["demo", "HTML Template"], - ["aves", "MJML Template"] -] - -[reports] -# The whole reporting functionality can be disabled below if the they are not needed and the DB cannot be -# properly protected. -# Reports rely on custom user defined Javascript snippets defined in the report template. The snippets are run on the -# server when generating a report. As these snippets are stored in the DB, they pose a security risk because they can -# help gaining access to the server if the DB cannot -# be properly protected (e.g. if it is shared with another application with security weaknesses). -# Mailtrain mitigates this problem by running the custom Javascript snippets in a chrooted environment and under a -# DB user that cannot modify the database (see userRO in [mysql] above). However the chrooted environment is available -# only if Mailtrain is started as root. The chrooted environment still does not prevent the custom JS script in -# performing network operations and in generating XSS attacks as part of the report. -# The bottom line is that if people who are creating report templates or have write access to the DB cannot be trusted, -# then it's safer to switch off the reporting functionality below. -enabled=false - -[testserver] -# Starts a vanity server that redirects all mail to /dev/null -# Mostly needed for local development -enabled=false -port=5587 -mailboxserverport=3001 -host="0.0.0.0" -username="testuser" -password="testpass" -logger=false - -[seleniumwebdriver] -browser="phantomjs" diff --git a/config/docker-production.toml.tmpl b/config/docker-production.toml.tmpl deleted file mode 100644 index ca832181..00000000 --- a/config/docker-production.toml.tmpl +++ /dev/null @@ -1,9 +0,0 @@ -[mysql] -host="mysql" - -[redis] -enabled=true -host="redis" - -[reports] -enabled=true \ No newline at end of file diff --git a/docker-compose-local.yml b/docker-compose-local.yml new file mode 100644 index 00000000..f8d9f0d6 --- /dev/null +++ b/docker-compose-local.yml @@ -0,0 +1,39 @@ +version: '3' + +services: + mysql: + image: mariadb:10.4 + environment: + - MYSQL_ROOT_PASSWORD=mailtrain + - MYSQL_DATABASE=mailtrain + - MYSQL_USER=mailtrain + - MYSQL_PASSWORD=mailtrain + volumes: + - mysql-data:/var/lib/mysql + + redis: + image: redis:5 + volumes: + - redis-data:/data + + mongo: + image: mongo:4-xenial + volumes: + - mongo-data:/data/db + + mailtrain: + build: . + command: ${MAILTRAIN_SETTINGS} + ports: + - "3000:3000" + - "3003:3003" + - "3004:3004" + volumes: + - mailtrain-files:/app/server/files + +volumes: + mysql-data: + redis-data: + mongo-data: + mailtrain-files: + diff --git a/docker-compose.override.yml.tmpl b/docker-compose.override.yml.tmpl deleted file mode 100644 index 24b48ec6..00000000 --- a/docker-compose.override.yml.tmpl +++ /dev/null @@ -1,14 +0,0 @@ -version: '2' -services: - mysql: - restart: always - redis: - restart: always - mailtrain: - build: ./ - # volumes: - # - ./:/app - ports: - - "3000:3000" - restart: always - \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index ba00757e..4bf82f74 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,31 +1,39 @@ -version: '2' +version: '3' + services: mysql: - image: mysql:5.7 + image: mariadb:10.4 environment: - - MYSQL_ROOT_PASSWORD=mailtrain - - MYSQL_DATABASE=mailtrain - - MYSQL_USER=mailtrain - - MYSQL_PASSWORD=mailtrain + - MYSQL_ROOT_PASSWORD=mailtrain + - MYSQL_DATABASE=mailtrain + - MYSQL_USER=mailtrain + - MYSQL_PASSWORD=mailtrain volumes: - - mailtrain-mysq-data:/var/lib/mysql + - mysql-data:/var/lib/mysql + redis: - image: redis:3.0 + image: redis:5 volumes: - - mailtrain-redis-data:/data + - redis-data:/data + + mongo: + image: mongo:4-xenial + volumes: + - mongo-data:/data/db + mailtrain: - image: mailtrain:latest - depends_on: - - mysql - - redis + image: mailtrain/mailtrain:latest + command: ${MAILTRAIN_SETTINGS} + ports: + - "3000:3000" + - "3003:3003" + - "3004:3004" volumes: - - mailtrain-node-config:/app/config - - mailtrain-node-data:/app/public/grapejs/uploads - - mailtrain-node-data:/app/public/mosaico/uploads - - mailtrain-node-reports:/app/protected/reports + - mailtrain-files:/app/server/files + volumes: - mailtrain-mysq-data: {} - mailtrain-redis-data: {} - mailtrain-node-data: {} - mailtrain-node-config: {} - mailtrain-node-reports: {} + mysql-data: + redis-data: + mongo-data: + mailtrain-files: + diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh index 00101596..6914d668 100644 --- a/docker-entrypoint.sh +++ b/docker-entrypoint.sh @@ -1,18 +1,111 @@ #!/bin/bash set -e -if [ ! -f "/app/config/production.toml" ] ; then - echo "No production.toml, copying from docker-production.toml.tmpl" - cp /app/config/docker-production.toml.tmpl /app/config/production.toml -fi -if [ ! -f "/app/workers/reports/config/production.toml" ] ; then - echo "No production.toml for reports" - if [ -f "/app/config/production.toml" ] ; then - echo "copying config/production.toml to reports config directory" - cp /app/config/production.toml /app/workers/reports/config/production.toml - else - echo "copying config/docker-production.toml.tmpl to reports config directory as production.toml" - cp /app/config/docker-production.toml.tmpl /app/workers/reports/config/production.toml - fi -fi -exec "$@" \ No newline at end of file +function printHelp { + cat < server/config/production.yaml < server/services/workers/reports/config/production.yaml < Mailtrain requires at least **Node.js v7**. If you want to use an older version of Node.js then you should use version v1.24 of Mailtrain. You can either download it [here](https://github.com/Mailtrain-org/mailtrain/archive/v1.24.0.zip) or if using git then run `git checkout v1.24.0` before starting it +# FIXME: The info below needs to be updated to v2 !!! + ## Features @@ -265,7 +266,7 @@ Mailtrain uses webhooks integration to detect bounces and spam complaints. Curre * **SendGrid** – use `http://domain/webhooks/sendgrid` as the webhook URL for bounces and complaints ([instructions](https://github.com/Mailtrain-org/mailtrain/wiki/Setting-up-Webhooks-for-SendGrid)) * **Mailgun** – use `http://domain/webhooks/mailgun` as the webhook URL for bounces and complaints ([instructions](https://github.com/Mailtrain-org/mailtrain/wiki/Setting-up-Webhooks-for-Mailgun)) * **ZoneMTA** – use `http://domain/webhooks/zone-mta` as the webhook URL for bounces. If you install Mailtrain with the included installation script then this route gets set up automatically during the installation process - * **Postfix** – This is not a webhook but a TCP server on port 5699 to listen for piped Postfix logs. Enable it with the `[postfixbounce]` config option. To use it, pipe the log to that port using *tail*: `tail -F /var/log/mail.log | nc localhost 5699 -` (if Mailtrain restarts then you need to re-establish the *tail* pipe), alternatively you could send the log with a cron job periodically `tail -n 100 | nc localhost 5699 -`. + * **Postfix** – This is not a webhook but a TCP server on port 5699 to listen for piped Postfix logs. Enable it with the `[postfixBounce]` config option. To use it, pipe the log to that port using *tail*: `tail -F /var/log/mail.log | nc localhost 5699 -` (if Mailtrain restarts then you need to re-establish the *tail* pipe), alternatively you could send the log with a cron job periodically `tail -n 100 | nc localhost 5699 -`. Additionally Mailtrain (v1.1+) is able to use VERP-based bounce handling. This would require to have a compatible SMTP relay (the services mentioned above strip out or block VERP addresses in the SMTP envelope) and you also need to set up special MX DNS name that points to your Mailtrain installation server. @@ -273,7 +274,7 @@ If using VERP with iRedMail, see [this post](http://www.iredmail.org/forum/post4 ## Testing -There is a built in /dev/null server in Mailtrain that you can use to load test your installation. Check the `[testserver]` section in the configuration file for details. By default the test server is disabled. The server uses only cleartext connections, so select "Do not use encryption" in the encryption settings when setting up the server data in Mailtrain. +There is a built in /dev/null server in Mailtrain that you can use to load test your installation. Check the `[testServer]` section in the configuration file for details. By default the test server is disabled. The server uses only cleartext connections, so select "Do not use encryption" in the encryption settings when setting up the server data in Mailtrain. Additionally you can generate CSV import files with fake subscriber data: @@ -313,11 +314,11 @@ let str2 = util.format( _('My name is "%s"'), 'Mailtrain'); ### Translating Handlebars Files -Enclose translatable strings to `{{#translate}}` tags +Enclose translatable strings to `` tags ```handlebars

- Mailtrain – {{#translate}}the best newsletter app{{/translate}} + Mailtrain – the best newsletter app

``` diff --git a/docs/access-control.md b/docs/access-control.md new file mode 100644 index 00000000..053b88f1 --- /dev/null +++ b/docs/access-control.md @@ -0,0 +1,141 @@ +## Access Control + +This document describes the key features and concepts of the current state of +access control in Mailtrain. + +The current state provides user management and granular access control to reports +and report templates. The user management supports both local authentication and +LDAP-based authentication. + +The access control has two abstractions levels: a high-level intended to be used through web UI, +and low-level, intended to be configured once through the Mailtrain config file. The high-level +layer serves for providing access to variuous resources, while the low-level layer is meant +to define the access roles in Mailtrain to reflect an organisational or process hierarchy. + +### High-level access management (through web UI) + +On the high abstraction level, which is accessible to users via the web-based UI, Mailtrain +recognizes different entities (reports, report templates, etc.) and user roles that regulate +access to these entities (e.g. role "reporter" that allows viewing a report but prevents editing +or deleting it). Access to entities is provided through so called "shares". A share is essentially +a triple: entity - role - user. + +Mailtrain further features hierarchical namespaces. Every entity has to reside in a namespace +(in reality, the namespace itself is an entity to which access can be given). + +While sharing an entity with a user gives the user access to the particular entity (in the +scope of the role), sharing a namespace amounts to giving access to all entities within +the namespace and transitively in all child namespaces. The role that regulates the access to the +particular namespaces further determines the access to all different entity types that can +reside in the namespace. + +To simplify the management of permissions, every user is associated with one global role and +a namespace. The global role regulates access to global resources and operations (i.e. those +things that are not associated with any namespace). An example of such a global operation is +rebuilding the permission cache. Further, the global role determines a default share of the +root namespace and the namespace of the user. For example, an administrator's global role may +specify that a user get administrator's role in the root namespace, which effectively gives +him/her access to everything. + +Mailtrain resets these default shares at start and also whenever permission cache is rebuilt +(essentially every time user, namespace or some entity is created or when share or user's + role is assigned). This effectively prevents deleting or overriding the default shares that + the user has through the global role. + + +### Low-level access management (through config file) + +Internally, Mailtrain relies on fine-grained permissions, which are triplets: +user - operation - entity (e.g. user id 1 - view - report id 2). These permissions are stored +in a permission cache (in DB) and automatically generated at startup and whenever the permissions + could have changed. + +Mailtrain's config file defines the roles (available in the high-level access management) and +specifies the mapping of roles to operations. + +The roles are potentially different for each entity type/scope (currently global, namespace, report, +report template). Each role defines the permitted operations for the given entity type/scope. +A namespace role further defines allowed operations for entity types within and under the + namespace. + +The following defines the role master for scope "global". This effectively means that in +"Create/Edit User" form, the user can be given role "Master". +The role gives the permission to rebuild the permission cache. + +Further, it specifies that the +holder of the role will automatically be given access (share) to the root namespace in the +namespace role "master" (specified by ```rootNamespaceRole="master"```). This access to the root namespace is given irrespective of the namespace +in which the user is created. This highlight the dual purpose of namespaces: a) they group +entities w.r.t. access management, b) they allow categorizing entities and users in a hierarchy +to potentially reflect the organisational or process hierarchy. The latter is especially useful for +more enterprise applications where a single installation of Mailtrain serves a number of rather +independent groups. + +The global role defined below is also an admin role (denoted by the ```admin=true```), which means that user id 1 will always be reset to this role. +This serves as a kind of bootstrap that makes sure that there is always a user that can be +used to give access to other users. +``` +[roles.global.master] +name="Master" +admin=true +description="All permissions" +permissions=["rebuildPermissions"] +rootNamespaceRole="master" +``` + +Another example for a global role is the following. This one is intended for regular users. +As such, it does not automatically give access to everything. Rather, it gives limited access +to entities under the namespace in which the user has been created. This is specified by the +```ownNamespaceRole="editor"``` +``` +[roles.global.editor] +name="Editor" +description="Anything under own namespace except operations related to sending and doing reports" +permissions=[] +ownNamespaceRole="editor" +``` + +The roles for entities are defined in a similar fashion. The example below shows the definition +of the role "master" for "report" entities. It lists the operations that a user +that has "master" access to a particular report can do with the report. Note that to get the +"master" access to a particular report through this role, the report would either have to be shared with the user +with role "master". +``` +[roles.report.master] +name="Master" +description="All permissions" +permissions=["view", "edit", "delete", "share", "execute", "viewContent", "viewOutput"] +``` + +The same for the restricted role "editor" can look as follows. +``` +[roles.report.editor] +name="Editor" +description="Anything under own namespace except operations related to sending and doing reports" +permissions=["view", "viewContent", "viewOutput"] +``` + +The following defines the role "master" for "namespace" entities. Similarly to the example above, +it lists operations that relate to a namespace. In particular all "create" operations pertain +to a namespace rathen than to an entity, which at the time of creation does not exist yet. +Additionally, the namespace roles define permissions to all entity types under the namespace +(including child namespaces). +``` +[roles.namespace.master] +name="Master" +description="All permissions" +permissions=["view", "edit", "delete", "share", "createNamespace", "createReportTemplate", "createReport", "manageUsers"] + +[roles.namespace.master.children] +reportTemplate=["view", "edit", "delete", "share", "execute"] +report=["view", "edit", "delete", "share", "execute", "viewContent", "viewOutput"] +namespace=["view", "edit", "delete", "share", "createNamespace", "createReportTemplate", "createReport", "manageUsers"] +``` + +And the same for the more restricted role "editor". +``` +[roles.namespace.editor.children] +reportTemplate=[] +report=["view", "viewContent", "viewOutput"] +namespace=["view", "edit", "delete"] +``` \ No newline at end of file diff --git a/index.js b/index.js deleted file mode 100644 index 9428aaf4..00000000 --- a/index.js +++ /dev/null @@ -1,155 +0,0 @@ -'use strict'; - -/** - * Module dependencies. - */ - -const config = require('config'); -const log = require('npmlog'); -const app = require('./app'); -const http = require('http'); -const https = require('https'); -const fs = require('fs'); -const fork = require('child_process').fork; -const triggers = require('./services/triggers'); -const importer = require('./services/importer'); -const verpServer = require('./services/verp-server'); -const testServer = require('./services/test-server'); -const postfixBounceServer = require('./services/postfix-bounce-server'); -const tzupdate = require('./services/tzupdate'); -const feedcheck = require('./services/feedcheck'); -const dbcheck = require('./lib/dbcheck'); -const tools = require('./lib/tools'); -const reportProcessor = require('./lib/report-processor'); -const executor = require('./lib/executor'); -const privilegeHelpers = require('./lib/privilege-helpers'); - -let port = config.www.port; -let host = config.www.host; - -if (config.title) { - process.title = config.title; -} - -log.level = config.log.level; -app.set('port', port); - -/** - * Create HTTP/HTTPS server. - */ - -let server = (!config.www.https) ? http.createServer(app) : https.createServer({ - cert: fs.readFileSync(config.www.cert), - key: fs.readFileSync(config.www.key), - ca: config.www.ca ? fs.readFileSync(config.www.ca) : undefined, - dhparams: config.www.dhparams ? fs.readFileSync(config.www.dhparams) : undefined -}, app); - -// Check if database needs upgrading before starting the server -dbcheck(err => { - if (err) { - log.error('DB', err.message || err); - return process.exit(1); - } - /** - * Listen on provided port, on all network interfaces. - */ - server.listen(port, host); -}); - - -server.on('error', err => { - if (err.syscall !== 'listen') { - throw err; - } - - let bind = typeof port === 'string' ? 'Pipe ' + port : 'Port ' + port; - - // handle specific listen errors with friendly messages - switch (err.code) { - case 'EACCES': - log.error('Express', '%s requires elevated privileges', bind); - return process.exit(1); - case 'EADDRINUSE': - log.error('Express', '%s is already in use', bind); - return process.exit(1); - default: - throw err; - } -}); - -function spawnSenders(callback) { - let processes = Math.max(Number(config.queue.processes) || 1, 1); - let spawned = 0; - let returned = false; - - if (processes > 1 && !config.redis.enabled) { - log.error('Queue', '%s processes requested but Redis is not enabled, spawning 1 process', processes); - processes = 1; - } - - let spawnSender = function () { - if (spawned >= processes) { - if (!returned) { - returned = true; - return callback(); - } - return false; - } - - let child = fork(__dirname + '/services/sender.js', []); - let pid = child.pid; - tools.workers.add(child); - - child.on('close', (code, signal) => { - spawned--; - tools.workers.delete(child); - log.error('Child', 'Sender process %s exited with %s', pid, code || signal); - // Respawn after 5 seconds - setTimeout(() => spawnSender(), 5 * 1000).unref(); - }); - - spawned++; - setImmediate(spawnSender); - }; - - spawnSender(); -} - -server.on('listening', () => { - let addr = server.address(); - let bind = typeof addr === 'string' ? 'pipe ' + addr : 'port ' + addr.port; - log.info('Express', 'WWW server listening on %s', bind); - - // start additional services - function startNextServices() { - testServer(() => { - verpServer(() => { - - privilegeHelpers.dropRootPrivileges(); - - tzupdate(() => { - importer(() => { - triggers(() => { - spawnSenders(() => { - feedcheck(() => { - postfixBounceServer(() => { - reportProcessor.init(() => { - log.info('Service', 'All services started'); - }); - }); - }); - }); - }); - }); - }); - }); - }); - } - - if (config.reports && config.reports.enabled === true) { - executor.spawn(startNextServices); - } else { - startNextServices(); - } -}); diff --git a/languages/de_DE.mo b/languages/de_DE.mo deleted file mode 100644 index 3f1d6bd0..00000000 Binary files a/languages/de_DE.mo and /dev/null differ diff --git a/languages/de_DE.po b/languages/de_DE.po deleted file mode 100644 index 8002764e..00000000 --- a/languages/de_DE.po +++ /dev/null @@ -1,4639 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: \n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-05-04 00:45+0200\n" -"PO-Revision-Date: 2018-03-07 14:12+0100\n" -"Last-Translator: \n" -"Language-Team: \n" -"Language: de_DE\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.0.6\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: views/archive/layout.hbs:1 views/layout.hbs:1 -msgid "Self hosted email newsletter app" -msgstr "Selbst gehostete Newsletter-App" - -#: views/blacklist.hbs:1 views/campaigns/blacklisted.hbs:1 -#: views/campaigns/bounced.hbs:1 views/campaigns/campaigns.hbs:1 -#: views/campaigns/clicked.hbs:1 views/campaigns/complained.hbs:1 -#: views/campaigns/create-rss.hbs:1 views/campaigns/create-triggered.hbs:1 -#: views/campaigns/create.hbs:1 views/campaigns/delivered.hbs:1 -#: views/campaigns/edit-rss.hbs:1 views/campaigns/edit-triggered.hbs:1 -#: views/campaigns/edit.hbs:1 views/campaigns/opened.hbs:1 -#: views/campaigns/unsubscribed.hbs:1 views/campaigns/upload-attachment.hbs:1 -#: views/campaigns/view.hbs:1 views/lists/create.hbs:1 views/lists/edit.hbs:1 -#: views/lists/fields/create.hbs:1 views/lists/fields/edit.hbs:1 -#: views/lists/fields/fields.hbs:1 views/lists/forms/create.hbs:1 -#: views/lists/forms/edit.hbs:1 views/lists/forms/forms.hbs:1 -#: views/lists/lists.hbs:1 views/lists/segments/create.hbs:1 -#: views/lists/segments/edit.hbs:1 views/lists/segments/rule-configure.hbs:1 -#: views/lists/segments/rule-create.hbs:1 views/lists/segments/rule-edit.hbs:1 -#: views/lists/segments/segments.hbs:1 views/lists/segments/view.hbs:1 -#: views/lists/subscription/add.hbs:1 views/lists/subscription/edit.hbs:1 -#: views/lists/subscription/import-failed.hbs:1 -#: views/lists/subscription/import-preview.hbs:1 -#: views/lists/subscription/import.hbs:1 views/lists/view.hbs:1 -#: views/report-templates/create.hbs:1 views/report-templates/edit.hbs:1 -#: views/report-templates/report-templates.hbs:1 -#: views/reports/create-select-template.hbs:1 views/reports/create.hbs:1 -#: views/reports/edit.hbs:1 views/reports/output.hbs:1 -#: views/reports/reports.hbs:1 views/reports/view.hbs:1 views/settings.hbs:1 -#: views/templates/create.hbs:1 views/templates/edit.hbs:1 -#: views/templates/templates.hbs:1 views/triggers/create-select.hbs:1 -#: views/triggers/create.hbs:1 views/triggers/edit.hbs:1 -#: views/triggers/triggered.hbs:1 views/triggers/triggers.hbs:1 -#: views/users/account.hbs:1 views/users/api.hbs:1 views/users/forgot.hbs:1 -#: views/users/login.hbs:1 views/users/reset.hbs:1 app.js:169 -msgid "Home" -msgstr "Home" - -#: views/blacklist.hbs:2 views/blacklist.hbs:3 views/layout.hbs:7 -#: views/lists/subscription/edit.hbs:15 -msgid "Blacklist" -msgstr "Blacklist" - -#: views/blacklist.hbs:4 views/users/api.hbs:55 -msgid "Add email to blacklist" -msgstr "E-Mail zur Blacklist hinzufügen" - -#: views/blacklist.hbs:5 -msgid "Add" -msgstr "Hinzufügen" - -#: views/blacklist.hbs:6 -msgid "Email" -msgstr "E-Mail" - -#: views/campaigns/blacklisted.hbs:2 views/campaigns/bounced.hbs:2 -#: views/campaigns/campaigns.hbs:2 views/campaigns/campaigns.hbs:7 -#: views/campaigns/clicked.hbs:2 views/campaigns/complained.hbs:2 -#: views/campaigns/create-rss.hbs:2 views/campaigns/create-triggered.hbs:2 -#: views/campaigns/create.hbs:2 views/campaigns/delivered.hbs:2 -#: views/campaigns/edit-rss.hbs:2 views/campaigns/edit-triggered.hbs:2 -#: views/campaigns/edit.hbs:2 views/campaigns/opened.hbs:2 -#: views/campaigns/unsubscribed.hbs:2 views/campaigns/upload-attachment.hbs:2 -#: views/campaigns/view.hbs:2 lib/tools.js:126 routes/campaigns.js:35 -msgid "Campaigns" -msgstr "Kampagnen" - -#: views/campaigns/blacklisted.hbs:3 views/campaigns/blacklisted.hbs:4 -msgid "Blacklisted info" -msgstr "Blacklisted info" - -#: views/campaigns/blacklisted.hbs:5 views/campaigns/bounced.hbs:5 -#: views/campaigns/clicked.hbs:5 views/campaigns/complained.hbs:5 -#: views/campaigns/delivered.hbs:5 views/campaigns/edit-rss.hbs:5 -#: views/campaigns/edit-triggered.hbs:5 views/campaigns/edit.hbs:5 -#: views/campaigns/opened.hbs:5 views/campaigns/unsubscribed.hbs:5 -#: views/campaigns/upload-attachment.hbs:6 -msgid "View campaign" -msgstr "Kampagne ansehen" - -#: views/campaigns/blacklisted.hbs:6 -msgid "Subscribers who blacklisted by global blacklist:" -msgstr "Abonnenten, die von der globalen Blacklist aufgelistet wurden:" - -#: views/campaigns/blacklisted.hbs:7 views/campaigns/bounced.hbs:7 -#: views/campaigns/clicked.hbs:15 views/campaigns/complained.hbs:7 -#: views/campaigns/delivered.hbs:7 views/campaigns/opened.hbs:9 -#: views/campaigns/unsubscribed.hbs:7 -#: views/lists/subscription/import-failed.hbs:8 views/lists/view.hbs:19 -#: views/triggers/triggered.hbs:6 -msgid "Address" -msgstr "Adresse" - -#: views/campaigns/blacklisted.hbs:8 views/campaigns/bounced.hbs:8 -#: views/campaigns/clicked.hbs:16 views/campaigns/complained.hbs:8 -#: views/campaigns/delivered.hbs:8 views/campaigns/opened.hbs:10 -#: views/campaigns/unsubscribed.hbs:8 views/lists/subscription/add.hbs:6 -#: views/lists/subscription/edit.hbs:7 -#: views/lists/subscription/import-preview.hbs:7 views/lists/view.hbs:20 -#: views/subscription/partials/subscription-custom-fields.hbs:3 -#: views/triggers/triggered.hbs:7 -msgid "First Name" -msgstr "Vorname" - -#: views/campaigns/blacklisted.hbs:9 views/campaigns/bounced.hbs:9 -#: views/campaigns/clicked.hbs:17 views/campaigns/complained.hbs:9 -#: views/campaigns/delivered.hbs:9 views/campaigns/opened.hbs:11 -#: views/campaigns/unsubscribed.hbs:9 views/lists/subscription/add.hbs:7 -#: views/lists/subscription/edit.hbs:8 -#: views/lists/subscription/import-preview.hbs:8 views/lists/view.hbs:21 -#: views/subscription/partials/subscription-custom-fields.hbs:4 -#: views/triggers/triggered.hbs:8 -msgid "Last Name" -msgstr "Nachname" - -#: views/campaigns/blacklisted.hbs:10 -msgid "Reason" -msgstr "Grund" - -#: views/campaigns/blacklisted.hbs:11 -msgid "Time" -msgstr "Zeit" - -#: views/campaigns/bounced.hbs:3 views/campaigns/bounced.hbs:4 -msgid "Bounced info" -msgstr "Bounced Info" - -#: views/campaigns/bounced.hbs:6 -msgid "Subscribers who bounced and were unsubscribed:" -msgstr "Abonnenten, die bounced und abgemeldet wurden:" - -#: views/campaigns/bounced.hbs:10 views/campaigns/complained.hbs:10 -#: views/campaigns/delivered.hbs:10 views/campaigns/unsubscribed.hbs:10 -msgid "SMTP response" -msgstr "SMTP Antwort" - -#: views/campaigns/bounced.hbs:11 -msgid "Bounce time" -msgstr "Bouncen Zeitpunkt" - -#: views/campaigns/campaigns.hbs:3 views/campaigns/create-triggered.hbs:25 -#: views/campaigns/create.hbs:3 views/campaigns/create.hbs:4 -#: views/campaigns/create.hbs:27 -msgid "Create Campaign" -msgstr "Kampagne erstellen" - -#: views/campaigns/campaigns.hbs:4 -msgid "Regular Campaign" -msgstr "Normale Kampagne" - -#: views/campaigns/campaigns.hbs:5 -msgid "RSS Campaign" -msgstr "RSS-Kampagne" - -#: views/campaigns/campaigns.hbs:6 -msgid "Triggered Campaign" -msgstr "Trigger-Kampagne" - -#: views/campaigns/campaigns.hbs:8 views/campaigns/create-rss.hbs:6 -#: views/campaigns/create-triggered.hbs:5 views/campaigns/create.hbs:5 -#: views/campaigns/edit-rss.hbs:8 views/campaigns/edit-triggered.hbs:9 -#: views/campaigns/edit.hbs:10 views/campaigns/view.hbs:73 -#: views/lists/create.hbs:5 views/lists/edit.hbs:6 -#: views/lists/fields/fields.hbs:6 views/lists/forms/forms.hbs:6 -#: views/lists/lists.hbs:5 views/lists/segments/segments.hbs:6 -#: views/report-templates/partials/report-template-fields.hbs:1 -#: views/report-templates/report-templates.hbs:10 -#: views/reports/partials/report-fields.hbs:1 -#: views/reports/partials/report-fields.hbs:5 -#: views/reports/partials/report-fields.hbs:9 views/reports/reports.hbs:6 -#: views/templates/templates.hbs:5 views/triggers/triggers.hbs:5 -msgid "Name" -msgstr "Name" - -#: views/campaigns/campaigns.hbs:9 views/campaigns/create-rss.hbs:8 -#: views/campaigns/create-triggered.hbs:7 views/campaigns/create.hbs:7 -#: views/campaigns/edit-rss.hbs:10 views/campaigns/edit-triggered.hbs:11 -#: views/campaigns/edit.hbs:12 views/campaigns/view.hbs:74 -#: views/lists/create.hbs:7 views/lists/edit.hbs:10 -#: views/lists/forms/edit.hbs:9 views/lists/forms/forms.hbs:7 -#: views/lists/lists.hbs:8 views/mosaico/editor.hbs:3 -#: views/partials/merge-tag-reference.hbs:4 -#: views/report-templates/partials/report-template-fields.hbs:3 -#: views/report-templates/report-templates.hbs:11 -#: views/reports/partials/report-fields.hbs:3 -#: views/reports/partials/report-fields.hbs:6 views/reports/reports.hbs:8 -#: views/templates/create.hbs:9 views/templates/edit.hbs:8 -#: views/templates/templates.hbs:6 views/triggers/create.hbs:7 -#: views/triggers/edit.hbs:8 views/triggers/triggers.hbs:7 -msgid "Description" -msgstr "Beschreibung" - -#: views/campaigns/campaigns.hbs:10 views/campaigns/view.hbs:75 -#: views/lists/view.hbs:22 views/lists/view.hbs:30 -#: views/triggers/triggers.hbs:6 -msgid "Status" -msgstr "Status" - -#: views/campaigns/campaigns.hbs:11 views/campaigns/view.hbs:76 -#: views/lists/view.hbs:23 views/lists/view.hbs:24 -#: views/report-templates/report-templates.hbs:12 -#: views/reports/partials/report-fields.hbs:7 views/reports/reports.hbs:9 -msgid "Created" -msgstr "Erstellt" - -#: views/campaigns/clicked.hbs:3 views/campaigns/clicked.hbs:4 -msgid "Link info" -msgstr "Link Info" - -#: views/campaigns/clicked.hbs:6 views/campaigns/view.hbs:63 -msgid "URL" -msgstr "URL" - -#: views/campaigns/clicked.hbs:7 views/campaigns/view.hbs:64 -msgid "Clicks" -msgstr "Klicks" - -#: views/campaigns/clicked.hbs:8 views/campaigns/view.hbs:65 -msgid "% of clicks" -msgstr "% der Klicks" - -#: views/campaigns/clicked.hbs:9 views/campaigns/view.hbs:66 -msgid "% of messages" -msgstr "% der Nachrichten" - -#: views/campaigns/clicked.hbs:10 views/campaigns/view.hbs:69 -msgid "Aggregated clicks" -msgstr "Aggregierte Klicks" - -#: views/campaigns/clicked.hbs:11 -msgid "Subscribers who clicked on a link:" -msgstr "Abonnenten welche einen Link geklickt haben:" - -#: views/campaigns/clicked.hbs:12 -msgid "Subscribers who clicked on this link:" -msgstr "Abonnenten welche diesen Link geklickt haben:" - -#: views/campaigns/clicked.hbs:13 views/campaigns/opened.hbs:7 -msgid "Stats by country" -msgstr "Statistik: Land" - -#: views/campaigns/clicked.hbs:14 views/campaigns/opened.hbs:8 -msgid "Stats by device type" -msgstr "Statistik: Gerätetyp" - -#: views/campaigns/clicked.hbs:18 -msgid "First click time" -msgstr "Erste Klickzeit" - -#: views/campaigns/clicked.hbs:19 -msgid "Click count" -msgstr "Anzahl Klicks" - -#: views/campaigns/complained.hbs:3 views/campaigns/complained.hbs:4 -msgid "Complained info" -msgstr "Beschwerde Info" - -#: views/campaigns/complained.hbs:6 -msgid "Subscribers who complained and were unsubscribed:" -msgstr "Abonnenten welche sich beschwert haben und deabonniert wurden:" - -#: views/campaigns/complained.hbs:11 -msgid "Complain time" -msgstr "Zeitpunkt der Beschwerde" - -#: views/campaigns/create-rss.hbs:3 views/campaigns/create-rss.hbs:4 -#: views/campaigns/create-rss.hbs:20 -msgid "Create RSS Campaign" -msgstr "RSS-Kampagne erstellen" - -#: views/campaigns/create-rss.hbs:5 views/campaigns/edit-rss.hbs:6 -msgid "" -"RSS campaign sets up a tracker against selected RSS feed address. Whenever a " -"new entry is found from this feed it is sent to selected list as an email " -"message." -msgstr "" -"RSS-Kampagne setzt einen Tracker gegen den gewählten RSS-Feed. Wenn ein " -"neuer Eintrag aus diesem Feed gefunden wird, wird er als E-Mail an die " -"ausgewählte Liste gesendet." - -#: views/campaigns/create-rss.hbs:7 views/campaigns/create-triggered.hbs:6 -#: views/campaigns/create.hbs:6 views/campaigns/edit-rss.hbs:9 -#: views/campaigns/edit-triggered.hbs:10 views/campaigns/edit.hbs:11 -msgid "Campaign Name" -msgstr "Kampagnen Name" - -#: views/campaigns/create-rss.hbs:9 views/campaigns/create-triggered.hbs:8 -#: views/campaigns/create.hbs:8 views/campaigns/edit-rss.hbs:11 -#: views/campaigns/edit-triggered.hbs:12 views/campaigns/edit.hbs:13 -#: views/lists/create.hbs:8 views/lists/edit.hbs:11 -#: views/report-templates/partials/report-template-fields.hbs:4 -#: views/reports/partials/report-fields.hbs:4 views/templates/create.hbs:11 -#: views/templates/edit.hbs:10 views/triggers/create.hbs:9 -#: views/triggers/edit.hbs:10 -msgid "HTML is allowed" -msgstr "HTML ist erlaubt" - -#: views/campaigns/create-rss.hbs:10 views/campaigns/create-triggered.hbs:9 -#: views/campaigns/create.hbs:9 views/campaigns/edit-rss.hbs:12 -#: views/campaigns/edit-triggered.hbs:13 views/campaigns/edit.hbs:14 -#: views/campaigns/view.hbs:6 views/triggers/create-select.hbs:6 -#: views/triggers/create.hbs:10 views/triggers/edit.hbs:12 -#: views/triggers/triggers.hbs:8 -msgid "List" -msgstr "Liste" - -#: views/campaigns/create-rss.hbs:11 views/campaigns/create-triggered.hbs:10 -#: views/campaigns/create-triggered.hbs:14 views/campaigns/create.hbs:10 -#: views/campaigns/create.hbs:14 views/campaigns/edit-rss.hbs:13 -#: views/campaigns/edit-triggered.hbs:14 views/campaigns/edit.hbs:15 -#: views/lists/fields/create.hbs:27 views/lists/fields/edit.hbs:28 -#: views/lists/segments/create.hbs:9 views/lists/segments/edit.hbs:10 -#: views/lists/segments/rule-create.hbs:7 views/lists/subscription/add.hbs:10 -#: views/lists/subscription/add.hbs:12 views/lists/subscription/edit.hbs:11 -#: views/lists/subscription/import-preview.hbs:5 -#: views/reports/partials/report-select-template.hbs:2 -#: views/subscription/partials/subscription-custom-fields.hbs:9 -#: views/templates/create.hbs:8 views/triggers/create-select.hbs:7 -#: views/triggers/create.hbs:17 views/triggers/create.hbs:20 -#: views/triggers/create.hbs:22 views/triggers/create.hbs:26 -#: views/triggers/edit.hbs:19 views/triggers/edit.hbs:22 -#: views/triggers/edit.hbs:24 views/triggers/edit.hbs:28 -msgid "Select" -msgstr "Bitte wählen" - -#: views/campaigns/create-rss.hbs:12 views/campaigns/create-triggered.hbs:11 -#: views/campaigns/create.hbs:11 views/campaigns/edit-rss.hbs:14 -#: views/campaigns/edit-triggered.hbs:15 views/campaigns/edit.hbs:16 -#: views/triggers/create-select.hbs:8 views/triggers/create.hbs:11 -#: views/triggers/edit.hbs:13 -msgid "subscribers" -msgstr "Abonnenten" - -#: views/campaigns/create-rss.hbs:13 views/campaigns/edit-rss.hbs:15 -msgid "RSS Feed Url" -msgstr "RSS Feed URL" - -#: views/campaigns/create-rss.hbs:14 views/campaigns/edit-rss.hbs:16 -msgid "" -"New entries from this RSS URL are sent out to list subscribers as email " -"messages" -msgstr "" -"Neue Beiträge dieser RSS URL werden den Abonnenten als E-Mail-Nachrichten " -"zugestellt" - -#: views/campaigns/create-rss.hbs:15 views/campaigns/create-triggered.hbs:18 -#: views/campaigns/create.hbs:18 views/campaigns/edit-rss.hbs:18 -#: views/campaigns/edit-triggered.hbs:16 views/campaigns/edit.hbs:17 -#: views/campaigns/view.hbs:12 -msgid "Email \"from name\"" -msgstr "E-Mail \"von\" Name" - -#: views/campaigns/create-rss.hbs:16 views/campaigns/create-triggered.hbs:19 -#: views/campaigns/create.hbs:19 views/campaigns/edit-rss.hbs:19 -#: views/campaigns/edit-triggered.hbs:17 views/campaigns/edit.hbs:18 -#: views/settings.hbs:23 -msgid "This is the name your emails will come from" -msgstr "Dies ist Absendernamen Ihrer E-Mails" - -#: views/campaigns/create-rss.hbs:17 views/campaigns/create-triggered.hbs:20 -#: views/campaigns/create.hbs:20 views/campaigns/edit-rss.hbs:20 -#: views/campaigns/edit-triggered.hbs:18 views/campaigns/edit.hbs:19 -#: views/campaigns/view.hbs:13 -msgid "Email \"from\" address" -msgstr "E-Mail \"von\" Adresse" - -#: views/campaigns/create-rss.hbs:18 views/campaigns/create-triggered.hbs:21 -#: views/campaigns/edit-rss.hbs:21 views/campaigns/edit-triggered.hbs:19 -#: views/settings.hbs:25 -msgid "This is the address people will send replies to" -msgstr "Dies ist die Reply-To Adresse" - -#: views/campaigns/create-rss.hbs:19 views/campaigns/create-triggered.hbs:24 -#: views/campaigns/create.hbs:26 views/campaigns/edit-rss.hbs:22 -#: views/campaigns/edit-triggered.hbs:22 views/campaigns/edit.hbs:25 -msgid "Disable clicked/opened tracking" -msgstr "Tracking deaktivieren" - -#: views/campaigns/create-triggered.hbs:3 -#: views/campaigns/create-triggered.hbs:4 -msgid "Create Triggered Campaign" -msgstr "Trigger-Kampagne erstellen" - -#: views/campaigns/create-triggered.hbs:12 views/campaigns/create.hbs:12 -#: views/campaigns/edit-triggered.hbs:7 views/campaigns/edit.hbs:7 -#: views/lists/fields/create.hbs:31 views/lists/fields/edit.hbs:33 -#: views/reports/reports.hbs:7 views/templates/create.hbs:13 -msgid "Template" -msgstr "Vorlage" - -#: views/campaigns/create-triggered.hbs:13 views/campaigns/create.hbs:13 -msgid "Select a template:" -msgstr "Vorlage auswählen:" - -#: views/campaigns/create-triggered.hbs:15 views/campaigns/create.hbs:15 -msgid "Selecting a template creates a campaign specific copy from it" -msgstr "" -"Wenn Sie eine Vorlage auswählen, wird eine kampagenspezifische Kopie erstellt" - -#: views/campaigns/create-triggered.hbs:16 views/campaigns/create.hbs:16 -msgid "Or alternatively use an URL as the message content source:" -msgstr "" -"Oder alternativ können Sie eine URL als E-Mail-Inhalts-Quelle verwenden:" - -#: views/campaigns/create-triggered.hbs:17 views/campaigns/create.hbs:17 -#: views/campaigns/edit-triggered.hbs:25 views/campaigns/edit.hbs:28 -msgid "" -"If a message is sent then this URL will be POSTed to using Merge Tags as " -"POST body. Use this if you want to generate the HTML message yourself" -msgstr "" -"Wenn eine Nachricht gesendet wird, wird diese URL per POST Request " -"aufgerufen mit den Merge-Tags als POST-Body. Verwenden Sie diese Funktion, " -"wenn Sie die HTML-Nachricht selbst generieren möchten" - -#: views/campaigns/create-triggered.hbs:22 views/campaigns/create.hbs:24 -#: views/campaigns/edit-triggered.hbs:20 views/campaigns/edit.hbs:23 -#: views/campaigns/view.hbs:15 -msgid "Email \"subject line\"" -msgstr "E-Mail-Betreffzeile" - -#: views/campaigns/create-triggered.hbs:23 views/campaigns/create.hbs:25 -#: views/campaigns/edit-triggered.hbs:21 views/campaigns/edit.hbs:24 -#: views/settings.hbs:27 -msgid "Keep it relevant and non-spammy" -msgstr "Halten Sie den Inhalt relevant und non-spammy" - -#: views/campaigns/create.hbs:21 views/campaigns/edit.hbs:20 -msgid "" -"This is the address people will send replies to unless reply-to address is " -"set" -msgstr "" -"Dies ist die Adresse, an welche Antworten gesendet werden, ausser die " -"Kampagnenspezifische reply-to Adresse ist definiert" - -#: views/campaigns/create.hbs:22 views/campaigns/edit.hbs:21 -#: views/campaigns/view.hbs:14 -msgid "Email \"reply-to\" address" -msgstr "E-Mail \"reply-to\" Adresse" - -#: views/campaigns/create.hbs:23 views/campaigns/edit.hbs:22 -msgid "If set, this is the address people will send replies to" -msgstr "" -"Falls gesetzt, ist dies die Adresse an welche E-Mail-Antworten gesendet " -"werden" - -#: views/campaigns/delivered.hbs:3 views/campaigns/delivered.hbs:4 -msgid "Delivered info" -msgstr "Zustellungs-Info" - -#: views/campaigns/delivered.hbs:6 -msgid "Subscribers who received the message and did not bounce/unsubscribe:" -msgstr "" -"Abonnenten, welche die Nachricht erhalten haben und nicht bounced oder " -"abbestellen:" - -#: views/campaigns/delivered.hbs:11 -msgid "Delivery time" -msgstr "Zugestellt am" - -#: views/campaigns/edit-rss.hbs:3 views/campaigns/edit-rss.hbs:4 -msgid "Edit RSS Campaign" -msgstr "RSS-Kampagne bearbeiten" - -#: views/campaigns/edit-rss.hbs:7 views/campaigns/edit-triggered.hbs:8 -#: views/campaigns/edit.hbs:9 views/settings.hbs:4 views/users/account.hbs:6 -msgid "General Settings" -msgstr "Allgemeine Einstellungen" - -#: views/campaigns/edit-rss.hbs:17 -msgid "" -"Use special merge tag [RSS_ENTRY] to mark the position for the RSS post " -"content. Additionally you can use any valid merge tag as well." -msgstr "" -"Verwenden Sie den speziellen Merge-Tag [RSS ENTRY], um die Position für den " -"RSS-Beitrag zu markieren. Zusätzlich können Sie auch alle gültigen Merge-" -"Tags verwenden." - -#: views/campaigns/edit-rss.hbs:23 views/campaigns/edit-triggered.hbs:26 -#: views/campaigns/edit.hbs:34 -msgid "Delete Campaign" -msgstr "Kampagne löschen" - -#: views/campaigns/edit-rss.hbs:24 views/campaigns/edit-triggered.hbs:27 -#: views/campaigns/edit.hbs:35 views/lists/edit.hbs:17 -#: views/lists/fields/edit.hbs:39 views/lists/forms/edit.hbs:29 -#: views/lists/forms/forms.hbs:12 views/lists/segments/edit.hbs:14 -#: views/lists/segments/rule-edit.hbs:38 views/lists/subscription/edit.hbs:18 -#: views/reports/edit.hbs:6 views/settings.hbs:99 views/templates/edit.hbs:12 -#: views/triggers/edit.hbs:30 views/users/account.hbs:18 -msgid "Update" -msgstr "Aktualisieren" - -#: views/campaigns/edit-triggered.hbs:3 views/campaigns/edit-triggered.hbs:4 -msgid "Edit Triggered Campaign" -msgstr "Trigger-Kampagne bearbeiten" - -#: views/campaigns/edit-triggered.hbs:6 views/campaigns/edit.hbs:6 -#: routes/forms.js:143 -msgid "General" -msgstr "Generell" - -#: views/campaigns/edit-triggered.hbs:23 views/campaigns/edit.hbs:26 -msgid "Template Settings" -msgstr "Vorlagen-Einstellungen" - -#: views/campaigns/edit-triggered.hbs:24 views/campaigns/edit.hbs:27 -msgid "Template URL" -msgstr "Vorlagen URL" - -#: views/campaigns/edit.hbs:3 views/campaigns/edit.hbs:4 -#: views/campaigns/upload-attachment.hbs:3 -#: views/campaigns/upload-attachment.hbs:5 views/campaigns/view.hbs:3 -msgid "Edit Campaign" -msgstr "Kampagne bearbeiten" - -#: views/campaigns/edit.hbs:8 views/campaigns/edit.hbs:29 -msgid "Attachments" -msgstr "Anhänge" - -#: views/campaigns/edit.hbs:30 -msgid "File" -msgstr "Datei" - -#: views/campaigns/edit.hbs:31 -msgid "Size" -msgstr "Grösse" - -#: views/campaigns/edit.hbs:32 views/campaigns/view.hbs:68 -#: views/lists/fields/fields.hbs:12 views/lists/forms/forms.hbs:9 -#: views/lists/view.hbs:33 -msgid "No data available in table" -msgstr "Keine Daten verfügbar in dieser Tabelle" - -#: views/campaigns/edit.hbs:33 views/campaigns/upload-attachment.hbs:4 -msgid "Add Attachment" -msgstr "Datei hinzufügen" - -#: views/campaigns/opened.hbs:3 views/campaigns/opened.hbs:4 -msgid "Opened info" -msgstr "Öffnungs Info" - -#: views/campaigns/opened.hbs:6 -msgid "Subscribers who opened this message:" -msgstr "Abonnenten, die diese Nachricht geöffnet haben:" - -#: views/campaigns/opened.hbs:12 -msgid "First open" -msgstr "Erstmals geöffnet" - -#: views/campaigns/opened.hbs:13 -msgid "Opened count" -msgstr "Anzahl Öffnungen" - -#: views/campaigns/unsubscribed.hbs:3 views/campaigns/unsubscribed.hbs:4 -msgid "Unsubscribed info" -msgstr "Abmeldungs-Info" - -#: views/campaigns/unsubscribed.hbs:6 -msgid "Subscribers who unsubscribed:" -msgstr "Abonnenten welche deabonnierten:" - -#: views/campaigns/unsubscribed.hbs:11 views/campaigns/view.hbs:28 -#: views/lists/subscription/import.hbs:10 routes/lists.js:202 -msgid "Unsubscribed" -msgstr "Abbestellt" - -#: views/campaigns/upload-attachment.hbs:7 -msgid "Upload" -msgstr "Hochladen" - -#: views/campaigns/view.hbs:4 -msgid "Overview" -msgstr "Übersicht" - -#: views/campaigns/view.hbs:5 -msgid "Links" -msgstr "Links" - -#: views/campaigns/view.hbs:7 -msgid "Feed URL" -msgstr "Feed URL" - -#: views/campaigns/view.hbs:8 -msgid "Last check" -msgstr "Letzter check" - -#: views/campaigns/view.hbs:9 -msgid "Not yet checked" -msgstr "Noch nicht geprüft" - -#: views/campaigns/view.hbs:10 -msgid "activate campaign to start checking feed for new messages" -msgstr "" -"Aktivieren Sie die Kampagne, um die Überprüfung des Feeds auf neue " -"Nachrichten zu starten" - -#: views/campaigns/view.hbs:11 -msgid "RSS status" -msgstr "RSS Status" - -#: views/campaigns/view.hbs:16 -msgid "Preview campaign as" -msgstr "Kampagnen Vorschau als" - -#: views/campaigns/view.hbs:17 -msgid "Add new test user" -msgstr "Neuen Test-User hinzufügen" - -#: views/campaigns/view.hbs:18 -msgid "No test users yet, create one here" -msgstr "Noch keine Testbenutzer vorhanden, erstellen Sie einen hier" - -#: views/campaigns/view.hbs:19 -msgid "Go" -msgstr "Los" - -#: views/campaigns/view.hbs:20 lib/models/triggers.js:26 -msgid "Delivered" -msgstr "Zugestellt" - -#: views/campaigns/view.hbs:21 -msgid "List subscribers who received this message" -msgstr "Abonnenten dieser Liste, die diese Nachricht erhalten haben" - -#: views/campaigns/view.hbs:22 -msgid "Blacklisted" -msgstr "Blacklisted" - -#: views/campaigns/view.hbs:23 -msgid "List subscribers who blacklisted by global blacklist" -msgstr "" - -#: views/campaigns/view.hbs:24 routes/lists.js:202 -msgid "Bounced" -msgstr "Bounced" - -#: views/campaigns/view.hbs:25 -msgid "List subscribers who bounced" -msgstr "Bounced Listen Abonnenten" - -#: views/campaigns/view.hbs:26 -msgid "Complaints" -msgstr "Beschwerden" - -#: views/campaigns/view.hbs:27 -msgid "List subscribers who complained for this message" -msgstr "Abonnenten, die sich über diese Nachricht beschwert haben" - -#: views/campaigns/view.hbs:29 -msgid "List subscribers who unsubscribed after this message" -msgstr "Abonnenten, die sich nach dieser Nachricht abgemeldet haben" - -#: views/campaigns/view.hbs:30 -msgid "Opened" -msgstr "Geöffnet" - -#: views/campaigns/view.hbs:31 -msgid "List subscribers who opened this message" -msgstr "Abonnenten, die diese Nachricht geöffnet haben" - -#: views/campaigns/view.hbs:32 -msgid "Clicked" -msgstr "Geklickt" - -#: views/campaigns/view.hbs:33 views/campaigns/view.hbs:70 -msgid "List subscribers who clicked on a link" -msgstr "Abonnenten, die auf einen Link geklickt haben" - -#: views/campaigns/view.hbs:34 -msgid "" -"Are you sure? This action would start sending messages to the selected list" -msgstr "" -"Sind Sie sicher? Diese Aktion würde mit dem Senden von Nachrichten an die " -"ausgewählte Liste beginnen" - -#: views/campaigns/view.hbs:35 -msgid "Delay sending" -msgstr "Senden verzögern" - -#: views/campaigns/view.hbs:36 -msgid "hours" -msgstr "Stunden" - -#: views/campaigns/view.hbs:37 -msgid "minutes" -msgstr "Minuten" - -#: views/campaigns/view.hbs:38 -msgid "Send to subscribers:" -msgstr "An Abonnenten senden:" - -#: views/campaigns/view.hbs:39 -msgid "Are you sure? This action would reset scheduling" -msgstr "Sind Sie sicher? Diese Aktion würde die Terminierung zurücksetzen" - -#: views/campaigns/view.hbs:40 -msgid "Cancel" -msgstr "Abbrechen" - -#: views/campaigns/view.hbs:41 -msgid "Sending scheduled" -msgstr "Senden geplant" - -#: views/campaigns/view.hbs:42 views/campaigns/view.hbs:54 -msgid "Pause" -msgstr "Pause" - -#: views/campaigns/view.hbs:43 routes/campaigns.js:253 -msgid "Sending" -msgstr "Am senden" - -#: views/campaigns/view.hbs:44 views/campaigns/view.hbs:48 -msgid "" -"Are you sure? This action would resume sending messages to the selected list" -msgstr "" -"Sind Sie sicher? Diese Aktion würde das Senden von E-Mails an die " -"ausgewählte Liste fortsetzen" - -#: views/campaigns/view.hbs:45 views/campaigns/view.hbs:49 -msgid "Are you sure? This action would reset all stats about current progress" -msgstr "" -"Sind Sie sicher? Diese Aktion würde alle Statistiken über den aktuellen " -"Fortschritt zurücksetzen" - -#: views/campaigns/view.hbs:46 -msgid "Resume" -msgstr "Fortsetzen" - -#: views/campaigns/view.hbs:47 views/campaigns/view.hbs:51 -msgid "Reset" -msgstr "Zurücksetzen" - -#: views/campaigns/view.hbs:50 -msgid "Continue" -msgstr "Weiter" - -#: views/campaigns/view.hbs:52 -msgid "" -"All messages sent! Hit \"Continue\" if you you want to send this campaign to " -"new subscribers" -msgstr "" -"Alle E-Mails gesendet! Klicken Sie auf \"Weiter\", wenn Sie diese Kampagne " -"an neue Abonnenten senden möchten" - -#: views/campaigns/view.hbs:53 -msgid "" -"Are you sure? This action would pause sending new entries in RSS feed as " -"email messages to the selected list" -msgstr "" -"Sind Sie sicher? Diese Aktion würde das Senden neuer Einträge des RSS-Feed " -"als E-Mail-Nachrichten an die ausgewählte Liste pausieren" - -#: views/campaigns/view.hbs:55 views/campaigns/view.hbs:59 -msgid "Campaign status:" -msgstr "Kampagnen Status:" - -#: views/campaigns/view.hbs:56 -msgid "ACTIVE" -msgstr "AKTIV" - -#: views/campaigns/view.hbs:57 -msgid "" -"Are you sure? This action would start sending new entries in RSS feed as " -"email messages to the selected list" -msgstr "" -"Sind Sie sicher? Diese Aktion würde neue RSS Feed Einträge als E-Mail-" -"Nachrichten der ausgewählten Liste zustellen" - -#: views/campaigns/view.hbs:58 -msgid "Activate" -msgstr "Aktivieren" - -#: views/campaigns/view.hbs:60 -msgid "INACTIVE" -msgstr "INAKTIV" - -#: views/campaigns/view.hbs:61 -msgid "" -"This is a triggered campaign. Messages are only sent to subscribers that hit " -"some trigger that invokes this campaign" -msgstr "" -"Dies ist eine Trigger-Kampagne. Nachrichten werden nur an Abonnenten " -"gesendet, die einen Trigger auslösen, der diese Kampagne aufruft" - -#: views/campaigns/view.hbs:62 -msgid "see more" -msgstr "mehr anzeigen" - -#: views/campaigns/view.hbs:67 -msgid "List subscribers who clicked this link" -msgstr "Abonnenten dieser Liste, die diesen Link geklickt haben" - -#: views/campaigns/view.hbs:71 -msgid "" -"Clicks are counted as unique subscribers that clicked on a specific link or " -"on any link (in aggregated view)" -msgstr "" -"Klicks werden als eindeutige Abonnenten gezählt, die auf einen bestimmten " -"Link oder auf irgendeinen Link geklickt haben (in der aggregierter Ansicht)" - -#: views/campaigns/view.hbs:72 -msgid "" -"If a new entry is found from campaign feed a new subcampaign is created of " -"that entry and it will be listed here" -msgstr "" -"Wenn ein neuer Eintrag aus dem Kampagnen-Feed gefunden wird, wird eine neue " -"Unterkampagne von diesem Eintrag erstellt und hier aufgelistet" - -#: views/emails/password-reset-html.hbs:1 -#: views/emails/password-reset-text.hbs:1 -msgid "Change your password" -msgstr "Ändern Sie Ihr Passwort" - -#: views/emails/password-reset-html.hbs:2 -#: views/emails/password-reset-text.hbs:2 -msgid "We have received a password change request for your Mailtrain account:" -msgstr "" -"Wir haben eine Passwortänderungsanforderung für Ihr Mailtrain-Konto erhalten:" - -#: views/emails/password-reset-html.hbs:3 -#: views/emails/password-reset-text.hbs:3 -msgid "Reset password" -msgstr "Passwort zurücksetzen" - -#: views/emails/password-reset-html.hbs:4 -#: views/emails/password-reset-text.hbs:4 -msgid "" -"If you did not ask to change your password, then you can ignore this email " -"and your password will not be changed." -msgstr "" -"Wenn Sie nicht angefordert haben, Ihr Passwort zu ändern, können Sie diese E-" -"Mail ignorieren und Ihr Passwort wird nicht geändert." - -#: views/emails/rss-html.hbs:1 views/emails/stationery-html.hbs:3 -#: views/emails/stationery-text.hbs:3 -msgid "Preferences" -msgstr "Persönliche Einstellungen" - -#: views/emails/rss-html.hbs:2 views/emails/stationery-html.hbs:4 -#: views/emails/stationery-text.hbs:4 views/lists/subscription/edit.hbs:16 -#: views/subscription/partials/subscription-unsubscribe-form.hbs:2 -#: views/subscription/web-manage.mjml.hbs:3 -#: views/subscription/web-unsubscribe.mjml.hbs:1 -#: views/subscription/web-unsubscribe.mjml.hbs:3 routes/forms.js:213 -#: routes/lists.js:284 -msgid "Unsubscribe" -msgstr "Newsletter abbestellen" - -#: views/emails/rss-html.hbs:3 views/emails/stationery-html.hbs:5 -#: views/emails/stationery-text.hbs:5 -msgid "View this email in your browser" -msgstr "E-Mail in Browser ansehen" - -#: views/emails/stationery-html.hbs:1 views/emails/stationery-text.hbs:1 -msgid "Hey [FIRST_NAME/Customer]," -msgstr "Hallo [FIRST_NAME/Customer]," - -#: views/emails/stationery-html.hbs:2 views/emails/stationery-text.hbs:2 -msgid "Cheers," -msgstr "Viele Grüße," - -#: views/index.hbs:1 -msgid "List Management" -msgstr "Listen Management" - -#: views/index.hbs:2 -msgid "" -"Mailtrain allows you to easily manage even very large lists. Million " -"subscribers? Not a problem. You can add subscribers manually, through the " -"API or import from a CSV file. All lists come with support for custom fields " -"and merge tags as well." -msgstr "" -"Mailtrain ermöglicht es Ihnen, auch sehr große Listen zu verwalten. Million " -"Abonnenten? Kein Problem. Sie können Abonnenten manuell über die API " -"hinzufügen oder aus einer CSV-Datei importieren. Alle Listen kommen mit " -"Unterstützung für benutzerdefinierte Felder und Merge-Tags." - -#: views/index.hbs:3 views/index.hbs:7 views/index.hbs:10 views/index.hbs:13 -#: views/index.hbs:16 views/index.hbs:19 views/index.hbs:22 views/index.hbs:25 -#: views/index.hbs:28 -msgid "Show more" -msgstr "Zeige mehr" - -#: views/index.hbs:4 views/lists/fields/create.hbs:3 -#: views/lists/fields/edit.hbs:3 views/lists/fields/fields.hbs:3 -#: views/lists/fields/fields.hbs:5 views/lists/view.hbs:6 -msgid "Custom Fields" -msgstr "Felder" - -#: views/index.hbs:5 -msgid "" -"Text fields, numbers, drop downs or checkboxes, Mailtrain has them all. " -"Every custom field can be included in the generated newsletters through " -"merge tags." -msgstr "" -"Textfelder, Nummern, Dropdowns oder Checkboxen, Mailtrain hat sie alle. " -"Jedes benutzerdefinierte Feld kann in den generierten Newslettern mittels " -"Merge-Tags eingebunden werden." - -#: views/index.hbs:6 -msgid "Mailtrain also supports custom forms." -msgstr "Mailtrain bietet auch benutzerdefinierte Formulare." - -#: views/index.hbs:8 -msgid "List Segmentation" -msgstr "Segmentierung" - -#: views/index.hbs:9 -msgid "" -"Send messages only to list subscribers that match predefined segmentation " -"rules. No need to create separate lists with small differences." -msgstr "" -"Senden Sie nur Nachrichten an Abonnenten, welche die vordefinierten " -"Segmentierungsregeln erfüllen. Es besteht keine Notwendigkeit, separate " -"Listen mit kleinen Unterschieden zu erstellen." - -#: views/index.hbs:11 -msgid "RSS Campaigns" -msgstr "RSS-Kampagnen" - -#: views/index.hbs:12 -msgid "" -"Setup Mailtrain to track RSS feeds and if a new entry is detected in a feed " -"then Mailtrain auto-generates a new campaign using entry data as message " -"contents and sends it to selected subscribers." -msgstr "" -"Mailtrain kann RSS-Feeds verfolgen, und wenn ein neuer Eintrag in einem Feed " -"erkannt wird, sendet Mailtrain automatisch eine neue Kampagne mit dem RSS-" -"Beitrag als Nachrichteninhalt an die ausgewählte Liste." - -#: views/index.hbs:14 -msgid "GPG Encryption" -msgstr "GPG-Verschlüsselung" - -#: views/index.hbs:15 -msgid "" -"If a list has a custom field for a GPG Public Key set then subscribers can " -"upload their GPG public key to receive encrypted messages from the list." -msgstr "" -"Wenn für eine Liste ein benutzerdefiniertes Feld für den GPG-Public-Key " -"vorhanden ist, können Abonnenten ihren GPG-Public-Key hochladen, um " -"verschlüsselte E-Mails der Liste zu empfangen." - -#: views/index.hbs:17 -msgid "Click Stats" -msgstr "Klick Statistik" - -#: views/index.hbs:18 -msgid "" -"After a campaign is sent, check individual click statistics for every link " -"included in the message." -msgstr "" -"Nachdem eine Kampagne gesendet wurde, sind Klick-Statistiken für jeden in " -"der E-Mail-Nachricht enthaltener Link verfügbar." - -#: views/index.hbs:20 -msgid "Template Editors" -msgstr "Vorlagen Editoren" - -#: views/index.hbs:21 -msgid "" -"Mailtrain ships with GrapeJS and Mosaico built in, two advanced template " -"editors. Mailtrain also offers a code editor if you prefer to handcraft the " -"HTML yourself." -msgstr "" -"Mailtrain beinhaltet GrapeJS und Mosaico, zwei Programme zum Bearbeiten der " -"E-Mail-Vorlagen. Natürlich bietet Mailtrain auch einen Code-Editor, sofern " -"Sie den HTML Code selber erstellen möchten." - -#: views/index.hbs:23 -msgid "Send via Any Provider" -msgstr "Sende mit" - -#: views/index.hbs:24 -msgid "" -"Mailtrain recommends SendPulse even though you " -"can use any provider that supports SMTP protocol to send out your " -"newsletters. Bounce and complaints handling via webhooks is supported for " -"SES, SparkPost, SendGrid and Mailgun, also for Postfix and ZoneMTA." -msgstr "" -"Mailtrain empfiehlt SendPulse, obwohl Sie " -"jeden Provider verwenden können, der das SMTP-Protokoll unterstützt, um Ihre " -"Newsletter zu versenden. Bounce- und Reklamationsabwicklung werden über " -"Webhooks für SES, SparkPost, SendGrid und Mailgun unterstützt, auch für " -"Postfix und ZoneMTA." - -#: views/index.hbs:26 lib/tools.js:130 -msgid "Automation" -msgstr "Automatisierung" - -#: views/index.hbs:27 -msgid "" -"Define automation triggers to send specific messages when a user activates " -"the trigger." -msgstr "" -"Definieren Sie Automatisierungs-Trigger, um bestimmte Nachrichten zu senden, " -"wenn ein Benutzer den Trigger aktiviert." - -#: views/index.hbs:29 -msgid "Donate to Author" -msgstr "Dem Autor Spenden" - -#: views/index.hbs:30 -msgid "Mailtrain is available under GPLv3 license and completely open source." -msgstr "Mailtrain ist unter GPLv3 Lizenz verfügbar und komplett offen." - -#: views/index.hbs:31 -msgid "" -"If you really like Mailtrain or your business benefits from it financially " -"then I would really appreciate a small donation to keep the Mailtrain " -"development engines running. You can either use Bitcoin or PayPal for " -"donations. My Bitcoin wallet is" -msgstr "" -"Wenn Sie Mailtrain wirklich mögen oder Ihr Geschäft davon finanziell " -"profitiert, würde ich eine kleine Spende sehr schätzen, um die Mailtrain-" -"Entwicklung am laufen zu halten. Sie können entweder per Bitcoin oder PayPal " -"spenden. Meine Bitcoin Adresse ist" - -#: views/index.hbs:32 -msgid "Or Donate Using Paypal" -msgstr "Oder spenden Sie mit PayPal" - -#: views/index.hbs:33 -msgid "Official Mailtrain Partners" -msgstr "Offizielle Mailtrain Partner" - -#: views/index.hbs:34 -msgid "" -"A reliable SMTP server, easy integration, and 12,000 messages a month free" -msgstr "" -"Ein zuverlässiger SMTP-Server, einfache Integration und 12.000 Nachrichten " -"pro Monat kostenlos" - -#: views/index.hbs:35 -msgid "Free, open source mail server solution" -msgstr "Kostenlose, Open Source Mail Server Lösung" - -#: views/layout.hbs:2 -msgid "Toggle navigation" -msgstr "Navigation umschalten" - -#: views/layout.hbs:3 -msgid "Wiki" -msgstr "Wiki" - -#: views/layout.hbs:4 -msgid "Blog" -msgstr "Blog" - -#: views/layout.hbs:5 views/users/account.hbs:2 views/users/account.hbs:3 -msgid "Account" -msgstr "Account" - -#: views/layout.hbs:6 views/settings.hbs:2 views/settings.hbs:3 -msgid "Settings" -msgstr "Einstellungen" - -#: views/layout.hbs:8 views/users/api.hbs:2 views/users/api.hbs:3 -msgid "API" -msgstr "API" - -#: views/layout.hbs:9 -msgid "Log out" -msgstr "Abmelden" - -#: views/layout.hbs:10 views/users/forgot.hbs:2 views/users/login.hbs:2 -#: views/users/login.hbs:3 views/users/login.hbs:9 views/users/reset.hbs:2 -msgid "Sign in" -msgstr "Anmelden" - -#: views/layout.hbs:11 -msgid "Self Hosted Newsletter App Built on Top of Nodemailer" -msgstr "Selbst gehostete Newsletter-App basierend auf Nodemailer" - -#: views/layout.hbs:12 views/layout.hbs:14 -msgid "Source on GitHub" -msgstr "Quellcode auf Github" - -#: views/layout.hbs:13 -msgid "Subscribe to Our Newsletter" -msgstr "Abonnieren Sie unseren Newsletter" - -#: views/lists/create.hbs:2 views/lists/edit.hbs:2 -#: views/lists/fields/create.hbs:2 views/lists/fields/edit.hbs:2 -#: views/lists/fields/fields.hbs:2 views/lists/forms/create.hbs:2 -#: views/lists/forms/edit.hbs:2 views/lists/forms/forms.hbs:2 -#: views/lists/lists.hbs:2 views/lists/lists.hbs:4 -#: views/lists/segments/create.hbs:2 views/lists/segments/edit.hbs:2 -#: views/lists/segments/rule-configure.hbs:2 -#: views/lists/segments/rule-create.hbs:2 views/lists/segments/rule-edit.hbs:2 -#: views/lists/segments/segments.hbs:2 views/lists/segments/view.hbs:2 -#: views/lists/subscription/add.hbs:2 views/lists/subscription/edit.hbs:2 -#: views/lists/subscription/import-failed.hbs:2 -#: views/lists/subscription/import-preview.hbs:2 -#: views/lists/subscription/import.hbs:2 views/lists/view.hbs:2 -#: lib/tools.js:118 routes/lists.js:59 -msgid "Lists" -msgstr "Listen" - -#: views/lists/create.hbs:3 views/lists/create.hbs:4 views/lists/create.hbs:10 -#: views/lists/lists.hbs:3 -msgid "Create List" -msgstr "Liste erstellen" - -#: views/lists/create.hbs:6 views/lists/edit.hbs:7 -msgid "List Name" -msgstr "Name der Liste" - -#: views/lists/create.hbs:9 views/lists/edit.hbs:15 -msgid "Allow public users to subscribe themselves" -msgstr "Allen erlauben, diese Liste selbst zu abonnieren" - -#: views/lists/edit.hbs:3 views/lists/edit.hbs:4 views/lists/view.hbs:8 -msgid "Edit List" -msgstr "Liste bearbeiten" - -#: views/lists/edit.hbs:5 -msgid "View List" -msgstr "Liste ansehen" - -#: views/lists/edit.hbs:8 -msgid "List ID" -msgstr "Listen ID" - -#: views/lists/edit.hbs:9 -msgid "This is the list ID displayed to the subscribers" -msgstr "Diese Listen ID wird den Abonnenten dargestellt" - -#: views/lists/edit.hbs:12 -msgid "Custom Form" -msgstr "Formular" - -#: views/lists/edit.hbs:13 views/lists/forms/forms.hbs:11 -msgid "Default Mailtrain Form" -msgstr "Standard Mailtrain Formular" - -#: views/lists/edit.hbs:14 -msgid "" -"The custom form used for this list. You can create a form here." -msgstr "" -"Das Standard-Formular dieser Liste. Wenn Sie ein Formular erstellt möchten, " -"klicken Sie hier." - -#: views/lists/edit.hbs:16 -msgid "Delete List" -msgstr "Liste löschen" - -#: views/lists/fields/create.hbs:4 -msgid "Create Field" -msgstr "Feld erstellen" - -#: views/lists/fields/create.hbs:5 views/lists/fields/fields.hbs:4 -msgid "Create Custom Field" -msgstr "Feld erstellen" - -#: views/lists/fields/create.hbs:6 views/lists/fields/create.hbs:7 -#: views/lists/fields/edit.hbs:7 views/lists/fields/edit.hbs:8 -msgid "Field Name" -msgstr "Feldnamen" - -#: views/lists/fields/create.hbs:8 views/lists/fields/edit.hbs:9 -msgid "Field Type" -msgstr "Feldtyp" - -#: views/lists/fields/create.hbs:9 views/lists/fields/edit.hbs:10 -#: lib/models/fields.js:17 -msgid "Text" -msgstr "Text" - -#: views/lists/fields/create.hbs:10 views/lists/fields/edit.hbs:11 -#: lib/models/fields.js:21 -msgid "Number" -msgstr "Nummer" - -#: views/lists/fields/create.hbs:11 views/lists/fields/edit.hbs:12 -#: lib/models/fields.js:18 -msgid "Website" -msgstr "Webseite" - -#: views/lists/fields/create.hbs:12 views/lists/fields/edit.hbs:13 -#: lib/models/fields.js:20 -msgid "GPG Public Key" -msgstr "GPG Public Key" - -#: views/lists/fields/create.hbs:13 views/lists/fields/edit.hbs:14 -#: lib/models/fields.js:19 -msgid "Multi-line text" -msgstr "Mehrzeiliger Text" - -#: views/lists/fields/create.hbs:14 views/lists/fields/edit.hbs:15 -msgid "JSON" -msgstr "JSON" - -#: views/lists/fields/create.hbs:15 views/lists/fields/edit.hbs:16 -msgid "Date" -msgstr "Datum" - -#: views/lists/fields/create.hbs:16 views/lists/fields/edit.hbs:17 -msgid "Date (MM/DD/YYYY)" -msgstr "Datum (MM/DD/YYYY)" - -#: views/lists/fields/create.hbs:17 views/lists/fields/edit.hbs:18 -#: lib/models/fields.js:26 -msgid "Date (DD/MM/YYYY)" -msgstr "Datum (DD/MM/YYYY)" - -#: views/lists/fields/create.hbs:18 views/lists/fields/edit.hbs:19 -msgid "Birthday" -msgstr "Geburtstag" - -#: views/lists/fields/create.hbs:19 views/lists/fields/edit.hbs:20 -#: lib/models/fields.js:27 -msgid "Birthday (MM/DD)" -msgstr "Geburtstag (MM/DD)" - -#: views/lists/fields/create.hbs:20 views/lists/fields/edit.hbs:21 -#: lib/models/fields.js:28 -msgid "Birthday (DD/MM)" -msgstr "Geburtstag (DD/MM)" - -#: views/lists/fields/create.hbs:21 views/lists/fields/edit.hbs:22 -msgid "Grouped" -msgstr "Gruppiert" - -#: views/lists/fields/create.hbs:22 views/lists/fields/edit.hbs:23 -msgid "Drop Downs" -msgstr "Dropdown" - -#: views/lists/fields/create.hbs:23 views/lists/fields/edit.hbs:24 -#: lib/models/fields.js:22 -msgid "Radio Buttons" -msgstr "Radio Knöpfe" - -#: views/lists/fields/create.hbs:24 views/lists/fields/edit.hbs:25 -#: lib/models/fields.js:23 -msgid "Checkboxes" -msgstr "Checkboxen" - -#: views/lists/fields/create.hbs:25 views/lists/fields/edit.hbs:26 -msgid "Option for a group value" -msgstr "Option für einen Gruppenwert" - -#: views/lists/fields/create.hbs:26 views/lists/fields/edit.hbs:27 -msgid "Group" -msgstr "Gruppe" - -#: views/lists/fields/create.hbs:28 views/lists/fields/edit.hbs:29 -msgid "Required for group options" -msgstr "Erforderlich für Gruppenoptionen" - -#: views/lists/fields/create.hbs:29 views/lists/fields/create.hbs:30 -#: views/lists/fields/edit.hbs:35 views/lists/fields/edit.hbs:36 -#: views/lists/fields/fields.hbs:9 -msgid "Default merge tag value" -msgstr "Standard-Merge-Tag-Wert" - -#: views/lists/fields/create.hbs:32 views/lists/fields/edit.hbs:34 -msgid "" -"For group elements like checkboxes you can control the appearance of the " -"merge tag with an optional template. The template uses handlebars syntax and " -"you can find all values from {{values}} array, for example " -"{{#each values}} {{this}} {{/each}}. If template is not defined " -"then multiple values are joined with commas. You can also use this template " -"to render JSON values (if the JSON is an array then the array is exposed as " -"values, otherwise you can access the JSON keys directly)." -msgstr "" -"Für Gruppenelemente wie Checkboxen können Sie das Aussehen des Merge-Tags " -"mit einer optionalen Vorlage steuern. Die Vorlage verwendet die Handlebars-" -"Syntax und Sie können alle Werte des {{values}} Array finden, " -"zB {{#each}} {{this}} {{/each}}. Wenn die Vorlage nicht " -"definiert ist, werden mehrere Werte mit Kommas verbunden. Sie können diese " -"Vorlage auch verwenden, um JSON-Werte zu rendern (wenn das JSON ein Array " -"ist, dann ist das Array als values verfügbar, ansonsten können " -"Sie direkt auf die JSON-Keys zugreifen)." - -#: views/lists/fields/create.hbs:33 views/lists/fields/edit.hbs:37 -msgid "Visible" -msgstr "Sichtbar" - -#: views/lists/fields/create.hbs:34 -msgid "Add Field" -msgstr "Feld hinzufügen" - -#: views/lists/fields/edit.hbs:4 -msgid "Edit Field" -msgstr "Feld bearbeiten" - -#: views/lists/fields/edit.hbs:5 -msgid "Edit Custom Field" -msgstr "Feld bearbeiten" - -#: views/lists/fields/edit.hbs:6 -msgid "Back to fields" -msgstr "Zurück zu den Feldern" - -#: 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 "Merge-Tag" - -#: views/lists/fields/edit.hbs:31 -msgid "Merge Tag" -msgstr "Merge-Tag" - -#: views/lists/fields/edit.hbs:32 -msgid "Put this tag in your content:" -msgstr "Fügen Sie diesen Tag Ihrem Inhalt hinzu:" - -#: views/lists/fields/edit.hbs:38 -msgid "Delete Field" -msgstr "Feld löschen" - -#: views/lists/fields/fields.hbs:7 views/lists/view.hbs:26 -#: views/report-templates/partials/report-template-fields.hbs:5 -msgid "Type" -msgstr "Typ" - -#: views/lists/fields/fields.hbs:10 views/lists/fields/fields.hbs:11 -#: views/lists/forms/edit.hbs:22 views/lists/forms/forms.hbs:8 -#: views/lists/segments/segments.hbs:8 views/lists/segments/view.hbs:12 -#: views/triggers/triggers.hbs:14 routes/campaigns.js:276 -#: routes/campaigns.js:568 routes/campaigns.js:657 routes/campaigns.js:706 -#: routes/lists.js:166 routes/lists.js:253 routes/report-templates.js:51 -#: routes/templates.js:170 routes/triggers.js:297 -msgid "Edit" -msgstr "Bearbeiten" - -#: views/lists/forms/create.hbs:3 views/lists/forms/edit.hbs:3 -#: views/lists/forms/forms.hbs:3 views/lists/forms/forms.hbs:5 -#: views/lists/view.hbs:5 -msgid "Custom Forms" -msgstr "Formulare" - -#: views/lists/forms/create.hbs:4 -msgid "Create Form" -msgstr "Formular erstellen" - -#: views/lists/forms/create.hbs:5 views/lists/forms/forms.hbs:4 -msgid "Create Custom Form" -msgstr "Formular erstellen" - -#: views/lists/forms/create.hbs:6 views/lists/forms/create.hbs:7 -#: views/lists/forms/edit.hbs:7 views/lists/forms/edit.hbs:8 -msgid "Form Name" -msgstr "Formular-Name" - -#: views/lists/forms/create.hbs:8 -msgid "Add Form" -msgstr "Formular hinzufügen" - -#: views/lists/forms/edit.hbs:4 -msgid "Edit Form" -msgstr "Formular bearbeiten" - -#: views/lists/forms/edit.hbs:5 -msgid "Edit Custom Form" -msgstr "Formular bearbeiten" - -#: views/lists/forms/edit.hbs:6 -msgid "Back to forms" -msgstr "Zurück zu Formulare" - -#: views/lists/forms/edit.hbs:10 -msgid "Optional comments about this form" -msgstr "Optionale Kommentare zu diesem Formular" - -#: views/lists/forms/edit.hbs:11 -msgid "Form Preview" -msgstr "Formular Vorschau" - -#: views/lists/forms/edit.hbs:12 -msgid "" -"Note: These links are solely for a quick preview. If you submit a preview " -"form you'll get redirected to the list's default form." -msgstr "" -"Hinweis: Diese Links dienen ausschließlich der Vorschau. Wenn Sie ein " -"Vorschau-Formlar absenden, werden Sie auf das Standardformular der Liste " -"umgeleitet." - -#: views/lists/forms/edit.hbs:13 views/lists/subscription/add.hbs:16 -#: views/subscription/mail-unsubscribe-confirmed-html.mjml.hbs:4 -#: views/subscription/mail-unsubscribe-confirmed-text.hbs:4 routes/forms.js:157 -#: routes/lists.js:284 -msgid "Subscribe" -msgstr "Abonnieren" - -#: views/lists/forms/edit.hbs:14 -msgid "Confirm Notice" -msgstr "Bestätigung erforderlich" - -#: views/lists/forms/edit.hbs:15 -msgid "Updated Notice" -msgstr "Profil aktualisiert" - -#: views/lists/forms/edit.hbs:16 -msgid "Unsubscribed Notice" -msgstr "Abmeldungshinweis" - -#: views/lists/forms/edit.hbs:17 routes/forms.js:195 -msgid "Manage" -msgstr "Verwalten" - -#: views/lists/forms/edit.hbs:18 -msgid "Manage Address" -msgstr "Adresse Verwalten" - -#: views/lists/forms/edit.hbs:19 -msgid "Create a test user for additional options" -msgstr "Erstellen Sie einen Testbenutzer für zusätzliche Optionen" - -#: views/lists/forms/edit.hbs:20 views/report-templates/create.hbs:3 -#: views/report-templates/edit.hbs:3 -#: views/report-templates/report-templates.hbs:3 views/templates/create.hbs:2 -#: views/templates/edit.hbs:2 views/templates/templates.hbs:2 -#: views/templates/templates.hbs:4 lib/tools.js:122 routes/templates.js:27 -msgid "Templates" -msgstr "Vorlagen" - -#: views/lists/forms/edit.hbs:21 -msgid "Fields" -msgstr "Felder" - -#: views/lists/forms/edit.hbs:23 -msgid "Form Fields" -msgstr "Formular Felder" - -#: views/lists/forms/edit.hbs:24 -msgid "Fields hidden on subscription page:" -msgstr "Unsichtbare Felder auf der Anmeldung-Seite:" - -#: views/lists/forms/edit.hbs:25 -msgid "Fields shown on subscription page:" -msgstr "Sichtbare Felder auf der Anmeldung-Seite:" - -#: views/lists/forms/edit.hbs:26 -msgid "Fields hidden on preferences page:" -msgstr "Unsichtbare Felder auf der Profil-Seite:" - -#: views/lists/forms/edit.hbs:27 -msgid "Fields shown on preferences page:" -msgstr "Sichtbare Felder auf der Profil-Seite:" - -#: views/lists/forms/edit.hbs:28 -msgid "Delete Form" -msgstr "Formular löschen" - -#: views/lists/forms/forms.hbs:10 -msgid "The default form for this list is:" -msgstr "Das Standard-Formular für diese Liste ist:" - -#: views/lists/lists.hbs:6 -msgid "ID" -msgstr "ID" - -#: views/lists/lists.hbs:7 views/reports/partials/report-fields.hbs:10 -msgid "Subscribers" -msgstr "Abonnenten" - -#: views/lists/segments/create.hbs:3 views/lists/segments/edit.hbs:3 -#: views/lists/segments/rule-configure.hbs:3 -#: views/lists/segments/rule-create.hbs:3 views/lists/segments/rule-edit.hbs:3 -#: views/lists/segments/segments.hbs:3 views/lists/segments/segments.hbs:5 -#: views/lists/segments/view.hbs:3 views/lists/view.hbs:7 -#: views/lists/view.hbs:14 -msgid "Segments" -msgstr "Segmente" - -#: views/lists/segments/create.hbs:4 views/lists/segments/create.hbs:5 -#: views/lists/segments/rule-configure.hbs:4 -#: views/lists/segments/rule-create.hbs:4 views/lists/segments/rule-edit.hbs:4 -#: views/lists/segments/segments.hbs:4 -msgid "Create Segment" -msgstr "Segment erstellen" - -#: views/lists/segments/create.hbs:6 views/lists/segments/create.hbs:7 -#: views/lists/segments/edit.hbs:7 views/lists/segments/edit.hbs:8 -msgid "Segment Name" -msgstr "Segmentnamen" - -#: views/lists/segments/create.hbs:8 views/lists/segments/edit.hbs:9 -msgid "Rule match" -msgstr "Regel match" - -#: views/lists/segments/create.hbs:10 views/lists/segments/edit.hbs:11 -msgid "All rules must match" -msgstr "Alle Regeln müssen zutreffen" - -#: views/lists/segments/create.hbs:11 views/lists/segments/edit.hbs:12 -msgid "Any rule can match" -msgstr "Irgendeine Regel kann zutreffen" - -#: views/lists/segments/create.hbs:12 -msgid "Add Segment" -msgstr "Segment hinzufügen" - -#: views/lists/segments/edit.hbs:4 views/lists/segments/edit.hbs:5 -#: views/lists/segments/view.hbs:6 views/lists/view.hbs:12 -msgid "Edit Segment" -msgstr "Segment bearbeiten" - -#: views/lists/segments/edit.hbs:6 -msgid "Back to segments" -msgstr "Zurück zu Segmente" - -#: views/lists/segments/edit.hbs:13 -msgid "Delete Segment" -msgstr "Segment löschen" - -#: views/lists/segments/rule-configure.hbs:5 -#: views/lists/segments/rule-create.hbs:5 views/lists/segments/rule-edit.hbs:5 -#: views/lists/segments/view.hbs:4 -msgid "Create Rule" -msgstr "Regel erstellen" - -#: views/lists/segments/rule-configure.hbs:6 -#: views/lists/segments/rule-create.hbs:6 views/lists/segments/rule-edit.hbs:6 -#: views/lists/segments/view.hbs:10 -msgid "Rule" -msgstr "Regel" - -#: views/lists/segments/rule-configure.hbs:7 -#: views/lists/segments/rule-configure.hbs:8 -#: views/lists/segments/rule-configure.hbs:10 -#: views/lists/segments/rule-configure.hbs:13 -#: views/lists/segments/rule-configure.hbs:25 -#: views/lists/segments/rule-configure.hbs:30 -#: views/lists/segments/rule-edit.hbs:7 views/lists/segments/rule-edit.hbs:8 -#: views/lists/segments/rule-edit.hbs:10 views/lists/segments/rule-edit.hbs:15 -#: views/lists/segments/rule-edit.hbs:29 views/lists/segments/rule-edit.hbs:34 -#: views/lists/segments/view.hbs:11 -msgid "Value" -msgstr "Wert" - -#: views/lists/segments/rule-configure.hbs:9 -#: views/lists/segments/rule-edit.hbs:9 -msgid "" -"Use % for wildcard character, e.g. \"%test\" to match all values that end " -"with \"test\"" -msgstr "" -"Verwenden Sie % für Platzhalterzeichen, z.B. \"%test“, um alle Werte zu " -"matchen, die mit \"test\" enden" - -#: views/lists/segments/rule-configure.hbs:11 -#: views/lists/segments/rule-configure.hbs:14 -#: views/lists/segments/rule-configure.hbs:26 -#: views/lists/segments/rule-edit.hbs:11 views/lists/segments/rule-edit.hbs:16 -#: views/lists/segments/rule-edit.hbs:30 -msgid "Use exact match" -msgstr "Exact match verwenden" - -#: views/lists/segments/rule-configure.hbs:12 -#: views/lists/segments/rule-configure.hbs:15 -#: views/lists/segments/rule-configure.hbs:27 -#: views/lists/segments/rule-edit.hbs:12 views/lists/segments/rule-edit.hbs:17 -#: views/lists/segments/rule-edit.hbs:31 -msgid "Use range match" -msgstr "Range match verwenden" - -#: views/lists/segments/rule-configure.hbs:16 -#: views/lists/segments/rule-edit.hbs:20 -msgid "Use relative range match" -msgstr "Relative range match verwenden" - -#: views/lists/segments/rule-configure.hbs:17 -#: views/lists/segments/rule-configure.hbs:28 -#: views/lists/segments/rule-edit.hbs:13 views/lists/segments/rule-edit.hbs:18 -#: views/lists/segments/rule-edit.hbs:21 views/lists/segments/rule-edit.hbs:32 -msgid "From" -msgstr "Von" - -#: views/lists/segments/rule-configure.hbs:18 -#: views/lists/segments/rule-configure.hbs:22 -#: views/lists/segments/rule-edit.hbs:22 views/lists/segments/rule-edit.hbs:26 -msgid "days" -msgstr "Tage" - -#: views/lists/segments/rule-configure.hbs:19 -#: views/lists/segments/rule-configure.hbs:23 -#: views/lists/segments/rule-edit.hbs:23 views/lists/segments/rule-edit.hbs:27 -msgid "before today" -msgstr "vor heute" - -#: views/lists/segments/rule-configure.hbs:20 -#: views/lists/segments/rule-configure.hbs:24 -#: views/lists/segments/rule-edit.hbs:24 views/lists/segments/rule-edit.hbs:28 -msgid "after today" -msgstr "nach heute" - -#: views/lists/segments/rule-configure.hbs:21 -#: views/lists/segments/rule-configure.hbs:29 -#: views/lists/segments/rule-edit.hbs:14 views/lists/segments/rule-edit.hbs:19 -#: views/lists/segments/rule-edit.hbs:25 views/lists/segments/rule-edit.hbs:33 -msgid "to" -msgstr "an" - -#: views/lists/segments/rule-configure.hbs:31 -#: views/lists/segments/rule-edit.hbs:35 lib/models/segments.js:156 -#: lib/models/segments.js:418 -msgid "Selected" -msgstr "Ausgewählt" - -#: views/lists/segments/rule-configure.hbs:32 -#: views/lists/segments/rule-edit.hbs:36 lib/models/segments.js:156 -#: lib/models/segments.js:418 -msgid "Not selected" -msgstr "Nicht ausgewählt" - -#: views/lists/segments/rule-configure.hbs:33 -msgid "Add Rule" -msgstr "Regel hinzufügen" - -#: views/lists/segments/rule-create.hbs:8 -#: views/lists/subscription/import.hbs:15 -#: views/reports/create-select-template.hbs:5 -#: views/triggers/create-select.hbs:9 -msgid "Next" -msgstr "Weiter" - -#: views/lists/segments/rule-edit.hbs:37 -msgid "Delete Rule" -msgstr "Regel löschen" - -#: views/lists/segments/segments.hbs:7 -msgid "Match" -msgstr "Match" - -#: views/lists/segments/view.hbs:5 views/lists/view.hbs:13 -msgid "Segment" -msgstr "Segment" - -#: views/lists/segments/view.hbs:7 -msgid "Match rules" -msgstr "Regel match" - -#: views/lists/segments/view.hbs:8 -msgid "Matching subscribers" -msgstr "Passende Abonnenten" - -#: views/lists/segments/view.hbs:9 -msgid "show" -msgstr "zeige" - -#: views/lists/subscription/add.hbs:3 views/lists/subscription/add.hbs:4 -msgid "Add subscriber" -msgstr "Abonnent hinzufügen" - -#: views/lists/subscription/add.hbs:5 -#: views/subscription/partials/subscription-custom-fields.hbs:1 -#: views/users/account.hbs:7 -msgid "Email Address" -msgstr "E-Mail-Adresse" - -#: views/lists/subscription/add.hbs:8 views/lists/subscription/edit.hbs:9 -#: views/settings.hbs:82 views/settings.hbs:97 -#: views/subscription/partials/subscription-custom-fields.hbs:6 -msgid "Begins with" -msgstr "Beginnt mit" - -#: views/lists/subscription/add.hbs:9 views/lists/subscription/edit.hbs:10 -msgid "" -"Insert a GPG public key that will be used to encrypt messages sent this " -"subscriber" -msgstr "" -"Falls Sie hier einen GPG Public Key einfügen, wird dieser verwendet um E-" -"Mails an diesen Abonnenten zu verschlüsseln" - -#: views/lists/subscription/add.hbs:11 views/lists/subscription/edit.hbs:12 -#: views/lists/subscription/import-preview.hbs:9 -msgid "Timezone" -msgstr "Zeitzone" - -#: views/lists/subscription/add.hbs:13 views/lists/subscription/edit.hbs:13 -msgid "Test user?" -msgstr "Test-Benutzer?" - -#: views/lists/subscription/add.hbs:14 views/lists/subscription/edit.hbs:14 -msgid "" -"If checked then this subscription can be used for previewing campaign " -"messages" -msgstr "" -"Wenn diese Option aktiviert ist, kann dieser Abonnent für die Vorschau von " -"Kampagnen verwendet werden" - -#: views/lists/subscription/add.hbs:15 -msgid "" -"This person will not receive a confirmation email so make sure that you have " -"permission to email them." -msgstr "" -"Diese Person wird keine Bestätigungs-E-Mail erhalten. Stellen Sie sicher, " -"dass Sie die Erlaubnis haben, dieser Person E-Mails zu senden." - -#: views/lists/subscription/edit.hbs:3 views/lists/subscription/edit.hbs:4 -msgid "Edit subscriber" -msgstr "Abonnent bearbeiten" - -#: views/lists/subscription/edit.hbs:5 -#: views/lists/subscription/import-failed.hbs:5 -msgid "Back to list" -msgstr "Zurück zur Liste" - -#: views/lists/subscription/edit.hbs:6 -#: views/lists/subscription/import-preview.hbs:6 -#: views/subscription/partials/subscription-unsubscribe-form.hbs:1 -#: lib/helpers.js:41 lib/models/segments.js:11 -msgid "Email address" -msgstr "E-Mail-Adresse" - -#: views/lists/subscription/edit.hbs:17 -msgid "Delete Subscription" -msgstr "Abonnement löschen" - -#: views/lists/subscription/import-failed.hbs:3 -msgid "Import status" -msgstr "Import status" - -#: views/lists/subscription/import-failed.hbs:4 -msgid "Failed addresses" -msgstr "Fehlgeschlagene Adressen" - -#: 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 "" -"Rollenbasierte Adressen wie postmaster@example.com sind beim Import " -"gesperrt. Abonnenten mit rollenbasierten E-Mail-Adressen können sich mit dem " -"Anmeldeformular Ihrer Liste abonnieren." - -#: views/lists/subscription/import-failed.hbs:7 -msgid "see here" -msgstr "sehen Sie hier" - -#: views/lists/subscription/import-failed.hbs:9 -msgid "Fail reason" -msgstr "Fehlerursache" - -#: views/lists/subscription/import-preview.hbs:3 -#: views/lists/subscription/import-preview.hbs:4 -#: views/lists/subscription/import.hbs:3 views/lists/subscription/import.hbs:4 -msgid "Import subscribers" -msgstr "Abonnenten importieren" - -#: views/lists/subscription/import-preview.hbs:10 views/users/api.hbs:27 -#: views/users/api.hbs:35 views/users/api.hbs:43 views/users/api.hbs:54 -#: views/users/api.hbs:62 views/users/api.hbs:70 -msgid "Example" -msgstr "Beispiel" - -#: views/lists/subscription/import-preview.hbs:11 -msgid "Start import" -msgstr "Import starten" - -#: views/lists/subscription/import.hbs:5 -msgid "CSV File" -msgstr "CVS Datei" - -#: views/lists/subscription/import.hbs:6 -msgid "CSV delimiter" -msgstr "CSV-Trennzeichen" - -#: views/lists/subscription/import.hbs:7 -msgid "Categorize the imported subscribers as" -msgstr "Kategorisiere die importierten Abonnenten als" - -#: views/lists/subscription/import.hbs:8 routes/lists.js:202 -msgid "Subscribed" -msgstr "Abonniert" - -#: views/lists/subscription/import.hbs:9 -msgid "Regular subscriber addresses" -msgstr "Normale Abonnenten-Adressen" - -#: views/lists/subscription/import.hbs:11 -msgid "Suppressed emails that will be unsubscribed from your list" -msgstr "Unterdrückte E-Mail-Adressen, die von Ihrer Liste abgemeldet werden" - -#: views/lists/subscription/import.hbs:12 -msgid "Check imported emails" -msgstr "Überprüfe die importierten E-Mail-Adressen" - -#: views/lists/subscription/import.hbs:13 views/triggers/triggers.hbs:12 -msgid "Enabled" -msgstr "Aktiviert" - -#: views/lists/subscription/import.hbs:14 views/triggers/triggers.hbs:13 -msgid "Disabled" -msgstr "Deaktiviert" - -#: views/lists/view.hbs:3 -msgid "Subscription Form" -msgstr "Abonnement-Formular" - -#: views/lists/view.hbs:4 -msgid "List Actions" -msgstr "Listen Aktionen" - -#: views/lists/view.hbs:9 views/triggers/create-select.hbs:3 -#: views/triggers/create-select.hbs:4 views/triggers/create.hbs:3 -#: views/triggers/create.hbs:4 views/triggers/create.hbs:27 -#: views/triggers/triggers.hbs:3 -msgid "Create Trigger" -msgstr "Trigger erstellen" - -#: views/lists/view.hbs:10 -msgid "Add Subscriber" -msgstr "Abonnent hinzufügen" - -#: views/lists/view.hbs:11 -msgid "Import Subscribers" -msgstr "Abonnenten importieren" - -#: views/lists/view.hbs:15 -msgid "Create New Segment" -msgstr "Neues Segment erstellen" - -#: views/lists/view.hbs:16 -msgid "Filter" -msgstr "Filter" - -#: views/lists/view.hbs:17 -msgid "Subscriptions" -msgstr "Abonnemente" - -#: views/lists/view.hbs:18 -msgid "Imports" -msgstr "Importe" - -#: views/lists/view.hbs:25 routes/campaigns.js:255 routes/lists.js:296 -msgid "Finished" -msgstr "Fertig" - -#: views/lists/view.hbs:27 -msgid "Added" -msgstr "Hinzugefügt" - -#: views/lists/view.hbs:28 -msgid "Updated" -msgstr "Aktualisiert" - -#: views/lists/view.hbs:29 -msgid "Failed" -msgstr "Fehlgeschlagen" - -#: views/lists/view.hbs:31 -msgid "" -"Are you sure? This action should only be called to resolve stalled imports" -msgstr "" -"Sind Sie sicher? Diese Aktion sollte nur ausgeführt werden, um Probleme mit " -"hängenden Importen zu lösen" - -#: views/lists/view.hbs:32 -msgid "Restart" -msgstr "Neustart" - -#: views/mosaico/editor.hbs:1 views/partials/merge-tag-reference.hbs:1 -msgid "Merge tag reference" -msgstr "Merge-Tag Referenz" - -#: views/mosaico/editor.hbs:4 -msgid "MOSAICO Responsive Email Designer" -msgstr "MOSAICO Responsive E-Mail-Designer" - -#: views/mosaico/editor.hbs:5 -msgid "Sucessfully saved" -msgstr "Erfolgreich gespeichert" - -#: views/mosaico/editor.hbs:6 -msgid "An error occured while saving the document" -msgstr "Beim Speichern des Dokuments ist ein Fehler aufgetreten" - -#: views/mosaico/editor.hbs:7 -msgid "Unsaved changes will be lost. Close now?" -msgstr "Nicht gespeicherte Änderungen gehen verloren. Jetzt schließen?" - -#: views/mosaico/editor.hbs:8 views/mosaico/editor.hbs:9 -msgid "Tags" -msgstr "Tags" - -#: 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 "Vorlagen-Inhalt (HTML)" - -#: views/partials/editor-navbar.hbs:1 -msgid "SAVE" -msgstr "SPEICHERN" - -#: views/partials/editor-navbar.hbs:2 -msgid "SAVING" -msgstr "AM SPEICHERN" - -#: views/partials/editor-navbar.hbs:3 -msgid "CLOSE" -msgstr "SCHLIESSEN" - -#: views/partials/grapejs.hbs:2 -msgid "Open GrapeJS" -msgstr "GrapeJS öffnen" - -#: views/partials/html-preview.hbs:1 -msgid "Toggle HTML preview" -msgstr "HTML Vorschau anzeigen" - -#: views/partials/html-to-text.hbs:1 -msgid "" -"To extract the text from HTML click here." -msgstr "" -"Um den Klartext aus dem HTML Dokument zu extrahieren, klicken Sie hier." - -#: 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 "" -"Hierbei wird Ihr bestehender Klartext im Feld oberhalb überschreiben. Diese " -"Funktion nutzt die Premailer API. Die Verwendung unterliegt " -"deren AGB und Datenschutzbestimmungen." - -#: views/partials/html-to-text.hbs:3 -msgid "An error occurred while talking to the server" -msgstr "Beim Datenverkehr mit dem Server ist ein Fehler aufgetreten" - -#: views/partials/merge-tag-reference.hbs:2 -msgid "" -"Merge tags are tags that are replaced before sending out the message. The " -"format of the merge tag is the following: [TAG_NAME] or " -"[TAG_NAME/fallback] where fallback is an optional " -"text value used when TAG_NAME is empty." -msgstr "" -"Merge-Tags sind Tags, die vor dem Senden der Nachricht ersetzt werden. Das " -"Format des Merge-Tags lautet wie folgt: [TAG_NAME] oder " -"[TAG_NAME/fallback] wobei fallback ein optionaler " -"Textwert ist, der verwendet wird, falls TAG_NAME leer ist." - -#: views/partials/modal-carousel.hbs:1 -msgid "{{title}}" -msgstr "{{title}}" - -#: views/partials/mosaico.hbs:2 -msgid "Open Mosaico" -msgstr "Mosaico öffnen" - -#: views/partials/plaintext.hbs:1 -msgid "Template content (plaintext)" -msgstr "Vorlagen-Inhalt (Klartext)" - -#: views/report-templates/create.hbs:2 views/report-templates/edit.hbs:2 -#: views/report-templates/report-templates.hbs:2 -#: views/reports/create-select-template.hbs:2 views/reports/create.hbs:2 -#: views/reports/edit.hbs:2 views/reports/output.hbs:2 -#: views/reports/reports.hbs:2 views/reports/reports.hbs:5 -#: views/reports/view.hbs:2 lib/tools.js:137 routes/reports.js:31 -msgid "Reports" -msgstr "Reporte" - -#: views/report-templates/create.hbs:4 views/report-templates/create.hbs:6 -#: views/report-templates/report-templates.hbs:4 views/templates/create.hbs:3 -#: views/templates/create.hbs:4 views/templates/create.hbs:12 -#: views/templates/templates.hbs:3 -msgid "Create Template" -msgstr "Vorlage erstellen" - -#: views/report-templates/create.hbs:5 routes/report-templates.js:231 -msgid "Create Report Template" -msgstr "Report-Vorlage erstellen" - -#: views/report-templates/edit.hbs:4 views/templates/edit.hbs:3 -#: views/templates/edit.hbs:4 -msgid "Edit Template" -msgstr "Vorlage bearbeiten" - -#: views/report-templates/edit.hbs:5 routes/report-templates.js:262 -msgid "Edit Report Template" -msgstr "Report-Vorlage bearbeiten" - -#: views/report-templates/edit.hbs:6 views/templates/edit.hbs:11 -msgid "Delete Template" -msgstr "Vorlage löschen" - -#: views/report-templates/edit.hbs:7 -msgid "Update and Stay" -msgstr "Aktualisieren und bleiben" - -#: views/report-templates/edit.hbs:8 -msgid "Update and Leave" -msgstr "Aktualisieren und verlassen" - -#: views/report-templates/partials/report-template-fields.hbs:2 -msgid "Template Name" -msgstr "Vorlagen-Name" - -#: views/report-templates/partials/report-template-fields.hbs:6 -msgid "User selectable fields" -msgstr "Vom Benutzer wählbare Felder" - -#: views/report-templates/partials/report-template-fields.hbs:7 -msgid "Data processing code" -msgstr "Datenverarbeitungs-Code" - -#: views/report-templates/partials/report-template-fields.hbs:8 -msgid "Rendering template" -msgstr "Render-Vorlage" - -#: views/report-templates/report-templates.hbs:5 -msgid "Blank" -msgstr "Leer" - -#: views/report-templates/report-templates.hbs:6 -msgid "All Subscribers" -msgstr "Alle Abonnenten" - -#: views/report-templates/report-templates.hbs:7 -msgid "Grouped Subscribers" -msgstr "Gruppierte Abonnenten" - -#: views/report-templates/report-templates.hbs:8 -msgid "Export List as CSV" -msgstr "Liste als CSV exportieren" - -#: views/report-templates/report-templates.hbs:9 views/reports/reports.hbs:4 -#: routes/report-templates.js:29 -msgid "Report Templates" -msgstr "Report-Vorlagen" - -#: views/reports/create-select-template.hbs:3 -#: views/reports/create-select-template.hbs:4 views/reports/create.hbs:3 -#: views/reports/create.hbs:4 views/reports/create.hbs:5 -#: views/reports/reports.hbs:3 routes/reports.js:81 -msgid "Create Report" -msgstr "Report erstellen" - -#: views/reports/edit.hbs:3 views/reports/edit.hbs:4 routes/reports.js:151 -msgid "Edit Report" -msgstr "Report bearbeiten" - -#: views/reports/edit.hbs:5 -msgid "Delete Report" -msgstr "Report löschen" - -#: views/reports/partials/report-fields.hbs:2 -msgid "Report Name" -msgstr "Report-Name" - -#: views/reports/partials/report-fields.hbs:8 -#: views/reports/partials/report-fields.hbs:11 -msgid "" -"Select a campaign in the table above by clicking on the respective row " -"number." -msgstr "" -"Wählen Sie eine Kampagne in der obigen Tabelle aus, indem Sie auf die " -"jeweilige Zeilennummer klicken." - -#: views/reports/partials/report-select-template.hbs:1 -msgid "Report Template" -msgstr "Report-Vorlage" - -#: views/settings.hbs:5 -msgid "Service Address (URL)" -msgstr "Service Adresse (URL)" - -#: views/settings.hbs:6 -msgid "Enter the URL this service can be reached from" -msgstr "Geben Sie die URL ein, auf welcher dieser Service verfügbar ist" - -#: views/settings.hbs:7 -msgid "Admin Email" -msgstr "Admin E-Mail" - -#: views/settings.hbs:8 -msgid "" -"Enter the email address that will be used as \"from\" for system messages" -msgstr "" -"Geben Sie hier die E-Mail-Adresse ein, die als \"von\" für Systemmeldungen " -"verwendet wird" - -#: views/settings.hbs:9 -msgid "Disable WYSIWYG editor" -msgstr "WYSIWYG Editor deaktivieren" - -#: views/settings.hbs:10 -msgid "If checked then message editor displays HTML code without the preview" -msgstr "Wenn markiert zeigt der Editor HTML-Code ohne Vorschau an" - -#: views/settings.hbs:11 -msgid "Disable subscription confirmation messages" -msgstr "Abonnement-Bestätigungsmeldungen deaktivieren" - -#: views/settings.hbs:12 -msgid "" -"If checked then do not send a confirmation message that states the " -"subscriber is now subscribed or unsubscribed. This does not disable double " -"opt-in messages." -msgstr "" -"Wenn markiert wird keine Bestätigungsnachricht gesendet, die besagt, dass " -"der Teilnehmer jetzt abonniert oder abgemeldet ist. Dies deaktiviert die " -"Double-Opt-In-Nachrichten nicht." - -#: views/settings.hbs:13 -msgid "Tracking ID" -msgstr "Tracking ID" - -#: views/settings.hbs:14 -msgid "Enter Google Analytics tracking code" -msgstr "Google-Analytics Tracking-Code" - -#: views/settings.hbs:15 -msgid "Frontpage shout out" -msgstr "Meldung auf der Startseite" - -#: views/settings.hbs:16 -msgid "HTML code shown in the front page header section" -msgstr "HTML-Code im Kopfbereich der Startseite" - -#: views/settings.hbs:17 -msgid "Campaign defaults" -msgstr "Kampagnenvorgaben" - -#: views/settings.hbs:18 -msgid "Sender name" -msgstr "Absender Name" - -#: views/settings.hbs:19 -msgid "Sender name, eg. My Awesome Company Ltd." -msgstr "Absender Name, z.B. Meine grossartige Firma" - -#: views/settings.hbs:20 -msgid "Default address" -msgstr "Standardadresse" - -#: views/settings.hbs:21 -msgid "" -"Contact address to provide, eg. 1234 Main Street, Anywhere, MA 01234, USA" -msgstr "Kontakt Adresse, z.B. 1234 Hauptstrasse, 01234 Irgendwo, Deutschland" - -#: views/settings.hbs:22 -msgid "Default \"from name\"" -msgstr "Standard \"von\" Namen" - -#: views/settings.hbs:24 -msgid "Default \"from\" email" -msgstr "Standard \"von\" E-Mail-Adresse" - -#: views/settings.hbs:26 -msgid "Default \"subject line\"" -msgstr "Standard \"Betreffzeile\"" - -#: views/settings.hbs:28 -msgid "Default homepage (URL)" -msgstr "Standard-Homepage (URL)" - -#: views/settings.hbs:29 -msgid "URL to redirect the subscribed users to, eg. http://example.com/" -msgstr "" -"URL, um die abonnierten Benutzer weiterzuleiten, z.B. http://example.com/" - -#: views/settings.hbs:30 -msgid "Mailer Settings" -msgstr "Mailer-Einstellungen" - -#: views/settings.hbs:31 -msgid "These settings are required to send out e-mail messages" -msgstr "Diese Einstellungen sind erforderlich, um E-Mails zu senden" - -#: views/settings.hbs:32 -msgid "SMTP" -msgstr "SMTP" - -#: views/settings.hbs:33 -msgid "AWS SES" -msgstr "AWS SES" - -#: views/settings.hbs:34 -msgid "Use SMTP for sending mail" -msgstr "SMTP zum Senden der E-Mails verwenden" - -#: views/settings.hbs:35 -msgid "Hostname" -msgstr "Hostname" - -#: views/settings.hbs:36 -msgid "Port" -msgstr "Port" - -#: views/settings.hbs:37 -msgid "Port, eg. 465. Autodetected if left blank" -msgstr "Port, z.B: 465. Automatisch erkannt wenn leer" - -#: views/settings.hbs:38 -msgid "Encryption" -msgstr "Verschlüsseleung" - -#: views/settings.hbs:39 -msgid "Disable SMTP authentication" -msgstr "SMTP Authentifizierung deaktivieren" - -#: views/settings.hbs:40 views/users/forgot.hbs:9 views/users/login.hbs:4 -#: views/users/login.hbs:5 -msgid "Username" -msgstr "Benutzername" - -#: views/settings.hbs:41 -msgid "Username, eg. myaccount@example.com" -msgstr "Benutzername, z.B: myaccount@example.com" - -#: views/settings.hbs:42 views/settings.hbs:43 views/users/login.hbs:6 -#: views/users/login.hbs:7 -msgid "Password" -msgstr "Passwort" - -#: views/settings.hbs:44 -msgid "Use SES API for sending mail" -msgstr "SES API zum Versenden der E-Mails verwenden" - -#: views/settings.hbs:45 -msgid "Access Key" -msgstr "Access Key" - -#: views/settings.hbs:46 -msgid "AWS Access Key Id" -msgstr "AWS Access Key Id" - -#: views/settings.hbs:47 -msgid "Secret Key" -msgstr "Secret Key" - -#: views/settings.hbs:48 -msgid "AWS Secret Access Key" -msgstr "AWS Secret Access Key" - -#: views/settings.hbs:49 -msgid "Region" -msgstr "Region" - -#: views/settings.hbs:50 -msgid "Checking" -msgstr "Am überprüfen" - -#: views/settings.hbs:51 -msgid "Check Mailer config" -msgstr "Mailer-Konfiguration überprüfen" - -#: views/settings.hbs:52 -msgid "Don't have an SMTP account yet? Create a free SendPulse account" -msgstr "" -"Haben Sie noch kein SMTP-Konto? Erstellen Sie einen kostenloses SendPulse-" -"Account" - -#: views/settings.hbs:53 -msgid "here" -msgstr "hier" - -#: views/settings.hbs:54 -msgid "Advanced Mailer settings" -msgstr "Erweiterte Mailer-Einstellungen" - -#: views/settings.hbs:55 -msgid "Log SMTP transactions" -msgstr "SMTP-Transaktionen Loggen" - -#: views/settings.hbs:56 -msgid "Allow self-signed certificates" -msgstr "Selbstsignierte Zertifikate zulassen" - -#: views/settings.hbs:57 -msgid "Max connections" -msgstr "Max. Verbindungen" - -#: views/settings.hbs:58 -msgid "The count of max connections, eg. 10" -msgstr "Die Anzahl maximaler Verbindungen, z.B. 10" - -#: views/settings.hbs:59 -msgid "" -"The count of maximum simultaneous connections to make against the SMTP " -"server (defaults to 5). This limit is per sending process." -msgstr "" -"Anzahl der maximalen parallelen Verbindungen zum SMTP-Server (standardmäßig " -"auf 5). Diese Limite gilt per Sendungsprozess." - -#: views/settings.hbs:60 -msgid "Max messages" -msgstr "Max. Nachrichten" - -#: views/settings.hbs:61 -msgid "The count of max messages, eg. 100" -msgstr "Die Anzahl maximaler Nachrichten, z.B. 100" - -#: views/settings.hbs:62 -msgid "" -"The number of messages to send through a single connection before the " -"connection is closed and reopened (defaults to 100)" -msgstr "" -"Die Anzahl der Nachrichten, die durch eine einzige Verbindung gesendet " -"werden sollen, bevor die Verbindung geschlossen und wieder geöffnet wird " -"(standardmäßig 100)" - -#: views/settings.hbs:63 -msgid "Throttling" -msgstr "Throttling" - -#: views/settings.hbs:64 -msgid "Messages per hour eg. 1000" -msgstr "E-Mail-Nachrichten pro Stunde z.B. 1000" - -#: views/settings.hbs:65 -msgid "" -"Maximum number of messages to send in an hour. Leave empty or zero for no " -"throttling. If your provider uses a different speed limit (messages/minute " -"or messages/second) then convert this limit into messages/hour (1m/s => " -"3600m/h). This limit is per sending process." -msgstr "" -"Maximale Anzahl von E-Mails, die in einer Stunde gesendet werden sollen. " -"Leer oder 0 bedeutet keine Drosselung. Wenn Ihr Provider eine andere " -"Geschwindigkeitsbegrenzung (Nachrichten/Minute oder Nachrichten/Sekunde) " -"verwendet, dann konvertieren Sie diesen Wert in Nachrichten/Stunde (1m/s => " -"3600m/h). Diese Limite gilt pro Sendungsprozess." - -#: views/settings.hbs:66 -msgid "VERP bounce handling" -msgstr "VERP bounce Handhabung" - -#: views/settings.hbs:67 -msgid "" -"Mailtrain is able to use VERP based routing to detect bounces. In this case " -"the message is sent to the recipient using a custom VERP address as the " -"return path of the message. If the message is not accepted a bounce email is " -"sent to this special VERP address and thus a bounce is detected." -msgstr "" -"Mailtrain ist in der Lage, VERP-basiertes Routing zu verwenden, um Bounces " -"zu erkennen. In diesem Fall wird die Nachricht an den Empfänger über eine " -"benutzerdefinierte VERP-Adresse als Return Path der Nachricht gesendet. Wenn " -"die Nachricht nicht akzeptiert wird, wird eine Bounce-E-Mail an diese " -"spezielle VERP-Adresse gesendet und damit ein Bounce erkannt." - -#: views/settings.hbs:68 -msgid "" -"To get VERP working you need to set up a DNS MX record that points to your " -"Mailtrain hostname. You must also ensure that Mailtrain VERP interface is " -"available from port 25 of your server (port 25 usually requires root user " -"privileges). This way if anyone tries to send email to someuser@verp-" -"hostname then the email should end up to this server." -msgstr "" -"Damit VERP funktioniert, müssen Sie einen DNS MX Record einrichten, der auf " -"Ihren Mailtrain Hostnamen verweist. Sie müssen auch sicherstellen, dass die " -"Mailtrain VERP-Schnittstelle von Port 25 Ihres Servers verfügbar ist (Port " -"25 benötigt normalerweise Root-Benutzerberechtigung). Folglich landen E-" -"Mails an someuser@verp-hostname auf diesem Server." - -#: views/settings.hbs:69 -msgid "" -"VERP usually only works if you are using your own SMTP server. Regular relay " -"services (SES, SparkPost, Gmail etc.) tend to remove the VERP address from " -"the message." -msgstr "" -"VERP funktioniert in der Regel nur, wenn Sie Ihren eigenen SMTP-Server " -"verwenden. Reguläre Relay Services (SES, SparkPost, Gmail etc.) neigen dazu, " -"die VERP-Adresse aus der Nachricht zu entfernen." - -#: views/settings.hbs:70 -msgid "Use VERP to catch bounces" -msgstr "VERP verwenden um bounces zu erfassen" - -#: views/settings.hbs:71 -msgid "Server hostname" -msgstr "Hostname" - -#: views/settings.hbs:72 -msgid "The VERP server hostname, eg. bounces.example.com" -msgstr "VERP Server Hostname, z.B. bounces.example.com" - -#: views/settings.hbs:73 -msgid "" -"VERP bounce handling server hostname. This hostname is used in the SMTP " -"envelope FROM address and the MX DNS records should point to this server" -msgstr "" -"VERP bounce handling Server Hostname. Dieser Hostname wird in der SMTP " -"envelope FROM Adresse verwendet. Die MX DNS Records sollten auf diesen " -"Server verweisen" - -#: views/settings.hbs:74 -msgid "" -"VERP bounce handling server is not enabled. Modify your server configuration " -"file and restart server to enable it" -msgstr "" -"VERP Bounce handling Server ist nicht aktiviert. Ändern Sie die Server-" -"Konfigurationsdatei und starten Sie den Server neu, um ihn zu aktivieren." - -#: views/settings.hbs:75 -msgid "GPG Signing" -msgstr "GPG Signierung" - -#: views/settings.hbs:76 -msgid "" -"Only messages that are encrypted can be signed. Subsribers who have not set " -"up a GPG public key in their profile receive normal email messages. Users " -"with GPG key set receive encrypted messages and if you have signing key also " -"set, the messages are signed with this key." -msgstr "" -"Nur verschlüsselte Nachrichten können signiert werden. Abonnenten, die " -"keinen GPG Public Key in ihrem Profil hinterlegt haben, erhalten normale E-" -"Mails. Benutzer mit hinterlegtem GPG Key erhalten verschlüsselte Nachrichten " -"und wenn Sie den Signing Key auch gesetzt haben, werden die Nachrichten mit " -"diesem Schlüssel signiert." - -#: views/settings.hbs:77 -msgid "" -"Do not use sensitive keys here. The private key and passphrase are not " -"encrypted in the database." -msgstr "" -"Verwenden Sie hier keine sensiblen Keys. Der private Key und Passphrase " -"werden in der Datenbank nicht verschlüsselt." - -#: views/settings.hbs:78 -msgid "Private Key Passphrase" -msgstr "Private Key Passphrase" - -#: views/settings.hbs:79 -msgid "Passphrase for the key if set" -msgstr "Passwort für den Key falls gesetzt" - -#: views/settings.hbs:80 -msgid "Only fill this if your private key is encrypted with a passphrase" -msgstr "" -"Füllen Sie dies nur aus, wenn Ihr privater Schlüssel mit einer Passphrase " -"verschlüsselt ist" - -#: views/settings.hbs:81 -msgid "GPG Private Key" -msgstr "GPG Private Key" - -#: views/settings.hbs:83 -msgid "" -"This value is optional. If you do not provide a private key GPG encrypted " -"messages are sent without signing." -msgstr "" -"Dieser Wert ist optional. Wenn Sie keinen private Key zur Verfügung stellen " -"werden GPG verschlüsselte Nachrichten ohne Signierung gesendet." - -#: views/settings.hbs:84 -msgid "DKIM Signing by ZoneMTA" -msgstr "DKIM Signing durch ZoneMTA" - -#: views/settings.hbs:85 -msgid "" -"If you are using ZoneMTA then Mailtrain can provide a DKIM key for signing " -"all outgoing messages. Other services usually provide their own means to " -"DKIM sign your messages" -msgstr "" -"Wenn Sie ZoneMTA verwenden, kann Mailtrain einen DKIM-Key zur Signierung " -"aller ausgehenden Nachrichten bereitstellen. Andere Dienste bieten in der " -"Regel ihre eigenen Mittel an um Ihre E-mails per DKIM zu signieren" - -#: views/settings.hbs:86 -msgid "" -"Do not use sensitive keys here. The private key is not encrypted in the " -"database." -msgstr "" -"Verwenden Sie hier keine sensiblen Keys. Der private Key wird in der " -"Datenbank nicht verschlüsselt." - -#: views/settings.hbs:87 -msgid "ZoneMTA DKIM API Key" -msgstr "ZoneMTA DKIM API Key" - -#: views/settings.hbs:88 -msgid "Some secret value" -msgstr "Ein geheimer Wert" - -#: views/settings.hbs:89 -msgid "" -"Secret value known to ZoneMTA for requesting DKIM key information. If this " -"value was generated by the Mailtrain installation script then you can keep " -"it as it is" -msgstr "" -"Geheimer Wert, der ZoneMTA für die Anforderung von DKIM-" -"Schlüsselinformationen bekannt ist. Wenn dieser Wert vom Mailtrain-" -"Installationsskript generiert wurde, können Sie diese Einstellung so " -"behalten, wie sie ist" - -#: views/settings.hbs:90 -msgid "DKIM domain" -msgstr "DKIM Domain" - -#: views/settings.hbs:91 -msgid "Domain name for the DKIM key" -msgstr "Domain-Name für den DKIM-Key" - -#: views/settings.hbs:92 -msgid "Leave blank to use the sender email address domain" -msgstr "Leer lassen, um die Domain der Sender-E-Mail-Adresse zu verwenden" - -#: views/settings.hbs:93 views/settings.hbs:94 -msgid "DKIM key selector" -msgstr "DKIM Key Selector" - -#: views/settings.hbs:95 -msgid "Signing is disabled without a valid selector value" -msgstr "Signierung ist ohne gültigen Wert deaktiviert" - -#: views/settings.hbs:96 -msgid "DKIM Private Key" -msgstr "DKIM Private Key" - -#: views/settings.hbs:98 -msgid "" -"This value is optional. If you do not provide a private key then messages " -"are not signed." -msgstr "" -"Dieser Wert ist optional. Wenn Sie keinen privaten Schlüssel bereitstellen, " -"werden Nachrichten nicht signiert." - -#: views/subscription/mail-confirm-html.mjml.hbs:1 -#: views/subscription/mail-confirm-text.hbs:1 routes/subscription.js:551 -msgid "Please Confirm Subscription" -msgstr "Bitte bestätigen Sie ihr Abonnement" - -#: views/subscription/mail-confirm-html.mjml.hbs:2 -#: views/subscription/mail-confirm-text.hbs:2 -msgid "Yes, subscribe me to this list" -msgstr "Ja, tragen Sie mich in diese Liste ein" - -#: views/subscription/mail-confirm-html.mjml.hbs:3 -msgid "" -"If you received this email by mistake, simply delete it. You won't be " -"subscribed if you don't click the confirmation link above." -msgstr "" -"Wenn Sie diese E-Mail versehentlich erhalten haben, löschen Sie sie einfach. " -"Sie werden nicht abonniert, wenn Sie nicht auf den Bestätigungslink oben " -"klicken." - -#: views/subscription/mail-confirm-html.mjml.hbs:4 -#: views/subscription/mail-confirm-text.hbs:4 -#: views/subscription/mail-subscription-confirmed-html.mjml.hbs:8 -#: views/subscription/mail-subscription-confirmed-text.hbs:7 -#: views/subscription/mail-unsubscribe-confirmed-html.mjml.hbs:5 -#: views/subscription/mail-unsubscribe-confirmed-text.hbs:5 -msgid "For questions about this list, please contact:" -msgstr "Bei Fragen zu dieser Liste wenden Sie sich bitte an:" - -#: views/subscription/mail-confirm-text.hbs:3 -msgid "" -"If you received this email by mistake, simply delete it. You won't be " -"subscribed unless you click the confirmation link above." -msgstr "" -"Wenn Sie diese E-Mail versehentlich erhalten haben, löschen Sie sie einfach. " -"Sie werden nicht abonniert, es sei denn, Sie klicken auf den " -"Bestätigungslink oben." - -#: views/subscription/mail-subscription-confirmed-html.mjml.hbs:1 -#: views/subscription/mail-subscription-confirmed-text.hbs:1 -#: views/subscription/web-subscribed.mjml.hbs:1 -msgid "Subscription Confirmed" -msgstr "Abonnement bestätigt" - -#: views/subscription/mail-subscription-confirmed-html.mjml.hbs:2 -msgid "Your subscription to our list has been confirmed" -msgstr "Ihr Abonnement für unsere Liste wurde bestätigt" - -#: views/subscription/mail-subscription-confirmed-html.mjml.hbs:3 -msgid "If you want to modify your subscription then you can " -msgstr "Wenn Sie Ihr Abonnement ändern möchten, dann können Sie " - -#: views/subscription/mail-subscription-confirmed-html.mjml.hbs:4 -#: views/subscription/mail-subscription-confirmed-text.hbs:4 -msgid "manage your preferences" -msgstr "Ihre Einstellungen bearbeiten" - -#: views/subscription/mail-subscription-confirmed-html.mjml.hbs:5 -#: views/subscription/mail-subscription-confirmed-text.hbs:5 -#: views/users/login.hbs:10 -msgid "or" -msgstr "oder" - -#: views/subscription/mail-subscription-confirmed-html.mjml.hbs:6 -#: views/subscription/mail-subscription-confirmed-text.hbs:6 -msgid "unsubscribe here" -msgstr "diesen Newsletter abbestellen" - -#: views/subscription/mail-subscription-confirmed-html.mjml.hbs:7 -#: views/subscription/web-confirm-notice.mjml.hbs:3 -#: views/subscription/web-subscribed.mjml.hbs:4 -#: views/subscription/web-unsubscribe-notice.mjml.hbs:3 -#: views/subscription/web-updated-notice.mjml.hbs:3 -msgid "Return to our website" -msgstr "Zurück zu unserer Website" - -#: views/subscription/mail-subscription-confirmed-text.hbs:2 -#: views/subscription/web-subscribed.mjml.hbs:2 -msgid "Your subscription to our list has been confirmed." -msgstr "Sie wurden erfolgreich in unsere Liste eingetragen." - -#: views/subscription/mail-subscription-confirmed-text.hbs:3 -msgid "If you want to modify your subscription then you can:" -msgstr "Wenn Sie Ihr Abonnement ändern möchten, können Sie:" - -#: views/subscription/mail-unsubscribe-confirmed-html.mjml.hbs:1 -#: views/subscription/mail-unsubscribe-confirmed-text.hbs:1 -msgid "You Are Now Unsubscribed" -msgstr "Sie Sind Nun Abgemeldet" - -#: views/subscription/mail-unsubscribe-confirmed-html.mjml.hbs:2 -msgid "We have removed your email address from our list" -msgstr "Ihre E-Mail-Adresse wurde aus unserer Liste entfernt" - -#: views/subscription/mail-unsubscribe-confirmed-html.mjml.hbs:3 -#: views/subscription/mail-unsubscribe-confirmed-text.hbs:3 -msgid "If you unsubscribed by mistake, you can re-subscribe at:" -msgstr "" -"Wenn Sie sich versehentlich ausgetragen haben, können Sie sich erneut " -"eintragen:" - -#: views/subscription/mail-unsubscribe-confirmed-text.hbs:2 -msgid "We have removed your email address from our list." -msgstr "Wir haben Ihre E-Mail-Adresse aus unserer Liste entfernt." - -#: views/subscription/partials/subscription-custom-fields.hbs:2 -msgid "want to change it?" -msgstr "Möchten Sie diese ändern?" - -#: views/subscription/partials/subscription-custom-fields.hbs:5 -msgid "Download signature verification key" -msgstr "Signature-Verification-Key herunterladen" - -#: views/subscription/partials/subscription-custom-fields.hbs:7 -msgid "" -"Insert your GPG public key here to encrypt messages sent to your address" -msgstr "" -"Fügen Sie hier Ihren GPG-Public Key ein, um Nachrichten zu verschlüsseln, " -"die an Ihre Adresse gesendet werden" - -#: views/subscription/partials/subscription-custom-fields.hbs:8 -msgid "optional" -msgstr "optional" - -#: views/subscription/partials/subscription-flash-messages.hbs:1 -#: views/subscription/partials/subscription-flash-messages.hbs:3 -msgid "Warning!" -msgstr "Warnung!" - -#: views/subscription/partials/subscription-flash-messages.hbs:2 -msgid "If JavaScript was not enabled then no confirmation message was sent" -msgstr "" -"Wenn JavaScript nicht aktiviert war, wurde keine Bestätigungs-E-Mail gesendet" - -#: views/subscription/partials/subscription-flash-messages.hbs:4 -msgid "JavaScript must be enabled in order for this form to work" -msgstr "JavaScript muss aktiviert sein, damit dieses Formular funktioniert" - -#: views/subscription/partials/subscription-manage-address-form.hbs:1 -msgid "Existing Email Address" -msgstr "Aktuelle E-Mail-Adresse" - -#: views/subscription/partials/subscription-manage-address-form.hbs:2 -msgid "New Email Address" -msgstr "Neue E-Mail-Adresse" - -#: views/subscription/partials/subscription-manage-address-form.hbs:3 -msgid "Your new email address" -msgstr "Ihre neue E-Mail-Adresse" - -#: views/subscription/partials/subscription-manage-address-form.hbs:4 -msgid "" -"You will receive a confirmation request to your new email address that you " -"need to accept before your email is actually changed" -msgstr "" -"Sie erhalten eine Bestätigungsanforderung an Ihre neue E-Mail-Adresse, die " -"Sie akzeptieren müssen, bevor Ihre E-Mail tatsächlich geändert wird" - -#: views/subscription/partials/subscription-manage-address-form.hbs:5 -#: views/subscription/web-manage-address.mjml.hbs:2 -msgid "Update Email Address" -msgstr "E-Mail-Adresse aktualisieren" - -#: views/subscription/partials/subscription-manage-form.hbs:1 -#: views/subscription/web-manage.mjml.hbs:2 -msgid "Update Profile" -msgstr "Einstellungen aktualisieren" - -#: views/subscription/partials/subscription-subscribe-form.hbs:1 -#: views/subscription/web-subscribe.mjml.hbs:2 -#: views/subscription/widget-subscribe.hbs:1 -msgid "Subscribe to list" -msgstr "Newsletter abonnieren" - -#: views/subscription/web-confirm-notice.mjml.hbs:1 -#: views/subscription/widget-subscribe.hbs:4 -msgid "Almost Finished" -msgstr "Fast Fertig" - -#: views/subscription/web-confirm-notice.mjml.hbs:2 -#: views/subscription/widget-subscribe.hbs:5 -msgid "" -"We need to confirm your email address. To complete the subscription process, " -"please click the link in the email we just sent you." -msgstr "" -"Wir müssen Ihre E-Mail-Adresse bestätigen. Um den Abo-Prozess abzuschließen, " -"klicken Sie bitte auf den Link in der E-Mail, die wir Ihnen gerade geschickt " -"haben." - -#: views/subscription/web-manage-address.mjml.hbs:1 -msgid "Update Your Email Address" -msgstr "E-Mail-Adresse aktualisieren" - -#: views/subscription/web-manage.mjml.hbs:1 -msgid "Update Your Preferences" -msgstr "Einstellungen aktualisieren" - -#: views/subscription/web-subscribe.mjml.hbs:1 -msgid "Subscribe to List" -msgstr "Diese Liste abonnieren" - -#: views/subscription/web-subscribed.mjml.hbs:3 -msgid "Thank you for subscribing!" -msgstr "Danke fürs Abonnieren!" - -#: views/subscription/web-unsubscribe-notice.mjml.hbs:1 -msgid "Unsubscribe Successful" -msgstr "Erfolgreich Deabonniert" - -#: views/subscription/web-unsubscribe-notice.mjml.hbs:2 -msgid "You have been removed from:" -msgstr "Sie wurden entfernt von:" - -#: views/subscription/web-unsubscribe.mjml.hbs:2 -msgid "Enter your email address to unsubscribe from:" -msgstr "Geben Sie Ihre E-Mail-Adresse ein, um sich abzumelden von:" - -#: views/subscription/web-updated-notice.mjml.hbs:1 -msgid "Profile Updated" -msgstr "Einstellungen aktualisiert" - -#: views/subscription/web-updated-notice.mjml.hbs:2 -msgid "Your profile information has been updated." -msgstr "Ihre Profilinformationen wurden aktualisiert." - -#: views/subscription/widget-subscribe.hbs:2 -msgid "Sending ..." -msgstr "Am senden …" - -#: views/subscription/widget-subscribe.hbs:3 -msgid "It looks like you are already subscribed to this list." -msgstr "Es sieht so aus, als hätten Sie diese Liste bereits abonniert." - -#: views/templates/create.hbs:5 views/templates/edit.hbs:6 -msgid "Template name" -msgstr "Vorlagen-Name" - -#: views/templates/create.hbs:6 views/templates/edit.hbs:7 -msgid "Name for this template, eg. Newsletter" -msgstr "Name für diese Vorlage, z.B. Newsletter" - -#: views/templates/create.hbs:7 -msgid "HTML Editor" -msgstr "HTML Editor" - -#: views/templates/create.hbs:10 views/templates/edit.hbs:9 -msgid "Optional comments about this template" -msgstr "Optionale Kommentare zu dieser Vorlage" - -#: views/templates/edit.hbs:5 -msgid "Back to templates" -msgstr "Zurück zu Vorlagen" - -#: views/triggers/create-select.hbs:2 views/triggers/create.hbs:2 -#: views/triggers/edit.hbs:2 views/triggers/triggered.hbs:2 -#: views/triggers/triggers.hbs:2 views/triggers/triggers.hbs:4 -msgid "Automation Triggers" -msgstr "Automatisierungs-Trigger" - -#: views/triggers/create-select.hbs:5 -msgid "Select a list for the trigger" -msgstr "Wählen Sie eine Liste für diesen Trigger" - -#: views/triggers/create.hbs:5 views/triggers/edit.hbs:6 -msgid "Trigger name" -msgstr "Trigger-Name" - -#: views/triggers/create.hbs:6 views/triggers/edit.hbs:7 -msgid "Name for this trigger, eg. Inactive subscribers" -msgstr "Name für diesen Trigger, z.B. Inaktive Abonnenten" - -#: views/triggers/create.hbs:8 views/triggers/edit.hbs:9 -msgid "Optional comments about this trigger" -msgstr "Optionale Kommentare zu diesem Trigger" - -#: views/triggers/create.hbs:12 views/triggers/edit.hbs:14 -msgid "Trigger rule" -msgstr "Trigger-Regel" - -#: views/triggers/create.hbs:13 views/triggers/edit.hbs:15 -msgid "Trigger fires" -msgstr "Trigger löst aus" - -#: views/triggers/create.hbs:14 views/triggers/edit.hbs:16 -msgid "days after:" -msgstr "Tage nach:" - -#: views/triggers/create.hbs:15 views/triggers/edit.hbs:17 -msgid "Subscription" -msgstr "Abonnement" - -#: views/triggers/create.hbs:16 views/triggers/create.hbs:21 -#: views/triggers/edit.hbs:18 views/triggers/edit.hbs:23 -msgid "Event" -msgstr "Ereignis" - -#: views/triggers/create.hbs:18 views/triggers/create.hbs:19 -#: views/triggers/create.hbs:25 views/triggers/edit.hbs:20 -#: views/triggers/edit.hbs:21 views/triggers/edit.hbs:27 -msgid "Campaign" -msgstr "Kampagne" - -#: views/triggers/create.hbs:23 views/triggers/edit.hbs:25 -msgid "Trigger action" -msgstr "Trigger-Aktion" - -#: views/triggers/create.hbs:24 views/triggers/edit.hbs:26 -msgid "Send campaign" -msgstr "Kampagne senden" - -#: views/triggers/edit.hbs:3 views/triggers/edit.hbs:4 -msgid "Edit Trigger" -msgstr "Trigger bearbeiten" - -#: views/triggers/edit.hbs:5 -msgid "Back to triggers" -msgstr "Zurück zu Triggers" - -#: views/triggers/edit.hbs:11 -msgid "Trigger is enabled" -msgstr "Trigger ist aktiviert" - -#: views/triggers/edit.hbs:29 -msgid "Delete Trigger" -msgstr "Trigger löschen" - -#: views/triggers/triggered.hbs:3 -msgid "Triggered" -msgstr "Ausgelöst" - -#: views/triggers/triggered.hbs:4 -msgid "Triggered subscribers" -msgstr "Triggered Abonnenten" - -#: views/triggers/triggered.hbs:5 -msgid "Subscribers who caused this trigger to fire" -msgstr "Abonnenten, die diesen Trigger ausgelöst haben" - -#: views/triggers/triggered.hbs:9 -msgid "Triggered time" -msgstr "Auslösungszeit" - -#: views/triggers/triggers.hbs:9 -msgid "Trigger" -msgstr "Trigger" - -#: views/triggers/triggers.hbs:10 -msgid "Target Campaign" -msgstr "Ziel-Kampagne" - -#: views/triggers/triggers.hbs:11 -msgid "Triggered count" -msgstr "Anzahl Auslösungen" - -#: views/users/account.hbs:4 -msgid "This account is managed through LDAP." -msgstr "Dieses Konto wird über LDAP verwaltet." - -#: views/users/account.hbs:5 -msgid "Associated Email Address" -msgstr "Zugehörige E-Mail-Adresse" - -#: views/users/account.hbs:8 -msgid "Your e-mail address" -msgstr "Ihre E-Mail-Adresse" - -#: views/users/account.hbs:9 -msgid "" -"This address is used for account recovery in case you lose your password" -msgstr "" -"Diese Adresse wird für die Wiederherstellung des Kontos verwendet, falls Sie " -"Ihr Passwort vergessen haben" - -#: views/users/account.hbs:10 -msgid "Password change" -msgstr "Passwortänderung" - -#: views/users/account.hbs:11 -msgid "" -"You only need to fill out this form if you want to change your current " -"password" -msgstr "" -"Sie müssen dieses Formular nur ausfüllen, wenn Sie Ihr aktuelles Passwort " -"ändern möchten" - -#: views/users/account.hbs:12 views/users/account.hbs:13 -msgid "Current Password" -msgstr "Aktuelles Passwort" - -#: views/users/account.hbs:14 views/users/account.hbs:15 -#: views/users/reset.hbs:6 views/users/reset.hbs:7 -msgid "New Password" -msgstr "Neues Passwort" - -#: views/users/account.hbs:16 views/users/reset.hbs:8 -msgid "Confirm Password" -msgstr "Passwort bestätigen" - -#: views/users/account.hbs:17 views/users/reset.hbs:9 -msgid "Confirm New Password" -msgstr "Neues Passwort bestätigen" - -#: views/users/api.hbs:4 -msgid "Are you sure? Resetting would invalidate the currently existing token." -msgstr "" -"Sind Sie sicher? Das Zurücksetzen würde das aktuell vorhandene Token " -"ungültig machen." - -#: views/users/api.hbs:5 -msgid "Are you sure?" -msgstr "Sind Sie sicher?" - -#: views/users/api.hbs:6 -msgid "Reset Access Token" -msgstr "Access Token zurücksetzen" - -#: views/users/api.hbs:7 -msgid "Generate Access Token" -msgstr "Access Token erstellen" - -#: views/users/api.hbs:8 -msgid "Personal access token:" -msgstr "Persönlicher Access Token:" - -#: views/users/api.hbs:9 -msgid "Access token not yet generated" -msgstr "Access Token noch nicht erstellt" - -#: views/users/api.hbs:10 -msgid "Notes about the API" -msgstr "Notizen zur API" - -#: views/users/api.hbs:11 -msgid "" -"API response is a JSON structure with error and data properties. If the response error has a value set then " -"the request failed." -msgstr "" -"API-Antwort ist eine JSON-Struktur mit error und data properties. Wenn die Antwort error einen Wert hat, ist " -"die Anfrage fehlgeschlagen." - -#: views/users/api.hbs:12 -msgid "" -"You need to define proper Content-Type when making a request. " -"You can either use application/x-www-form-urlencoded for normal " -"form data or application/json for a JSON payload. Using " -"multipart/form-data is not supported." -msgstr "" -"Sie müssen bei der Anfrage einen korrekten Content-Type " -"definieren. Sie können entweder application/x-www-form-urlencoded für normale Formulardaten oder application/json für eine " -"JSON-Payload verwenden. Nicht unterstützt wird multipart/form-data." - -#: views/users/api.hbs:13 -msgid "Add subscription" -msgstr "Abonnement hinzufügen" - -#: views/users/api.hbs:14 -msgid "" -"This API call either inserts a new subscription or updates existing. Fields " -"not included are left as is, so if you update only LAST_NAME value, then " -"FIRST_NAME is kept untouched for an existing subscription." -msgstr "" -"Dieser API-Aufruf fügt entweder ein neues Abonnement hinzu oder aktualisiert " -"ein bereits vorhandenes Abonnement. Felder, die nicht enthalten sind, " -"bleiben unverändert. Wenn Sie also nur den Wert LAST_NAME aktualisieren, " -"bleibt FIRST_NAME für ein bestehendes Abonnement unverändert." - -#: views/users/api.hbs:15 views/users/api.hbs:17 views/users/api.hbs:30 -#: views/users/api.hbs:32 views/users/api.hbs:38 views/users/api.hbs:40 -#: views/users/api.hbs:46 views/users/api.hbs:57 views/users/api.hbs:59 -#: views/users/api.hbs:65 views/users/api.hbs:67 -msgid "arguments" -msgstr "Argumente" - -#: views/users/api.hbs:16 views/users/api.hbs:31 views/users/api.hbs:39 -#: views/users/api.hbs:47 views/users/api.hbs:58 views/users/api.hbs:66 -msgid "your personal access token" -msgstr "Ihr persönlicher Access Token" - -#: views/users/api.hbs:18 views/users/api.hbs:33 views/users/api.hbs:41 -msgid "subscriber's email address" -msgstr "E-Mail-Adresse des Abonnenten" - -#: views/users/api.hbs:19 views/users/api.hbs:34 views/users/api.hbs:42 -#: views/users/api.hbs:61 views/users/api.hbs:69 -msgid "required" -msgstr "erforderlich" - -#: views/users/api.hbs:20 -msgid "subscriber's first name" -msgstr "Vorname des Abonnenten" - -#: views/users/api.hbs:21 -msgid "subscriber's last name" -msgstr "Nachname des Abonnenten" - -#: views/users/api.hbs:22 -msgid "" -"subscriber's timezone (eg. \"Europe/Tallinn\", \"PST\" or \"UTC\"). If not " -"set defaults to \"UTC\"" -msgstr "" -"Zeitzone des Abonnenten (zB \"Europa/Berlin“, \"PST\" oder \"UTC\"). Falls " -"nicht gesetzt wird \"UTC\" verwendet." - -#: views/users/api.hbs:23 -msgid "" -"custom field value. Use yes/no for option group values (checkboxes, radios, " -"drop downs)" -msgstr "" -"Benutzerdefinierter Feldwert. Verwenden Sie Ja/Nein für Optionsgruppenwerte " -"(Checkboxen, Radios-Buttons, Dropdowns)" - -#: views/users/api.hbs:24 -msgid "Additional POST arguments" -msgstr "Weitere POST-Argumente" - -#: views/users/api.hbs:25 -msgid "" -"set to \"yes\" if you want to make sure the email is marked as subscribed " -"even if it was previously marked as unsubscribed. If the email was already " -"unsubscribed/blocked then subscription status is not changed" -msgstr "" -"Markieren Sie \"Ja\", wenn Sie sicherstellen möchten, dass die E-Mail als " -"abonniert markiert ist, auch wenn sie zuvor als abgemeldet markiert wurde. " -"Wenn die E-Mail-Adresse bereits abbestellt/gesperrt ist, wird der " -"Abonnementstatus nicht geändert" - -#: views/users/api.hbs:26 -msgid "" -"set to \"yes\" if you want to send confirmation email to the subscriber " -"before actually marking as subscribed" -msgstr "" -"Markieren Sie \"Ja\", wenn Sie eine Bestätigungs-E-Mail an den Abonnenten " -"senden möchten, bevor der Abonnent tatsächlich als abonniert markiert wird" - -#: views/users/api.hbs:28 -msgid "Remove subscription" -msgstr "Abonement entfernen" - -#: views/users/api.hbs:29 -msgid "This API call marks a subscription as unsubscribed" -msgstr "Dieser API-Aufruf markiert ein Abonnement als abbestellt" - -#: views/users/api.hbs:36 -msgid "Delete subscription" -msgstr "Abonnement löschen" - -#: views/users/api.hbs:37 -msgid "This API call deletes a subscription" -msgstr "Dieser API-Aufruf löscht ein Abonnement" - -#: views/users/api.hbs:44 -msgid "Get list of blacklisted emails" -msgstr "" - -#: views/users/api.hbs:45 -msgid "This API call get list of blacklisted emails." -msgstr "" - -#: views/users/api.hbs:48 -msgid "Start position" -msgstr "Startposition" - -#: views/users/api.hbs:49 -msgid "optional, default 0" -msgstr "optional, standard 0" - -#: views/users/api.hbs:50 -msgid "limit emails count in response" -msgstr "" - -#: views/users/api.hbs:51 -msgid "optional, default 10000" -msgstr "optional, standard 10000" - -#: views/users/api.hbs:52 -msgid "filter by part of email" -msgstr "" - -#: views/users/api.hbs:53 -msgid "optional, default ''" -msgstr "optional, standard ''" - -#: views/users/api.hbs:56 -msgid "This API call either add emails to blacklist" -msgstr "" - -#: views/users/api.hbs:60 views/users/api.hbs:68 -msgid "email address" -msgstr "E-Mail-Adresse" - -#: views/users/api.hbs:63 -msgid "Delete email from blacklist" -msgstr "E-Mail aus der Blacklist löschen" - -#: views/users/api.hbs:64 -msgid "This API call either delete emails from blacklist" -msgstr "" - -#: views/users/forgot.hbs:3 views/users/reset.hbs:3 -msgid "Password Reset" -msgstr "Passwort zurücksetzen" - -#: views/users/forgot.hbs:4 -msgid "Reset your password?" -msgstr "Ihr Passwort zurücksetzen?" - -#: views/users/forgot.hbs:5 -msgid "Accounts are managed through LDAP." -msgstr "Accounts werden über LDAP verwaltet." - -#: views/users/forgot.hbs:6 views/users/reset.hbs:10 -msgid "Reset Password" -msgstr "Passwort zurücksetzen" - -#: views/users/forgot.hbs:7 -msgid "" -"Please provide the username or email address that you used when you signed " -"up for your Mailtrain account." -msgstr "" -"Bitte geben Sie den Benutzernamen oder die E-Mail-Adresse an, die Sie bei " -"der Anmeldung für Ihr Mailtrain-Konto verwendet haben." - -#: views/users/forgot.hbs:8 -msgid "We will send you an email that will allow you to reset your password." -msgstr "" -"Wir senden Ihnen eine E-Mail, mit der Sie Ihr Passwort zurücksetzen können." - -#: views/users/forgot.hbs:10 -msgid "Username or email address" -msgstr "Benutzername oder E-Mail-Adresse" - -#: views/users/forgot.hbs:11 -msgid "Send verification email" -msgstr "Verifizierung E-Mail senden" - -#: views/users/login.hbs:8 -msgid "Remember me" -msgstr "Angemeldet bleiben" - -#: views/users/login.hbs:11 views/users/login.hbs:12 -msgid "Forgot password?" -msgstr "Passwort vergessen?" - -#: views/users/reset.hbs:4 -msgid "Choose your new password" -msgstr "Wähle Sie Ihr neues Passwort" - -#: views/users/reset.hbs:5 -msgid "Please enter a new password." -msgstr "Bitte geben Sie ein neues Passwort ein." - -#: lib/editor-helpers.js:17 routes/templates.js:95 -msgid "Could not find template with specified ID" -msgstr "Konnte keine Vorlage mit angegebener ID finden" - -#: lib/editor-helpers.js:33 routes/archive.js:145 routes/campaigns.js:131 -#: routes/campaigns.js:284 routes/campaigns.js:379 routes/campaigns.js:427 -#: routes/campaigns.js:467 routes/campaigns.js:844 routes/campaigns.js:867 -#: routes/campaigns.js:886 routes/campaigns.js:908 routes/triggers.js:146 -msgid "Could not find campaign with specified ID" -msgstr "Konnte keine Kampagne mit dieser ID finden" - -#: lib/editor-helpers.js:47 routes/editorapi.js:308 -msgid "Invalid resource type" -msgstr "Ungültiger Ressourcentyp" - -#: lib/feed.js:31 -msgid "Bad status code %s" -msgstr "Bad Statuscode %s" - -#: lib/helpers.js:32 -msgid "URL that points to the unsubscribe page" -msgstr "URL, die auf die Abmeldungsseite verweist" - -#: lib/helpers.js:35 -msgid "URL that points to the preferences page of the subscriber" -msgstr "" -"URL, die auf die Persönliche-Einstellungs-Seite des Teilnehmers verweist" - -#: lib/helpers.js:38 -msgid "URL to preview the message in a browser" -msgstr "URL zur Vorschau der E-Mail im Browser" - -#: lib/helpers.js:44 lib/models/segments.js:31 -msgid "First name" -msgstr "Vorname" - -#: lib/helpers.js:47 lib/models/segments.js:35 -msgid "Last name" -msgstr "Nachname" - -#: lib/helpers.js:50 -msgid "Full name (first and last name combined)" -msgstr "Vollständiger Name (Vor- und Nachname kombiniert)" - -#: lib/helpers.js:53 -msgid "Unique ID that identifies the recipient" -msgstr "Eindeutige ID, die den Empfänger identifiziert" - -#: lib/helpers.js:56 -msgid "Unique ID that identifies the list used for this campaign" -msgstr "" -"Eindeutige ID, welche die für diese Kampagne verwendete Liste identifiziert" - -#: lib/helpers.js:59 -msgid "Unique ID that identifies current campaign" -msgstr "Eindeutige ID, welche die aktuelle Kampagne identifiziert" - -#: lib/helpers.js:67 lib/helpers.js:79 -msgid "content from an RSS entry" -msgstr "Inhalt aus einem RSS-Eintrag" - -#: lib/helpers.js:70 -msgid "RSS entry title" -msgstr "" - -#: lib/helpers.js:73 -msgid "RSS entry date" -msgstr "" - -#: lib/helpers.js:76 -msgid "RSS entry link" -msgstr "" - -#: lib/helpers.js:82 -msgid "RSS entry summary" -msgstr "" - -#: lib/helpers.js:85 -msgid "RSS entry image URL" -msgstr "" - -#: lib/mailer.js:245 -msgid "Invalid mail transport" -msgstr "Ungültiger Mail-Transport" - -#: lib/models/campaigns.js:105 lib/models/campaigns.js:132 -#: lib/models/campaigns.js:205 lib/models/campaigns.js:328 -#: lib/models/campaigns.js:589 lib/models/campaigns.js:721 -msgid "Missing Campaign ID" -msgstr "Kampagnen-ID fehlt" - -#: lib/models/campaigns.js:241 -msgid "Emtpy or too large attahcment" -msgstr "Leere oder zu große Anhangsdatei" - -#: lib/models/campaigns.js:407 lib/models/campaigns.js:598 -msgid "Campaign Name must be set" -msgstr "Kampagnenname ist erforderlich" - -#: lib/models/campaigns.js:411 -msgid "RSS URL must be set and needs to be a valid URL" -msgstr "RSS URL ist erforderlich und muss eine gültige URL sein" - -#: lib/models/campaigns.js:567 -msgid "Selected template not found" -msgstr "Ausgewählte Vorlage nicht gefunden" - -#: lib/models/campaigns.js:922 -msgid "Invalid or missing message ID" -msgstr "Ungültige oder fehlende Nachrichten-ID" - -#: lib/models/fields.js:24 -msgid "Drop Down" -msgstr "Dropdown-Liste" - -#: lib/models/fields.js:25 -msgid "Date (MM/DD/YYY)" -msgstr "Datum (MM/DD/YYY)" - -#: lib/models/fields.js:29 -msgid "JSON value for custom rendering" -msgstr "JSON-Wert für benutzerdefiniertes Rendering" - -#: lib/models/fields.js:30 -msgid "Option" -msgstr "Option" - -#: lib/models/fields.js:53 lib/models/fields.js:98 lib/models/fields.js:123 -#: lib/models/forms.js:37 lib/models/lists.js:72 lib/models/lists.js:172 -#: lib/models/lists.js:212 lib/models/segments.js:43 lib/models/segments.js:176 -#: lib/models/subscriptions.js:74 lib/models/subscriptions.js:574 -#: lib/models/subscriptions.js:637 lib/models/subscriptions.js:823 -#: lib/models/subscriptions.js:926 lib/models/subscriptions.js:980 -#: lib/models/subscriptions.js:1043 lib/models/subscriptions.js:1086 -msgid "Missing List ID" -msgstr "Listen-ID fehlt" - -#: lib/models/fields.js:129 -msgid "Option field requires a group to be selected" -msgstr "Ein Optionsfeld erfordert eine ausgewählte Gruppe" - -#: lib/models/fields.js:149 lib/models/fields.js:199 -msgid "Missing Field ID" -msgstr "Feld-ID fehlt" - -#: lib/models/fields.js:153 lib/models/segments.js:185 -#: lib/models/segments.js:225 -msgid "Field Name must be set" -msgstr "Feldname ist erforderlich" - -#: lib/models/fields.js:216 -msgid "Custom field not found" -msgstr "Feld nicht gefunden" - -#: lib/models/fields.js:289 -msgid "Unknown column type %s" -msgstr "Unbekannter Spaltentyp %s" - -#: lib/models/fields.js:293 -msgid "Missing column name" -msgstr "Spaltenname fehlt" - -#: lib/models/fields.js:297 -msgid "Missing list ID" -msgstr "Listen-ID fehlt" - -#: lib/models/fields.js:305 -msgid "Provided List ID not found" -msgstr "Die Listen-ID wurde nicht gefunden" - -#: lib/models/forms.js:61 lib/models/forms.js:104 lib/models/forms.js:192 -#: lib/models/forms.js:282 -msgid "Missing Form ID" -msgstr "Formular ID fehlt" - -#: lib/models/forms.js:112 lib/models/forms.js:196 -msgid "Form Name must be set" -msgstr "Formular-Name ist erforderlich" - -#: lib/models/forms.js:298 -msgid "Custom form not found" -msgstr "Formular nicht gefunden" - -#: lib/models/links.js:329 routes/campaigns.js:533 routes/campaigns.js:581 -#: routes/campaigns.js:621 routes/campaigns.js:671 services/sender.js:305 -msgid "Campaign not found" -msgstr "Kampagne nicht gefunden" - -#: lib/models/links.js:337 routes/lists.js:177 services/sender.js:312 -msgid "List not found" -msgstr "Liste nicht gefunden" - -#: lib/models/links.js:345 -msgid "Subscription not found" -msgstr "Abonnement nicht gefunden" - -#: lib/models/lists.js:110 lib/models/lists.js:176 -msgid "List Name must be set" -msgstr "Listennamen ist erforderlich" - -#: lib/models/lists.js:241 -msgid "Missing List CID" -msgstr "Listen CID fehlt" - -#: lib/models/report-templates.js:26 lib/models/report-templates.js:70 -#: lib/models/report-templates.js:142 -msgid "Missing report template ID" -msgstr "Report-Vorlagen-ID fehlt" - -#: lib/models/report-templates.js:77 -msgid "Report template name must be set" -msgstr "Report-Vorlagen-Name ist erforderlich" - -#: lib/models/reports.js:39 lib/models/reports.js:109 lib/models/reports.js:187 -msgid "Missing report ID" -msgstr "Report-ID fehlt" - -#: lib/models/reports.js:115 -msgid "Report name must be set" -msgstr "Report-Name ist erforderlich" - -#: lib/models/segments.js:15 -msgid "Signup country" -msgstr "Anmeldungs-Land" - -#: lib/models/segments.js:19 lib/models/triggers.js:12 -msgid "Sign up date" -msgstr "Anmeldungs-Datum" - -#: lib/models/segments.js:23 lib/models/triggers.js:16 -msgid "Latest open" -msgstr "Letzte Öffnung" - -#: lib/models/segments.js:27 lib/models/triggers.js:20 -msgid "Latest click" -msgstr "Letzter Klick" - -#: lib/models/segments.js:69 lib/models/segments.js:216 -#: lib/models/segments.js:256 lib/models/segments.js:278 -msgid "Missing Segment ID" -msgstr "Segment ID fehlt" - -#: lib/models/segments.js:85 lib/models/segments.js:549 -#: lib/models/segments.js:658 -msgid "Segment not found" -msgstr "Segment nicht gefunden" - -#: lib/models/segments.js:146 lib/models/segments.js:147 -#: lib/models/segments.js:408 lib/models/segments.js:409 -msgid "%s days after today" -msgstr "%s Tage nach heute" - -#: lib/models/segments.js:146 lib/models/segments.js:147 -#: lib/models/segments.js:408 lib/models/segments.js:409 -msgid "%s days before today" -msgstr "%s Tage vor heute" - -#: lib/models/segments.js:148 lib/models/segments.js:410 -msgid "today" -msgstr "heute" - -#: lib/models/segments.js:189 lib/models/segments.js:229 -msgid "Invalid segment rule type" -msgstr "Ungültiger Segment-Regel-Typ" - -#: lib/models/segments.js:289 lib/models/segments.js:454 routes/segments.js:266 -#: routes/segments.js:300 routes/segments.js:370 routes/segments.js:381 -msgid "Selected segment not found" -msgstr "Ausgewähltes Segment nicht gefunden" - -#: lib/models/segments.js:294 lib/models/segments.js:459 routes/segments.js:272 -#: routes/segments.js:306 routes/segments.js:387 -msgid "Invalid rule type" -msgstr "Ungültiger Regel-Typ" - -#: lib/models/segments.js:358 lib/models/segments.js:434 -#: lib/models/segments.js:524 -msgid "Missing Rule ID" -msgstr "Regel-ID fehlt" - -#: lib/models/segments.js:374 -msgid "Specified rule not found" -msgstr "Die Regel wurde nicht gefunden" - -#: lib/models/segments.js:385 -msgid "Specified segment not found" -msgstr "Das Segment wurde nicht gefunden" - -#: lib/models/segments.js:445 -msgid "Selected rule not found" -msgstr "Ausgewählte Regel nicht gefunden" - -#: lib/models/subscriptions.js:148 -msgid "%s: Please Confirm Subscription" -msgstr "%s: Bitte bestätigen Sie Ihr Abonnement" - -#: lib/models/subscriptions.js:258 -msgid "Could not save subscription" -msgstr "Abonnement konnte nicht gespeichert werden" - -#: lib/models/subscriptions.js:441 lib/models/subscriptions.js:471 -msgid "Missing Subscription ID" -msgstr "Abonnement-ID fehlt" - -#: lib/models/subscriptions.js:499 -msgid "Missing Subscription email address" -msgstr "Abonnement-E-Mail-Adresse fehlt" - -#: lib/models/subscriptions.js:578 lib/models/subscriptions.js:827 -#: lib/models/subscriptions.js:1090 -msgid "Missing subscription ID" -msgstr "Abonnement-ID fehlt" - -#: lib/models/subscriptions.js:641 -msgid "Missing email address" -msgstr "E-Mail-Adresse fehlt" - -#: lib/models/subscriptions.js:930 lib/models/subscriptions.js:984 -#: lib/models/subscriptions.js:1020 -msgid "Missing Import ID" -msgstr "Import-ID fehlt" - -#: lib/models/subscriptions.js:1112 -msgid "Unknown subscription ID" -msgstr "Unbekannte Abonnement-ID" - -#: lib/models/subscriptions.js:1117 -msgid "Nothing seems to be changed" -msgstr "Nichts scheint sich geändert zu haben" - -#: lib/models/subscriptions.js:1131 -msgid "This address is already registered by someone else" -msgstr "Diese Adresse ist bereits von jemand anderem registriert" - -#: lib/models/templates.js:26 lib/models/templates.js:100 -#: lib/models/templates.js:144 -msgid "Missing Template ID" -msgstr "Vorlagen ID fehlt" - -#: lib/models/templates.js:55 lib/models/templates.js:104 -msgid "Template Name must be set" -msgstr "Vorlagen-Name ist erforderlich" - -#: lib/models/triggers.js:29 -msgid "Has Opened" -msgstr "Hat geöffnet" - -#: lib/models/triggers.js:32 -msgid "Has Clicked" -msgstr "Hat geklickt" - -#: lib/models/triggers.js:35 -msgid "Not Opened" -msgstr "Nicht geöffnet" - -#: lib/models/triggers.js:38 -msgid "Not Clicked" -msgstr "Nicht geklickt" - -#: lib/models/triggers.js:175 lib/models/triggers.js:212 -msgid "Missing or invalid list ID" -msgstr "Fehlende oder ungültige Listen ID" - -#: lib/models/triggers.js:179 lib/models/triggers.js:264 -msgid "Days in the past are not allowed" -msgstr "Tage in der Vergangenheit sind nicht erlaubt" - -#: lib/models/triggers.js:183 lib/models/triggers.js:204 -#: lib/models/triggers.js:268 lib/models/triggers.js:289 -msgid "Missing or invalid trigger rule" -msgstr "Fehlende oder ungültige Trigger-Regel" - -#: lib/models/triggers.js:190 lib/models/triggers.js:275 -msgid "Invalid subscription configuration" -msgstr "Ungültige Abonnement-Konfiguration" - -#: lib/models/triggers.js:197 lib/models/triggers.js:282 -msgid "Invalid campaign configuration" -msgstr "Kampagnen Konfiguration ungültig" - -#: lib/models/triggers.js:200 lib/models/triggers.js:285 -msgid "A campaing can not be a target for itself" -msgstr "Eine Kampagne kann kein Ziel für sich selbst sein" - -#: lib/models/triggers.js:233 -msgid "Could not store trigger row" -msgstr "Trigger-Zeile konnte nicht gespeichert werden" - -#: lib/models/triggers.js:250 -msgid "Missing or invalid Trigger ID" -msgstr "Trigger-ID fehlt oder ist ungültig" - -#: lib/models/triggers.js:317 -msgid "Missing Trigger ID" -msgstr "Trigger-ID fehlt" - -#: lib/models/users.js:103 -msgid "Could not store user row" -msgstr "Der Benutzer konnte nicht gespeichert werden" - -#: lib/models/users.js:173 -msgid "Email Address must be set" -msgstr "E-Mail-Adresse ist erforderlich" - -#: lib/models/users.js:184 -msgid "Failed to check user data" -msgstr "Fehler beim Überprüfen der Benutzerdaten" - -#: lib/models/users.js:195 -msgid "" -"Can't change email as another user with the same email address already exists" -msgstr "" -"E-Mail-Adresse konnte nicht geändert werden, da ein anderer Benutzer mit " -"derselben E-Mail-Adresse bereits existiert" - -#: lib/models/users.js:212 -msgid "Incorrect current password" -msgstr "Aktuelles Passwort inkorrekt" - -#: lib/models/users.js:216 -msgid "New password not set" -msgstr "Neues Passwort fehlt" - -#: lib/models/users.js:220 -msgid "Passwords do not match" -msgstr "Passwörter stimmen nicht überein" - -#: lib/models/users.js:258 -msgid "User ID not set" -msgstr "Benutzer-ID nicht vorhanden" - -#: lib/models/users.js:286 -msgid "Username must be set" -msgstr "Benutzername ist erforderlich" - -#: lib/models/users.js:323 -msgid "Mailer password change request" -msgstr "Mailer Passwort Änderungsanfrage" - -#: lib/models/users.js:347 lib/models/users.js:367 -msgid "Missing username or reset token" -msgstr "Fehlender Benutzername oder Reset-Token" - -#: lib/models/users.js:371 -msgid "Invalid new password" -msgstr "Neues Passwort ist ungültig" - -#: lib/passport.js:40 -msgid "%s logged out" -msgstr "%s hat sich abgemeldet" - -#: lib/passport.js:53 -msgid "Failed to authenticate user" -msgstr "Der Benutzer konnte nicht authentifiziert werden" - -#: lib/passport.js:69 -msgid "Logged in as %s" -msgstr "Eingeloggt als %s" - -#: lib/passport.js:128 -msgid "Incorrect username or password" -msgstr "Falscher Benutzername oder Passwort" - -#: lib/subscription-mail-helpers.js:39 -msgid "%s: Email Address Already Registered" -msgstr "%s: Email-Adresse bereits registriert" - -#: lib/subscription-mail-helpers.js:49 -msgid "%s: Please Confirm Email Change in Subscription" -msgstr "%s: Bitte bestätigen Sie die Änderung der Email-Adresse" - -#: lib/subscription-mail-helpers.js:69 -msgid "%s: Please Confirm Unsubscription" -msgstr "%s: Bitte bestätigen Sie die Kündigung des Abonnements" - -#: lib/subscription-mail-helpers.js:76 -msgid "%s: Unsubscription Confirmed" -msgstr "%s: Kündigung des Abonnements bestätigt" - -#: lib/tools.js:148 -msgid "Blocked email address \"%s\"" -msgstr "Gesperrte E-Mail-Adresse \"%s\"" - -#: lib/tools.js:157 -msgid "Invalid email address \"%s\"." -msgstr "Ungültige E-Mail-Adresse \"%s\"." - -#: lib/tools.js:160 -msgid "MX record not found for domain" -msgstr "MX-Record für die Domäne nicht gefunden" - -#: lib/tools.js:163 -msgid "Address domain not found" -msgstr "Address-Domain nicht gefunden" - -#: lib/tools.js:166 -msgid "Address domain name is required" -msgstr "Address-Domain-Name ist erforderlich" - -#: routes/archive.js:31 routes/archive.js:43 routes/archive.js:55 app.js:224 -msgid "Not Found" -msgstr "Nicht gefunden" - -#: routes/archive.js:121 services/sender.js:449 -msgid "Received status code %s from %s" -msgstr "Empfangener Statuscode %s von %s" - -#: routes/archive.js:153 routes/campaigns.js:894 -msgid "Attachment not found" -msgstr "Anhangs-Datei nicht gefunden" - -#: routes/blacklist.js:13 routes/campaigns.js:26 routes/editorapi.js:35 -#: routes/fields.js:13 routes/forms.js:16 routes/grapejs.js:13 -#: routes/lists.js:50 routes/mosaico.js:14 routes/report-templates.js:20 -#: routes/reports.js:22 routes/segments.js:13 routes/settings.js:23 -#: routes/templates.js:18 routes/triggers.js:18 routes/users.js:75 -#: routes/users.js:120 -msgid "Need to be logged in to access restricted content" -msgstr "Sie müssen angemeldet sein, um auf geschützte Inhalte zuzugreifen." - -#: routes/campaigns.js:117 -msgid "Could not create campaign" -msgstr "Kampagne konnte nicht erstellt werden" - -#: routes/campaigns.js:120 -msgid "Campaign “%s†created" -msgstr "Die Kampagne “%s†wurde erstellt" - -#: routes/campaigns.js:209 -msgid "Campaign settings updated" -msgstr "Kampagnen-Einstellungen aktualisiert" - -#: routes/campaigns.js:211 -msgid "Campaign settings not updated" -msgstr "Kampagnen-Einstellungen nicht aktualisiert" - -#: routes/campaigns.js:227 routes/campaigns.js:744 -msgid "Campaign deleted" -msgstr "Kampagne gelöscht" - -#: routes/campaigns.js:229 routes/campaigns.js:746 -msgid "Could not delete specified campaign" -msgstr "Die Kampagne konnte nicht gelöscht werden" - -#: routes/campaigns.js:248 -msgid "Idling" -msgstr "Ruhend" - -#: routes/campaigns.js:251 -msgid "Scheduled" -msgstr "Geplant" - -#: routes/campaigns.js:257 -msgid "Paused" -msgstr "Pausiert" - -#: routes/campaigns.js:259 -msgid "Inactive" -msgstr "Inaktiv" - -#: routes/campaigns.js:261 -msgid "Active" -msgstr "Aktiv" - -#: routes/campaigns.js:263 -msgid "Other" -msgstr "Andere" - -#: routes/campaigns.js:421 -msgid "Unknown status selector" -msgstr "Unbekannter Status-Selektor" - -#: routes/campaigns.js:762 -msgid "Scheduled sending" -msgstr "Senden geplant" - -#: routes/campaigns.js:764 -msgid "Could not schedule sending" -msgstr "Versand konnte nicht geplant werden" - -#: routes/campaigns.js:776 -msgid "Sending resumed" -msgstr "Versand wieder aufgenommen" - -#: routes/campaigns.js:778 -msgid "Could not resume sending" -msgstr "Versand konnte nicht fortgesetzt werden" - -#: routes/campaigns.js:790 -msgid "Sending reset" -msgstr "Versand zurückgesetzt" - -#: routes/campaigns.js:792 -msgid "Could not reset sending" -msgstr "Versand konnte nicht zurückgesetzt werden" - -#: routes/campaigns.js:804 routes/campaigns.js:832 -msgid "Sending paused" -msgstr "Versand pausiert" - -#: routes/campaigns.js:806 routes/campaigns.js:834 -msgid "Could not pause sending" -msgstr "Versand konnte nicht pausiert werden" - -#: routes/campaigns.js:818 -msgid "Sending activated" -msgstr "Versand aktiviert" - -#: routes/campaigns.js:820 -msgid "Could not activate sending" -msgstr "Versand konnte nicht aktiviert werden" - -#: routes/campaigns.js:855 -msgid "Attachment uploaded" -msgstr "Anhang hochgeladen" - -#: routes/campaigns.js:857 -msgid "Could not store attachment" -msgstr "Anhang konnte nicht gespeichert werden" - -#: routes/campaigns.js:874 -msgid "Attachment deleted" -msgstr "Anhang gelöscht" - -#: routes/campaigns.js:876 -msgid "Could not delete attachment" -msgstr "Anhang konnte nicht gelöscht werden" - -#: routes/editorapi.js:41 -msgid "Invalid editor name" -msgstr "Ungültiger Editorname" - -#: routes/editorapi.js:237 routes/editorapi.js:275 -msgid "Method not supported" -msgstr "Methode wird nicht unterstützt" - -#: routes/editorapi.js:352 -msgid "Invalid resource type or ID" -msgstr "Ungültiger Ressourcentyp oder ID" - -#: routes/fields.js:28 routes/fields.js:64 routes/fields.js:118 -#: routes/forms.js:31 routes/forms.js:63 routes/forms.js:94 -#: routes/segments.js:28 routes/segments.js:59 routes/segments.js:102 -#: routes/segments.js:151 routes/segments.js:223 routes/segments.js:255 -#: routes/segments.js:289 routes/segments.js:336 routes/segments.js:359 -msgid "Selected list ID not found" -msgstr "Ausgewählte Listen ID nicht gefunden" - -#: routes/fields.js:102 -msgid "Could not create custom field" -msgstr "Feld konnte nicht erstellt werden" - -#: routes/fields.js:129 -msgid "Selected field not found" -msgstr "Ausgewähltes Feld nicht gefunden" - -#: routes/fields.js:165 -msgid "Field settings updated" -msgstr "Feld Einstellungen aktualisiert" - -#: routes/fields.js:167 -msgid "Field settings not updated" -msgstr "Feld Einstellungen nicht aktualisiert" - -#: routes/fields.js:183 -msgid "Custom field deleted" -msgstr "Benutzerdefiniertes Feld gelöscht" - -#: routes/fields.js:185 -msgid "Could not delete specified field" -msgstr "Das angegebene Feld konnte nicht gelöscht werden" - -#: routes/forms.js:78 -msgid "Could not create custom form" -msgstr "Formular konnte nicht erstellt werden" - -#: routes/forms.js:105 -msgid "Selected form not found" -msgstr "Das Formular wurde nicht gefunden" - -#: routes/forms.js:136 -msgid "The plaintext version for this email" -msgstr "Die Textversion für dieses E-Mail" - -#: routes/forms.js:137 -msgid "Custom forms use MJML for formatting" -msgstr "Formulare verwenden MJML zur formatierung" - -#: routes/forms.js:138 -msgid "See the MJML documentation here" -msgstr "" -"Die MJML Dokumentation finden Sie hier" - -#: routes/forms.js:146 -msgid "Layout" -msgstr "Layout" - -#: routes/forms.js:152 -msgid "Form Input Style" -msgstr "Formular Input Style" - -#: routes/forms.js:154 -msgid "" -"This CSS stylesheet defines the appearance of form input elements and alerts" -msgstr "" -"Dieses CSS-Stylesheet definiert das Aussehen von Formulareingabeelementen " -"und Warnungen" - -#: routes/forms.js:160 -msgid "Web - Subscribe" -msgstr "Web - Abonnieren" - -#: routes/forms.js:165 -msgid "Web - Confirm Notice" -msgstr "Web - Bestätigung erforderlich" - -#: routes/forms.js:170 -msgid "Mail - Confirm Subscription (MJML)" -msgstr "Mail - Bestätigung erforderlich (MJML)" - -#: routes/forms.js:175 -msgid "Mail - Confirm Subscription (Text)" -msgstr "Mail - Bestätigung erforderlich (Text)" - -#: routes/forms.js:180 -msgid "Web - Subscribed Notice" -msgstr "Web - Notiz: Abonnement bestätigt" - -#: routes/forms.js:185 -msgid "Mail - Subscription Confirmed (MJML)" -msgstr "Mail - Abonnement bestätigt (MJML)" - -#: routes/forms.js:190 -msgid "Mail - Subscription Confirmed (Text)" -msgstr "Mail - Abonnement bestätigt (Text)" - -#: routes/forms.js:198 -msgid "Web - Manage Preferences" -msgstr "Web - Profil bearbeiten" - -#: routes/forms.js:203 -msgid "Web - Manage Address" -msgstr "Web - E-Mail-Adresse bearbeiten" - -#: routes/forms.js:208 -msgid "Web - Updated Notice" -msgstr "Web - Aktualisiert" - -#: routes/forms.js:216 -msgid "Web - Unsubscribe" -msgstr "Web - Abmelden" - -#: routes/forms.js:221 -msgid "Web - Unsubscribe Notice" -msgstr "Web - Abmelden" - -#: routes/forms.js:226 -msgid "Mail - Unsubscribe Confirmed (MJML)" -msgstr "Mail - Abmeldung bestätigt (MJML)" - -#: routes/forms.js:231 -msgid "Mail - Unsubscribe Confirmed (Text)" -msgstr "Mail - Abmeldung bestätigt (Text)" - -#: routes/forms.js:269 -msgid "Form settings updated" -msgstr "Formular-Einstellungen aktualisiert" - -#: routes/forms.js:271 -msgid "Form settings not updated" -msgstr "Formular-Einstellungen nicht aktualisiert" - -#: routes/forms.js:287 -msgid "Custom form deleted" -msgstr "Formular wurde gelöscht" - -#: routes/forms.js:289 -msgid "Could not delete specified form" -msgstr "Das Formular konnte nicht gelöscht werden" - -#: routes/index.js:11 -msgid "Self Hosted Newsletter App" -msgstr "Selbst gehostete Newsletter-App" - -#: routes/links.js:39 -msgid "Oops, we couldn't find a link for the URL you clicked" -msgstr "" -"Ups, wir konnten keinen Link für die URL finden, die Sie geklickt haben" - -#: routes/lists.js:80 -msgid "Could not create list" -msgstr "Die Liste konnte nicht erstellt werden" - -#: routes/lists.js:83 -msgid "List created" -msgstr "Liste erstellt" - -#: routes/lists.js:91 routes/lists.js:267 routes/lists.js:332 -#: routes/lists.js:371 routes/lists.js:440 routes/lists.js:465 -#: routes/lists.js:510 routes/lists.js:532 routes/lists.js:561 -#: routes/lists.js:640 routes/lists.js:697 routes/lists.js:724 -msgid "Could not find list with specified ID" -msgstr "Die Liste mit angegebener ID konnte nicht gefunden werden" - -#: routes/lists.js:118 -msgid "List settings updated" -msgstr "Listeneinstellungen aktualisiert" - -#: routes/lists.js:120 -msgid "List settings not updated" -msgstr "Listeneinstellungen nicht aktualisiert" - -#: routes/lists.js:138 -msgid "List deleted" -msgstr "Liste gelöscht" - -#: routes/lists.js:140 -msgid "Could not delete specified list" -msgstr "Die Liste konnte nicht gelöscht werden" - -#: routes/lists.js:202 -msgid "Unknown" -msgstr "Unbekannt" - -#: routes/lists.js:202 -msgid "Complained" -msgstr "Beschwert" - -#: routes/lists.js:233 -msgid "Invalid key" -msgstr "Ungültiger Key" - -#: routes/lists.js:235 -msgid "Expired key" -msgstr "Abgelaufener Key" - -#: routes/lists.js:237 -msgid "Revoked key" -msgstr "Widerrufener Key" - -#: routes/lists.js:287 -msgid "Initializing" -msgstr "Initialisierung" - -#: routes/lists.js:290 -msgid "Initialized" -msgstr "Initialisiert" - -#: routes/lists.js:293 -msgid "Importing" -msgstr "Importieren" - -#: routes/lists.js:299 -msgid "Errored" -msgstr "Fehlerhaft" - -#: routes/lists.js:377 routes/lists.js:446 routes/lists.js:471 -msgid "Could not find subscriber with specified ID" -msgstr "Der Abonnent mit angegebenen ID konnte nicht gefunden werden" - -#: routes/lists.js:423 -msgid "Could not add subscription" -msgstr "Das Abonnement konnte nicht hinzugefügt werden" - -#: routes/lists.js:428 -msgid "%s was successfully added to your list" -msgstr "%s wurde Ihrer Liste erfolgreich hinzugefügt" - -#: routes/lists.js:430 -msgid "%s was not added to your list" -msgstr "%s wurde nicht zu Ihrer Liste hinzugefügt" - -#: routes/lists.js:452 -msgid "Could not unsubscribe user" -msgstr "Der Benutzer konnte nicht deabonniert werden" - -#: routes/lists.js:455 -msgid "%s was successfully unsubscribed from your list" -msgstr "%s wurde erfolgreich von Ihrer Liste entfernt" - -#: routes/lists.js:475 -msgid "%s was successfully removed from your list" -msgstr "%s wurde erfolgreich aus Ihrer Liste entfernt" - -#: routes/lists.js:487 -msgid "Another subscriber with email address %s already exists" -msgstr "Ein anderer Abonnent mit der E-Mail-Adresse %s existiert bereits" - -#: routes/lists.js:494 -msgid "Subscription settings updated" -msgstr "Abonnementeinstellungen aktualisiert" - -#: routes/lists.js:496 -msgid "Subscription settings not updated" -msgstr "Abonnementeinstellungen nicht aktualisiert" - -#: routes/lists.js:538 routes/lists.js:646 routes/lists.js:682 -#: routes/lists.js:710 routes/lists.js:730 -msgid "Could not find import data with specified ID" -msgstr "Keine Importdaten für diese ID gefunden" - -#: routes/lists.js:569 -msgid "Could not process CSV" -msgstr "CSV-Datei konnte nicht verarbeitet werden" - -#: routes/lists.js:578 -msgid "Could not create importer" -msgstr "Importer konnte nicht erstellt werden" - -#: routes/lists.js:629 -msgid "Empty file" -msgstr "Leere Datei" - -#: routes/lists.js:686 -msgid "Import started" -msgstr "Import gestartet" - -#: routes/lists.js:714 -msgid "Import restarted" -msgstr "Import neu gestartet" - -#: routes/report-templates.js:246 -msgid "Could not create report template" -msgstr "Report-Vorlage konnte nicht erstellt werden" - -#: routes/report-templates.js:249 -msgid "Report template “%s†created" -msgstr "Die Report-Vorlage “%s†wurde erstellt" - -#: routes/report-templates.js:257 -msgid "Could not find report template with specified ID" -msgstr "Report-Vorlage mit angegebener ID konnte nicht gefunden werden" - -#: routes/report-templates.js:280 -msgid "Report template updated" -msgstr "Report-Vorlage aktualisiert" - -#: routes/report-templates.js:282 -msgid "Report template not updated" -msgstr "Report-Vorlage wurde nicht aktualisiert" - -#: routes/report-templates.js:298 -msgid "Report template deleted" -msgstr "Report-Vorlage gelöscht" - -#: routes/report-templates.js:300 -msgid "Could not delete specified report template" -msgstr "Die Report-Vorlage konnte nicht gelöscht werden" - -#: routes/reports.js:124 routes/reports.js:130 -msgid "Could not create report" -msgstr "Der Report konnte nicht erstellt werden" - -#: routes/reports.js:135 -msgid "Report “%s†created" -msgstr "Report “%s†erstellt" - -#: routes/reports.js:146 routes/reports.js:224 routes/reports.js:239 -#: routes/reports.js:265 routes/reports.js:275 -msgid "Could not find report with specified ID" -msgstr "Der Report mit dieser ID konnte nicht gefunden werden" - -#: routes/reports.js:188 routes/reports.js:194 -msgid "Could not update report" -msgstr "Der Report konnte nicht aktualisiert werden" - -#: routes/reports.js:197 -msgid "Report updated" -msgstr "Report aktualisiert" - -#: routes/reports.js:199 -msgid "Report not updated" -msgstr "Report nicht aktualisiert" - -#: routes/reports.js:212 -msgid "Report deleted" -msgstr "Report gelöscht" - -#: routes/reports.js:214 -msgid "Could not delete specified report" -msgstr "Der Report konnte nicht gelöscht werden" - -#: routes/reports.js:230 -msgid "Could not find report template" -msgstr "Report-Vorlage konnte nicht gefunden werden" - -#: routes/reports.js:260 -msgid "Unknown type of template" -msgstr "Unbekannter Mime-Type des Template" - -#: routes/segments.js:86 -msgid "Could not create segment" -msgstr "Segment konnte nicht erstellt werden" - -#: routes/segments.js:89 -msgid "Segment created" -msgstr "Segment erstellt" - -#: routes/segments.js:113 -msgid "Selected segment ID not found" -msgstr "Ausgewählte Segment-ID wurde nicht gefunden" - -#: routes/segments.js:188 -msgid "Segment settings updated" -msgstr "Segmenteinstellungen aktualisiert" - -#: routes/segments.js:190 -msgid "Segment settings not updated" -msgstr "Segmenteinstellungen nicht aktualisiert" - -#: routes/segments.js:206 -msgid "Segment deleted" -msgstr "Segment gelöscht" - -#: routes/segments.js:208 -msgid "Could not delete specified segment" -msgstr "Das angegebene Segment konnte nicht gelöscht werden" - -#: routes/segments.js:342 -msgid "Could not create rule" -msgstr "Regel konnte nicht erstellt werden" - -#: routes/segments.js:345 -msgid "Rule created" -msgstr "Regel erstellt" - -#: routes/segments.js:410 -msgid "Rule settings updated" -msgstr "Regeleinstellungen aktualisiert" - -#: routes/segments.js:412 -msgid "Rule settings not updated" -msgstr "Regeleinstellungen nicht aktualisiert" - -#: routes/segments.js:428 -msgid "Rule deleted" -msgstr "Regel gelöscht" - -#: routes/segments.js:430 -msgid "Could not delete specified rule" -msgstr "Die Regel konnte nicht gelöscht werden" - -#: routes/settings.js:39 -msgid "Use TLS" -msgstr "TLS verwenden" - -#: routes/settings.js:40 -msgid "usually selected for port 465" -msgstr "Normalerweise ausgewählt für Port 465" - -#: routes/settings.js:44 -msgid "Use STARTTLS" -msgstr "STARTTLS verwenden" - -#: routes/settings.js:45 -msgid "usually selected for port 587 and 25" -msgstr "normalerweise ausgewählt für Port 587 und 25" - -#: routes/settings.js:49 -msgid "Do not use encryption" -msgstr "Keine Verschlüsselung verwenden" - -#: routes/settings.js:115 -msgid "Settings updated" -msgstr "Einstellungen aktualisiert" - -#: routes/settings.js:173 -msgid "Invalid mail transport type" -msgstr "Ungültiger Mail Transport Type" - -#: routes/settings.js:184 -msgid "Invalid Access Key" -msgstr "Ungültiger Access Key" - -#: routes/settings.js:187 -msgid "Invalid AWS credentials" -msgstr "Ungültige AWS Zugangsdaten" - -#: routes/settings.js:190 -msgid "Connection refused, check hostname and port." -msgstr "Verbindung abgelehnt, überprüfen Sie Hostname und Port." - -#: routes/settings.js:195 -msgid "" -"Did not receive greeting message from server. This might happen when " -"connecting to a TLS port without using TLS." -msgstr "" -"Keine Grußnachricht vom Server erhalten. Dies kann bei der Verbindung zu " -"einem TLS-Port ohne TLS auftreten." - -#: routes/settings.js:197 -msgid "Did not receive greeting message from server." -msgstr "Keine Grußnachricht vom Server erhalten." - -#: routes/settings.js:200 -msgid "" -"Connection timed out. Check your firewall settings, destination port is " -"probably blocked." -msgstr "" -"Zeitüberschreitung der Verbindung. Überprüfen Sie Ihre Firewall-" -"Einstellungen, der Ziel-Port ist wahrscheinlich blockiert." - -#: routes/settings.js:205 -msgid "Authentication not accepted, server expects STARTTLS to be used." -msgstr "" -"Authentifizierung nicht akzeptiert, Server erwartet die Verwendung von " -"STARTTLS." - -#: routes/settings.js:207 -msgid "Authentication failed, check username and password." -msgstr "" -"Authentifizierung fehlgeschlagen, Benutzername und Passwort überprüfen." - -#: routes/settings.js:217 -msgid "Failed Mailer verification." -msgstr "Mailer Überprüfung fehlgeschlagen." - -#: routes/settings.js:217 -msgid "Server responded with: \"%s\"" -msgstr "Server antwortete mit: \"%s\"" - -#: routes/settings.js:221 -msgid "Mailer settings verified, ready to send some mail!" -msgstr "Mailer-Einstellungen überprüft, bereit zum Senden!" - -#: routes/subscription.js:32 -msgid "Not allowed by CORS" -msgstr "Nicht erlaubt von CORS" - -#: routes/subscription.js:50 -msgid "Selected subscription not found" -msgstr "Ausgewähltes Abonnement nicht gefunden" - -#: routes/subscription.js:60 routes/subscription.js:181 -#: routes/subscription.js:266 routes/subscription.js:324 -#: routes/subscription.js:377 routes/subscription.js:429 -#: routes/subscription.js:511 routes/subscription.js:562 -#: routes/subscription.js:638 routes/subscription.js:660 -#: routes/subscription.js:720 routes/subscription.js:744 -#: routes/subscription.js:809 -msgid "Selected list not found" -msgstr "Ausgewählte Liste nicht gefunden" - -#: routes/subscription.js:134 -msgid "%s: Subscription Confirmed" -msgstr "%s: Abonnement bestätigt" - -#: routes/subscription.js:184 routes/subscription.js:514 -msgid "The list does not allow public subscriptions." -msgstr "Die Liste erlaubt keine öffentlichen Abonnements." - -#: routes/subscription.js:493 routes/subscription.js:495 -msgid "Email address not set" -msgstr "E-Mail-Adresse nicht gesetzt" - -#: routes/subscription.js:538 -msgid "Could not store confirmation data" -msgstr "Die Bestätigungsdaten konnten nicht gespeichert werden" - -#: routes/subscription.js:576 routes/subscription.js:675 -#: routes/subscription.js:759 -msgid "Subscription not found from this list" -msgstr "Abonnement konnte in dieser Liste nicht gefunden werden" - -#: routes/subscription.js:735 -msgid "Email address updated, check your mailbox for verification instructions" -msgstr "" -"Die E-Mail-Adresse wurde aktualisiert. Bitte überprüfen Sie Ihre Mailbox zur " -"Bestätigung" - -#: routes/subscription.js:858 -msgid "%s: Unsubscribe Confirmed" -msgstr "%s: Abmeldungen Bestätigt" - -#: routes/subscription.js:905 routes/subscription.js:921 -msgid "Public key is not set" -msgstr "Public-Key ist nicht gesetzt" - -#: routes/templates.js:84 -msgid "Could not create template" -msgstr "Vorlage konnte nicht erstellt werden" - -#: routes/templates.js:87 -msgid "Template created" -msgstr "Vorlage erstellt" - -#: routes/templates.js:126 -msgid "Template settings updated" -msgstr "Vorlageneinstellungen aktualisiert" - -#: routes/templates.js:128 -msgid "Template settings not updated" -msgstr "Template Einstellungen wurden nicht aktualisiert" - -#: routes/templates.js:144 -msgid "Template deleted" -msgstr "Vorlage gelöscht" - -#: routes/templates.js:146 -msgid "Could not delete specified template" -msgstr "Die Vorlage konnte nicht gelöscht werden" - -#: routes/triggers.js:62 routes/triggers.js:79 routes/triggers.js:154 -msgid "Could not find selected list" -msgstr "Die ausgewählte Liste konnte nicht gefunden werden" - -#: routes/triggers.js:131 -msgid "Could not create trigger" -msgstr "Trigger konnte nicht erstellt werden" - -#: routes/triggers.js:138 -msgid "Trigger “%s†created" -msgstr "Trigger “%s†erstellt" - -#: routes/triggers.js:214 -msgid "Trigger settings updated" -msgstr "Trigger-Einstellungen aktualisiert" - -#: routes/triggers.js:216 -msgid "Trigger settings not updated" -msgstr "Trigger-Einstellungen nicht aktualisiert" - -#: routes/triggers.js:228 -msgid "Trigger deleted" -msgstr "Trigger gelöscht" - -#: routes/triggers.js:230 -msgid "Could not delete specified trigger" -msgstr "Der Trigger konnte nicht gelöscht werden" - -#: routes/triggers.js:242 -msgid "Could not find trigger with specified ID" -msgstr "Der Trigger mit dieser ID konnte nicht gefunden werden" - -#: routes/triggers.js:255 -msgid "Trigger not found" -msgstr "Trigger nicht gefunden" - -#: routes/users.js:32 -msgid "" -"An email with password reset instructions has been sent to your email " -"address, if it exists on our system." -msgstr "" -"Eine E-Mail mit Passwort-Reset-Anweisungen wurde an Ihre E-Mail-Adresse " -"gesendet, wenn die E-Mail-Adresse auf unserem System existiert." - -#: routes/users.js:46 routes/users.js:64 -msgid "Unknown or expired reset token" -msgstr "Unbekanntes oder abgelaufenes Reset-Token" - -#: routes/users.js:66 -msgid "Your password has been changed successfully" -msgstr "Ihr Passwort wurde erfolgreich geändert" - -#: routes/users.js:87 -msgid "User data not found" -msgstr "Benutzerdaten nicht gefunden" - -#: routes/users.js:110 -msgid "Access token updated" -msgstr "Access Token aktualisiert" - -#: routes/users.js:112 -msgid "Access token not updated" -msgstr "Access Token nicht aktualisiert" - -#: routes/users.js:139 -msgid "Account information updated" -msgstr "Account-Informationen aktualisiert" - -#: routes/users.js:141 -msgid "Account information not updated" -msgstr "Account-Informationen nicht aktualisiert" - -#: services/feedcheck.js:51 -msgid "Feed error: %s" -msgstr "Feed Fehler: %s" - -#: services/feedcheck.js:54 -msgid "Found %s new campaign messages from feed" -msgstr "Fand %s neue Kampagnen-Nachrichten im Feed" - -#: services/feedcheck.js:56 -msgid "Found nothing new from the feed" -msgstr "Im Feed wurde nichts neues gefunden" - -#: services/feedcheck.js:146 -msgid "RSS entry %s" -msgstr "RSS Eintrag %s" - -#: services/importer.js:249 -msgid "Could not access import file" -msgstr "Auf die Importdatei konnte nicht zugegriffen werden" - -#: services/triggers.js:51 -msgid "Unknown trigger type %s" -msgstr "Unbekannter Trigger-Typ %s" - -#~ msgid "Add new custom field" -#~ msgstr "Neues benutzerdefiniertes Feld hinzufügen" - -#~ msgid "field name" -#~ msgstr "Feldname" - -#~ msgid "one of the following types:" -#~ msgstr "Einer der folgenden Typen:" - -#~ msgid "" -#~ "If the type is 'option' then you also need to specify the parent element " -#~ "ID" -#~ msgstr "" -#~ "Wenn der Typ 'Option' ist, dann müssen Sie auch die übergeordnete Element-" -#~ "ID angeben" - -#~ msgid "" -#~ "Template for the group element. If not set, then values of the elements " -#~ "are joined with commas" -#~ msgstr "" -#~ "Vorlage für das Gruppenelement. Wenn nicht gesetzt, dann werden die Werte " -#~ "der Elemente mit Kommas verbunden" - -#~ msgid "" -#~ "if not visible then the subscriber can not view or modify this value at " -#~ "the profile page" -#~ msgstr "" -#~ "Wenn nicht sichtbar, kann der Abonnent diesen Wert auf der Profilseite " -#~ "weder sehen noch bearbeiten" - -#~ msgid "You are now unsubscribed" -#~ msgstr "Sie sind jetzt aus dieser Liste ausgetragen" - -#~ msgid "List management" -#~ msgstr "Listenverwaltung" - -#~ msgid "Custom fields" -#~ msgstr "Benutzerdefinierte Felder" - -#~ msgid "List segmentation" -#~ msgstr "Listensegmentierung" - -#~ msgid "Donate to author" -#~ msgstr "Spenden willkommen" - -#~ msgid "or donate using PayPal" -#~ msgstr "Oder spenden Sie mit PayPal" - -#~ msgid "Click stats" -#~ msgstr "Klick Statistiken" - -#~ msgid "Open source" -#~ msgstr "Open source" - -#~ msgid "Send via any provider" -#~ msgstr "Senden Sie über jeden Anbieter" - -#~ msgid "Trigger based automation" -#~ msgstr "Triggerbasierte Automatisierung" - -#~ msgid "Self hosted newsletter app built on top of Nodemailer" -#~ msgstr "Selbst gehostete Newsletter-App basierend auf Nodemailer" - -#~ msgid "Subscribe to our newsletter" -#~ msgstr "Abonnieren Sie unseren Newsletter" - -#~ msgid "To extract the text from HTML click" -#~ msgstr "Um den Klartext aus dem HTML Dokument zu extrahieren, klicken Sie" - -#~ msgid "Almost finished." -#~ msgstr "Fast fertig." - -#~ msgid "return to our website" -#~ msgstr "zurück zu unserer Webseite" - -#~ msgid "Update your Email Address" -#~ msgstr "E-Mail-Adresse aktualisieren" - -#~ msgid "Update your preferences" -#~ msgstr "Einstellungen aktualisieren" - -#~ msgid "" -#~ "JavaScript must be enabled in order for the subscription form to work" -#~ msgstr "" -#~ "JavaScript muss aktiviert sein, damit das Anmeldeformular funktionieren " -#~ "kann" - -#~ msgid "continue to our website" -#~ msgstr "weiter zu unserer Webseite" - -#~ msgid "" -#~ "If you really like Mailtrain or your business benefits from it " -#~ "financially then I would really appreciate a small donation to keep the " -#~ "Mailtrain development engines running. You can either use Bitcoin or " -#~ "PayPal for donations. My Bitcoin wallet is " -#~ "15Z8ADxhssKUiwP3jbbqJwA21744KMCfTM" -#~ msgstr "" -#~ "Loren Ipsum it financially then I would really appreciate a small " -#~ "donation to keep the Mailtrain development engines running. You can " -#~ "either use Bitcoin or PayPal for donations. My Bitcoin wallet is " -#~ "15Z8ADxhssKUiwP3jbbqJwA21744KMCfTM" - -#~ msgid "" -#~ "We have received a password change request for your Mailtrain account" -#~ msgstr "" -#~ "Wir haben eine Passwortänderungsanfrage für Ihr Mailtrain-Konto erhalten" - -#~ msgid "Reset password:" -#~ msgstr "Passwort zurücksetzen:" - -#~ msgid "(optional)" -#~ msgstr "(optional)" - -#~ msgid "–– Select ––" -#~ msgstr "— Bitte wählen —" - -#~ msgid "You have been removed from" -#~ msgstr "Sie wurden aus dieser Liste ausgetragen:" - -#~ msgid "Enter your email address to unsubscribe from" -#~ msgstr "Geben Sie Ihre E-Mail-Adresse ein, um sich abzumelden von" - -#~ msgid "Yes, subscribe me to this list:" -#~ msgstr "Ja, tragen Sie mich in diese Liste ein:" - -#: lib/models/subscriptions.js:910 routes/subscription.js:472 -#: routes/subscription.js:544 routes/subscription.js:580 -#: routes/subscription.js:696 routes/subscription.js:771 -msgid "Subscription not found in this list" -msgstr "Das Abonnement wurde in dieser Liste nicht gefunden" - -#: views/subscription/web-confirm-unsubscription-notice.mjml.hbs:2 -msgid "" -"We need to confirm your email address. To complete the unsubscription " -"process, please click the link in the email we just sent you." -msgstr "" -"Wir müssen Ihre E-Mail-Adresse bestätigen. Um die Kündigung Ihres Abonnements abzuschließen, " -"klicken Sie bitte auf den Link in der E-Mail, die wir Ihnen gerade geschickt " -"haben." - -msgid "Please Confirm Unsubscription" -msgstr "Bitte bestätigen Sie die Kündigung Ihres Abonnements" - -msgid "Yes, unsubscribe me from this list" -msgstr "Ja, ich möchte dieses Abonnement kündigen" - -msgid "" -"If you received this email by mistake, simply delete it. You won't be " -"unsubscribed if you don't click the confirmation link above." -msgstr "" -"Wenn Sie diese E-Mail versehentlich erhalten haben, löschen Sie sie einfach. " -"Ihr Abonnement wird nicht gekündigt, wenn Sie nicht auf den Bestätigungslink oben klicken." diff --git a/languages/es_ES.mo b/languages/es_ES.mo deleted file mode 100644 index 214acc8a..00000000 Binary files a/languages/es_ES.mo and /dev/null differ diff --git a/languages/es_ES.po b/languages/es_ES.po deleted file mode 100644 index 8abe4590..00000000 --- a/languages/es_ES.po +++ /dev/null @@ -1,4664 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: \n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-06-08 10:55+0200\n" -"PO-Revision-Date: 2017-06-14 15:40+0200\n" -"Last-Translator: \n" -"Language-Team: \n" -"Language: es_ES\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.0.2\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: views/archive/layout.hbs:1 views/layout.hbs:1 -msgid "Self hosted email newsletter app" -msgstr "Aplicación de boletín de correo electrónico alojado por usted mismo" - -#: views/blacklist.hbs:1 views/campaigns/blacklisted.hbs:1 -#: views/campaigns/bounced.hbs:1 views/campaigns/campaigns.hbs:1 -#: views/campaigns/clicked.hbs:1 views/campaigns/complained.hbs:1 -#: views/campaigns/create-rss.hbs:1 views/campaigns/create-triggered.hbs:1 -#: views/campaigns/create.hbs:1 views/campaigns/delivered.hbs:1 -#: views/campaigns/edit-rss.hbs:1 views/campaigns/edit-triggered.hbs:1 -#: views/campaigns/edit.hbs:1 views/campaigns/opened.hbs:1 -#: views/campaigns/unsubscribed.hbs:1 views/campaigns/upload-attachment.hbs:1 -#: views/campaigns/view.hbs:1 views/lists/create.hbs:1 views/lists/edit.hbs:1 -#: views/lists/fields/create.hbs:1 views/lists/fields/edit.hbs:1 -#: views/lists/fields/fields.hbs:1 views/lists/forms/create.hbs:1 -#: views/lists/forms/edit.hbs:1 views/lists/forms/forms.hbs:1 -#: views/lists/lists.hbs:1 views/lists/segments/create.hbs:1 -#: views/lists/segments/edit.hbs:1 views/lists/segments/rule-configure.hbs:1 -#: views/lists/segments/rule-create.hbs:1 views/lists/segments/rule-edit.hbs:1 -#: views/lists/segments/segments.hbs:1 views/lists/segments/view.hbs:1 -#: views/lists/subscription/add.hbs:1 views/lists/subscription/edit.hbs:1 -#: views/lists/subscription/import-failed.hbs:1 -#: views/lists/subscription/import-preview.hbs:1 -#: views/lists/subscription/import.hbs:1 views/lists/view.hbs:1 -#: views/report-templates/create.hbs:1 views/report-templates/edit.hbs:1 -#: views/report-templates/report-templates.hbs:1 -#: views/reports/create-select-template.hbs:1 views/reports/create.hbs:1 -#: views/reports/edit.hbs:1 views/reports/output.hbs:1 -#: views/reports/reports.hbs:1 views/reports/view.hbs:1 views/settings.hbs:1 -#: views/templates/create.hbs:1 views/templates/edit.hbs:1 -#: views/templates/templates.hbs:1 views/triggers/create-select.hbs:1 -#: views/triggers/create.hbs:1 views/triggers/edit.hbs:1 -#: views/triggers/triggered.hbs:1 views/triggers/triggers.hbs:1 -#: views/users/account.hbs:1 views/users/api.hbs:1 views/users/forgot.hbs:1 -#: views/users/login.hbs:1 views/users/reset.hbs:1 app.js:169 -msgid "Home" -msgstr "Inicio" - -#: views/blacklist.hbs:2 views/blacklist.hbs:3 views/layout.hbs:7 -#: views/lists/subscription/edit.hbs:15 -msgid "Blacklist" -msgstr "Lista negra" - -#: views/blacklist.hbs:4 views/users/api.hbs:55 -msgid "Add email to blacklist" -msgstr "Añadir correo a la lista negra" - -#: views/blacklist.hbs:5 -msgid "Add" -msgstr "Añadir" - -#: views/blacklist.hbs:6 -msgid "Email" -msgstr "Correo eléctronico" - -#: views/campaigns/blacklisted.hbs:2 views/campaigns/bounced.hbs:2 -#: views/campaigns/campaigns.hbs:2 views/campaigns/campaigns.hbs:7 -#: views/campaigns/clicked.hbs:2 views/campaigns/complained.hbs:2 -#: views/campaigns/create-rss.hbs:2 views/campaigns/create-triggered.hbs:2 -#: views/campaigns/create.hbs:2 views/campaigns/delivered.hbs:2 -#: views/campaigns/edit-rss.hbs:2 views/campaigns/edit-triggered.hbs:2 -#: views/campaigns/edit.hbs:2 views/campaigns/opened.hbs:2 -#: views/campaigns/unsubscribed.hbs:2 views/campaigns/upload-attachment.hbs:2 -#: views/campaigns/view.hbs:2 lib/tools.js:133 routes/campaigns.js:35 -msgid "Campaigns" -msgstr "Campañas" - -#: views/campaigns/blacklisted.hbs:3 views/campaigns/blacklisted.hbs:4 -msgid "Blacklisted info" -msgstr "Información de la lista negra" - -#: views/campaigns/blacklisted.hbs:5 views/campaigns/bounced.hbs:5 -#: views/campaigns/clicked.hbs:5 views/campaigns/complained.hbs:5 -#: views/campaigns/delivered.hbs:5 views/campaigns/edit-rss.hbs:5 -#: views/campaigns/edit-triggered.hbs:5 views/campaigns/edit.hbs:5 -#: views/campaigns/opened.hbs:5 views/campaigns/unsubscribed.hbs:5 -#: views/campaigns/upload-attachment.hbs:6 -msgid "View campaign" -msgstr "Ver campaña" - -#: views/campaigns/blacklisted.hbs:6 -msgid "Subscribers who blacklisted by global blacklist:" -msgstr "Suscriptores que han sido incluidos en la lista negra global:" - -#: views/campaigns/blacklisted.hbs:7 views/campaigns/bounced.hbs:7 -#: views/campaigns/clicked.hbs:15 views/campaigns/complained.hbs:7 -#: views/campaigns/delivered.hbs:7 views/campaigns/opened.hbs:9 -#: views/campaigns/unsubscribed.hbs:7 -#: views/lists/subscription/import-failed.hbs:8 views/lists/view.hbs:19 -#: views/triggers/triggered.hbs:6 -msgid "Address" -msgstr "Dirección" - -#: views/campaigns/blacklisted.hbs:8 views/campaigns/bounced.hbs:8 -#: views/campaigns/clicked.hbs:16 views/campaigns/complained.hbs:8 -#: views/campaigns/delivered.hbs:8 views/campaigns/opened.hbs:10 -#: views/campaigns/unsubscribed.hbs:8 views/lists/subscription/add.hbs:6 -#: views/lists/subscription/edit.hbs:7 -#: views/lists/subscription/import-preview.hbs:7 views/lists/view.hbs:20 -#: views/subscription/partials/subscription-custom-fields.hbs:3 -#: views/triggers/triggered.hbs:7 -msgid "First Name" -msgstr "Nombre" - -#: views/campaigns/blacklisted.hbs:9 views/campaigns/bounced.hbs:9 -#: views/campaigns/clicked.hbs:17 views/campaigns/complained.hbs:9 -#: views/campaigns/delivered.hbs:9 views/campaigns/opened.hbs:11 -#: views/campaigns/unsubscribed.hbs:9 views/lists/subscription/add.hbs:7 -#: views/lists/subscription/edit.hbs:8 -#: views/lists/subscription/import-preview.hbs:8 views/lists/view.hbs:21 -#: views/subscription/partials/subscription-custom-fields.hbs:4 -#: views/triggers/triggered.hbs:8 -msgid "Last Name" -msgstr "Apellidos" - -#: views/campaigns/blacklisted.hbs:10 -msgid "Reason" -msgstr "Motivo" - -#: views/campaigns/blacklisted.hbs:11 -msgid "Time" -msgstr "Fecha" - -#: views/campaigns/bounced.hbs:3 views/campaigns/bounced.hbs:4 -msgid "Bounced info" -msgstr "Información del bounce" - -#: views/campaigns/bounced.hbs:6 -msgid "Subscribers who bounced and were unsubscribed:" -msgstr "Suscriptores que fueron bounce y unsuscritos:" - -#: views/campaigns/bounced.hbs:10 views/campaigns/complained.hbs:10 -#: views/campaigns/delivered.hbs:10 views/campaigns/unsubscribed.hbs:10 -msgid "SMTP response" -msgstr "Respuesta del SMTP" - -#: views/campaigns/bounced.hbs:11 -msgid "Bounce time" -msgstr "Fecha" - -#: views/campaigns/campaigns.hbs:3 views/campaigns/create-triggered.hbs:26 -#: views/campaigns/create.hbs:3 views/campaigns/create.hbs:4 -#: views/campaigns/create.hbs:28 -msgid "Create Campaign" -msgstr "Crear Campaña" - -#: views/campaigns/campaigns.hbs:4 -msgid "Regular Campaign" -msgstr "Campaña normal" - -#: views/campaigns/campaigns.hbs:5 -msgid "RSS Campaign" -msgstr "Campaña de RSS" - -#: views/campaigns/campaigns.hbs:6 -msgid "Triggered Campaign" -msgstr "Campaña encadenada" - -#: views/campaigns/campaigns.hbs:8 views/campaigns/create-rss.hbs:6 -#: views/campaigns/create-triggered.hbs:5 views/campaigns/create.hbs:5 -#: views/campaigns/edit-rss.hbs:8 views/campaigns/edit-triggered.hbs:9 -#: views/campaigns/edit.hbs:10 views/campaigns/view.hbs:73 -#: views/lists/create.hbs:5 views/lists/edit.hbs:6 -#: views/lists/fields/fields.hbs:6 views/lists/forms/forms.hbs:6 -#: views/lists/lists.hbs:5 views/lists/segments/segments.hbs:6 -#: views/report-templates/partials/report-template-fields.hbs:1 -#: views/report-templates/report-templates.hbs:10 -#: views/reports/partials/report-fields.hbs:1 -#: views/reports/partials/report-fields.hbs:5 -#: views/reports/partials/report-fields.hbs:9 views/reports/reports.hbs:6 -#: views/templates/templates.hbs:5 views/triggers/triggers.hbs:5 -msgid "Name" -msgstr "Nombre" - -#: views/campaigns/campaigns.hbs:9 views/campaigns/create-rss.hbs:8 -#: views/campaigns/create-triggered.hbs:7 views/campaigns/create.hbs:7 -#: views/campaigns/edit-rss.hbs:10 views/campaigns/edit-triggered.hbs:11 -#: views/campaigns/edit.hbs:12 views/campaigns/view.hbs:74 -#: views/lists/create.hbs:7 views/lists/edit.hbs:10 -#: views/lists/forms/edit.hbs:9 views/lists/forms/forms.hbs:7 -#: views/lists/lists.hbs:8 views/mosaico/editor.hbs:3 -#: views/partials/merge-tag-reference.hbs:4 -#: views/report-templates/partials/report-template-fields.hbs:3 -#: views/report-templates/report-templates.hbs:11 -#: views/reports/partials/report-fields.hbs:3 -#: views/reports/partials/report-fields.hbs:6 views/reports/reports.hbs:8 -#: views/templates/create.hbs:9 views/templates/edit.hbs:8 -#: views/templates/templates.hbs:6 views/triggers/create.hbs:7 -#: views/triggers/edit.hbs:8 views/triggers/triggers.hbs:7 -msgid "Description" -msgstr "Descripción" - -#: views/campaigns/campaigns.hbs:10 views/campaigns/view.hbs:75 -#: views/lists/view.hbs:22 views/lists/view.hbs:30 -#: views/triggers/triggers.hbs:6 -msgid "Status" -msgstr "Estado" - -#: views/campaigns/campaigns.hbs:11 views/campaigns/view.hbs:76 -#: views/lists/view.hbs:23 views/lists/view.hbs:24 -#: views/report-templates/report-templates.hbs:12 -#: views/reports/partials/report-fields.hbs:7 views/reports/reports.hbs:9 -msgid "Created" -msgstr "Fecha de Creación" - -#: views/campaigns/clicked.hbs:3 views/campaigns/clicked.hbs:4 -msgid "Link info" -msgstr "Información del enlace" - -#: views/campaigns/clicked.hbs:6 views/campaigns/view.hbs:63 -msgid "URL" -msgstr "URL" - -#: views/campaigns/clicked.hbs:7 views/campaigns/view.hbs:64 -msgid "Clicks" -msgstr "Clicks" - -#: views/campaigns/clicked.hbs:8 views/campaigns/view.hbs:65 -msgid "% of clicks" -msgstr "% de clicks" - -#: views/campaigns/clicked.hbs:9 views/campaigns/view.hbs:66 -msgid "% of messages" -msgstr "% de mensajes" - -#: views/campaigns/clicked.hbs:10 views/campaigns/view.hbs:69 -msgid "Aggregated clicks" -msgstr "Clics agregados" - -#: views/campaigns/clicked.hbs:11 -msgid "Subscribers who clicked on a link:" -msgstr "Suscriptores que hicieron click en un enlace:" - -#: views/campaigns/clicked.hbs:12 -msgid "Subscribers who clicked on this link:" -msgstr "Suscriptores que hicieron click en este enlace:" - -#: views/campaigns/clicked.hbs:13 views/campaigns/opened.hbs:7 -msgid "Stats by country" -msgstr "Estadísticas por país" - -#: views/campaigns/clicked.hbs:14 views/campaigns/opened.hbs:8 -msgid "Stats by device type" -msgstr "Estadísticas por dispositivo" - -#: views/campaigns/clicked.hbs:18 -msgid "First click time" -msgstr "Fecha del primer click" - -#: views/campaigns/clicked.hbs:19 -msgid "Click count" -msgstr "Número de clicks" - -#: views/campaigns/complained.hbs:3 views/campaigns/complained.hbs:4 -msgid "Complained info" -msgstr "Información de quejas" - -#: views/campaigns/complained.hbs:6 -msgid "Subscribers who complained and were unsubscribed:" -msgstr "Suscriptores que se quejaron y fueron unsuscritos:" - -#: views/campaigns/complained.hbs:11 -msgid "Complain time" -msgstr "Fecha de la queja" - -#: views/campaigns/create-rss.hbs:3 views/campaigns/create-rss.hbs:4 -#: views/campaigns/create-rss.hbs:21 -msgid "Create RSS Campaign" -msgstr "Crear Campaña de RSS" - -#: views/campaigns/create-rss.hbs:5 views/campaigns/edit-rss.hbs:6 -msgid "" -"RSS campaign sets up a tracker against selected RSS feed address. Whenever a " -"new entry is found from this feed it is sent to selected list as an email " -"message." -msgstr "" -"Una campaña RSS detecta los cambios en el Canal RSS configurado. Cuando se " -"encuentra una nueva entrada de este canal es enviado a la lista seleccionada " -"como un mensaje de correo electrónico." - -#: views/campaigns/create-rss.hbs:7 views/campaigns/create-triggered.hbs:6 -#: views/campaigns/create.hbs:6 views/campaigns/edit-rss.hbs:9 -#: views/campaigns/edit-triggered.hbs:10 views/campaigns/edit.hbs:11 -msgid "Campaign Name" -msgstr "Nombre de la campaña" - -#: views/campaigns/create-rss.hbs:9 views/campaigns/create-triggered.hbs:8 -#: views/campaigns/create.hbs:8 views/campaigns/edit-rss.hbs:11 -#: views/campaigns/edit-triggered.hbs:12 views/campaigns/edit.hbs:13 -#: views/lists/create.hbs:8 views/lists/edit.hbs:11 -#: views/report-templates/partials/report-template-fields.hbs:4 -#: views/reports/partials/report-fields.hbs:4 views/templates/create.hbs:11 -#: views/templates/edit.hbs:10 views/triggers/create.hbs:9 -#: views/triggers/edit.hbs:10 -msgid "HTML is allowed" -msgstr "Se permite HTML" - -#: views/campaigns/create-rss.hbs:10 views/campaigns/create-triggered.hbs:9 -#: views/campaigns/create.hbs:9 views/campaigns/edit-rss.hbs:12 -#: views/campaigns/edit-triggered.hbs:13 views/campaigns/edit.hbs:14 -#: views/campaigns/view.hbs:6 views/triggers/create-select.hbs:6 -#: views/triggers/create.hbs:10 views/triggers/edit.hbs:12 -#: views/triggers/triggers.hbs:8 -msgid "List" -msgstr "Lista" - -#: views/campaigns/create-rss.hbs:11 views/campaigns/create-triggered.hbs:10 -#: views/campaigns/create-triggered.hbs:14 views/campaigns/create.hbs:10 -#: views/campaigns/create.hbs:14 views/campaigns/edit-rss.hbs:13 -#: views/campaigns/edit-triggered.hbs:14 views/campaigns/edit.hbs:15 -#: views/lists/fields/create.hbs:27 views/lists/fields/edit.hbs:28 -#: views/lists/segments/create.hbs:9 views/lists/segments/edit.hbs:10 -#: views/lists/segments/rule-create.hbs:7 views/lists/subscription/add.hbs:10 -#: views/lists/subscription/add.hbs:12 views/lists/subscription/edit.hbs:11 -#: views/lists/subscription/import-preview.hbs:5 -#: views/reports/partials/report-select-template.hbs:2 -#: views/subscription/partials/subscription-custom-fields.hbs:9 -#: views/templates/create.hbs:8 views/triggers/create-select.hbs:7 -#: views/triggers/create.hbs:17 views/triggers/create.hbs:20 -#: views/triggers/create.hbs:22 views/triggers/create.hbs:26 -#: views/triggers/edit.hbs:19 views/triggers/edit.hbs:22 -#: views/triggers/edit.hbs:24 views/triggers/edit.hbs:28 -msgid "Select" -msgstr "Seleccionar" - -#: views/campaigns/create-rss.hbs:12 views/campaigns/create-triggered.hbs:11 -#: views/campaigns/create.hbs:11 views/campaigns/edit-rss.hbs:14 -#: views/campaigns/edit-triggered.hbs:15 views/campaigns/edit.hbs:16 -#: views/triggers/create-select.hbs:8 views/triggers/create.hbs:11 -#: views/triggers/edit.hbs:13 -msgid "subscribers" -msgstr "suscriptores" - -#: views/campaigns/create-rss.hbs:13 views/campaigns/edit-rss.hbs:15 -msgid "RSS Feed Url" -msgstr "RSS Feed URL" - -#: views/campaigns/create-rss.hbs:14 views/campaigns/edit-rss.hbs:16 -msgid "" -"New entries from this RSS URL are sent out to list subscribers as email " -"messages" -msgstr "" -"Las nuevas entradas de esta dirección de URL de RSS se envían a los " -"suscriptores de la lista como mensajes de correo electrónico" - -#: views/campaigns/create-rss.hbs:15 views/campaigns/create-triggered.hbs:18 -#: views/campaigns/create.hbs:18 views/campaigns/edit-rss.hbs:18 -#: views/campaigns/edit-triggered.hbs:16 views/campaigns/edit.hbs:17 -#: views/campaigns/view.hbs:12 -msgid "Email \"from name\"" -msgstr "Email \"en nombre de (from)\"" - -#: views/campaigns/create-rss.hbs:16 views/campaigns/create-triggered.hbs:19 -#: views/campaigns/create.hbs:19 views/campaigns/edit-rss.hbs:19 -#: views/campaigns/edit-triggered.hbs:17 views/campaigns/edit.hbs:18 -#: views/settings.hbs:23 -msgid "This is the name your emails will come from" -msgstr "Este es el nombre con el que se enviaran sus correos electrónicos" - -#: views/campaigns/create-rss.hbs:17 views/campaigns/create-triggered.hbs:20 -#: views/campaigns/create.hbs:20 views/campaigns/edit-rss.hbs:20 -#: views/campaigns/edit-triggered.hbs:18 views/campaigns/edit.hbs:19 -#: views/campaigns/view.hbs:13 -msgid "Email \"from\" address" -msgstr "Correo electrónico \"De/From\"" - -#: views/campaigns/create-rss.hbs:18 views/campaigns/create-triggered.hbs:21 -#: views/campaigns/edit-rss.hbs:21 views/campaigns/edit-triggered.hbs:19 -#: views/settings.hbs:25 -msgid "This is the address people will send replies to" -msgstr "Este es el correo al que los contactos responderán" - -#: views/campaigns/create-rss.hbs:19 views/campaigns/create-triggered.hbs:24 -#: views/campaigns/create.hbs:26 views/campaigns/edit-rss.hbs:22 -#: views/campaigns/edit-triggered.hbs:22 views/campaigns/edit.hbs:25 -msgid "Disable opened tracking" -msgstr "Desactivar el seguimiento de Aperturas" - -#: views/campaigns/create-rss.hbs:20 views/campaigns/create-triggered.hbs:25 -#: views/campaigns/create.hbs:27 views/campaigns/edit-rss.hbs:23 -#: views/campaigns/edit-triggered.hbs:23 views/campaigns/edit.hbs:26 -msgid "Disable clicked tracking" -msgstr "Desactivar el seguimiento de Clics" - -#: views/campaigns/create-triggered.hbs:3 -#: views/campaigns/create-triggered.hbs:4 -msgid "Create Triggered Campaign" -msgstr "Campaña Trigger creada" - -#: views/campaigns/create-triggered.hbs:12 views/campaigns/create.hbs:12 -#: views/campaigns/edit-triggered.hbs:7 views/campaigns/edit.hbs:7 -#: views/lists/fields/create.hbs:31 views/lists/fields/edit.hbs:33 -#: views/reports/reports.hbs:7 views/templates/create.hbs:13 -msgid "Template" -msgstr "Plantilla" - -#: views/campaigns/create-triggered.hbs:13 views/campaigns/create.hbs:13 -msgid "Select a template:" -msgstr "Seleccionar plantilla" - -#: views/campaigns/create-triggered.hbs:15 views/campaigns/create.hbs:15 -msgid "Selecting a template creates a campaign specific copy from it" -msgstr "Selección de una plantilla para crear una copia de campaña de ella" - -#: views/campaigns/create-triggered.hbs:16 views/campaigns/create.hbs:16 -msgid "Or alternatively use an URL as the message content source:" -msgstr "" -"O, alternativamente, utilizar una URL como la fuente de contenido del " -"mensaje:" - -#: views/campaigns/create-triggered.hbs:17 views/campaigns/create.hbs:17 -#: views/campaigns/edit-triggered.hbs:26 views/campaigns/edit.hbs:29 -msgid "" -"If a message is sent then this URL will be POSTed to using Merge Tags as " -"POST body. Use this if you want to generate the HTML message yourself" -msgstr "" -"Si el mensaje es enviado, se realizará una petición POST a esta URL " -"utilizando los Merge Tags como parámetros. Utiliza esta opción si quieres " -"generar el mensaje HTML tu mismo" - -#: views/campaigns/create-triggered.hbs:22 views/campaigns/create.hbs:24 -#: views/campaigns/edit-triggered.hbs:20 views/campaigns/edit.hbs:23 -#: views/campaigns/view.hbs:15 -msgid "Email \"subject line\"" -msgstr "Email \"asunto\"" - -#: views/campaigns/create-triggered.hbs:23 views/campaigns/create.hbs:25 -#: views/campaigns/edit-triggered.hbs:21 views/campaigns/edit.hbs:24 -#: views/settings.hbs:27 -msgid "Keep it relevant and non-spammy" -msgstr "Mantener relevancia y no spam" - -#: views/campaigns/create.hbs:21 views/campaigns/edit.hbs:20 -msgid "" -"This is the address people will send replies to unless reply-to address is " -"set" -msgstr "" -"Esta es la dirección donde los usuarios enviarán respuestas a menos que " -"\"mail de respuesta\" sea establecido" - -#: views/campaigns/create.hbs:22 views/campaigns/edit.hbs:21 -#: views/campaigns/view.hbs:14 -msgid "Email \"reply-to\" address" -msgstr "Dirección de correo \"de respuesta\"" - -#: views/campaigns/create.hbs:23 views/campaigns/edit.hbs:22 -msgid "If set, this is the address people will send replies to" -msgstr "" -"Si se establece, esta es la dirección donde los usuarios enviarán respuestas" - -#: views/campaigns/delivered.hbs:3 views/campaigns/delivered.hbs:4 -msgid "Delivered info" -msgstr "Información tiempo de entrega" - -#: views/campaigns/delivered.hbs:6 -msgid "Subscribers who received the message and did not bounce/unsubscribe:" -msgstr "" -"Los suscriptores que recibieron el mensaje y no han sido bounces ni bajas:" - -#: views/campaigns/delivered.hbs:11 -msgid "Delivery time" -msgstr "Tiempo de entrega" - -#: views/campaigns/edit-rss.hbs:3 views/campaigns/edit-rss.hbs:4 -msgid "Edit RSS Campaign" -msgstr "Editar Campaña RSS" - -#: views/campaigns/edit-rss.hbs:7 views/campaigns/edit-triggered.hbs:8 -#: views/campaigns/edit.hbs:9 views/settings.hbs:4 views/users/account.hbs:6 -msgid "General Settings" -msgstr "Configuración general" - -#: views/campaigns/edit-rss.hbs:17 -msgid "" -"Use special merge tag [RSS_ENTRY] to mark the position for the RSS post " -"content. Additionally you can use any valid merge tag as well." -msgstr "" -"Usar especial tag [RSS_ENTRY] para marcar la posición del contenido del post " -"RSS. Además puedes utilizas más tags" - -#: views/campaigns/edit-rss.hbs:24 views/campaigns/edit-triggered.hbs:27 -#: views/campaigns/edit.hbs:35 -msgid "Delete Campaign" -msgstr "Eliminar Camppaña" - -#: views/campaigns/edit-rss.hbs:25 views/campaigns/edit-triggered.hbs:28 -#: views/campaigns/edit.hbs:36 views/lists/edit.hbs:20 -#: views/lists/fields/edit.hbs:39 views/lists/forms/edit.hbs:33 -#: views/lists/forms/forms.hbs:12 views/lists/segments/edit.hbs:14 -#: views/lists/segments/rule-edit.hbs:38 views/lists/subscription/edit.hbs:18 -#: views/reports/edit.hbs:6 views/settings.hbs:99 views/templates/edit.hbs:12 -#: views/triggers/edit.hbs:30 views/users/account.hbs:18 -msgid "Update" -msgstr "Actualizar" - -#: views/campaigns/edit-triggered.hbs:3 views/campaigns/edit-triggered.hbs:4 -msgid "Edit Triggered Campaign" -msgstr "Editar Campaña Activadas" - -#: views/campaigns/edit-triggered.hbs:6 views/campaigns/edit.hbs:6 -#: routes/forms.js:143 -msgid "General" -msgstr "General" - -#: views/campaigns/edit-triggered.hbs:24 views/campaigns/edit.hbs:27 -msgid "Template Settings" -msgstr "Configuración de plantilla" - -#: views/campaigns/edit-triggered.hbs:25 views/campaigns/edit.hbs:28 -msgid "Template URL" -msgstr "URL de la plantilla" - -#: views/campaigns/edit.hbs:3 views/campaigns/edit.hbs:4 -#: views/campaigns/upload-attachment.hbs:3 -#: views/campaigns/upload-attachment.hbs:5 views/campaigns/view.hbs:3 -msgid "Edit Campaign" -msgstr "Modificar campaña" - -#: views/campaigns/edit.hbs:8 views/campaigns/edit.hbs:30 -msgid "Attachments" -msgstr "Archivos adjuntos" - -#: views/campaigns/edit.hbs:31 -msgid "File" -msgstr "Archivo" - -#: views/campaigns/edit.hbs:32 -msgid "Size" -msgstr "Tamaño" - -#: views/campaigns/edit.hbs:33 views/campaigns/view.hbs:68 -#: views/lists/fields/fields.hbs:12 views/lists/forms/forms.hbs:9 -#: views/lists/view.hbs:33 -msgid "No data available in table" -msgstr "No hay datos disponibles en la tabla" - -#: views/campaigns/edit.hbs:34 views/campaigns/upload-attachment.hbs:4 -msgid "Add Attachment" -msgstr "Añadir un adjunto" - -#: views/campaigns/opened.hbs:3 views/campaigns/opened.hbs:4 -msgid "Opened info" -msgstr "Información apertura" - -#: views/campaigns/opened.hbs:6 -msgid "Subscribers who opened this message:" -msgstr "Los suscriptores que abrieron este mensaje:" - -#: views/campaigns/opened.hbs:12 -msgid "First open" -msgstr "Primera apertura" - -#: views/campaigns/opened.hbs:13 -msgid "Opened count" -msgstr "Recuento de aperturas" - -#: views/campaigns/unsubscribed.hbs:3 views/campaigns/unsubscribed.hbs:4 -msgid "Unsubscribed info" -msgstr "Información de bajas" - -#: views/campaigns/unsubscribed.hbs:6 -msgid "Subscribers who unsubscribed:" -msgstr "Suscriptores que se han dado de baja" - -#: views/campaigns/unsubscribed.hbs:11 views/campaigns/view.hbs:28 -#: views/lists/subscription/import.hbs:10 routes/lists.js:206 -msgid "Unsubscribed" -msgstr "Dado de baja" - -#: views/campaigns/upload-attachment.hbs:7 -msgid "Upload" -msgstr "Subir" - -#: views/campaigns/view.hbs:4 -msgid "Overview" -msgstr "Visión de conjunto" - -#: views/campaigns/view.hbs:5 -msgid "Links" -msgstr "Links" - -#: views/campaigns/view.hbs:7 -msgid "Feed URL" -msgstr "URL de Feed" - -#: views/campaigns/view.hbs:8 -msgid "Last check" -msgstr "Último control" - -#: views/campaigns/view.hbs:9 -msgid "Not yet checked" -msgstr "No revisado aún" - -#: views/campaigns/view.hbs:10 -msgid "activate campaign to start checking feed for new messages" -msgstr "" -"Activar la campaña para empezar a comprobar si hay nuevos mensajes de Feed" - -#: views/campaigns/view.hbs:11 -msgid "RSS status" -msgstr "Estatus RSS" - -#: views/campaigns/view.hbs:16 -msgid "Preview campaign as" -msgstr "Campaña de vista previa como" - -#: views/campaigns/view.hbs:17 -msgid "Add new test user" -msgstr "Añadir un nuevo usuario de prueba" - -#: views/campaigns/view.hbs:18 -msgid "No test users yet, create one here" -msgstr "Ningún miembro de la prueba aún, crear uno aquí" - -#: views/campaigns/view.hbs:19 -msgid "Go" -msgstr "Ir" - -#: views/campaigns/view.hbs:20 lib/models/triggers.js:26 -msgid "Delivered" -msgstr "Entregado" - -#: views/campaigns/view.hbs:21 -msgid "List subscribers who received this message" -msgstr "Lista de Suscriptores que recibieron este boletín" - -#: views/campaigns/view.hbs:22 -msgid "Blacklisted" -msgstr "Lista negra" - -#: views/campaigns/view.hbs:23 -msgid "List subscribers who blacklisted by global blacklist" -msgstr "Lista de suscriptores que sin lista negra de lista negra mundial" - -#: views/campaigns/view.hbs:24 routes/lists.js:206 -msgid "Bounced" -msgstr "Rebotado" - -#: views/campaigns/view.hbs:25 -msgid "List subscribers who bounced" -msgstr "Lista de suscriptores que ha rebotado" - -#: views/campaigns/view.hbs:26 -msgid "Complaints" -msgstr "Quejas" - -#: views/campaigns/view.hbs:27 -msgid "List subscribers who complained for this message" -msgstr "Lista de suscriptores que se ha quejado por este boletín" - -#: views/campaigns/view.hbs:29 -msgid "List subscribers who unsubscribed after this message" -msgstr "Lista de suscriptores que se han dado de baja tras este boletín" - -#: views/campaigns/view.hbs:30 -msgid "Opened" -msgstr "Aperturas" - -#: views/campaigns/view.hbs:31 -msgid "List subscribers who opened this message" -msgstr "Lista de suscriptores que han abierto este boletín" - -#: views/campaigns/view.hbs:32 -msgid "Clicked" -msgstr "Clics" - -#: views/campaigns/view.hbs:33 views/campaigns/view.hbs:70 -msgid "List subscribers who clicked on a link" -msgstr "Lista de suscriptores que han hecho clic en este boletín" - -#: views/campaigns/view.hbs:34 -msgid "" -"Are you sure? This action would start sending messages to the selected list" -msgstr "" -"¿Estás seguro? Esta acción empezará a enviar el boletín a la lista " -"seleccionada" - -#: views/campaigns/view.hbs:35 -msgid "Delay sending" -msgstr "Envío retrasado" - -#: views/campaigns/view.hbs:36 -msgid "hours" -msgstr "horas" - -#: views/campaigns/view.hbs:37 -msgid "minutes" -msgstr "minutos" - -#: views/campaigns/view.hbs:38 -msgid "Send to subscribers:" -msgstr "Enviar a suscriptores:" - -#: views/campaigns/view.hbs:39 -msgid "Are you sure? This action would reset scheduling" -msgstr "¿Estás seguro? Esta acción restablecerá la programación" - -#: views/campaigns/view.hbs:40 -msgid "Cancel" -msgstr "Cancelado" - -#: views/campaigns/view.hbs:41 -msgid "Sending scheduled" -msgstr "Envío programado" - -#: views/campaigns/view.hbs:42 views/campaigns/view.hbs:54 -msgid "Pause" -msgstr "Pausa" - -#: views/campaigns/view.hbs:43 routes/campaigns.js:253 -msgid "Sending" -msgstr "Enviando" - -#: views/campaigns/view.hbs:44 views/campaigns/view.hbs:48 -msgid "" -"Are you sure? This action would resume sending messages to the selected list" -msgstr "" -"¿Estás seguro? Esta acción reanudará el envío del boletín a la lista " -"seleccionada" - -#: views/campaigns/view.hbs:45 views/campaigns/view.hbs:49 -msgid "Are you sure? This action would reset all stats about current progress" -msgstr "" -"¿Estás seguro? Esta acción reiniciará todas las estadísticas de progreso " -"actual" - -#: views/campaigns/view.hbs:46 -msgid "Resume" -msgstr "Reanudar" - -#: views/campaigns/view.hbs:47 views/campaigns/view.hbs:51 -msgid "Reset" -msgstr "Reiniciar" - -#: views/campaigns/view.hbs:50 -msgid "Continue" -msgstr "Continuar" - -#: views/campaigns/view.hbs:52 -msgid "" -"All messages sent! Hit \"Continue\" if you you want to send this campaign to " -"new subscribers" -msgstr "" -"¡Todos los mensajes han sido enviados! Haz clic en \"Continuar\" si quieres " -"enviar la campaña a nuevos suscriptores" - -#: views/campaigns/view.hbs:53 -msgid "" -"Are you sure? This action would pause sending new entries in RSS feed as " -"email messages to the selected list" -msgstr "" -"¿Estás seguro? Esta acción pausará el envío de nuevas entradas RSS a la " -"lista seleccionada" - -#: views/campaigns/view.hbs:55 views/campaigns/view.hbs:59 -msgid "Campaign status:" -msgstr "Estado de la campaña:" - -#: views/campaigns/view.hbs:56 -msgid "ACTIVE" -msgstr "ACTIVO" - -#: views/campaigns/view.hbs:57 -msgid "" -"Are you sure? This action would start sending new entries in RSS feed as " -"email messages to the selected list" -msgstr "" -"¿Estás seguro? Esta acción empezará el envío del boletín a la lista " -"seleccionada" - -#: views/campaigns/view.hbs:58 -msgid "Activate" -msgstr "Activar" - -#: views/campaigns/view.hbs:60 -msgid "INACTIVE" -msgstr "INACTIVO" - -#: views/campaigns/view.hbs:61 -msgid "" -"This is a triggered campaign. Messages are only sent to subscribers that hit " -"some trigger that invokes this campaign" -msgstr "" -"Esta es una campaña encadenada (Trigger). Los boletines son enviados a " -"suscriptores que han desencadenado alguna acción de esta campaña." - -#: views/campaigns/view.hbs:62 -msgid "see more" -msgstr "ver más" - -#: views/campaigns/view.hbs:67 -msgid "List subscribers who clicked this link" -msgstr "Lista de suscriptores que ha hecho clic en este link" - -#: views/campaigns/view.hbs:71 -msgid "" -"Clicks are counted as unique subscribers that clicked on a specific link or " -"on any link (in aggregated view)" -msgstr "" -"Clics únicos, contados como único suscriptores hace clic en link específico " -"o en ningún link (vista agregada)" - -#: views/campaigns/view.hbs:72 -msgid "" -"If a new entry is found from campaign feed a new subcampaign is created of " -"that entry and it will be listed here" -msgstr "" -"Si una nueva entrada es en la campaña Feed, una nueva subcampaña de esta " -"entrada es creada y será listada aquí" - -#: views/emails/password-reset-html.hbs:1 -#: views/emails/password-reset-text.hbs:1 -msgid "Change your password" -msgstr "Cambiar contraseña" - -#: views/emails/password-reset-html.hbs:2 -#: views/emails/password-reset-text.hbs:2 -msgid "We have received a password change request for your Mailtrain account:" -msgstr "" -"Hemos recibido una solicitud de cambio de contraseña de su cuenta Mailtrain:" - -#: views/emails/password-reset-html.hbs:3 -#: views/emails/password-reset-text.hbs:3 -msgid "Reset password" -msgstr "Restablecer la contraseña" - -#: views/emails/password-reset-html.hbs:4 -#: views/emails/password-reset-text.hbs:4 -msgid "" -"If you did not ask to change your password, then you can ignore this email " -"and your password will not be changed." -msgstr "" -"Si usted no pidió que cambie su contraseña, entonces puede ignorar este " -"mensaje y no se cambiará la contraseña." - -#: views/emails/rss-html.hbs:1 views/emails/stationery-html.hbs:3 -#: views/emails/stationery-text.hbs:3 -msgid "Preferences" -msgstr "Preferencias" - -#: views/emails/rss-html.hbs:2 views/emails/stationery-html.hbs:4 -#: views/emails/stationery-text.hbs:4 views/lists/forms/edit.hbs:20 -#: views/lists/subscription/edit.hbs:16 -#: views/subscription/partials/subscription-unsubscribe-form.hbs:2 -#: views/subscription/web-manage.mjml.hbs:3 -#: views/subscription/web-unsubscribe.mjml.hbs:1 -#: views/subscription/web-unsubscribe.mjml.hbs:2 routes/forms.js:223 -#: routes/lists.js:288 -msgid "Unsubscribe" -msgstr "Darse de baja" - -#: views/emails/rss-html.hbs:3 views/emails/stationery-html.hbs:5 -#: views/emails/stationery-text.hbs:5 -msgid "View this email in your browser" -msgstr "Ver este correo electrónico en su navegador" - -#: views/emails/stationery-html.hbs:1 views/emails/stationery-text.hbs:1 -msgid "Hey [FIRST_NAME/Customer]," -msgstr "Hola [FIRST_NAME/Customer]," - -#: views/emails/stationery-html.hbs:2 views/emails/stationery-text.hbs:2 -msgid "Cheers," -msgstr "Gracias," - -#: views/index.hbs:1 -msgid "List Management" -msgstr "Gestión de la lista" - -#: views/index.hbs:2 -msgid "" -"Mailtrain allows you to easily manage even very large lists. Million " -"subscribers? Not a problem. You can add subscribers manually, through the " -"API or import from a CSV file. All lists come with support for custom fields " -"and merge tags as well." -msgstr "" -"Mailtrain le permite administrar fácilmente listas muy grandes. ¿Millones de " -"suscriptores? No es un problema. Puede añadir manualmente los suscriptores, " -"a través de la API o importación de un archivo CSV. Todas las listas vienen " -"con soporte para los campos personalizados y se fusionan las etiquetas " -"también." - -#: views/index.hbs:3 views/index.hbs:7 views/index.hbs:10 views/index.hbs:13 -#: views/index.hbs:16 views/index.hbs:19 views/index.hbs:22 views/index.hbs:25 -#: views/index.hbs:28 -msgid "Show more" -msgstr "Mostrar más" - -#: views/index.hbs:4 views/lists/fields/create.hbs:3 -#: views/lists/fields/edit.hbs:3 views/lists/fields/fields.hbs:3 -#: views/lists/fields/fields.hbs:5 views/lists/view.hbs:6 -msgid "Custom Fields" -msgstr "Campos Personalizados" - -#: views/index.hbs:5 -msgid "" -"Text fields, numbers, drop downs or checkboxes, Mailtrain has them all. " -"Every custom field can be included in the generated newsletters through " -"merge tags." -msgstr "" -"Mailtrain tiene campos de texto, números, menús desplegables y casillas de " -"verificación. Cada campo personalizado se puede incluir en los boletines " -"generados a través de las etiquetas." - -#: views/index.hbs:6 -msgid "Mailtrain also supports custom forms." -msgstr "Mailtrain soporta formularios personalizados también." - -#: views/index.hbs:8 -msgid "List Segmentation" -msgstr "Lista Segmentada" - -#: views/index.hbs:9 -msgid "" -"Send messages only to list subscribers that match predefined segmentation " -"rules. No need to create separate lists with small differences." -msgstr "" -"Enviar mensajes sólo a la lista de suscriptores que cumple las de " -"segmentación predefinidas. No hay necesidad de crear listas separadas con " -"pequeñas diferencias." - -#: views/index.hbs:11 -msgid "RSS Campaigns" -msgstr "Campañas RSS" - -#: views/index.hbs:12 -msgid "" -"Setup Mailtrain to track RSS feeds and if a new entry is detected in a feed " -"then Mailtrain auto-generates a new campaign using entry data as message " -"contents and sends it to selected subscribers." -msgstr "" -"Configura Mailtrain para seguir el Fedd de RSS y si se detecta una nueva " -"entrada del feed, Mailtrain generará automáticamente una nueva campaña a " -"partir de los datos de la entrada como contenido del mensaje y lo enviará a " -"los suscriptores seleccionados." - -#: views/index.hbs:14 -msgid "GPG Encryption" -msgstr "Cifrado GPG" - -#: views/index.hbs:15 -msgid "" -"If a list has a custom field for a GPG Public Key set then subscribers can " -"upload their GPG public key to receive encrypted messages from the list." -msgstr "" -"Si una lista tiene un campo personalizado para una clave pública GPG " -"establecida, los suscriptores pueden actualizar su clave pública GPG para " -"recibir mensajes cifrados de la lista." - -#: views/index.hbs:17 -msgid "Click Stats" -msgstr "Estadísticas de clics" - -#: views/index.hbs:18 -msgid "" -"After a campaign is sent, check individual click statistics for every link " -"included in the message." -msgstr "" -"Tras enviar una campaña, comprobar las estadísticas de clic individuales " -"para cada enlace incluido en el mensaje." - -#: views/index.hbs:20 -msgid "Template Editors" -msgstr "Editores plantilla" - -#: views/index.hbs:21 -msgid "" -"Mailtrain ships with GrapeJS and Mosaico built in, two advanced template " -"editors. Mailtrain also offers a code editor if you prefer to handcraft the " -"HTML yourself." -msgstr "" -"Mailtrain envía con los incorporados GrapeJS y Mosaico, dos editores " -"avanzados de plantillas . Mailtrain también ofrece un editor de código, por " -"si prefieres modificar HTML." - -#: views/index.hbs:23 -msgid "Send via Any Provider" -msgstr "Enviar a través de cualquier proveedor" - -#: views/index.hbs:24 -msgid "" -"Mailtrain recommends SendPulse even though you " -"can use any provider that supports SMTP protocol to send out your " -"newsletters. Bounce and complaints handling via webhooks is supported for " -"SES, SparkPost, SendGrid and Mailgun, also for Postfix and ZoneMTA." -msgstr "" -"Mailtrain recomienda SendPulseaunque se puede " -"utilizar cualquier proveedor que soporte el protocolo SMTP para enviar sus " -"boletines de noticias. El manejo de rebotes y de quejas a través de WebHooks " -"es compatible para SES, SparkPost, SendGrid y Mailgun, también para Postfix " -"y ZoneMTA." - -#: views/index.hbs:26 lib/tools.js:137 -msgid "Automation" -msgstr "Automatización" - -#: views/index.hbs:27 -msgid "" -"Define automation triggers to send specific messages when a user activates " -"the trigger." -msgstr "" -"Definir los factores desencadenantes de automatización para enviar boletines " -"específicos cuando un usuario activa el Trigger." - -#: views/index.hbs:29 -msgid "Donate to Author" -msgstr "Donar al autor" - -#: views/index.hbs:30 -msgid "Mailtrain is available under GPLv3 license and completely open source." -msgstr "" -"Mailtrain está disponible bajo licencia GPLv3 y la fuente es completamente " -"abierta (Open source)." - -#: views/index.hbs:31 -msgid "" -"If you really like Mailtrain or your business benefits from it financially " -"then I would really appreciate a small donation to keep the Mailtrain " -"development engines running. You can either use Bitcoin or PayPal for " -"donations. My Bitcoin wallet is" -msgstr "" -"Si realmente te gusta Mailtrain o su negocio se beneficia de ella " -"financieramente entonces yo realmente apreciaría una pequeña donación para " -"mantener los motores de desarrollo Mailtrain. También se puede usar Bitcoin " -"o PayPal para donaciones. Bitcoin es mi monedero." - -#: views/index.hbs:32 -msgid "Or Donate Using Paypal" -msgstr "O donar usando Paypal" - -#: views/index.hbs:33 -msgid "Official Mailtrain Partners" -msgstr "Socios oficiales de Mailtrain" - -#: views/index.hbs:34 -msgid "" -"A reliable SMTP server, easy integration, and 12,000 messages a month free" -msgstr "" -"Un servidor SMTP fiable, de fácil integración y envío de 12.000 mensajes " -"durante un mes gratis" - -#: views/index.hbs:35 -msgid "Free, open source mail server solution" -msgstr "" -"Gratis, solución de código abierto (open source) de servidor de correo " - -#: views/layout.hbs:2 -msgid "Toggle navigation" -msgstr "Interruptor de navegación" - -#: views/layout.hbs:3 -msgid "Wiki" -msgstr "Wiki" - -#: views/layout.hbs:4 -msgid "Blog" -msgstr "Blog" - -#: views/layout.hbs:5 views/users/account.hbs:2 views/users/account.hbs:3 -msgid "Account" -msgstr "Cuenta" - -#: views/layout.hbs:6 views/settings.hbs:2 views/settings.hbs:3 -msgid "Settings" -msgstr "Ajustes" - -#: views/layout.hbs:8 views/users/api.hbs:2 views/users/api.hbs:3 -msgid "API" -msgstr "API" - -#: views/layout.hbs:9 -msgid "Log out" -msgstr "Cerrar sesión" - -#: views/layout.hbs:10 views/users/forgot.hbs:2 views/users/login.hbs:2 -#: views/users/login.hbs:3 views/users/login.hbs:9 views/users/reset.hbs:2 -msgid "Sign in" -msgstr "Registrarse" - -#: views/layout.hbs:11 -msgid "Self Hosted Newsletter App Built on Top of Nodemailer" -msgstr "Applicación de Newsletter \"autoalojada\" creada en base a Nodemailer?" - -#: views/layout.hbs:12 views/layout.hbs:14 -msgid "Source on GitHub" -msgstr "Fuente en GitHub" - -#: views/layout.hbs:13 -msgid "Subscribe to Our Newsletter" -msgstr "Suscríbete a nuestro boletín" - -#: views/lists/create.hbs:2 views/lists/edit.hbs:2 -#: views/lists/fields/create.hbs:2 views/lists/fields/edit.hbs:2 -#: views/lists/fields/fields.hbs:2 views/lists/forms/create.hbs:2 -#: views/lists/forms/edit.hbs:2 views/lists/forms/forms.hbs:2 -#: views/lists/lists.hbs:2 views/lists/lists.hbs:4 -#: views/lists/segments/create.hbs:2 views/lists/segments/edit.hbs:2 -#: views/lists/segments/rule-configure.hbs:2 -#: views/lists/segments/rule-create.hbs:2 views/lists/segments/rule-edit.hbs:2 -#: views/lists/segments/segments.hbs:2 views/lists/segments/view.hbs:2 -#: views/lists/subscription/add.hbs:2 views/lists/subscription/edit.hbs:2 -#: views/lists/subscription/import-failed.hbs:2 -#: views/lists/subscription/import-preview.hbs:2 -#: views/lists/subscription/import.hbs:2 views/lists/view.hbs:2 -#: lib/tools.js:125 routes/lists.js:59 -msgid "Lists" -msgstr "Listas" - -#: views/lists/create.hbs:3 views/lists/create.hbs:4 views/lists/create.hbs:13 -#: views/lists/lists.hbs:3 -msgid "Create List" -msgstr "Crear lista" - -#: views/lists/create.hbs:6 views/lists/edit.hbs:7 -msgid "List Name" -msgstr "Nombre de Lista" - -#: views/lists/create.hbs:9 views/lists/edit.hbs:15 -#: views/triggers/create.hbs:15 views/triggers/edit.hbs:17 -msgid "Subscription" -msgstr "Suscripción" - -#: views/lists/create.hbs:10 views/lists/edit.hbs:16 -msgid "Allow public users to subscribe themselves" -msgstr "Permitir que los usuarios públicos se suscriban a sí mismos " - -#: views/lists/create.hbs:11 views/lists/edit.hbs:17 -msgid "Unsubscription" -msgstr "Darse de baja" - -#: views/lists/create.hbs:12 views/lists/edit.hbs:18 -msgid "Select how an unsuscription request by subscriber is handled." -msgstr "Seleccionar como el suscriptor maneja la solicitud de baja." - -#: views/lists/edit.hbs:3 views/lists/edit.hbs:4 views/lists/view.hbs:8 -msgid "Edit List" -msgstr "Editar lista" - -#: views/lists/edit.hbs:5 -msgid "View List" -msgstr "Ver lista" - -#: views/lists/edit.hbs:8 -msgid "List ID" -msgstr "ID de lista" - -#: views/lists/edit.hbs:9 -msgid "This is the list ID displayed to the subscribers" -msgstr "Este es el ID de la lista que se muestra a los suscriptores" - -#: views/lists/edit.hbs:12 -msgid "Custom Form" -msgstr "Formulario personalizado" - -#: views/lists/edit.hbs:13 views/lists/forms/forms.hbs:11 -msgid "Default Mailtrain Form" -msgstr "Formulario por defecto de Mailtrain" - -#: views/lists/edit.hbs:14 -msgid "" -"The custom form used for this list. You can create a form here." -msgstr "" -"El formulario personalizado que se utiliza para esta lista. Puedes crear un " -"formulario aquí ." - -#: views/lists/edit.hbs:19 -msgid "Delete List" -msgstr "Eliminar lista" - -#: views/lists/fields/create.hbs:4 -msgid "Create Field" -msgstr "Crear campo" - -#: views/lists/fields/create.hbs:5 views/lists/fields/fields.hbs:4 -msgid "Create Custom Field" -msgstr "Crear campo personalizado" - -#: views/lists/fields/create.hbs:6 views/lists/fields/create.hbs:7 -#: views/lists/fields/edit.hbs:7 views/lists/fields/edit.hbs:8 -msgid "Field Name" -msgstr "Nombre de campo" - -#: views/lists/fields/create.hbs:8 views/lists/fields/edit.hbs:9 -msgid "Field Type" -msgstr "Tipo de campo" - -#: views/lists/fields/create.hbs:9 views/lists/fields/edit.hbs:10 -#: lib/models/fields.js:17 -msgid "Text" -msgstr "Texto" - -#: views/lists/fields/create.hbs:10 views/lists/fields/edit.hbs:11 -#: lib/models/fields.js:21 -msgid "Number" -msgstr "Número" - -#: views/lists/fields/create.hbs:11 views/lists/fields/edit.hbs:12 -#: lib/models/fields.js:18 -msgid "Website" -msgstr "Web" - -#: views/lists/fields/create.hbs:12 views/lists/fields/edit.hbs:13 -#: lib/models/fields.js:20 -msgid "GPG Public Key" -msgstr "Clave pública GPG" - -#: views/lists/fields/create.hbs:13 views/lists/fields/edit.hbs:14 -#: lib/models/fields.js:19 -msgid "Multi-line text" -msgstr "Texto de varias líneas" - -#: views/lists/fields/create.hbs:14 views/lists/fields/edit.hbs:15 -msgid "JSON" -msgstr "JSON" - -#: views/lists/fields/create.hbs:15 views/lists/fields/edit.hbs:16 -msgid "Date" -msgstr "Fecha" - -#: views/lists/fields/create.hbs:16 views/lists/fields/edit.hbs:17 -msgid "Date (MM/DD/YYYY)" -msgstr "Fecha (MM/DD/YYYY)" - -#: views/lists/fields/create.hbs:17 views/lists/fields/edit.hbs:18 -#: lib/models/fields.js:26 -msgid "Date (DD/MM/YYYY)" -msgstr "Fecha (DD/MM/YYYY)" - -#: views/lists/fields/create.hbs:18 views/lists/fields/edit.hbs:19 -msgid "Birthday" -msgstr "Cumpleaños" - -#: views/lists/fields/create.hbs:19 views/lists/fields/edit.hbs:20 -#: lib/models/fields.js:27 -msgid "Birthday (MM/DD)" -msgstr "Cumpleaños (MM/DD)" - -#: views/lists/fields/create.hbs:20 views/lists/fields/edit.hbs:21 -#: lib/models/fields.js:28 -msgid "Birthday (DD/MM)" -msgstr "Cumpleaños (DD/MM)" - -#: views/lists/fields/create.hbs:21 views/lists/fields/edit.hbs:22 -msgid "Grouped" -msgstr "Agrupado" - -#: views/lists/fields/create.hbs:22 views/lists/fields/edit.hbs:23 -msgid "Drop Downs" -msgstr "Listas deplegables" - -#: views/lists/fields/create.hbs:23 views/lists/fields/edit.hbs:24 -#: lib/models/fields.js:22 -msgid "Radio Buttons" -msgstr "Botones Radio " - -#: views/lists/fields/create.hbs:24 views/lists/fields/edit.hbs:25 -#: lib/models/fields.js:23 -msgid "Checkboxes" -msgstr "Checkboxes" - -#: views/lists/fields/create.hbs:25 views/lists/fields/edit.hbs:26 -msgid "Option for a group value" -msgstr "Opción para un valor de grupo" - -#: views/lists/fields/create.hbs:26 views/lists/fields/edit.hbs:27 -msgid "Group" -msgstr "Grupo" - -#: views/lists/fields/create.hbs:28 views/lists/fields/edit.hbs:29 -msgid "Required for group options" -msgstr "Requerido para Opciones de Grupo" - -#: views/lists/fields/create.hbs:29 views/lists/fields/create.hbs:30 -#: views/lists/fields/edit.hbs:35 views/lists/fields/edit.hbs:36 -#: views/lists/fields/fields.hbs:9 -msgid "Default merge tag value" -msgstr "Valor de la etiqueta Merge por defecto" - -#: views/lists/fields/create.hbs:32 views/lists/fields/edit.hbs:34 -msgid "" -"For group elements like checkboxes you can control the appearance of the " -"merge tag with an optional template. The template uses handlebars syntax and " -"you can find all values from {{values}} array, for example " -"{{#each values}} {{this}} {{/each}}. If template is not defined " -"then multiple values are joined with commas. You can also use this template " -"to render JSON values (if the JSON is an array then the array is exposed as " -"values, otherwise you can access the JSON keys directly)." -msgstr "" -"Para los elementos de grupo como checkboxes tu puedes controlar la " -"apariencia de la etiqueta merge con una plantilla opcional. La plantilla " -"utiliza la sintaxis Handlebars y se pueden encontrar todos los valores de " -"{{values}} array, por ejemplo {{#each values}} {{this}} " -"{{/each}}. Si la plantilla no se define, varios valores se unen con " -"comas. También puedes utilizar esta plantilla para rederizar valores JSON " -"(si el JSON es un array, el array es expuesto como values, de " -"lo contrario puedes acceder directamente a las claves JSON)." - -#: views/lists/fields/create.hbs:33 views/lists/fields/edit.hbs:37 -msgid "Visible" -msgstr "Visible" - -#: views/lists/fields/create.hbs:34 -msgid "Add Field" -msgstr "Añadir Campo" - -#: views/lists/fields/edit.hbs:4 -msgid "Edit Field" -msgstr "Editar Campo" - -#: views/lists/fields/edit.hbs:5 -msgid "Edit Custom Field" -msgstr "Editar campo personalizado" - -#: views/lists/fields/edit.hbs:6 -msgid "Back to fields" -msgstr "Volver a campos" - -#: 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 "Etiqueta Merge" - -#: views/lists/fields/edit.hbs:31 -msgid "Merge Tag" -msgstr "Etiqueta Merge" - -#: views/lists/fields/edit.hbs:32 -msgid "Put this tag in your content:" -msgstr "Pon esta etiqueta en tu contenido:" - -#: views/lists/fields/edit.hbs:38 -msgid "Delete Field" -msgstr "Eliminar campo" - -#: views/lists/fields/fields.hbs:7 views/lists/view.hbs:26 -#: views/report-templates/partials/report-template-fields.hbs:5 -msgid "Type" -msgstr "Tipo" - -#: views/lists/fields/fields.hbs:10 views/lists/fields/fields.hbs:11 -#: views/lists/forms/edit.hbs:26 views/lists/forms/forms.hbs:8 -#: views/lists/segments/segments.hbs:8 views/lists/segments/view.hbs:12 -#: views/triggers/triggers.hbs:14 routes/campaigns.js:276 -#: routes/campaigns.js:568 routes/campaigns.js:657 routes/campaigns.js:706 -#: routes/lists.js:170 routes/lists.js:257 routes/report-templates.js:51 -#: routes/templates.js:170 routes/triggers.js:297 -msgid "Edit" -msgstr "Editar" - -#: views/lists/forms/create.hbs:3 views/lists/forms/edit.hbs:3 -#: views/lists/forms/forms.hbs:3 views/lists/forms/forms.hbs:5 -#: views/lists/view.hbs:5 -msgid "Custom Forms" -msgstr "Formularios personalizados" - -#: views/lists/forms/create.hbs:4 -msgid "Create Form" -msgstr "Crear formulario" - -#: views/lists/forms/create.hbs:5 views/lists/forms/forms.hbs:4 -msgid "Create Custom Form" -msgstr "Crear formulario personalizado" - -#: views/lists/forms/create.hbs:6 views/lists/forms/create.hbs:7 -#: views/lists/forms/edit.hbs:7 views/lists/forms/edit.hbs:8 -msgid "Form Name" -msgstr "Nombre de Formulario" - -#: views/lists/forms/create.hbs:8 -msgid "Add Form" -msgstr "Añadir Formulario" - -#: views/lists/forms/edit.hbs:4 -msgid "Edit Form" -msgstr "Editar formulario" - -#: views/lists/forms/edit.hbs:5 -msgid "Edit Custom Form" -msgstr "Editar Formulario personalizado" - -#: views/lists/forms/edit.hbs:6 -msgid "Back to forms" -msgstr "Volver a Formularios" - -#: views/lists/forms/edit.hbs:10 -msgid "Optional comments about this form" -msgstr "Compentarios opcionales sobre el formulario" - -#: views/lists/forms/edit.hbs:11 -msgid "Form Preview" -msgstr "Vista previa del formulario" - -#: views/lists/forms/edit.hbs:12 -msgid "" -"Note: These links are solely for a quick preview. If you submit a preview " -"form you'll get redirected to the list's default form." -msgstr "" -"Nota: Estos enlaces son únicamente para una vista rápida. Si seleccionas la " -"vista previa de un formulario se te redirecciona a la lista por defecto del " -"formulario." - -#: views/lists/forms/edit.hbs:13 views/lists/subscription/add.hbs:16 -#: views/subscription/mail-unsubscription-confirmed-html.mjml.hbs:4 -#: views/subscription/mail-unsubscription-confirmed-text.hbs:4 -#: routes/forms.js:157 routes/lists.js:288 -msgid "Subscribe" -msgstr "Suscribirse" - -#: views/lists/forms/edit.hbs:14 -msgid "Confirm Subscription Notice" -msgstr "Aviso de Confirmación de suscripción" - -#: views/lists/forms/edit.hbs:15 -msgid "Confirm Unsubscription Notice" -msgstr "Aviso de Confirmación de baja" - -#: views/lists/forms/edit.hbs:16 -msgid "Subscribed Notice" -msgstr "Aviso Suscripción" - -#: views/lists/forms/edit.hbs:17 -msgid "Updated Notice" -msgstr "Aviso Actualización" - -#: views/lists/forms/edit.hbs:18 -msgid "Unsubscribed Notice" -msgstr "Aviso Baja" - -#: views/lists/forms/edit.hbs:19 -msgid "Manual Unsubscribe Notice" -msgstr "Aviso Manual de baja" - -#: views/lists/forms/edit.hbs:21 routes/forms.js:205 -msgid "Manage" -msgstr "Gestión" - -#: views/lists/forms/edit.hbs:22 -msgid "Manage Address" -msgstr "Gestión de dirección" - -#: views/lists/forms/edit.hbs:23 -msgid "Create a test user for additional options" -msgstr "Crear un usuario de prueba para opciones adicionales" - -#: views/lists/forms/edit.hbs:24 views/report-templates/create.hbs:3 -#: views/report-templates/edit.hbs:3 -#: views/report-templates/report-templates.hbs:3 views/templates/create.hbs:2 -#: views/templates/edit.hbs:2 views/templates/templates.hbs:2 -#: views/templates/templates.hbs:4 lib/tools.js:129 routes/templates.js:27 -msgid "Templates" -msgstr "Plantillas" - -#: views/lists/forms/edit.hbs:25 -msgid "Fields" -msgstr "Campos" - -#: views/lists/forms/edit.hbs:27 -msgid "Form Fields" -msgstr "Campos de formulario" - -#: views/lists/forms/edit.hbs:28 -msgid "Fields hidden on subscription page:" -msgstr "Campos ocultos de página de suscripción" - -#: views/lists/forms/edit.hbs:29 -msgid "Fields shown on subscription page:" -msgstr "Campos no ocultos de página de suscripción" - -#: views/lists/forms/edit.hbs:30 -msgid "Fields hidden on preferences page:" -msgstr "Campos ocultos de página de preferencias" - -#: views/lists/forms/edit.hbs:31 -msgid "Fields shown on preferences page:" -msgstr "Campos no ocultos de páginas de preferencias" - -#: views/lists/forms/edit.hbs:32 -msgid "Delete Form" -msgstr "Eliminar Formulario" - -#: views/lists/forms/forms.hbs:10 -msgid "The default form for this list is:" -msgstr "El formulario por defecto de esta lista es:" - -#: views/lists/lists.hbs:6 -msgid "ID" -msgstr "ID" - -#: views/lists/lists.hbs:7 views/reports/partials/report-fields.hbs:10 -msgid "Subscribers" -msgstr "Suscriptores" - -#: views/lists/segments/create.hbs:3 views/lists/segments/edit.hbs:3 -#: views/lists/segments/rule-configure.hbs:3 -#: views/lists/segments/rule-create.hbs:3 views/lists/segments/rule-edit.hbs:3 -#: views/lists/segments/segments.hbs:3 views/lists/segments/segments.hbs:5 -#: views/lists/segments/view.hbs:3 views/lists/view.hbs:7 -#: views/lists/view.hbs:14 -msgid "Segments" -msgstr "Segmentos" - -#: views/lists/segments/create.hbs:4 views/lists/segments/create.hbs:5 -#: views/lists/segments/rule-configure.hbs:4 -#: views/lists/segments/rule-create.hbs:4 views/lists/segments/rule-edit.hbs:4 -#: views/lists/segments/segments.hbs:4 -msgid "Create Segment" -msgstr "Crear Segmento" - -#: views/lists/segments/create.hbs:6 views/lists/segments/create.hbs:7 -#: views/lists/segments/edit.hbs:7 views/lists/segments/edit.hbs:8 -msgid "Segment Name" -msgstr "Nombre del Segmento" - -#: views/lists/segments/create.hbs:8 views/lists/segments/edit.hbs:9 -msgid "Rule match" -msgstr "Combinación de reglas" - -#: views/lists/segments/create.hbs:10 views/lists/segments/edit.hbs:11 -msgid "All rules must match" -msgstr "Todas las reglas deben combinar" - -#: views/lists/segments/create.hbs:11 views/lists/segments/edit.hbs:12 -msgid "Any rule can match" -msgstr "Ninguna regla debe combinar" - -#: views/lists/segments/create.hbs:12 -msgid "Add Segment" -msgstr "Añadir segmento" - -#: views/lists/segments/edit.hbs:4 views/lists/segments/edit.hbs:5 -#: views/lists/segments/view.hbs:6 views/lists/view.hbs:12 -msgid "Edit Segment" -msgstr "Editar segmento" - -#: views/lists/segments/edit.hbs:6 -msgid "Back to segments" -msgstr "Volver a segmentos" - -#: views/lists/segments/edit.hbs:13 -msgid "Delete Segment" -msgstr "Eliminar segmento" - -#: views/lists/segments/rule-configure.hbs:5 -#: views/lists/segments/rule-create.hbs:5 views/lists/segments/rule-edit.hbs:5 -#: views/lists/segments/view.hbs:4 -msgid "Create Rule" -msgstr "Crear regla" - -#: views/lists/segments/rule-configure.hbs:6 -#: views/lists/segments/rule-create.hbs:6 views/lists/segments/rule-edit.hbs:6 -#: views/lists/segments/view.hbs:10 -msgid "Rule" -msgstr "Regla" - -#: views/lists/segments/rule-configure.hbs:7 -#: views/lists/segments/rule-configure.hbs:8 -#: views/lists/segments/rule-configure.hbs:10 -#: views/lists/segments/rule-configure.hbs:13 -#: views/lists/segments/rule-configure.hbs:25 -#: views/lists/segments/rule-configure.hbs:30 -#: views/lists/segments/rule-edit.hbs:7 views/lists/segments/rule-edit.hbs:8 -#: views/lists/segments/rule-edit.hbs:10 views/lists/segments/rule-edit.hbs:15 -#: views/lists/segments/rule-edit.hbs:29 views/lists/segments/rule-edit.hbs:34 -#: views/lists/segments/view.hbs:11 -msgid "Value" -msgstr "Valor" - -#: views/lists/segments/rule-configure.hbs:9 -#: views/lists/segments/rule-edit.hbs:9 -msgid "" -"Use % for wildcard character, e.g. \"%test\" to match all values that end " -"with \"test\"" -msgstr "" -"Usar % para carácter comodín, por ejemplo \"%test\" para combinar todos los " -"valores que terminen en \"test\"" - -#: views/lists/segments/rule-configure.hbs:11 -#: views/lists/segments/rule-configure.hbs:14 -#: views/lists/segments/rule-configure.hbs:26 -#: views/lists/segments/rule-edit.hbs:11 views/lists/segments/rule-edit.hbs:16 -#: views/lists/segments/rule-edit.hbs:30 -msgid "Use exact match" -msgstr "Usar combinación exacta" - -#: views/lists/segments/rule-configure.hbs:12 -#: views/lists/segments/rule-configure.hbs:15 -#: views/lists/segments/rule-configure.hbs:27 -#: views/lists/segments/rule-edit.hbs:12 views/lists/segments/rule-edit.hbs:17 -#: views/lists/segments/rule-edit.hbs:31 -msgid "Use range match" -msgstr "Usar rango de combinación" - -#: views/lists/segments/rule-configure.hbs:16 -#: views/lists/segments/rule-edit.hbs:20 -msgid "Use relative range match" -msgstr "Usar rango relativo de combinación" - -#: views/lists/segments/rule-configure.hbs:17 -#: views/lists/segments/rule-configure.hbs:28 -#: views/lists/segments/rule-edit.hbs:13 views/lists/segments/rule-edit.hbs:18 -#: views/lists/segments/rule-edit.hbs:21 views/lists/segments/rule-edit.hbs:32 -msgid "From" -msgstr "De" - -#: views/lists/segments/rule-configure.hbs:18 -#: views/lists/segments/rule-configure.hbs:22 -#: views/lists/segments/rule-edit.hbs:22 views/lists/segments/rule-edit.hbs:26 -msgid "days" -msgstr "días" - -#: views/lists/segments/rule-configure.hbs:19 -#: views/lists/segments/rule-configure.hbs:23 -#: views/lists/segments/rule-edit.hbs:23 views/lists/segments/rule-edit.hbs:27 -msgid "before today" -msgstr "antes de hoy" - -#: views/lists/segments/rule-configure.hbs:20 -#: views/lists/segments/rule-configure.hbs:24 -#: views/lists/segments/rule-edit.hbs:24 views/lists/segments/rule-edit.hbs:28 -msgid "after today" -msgstr "después de hoy" - -#: views/lists/segments/rule-configure.hbs:21 -#: views/lists/segments/rule-configure.hbs:29 -#: views/lists/segments/rule-edit.hbs:14 views/lists/segments/rule-edit.hbs:19 -#: views/lists/segments/rule-edit.hbs:25 views/lists/segments/rule-edit.hbs:33 -msgid "to" -msgstr "para" - -#: views/lists/segments/rule-configure.hbs:31 -#: views/lists/segments/rule-edit.hbs:35 lib/models/segments.js:156 -#: lib/models/segments.js:418 -msgid "Selected" -msgstr "Seleccionado" - -#: views/lists/segments/rule-configure.hbs:32 -#: views/lists/segments/rule-edit.hbs:36 lib/models/segments.js:156 -#: lib/models/segments.js:418 -msgid "Not selected" -msgstr "No Seleccionado" - -#: views/lists/segments/rule-configure.hbs:33 -msgid "Add Rule" -msgstr "Añadir regla" - -#: views/lists/segments/rule-create.hbs:8 -#: views/lists/subscription/import.hbs:15 -#: views/reports/create-select-template.hbs:5 -#: views/triggers/create-select.hbs:9 -msgid "Next" -msgstr "Siguiente" - -#: views/lists/segments/rule-edit.hbs:37 -msgid "Delete Rule" -msgstr "Eliminar regla" - -#: views/lists/segments/segments.hbs:7 -msgid "Match" -msgstr "Combinar" - -#: views/lists/segments/view.hbs:5 views/lists/view.hbs:13 -msgid "Segment" -msgstr "Segmento" - -#: views/lists/segments/view.hbs:7 -msgid "Match rules" -msgstr "Combinar reglas" - -#: views/lists/segments/view.hbs:8 -msgid "Matching subscribers" -msgstr "Conjunto de suscriptores" - -#: views/lists/segments/view.hbs:9 -msgid "show" -msgstr "mostrar" - -#: views/lists/subscription/add.hbs:3 views/lists/subscription/add.hbs:4 -msgid "Add subscriber" -msgstr "Añadir suscriptor" - -#: views/lists/subscription/add.hbs:5 -#: views/subscription/partials/subscription-custom-fields.hbs:1 -#: views/users/account.hbs:7 -msgid "Email Address" -msgstr "Dirección Email" - -#: views/lists/subscription/add.hbs:8 views/lists/subscription/edit.hbs:9 -#: views/settings.hbs:82 views/settings.hbs:97 -#: views/subscription/partials/subscription-custom-fields.hbs:6 -msgid "Begins with" -msgstr "Empieza por" - -#: views/lists/subscription/add.hbs:9 views/lists/subscription/edit.hbs:10 -msgid "" -"Insert a GPG public key that will be used to encrypt messages sent this " -"subscriber" -msgstr "" -"Insertar una clave pública GPG que será usada para encriptar mensajes " -"enviados a este suscriptor" - -#: views/lists/subscription/add.hbs:11 views/lists/subscription/edit.hbs:12 -#: views/lists/subscription/import-preview.hbs:9 -msgid "Timezone" -msgstr "Zona horaria" - -#: views/lists/subscription/add.hbs:13 views/lists/subscription/edit.hbs:13 -msgid "Test user?" -msgstr "¿Es un usuario test?" - -#: views/lists/subscription/add.hbs:14 views/lists/subscription/edit.hbs:14 -msgid "" -"If checked then this subscription can be used for previewing campaign " -"messages" -msgstr "" -"Si está marcado, esta suscripción puede ser usada para previsualizar los " -"boletines" - -#: views/lists/subscription/add.hbs:15 -msgid "" -"This person will not receive a confirmation email so make sure that you have " -"permission to email them." -msgstr "" -"Esta persona no recibirá correo de confirmación para asegurarse de que tiene " -"permiso para enviarle boletines." - -#: views/lists/subscription/edit.hbs:3 views/lists/subscription/edit.hbs:4 -msgid "Edit subscriber" -msgstr "Editar suscriptor" - -#: views/lists/subscription/edit.hbs:5 -#: views/lists/subscription/import-failed.hbs:5 -msgid "Back to list" -msgstr "Volver a la lista" - -#: views/lists/subscription/edit.hbs:6 -#: views/lists/subscription/import-preview.hbs:6 -#: views/subscription/partials/subscription-unsubscribe-form.hbs:1 -#: lib/helpers.js:42 lib/models/segments.js:11 -msgid "Email address" -msgstr "Dirección Email" - -#: views/lists/subscription/edit.hbs:17 -msgid "Delete Subscription" -msgstr "Eliminar suscripción" - -#: views/lists/subscription/import-failed.hbs:3 -msgid "Import status" -msgstr "Importar estatus" - -#: views/lists/subscription/import-failed.hbs:4 -msgid "Failed addresses" -msgstr "Direcciones fallidas" - -#: 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 "" -"Direcciones basadas en roles como postmaster@example.com se bloquean cuando " -"se importan. Los suscriptores con correos electrónicos basados en roles " -"pueden unirse a la lista utilizando el formulario de suscripción." - -#: views/lists/subscription/import-failed.hbs:7 -msgid "see here" -msgstr "ver aquí" - -#: views/lists/subscription/import-failed.hbs:9 -msgid "Fail reason" -msgstr "Razón fallida" - -#: views/lists/subscription/import-preview.hbs:3 -#: views/lists/subscription/import-preview.hbs:4 -#: views/lists/subscription/import.hbs:3 views/lists/subscription/import.hbs:4 -msgid "Import subscribers" -msgstr "Importar suscriptores" - -#: views/lists/subscription/import-preview.hbs:10 views/users/api.hbs:27 -#: views/users/api.hbs:35 views/users/api.hbs:43 views/users/api.hbs:54 -#: views/users/api.hbs:62 views/users/api.hbs:70 -msgid "Example" -msgstr "Ejemplo" - -#: views/lists/subscription/import-preview.hbs:11 -msgid "Start import" -msgstr "Empezar importación" - -#: views/lists/subscription/import.hbs:5 -msgid "CSV File" -msgstr "Archivo CSV" - -#: views/lists/subscription/import.hbs:6 -msgid "CSV delimiter" -msgstr "Delimitador CSV" - -#: views/lists/subscription/import.hbs:7 -msgid "Categorize the imported subscribers as" -msgstr "Categorizar los suscriptores importados como" - -#: views/lists/subscription/import.hbs:8 routes/lists.js:206 -msgid "Subscribed" -msgstr "Suscritos" - -#: views/lists/subscription/import.hbs:9 -msgid "Regular subscriber addresses" -msgstr "Correos de suscriptores regulares" - -#: views/lists/subscription/import.hbs:11 -msgid "Suppressed emails that will be unsubscribed from your list" -msgstr "Correos suprimidos que serán dados de baja en tu lista" - -#: views/lists/subscription/import.hbs:12 -msgid "Check imported emails" -msgstr "Revisar los correos importados" - -#: views/lists/subscription/import.hbs:13 views/triggers/triggers.hbs:12 -msgid "Enabled" -msgstr "Activado" - -#: views/lists/subscription/import.hbs:14 views/triggers/triggers.hbs:13 -msgid "Disabled" -msgstr "Desactivado" - -#: views/lists/view.hbs:3 -msgid "Subscription Form" -msgstr "Formulario de suscripción" - -#: views/lists/view.hbs:4 -msgid "List Actions" -msgstr "Acciones de Lista" - -#: views/lists/view.hbs:9 views/triggers/create-select.hbs:3 -#: views/triggers/create-select.hbs:4 views/triggers/create.hbs:3 -#: views/triggers/create.hbs:4 views/triggers/create.hbs:27 -#: views/triggers/triggers.hbs:3 -msgid "Create Trigger" -msgstr "Crear Trigger" - -#: views/lists/view.hbs:10 -msgid "Add Subscriber" -msgstr "Añadir suscriptor" - -#: views/lists/view.hbs:11 -msgid "Import Subscribers" -msgstr "Importar suscriptores" - -#: views/lists/view.hbs:15 -msgid "Create New Segment" -msgstr "Crear nuevo segmento" - -#: views/lists/view.hbs:16 -msgid "Filter" -msgstr "Filtrar" - -#: views/lists/view.hbs:17 -msgid "Subscriptions" -msgstr "Sucriptores" - -#: views/lists/view.hbs:18 -msgid "Imports" -msgstr "Importaciones" - -#: views/lists/view.hbs:25 routes/campaigns.js:255 routes/lists.js:300 -msgid "Finished" -msgstr "Terminado" - -#: views/lists/view.hbs:27 -msgid "Added" -msgstr "Añadido" - -#: views/lists/view.hbs:28 -msgid "Updated" -msgstr "Actualizado" - -#: views/lists/view.hbs:29 -msgid "Failed" -msgstr "Fallido" - -#: views/lists/view.hbs:31 -msgid "" -"Are you sure? This action should only be called to resolve stalled imports" -msgstr "" -"¿Estás seguro? Esta acción sólo será llamada para resolver importaciones " -"estancadas" - -#: views/lists/view.hbs:32 -msgid "Restart" -msgstr "Reiniciar" - -#: views/mosaico/editor.hbs:1 views/partials/merge-tag-reference.hbs:1 -msgid "Merge tag reference" -msgstr "Etiqueta referencia Merge" - -#: views/mosaico/editor.hbs:4 -msgid "MOSAICO Responsive Email Designer" -msgstr "Diseñador de boletines responsive MOSAICO" - -#: views/mosaico/editor.hbs:5 -msgid "Sucessfully saved" -msgstr "Guardado con éxito" - -#: views/mosaico/editor.hbs:6 -msgid "An error occured while saving the document" -msgstr "Un error ocurrió mientras se guardaban los documentos" - -#: views/mosaico/editor.hbs:7 -msgid "Unsaved changes will be lost. Close now?" -msgstr "Los cambios no guardados se perderán. ¿Cerrar ahora?" - -#: views/mosaico/editor.hbs:8 views/mosaico/editor.hbs:9 -msgid "Tags" -msgstr "Etiquetas" - -#: 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 "Contenido de plantilla (HTML)" - -#: views/partials/editor-navbar.hbs:1 -msgid "SAVE" -msgstr "GUARDAR" - -#: views/partials/editor-navbar.hbs:2 -msgid "SAVING" -msgstr "GUARDANDO" - -#: views/partials/editor-navbar.hbs:3 -msgid "CLOSE" -msgstr "CERRAR" - -#: views/partials/grapejs.hbs:2 -msgid "Open GrapeJS" -msgstr "Abrir GrapeJS" - -#: views/partials/html-preview.hbs:1 -msgid "Toggle HTML preview" -msgstr "Vista previa de Toggle HTML" - -#: views/partials/html-to-text.hbs:1 -msgid "" -"To extract the text from HTML click here." -msgstr "" -"Para extraer el texto de HTML, haga clic aquí." - -#: 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 "" -"Por favor, tenga en cuenta que el texto plano del campo superior será " -"sobreescrito. Esta función utiliza Premailer API, como servicio de " -"terceros. Sus Condiciones de servicio y política de privacidad se aplican." - -#: views/partials/html-to-text.hbs:3 -msgid "An error occurred while talking to the server" -msgstr "Ha ocurrido un error mientras se comunicaba con el servidor" - -#: views/partials/merge-tag-reference.hbs:2 -msgid "" -"Merge tags are tags that are replaced before sending out the message. The " -"format of the merge tag is the following: [TAG_NAME] or " -"[TAG_NAME/fallback] where fallback is an optional " -"text value used when TAG_NAME is empty." -msgstr "" -"Merge Tags son etiquetas que son remplazadas antes de enviar el boletín. El " -"formato de las etiquetas Merge es el siguiente [TAG_NAME] o " -"[TAG_NAME/fallback] donde fallback es el valor de " -"un texto opcional usado cuando TAG_NAME está vacío." - -#: views/partials/modal-carousel.hbs:1 -msgid "{{title}}" -msgstr "{{title}}" - -#: views/partials/mosaico.hbs:2 -msgid "Open Mosaico" -msgstr "Abrir Mosaico" - -#: views/partials/plaintext.hbs:1 -msgid "Template content (plaintext)" -msgstr "Contenido de la plantilla (texto plano)" - -#: views/report-templates/create.hbs:2 views/report-templates/edit.hbs:2 -#: views/report-templates/report-templates.hbs:2 -#: views/reports/create-select-template.hbs:2 views/reports/create.hbs:2 -#: views/reports/edit.hbs:2 views/reports/output.hbs:2 -#: views/reports/reports.hbs:2 views/reports/reports.hbs:5 -#: views/reports/view.hbs:2 lib/tools.js:144 routes/reports.js:31 -msgid "Reports" -msgstr "Informes" - -#: views/report-templates/create.hbs:4 views/report-templates/create.hbs:6 -#: views/report-templates/report-templates.hbs:4 views/templates/create.hbs:3 -#: views/templates/create.hbs:4 views/templates/create.hbs:12 -#: views/templates/templates.hbs:3 -msgid "Create Template" -msgstr "Crear plantilla" - -#: views/report-templates/create.hbs:5 routes/report-templates.js:231 -msgid "Create Report Template" -msgstr "Crear informe de plantilla" - -#: views/report-templates/edit.hbs:4 views/templates/edit.hbs:3 -#: views/templates/edit.hbs:4 -msgid "Edit Template" -msgstr "Editar plantilla" - -#: views/report-templates/edit.hbs:5 routes/report-templates.js:262 -msgid "Edit Report Template" -msgstr "Editar informe de plantilla" - -#: views/report-templates/edit.hbs:6 views/templates/edit.hbs:11 -msgid "Delete Template" -msgstr "Eliminar plantilla" - -#: views/report-templates/edit.hbs:7 -msgid "Update and Stay" -msgstr "Actualizar y permanecer" - -#: views/report-templates/edit.hbs:8 -msgid "Update and Leave" -msgstr "Actualizar y salir" - -#: views/report-templates/partials/report-template-fields.hbs:2 -msgid "Template Name" -msgstr "Nombre de plantilla" - -#: views/report-templates/partials/report-template-fields.hbs:6 -msgid "User selectable fields" -msgstr "Usar campos seleccionables" - -#: views/report-templates/partials/report-template-fields.hbs:7 -msgid "Data processing code" -msgstr "Código de procesamiento de datos" - -#: views/report-templates/partials/report-template-fields.hbs:8 -msgid "Rendering template" -msgstr "Plantilla de renderizado" - -#: views/report-templates/report-templates.hbs:5 -msgid "Blank" -msgstr "Vacío/En blanco" - -#: views/report-templates/report-templates.hbs:6 -msgid "All Subscribers" -msgstr "Todos los suscriptores" - -#: views/report-templates/report-templates.hbs:7 -msgid "Grouped Subscribers" -msgstr "Suscriptores agrupados" - -#: views/report-templates/report-templates.hbs:8 -msgid "Export List as CSV" -msgstr "Exportar lista como CSV" - -#: views/report-templates/report-templates.hbs:9 views/reports/reports.hbs:4 -#: routes/report-templates.js:29 -msgid "Report Templates" -msgstr "Plantillas de informes" - -#: views/reports/create-select-template.hbs:3 -#: views/reports/create-select-template.hbs:4 views/reports/create.hbs:3 -#: views/reports/create.hbs:4 views/reports/create.hbs:5 -#: views/reports/reports.hbs:3 routes/reports.js:81 -msgid "Create Report" -msgstr "Crear informe" - -#: views/reports/edit.hbs:3 views/reports/edit.hbs:4 routes/reports.js:151 -msgid "Edit Report" -msgstr "Editar informe" - -#: views/reports/edit.hbs:5 -msgid "Delete Report" -msgstr "Eliminar informe" - -#: views/reports/partials/report-fields.hbs:2 -msgid "Report Name" -msgstr "Nombre de informe" - -#: views/reports/partials/report-fields.hbs:8 -#: views/reports/partials/report-fields.hbs:11 -msgid "" -"Select a campaign in the table above by clicking on the respective row " -"number." -msgstr "" -"Seleccionar una campaña en la tabla superior haciendo clic en el respectivo " -"número de columna" - -#: views/reports/partials/report-select-template.hbs:1 -msgid "Report Template" -msgstr "Plantilla informe" - -#: views/settings.hbs:5 -msgid "Service Address (URL)" -msgstr "Dirección de servicio (URL)" - -#: views/settings.hbs:6 -msgid "Enter the URL this service can be reached from" -msgstr "Introduzca la URL a la que puede acceder este servicio desde" - -#: views/settings.hbs:7 -msgid "Admin Email" -msgstr "Email Admin" - -#: views/settings.hbs:8 -msgid "" -"Enter the email address that will be used as \"from\" for system messages" -msgstr "" -"Introduce la dirección email que será usada como \"From\" para los envíos" - -#: views/settings.hbs:9 -msgid "Disable WYSIWYG editor" -msgstr "Desactivar editor WYSIWYG" - -#: views/settings.hbs:10 -msgid "If checked then message editor displays HTML code without the preview" -msgstr "" -"Si está marcado, el editor de mensajes muestra el código HTML sin la vista " -"previa" - -#: views/settings.hbs:11 -msgid "Disable subscription confirmation messages" -msgstr "Desactivar los mensajes de confirmación de suscripción" - -#: views/settings.hbs:12 -msgid "" -"If checked then do not send a confirmation message that states the " -"subscriber is now subscribed or unsubscribed. This does not disable double " -"opt-in messages." -msgstr "" -"Si está marcado, no envía mensaje de confirmación que indica que el abonado " -"está suscrito o dado de baja. Esto no deshabilita dobles mensajes opt-in." - -#: views/settings.hbs:13 -msgid "Tracking ID" -msgstr "ID restreo" - -#: views/settings.hbs:14 -msgid "Enter Google Analytics tracking code" -msgstr "Introduzca un código de seguimiento de Google Analytics" - -#: views/settings.hbs:15 -msgid "Frontpage shout out" -msgstr "Reconocimiento de portada" - -#: views/settings.hbs:16 -msgid "HTML code shown in the front page header section" -msgstr "Código HTML es mostrado en la sección de encabezado de la portada" - -#: views/settings.hbs:17 -msgid "Campaign defaults" -msgstr "Fallos en la campaña" - -#: views/settings.hbs:18 -msgid "Sender name" -msgstr "Nombre de Remitente" - -#: views/settings.hbs:19 -msgid "Sender name, eg. My Awesome Company Ltd." -msgstr "Nombre de Remitente, por ejemplo: Compañía Asombrosa SL." - -#: views/settings.hbs:20 -msgid "Default address" -msgstr "Dirección por defecto" - -#: views/settings.hbs:21 -msgid "" -"Contact address to provide, eg. 1234 Main Street, Anywhere, MA 01234, USA" -msgstr "" -"Dirección de contacto proporcionada, por ejemplo. Calle lugar cualquiera 1, " -"Madrid, España" - -#: views/settings.hbs:22 -msgid "Default \"from name\"" -msgstr "Nombre \"From\" por defecto" - -#: views/settings.hbs:24 -msgid "Default \"from\" email" -msgstr "Email \"From\" por defecto" - -#: views/settings.hbs:26 -msgid "Default \"subject line\"" -msgstr "\"Asunto\" por defecto" - -#: views/settings.hbs:28 -msgid "Default homepage (URL)" -msgstr "Home por defecto (URL)" - -#: views/settings.hbs:29 -msgid "URL to redirect the subscribed users to, eg. http://example.com/" -msgstr "" -"URL para redireccionar a los usuarios suscritos, por ejemplo http://example." -"com/" - -#: views/settings.hbs:30 -msgid "Mailer Settings" -msgstr "Ajustes Remitente" - -#: views/settings.hbs:31 -msgid "These settings are required to send out e-mail messages" -msgstr "Estos ajustes son requeridos para enviar boletines" - -#: views/settings.hbs:32 -msgid "SMTP" -msgstr "SMTP" - -#: views/settings.hbs:33 -msgid "AWS SES" -msgstr "AWS SES" - -#: views/settings.hbs:34 -msgid "Use SMTP for sending mail" -msgstr "Utiliza SMTP para enviar boletines" - -#: views/settings.hbs:35 -msgid "Hostname" -msgstr "Nombre Host" - -#: views/settings.hbs:36 -msgid "Port" -msgstr "Puerto" - -#: views/settings.hbs:37 -msgid "Port, eg. 465. Autodetected if left blank" -msgstr "Puerto, por ejemplo 465. Autodetecta si es vacio" - -#: views/settings.hbs:38 -msgid "Encryption" -msgstr "Codificación" - -#: views/settings.hbs:39 -msgid "Disable SMTP authentication" -msgstr "Desactivar la autenticación SMTP" - -#: views/settings.hbs:40 views/users/forgot.hbs:9 views/users/login.hbs:4 -#: views/users/login.hbs:5 -msgid "Username" -msgstr "Nombre de usuario" - -#: views/settings.hbs:41 -msgid "Username, eg. myaccount@example.com" -msgstr "Nombre de usuario, por ejemplo. nombre@ejemplo.com" - -#: views/settings.hbs:42 views/settings.hbs:43 views/users/login.hbs:6 -#: views/users/login.hbs:7 -msgid "Password" -msgstr "Contraseña" - -#: views/settings.hbs:44 -msgid "Use SES API for sending mail" -msgstr "Utilizar la API de SES para enviar correo" - -#: views/settings.hbs:45 -msgid "Access Key" -msgstr "Clave de acceso" - -#: views/settings.hbs:46 -msgid "AWS Access Key Id" -msgstr "ID Clave de acceso AWS" - -#: views/settings.hbs:47 -msgid "Secret Key" -msgstr "Clave secreta" - -#: views/settings.hbs:48 -msgid "AWS Secret Access Key" -msgstr "Clave de acceso secreta AWS" - -#: views/settings.hbs:49 -msgid "Region" -msgstr "Región" - -#: views/settings.hbs:50 -msgid "Checking" -msgstr "Comprobación" - -#: views/settings.hbs:51 -msgid "Check Mailer config" -msgstr "Compruebe configuración de Remitente" - -#: views/settings.hbs:52 -msgid "Don't have an SMTP account yet? Create a free SendPulse account" -msgstr "" -"¿No tienes una cuenta SMTP todavía? Crear una cuenta gratuita en SendPulse" - -#: views/settings.hbs:53 -msgid "here" -msgstr "aquí" - -#: views/settings.hbs:54 -msgid "Advanced Mailer settings" -msgstr "Ajustes avanzados de Remitente" - -#: views/settings.hbs:55 -msgid "Log SMTP transactions" -msgstr "Registrar transacciones SMTP" - -#: views/settings.hbs:56 -msgid "Allow self-signed certificates" -msgstr "Permitir certificados con firma propia" - -#: views/settings.hbs:57 -msgid "Max connections" -msgstr "Número máximo de conexiones" - -#: views/settings.hbs:58 -msgid "The count of max connections, eg. 10" -msgstr "Recuento de conexiones máximo, por ejemplo. 10" - -#: views/settings.hbs:59 -msgid "" -"The count of maximum simultaneous connections to make against the SMTP " -"server (defaults to 5). This limit is per sending process." -msgstr "" -"Recuento del número máximo de conexiones simultáneas para hacer frente al " -"servidor SMTP (por defecto 5). Este límite es por proceso de envío." - -#: views/settings.hbs:60 -msgid "Max messages" -msgstr "Número máximo de mensajes" - -#: views/settings.hbs:61 -msgid "The count of max messages, eg. 100" -msgstr "El recuento de mensajes máximo, por ejemplo. 100" - -#: views/settings.hbs:62 -msgid "" -"The number of messages to send through a single connection before the " -"connection is closed and reopened (defaults to 100)" -msgstr "" -"El número de mensajes a enviar a través de una única conexión antes de la " -"conexión se cierra y se vuelve a abrir (por defecto 100)" - -#: views/settings.hbs:63 -msgid "Throttling" -msgstr "Regulador " - -#: views/settings.hbs:64 -msgid "Messages per hour eg. 1000" -msgstr "Mensajes por hora, por ejemplo 1000" - -#: views/settings.hbs:65 -msgid "" -"Maximum number of messages to send in an hour. Leave empty or zero for no " -"throttling. If your provider uses a different speed limit (messages/minute " -"or messages/second) then convert this limit into messages/hour (1m/s => " -"3600m/h). This limit is per sending process." -msgstr "" -"Número máximo de mensajes que se envían en una hora. Dejar en blanco o nulo " -"sin regulación. Si su proveedor utiliza un límite de velocidad diferente " -"(mensajes / minuto o mensajes / segundo) a continuación, convertir este " -"límite en mensajes/hora (1m/s => 3600m/h). Este límite es por proceso de " -"envío." - -#: views/settings.hbs:66 -msgid "VERP bounce handling" -msgstr "Manejo de rebote VERP" - -#: views/settings.hbs:67 -msgid "" -"Mailtrain is able to use VERP based routing to detect bounces. In this case " -"the message is sent to the recipient using a custom VERP address as the " -"return path of the message. If the message is not accepted a bounce email is " -"sent to this special VERP address and thus a bounce is detected." -msgstr "" -"Mailtrain es capaz de utilizar el enrutamiento basado VERP para detectar " -"rebotes. En este caso el mensaje se envía al destinatario mediante una " -"dirección VERP personalizada como la vía de retorno del mensaje. Si el " -"mensaje no se acepta un correo electrónico de rebote es enviado a esta " -"dirección especial VERP y por lo tanto se detecta un rebote." - -#: views/settings.hbs:68 -msgid "" -"To get VERP working you need to set up a DNS MX record that points to your " -"Mailtrain hostname. You must also ensure that Mailtrain VERP interface is " -"available from port 25 of your server (port 25 usually requires root user " -"privileges). This way if anyone tries to send email to someuser@verp-" -"hostname then the email should end up to this server." -msgstr "" -"ePara obtener el trabajo de VERP, necesitas crear un registro DNS MX que " -"apunta a su nombre de host Mailtrain. También debe asegurarse de que la " -"interfaz Mailtrain VERP está disponible desde el puerto 25 del servidor " -"(puerto 25 por lo general requiere privilegios de usuario root). De esta " -"manera si alguien trata de enviar un correo electrónico a someuser@verp-" -"hostname, el correo electrónico debe terminar en este servidor." - -#: views/settings.hbs:69 -msgid "" -"VERP usually only works if you are using your own SMTP server. Regular relay " -"services (SES, SparkPost, Gmail etc.) tend to remove the VERP address from " -"the message." -msgstr "" -"Por lo general VERP sólo funciona si está utilizando su propio servidor " -"SMTP. Servicios de transmisión regulares (SES, SparkPost, Gmail, etc.) " -"tienden a eliminar la dirección VERP del mensaje." - -#: views/settings.hbs:70 -msgid "Use VERP to catch bounces" -msgstr "Utilice VERP para rebotes" - -#: views/settings.hbs:71 -msgid "Server hostname" -msgstr "Nombre de Host del servidor" - -#: views/settings.hbs:72 -msgid "The VERP server hostname, eg. bounces.example.com" -msgstr "El nombre de host del servidor VERP, por ejemplo. bounces.ejemplo.com" - -#: views/settings.hbs:73 -msgid "" -"VERP bounce handling server hostname. This hostname is used in the SMTP " -"envelope FROM address and the MX DNS records should point to this server" -msgstr "" -"Nombre de Servidor Host que maneja rebotes VERP. Este nombre de host se " -"utiliza en el FROM del sobre SMTP y los registros DNS MX deben señalar a " -"este servidor" - -#: views/settings.hbs:74 -msgid "" -"VERP bounce handling server is not enabled. Modify your server configuration " -"file and restart server to enable it" -msgstr "" -"Servidor Host VERP que maneja rebotes no esta activado. Modifica el archivo " -"de configuración de tu servidor y reinicia el servidor para activarlo." - -#: views/settings.hbs:75 -msgid "GPG Signing" -msgstr "Firma GPG" - -#: views/settings.hbs:76 -msgid "" -"Only messages that are encrypted can be signed. Subsribers who have not set " -"up a GPG public key in their profile receive normal email messages. Users " -"with GPG key set receive encrypted messages and if you have signing key also " -"set, the messages are signed with this key." -msgstr "" -"Sólo los mensajes cifrados pueden ser firmados. Los suscriptores que no han " -"establecido una clave pública GPG en su perfil de recibirán mensajes de " -"correo electrónico normales. Los usuarios con claves GPG establecidad, " -"recibirán mensajes cifrados y si tiene clave de firma también establecida, " -"los mensajes estarán firmados con esa clave." - -#: views/settings.hbs:77 -msgid "" -"Do not use sensitive keys here. The private key and passphrase are not " -"encrypted in the database." -msgstr "" -"No utilice las teclas susceptibles aquí. La clave privada y la frase de " -"contraseña no están cifrados en la base de datos." - -#: views/settings.hbs:78 -msgid "Private Key Passphrase" -msgstr "Frase clave privada" - -#: views/settings.hbs:79 -msgid "Passphrase for the key if set" -msgstr "Frase de contraseña para la clave si se establece" - -#: views/settings.hbs:80 -msgid "Only fill this if your private key is encrypted with a passphrase" -msgstr "" -"Sólo rellene esto si su clave privada se cifra con una frase de contraseña" - -#: views/settings.hbs:81 -msgid "GPG Private Key" -msgstr "Clave privada GPG" - -#: views/settings.hbs:83 -msgid "" -"This value is optional. If you do not provide a private key GPG encrypted " -"messages are sent without signing." -msgstr "" -"Este valor es opcional. Si usted no proporciona una clave privada GPG los " -"mensajes cifrados se envían sin firma." - -#: views/settings.hbs:84 -msgid "DKIM Signing by ZoneMTA" -msgstr "Firma DKIM por ZoneMTA" - -#: views/settings.hbs:85 -msgid "" -"If you are using ZoneMTA then Mailtrain can provide a DKIM key for signing " -"all outgoing messages. Other services usually provide their own means to " -"DKIM sign your messages" -msgstr "" -"Si está utilizando ZoneMTA, Mailtrain puede proporcionar una clave DKIM para " -"la firma de todos los mensajes salientes. Otros servicios suelen " -"proporcionar sus propios medios para firmar sus mensajes DKIM" - -#: views/settings.hbs:86 -msgid "" -"Do not use sensitive keys here. The private key is not encrypted in the " -"database." -msgstr "" -"No utilice las teclas susceptibles aquí. La clave privada no está cifrada en " -"la base de datos." - -#: views/settings.hbs:87 -msgid "ZoneMTA DKIM API Key" -msgstr "CLAVE de API DKIM ZoneMTA" - -#: views/settings.hbs:88 -msgid "Some secret value" -msgstr "Algunos valores secretos" - -#: views/settings.hbs:89 -msgid "" -"Secret value known to ZoneMTA for requesting DKIM key information. If this " -"value was generated by the Mailtrain installation script then you can keep " -"it as it is" -msgstr "" -"Valor secreto conocido a ZoneMTA para solicitar información clave DKIM. Si " -"este valor se genera mediante el script de instalación Mailtrain entonces se " -"puede mantener como está" - -#: views/settings.hbs:90 -msgid "DKIM domain" -msgstr "dominio DKIM" - -#: views/settings.hbs:91 -msgid "Domain name for the DKIM key" -msgstr "nombre de dominio para la clave DKIM" - -#: views/settings.hbs:92 -msgid "Leave blank to use the sender email address domain" -msgstr "" -"Dejar en blanco para usar el dominio de dirección de correo electrónico del " -"remitente" - -#: views/settings.hbs:93 views/settings.hbs:94 -msgid "DKIM key selector" -msgstr "Selector Clave de DKIM" - -#: views/settings.hbs:95 -msgid "Signing is disabled without a valid selector value" -msgstr "Firma está desactivada y sin un valor de selección válido" - -#: views/settings.hbs:96 -msgid "DKIM Private Key" -msgstr "Clave privada DKIM" - -#: views/settings.hbs:98 -msgid "" -"This value is optional. If you do not provide a private key then messages " -"are not signed." -msgstr "" -"Este valor es opcional. Si usted no proporciona una clave privada a " -"continuación, los mensajes no se firman." - -#: views/subscription/mail-already-subscribed-html.mjml.hbs:1 -#: views/subscription/mail-already-subscribed-text.hbs:1 -#: lib/models/subscriptions.js:171 lib/models/subscriptions.js:892 -msgid "Email address already registered" -msgstr "Dirección de correo ya registrada" - -#: views/subscription/mail-already-subscribed-html.mjml.hbs:2 -#: views/subscription/mail-already-subscribed-text.hbs:2 -msgid "" -"We have received a subscription request. Your email address is however " -"already registered." -msgstr "" -"Hemos recibido una solicitud de suscripción. Su dirección de correo " -"electrónico está sin embargo ya registrada." - -#: views/subscription/mail-already-subscribed-html.mjml.hbs:3 -#: views/subscription/mail-already-subscribed-text.hbs:3 -msgid "" -"If you received this email by mistake, simply delete it. Your existing " -"subscription won't be affected." -msgstr "" -"Si ha recibido este mensaje por error, simplemente elimínalo. Su " -"subscripción no se verá afectada." - -#: views/subscription/mail-already-subscribed-html.mjml.hbs:4 -#: views/subscription/mail-subscription-confirmed-html.mjml.hbs:3 -msgid "If you want to modify your subscription then you can " -msgstr "Si desea modificar su suscripción, puedes" - -#: views/subscription/mail-already-subscribed-html.mjml.hbs:5 -#: views/subscription/mail-already-subscribed-text.hbs:5 -#: views/subscription/mail-subscription-confirmed-html.mjml.hbs:4 -#: views/subscription/mail-subscription-confirmed-text.hbs:4 -msgid "manage your preferences" -msgstr "administrar tus preferencias" - -#: views/subscription/mail-already-subscribed-html.mjml.hbs:6 -#: views/subscription/mail-already-subscribed-text.hbs:6 -#: views/subscription/mail-subscription-confirmed-html.mjml.hbs:5 -#: views/subscription/mail-subscription-confirmed-text.hbs:5 -#: views/users/login.hbs:10 -msgid "or" -msgstr "o" - -#: views/subscription/mail-already-subscribed-html.mjml.hbs:7 -#: views/subscription/mail-already-subscribed-text.hbs:7 -#: views/subscription/mail-subscription-confirmed-html.mjml.hbs:6 -#: views/subscription/mail-subscription-confirmed-text.hbs:6 -msgid "unsubscribe here" -msgstr "darte de baja aquí" - -#: views/subscription/mail-already-subscribed-html.mjml.hbs:8 -#: views/subscription/mail-subscription-confirmed-html.mjml.hbs:7 -#: views/subscription/web-confirm-subscription-notice.mjml.hbs:3 -#: views/subscription/web-confirm-unsubscription-notice.mjml.hbs:3 -#: views/subscription/web-manual-unsubscribe-notice.mjml.hbs:4 -#: views/subscription/web-subscribed-notice.mjml.hbs:4 -#: views/subscription/web-unsubscribed-notice.mjml.hbs:3 -#: views/subscription/web-updated-notice.mjml.hbs:3 -msgid "Return to our website" -msgstr "Vuelvea nuestra web" - -#: views/subscription/mail-already-subscribed-html.mjml.hbs:9 -#: views/subscription/mail-already-subscribed-text.hbs:8 -#: views/subscription/mail-confirm-address-change-html.mjml.hbs:4 -#: views/subscription/mail-confirm-address-change-text.hbs:4 -#: views/subscription/mail-confirm-subscription-html.mjml.hbs:4 -#: views/subscription/mail-confirm-subscription-text.hbs:4 -#: views/subscription/mail-confirm-unsubscription-html.mjml.hbs:4 -#: views/subscription/mail-confirm-unsubscription-text.hbs:4 -#: views/subscription/mail-subscription-confirmed-html.mjml.hbs:8 -#: views/subscription/mail-subscription-confirmed-text.hbs:7 -#: views/subscription/mail-unsubscription-confirmed-html.mjml.hbs:5 -#: views/subscription/mail-unsubscription-confirmed-text.hbs:5 -msgid "For questions about this list, please contact:" -msgstr "" -"Para preguntas acerca de esta lista, por favor, póngase en contacto con " -"nosotros en:" - -#: views/subscription/mail-already-subscribed-text.hbs:4 -#: views/subscription/mail-subscription-confirmed-text.hbs:3 -msgid "If you want to modify your subscription then you can:" -msgstr "Si desea modificar su suscripción a continuación, puedes:" - -#: views/subscription/mail-confirm-address-change-html.mjml.hbs:1 -#: views/subscription/mail-confirm-address-change-text.hbs:1 -msgid "Please Confirm Subscription Address Change" -msgstr "Por favor, confirma el campo de Dirección de correo de Suscripción" - -#: views/subscription/mail-confirm-address-change-html.mjml.hbs:2 -#: views/subscription/mail-confirm-address-change-text.hbs:2 -msgid "Yes, subscribe this email address to the list" -msgstr "Sí, suscribir esta dirección de correo electrónico a la lista" - -#: views/subscription/mail-confirm-address-change-html.mjml.hbs:3 -#: views/subscription/mail-confirm-subscription-html.mjml.hbs:3 -msgid "" -"If you received this email by mistake, simply delete it. You won't be " -"subscribed if you don't click the confirmation link above." -msgstr "" -"Si ha recibido este mensaje por error, simplemente elimínalo. No será " -"suscrito si no hace clic en el enlace de confirmación anterior." - -#: views/subscription/mail-confirm-address-change-text.hbs:3 -#: views/subscription/mail-confirm-subscription-text.hbs:3 -msgid "" -"If you received this email by mistake, simply delete it. You won't be " -"subscribed unless you click the confirmation link above." -msgstr "" -"Si ha recibido este mensaje por error, simplemente elimínalo. No va a estar " -"suscrito a menos que haga clic en el enlace de confirmación anterior." - -#: views/subscription/mail-confirm-subscription-html.mjml.hbs:1 -#: views/subscription/mail-confirm-subscription-text.hbs:1 -#: views/subscription/mail-confirm-unsubscription-text.hbs:1 -#: routes/subscription.js:431 -msgid "Please Confirm Subscription" -msgstr "Por favor, confirme la suscripción" - -#: views/subscription/mail-confirm-subscription-html.mjml.hbs:2 -#: views/subscription/mail-confirm-subscription-text.hbs:2 -msgid "Yes, subscribe me to this list" -msgstr "Sí, suscribirme a la lista" - -#: views/subscription/mail-confirm-unsubscription-html.mjml.hbs:1 -msgid "Please Confirm Unsubscription" -msgstr "Por favor, confirma la baja" - -#: views/subscription/mail-confirm-unsubscription-html.mjml.hbs:2 -#: views/subscription/mail-confirm-unsubscription-text.hbs:2 -msgid "Yes, unsubscribe me from this list" -msgstr "Sí, darme de baja de esta lista" - -#: views/subscription/mail-confirm-unsubscription-html.mjml.hbs:3 -msgid "" -"If you received this email by mistake, simply delete it. You won't be " -"unsubscribed if you don't click the confirmation link above." -msgstr "" -"Si ha recibido este mensaje por error, simplemente elimínalo. No será dado " -"de baja si no hace clic en el enlace de confirmación anterior." - -#: views/subscription/mail-confirm-unsubscription-text.hbs:3 -msgid "" -"If you received this email by mistake, simply delete it. You won't be " -"unsubscribed unless you click the confirmation link above." -msgstr "" -"Si ha recibido este mensaje por error, simplemente elimínalo. No será dado " -"de baja a menos de hacer clic en el enlace de confirmación anterior." - -#: views/subscription/mail-subscription-confirmed-html.mjml.hbs:1 -#: views/subscription/mail-subscription-confirmed-text.hbs:1 -#: views/subscription/web-subscribed-notice.mjml.hbs:1 -msgid "Subscription Confirmed" -msgstr "Suscripción confirmada" - -#: views/subscription/mail-subscription-confirmed-html.mjml.hbs:2 -msgid "Your subscription to our list has been confirmed" -msgstr "Su suscripción a nuestra lista ha sido confirmada" - -#: views/subscription/mail-subscription-confirmed-text.hbs:2 -#: views/subscription/web-subscribed-notice.mjml.hbs:2 -msgid "Your subscription to our list has been confirmed." -msgstr "Su suscripción a nuestra lista ha sido confirmada." - -#: views/subscription/mail-unsubscription-confirmed-html.mjml.hbs:1 -#: views/subscription/mail-unsubscription-confirmed-text.hbs:1 -msgid "You Are Now Unsubscribed" -msgstr "Tu estás dado de baja ahora" - -#: views/subscription/mail-unsubscription-confirmed-html.mjml.hbs:2 -msgid "We have removed your email address from our list" -msgstr "Hemos eliminado su correo electrónico de nuestra lista" - -#: views/subscription/mail-unsubscription-confirmed-html.mjml.hbs:3 -#: views/subscription/mail-unsubscription-confirmed-text.hbs:3 -msgid "If you unsubscribed by mistake, you can re-subscribe at:" -msgstr "Si te has dado de baja por error, puedes volverte a suscribir en:" - -#: views/subscription/mail-unsubscription-confirmed-text.hbs:2 -msgid "We have removed your email address from our list." -msgstr "Hemos eliminado su correo electrónico de nuestra lista." - -#: views/subscription/partials/subscription-custom-fields.hbs:2 -msgid "want to change it?" -msgstr "quieres cambiarla?" - -#: views/subscription/partials/subscription-custom-fields.hbs:5 -msgid "Download signature verification key" -msgstr "Descargar clave de verificación de firma" - -#: views/subscription/partials/subscription-custom-fields.hbs:7 -msgid "" -"Insert your GPG public key here to encrypt messages sent to your address" -msgstr "" -"Inserta tu clave GPG pública aquí para encriptar mensajes enviados a tu " -"dirección" - -#: views/subscription/partials/subscription-custom-fields.hbs:8 -msgid "optional" -msgstr "opcional" - -#: views/subscription/partials/subscription-flash-messages.hbs:1 -#: views/subscription/partials/subscription-flash-messages.hbs:3 -msgid "Warning!" -msgstr "¡Advertencia!" - -#: views/subscription/partials/subscription-flash-messages.hbs:2 -msgid "If JavaScript was not enabled then no confirmation message was sent" -msgstr "" -"Si JavaScript no está activada, no se envia ningún mensaje de confirmación" - -#: views/subscription/partials/subscription-flash-messages.hbs:4 -msgid "JavaScript must be enabled in order for this form to work" -msgstr "JavaScript debe estar habilitado para esta forma de funcionamiento" - -#: views/subscription/partials/subscription-manage-address-form.hbs:1 -msgid "Existing Email Address" -msgstr "Correo electrónico existente" - -#: views/subscription/partials/subscription-manage-address-form.hbs:2 -msgid "New Email Address" -msgstr "Nuevo Correo electrónico" - -#: views/subscription/partials/subscription-manage-address-form.hbs:3 -msgid "Your new email address" -msgstr "Tu nuevo correo electrónico" - -#: views/subscription/partials/subscription-manage-address-form.hbs:4 -msgid "" -"You will receive a confirmation request to your new email address that you " -"need to accept before your email is actually changed" -msgstr "" -"Recibirás un email a tu nuevo correo electrónico con una solicitud de " -"confirmación. Tras aceptarla el correo será cambiado definitivamente." - -#: views/subscription/partials/subscription-manage-address-form.hbs:5 -#: views/subscription/web-manage-address.mjml.hbs:2 -msgid "Update Email Address" -msgstr "Actualizar el correo electrónico" - -#: views/subscription/partials/subscription-manage-form.hbs:1 -#: views/subscription/web-manage.mjml.hbs:2 -msgid "Update Profile" -msgstr "Actualizar perfil" - -#: views/subscription/partials/subscription-subscribe-form.hbs:1 -#: views/subscription/web-subscribe.mjml.hbs:2 -#: views/subscription/widget-subscribe.hbs:1 -msgid "Subscribe to list" -msgstr "Suscrito a la lista" - -#: views/subscription/web-confirm-subscription-notice.mjml.hbs:1 -#: views/subscription/web-confirm-unsubscription-notice.mjml.hbs:1 -#: views/subscription/widget-subscribe.hbs:4 -msgid "Almost Finished" -msgstr "Casi terminado" - -#: views/subscription/web-confirm-subscription-notice.mjml.hbs:2 -#: views/subscription/widget-subscribe.hbs:5 -msgid "" -"We need to confirm your email address. To complete the subscription process, " -"please click the link in the email we just sent you." -msgstr "" -"Necesitamos confirmar tu dirección de correo electrónico. Para completar el " -"proceso de suscripción, por favor haz clic en el enlace del correo " -"electrónico que acabamos de enviarte." - -#: views/subscription/web-confirm-unsubscription-notice.mjml.hbs:2 -msgid "" -"We need to confirm your email address. To complete the unsubscription " -"process, please click the link in the email we just sent you." -msgstr "" -"Necesitamos confirmar tu dirección de correo electrónico. Para completar el " -"proceso de darse de baja, por favor haga clic en el enlace del correo " -"electrónico que acabamos de enviarte." - -#: views/subscription/web-manage-address.mjml.hbs:1 -msgid "Update Your Email Address" -msgstr "Actualizar su correo electrónico" - -#: views/subscription/web-manage.mjml.hbs:1 -msgid "Update Your Preferences" -msgstr "Actualizar sus preferencias" - -#: views/subscription/web-manual-unsubscribe-notice.mjml.hbs:1 -msgid "Online Unsubscription Is Not Possible" -msgstr "Darse de baja online no es posible" - -#: views/subscription/web-manual-unsubscribe-notice.mjml.hbs:2 -msgid "Please contact us at" -msgstr "Por favor, contácta con nosotros en" - -#: views/subscription/web-manual-unsubscribe-notice.mjml.hbs:3 -msgid "to get removed from the list" -msgstr "ser eliminado de la lista" - -#: views/subscription/web-subscribe.mjml.hbs:1 -msgid "Subscribe to List" -msgstr "Suscribirse a la lista" - -#: views/subscription/web-subscribed-notice.mjml.hbs:3 -msgid "Thank you for subscribing!" -msgstr "¡Gracias por suscribirte!" - -#: views/subscription/web-unsubscribed-notice.mjml.hbs:1 -msgid "Unsubscribe Successful" -msgstr "Dado de baja con éxito" - -#: views/subscription/web-unsubscribed-notice.mjml.hbs:2 -msgid "You have been removed from:" -msgstr "Has sido eliminado de:" - -#: views/subscription/web-updated-notice.mjml.hbs:1 -msgid "Profile Updated" -msgstr "Perfeil actualizado" - -#: views/subscription/web-updated-notice.mjml.hbs:2 -msgid "Your profile information has been updated." -msgstr "La información de tu perfil ha sido actualizada" - -#: views/subscription/widget-subscribe.hbs:2 -msgid "Sending ..." -msgstr "Enviando" - -#: views/subscription/widget-subscribe.hbs:3 -msgid "It looks like you are already subscribed to this list." -msgstr "Parece que tu ya estabas suscrito a esta lista" - -#: views/templates/create.hbs:5 views/templates/edit.hbs:6 -msgid "Template name" -msgstr "Nombre de plantilla" - -#: views/templates/create.hbs:6 views/templates/edit.hbs:7 -msgid "Name for this template, eg. Newsletter" -msgstr "Nombre de esta plantilla, por ejemplo Newsletter" - -#: views/templates/create.hbs:7 -msgid "HTML Editor" -msgstr "Editor HTML" - -#: views/templates/create.hbs:10 views/templates/edit.hbs:9 -msgid "Optional comments about this template" -msgstr "Comentario opcional sobre esta plantilla" - -#: views/templates/edit.hbs:5 -msgid "Back to templates" -msgstr "Volver a plantillas" - -#: views/triggers/create-select.hbs:2 views/triggers/create.hbs:2 -#: views/triggers/edit.hbs:2 views/triggers/triggered.hbs:2 -#: views/triggers/triggers.hbs:2 views/triggers/triggers.hbs:4 -msgid "Automation Triggers" -msgstr "Automatización Trigger " - -#: views/triggers/create-select.hbs:5 -msgid "Select a list for the trigger" -msgstr "Seleccionar una lista para el Trigger" - -#: views/triggers/create.hbs:5 views/triggers/edit.hbs:6 -msgid "Trigger name" -msgstr "Nombre de Trigger" - -#: views/triggers/create.hbs:6 views/triggers/edit.hbs:7 -msgid "Name for this trigger, eg. Inactive subscribers" -msgstr "Nombre para este Trigger, por ejemplo: Suscritores inactivos" - -#: views/triggers/create.hbs:8 views/triggers/edit.hbs:9 -msgid "Optional comments about this trigger" -msgstr "Comentarios opcionales sobre el Trigger" - -#: views/triggers/create.hbs:12 views/triggers/edit.hbs:14 -msgid "Trigger rule" -msgstr "Regla Trigger" - -#: views/triggers/create.hbs:13 views/triggers/edit.hbs:15 -msgid "Trigger fires" -msgstr "Trigger encendido" - -#: views/triggers/create.hbs:14 views/triggers/edit.hbs:16 -msgid "days after:" -msgstr "días después:" - -#: views/triggers/create.hbs:16 views/triggers/create.hbs:21 -#: views/triggers/edit.hbs:18 views/triggers/edit.hbs:23 -msgid "Event" -msgstr "Evento" - -#: views/triggers/create.hbs:18 views/triggers/create.hbs:19 -#: views/triggers/create.hbs:25 views/triggers/edit.hbs:20 -#: views/triggers/edit.hbs:21 views/triggers/edit.hbs:27 -msgid "Campaign" -msgstr "Campaña" - -#: views/triggers/create.hbs:23 views/triggers/edit.hbs:25 -msgid "Trigger action" -msgstr "Acción Trigger" - -#: views/triggers/create.hbs:24 views/triggers/edit.hbs:26 -msgid "Send campaign" -msgstr "Enviar campaña" - -#: views/triggers/edit.hbs:3 views/triggers/edit.hbs:4 -msgid "Edit Trigger" -msgstr "Edit Trigger" - -#: views/triggers/edit.hbs:5 -msgid "Back to triggers" -msgstr "Volver a Triggers" - -#: views/triggers/edit.hbs:11 -msgid "Trigger is enabled" -msgstr "Trigger está activado" - -#: views/triggers/edit.hbs:29 -msgid "Delete Trigger" -msgstr "Eliminar Trigger" - -#: views/triggers/triggered.hbs:3 -msgid "Triggered" -msgstr "Encadenados (Triggered)" - -#: views/triggers/triggered.hbs:4 -msgid "Triggered subscribers" -msgstr "Suscriptores Encadenados (Triggered)" - -#: views/triggers/triggered.hbs:5 -msgid "Subscribers who caused this trigger to fire" -msgstr "Suscriptores que han provocado que este Trigger se encienda" - -#: views/triggers/triggered.hbs:9 -msgid "Triggered time" -msgstr "Hora de Trigger" - -#: views/triggers/triggers.hbs:9 -msgid "Trigger" -msgstr "Trigger" - -#: views/triggers/triggers.hbs:10 -msgid "Target Campaign" -msgstr "Camapaña Objetivo" - -#: views/triggers/triggers.hbs:11 -msgid "Triggered count" -msgstr "Cuenta Trigger" - -#: views/users/account.hbs:4 -msgid "This account is managed through LDAP." -msgstr "Esta cuenta esta gestionada mediante LDAP." - -#: views/users/account.hbs:5 -msgid "Associated Email Address" -msgstr "Dirección mail asociada" - -#: views/users/account.hbs:8 -msgid "Your e-mail address" -msgstr "Tu dirección email" - -#: views/users/account.hbs:9 -msgid "" -"This address is used for account recovery in case you lose your password" -msgstr "" -"Este email es usado para recuperar una cuenta en caso de que no recuerdes la " -"contraseña" - -#: views/users/account.hbs:10 -msgid "Password change" -msgstr "Cambio de contraseña" - -#: views/users/account.hbs:11 -msgid "" -"You only need to fill out this form if you want to change your current " -"password" -msgstr "" -"Tu sólo necesitas completar este formulario si quieres cambiar la contraseña " -"actual" - -#: views/users/account.hbs:12 views/users/account.hbs:13 -msgid "Current Password" -msgstr "Contraseña actual" - -#: views/users/account.hbs:14 views/users/account.hbs:15 -#: views/users/reset.hbs:6 views/users/reset.hbs:7 -msgid "New Password" -msgstr "Nueva contraseña" - -#: views/users/account.hbs:16 views/users/reset.hbs:8 -msgid "Confirm Password" -msgstr "Confirmar contraseña" - -#: views/users/account.hbs:17 views/users/reset.hbs:9 -msgid "Confirm New Password" -msgstr "Confirmar nueva contraseña" - -#: views/users/api.hbs:4 -msgid "Are you sure? Resetting would invalidate the currently existing token." -msgstr "" -"¿Estás seguro? El reinicio invalidará el token existente en este momento." - -#: views/users/api.hbs:5 -msgid "Are you sure?" -msgstr "¿Estás seguro?" - -#: views/users/api.hbs:6 -msgid "Reset Access Token" -msgstr "Restablecer token de Acceso" - -#: views/users/api.hbs:7 -msgid "Generate Access Token" -msgstr "Token de Acceso generado" - -#: views/users/api.hbs:8 -msgid "Personal access token:" -msgstr "Token de acceso personal:" - -#: views/users/api.hbs:9 -msgid "Access token not yet generated" -msgstr "Token de Acceso no generado aún" - -#: views/users/api.hbs:10 -msgid "Notes about the API" -msgstr "Notas sobre la API" - -#: views/users/api.hbs:11 -msgid "" -"API response is a JSON structure with error and data properties. If the response error has a value set then " -"the request failed." -msgstr "" -"Respuesta API es una estructura JSON con error y data propiedades. Si la respuesta error tiene un valor " -"establecido la petición ha fallado." - -#: views/users/api.hbs:12 -msgid "" -"You need to define proper Content-Type when making a request. " -"You can either use application/x-www-form-urlencoded for normal " -"form data or application/json for a JSON payload. Using " -"multipart/form-data is not supported." -msgstr "" -"Necesitas definir correctamente Content-Type cuando se hace una " -"petición. Tu puedes usar application/x-www-form-urlencoded para " -"formulario de datos normal o application/json para carga JSON. " -"El uso de multipart/form-data no es soportado." - -#: views/users/api.hbs:13 -msgid "Add subscription" -msgstr "Añadir suscriptción" - -#: views/users/api.hbs:14 -msgid "" -"This API call either inserts a new subscription or updates existing. Fields " -"not included are left as is, so if you update only LAST_NAME value, then " -"FIRST_NAME is kept untouched for an existing subscription." -msgstr "" -"Esta API llama a insertar un nuevo suscriptor o actualizar existente. Campos " -"no incluidos no se modifican, pero si quieres actualizar solo el valor de " -"LAST_NAME, FIRST_NAME no se modifica para suscripciones existentes." - -#: views/users/api.hbs:15 views/users/api.hbs:17 views/users/api.hbs:30 -#: views/users/api.hbs:32 views/users/api.hbs:38 views/users/api.hbs:40 -#: views/users/api.hbs:46 views/users/api.hbs:57 views/users/api.hbs:59 -#: views/users/api.hbs:65 views/users/api.hbs:67 -msgid "arguments" -msgstr "razón/argumento" - -#: views/users/api.hbs:16 views/users/api.hbs:31 views/users/api.hbs:39 -#: views/users/api.hbs:47 views/users/api.hbs:58 views/users/api.hbs:66 -msgid "your personal access token" -msgstr "tu token personal de acceso" - -#: views/users/api.hbs:18 views/users/api.hbs:33 views/users/api.hbs:41 -msgid "subscriber's email address" -msgstr "Correo de Suscriptor" - -#: views/users/api.hbs:19 views/users/api.hbs:34 views/users/api.hbs:42 -#: views/users/api.hbs:61 views/users/api.hbs:69 -msgid "required" -msgstr "Obligatorio" - -#: views/users/api.hbs:20 -msgid "subscriber's first name" -msgstr "Nombre de suscriptor" - -#: views/users/api.hbs:21 -msgid "subscriber's last name" -msgstr "Apellidos de suscriptor" - -#: views/users/api.hbs:22 -msgid "" -"subscriber's timezone (eg. \"Europe/Tallinn\", \"PST\" or \"UTC\"). If not " -"set defaults to \"UTC\"" -msgstr "" -"la zona horaria del suscriptor (por ejemplo. \"Europa / Tallin\", \"PST\" o " -"\"UTC\"). Si no se establece, por defecto es \"UTC\"" - -#: views/users/api.hbs:23 -msgid "" -"custom field value. Use yes/no for option group values (checkboxes, radios, " -"drop downs)" -msgstr "" -"Valor de campo personalizado. Utilice sí / no para la opción de los valores " -"del grupo (casillas de verificación, radios, menús desplegables)" - -#: views/users/api.hbs:24 -msgid "Additional POST arguments" -msgstr "Los argumentos adicionales del POST" - -#: views/users/api.hbs:25 -msgid "" -"set to \"yes\" if you want to make sure the email is marked as subscribed " -"even if it was previously marked as unsubscribed. If the email was already " -"unsubscribed/blocked then subscription status is not changed" -msgstr "" -"Marca \"Sí\" si desea asegurarse de que el correo electrónico se marca como " -"suscrito incluso si fue previamente marcado como baja. Si el correo " -"electrónico ya fue dado de baja o bloqueado, el estado de suscripción no se " -"cambia" - -#: views/users/api.hbs:26 -msgid "" -"set to \"yes\" if you want to send confirmation email to the subscriber " -"before actually marking as subscribed" -msgstr "" -"Marca \"Sí\" si desea enviar un correo electrónico de confirmación al " -"suscriptor antes de que realmente se marque como suscrito" - -#: views/users/api.hbs:28 -msgid "Remove subscription" -msgstr "Eliminar suscripción" - -#: views/users/api.hbs:29 -msgid "This API call marks a subscription as unsubscribed" -msgstr "Esta llamada a la API marca una suscripción como dado de baja" - -#: views/users/api.hbs:36 -msgid "Delete subscription" -msgstr "Eliminar suscripción" - -#: views/users/api.hbs:37 -msgid "This API call deletes a subscription" -msgstr "Esta llamada a la API elimina una suscripción" - -#: views/users/api.hbs:44 -msgid "Get list of blacklisted emails" -msgstr "Obtener la lista de correos electrónicos de la lista negra" - -#: views/users/api.hbs:45 -msgid "This API call get list of blacklisted emails." -msgstr "" -"Esta llamada a la API consigue la lista de correos electrónicos de la lista " -"negra." - -#: views/users/api.hbs:48 -msgid "Start position" -msgstr "Posición de salida" - -#: views/users/api.hbs:49 -msgid "optional, default 0" -msgstr "opcional, por defecto 0" - -#: views/users/api.hbs:50 -msgid "limit emails count in response" -msgstr "cantidad límite de emails en la respuesta" - -#: views/users/api.hbs:51 -msgid "optional, default 10000" -msgstr "opcional, por defecto 10000" - -#: views/users/api.hbs:52 -msgid "filter by part of email" -msgstr "filtrar por correo electrónico" - -#: views/users/api.hbs:53 -msgid "optional, default ''" -msgstr "opcional, por defecto ''" - -#: views/users/api.hbs:56 -msgid "This API call either add emails to blacklist" -msgstr "Esta llamada a la API añade correos electrónicos a la lista negra" - -#: views/users/api.hbs:60 views/users/api.hbs:68 -msgid "email address" -msgstr "Correo electrónico" - -#: views/users/api.hbs:63 -msgid "Delete email from blacklist" -msgstr "Eliminar correo electrónico de la lista negra" - -#: views/users/api.hbs:64 -msgid "This API call either delete emails from blacklist" -msgstr "" -"Esta llamada a la API ya sea borrado mensajes de correo electrónico de la " -"lista negra" - -#: views/users/forgot.hbs:3 views/users/reset.hbs:3 -msgid "Password Reset" -msgstr "Restablecimiento de contraseña" - -#: views/users/forgot.hbs:4 -msgid "Reset your password?" -msgstr "¿Quieres restablecer tu contraseña?" - -#: views/users/forgot.hbs:5 -msgid "Accounts are managed through LDAP." -msgstr "Las cuentas se gestionan a través de LDAP." - -#: views/users/forgot.hbs:6 views/users/reset.hbs:10 -msgid "Reset Password" -msgstr "Restablecer la contraseña" - -#: views/users/forgot.hbs:7 -msgid "" -"Please provide the username or email address that you used when you signed " -"up for your Mailtrain account." -msgstr "" -"Por favor proporcione el nombre de usuario o correo electrónico que utilizó " -"cuando se inscribió en su cuenta Mailtrain." - -#: views/users/forgot.hbs:8 -msgid "We will send you an email that will allow you to reset your password." -msgstr "" -"Te enviaremos un correo electrónico que te permitirá restablecer tu " -"contraseña." - -#: views/users/forgot.hbs:10 -msgid "Username or email address" -msgstr "Nombre de usuario o correo electrónico" - -#: views/users/forgot.hbs:11 -msgid "Send verification email" -msgstr "Envía un correo electrónico de verificación" - -#: views/users/login.hbs:8 -msgid "Remember me" -msgstr "Recuérdame" - -#: views/users/login.hbs:11 views/users/login.hbs:12 -msgid "Forgot password?" -msgstr "¿Se te olvidó tu contraseña?" - -#: views/users/reset.hbs:4 -msgid "Choose your new password" -msgstr "Cambiar la contraseña nueva" - -#: views/users/reset.hbs:5 -msgid "Please enter a new password." -msgstr "Por favor, introduzca una contraseña nueva." - -#: lib/editor-helpers.js:17 routes/templates.js:95 -msgid "Could not find template with specified ID" -msgstr "No se pudo encontrar la plantilla con el ID especificado" - -#: lib/editor-helpers.js:33 routes/archive.js:145 routes/campaigns.js:131 -#: routes/campaigns.js:284 routes/campaigns.js:379 routes/campaigns.js:427 -#: routes/campaigns.js:467 routes/campaigns.js:844 routes/campaigns.js:867 -#: routes/campaigns.js:886 routes/campaigns.js:908 routes/triggers.js:146 -msgid "Could not find campaign with specified ID" -msgstr "No se pudo encontrar campaña con el ID especificado" - -#: lib/editor-helpers.js:47 routes/editorapi.js:308 -msgid "Invalid resource type" -msgstr "Tipo de recurso no válido" - -#: lib/feed.js:31 -msgid "Bad status code %s" -msgstr "Mal código de estado %s" - -#: lib/helpers.js:33 -msgid "URL that points to the unsubscribe page" -msgstr "URL que apunta a la página de darse de baja" - -#: lib/helpers.js:36 -msgid "URL that points to the preferences page of the subscriber" -msgstr "URL que apunta a la página de preferencias del suscriptor" - -#: lib/helpers.js:39 -msgid "URL to preview the message in a browser" -msgstr "URL para obtener una vista previa del mensaje en un navegador" - -#: lib/helpers.js:45 lib/models/segments.js:31 -msgid "First name" -msgstr "Nombre" - -#: lib/helpers.js:48 lib/models/segments.js:35 -msgid "Last name" -msgstr "Apellidos" - -#: lib/helpers.js:51 -msgid "Full name (first and last name combined)" -msgstr "Nombre completo (nombre y apellidos)" - -#: lib/helpers.js:54 -msgid "Unique ID that identifies the recipient" -msgstr "ID único que identifica al destinatario" - -#: lib/helpers.js:57 -msgid "Unique ID that identifies the list used for this campaign" -msgstr "ID único que identifica la lista prevista para esta campaña" - -#: lib/helpers.js:60 -msgid "Unique ID that identifies current campaign" -msgstr "ID único que identifica la campaña actual" - -#: lib/helpers.js:68 lib/helpers.js:80 -msgid "content from an RSS entry" -msgstr "Contenido de una entrada RSS" - -#: lib/helpers.js:71 -msgid "RSS entry title" -msgstr "Título de la entrada RSS" - -#: lib/helpers.js:74 -msgid "RSS entry date" -msgstr "Fecha de entrada RSS" - -#: lib/helpers.js:77 -msgid "RSS entry link" -msgstr "Enlace de entrada RSS" - -#: lib/helpers.js:83 -msgid "RSS entry summary" -msgstr "Resumen de entrada RSS" - -#: lib/helpers.js:86 -msgid "RSS entry image URL" -msgstr "URL de la imagen de entrada RSS" - -#: lib/mailer.js:245 -msgid "Invalid mail transport" -msgstr "Modo fe envío de correo no válido" - -#: lib/models/campaigns.js:105 lib/models/campaigns.js:132 -#: lib/models/campaigns.js:205 lib/models/campaigns.js:328 -#: lib/models/campaigns.js:590 lib/models/campaigns.js:723 -msgid "Missing Campaign ID" -msgstr "Falta el ID de campaña" - -#: lib/models/campaigns.js:241 -msgid "Emtpy or too large attahcment" -msgstr "Adjunto vacío o de tamaño superior al posible" - -#: lib/models/campaigns.js:408 lib/models/campaigns.js:600 -msgid "Campaign Name must be set" -msgstr "El nombre de la campaña se debe ajustar" - -#: lib/models/campaigns.js:412 -msgid "RSS URL must be set and needs to be a valid URL" -msgstr "La URL del RSS se debe establecer y debe ser una URL válida" - -#: lib/models/campaigns.js:568 -msgid "Selected template not found" -msgstr "La plantilla seleccionada no se encuentra" - -#: lib/models/campaigns.js:924 -msgid "Invalid or missing message ID" -msgstr "Falta ID del mensaje o es inválido" - -#: lib/models/campaigns.js:1065 -msgid "Unrecognized message status" -msgstr "Estado del mensaje no reconocido" - -#: lib/models/confirmations.js:27 -msgid "Could not store confirmation data" -msgstr "No se pudo almacenar datos de confirmación" - -#: lib/models/fields.js:24 -msgid "Drop Down" -msgstr "Desplegable" - -#: lib/models/fields.js:25 -msgid "Date (MM/DD/YYY)" -msgstr "Fecha (MM/DD/YYY)" - -#: lib/models/fields.js:29 -msgid "JSON value for custom rendering" -msgstr "valor para la representación personalizada JSON" - -#: lib/models/fields.js:30 -msgid "Option" -msgstr "Opción" - -#: lib/models/fields.js:53 lib/models/fields.js:98 lib/models/fields.js:123 -#: lib/models/forms.js:46 lib/models/lists.js:83 lib/models/lists.js:118 -#: lib/models/lists.js:232 lib/models/segments.js:43 lib/models/segments.js:176 -#: lib/models/subscriptions.js:79 lib/models/subscriptions.js:387 -#: lib/models/subscriptions.js:563 lib/models/subscriptions.js:654 -#: lib/models/subscriptions.js:707 lib/models/subscriptions.js:770 -#: lib/models/subscriptions.js:813 -msgid "Missing List ID" -msgstr "Falta el ID de la lista" - -#: lib/models/fields.js:129 -msgid "Option field requires a group to be selected" -msgstr "El campo Opción requiere que un grupo está seleccionado" - -#: lib/models/fields.js:149 lib/models/fields.js:199 -msgid "Missing Field ID" -msgstr "Falta el campo ID" - -#: lib/models/fields.js:153 lib/models/segments.js:185 -#: lib/models/segments.js:225 -msgid "Field Name must be set" -msgstr "El campo Nombre debe establecerse" - -#: lib/models/fields.js:216 -msgid "Custom field not found" -msgstr "Campo personalizado no encontrado" - -#: lib/models/fields.js:289 -msgid "Unknown column type %s" -msgstr "Desconocido el tipo de columna %s" - -#: lib/models/fields.js:293 -msgid "Missing column name" -msgstr "Falta el nombre de la columna" - -#: lib/models/fields.js:297 -msgid "Missing list ID" -msgstr "Falta el ID de la lista" - -#: lib/models/fields.js:305 -msgid "Provided List ID not found" -msgstr "ID proporcionado de la lista no es encontrado" - -#: lib/models/forms.js:70 lib/models/forms.js:113 lib/models/forms.js:201 -#: lib/models/forms.js:291 -msgid "Missing Form ID" -msgstr "Falta ID del Formulario" - -#: lib/models/forms.js:121 lib/models/forms.js:205 -msgid "Form Name must be set" -msgstr "El Nombre del Formulario se debe ajustar" - -#: lib/models/forms.js:307 -msgid "Custom form not found" -msgstr "Formulario personalizado no encontrado" - -#: lib/models/links.js:337 routes/campaigns.js:533 routes/campaigns.js:581 -#: routes/campaigns.js:621 routes/campaigns.js:671 services/sender.js:305 -msgid "Campaign not found" -msgstr "Campaña no encontrada" - -#: lib/models/links.js:345 routes/lists.js:181 services/sender.js:312 -msgid "List not found" -msgstr "Lista no encontrada" - -#: lib/models/links.js:353 -msgid "Subscription not found" -msgstr "Suscripción no encontrada" - -#: lib/models/lists.js:134 lib/models/lists.js:178 -msgid "List Name must be set" -msgstr "El nombre de la lista debe ser ajustado" - -#: lib/models/lists.js:261 -msgid "Missing List CID" -msgstr "Falta CID de la lista" - -#: lib/models/report-templates.js:26 lib/models/report-templates.js:70 -#: lib/models/report-templates.js:142 -msgid "Missing report template ID" -msgstr "Falta ID de plantilla informe" - -#: lib/models/report-templates.js:77 -msgid "Report template name must be set" -msgstr "El nombre de la plantilla informe se debe ajustar" - -#: lib/models/reports.js:40 lib/models/reports.js:110 lib/models/reports.js:188 -msgid "Missing report ID" -msgstr "Falta ID de informe " - -#: lib/models/reports.js:116 -msgid "Report name must be set" -msgstr "Nombre del informe se debe ajustar" - -#: lib/models/segments.js:15 -msgid "Signup country" -msgstr "País de registro" - -#: lib/models/segments.js:19 lib/models/triggers.js:12 -msgid "Sign up date" -msgstr "Fecha de inscripción" - -#: lib/models/segments.js:23 lib/models/triggers.js:16 -msgid "Latest open" -msgstr "Última apertura" - -#: lib/models/segments.js:27 lib/models/triggers.js:20 -msgid "Latest click" -msgstr "Último clic" - -#: lib/models/segments.js:69 lib/models/segments.js:216 -#: lib/models/segments.js:256 lib/models/segments.js:278 -msgid "Missing Segment ID" -msgstr "Falta el ID de segmento" - -#: lib/models/segments.js:85 lib/models/segments.js:549 -#: lib/models/segments.js:658 -msgid "Segment not found" -msgstr "El segmento no se encuentra" - -#: lib/models/segments.js:146 lib/models/segments.js:147 -#: lib/models/segments.js:408 lib/models/segments.js:409 -msgid "%s days after today" -msgstr "%s días después de hoy" - -#: lib/models/segments.js:146 lib/models/segments.js:147 -#: lib/models/segments.js:408 lib/models/segments.js:409 -msgid "%s days before today" -msgstr "%s días antes de hoy" - -#: lib/models/segments.js:148 lib/models/segments.js:410 -msgid "today" -msgstr "hoy" - -#: lib/models/segments.js:189 lib/models/segments.js:229 -msgid "Invalid segment rule type" -msgstr "Tipo de regla de segmento no válido" - -#: lib/models/segments.js:289 lib/models/segments.js:454 routes/segments.js:266 -#: routes/segments.js:300 routes/segments.js:370 routes/segments.js:381 -msgid "Selected segment not found" -msgstr "El segmento seleccionado no se encuentra" - -#: lib/models/segments.js:294 lib/models/segments.js:459 routes/segments.js:272 -#: routes/segments.js:306 routes/segments.js:387 -msgid "Invalid rule type" -msgstr "Tipo de regla no válida" - -#: lib/models/segments.js:358 lib/models/segments.js:434 -#: lib/models/segments.js:524 -msgid "Missing Rule ID" -msgstr "Falta el ID de la regla" - -#: lib/models/segments.js:374 -msgid "Specified rule not found" -msgstr "La regla especificada no se encontra" - -#: lib/models/segments.js:385 -msgid "Specified segment not found" -msgstr "El segmento especificado no se encontra" - -#: lib/models/segments.js:445 -msgid "Selected rule not found" -msgstr "La regla seleccionada no se encontra" - -#: lib/models/subscriptions.js:254 lib/models/subscriptions.js:284 lib/models/subscriptions.js:391 -msgid "Missing Subscription ID" -msgstr "Falta el ID de Suscripción" - -#: lib/models/subscriptions.js:312 -msgid "Missing Subscription email address" -msgstr "Falta el correo electrónico de suscripción" - -#: lib/models/subscriptions.js:567 lib/models/subscriptions.js:817 -msgid "Missing subscription ID" -msgstr "Falta el ID de suscripción" - -#: lib/models/subscriptions.js:658 lib/models/subscriptions.js:711 -#: lib/models/subscriptions.js:747 -msgid "Missing Import ID" -msgstr "Falta el ID de importación" - -#: lib/models/subscriptions.js:839 -msgid "Unknown subscription ID" -msgstr "No se conoce el ID de suscripción" - -#: lib/models/subscriptions.js:844 routes/subscription.js:638 -msgid "Nothing seems to be changed" -msgstr "Nada parece haber sido cambiado" - -#: lib/models/subscriptions.js:910 routes/subscription.js:472 -#: routes/subscription.js:544 routes/subscription.js:580 -#: routes/subscription.js:696 routes/subscription.js:771 -msgid "Subscription not found in this list" -msgstr "La suscripción no se encuentra en esta lista" - -#: lib/models/templates.js:26 lib/models/templates.js:100 -#: lib/models/templates.js:144 -msgid "Missing Template ID" -msgstr "Falta el ID de plantilla" - -#: lib/models/templates.js:55 lib/models/templates.js:104 -msgid "Template Name must be set" -msgstr "El nombre de la plantilla se debe ajustar" - -#: lib/models/triggers.js:29 -msgid "Has Opened" -msgstr "Ha abierto" - -#: lib/models/triggers.js:32 -msgid "Has Clicked" -msgstr "Ha hecho clic" - -#: lib/models/triggers.js:35 -msgid "Not Opened" -msgstr "No ha abierto" - -#: lib/models/triggers.js:38 -msgid "Not Clicked" -msgstr "No ha hecho clic" - -#: lib/models/triggers.js:175 lib/models/triggers.js:212 -msgid "Missing or invalid list ID" -msgstr "Falta ID de lista o es inválido" - -#: lib/models/triggers.js:179 lib/models/triggers.js:264 -msgid "Days in the past are not allowed" -msgstr "No se permiten días pasados" - -#: lib/models/triggers.js:183 lib/models/triggers.js:204 -#: lib/models/triggers.js:268 lib/models/triggers.js:289 -msgid "Missing or invalid trigger rule" -msgstr "Falta Regla encadenante o es inválida" - -#: lib/models/triggers.js:190 lib/models/triggers.js:275 -msgid "Invalid subscription configuration" -msgstr "La configuración de suscripción no es válida" - -#: lib/models/triggers.js:197 lib/models/triggers.js:282 -msgid "Invalid campaign configuration" -msgstr "Configuración de la campaña no es válida" - -#: lib/models/triggers.js:200 lib/models/triggers.js:285 -msgid "A campaing can not be a target for itself" -msgstr "Una campaña no puede ser un objetivo por sí mismo" - -#: lib/models/triggers.js:233 -msgid "Could not store trigger row" -msgstr "No se pudo almacenar el trigger" - -#: lib/models/triggers.js:250 -msgid "Missing or invalid Trigger ID" -msgstr "Falta ID de Trigger o es inválido" - -#: lib/models/triggers.js:317 -msgid "Missing Trigger ID" -msgstr "Falta ID de Trigger" - -#: lib/models/users.js:103 -msgid "Could not store user row" -msgstr "No se pudo almacenar fila de usuario" - -#: lib/models/users.js:173 -msgid "Email Address must be set" -msgstr "El correo electrónico debe estar configurado" - -#: lib/models/users.js:184 -msgid "Failed to check user data" -msgstr "No se ha podido comprobar los datos de usuario" - -#: lib/models/users.js:195 -msgid "" -"Can't change email as another user with the same email address already exists" -msgstr "" -"No se puede cambiar el correo electrónico como otro usuario con la misma " -"dirección de correo electrónico que ya existe" - -#: lib/models/users.js:212 -msgid "Incorrect current password" -msgstr "Contraseña actual incorrecta" - -#: lib/models/users.js:216 -msgid "New password not set" -msgstr "La nueva contraseña no se ha establecido" - -#: lib/models/users.js:220 -msgid "Passwords do not match" -msgstr "Las contraseñas no coinciden" - -#: lib/models/users.js:258 -msgid "User ID not set" -msgstr "El ID de usuario no se ha establecido" - -#: lib/models/users.js:286 -msgid "Username must be set" -msgstr "El nombre de usuario debe configurarse" - -#: lib/models/users.js:323 -msgid "Mailer password change request" -msgstr "Solicitud de cambio de contraseña de correo electrónico" - -#: lib/models/users.js:347 lib/models/users.js:367 -msgid "Missing username or reset token" -msgstr "Falta el nombre de usuario o restablecer Token" - -#: lib/models/users.js:371 -msgid "Invalid new password" -msgstr "Nueva contraseña inválida" - -#: lib/passport.js:40 -msgid "%s logged out" -msgstr "%s desconectado" - -#: lib/passport.js:53 -msgid "Failed to authenticate user" -msgstr "Error de autenticación de usuario" - -#: lib/passport.js:69 -msgid "Logged in as %s" -msgstr "Conectado como %s" - -#: lib/passport.js:128 -msgid "Incorrect username or password" -msgstr "Nombre de usuario o contraseña incorrecta" - -#: lib/subscription-mail-helpers.js:28 -msgid "%s: Subscription Confirmed" -msgstr "%s: Suscripción Confirmada" - -#: lib/subscription-mail-helpers.js:39 -msgid "%s: Email Address Already Registered" -msgstr "%s: Correo electrónico registrado" - -#: lib/subscription-mail-helpers.js:49 -msgid "%s: Please Confirm Email Change in Subscription" -msgstr "%s: Por favor confirma el cambio de correo electrónico de suscripción" - -#: lib/subscription-mail-helpers.js:59 -msgid "%s: Please Confirm Subscription" -msgstr "%s: Por favor confirma la Suscripción" - -#: lib/subscription-mail-helpers.js:69 -msgid "%s: Please Confirm Unsubscription" -msgstr "%s: Por favor confirma la Baja" - -#: lib/subscription-mail-helpers.js:76 -msgid "%s: Unsubscription Confirmed" -msgstr "%s: Baja confirmada :(" - -#: lib/tools.js:154 -msgid "Blocked email address \"%s\"" -msgstr "Correo electrónico bloqueado \"%s\"" - -#: lib/tools.js:163 -msgid "Invalid email address \"%s\"." -msgstr "Correo electrónico inválido \"%s\"." - -#: lib/tools.js:166 -msgid "MX record not found for domain" -msgstr "Registro MX para el dominio no encontrado" - -#: lib/tools.js:169 -msgid "Address domain not found" -msgstr "No se ha encontrado dominio de la dirección" - -#: lib/tools.js:172 -msgid "Address domain name is required" -msgstr "Se requiere el nombre de dominio" - -#: routes/archive.js:31 routes/archive.js:43 routes/archive.js:55 app.js:230 -msgid "Not Found" -msgstr "No encontrado" - -#: routes/archive.js:121 services/sender.js:451 -msgid "Received status code %s from %s" -msgstr "Código de estado recibido %s de %s" - -#: routes/archive.js:153 routes/campaigns.js:894 -msgid "Attachment not found" -msgstr "Adjunto no encontrado" - -#: routes/blacklist.js:13 routes/campaigns.js:26 routes/editorapi.js:35 -#: routes/fields.js:13 routes/forms.js:16 routes/grapejs.js:14 -#: routes/lists.js:50 routes/mosaico.js:14 routes/report-templates.js:20 -#: routes/reports.js:22 routes/segments.js:13 routes/settings.js:23 -#: routes/templates.js:18 routes/triggers.js:18 routes/users.js:75 -#: routes/users.js:120 -msgid "Need to be logged in to access restricted content" -msgstr "Tienes que estar registrado para acceder a contenido restringido" - -#: routes/campaigns.js:117 -msgid "Could not create campaign" -msgstr "No se pudo crear la campaña" - -#: routes/campaigns.js:120 -msgid "Campaign “%s†created" -msgstr "Campaña “%s†creada" - -#: routes/campaigns.js:209 -msgid "Campaign settings updated" -msgstr "Configuración de la campaña actualizada" - -#: routes/campaigns.js:211 -msgid "Campaign settings not updated" -msgstr "La configuración de la campaña no se ha actualizado" - -#: routes/campaigns.js:227 routes/campaigns.js:744 -msgid "Campaign deleted" -msgstr "Campaña eliminada" - -#: routes/campaigns.js:229 routes/campaigns.js:746 -msgid "Could not delete specified campaign" -msgstr "No se pudo eliminar la campaña especificada" - -#: routes/campaigns.js:248 -msgid "Idling" -msgstr "Inactivo/No usado" - -#: routes/campaigns.js:251 -msgid "Scheduled" -msgstr "Programado" - -#: routes/campaigns.js:257 -msgid "Paused" -msgstr "Pausado" - -#: routes/campaigns.js:259 -msgid "Inactive" -msgstr "Inactivo" - -#: routes/campaigns.js:261 -msgid "Active" -msgstr "Activo" - -#: routes/campaigns.js:263 -msgid "Other" -msgstr "Otros" - -#: routes/campaigns.js:421 -msgid "Unknown status selector" -msgstr "Estado seleccionado no conocido" - -#: routes/campaigns.js:762 -msgid "Scheduled sending" -msgstr "Envío programado" - -#: routes/campaigns.js:764 -msgid "Could not schedule sending" -msgstr "No se puede programar el envío" - -#: routes/campaigns.js:776 -msgid "Sending resumed" -msgstr "Envío reanudado" - -#: routes/campaigns.js:778 -msgid "Could not resume sending" -msgstr "No se pudo reanudar el envío" - -#: routes/campaigns.js:790 -msgid "Sending reset" -msgstr "Envío reiniciado" - -#: routes/campaigns.js:792 -msgid "Could not reset sending" -msgstr "No se ha podido reiniciar el envío" - -#: routes/campaigns.js:804 routes/campaigns.js:832 -msgid "Sending paused" -msgstr "Envío pausado" - -#: routes/campaigns.js:806 routes/campaigns.js:834 -msgid "Could not pause sending" -msgstr "No se ha podido pausar el envío" - -#: routes/campaigns.js:818 -msgid "Sending activated" -msgstr "Envío activado" - -#: routes/campaigns.js:820 -msgid "Could not activate sending" -msgstr "No se ha podido activar el envío" - -#: routes/campaigns.js:855 -msgid "Attachment uploaded" -msgstr "Adjunto subido" - -#: routes/campaigns.js:857 -msgid "Could not store attachment" -msgstr "No se ha podido almacenar el adjunto" - -#: routes/campaigns.js:874 -msgid "Attachment deleted" -msgstr "Adjunto eliminado" - -#: routes/campaigns.js:876 -msgid "Could not delete attachment" -msgstr "No se ha podido eliminar el adjunto" - -#: routes/editorapi.js:41 -msgid "Invalid editor name" -msgstr "Nombre de Editor inválido" - -#: routes/editorapi.js:237 routes/editorapi.js:275 -msgid "Method not supported" -msgstr "Método no soportado" - -#: routes/editorapi.js:352 -msgid "Invalid resource type or ID" -msgstr "Tipo de recurso o ID no válido" - -#: routes/fields.js:28 routes/fields.js:64 routes/fields.js:118 -#: routes/forms.js:31 routes/forms.js:63 routes/forms.js:94 -#: routes/segments.js:28 routes/segments.js:59 routes/segments.js:102 -#: routes/segments.js:151 routes/segments.js:223 routes/segments.js:255 -#: routes/segments.js:289 routes/segments.js:336 routes/segments.js:359 -msgid "Selected list ID not found" -msgstr "ID de lista seleccionado no encontado" - -#: routes/fields.js:102 -msgid "Could not create custom field" -msgstr "No se ha podido crear campo personalizado" - -#: routes/fields.js:129 -msgid "Selected field not found" -msgstr "Campo seleccionado no encontrado" - -#: routes/fields.js:165 -msgid "Field settings updated" -msgstr "Configuración del campo actualizado" - -#: routes/fields.js:167 -msgid "Field settings not updated" -msgstr "Configuración del campo no actualizado" - -#: routes/fields.js:183 -msgid "Custom field deleted" -msgstr "Campo personalizado eliminado" - -#: routes/fields.js:185 -msgid "Could not delete specified field" -msgstr "No se pudo eliminar el campo especificado" - -#: routes/forms.js:78 -msgid "Could not create custom form" -msgstr "No se pudo crear el formulario personalizado" - -#: routes/forms.js:105 -msgid "Selected form not found" -msgstr "El formulario seleccionado no se encuentra" - -#: routes/forms.js:136 -msgid "The plaintext version for this email" -msgstr "Versión en formato texto para este correo electrónico" - -#: routes/forms.js:137 -msgid "Custom forms use MJML for formatting" -msgstr "Formularios personalizados utilizan MJML para dar formato" - -#: routes/forms.js:138 -msgid "See the MJML documentation here" -msgstr "" -"Consulte la documentación de MJML aquí " - -#: routes/forms.js:146 -msgid "Layout" -msgstr "Diseño" - -#: routes/forms.js:152 -msgid "Form Input Style" -msgstr "Estilo de entrada de Formulario" - -#: routes/forms.js:154 -msgid "" -"This CSS stylesheet defines the appearance of form input elements and alerts" -msgstr "" -"Esta hoja de estilo CSS define el aspecto de los elementos de entrada de " -"formulario y alertas" - -#: routes/forms.js:160 -msgid "Web - Subscribe" -msgstr "Web - Suscribirse" - -#: routes/forms.js:165 -msgid "Web - Confirm Subscription Notice" -msgstr "Web - Aviso Confirmar suscripción" - -#: routes/forms.js:170 -msgid "Mail - Confirm Subscription (MJML)" -msgstr "Mail - Confirmar suscripción (MJML)" - -#: routes/forms.js:175 -msgid "Mail - Confirm Subscription (Text)" -msgstr "Mail - Confirmar suscripción (texto)" - -#: routes/forms.js:180 -msgid "Mail - Already Subscribed (MJML)" -msgstr "Mail - Ya suscrito (MJML)" - -#: routes/forms.js:185 -msgid "Mail - Already Subscribed (Text)" -msgstr "Mail - Ya Suscrito (texto)" - -#: routes/forms.js:190 -msgid "Web - Subscribed Notice" -msgstr "Web - Aviso Suscripción" - -#: routes/forms.js:195 -msgid "Mail - Subscription Confirmed (MJML)" -msgstr "Mail - Suscripción confirmada (MJML)" - -#: routes/forms.js:200 -msgid "Mail - Subscription Confirmed (Text)" -msgstr "Mail - Suscripción confirmada (texto)" - -#: routes/forms.js:208 -msgid "Web - Manage Preferences" -msgstr "Web - Gestión de Preferencias" - -#: routes/forms.js:213 -msgid "Web - Manage Address" -msgstr "Web - Gestión de Dirección" - -#: routes/forms.js:218 -msgid "Web - Updated Notice" -msgstr "Web - Aviso actualizado" - -#: routes/forms.js:226 -msgid "Web - Unsubscribe" -msgstr "Web - Darse de baja" - -#: routes/forms.js:231 -msgid "Web - Confirm Unsubscription Notice" -msgstr "Web - Confirmar Aviso de baja" - -#: routes/forms.js:236 -msgid "Mail - Confirm Unsubscription (MJML)" -msgstr "Mail - Confirmar baja (MJML)" - -#: routes/forms.js:241 -msgid "Mail - Confirm Unsubscription (Text)" -msgstr "Mail - Confirmar baja (MJML)" - -#: routes/forms.js:246 -msgid "Mail - Confirm Address Change (MJML)" -msgstr "Mail - Confirmar Cambio de dirección (MJML)" - -#: routes/forms.js:251 -msgid "Mail - Confirm Address Change (Text)" -msgstr "Mail - Confirmar Cambio de dirección (texto)" - -#: routes/forms.js:256 -msgid "Web - Unsubscribed Notice" -msgstr "Web - Aviso Baja realizada" - -#: routes/forms.js:261 -msgid "Mail - Unsubscription Confirmed (MJML)" -msgstr "Mail - Baja Confirmada (MJML)" - -#: routes/forms.js:266 -msgid "Mail - Unsubscription Confirmed (Text)" -msgstr "Mail - Baja Confirmada (texto)" - -#: routes/forms.js:271 -msgid "Web - Manual Unsubscribe Notice" -msgstr "Web - Aviso de Manual de Baja" - -#: routes/forms.js:309 -msgid "Form settings updated" -msgstr "Configuración de formulario Actualizada" - -#: routes/forms.js:311 -msgid "Form settings not updated" -msgstr "Configuración de formulario No Actualizada" - -#: routes/forms.js:327 -msgid "Custom form deleted" -msgstr "Formulario Personalizado eliminado" - -#: routes/forms.js:329 -msgid "Could not delete specified form" -msgstr "No se ha podido eliminar Formulario especificado" - -#: routes/index.js:11 -msgid "Self Hosted Newsletter App" -msgstr "Auto alojamiento de Aplicación de Boletín " - -#: routes/links.js:39 -msgid "Oops, we couldn't find a link for the URL you clicked" -msgstr "" -"Vaya, no hemos podido encontrar un vínculo para la URL que ha hecho clic" - -#: routes/lists.js:82 -msgid "Could not create list" -msgstr "No se ha podido crear la lista" - -#: routes/lists.js:85 -msgid "List created" -msgstr "Lista creada" - -#: routes/lists.js:93 routes/lists.js:271 routes/lists.js:336 -#: routes/lists.js:375 routes/lists.js:444 routes/lists.js:469 -#: routes/lists.js:514 routes/lists.js:536 routes/lists.js:565 -#: routes/lists.js:644 routes/lists.js:701 routes/lists.js:728 -msgid "Could not find list with specified ID" -msgstr "No se ha podido encontrar la lista con el ID especificado" - -#: routes/lists.js:122 -msgid "List settings updated" -msgstr "Configuración de la lista actualizado" - -#: routes/lists.js:124 -msgid "List settings not updated" -msgstr "Configuración de la lista no actualizado" - -#: routes/lists.js:142 -msgid "List deleted" -msgstr "Lista eliminada" - -#: routes/lists.js:144 -msgid "Could not delete specified list" -msgstr "No se ha eliminado la lista especificada" - -#: routes/lists.js:206 -msgid "Unknown" -msgstr "desconocido" - -#: routes/lists.js:206 -msgid "Complained" -msgstr "Queja" - -#: routes/lists.js:237 -msgid "Invalid key" -msgstr "Clave inválida" - -#: routes/lists.js:239 -msgid "Expired key" -msgstr "Clave caducada" - -#: routes/lists.js:241 -msgid "Revoked key" -msgstr "Clave anulada" - -#: routes/lists.js:291 -msgid "Initializing" -msgstr "Iniciando" - -#: routes/lists.js:294 -msgid "Initialized" -msgstr "Iniciado" - -#: routes/lists.js:297 -msgid "Importing" -msgstr "Importando" - -#: routes/lists.js:303 -msgid "Errored" -msgstr "Erróneo" - -#: routes/lists.js:381 routes/lists.js:450 routes/lists.js:475 -msgid "Could not find subscriber with specified ID" -msgstr "No se pudo encontrar el Suscriptor con el especificado ID" - -#: routes/lists.js:427 -msgid "Could not add subscription" -msgstr "No se pudo añadir la suscripción" - -#: routes/lists.js:432 -msgid "%s was successfully added to your list" -msgstr "%s ha sido añadido a su lista con éxito" - -#: routes/lists.js:434 -msgid "%s was not added to your list" -msgstr "%s no ha sido añadido a su lista" - -#: routes/lists.js:456 -msgid "Could not unsubscribe user" -msgstr "No se ha dado de baja al usuario" - -#: routes/lists.js:459 -msgid "%s was successfully unsubscribed from your list" -msgstr "%s ha sido dado de baja de su lista con éxito" - -#: routes/lists.js:479 -msgid "%s was successfully removed from your list" -msgstr "%s ha sido eliminado de su lista con éxito" - -#: routes/lists.js:491 -msgid "Another subscriber with email address %s already exists" -msgstr "Otro suscriptor con correo electrónico %s ya existe" - -#: routes/lists.js:498 -msgid "Subscription settings updated" -msgstr "Configuración de suscripción actualizada" - -#: routes/lists.js:500 -msgid "Subscription settings not updated" -msgstr "Configuración de suscripción no actualizada" - -#: routes/lists.js:542 routes/lists.js:650 routes/lists.js:686 -#: routes/lists.js:714 routes/lists.js:734 -msgid "Could not find import data with specified ID" -msgstr "No se pudo encontrar datos de importación con especificado ID" - -#: routes/lists.js:573 -msgid "Could not process CSV" -msgstr "No se pudo procesar CSV" - -#: routes/lists.js:582 -msgid "Could not create importer" -msgstr "No se pudo crear importación" - -#: routes/lists.js:633 -msgid "Empty file" -msgstr "Archivo vacío" - -#: routes/lists.js:690 -msgid "Import started" -msgstr "Importación empezada" - -#: routes/lists.js:718 -msgid "Import restarted" -msgstr "Importación reiniciada" - -#: routes/lists.js:784 -msgid "One-step (i.e. no email with confirmation link)" -msgstr "Un paso (es decir, no email de confirmación)" - -#: routes/lists.js:790 -msgid "" -"One-step with unsubscription form (i.e. no email with confirmation link)" -msgstr "Un paso con formulario de baja (es decir, no email de confirmación)" - -#: routes/lists.js:796 -msgid "Two-step (i.e. an email with confirmation link will be sent)" -msgstr "Dos pasos (es decir, se envía email de confirmación)" - -#: routes/lists.js:802 -msgid "" -"Two-step with unsubscription form (i.e. an email with confirmation link will " -"be sent)" -msgstr "" -"Dos pasos con formulario de baja (es decir, se envía email de confirmación)" - -#: routes/lists.js:808 -msgid "" -"Manual (i.e. unsubscription has to be performed by the list administrator)" -msgstr "Manual (es decir, baja realizada por administrador)" - -#: routes/report-templates.js:246 -msgid "Could not create report template" -msgstr "No se pudo crear informe de plantillas" - -#: routes/report-templates.js:249 -msgid "Report template “%s†created" -msgstr "Informe de plantilla “%s†creado" - -#: routes/report-templates.js:257 -msgid "Could not find report template with specified ID" -msgstr "No se encuentra informe de plantilla con ID especificado" - -#: routes/report-templates.js:280 -msgid "Report template updated" -msgstr "Informe de plantilla actualizada" - -#: routes/report-templates.js:282 -msgid "Report template not updated" -msgstr "Informe de plantilla no actualizada" - -#: routes/report-templates.js:298 -msgid "Report template deleted" -msgstr "Informe de plantilla eliminada" - -#: routes/report-templates.js:300 -msgid "Could not delete specified report template" -msgstr "No se pudo eliminar Informe de plantilla especificado" - -#: routes/reports.js:124 routes/reports.js:130 -msgid "Could not create report" -msgstr "No se pudo crear informe" - -#: routes/reports.js:135 -msgid "Report “%s†created" -msgstr "Informe \"%s\" creado" - -#: routes/reports.js:146 routes/reports.js:224 routes/reports.js:239 -#: routes/reports.js:265 routes/reports.js:275 -msgid "Could not find report with specified ID" -msgstr "No se pudo encontrar el informe con el ID especificado" - -#: routes/reports.js:188 routes/reports.js:194 -msgid "Could not update report" -msgstr "No se pudo actualizar el informe" - -#: routes/reports.js:197 -msgid "Report updated" -msgstr "Informe actualizado" - -#: routes/reports.js:199 -msgid "Report not updated" -msgstr "Informe no actualizado" - -#: routes/reports.js:212 -msgid "Report deleted" -msgstr "Informe eliminado" - -#: routes/reports.js:214 -msgid "Could not delete specified report" -msgstr "No se pudo eliminar informe especificado" - -#: routes/reports.js:230 -msgid "Could not find report template" -msgstr "No se pudo encontrar informe especificado" - -#: routes/reports.js:260 -msgid "Unknown type of template" -msgstr "Tipo desconocido de la plantilla" - -#: routes/segments.js:86 -msgid "Could not create segment" -msgstr "No se pudo crear el segmento" - -#: routes/segments.js:89 -msgid "Segment created" -msgstr "Segmento creado" - -#: routes/segments.js:113 -msgid "Selected segment ID not found" -msgstr "ID de segmento seleccionado no encontrado" - -#: routes/segments.js:188 -msgid "Segment settings updated" -msgstr "Ajustes de segmento actualizados" - -#: routes/segments.js:190 -msgid "Segment settings not updated" -msgstr "Ajustes de segmento no actualizados" - -#: routes/segments.js:206 -msgid "Segment deleted" -msgstr "Segmento eliminado" - -#: routes/segments.js:208 -msgid "Could not delete specified segment" -msgstr "No se pudo eliminar segmento especificado" - -#: routes/segments.js:342 -msgid "Could not create rule" -msgstr "No se pudo crear la regla" - -#: routes/segments.js:345 -msgid "Rule created" -msgstr "Regla creada" - -#: routes/segments.js:410 -msgid "Rule settings updated" -msgstr "Ajustes de regla actualizados" - -#: routes/segments.js:412 -msgid "Rule settings not updated" -msgstr "Ajustes de regla no actualizados" - -#: routes/segments.js:428 -msgid "Rule deleted" -msgstr "Regla eliminada" - -#: routes/segments.js:430 -msgid "Could not delete specified rule" -msgstr "No se pudo eliminar regla especificada" - -#: routes/settings.js:39 -msgid "Use TLS" -msgstr "Usar TLS" - -#: routes/settings.js:40 -msgid "usually selected for port 465" -msgstr "Normalmente seleccionado para el puerto 465" - -#: routes/settings.js:44 -msgid "Use STARTTLS" -msgstr "Usar STARTTLS" - -#: routes/settings.js:45 -msgid "usually selected for port 587 and 25" -msgstr "Generalmente seleccionado por el puerto 587 y 25" - -#: routes/settings.js:49 -msgid "Do not use encryption" -msgstr "No utilice el cifrado" - -#: routes/settings.js:115 -msgid "Settings updated" -msgstr "Ajustes actualizados" - -#: routes/settings.js:173 -msgid "Invalid mail transport type" -msgstr "Tipo de Correo Transporte no válido" - -#: routes/settings.js:184 -msgid "Invalid Access Key" -msgstr "Clave de acceso inválido" - -#: routes/settings.js:187 -msgid "Invalid AWS credentials" -msgstr "Credenciales AWS inválidas" - -#: routes/settings.js:190 -msgid "Connection refused, check hostname and port." -msgstr "Conexión rechazada, verificar nombre de host y puerto " - -#: routes/settings.js:195 -msgid "" -"Did not receive greeting message from server. This might happen when " -"connecting to a TLS port without using TLS." -msgstr "" -"No se recibió el mensaje de saludo de servidor. Esto puede ocurrir cuando se " -"conecta a un puerto TLS sin utilizar TLS." - -#: routes/settings.js:197 -msgid "Did not receive greeting message from server." -msgstr "No se recibió el mensaje de saludo de servidor." - -#: routes/settings.js:200 -msgid "" -"Connection timed out. Check your firewall settings, destination port is " -"probably blocked." -msgstr "" -"Tiempo de conexión agotado. Comprobar la configuración del firewall, puerto " -"de destino probablemente está bloqueado." - -#: routes/settings.js:205 -msgid "Authentication not accepted, server expects STARTTLS to be used." -msgstr "Autenticación no aceptada, servidor STARTTLS espera a ser utilizados." - -#: routes/settings.js:207 -msgid "Authentication failed, check username and password." -msgstr "Error de autenticación, compruebe nombre de usuario y contraseña." - -#: routes/settings.js:217 -msgid "Failed Mailer verification." -msgstr "Verificación Remitente fallido." - -#: routes/settings.js:217 -msgid "Server responded with: \"%s\"" -msgstr "Servidor respondió con: \"%s\"" - -#: routes/settings.js:221 -msgid "Mailer settings verified, ready to send some mail!" -msgstr "Ajustes de remitente verificados, listo para enviar algún correo!" - -#: routes/subscription.js:33 -msgid "Not allowed by CORS" -msgstr "No es permitido por CORS" - -#: routes/subscription.js:61 routes/subscription.js:175 -#: routes/subscription.js:285 routes/subscription.js:381 -#: routes/subscription.js:458 routes/subscription.js:534 -#: routes/subscription.js:565 routes/subscription.js:625 -#: routes/subscription.js:681 routes/subscription.js:759 -#: routes/subscription.js:896 -msgid "Selected list not found" -msgstr "La lista seleccionada no se encuentra" - -#: routes/subscription.js:92 -msgid "Could not save subscription" -msgstr "No se pudo guardar la suscripción" - -#: routes/subscription.js:117 -msgid "Subscriber info corrupted or missing" -msgstr "Datos de Suscripción dañados o perdidos" - -#: routes/subscription.js:135 -msgid "Email address changed" -msgstr "Correo electrónico ha cambiado" - -#: routes/subscription.js:178 routes/subscription.js:384 -msgid "The list does not allow public subscriptions." -msgstr "La lista no permite suscripciones públicas." - -#: routes/subscription.js:354 routes/subscription.js:356 -msgid "Email address not set" -msgstr "Correo electrónico no establecido" - -#: routes/subscription.js:652 -msgid "" -"An email with further instructions has been sent to the provided address" -msgstr "" -"Un correo electrónico con más instrucciones ha sido enviado a la dirección " -"proporcionada" - -#: routes/subscription.js:860 routes/subscription.js:876 -msgid "Public key is not set" -msgstr "La clave pública no se ha establecido" - -#: routes/templates.js:84 -msgid "Could not create template" -msgstr "No se pudo crear la plantilla" - -#: routes/templates.js:87 -msgid "Template created" -msgstr "Planilla creada" - -#: routes/templates.js:126 -msgid "Template settings updated" -msgstr "Configuración de plantilla actualizada" - -#: routes/templates.js:128 -msgid "Template settings not updated" -msgstr "Configuración de plantilla no actualizada" - -#: routes/templates.js:144 -msgid "Template deleted" -msgstr "Plantilla eliminada" - -#: routes/templates.js:146 -msgid "Could not delete specified template" -msgstr "No se pudo eliminar la plantilla especificada" - -#: routes/triggers.js:62 routes/triggers.js:79 routes/triggers.js:154 -msgid "Could not find selected list" -msgstr "No se pudo encontrar lista seleccionada" - -#: routes/triggers.js:131 -msgid "Could not create trigger" -msgstr "No se pudo crear el Trigger" - -#: routes/triggers.js:138 -msgid "Trigger “%s†created" -msgstr "Trigger “%s†creado" - -#: routes/triggers.js:214 -msgid "Trigger settings updated" -msgstr "Ajustes de Trigger actualizados" - -#: routes/triggers.js:216 -msgid "Trigger settings not updated" -msgstr "Ajustes de Trigger no actualizados" - -#: routes/triggers.js:228 -msgid "Trigger deleted" -msgstr "Trigger eliminado" - -#: routes/triggers.js:230 -msgid "Could not delete specified trigger" -msgstr "No se pudo eliminar el Trigger especificado" - -#: routes/triggers.js:242 -msgid "Could not find trigger with specified ID" -msgstr "No se pudo encontrar el Trigger con el ID especificado" - -#: routes/triggers.js:255 -msgid "Trigger not found" -msgstr "Trigger no encontrado" - -#: routes/users.js:32 -msgid "" -"An email with password reset instructions has been sent to your email " -"address, if it exists on our system." -msgstr "" -"Un correo electrónico con instrucciones para restablecer la contraseña ha " -"sido enviada a su dirección de correo electrónico, si existe en nuestro " -"sistema." - -#: routes/users.js:46 routes/users.js:64 -msgid "Unknown or expired reset token" -msgstr "Reinicio de Token desconocido o caducado" - -#: routes/users.js:66 -msgid "Your password has been changed successfully" -msgstr "Tu contraseña ha sido cambiada exitosamente" - -#: routes/users.js:87 -msgid "User data not found" -msgstr "Datos de usuario no encontrados" - -#: routes/users.js:110 -msgid "Access token updated" -msgstr "Token de acceso actualizado" - -#: routes/users.js:112 -msgid "Access token not updated" -msgstr "Token de acceso no actualizado" - -#: routes/users.js:139 -msgid "Account information updated" -msgstr "Información de cuenta actualizada" - -#: routes/users.js:141 -msgid "Account information not updated" -msgstr "Información de cuenta no actualizada" - -#: services/feedcheck.js:51 -msgid "Feed error: %s" -msgstr "Error de Feed: %s" - -#: services/feedcheck.js:54 -msgid "Found %s new campaign messages from feed" -msgstr "Encontrado %s nueva campaña de mensajes desde Feed" - -#: services/feedcheck.js:56 -msgid "Found nothing new from the feed" -msgstr "No se ha encontrado nada nuevo en el Feed" - -#: services/feedcheck.js:146 -msgid "RSS entry %s" -msgstr "Entrada RSS %s" - -#: services/importer.js:249 -msgid "Could not access import file" -msgstr "No se pudo acceder al archivo de importación" - -#: services/triggers.js:51 -msgid "Unknown trigger type %s" -msgstr "Desconocido tipo de Trigger %s" diff --git a/languages/et.mo b/languages/et.mo deleted file mode 100644 index 18e5f344..00000000 Binary files a/languages/et.mo and /dev/null differ diff --git a/languages/et.po b/languages/et.po deleted file mode 100644 index 88ad5bdb..00000000 --- a/languages/et.po +++ /dev/null @@ -1,3551 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: \n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-03-07 21:44+0200\n" -"PO-Revision-Date: 2017-03-08 20:25+0200\n" -"Last-Translator: \n" -"Language-Team: \n" -"Language: et\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 1.8.12\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: views/archive/layout.hbs:1 views/layout.hbs:1 -#: views/subscription/layout.hbs:1 routes/index.js:11 -msgid "Self hosted email newsletter app" -msgstr "Enda majutatud e-posti uudiskirjade rakendus" - -#: views/campaigns/bounced.hbs:1 views/campaigns/campaigns.hbs:1 -#: views/campaigns/clicked.hbs:1 views/campaigns/complained.hbs:1 -#: views/campaigns/create-rss.hbs:1 views/campaigns/create-triggered.hbs:1 -#: views/campaigns/create.hbs:1 views/campaigns/delivered.hbs:1 -#: views/campaigns/edit-rss.hbs:1 views/campaigns/edit-triggered.hbs:1 -#: views/campaigns/edit.hbs:1 views/campaigns/opened.hbs:1 -#: views/campaigns/unsubscribed.hbs:1 views/campaigns/upload-attachment.hbs:1 -#: views/campaigns/view.hbs:1 views/lists/create.hbs:1 views/lists/edit.hbs:1 -#: views/lists/fields/create.hbs:1 views/lists/fields/edit.hbs:1 -#: views/lists/fields/fields.hbs:1 views/lists/lists.hbs:1 -#: views/lists/segments/create.hbs:1 views/lists/segments/edit.hbs:1 -#: views/lists/segments/rule-configure.hbs:1 -#: views/lists/segments/rule-create.hbs:1 views/lists/segments/rule-edit.hbs:1 -#: views/lists/segments/segments.hbs:1 views/lists/segments/view.hbs:1 -#: views/lists/subscription/add.hbs:1 views/lists/subscription/edit.hbs:1 -#: views/lists/subscription/import-failed.hbs:1 -#: views/lists/subscription/import-preview.hbs:1 -#: views/lists/subscription/import.hbs:1 views/lists/view.hbs:1 -#: views/settings.hbs:1 views/templates/create.hbs:1 views/templates/edit.hbs:1 -#: views/templates/templates.hbs:1 views/triggers/create-select.hbs:1 -#: views/triggers/create.hbs:1 views/triggers/edit.hbs:1 -#: views/triggers/triggered.hbs:1 views/triggers/triggers.hbs:1 -#: views/users/account.hbs:1 views/users/api.hbs:1 views/users/forgot.hbs:1 -#: views/users/login.hbs:1 views/users/reset.hbs:1 app.js:169 -msgid "Home" -msgstr "Esileht" - -#: views/campaigns/bounced.hbs:2 views/campaigns/campaigns.hbs:2 -#: views/campaigns/campaigns.hbs:7 views/campaigns/clicked.hbs:2 -#: views/campaigns/complained.hbs:2 views/campaigns/create-rss.hbs:2 -#: views/campaigns/create-triggered.hbs:2 views/campaigns/create.hbs:2 -#: views/campaigns/delivered.hbs:2 views/campaigns/edit-rss.hbs:2 -#: views/campaigns/edit-triggered.hbs:2 views/campaigns/edit.hbs:2 -#: views/campaigns/opened.hbs:2 views/campaigns/unsubscribed.hbs:2 -#: views/campaigns/upload-attachment.hbs:2 views/campaigns/view.hbs:2 -#: lib/tools.js:119 routes/campaigns.js:35 -msgid "Campaigns" -msgstr "Kampaaniad" - -#: views/campaigns/bounced.hbs:3 views/campaigns/bounced.hbs:4 -msgid "Bounced info" -msgstr "Tagasipõrgete info" - -#: views/campaigns/bounced.hbs:5 views/campaigns/clicked.hbs:5 -#: views/campaigns/complained.hbs:5 views/campaigns/delivered.hbs:5 -#: views/campaigns/edit-rss.hbs:5 views/campaigns/edit-triggered.hbs:5 -#: views/campaigns/edit.hbs:5 views/campaigns/opened.hbs:5 -#: views/campaigns/unsubscribed.hbs:5 views/campaigns/upload-attachment.hbs:6 -msgid "View campaign" -msgstr "Vaata kampaaniat" - -#: views/campaigns/bounced.hbs:6 -msgid "Subscribers who bounced and were unsubscribed:" -msgstr "Liikmed, kes põrkusid tagasi:" - -#: views/campaigns/bounced.hbs:7 views/campaigns/clicked.hbs:13 -#: views/campaigns/complained.hbs:7 views/campaigns/delivered.hbs:7 -#: views/campaigns/opened.hbs:7 views/campaigns/unsubscribed.hbs:7 -#: views/lists/subscription/import-failed.hbs:9 views/lists/view.hbs:18 -#: views/triggers/triggered.hbs:6 -msgid "Address" -msgstr "Aadress" - -#: views/campaigns/bounced.hbs:8 views/campaigns/clicked.hbs:14 -#: views/campaigns/complained.hbs:8 views/campaigns/delivered.hbs:8 -#: views/campaigns/opened.hbs:8 views/campaigns/unsubscribed.hbs:8 -#: views/lists/subscription/add.hbs:6 views/lists/subscription/edit.hbs:7 -#: views/lists/subscription/import-preview.hbs:7 views/lists/view.hbs:19 -#: views/subscription/manage.hbs:4 views/subscription/subscribe.hbs:4 -#: views/triggers/triggered.hbs:7 -msgid "First Name" -msgstr "Eesnimi" - -#: views/campaigns/bounced.hbs:9 views/campaigns/clicked.hbs:15 -#: views/campaigns/complained.hbs:9 views/campaigns/delivered.hbs:9 -#: views/campaigns/opened.hbs:9 views/campaigns/unsubscribed.hbs:9 -#: views/lists/subscription/add.hbs:7 views/lists/subscription/edit.hbs:8 -#: views/lists/subscription/import-preview.hbs:8 views/lists/view.hbs:20 -#: views/subscription/manage.hbs:5 views/subscription/subscribe.hbs:5 -#: views/triggers/triggered.hbs:8 -msgid "Last Name" -msgstr "Perekonnanimi" - -#: views/campaigns/bounced.hbs:10 views/campaigns/complained.hbs:10 -#: views/campaigns/delivered.hbs:10 views/campaigns/unsubscribed.hbs:10 -msgid "SMTP response" -msgstr "SMTP vastus" - -#: views/campaigns/bounced.hbs:11 -msgid "Bounce time" -msgstr "Tagasipõrke aeg" - -#: views/campaigns/campaigns.hbs:3 views/campaigns/create-triggered.hbs:24 -#: views/campaigns/create.hbs:3 views/campaigns/create.hbs:4 -#: views/campaigns/create.hbs:27 -msgid "Create Campaign" -msgstr "Loo kampaania" - -#: views/campaigns/campaigns.hbs:4 -msgid "Regular Campaign" -msgstr "Tavaline kampaania" - -#: views/campaigns/campaigns.hbs:5 -msgid "RSS Campaign" -msgstr "RSS kampaania" - -#: views/campaigns/campaigns.hbs:6 -msgid "Triggered Campaign" -msgstr "Automaatkampaania" - -#: views/campaigns/campaigns.hbs:8 views/campaigns/create-rss.hbs:6 -#: views/campaigns/create-triggered.hbs:5 views/campaigns/create.hbs:5 -#: views/campaigns/edit-rss.hbs:8 views/campaigns/edit-triggered.hbs:9 -#: views/campaigns/edit.hbs:10 views/campaigns/view.hbs:71 -#: views/lists/create.hbs:5 views/lists/edit.hbs:6 -#: views/lists/fields/fields.hbs:6 views/lists/lists.hbs:5 -#: views/lists/segments/segments.hbs:6 views/templates/templates.hbs:5 -#: views/triggers/triggers.hbs:5 -msgid "Name" -msgstr "Nimi" - -#: views/campaigns/campaigns.hbs:9 views/campaigns/create-rss.hbs:8 -#: views/campaigns/create-triggered.hbs:7 views/campaigns/create.hbs:7 -#: views/campaigns/edit-rss.hbs:10 views/campaigns/edit-triggered.hbs:11 -#: views/campaigns/edit.hbs:12 views/campaigns/view.hbs:72 -#: views/lists/create.hbs:7 views/lists/edit.hbs:10 views/lists/lists.hbs:8 -#: views/partials/merge-tag-reference.hbs:4 views/templates/create.hbs:9 -#: views/templates/edit.hbs:8 views/templates/templates.hbs:6 -#: views/triggers/create.hbs:7 views/triggers/edit.hbs:8 -#: views/triggers/triggers.hbs:7 -msgid "Description" -msgstr "Kirjeldus" - -#: views/campaigns/campaigns.hbs:10 views/campaigns/view.hbs:73 -#: views/lists/view.hbs:21 views/lists/view.hbs:29 -#: views/triggers/triggers.hbs:6 -msgid "Status" -msgstr "Staatus" - -#: views/campaigns/campaigns.hbs:11 views/campaigns/view.hbs:74 -#: views/lists/view.hbs:22 views/lists/view.hbs:23 -msgid "Created" -msgstr "Loodud" - -#: views/campaigns/clicked.hbs:3 views/campaigns/clicked.hbs:4 -msgid "Link info" -msgstr "Lingi info" - -#: views/campaigns/clicked.hbs:6 views/campaigns/view.hbs:61 -msgid "URL" -msgstr "URL" - -#: views/campaigns/clicked.hbs:7 views/campaigns/view.hbs:62 -msgid "Clicks" -msgstr "Klikke" - -#: views/campaigns/clicked.hbs:8 views/campaigns/view.hbs:63 -msgid "% of clicks" -msgstr "% klikkidest" - -#: views/campaigns/clicked.hbs:9 views/campaigns/view.hbs:64 -msgid "% of messages" -msgstr "% kirjadest" - -#: views/campaigns/clicked.hbs:10 views/campaigns/view.hbs:67 -msgid "Aggregated clicks" -msgstr "Agregeeritud klikid" - -#: views/campaigns/clicked.hbs:11 -msgid "Subscribers who clicked on a link:" -msgstr "Liikmes, kes klikkisid lingile" - -#: views/campaigns/clicked.hbs:12 -msgid "Subscribers who clicked on this link:" -msgstr "Liikmed, kes klikkisid sellele lingile" - -#: views/campaigns/clicked.hbs:16 -msgid "First click time" -msgstr "Esimese kliki aeg" - -#: views/campaigns/clicked.hbs:17 -msgid "Click count" -msgstr "Klikkide arv" - -#: views/campaigns/complained.hbs:3 views/campaigns/complained.hbs:4 -msgid "Complained info" -msgstr "Kaebuste info" - -#: views/campaigns/complained.hbs:6 -msgid "Subscribers who complained and were unsubscribed:" -msgstr "Liikmed, kes kaebasid ja kes eemaldati listist:" - -#: views/campaigns/complained.hbs:11 -msgid "Complain time" -msgstr "Kaebuse aeg" - -#: views/campaigns/create-rss.hbs:3 views/campaigns/create-rss.hbs:4 -#: views/campaigns/create-rss.hbs:20 -msgid "Create RSS Campaign" -msgstr "Loo RSS kampaania" - -#: views/campaigns/create-rss.hbs:5 views/campaigns/edit-rss.hbs:6 -msgid "" -"RSS campaign sets up a tracker against selected RSS feed address. Whenever a " -"new entry is found from this feed it is sent to selected list as an email " -"message." -msgstr "" -"RSS kampaania seab üles träkkeri RSS aadressi pihta. Kui sellest leitakse " -"uus postitus, siis see saadetakse valitud listile uue kirjana" - -#: views/campaigns/create-rss.hbs:7 views/campaigns/create-triggered.hbs:6 -#: views/campaigns/create.hbs:6 views/campaigns/edit-rss.hbs:9 -#: views/campaigns/edit-triggered.hbs:10 views/campaigns/edit.hbs:11 -msgid "Campaign Name" -msgstr "Kampaania nimi" - -#: views/campaigns/create-rss.hbs:9 views/campaigns/create-triggered.hbs:8 -#: views/campaigns/create.hbs:8 views/campaigns/edit-rss.hbs:11 -#: views/campaigns/edit-triggered.hbs:12 views/campaigns/edit.hbs:13 -#: views/lists/create.hbs:8 views/lists/edit.hbs:11 -#: views/templates/create.hbs:11 views/templates/edit.hbs:10 -#: views/triggers/create.hbs:9 views/triggers/edit.hbs:10 -msgid "HTML is allowed" -msgstr "HTML kasutamine on lubatud" - -#: views/campaigns/create-rss.hbs:10 views/campaigns/create-triggered.hbs:9 -#: views/campaigns/create.hbs:9 views/campaigns/edit-rss.hbs:12 -#: views/campaigns/edit-triggered.hbs:13 views/campaigns/edit.hbs:14 -#: views/campaigns/view.hbs:6 views/triggers/create-select.hbs:6 -#: views/triggers/create.hbs:10 views/triggers/edit.hbs:12 -#: views/triggers/triggers.hbs:8 -msgid "List" -msgstr "List" - -#: views/campaigns/create-rss.hbs:11 views/campaigns/create-triggered.hbs:10 -#: views/campaigns/create-triggered.hbs:13 views/campaigns/create.hbs:10 -#: views/campaigns/create.hbs:14 views/campaigns/edit-rss.hbs:13 -#: views/campaigns/edit-triggered.hbs:14 views/campaigns/edit.hbs:15 -#: views/lists/fields/create.hbs:27 views/lists/fields/edit.hbs:28 -#: views/lists/segments/create.hbs:9 views/lists/segments/edit.hbs:10 -#: views/lists/segments/rule-create.hbs:7 views/lists/subscription/add.hbs:10 -#: views/lists/subscription/add.hbs:12 views/lists/subscription/edit.hbs:11 -#: views/lists/subscription/import-preview.hbs:5 -#: views/subscription/manage.hbs:10 views/subscription/subscribe.hbs:10 -#: views/templates/create.hbs:8 views/triggers/create-select.hbs:7 -#: views/triggers/create.hbs:17 views/triggers/create.hbs:20 -#: views/triggers/create.hbs:22 views/triggers/create.hbs:26 -#: views/triggers/edit.hbs:19 views/triggers/edit.hbs:22 -#: views/triggers/edit.hbs:24 views/triggers/edit.hbs:28 -msgid "Select" -msgstr "Vali" - -#: views/campaigns/create-rss.hbs:12 views/campaigns/create-triggered.hbs:11 -#: views/campaigns/create.hbs:11 views/campaigns/edit-rss.hbs:14 -#: views/campaigns/edit-triggered.hbs:15 views/campaigns/edit.hbs:16 -#: views/triggers/create-select.hbs:8 views/triggers/create.hbs:11 -#: views/triggers/edit.hbs:13 -msgid "subscribers" -msgstr "liiget" - -#: views/campaigns/create-rss.hbs:13 views/campaigns/edit-rss.hbs:15 -msgid "RSS Feed Url" -msgstr "RSS voo aadress" - -#: views/campaigns/create-rss.hbs:14 views/campaigns/edit-rss.hbs:16 -msgid "" -"New entries from this RSS URL are sent out to list subscribers as email " -"messages" -msgstr "" -"Uued postitused sellest RSS voost saadetakse listi liikmete uue kirjana" - -#: views/campaigns/create-rss.hbs:15 views/campaigns/create-triggered.hbs:17 -#: views/campaigns/create.hbs:18 views/campaigns/edit-rss.hbs:18 -#: views/campaigns/edit-triggered.hbs:16 views/campaigns/edit.hbs:17 -#: views/campaigns/view.hbs:12 -msgid "Email \"from name\"" -msgstr "E-posti “saatja nimiâ€" - -#: views/campaigns/create-rss.hbs:16 views/campaigns/create-triggered.hbs:18 -#: views/campaigns/create.hbs:19 views/campaigns/edit-rss.hbs:19 -#: views/campaigns/edit.hbs:18 views/settings.hbs:23 -msgid "This is the name your emails will come from" -msgstr "Seda nime näidatakse kirja saatja nimena" - -#: views/campaigns/create-rss.hbs:17 views/campaigns/create-triggered.hbs:19 -#: views/campaigns/create.hbs:20 views/campaigns/edit-rss.hbs:20 -#: views/campaigns/edit-triggered.hbs:18 views/campaigns/edit.hbs:19 -#: views/campaigns/view.hbs:13 -msgid "Email \"from\" address" -msgstr "E-posti “saatja†aadress" - -#: views/campaigns/create-rss.hbs:18 views/campaigns/create-triggered.hbs:20 -#: views/campaigns/edit-rss.hbs:21 views/campaigns/edit-triggered.hbs:19 -#: views/settings.hbs:25 -msgid "This is the address people will send replies to" -msgstr "Sellele aadressile saadavad inimesed vastuseid" - -#: views/campaigns/create-rss.hbs:19 views/campaigns/create-triggered.hbs:23 -#: views/campaigns/create.hbs:26 views/campaigns/edit-rss.hbs:22 -#: views/campaigns/edit-triggered.hbs:22 views/campaigns/edit.hbs:25 -msgid "Disable clicked/opened tracking" -msgstr "Lülita välja klikkide ja avamiste träkkimine" - -#: views/campaigns/create-triggered.hbs:3 -#: views/campaigns/create-triggered.hbs:4 -msgid "Create Triggered Campaign" -msgstr "Loo automaatkampaania" - -#: views/campaigns/create-triggered.hbs:12 views/campaigns/create.hbs:12 -#: views/campaigns/edit-triggered.hbs:7 views/campaigns/edit.hbs:7 -#: views/lists/fields/create.hbs:31 views/lists/fields/edit.hbs:33 -#: views/templates/create.hbs:13 -msgid "Template" -msgstr "Templiit" - -#: views/campaigns/create-triggered.hbs:14 views/campaigns/create.hbs:15 -msgid "Selecting a template creates a campaign specific copy from it" -msgstr "Templiidi valimine tekitab sellest kampaania jaoks eraldi koopia" - -#: views/campaigns/create-triggered.hbs:15 views/campaigns/create.hbs:16 -msgid "Or alternatively use an URL as the message content source:" -msgstr "Või alternatiivselt kasuta veebiaadressi kirja sisu jaoks" - -#: views/campaigns/create-triggered.hbs:16 views/campaigns/create.hbs:17 -#: views/campaigns/edit-triggered.hbs:25 views/campaigns/edit.hbs:28 -msgid "" -"If a message is sent then this URL will be POSTed to using Merge Tags as " -"POST body. Use this if you want to generate the HTML message yourself" -msgstr "" -"Kirja saatmiselt tehakse selle aadressi pihta POST päring koos " -"täiteväljadega. Kasuta seda võimalust, kui soovid HTML sisu genereerida " -"omaenda skriptiga" - -#: views/campaigns/create-triggered.hbs:21 views/campaigns/create.hbs:24 -#: views/campaigns/edit-triggered.hbs:20 views/campaigns/edit.hbs:23 -#: views/campaigns/view.hbs:15 -msgid "Email \"subject line\"" -msgstr "" - -#: views/campaigns/create-triggered.hbs:22 views/campaigns/create.hbs:25 -#: views/campaigns/edit-triggered.hbs:21 views/campaigns/edit.hbs:24 -#: views/settings.hbs:27 -msgid "Keep it relevant and non-spammy" -msgstr "" - -#: views/campaigns/create.hbs:13 -msgid "Select a template:" -msgstr "" - -#: views/campaigns/create.hbs:21 views/campaigns/edit.hbs:20 -msgid "" -"This is the address people will send replies to unless reply-to address is " -"set" -msgstr "" - -#: views/campaigns/create.hbs:22 views/campaigns/edit.hbs:21 -#: views/campaigns/view.hbs:14 -msgid "Email \"reply-to\" address" -msgstr "" - -#: views/campaigns/create.hbs:23 views/campaigns/edit.hbs:22 -msgid "If set, this is the address people will send replies to" -msgstr "" - -#: views/campaigns/delivered.hbs:3 views/campaigns/delivered.hbs:4 -msgid "Delivered info" -msgstr "" - -#: views/campaigns/delivered.hbs:6 -msgid "Subscribers who received the message and did not bounce/unsubscribe:" -msgstr "" - -#: views/campaigns/delivered.hbs:11 -msgid "Delivery time" -msgstr "" - -#: views/campaigns/edit-rss.hbs:3 views/campaigns/edit-rss.hbs:4 -msgid "Edit RSS Campaign" -msgstr "" - -#: views/campaigns/edit-rss.hbs:7 views/campaigns/edit-triggered.hbs:8 -#: views/campaigns/edit.hbs:9 views/settings.hbs:4 views/users/account.hbs:6 -msgid "General Settings" -msgstr "" - -#: views/campaigns/edit-rss.hbs:17 -msgid "" -"Use special merge tag [RSS_ENTRY] to mark the position for the RSS post " -"content. Additionally you can use any valid merge tag as well." -msgstr "" - -#: views/campaigns/edit-rss.hbs:23 views/campaigns/edit-triggered.hbs:26 -#: views/campaigns/edit.hbs:34 -msgid "Delete Campaign" -msgstr "" - -#: views/campaigns/edit-rss.hbs:24 views/campaigns/edit-triggered.hbs:27 -#: views/campaigns/edit.hbs:35 views/lists/edit.hbs:13 -#: views/lists/fields/edit.hbs:39 views/lists/segments/edit.hbs:14 -#: views/lists/segments/rule-edit.hbs:38 views/lists/subscription/edit.hbs:17 -#: views/settings.hbs:99 views/templates/edit.hbs:12 views/triggers/edit.hbs:30 -#: views/users/account.hbs:18 -msgid "Update" -msgstr "" - -#: views/campaigns/edit-triggered.hbs:3 views/campaigns/edit-triggered.hbs:4 -msgid "Edit Triggered Campaign" -msgstr "" - -#: views/campaigns/edit-triggered.hbs:6 views/campaigns/edit.hbs:6 -msgid "General" -msgstr "" - -#: views/campaigns/edit-triggered.hbs:17 -msgid "his is the name your emails will come from" -msgstr "" - -#: views/campaigns/edit-triggered.hbs:23 views/campaigns/edit.hbs:26 -msgid "Template Settings" -msgstr "" - -#: views/campaigns/edit-triggered.hbs:24 views/campaigns/edit.hbs:27 -msgid "Template URL" -msgstr "" - -#: views/campaigns/edit.hbs:3 views/campaigns/edit.hbs:4 -#: views/campaigns/upload-attachment.hbs:3 -#: views/campaigns/upload-attachment.hbs:5 views/campaigns/view.hbs:3 -msgid "Edit Campaign" -msgstr "" - -#: views/campaigns/edit.hbs:8 views/campaigns/edit.hbs:29 -msgid "Attachments" -msgstr "" - -#: views/campaigns/edit.hbs:30 -msgid "File" -msgstr "" - -#: views/campaigns/edit.hbs:31 -msgid "Size" -msgstr "" - -#: views/campaigns/edit.hbs:32 views/campaigns/view.hbs:66 -#: views/lists/fields/fields.hbs:12 views/lists/view.hbs:32 -msgid "No data available in table" -msgstr "" - -#: views/campaigns/edit.hbs:33 views/campaigns/upload-attachment.hbs:4 -msgid "Add Attachment" -msgstr "" - -#: views/campaigns/opened.hbs:3 views/campaigns/opened.hbs:4 -msgid "Opened info" -msgstr "" - -#: views/campaigns/opened.hbs:6 -msgid "Subscribers who opened this message:" -msgstr "" - -#: views/campaigns/opened.hbs:10 -msgid "First open" -msgstr "" - -#: views/campaigns/opened.hbs:11 -msgid "Opened count" -msgstr "" - -#: views/campaigns/unsubscribed.hbs:3 views/campaigns/unsubscribed.hbs:4 -msgid "Unsubscribed info" -msgstr "" - -#: views/campaigns/unsubscribed.hbs:6 -msgid "Subscribers who unsubscribed:" -msgstr "" - -#: views/campaigns/unsubscribed.hbs:11 views/campaigns/view.hbs:26 -#: views/lists/subscription/import.hbs:10 routes/lists.js:171 -msgid "Unsubscribed" -msgstr "" - -#: views/campaigns/upload-attachment.hbs:7 -msgid "Upload" -msgstr "" - -#: views/campaigns/view.hbs:4 -msgid "Overview" -msgstr "" - -#: views/campaigns/view.hbs:5 -msgid "Links" -msgstr "" - -#: views/campaigns/view.hbs:7 -msgid "Feed URL" -msgstr "" - -#: views/campaigns/view.hbs:8 -msgid "Last check" -msgstr "" - -#: views/campaigns/view.hbs:9 -msgid "Not yet checked" -msgstr "" - -#: views/campaigns/view.hbs:10 -msgid "activate campaign to start checking feed for new messages" -msgstr "" - -#: views/campaigns/view.hbs:11 -msgid "RSS status" -msgstr "" - -#: views/campaigns/view.hbs:16 -msgid "Preview campaign as" -msgstr "" - -#: views/campaigns/view.hbs:17 -msgid "Add new test user" -msgstr "" - -#: views/campaigns/view.hbs:18 -msgid "No test users yet, create one here" -msgstr "" - -#: views/campaigns/view.hbs:19 -msgid "Go" -msgstr "" - -#: views/campaigns/view.hbs:20 lib/models/triggers.js:25 -msgid "Delivered" -msgstr "" - -#: views/campaigns/view.hbs:21 -msgid "List subscribers who received this message" -msgstr "" - -#: views/campaigns/view.hbs:22 routes/lists.js:171 -msgid "Bounced" -msgstr "" - -#: views/campaigns/view.hbs:23 -msgid "List subscribers who bounced" -msgstr "" - -#: views/campaigns/view.hbs:24 -msgid "Complaints" -msgstr "" - -#: views/campaigns/view.hbs:25 -msgid "List subscribers who complained for this message" -msgstr "" - -#: views/campaigns/view.hbs:27 -msgid "List subscribers who unsubscribed after this message" -msgstr "" - -#: views/campaigns/view.hbs:28 -msgid "Opened" -msgstr "" - -#: views/campaigns/view.hbs:29 -msgid "List subscribers who opened this message" -msgstr "" - -#: views/campaigns/view.hbs:30 -msgid "Clicked" -msgstr "" - -#: views/campaigns/view.hbs:31 views/campaigns/view.hbs:68 -msgid "List subscribers who clicked on a link" -msgstr "" - -#: views/campaigns/view.hbs:32 -msgid "" -"Are you sure? This action would start sending messages to the selected list" -msgstr "" - -#: views/campaigns/view.hbs:33 -msgid "Delay sending" -msgstr "" - -#: views/campaigns/view.hbs:34 -msgid "hours" -msgstr "" - -#: views/campaigns/view.hbs:35 -msgid "minutes" -msgstr "" - -#: views/campaigns/view.hbs:36 -msgid "Send to subscribers:" -msgstr "" - -#: views/campaigns/view.hbs:37 -msgid "Are you sure? This action would reset scheduling" -msgstr "" - -#: views/campaigns/view.hbs:38 -msgid "Cancel" -msgstr "" - -#: views/campaigns/view.hbs:39 -msgid "Sending scheduled" -msgstr "" - -#: views/campaigns/view.hbs:40 views/campaigns/view.hbs:52 -msgid "Pause" -msgstr "" - -#: views/campaigns/view.hbs:41 routes/campaigns.js:264 -msgid "Sending" -msgstr "" - -#: views/campaigns/view.hbs:42 views/campaigns/view.hbs:46 -msgid "" -"Are you sure? This action would resume sending messages to the selected list" -msgstr "" - -#: views/campaigns/view.hbs:43 views/campaigns/view.hbs:47 -msgid "Are you sure? This action would reset all stats about current progress" -msgstr "" - -#: views/campaigns/view.hbs:44 -msgid "Resume" -msgstr "" - -#: views/campaigns/view.hbs:45 views/campaigns/view.hbs:49 -msgid "Reset" -msgstr "" - -#: views/campaigns/view.hbs:48 -msgid "Continue" -msgstr "" - -#: views/campaigns/view.hbs:50 -msgid "" -"All messages sent! Hit \"Continue\" if you you want to send this campaign to " -"new subscribers" -msgstr "" - -#: views/campaigns/view.hbs:51 -msgid "" -"Are you sure? This action would pause sending new entries in RSS feed as " -"email messages to the selected list" -msgstr "" - -#: views/campaigns/view.hbs:53 views/campaigns/view.hbs:57 -msgid "Campaign status:" -msgstr "" - -#: views/campaigns/view.hbs:54 -msgid "ACTIVE" -msgstr "" - -#: views/campaigns/view.hbs:55 -msgid "" -"Are you sure? This action would start sending new entries in RSS feed as " -"email messages to the selected list" -msgstr "" - -#: views/campaigns/view.hbs:56 -msgid "Activate" -msgstr "" - -#: views/campaigns/view.hbs:58 -msgid "INACTIVE" -msgstr "" - -#: views/campaigns/view.hbs:59 -msgid "" -"This is a triggered campaign. Messages are only sent to subscribers that hit " -"some trigger that invokes this campaign" -msgstr "" - -#: views/campaigns/view.hbs:60 -msgid "see more" -msgstr "" - -#: views/campaigns/view.hbs:65 -msgid "List subscribers who clicked this link" -msgstr "" - -#: views/campaigns/view.hbs:69 -msgid "" -"Clicks are counted as unique subscribers that clicked on a specific link or " -"on any link (in aggregated view)" -msgstr "" - -#: views/campaigns/view.hbs:70 -msgid "" -"If a new entry is found from campaign feed a new subcampaign is created of " -"that entry and it will be listed here" -msgstr "" - -#: views/emails/confirm-html.hbs:1 views/emails/confirm-html.hbs:2 -#: views/emails/confirm-text.hbs:1 -msgid "Please Confirm Subscription" -msgstr "Palun kinnita oma liitumissoov" - -#: views/emails/confirm-html.hbs:3 views/emails/confirm-text.hbs:2 -msgid "Yes, subscribe me to this list" -msgstr "Jah, soovin liituda selle listiga" - -#: views/emails/confirm-html.hbs:4 -msgid "" -"If you received this email by mistake, simply delete it. You won't be " -"subscribed if you don't click the confirmation link above." -msgstr "" -"Kui said selle kirja kogemata, siis lihtsalt kustuta see. Sind ei lisata " -"listi, kui sa ei kliki allolevale kinnituslingile" - -#: views/emails/confirm-html.hbs:5 views/emails/confirm-text.hbs:4 -#: views/emails/subscription-confirmed-html.hbs:7 -#: views/emails/subscription-confirmed-text.hbs:7 -#: views/emails/unsubscribe-confirmed-html.hbs:5 -#: views/emails/unsubscribe-confirmed-text.hbs:5 -msgid "For questions about this list, please contact:" -msgstr "Küsimustega seoses selle listiga võta ühendust järgmisel aadressil:" - -#: views/emails/confirm-text.hbs:3 -msgid "" -"If you received this email by mistake, simply delete it. You won't be " -"subscribed unless you click the confirmation link above." -msgstr "" - -#: views/emails/password-reset-html.hbs:1 -#: views/emails/password-reset-html.hbs:2 -#: views/emails/password-reset-text.hbs:1 -msgid "Change your password" -msgstr "" - -#: views/emails/password-reset-html.hbs:3 -#: views/emails/password-reset-text.hbs:2 -msgid "We have received a password change request for your Mailtrain account:" -msgstr "" - -#: views/emails/password-reset-html.hbs:4 -#: views/emails/password-reset-text.hbs:3 -msgid "Reset password" -msgstr "" - -#: views/emails/password-reset-html.hbs:5 -#: views/emails/password-reset-text.hbs:4 -msgid "" -"If you did not ask to change your password, then you can ignore this email " -"and your password will not be changed." -msgstr "" - -#: views/emails/rss-html.hbs:1 views/emails/stationery-html.hbs:3 -#: views/emails/stationery-text.hbs:3 -msgid "Preferences" -msgstr "" - -#: views/emails/rss-html.hbs:2 views/emails/stationery-html.hbs:4 -#: views/emails/stationery-text.hbs:4 views/lists/subscription/edit.hbs:15 -#: views/subscription/manage.hbs:12 views/subscription/unsubscribe.hbs:1 -#: views/subscription/unsubscribe.hbs:4 routes/lists.js:253 -msgid "Unsubscribe" -msgstr "" - -#: views/emails/rss-html.hbs:3 views/emails/stationery-html.hbs:5 -#: views/emails/stationery-text.hbs:5 -msgid "View this email in your browser" -msgstr "" - -#: views/emails/stationery-html.hbs:1 views/emails/stationery-text.hbs:1 -msgid "Hey [FIRST_NAME/Customer]," -msgstr "" - -#: views/emails/stationery-html.hbs:2 views/emails/stationery-text.hbs:2 -msgid "Cheers," -msgstr "" - -#: views/emails/subscription-confirmed-html.hbs:1 -#: views/emails/subscription-confirmed-text.hbs:1 -#: views/subscription/subscribed.hbs:1 -msgid "Subscription Confirmed" -msgstr "" - -#: views/emails/subscription-confirmed-html.hbs:2 -#: views/emails/subscription-confirmed-text.hbs:2 -#: views/subscription/subscribed.hbs:2 -msgid "Your subscription to our list has been confirmed." -msgstr "" - -#: views/emails/subscription-confirmed-html.hbs:3 -#: views/emails/subscription-confirmed-text.hbs:3 -msgid "If you want to modify your subscription then you can:" -msgstr "" - -#: views/emails/subscription-confirmed-html.hbs:4 -#: views/emails/subscription-confirmed-text.hbs:4 -#: views/subscription/subscribed.hbs:6 -msgid "manage your preferences" -msgstr "" - -#: views/emails/subscription-confirmed-html.hbs:5 -#: views/emails/subscription-confirmed-text.hbs:5 -#: views/subscription/subscribed.hbs:5 views/users/login.hbs:10 -msgid "or" -msgstr "" - -#: views/emails/subscription-confirmed-html.hbs:6 -#: views/emails/subscription-confirmed-text.hbs:6 -msgid "unsubscribe here" -msgstr "" - -#: views/emails/unsubscribe-confirmed-html.hbs:1 -#: views/emails/unsubscribe-confirmed-text.hbs:1 -msgid "You are now unsubscribed" -msgstr "" - -#: views/emails/unsubscribe-confirmed-html.hbs:2 -#: views/emails/unsubscribe-confirmed-text.hbs:2 -msgid "We have removed your email address from our list." -msgstr "" - -#: views/emails/unsubscribe-confirmed-html.hbs:3 -#: views/emails/unsubscribe-confirmed-text.hbs:3 -msgid "If you unsubscribed by mistake, you can re-subscribe at:" -msgstr "" - -#: views/emails/unsubscribe-confirmed-html.hbs:4 -#: views/emails/unsubscribe-confirmed-text.hbs:4 -#: views/lists/subscription/add.hbs:16 routes/lists.js:253 -msgid "Subscribe" -msgstr "" - -#: views/index.hbs:1 -msgid "Official Mailtrain Partners" -msgstr "Ametlikud Mailtraini partnerid" - -#: views/index.hbs:2 -msgid "Free, open source mail server solution" -msgstr "" - -#: views/index.hbs:3 -msgid "" -"A reliable SMTP server, easy integration, and 12,000 messages a month free" -msgstr "" - -#: views/index.hbs:4 -msgid "List management" -msgstr "" - -#: views/index.hbs:5 -msgid "" -"Mailtrain allows you to easily manage even very large lists. Million " -"subscribers? Not a problem. You can add subscribers manually, through the " -"API or import from a CSV file. All lists come with support for custom fields " -"and merge tags as well." -msgstr "" - -#: views/index.hbs:6 -msgid "Custom fields" -msgstr "" - -#: views/index.hbs:7 -msgid "" -"Text fields, numbers, drop downs or checkboxes, Mailtrain has them all. " -"Every custom field can be included in the generated newsletters through " -"merge tags." -msgstr "" - -#: views/index.hbs:8 -msgid "List segmentation" -msgstr "" - -#: views/index.hbs:9 -msgid "" -"Send messages only to list subscribers that match predefined segmentation " -"rules. No need to create separate lists with small differences." -msgstr "" - -#: views/index.hbs:10 -msgid "Donate to author" -msgstr "" - -#: views/index.hbs:11 -msgid "" -"If you really like Mailtrain or your business benefits from it financially " -"then I would really appreciate a small donation to keep the Mailtrain " -"development engines running. You can either use Bitcoin or PayPal for " -"donations. My Bitcoin wallet is 15Z8ADxhssKUiwP3jbbqJwA21744KMCfTM" -msgstr "" - -#: views/index.hbs:12 -msgid "or donate using PayPal" -msgstr "" - -#: views/index.hbs:13 -msgid "RSS Campaigns" -msgstr "" - -#: views/index.hbs:14 -msgid "" -"Setup Mailtrain to track RSS feeds and if a new entry is detected in a feed " -"then Mailtrain auto-generates a new campaign using entry data as message " -"contents and sends it to selected subscribers." -msgstr "" - -#: views/index.hbs:15 -msgid "GPG Encryption" -msgstr "" - -#: views/index.hbs:16 -msgid "" -"If a list has a custom field for a GPG Public Key set then subscribers can " -"upload their GPG public key to receive encrypted messages from the list." -msgstr "" - -#: views/index.hbs:17 -msgid "Click stats" -msgstr "" - -#: views/index.hbs:18 -msgid "" -"After a campaign is sent, check individual click statistics for every link " -"included in the message." -msgstr "" - -#: views/index.hbs:19 -msgid "Open source" -msgstr "" - -#: views/index.hbs:20 -msgid "Mailtrain is available under GPLv3 license and completely open source." -msgstr "" - -#: views/index.hbs:21 -msgid "Send via any provider" -msgstr "" - -#: views/index.hbs:22 -msgid "" -"Mailtrain recommends SendPulse even though you " -"can use any provider that supports SMTP protocol to send out your " -"newsletters. Bounce and complaints handling via webhooks is supported for " -"SES, SparkPost, SendGrid and Mailgun, also for Postfix and ZoneMTA." -msgstr "" - -#: views/index.hbs:23 -msgid "Trigger based automation" -msgstr "" - -#: views/index.hbs:24 -msgid "" -"Define automation triggers to send specific messages when a user activates " -"the trigger." -msgstr "" - -#: views/layout.hbs:2 -msgid "Toggle navigation" -msgstr "" - -#: views/layout.hbs:3 -msgid "Wiki" -msgstr "" - -#: views/layout.hbs:4 -msgid "Blog" -msgstr "" - -#: views/layout.hbs:5 views/users/account.hbs:2 views/users/account.hbs:3 -msgid "Account" -msgstr "" - -#: views/layout.hbs:6 views/settings.hbs:2 views/settings.hbs:3 -msgid "Settings" -msgstr "" - -#: views/layout.hbs:7 views/users/api.hbs:2 views/users/api.hbs:3 -msgid "API" -msgstr "" - -#: views/layout.hbs:8 -msgid "Log out" -msgstr "" - -#: views/layout.hbs:9 views/users/forgot.hbs:2 views/users/login.hbs:2 -#: views/users/login.hbs:3 views/users/login.hbs:9 views/users/reset.hbs:2 -msgid "Sign in" -msgstr "" - -#: views/layout.hbs:10 -msgid "Self hosted newsletter app built on top of Nodemailer" -msgstr "" - -#: views/layout.hbs:11 views/layout.hbs:13 -msgid "Source on GitHub" -msgstr "" - -#: views/layout.hbs:12 -msgid "Subscribe to our newsletter" -msgstr "" - -#: views/lists/create.hbs:2 views/lists/edit.hbs:2 -#: views/lists/fields/create.hbs:2 views/lists/fields/edit.hbs:2 -#: views/lists/fields/fields.hbs:2 views/lists/lists.hbs:2 -#: views/lists/lists.hbs:4 views/lists/segments/create.hbs:2 -#: views/lists/segments/edit.hbs:2 views/lists/segments/rule-configure.hbs:2 -#: views/lists/segments/rule-create.hbs:2 views/lists/segments/rule-edit.hbs:2 -#: views/lists/segments/segments.hbs:2 views/lists/segments/view.hbs:2 -#: views/lists/subscription/add.hbs:2 views/lists/subscription/edit.hbs:2 -#: views/lists/subscription/import-failed.hbs:2 -#: views/lists/subscription/import-preview.hbs:2 -#: views/lists/subscription/import.hbs:2 views/lists/view.hbs:2 -#: lib/tools.js:111 -msgid "Lists" -msgstr "" - -#: views/lists/create.hbs:3 views/lists/create.hbs:4 views/lists/create.hbs:9 -#: views/lists/lists.hbs:3 -msgid "Create List" -msgstr "" - -#: views/lists/create.hbs:6 views/lists/edit.hbs:7 -msgid "List Name" -msgstr "" - -#: views/lists/edit.hbs:3 views/lists/edit.hbs:4 views/lists/view.hbs:7 -msgid "Edit List" -msgstr "" - -#: views/lists/edit.hbs:5 -msgid "View List" -msgstr "" - -#: views/lists/edit.hbs:8 -msgid "List ID" -msgstr "" - -#: views/lists/edit.hbs:9 -msgid "This is the list ID displayed to the subscribers" -msgstr "" - -#: views/lists/edit.hbs:12 -msgid "Delete List" -msgstr "" - -#: views/lists/fields/create.hbs:3 views/lists/fields/edit.hbs:3 -#: views/lists/fields/fields.hbs:3 views/lists/fields/fields.hbs:5 -#: views/lists/view.hbs:5 -msgid "Custom Fields" -msgstr "" - -#: views/lists/fields/create.hbs:4 -msgid "Create Field" -msgstr "" - -#: views/lists/fields/create.hbs:5 views/lists/fields/fields.hbs:4 -msgid "Create Custom Field" -msgstr "" - -#: views/lists/fields/create.hbs:6 views/lists/fields/create.hbs:7 -#: views/lists/fields/edit.hbs:7 views/lists/fields/edit.hbs:8 -msgid "Field Name" -msgstr "" - -#: views/lists/fields/create.hbs:8 views/lists/fields/edit.hbs:9 -msgid "Field Type" -msgstr "" - -#: views/lists/fields/create.hbs:9 views/lists/fields/edit.hbs:10 -#: lib/models/fields.js:17 -msgid "Text" -msgstr "" - -#: views/lists/fields/create.hbs:10 views/lists/fields/edit.hbs:11 -#: lib/models/fields.js:21 -msgid "Number" -msgstr "" - -#: views/lists/fields/create.hbs:11 views/lists/fields/edit.hbs:12 -#: lib/models/fields.js:18 -msgid "Website" -msgstr "" - -#: views/lists/fields/create.hbs:12 views/lists/fields/edit.hbs:13 -#: lib/models/fields.js:20 -msgid "GPG Public Key" -msgstr "" - -#: views/lists/fields/create.hbs:13 views/lists/fields/edit.hbs:14 -#: lib/models/fields.js:19 -msgid "Multi-line text" -msgstr "" - -#: views/lists/fields/create.hbs:14 views/lists/fields/edit.hbs:15 -msgid "JSON" -msgstr "" - -#: views/lists/fields/create.hbs:15 views/lists/fields/edit.hbs:16 -msgid "Date" -msgstr "" - -#: views/lists/fields/create.hbs:16 views/lists/fields/edit.hbs:17 -msgid "Date (MM/DD/YYYY)" -msgstr "" - -#: views/lists/fields/create.hbs:17 views/lists/fields/edit.hbs:18 -#: lib/models/fields.js:26 -msgid "Date (DD/MM/YYYY)" -msgstr "" - -#: views/lists/fields/create.hbs:18 views/lists/fields/edit.hbs:19 -msgid "Birthday" -msgstr "" - -#: views/lists/fields/create.hbs:19 views/lists/fields/edit.hbs:20 -#: lib/models/fields.js:27 -msgid "Birthday (MM/DD)" -msgstr "" - -#: views/lists/fields/create.hbs:20 views/lists/fields/edit.hbs:21 -#: lib/models/fields.js:28 -msgid "Birthday (DD/MM)" -msgstr "" - -#: views/lists/fields/create.hbs:21 views/lists/fields/edit.hbs:22 -msgid "Grouped" -msgstr "" - -#: views/lists/fields/create.hbs:22 views/lists/fields/edit.hbs:23 -msgid "Drop Downs" -msgstr "" - -#: views/lists/fields/create.hbs:23 views/lists/fields/edit.hbs:24 -#: lib/models/fields.js:22 -msgid "Radio Buttons" -msgstr "" - -#: views/lists/fields/create.hbs:24 views/lists/fields/edit.hbs:25 -#: lib/models/fields.js:23 -msgid "Checkboxes" -msgstr "" - -#: views/lists/fields/create.hbs:25 views/lists/fields/edit.hbs:26 -msgid "Option for a group value" -msgstr "" - -#: views/lists/fields/create.hbs:26 views/lists/fields/edit.hbs:27 -msgid "Group" -msgstr "" - -#: views/lists/fields/create.hbs:28 views/lists/fields/edit.hbs:29 -msgid "Required for group options" -msgstr "" - -#: views/lists/fields/create.hbs:29 views/lists/fields/create.hbs:30 -#: views/lists/fields/edit.hbs:35 views/lists/fields/edit.hbs:36 -#: views/lists/fields/fields.hbs:9 -msgid "Default merge tag value" -msgstr "" - -#: views/lists/fields/create.hbs:32 views/lists/fields/edit.hbs:34 -msgid "" -"For group elements like checkboxes you can control the appearance of the " -"merge tag with an optional template. The template uses handlebars syntax and " -"you can find all values from {{values}} array, for example " -"{{#each values}} {{this}} {{/each}}. If template is not defined " -"then multiple values are joined with commas. You can also use this template " -"to render JSON values (if the JSON is an array then the array is exposed as " -"values, otherwise you can access the JSON keys directly)." -msgstr "" - -#: views/lists/fields/create.hbs:33 views/lists/fields/edit.hbs:37 -msgid "Visible" -msgstr "" - -#: views/lists/fields/create.hbs:34 -msgid "Add Field" -msgstr "" - -#: views/lists/fields/edit.hbs:4 -msgid "Edit Field" -msgstr "" - -#: views/lists/fields/edit.hbs:5 -msgid "Edit Custom Field" -msgstr "" - -#: views/lists/fields/edit.hbs:6 -msgid "Back to fields" -msgstr "" - -#: views/lists/fields/edit.hbs:30 views/lists/fields/fields.hbs:8 -#: views/partials/merge-tag-reference.hbs:3 -msgid "Merge tag" -msgstr "" - -#: views/lists/fields/edit.hbs:31 -msgid "Merge Tag" -msgstr "" - -#: views/lists/fields/edit.hbs:32 -msgid "Put this tag in your content:" -msgstr "" - -#: views/lists/fields/edit.hbs:38 -msgid "Delete Field" -msgstr "" - -#: views/lists/fields/fields.hbs:7 views/lists/view.hbs:25 -msgid "Type" -msgstr "" - -#: views/lists/fields/fields.hbs:10 views/lists/fields/fields.hbs:11 -#: views/lists/lists.hbs:9 views/lists/segments/segments.hbs:8 -#: views/lists/segments/view.hbs:12 views/templates/templates.hbs:7 -#: views/triggers/triggers.hbs:14 routes/campaigns.js:287 -#: routes/campaigns.js:576 routes/campaigns.js:626 routes/lists.js:222 -#: routes/triggers.js:297 -msgid "Edit" -msgstr "" - -#: views/lists/lists.hbs:6 -msgid "ID" -msgstr "" - -#: views/lists/lists.hbs:7 -msgid "Subscribers" -msgstr "" - -#: views/lists/segments/create.hbs:3 views/lists/segments/edit.hbs:3 -#: views/lists/segments/rule-configure.hbs:3 -#: views/lists/segments/rule-create.hbs:3 views/lists/segments/rule-edit.hbs:3 -#: views/lists/segments/segments.hbs:3 views/lists/segments/segments.hbs:5 -#: views/lists/segments/view.hbs:3 views/lists/view.hbs:6 -#: views/lists/view.hbs:13 -msgid "Segments" -msgstr "" - -#: views/lists/segments/create.hbs:4 views/lists/segments/create.hbs:5 -#: views/lists/segments/rule-configure.hbs:4 -#: views/lists/segments/rule-create.hbs:4 views/lists/segments/rule-edit.hbs:4 -#: views/lists/segments/segments.hbs:4 -msgid "Create Segment" -msgstr "" - -#: views/lists/segments/create.hbs:6 views/lists/segments/create.hbs:7 -#: views/lists/segments/edit.hbs:7 views/lists/segments/edit.hbs:8 -msgid "Segment Name" -msgstr "" - -#: views/lists/segments/create.hbs:8 views/lists/segments/edit.hbs:9 -msgid "Rule match" -msgstr "" - -#: views/lists/segments/create.hbs:10 views/lists/segments/edit.hbs:11 -msgid "All rules must match" -msgstr "" - -#: views/lists/segments/create.hbs:11 views/lists/segments/edit.hbs:12 -msgid "Any rule can match" -msgstr "" - -#: views/lists/segments/create.hbs:12 -msgid "Add Segment" -msgstr "" - -#: views/lists/segments/edit.hbs:4 views/lists/segments/edit.hbs:5 -#: views/lists/segments/view.hbs:6 views/lists/view.hbs:11 -msgid "Edit Segment" -msgstr "" - -#: views/lists/segments/edit.hbs:6 -msgid "Back to segments" -msgstr "" - -#: views/lists/segments/edit.hbs:13 -msgid "Delete Segment" -msgstr "" - -#: views/lists/segments/rule-configure.hbs:5 -#: views/lists/segments/rule-create.hbs:5 views/lists/segments/rule-edit.hbs:5 -#: views/lists/segments/view.hbs:4 -msgid "Create Rule" -msgstr "" - -#: views/lists/segments/rule-configure.hbs:6 -#: views/lists/segments/rule-create.hbs:6 views/lists/segments/rule-edit.hbs:6 -#: views/lists/segments/view.hbs:10 -msgid "Rule" -msgstr "" - -#: views/lists/segments/rule-configure.hbs:7 -#: views/lists/segments/rule-configure.hbs:8 -#: views/lists/segments/rule-configure.hbs:10 -#: views/lists/segments/rule-configure.hbs:13 -#: views/lists/segments/rule-configure.hbs:25 -#: views/lists/segments/rule-configure.hbs:30 -#: views/lists/segments/rule-edit.hbs:7 views/lists/segments/rule-edit.hbs:8 -#: views/lists/segments/rule-edit.hbs:10 views/lists/segments/rule-edit.hbs:15 -#: views/lists/segments/rule-edit.hbs:29 views/lists/segments/rule-edit.hbs:34 -#: views/lists/segments/view.hbs:11 -msgid "Value" -msgstr "" - -#: views/lists/segments/rule-configure.hbs:9 -#: views/lists/segments/rule-edit.hbs:9 -msgid "" -"Use % for wildcard character, e.g. \"%test\" to match all values that end " -"with \"test\"" -msgstr "" - -#: views/lists/segments/rule-configure.hbs:11 -#: views/lists/segments/rule-configure.hbs:14 -#: views/lists/segments/rule-configure.hbs:26 -#: views/lists/segments/rule-edit.hbs:11 views/lists/segments/rule-edit.hbs:16 -#: views/lists/segments/rule-edit.hbs:30 -msgid "Use exact match" -msgstr "" - -#: views/lists/segments/rule-configure.hbs:12 -#: views/lists/segments/rule-configure.hbs:15 -#: views/lists/segments/rule-configure.hbs:27 -#: views/lists/segments/rule-edit.hbs:12 views/lists/segments/rule-edit.hbs:17 -#: views/lists/segments/rule-edit.hbs:31 -msgid "Use range match" -msgstr "" - -#: views/lists/segments/rule-configure.hbs:16 -#: views/lists/segments/rule-edit.hbs:20 -msgid "Use relative range match" -msgstr "" - -#: views/lists/segments/rule-configure.hbs:17 -#: views/lists/segments/rule-configure.hbs:28 -#: views/lists/segments/rule-edit.hbs:13 views/lists/segments/rule-edit.hbs:18 -#: views/lists/segments/rule-edit.hbs:21 views/lists/segments/rule-edit.hbs:32 -msgid "From" -msgstr "" - -#: views/lists/segments/rule-configure.hbs:18 -#: views/lists/segments/rule-configure.hbs:22 -#: views/lists/segments/rule-edit.hbs:22 views/lists/segments/rule-edit.hbs:26 -msgid "days" -msgstr "" - -#: views/lists/segments/rule-configure.hbs:19 -#: views/lists/segments/rule-configure.hbs:23 -#: views/lists/segments/rule-edit.hbs:23 views/lists/segments/rule-edit.hbs:27 -msgid "before today" -msgstr "" - -#: views/lists/segments/rule-configure.hbs:20 -#: views/lists/segments/rule-configure.hbs:24 -#: views/lists/segments/rule-edit.hbs:24 views/lists/segments/rule-edit.hbs:28 -msgid "after today" -msgstr "" - -#: views/lists/segments/rule-configure.hbs:21 -#: views/lists/segments/rule-configure.hbs:29 -#: views/lists/segments/rule-edit.hbs:14 views/lists/segments/rule-edit.hbs:19 -#: views/lists/segments/rule-edit.hbs:25 views/lists/segments/rule-edit.hbs:33 -msgid "to" -msgstr "" - -#: views/lists/segments/rule-configure.hbs:31 -#: views/lists/segments/rule-edit.hbs:35 lib/models/segments.js:156 -#: lib/models/segments.js:418 -msgid "Selected" -msgstr "" - -#: views/lists/segments/rule-configure.hbs:32 -#: views/lists/segments/rule-edit.hbs:36 lib/models/segments.js:156 -#: lib/models/segments.js:418 -msgid "Not selected" -msgstr "" - -#: views/lists/segments/rule-configure.hbs:33 -msgid "Add Rule" -msgstr "" - -#: views/lists/segments/rule-create.hbs:8 -#: views/lists/subscription/import.hbs:12 views/triggers/create-select.hbs:9 -msgid "Next" -msgstr "" - -#: views/lists/segments/rule-edit.hbs:37 -msgid "Delete Rule" -msgstr "" - -#: views/lists/segments/segments.hbs:7 -msgid "Match" -msgstr "" - -#: views/lists/segments/view.hbs:5 views/lists/view.hbs:12 -msgid "Segment" -msgstr "" - -#: views/lists/segments/view.hbs:7 -msgid "Match rules" -msgstr "" - -#: views/lists/segments/view.hbs:8 -msgid "Matching subscribers" -msgstr "" - -#: views/lists/segments/view.hbs:9 -msgid "show" -msgstr "" - -#: views/lists/subscription/add.hbs:3 views/lists/subscription/add.hbs:4 -msgid "Add subscriber" -msgstr "" - -#: views/lists/subscription/add.hbs:5 views/subscription/manage.hbs:2 -#: views/subscription/subscribe.hbs:3 views/users/account.hbs:7 -msgid "Email Address" -msgstr "" - -#: views/lists/subscription/add.hbs:8 views/lists/subscription/edit.hbs:9 -#: views/settings.hbs:82 views/settings.hbs:97 views/subscription/manage.hbs:7 -#: views/subscription/subscribe.hbs:7 -msgid "Begins with" -msgstr "" - -#: views/lists/subscription/add.hbs:9 views/lists/subscription/edit.hbs:10 -msgid "" -"Insert a GPG public key that will be used to encrypt messages sent this " -"subscriber" -msgstr "" - -#: views/lists/subscription/add.hbs:11 views/lists/subscription/edit.hbs:12 -#: views/lists/subscription/import-preview.hbs:9 -msgid "Timezone" -msgstr "" - -#: views/lists/subscription/add.hbs:13 views/lists/subscription/edit.hbs:13 -msgid "Test user?" -msgstr "" - -#: views/lists/subscription/add.hbs:14 views/lists/subscription/edit.hbs:14 -msgid "" -"If checked then this subscription can be used for previewing campaign " -"messages" -msgstr "" - -#: views/lists/subscription/add.hbs:15 -msgid "" -"This person will not receive a confirmation email so make sure that you have " -"permission to email them." -msgstr "" - -#: views/lists/subscription/edit.hbs:3 views/lists/subscription/edit.hbs:4 -msgid "Edit subscriber" -msgstr "" - -#: views/lists/subscription/edit.hbs:5 -#: views/lists/subscription/import-failed.hbs:5 -msgid "Back to list" -msgstr "" - -#: views/lists/subscription/edit.hbs:6 -#: views/lists/subscription/import-preview.hbs:6 -#: views/subscription/unsubscribe.hbs:3 lib/helpers.js:26 -#: lib/models/segments.js:11 -msgid "Email address" -msgstr "" - -#: views/lists/subscription/edit.hbs:16 -msgid "Delete Subscription" -msgstr "" - -#: views/lists/subscription/import-failed.hbs:3 -msgid "Import status" -msgstr "" - -#: views/lists/subscription/import-failed.hbs:4 -msgid "Failed addresses" -msgstr "" - -#: views/lists/subscription/import-failed.hbs:6 -msgid "see here" -msgstr "" - -#: views/lists/subscription/import-failed.hbs:10 -msgid "Fail reason" -msgstr "" - -#: views/lists/subscription/import-preview.hbs:3 -#: views/lists/subscription/import-preview.hbs:4 -#: views/lists/subscription/import.hbs:3 views/lists/subscription/import.hbs:4 -msgid "Import subscribers" -msgstr "" - -#: views/lists/subscription/import-preview.hbs:10 views/users/api.hbs:27 -#: views/users/api.hbs:35 views/users/api.hbs:43 views/users/api.hbs:55 -msgid "Example" -msgstr "" - -#: views/lists/subscription/import-preview.hbs:11 -msgid "Start import" -msgstr "" - -#: views/lists/subscription/import.hbs:5 -msgid "CSV File" -msgstr "" - -#: views/lists/subscription/import.hbs:6 -msgid "CSV delimiter" -msgstr "" - -#: views/lists/subscription/import.hbs:7 -msgid "Categorize the imported subscribers as" -msgstr "" - -#: views/lists/subscription/import.hbs:8 routes/lists.js:171 -msgid "Subscribed" -msgstr "" - -#: views/lists/subscription/import.hbs:9 -msgid "Regular subscriber addresses" -msgstr "" - -#: views/lists/subscription/import.hbs:11 -msgid "Suppressed emails that will be unsubscribed from your list" -msgstr "" - -#: views/lists/view.hbs:3 -msgid "Subscription Form" -msgstr "" - -#: views/lists/view.hbs:4 -msgid "List Actions" -msgstr "" - -#: views/lists/view.hbs:8 views/triggers/create-select.hbs:3 -#: views/triggers/create-select.hbs:4 views/triggers/create.hbs:3 -#: views/triggers/create.hbs:4 views/triggers/create.hbs:27 -#: views/triggers/triggers.hbs:3 -msgid "Create Trigger" -msgstr "" - -#: views/lists/view.hbs:9 -msgid "Add Subscriber" -msgstr "" - -#: views/lists/view.hbs:10 -msgid "Import Subscribers" -msgstr "" - -#: views/lists/view.hbs:14 -msgid "Create New Segment" -msgstr "" - -#: views/lists/view.hbs:15 -msgid "Filter" -msgstr "" - -#: views/lists/view.hbs:16 -msgid "Subscriptions" -msgstr "" - -#: views/lists/view.hbs:17 -msgid "Imports" -msgstr "" - -#: views/lists/view.hbs:24 routes/campaigns.js:266 routes/lists.js:265 -msgid "Finished" -msgstr "" - -#: views/lists/view.hbs:26 -msgid "Added" -msgstr "" - -#: views/lists/view.hbs:27 -msgid "Updated" -msgstr "" - -#: views/lists/view.hbs:28 -msgid "Failed" -msgstr "" - -#: views/lists/view.hbs:30 -msgid "" -"Are you sure? This action should only be called to resolve stalled imports" -msgstr "" - -#: views/lists/view.hbs:31 -msgid "Restart" -msgstr "" - -#: views/partials/codeeditor.hbs:1 views/partials/summernote.hbs:1 -msgid "Template content (HTML)" -msgstr "" - -#: views/partials/html-preview.hbs:1 -msgid "Toggle HTML preview" -msgstr "" - -#: views/partials/merge-tag-reference.hbs:1 -msgid "Merge tag reference" -msgstr "" - -#: views/partials/merge-tag-reference.hbs:2 -msgid "" -"Merge tags are tags that are replaced before sending out the message. The " -"format of the merge tag is the following: [TAG_NAME] or " -"[TAG_NAME/fallback] where fallback is an optional " -"text value used when TAG_NAME is empty." -msgstr "" - -#: views/partials/plaintext.hbs:1 -msgid "Template content (plaintext)" -msgstr "" - -#: views/settings.hbs:5 -msgid "Service Address (URL)" -msgstr "" - -#: views/settings.hbs:6 -msgid "Enter the URL this service can be reached from" -msgstr "" - -#: views/settings.hbs:7 -msgid "Admin Email" -msgstr "" - -#: views/settings.hbs:8 -msgid "" -"Enter the email address that will be used as \"from\" for system messages" -msgstr "" - -#: views/settings.hbs:9 -msgid "Disable WYSIWYG editor" -msgstr "" - -#: views/settings.hbs:10 -msgid "If checked then message editor displays HTML code without the preview" -msgstr "" - -#: views/settings.hbs:11 -msgid "Disable subscription confirmation messages" -msgstr "" - -#: views/settings.hbs:12 -msgid "" -"If checked then do not send a confirmation message that states the " -"subscriber is now subscribed or unsubscribed. This does not disable double " -"opt-in messages." -msgstr "" - -#: views/settings.hbs:13 -msgid "Tracking ID" -msgstr "" - -#: views/settings.hbs:14 -msgid "Enter Google Analytics tracking code" -msgstr "" - -#: views/settings.hbs:15 -msgid "Frontpage shout out" -msgstr "" - -#: views/settings.hbs:16 -msgid "HTML code shown in the front page header section" -msgstr "" - -#: views/settings.hbs:17 -msgid "Campaign defaults" -msgstr "" - -#: views/settings.hbs:18 -msgid "Sender name" -msgstr "" - -#: views/settings.hbs:19 -msgid "Sender name, eg. My Awesome Company Ltd." -msgstr "" - -#: views/settings.hbs:20 -msgid "Default address" -msgstr "" - -#: views/settings.hbs:21 -msgid "" -"Contact address to provide, eg. 1234 Main Street, Anywhere, MA 01234, USA" -msgstr "" - -#: views/settings.hbs:22 -msgid "Default \"from name\"" -msgstr "" - -#: views/settings.hbs:24 -msgid "Default \"from\" email" -msgstr "" - -#: views/settings.hbs:26 -msgid "Default \"subject line\"" -msgstr "" - -#: views/settings.hbs:28 -msgid "Default homepage (URL)" -msgstr "" - -#: views/settings.hbs:29 -msgid "URL to redirect the subscribed users to, eg. http://example.com/" -msgstr "" - -#: views/settings.hbs:30 -msgid "Mailer Settings" -msgstr "" - -#: views/settings.hbs:31 -msgid "These settings are required to send out e-mail messages" -msgstr "" - -#: views/settings.hbs:32 -msgid "SMTP" -msgstr "" - -#: views/settings.hbs:33 -msgid "AWS SES" -msgstr "" - -#: views/settings.hbs:34 -msgid "Use SMTP for sending mail" -msgstr "" - -#: views/settings.hbs:35 -msgid "Hostname" -msgstr "" - -#: views/settings.hbs:36 -msgid "Port" -msgstr "" - -#: views/settings.hbs:37 -msgid "Port, eg. 465. Autodetected if left blank" -msgstr "" - -#: views/settings.hbs:38 -msgid "Encryption" -msgstr "" - -#: views/settings.hbs:39 -msgid "Disable SMTP authentication" -msgstr "" - -#: views/settings.hbs:40 views/users/forgot.hbs:9 views/users/login.hbs:4 -#: views/users/login.hbs:5 -msgid "Username" -msgstr "" - -#: views/settings.hbs:41 -msgid "Username, eg. myaccount@example.com" -msgstr "" - -#: views/settings.hbs:42 views/settings.hbs:43 views/users/login.hbs:6 -#: views/users/login.hbs:7 -msgid "Password" -msgstr "" - -#: views/settings.hbs:44 -msgid "Use SES API for sending mail" -msgstr "" - -#: views/settings.hbs:45 -msgid "Access Key" -msgstr "" - -#: views/settings.hbs:46 -msgid "AWS Access Key Id" -msgstr "" - -#: views/settings.hbs:47 -msgid "Secret Key" -msgstr "" - -#: views/settings.hbs:48 -msgid "AWS Secret Access Key" -msgstr "" - -#: views/settings.hbs:49 -msgid "Region" -msgstr "" - -#: views/settings.hbs:50 -msgid "Checking" -msgstr "" - -#: views/settings.hbs:51 -msgid "Check Mailer config" -msgstr "" - -#: views/settings.hbs:52 -msgid "Don't have an SMTP account yet? Create a free SendPulse account" -msgstr "" - -#: views/settings.hbs:53 -msgid "here" -msgstr "" - -#: views/settings.hbs:54 -msgid "Advanced Mailer settings" -msgstr "" - -#: views/settings.hbs:55 -msgid "Log SMTP transactions" -msgstr "" - -#: views/settings.hbs:56 -msgid "Allow self-signed certificates" -msgstr "" - -#: views/settings.hbs:57 -msgid "Max connections" -msgstr "" - -#: views/settings.hbs:58 -msgid "The count of max connections, eg. 10" -msgstr "" - -#: views/settings.hbs:59 -msgid "" -"The count of maximum simultaneous connections to make against the SMTP " -"server (defaults to 5). This limit is per sending process." -msgstr "" - -#: views/settings.hbs:60 -msgid "Max messages" -msgstr "" - -#: views/settings.hbs:61 -msgid "The count of max messages, eg. 100" -msgstr "" - -#: views/settings.hbs:62 -msgid "" -"he number of messages to send through a single connection before the " -"connection is closed and reopened (defaults to 100)" -msgstr "" - -#: views/settings.hbs:63 -msgid "Throttling" -msgstr "" - -#: views/settings.hbs:64 -msgid "Messages per hour eg. 1000" -msgstr "" - -#: views/settings.hbs:65 -msgid "" -"Maximum number of messages to send in an hour. Leave empty or zero for no " -"throttling. If your provider uses a different speed limit (messages/minute " -"or messages/second) then convert this limit into messages/hour (1m/s => " -"3600m/h). This limit is per sending process." -msgstr "" - -#: views/settings.hbs:66 -msgid "VERP bounce handling" -msgstr "" - -#: views/settings.hbs:67 -msgid "" -"Mailtrain is able to use VERP based routing to detect bounces. In this case " -"the message is sent to the recipient using a custom VERP address as the " -"return path of the message. If the message is not accepted a bounce email is " -"sent to this special VERP address and thus a bounce is detected." -msgstr "" - -#: views/settings.hbs:68 -msgid "" -"To get VERP working you need to set up a DNS MX record that points to your " -"Mailtrain hostname. You must also ensure that Mailtrain VERP interface is " -"available from port 25 of your server (port 25 usually requires root user " -"privileges). This way if anyone tries to send email to someuser@verp-" -"hostname then the email should end up to this server." -msgstr "" - -#: views/settings.hbs:69 -msgid "" -"VERP usually only works if you are using your own SMTP server. Regular relay " -"services (SES, SparkPost, Gmail etc.) tend to remove the VERP address from " -"the message." -msgstr "" - -#: views/settings.hbs:70 -msgid "Use VERP to catch bounces" -msgstr "" - -#: views/settings.hbs:71 -msgid "Server hostname" -msgstr "" - -#: views/settings.hbs:72 -msgid "The VERP server hostname, eg. bounces.example.com" -msgstr "" - -#: views/settings.hbs:73 -msgid "" -"VERP bounce handling server hostname. This hostname is used in the SMTP " -"envelope FROM address and the MX DNS records should point to this server" -msgstr "" - -#: views/settings.hbs:74 -msgid "" -"VERP bounce handling server is not enabled. Modify your server configuration " -"file and restart server to enable it" -msgstr "" - -#: views/settings.hbs:75 -msgid "GPG Signing" -msgstr "" - -#: views/settings.hbs:76 -msgid "" -"Only messages that are encrypted can be signed. Subsribers who have not set " -"up a GPG public key in their profile receive normal email messages. Users " -"with GPG key set receive encrypted messages and if you have signing key also " -"set, the messages are signed with this key." -msgstr "" - -#: views/settings.hbs:77 -msgid "" -"Do not use sensitive keys here. The private key and passphrase are not " -"encrypted in the database." -msgstr "" - -#: views/settings.hbs:78 -msgid "Private Key Passphrase" -msgstr "" - -#: views/settings.hbs:79 -msgid "Passphrase for the key if set" -msgstr "" - -#: views/settings.hbs:80 -msgid "Only fill this if your private key is encrypted with a passphrase" -msgstr "" - -#: views/settings.hbs:81 -msgid "GPG Private Key" -msgstr "" - -#: views/settings.hbs:83 -msgid "" -"This value is optional. If you do not provide a private key GPG encrypted " -"messages are sent without signing." -msgstr "" - -#: views/settings.hbs:84 -msgid "DKIM Signing by ZoneMTA" -msgstr "" - -#: views/settings.hbs:85 -msgid "" -"If you are using ZoneMTA then Mailtrain can provide a DKIM key for signing " -"all outgoing messages. Other services usually provide their own means to " -"DKIM sign your messages" -msgstr "" - -#: views/settings.hbs:86 -msgid "" -"Do not use sensitive keys here. The private key is not encrypted in the " -"database." -msgstr "" - -#: views/settings.hbs:87 -msgid "ZoneMTA DKIM API Key" -msgstr "" - -#: views/settings.hbs:88 -msgid "Some secret value" -msgstr "" - -#: views/settings.hbs:89 -msgid "" -"Secret value known to ZoneMTA for requesting DKIM key information. If this " -"value was generated by the Mailtrain installation script then you can keep " -"it as it is" -msgstr "" - -#: views/settings.hbs:90 -msgid "DKIM domain" -msgstr "" - -#: views/settings.hbs:91 -msgid "Domain name for the DKIM key" -msgstr "" - -#: views/settings.hbs:92 -msgid "Leave blank to use the sender email address domain" -msgstr "" - -#: views/settings.hbs:93 views/settings.hbs:94 -msgid "DKIM key selector" -msgstr "" - -#: views/settings.hbs:95 -msgid "Signing is disabled without a valid selector value" -msgstr "" - -#: views/settings.hbs:96 -msgid "DKIM Private Key" -msgstr "" - -#: views/settings.hbs:98 -msgid "" -"This value is optional. If you do not provide a private key then messages " -"are not signed." -msgstr "" - -#: views/subscription/confirm-notice.hbs:1 views/subscription/subscribe.hbs:1 -msgid "Warning!" -msgstr "" - -#: views/subscription/confirm-notice.hbs:2 -msgid "If JavaScript was not enabled then no confirmation message was sent" -msgstr "" - -#: views/subscription/confirm-notice.hbs:3 -msgid "Almost finished." -msgstr "" - -#: views/subscription/confirm-notice.hbs:4 -msgid "" -"We need to confirm your email address. To complete the subscription process, " -"please click the link in the email we just sent you." -msgstr "" - -#: views/subscription/confirm-notice.hbs:5 -#: views/subscription/unsubscribe-notice.hbs:3 -#: views/subscription/updated-notice.hbs:3 -msgid "return to our website" -msgstr "" - -#: views/subscription/manage-address.hbs:1 -msgid "Update your Email Address" -msgstr "" - -#: views/subscription/manage-address.hbs:2 -msgid "Existing Email Address" -msgstr "" - -#: views/subscription/manage-address.hbs:3 -msgid "New Email Address" -msgstr "" - -#: views/subscription/manage-address.hbs:4 -msgid "Your new email address" -msgstr "" - -#: views/subscription/manage-address.hbs:5 -msgid "" -"You will receive a confirmation request to your new email address that you " -"need to accept before your email is actually changed" -msgstr "" - -#: views/subscription/manage-address.hbs:6 -msgid "Update Email Address" -msgstr "" - -#: views/subscription/manage.hbs:1 -msgid "Update your preferences" -msgstr "" - -#: views/subscription/manage.hbs:3 -msgid "want to change it?" -msgstr "" - -#: views/subscription/manage.hbs:6 views/subscription/subscribe.hbs:6 -msgid "Download signature verification key" -msgstr "" - -#: views/subscription/manage.hbs:8 views/subscription/subscribe.hbs:8 -msgid "" -"Insert your GPG public key here to encrypt messages sent to your address" -msgstr "" - -#: views/subscription/manage.hbs:9 views/subscription/subscribe.hbs:9 -msgid "optional" -msgstr "" - -#: views/subscription/manage.hbs:11 -msgid "Update Profile" -msgstr "" - -#: views/subscription/subscribe.hbs:2 -msgid "JavaScript must be enabled in order for the subscription form to work" -msgstr "" - -#: views/subscription/subscribe.hbs:11 -msgid "Subscribe to list" -msgstr "" - -#: views/subscription/subscribed.hbs:3 -msgid "Thank you for subscribing!" -msgstr "" - -#: views/subscription/subscribed.hbs:4 -msgid "continue to our website" -msgstr "" - -#: views/subscription/unsubscribe-notice.hbs:1 -msgid "Unsubscribe Successful" -msgstr "" - -#: views/subscription/unsubscribe-notice.hbs:2 -msgid "You have been removed from:" -msgstr "" - -#: views/subscription/unsubscribe.hbs:2 -msgid "Enter your email address to unsubscribe from:" -msgstr "" - -#: views/subscription/updated-notice.hbs:1 -msgid "Profile Updated" -msgstr "" - -#: views/subscription/updated-notice.hbs:2 -msgid "Your profile information has been updated." -msgstr "" - -#: views/templates/create.hbs:2 views/templates/edit.hbs:2 -#: views/templates/templates.hbs:2 views/templates/templates.hbs:4 -#: lib/tools.js:115 -msgid "Templates" -msgstr "" - -#: views/templates/create.hbs:3 views/templates/create.hbs:4 -#: views/templates/create.hbs:12 views/templates/templates.hbs:3 -msgid "Create Template" -msgstr "" - -#: views/templates/create.hbs:5 views/templates/edit.hbs:6 -msgid "Template name" -msgstr "" - -#: views/templates/create.hbs:6 views/templates/edit.hbs:7 -msgid "Name for this template, eg. Newsletter" -msgstr "" - -#: views/templates/create.hbs:7 -msgid "HTML Editor" -msgstr "" - -#: views/templates/create.hbs:10 views/templates/edit.hbs:9 -msgid "Optional comments about this template" -msgstr "" - -#: views/templates/edit.hbs:3 views/templates/edit.hbs:4 -msgid "Edit Template" -msgstr "" - -#: views/templates/edit.hbs:5 -msgid "Back to templates" -msgstr "" - -#: views/templates/edit.hbs:11 -msgid "Delete Template" -msgstr "" - -#: views/triggers/create-select.hbs:2 views/triggers/create.hbs:2 -#: views/triggers/edit.hbs:2 views/triggers/triggered.hbs:2 -#: views/triggers/triggers.hbs:2 views/triggers/triggers.hbs:4 -msgid "Automation Triggers" -msgstr "" - -#: views/triggers/create-select.hbs:5 -msgid "Select a list for the trigger" -msgstr "" - -#: views/triggers/create.hbs:5 views/triggers/edit.hbs:6 -msgid "Trigger name" -msgstr "" - -#: views/triggers/create.hbs:6 views/triggers/edit.hbs:7 -msgid "Name for this trigger, eg. Inactive subscribers" -msgstr "" - -#: views/triggers/create.hbs:8 views/triggers/edit.hbs:9 -msgid "Optional comments about this trigger" -msgstr "" - -#: views/triggers/create.hbs:12 views/triggers/edit.hbs:14 -msgid "Trigger rule" -msgstr "" - -#: views/triggers/create.hbs:13 views/triggers/edit.hbs:15 -msgid "Trigger fires" -msgstr "" - -#: views/triggers/create.hbs:14 views/triggers/edit.hbs:16 -msgid "days after:" -msgstr "" - -#: views/triggers/create.hbs:15 views/triggers/edit.hbs:17 -msgid "Subscription" -msgstr "" - -#: views/triggers/create.hbs:16 views/triggers/create.hbs:21 -#: views/triggers/edit.hbs:18 views/triggers/edit.hbs:23 -msgid "Event" -msgstr "" - -#: views/triggers/create.hbs:18 views/triggers/create.hbs:19 -#: views/triggers/create.hbs:25 views/triggers/edit.hbs:20 -#: views/triggers/edit.hbs:21 views/triggers/edit.hbs:27 -msgid "Campaign" -msgstr "" - -#: views/triggers/create.hbs:23 views/triggers/edit.hbs:25 -msgid "Trigger action" -msgstr "" - -#: views/triggers/create.hbs:24 views/triggers/edit.hbs:26 -msgid "Send campaign" -msgstr "" - -#: views/triggers/edit.hbs:3 views/triggers/edit.hbs:4 -msgid "Edit Trigger" -msgstr "" - -#: views/triggers/edit.hbs:5 -msgid "Back to triggers" -msgstr "" - -#: views/triggers/edit.hbs:11 -msgid "Trigger is enabled" -msgstr "" - -#: views/triggers/edit.hbs:29 -msgid "Delete Trigger" -msgstr "" - -#: views/triggers/triggered.hbs:3 -msgid "Triggered" -msgstr "" - -#: views/triggers/triggered.hbs:4 -msgid "Triggered subscribers" -msgstr "" - -#: views/triggers/triggered.hbs:5 -msgid "Subscribers who caused this trigger to fire" -msgstr "" - -#: views/triggers/triggered.hbs:9 -msgid "Triggered time" -msgstr "" - -#: views/triggers/triggers.hbs:9 -msgid "Trigger" -msgstr "" - -#: views/triggers/triggers.hbs:10 -msgid "Target Campaign" -msgstr "" - -#: views/triggers/triggers.hbs:11 -msgid "Triggered count" -msgstr "" - -#: views/triggers/triggers.hbs:12 -msgid "Enabled" -msgstr "" - -#: views/triggers/triggers.hbs:13 -msgid "Disabled" -msgstr "" - -#: views/users/account.hbs:4 -msgid "This account is managed through LDAP." -msgstr "" - -#: views/users/account.hbs:5 -msgid "Associated Email Address" -msgstr "" - -#: views/users/account.hbs:8 -msgid "Your e-mail address" -msgstr "" - -#: views/users/account.hbs:9 -msgid "" -"This address is used for account recovery in case you lose your password" -msgstr "" - -#: views/users/account.hbs:10 -msgid "Password change" -msgstr "" - -#: views/users/account.hbs:11 -msgid "" -"You only need to fill out this form if you want to change your current " -"password" -msgstr "" - -#: views/users/account.hbs:12 views/users/account.hbs:13 -msgid "Current Password" -msgstr "" - -#: views/users/account.hbs:14 views/users/account.hbs:15 -#: views/users/reset.hbs:6 views/users/reset.hbs:7 -msgid "New Password" -msgstr "" - -#: views/users/account.hbs:16 -msgid "Confirm Password" -msgstr "" - -#: views/users/account.hbs:17 views/users/reset.hbs:8 -msgid "Confirm New Password" -msgstr "" - -#: views/users/api.hbs:4 -msgid "Are you sure? Resetting would invalidate the currently existing token." -msgstr "" - -#: views/users/api.hbs:5 -msgid "Are you sure?" -msgstr "" - -#: views/users/api.hbs:6 -msgid "Reset Access Token" -msgstr "" - -#: views/users/api.hbs:7 -msgid "Generate Access Token" -msgstr "" - -#: views/users/api.hbs:8 -msgid "Personal access token:" -msgstr "" - -#: views/users/api.hbs:9 -msgid "Access token not yet generated" -msgstr "" - -#: views/users/api.hbs:10 -msgid "Notes about the API" -msgstr "" - -#: views/users/api.hbs:11 -msgid "" -"API response is a JSON structure with error and data properties. If the response error has a value set then " -"the request failed." -msgstr "" - -#: views/users/api.hbs:12 -msgid "" -"You need to define proper Content-Type when making a request. " -"You can either use application/x-www-form-urlencoded for normal " -"form data or application/json for a JSON payload. Using " -"multipart/form-data is not supported." -msgstr "" - -#: views/users/api.hbs:13 -msgid "Add subscription" -msgstr "" - -#: views/users/api.hbs:14 -msgid "" -"This API call either inserts a new subscription or updates existing. Fields " -"not included are left as is, so if you update only LAST_NAME value, then " -"FIRST_NAME is kept untouched for an existing subscription." -msgstr "" - -#: views/users/api.hbs:15 views/users/api.hbs:17 views/users/api.hbs:30 -#: views/users/api.hbs:32 views/users/api.hbs:38 views/users/api.hbs:40 -#: views/users/api.hbs:46 views/users/api.hbs:48 -msgid "arguments" -msgstr "" - -#: views/users/api.hbs:16 views/users/api.hbs:31 views/users/api.hbs:39 -#: views/users/api.hbs:47 -msgid "your personal access token" -msgstr "" - -#: views/users/api.hbs:18 views/users/api.hbs:33 views/users/api.hbs:41 -msgid "subscriber's email address" -msgstr "" - -#: views/users/api.hbs:19 views/users/api.hbs:34 views/users/api.hbs:42 -#: views/users/api.hbs:50 -msgid "required" -msgstr "" - -#: views/users/api.hbs:20 -msgid "subscriber's first name" -msgstr "" - -#: views/users/api.hbs:21 -msgid "subscriber's last name" -msgstr "" - -#: views/users/api.hbs:22 -msgid "" -"subscriber's timezone (eg. \"Europe/Tallinn\", \"PST\" or \"UTC\"). If not " -"set defaults to \"UTC\"" -msgstr "" - -#: views/users/api.hbs:23 -msgid "" -"custom field value. Use yes/no for option group values (checkboxes, radios, " -"drop downs)" -msgstr "" - -#: views/users/api.hbs:24 -msgid "Additional POST arguments" -msgstr "" - -#: views/users/api.hbs:25 -msgid "" -"set to \"yes\" if you want to make sure the email is marked as subscribed " -"even if it was previously marked as unsubscribed. If the email was already " -"unsubscribed/blocked then subscription status is not changed" -msgstr "" - -#: views/users/api.hbs:26 -msgid "" -"set to \"yes\" if you want to send confirmation email to the subscriber " -"before actually marking as subscribed" -msgstr "" - -#: views/users/api.hbs:28 -msgid "Remove subscription" -msgstr "" - -#: views/users/api.hbs:29 -msgid "This API call marks a subscription as unsubscribed" -msgstr "" - -#: views/users/api.hbs:36 -msgid "Delete subscription" -msgstr "" - -#: views/users/api.hbs:37 -msgid "This API call deletes a subscription" -msgstr "" - -#: views/users/api.hbs:44 -msgid "Add new custom field" -msgstr "" - -#: views/users/api.hbs:45 -msgid "This API call creates a new custom field for a list." -msgstr "" - -#: views/users/api.hbs:49 -msgid "field name" -msgstr "" - -#: views/users/api.hbs:51 -msgid "one of the following types:" -msgstr "" - -#: views/users/api.hbs:52 -msgid "" -"If the type is 'option' then you also need to specify the parent element ID" -msgstr "" - -#: views/users/api.hbs:53 -msgid "" -"Template for the group element. If not set, then values of the elements are " -"joined with commas" -msgstr "" - -#: views/users/api.hbs:54 -msgid "" -"if not visible then the subscriber can not view or modify this value at the " -"profile page" -msgstr "" - -#: views/users/forgot.hbs:3 views/users/reset.hbs:3 -msgid "Password Reset" -msgstr "" - -#: views/users/forgot.hbs:4 -msgid "Reset your password?" -msgstr "" - -#: views/users/forgot.hbs:5 -msgid "Accounts are managed through LDAP." -msgstr "" - -#: views/users/forgot.hbs:6 views/users/reset.hbs:10 -msgid "Reset Password" -msgstr "" - -#: views/users/forgot.hbs:7 -msgid "" -"Please provide the username or email address that you used when you signed " -"up for your Mailtrain account." -msgstr "" - -#: views/users/forgot.hbs:8 -msgid "We will send you an email that will allow you to reset your password." -msgstr "" - -#: views/users/forgot.hbs:10 -msgid "Username or email address" -msgstr "" - -#: views/users/forgot.hbs:11 -msgid "Send verification email" -msgstr "" - -#: views/users/login.hbs:8 -msgid "Remember me" -msgstr "" - -#: views/users/login.hbs:11 views/users/login.hbs:12 -msgid "Forgot password?" -msgstr "" - -#: views/users/reset.hbs:4 -msgid "Choose your new password" -msgstr "" - -#: views/users/reset.hbs:5 -msgid "Please enter a new password." -msgstr "" - -#: lib/feed.js:31 -msgid "Bad status code %s" -msgstr "" - -#: lib/helpers.js:17 -msgid "URL that points to the unsubscribe page" -msgstr "" - -#: lib/helpers.js:20 -msgid "URL that points to the preferences page of the subscriber" -msgstr "" - -#: lib/helpers.js:23 -msgid "URL to preview the message in a browser" -msgstr "" - -#: lib/helpers.js:29 lib/models/segments.js:31 -msgid "First name" -msgstr "" - -#: lib/helpers.js:32 lib/models/segments.js:35 -msgid "Last name" -msgstr "" - -#: lib/helpers.js:35 -msgid "Full name (first and last name combined)" -msgstr "" - -#: lib/helpers.js:38 -msgid "Unique ID that identifies the recipient" -msgstr "" - -#: lib/helpers.js:41 -msgid "Unique ID that identifies the list used for this campaign" -msgstr "" - -#: lib/helpers.js:44 -msgid "Unique ID that identifies current campaign" -msgstr "" - -#: lib/mailer.js:215 -msgid "Invalid mail transport" -msgstr "Vigane maili transport" - -#: lib/models/campaigns.js:271 lib/models/campaigns.js:298 -#: lib/models/campaigns.js:371 lib/models/campaigns.js:494 -#: lib/models/campaigns.js:752 lib/models/campaigns.js:881 -msgid "Missing Campaign ID" -msgstr "" - -#: lib/models/campaigns.js:407 -msgid "Emtpy or too large attahcment" -msgstr "" - -#: lib/models/campaigns.js:573 lib/models/campaigns.js:761 -msgid "Campaign Name must be set" -msgstr "" - -#: lib/models/campaigns.js:577 -msgid "RSS URL must be set and needs to be a valid URL" -msgstr "" - -#: lib/models/campaigns.js:730 -msgid "Selected template not found" -msgstr "" - -#: lib/models/campaigns.js:1082 -msgid "Invalid or missing message ID" -msgstr "" - -#: lib/models/fields.js:24 -msgid "Drop Down" -msgstr "" - -#: lib/models/fields.js:25 -msgid "Date (MM/DD/YYY)" -msgstr "" - -#: lib/models/fields.js:29 -msgid "JSON value for custom rendering" -msgstr "" - -#: lib/models/fields.js:30 -msgid "Option" -msgstr "" - -#: lib/models/fields.js:53 lib/models/fields.js:98 lib/models/fields.js:123 -#: lib/models/lists.js:81 lib/models/lists.js:175 lib/models/lists.js:212 -#: lib/models/segments.js:43 lib/models/segments.js:176 -#: lib/models/subscriptions.js:88 lib/models/subscriptions.js:640 -#: lib/models/subscriptions.js:703 lib/models/subscriptions.js:889 -#: lib/models/subscriptions.js:992 lib/models/subscriptions.js:1046 -#: lib/models/subscriptions.js:1109 lib/models/subscriptions.js:1152 -msgid "Missing List ID" -msgstr "" - -#: lib/models/fields.js:129 -msgid "Option field requires a group to be selected" -msgstr "" - -#: lib/models/fields.js:149 lib/models/fields.js:199 -msgid "Missing Field ID" -msgstr "" - -#: lib/models/fields.js:153 lib/models/segments.js:185 -#: lib/models/segments.js:225 -msgid "Field Name must be set" -msgstr "" - -#: lib/models/fields.js:216 -msgid "Custom field not found" -msgstr "" - -#: lib/models/fields.js:289 -msgid "Unknown column type %s" -msgstr "" - -#: lib/models/fields.js:293 -msgid "Missing column name" -msgstr "" - -#: lib/models/fields.js:297 -msgid "Missing list ID" -msgstr "" - -#: lib/models/fields.js:305 -msgid "Provided List ID not found" -msgstr "" - -#: lib/models/links.js:328 routes/campaigns.js:541 routes/campaigns.js:590 -#: services/sender.js:304 -msgid "Campaign not found" -msgstr "" - -#: lib/models/links.js:336 routes/lists.js:146 services/sender.js:311 -msgid "List not found" -msgstr "" - -#: lib/models/links.js:344 -msgid "Subscription not found" -msgstr "" - -#: lib/models/lists.js:117 lib/models/lists.js:179 -msgid "List Name must be set" -msgstr "" - -#: lib/models/lists.js:241 -msgid "Missing List CID" -msgstr "" - -#: lib/models/segments.js:15 -msgid "Signup country" -msgstr "" - -#: lib/models/segments.js:19 lib/models/triggers.js:11 -msgid "Sign up date" -msgstr "" - -#: lib/models/segments.js:23 lib/models/triggers.js:15 -msgid "Latest open" -msgstr "" - -#: lib/models/segments.js:27 lib/models/triggers.js:19 -msgid "Latest click" -msgstr "" - -#: lib/models/segments.js:69 lib/models/segments.js:216 -#: lib/models/segments.js:256 lib/models/segments.js:278 -msgid "Missing Segment ID" -msgstr "" - -#: lib/models/segments.js:85 lib/models/segments.js:549 -#: lib/models/segments.js:658 -msgid "Segment not found" -msgstr "" - -#: lib/models/segments.js:146 lib/models/segments.js:147 -#: lib/models/segments.js:408 lib/models/segments.js:409 -msgid "%s days after today" -msgstr "" - -#: lib/models/segments.js:146 lib/models/segments.js:147 -#: lib/models/segments.js:408 lib/models/segments.js:409 -msgid "%s days before today" -msgstr "" - -#: lib/models/segments.js:148 lib/models/segments.js:410 -msgid "today" -msgstr "" - -#: lib/models/segments.js:189 lib/models/segments.js:229 -msgid "Invalid segment rule type" -msgstr "" - -#: lib/models/segments.js:289 lib/models/segments.js:454 routes/segments.js:266 -#: routes/segments.js:300 routes/segments.js:370 routes/segments.js:381 -msgid "Selected segment not found" -msgstr "" - -#: lib/models/segments.js:294 lib/models/segments.js:459 routes/segments.js:272 -#: routes/segments.js:306 routes/segments.js:387 -msgid "Invalid rule type" -msgstr "" - -#: lib/models/segments.js:358 lib/models/segments.js:434 -#: lib/models/segments.js:524 -msgid "Missing Rule ID" -msgstr "" - -#: lib/models/segments.js:374 -msgid "Specified rule not found" -msgstr "" - -#: lib/models/segments.js:385 -msgid "Specified segment not found" -msgstr "" - -#: lib/models/segments.js:445 -msgid "Selected rule not found" -msgstr "" - -#: lib/models/subscriptions.js:233 -msgid "%s: Please Confirm Subscription" -msgstr "" - -#: lib/models/subscriptions.js:324 -msgid "Could not save subscription" -msgstr "" - -#: lib/models/subscriptions.js:507 lib/models/subscriptions.js:537 -msgid "Missing Subscription ID" -msgstr "" - -#: lib/models/subscriptions.js:565 -msgid "Missing Subscription email address" -msgstr "" - -#: lib/models/subscriptions.js:644 lib/models/subscriptions.js:893 -#: lib/models/subscriptions.js:1156 -msgid "Missing subscription ID" -msgstr "" - -#: lib/models/subscriptions.js:707 -msgid "Missing email address" -msgstr "" - -#: lib/models/subscriptions.js:996 lib/models/subscriptions.js:1050 -#: lib/models/subscriptions.js:1086 -msgid "Missing Import ID" -msgstr "" - -#: lib/models/subscriptions.js:1178 -msgid "Unknown subscription ID" -msgstr "" - -#: lib/models/subscriptions.js:1183 -msgid "Nothing seems to be changed" -msgstr "" - -#: lib/models/subscriptions.js:1197 -msgid "This address is already registered by someone else" -msgstr "" - -#: lib/models/templates.js:51 lib/models/templates.js:122 -#: lib/models/templates.js:163 -msgid "Missing Template ID" -msgstr "" - -#: lib/models/templates.js:80 lib/models/templates.js:126 -msgid "Template Name must be set" -msgstr "" - -#: lib/models/triggers.js:28 -msgid "Has Opened" -msgstr "" - -#: lib/models/triggers.js:31 -msgid "Has Clicked" -msgstr "" - -#: lib/models/triggers.js:34 -msgid "Not Opened" -msgstr "" - -#: lib/models/triggers.js:37 -msgid "Not Clicked" -msgstr "" - -#: lib/models/triggers.js:174 lib/models/triggers.js:211 -msgid "Missing or invalid list ID" -msgstr "" - -#: lib/models/triggers.js:178 lib/models/triggers.js:263 -msgid "Days in the past are not allowed" -msgstr "" - -#: lib/models/triggers.js:182 lib/models/triggers.js:203 -#: lib/models/triggers.js:267 lib/models/triggers.js:288 -msgid "Missing or invalid trigger rule" -msgstr "" - -#: lib/models/triggers.js:189 lib/models/triggers.js:274 -msgid "Invalid subscription configuration" -msgstr "" - -#: lib/models/triggers.js:196 lib/models/triggers.js:281 -msgid "Invalid campaign configuration" -msgstr "" - -#: lib/models/triggers.js:199 lib/models/triggers.js:284 -msgid "A campaing can not be a target for itself" -msgstr "" - -#: lib/models/triggers.js:232 -msgid "Could not store trigger row" -msgstr "" - -#: lib/models/triggers.js:249 -msgid "Missing or invalid Trigger ID" -msgstr "" - -#: lib/models/triggers.js:316 -msgid "Missing Trigger ID" -msgstr "" - -#: lib/models/users.js:103 -msgid "Could not store user row" -msgstr "" - -#: lib/models/users.js:173 -msgid "Email Address must be set" -msgstr "" - -#: lib/models/users.js:184 -msgid "Failed to check user data" -msgstr "" - -#: lib/models/users.js:195 -msgid "" -"Can't change email as another user with the same email address already exists" -msgstr "" - -#: lib/models/users.js:212 -msgid "Incorrect current password" -msgstr "" - -#: lib/models/users.js:216 -msgid "New password not set" -msgstr "" - -#: lib/models/users.js:220 -msgid "Passwords do not match" -msgstr "" - -#: lib/models/users.js:258 -msgid "User ID not set" -msgstr "" - -#: lib/models/users.js:286 -msgid "Username must be set" -msgstr "" - -#: lib/models/users.js:323 -msgid "Mailer password change request" -msgstr "" - -#: lib/models/users.js:347 lib/models/users.js:367 -msgid "Missing username or reset token" -msgstr "" - -#: lib/models/users.js:371 -msgid "Invalid new password" -msgstr "" - -#: lib/passport.js:38 -msgid "%s logged out" -msgstr "" - -#: lib/passport.js:51 -msgid "Failed to authenticate user" -msgstr "" - -#: lib/passport.js:67 -msgid "Logged in as %s" -msgstr "" - -#: lib/passport.js:125 -msgid "Incorrect username or password" -msgstr "" - -#: lib/tools.js:123 -msgid "Automation" -msgstr "" - -#: lib/tools.js:133 -msgid "Blocked email address \"%s\"" -msgstr "" - -#: lib/tools.js:142 -msgid "Invalid email address \"%s\"." -msgstr "" - -#: lib/tools.js:145 -msgid "MX record not found for domain" -msgstr "" - -#: lib/tools.js:148 -msgid "Address domain not found" -msgstr "" - -#: lib/tools.js:151 -msgid "Address domain name is required" -msgstr "" - -#: routes/archive.js:31 routes/archive.js:43 routes/archive.js:55 app.js:211 -msgid "Not Found" -msgstr "Lehekülge ei leitud :(" - -#: routes/archive.js:110 services/sender.js:447 -msgid "Received status code %s from %s" -msgstr "" - -#: routes/archive.js:134 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:142 routes/campaigns.js:789 -msgid "Attachment not found" -msgstr "" - -#: routes/campaigns.js:26 routes/fields.js:13 routes/lists.js:49 -#: routes/segments.js:13 routes/settings.js:23 routes/templates.js:17 -#: routes/triggers.js:18 routes/users.js:75 routes/users.js:120 -msgid "Need to be logged in to access restricted content" -msgstr "Pead olema sisse logitud, et näha peidetud sisu" - -#: routes/campaigns.js:117 -msgid "Could not create campaign" -msgstr "" - -#: routes/campaigns.js:120 -msgid "Campaign “%s†created" -msgstr "" - -#: routes/campaigns.js:204 -msgid "content from an RSS entry" -msgstr "" - -#: routes/campaigns.js:220 -msgid "Campaign settings updated" -msgstr "" - -#: routes/campaigns.js:222 -msgid "Campaign settings not updated" -msgstr "" - -#: routes/campaigns.js:238 routes/campaigns.js:639 -msgid "Campaign deleted" -msgstr "" - -#: routes/campaigns.js:240 routes/campaigns.js:641 -msgid "Could not delete specified campaign" -msgstr "" - -#: routes/campaigns.js:259 -msgid "Idling" -msgstr "" - -#: routes/campaigns.js:262 -msgid "Scheduled" -msgstr "" - -#: routes/campaigns.js:268 -msgid "Paused" -msgstr "" - -#: routes/campaigns.js:270 -msgid "Inactive" -msgstr "" - -#: routes/campaigns.js:272 -msgid "Active" -msgstr "" - -#: routes/campaigns.js:274 -msgid "Other" -msgstr "" - -#: routes/campaigns.js:429 -msgid "Unknown status selector" -msgstr "" - -#: routes/campaigns.js:657 -msgid "Scheduled sending" -msgstr "" - -#: routes/campaigns.js:659 -msgid "Could not schedule sending" -msgstr "" - -#: routes/campaigns.js:671 -msgid "Sending resumed" -msgstr "" - -#: routes/campaigns.js:673 -msgid "Could not resume sending" -msgstr "" - -#: routes/campaigns.js:685 -msgid "Sending reset" -msgstr "" - -#: routes/campaigns.js:687 -msgid "Could not reset sending" -msgstr "" - -#: routes/campaigns.js:699 routes/campaigns.js:727 -msgid "Sending paused" -msgstr "" - -#: routes/campaigns.js:701 routes/campaigns.js:729 -msgid "Could not pause sending" -msgstr "" - -#: routes/campaigns.js:713 -msgid "Sending activated" -msgstr "" - -#: routes/campaigns.js:715 -msgid "Could not activate sending" -msgstr "" - -#: routes/campaigns.js:750 -msgid "Attachment uploaded" -msgstr "" - -#: routes/campaigns.js:752 -msgid "Could not store attachment" -msgstr "" - -#: routes/campaigns.js:769 -msgid "Attachment deleted" -msgstr "" - -#: routes/campaigns.js:771 -msgid "Could not delete attachment" -msgstr "" - -#: routes/fields.js:28 routes/fields.js:64 routes/fields.js:118 -#: routes/segments.js:28 routes/segments.js:59 routes/segments.js:102 -#: routes/segments.js:151 routes/segments.js:223 routes/segments.js:255 -#: routes/segments.js:289 routes/segments.js:336 routes/segments.js:359 -msgid "Selected list ID not found" -msgstr "" - -#: routes/fields.js:102 -msgid "Could not create custom field" -msgstr "" - -#: routes/fields.js:129 -msgid "Selected field not found" -msgstr "" - -#: routes/fields.js:165 -msgid "Field settings updated" -msgstr "" - -#: routes/fields.js:167 -msgid "Field settings not updated" -msgstr "" - -#: routes/fields.js:183 -msgid "Custom field deleted" -msgstr "" - -#: routes/fields.js:185 -msgid "Could not delete specified field" -msgstr "" - -#: routes/links.js:40 -msgid "Oops, we couldn't find a link for the URL you clicked" -msgstr "" - -#: routes/lists.js:90 -msgid "Could not create list" -msgstr "" - -#: routes/lists.js:93 -msgid "List created" -msgstr "" - -#: routes/lists.js:101 routes/lists.js:236 routes/lists.js:301 -#: routes/lists.js:340 routes/lists.js:409 routes/lists.js:434 -#: routes/lists.js:479 routes/lists.js:501 routes/lists.js:530 -#: routes/lists.js:609 routes/lists.js:666 routes/lists.js:693 -msgid "Could not find list with specified ID" -msgstr "" - -#: routes/lists.js:115 -msgid "List settings updated" -msgstr "" - -#: routes/lists.js:117 -msgid "List settings not updated" -msgstr "" - -#: routes/lists.js:133 -msgid "List deleted" -msgstr "" - -#: routes/lists.js:135 -msgid "Could not delete specified list" -msgstr "" - -#: routes/lists.js:171 -msgid "Unknown" -msgstr "" - -#: routes/lists.js:171 -msgid "Complained" -msgstr "" - -#: routes/lists.js:202 -msgid "Invalid key" -msgstr "" - -#: routes/lists.js:204 -msgid "Expired key" -msgstr "" - -#: routes/lists.js:206 -msgid "Revoked key" -msgstr "" - -#: routes/lists.js:256 -msgid "Initializing" -msgstr "" - -#: routes/lists.js:259 -msgid "Initialized" -msgstr "" - -#: routes/lists.js:262 -msgid "Importing" -msgstr "" - -#: routes/lists.js:268 -msgid "Errored" -msgstr "" - -#: routes/lists.js:346 routes/lists.js:415 routes/lists.js:440 -msgid "Could not find subscriber with specified ID" -msgstr "" - -#: routes/lists.js:392 -msgid "Could not add subscription" -msgstr "" - -#: routes/lists.js:397 -msgid "%s was successfully added to your list" -msgstr "" - -#: routes/lists.js:399 -msgid "%s was not added to your list" -msgstr "" - -#: routes/lists.js:421 -msgid "Could not unsubscribe user" -msgstr "" - -#: routes/lists.js:424 -msgid "%s was successfully unsubscribed from your list" -msgstr "" - -#: routes/lists.js:444 -msgid "%s was successfully removed from your list" -msgstr "" - -#: routes/lists.js:456 -msgid "Another subscriber with email address %s already exists" -msgstr "" - -#: routes/lists.js:463 -msgid "Subscription settings updated" -msgstr "" - -#: routes/lists.js:465 -msgid "Subscription settings not updated" -msgstr "" - -#: routes/lists.js:507 routes/lists.js:615 routes/lists.js:651 -#: routes/lists.js:679 routes/lists.js:699 -msgid "Could not find import data with specified ID" -msgstr "" - -#: routes/lists.js:538 -msgid "Could not process CSV" -msgstr "" - -#: routes/lists.js:547 -msgid "Could not create importer" -msgstr "" - -#: routes/lists.js:598 -msgid "Empty file" -msgstr "" - -#: routes/lists.js:655 -msgid "Import started" -msgstr "" - -#: routes/lists.js:683 -msgid "Import restarted" -msgstr "" - -#: routes/segments.js:86 -msgid "Could not create segment" -msgstr "" - -#: routes/segments.js:89 -msgid "Segment created" -msgstr "" - -#: routes/segments.js:113 -msgid "Selected segment ID not found" -msgstr "" - -#: routes/segments.js:188 -msgid "Segment settings updated" -msgstr "" - -#: routes/segments.js:190 -msgid "Segment settings not updated" -msgstr "" - -#: routes/segments.js:206 -msgid "Segment deleted" -msgstr "" - -#: routes/segments.js:208 -msgid "Could not delete specified segment" -msgstr "" - -#: routes/segments.js:342 -msgid "Could not create rule" -msgstr "" - -#: routes/segments.js:345 -msgid "Rule created" -msgstr "" - -#: routes/segments.js:410 -msgid "Rule settings updated" -msgstr "" - -#: routes/segments.js:412 -msgid "Rule settings not updated" -msgstr "" - -#: routes/segments.js:428 -msgid "Rule deleted" -msgstr "" - -#: routes/segments.js:430 -msgid "Could not delete specified rule" -msgstr "" - -#: routes/settings.js:39 -msgid "Use TLS" -msgstr "Kasuta TLSi" - -#: routes/settings.js:40 -msgid "usually selected for port 465" -msgstr "tavaliselt valitakse, kui port on 465" - -#: routes/settings.js:44 -msgid "Use STARTTLS" -msgstr "Kasuta STARTTLSi" - -#: routes/settings.js:45 -msgid "usually selected for port 587 and 25" -msgstr "tavaliselt valitakse, kui port on 587 või 25" - -#: routes/settings.js:49 -msgid "Do not use encryption" -msgstr "Ära kasuta ühenduse krüpteerimist" - -#: routes/settings.js:115 -msgid "Settings updated" -msgstr "Seaded uuendatud" - -#: routes/settings.js:173 -msgid "Invalid mail transport type" -msgstr "Viga maili transpordi tüüp" - -#: routes/settings.js:184 -msgid "Invalid Access Key" -msgstr "Vigae ligipääsuvõti" - -#: routes/settings.js:187 -msgid "Invalid AWS credentials" -msgstr "VIgased AWS võtmed" - -#: routes/settings.js:190 -msgid "Connection refused, check hostname and port." -msgstr "Ühendusest keelduti, kontrolli domeeninime ja porti" - -#: routes/settings.js:195 -msgid "" -"Did not receive greeting message from server. This might happen when " -"connecting to a TLS port without using TLS." -msgstr "" -"Ei saanud serverilt vastust, see juhtub tavaliselt kui ühendus TLS " -"serverisse ilma TLS kasutamata" - -#: routes/settings.js:197 -msgid "Did not receive greeting message from server." -msgstr "Ei saanud serverilt vastust" - -#: routes/settings.js:200 -msgid "" -"Connection timed out. Check your firewall settings, destination port is " -"probably blocked." -msgstr "" -"Ühendus aegus. Kontrolli oma tulemüüri seadeid, tõenäoliselt on serveir port " -"blokeeritud" - -#: routes/settings.js:205 -msgid "Authentication not accepted, server expects STARTTLS to be used." -msgstr "Autentimist ei lubatud, server nõuab STARTTLS kasutamist" - -#: routes/settings.js:207 -msgid "Authentication failed, check username and password." -msgstr "Autentimine ebaõnnestus, kontrolli kasutajanime ja parooli" - -#: routes/settings.js:217 -msgid "Failed Mailer verification." -msgstr "E-posti seadistuse kontroll ebaõnnestus" - -#: routes/settings.js:217 -msgid "Server responded with: \"%s\"" -msgstr "Server vastas \"%s\"" - -#: routes/settings.js:221 -msgid "Mailer settings verified, ready to send some mail!" -msgstr "E-posti seaded on kontrollitud, võid hakata kirju saatma" - -#: routes/subscription.js:22 -msgid "Selected subscription not found" -msgstr "" - -#: routes/subscription.js:32 routes/subscription.js:103 -#: routes/subscription.js:141 routes/subscription.js:166 -#: routes/subscription.js:191 routes/subscription.js:232 -#: routes/subscription.js:270 routes/subscription.js:317 -#: routes/subscription.js:339 routes/subscription.js:368 -#: routes/subscription.js:392 routes/subscription.js:424 -msgid "Selected list not found" -msgstr "" - -#: routes/subscription.js:78 routes/subscription.js:472 -msgid "%s: Subscription Confirmed" -msgstr "" - -#: routes/subscription.js:217 -msgid "Email address not set" -msgstr "" - -#: routes/subscription.js:255 -msgid "Could not store confirmation data" -msgstr "" - -#: routes/subscription.js:284 routes/subscription.js:349 -#: routes/subscription.js:402 -msgid "Subscription not found from this list" -msgstr "" - -#: routes/subscription.js:383 -msgid "Email address updated, check your mailbox for verification instructions" -msgstr "" - -#: routes/subscription.js:499 routes/subscription.js:515 -msgid "Public key is not set" -msgstr "" - -#: routes/templates.js:98 -msgid "Could not create template" -msgstr "" - -#: routes/templates.js:101 -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 "" - -#: routes/templates.js:142 -msgid "Template settings not updated" -msgstr "" - -#: routes/templates.js:158 -msgid "Template deleted" -msgstr "" - -#: routes/templates.js:160 -msgid "Could not delete specified template" -msgstr "" - -#: routes/triggers.js:62 routes/triggers.js:79 routes/triggers.js:154 -msgid "Could not find selected list" -msgstr "" - -#: routes/triggers.js:131 -msgid "Could not create trigger" -msgstr "" - -#: routes/triggers.js:138 -msgid "Trigger “%s†created" -msgstr "" - -#: routes/triggers.js:214 -msgid "Trigger settings updated" -msgstr "" - -#: routes/triggers.js:216 -msgid "Trigger settings not updated" -msgstr "" - -#: routes/triggers.js:228 -msgid "Trigger deleted" -msgstr "" - -#: routes/triggers.js:230 -msgid "Could not delete specified trigger" -msgstr "" - -#: routes/triggers.js:242 -msgid "Could not find trigger with specified ID" -msgstr "" - -#: routes/triggers.js:255 -msgid "Trigger not found" -msgstr "" - -#: routes/users.js:32 -msgid "" -"An email with password reset instructions has been sent to your email " -"address, if it exists on our system." -msgstr "" - -#: routes/users.js:46 routes/users.js:64 -msgid "Unknown or expired reset token" -msgstr "" - -#: routes/users.js:66 -msgid "Your password has been changed successfully" -msgstr "" - -#: routes/users.js:87 -msgid "User data not found" -msgstr "" - -#: routes/users.js:110 -msgid "Access token updated" -msgstr "" - -#: routes/users.js:112 -msgid "Access token not updated" -msgstr "" - -#: routes/users.js:139 -msgid "Account information updated" -msgstr "" - -#: routes/users.js:141 -msgid "Account information not updated" -msgstr "" - -#: services/feedcheck.js:51 -msgid "Feed error: %s" -msgstr "" - -#: services/feedcheck.js:54 -msgid "Found %s new campaign messages from feed" -msgstr "" - -#: services/feedcheck.js:56 -msgid "Found nothing new from the feed" -msgstr "" - -#: services/feedcheck.js:143 -msgid "RSS entry %s" -msgstr "" - -#: services/importer.js:243 -msgid "Could not access import file" -msgstr "" - -#: services/triggers.js:51 -msgid "Unknown trigger type %s" -msgstr "" diff --git a/languages/it_IT.mo b/languages/it_IT.mo deleted file mode 100644 index 7e5a8f97..00000000 Binary files a/languages/it_IT.mo and /dev/null differ diff --git a/languages/it_IT.po b/languages/it_IT.po deleted file mode 100644 index b35ef79f..00000000 --- a/languages/it_IT.po +++ /dev/null @@ -1,4661 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: \n" -"Language-Team: \n" -"Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2018-04-11 12:42+0200\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"POT-Creation-Date: 2018-04-05 15:43+0200\n" -"X-Generator: Poedit 1.8.7.1\n" -"Last-Translator: \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Language: it\n" - -#: views/archive/layout.hbs:1 views/layout.hbs:1 -msgid "Self hosted email newsletter app" -msgstr "Applicazione di newsletter self-hosted" - -#: views/blacklist.hbs:1 views/campaigns/blacklisted.hbs:1 -#: views/campaigns/bounced.hbs:1 views/campaigns/campaigns.hbs:1 -#: views/campaigns/clicked.hbs:1 views/campaigns/complained.hbs:1 -#: views/campaigns/create-rss.hbs:1 views/campaigns/create-triggered.hbs:1 -#: views/campaigns/create.hbs:1 views/campaigns/delivered.hbs:1 -#: views/campaigns/edit-rss.hbs:1 views/campaigns/edit-triggered.hbs:1 -#: views/campaigns/edit.hbs:1 views/campaigns/opened.hbs:1 -#: views/campaigns/unsubscribed.hbs:1 views/campaigns/upload-attachment.hbs:1 -#: views/campaigns/view.hbs:1 views/lists/create.hbs:1 views/lists/edit.hbs:1 -#: views/lists/fields/create.hbs:1 views/lists/fields/edit.hbs:1 -#: views/lists/fields/fields.hbs:1 views/lists/forms/create.hbs:1 -#: views/lists/forms/edit.hbs:1 views/lists/forms/forms.hbs:1 -#: views/lists/lists.hbs:1 views/lists/segments/create.hbs:1 -#: views/lists/segments/edit.hbs:1 views/lists/segments/rule-configure.hbs:1 -#: views/lists/segments/rule-create.hbs:1 views/lists/segments/rule-edit.hbs:1 -#: views/lists/segments/segments.hbs:1 views/lists/segments/view.hbs:1 -#: views/lists/subscription/add.hbs:1 views/lists/subscription/edit.hbs:1 -#: views/lists/subscription/import-failed.hbs:1 -#: views/lists/subscription/import-preview.hbs:1 -#: views/lists/subscription/import.hbs:1 views/lists/view.hbs:1 -#: views/report-templates/create.hbs:1 views/report-templates/edit.hbs:1 -#: views/report-templates/report-templates.hbs:1 -#: views/reports/create-select-template.hbs:1 views/reports/create.hbs:1 -#: views/reports/edit.hbs:1 views/reports/output.hbs:1 -#: views/reports/reports.hbs:1 views/reports/view.hbs:1 views/settings.hbs:1 -#: views/templates/create.hbs:1 views/templates/edit.hbs:1 -#: views/templates/templates.hbs:1 views/triggers/create-select.hbs:1 -#: views/triggers/create.hbs:1 views/triggers/edit.hbs:1 -#: views/triggers/triggered.hbs:1 views/triggers/triggers.hbs:1 -#: views/users/account.hbs:1 views/users/api.hbs:1 views/users/forgot.hbs:1 -#: views/users/login.hbs:1 views/users/reset.hbs:1 app.js:169 -msgid "Home" -msgstr "Home" - -#: views/blacklist.hbs:2 views/blacklist.hbs:3 views/layout.hbs:7 -#: views/lists/subscription/edit.hbs:15 -msgid "Blacklist" -msgstr "Lista nera" - -#: views/blacklist.hbs:4 views/users/api.hbs:76 -msgid "Add email to blacklist" -msgstr "Aggiungi email alla lista nera" - -#: views/blacklist.hbs:5 -msgid "Add" -msgstr "Aggiungi" - -#: views/blacklist.hbs:6 -msgid "Email" -msgstr "Email" - -#: views/campaigns/blacklisted.hbs:2 views/campaigns/bounced.hbs:2 -#: views/campaigns/campaigns.hbs:2 views/campaigns/campaigns.hbs:7 -#: views/campaigns/clicked.hbs:2 views/campaigns/complained.hbs:2 -#: views/campaigns/create-rss.hbs:2 views/campaigns/create-triggered.hbs:2 -#: views/campaigns/create.hbs:2 views/campaigns/delivered.hbs:2 -#: views/campaigns/edit-rss.hbs:2 views/campaigns/edit-triggered.hbs:2 -#: views/campaigns/edit.hbs:2 views/campaigns/opened.hbs:2 -#: views/campaigns/unsubscribed.hbs:2 views/campaigns/upload-attachment.hbs:2 -#: views/campaigns/view.hbs:2 lib/tools.js:133 routes/campaigns.js:35 -msgid "Campaigns" -msgstr "Campagne" - -#: views/campaigns/blacklisted.hbs:3 views/campaigns/blacklisted.hbs:4 -msgid "Blacklisted info" -msgstr "Informazioni lista nera" - -#: views/campaigns/blacklisted.hbs:5 views/campaigns/bounced.hbs:5 -#: views/campaigns/clicked.hbs:5 views/campaigns/complained.hbs:5 -#: views/campaigns/delivered.hbs:5 views/campaigns/edit-rss.hbs:5 -#: views/campaigns/edit-triggered.hbs:5 views/campaigns/edit.hbs:5 -#: views/campaigns/opened.hbs:5 views/campaigns/unsubscribed.hbs:5 -#: views/campaigns/upload-attachment.hbs:6 -msgid "View campaign" -msgstr "Vedi campagna" - -#: views/campaigns/blacklisted.hbs:6 -msgid "Subscribers who blacklisted by global blacklist:" -msgstr "Iscritti in lista nera derivati dalla lista nera globale:" - -#: views/campaigns/blacklisted.hbs:7 views/campaigns/bounced.hbs:7 -#: views/campaigns/clicked.hbs:15 views/campaigns/complained.hbs:7 -#: views/campaigns/delivered.hbs:7 views/campaigns/opened.hbs:9 -#: views/campaigns/unsubscribed.hbs:7 -#: views/lists/subscription/import-failed.hbs:8 views/lists/view.hbs:19 -#: views/triggers/triggered.hbs:6 -msgid "Address" -msgstr "Indirizzo" - -#: views/campaigns/blacklisted.hbs:8 views/campaigns/bounced.hbs:8 -#: views/campaigns/clicked.hbs:16 views/campaigns/complained.hbs:8 -#: views/campaigns/delivered.hbs:8 views/campaigns/opened.hbs:10 -#: views/campaigns/unsubscribed.hbs:8 views/lists/subscription/add.hbs:6 -#: views/lists/subscription/edit.hbs:7 -#: views/lists/subscription/import-preview.hbs:7 views/lists/view.hbs:20 -#: views/subscription/partials/subscription-custom-fields.hbs:3 -#: views/triggers/triggered.hbs:7 -msgid "First Name" -msgstr "Nome" - -#: views/campaigns/blacklisted.hbs:9 views/campaigns/bounced.hbs:9 -#: views/campaigns/clicked.hbs:17 views/campaigns/complained.hbs:9 -#: views/campaigns/delivered.hbs:9 views/campaigns/opened.hbs:11 -#: views/campaigns/unsubscribed.hbs:9 views/lists/subscription/add.hbs:7 -#: views/lists/subscription/edit.hbs:8 -#: views/lists/subscription/import-preview.hbs:8 views/lists/view.hbs:21 -#: views/subscription/partials/subscription-custom-fields.hbs:4 -#: views/triggers/triggered.hbs:8 -msgid "Last Name" -msgstr "Cognome" - -#: views/campaigns/blacklisted.hbs:10 -msgid "Reason" -msgstr "Ragione" - -#: views/campaigns/blacklisted.hbs:11 -msgid "Time" -msgstr "Tempo" - -#: views/campaigns/bounced.hbs:3 views/campaigns/bounced.hbs:4 -msgid "Bounced info" -msgstr "Informazioni rimbalzo" - -#: views/campaigns/bounced.hbs:6 -msgid "Subscribers who bounced and were unsubscribed:" -msgstr "Iscritti che hanno rimbalzato e sono stati rimossi:" - -#: views/campaigns/bounced.hbs:10 views/campaigns/complained.hbs:10 -#: views/campaigns/delivered.hbs:10 views/campaigns/unsubscribed.hbs:10 -msgid "SMTP response" -msgstr "Risposta SMTP" - -#: views/campaigns/bounced.hbs:11 -msgid "Bounce time" -msgstr "Tempo di rimbalzo" - -#: views/campaigns/campaigns.hbs:3 views/campaigns/create-triggered.hbs:26 -#: views/campaigns/create.hbs:3 views/campaigns/create.hbs:4 -#: views/campaigns/create.hbs:28 -msgid "Create Campaign" -msgstr "Crea Campagna" - -#: views/campaigns/campaigns.hbs:4 -msgid "Regular Campaign" -msgstr "Campagna regolare" - -#: views/campaigns/campaigns.hbs:5 -msgid "RSS Campaign" -msgstr "Campagna RSS" - -#: views/campaigns/campaigns.hbs:6 -msgid "Triggered Campaign" -msgstr "Campagna attivabile" - -#: views/campaigns/campaigns.hbs:8 views/campaigns/create-rss.hbs:6 -#: views/campaigns/create-triggered.hbs:5 views/campaigns/create.hbs:5 -#: views/campaigns/edit-rss.hbs:8 views/campaigns/edit-triggered.hbs:9 -#: views/campaigns/edit.hbs:10 views/campaigns/view.hbs:73 -#: views/lists/create.hbs:5 views/lists/edit.hbs:6 -#: views/lists/fields/fields.hbs:6 views/lists/forms/forms.hbs:6 -#: views/lists/lists.hbs:5 views/lists/segments/segments.hbs:6 -#: views/report-templates/partials/report-template-fields.hbs:1 -#: views/report-templates/report-templates.hbs:10 -#: views/reports/partials/report-fields.hbs:1 -#: views/reports/partials/report-fields.hbs:5 -#: views/reports/partials/report-fields.hbs:9 views/reports/reports.hbs:6 -#: views/templates/templates.hbs:5 views/triggers/triggers.hbs:5 -msgid "Name" -msgstr "Nome" - -#: views/campaigns/campaigns.hbs:9 views/campaigns/create-rss.hbs:8 -#: views/campaigns/create-triggered.hbs:7 views/campaigns/create.hbs:7 -#: views/campaigns/edit-rss.hbs:10 views/campaigns/edit-triggered.hbs:11 -#: views/campaigns/edit.hbs:12 views/campaigns/view.hbs:74 -#: views/lists/create.hbs:7 views/lists/edit.hbs:10 -#: views/lists/forms/edit.hbs:9 views/lists/forms/forms.hbs:7 -#: views/lists/lists.hbs:8 views/mosaico/editor.hbs:3 -#: views/partials/merge-tag-reference.hbs:4 -#: views/report-templates/partials/report-template-fields.hbs:3 -#: views/report-templates/report-templates.hbs:11 -#: views/reports/partials/report-fields.hbs:3 -#: views/reports/partials/report-fields.hbs:6 views/reports/reports.hbs:8 -#: views/templates/create.hbs:9 views/templates/edit.hbs:8 -#: views/templates/templates.hbs:6 views/triggers/create.hbs:7 -#: views/triggers/edit.hbs:8 views/triggers/triggers.hbs:7 -msgid "Description" -msgstr "Descrizione" - -#: views/campaigns/campaigns.hbs:10 views/campaigns/view.hbs:75 -#: views/lists/view.hbs:22 views/lists/view.hbs:30 -#: views/triggers/triggers.hbs:6 -msgid "Status" -msgstr "Stato" - -#: views/campaigns/campaigns.hbs:11 views/campaigns/view.hbs:76 -#: views/lists/view.hbs:23 views/lists/view.hbs:24 -#: views/report-templates/report-templates.hbs:12 -#: views/reports/partials/report-fields.hbs:7 views/reports/reports.hbs:9 -msgid "Created" -msgstr "Creato" - -#: views/campaigns/clicked.hbs:3 views/campaigns/clicked.hbs:4 -msgid "Link info" -msgstr "Informazioni link" - -#: views/campaigns/clicked.hbs:6 views/campaigns/view.hbs:63 -msgid "URL" -msgstr "URL" - -#: views/campaigns/clicked.hbs:7 views/campaigns/view.hbs:64 -msgid "Clicks" -msgstr "Clicks" - -#: views/campaigns/clicked.hbs:8 views/campaigns/view.hbs:65 -msgid "% of clicks" -msgstr "% di clicks" - -#: views/campaigns/clicked.hbs:9 views/campaigns/view.hbs:66 -msgid "% of messages" -msgstr "% di messagi" - -#: views/campaigns/clicked.hbs:10 views/campaigns/view.hbs:69 -msgid "Aggregated clicks" -msgstr "Clicks aggregati" - -#: views/campaigns/clicked.hbs:11 -msgid "Subscribers who clicked on a link:" -msgstr "Iscritti che hanno cliccato un link:" - -#: views/campaigns/clicked.hbs:12 -msgid "Subscribers who clicked on this link:" -msgstr "Iscritti che hanno cliccato questo link:" - -#: views/campaigns/clicked.hbs:13 views/campaigns/opened.hbs:7 -msgid "Stats by country" -msgstr "Statistiche per nazione" - -#: views/campaigns/clicked.hbs:14 views/campaigns/opened.hbs:8 -msgid "Stats by device type" -msgstr "Statistiche per tipo di dispositivo" - -#: views/campaigns/clicked.hbs:18 -msgid "First click time" -msgstr "Tempo primo click" - -#: views/campaigns/clicked.hbs:19 -msgid "Click count" -msgstr "Conteggio clicks" - -#: views/campaigns/complained.hbs:3 views/campaigns/complained.hbs:4 -msgid "Complained info" -msgstr "Informazioni reclamo" - -#: views/campaigns/complained.hbs:6 -msgid "Subscribers who complained and were unsubscribed:" -msgstr "Iscritti che hanno reclamato e sono stati rimossi" - -#: views/campaigns/complained.hbs:11 -msgid "Complain time" -msgstr "Tempo reclamo" - -#: views/campaigns/create-rss.hbs:3 views/campaigns/create-rss.hbs:4 -#: views/campaigns/create-rss.hbs:21 -msgid "Create RSS Campaign" -msgstr "Crea campagna RSS" - -#: views/campaigns/create-rss.hbs:5 views/campaigns/edit-rss.hbs:6 -msgid "" -"RSS campaign sets up a tracker against selected RSS feed address. Whenever a " -"new entry is found from this feed it is sent to selected list as an email " -"message." -msgstr "" -"Le campagne RSS configurano un registratore per gli indirizzi dei feed RSS. " -"Qualvolta un nuovo elemento venga trovato per il feed, viene inviato alle " -"liste selezionate come una email." - -#: views/campaigns/create-rss.hbs:7 views/campaigns/create-triggered.hbs:6 -#: views/campaigns/create.hbs:6 views/campaigns/edit-rss.hbs:9 -#: views/campaigns/edit-triggered.hbs:10 views/campaigns/edit.hbs:11 -msgid "Campaign Name" -msgstr "Nome campagna" - -#: views/campaigns/create-rss.hbs:9 views/campaigns/create-triggered.hbs:8 -#: views/campaigns/create.hbs:8 views/campaigns/edit-rss.hbs:11 -#: views/campaigns/edit-triggered.hbs:12 views/campaigns/edit.hbs:13 -#: views/lists/create.hbs:8 views/lists/edit.hbs:11 -#: views/report-templates/partials/report-template-fields.hbs:4 -#: views/reports/partials/report-fields.hbs:4 views/templates/create.hbs:11 -#: views/templates/edit.hbs:10 views/triggers/create.hbs:9 -#: views/triggers/edit.hbs:10 -msgid "HTML is allowed" -msgstr "HTML è consentito" - -#: views/campaigns/create-rss.hbs:10 views/campaigns/create-triggered.hbs:9 -#: views/campaigns/create.hbs:9 views/campaigns/edit-rss.hbs:12 -#: views/campaigns/edit-triggered.hbs:13 views/campaigns/edit.hbs:14 -#: views/campaigns/view.hbs:6 views/triggers/create-select.hbs:6 -#: views/triggers/create.hbs:10 views/triggers/edit.hbs:12 -#: views/triggers/triggers.hbs:8 -msgid "List" -msgstr "Lista" - -#: views/campaigns/create-rss.hbs:11 views/campaigns/create-triggered.hbs:10 -#: views/campaigns/create-triggered.hbs:14 views/campaigns/create.hbs:10 -#: views/campaigns/create.hbs:14 views/campaigns/edit-rss.hbs:13 -#: views/campaigns/edit-triggered.hbs:14 views/campaigns/edit.hbs:15 -#: views/lists/fields/create.hbs:27 views/lists/fields/edit.hbs:28 -#: views/lists/segments/create.hbs:9 views/lists/segments/edit.hbs:10 -#: views/lists/segments/rule-create.hbs:7 views/lists/subscription/add.hbs:10 -#: views/lists/subscription/add.hbs:12 views/lists/subscription/edit.hbs:11 -#: views/lists/subscription/import-preview.hbs:5 -#: views/reports/partials/report-select-template.hbs:2 -#: views/subscription/partials/subscription-custom-fields.hbs:9 -#: views/templates/create.hbs:8 views/triggers/create-select.hbs:7 -#: views/triggers/create.hbs:17 views/triggers/create.hbs:20 -#: views/triggers/create.hbs:22 views/triggers/create.hbs:26 -#: views/triggers/edit.hbs:19 views/triggers/edit.hbs:22 -#: views/triggers/edit.hbs:24 views/triggers/edit.hbs:28 -msgid "Select" -msgstr "Seleziona" - -#: views/campaigns/create-rss.hbs:12 views/campaigns/create-triggered.hbs:11 -#: views/campaigns/create.hbs:11 views/campaigns/edit-rss.hbs:14 -#: views/campaigns/edit-triggered.hbs:15 views/campaigns/edit.hbs:16 -#: views/triggers/create-select.hbs:8 views/triggers/create.hbs:11 -#: views/triggers/edit.hbs:13 -msgid "subscribers" -msgstr "Iscritti" - -#: views/campaigns/create-rss.hbs:13 views/campaigns/edit-rss.hbs:15 -msgid "RSS Feed Url" -msgstr "URL del feed RSS" - -#: views/campaigns/create-rss.hbs:14 views/campaigns/edit-rss.hbs:16 -msgid "" -"New entries from this RSS URL are sent out to list subscribers as email " -"messages" -msgstr "" -"I nuovi elementi per questo feed RSS sono inviati agli iscritti come " -"messaggi email." - -#: views/campaigns/create-rss.hbs:15 views/campaigns/create-triggered.hbs:18 -#: views/campaigns/create.hbs:18 views/campaigns/edit-rss.hbs:18 -#: views/campaigns/edit-triggered.hbs:16 views/campaigns/edit.hbs:17 -#: views/campaigns/view.hbs:12 -msgid "Email \"from name\"" -msgstr "Email da \"Nome\"" - -#: views/campaigns/create-rss.hbs:16 views/campaigns/create-triggered.hbs:19 -#: views/campaigns/create.hbs:19 views/campaigns/edit-rss.hbs:19 -#: views/campaigns/edit-triggered.hbs:17 views/campaigns/edit.hbs:18 -#: views/settings.hbs:23 -msgid "This is the name your emails will come from" -msgstr "Questo è il nome che verrà' visualizzato come mittente" - -#: views/campaigns/create-rss.hbs:17 views/campaigns/create-triggered.hbs:20 -#: views/campaigns/create.hbs:20 views/campaigns/edit-rss.hbs:20 -#: views/campaigns/edit-triggered.hbs:18 views/campaigns/edit.hbs:19 -#: views/campaigns/view.hbs:13 -msgid "Email \"from\" address" -msgstr "Email dall'indirizzo" - -#: views/campaigns/create-rss.hbs:18 views/campaigns/create-triggered.hbs:21 -#: views/campaigns/edit-rss.hbs:21 views/campaigns/edit-triggered.hbs:19 -#: views/settings.hbs:25 -msgid "This is the address people will send replies to" -msgstr "Questo è l'indirizzo a cui gli iscritti risponderanno" - -#: views/campaigns/create-rss.hbs:19 views/campaigns/create-triggered.hbs:24 -#: views/campaigns/create.hbs:26 views/campaigns/edit-rss.hbs:22 -#: views/campaigns/edit-triggered.hbs:22 views/campaigns/edit.hbs:25 -msgid "Disable opened tracking" -msgstr "Disabilita tracciamento aperture" - -#: views/campaigns/create-rss.hbs:20 views/campaigns/create-triggered.hbs:25 -#: views/campaigns/create.hbs:27 views/campaigns/edit-rss.hbs:23 -#: views/campaigns/edit-triggered.hbs:23 views/campaigns/edit.hbs:26 -msgid "Disable clicked tracking" -msgstr "Disabilita tracciamento clicks" - -#: views/campaigns/create-triggered.hbs:3 -#: views/campaigns/create-triggered.hbs:4 -msgid "Create Triggered Campaign" -msgstr "Crea una campagna attivabile" - -#: views/campaigns/create-triggered.hbs:12 views/campaigns/create.hbs:12 -#: views/campaigns/edit-triggered.hbs:7 views/campaigns/edit.hbs:7 -#: views/lists/fields/create.hbs:31 views/lists/fields/edit.hbs:33 -#: views/reports/reports.hbs:7 views/templates/create.hbs:13 -msgid "Template" -msgstr "Template" - -#: views/campaigns/create-triggered.hbs:13 views/campaigns/create.hbs:13 -msgid "Select a template:" -msgstr "Seleziona un template:" - -#: views/campaigns/create-triggered.hbs:15 views/campaigns/create.hbs:15 -msgid "Selecting a template creates a campaign specific copy from it" -msgstr "Selezionando un template, si crea una copia su cui andare a lavorare" - -#: views/campaigns/create-triggered.hbs:16 views/campaigns/create.hbs:16 -msgid "Or alternatively use an URL as the message content source:" -msgstr "In alternativa utilizza un URL per il contenuto del messaggio:" - -#: views/campaigns/create-triggered.hbs:17 views/campaigns/create.hbs:17 -#: views/campaigns/edit-triggered.hbs:26 views/campaigns/edit.hbs:29 -msgid "" -"If a message is sent then this URL will be POSTed to using Merge Tags as " -"POST body. Use this if you want to generate the HTML message yourself" -msgstr "" -"Se un messaggio viene inviato questa URL verrà' richiamata assorbendo i " -"merge tags come body del messaggio. Utilizza questa opzione se vuoi scrivere " -"tu l'HTML del messaggio" - -#: views/campaigns/create-triggered.hbs:22 views/campaigns/create.hbs:24 -#: views/campaigns/edit-triggered.hbs:20 views/campaigns/edit.hbs:23 -#: views/campaigns/view.hbs:15 -msgid "Email \"subject line\"" -msgstr "Oggetto dell'email" - -#: views/campaigns/create-triggered.hbs:23 views/campaigns/create.hbs:25 -#: views/campaigns/edit-triggered.hbs:21 views/campaigns/edit.hbs:24 -#: views/settings.hbs:27 -msgid "Keep it relevant and non-spammy" -msgstr "Ricordati di mantenerla rilevante e non creare spam" - -#: views/campaigns/create.hbs:21 views/campaigns/edit.hbs:20 -msgid "" -"This is the address people will send replies to unless reply-to address is " -"set" -msgstr "" -"Questo è l'indirizzo a cui gli iscritti risponderanno se non specifichi un " -"indirizzo email 'reply-to'" - -#: views/campaigns/create.hbs:22 views/campaigns/edit.hbs:21 -#: views/campaigns/view.hbs:14 -msgid "Email \"reply-to\" address" -msgstr "Indirizzo email 'reply-to'" - -#: views/campaigns/create.hbs:23 views/campaigns/edit.hbs:22 -msgid "If set, this is the address people will send replies to" -msgstr "Se impostato, questo sarà' l'indirizzo a cui le persone risponderanno" - -#: views/campaigns/delivered.hbs:3 views/campaigns/delivered.hbs:4 -msgid "Delivered info" -msgstr "Informazioni della consegna" - -#: views/campaigns/delivered.hbs:6 -msgid "Subscribers who received the message and did not bounce/unsubscribe:" -msgstr "" -"Iscritti che hanno ricevuto il messaggio e non hanno reclamato e non si sono " -"rimossi" - -#: views/campaigns/delivered.hbs:11 -msgid "Delivery time" -msgstr "Ora di consegna" - -#: views/campaigns/edit-rss.hbs:3 views/campaigns/edit-rss.hbs:4 -msgid "Edit RSS Campaign" -msgstr "Modifica campagna RSS" - -#: views/campaigns/edit-rss.hbs:7 views/campaigns/edit-triggered.hbs:8 -#: views/campaigns/edit.hbs:9 views/settings.hbs:4 views/users/account.hbs:6 -msgid "General Settings" -msgstr "Impostazioni generali" - -#: views/campaigns/edit-rss.hbs:17 -msgid "" -"Use special merge tag [RSS_ENTRY] to mark the position for the RSS post " -"content. Additionally you can use any valid merge tag as well." -msgstr "" -"Utilizza tag di assorbimento speciali [RSS_ENTRY] per evidenziare il " -"contenuto del messaggio all'interno del RSS. Puoi inoltre utilizzare " -"qualsiasi tag di merge valido." - -#: views/campaigns/edit-rss.hbs:24 views/campaigns/edit-triggered.hbs:27 -#: views/campaigns/edit.hbs:35 -msgid "Delete Campaign" -msgstr "Cancella " - -#: views/campaigns/edit-rss.hbs:25 views/campaigns/edit-triggered.hbs:28 -#: views/campaigns/edit.hbs:36 views/lists/edit.hbs:20 -#: views/lists/fields/edit.hbs:39 views/lists/forms/edit.hbs:33 -#: views/lists/forms/forms.hbs:12 views/lists/segments/edit.hbs:14 -#: views/lists/segments/rule-edit.hbs:38 views/lists/subscription/edit.hbs:18 -#: views/reports/edit.hbs:6 views/settings.hbs:97 views/templates/edit.hbs:13 -#: views/triggers/edit.hbs:30 views/users/account.hbs:18 -msgid "Update" -msgstr "Aggiorna" - -#: views/campaigns/edit-triggered.hbs:3 views/campaigns/edit-triggered.hbs:4 -msgid "Edit Triggered Campaign" -msgstr "Modifica campagna azionabile" - -#: views/campaigns/edit-triggered.hbs:6 views/campaigns/edit.hbs:6 -#: routes/forms.js:143 -msgid "General" -msgstr "Generale" - -#: views/campaigns/edit-triggered.hbs:24 views/campaigns/edit.hbs:27 -msgid "Template Settings" -msgstr "Impostazioni Template" - -#: views/campaigns/edit-triggered.hbs:25 views/campaigns/edit.hbs:28 -msgid "Template URL" -msgstr "URL Template" - -#: views/campaigns/edit.hbs:3 views/campaigns/edit.hbs:4 -#: views/campaigns/upload-attachment.hbs:3 -#: views/campaigns/upload-attachment.hbs:5 views/campaigns/view.hbs:3 -msgid "Edit Campaign" -msgstr "Modifica Campagna" - -#: views/campaigns/edit.hbs:8 views/campaigns/edit.hbs:30 -msgid "Attachments" -msgstr "Allegati" - -#: views/campaigns/edit.hbs:31 -msgid "File" -msgstr "File" - -#: views/campaigns/edit.hbs:32 -msgid "Size" -msgstr "Dimensione" - -#: views/campaigns/edit.hbs:33 views/campaigns/view.hbs:68 -#: views/lists/fields/fields.hbs:12 views/lists/forms/forms.hbs:9 -#: views/lists/view.hbs:33 -msgid "No data available in table" -msgstr "Non ci sono dati disponibili nella tabella" - -#: views/campaigns/edit.hbs:34 views/campaigns/upload-attachment.hbs:4 -msgid "Add Attachment" -msgstr "Aggiungi allegato" - -#: views/campaigns/opened.hbs:3 views/campaigns/opened.hbs:4 -msgid "Opened info" -msgstr "Informazioni apertura" - -#: views/campaigns/opened.hbs:6 -msgid "Subscribers who opened this message:" -msgstr "Iscritti che hanno aperto il messaggio:" - -#: views/campaigns/opened.hbs:12 -msgid "First open" -msgstr "Prima apertura" - -#: views/campaigns/opened.hbs:13 -msgid "Opened count" -msgstr "Numero di aperture" - -#: views/campaigns/unsubscribed.hbs:3 views/campaigns/unsubscribed.hbs:4 -msgid "Unsubscribed info" -msgstr "Informazioni utenti rimossi" - -#: views/campaigns/unsubscribed.hbs:6 -msgid "Subscribers who unsubscribed:" -msgstr "Iscritti che si sono rimossi:" - -#: views/campaigns/unsubscribed.hbs:11 views/campaigns/view.hbs:28 -#: views/lists/subscription/import.hbs:13 routes/lists.js:206 -msgid "Unsubscribed" -msgstr "Rimossi" - -#: views/campaigns/upload-attachment.hbs:7 -msgid "Upload" -msgstr "Carica" - -#: views/campaigns/view.hbs:4 -msgid "Overview" -msgstr "Panoramica" - -#: views/campaigns/view.hbs:5 -msgid "Links" -msgstr "Links" - -#: views/campaigns/view.hbs:7 -msgid "Feed URL" -msgstr "Feed URL" - -#: views/campaigns/view.hbs:8 -msgid "Last check" -msgstr "Ultimo controllo" - -#: views/campaigns/view.hbs:9 -msgid "Not yet checked" -msgstr "Non ancora controllati" - -#: views/campaigns/view.hbs:10 -msgid "activate campaign to start checking feed for new messages" -msgstr "attiva la campagna per controllare il feed per nuovi messaggi" - -#: views/campaigns/view.hbs:11 -msgid "RSS status" -msgstr "Stato RSS" - -#: views/campaigns/view.hbs:16 -msgid "Preview campaign as" -msgstr "Guarda l'anteprima come" - -#: views/campaigns/view.hbs:17 -msgid "Add new test user" -msgstr "Aggiungi un utente di test" - -#: views/campaigns/view.hbs:18 -msgid "No test users yet, create one here" -msgstr "Non sono presenti utenti di test, creane uno qui" - -#: views/campaigns/view.hbs:19 -msgid "Go" -msgstr "Vai" - -#: views/campaigns/view.hbs:20 lib/models/triggers.js:26 -msgid "Delivered" -msgstr "Consegnato" - -#: views/campaigns/view.hbs:21 -msgid "List subscribers who received this message" -msgstr "Elenca iscritti che hanno ricevuto il messaggio" - -#: views/campaigns/view.hbs:22 -msgid "Blacklisted" -msgstr "In lista nera" - -#: views/campaigns/view.hbs:23 -msgid "List subscribers who blacklisted by global blacklist" -msgstr "Lista degli iscritti in lista nera per la lista nera globale" - -#: views/campaigns/view.hbs:24 routes/lists.js:206 -msgid "Bounced" -msgstr "Rimbalzato" - -#: views/campaigns/view.hbs:25 -msgid "List subscribers who bounced" -msgstr "Lista utenti che hanno rimbalzato" - -#: views/campaigns/view.hbs:26 -msgid "Complaints" -msgstr "Reclami" - -#: views/campaigns/view.hbs:27 -msgid "List subscribers who complained for this message" -msgstr "Lista degli iscritti che hanno fatto un reclamo per questo messaggio" - -#: views/campaigns/view.hbs:29 -msgid "List subscribers who unsubscribed after this message" -msgstr "" -"Lista degli utenti che si sono cancellati in seguito a questo messaggio" - -#: views/campaigns/view.hbs:30 -msgid "Opened" -msgstr "Aperta" - -#: views/campaigns/view.hbs:31 -msgid "List subscribers who opened this message" -msgstr "Lista degli iscritti che hanno aperto questo messaggio" - -#: views/campaigns/view.hbs:32 -msgid "Clicked" -msgstr "Cliccate" - -#: views/campaigns/view.hbs:33 views/campaigns/view.hbs:70 -msgid "List subscribers who clicked on a link" -msgstr "Lista degli iscritti che hanno cliccato su di un link" - -#: views/campaigns/view.hbs:34 -msgid "" -"Are you sure? This action would start sending messages to the selected list" -msgstr "" -"Sei sicuro? Questa azione farà iniziare l'invio dei messaggi alla lista " -"selezionata" - -#: views/campaigns/view.hbs:35 -msgid "Delay sending" -msgstr "Ritarda invio" - -#: views/campaigns/view.hbs:36 -msgid "hours" -msgstr "ore" - -#: views/campaigns/view.hbs:37 -msgid "minutes" -msgstr "minuti" - -#: views/campaigns/view.hbs:38 -msgid "Send to subscribers:" -msgstr "Invia agli iscritti:" - -#: views/campaigns/view.hbs:39 -msgid "Are you sure? This action would reset scheduling" -msgstr "Sei sicuro? Questa azione resetterà la programmazione" - -#: views/campaigns/view.hbs:40 -msgid "Cancel" -msgstr "Annulla" - -#: views/campaigns/view.hbs:41 -msgid "Sending scheduled" -msgstr "Invio programmato" - -#: views/campaigns/view.hbs:42 views/campaigns/view.hbs:54 -msgid "Pause" -msgstr "Pausa" - -#: views/campaigns/view.hbs:43 routes/campaigns.js:253 -msgid "Sending" -msgstr "Invio in corso" - -#: views/campaigns/view.hbs:44 views/campaigns/view.hbs:48 -msgid "" -"Are you sure? This action would resume sending messages to the selected list" -msgstr "" -"Sei sicuro? Questa azione riprenderà l'invio dei messaggi alla lista " -"selzionata" - -#: views/campaigns/view.hbs:45 views/campaigns/view.hbs:49 -msgid "Are you sure? This action would reset all stats about current progress" -msgstr "" -"Sei sicuro? Questa azione resetterà tutte le statistiche riguardanti il " -"progresso attuale" - -#: views/campaigns/view.hbs:46 -msgid "Resume" -msgstr "Riprendi" - -#: views/campaigns/view.hbs:47 views/campaigns/view.hbs:51 -msgid "Reset" -msgstr "Resetta" - -#: views/campaigns/view.hbs:50 -msgid "Continue" -msgstr "Continua" - -#: views/campaigns/view.hbs:52 -msgid "" -"All messages sent! Hit \"Continue\" if you you want to send this campaign to " -"new subscribers" -msgstr "" -"Tutti i messaggi inviati! Premi \"Continua\" se vuoi inviare questa campagna " -"ai nuovi iscritti" - -#: views/campaigns/view.hbs:53 -msgid "" -"Are you sure? This action would pause sending new entries in RSS feed as " -"email messages to the selected list" -msgstr "" -"Sei sicuro? Questa azione metterà in pausa l'invio dei nuovi ingressi dal " -"feed RSS come email alla lista selezionata" - -#: views/campaigns/view.hbs:55 views/campaigns/view.hbs:59 -msgid "Campaign status:" -msgstr "Stato campagna:" - -#: views/campaigns/view.hbs:56 -msgid "ACTIVE" -msgstr "ATTIVA" - -#: views/campaigns/view.hbs:57 -msgid "" -"Are you sure? This action would start sending new entries in RSS feed as " -"email messages to the selected list" -msgstr "" -"Sei sicuro? Questa azione iniziera ad inviare i nuovi ingressi dal feed RSS " -"come email alla lista selezionata" - -#: views/campaigns/view.hbs:58 -msgid "Activate" -msgstr "Attiva" - -#: views/campaigns/view.hbs:60 -msgid "INACTIVE" -msgstr "INATTIVA" - -#: views/campaigns/view.hbs:61 -msgid "" -"This is a triggered campaign. Messages are only sent to subscribers that hit " -"some trigger that invokes this campaign" -msgstr "" -"Questa e' una campagna innescabile. I messaggi sono inviati solo agli " -"iscritti che hanno innescato questa campagna" - -#: views/campaigns/view.hbs:62 -msgid "see more" -msgstr "guarda di più" - -#: views/campaigns/view.hbs:67 -msgid "List subscribers who clicked this link" -msgstr "Lista iscritti che hanno cliccato questo link" - -#: views/campaigns/view.hbs:71 -msgid "" -"Clicks are counted as unique subscribers that clicked on a specific link or " -"on any link (in aggregated view)" -msgstr "" -"I clicks sono contati come iscritti unici che hanno cliccato un link " -"specifico o (nella vista aggregata) su di un qualsiasi link" - -#: views/campaigns/view.hbs:72 -msgid "" -"If a new entry is found from campaign feed a new subcampaign is created of " -"that entry and it will be listed here" -msgstr "" -"Se un nuovo ingresso è trovato nel feed della campagna, una nuova sotto-" -"campagna verrà creata per quella entry e sarà visualizzata ui" - -#: views/emails/password-reset-html.hbs:1 -#: views/emails/password-reset-text.hbs:1 -msgid "Change your password" -msgstr "Cambia la tua password" - -#: views/emails/password-reset-html.hbs:2 -#: views/emails/password-reset-text.hbs:2 -msgid "We have received a password change request for your Mailtrain account:" -msgstr "" -"Abbiamo ricevuto una richiesta di cambio password per il tuo account " -"Mailtrain" - -#: views/emails/password-reset-html.hbs:3 -#: views/emails/password-reset-text.hbs:3 -msgid "Reset password" -msgstr "Cambia password" - -#: views/emails/password-reset-html.hbs:4 -#: views/emails/password-reset-text.hbs:4 -msgid "" -"If you did not ask to change your password, then you can ignore this email " -"and your password will not be changed." -msgstr "" -"Se non hai chiesto tu di cambiare password, puoi ignorare questa email e la " -"tua password resterà la stessa." - -#: views/emails/rss-html.hbs:1 views/emails/stationery-html.hbs:3 -#: views/emails/stationery-text.hbs:3 -msgid "Preferences" -msgstr "Preferenze" - -#: views/emails/rss-html.hbs:2 views/emails/stationery-html.hbs:4 -#: views/emails/stationery-text.hbs:4 views/lists/forms/edit.hbs:20 -#: views/lists/subscription/edit.hbs:16 -#: views/subscription/partials/subscription-unsubscribe-form.hbs:2 -#: views/subscription/web-manage.mjml.hbs:3 -#: views/subscription/web-unsubscribe.mjml.hbs:1 -#: views/subscription/web-unsubscribe.mjml.hbs:2 routes/forms.js:223 -#: routes/lists.js:288 -msgid "Unsubscribe" -msgstr "Cancella iscrizione" - -#: views/emails/rss-html.hbs:3 views/emails/stationery-html.hbs:5 -#: views/emails/stationery-text.hbs:5 -msgid "View this email in your browser" -msgstr "Guarda questa email nel tuo browser" - -#: views/emails/stationery-html.hbs:1 views/emails/stationery-text.hbs:1 -msgid "Hey [FIRST_NAME/Customer]," -msgstr "Ciao [FIRST_NAME/Customer]," - -#: views/emails/stationery-html.hbs:2 views/emails/stationery-text.hbs:2 -msgid "Cheers," -msgstr "Ringraziandoti" - -#: views/index.hbs:1 -msgid "List Management" -msgstr "Gestione lista" - -#: views/index.hbs:2 -msgid "" -"Mailtrain allows you to easily manage even very large lists. Million " -"subscribers? Not a problem. You can add subscribers manually, through the " -"API or import from a CSV file. All lists come with support for custom fields " -"and merge tags as well." -msgstr "" -"Mailtrain ti permette di gestire facilmente grosse liste. Milioni di " -"iscritti? Nessun problema. Puoi aggiungere iscritti manualmente, via API " -"oppure importarli tramite CSV. Tutte le liste hanno la possibilità di " -"aggiungere campi personalizzati e tag di merge." - -#: views/index.hbs:3 views/index.hbs:7 views/index.hbs:10 views/index.hbs:13 -#: views/index.hbs:16 views/index.hbs:19 views/index.hbs:22 views/index.hbs:25 -#: views/index.hbs:28 -msgid "Show more" -msgstr "Guarda di più" - -#: views/index.hbs:4 views/lists/fields/create.hbs:3 -#: views/lists/fields/edit.hbs:3 views/lists/fields/fields.hbs:3 -#: views/lists/fields/fields.hbs:5 views/lists/view.hbs:6 -msgid "Custom Fields" -msgstr "Campi personalizzati" - -#: views/index.hbs:5 -msgid "" -"Text fields, numbers, drop downs or checkboxes, Mailtrain has them all. " -"Every custom field can be included in the generated newsletters through " -"merge tags." -msgstr "" -"Campi di testo, numeri, drop downs o segni di spunta, Mailtrain li " -"implementa tutti. Ogni campo personalizzato può essere incluso nella " -"newsletter generata tramite i tag di merge." - -#: views/index.hbs:6 -msgid "Mailtrain also supports custom forms." -msgstr "Mailtrain supporta form personalizzati" - -#: views/index.hbs:8 -msgid "List Segmentation" -msgstr "Segmentazione della lista" - -#: views/index.hbs:9 -msgid "" -"Send messages only to list subscribers that match predefined segmentation " -"rules. No need to create separate lists with small differences." -msgstr "" -"Invia messaggi solo agli iscritti che rientrano in una regola di " -"segmentazione predefinita. Non c'è bisogno di creare liste separate con " -"piccole differenze." - -#: views/index.hbs:11 -msgid "RSS Campaigns" -msgstr "Campagne RSS" - -#: views/index.hbs:12 -msgid "" -"Setup Mailtrain to track RSS feeds and if a new entry is detected in a feed " -"then Mailtrain auto-generates a new campaign using entry data as message " -"contents and sends it to selected subscribers." -msgstr "" -"Configura Mailtrain per tracciare i feed RSS e se viene identificato un " -"nuovo ingresso Mailtrain auto genera una nuova campagna utilizzando i dati " -"del contenuto del messaggio del feed e lo invia agli iscritti selezionati." - -#: views/index.hbs:14 -msgid "GPG Encryption" -msgstr "Crittografia GPG" - -#: views/index.hbs:15 -msgid "" -"If a list has a custom field for a GPG Public Key set then subscribers can " -"upload their GPG public key to receive encrypted messages from the list." -msgstr "" -"Se una lista ha un campo personalizzato per un set di chiave pubblica GPG " -"allora gli iscritti possono caricare la loro chiave GPG pubblica per " -"ricevere messaggi criptati dalla lista." - -#: views/index.hbs:17 -msgid "Click Stats" -msgstr "Statistiche click" - -#: views/index.hbs:18 -msgid "" -"After a campaign is sent, check individual click statistics for every link " -"included in the message." -msgstr "" -"Dopo che una campagna è stata inviata, controlla le statistiche di ogni " -"click per ogni link incluso nel messaggio." - -#: views/index.hbs:20 -msgid "Template Editors" -msgstr "Editors dei templates" - -#: views/index.hbs:21 -msgid "" -"Mailtrain ships with GrapeJS and Mosaico built in, two advanced template " -"editors. Mailtrain also offers a code editor if you prefer to handcraft the " -"HTML yourself." -msgstr "" -"Mailtrain include GrapeJS e Mosaico, due editors di template avanzati. " -"Mailtrain offre inoltre un editor di codice se preferisci scrivere tu l'HTML." - -#: views/index.hbs:23 -msgid "Send via Any Provider" -msgstr "Invia tramite qualsiasi provider" - -#: views/index.hbs:24 -msgid "" -"You can use any provider that supports SMTP protocol to send out your " -"newsletters. Bounce and complaints handling via webhooks is supported for " -"SES, SparkPost, SendGrid and Mailgun, also for Postfix and ZoneMTA." -msgstr "" -"Puoi utilizzare qualsiasi provider che supporti SMTP per inviare la tua " -"newsletter. La gestione di rimbalzi e reclami via webhooks è supportata per " -"SES, SparkPost, SendGrid, Mailgun, Postfix e ZoneMTA." - -#: views/index.hbs:26 lib/tools.js:137 -msgid "Automation" -msgstr "Automazione" - -#: views/index.hbs:27 -msgid "" -"Define automation triggers to send specific messages when a user activates " -"the trigger." -msgstr "" -"Definisci gli inneschi di automazione per l'invio di messaggi specifici " -"quando un utente innesca una azione specifica." - -#: views/layout.hbs:2 -msgid "Toggle navigation" -msgstr "Attiva navigazione" - -#: views/layout.hbs:3 -msgid "Wiki" -msgstr "Wiki" - -#: views/layout.hbs:4 -msgid "Blog" -msgstr "Blog" - -#: views/layout.hbs:5 views/users/account.hbs:2 views/users/account.hbs:3 -msgid "Account" -msgstr "Account" - -#: views/layout.hbs:6 views/settings.hbs:2 views/settings.hbs:3 -msgid "Settings" -msgstr "Impostazioni" - -#: views/layout.hbs:8 views/users/api.hbs:2 views/users/api.hbs:3 -msgid "API" -msgstr "API" - -#: views/layout.hbs:9 -msgid "Log out" -msgstr "Esci" - -#: views/layout.hbs:10 views/users/forgot.hbs:2 views/users/login.hbs:2 -#: views/users/login.hbs:3 views/users/login.hbs:9 views/users/reset.hbs:2 -msgid "Sign in" -msgstr "Log in" - -#: views/layout.hbs:11 -msgid "Self Hosted Newsletter App Built on Top of Nodemailer" -msgstr "" -"Applicazione per newsletter self hosted costruita sulla base di Nodemailer" - -#: views/layout.hbs:12 views/layout.hbs:14 -msgid "Source on GitHub" -msgstr "Sorgenti su GitHub" - -#: views/layout.hbs:13 -msgid "Subscribe to Our Newsletter" -msgstr "Iscriviti alla nostra Newsletter" - -#: views/lists/create.hbs:2 views/lists/edit.hbs:2 -#: views/lists/fields/create.hbs:2 views/lists/fields/edit.hbs:2 -#: views/lists/fields/fields.hbs:2 views/lists/forms/create.hbs:2 -#: views/lists/forms/edit.hbs:2 views/lists/forms/forms.hbs:2 -#: views/lists/lists.hbs:2 views/lists/lists.hbs:4 -#: views/lists/segments/create.hbs:2 views/lists/segments/edit.hbs:2 -#: views/lists/segments/rule-configure.hbs:2 -#: views/lists/segments/rule-create.hbs:2 views/lists/segments/rule-edit.hbs:2 -#: views/lists/segments/segments.hbs:2 views/lists/segments/view.hbs:2 -#: views/lists/subscription/add.hbs:2 views/lists/subscription/edit.hbs:2 -#: views/lists/subscription/import-failed.hbs:2 -#: views/lists/subscription/import-preview.hbs:2 -#: views/lists/subscription/import.hbs:2 views/lists/view.hbs:2 -#: lib/tools.js:125 routes/lists.js:59 -msgid "Lists" -msgstr "Liste" - -#: views/lists/create.hbs:3 views/lists/create.hbs:4 views/lists/create.hbs:13 -#: views/lists/lists.hbs:3 -msgid "Create List" -msgstr "Crea Lista" - -#: views/lists/create.hbs:6 views/lists/edit.hbs:7 -msgid "List Name" -msgstr "Nome lista" - -#: views/lists/create.hbs:9 views/lists/edit.hbs:15 -#: views/triggers/create.hbs:15 views/triggers/edit.hbs:17 -msgid "Subscription" -msgstr "Iscrizione" - -#: views/lists/create.hbs:10 views/lists/edit.hbs:16 -msgid "Allow public users to subscribe themselves" -msgstr "Permetti utenti pubblici di iscriversi da soli" - -#: views/lists/create.hbs:11 views/lists/edit.hbs:17 -msgid "Unsubscription" -msgstr "Cancellazione iscrizione" - -#: views/lists/create.hbs:12 views/lists/edit.hbs:18 -msgid "Select how an unsuscription request by subscriber is handled." -msgstr "" -"Seleziona come una richiesta di rimozione dell'iscrizione viene gestita." - -#: views/lists/edit.hbs:3 views/lists/edit.hbs:4 views/lists/view.hbs:8 -msgid "Edit List" -msgstr "Modifica lista" - -#: views/lists/edit.hbs:5 -msgid "View List" -msgstr "Guarda Lista" - -#: views/lists/edit.hbs:8 -msgid "List ID" -msgstr "ID lista" - -#: views/lists/edit.hbs:9 -msgid "This is the list ID displayed to the subscribers" -msgstr "Questo è l'ID della lista mostrato agli iscritti" - -#: views/lists/edit.hbs:12 -msgid "Custom Form" -msgstr "Form personalizzato" - -#: views/lists/edit.hbs:13 views/lists/forms/forms.hbs:11 -msgid "Default Mailtrain Form" -msgstr "Form predefinito di Mailtrain" - -#: views/lists/edit.hbs:14 -msgid "" -"The custom form used for this list. You can create a form here." -msgstr "" -"Il form personalizzato per questa lista. Puoi creare un form qui." - -#: views/lists/edit.hbs:19 -msgid "Delete List" -msgstr "Cancella lista" - -#: views/lists/fields/create.hbs:4 -msgid "Create Field" -msgstr "Crea campo" - -#: views/lists/fields/create.hbs:5 views/lists/fields/fields.hbs:4 -msgid "Create Custom Field" -msgstr "Crea campo personalizzato" - -#: views/lists/fields/create.hbs:6 views/lists/fields/create.hbs:7 -#: views/lists/fields/edit.hbs:7 views/lists/fields/edit.hbs:8 -msgid "Field Name" -msgstr "Nome campo" - -#: views/lists/fields/create.hbs:8 views/lists/fields/edit.hbs:9 -msgid "Field Type" -msgstr "Tipo campo" - -#: views/lists/fields/create.hbs:9 views/lists/fields/edit.hbs:10 -#: lib/models/fields.js:17 -msgid "Text" -msgstr "Testo" - -#: views/lists/fields/create.hbs:10 views/lists/fields/edit.hbs:11 -#: lib/models/fields.js:21 -msgid "Number" -msgstr "Numero" - -#: views/lists/fields/create.hbs:11 views/lists/fields/edit.hbs:12 -#: lib/models/fields.js:18 -msgid "Website" -msgstr "Sito web" - -#: views/lists/fields/create.hbs:12 views/lists/fields/edit.hbs:13 -#: lib/models/fields.js:20 -msgid "GPG Public Key" -msgstr "Chiave pubblica GPG" - -#: views/lists/fields/create.hbs:13 views/lists/fields/edit.hbs:14 -#: lib/models/fields.js:19 -msgid "Multi-line text" -msgstr "Testo multi linea" - -#: views/lists/fields/create.hbs:14 views/lists/fields/edit.hbs:15 -msgid "JSON" -msgstr "JSON" - -#: views/lists/fields/create.hbs:15 views/lists/fields/edit.hbs:16 -msgid "Date" -msgstr "Data" - -#: views/lists/fields/create.hbs:16 views/lists/fields/edit.hbs:17 -msgid "Date (MM/DD/YYYY)" -msgstr "Data (MM/GG/ANNO)" - -#: views/lists/fields/create.hbs:17 views/lists/fields/edit.hbs:18 -#: lib/models/fields.js:26 -msgid "Date (DD/MM/YYYY)" -msgstr "Data (GG/MM/ANNO)" - -#: views/lists/fields/create.hbs:18 views/lists/fields/edit.hbs:19 -msgid "Birthday" -msgstr "Compleanno" - -#: views/lists/fields/create.hbs:19 views/lists/fields/edit.hbs:20 -#: lib/models/fields.js:27 -msgid "Birthday (MM/DD)" -msgstr "Compleanno (MM/GG)" - -#: views/lists/fields/create.hbs:20 views/lists/fields/edit.hbs:21 -#: lib/models/fields.js:28 -msgid "Birthday (DD/MM)" -msgstr "Compleanno (GG/MM)" - -#: views/lists/fields/create.hbs:21 views/lists/fields/edit.hbs:22 -msgid "Grouped" -msgstr "Raggruppati" - -#: views/lists/fields/create.hbs:22 views/lists/fields/edit.hbs:23 -msgid "Drop Downs" -msgstr "Drop Downs" - -#: views/lists/fields/create.hbs:23 views/lists/fields/edit.hbs:24 -#: lib/models/fields.js:22 -msgid "Radio Buttons" -msgstr "Radio Buttons" - -#: views/lists/fields/create.hbs:24 views/lists/fields/edit.hbs:25 -#: lib/models/fields.js:23 -msgid "Checkboxes" -msgstr "Checkboxes" - -#: views/lists/fields/create.hbs:25 views/lists/fields/edit.hbs:26 -msgid "Option for a group value" -msgstr "Option for group value" - -#: views/lists/fields/create.hbs:26 views/lists/fields/edit.hbs:27 -msgid "Group" -msgstr "Group" - -#: views/lists/fields/create.hbs:28 views/lists/fields/edit.hbs:29 -msgid "Required for group options" -msgstr "Richiesto per le group options" - -#: views/lists/fields/create.hbs:29 views/lists/fields/create.hbs:30 -#: views/lists/fields/edit.hbs:35 views/lists/fields/edit.hbs:36 -#: views/lists/fields/fields.hbs:9 -msgid "Default merge tag value" -msgstr "Valore di merge tag di default" - -#: views/lists/fields/create.hbs:32 views/lists/fields/edit.hbs:34 -msgid "" -"For group elements like checkboxes you can control the appearance of the " -"merge tag with an optional template. The template uses handlebars syntax and " -"you can find all values from {{values}} array, for example " -"{{#each values}} {{this}} {{/each}}. If template is not defined " -"then multiple values are joined with commas. You can also use this template " -"to render JSON values (if the JSON is an array then the array is exposed as " -"values, otherwise you can access the JSON keys directly)." -msgstr "" -"Per i gruppi di elementi come i checkboxes, puoi controllare l'aspetto " -"visivo del merge tag con un template opzionale. Il template usa la sintassi " -"di handlebars e puoi trovare tutti i valori dall'array {{values}}, per esempio {{#each values}} {{this}} {{/each}}. Se il " -"template non è definito allora i valori multipli vengono uniti dalla " -"virgola. Puoi anche utilizzare questo template per visualizzare valori JSON " -"(se il valore JSON è un array allora l'array viene esposto come " -"values, altrimenti puoi accedere direttamente alle keys del " -"JSON)." - -#: views/lists/fields/create.hbs:33 views/lists/fields/edit.hbs:37 -msgid "Visible" -msgstr "Visibile" - -#: views/lists/fields/create.hbs:34 -msgid "Add Field" -msgstr "Aggiungi campo" - -#: views/lists/fields/edit.hbs:4 -msgid "Edit Field" -msgstr "Modifica campo" - -#: views/lists/fields/edit.hbs:5 -msgid "Edit Custom Field" -msgstr "Modifica campo personalizzato" - -#: views/lists/fields/edit.hbs:6 -msgid "Back to fields" -msgstr "Indietro ai campi" - -#: 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 "Merge tag" - -#: views/lists/fields/edit.hbs:31 -msgid "Merge Tag" -msgstr "Merge Tag" - -#: views/lists/fields/edit.hbs:32 -msgid "Put this tag in your content:" -msgstr "Metti questo tag nel tuo contenuto:" - -#: views/lists/fields/edit.hbs:38 -msgid "Delete Field" -msgstr "Elimina campo" - -#: views/lists/fields/fields.hbs:7 views/lists/view.hbs:26 -#: views/report-templates/partials/report-template-fields.hbs:5 -msgid "Type" -msgstr "Tipo" - -#: views/lists/fields/fields.hbs:10 views/lists/fields/fields.hbs:11 -#: views/lists/forms/edit.hbs:26 views/lists/forms/forms.hbs:8 -#: views/lists/segments/segments.hbs:8 views/lists/segments/view.hbs:12 -#: views/triggers/triggers.hbs:14 routes/campaigns.js:276 -#: routes/campaigns.js:568 routes/campaigns.js:657 routes/campaigns.js:706 -#: routes/lists.js:170 routes/lists.js:257 routes/report-templates.js:51 -#: routes/templates.js:183 routes/triggers.js:297 -msgid "Edit" -msgstr "Modifica" - -#: views/lists/forms/create.hbs:3 views/lists/forms/edit.hbs:3 -#: views/lists/forms/forms.hbs:3 views/lists/forms/forms.hbs:5 -#: views/lists/view.hbs:5 -msgid "Custom Forms" -msgstr "Form personalizzati" - -#: views/lists/forms/create.hbs:4 -msgid "Create Form" -msgstr "Crea form" - -#: views/lists/forms/create.hbs:5 views/lists/forms/forms.hbs:4 -msgid "Create Custom Form" -msgstr "Crea form personalizzato" - -#: views/lists/forms/create.hbs:6 views/lists/forms/create.hbs:7 -#: views/lists/forms/edit.hbs:7 views/lists/forms/edit.hbs:8 -msgid "Form Name" -msgstr "Nome form" - -#: views/lists/forms/create.hbs:8 -msgid "Add Form" -msgstr "Aggiungi form" - -#: views/lists/forms/edit.hbs:4 -msgid "Edit Form" -msgstr "Modifica Form" - -#: views/lists/forms/edit.hbs:5 -msgid "Edit Custom Form" -msgstr "Modifica form personalizzato" - -#: views/lists/forms/edit.hbs:6 -msgid "Back to forms" -msgstr "Indietro ai forms" - -#: views/lists/forms/edit.hbs:10 -msgid "Optional comments about this form" -msgstr "Commenti opzionali per questo form" - -#: views/lists/forms/edit.hbs:11 -msgid "Form Preview" -msgstr "Anteprima Form" - -#: views/lists/forms/edit.hbs:12 -msgid "" -"Note: These links are solely for a quick preview. If you submit a preview " -"form you'll get redirected to the list's default form." -msgstr "" -"Nota: Questi links sono solo per un'anteprima veloce. Se confermi l'invio di " -"un form in anteprima verrai rediretto al form di default della lista." - -#: views/lists/forms/edit.hbs:13 views/lists/subscription/add.hbs:16 -#: views/subscription/mail-unsubscription-confirmed-html.mjml.hbs:4 -#: views/subscription/mail-unsubscription-confirmed-text.hbs:4 -#: routes/forms.js:157 routes/lists.js:288 -msgid "Subscribe" -msgstr "Iscriviti" - -#: views/lists/forms/edit.hbs:14 -msgid "Confirm Subscription Notice" -msgstr "Notifica iscrizione confermata" - -#: views/lists/forms/edit.hbs:15 -msgid "Confirm Unsubscription Notice" -msgstr "Conferma notifica di cancellazione iscrizione" - -#: views/lists/forms/edit.hbs:16 -msgid "Subscribed Notice" -msgstr "Notifica iscrizione" - -#: views/lists/forms/edit.hbs:17 -msgid "Updated Notice" -msgstr "Notifica di aggiornamento" - -#: views/lists/forms/edit.hbs:18 -msgid "Unsubscribed Notice" -msgstr "Notifica di cancellazione di iscrizione" - -#: views/lists/forms/edit.hbs:19 -msgid "Manual Unsubscribe Notice" -msgstr "Notifica di cancellazione iscrizione manuale" - -#: views/lists/forms/edit.hbs:21 routes/forms.js:205 -msgid "Manage" -msgstr "Gestisci" - -#: views/lists/forms/edit.hbs:22 -msgid "Manage Address" -msgstr "Gestisci indirizzo" - -#: views/lists/forms/edit.hbs:23 -msgid "Create a test user for additional options" -msgstr "Crea un utente di test per le opzioni aggiuntive" - -#: views/lists/forms/edit.hbs:24 views/report-templates/create.hbs:3 -#: views/report-templates/edit.hbs:3 -#: views/report-templates/report-templates.hbs:3 views/templates/create.hbs:2 -#: views/templates/edit.hbs:2 views/templates/templates.hbs:2 -#: views/templates/templates.hbs:4 lib/tools.js:129 routes/templates.js:27 -msgid "Templates" -msgstr "Templates" - -#: views/lists/forms/edit.hbs:25 -msgid "Fields" -msgstr "Campi" - -#: views/lists/forms/edit.hbs:27 -msgid "Form Fields" -msgstr "Campi del form" - -#: views/lists/forms/edit.hbs:28 -msgid "Fields hidden on subscription page:" -msgstr "Campi nascosti sulla pagina di iscrizione:" - -#: views/lists/forms/edit.hbs:29 -msgid "Fields shown on subscription page:" -msgstr "Campi mostrati sulla pagina di iscrizione:" - -#: views/lists/forms/edit.hbs:30 -msgid "Fields hidden on preferences page:" -msgstr "Campi nascosti sulla pagina delle preferenze:" - -#: views/lists/forms/edit.hbs:31 -msgid "Fields shown on preferences page:" -msgstr "Campi mostrati sulla pagina delle preferenze:" - -#: views/lists/forms/edit.hbs:32 -msgid "Delete Form" -msgstr "Cancella form" - -#: views/lists/forms/forms.hbs:10 -msgid "The default form for this list is:" -msgstr "Il form di default per questa lista:" - -#: views/lists/lists.hbs:6 -msgid "ID" -msgstr "ID" - -#: views/lists/lists.hbs:7 views/reports/partials/report-fields.hbs:10 -msgid "Subscribers" -msgstr "Iscritti" - -#: views/lists/segments/create.hbs:3 views/lists/segments/edit.hbs:3 -#: views/lists/segments/rule-configure.hbs:3 -#: views/lists/segments/rule-create.hbs:3 views/lists/segments/rule-edit.hbs:3 -#: views/lists/segments/segments.hbs:3 views/lists/segments/segments.hbs:5 -#: views/lists/segments/view.hbs:3 views/lists/view.hbs:7 -#: views/lists/view.hbs:14 -msgid "Segments" -msgstr "Segmenti" - -#: views/lists/segments/create.hbs:4 views/lists/segments/create.hbs:5 -#: views/lists/segments/rule-configure.hbs:4 -#: views/lists/segments/rule-create.hbs:4 views/lists/segments/rule-edit.hbs:4 -#: views/lists/segments/segments.hbs:4 -msgid "Create Segment" -msgstr "Crea segmento" - -#: views/lists/segments/create.hbs:6 views/lists/segments/create.hbs:7 -#: views/lists/segments/edit.hbs:7 views/lists/segments/edit.hbs:8 -msgid "Segment Name" -msgstr "Nome segmento" - -#: views/lists/segments/create.hbs:8 views/lists/segments/edit.hbs:9 -msgid "Rule match" -msgstr "Regola di corrispondenza" - -#: views/lists/segments/create.hbs:10 views/lists/segments/edit.hbs:11 -msgid "All rules must match" -msgstr "Tutte le regole devono corrispondere con" - -#: views/lists/segments/create.hbs:11 views/lists/segments/edit.hbs:12 -msgid "Any rule can match" -msgstr "Qualsiasi regola può corrispondere con" - -#: views/lists/segments/create.hbs:12 -msgid "Add Segment" -msgstr "Aggiungi segmento" - -#: views/lists/segments/edit.hbs:4 views/lists/segments/edit.hbs:5 -#: views/lists/segments/view.hbs:6 views/lists/view.hbs:12 -msgid "Edit Segment" -msgstr "Modifica segmento" - -#: views/lists/segments/edit.hbs:6 -msgid "Back to segments" -msgstr "Indietro ai segmenti" - -#: views/lists/segments/edit.hbs:13 -msgid "Delete Segment" -msgstr "Elimina segmento" - -#: views/lists/segments/rule-configure.hbs:5 -#: views/lists/segments/rule-create.hbs:5 views/lists/segments/rule-edit.hbs:5 -#: views/lists/segments/view.hbs:4 -msgid "Create Rule" -msgstr "Crea regola" - -#: views/lists/segments/rule-configure.hbs:6 -#: views/lists/segments/rule-create.hbs:6 views/lists/segments/rule-edit.hbs:6 -#: views/lists/segments/view.hbs:10 -msgid "Rule" -msgstr "Regola" - -#: views/lists/segments/rule-configure.hbs:7 -#: views/lists/segments/rule-configure.hbs:8 -#: views/lists/segments/rule-configure.hbs:10 -#: views/lists/segments/rule-configure.hbs:13 -#: views/lists/segments/rule-configure.hbs:25 -#: views/lists/segments/rule-configure.hbs:30 -#: views/lists/segments/rule-edit.hbs:7 views/lists/segments/rule-edit.hbs:8 -#: views/lists/segments/rule-edit.hbs:10 views/lists/segments/rule-edit.hbs:15 -#: views/lists/segments/rule-edit.hbs:29 views/lists/segments/rule-edit.hbs:34 -#: views/lists/segments/view.hbs:11 -msgid "Value" -msgstr "Valore" - -#: views/lists/segments/rule-configure.hbs:9 -#: views/lists/segments/rule-edit.hbs:9 -msgid "" -"Use % for wildcard character, e.g. \"%test\" to match all values that end " -"with \"test\"" -msgstr "" -"Usa % come carattere jolly, per esempio \"%test\" fa passare tutti i valori " -"che finiscono con \"test\"" - -#: views/lists/segments/rule-configure.hbs:11 -#: views/lists/segments/rule-configure.hbs:14 -#: views/lists/segments/rule-configure.hbs:26 -#: views/lists/segments/rule-edit.hbs:11 views/lists/segments/rule-edit.hbs:16 -#: views/lists/segments/rule-edit.hbs:30 -msgid "Use exact match" -msgstr "Usa corrispondenza esatta" - -#: views/lists/segments/rule-configure.hbs:12 -#: views/lists/segments/rule-configure.hbs:15 -#: views/lists/segments/rule-configure.hbs:27 -#: views/lists/segments/rule-edit.hbs:12 views/lists/segments/rule-edit.hbs:17 -#: views/lists/segments/rule-edit.hbs:31 -msgid "Use range match" -msgstr "Usa range di corrispondenza" - -#: views/lists/segments/rule-configure.hbs:16 -#: views/lists/segments/rule-edit.hbs:20 -msgid "Use relative range match" -msgstr "Usa range di corrispondenza relativo" - -#: views/lists/segments/rule-configure.hbs:17 -#: views/lists/segments/rule-configure.hbs:28 -#: views/lists/segments/rule-edit.hbs:13 views/lists/segments/rule-edit.hbs:18 -#: views/lists/segments/rule-edit.hbs:21 views/lists/segments/rule-edit.hbs:32 -msgid "From" -msgstr "Da" - -#: views/lists/segments/rule-configure.hbs:18 -#: views/lists/segments/rule-configure.hbs:22 -#: views/lists/segments/rule-edit.hbs:22 views/lists/segments/rule-edit.hbs:26 -msgid "days" -msgstr "giorni" - -#: views/lists/segments/rule-configure.hbs:19 -#: views/lists/segments/rule-configure.hbs:23 -#: views/lists/segments/rule-edit.hbs:23 views/lists/segments/rule-edit.hbs:27 -msgid "before today" -msgstr "prima di oggi" - -#: views/lists/segments/rule-configure.hbs:20 -#: views/lists/segments/rule-configure.hbs:24 -#: views/lists/segments/rule-edit.hbs:24 views/lists/segments/rule-edit.hbs:28 -msgid "after today" -msgstr "dopo di oggi" - -#: views/lists/segments/rule-configure.hbs:21 -#: views/lists/segments/rule-configure.hbs:29 -#: views/lists/segments/rule-edit.hbs:14 views/lists/segments/rule-edit.hbs:19 -#: views/lists/segments/rule-edit.hbs:25 views/lists/segments/rule-edit.hbs:33 -msgid "to" -msgstr "a" - -#: views/lists/segments/rule-configure.hbs:31 -#: views/lists/segments/rule-edit.hbs:35 lib/models/segments.js:156 -#: lib/models/segments.js:418 -msgid "Selected" -msgstr "Selezionati" - -#: views/lists/segments/rule-configure.hbs:32 -#: views/lists/segments/rule-edit.hbs:36 lib/models/segments.js:156 -#: lib/models/segments.js:418 -msgid "Not selected" -msgstr "Non selezionati" - -#: views/lists/segments/rule-configure.hbs:33 -msgid "Add Rule" -msgstr "Aggiungi regola" - -#: views/lists/segments/rule-create.hbs:8 -#: views/lists/subscription/import.hbs:18 -#: views/reports/create-select-template.hbs:5 -#: views/triggers/create-select.hbs:9 -msgid "Next" -msgstr "Avanti" - -#: views/lists/segments/rule-edit.hbs:37 -msgid "Delete Rule" -msgstr "Cancella regola" - -#: views/lists/segments/segments.hbs:7 -msgid "Match" -msgstr "Corrispondi" - -#: views/lists/segments/view.hbs:5 views/lists/view.hbs:13 -msgid "Segment" -msgstr "Segmento" - -#: views/lists/segments/view.hbs:7 -msgid "Match rules" -msgstr "Corrisponde alla regola" - -#: views/lists/segments/view.hbs:8 -msgid "Matching subscribers" -msgstr "Iscritti corrispondenti" - -#: views/lists/segments/view.hbs:9 -msgid "show" -msgstr "mostra" - -#: views/lists/subscription/add.hbs:3 views/lists/subscription/add.hbs:4 -msgid "Add subscriber" -msgstr "Aggiungi iscritto" - -#: views/lists/subscription/add.hbs:5 -#: views/subscription/partials/subscription-custom-fields.hbs:1 -#: views/users/account.hbs:7 -msgid "Email Address" -msgstr "Indirizzo Email" - -#: views/lists/subscription/add.hbs:8 views/lists/subscription/edit.hbs:9 -#: views/settings.hbs:80 views/settings.hbs:95 -#: views/subscription/partials/subscription-custom-fields.hbs:6 -msgid "Begins with" -msgstr "Inizia con" - -#: views/lists/subscription/add.hbs:9 views/lists/subscription/edit.hbs:10 -msgid "" -"Insert a GPG public key that will be used to encrypt messages sent this " -"subscriber" -msgstr "" -"Inserisci chiave pubblica GPG che verrà usata per crittografare i messaggi " -"per questo iscritto" - -#: views/lists/subscription/add.hbs:11 views/lists/subscription/edit.hbs:12 -#: views/lists/subscription/import-preview.hbs:9 -msgid "Timezone" -msgstr "Fuso orario" - -#: views/lists/subscription/add.hbs:13 views/lists/subscription/edit.hbs:13 -msgid "Test user?" -msgstr "Utente di test?" - -#: views/lists/subscription/add.hbs:14 views/lists/subscription/edit.hbs:14 -msgid "" -"If checked then this subscription can be used for previewing campaign " -"messages" -msgstr "" -"Se selezionato, questa iscrizione può essere usata per l'anteprima dei " -"messaggi della campagna" - -#: views/lists/subscription/add.hbs:15 -msgid "" -"This person will not receive a confirmation email so make sure that you have " -"permission to email them." -msgstr "" -"Questa persona non riceverà una email di conferma, quindi assicurati di " -"avere il permesso di inviargli emails." - -#: views/lists/subscription/edit.hbs:3 views/lists/subscription/edit.hbs:4 -msgid "Edit subscriber" -msgstr "Modifica iscrizione" - -#: views/lists/subscription/edit.hbs:5 -#: views/lists/subscription/import-failed.hbs:5 -msgid "Back to list" -msgstr "Indietro alla lista" - -#: views/lists/subscription/edit.hbs:6 -#: views/lists/subscription/import-preview.hbs:6 -#: views/subscription/partials/subscription-unsubscribe-form.hbs:1 -#: lib/helpers.js:42 lib/models/segments.js:11 -msgid "Email address" -msgstr "Indirizzo email" - -#: views/lists/subscription/edit.hbs:17 -msgid "Delete Subscription" -msgstr "Elimina iscrizione" - -#: views/lists/subscription/import-failed.hbs:3 -msgid "Import status" -msgstr "Stato dell' Import" - -#: views/lists/subscription/import-failed.hbs:4 -msgid "Failed addresses" -msgstr "Indiirizzi falliti" - -#: 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 "" -"Gli indirizzi di ruolo come postmaster@example.com sono bloccati durante " -"l'import. Questi indirizzi possono iscriversi alla tua lista con il form di " -"iscrizione online." - -#: views/lists/subscription/import-failed.hbs:7 -msgid "see here" -msgstr "guarda qui" - -#: views/lists/subscription/import-failed.hbs:9 -msgid "Fail reason" -msgstr "Motivo di errore" - -#: views/lists/subscription/import-preview.hbs:3 -#: views/lists/subscription/import-preview.hbs:4 -#: views/lists/subscription/import.hbs:3 views/lists/subscription/import.hbs:4 -msgid "Import subscribers" -msgstr "Importa iscritti" - -#: views/lists/subscription/import-preview.hbs:10 views/users/api.hbs:21 -#: views/users/api.hbs:36 views/users/api.hbs:44 views/users/api.hbs:52 -#: views/users/api.hbs:64 views/users/api.hbs:75 views/users/api.hbs:83 -#: views/users/api.hbs:91 views/users/api.hbs:96 -msgid "Example" -msgstr "Esempio" - -#: views/lists/subscription/import-preview.hbs:11 -msgid "Start import" -msgstr "Inizia import" - -#: views/lists/subscription/import.hbs:5 -msgid "CSV File" -msgstr "File CSV" - -#: views/lists/subscription/import.hbs:6 -msgid "The first line must contain column headings" -msgstr "La prima linea deve contenere le intestazioni di colonna" - -#: views/lists/subscription/import.hbs:7 -msgid "CSV delimiter" -msgstr "Delimitatore file CSV" - -#: views/lists/subscription/import.hbs:8 -msgid "Categorize the imported subscribers as" -msgstr "Categorizza gli iscritti importati come" - -#: views/lists/subscription/import.hbs:9 routes/lists.js:206 -msgid "Subscribed" -msgstr "Iscritto" - -#: views/lists/subscription/import.hbs:10 -msgid "Regular subscriber addresses" -msgstr "Indirizzi regolari degli iscritti" - -#: views/lists/subscription/import.hbs:11 -msgid "Subscribed (Force)" -msgstr "Iscrizione (Forzata)" - -#: views/lists/subscription/import.hbs:12 -msgid "Regular subscriber addresses, resubscribe users that have unsubscribed" -msgstr "" -"Indirizzi regolari degli utenti registrati, riscrizione utenti che hanno " -"cancellato l'iscrizione" - -#: views/lists/subscription/import.hbs:14 -msgid "Suppressed emails that will be unsubscribed from your list" -msgstr "Email soppresse che saranno cancellate dalla tua lista" - -#: views/lists/subscription/import.hbs:15 -msgid "Check imported emails" -msgstr "Controlla le emails importate" - -#: views/lists/subscription/import.hbs:16 views/triggers/triggers.hbs:12 -msgid "Enabled" -msgstr "Abilitato" - -#: views/lists/subscription/import.hbs:17 views/triggers/triggers.hbs:13 -msgid "Disabled" -msgstr "Disabilitato" - -#: views/lists/view.hbs:3 -msgid "Subscription Form" -msgstr "Form di iscrizione" - -#: views/lists/view.hbs:4 -msgid "List Actions" -msgstr "Lista azioni" - -#: views/lists/view.hbs:9 views/triggers/create-select.hbs:3 -#: views/triggers/create-select.hbs:4 views/triggers/create.hbs:3 -#: views/triggers/create.hbs:4 views/triggers/create.hbs:27 -#: views/triggers/triggers.hbs:3 -msgid "Create Trigger" -msgstr "Crea innesco" - -#: views/lists/view.hbs:10 -msgid "Add Subscriber" -msgstr "Aggiungi iscrizione" - -#: views/lists/view.hbs:11 -msgid "Import Subscribers" -msgstr "Importa iscrizioni" - -#: views/lists/view.hbs:15 -msgid "Create New Segment" -msgstr "Crea nuovo segmento" - -#: views/lists/view.hbs:16 -msgid "Filter" -msgstr "Filtra" - -#: views/lists/view.hbs:17 -msgid "Subscriptions" -msgstr "Iscrizioni" - -#: views/lists/view.hbs:18 -msgid "Imports" -msgstr "Importazioni" - -#: views/lists/view.hbs:25 routes/campaigns.js:255 routes/lists.js:300 -msgid "Finished" -msgstr "Finito" - -#: views/lists/view.hbs:27 -msgid "Added" -msgstr "Aggiunto" - -#: views/lists/view.hbs:28 -msgid "Updated" -msgstr "Aggiornato" - -#: views/lists/view.hbs:29 -msgid "Failed" -msgstr "Errore" - -#: views/lists/view.hbs:31 -msgid "" -"Are you sure? This action should only be called to resolve stalled imports" -msgstr "" -"Sei sicuro? Questa azione deve essere chiamata solo per risolvere " -"importazioni in stato di stallo" - -#: views/lists/view.hbs:32 -msgid "Restart" -msgstr "Riavvia" - -#: views/mosaico/editor.hbs:1 views/partials/merge-tag-reference.hbs:1 -msgid "Merge tag reference" -msgstr "Referenza dei tag di merge" - -#: views/mosaico/editor.hbs:4 -msgid "MOSAICO Responsive Email Designer" -msgstr "MOSAICO REsponsive Email Designer" - -#: views/mosaico/editor.hbs:5 -msgid "Sucessfully saved" -msgstr "Salvato con successo" - -#: views/mosaico/editor.hbs:6 -msgid "An error occured while saving the document" -msgstr "Errore durante il salvataggio del documento" - -#: views/mosaico/editor.hbs:7 -msgid "Unsaved changes will be lost. Close now?" -msgstr "Le modifiche non salvate andranno perdute, Chiudere ora?" - -#: views/mosaico/editor.hbs:8 views/mosaico/editor.hbs:9 -msgid "Tags" -msgstr "Tags" - -#: 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 "Contenuto template (HTML)" - -#: views/partials/editor-navbar.hbs:1 -msgid "SAVE" -msgstr "SALVA" - -#: views/partials/editor-navbar.hbs:2 -msgid "SAVING" -msgstr "STO SALVANDO" - -#: views/partials/editor-navbar.hbs:3 -msgid "CLOSE" -msgstr "CHIUDI" - -#: views/partials/grapejs.hbs:2 -msgid "Open GrapeJS" -msgstr "Apri GrapeJS" - -#: views/partials/html-preview.hbs:1 -msgid "Toggle HTML preview" -msgstr "Attiva anteprima HTML" - -#: views/partials/html-to-text.hbs:1 -msgid "" -"To extract the text from HTML click here." -msgstr "" -"Per estrarre il testo dal codice HTML clicca qui." - -#: 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 "" -"Per favore nota che il tuo testo nel campo qui sopra verrà sovrascritto. " -"Questa caratteristica usa le Premailer API, un servizio di " -"terzi. I loro Termini per il servizio e la loro Privacy Policy è applicato." - -#: views/partials/html-to-text.hbs:3 -msgid "An error occurred while talking to the server" -msgstr "C'è stato un errore nel comunicare con il server" - -#: views/partials/merge-tag-reference.hbs:2 -msgid "" -"Merge tags are tags that are replaced before sending out the message. The " -"format of the merge tag is the following: [TAG_NAME] or " -"[TAG_NAME/fallback] where fallback is an optional " -"text value used when TAG_NAME is empty." -msgstr "" -"Merge tags sono tags che sono sostituiti prima dell'invio del messaggio. Il " -"formato del merge tag è il seguente [TAG_NAME] oppure " -"[TAG_NAME/fallback] dove fallback è un valore " -"opzionale di testo utilizzato quando TAG_NAME è vuoto." - -#: views/partials/modal-carousel.hbs:1 -msgid "{{title}}" -msgstr "{{}}" - -#: views/partials/mosaico.hbs:2 -msgid "Open Mosaico" -msgstr "Apri Mosaico" - -#: views/partials/plaintext.hbs:1 -msgid "Template content (plaintext)" -msgstr "Contenuto del template (test semplice)" - -#: views/report-templates/create.hbs:2 views/report-templates/edit.hbs:2 -#: views/report-templates/report-templates.hbs:2 -#: views/reports/create-select-template.hbs:2 views/reports/create.hbs:2 -#: views/reports/edit.hbs:2 views/reports/output.hbs:2 -#: views/reports/reports.hbs:2 views/reports/reports.hbs:5 -#: views/reports/view.hbs:2 lib/tools.js:144 routes/reports.js:31 -msgid "Reports" -msgstr "Reports" - -#: views/report-templates/create.hbs:4 views/report-templates/create.hbs:6 -#: views/report-templates/report-templates.hbs:4 views/templates/create.hbs:3 -#: views/templates/create.hbs:4 views/templates/create.hbs:12 -#: views/templates/templates.hbs:3 -msgid "Create Template" -msgstr "Crea template" - -#: views/report-templates/create.hbs:5 routes/report-templates.js:231 -msgid "Create Report Template" -msgstr "Crea Template di report" - -#: views/report-templates/edit.hbs:4 views/templates/edit.hbs:3 -#: views/templates/edit.hbs:4 -msgid "Edit Template" -msgstr "Modifica Template" - -#: views/report-templates/edit.hbs:5 routes/report-templates.js:262 -msgid "Edit Report Template" -msgstr "Modifica template report" - -#: views/report-templates/edit.hbs:6 views/templates/edit.hbs:12 -msgid "Delete Template" -msgstr "Elimina template" - -#: views/report-templates/edit.hbs:7 -msgid "Update and Stay" -msgstr "Salva e continua" - -#: views/report-templates/edit.hbs:8 -msgid "Update and Leave" -msgstr "Salva ed esci" - -#: views/report-templates/partials/report-template-fields.hbs:2 -msgid "Template Name" -msgstr "Nome template" - -#: views/report-templates/partials/report-template-fields.hbs:6 -msgid "User selectable fields" -msgstr "Campi selezionabili dagli utenti" - -#: views/report-templates/partials/report-template-fields.hbs:7 -msgid "Data processing code" -msgstr "Codice che processa data" - -#: views/report-templates/partials/report-template-fields.hbs:8 -msgid "Rendering template" -msgstr "Template di rendering" - -#: views/report-templates/report-templates.hbs:5 -msgid "Blank" -msgstr "Vuoto" - -#: views/report-templates/report-templates.hbs:6 -msgid "All Subscribers" -msgstr "Tutti gli iscritti" - -#: views/report-templates/report-templates.hbs:7 -msgid "Grouped Subscribers" -msgstr "Iscritti raggruppati" - -#: views/report-templates/report-templates.hbs:8 -msgid "Export List as CSV" -msgstr "Esporta lista come CSV" - -#: views/report-templates/report-templates.hbs:9 views/reports/reports.hbs:4 -#: routes/report-templates.js:29 -msgid "Report Templates" -msgstr "Templates di report" - -#: views/reports/create-select-template.hbs:3 -#: views/reports/create-select-template.hbs:4 views/reports/create.hbs:3 -#: views/reports/create.hbs:4 views/reports/create.hbs:5 -#: views/reports/reports.hbs:3 routes/reports.js:81 -msgid "Create Report" -msgstr "Crea report" - -#: views/reports/edit.hbs:3 views/reports/edit.hbs:4 routes/reports.js:151 -msgid "Edit Report" -msgstr "Modifica Report" - -#: views/reports/edit.hbs:5 -msgid "Delete Report" -msgstr "Elimina report" - -#: views/reports/partials/report-fields.hbs:2 -msgid "Report Name" -msgstr "Nome report" - -#: views/reports/partials/report-fields.hbs:8 -#: views/reports/partials/report-fields.hbs:11 -msgid "" -"Select a campaign in the table above by clicking on the respective row " -"number." -msgstr "" -"Seleziona una campagna nella tabella qui sopra cliccando sul numero della " -"riga." - -#: views/reports/partials/report-select-template.hbs:1 -msgid "Report Template" -msgstr "Template del report" - -#: views/settings.hbs:5 -msgid "Service Address (URL)" -msgstr "Indirizzo del servizio (URL)" - -#: views/settings.hbs:6 -msgid "Enter the URL this service can be reached from" -msgstr "Inserisci l'URL a cui puoi accedere a questo servizio" - -#: views/settings.hbs:7 -msgid "Admin Email" -msgstr "Email amministratore" - -#: views/settings.hbs:8 -msgid "" -"Enter the email address that will be used as \"from\" for system messages" -msgstr "" -"Inserisci l'indirizzo mail che verra' utilizzato nel campo \"Da\" per i " -"messaggi di sistemi" - -#: views/settings.hbs:9 -msgid "Disable WYSIWYG editor" -msgstr "Disabilita l'editor avanzato WYSIWYG" - -#: views/settings.hbs:10 -msgid "If checked then message editor displays HTML code without the preview" -msgstr "" -"Se selezionato l'editor del messaggio visualizza il codice HTML senza " -"anteprima" - -#: views/settings.hbs:11 -msgid "Disable subscription confirmation messages" -msgstr "Disabilita i messaggi di conferma iscrizione" - -#: views/settings.hbs:12 -msgid "" -"If checked then do not send a confirmation message that states the " -"subscriber is now subscribed or unsubscribed. This does not disable double " -"opt-in messages." -msgstr "" -"Se selezionato il software non invia messaggi di avvenuta iscrizione e " -"cancellazione. Questo non disabilita l'invio di messaggi per i link di " -"conferma delle azioni." - -#: views/settings.hbs:13 -msgid "Tracking ID" -msgstr "ID Tracciamento" - -#: views/settings.hbs:14 -msgid "Enter Google Analytics tracking code" -msgstr "Inserisci il codice di tracciamento di Google Analytics" - -#: views/settings.hbs:15 -msgid "Frontpage shout out" -msgstr "Annuncio pagina iniziale" - -#: views/settings.hbs:16 -msgid "HTML code shown in the front page header section" -msgstr "Codice HTML visualizzato nell'header dell'home page" - -#: views/settings.hbs:17 -msgid "Campaign defaults" -msgstr "Valori predefiniti campagna" - -#: views/settings.hbs:18 -msgid "Sender name" -msgstr "Nome mittente" - -#: views/settings.hbs:19 -msgid "Sender name, eg. My Awesome Company Ltd." -msgstr "Nome mittente, per esempio : Super Compagnia S.r.l." - -#: views/settings.hbs:20 -msgid "Default address" -msgstr "Indirizzo predefinito" - -#: views/settings.hbs:21 -msgid "" -"Contact address to provide, eg. 1234 Main Street, Anywhere, MA 01234, USA" -msgstr "" -"Indirizzo fisico di contatto, per esempio: via Duomo 71, Milano, 20100 (MI)" - -#: views/settings.hbs:22 -msgid "Default \"from name\"" -msgstr "Valore predefinito nome mittente" - -#: views/settings.hbs:24 -msgid "Default \"from\" email" -msgstr "Valore predefinito email mittente" - -#: views/settings.hbs:26 -msgid "Default \"subject line\"" -msgstr "Valore predefinito oggetto" - -#: views/settings.hbs:28 -msgid "Default homepage (URL)" -msgstr "Valore predefinito sito (URL)" - -#: views/settings.hbs:29 -msgid "URL to redirect the subscribed users to, eg. http://example.com/" -msgstr "" -"URL a cui reindirizzare gli utenti iscritti alla newsletter, per esempio " -"http://example.com" - -#: views/settings.hbs:30 -msgid "Mailer Settings" -msgstr "Impostazioni mailer" - -#: views/settings.hbs:31 -msgid "These settings are required to send out e-mail messages" -msgstr "Queste impostazioni sono richieste per inviare messaggi email" - -#: views/settings.hbs:32 -msgid "SMTP" -msgstr "" - -#: views/settings.hbs:33 -msgid "AWS SES" -msgstr "" - -#: views/settings.hbs:34 -msgid "Use SMTP for sending mail" -msgstr "Usa SMTP per spedire le email" - -#: views/settings.hbs:35 -msgid "Hostname" -msgstr "" - -#: views/settings.hbs:36 -msgid "Port" -msgstr "" - -#: views/settings.hbs:37 -msgid "Port, eg. 465. Autodetected if left blank" -msgstr "" - -#: views/settings.hbs:38 -msgid "Encryption" -msgstr "Crittografia" - -#: views/settings.hbs:39 -msgid "Disable SMTP authentication" -msgstr "Disabilita autenticazione SMTP" - -#: views/settings.hbs:40 views/users/forgot.hbs:9 views/users/login.hbs:4 -#: views/users/login.hbs:5 -msgid "Username" -msgstr "Nome utente" - -#: views/settings.hbs:41 -msgid "Username, eg. myaccount@example.com" -msgstr "Nome utente (per esempio account@example.com)" - -#: views/settings.hbs:42 views/settings.hbs:43 views/users/login.hbs:6 -#: views/users/login.hbs:7 -msgid "Password" -msgstr "" - -#: views/settings.hbs:44 -msgid "Use SES API for sending mail" -msgstr "" - -#: views/settings.hbs:45 -msgid "Access Key" -msgstr "" - -#: views/settings.hbs:46 -msgid "AWS Access Key Id" -msgstr "" - -#: views/settings.hbs:47 -msgid "Secret Key" -msgstr "" - -#: views/settings.hbs:48 -msgid "AWS Secret Access Key" -msgstr "" - -#: views/settings.hbs:49 -msgid "Region" -msgstr "Regione" - -#: views/settings.hbs:50 -msgid "Checking" -msgstr "Controllo" - -#: views/settings.hbs:51 -msgid "Check Mailer config" -msgstr "Controlla la configurazione del mailer" - -#: views/settings.hbs:52 -msgid "Advanced Mailer settings" -msgstr "Impostazioni Mailer avanzate" - -#: views/settings.hbs:53 -msgid "Log SMTP transactions" -msgstr "" - -#: views/settings.hbs:54 -msgid "Allow self-signed certificates" -msgstr "" - -#: views/settings.hbs:55 -msgid "Max connections" -msgstr "Massime connessioni" - -#: views/settings.hbs:56 -msgid "The count of max connections, eg. 10" -msgstr "Numero massimo di connessioni (per esempio 10)" - -#: views/settings.hbs:57 -msgid "" -"The count of maximum simultaneous connections to make against the SMTP " -"server (defaults to 5). This limit is per sending process." -msgstr "" - -#: views/settings.hbs:58 -msgid "Max messages" -msgstr "Massimo messaggi" - -#: views/settings.hbs:59 -msgid "The count of max messages, eg. 100" -msgstr "Il numero dei messaggi massimi, per esempio 1000" - -#: views/settings.hbs:60 -msgid "" -"The number of messages to send through a single connection before the " -"connection is closed and reopened (defaults to 100)" -msgstr "" - -#: views/settings.hbs:61 -msgid "Throttling" -msgstr "" - -#: views/settings.hbs:62 -msgid "Messages per hour eg. 1000" -msgstr "Messaggi all'ora" - -#: views/settings.hbs:63 -msgid "" -"Maximum number of messages to send in an hour. Leave empty or zero for no " -"throttling. If your provider uses a different speed limit (messages/minute " -"or messages/second) then convert this limit into messages/hour (1m/s => " -"3600m/h). This limit is per sending process." -msgstr "" -"Numero di messaggi massimo da inviare all'ora. Lascia il campo vuoto o con 0 " -"per non rallentare. Se il tuo provider usa diversi limiti di velocità di " -"invio (messaggi al minuto o al secondo), converti il valore per adattarlo (1 " -"mail / secondo => 3600 mail / ora ). Questo valore è per ogni singolo " -"processo di invio." - -#: views/settings.hbs:64 -msgid "VERP bounce handling" -msgstr "" - -#: views/settings.hbs:65 -msgid "" -"Mailtrain is able to use VERP based routing to detect bounces. In this case " -"the message is sent to the recipient using a custom VERP address as the " -"return path of the message. If the message is not accepted a bounce email is " -"sent to this special VERP address and thus a bounce is detected." -msgstr "" - -#: views/settings.hbs:66 -msgid "" -"To get VERP working you need to set up a DNS MX record that points to your " -"Mailtrain hostname. You must also ensure that Mailtrain VERP interface is " -"available from port 25 of your server (port 25 usually requires root user " -"privileges). This way if anyone tries to send email to someuser@verp-" -"hostname then the email should end up to this server." -msgstr "" - -#: views/settings.hbs:67 -msgid "" -"VERP usually only works if you are using your own SMTP server. Regular relay " -"services (SES, SparkPost, Gmail etc.) tend to remove the VERP address from " -"the message." -msgstr "" - -#: views/settings.hbs:68 -msgid "Use VERP to catch bounces" -msgstr "" - -#: views/settings.hbs:69 -msgid "Server hostname" -msgstr "" - -#: views/settings.hbs:70 -msgid "The VERP server hostname, eg. bounces.example.com" -msgstr "" - -#: views/settings.hbs:71 -msgid "" -"VERP bounce handling server hostname. This hostname is used in the SMTP " -"envelope FROM address and the MX DNS records should point to this server" -msgstr "" - -#: views/settings.hbs:72 -msgid "" -"VERP bounce handling server is not enabled. Modify your server configuration " -"file and restart server to enable it" -msgstr "" - -#: views/settings.hbs:73 -msgid "GPG Signing" -msgstr "" - -#: views/settings.hbs:74 -msgid "" -"Only messages that are encrypted can be signed. Subsribers who have not set " -"up a GPG public key in their profile receive normal email messages. Users " -"with GPG key set receive encrypted messages and if you have signing key also " -"set, the messages are signed with this key." -msgstr "" - -#: views/settings.hbs:75 -msgid "" -"Do not use sensitive keys here. The private key and passphrase are not " -"encrypted in the database." -msgstr "" - -#: views/settings.hbs:76 -msgid "Private Key Passphrase" -msgstr "" - -#: views/settings.hbs:77 -msgid "Passphrase for the key if set" -msgstr "" - -#: views/settings.hbs:78 -msgid "Only fill this if your private key is encrypted with a passphrase" -msgstr "" - -#: views/settings.hbs:79 -msgid "GPG Private Key" -msgstr "" - -#: views/settings.hbs:81 -msgid "" -"This value is optional. If you do not provide a private key GPG encrypted " -"messages are sent without signing." -msgstr "" - -#: views/settings.hbs:82 -msgid "DKIM Signing by ZoneMTA" -msgstr "" - -#: views/settings.hbs:83 -msgid "" -"If you are using ZoneMTA then Mailtrain can provide a DKIM key for signing " -"all outgoing messages. Other services usually provide their own means to " -"DKIM sign your messages" -msgstr "" - -#: views/settings.hbs:84 -msgid "" -"Do not use sensitive keys here. The private key is not encrypted in the " -"database." -msgstr "" - -#: views/settings.hbs:85 -msgid "ZoneMTA DKIM API Key" -msgstr "" - -#: views/settings.hbs:86 -msgid "Some secret value" -msgstr "" - -#: views/settings.hbs:87 -msgid "" -"Secret value known to ZoneMTA for requesting DKIM key information. If this " -"value was generated by the Mailtrain installation script then you can keep " -"it as it is" -msgstr "" - -#: views/settings.hbs:88 -msgid "DKIM domain" -msgstr "" - -#: views/settings.hbs:89 -msgid "Domain name for the DKIM key" -msgstr "" - -#: views/settings.hbs:90 -msgid "Leave blank to use the sender email address domain" -msgstr "" - -#: views/settings.hbs:91 views/settings.hbs:92 -msgid "DKIM key selector" -msgstr "" - -#: views/settings.hbs:93 -msgid "Signing is disabled without a valid selector value" -msgstr "" - -#: views/settings.hbs:94 -msgid "DKIM Private Key" -msgstr "" - -#: views/settings.hbs:96 -msgid "" -"This value is optional. If you do not provide a private key then messages " -"are not signed." -msgstr "" - -#: views/subscription/mail-already-subscribed-html.mjml.hbs:1 -#: views/subscription/mail-already-subscribed-text.hbs:1 -#: lib/models/subscriptions.js:174 lib/models/subscriptions.js:895 -msgid "Email address already registered" -msgstr "Indirizzo email già registrato" - -#: views/subscription/mail-already-subscribed-html.mjml.hbs:2 -#: views/subscription/mail-already-subscribed-text.hbs:2 -msgid "" -"We have received a subscription request. Your email address is however " -"already registered." -msgstr "" -"Abbiamo ricevuto una richiesta di iscrizione alla nostra newsletter. La tua " -"email è già registrata." - -#: views/subscription/mail-already-subscribed-html.mjml.hbs:3 -#: views/subscription/mail-already-subscribed-text.hbs:3 -msgid "" -"If you received this email by mistake, simply delete it. Your existing " -"subscription won't be affected." -msgstr "" -"Se tu ricevi questa email per errore, cancellala semplicemente. La tua " -"registrazione non subirà alcuna modifica." - -#: views/subscription/mail-already-subscribed-html.mjml.hbs:4 -#: views/subscription/mail-subscription-confirmed-html.mjml.hbs:3 -msgid "If you want to modify your subscription then you can " -msgstr "Se vuoi modificare la tua iscrizione allora puoi" - -#: views/subscription/mail-already-subscribed-html.mjml.hbs:5 -#: views/subscription/mail-already-subscribed-text.hbs:5 -#: views/subscription/mail-subscription-confirmed-html.mjml.hbs:4 -#: views/subscription/mail-subscription-confirmed-text.hbs:4 -msgid "manage your preferences" -msgstr "gestire le tue preferenze" - -#: views/subscription/mail-already-subscribed-html.mjml.hbs:6 -#: views/subscription/mail-already-subscribed-text.hbs:6 -#: views/subscription/mail-subscription-confirmed-html.mjml.hbs:5 -#: views/subscription/mail-subscription-confirmed-text.hbs:5 -#: views/users/login.hbs:10 -msgid "or" -msgstr "oppure" - -#: views/subscription/mail-already-subscribed-html.mjml.hbs:7 -#: views/subscription/mail-already-subscribed-text.hbs:7 -#: views/subscription/mail-subscription-confirmed-html.mjml.hbs:6 -#: views/subscription/mail-subscription-confirmed-text.hbs:6 -msgid "unsubscribe here" -msgstr "cancellare l'iscrizione qui" - -#: views/subscription/mail-already-subscribed-html.mjml.hbs:8 -#: views/subscription/mail-subscription-confirmed-html.mjml.hbs:7 -#: views/subscription/web-confirm-subscription-notice.mjml.hbs:3 -#: views/subscription/web-confirm-unsubscription-notice.mjml.hbs:3 -#: views/subscription/web-manual-unsubscribe-notice.mjml.hbs:4 -#: views/subscription/web-subscribed-notice.mjml.hbs:4 -#: views/subscription/web-unsubscribed-notice.mjml.hbs:3 -#: views/subscription/web-updated-notice.mjml.hbs:3 -msgid "Return to our website" -msgstr "Torna sul nostro sito" - -#: views/subscription/mail-already-subscribed-html.mjml.hbs:9 -#: views/subscription/mail-already-subscribed-text.hbs:8 -#: views/subscription/mail-confirm-address-change-html.mjml.hbs:4 -#: views/subscription/mail-confirm-address-change-text.hbs:4 -#: views/subscription/mail-confirm-subscription-html.mjml.hbs:4 -#: views/subscription/mail-confirm-subscription-text.hbs:4 -#: views/subscription/mail-confirm-unsubscription-html.mjml.hbs:4 -#: views/subscription/mail-confirm-unsubscription-text.hbs:4 -#: views/subscription/mail-subscription-confirmed-html.mjml.hbs:8 -#: views/subscription/mail-subscription-confirmed-text.hbs:7 -#: views/subscription/mail-unsubscription-confirmed-html.mjml.hbs:5 -#: views/subscription/mail-unsubscription-confirmed-text.hbs:5 -msgid "For questions about this list, please contact:" -msgstr "Per domande riguardanti questa newsletter, contatta:" - -#: views/subscription/mail-already-subscribed-text.hbs:4 -#: views/subscription/mail-subscription-confirmed-text.hbs:3 -msgid "If you want to modify your subscription then you can:" -msgstr "Se vuoi modificare la tua iscrizione allora puoi:" - -#: views/subscription/mail-confirm-address-change-html.mjml.hbs:1 -#: views/subscription/mail-confirm-address-change-text.hbs:1 -msgid "Please Confirm Subscription Address Change" -msgstr "Per favore conferma il cambio dell'indirizzo dell'iscrizione" - -#: views/subscription/mail-confirm-address-change-html.mjml.hbs:2 -#: views/subscription/mail-confirm-address-change-text.hbs:2 -msgid "Yes, subscribe this email address to the list" -msgstr "Sì, iscrivimi alla lista" - -#: views/subscription/mail-confirm-address-change-html.mjml.hbs:3 -#: views/subscription/mail-confirm-subscription-html.mjml.hbs:3 -msgid "" -"If you received this email by mistake, simply delete it. You won't be " -"subscribed if you don't click the confirmation link above." -msgstr "" -"Se ricevi questa email per errore, semplicemente cancellala. Non verrai " -"registrato se non clicchi sul link di conferma qui sopra." - -#: views/subscription/mail-confirm-address-change-text.hbs:3 -#: views/subscription/mail-confirm-subscription-text.hbs:3 -msgid "" -"If you received this email by mistake, simply delete it. You won't be " -"subscribed unless you click the confirmation link above." -msgstr "" -"Se ricevi questa email per errore, semplicemente cancellala. Non verrai " -"registrato se non clicchi sul link di conferma qui sopra." - -#: views/subscription/mail-confirm-subscription-html.mjml.hbs:1 -#: views/subscription/mail-confirm-subscription-text.hbs:1 -#: views/subscription/mail-confirm-unsubscription-text.hbs:1 -#: routes/subscription.js:432 -msgid "Please Confirm Subscription" -msgstr "Per favore conferma la tua iscrizione" - -#: views/subscription/mail-confirm-subscription-html.mjml.hbs:2 -#: views/subscription/mail-confirm-subscription-text.hbs:2 -msgid "Yes, subscribe me to this list" -msgstr "Sì, iscrivimi a questa lista" - -#: views/subscription/mail-confirm-unsubscription-html.mjml.hbs:1 -msgid "Please Confirm Unsubscription" -msgstr "Per favore conferma la cancellazione dell'iscrizione" - -#: views/subscription/mail-confirm-unsubscription-html.mjml.hbs:2 -#: views/subscription/mail-confirm-unsubscription-text.hbs:2 -msgid "Yes, unsubscribe me from this list" -msgstr "Sì, cancella la mia iscrizione alla lista" - -#: views/subscription/mail-confirm-unsubscription-html.mjml.hbs:3 -msgid "" -"If you received this email by mistake, simply delete it. You won't be " -"unsubscribed if you don't click the confirmation link above." -msgstr "" -"Se ricevi questo messaggio per errore, cancellalo pure. Non sarai cancellato " -"dalla tua iscrizione se non clicchi sul link di conferma." - -#: views/subscription/mail-confirm-unsubscription-text.hbs:3 -msgid "" -"If you received this email by mistake, simply delete it. You won't be " -"unsubscribed unless you click the confirmation link above." -msgstr "" -"Se ricevi questo messaggio per errore, cancellalo pure. Non sarai cancellato " -"dalla tua iscrizione se non clicchi sul link di conferma." - -#: views/subscription/mail-subscription-confirmed-html.mjml.hbs:1 -#: views/subscription/mail-subscription-confirmed-text.hbs:1 -#: views/subscription/web-subscribed-notice.mjml.hbs:1 -msgid "Subscription Confirmed" -msgstr "Iscrizione confermata" - -#: views/subscription/mail-subscription-confirmed-html.mjml.hbs:2 -msgid "Your subscription to our list has been confirmed" -msgstr "La tua iscrizione alla nostra lista è stata confermata" - -#: views/subscription/mail-subscription-confirmed-text.hbs:2 -#: views/subscription/web-subscribed-notice.mjml.hbs:2 -msgid "Your subscription to our list has been confirmed." -msgstr "La tua iscrizione alla nostra lista è stata confermata." - -#: views/subscription/mail-unsubscription-confirmed-html.mjml.hbs:1 -#: views/subscription/mail-unsubscription-confirmed-text.hbs:1 -msgid "You Are Now Unsubscribed" -msgstr "La tua iscrizione è stata cancellata" - -#: views/subscription/mail-unsubscription-confirmed-html.mjml.hbs:2 -msgid "We have removed your email address from our list" -msgstr "Ti abbiamo rimosso dalla nostra lista" - -#: views/subscription/mail-unsubscription-confirmed-html.mjml.hbs:3 -#: views/subscription/mail-unsubscription-confirmed-text.hbs:3 -msgid "If you unsubscribed by mistake, you can re-subscribe at:" -msgstr "Se ti sei cancellato per sbaglio, puoi iscriverti nuovamente qui:" - -#: views/subscription/mail-unsubscription-confirmed-text.hbs:2 -msgid "We have removed your email address from our list." -msgstr "Abbiamo rimosso la tua email dalla nostra lista." - -#: views/subscription/partials/subscription-custom-fields.hbs:2 -msgid "want to change it?" -msgstr "vuoi cambiarlo?" - -#: views/subscription/partials/subscription-custom-fields.hbs:5 -msgid "Download signature verification key" -msgstr "Scarica la chiave di verifica" - -#: views/subscription/partials/subscription-custom-fields.hbs:7 -msgid "" -"Insert your GPG public key here to encrypt messages sent to your address" -msgstr "" -"Inserisci la tua chiave pubblica GPG qui per cifrare i messaggi inviati al " -"tuo server" - -#: views/subscription/partials/subscription-custom-fields.hbs:8 -msgid "optional" -msgstr "opzionale" - -#: views/subscription/partials/subscription-flash-messages.hbs:1 -#: views/subscription/partials/subscription-flash-messages.hbs:3 -msgid "Warning!" -msgstr "Attenzione!" - -#: views/subscription/partials/subscription-flash-messages.hbs:2 -msgid "If JavaScript was not enabled then no confirmation message was sent" -msgstr "" -"Se JavaScript non è abilitato, non verrà inviato alcun messaggio di conferma" - -#: views/subscription/partials/subscription-flash-messages.hbs:4 -msgid "JavaScript must be enabled in order for this form to work" -msgstr "" -"JavaScript deve essere abilitato per il funzionamento di questo modulo da " -"compilare" - -#: views/subscription/partials/subscription-manage-address-form.hbs:1 -msgid "Existing Email Address" -msgstr "Indirizzo email esistente" - -#: views/subscription/partials/subscription-manage-address-form.hbs:2 -msgid "New Email Address" -msgstr "Nuovo indirizzo email" - -#: views/subscription/partials/subscription-manage-address-form.hbs:3 -msgid "Your new email address" -msgstr "Il tuo nuovo indirizzo email" - -#: views/subscription/partials/subscription-manage-address-form.hbs:4 -msgid "" -"You will receive a confirmation request to your new email address that you " -"need to accept before your email is actually changed" -msgstr "" -"Riceverai una richiesta di conferma al tuo nuovo indirizzo di posta e devi " -"confermarlo per far sì che la modifica abbia effetto" - -#: views/subscription/partials/subscription-manage-address-form.hbs:5 -#: views/subscription/web-manage-address.mjml.hbs:2 -msgid "Update Email Address" -msgstr "Aggiorna indirizzo email" - -#: views/subscription/partials/subscription-manage-form.hbs:1 -#: views/subscription/web-manage.mjml.hbs:2 -msgid "Update Profile" -msgstr "Aggiorna profilo" - -#: views/subscription/partials/subscription-subscribe-form.hbs:1 -#: views/subscription/web-subscribe.mjml.hbs:2 -#: views/subscription/widget-subscribe.hbs:1 -msgid "Subscribe to list" -msgstr "Iscrivita alla lista" - -#: views/subscription/web-confirm-subscription-notice.mjml.hbs:1 -#: views/subscription/web-confirm-unsubscription-notice.mjml.hbs:1 -#: views/subscription/widget-subscribe.hbs:4 -msgid "Almost Finished" -msgstr "Quasi finito" - -#: views/subscription/web-confirm-subscription-notice.mjml.hbs:2 -#: views/subscription/widget-subscribe.hbs:5 -msgid "" -"We need to confirm your email address. To complete the subscription process, " -"please click the link in the email we just sent you." -msgstr "" -"Dobbiamo confermare il tuo indirizzo email. Per completare l'iscrizione, " -"clicca sul link che ti abbiamo inviato al tuo indirizzo email." - -#: views/subscription/web-confirm-unsubscription-notice.mjml.hbs:2 -msgid "" -"We need to confirm your email address. To complete the unsubscription " -"process, please click the link in the email we just sent you." -msgstr "" -"Abbiamo bisogno che confermi il tuo indirizzo email. Per completare il " -"processo di rimossione, si prega di cliccare il link che ti abbiamo appena " -"spedito." - -#: views/subscription/web-manage-address.mjml.hbs:1 -msgid "Update Your Email Address" -msgstr "Aggiorna il tuo indirizzo email" - -#: views/subscription/web-manage.mjml.hbs:1 -msgid "Update Your Preferences" -msgstr "Aggiorna le tue preferenze" - -#: views/subscription/web-manual-unsubscribe-notice.mjml.hbs:1 -msgid "Online Unsubscription Is Not Possible" -msgstr "La rimozione dell'iscrizione non è fattibile online" - -#: views/subscription/web-manual-unsubscribe-notice.mjml.hbs:2 -msgid "Please contact us at" -msgstr "Puoi contattarci all'indirizzo " - -#: views/subscription/web-manual-unsubscribe-notice.mjml.hbs:3 -msgid "to get removed from the list" -msgstr "per essere rimosso dalla lista" - -#: views/subscription/web-subscribe.mjml.hbs:1 -msgid "Subscribe to List" -msgstr "Iscriviti alla lista" - -#: views/subscription/web-subscribed-notice.mjml.hbs:3 -msgid "Thank you for subscribing!" -msgstr "Grazie per la tua iscrizione!" - -#: views/subscription/web-unsubscribed-notice.mjml.hbs:1 -msgid "Unsubscribe Successful" -msgstr "Rimozione eseguita con successo" - -#: views/subscription/web-unsubscribed-notice.mjml.hbs:2 -msgid "You have been removed from:" -msgstr "Se stato rimosso da:" - -#: views/subscription/web-updated-notice.mjml.hbs:1 -msgid "Profile Updated" -msgstr "Profilo Aggiornato" - -#: views/subscription/web-updated-notice.mjml.hbs:2 -msgid "Your profile information has been updated." -msgstr "Le informazioni del tuo profilo sono stato aggiornate." - -#: views/subscription/widget-subscribe.hbs:2 -msgid "Sending ..." -msgstr "Invio ..." - -#: views/subscription/widget-subscribe.hbs:3 -msgid "It looks like you are already subscribed to this list." -msgstr "Sembra che tu ti sia già iscritto a questa lista." - -#: views/templates/create.hbs:5 views/templates/edit.hbs:6 -msgid "Template name" -msgstr "Nome Template" - -#: views/templates/create.hbs:6 views/templates/edit.hbs:7 -msgid "Name for this template, eg. Newsletter" -msgstr "Nome di questo template eg. Newsletter promozioni" - -#: views/templates/create.hbs:7 -msgid "HTML Editor" -msgstr "Editor HTML" - -#: views/templates/create.hbs:10 views/templates/edit.hbs:9 -msgid "Optional comments about this template" -msgstr "Commenti opzionali per questo template" - -#: views/templates/edit.hbs:5 -msgid "Back to templates" -msgstr "Indietro ai templates" - -#: views/templates/edit.hbs:11 -msgid "Duplicate" -msgstr "Duplica" - -#: views/triggers/create-select.hbs:2 views/triggers/create.hbs:2 -#: views/triggers/edit.hbs:2 views/triggers/triggered.hbs:2 -#: views/triggers/triggers.hbs:2 views/triggers/triggers.hbs:4 -msgid "Automation Triggers" -msgstr "Trigger di automazione" - -#: views/triggers/create-select.hbs:5 -msgid "Select a list for the trigger" -msgstr "Seleziona una lista per questo trigger" - -#: views/triggers/create.hbs:5 views/triggers/edit.hbs:6 -msgid "Trigger name" -msgstr "Nome trigger" - -#: views/triggers/create.hbs:6 views/triggers/edit.hbs:7 -msgid "Name for this trigger, eg. Inactive subscribers" -msgstr "Nome per questo trigger, per esempio: iscritti inattivi" - -#: views/triggers/create.hbs:8 views/triggers/edit.hbs:9 -msgid "Optional comments about this trigger" -msgstr "Commenti opzionali per questo trigger" - -#: views/triggers/create.hbs:12 views/triggers/edit.hbs:14 -msgid "Trigger rule" -msgstr "Regola trigger" - -#: views/triggers/create.hbs:13 views/triggers/edit.hbs:15 -msgid "Trigger fires" -msgstr "Attivazione trigger" - -#: views/triggers/create.hbs:14 views/triggers/edit.hbs:16 -msgid "days after:" -msgstr "dopo giorni:" - -#: views/triggers/create.hbs:16 views/triggers/create.hbs:21 -#: views/triggers/edit.hbs:18 views/triggers/edit.hbs:23 -msgid "Event" -msgstr "Evento" - -#: views/triggers/create.hbs:18 views/triggers/create.hbs:19 -#: views/triggers/create.hbs:25 views/triggers/edit.hbs:20 -#: views/triggers/edit.hbs:21 views/triggers/edit.hbs:27 -msgid "Campaign" -msgstr "Campagna" - -#: views/triggers/create.hbs:23 views/triggers/edit.hbs:25 -msgid "Trigger action" -msgstr "Azione trigger" - -#: views/triggers/create.hbs:24 views/triggers/edit.hbs:26 -msgid "Send campaign" -msgstr "Invia campagna" - -#: views/triggers/edit.hbs:3 views/triggers/edit.hbs:4 -msgid "Edit Trigger" -msgstr "Modifica trigger" - -#: views/triggers/edit.hbs:5 -msgid "Back to triggers" -msgstr "Indietro ai triggers" - -#: views/triggers/edit.hbs:11 -msgid "Trigger is enabled" -msgstr "Il trigger è abilitato" - -#: views/triggers/edit.hbs:29 -msgid "Delete Trigger" -msgstr "Elimina trigger" - -#: views/triggers/triggered.hbs:3 -msgid "Triggered" -msgstr "Trigger azionato" - -#: views/triggers/triggered.hbs:4 -msgid "Triggered subscribers" -msgstr "Iscritti con trigger azionati" - -#: views/triggers/triggered.hbs:5 -msgid "Subscribers who caused this trigger to fire" -msgstr "Iscritti che hanno azionato questo trigger" - -#: views/triggers/triggered.hbs:9 -msgid "Triggered time" -msgstr "Ora azionamento Trigger" - -#: views/triggers/triggers.hbs:9 -msgid "Trigger" -msgstr "" - -#: views/triggers/triggers.hbs:10 -msgid "Target Campaign" -msgstr "Campagna targetizzata" - -#: views/triggers/triggers.hbs:11 -msgid "Triggered count" -msgstr "Conteggio trigger azionati" - -#: views/users/account.hbs:4 -msgid "This account is managed through LDAP." -msgstr "Questo account è controllato tramite LDAP." - -#: views/users/account.hbs:5 -msgid "Associated Email Address" -msgstr "Indirizzo email associato" - -#: views/users/account.hbs:8 -msgid "Your e-mail address" -msgstr "Il tuo indirizzo email" - -#: views/users/account.hbs:9 -msgid "" -"This address is used for account recovery in case you lose your password" -msgstr "Questo indirizzo è utilizzato per il recupero della password" - -#: views/users/account.hbs:10 -msgid "Password change" -msgstr "Cambia password" - -#: views/users/account.hbs:11 -msgid "" -"You only need to fill out this form if you want to change your current " -"password" -msgstr "" -"Hai bisogno di completare questo form solo se vuoi cambiare la tua password " -"attuale" - -#: views/users/account.hbs:12 views/users/account.hbs:13 -msgid "Current Password" -msgstr "Password attuale" - -#: views/users/account.hbs:14 views/users/account.hbs:15 -#: views/users/reset.hbs:6 views/users/reset.hbs:7 -msgid "New Password" -msgstr "Nuova password" - -#: views/users/account.hbs:16 views/users/reset.hbs:8 -msgid "Confirm Password" -msgstr "Conferma password" - -#: views/users/account.hbs:17 views/users/reset.hbs:9 -msgid "Confirm New Password" -msgstr "Conferma nuova password" - -#: views/users/api.hbs:4 -msgid "Are you sure? Resetting would invalidate the currently existing token." -msgstr "Sei sicuro? Il reset invaliderà i tokens che esistono al momento" - -#: views/users/api.hbs:5 -msgid "Are you sure?" -msgstr "Sei sicuro?" - -#: views/users/api.hbs:6 -msgid "Reset Access Token" -msgstr "Resetta token di accesso" - -#: views/users/api.hbs:7 -msgid "Generate Access Token" -msgstr "Genera token di accesso" - -#: views/users/api.hbs:8 -msgid "Personal access token:" -msgstr "Token di accesso personale:" - -#: views/users/api.hbs:9 -msgid "Access token not yet generated" -msgstr "Token di accesso non generato" - -#: views/users/api.hbs:10 -msgid "Notes about the API" -msgstr "Note sull'API" - -#: views/users/api.hbs:11 -msgid "" -"API response is a JSON structure with error and data properties. If the response error has a value set then " -"the request failed." -msgstr "" -"La risposta API è una struttura JSON con proprietà error e " -"data. Se la risposta ha il valore error impostato, " -"la richiesta è fallita." - -#: views/users/api.hbs:12 -msgid "" -"You need to define proper Content-Type when making a request. " -"You can either use application/x-www-form-urlencoded for normal " -"form data or application/json for a JSON payload. Using " -"multipart/form-data is not supported." -msgstr "" -"Devi definire il giusto Content-Type quando esegui una " -"richiesta. Puoi usare application/x-www-form-urlencoded per i " -"dati dei form normali, oppure application/json per JSON " -"payload. Non è supportato multipart/form-data." - -#: views/users/api.hbs:13 -msgid "Get list of subscriptions" -msgstr "Ottieni lista delle iscrizioni" - -#: views/users/api.hbs:14 -msgid "" -"Retrieve a list of subscriptions to the list referenced by :listId. All " -"fields of the subscribers will be returned. Note that custom fields will " -"have generated names." -msgstr "" -"Ottieni una lista delle iscrizioni alla lista :listId. Tutti i campi degli " -"iscritti saranno restituiti. Nota che i campi personalizzati avranno dei " -"nomi automaticamente generati." - -#: views/users/api.hbs:15 views/users/api.hbs:24 views/users/api.hbs:26 -#: views/users/api.hbs:39 views/users/api.hbs:41 views/users/api.hbs:47 -#: views/users/api.hbs:49 views/users/api.hbs:55 views/users/api.hbs:57 -#: views/users/api.hbs:67 views/users/api.hbs:78 views/users/api.hbs:80 -#: views/users/api.hbs:86 views/users/api.hbs:88 views/users/api.hbs:94 -msgid "arguments" -msgstr "argomenti" - -#: views/users/api.hbs:16 views/users/api.hbs:25 views/users/api.hbs:40 -#: views/users/api.hbs:48 views/users/api.hbs:56 views/users/api.hbs:68 -#: views/users/api.hbs:79 views/users/api.hbs:87 views/users/api.hbs:95 -msgid "your personal access token" -msgstr "il tuo token di accesso personale" - -#: views/users/api.hbs:17 views/users/api.hbs:69 -msgid "Start position" -msgstr "Posizionale di inizio" - -#: views/users/api.hbs:18 views/users/api.hbs:70 -msgid "optional, default 0" -msgstr "opzionale, 0 di default" - -#: views/users/api.hbs:19 -msgid "limit subscription count in response" -msgstr "limita il numero di iscrizioni in risposta" - -#: views/users/api.hbs:20 views/users/api.hbs:72 -msgid "optional, default 10000" -msgstr "opzionale, default 10000" - -#: views/users/api.hbs:22 -msgid "Add subscription" -msgstr "Aggiungi iscrizione" - -#: views/users/api.hbs:23 -msgid "" -"This API call either inserts a new subscription or updates existing. Fields " -"not included are left as is, so if you update only LAST_NAME value, then " -"FIRST_NAME is kept untouched for an existing subscription." -msgstr "" -"Questa chiamata API aggiunge o aggiorna una iscrizione. I campi non inclusi " -"saranno lasciati come erano, quindi se si aggiorna LAST_NAME, FIRST_NAME " -"rimarrà invariato per quella iscrizione." - -#: views/users/api.hbs:27 views/users/api.hbs:42 views/users/api.hbs:50 -msgid "subscriber's email address" -msgstr "indirizzo email dell'iscritto" - -#: views/users/api.hbs:28 views/users/api.hbs:43 views/users/api.hbs:51 -#: views/users/api.hbs:59 views/users/api.hbs:82 views/users/api.hbs:90 -msgid "required" -msgstr "richiesto" - -#: views/users/api.hbs:29 -msgid "subscriber's first name" -msgstr "nome dell'iscritto" - -#: views/users/api.hbs:30 -msgid "subscriber's last name" -msgstr "cognome dell'iscritto" - -#: views/users/api.hbs:31 -msgid "" -"subscriber's timezone (eg. \"Europe/Tallinn\", \"PST\" or \"UTC\"). If not " -"set defaults to \"UTC\"" -msgstr "" -"timezone dell'iscritto (esempio: \"Europe/Tallinn\", \"PST\" or \"UTC\"). Se " -"non impostato il valore di default è \"UTC\"" - -#: views/users/api.hbs:32 -msgid "" -"custom field value. Use yes/no for option group values (checkboxes, radios, " -"drop downs)" -msgstr "" -"valore dei campi personalizzati. Usa si/no per i valori dei gruppi di " -"opzioni (checkboxes, radios, drop downs) " - -#: views/users/api.hbs:33 -msgid "Additional POST arguments" -msgstr "" - -#: views/users/api.hbs:34 -msgid "" -"set to \"yes\" if you want to make sure the email is marked as subscribed " -"even if it was previously marked as unsubscribed. If the email was already " -"unsubscribed/blocked then subscription status is not changed" -msgstr "" -"selezionare \"sì\" se vuoi essere sicuro che la mail venga salvata come " -"iscritta anche se precedentemente cancellata. Se la mail si era già " -"cancellata o bloccata, lo stato di iscrizione non cambierà." - -#: views/users/api.hbs:35 -msgid "" -"set to \"yes\" if you want to send confirmation email to the subscriber " -"before actually marking as subscribed" -msgstr "" -"selezionare \"sì\" se vuoi inviare la mail di conferma all'email " -"delliscrizione prima di salvarlo come iscritto" - -#: views/users/api.hbs:37 -msgid "Remove subscription" -msgstr "Rimuovi iscrizione" - -#: views/users/api.hbs:38 -msgid "This API call marks a subscription as unsubscribed" -msgstr "Questa chiamata API segna una iscrizione come rimossa." - -#: views/users/api.hbs:45 -msgid "Delete subscription" -msgstr "Cancella iscrizione" - -#: views/users/api.hbs:46 -msgid "This API call deletes a subscription" -msgstr "Questa API cancella una iscrizione" - -#: views/users/api.hbs:53 -msgid "Add new custom field" -msgstr "Aggiungi un campo personalizzato" - -#: views/users/api.hbs:54 -msgid "This API call creates a new custom field for a list." -msgstr "Questa chiamata API crea un nuovo campo personalizzato per una lista." - -#: views/users/api.hbs:58 -msgid "field name" -msgstr "nome campo" - -#: views/users/api.hbs:60 -msgid "one of the following types:" -msgstr "uno dei seguenti tipi:" - -#: views/users/api.hbs:61 -msgid "" -"If the type is 'option' then you also need to specify the parent element ID" -msgstr "" -"Se il tipo è 'option' devi anche specificare l'ID dell'elemento parente" - -#: views/users/api.hbs:62 -msgid "" -"Template for the group element. If not set, then values of the elements are " -"joined with commas" -msgstr "" -"Template per il gruppo di elementi. Se non impostato, allora i valori " -"verranno separati da una virgola" - -#: views/users/api.hbs:63 -msgid "" -"if not visible then the subscriber can not view or modify this value at the " -"profile page" -msgstr "" -"se non visibile l'iscritto non potrà modificare questo valore nella pagina " -"del profilo" - -#: views/users/api.hbs:65 -msgid "Get list of blacklisted emails" -msgstr "Ottieni emails in lista nera" - -#: views/users/api.hbs:66 -msgid "This API call get list of blacklisted emails." -msgstr "Questa chiamata API ottiene una lista delle email in lista nera." - -#: views/users/api.hbs:71 -msgid "limit emails count in response" -msgstr "limita il numero di emails nella risposta" - -#: views/users/api.hbs:73 -msgid "filter by part of email" -msgstr "filtra per parte della email" - -#: views/users/api.hbs:74 -msgid "optional, default ''" -msgstr "opzionale, default ''" - -#: views/users/api.hbs:77 -msgid "This API call either add emails to blacklist" -msgstr "Questa chiamata API aggiunge emails alla lista nera" - -#: views/users/api.hbs:81 views/users/api.hbs:89 -msgid "email address" -msgstr "indirizzo email" - -#: views/users/api.hbs:84 -msgid "Delete email from blacklist" -msgstr "Cancella email dalla lista nera." - -#: views/users/api.hbs:85 -msgid "This API call either delete emails from blacklist" -msgstr "Questa chiamata API cancella emails dalla lista nera" - -#: views/users/api.hbs:92 -msgid "Get the lists a user has subscribed to" -msgstr "Ottini le listi a cui un utente si è iscritto" - -#: views/users/api.hbs:93 -msgid "Retrieve the lists that the user with :email has subscribed to. " -msgstr "Ottieni le liste a cui l'utente con :email si è iscritto" - -#: views/users/forgot.hbs:3 views/users/reset.hbs:3 -msgid "Password Reset" -msgstr "Resetta password" - -#: views/users/forgot.hbs:4 -msgid "Reset your password?" -msgstr "Resettare la password?" - -#: views/users/forgot.hbs:5 -msgid "Accounts are managed through LDAP." -msgstr "Gli accounts sono gestiti tramite LDAP." - -#: views/users/forgot.hbs:6 views/users/reset.hbs:10 -msgid "Reset Password" -msgstr "Resetta password" - -#: views/users/forgot.hbs:7 -msgid "" -"Please provide the username or email address that you used when you signed " -"up for your Mailtrain account." -msgstr "" -"Si prega di inserire lo username o la email inserita al momento della " -"registrazione." - -#: views/users/forgot.hbs:8 -msgid "We will send you an email that will allow you to reset your password." -msgstr "Ti invieremo una email che ti permetterà di cambiare password." - -#: views/users/forgot.hbs:10 -msgid "Username or email address" -msgstr "Username o email" - -#: views/users/forgot.hbs:11 -msgid "Send verification email" -msgstr "Invia email di verifica" - -#: views/users/login.hbs:8 -msgid "Remember me" -msgstr "Ricordati di me" - -#: views/users/login.hbs:11 views/users/login.hbs:12 -msgid "Forgot password?" -msgstr "Password dimenticata?" - -#: views/users/reset.hbs:4 -msgid "Choose your new password" -msgstr "Scegli la tua nuova password" - -#: views/users/reset.hbs:5 -msgid "Please enter a new password." -msgstr "Inserire una nuova password." - -#: lib/editor-helpers.js:17 routes/templates.js:95 -msgid "Could not find template with specified ID" -msgstr "Template con l'ID specificato non trovato" - -#: lib/editor-helpers.js:33 routes/archive.js:145 routes/campaigns.js:131 -#: routes/campaigns.js:284 routes/campaigns.js:379 routes/campaigns.js:427 -#: routes/campaigns.js:467 routes/campaigns.js:844 routes/campaigns.js:867 -#: routes/campaigns.js:886 routes/campaigns.js:908 routes/triggers.js:146 -msgid "Could not find campaign with specified ID" -msgstr "Campagna con l'ID specificato non trovata" - -#: lib/editor-helpers.js:47 routes/editorapi.js:320 -msgid "Invalid resource type" -msgstr "Tipo di risorsa invalida" - -#: lib/feed.js:31 -msgid "Bad status code %s" -msgstr "Codice %s di stato sbagliato " - -#: lib/helpers.js:33 -msgid "URL that points to the unsubscribe page" -msgstr "URL per la pagina di rimozione dall'iscrizione" - -#: lib/helpers.js:36 -msgid "URL that points to the preferences page of the subscriber" -msgstr "URL per la pagina delle preferenze dell'iscritto" - -#: lib/helpers.js:39 -msgid "URL to preview the message in a browser" -msgstr "URL per l'anteprima del messaggio nel browser" - -#: lib/helpers.js:45 lib/models/segments.js:31 -msgid "First name" -msgstr "Nome" - -#: lib/helpers.js:48 lib/models/segments.js:35 -msgid "Last name" -msgstr "Cognome" - -#: lib/helpers.js:51 -msgid "Full name (first and last name combined)" -msgstr "Nome e Cognome" - -#: lib/helpers.js:54 -msgid "Unique ID that identifies the recipient" -msgstr "ID unico che identifica il destinatario" - -#: lib/helpers.js:57 -msgid "Unique ID that identifies the list used for this campaign" -msgstr "ID unico che identifica la lista usata per questa campagna" - -#: lib/helpers.js:60 -msgid "Unique ID that identifies current campaign" -msgstr "ID unico che identifica la campagna corrente" - -#: lib/helpers.js:68 lib/helpers.js:80 -msgid "content from an RSS entry" -msgstr "contenuto dal messaggio RSS" - -#: lib/helpers.js:71 -msgid "RSS entry title" -msgstr "Titolo RSS entry" - -#: lib/helpers.js:74 -msgid "RSS entry date" -msgstr "" - -#: lib/helpers.js:77 -msgid "RSS entry link" -msgstr "" - -#: lib/helpers.js:83 -msgid "RSS entry summary" -msgstr "" - -#: lib/helpers.js:86 -msgid "RSS entry image URL" -msgstr "" - -#: lib/mailer.js:245 -msgid "Invalid mail transport" -msgstr "Trasporto mail invalido" - -#: lib/models/campaigns.js:105 lib/models/campaigns.js:132 -#: lib/models/campaigns.js:205 lib/models/campaigns.js:328 -#: lib/models/campaigns.js:590 lib/models/campaigns.js:723 -msgid "Missing Campaign ID" -msgstr "ID campagna mancante" - -#: lib/models/campaigns.js:241 -msgid "Emtpy or too large attahcment" -msgstr "Allegato troppo grande o mancante" - -#: lib/models/campaigns.js:408 lib/models/campaigns.js:600 -msgid "Campaign Name must be set" -msgstr "Il nome della campagna è obbligatorio" - -#: lib/models/campaigns.js:412 -msgid "RSS URL must be set and needs to be a valid URL" -msgstr "" - -#: lib/models/campaigns.js:568 -msgid "Selected template not found" -msgstr "Template selezionato non trovato" - -#: lib/models/campaigns.js:924 -msgid "Invalid or missing message ID" -msgstr "ID messaggio mancante o invalido" - -#: lib/models/campaigns.js:1065 -msgid "Unrecognized message status" -msgstr "Stato del messaggio non riconosciuto" - -#: lib/models/confirmations.js:27 -msgid "Could not store confirmation data" -msgstr "Impossibile salvare i dati di conferma" - -#: lib/models/fields.js:24 -msgid "Drop Down" -msgstr "Drop Down" - -#: lib/models/fields.js:25 -msgid "Date (MM/DD/YYY)" -msgstr "Data (MM/GG/AAAA)" - -#: lib/models/fields.js:29 -msgid "JSON value for custom rendering" -msgstr "Valore JSON per visualizzazione personalizzata" - -#: lib/models/fields.js:30 -msgid "Option" -msgstr "Opzione" - -#: lib/models/fields.js:53 lib/models/fields.js:98 lib/models/fields.js:123 -#: lib/models/forms.js:46 lib/models/lists.js:115 lib/models/lists.js:150 -#: lib/models/lists.js:264 lib/models/segments.js:43 lib/models/segments.js:176 -#: lib/models/subscriptions.js:79 lib/models/subscriptions.js:390 -#: lib/models/subscriptions.js:566 lib/models/subscriptions.js:657 -#: lib/models/subscriptions.js:710 lib/models/subscriptions.js:773 -#: lib/models/subscriptions.js:816 -msgid "Missing List ID" -msgstr "ID lista mancante" - -#: lib/models/fields.js:129 -msgid "Option field requires a group to be selected" -msgstr "Il campo Option richiede la selezione di un gruppo" - -#: lib/models/fields.js:149 lib/models/fields.js:199 -msgid "Missing Field ID" -msgstr "ID campo manvante" - -#: lib/models/fields.js:153 lib/models/segments.js:185 -#: lib/models/segments.js:225 -msgid "Field Name must be set" -msgstr "Il nome del campo deve essere impostato" - -#: lib/models/fields.js:216 -msgid "Custom field not found" -msgstr "Campo personalizzato non trovato" - -#: lib/models/fields.js:289 -msgid "Unknown column type %s" -msgstr "Tipo di colonna %s non riconosciuto" - -#: lib/models/fields.js:293 -msgid "Missing column name" -msgstr "nome colonna mancante" - -#: lib/models/fields.js:297 -msgid "Missing list ID" -msgstr "ID lista mancante" - -#: lib/models/fields.js:305 -msgid "Provided List ID not found" -msgstr "ID lista non trovato" - -#: lib/models/forms.js:70 lib/models/forms.js:113 lib/models/forms.js:201 -#: lib/models/forms.js:291 -msgid "Missing Form ID" -msgstr "ID Form mancante" - -#: lib/models/forms.js:121 lib/models/forms.js:205 -msgid "Form Name must be set" -msgstr "Il nome del form è obbligatorio" - -#: lib/models/forms.js:307 -msgid "Custom form not found" -msgstr "Form personalizzato non trovato" - -#: lib/models/links.js:337 routes/campaigns.js:533 routes/campaigns.js:581 -#: routes/campaigns.js:621 routes/campaigns.js:671 services/sender.js:305 -msgid "Campaign not found" -msgstr "Campagna non trovata" - -#: lib/models/links.js:345 routes/lists.js:181 services/sender.js:312 -msgid "List not found" -msgstr "Lista non trovat" - -#: lib/models/links.js:353 -msgid "Subscription not found" -msgstr "Iscrizione non trovata" - -#: lib/models/lists.js:166 lib/models/lists.js:210 -msgid "List Name must be set" -msgstr "Il nome della lista è obbligatorio" - -#: lib/models/lists.js:293 -msgid "Missing List CID" -msgstr "CID lista mancante" - -#: lib/models/report-templates.js:26 lib/models/report-templates.js:70 -#: lib/models/report-templates.js:142 -msgid "Missing report template ID" -msgstr "ID template di reportistica mancante" - -#: lib/models/report-templates.js:77 -msgid "Report template name must be set" -msgstr "Il nome del template di report è obbligatorio" - -#: lib/models/reports.js:40 lib/models/reports.js:110 lib/models/reports.js:188 -msgid "Missing report ID" -msgstr "ID report mancante" - -#: lib/models/reports.js:116 -msgid "Report name must be set" -msgstr "Il nome del report è obblicatorio" - -#: lib/models/segments.js:15 -msgid "Signup country" -msgstr "Nazione di registrazione" - -#: lib/models/segments.js:19 lib/models/triggers.js:12 -msgid "Sign up date" -msgstr "Data registrazione" - -#: lib/models/segments.js:23 lib/models/triggers.js:16 -msgid "Latest open" -msgstr "Ultima apertura" - -#: lib/models/segments.js:27 lib/models/triggers.js:20 -msgid "Latest click" -msgstr "Ultimo click" - -#: lib/models/segments.js:69 lib/models/segments.js:216 -#: lib/models/segments.js:256 lib/models/segments.js:278 -msgid "Missing Segment ID" -msgstr "ID segmento mancante" - -#: lib/models/segments.js:85 lib/models/segments.js:549 -#: lib/models/segments.js:658 -msgid "Segment not found" -msgstr "Segmento non trovato" - -#: lib/models/segments.js:146 lib/models/segments.js:147 -#: lib/models/segments.js:408 lib/models/segments.js:409 -msgid "%s days after today" -msgstr "%s giorni a partire da oggi" - -#: lib/models/segments.js:146 lib/models/segments.js:147 -#: lib/models/segments.js:408 lib/models/segments.js:409 -msgid "%s days before today" -msgstr "$s giorni fa" - -#: lib/models/segments.js:148 lib/models/segments.js:410 -msgid "today" -msgstr "oggi" - -#: lib/models/segments.js:189 lib/models/segments.js:229 -msgid "Invalid segment rule type" -msgstr "Tipo di regola del segmento non valido" - -#: lib/models/segments.js:289 lib/models/segments.js:454 routes/segments.js:266 -#: routes/segments.js:300 routes/segments.js:370 routes/segments.js:381 -msgid "Selected segment not found" -msgstr "Segmento selezionato non trovato" - -#: lib/models/segments.js:294 lib/models/segments.js:459 routes/segments.js:272 -#: routes/segments.js:306 routes/segments.js:387 -msgid "Invalid rule type" -msgstr "Tipo di regola non valida" - -#: lib/models/segments.js:358 lib/models/segments.js:434 -#: lib/models/segments.js:524 -msgid "Missing Rule ID" -msgstr "ID regola mancante" - -#: lib/models/segments.js:374 -msgid "Specified rule not found" -msgstr "Regola specificata non trovata" - -#: lib/models/segments.js:385 -msgid "Specified segment not found" -msgstr "Segmento selezionato non trovato" - -#: lib/models/segments.js:445 -msgid "Selected rule not found" -msgstr "Regola selezionata non trovata" - -#: lib/models/subscriptions.js:257 lib/models/subscriptions.js:287 -#: lib/models/subscriptions.js:394 -msgid "Missing Subscription ID" -msgstr "ID iscrizione mancante" - -#: lib/models/subscriptions.js:315 -msgid "Missing Subscription email address" -msgstr "Indirizzo email di iscrizione mancante" - -#: lib/models/subscriptions.js:570 lib/models/subscriptions.js:820 -msgid "Missing subscription ID" -msgstr "ID di iscrizione mancante" - -#: lib/models/subscriptions.js:661 lib/models/subscriptions.js:714 -#: lib/models/subscriptions.js:750 -msgid "Missing Import ID" -msgstr "ID di import mancante" - -#: lib/models/subscriptions.js:842 -msgid "Unknown subscription ID" -msgstr "ID iscrizione sconosciuto" - -#: lib/models/subscriptions.js:847 routes/subscription.js:639 -msgid "Nothing seems to be changed" -msgstr "Nulla sembra essere cambiato" - -#: lib/models/subscriptions.js:913 routes/subscription.js:473 -#: routes/subscription.js:545 routes/subscription.js:581 -#: routes/subscription.js:697 routes/subscription.js:772 -msgid "Subscription not found in this list" -msgstr "Iscrizione non trovata nella lista" - -#: lib/models/templates.js:26 lib/models/templates.js:102 -#: lib/models/templates.js:157 -msgid "Missing Template ID" -msgstr "ID template mancante" - -#: lib/models/templates.js:55 lib/models/templates.js:106 -msgid "Template Name must be set" -msgstr "Nome template obbligatorio" - -#: lib/models/templates.js:147 -msgid "Template does not exist" -msgstr "Il template non esiste" - -#: lib/models/triggers.js:29 -msgid "Has Opened" -msgstr "Ha aperto" - -#: lib/models/triggers.js:32 -msgid "Has Clicked" -msgstr "Ha cliccato" - -#: lib/models/triggers.js:35 -msgid "Not Opened" -msgstr "Non aperto" - -#: lib/models/triggers.js:38 -msgid "Not Clicked" -msgstr "Non cliccato" - -#: lib/models/triggers.js:178 lib/models/triggers.js:215 -msgid "Missing or invalid list ID" -msgstr "ID Lista mancante on non valido" - -#: lib/models/triggers.js:182 lib/models/triggers.js:267 -msgid "Days in the past are not allowed" -msgstr "Giorni nel passato non sono permessi" - -#: lib/models/triggers.js:186 lib/models/triggers.js:207 -#: lib/models/triggers.js:271 lib/models/triggers.js:292 -msgid "Missing or invalid trigger rule" -msgstr "Regola di trigger mancante o non valido" - -#: lib/models/triggers.js:193 lib/models/triggers.js:278 -msgid "Invalid subscription configuration" -msgstr "Configurazione di iscrizione non valida" - -#: lib/models/triggers.js:200 lib/models/triggers.js:285 -msgid "Invalid campaign configuration" -msgstr "Configurazione della campagna non valid" - -#: lib/models/triggers.js:203 lib/models/triggers.js:288 -msgid "A campaing can not be a target for itself" -msgstr "Una campagna non può' essere il target di sè stessa" - -#: lib/models/triggers.js:236 -msgid "Could not store trigger row" -msgstr "Impossibile salvare la riga di trigger" - -#: lib/models/triggers.js:253 -msgid "Missing or invalid Trigger ID" -msgstr "ID trigger mancante o non valido" - -#: lib/models/triggers.js:320 -msgid "Missing Trigger ID" -msgstr "ID trigger mancante" - -#: lib/models/users.js:103 -msgid "Could not store user row" -msgstr "Impossibile salvare riga utente" - -#: lib/models/users.js:173 -msgid "Email Address must be set" -msgstr "Indirizzo email obbligatorio" - -#: lib/models/users.js:184 -msgid "Failed to check user data" -msgstr "Controllo dati inseriti fallito" - -#: lib/models/users.js:195 -msgid "" -"Can't change email as another user with the same email address already exists" -msgstr "" -"Impossibile cambiare indirizzo email poiché esiste un account già associato " -"all'indirizzo" - -#: lib/models/users.js:212 -msgid "Incorrect current password" -msgstr "Password corrente errata" - -#: lib/models/users.js:216 -msgid "New password not set" -msgstr "Nuova password non impostata" - -#: lib/models/users.js:220 -msgid "Passwords do not match" -msgstr "Le password non corrispondono" - -#: lib/models/users.js:258 -msgid "User ID not set" -msgstr "ID utente non impostato" - -#: lib/models/users.js:286 -msgid "Username must be set" -msgstr "Il nome utente è obbligatorio" - -#: lib/models/users.js:323 -msgid "Mailer password change request" -msgstr "Richiesta cambio password del Mailer" - -#: lib/models/users.js:347 lib/models/users.js:367 -msgid "Missing username or reset token" -msgstr "nome utente o tocken di accesso invalido" - -#: lib/models/users.js:371 -msgid "Invalid new password" -msgstr "Nuova password non valida" - -#: lib/passport.js:49 -msgid "%s logged out" -msgstr "%s è uscito" - -#: lib/passport.js:63 -msgid "Failed to authenticate user" -msgstr "Impossibile verificare utente" - -#: lib/passport.js:79 -msgid "Logged in as %s" -msgstr "Connesso come %s" - -#: lib/passport.js:179 -msgid "Incorrect username or password" -msgstr "Nome utente o password errata" - -#: lib/subscription-mail-helpers.js:28 -msgid "%s: Subscription Confirmed" -msgstr "%s: Iscrizione confermata" - -#: lib/subscription-mail-helpers.js:39 -msgid "%s: Email Address Already Registered" -msgstr "%s: Indirizzo email già iscritto" - -#: lib/subscription-mail-helpers.js:49 -msgid "%s: Please Confirm Email Change in Subscription" -msgstr "%s: Per favore conferma il cambio di indirizzo email nell'iscrizione" - -#: lib/subscription-mail-helpers.js:59 -msgid "%s: Please Confirm Subscription" -msgstr "%s: Per favore conferma la tua iscrizione" - -#: lib/subscription-mail-helpers.js:69 -msgid "%s: Please Confirm Unsubscription" -msgstr "%s: Per favore conferma l'intenzione di rimuovere l'iscrizione" - -#: lib/subscription-mail-helpers.js:76 -msgid "%s: Unsubscription Confirmed" -msgstr "%s: Rimozione dell'iscrizione confermata" - -#: lib/tools.js:154 -msgid "Blocked email address \"%s\"" -msgstr "Email \"%s\" bloccata" - -#: lib/tools.js:163 -msgid "Invalid email address \"%s\"." -msgstr "Email \"%s\" invalida." - -#: lib/tools.js:166 -msgid "MX record not found for domain" -msgstr "Non trovo gli MX records per il dominio" - -#: lib/tools.js:169 -msgid "Address domain not found" -msgstr "Dominio dell'indirizzo non trovato" - -#: lib/tools.js:172 -msgid "Address domain name is required" -msgstr "Il dominio dell'indirizzo è obbligatorio" - -#: routes/archive.js:31 routes/archive.js:43 routes/archive.js:55 app.js:230 -msgid "Not Found" -msgstr "Non trovato" - -#: routes/archive.js:121 services/sender.js:449 -msgid "Received status code %s from %s" -msgstr "Ricevuto codice di stato %s da %s" - -#: routes/archive.js:153 routes/campaigns.js:894 -msgid "Attachment not found" -msgstr "Allegato non trovato" - -#: routes/blacklist.js:13 routes/campaigns.js:26 routes/editorapi.js:32 -#: routes/fields.js:13 routes/forms.js:16 routes/grapejs.js:15 -#: routes/lists.js:50 routes/mosaico.js:14 routes/report-templates.js:20 -#: routes/reports.js:22 routes/segments.js:13 routes/settings.js:23 -#: routes/templates.js:18 routes/triggers.js:18 routes/users.js:75 -#: routes/users.js:120 -msgid "Need to be logged in to access restricted content" -msgstr "Devi aver effettuato l'accesso per accedere ai contenuti riservati" - -#: routes/campaigns.js:117 -msgid "Could not create campaign" -msgstr "Impossibile creare la campagna" - -#: routes/campaigns.js:120 -msgid "Campaign “%s†created" -msgstr "Campagna \"%s\" creata" - -#: routes/campaigns.js:209 -msgid "Campaign settings updated" -msgstr "Impostazioni della campagna aggiornate" - -#: routes/campaigns.js:211 -msgid "Campaign settings not updated" -msgstr "Impostazioni della campagna non aggiornata" - -#: routes/campaigns.js:227 routes/campaigns.js:744 -msgid "Campaign deleted" -msgstr "Campagna eliminata" - -#: routes/campaigns.js:229 routes/campaigns.js:746 -msgid "Could not delete specified campaign" -msgstr "Impossibile cancellare la campagna selezionata" - -#: routes/campaigns.js:248 -msgid "Idling" -msgstr "Aspettando" - -#: routes/campaigns.js:251 -msgid "Scheduled" -msgstr "In programma" - -#: routes/campaigns.js:257 -msgid "Paused" -msgstr "In pausa" - -#: routes/campaigns.js:259 -msgid "Inactive" -msgstr "Inattiva" - -#: routes/campaigns.js:261 -msgid "Active" -msgstr "Attiva" - -#: routes/campaigns.js:263 -msgid "Other" -msgstr "Altro" - -#: routes/campaigns.js:421 -msgid "Unknown status selector" -msgstr "Selettore di stato non trovato" - -#: routes/campaigns.js:762 -msgid "Scheduled sending" -msgstr "Invio programmato" - -#: routes/campaigns.js:764 -msgid "Could not schedule sending" -msgstr "Impossibile programmare l'invio" - -#: routes/campaigns.js:776 -msgid "Sending resumed" -msgstr "Invio ripreso" - -#: routes/campaigns.js:778 -msgid "Could not resume sending" -msgstr "Impossibile riprendere invio" - -#: routes/campaigns.js:790 -msgid "Sending reset" -msgstr "Reset invio" - -#: routes/campaigns.js:792 -msgid "Could not reset sending" -msgstr "Impossibile resettare l'invio" - -#: routes/campaigns.js:804 routes/campaigns.js:832 -msgid "Sending paused" -msgstr "Invio in pausa" - -#: routes/campaigns.js:806 routes/campaigns.js:834 -msgid "Could not pause sending" -msgstr "Impossibile mettere in pausa l'invio" - -#: routes/campaigns.js:818 -msgid "Sending activated" -msgstr "Invio attivato" - -#: routes/campaigns.js:820 -msgid "Could not activate sending" -msgstr "Impossibile attivare l'invio" - -#: routes/campaigns.js:855 -msgid "Attachment uploaded" -msgstr "Allegato caricato" - -#: routes/campaigns.js:857 -msgid "Could not store attachment" -msgstr "Impossibile salvare allegato" - -#: routes/campaigns.js:874 -msgid "Attachment deleted" -msgstr "Allegato eliminato" - -#: routes/campaigns.js:876 -msgid "Could not delete attachment" -msgstr "Impossibile eliminare allegato" - -#: routes/editorapi.js:38 -msgid "Invalid editor name" -msgstr "Nome editor invalido" - -#: routes/editorapi.js:146 -msgid "Method not supported" -msgstr "Metodo non supportato" - -#: routes/editorapi.js:381 -msgid "Invalid resource type or ID" -msgstr "ID o tipo di risorsa invalido" - -#: routes/fields.js:28 routes/fields.js:64 routes/fields.js:118 -#: routes/forms.js:31 routes/forms.js:63 routes/forms.js:94 -#: routes/segments.js:28 routes/segments.js:59 routes/segments.js:102 -#: routes/segments.js:151 routes/segments.js:223 routes/segments.js:255 -#: routes/segments.js:289 routes/segments.js:336 routes/segments.js:359 -msgid "Selected list ID not found" -msgstr "ID lista selezionata non trovata" - -#: routes/fields.js:102 -msgid "Could not create custom field" -msgstr "Impossibile creare campo personalizzato" - -#: routes/fields.js:129 -msgid "Selected field not found" -msgstr "Campo selezionato non trovato" - -#: routes/fields.js:165 -msgid "Field settings updated" -msgstr "Impostazioni campo aggiornate" - -#: routes/fields.js:167 -msgid "Field settings not updated" -msgstr "Impostazioni campo non aggiornate" - -#: routes/fields.js:183 -msgid "Custom field deleted" -msgstr "Campo personalizzato eliminato" - -#: routes/fields.js:185 -msgid "Could not delete specified field" -msgstr "Impossibile eliminare campo specificato" - -#: routes/forms.js:78 -msgid "Could not create custom form" -msgstr "Impossibile creare campo personalizzato" - -#: routes/forms.js:105 -msgid "Selected form not found" -msgstr "Form selezionato non trovato" - -#: routes/forms.js:136 -msgid "The plaintext version for this email" -msgstr "La versione di solo testo della mail" - -#: routes/forms.js:137 -msgid "Custom forms use MJML for formatting" -msgstr "I form personalizzati usano MJML per la formattazione" - -#: routes/forms.js:138 -msgid "See the MJML documentation here" -msgstr "" -"Guarda la documentazione di MJML qui" - -#: routes/forms.js:146 -msgid "Layout" -msgstr "Layout" - -#: routes/forms.js:152 -msgid "Form Input Style" -msgstr "Stile input del form" - -#: routes/forms.js:154 -msgid "" -"This CSS stylesheet defines the appearance of form input elements and alerts" -msgstr "" -"Questo stylesheet CSS definisce lo stile degli elementi di input dei form e " -"degli alert" - -#: routes/forms.js:160 -msgid "Web - Subscribe" -msgstr "Web - Iscriviti" - -#: routes/forms.js:165 -msgid "Web - Confirm Subscription Notice" -msgstr "Web - Notifica di conferma dell'iscrizione" - -#: routes/forms.js:170 -msgid "Mail - Confirm Subscription (MJML)" -msgstr "Mail - Conferma di iscrizione (MJML)" - -#: routes/forms.js:175 -msgid "Mail - Confirm Subscription (Text)" -msgstr "Mail - Conferma di iscrizione (Testo)" - -#: routes/forms.js:180 -msgid "Mail - Already Subscribed (MJML)" -msgstr "Mail - Già iscritto (MJML)" - -#: routes/forms.js:185 -msgid "Mail - Already Subscribed (Text)" -msgstr "Mail - Già iscritto (Testo)" - -#: routes/forms.js:190 -msgid "Web - Subscribed Notice" -msgstr "Web - Notifica di iscrizione" - -#: routes/forms.js:195 -msgid "Mail - Subscription Confirmed (MJML)" -msgstr "Mail - Conferma di iscrizione (MJML)" - -#: routes/forms.js:200 -msgid "Mail - Subscription Confirmed (Text)" -msgstr "Mail - Conferma di iscrizione (Testo)" - -#: routes/forms.js:208 -msgid "Web - Manage Preferences" -msgstr "Web - Gestisci l preferenze" - -#: routes/forms.js:213 -msgid "Web - Manage Address" -msgstr "Web - Gestisci indirizzo" - -#: routes/forms.js:218 -msgid "Web - Updated Notice" -msgstr "Web - Notifica di aggiornamento" - -#: routes/forms.js:226 -msgid "Web - Unsubscribe" -msgstr "Web - Rimozione iscrizione" - -#: routes/forms.js:231 -msgid "Web - Confirm Unsubscription Notice" -msgstr "Web - Conferma la notifica di rimozione dell'iscrizione" - -#: routes/forms.js:236 -msgid "Mail - Confirm Unsubscription (MJML)" -msgstr "Mail - Conferma la rimozione dell'iscrizione (MJML)" - -#: routes/forms.js:241 -msgid "Mail - Confirm Unsubscription (Text)" -msgstr "Mail - Conferma la rimozione dell'iscrizione (Text)" - -#: routes/forms.js:246 -msgid "Mail - Confirm Address Change (MJML)" -msgstr "Mail - Conferma il cambio di indirizzo (MJML)" - -#: routes/forms.js:251 -msgid "Mail - Confirm Address Change (Text)" -msgstr "Mail - Conferma il cambio di indirizzo (Testo)" - -#: routes/forms.js:256 -msgid "Web - Unsubscribed Notice" -msgstr "Web - Notifica di rimozione" - -#: routes/forms.js:261 -msgid "Mail - Unsubscription Confirmed (MJML)" -msgstr "Mail - Rimozione confermata (MJML)" - -#: routes/forms.js:266 -msgid "Mail - Unsubscription Confirmed (Text)" -msgstr "Mail - Rimozione confermata (Text)" - -#: routes/forms.js:271 -msgid "Web - Manual Unsubscribe Notice" -msgstr "Web - Notifica di rimozione manuale" - -#: routes/forms.js:309 -msgid "Form settings updated" -msgstr "Impostazioni form aggiornate" - -#: routes/forms.js:311 -msgid "Form settings not updated" -msgstr "Impostazioni form non aggiornate" - -#: routes/forms.js:327 -msgid "Custom form deleted" -msgstr "Form personalizzato non cancellato" - -#: routes/forms.js:329 -msgid "Could not delete specified form" -msgstr "Impossibile eliminare il form specificato" - -#: routes/index.js:11 -msgid "Self Hosted Newsletter App" -msgstr "Applicazione di newsletter self-hosted" - -#: routes/links.js:39 -msgid "Oops, we couldn't find a link for the URL you clicked" -msgstr "Oops, non riusciamo a trovare un link per l'URL che hai cliccato" - -#: routes/lists.js:82 -msgid "Could not create list" -msgstr "Impossibile creare lista" - -#: routes/lists.js:85 -msgid "List created" -msgstr "Lista creata" - -#: routes/lists.js:93 routes/lists.js:271 routes/lists.js:336 -#: routes/lists.js:375 routes/lists.js:444 routes/lists.js:469 -#: routes/lists.js:514 routes/lists.js:536 routes/lists.js:565 -#: routes/lists.js:657 routes/lists.js:714 routes/lists.js:741 -msgid "Could not find list with specified ID" -msgstr "Impossibile trovare la lista dell'ID specificato" - -#: routes/lists.js:122 -msgid "List settings updated" -msgstr "Impostazioni lista aggiornate" - -#: routes/lists.js:124 -msgid "List settings not updated" -msgstr "Impostazioni lista non aggiornate" - -#: routes/lists.js:142 -msgid "List deleted" -msgstr "Lista cancellata" - -#: routes/lists.js:144 -msgid "Could not delete specified list" -msgstr "Impossibile cancellare la lista specificata" - -#: routes/lists.js:206 -msgid "Unknown" -msgstr "Sconosciuto" - -#: routes/lists.js:206 -msgid "Complained" -msgstr "Reclamato" - -#: routes/lists.js:237 -msgid "Invalid key" -msgstr "Chiave invalida" - -#: routes/lists.js:239 -msgid "Expired key" -msgstr "Chiave scaduta" - -#: routes/lists.js:241 -msgid "Revoked key" -msgstr "Chiave revocate" - -#: routes/lists.js:288 -msgid "Force Subscribe" -msgstr "Forza iscrizione" - -#: routes/lists.js:291 -msgid "Initializing" -msgstr "Inizializzando" - -#: routes/lists.js:294 -msgid "Initialized" -msgstr "Inizializzato" - -#: routes/lists.js:297 -msgid "Importing" -msgstr "Importando" - -#: routes/lists.js:303 -msgid "Errored" -msgstr "Errore" - -#: routes/lists.js:381 routes/lists.js:450 routes/lists.js:475 -msgid "Could not find subscriber with specified ID" -msgstr "Iscritto con ID specificato non trovato" - -#: routes/lists.js:427 -msgid "Could not add subscription" -msgstr "Impossibile aggiungere iscrizione" - -#: routes/lists.js:432 -msgid "%s was successfully added to your list" -msgstr "%s aggiunto alla lista con successo" - -#: routes/lists.js:434 -msgid "%s was not added to your list" -msgstr "%s non aggiunto alla lista" - -#: routes/lists.js:456 -msgid "Could not unsubscribe user" -msgstr "Impossibile rimuovere iscrizione utente" - -#: routes/lists.js:459 -msgid "%s was successfully unsubscribed from your list" -msgstr "Rimozione iscrizione % dalla lista avvenuta con successo" - -#: routes/lists.js:479 -msgid "%s was successfully removed from your list" -msgstr "Iscrizione %s cancellata con successo" - -#: routes/lists.js:491 -msgid "Another subscriber with email address %s already exists" -msgstr "Una iscrizione con l'email %s esiste già" - -#: routes/lists.js:498 -msgid "Subscription settings updated" -msgstr "Impostazioni di iscrizione aggiornate" - -#: routes/lists.js:500 -msgid "Subscription settings not updated" -msgstr "Impostazioni di iscrizione non aggiornate" - -#: routes/lists.js:542 routes/lists.js:663 routes/lists.js:699 -#: routes/lists.js:727 routes/lists.js:747 -msgid "Could not find import data with specified ID" -msgstr "Impossibile trovare dati di importo per l'ID specificato" - -#: routes/lists.js:573 -msgid "Could not process CSV" -msgstr "Impossibile elaborare CSV" - -#: routes/lists.js:589 -msgid "Could not create importer" -msgstr "Impossibile creare una importazione" - -#: routes/lists.js:643 -msgid "Empty file" -msgstr "File vuoto" - -#: routes/lists.js:646 -msgid "Too few rows" -msgstr "Troppe poche righe" - -#: routes/lists.js:703 -msgid "Import started" -msgstr "Importazione iniziato" - -#: routes/lists.js:731 -msgid "Import restarted" -msgstr "Importazione riniziato" - -#: routes/lists.js:797 -msgid "One-step (i.e. no email with confirmation link)" -msgstr "Uno step (no email con link di conferma)" - -#: routes/lists.js:803 -msgid "" -"One-step with unsubscription form (i.e. no email with confirmation link)" -msgstr "Uno step con form di cancellazione (no email con link di conferma)" - -#: routes/lists.js:809 -msgid "Two-step (i.e. an email with confirmation link will be sent)" -msgstr "Due step (una email con link di conferma viene inviata)" - -#: routes/lists.js:815 -msgid "" -"Two-step with unsubscription form (i.e. an email with confirmation link will " -"be sent)" -msgstr "" -"Form di cancellazione a due step (una mail con link di conferma viene " -"inviata)" - -#: routes/lists.js:821 -msgid "" -"Manual (i.e. unsubscription has to be performed by the list administrator)" -msgstr "" -"Manuale (p.es. la cancellazione deve essere eseguita dall'amministratore " -"della lista)" - -#: routes/report-templates.js:246 -msgid "Could not create report template" -msgstr "Impossibile creare il template di report" - -#: routes/report-templates.js:249 -msgid "Report template “%s†created" -msgstr "Template report \"%s\" creato" - -#: routes/report-templates.js:257 -msgid "Could not find report template with specified ID" -msgstr "Impossibile trovare il template del report specificato" - -#: routes/report-templates.js:280 -msgid "Report template updated" -msgstr "Template report aggiornato" - -#: routes/report-templates.js:282 -msgid "Report template not updated" -msgstr "Template report non aggiornato" - -#: routes/report-templates.js:298 -msgid "Report template deleted" -msgstr "Template report eliminato" - -#: routes/report-templates.js:300 -msgid "Could not delete specified report template" -msgstr "Impossibile eliminare il template del report" - -#: routes/reports.js:124 routes/reports.js:130 -msgid "Could not create report" -msgstr "Impossibile creare il report" - -#: routes/reports.js:135 -msgid "Report “%s†created" -msgstr "Creato report \"%s\"" - -#: routes/reports.js:146 routes/reports.js:224 routes/reports.js:239 -#: routes/reports.js:265 routes/reports.js:275 -msgid "Could not find report with specified ID" -msgstr "Impossibile trovare il report con l'ID specificato" - -#: routes/reports.js:188 routes/reports.js:194 -msgid "Could not update report" -msgstr "Impossibile aggiornare il report" - -#: routes/reports.js:197 -msgid "Report updated" -msgstr "Report aggiornato" - -#: routes/reports.js:199 -msgid "Report not updated" -msgstr "Report non aggiornato" - -#: routes/reports.js:212 -msgid "Report deleted" -msgstr "Report eliminato" - -#: routes/reports.js:214 -msgid "Could not delete specified report" -msgstr "Impossibile eliminare il report specificato" - -#: routes/reports.js:230 -msgid "Could not find report template" -msgstr "Template di reportistica non trovato" - -#: routes/reports.js:260 -msgid "Unknown type of template" -msgstr "Tipo di template sconosciuto" - -#: routes/segments.js:86 -msgid "Could not create segment" -msgstr "Impossibile creare segmento" - -#: routes/segments.js:89 -msgid "Segment created" -msgstr "Segmento creato" - -#: routes/segments.js:113 -msgid "Selected segment ID not found" -msgstr "Segmento selezionato non trovato" - -#: routes/segments.js:188 -msgid "Segment settings updated" -msgstr "Impostazioni segmento aggiornate" - -#: routes/segments.js:190 -msgid "Segment settings not updated" -msgstr "Impostazioni segmento non aggiornate" - -#: routes/segments.js:206 -msgid "Segment deleted" -msgstr "Segmento cancellato" - -#: routes/segments.js:208 -msgid "Could not delete specified segment" -msgstr "Impossibile eliminare il segmento specifcato" - -#: routes/segments.js:342 -msgid "Could not create rule" -msgstr "Impossibile creare la regola" - -#: routes/segments.js:345 -msgid "Rule created" -msgstr "Regola creata" - -#: routes/segments.js:410 -msgid "Rule settings updated" -msgstr "Impostazioni regola aggiornate" - -#: routes/segments.js:412 -msgid "Rule settings not updated" -msgstr "Impostazioni regola non aggiornate" - -#: routes/segments.js:428 -msgid "Rule deleted" -msgstr "Regola cancellata" - -#: routes/segments.js:430 -msgid "Could not delete specified rule" -msgstr "Impossibile eliminare la regola specificata" - -#: routes/settings.js:39 -msgid "Use TLS" -msgstr "Usa TLS" - -#: routes/settings.js:40 -msgid "usually selected for port 465" -msgstr "usualmente selezionata per la porta 465" - -#: routes/settings.js:44 -msgid "Use STARTTLS" -msgstr "Usa STARTTLS" - -#: routes/settings.js:45 -msgid "usually selected for port 587 and 25" -msgstr "usualmente selezionate per le porte 587 e 25" - -#: routes/settings.js:49 -msgid "Do not use encryption" -msgstr "Non usare crittografia" - -#: routes/settings.js:115 -msgid "Settings updated" -msgstr "Impostazioni aggiornate" - -#: routes/settings.js:173 -msgid "Invalid mail transport type" -msgstr "Tipo di trasporto mail invalido" - -#: routes/settings.js:184 -msgid "Invalid Access Key" -msgstr "Chiave di accesso invalida" - -#: routes/settings.js:187 -msgid "Invalid AWS credentials" -msgstr "Credenziali AWS invalide" - -#: routes/settings.js:190 -msgid "Connection refused, check hostname and port." -msgstr "Connessione rifiutata, controlla hostname e porta." - -#: routes/settings.js:195 -msgid "" -"Did not receive greeting message from server. This might happen when " -"connecting to a TLS port without using TLS." -msgstr "" -"Non ho ricevuto il messaggio di saluto dal server. Questo può succedere " -"quando ci si connette ad una porta TLS senza utilizzare TLS." - -#: routes/settings.js:197 -msgid "Did not receive greeting message from server." -msgstr "Non ho ricevuto il messaggio di saluto dal server." - -#: routes/settings.js:200 -msgid "" -"Connection timed out. Check your firewall settings, destination port is " -"probably blocked." -msgstr "" -"Tempo di connessione scaduto. Controlla il tuo firewall, le porte sono " -"probabilmente chiuse." - -#: routes/settings.js:205 -msgid "Authentication not accepted, server expects STARTTLS to be used." -msgstr "" -"Autenticazione non accettata, il server richiede l'utilizzo di STARTTLS." - -#: routes/settings.js:207 -msgid "Authentication failed, check username and password." -msgstr "Autenticazione fallita, controlla il nome utente e la password." - -#: routes/settings.js:217 -msgid "Failed Mailer verification." -msgstr "Verifica delle impostazioni di invio mail fallita." - -#: routes/settings.js:217 -msgid "Server responded with: \"%s\"" -msgstr "Il Server ha risposto con: \"%s\"" - -#: routes/settings.js:221 -msgid "Mailer settings verified, ready to send some mail!" -msgstr "" -"Impostazioni di invio mail verificate, il software è pronto per inviare " -"delle mail!" - -#: routes/subscription.js:33 -msgid "Not allowed by CORS" -msgstr "Non permesso dalle impostazioni CORS" - -#: routes/subscription.js:61 routes/subscription.js:176 -#: routes/subscription.js:286 routes/subscription.js:382 -#: routes/subscription.js:459 routes/subscription.js:535 -#: routes/subscription.js:566 routes/subscription.js:626 -#: routes/subscription.js:682 routes/subscription.js:760 -#: routes/subscription.js:897 -msgid "Selected list not found" -msgstr "Lista selezionata non trovata" - -#: routes/subscription.js:93 -msgid "Could not save subscription" -msgstr "Impossibile salvare l'iscrizione" - -#: routes/subscription.js:118 -msgid "Subscriber info corrupted or missing" -msgstr "Informazioni iscritto corrotte o mancanti" - -#: routes/subscription.js:136 -msgid "Email address changed" -msgstr "Indirizzo email aggiornato" - -#: routes/subscription.js:179 routes/subscription.js:385 -msgid "The list does not allow public subscriptions." -msgstr "L'iscrizione alla lista non è pubblica." - -#: routes/subscription.js:355 routes/subscription.js:357 -msgid "Email address not set" -msgstr "Indirizzo email non impostato" - -#: routes/subscription.js:653 -msgid "" -"An email with further instructions has been sent to the provided address" -msgstr "" -"Una email con ulteriori istruzioni è stata inviata all'indirizzo fornito" - -#: routes/subscription.js:861 routes/subscription.js:877 -msgid "Public key is not set" -msgstr "la chiave pubblica non è impostata" - -#: routes/templates.js:84 -msgid "Could not create template" -msgstr "Impossibile creare template" - -#: routes/templates.js:87 -msgid "Template created" -msgstr "Template creato" - -#: routes/templates.js:126 -msgid "Template settings updated" -msgstr "Impostazioni template aggiornate" - -#: routes/templates.js:128 -msgid "Template settings not updated" -msgstr "Impostazioni template non aggiornate" - -#: routes/templates.js:144 -msgid "Template duplicated" -msgstr "Template duplicato" - -#: routes/templates.js:146 -msgid "Could not duplicate specified template" -msgstr "Impossibile duplicare il template specificato" - -#: routes/templates.js:157 -msgid "Template deleted" -msgstr "Template cancellato" - -#: routes/templates.js:159 -msgid "Could not delete specified template" -msgstr "Impossibile eliminare il template selezionato" - -#: routes/triggers.js:62 routes/triggers.js:79 routes/triggers.js:154 -msgid "Could not find selected list" -msgstr "Lista selezionata non trovata" - -#: routes/triggers.js:131 -msgid "Could not create trigger" -msgstr "Impossibile creare il trigger" - -#: routes/triggers.js:138 -msgid "Trigger “%s†created" -msgstr "Trigger \"%s\" creato" - -#: routes/triggers.js:214 -msgid "Trigger settings updated" -msgstr "Impostazioni trigger aggiornate" - -#: routes/triggers.js:216 -msgid "Trigger settings not updated" -msgstr "Impostazioni trigger non aggiornate" - -#: routes/triggers.js:228 -msgid "Trigger deleted" -msgstr "Trigger cancellato" - -#: routes/triggers.js:230 -msgid "Could not delete specified trigger" -msgstr "Impossibile eliminare il trigger specificato" - -#: routes/triggers.js:242 -msgid "Could not find trigger with specified ID" -msgstr "Trigger non trovato con l'ID specificato" - -#: routes/triggers.js:255 -msgid "Trigger not found" -msgstr "Trigger non trovato" - -#: routes/users.js:32 -msgid "" -"An email with password reset instructions has been sent to your email " -"address, if it exists on our system." -msgstr "" -"Una mail con le istruzioni di ripristino password sono state inviate alla " -"tua mail, se esiste nel sistema." - -#: routes/users.js:46 routes/users.js:64 -msgid "Unknown or expired reset token" -msgstr "Token sconosciuto o scaduto" - -#: routes/users.js:66 -msgid "Your password has been changed successfully" -msgstr "La tua password è stata cambiata con successo" - -#: routes/users.js:87 -msgid "User data not found" -msgstr "Dati utente non trovati" - -#: routes/users.js:110 -msgid "Access token updated" -msgstr "Token di accesso aggiornati" - -#: routes/users.js:112 -msgid "Access token not updated" -msgstr "Token di access non aggiornati" - -#: routes/users.js:139 -msgid "Account information updated" -msgstr "Informazioni account aggiornate" - -#: routes/users.js:141 -msgid "Account information not updated" -msgstr "Informazioni account non aggiornate" - -#: services/feedcheck.js:51 -msgid "Feed error: %s" -msgstr "Errore feed %s" - -#: services/feedcheck.js:54 -msgid "Found %s new campaign messages from feed" -msgstr "Trovato un nuovo messaggio %s per la campagna dal feed" - -#: services/feedcheck.js:56 -msgid "Found nothing new from the feed" -msgstr "Nulla di nuovo dal feed" - -#: services/feedcheck.js:146 -msgid "RSS entry %s" -msgstr "RSS %s" - -#: services/importer.js:249 -msgid "Could not access import file" -msgstr "Impossibile accedere al file da importare" - -#: services/triggers.js:51 -msgid "Unknown trigger type %s" -msgstr "Trigger %s sconosciuto" diff --git a/lib/db.js b/lib/db.js deleted file mode 100644 index 44f17b0f..00000000 --- a/lib/db.js +++ /dev/null @@ -1,114 +0,0 @@ -'use strict'; - -let config = require('config'); -let mysql = require('mysql'); -let redis = require('redis'); -let Lock = require('redfour'); -let stringifyDate = require('json-stringify-date'); -let tools = require('./tools'); - -module.exports = mysql.createPool(config.mysql); -if (config.redis && config.redis.enabled) { - - module.exports.redis = redis.createClient(config.redis); - - let queueLock = new Lock({ - redis: config.redis, - namespace: 'mailtrain:lock' - }); - - module.exports.getLock = (id, callback) => { - queueLock.waitAcquireLock(id, 60 * 1000 /* Lock expires after 60sec */ , 10 * 1000 /* Wait for lock for up to 10sec */ , (err, lock) => { - if (err) { - return callback(err); - } - if (!lock) { - return callback(null, false); - } - return callback(null, { - lock, - release(done) { - queueLock.releaseLock(lock, done); - } - }); - }); - }; - - module.exports.clearCache = (key, callback) => { - module.exports.redis.del('mailtrain:cache:' + key, err => callback(err)); - }; - - module.exports.addToCache = (key, value, callback) => { - if (!value) { - return setImmediate(() => callback()); - } - module.exports.redis.multi(). - lpush('mailtrain:cache:' + key, stringifyDate.stringify(value)). - expire('mailtrain:cache:' + key, 24 * 3600). - exec(err => callback(err)); - }; - - module.exports.getFromCache = (key, callback) => { - module.exports.redis.rpop('mailtrain:cache:' + key, (err, value) => { - if (err) { - return callback(err); - } - try { - value = stringifyDate.parse(value); - } catch (E) { - return callback(E); - } - - return callback(null, value); - }); - }; - -} else { - // fakelock. does not lock anything - module.exports.getLock = (id, callback) => { - setImmediate(() => callback(null, { - lock: false, - release(done) { - setImmediate(done); - } - })); - }; - - let caches = new Map(); - - module.exports.clearCache = (key, callback) => { - caches.delete(key); - tools.workers.forEach(child => { - child.send({ - cmd: 'db.clearCache', - key - }); - }); - setImmediate(() => callback()); - }; - - process.on('message', m => { - if (m && m.cmd === 'db.clearCache' && m.key) { - caches.delete(m.key); - } - }); - - module.exports.addToCache = (key, value, callback) => { - if (!caches.has(key)) { - caches.set(key, []); - } - caches.get(key).push(value); - setImmediate(() => callback()); - }; - - module.exports.getFromCache = (key, callback) => { - let value; - if (caches.has(key)) { - value = caches.get(key).shift(); - if (!caches.get(key).length) { - caches.delete(key); - } - } - setImmediate(() => callback(null, value)); - }; -} diff --git a/lib/editor-helpers.js b/lib/editor-helpers.js deleted file mode 100644 index e4c4e79f..00000000 --- a/lib/editor-helpers.js +++ /dev/null @@ -1,79 +0,0 @@ -'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, - getMergeTagsForResource -}; - -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 (!Number(resource.list)) { - return callback(null, defaultMergeTags); - } - - helpers.getListMergeTags(resource.list, (err, listMergeTags) => { - if (err) { - return callback(err.message || err); - } - - if (resource.type !== 2) { - return callback(null, defaultMergeTags.concat(listMergeTags)); - } - - helpers.getRSSMergeTags((err, rssMergeTags) => { - if (err) { - return callback(err.message || err); - } - - callback(null, defaultMergeTags.concat(listMergeTags, rssMergeTags)); - }); - }); - }); -} diff --git a/lib/fakelang.js b/lib/fakelang.js deleted file mode 100644 index 7a6027a1..00000000 --- a/lib/fakelang.js +++ /dev/null @@ -1,26 +0,0 @@ -'use strict'; - -/* lloyd|2012|http://wtfpl.org */ - -/* eslint-disable */ - -module.exports = str => { - let from = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_=+\\|`~[{]};:'\",<.>/?"; - let to = "ÉqÉ”pÇɟƃɥıɾʞʅɯuodbɹsʇnÊŒÊxÊŽz∀ÔↃᗡƎℲâ…HIſӼ⅂WNOԀÒᴚS⊥∩ɅMXâ…„Z0123456789¡@#$%ᵥ⅋âŽ()-_=+\\|,~[{]};:,„´<.>/¿"; - - return str.replace(/(\{\{[^\}]+\}\}|%s)/g, '\x00\x04$1\x00').split('\x00').map(c => { - if (c.charAt(0) === '\x04') { - return c; - } - let r = ''; - for (let i = 0, len = c.length; i < len; i++) { - let pos = from.indexOf(c.charAt(i)); - if (pos < 0) { - r += c.charAt(i); - } else { - r += to.charAt(pos); - } - } - return r; - }).join('\x00').replace(/[\x00\x04]/g, ''); -} diff --git a/lib/feed.js b/lib/feed.js deleted file mode 100644 index 66bd2f20..00000000 --- a/lib/feed.js +++ /dev/null @@ -1,68 +0,0 @@ -'use strict'; - -let FeedParser = require('feedparser'); -let request = require('request'); -let _ = require('./translate')._; -let util = require('util'); - -module.exports.fetch = (url, callback) => { - let req = request(url); - let feedparser = new FeedParser(); - let returned = false; - let entries = []; - - req.setHeader('user-agent', 'Mailtrain'); - req.setHeader('accept', 'text/html,application/xhtml+xml'); - - req.on('error', err => { - if (returned) { - return; - } - returned = true; - callback(err); - }); - - req.on('response', res => { - if (returned) { - return; - } - - if (res.statusCode !== 200) { - return req.emit('error', new Error(util.format(_('Bad status code %s'), res.statusCode))); - } - - req.pipe(feedparser); - }); - - feedparser.on('error', err => { - if (returned) { - return; - } - returned = true; - callback(err); - }); - - feedparser.on('readable', () => { - let item; - while ((item = feedparser.read())) { - let entry = { - title: item.title, - date: item.date || item.pubdate || item.pubDate || new Date(), - guid: item.guid || item.link, - link: item.link, - content: item.description || item.summary, - summary: item.summary || item.description, - image_url: item.image.url - }; - entries.push(entry); - } - }); - - feedparser.on('end', () => { - if (returned) { - return; - } - returned = true; - callback(null, entries); - }); -}; diff --git a/lib/file-helpers.js b/lib/file-helpers.js deleted file mode 100644 index deee31e1..00000000 --- a/lib/file-helpers.js +++ /dev/null @@ -1,32 +0,0 @@ -'use strict'; - -const path = require('path'); - -function nameToFileName(name) { - return name. - trim(). - toLowerCase(). - replace(/[ .+/]/g, '-'). - replace(/[^a-z0-9\-_]/gi, ''). - replace(/--*/g, '-'); -} - - -function getReportFileBase(report) { - return path.join(__dirname, '..', 'protected', 'reports', report.id + '-' + nameToFileName(report.name)); -} - -function getReportContentFile(report) { - return getReportFileBase(report) + '.out'; -} - -function getReportOutputFile(report) { - return getReportFileBase(report) + '.err'; -} - - -module.exports = { - getReportContentFile, - getReportOutputFile, - nameToFileName -}; diff --git a/lib/handlebars-helpers.js b/lib/handlebars-helpers.js deleted file mode 100644 index 10a38741..00000000 --- a/lib/handlebars-helpers.js +++ /dev/null @@ -1,49 +0,0 @@ -'use strict'; - -const util = require('util'); - -const _ = require('../lib/translate')._; - -module.exports.registerHelpers = handlebars => { - // {{#translate}}abc{{/translate}} - handlebars.registerHelper('translate', function (context, options) { // eslint-disable-line prefer-arrow-callback - if (typeof options === 'undefined' && context) { - options = context; - context = false; - } - - let result = _(options.fn(this)); // eslint-disable-line no-invalid-this - - if (Array.isArray(context)) { - result = util.format(result, ...context); - } - return new handlebars.SafeString(result); - }); - - - /* Credits to http://chrismontrois.net/2016/01/30/handlebars-switch/ - - {{#switch letter}} - {{#case "a"}} - A is for alpaca - {{/case}} - {{#case "b"}} - B is for bluebird - {{/case}} - {{/switch}} - */ - /* eslint no-invalid-this: "off" */ - handlebars.registerHelper('switch', function(value, options) { - this._switch_value_ = value; - const html = options.fn(this); // Process the body of the switch block - delete this._switch_value_; - return html; - }); - - handlebars.registerHelper('case', function(value, options) { - if (value === this._switch_value_) { - return options.fn(this); - } - }); - -}; diff --git a/lib/helpers.js b/lib/helpers.js deleted file mode 100644 index 786e3473..00000000 --- a/lib/helpers.js +++ /dev/null @@ -1,295 +0,0 @@ -'use strict'; - -let config = require('config'); -let path = require('path'); -let fs = require('fs'); -let tools = require('./tools'); -let settings = require('./models/settings'); -let lists = require('./models/lists'); -let fields = require('./models/fields'); -let forms = require('./models/forms'); -let _ = require('./translate')._; -let objectHash = require('object-hash'); -let mjml = require('mjml'); -let mjmlTemplates = new Map(); -let hbs = require('hbs'); - -module.exports = { - getDefaultMergeTags, - getRSSMergeTags, - getListMergeTags, - captureFlashMessages, - injectCustomFormData, - injectCustomFormTemplates, - filterCustomFields, - getMjmlTemplate, - rollbackAndReleaseConnection -}; - -function getDefaultMergeTags(callback) { - // Using a callback for the sake of future-proofness - callback(null, [{ - key: 'LINK_UNSUBSCRIBE', - value: _('URL that points to the unsubscribe page') - }, { - key: 'LINK_PREFERENCES', - value: _('URL that points to the preferences page of the subscriber') - }, { - key: 'LINK_BROWSER', - value: _('URL to preview the message in a browser') - }, { - key: 'EMAIL', - value: _('Email address') - }, { - key: 'FIRST_NAME', - value: _('First name') - }, { - key: 'LAST_NAME', - value: _('Last name') - }, { - key: 'FULL_NAME', - value: _('Full name (first and last name combined)') - }, { - key: 'SUBSCRIPTION_ID', - value: _('Unique ID that identifies the recipient') - }, { - key: 'LIST_ID', - value: _('Unique ID that identifies the list used for this campaign') - }, { - key: 'CAMPAIGN_ID', - value: _('Unique ID that identifies current campaign') - }]); -} - -function getRSSMergeTags(callback) { - // Using a callback for the sake of future-proofness - callback(null, [{ - key: 'RSS_ENTRY', - value: _('content from an RSS entry') - }, { - key: 'RSS_ENTRY_TITLE', - value: _('RSS entry title') - }, { - key: 'RSS_ENTRY_DATE', - value: _('RSS entry date') - }, { - key: 'RSS_ENTRY_LINK', - value: _('RSS entry link') - }, { - key: 'RSS_ENTRY_CONTENT', - value: _('content from an RSS entry') - }, { - key: 'RSS_ENTRY_SUMMARY', - value: _('RSS entry summary') - }, { - key: 'RSS_ENTRY_IMAGE_URL', - value: _('RSS entry image URL') - }]); -} - -function getListMergeTags(listId, callback) { - lists.get(listId, (err, list) => { - if (err) { - return callback(err); - } - if (!list) { - list = { - id: listId - }; - } - - fields.list(list.id, (err, fieldList) => { - if (err && !fieldList) { - fieldList = []; - } - - let mergeTags = []; - - fieldList.forEach(field => { - mergeTags.push({ - key: field.key, - value: field.name - }); - }); - - return callback(null, mergeTags); - }); - }); -} - -function filterCustomFields(customFieldsIn = [], fieldIds = [], method = 'include') { - let customFields = customFieldsIn.slice(); - fieldIds = typeof fieldIds === 'string' ? fieldIds.split(',') : fieldIds; - - customFields.unshift({ - id: 'email', - name: 'Email Address', - type: 'Email', - typeSubscriptionEmail: true - }, { - id: 'firstname', - name: 'First Name', - type: 'Text', - typeFirstName: true - }, { - id: 'lastname', - name: 'Last Name', - type: 'Text', - typeLastName: true - }); - - let filtered = []; - - if (method === 'include') { - fieldIds.forEach(id => { - let field = customFields.find(f => f.id.toString() === id); - field && filtered.push(field); - }); - } else { - customFields.forEach(field => { - !fieldIds.includes(field.id.toString()) && filtered.push(field); - }); - } - - return filtered; -} - -function injectCustomFormData(customFormId, viewPath, data, callback) { - - let injectDefaultData = data => { - data.customFields = filterCustomFields(data.customFields, [], 'exclude'); - data.formInputStyle = '@import url(/subscription/form-input-style.css);'; - return data; - }; - - if (Number(customFormId) < 1) { - return callback(null, injectDefaultData(data)); - } - - forms.get(customFormId, (err, form) => { - if (err) { - return callback(null, injectDefaultData(data)); - } - - let view = viewPath.split('/')[1]; - - if (view === 'web-subscribe') { - data.customFields = form.fieldsShownOnSubscribe - ? filterCustomFields(data.customFields, form.fieldsShownOnSubscribe) - : filterCustomFields(data.customFields, [], 'exclude'); - } else if (view === 'web-manage') { - data.customFields = form.fieldsShownOnManage - ? filterCustomFields(data.customFields, form.fieldsShownOnManage) - : filterCustomFields(data.customFields, [], 'exclude'); - } - - let key = tools.fromDbKey(view); - data.template.template = form[key] || data.template.template; - data.template.layout = form.layout || data.template.layout; - data.formInputStyle = form.formInputStyle || '@import url(/subscription/form-input-style.css);'; - - settings.list(['ua_code'], (err, configItems) => { - if (err) { - return callback(err); - } - - data.uaCode = configItems.uaCode; - data.customSubscriptionScripts = config.customsubscriptionscripts || []; - callback(null, data); - }); - }); -} - -function injectCustomFormTemplates(customFormId, templates, callback) { - if (Number(customFormId) < 1) { - return callback(null, templates); - } - - forms.get(customFormId, (err, form) => { - if (err) { - return callback(null, templates); - } - - let lookUp = name => { - let key = tools.fromDbKey( - /subscription\/([^.]*)/.exec(name)[1] - ); - return form[key] || name; - }; - - Object.keys(templates).forEach(key => { - let value = templates[key]; - - if (typeof value === 'string') { - templates[key] = lookUp(value); - } - if (typeof value === 'object' && value.template) { - templates[key].template = lookUp(value.template); - } - if (typeof value === 'object' && value.layout) { - templates[key].layout = lookUp(value.layout); - } - }); - - callback(null, templates); - }); -} - -function getMjmlTemplate(template, callback) { - if (!template) { - return callback(null, false); - } - - let key = (typeof template === 'object') ? objectHash(template) : template; - - if (mjmlTemplates.has(key)) { - return callback(null, mjmlTemplates.get(key)); - } - - let done = source => { - let compiled; - try { - compiled = mjml.mjml2html(source); - } catch (err) { - return callback(err); - } - if (compiled.errors.length) { - return callback(compiled.errors[0].message || compiled.errors[0]); - } - let renderer = hbs.handlebars.compile(compiled.html); - mjmlTemplates.set(key, renderer); - callback(null, renderer); - }; - - if (typeof template === 'object') { - tools.mergeTemplateIntoLayout(template.template, template.layout, (err, source) => { - if (err) { - return callback(err); - } - done(source); - }); - } else { - fs.readFile(path.join(__dirname, '..', 'views', template), 'utf-8', (err, source) => { - if (err) { - return callback(err); - } - done(source); - }); - } -} - -function captureFlashMessages(req, res, callback) { - res.render('subscription/capture-flash-messages', { layout: null }, (err, flash) => { - if (err) { - return callback(err); - } - callback(null, flash); - }); -} - -function rollbackAndReleaseConnection(connection, callback) { - connection.rollback(() => { - connection.release(); - return callback(); - }); -} diff --git a/lib/mailer.js b/lib/mailer.js deleted file mode 100644 index 4ef5ad0a..00000000 --- a/lib/mailer.js +++ /dev/null @@ -1,297 +0,0 @@ -'use strict'; - -let log = require('npmlog'); -let config = require('config'); -let nodemailer = require('nodemailer'); -let openpgpEncrypt = require('nodemailer-openpgp').openpgpEncrypt; -let settings = require('./models/settings'); -let tools = require('./tools'); -let db = require('./db'); -let Handlebars = require('handlebars'); -let fs = require('fs'); -let path = require('path'); -let templates = new Map(); -let htmlToText = require('html-to-text'); -let aws = require('aws-sdk'); -let objectHash = require('object-hash'); -let mjml = require('mjml'); - -let _ = require('./translate')._; -let util = require('util'); - -Handlebars.registerHelper('translate', function (context, options) { // eslint-disable-line prefer-arrow-callback - if (typeof options === 'undefined' && context) { - options = context; - context = false; - } - - let result = _(options.fn(this)); // eslint-disable-line no-invalid-this - - if (Array.isArray(context)) { - result = util.format(result, ...context); - } - return new Handlebars.SafeString(result); -}); - -module.exports.transport = false; - -module.exports.update = () => { - createMailer(() => false); -}; - -module.exports.getMailer = callback => { - if (!module.exports.transport) { - return createMailer(callback); - } - callback(null, module.exports.transport); -}; - -module.exports.sendMail = (mail, template, callback) => { - if (!callback && typeof template === 'function') { - callback = template; - template = false; - } - - if (!module.exports.transport) { - return createMailer(err => { - if (err) { - return callback(err); - } - return module.exports.sendMail(mail, template, callback); - }); - } - - if (!mail.headers) { - mail.headers = {}; - } - mail.headers['X-Sending-Zone'] = 'transactional'; - - getTemplate(template.html, (err, htmlRenderer) => { - if (err) { - return callback(err); - } - - if (htmlRenderer) { - mail.html = htmlRenderer(template.data || {}); - } - - tools.prepareHtml(mail.html, (err, prepareHtml) => { - if (err) { - // ignore - } - - if (prepareHtml) { - mail.html = prepareHtml; - } - - getTemplate(template.text, (err, textRenderer) => { - if (err) { - return callback(err); - } - - if (textRenderer) { - mail.text = textRenderer(template.data || {}); - } else if (mail.html) { - mail.text = htmlToText.fromString(mail.html, { - wordwrap: 130 - }); - } - - let tryCount = 0; - let trySend = () => { - tryCount++; - - module.exports.transport.sendMail(mail, (err, info) => { - if (err) { - log.error('Mail', err); - if (err.responseCode && err.responseCode >= 400 && err.responseCode < 500 && tryCount <= 5) { - // temporary error, try again - log.verbose('Mail', 'Retrying after %s sec. ...', tryCount); - return setTimeout(trySend, tryCount * 1000); - } - return callback(err); - } - return callback(null, info); - }); - }; - setImmediate(trySend); - }); - }); - }); - -}; - -function getTemplate(template, callback) { - if (!template) { - return callback(null, false); - } - - let key = (typeof template === 'object') ? objectHash(template) : template; - - if (templates.has(key)) { - return callback(null, templates.get(key)); - } - - let done = (source, isMjml = false) => { - if (isMjml) { - let compiled; - try { - compiled = mjml.mjml2html(source); - } catch (err) { - return callback(err); - } - if (compiled.errors.length) { - return callback(compiled.errors[0].message || compiled.errors[0]); - } - source = compiled.html; - } - let renderer = Handlebars.compile(source); - templates.set(key, renderer); - callback(null, renderer); - }; - - if (typeof template === 'object') { - tools.mergeTemplateIntoLayout(template.template, template.layout, (err, source) => { - if (err) { - return callback(err); - } - let isMjml = template.type === 'mjml'; - done(source, isMjml); - }); - } else { - fs.readFile(path.join(__dirname, '..', 'views', template), 'utf-8', (err, source) => { - if (err) { - return callback(err); - } - done(source); - }); - } -} - -function createMailer(callback) { - settings.list(['smtpHostname', 'smtpPort', 'smtpEncryption', 'smtpUser', 'smtpPass', 'smtpLog', 'smtpDisableAuth', 'smtpMaxConnections', 'smtpMaxMessages', 'smtpSelfSigned', 'pgpPrivateKey', 'pgpPassphrase', 'smtpThrottling', 'mailTransport', 'sesKey', 'sesSecret', 'sesRegion'], (err, configItems) => { - if (err) { - return callback(err); - } - - let oldListeners = []; - if (module.exports.transport) { - oldListeners = module.exports.transport.listeners('idle'); - module.exports.transport.removeAllListeners('idle'); - module.exports.transport.removeAllListeners('stream'); - module.exports.transport.checkThrottling = null; - } - - let sendingRate = Number(configItems.smtpThrottling) || 0; - if (sendingRate) { - // convert to messages/second - sendingRate = sendingRate / 3600; - } - - let transportOptions; - - let logfunc = function () { - let args = [].slice.call(arguments); - let level = args.shift(); - args.shift(); - args.unshift('Mail'); - log[level](...args); - }; - - if (configItems.mailTransport === 'smtp' || !configItems.mailTransport) { - transportOptions = { - pool: true, - host: configItems.smtpHostname, - port: Number(configItems.smtpPort) || false, - secure: configItems.smtpEncryption === 'TLS', - ignoreTLS: configItems.smtpEncryption === 'NONE', - auth: configItems.smtpDisableAuth ? false : { - user: configItems.smtpUser, - pass: configItems.smtpPass - }, - debug: !!configItems.smtpLog, - logger: !configItems.smtpLog ? false : { - debug: logfunc.bind(null, 'verbose'), - info: logfunc.bind(null, 'info'), - error: logfunc.bind(null, 'error') - }, - maxConnections: Number(configItems.smtpMaxConnections), - maxMessages: Number(configItems.smtpMaxMessages), - tls: { - rejectUnauthorized: !configItems.smtpSelfSigned - } - }; - } else if (configItems.mailTransport === 'ses') { - transportOptions = { - SES: new aws.SES({ - apiVersion: '2010-12-01', - accessKeyId: configItems.sesKey, - secretAccessKey: configItems.sesSecret, - region: configItems.sesRegion - }), - debug: !!configItems.smtpLog, - logger: !configItems.smtpLog ? false : { - debug: logfunc.bind(null, 'verbose'), - info: logfunc.bind(null, 'info'), - error: logfunc.bind(null, 'error') - }, - maxConnections: Number(configItems.smtpMaxConnections), - sendingRate, - tls: { - rejectUnauthorized: !configItems.smtpSelfSigned - } - }; - } else { - return callback(new Error(_('Invalid mail transport'))); - } - - module.exports.transport = nodemailer.createTransport(transportOptions, config.nodemailer); - - module.exports.transport.use('stream', openpgpEncrypt({ - signingKey: configItems.pgpPrivateKey, - passphrase: configItems.pgpPassphrase - })); - - if (oldListeners.length) { - log.info('Mail', 'Reattaching %s idle listeners', oldListeners.length); - oldListeners.forEach(listener => module.exports.transport.on('idle', listener)); - } - - - if (configItems.mailTransport === 'smtp' || !configItems.mailTransport) { - - let throttling = Number(configItems.smtpThrottling) || 0; - if (throttling) { - throttling = 1 / (throttling / (3600 * 1000)); - } - - let lastCheck = Date.now(); - - module.exports.transport.checkThrottling = function (next) { - if (!throttling) { - return next(); - } - let nextCheck = Date.now(); - let checkDiff = (nextCheck - lastCheck); - if (checkDiff < throttling) { - log.verbose('Mail', 'Throttling next message in %s sec.', (throttling - checkDiff) / 1000); - setTimeout(() => { - lastCheck = Date.now(); - next(); - }, throttling - checkDiff); - } else { - lastCheck = nextCheck; - next(); - } - }; - } else { - module.exports.transport.checkThrottling = next => next(); - } - - db.clearCache('sender', () => { - callback(null, module.exports.transport); - }); - }); -} - -module.exports.getTemplate = getTemplate; diff --git a/lib/models/blacklist.js b/lib/models/blacklist.js deleted file mode 100644 index 5aae8ccc..00000000 --- a/lib/models/blacklist.js +++ /dev/null @@ -1,86 +0,0 @@ -'use strict'; - -let db = require('../db'); - -module.exports.get = (start, limit, search, callback) => { - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - search = '%' + search + '%'; - connection.query('SELECT SQL_CALC_FOUND_ROWS `email` FROM blacklist WHERE `email` LIKE ? ORDER BY `email` LIMIT ? OFFSET ?', [search, limit, start], (err, rows) => { - if (err) { - return callback(err); - } - - connection.query('SELECT FOUND_ROWS() AS total', (err, total) => { - connection.release(); - if (err) { - return callback(err); - } - let emails = []; - rows.forEach(email => { - emails.push(email.email); - }); - return callback(null, emails, total && total[0] && total[0].total); - }); - }); - }); -}; - -module.exports.add = (email, callback) => { - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - connection.query('INSERT IGNORE INTO `blacklist` (`email`) VALUES(?)', email, err => { - if (err) { - return callback(err); - } - - connection.release(); - return callback(null, null); - - }); - }); -}; - -module.exports.delete = (email, callback) => { - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - connection.query('DELETE FROM `blacklist` WHERE `email`=?', email, err => { - if (err) { - return callback(err); - } - - connection.release(); - return callback(null, null); - - }); - }); -}; - -module.exports.isblacklisted = (email, callback) => { - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - connection.query('SELECT `email` FROM blacklist WHERE `email`=?', email, (err, rows) => { - if (err) { - return callback(err); - } - - connection.release(); - if (rows.length > 0) { - return callback(null, true); - } else { - return callback(null, false); - } - }); - }); -}; diff --git a/lib/models/campaigns.js b/lib/models/campaigns.js deleted file mode 100644 index e9b178ea..00000000 --- a/lib/models/campaigns.js +++ /dev/null @@ -1,1151 +0,0 @@ -'use strict'; - -let tools = require('../tools'); -let db = require('../db'); -let lists = require('./lists'); -let templates = require('./templates'); -let segments = require('./segments'); -let subscriptions = require('./subscriptions'); -let shortid = require('shortid'); -let isUrl = require('is-url'); -let feed = require('../feed'); -let log = require('npmlog'); -let mailer = require('../mailer'); -let humanize = require('humanize'); -let _ = require('../translate')._; -let util = require('util'); -let tableHelpers = require('../table-helpers'); - -let allowedKeys = ['description', 'from', 'address', 'reply_to', 'subject', 'editor_name', 'editor_data', 'template', 'source_url', 'list', 'segment', 'html', 'text', 'click_tracking_disabled', 'open_tracking_disabled', 'unsubscribe']; - -module.exports.list = (start, limit, callback) => { - tableHelpers.list('campaigns', ['*'], 'scheduled', null, start, limit, callback); -}; - -module.exports.filter = (request, parent, callback) => { - let queryData; - if (parent) { - queryData = { - // only find normal and RSS parent campaigns at this point - where: '`parent`=?', - values: [parent] - }; - } else { - queryData = { - // only find normal and RSS parent campaigns at this point - where: '`type` IN (?,?,?)', - values: [1, 2, 4] - }; - } - - tableHelpers.filter('campaigns', ['*'], request, ['#', 'name', 'description', 'status', 'created'], ['name'], 'created DESC', queryData, callback); -}; - -module.exports.filterQuicklist = (request, callback) => { - tableHelpers.filter('campaigns', ['id', 'name', 'description', 'created'], request, ['#', 'name', 'description', 'created'], ['name'], 'name ASC', null, callback); -}; - -module.exports.filterClickedSubscribers = (campaign, linkId, request, columns, callback) => { - let queryData = { - where: 'campaign_tracker__' + campaign.id + '.list=? AND campaign_tracker__' + campaign.id + '.link=?', - values: [campaign.list, linkId] - }; - - tableHelpers.filter('subscription__' + campaign.list + ' JOIN campaign_tracker__' + campaign.id + ' ON campaign_tracker__' + campaign.id + '.subscriber=subscription__' + campaign.list + '.id', ['*'], request, columns, ['email', 'first_name', 'last_name'], 'email ASC', queryData, callback); -}; - -module.exports.statsClickedSubscribersByColumn = (campaign, linkId, request, column, limit, callback) => { - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - let query_template = 'SELECT %s AS data, COUNT(*) AS cnt FROM `subscription__%d` JOIN `campaign_tracker__%d` ON `campaign_tracker__%d`.`list`=%d AND `campaign_tracker__%d`.`subscriber`=`subscription__%d`.`id` AND `campaign_tracker__%d`.`link`=%d GROUP BY `%s` ORDER BY COUNT(`%s`) DESC, `%s`'; - let query = util.format(query_template, column, campaign.list, campaign.id, campaign.id, campaign.list, campaign.id, campaign.list, campaign.id, linkId, column, column, column); - - connection.query(query, (err, rows) => { - connection.release(); - if (err) { - return callback(err); - } - - let data = {}; - let dataList = []; - let total = 0; - - rows.forEach((row, index) => { - if (index < limit) { - data[row.data] = row.cnt; - } else { - data.other = (data.other ? data.other : 0) + row.cnt; - } - total += row.cnt; - }); - Object.keys(data).forEach(key => { - let name = key + ': ' + data[key]; - dataList.push([name, data[key]]); - }); - return callback(null, dataList, total); - }); - }); -}; - -module.exports.filterStatusSubscribers = (campaign, status, request, columns, callback) => { - let queryData = { - where: 'campaign__' + campaign.id + '.list=? AND campaign__' + campaign.id + '.segment=? AND campaign__' + campaign.id + '.status=?', - values: [campaign.list, campaign.segment && campaign.segment.id || 0, status] - }; - - tableHelpers.filter('subscription__' + campaign.list + ' JOIN campaign__' + campaign.id + ' ON campaign__' + campaign.id + '.subscription=subscription__' + campaign.list + '.id', ['*'], request, columns, ['email', 'first_name', 'last_name'], 'email ASC', queryData, callback); -}; - -module.exports.getByCid = (cid, callback) => { - cid = (cid || '').toString().trim(); - if (!cid) { - return callback(new Error(_('Missing Campaign ID'))); - } - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - connection.query('SELECT * FROM campaigns WHERE cid=?', [cid], (err, rows) => { - connection.release(); - if (err) { - return callback(err); - } - - if (!rows || !rows.length) { - return callback(null, false); - } - - let campaign = tools.convertKeys(rows[0]); - return callback(null, campaign); - }); - }); -}; - -module.exports.get = (id, withSegment, callback) => { - id = Number(id) || 0; - - if (id < 1) { - return callback(new Error(_('Missing Campaign ID'))); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - connection.query('SELECT * FROM campaigns WHERE id=?', [id], (err, rows) => { - connection.release(); - if (err) { - return callback(err); - } - - if (!rows || !rows.length) { - return callback(null, false); - } - - let campaign = tools.convertKeys(rows[0]); - - let handleSegment = () => { - - if (!campaign.segment || !withSegment) { - return callback(null, campaign); - } else { - segments.get(campaign.segment, (err, segment) => { - if (err || !segment) { - // ignore - return callback(null, campaign); - } - segments.subscribers(segment.id, true, (err, subscribers) => { - if (err || !subscribers) { - segment.subscribers = 0; - } else { - segment.subscribers = subscribers; - } - campaign.segment = segment; - return callback(null, campaign); - }); - }); - } - }; - - if (!campaign.parent) { - return handleSegment(); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - connection.query('SELECT `id`, `cid`, `name` FROM campaigns WHERE id=?', [campaign.parent], (err, rows) => { - connection.release(); - if (err) { - return callback(err); - } - - if (!rows || !rows.length) { - return handleSegment(); - } - - campaign.parent = tools.convertKeys(rows[0]); - return handleSegment(); - }); - }); - }); - }); -}; - -module.exports.getAttachments = (campaign, callback) => { - campaign = Number(campaign) || 0; - - if (campaign < 1) { - return callback(new Error(_('Missing Campaign ID'))); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - let keys = ['id', 'filename', 'content_type', 'size', 'created']; - - connection.query('SELECT `' + keys.join('`, `') + '` FROM `attachments` WHERE `campaign`=?', [campaign], (err, rows) => { - connection.release(); - if (err) { - return callback(err); - } - - if (!rows || !rows.length) { - return callback(null, []); - } - - let attachments = rows.map((row, i) => { - row = tools.convertKeys(row); - row.index = i + 1; - row.size = humanize.filesize(Number(row.size) || 0); - return row; - }); - return callback(null, attachments); - }); - }); -}; - -module.exports.addAttachment = (id, attachment, callback) => { - - let size = attachment.content ? attachment.content.length : 0; - - if (!size) { - return callback(new Error(_('Emtpy or too large attahcment'))); - } - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - let keys = ['campaign', 'size']; - let values = [id, size]; - - Object.keys(attachment).forEach(key => { - let value; - if (Buffer.isBuffer(attachment[key])) { - value = attachment[key]; - } else { - value = typeof attachment[key] === 'number' ? attachment[key] : (attachment[key] || '').toString().trim(); - } - - key = tools.toDbKey(key); - keys.push(key); - values.push(value); - }); - - let query = 'INSERT INTO `attachments` (`' + keys.join('`, `') + '`) VALUES (' + values.map(() => '?').join(',') + ')'; - connection.query(query, values, (err, result) => { - connection.release(); - if (err) { - return callback(err); - } - - let attachmentId = result && result.insertId || false; - return callback(null, attachmentId); - }); - }); -}; - -module.exports.deleteAttachment = (id, attachment, callback) => { - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - let query = 'DELETE FROM `attachments` WHERE `id`=? AND `campaign`=? LIMIT 1'; - connection.query(query, [attachment, id], (err, result) => { - connection.release(); - if (err) { - return callback(err); - } - - let deleted = result && result.affectedRows || false; - return callback(null, deleted); - }); - }); -}; - -module.exports.getAttachment = (campaign, attachment, callback) => { - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - let query = 'SELECT * FROM `attachments` WHERE `id`=? AND `campaign`=? LIMIT 1'; - connection.query(query, [attachment, campaign], (err, rows) => { - connection.release(); - if (err) { - return callback(err); - } - if (!rows || !rows.length) { - return callback(null, false); - } - - let attachment = tools.convertKeys(rows[0]); - return callback(null, attachment); - }); - }); -}; - -module.exports.getLinks = (id, linkId, callback) => { - if (!callback && typeof linkId === 'function') { - callback = linkId; - linkId = false; - } - - id = Number(id) || 0; - linkId = Number(linkId) || 0; - - if (id < 1) { - return callback(new Error(_('Missing Campaign ID'))); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - let query; - let values; - - if (!linkId) { - query = 'SELECT `id`, `url`, `clicks` FROM links WHERE `campaign`=? LIMIT 1000'; - values = [id]; - } else { - query = 'SELECT `id`, `url`, `clicks` FROM links WHERE `id`=? AND `campaign`=? LIMIT 1'; - values = [linkId, id]; - } - - connection.query(query, values, (err, rows) => { - connection.release(); - if (err) { - return callback(err); - } - - if (!rows || !rows.length) { - return callback(null, []); - } - - let links = rows.map( - row => tools.convertKeys(row) - ).sort((a, b) => ( - a.url.replace(/^https?:\/\/(www.)?/, '').toLowerCase()).localeCompare(b.url.replace(/^https?:\/\/(www.)?/, '').toLowerCase())); - - return callback(null, links); - }); - - }); -}; - -module.exports.create = (campaign, opts, callback) => { - - campaign = tools.convertKeys(campaign); - let name = (campaign.name || '').toString().trim(); - - campaign.openTrackingDisabled = campaign.openTrackingDisabled ? 1 : 0; - campaign.clickTrackingDisabled = campaign.clickTrackingDisabled ? 1 : 0; - - opts = opts || {}; - - if (/^\d+:\d+$/.test(campaign.list)) { - campaign.segment = Number(campaign.list.split(':').pop()); - campaign.list = Number(campaign.list.split(':').shift()); - } else { - campaign.list = Number(campaign.list) || 0; - campaign.segment = 0; - } - - switch ((campaign.type || '').toString().trim().toLowerCase()) { - case 'triggered': - campaign.type = 4; - break; - case 'rss': - campaign.type = 2; - break; - case 'entry': - if (opts.parent) { - campaign.type = 3; - } else { - campaign.type = 1; - } - break; - case 'normal': - default: - campaign.type = 1; - } - - campaign.template = Number(campaign.template) || 0; - - if (!name) { - return callback(new Error(_('Campaign Name must be set'))); - } - - if (campaign.type === 2 && (!campaign.sourceUrl || !isUrl(campaign.sourceUrl))) { - return callback(new Error(_('RSS URL must be set and needs to be a valid URL'))); - } - - let getList = (listId, callback) => { - if (campaign.type === 4) { - return callback(null, false); - } - - lists.get(listId, (err, list) => { - if (err) { - return callback(err); - } - return callback(null, list || { - id: listId - }); - }); - }; - - getList(campaign.list, err => { - if (err) { - return callback(err); - } - - let keys = ['name', 'type']; - let values = [name, campaign.type]; - - if (campaign.type === 2) { - keys.push('status'); - values.push(5); // inactive - } - - if (campaign.type === 3) { - keys.push('status', 'parent'); - values.push(2, opts.parent); - } - - if (campaign.type === 4) { - keys.push('status'); - values.push(6); // active - } - - let create = next => { - Object.keys(campaign).forEach(key => { - let value = typeof campaign[key] === 'number' ? campaign[key] : (campaign[key] || '').toString().trim(); - key = tools.toDbKey(key); - if (key === 'description') { - value = tools.purifyHTML(value); - } - if (allowedKeys.indexOf(key) >= 0 && keys.indexOf(key) < 0) { - keys.push(key); - values.push(value); - } - }); - - let cid = shortid.generate(); - keys.push('cid'); - values.push(cid); - - tools.prepareHtml(campaign.html, (err, preparedHtml) => { - if (err) { - log.error('jsdom', err); - } - - if (!preparedHtml) { - preparedHtml = campaign.html; - } - - keys.push('html_prepared'); - values.push(preparedHtml); - - db.getConnection((err, connection) => { - if (err) { - return next(err); - } - - let query = 'INSERT INTO campaigns (`' + keys.join('`, `') + '`) VALUES (' + values.map(() => '?').join(',') + ')'; - connection.query(query, values, (err, result) => { - connection.release(); - if (err) { - return next(err); - } - - let campaignId = result && result.insertId || false; - if (!campaignId) { - return next(null, false); - } - - // we are going to aqcuire a lot of log info, so we are putting - // sending logs into separate tables - createCampaignTables(campaignId, err => { - if (err) { - // FIXME: rollback - return next(err); - } - return next(null, campaignId); - }); - }); - }); - }); - }; - - if (campaign.type === 2) { - feed.fetch(campaign.sourceUrl, (err, entries) => { - if (err) { - return callback(err); - } - - mailer.getTemplate('emails/rss-html.hbs', (err, rendererHtml) => { - if (err) { - return callback(err); - } - - campaign.html = rendererHtml(); - - create((err, campaignId) => { - if (err) { - return callback(err); - } - if (!campaignId || !entries.length) { - return callback(null, campaignId); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - // store references to already existing feed entries - // this is needed to detect new entries - let query = 'INSERT IGNORE INTO `rss` (`parent`,`guid`,`pubdate`) VALUES ' + entries.map(() => '(?,?,?)').join(','); - - values = []; - entries.forEach(entry => { - values.push(campaignId, entry.guid, entry.date); - }); - - connection.query(query, values, err => { - connection.release(); - if (err) { - // too late to report as failed - log.error('RSS', err); - } - - return callback(null, campaignId); - }); - }); - }); - }); - }); - return; - } else if (campaign.template) { - templates.get(campaign.template, (err, template) => { - if (err) { - return callback(err); - } - if (!template) { - return callback(new Error(_('Selected template not found'))); - } - - campaign.editorName = template.editorName; - campaign.editorData = template.editorData; - campaign.html = template.html; - campaign.text = template.text; - - create(callback); - }); - return; - } else { - return create(callback); - } - }); -}; - -module.exports.update = (id, updates, callback) => { - updates = updates || {}; - id = Number(id) || 0; - - if (id < 1) { - return callback(new Error(_('Missing Campaign ID'))); - } - - let campaign = tools.convertKeys(updates); - let name = (campaign.name || '').toString().trim(); - - campaign.openTrackingDisabled = campaign.openTrackingDisabled ? 1 : 0; - campaign.clickTrackingDisabled = campaign.clickTrackingDisabled ? 1 : 0; - - if (!name) { - return callback(new Error(_('Campaign Name must be set'))); - } - - if (/^\d+:\d+$/.test(campaign.list)) { - campaign.segment = Number(campaign.list.split(':').pop()); - campaign.list = Number(campaign.list.split(':').shift()); - } else { - campaign.list = Number(campaign.list) || 0; - campaign.segment = 0; - } - - let getList = (listId, callback) => { - lists.get(listId, (err, list) => { - if (err) { - return callback(err); - } - return callback(null, list || { - id: listId - }); - }); - }; - - getList(campaign.list, err => { - if (err) { - return callback(err); - } - - let keys = ['name']; - let values = [name]; - - Object.keys(campaign).forEach(key => { - let value = typeof campaign[key] === 'number' ? campaign[key] : (campaign[key] || '').toString().trim(); - key = tools.toDbKey(key); - if (key === 'description') { - value = tools.purifyHTML(value); - } - if (allowedKeys.indexOf(key) >= 0 && keys.indexOf(key) < 0) { - keys.push(key); - values.push(value); - } - }); - - tools.prepareHtml(campaign.html, (err, preparedHtml) => { - if (err) { - log.error('jsdom', err); - } - - if (!preparedHtml) { - preparedHtml = campaign.html; - } - - keys.push('html_prepared'); - values.push(preparedHtml); - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - values.push(id); - - connection.query('UPDATE campaigns SET ' + keys.map(key => '`' + key + '`=?').join(', ') + ' WHERE id=? LIMIT 1', values, (err, result) => { - if (err) { - connection.release(); - return callback(err); - } - let affected = result && result.affectedRows || false; - - if (!affected) { - connection.release(); - return callback(null, affected); - } - - connection.query('SELECT `type`, `source_url` FROM campaigns WHERE id=? LIMIT 1', [id], (err, rows) => { - connection.release(); - if (err) { - return callback(err); - } - - if (!rows || !rows[0] || rows[0].type !== 2) { - // if not RSS, then nothing to do here - return callback(null, affected); - } - - // update seen rss entries to avoid sending old entries to subscribers - feed.fetch(rows[0].source_url, (err, entries) => { - if (err) { - return callback(err); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - let query = 'INSERT IGNORE INTO `rss` (`parent`,`guid`,`pubdate`) VALUES ' + entries.map(() => '(?,?,?)').join(','); - - values = []; - entries.forEach(entry => { - values.push(id, entry.guid, entry.date); - }); - - connection.query(query, values, err => { - connection.release(); - if (err) { - // too late to report as failed - log.error('RSS', err); - } - return callback(null, affected); - }); - }); - }); - }); - }); - }); - }); - }); -}; - -module.exports.delete = (id, callback) => { - id = Number(id) || 0; - - if (id < 1) { - return callback(new Error(_('Missing Campaign ID'))); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - connection.query('DELETE FROM campaigns WHERE id=? LIMIT 1', [id], (err, result) => { - connection.release(); - if (err) { - return callback(err); - } - - let affected = result && result.affectedRows || 0; - removeCampaignTables(id, err => { - if (err) { - return callback(err); - } - - db.clearCache('sender', () => { - callback(null, affected); - }); - }); - }); - }); -}; - -module.exports.send = (id, scheduled, callback) => { - module.exports.get(id, false, (err, campaign) => { - if (err) { - return callback(err); - } - - if (campaign.status === 2) { // already sending - return callback(null, false); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - let query; - let values; - if (scheduled) { - query = 'UPDATE campaigns SET `status`=2, `scheduled`=?, `status_change`=NOW() WHERE id=? LIMIT 1'; - values = [scheduled, id]; - } else { - query = 'UPDATE campaigns SET `status`=2, `status_change`=NOW() WHERE id=? LIMIT 1'; - values = [id]; - } - - // campaigns marked as status=2 should be picked up by the sending processes - connection.query(query, values, err => { - connection.release(); - if (err) { - return callback(err); - } - return callback(null, true); - }); - }); - }); -}; - -module.exports.pause = (id, callback) => { - module.exports.get(id, false, (err, campaign) => { - if (err) { - return callback(err); - } - - if (campaign.status !== 2) { - return callback(null, false); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - // campaigns marked as status=4 are paused - connection.query('UPDATE campaigns SET `status`=4, `status_change`=NOW() WHERE id=? LIMIT 1', [id], err => { - connection.release(); - if (err) { - return callback(err); - } - db.clearCache('sender', () => { - callback(null, true); - }); - }); - }); - }); -}; - -module.exports.reset = (id, callback) => { - module.exports.get(id, false, (err, campaign) => { - if (err) { - return callback(err); - } - - if (campaign.status !== 3 && campaign.status !== 4 && !(campaign.status === 2 && campaign.scheduled > new Date())) { - return callback(null, false); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - connection.query('UPDATE campaigns SET `status`=1, `status_change`=NULL, `delivered`=0, `opened`=0, `clicks`=0, `bounced`=0, `complained`=0, `unsubscribed`=0, `blacklisted`=0 WHERE id=? LIMIT 1', [id], err => { - if (err) { - connection.release(); - return callback(err); - } - - db.clearCache('sender', () => { - connection.query('UPDATE links SET `clicks`=0 WHERE campaign=?', [id], err => { - if (err) { - connection.release(); - return callback(err); - } - connection.query('TRUNCATE TABLE `campaign__' + id + '`', [id], err => { - if (err) { - connection.release(); - return callback(err); - } - connection.query('TRUNCATE TABLE `campaign_tracker__' + id + '`', [id], err => { - connection.release(); - if (err) { - return callback(err); - } - return callback(null, true); - }); - }); - }); - }); - }); - }); - }); -}; - -module.exports.activate = (id, callback) => { - module.exports.get(id, false, (err, campaign) => { - if (err) { - return callback(err); - } - - if (campaign.status !== 5) { - return callback(null, false); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - // campaigns marked as status=5 are paused - connection.query('UPDATE campaigns SET `status`=6, `status_change`=NOW() WHERE id=? LIMIT 1', [id], err => { - connection.release(); - if (err) { - return callback(err); - } - return callback(null, true); - }); - }); - }); -}; - -module.exports.inactivate = (id, callback) => { - module.exports.get(id, false, (err, campaign) => { - if (err) { - return callback(err); - } - - if (campaign.status !== 6) { - return callback(null, false); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - // campaigns marked as status=6 are paused - connection.query('UPDATE campaigns SET `status`=5, `status_change`=NOW() WHERE id=? LIMIT 1', [id], err => { - connection.release(); - if (err) { - return callback(err); - } - return callback(null, true); - }); - }); - }); -}; - -module.exports.getMail = (campaignId, listId, subscriptionId, callback) => { - campaignId = Number(campaignId) || 0; - listId = Number(listId) || 0; - subscriptionId = Number(subscriptionId) || 0; - - if (campaignId < 1 || listId < 1 || subscriptionId < 1) { - return callback(new Error(_('Invalid or missing message ID'))); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - connection.query('SELECT * FROM `campaign__' + campaignId + '` WHERE list=? AND subscription=?', [listId, subscriptionId], (err, rows) => { - connection.release(); - if (err) { - return callback(err); - } - - if (!rows || !rows.length) { - return callback(null, false); - } - - let campaign = tools.convertKeys(rows[0]); - return callback(null, campaign); - }); - }); -}; - -module.exports.findMailByResponse = (responseId, callback) => { - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - connection.query('SELECT id FROM campaigns ORDER BY id DESC', [], (err, campaignList) => { - if (err) { - connection.release(); - return callback(err); - } - if (!campaignList || !campaignList.length) { - connection.release(); - return callback(null, false); - } - - let pos = 0; - let checkNext = () => { - if (pos >= campaignList.length) { - // all campaigns checked, result not found - connection.release(); - return callback(null, false); - } - let campaign = campaignList[pos++]; - - connection.query('SELECT id, list, segment, subscription FROM `campaign__' + campaign.id + '` WHERE `response_id`=? LIMIT 1', [responseId], (err, rows) => { - if (err || !rows || !rows.length) { - return checkNext(); - } - connection.release(); - - let message = rows[0]; - message.campaign = campaign.id; - return callback(null, message); - }); - }; - - checkNext(); - }); - }); -}; - -module.exports.findMailByCampaign = (campaignHeader, callback) => { - if (!campaignHeader) { - return callback(null, false); - } - - let parts = campaignHeader.split('.'); - let cCid = parts.shift(); - let sCid = parts.pop(); - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - let query = 'SELECT `id`, `list`, `segment` FROM `campaigns` WHERE `cid`=? LIMIT 1'; - connection.query(query, [cCid], (err, rows) => { - if (err) { - connection.release(); - return callback(err); - } - if (!rows || !rows.length) { - connection.release(); - return callback(null, false); - } - - let campaignId = rows[0].id; - let listId = rows[0].list; - let segmentId = rows[0].segment; - - let query = 'SELECT id FROM `subscription__' + listId + '` WHERE cid=? LIMIT 1'; - connection.query(query, [sCid], (err, rows) => { - if (err) { - connection.release(); - return callback(err); - } - if (!rows || !rows.length) { - connection.release(); - return callback(null, false); - } - - let subscriptionId = rows[0].id; - - let query = 'SELECT `id`, `list`, `segment`, `subscription` FROM `campaign__' + campaignId + '` WHERE `list`=? AND `segment`=? AND `subscription`=? LIMIT 1'; - connection.query(query, [listId, segmentId, subscriptionId], (err, rows) => { - connection.release(); - if (err) { - return callback(err); - } - if (!rows || !rows.length) { - return callback(null, false); - } - - let message = rows[0]; - message.campaign = campaignId; - - return callback(null, message); - }); - }); - }); - }); -}; - -module.exports.updateMessage = (message, status, updateSubscription, callback) => { - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - let statusCode; - if (status === 'unsubscribed') { - statusCode = subscriptions.Status.UNSUBSCRIBED; - } else if (status === 'bounced') { - statusCode = subscriptions.Status.BOUNCED; - } else if (status === 'complained') { - statusCode = subscriptions.Status.COMPLAINED; - } else { - return callback(new Error(_('Unrecognized message status'))); - } - - let query = 'UPDATE `campaigns` SET `' + status + '`=`' + status + '`+1 WHERE id=? LIMIT 1'; - connection.query(query, [message.campaign], () => { - - let query = 'UPDATE `campaign__' + message.campaign + '` SET status=?, updated=NOW() WHERE id=? LIMIT 1'; - connection.query(query, [statusCode, message.id], err => { - connection.release(); - if (err) { - return callback(err); - } - - if (updateSubscription) { - subscriptions.changeStatus(message.list, message.subscription, statusCode === subscriptions.Status.UNSUBSCRIBED ? message.campaign : false, statusCode, callback); - } else { - return callback(null, true); - } - }); - }); - - }); -}; - -module.exports.updateMessageResponse = (message, response, response_id, callback) => { - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - let query = 'UPDATE `campaign__' + message.campaign + '` SET `response`=?, `response_id`=? WHERE id=? LIMIT 1'; - connection.query(query, [response, response_id, message.id], err => { - connection.release(); - if (err) { - return callback(err); - } - return callback(null, true); - }); - - }); -}; - -function createCampaignTables(id, callback) { - let query = 'CREATE TABLE `campaign__' + id + '` LIKE campaign'; - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - connection.query(query, err => { - if (err) { - connection.release(); - return callback(err); - } - let query = 'CREATE TABLE `campaign_tracker__' + id + '` LIKE campaign_tracker'; - connection.query(query, err => { - connection.release(); - if (err) { - return callback(err); - } - return callback(null, true); - }); - }); - }); -} - -function removeCampaignTables(id, callback) { - let query = 'DROP TABLE IF EXISTS `campaign__' + id + '`'; - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - connection.query(query, err => { - if (err) { - connection.release(); - return callback(err); - } - let query = 'DROP TABLE IF EXISTS `campaign_tracker__' + id + '`'; - connection.query(query, err => { - connection.release(); - if (err) { - return callback(err); - } - return callback(null, true); - }); - }); - }); -} diff --git a/lib/models/confirmations.js b/lib/models/confirmations.js deleted file mode 100644 index 9cbceee6..00000000 --- a/lib/models/confirmations.js +++ /dev/null @@ -1,91 +0,0 @@ -'use strict'; - -let db = require('../db'); -let shortid = require('shortid'); -let helpers = require('../helpers'); -let _ = require('../translate')._; - -/* - Adds new entry to the confirmations tables. Generates confirmation cid, which it returns. - */ -module.exports.addConfirmation = (listId, action, ip, data, callback) => { - let cid = shortid.generate(); - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - let query = 'INSERT INTO confirmations (cid, list, action, ip, data) VALUES (?,?,?,?,?)'; - connection.query(query, [cid, listId, action, ip, JSON.stringify(data || {})], (err, result) => { - connection.release(); - if (err) { - return callback(err); - } - - if (!result || !result.affectedRows) { - return callback(new Error(_('Could not store confirmation data'))); - } - - return callback(null, cid); - }); - }); -}; - -/* - Atomically retrieves confirmation from the database, removes it from the database and returns it. - */ -module.exports.takeConfirmation = (cid, callback) => { - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - connection.beginTransaction(err => { - if (err) { - connection.release(); - return callback(err); - } - - let query = 'SELECT cid, list, action, ip, data FROM confirmations WHERE cid=? LIMIT 1'; - connection.query(query, [cid], (err, rows) => { - if (err) { - return helpers.rollbackAndReleaseConnection(connection, () => callback(err)); - } - - if (!rows || !rows.length) { - return helpers.rollbackAndReleaseConnection(connection, () => callback(null, false)); - } - - connection.query('DELETE FROM confirmations WHERE `cid`=? LIMIT 1', [cid], () => { - if (err) { - return helpers.rollbackAndReleaseConnection(connection, () => callback(err)); - } - - connection.commit(err => { - if (err) { - return helpers.rollbackAndReleaseConnection(connection, () => callback(err)); - } - connection.release(); - - let data; - try { - data = JSON.parse(rows[0].data); - } catch (E) { - data = {}; - } - - const result = { - listId: rows[0].list, - action: rows[0].action, - ip: rows[0].ip, - data - }; - - return callback(null, result); - }); - }); - }); - }); - }); -}; diff --git a/lib/models/fields.js b/lib/models/fields.js deleted file mode 100644 index a35c1c16..00000000 --- a/lib/models/fields.js +++ /dev/null @@ -1,617 +0,0 @@ -'use strict'; - -let db = require('../db'); -let tools = require('../tools'); -let slugify = require('slugify'); -let lists = require('./lists'); -let shortid = require('shortid'); -let Handlebars = require('handlebars'); -let _ = require('../translate')._; -let util = require('util'); - -let allowedKeys = ['name', 'key', 'default_value', 'group', 'group_template', 'visible']; -let allowedTypes; - -module.exports.grouped = ['radio', 'checkbox', 'dropdown']; -module.exports.types = { - text: _('Text'), - website: _('Website'), - longtext: _('Multi-line text'), - gpg: _('GPG Public Key'), - number: _('Number'), - radio: _('Radio Buttons'), - checkbox: _('Checkboxes'), - dropdown: _('Drop Down'), - 'date-us': _('Date (MM/DD/YYY)'), - 'date-eur': _('Date (DD/MM/YYYY)'), - 'birthday-us': _('Birthday (MM/DD)'), - 'birthday-eur': _('Birthday (DD/MM)'), - json: _('JSON value for custom rendering'), - option: _('Option') -}; - -module.exports.allowedTypes = allowedTypes = Object.keys(module.exports.types); - -module.exports.genericTypes = { - text: 'string', - website: 'string', - longtext: 'textarea', - gpg: 'textarea', - json: 'textarea', - number: 'number', - 'date-us': 'date', - 'date-eur': 'date', - 'birthday-us': 'birthday', - 'birthday-eur': 'birthday', - option: 'boolean' -}; - -module.exports.list = (listId, callback) => { - listId = Number(listId) || 0; - - if (listId < 1) { - return callback(new Error(_('Missing List ID'))); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - let query = 'SELECT * FROM custom_fields WHERE list=? ORDER BY id'; - connection.query(query, [listId], (err, rows) => { - connection.release(); - if (err) { - return callback(err); - } - - let fieldList = rows && rows.map(row => tools.convertKeys(row)) || []; - let groups = new Map(); - - // remove grouped rows - for (let i = fieldList.length - 1; i >= 0; i--) { - let field = fieldList[i]; - if (module.exports.grouped.indexOf(field.type) >= 0) { - if (!groups.has(field.id)) { - groups.set(field.id, []); - } - field.options = groups.get(field.id); - } else if (field.group && field.type === 'option') { - if (!groups.has(field.group)) { - groups.set(field.group, [field]); - } else { - groups.get(field.group).unshift(field); - } - fieldList.splice(i, 1); - } - } - - return callback(null, fieldList); - }); - }); -}; - -module.exports.get = (id, callback) => { - id = Number(id) || 0; - - if (id < 1) { - return callback(new Error(_('Missing List ID'))); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - let query = 'SELECT * FROM custom_fields WHERE id=? LIMIT 1'; - connection.query(query, [id], (err, rows) => { - connection.release(); - if (err) { - return callback(err); - } - let field = rows && rows[0] && tools.convertKeys(rows[0]) || false; - field.isGroup = module.exports.grouped.indexOf(field.type) >= 0 || field.type === 'json'; - return callback(null, field); - }); - }); -}; - -module.exports.create = (listId, field, callback) => { - listId = Number(listId) || 0; - - if (listId < 1) { - return callback(new Error(_('Missing List ID'))); - } - - field = tools.convertKeys(field); - - if (field.type === 'option' && !field.group) { - return callback(new Error(_('Option field requires a group to be selected'))); - } - - if (field.type !== 'option') { - field.group = null; - } - - field.defaultValue = (field.defaultValue || '').toString().trim() || null; - field.groupTemplate = (field.groupTemplate || '').toString().trim() || null; - - addCustomField(listId, field.name, field.defaultValue, field.type, field.group, field.groupTemplate, field.visible, callback); -}; - -module.exports.update = (id, updates, callback) => { - updates = updates || {}; - id = Number(id) || 0; - - updates = tools.convertKeys(updates); - - if (id < 1) { - return callback(new Error(_('Missing Field ID'))); - } - - if (!(updates.name || '').toString().trim()) { - return callback(new Error(_('Field Name must be set'))); - } - - if (updates.key) { - updates.key = slugify(updates.key, '_').toUpperCase(); - } - - updates.defaultValue = (updates.defaultValue || '').toString().trim() || null; - updates.groupTemplate = (updates.groupTemplate || '').toString().trim() || null; - - updates.visible = updates.visible ? 1 : 0; - - let name = (updates.name || '').toString().trim(); - let keys = ['name']; - let values = [name]; - - Object.keys(updates).forEach(key => { - let value = typeof updates[key] === 'string' ? updates[key].trim() : updates[key]; - key = tools.toDbKey(key); - if (allowedKeys.indexOf(key) >= 0) { - keys.push(key); - values.push(value); - } - }); - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - values.push(id); - - connection.query('UPDATE custom_fields SET ' + keys.map(key => '`' + key + '`=?').join(', ') + ' WHERE id=? LIMIT 1', values, (err, result) => { - connection.release(); - if (err) { - return callback(err); - } - return callback(null, result && result.affectedRows || false); - }); - }); -}; - -module.exports.delete = (fieldId, callback) => { - fieldId = Number(fieldId) || 0; - - if (fieldId < 1) { - return callback(new Error(_('Missing Field ID'))); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - let query = 'SELECT * FROM custom_fields WHERE id=? LIMIT 1'; - connection.query(query, [fieldId], (err, rows) => { - if (err) { - connection.release(); - return callback(err); - } - - if (!rows || !rows.length) { - connection.release(); - return callback(new Error(_('Custom field not found'))); - } - - let field = tools.convertKeys(rows[0]); - if (field.column) { - connection.query('ALTER TABLE `subscription__' + field.list + '` DROP COLUMN `' + field.column + '`', err => { - if (err && err.code !== 'ER_CANT_DROP_FIELD_OR_KEY') { - connection.release(); - return callback(err); - } - connection.query('DELETE FROM custom_fields WHERE id=? LIMIT 1', [fieldId], err => { - if (err) { - connection.release(); - return callback(err); - } - connection.query('DELETE FROM segment_rules WHERE column=? LIMIT 1', [field.column], err => { - connection.release(); - if (err) { - // ignore - } - return callback(null, true); - }); - }); - }); - } else { - // delete all subfields in this group - let query = 'SELECT id FROM custom_fields WHERE `group`=?'; - connection.query(query, [fieldId], (err, rows) => { - connection.release(); - if (err) { - return callback(err); - } - - if (!rows || !rows.length) { - rows = []; - } - - let pos = 0; - let deleteNext = () => { - if (pos >= rows.length) { - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - connection.query('DELETE FROM custom_fields WHERE id=? LIMIT 1', [fieldId], err => { - connection.release(); - if (err) { - return callback(err); - } - return callback(null, true); - }); - }); - return; - } - module.exports.delete(rows[pos++].id, deleteNext); - }; - - deleteNext(); - }); - } - }); - }); -}; - -function addCustomField(listId, name, defaultValue, type, group, groupTemplate, visible, callback) { - type = (type || '').toString().trim().toLowerCase(); - group = Number(group) || null; - listId = Number(listId) || 0; - - let column = null; - let key = slugify('merge ' + name, '_').toUpperCase(); - - if (allowedTypes.indexOf(type) < 0) { - return callback(new Error(util.format(_('Unknown column type %s'), type))); - } - - if (!name) { - return callback(new Error(_('Missing column name'))); - } - - if (listId <= 0) { - return callback(new Error(_('Missing list ID'))); - } - - lists.get(listId, (err, list) => { - if (err) { - return callback(err); - } - if (!list) { - return callback(_('Provided List ID not found')); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - if (module.exports.grouped.indexOf(type) < 0) { - column = ('custom_' + slugify(name, '_') + '_' + shortid.generate()).toLowerCase().replace(/[^a-z0-9_]/g, ''); - } - - let query = 'INSERT INTO custom_fields (`list`, `name`, `key`,`default_value`, `type`, `group`, `group_template`, `column`, `visible`) VALUES(?,?,?,?,?,?,?,?,?)'; - connection.query(query, [listId, name, key, defaultValue, type, group, groupTemplate, column, visible ? 1 : 0], (err, result) => { - - if (err) { - connection.release(); - return callback(err); - } - - let fieldId = result && result.insertId; - let indexQuery; - - switch (type) { - case 'text': - case 'website': - query = 'ALTER TABLE `subscription__' + listId + '` ADD COLUMN `' + column + '` VARCHAR(255) DEFAULT NULL'; - indexQuery = 'CREATE INDEX ' + column + '_index ON `subscription__' + listId + '` (`column`);'; - break; - case 'gpg': - case 'longtext': - case 'json': - query = 'ALTER TABLE `subscription__' + listId + '` ADD COLUMN `' + column + '` TEXT DEFAULT NULL'; - break; - case 'number': - query = 'ALTER TABLE `subscription__' + listId + '` ADD COLUMN `' + column + '` INT(11) DEFAULT NULL'; - indexQuery = 'CREATE INDEX ' + column + '_index ON `subscription__' + listId + '` (`column`);'; - break; - case 'option': - query = 'ALTER TABLE `subscription__' + listId + '` ADD COLUMN `' + column + '` TINYINT(4) UNSIGNED NOT NULL DEFAULT \'0\''; - indexQuery = 'CREATE INDEX ' + column + '_index ON `subscription__' + listId + '` (`column`);'; - break; - case 'date-us': - case 'date-eur': - case 'birthday-us': - case 'birthday-eur': - query = 'ALTER TABLE `subscription__' + listId + '` ADD COLUMN `' + column + '` DATETIME NULL DEFAULT NULL'; - indexQuery = 'CREATE INDEX ' + column + '_index ON `subscription__' + listId + '` (`column`);'; - break; - default: - connection.release(); - return callback(null, fieldId, key); - } - - connection.query(query, err => { - if (err) { - connection.query('DELETE FROM custom_fields WHERE id=? LIMIT 1', [fieldId], () => connection.release()); - return callback(err); - } - if (!indexQuery) { - connection.release(); - return callback(null, fieldId, key); - } else { - connection.query(query, err => { - if (err) { - // ignore index errors - } - connection.release(); - return callback(null, fieldId, key); - }); - } - }); - }); - }); - }); -} - -module.exports.getRow = (fieldList, values, useDate, showAll, onlyExisting) => { - let valueList = {}; - let row = []; - - Object.keys(values || {}).forEach(key => { - let value = values[key]; - key = tools.toDbKey(key); - if (key.indexOf('custom_') === 0) { - valueList[key] = value; - } else if (key.indexOf('group_g') === 0 && value.indexOf('custom_') === 0) { - valueList[tools.toDbKey(value)] = 1; - } - }); - - fieldList.filter(field => showAll || field.visible).forEach(field => { - if (onlyExisting && field.column && !valueList.hasOwnProperty(field.column)) { - // ignore missing values - return; - } - /* eslint-disable indent */ - switch (field.type) { - case 'text': - case 'website': - case 'gpg': - case 'longtext': - { - let item = { - id: field.id, - type: field.type, - name: field.name, - column: field.column, - value: (valueList[field.column] || '').toString().trim(), - visible: !!field.visible, - mergeTag: field.key, - mergeValue: (valueList[field.column] || '').toString().trim() || field.defaultValue, - ['type' + (field.type || '').toString().trim().replace(/(?:^|-)([a-z])/g, (m, c) => c.toUpperCase())]: true - }; - row.push(item); - break; - } - case 'json': - { - let value; - let json = (valueList[field.column] || '').toString().trim(); - try { - let parsed = JSON.parse(json); - if (Array.isArray(parsed)) { - parsed = { - values: parsed - }; - } - value = json ? render(field.groupTemplate, parsed) : ''; - } catch (E) { - value = E.message; - } - - let item = { - id: field.id, - type: field.type, - name: field.name, - column: field.column, - value: (valueList[field.column] || '').toString().trim(), - visible: !!field.visible, - mergeTag: field.key, - mergeValue: value || field.defaultValue, - ['type' + (field.type || '').toString().trim().replace(/(?:^|-)([a-z])/g, (m, c) => c.toUpperCase())]: true - }; - row.push(item); - break; - } - case 'number': - { - let item = { - id: field.id, - type: field.type, - name: field.name, - column: field.column, - value: Number(valueList[field.column]) || 0, - visible: !!field.visible, - mergeTag: field.key, - mergeValue: (Number(valueList[field.column]) || Number(field.defaultValue) || 0).toString(), - ['type' + (field.type || '').toString().trim().replace(/(?:^|-)([a-z])/g, (m, c) => c.toUpperCase())]: true - }; - row.push(item); - break; - } - case 'dropdown': - case 'radio': - case 'checkbox': - { - let hasSelectedOption = (field.options || []).some(subField => subField.column && valueList[subField.column]); - let item = { - id: field.id, - type: field.type, - name: field.name, - visible: !!field.visible, - key: 'group-g' + field.id, - mergeTag: field.key, - mergeValue: field.defaultValue, - ['type' + (field.type || '').toString().trim().replace(/(?:^|-)([a-z])/g, (m, c) => c.toUpperCase())]: true, - groupTemplate: field.groupTemplate, - options: (field.options || []).map(subField => { - if (onlyExisting && subField.column && !valueList.hasOwnProperty(subField.column)) { - if (hasSelectedOption && field.type !== 'checkbox') { - // Set all radio or dropdown options if a selection for the group is present - } else if (field.type === 'checkbox' && values['originGroupG' + field.id] === 'webform') { - // Set all checkbox options if origin is webform (subscribe, manage, or admin edit) #333 - // Atomic updates via API call or CSV import still possible - } else { - // ignore missing values - return false; - } - } - return { - type: subField.type, - name: subField.name, - column: subField.column, - value: valueList[subField.column] ? 1 : 0, - visible: !!subField.visible, - mergeTag: subField.key, - mergeValue: valueList[subField.column] ? subField.name : subField.defaultValue - }; - }).filter(subField => subField) - }; - let subItems = item.options.filter(subField => (showAll || subField.visible) && subField.value).map(subField => subField.name); - item.value = field.groupTemplate ? render(field.groupTemplate, { - values: subItems - }) : subItems.join(', '); - item.mergeValue = item.value || field.defaultValue; - row.push(item); - break; - } - case 'date-eur': - case 'birthday-eur': - case 'date-us': - case 'birthday-us': - { - let isUs = /-us$/.test(field.type); - let isYear = field.type.indexOf('date-') === 0; - let value = valueList[field.column]; - let day, month, year; - let formatted; - - if (value && typeof value.getUTCFullYear === 'function') { - day = value.getUTCDate(); - month = value.getUTCMonth() + 1; - year = value.getUTCFullYear(); - } else { - value = (value || '').toString().trim(); - - // try international format first YYYY-MM-DD - let parts = value.match(/(\d{4})\D+(\d{2})(?:\D+(\d{2})\b)?/); - if (parts) { - year = Number(parts[1]) || 2000; - month = Number(parts[2]) || 0; - day = Number(parts[3]) || 0; - value = new Date(Date.UTC(year, month - 1, day)); - } else { - parts = value.match(/(\d+)\D+(\d+)(?:\D+(\d+)\b)?/); - if (!parts) { - value = null; - } else { - day = Number(parts[isUs ? 2 : 1]) || 0; - month = Number(parts[isUs ? 1 : 2]) || 0; - year = Number(parts[3]) || 2000; - - if (!day || !month) { - value = null; - } else { - value = new Date(Date.UTC(year, month - 1, day)); - } - } - } - } - - if (day && month) { - if (isUs) { - formatted = (month < 10 ? '0' : '') + month + '/' + (day < 10 ? '0' : '') + day; - } else { - formatted = (day < 10 ? '0' : '') + day + '/' + (month < 10 ? '0' : '') + month; - } - - if (isYear) { - formatted += '/' + year; - } - } else { - formatted = null; - } - - let item = { - id: field.id, - type: field.type, - name: field.name, - column: field.column, - value: useDate ? value : formatted, - visible: !!field.visible, - mergeTag: field.key, - mergeValue: (useDate ? value : formatted) || field.defaultValue, - ['type' + (field.type || '').toString().trim().replace(/(?:^|-)([a-z])/g, (m, c) => c.toUpperCase())]: true - }; - row.push(item); - break; - } - } - /* eslint-enable indent */ - }); - - return row; -}; - -module.exports.getValues = (row, showAll) => { - let result = []; - row.filter(field => showAll || field.visible).forEach(field => { - if (field.column) { - result.push({ - key: field.column, - value: field.value - }); - } else if (field.options) { - field.options.filter(field => showAll || field.visible).forEach(subField => { - result.push({ - key: subField.column, - value: subField.value - }); - }); - } - }); - - return result; -}; - - -function render(template, options) { - let renderer = Handlebars.compile(template); - return renderer(options); -} diff --git a/lib/models/forms.js b/lib/models/forms.js deleted file mode 100644 index 9550077b..00000000 --- a/lib/models/forms.js +++ /dev/null @@ -1,418 +0,0 @@ -'use strict'; - -let db = require('../db'); -let fs = require('fs'); -let path = require('path'); -let tools = require('../tools'); -let mjml = require('mjml'); -let _ = require('../translate')._; - -let allowedKeys = [ - 'name', - 'description', - 'fields_shown_on_subscribe', - 'fields_shown_on_manage', - 'layout', - 'form_input_style', - 'web_subscribe', - 'web_confirm_subscription_notice', - 'mail_confirm_subscription_html', - 'mail_confirm_subscription_text', - 'mail_already_subscribed_html', - 'mail_already_subscribed_text', - 'web_subscribed_notice', - 'mail_subscription_confirmed_html', - 'mail_subscription_confirmed_text', - 'web_manage', - 'web_manage_address', - 'web_updated_notice', - 'web_unsubscribe', - 'web_confirm_unsubscription_notice', - 'mail_confirm_unsubscription_html', - 'mail_confirm_unsubscription_text', - 'mail_confirm_address_change_html', - 'mail_confirm_address_change_text', - 'web_unsubscribed_notice', - 'mail_unsubscription_confirmed_html', - 'mail_unsubscription_confirmed_text', - 'web_manual_unsubscribe_notice' -]; - - -module.exports.list = (listId, callback) => { - listId = Number(listId) || 0; - - if (listId < 1) { - return callback(new Error(_('Missing List ID'))); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - connection.query('SELECT * FROM custom_forms WHERE list=? ORDER BY id', [listId], (err, rows) => { - connection.release(); - if (err) { - return callback(err); - } - - let formList = rows && rows.map(row => tools.convertKeys(row)) || []; - return callback(null, formList); - }); - }); -}; - -module.exports.get = (id, callback) => { - id = Number(id) || 0; - - if (id < 1) { - return callback(new Error(_('Missing Form ID'))); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - connection.query('SELECT * FROM custom_forms WHERE id=? LIMIT 1', [id], (err, rows) => { - if (err) { - connection.release(); - return callback(err); - } - - let form = rows && rows[0] && tools.convertKeys(rows[0]) || false; - - if (!form) { - connection.release(); - return callback(new Error('Selected form not found')); - } - - connection.query('SELECT * FROM custom_forms_data WHERE form=?', [id], (err, data_rows = []) => { - connection.release(); - if (err) { - return callback(err); - } - - data_rows.forEach(data_row => { - let modelKey = tools.fromDbKey(data_row.data_key); - form[modelKey] = data_row.data_value; - }); - - return callback(null, form); - }); - }); - }); -}; - - -module.exports.create = (listId, form, callback) => { - listId = Number(listId) || 0; - - if (listId < 1) { - return callback(new Error(_('Missing Form ID'))); - } - - form = tools.convertKeys(form); - form = setDefaultValues(form); - form.name = (form.name || '').toString().trim(); - - if (!form.name) { - return callback(new Error(_('Form Name must be set'))); - } - - let keys = ['list']; - let values = [listId]; - - Object.keys(form).forEach(key => { - let value = form[key].trim(); - key = tools.toDbKey(key); - if (key === 'description') { - value = tools.purifyHTML(value); - } - if (allowedKeys.indexOf(key) >= 0) { - keys.push(key); - values.push(value); - } - }); - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - let filtered = filterKeysAndValues(keys, values, 'exclude', ['mail_', 'web_']); - let query = 'INSERT INTO custom_forms (' + filtered.keys.join(', ') + ') VALUES (' + filtered.values.map(() => '?').join(',') + ')'; - - connection.query(query, filtered.values, (err, result) => { - connection.release(); - if (err) { - return callback(err); - } - - let formId = result && result.insertId; - - if (!formId) { - return callback(new Error('Invalid custom_forms insertId')); - } - - let jobs = 1; - let error = null; - - let done = err => { - jobs--; - error = err ? err : error; // One's enough - jobs === 0 && callback(error, formId); - }; - - filtered = filterKeysAndValues(keys, values, 'include', ['mail_', 'web_']); - - filtered.keys.forEach((key, index) => { - jobs++; - - db.getConnection((err, connection) => { - if (err) { - return done(err); - } - - connection.query('INSERT INTO custom_forms_data (form, data_key, data_value) VALUES (?, ?, ?)', [formId, key, filtered.values[index]], err => { - connection.release(); - if (err) { - return done(err); - } - - return done(null); - }); - }); - }); - - done(null); - }); - }); -}; - -module.exports.update = (id, updates, callback) => { - updates = updates || {}; - id = Number(id) || 0; - - updates = tools.convertKeys(updates); - - if (id < 1) { - return callback(new Error(_('Missing Form ID'))); - } - - if (!(updates.name || '').toString().trim()) { - return callback(new Error(_('Form Name must be set'))); - } - - let keys = []; - let values = []; - - Object.keys(updates).forEach(key => { - let value = typeof updates[key] === 'string' ? updates[key].trim() : updates[key]; - key = tools.toDbKey(key); - if (key === 'description') { - value = tools.purifyHTML(value); - } - if (allowedKeys.indexOf(key) >= 0) { - keys.push(key); - values.push(value); - } - }); - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - let filtered = filterKeysAndValues(keys, values, 'exclude', ['mail_', 'web_']); - let query = 'UPDATE custom_forms SET ' + filtered.keys.map(key => '`' + key + '`=?').join(', ') + ' WHERE id=? LIMIT 1'; - - connection.query(query, filtered.values.concat(id), (err, result) => { - connection.release(); - if (err) { - return callback(err); - } - - let affectedRows = result && result.affectedRows; - - let jobs = 1; - let error = null; - - let done = err => { - jobs--; - error = err ? err : error; // One's enough - - if (jobs === 0) { - if (error) { - return callback(error); - } - - // Save then validate, as otherwise their work get's lost ... - err = testForMjmlErrors(keys, values); - if (err) { - return callback(err); - } - - return callback(null, affectedRows); - } - }; - - filtered = filterKeysAndValues(keys, values, 'include', ['mail_', 'web_']); - - filtered.keys.forEach((key, index) => { - jobs++; - - db.getConnection((err, connection) => { - if (err) { - return done(err); - } - - connection.query('UPDATE custom_forms_data SET data_value=? WHERE data_key=? AND form=?', [filtered.values[index], key, id], err => { - connection.release(); - if (err) { - return done(err); - } - - return done(null); - }); - }); - }); - - done(null); - }); - }); -}; - -module.exports.delete = (formId, callback) => { - formId = Number(formId) || 0; - - if (formId < 1) { - return callback(new Error(_('Missing Form ID'))); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - connection.query('SELECT * FROM custom_forms WHERE id=? LIMIT 1', [formId], (err, rows) => { - if (err) { - connection.release(); - return callback(err); - } - - if (!rows || !rows.length) { - connection.release(); - return callback(new Error(_('Custom form not found'))); - } - - connection.query('DELETE FROM custom_forms WHERE id=? LIMIT 1', [formId], err => { - connection.release(); - if (err) { - return callback(err); - } - return callback(null, true); - }); - }); - }); -}; - -function setDefaultValues(form) { - let getContents = fileName => { - try { - let basePath = path.join(__dirname, '..', '..'); - let template = fs.readFileSync(path.join(basePath, fileName), 'utf8'); - return template.replace(/\{\{#translate\}\}(.*?)\{\{\/translate\}\}/g, (m, s) => _(s)); - } catch (err) { - return false; - } - }; - - allowedKeys.forEach(key => { - let modelKey = tools.fromDbKey(key); - let base = 'views/subscription/' + key.replace(/_/g, '-'); - - if (key.startsWith('mail') || key.startsWith('web')) { - form[modelKey] = getContents(base + '.mjml.hbs') || getContents(base + '.hbs') || ''; - } - }); - - form.layout = getContents('views/subscription/layout.mjml.hbs') || ''; - form.formInputStyle = getContents('public/subscription/form-input-style.css') || '@import url(/subscription/form-input-style.css);'; - - return form; -} - -function filterKeysAndValues(keysIn, valuesIn, method = 'include', prefixes = []) { - let values = []; - - let prefixMatch = key => ( - prefixes.some(prefix => key.startsWith(prefix)) - ); - - let keys = keysIn.filter((key, index) => { - if ((method === 'include' && prefixMatch(key)) || (method === 'exclude' && !prefixMatch(key))) { - values.push(valuesIn[index]); - return true; - } - return false; - }); - - return { - keys, - values - }; -} - -function testForMjmlErrors(keys, values) { - - let errors = []; - let testLayout = '{{{body}}}'; - - let hasMjmlError = (template, layout = testLayout) => { - let source = layout.replace(/\{\{\{body\}\}\}/g, template); - let compiled; - - try { - compiled = mjml.mjml2html(source); - } catch (err) { - return err; - } - - if (compiled.errors.length) { - return compiled.errors[0].message || compiled.errors[0]; - } - - return null; - }; - - keys.forEach((key, index) => { - if (key.startsWith('mail_') || key.startsWith('web_')) { - - let template = values[index]; - let err = hasMjmlError(template); - - err && errors.push(key + ': ' + (err.message || err)); - key === 'mail_confirm_html' && !template.includes('{{confirmUrl}}') && errors.push(key + ': Missing {{confirmUrl}}'); - - } else if (key === 'layout') { - - let layout = values[index]; - let err = hasMjmlError('', layout); - - err && errors.push('layout: ' + (err.message || err)); - !layout.includes('{{{body}}}') && errors.push('layout: {{{body}}} not found'); - } - }); - - - if (errors.length) { - errors.forEach((err, index) => { - errors[index] = (index + 1) + ') ' + err; - }); - return 'Please fix these MJML errors:\n\n' + errors.join('\n'); - } - - return null; -} diff --git a/lib/models/links.js b/lib/models/links.js deleted file mode 100644 index e7ce5591..00000000 --- a/lib/models/links.js +++ /dev/null @@ -1,364 +0,0 @@ -'use strict'; - -let db = require('../db'); -let shortid = require('shortid'); -let util = require('util'); -let _ = require('../translate')._; - -let geoip = require('geoip-ultralight'); -let campaigns = require('./campaigns'); -let subscriptions = require('./subscriptions'); -let lists = require('./lists'); - -let log = require('npmlog'); -let urllib = require('url'); -let he = require('he'); -let ua_parser = require('device'); - -module.exports.resolve = (linkCid, callback) => { - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - let query = 'SELECT id, url FROM links WHERE `cid`=? LIMIT 1'; - connection.query(query, [linkCid], (err, rows) => { - connection.release(); - if (err) { - return callback(err); - } - - if (rows && rows.length) { - return callback(null, rows[0].id, rows[0].url); - } - - return callback(null, false); - }); - }); -}; - -module.exports.countClick = (remoteIp, useragent, campaignCid, listCid, subscriptionCid, linkId, callback) => { - getSubscriptionData(campaignCid, listCid, subscriptionCid, (err, data) => { - if (err) { - return callback(err); - } - - if (!data || data.campaign.clickTrackingDisabled) { - return callback(null, false); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - connection.beginTransaction(err => { - if (err) { - connection.release(); - return callback(err); - } - - let country = geoip.lookupCountry(remoteIp) || null; - let device = ua_parser(useragent, { unknownUserAgentDeviceType: 'desktop', emptyUserAgentDeviceType: 'desktop' }); - let query = 'INSERT INTO `campaign_tracker__' + data.campaign.id + '` (`list`, `subscriber`, `link`, `ip`, `device_type`, `country`) VALUES (?,?,?,?,?,?) ON DUPLICATE KEY UPDATE `count`=`count`+1'; - connection.query(query, [data.list.id, data.subscription.id, linkId, remoteIp, device.type, country], (err, result) => { - if (err && err.code !== 'ER_DUP_ENTRY') { - return connection.rollback(() => { - connection.release(); - return callback(err); - }); - } - - if (err && err.code === 'ER_DUP_ENTRY' || result.affectedRows > 1) { - return connection.commit(err => { - if (err) { - return connection.rollback(() => { - connection.release(); - return callback(err); - }); - } - connection.release(); - return callback(null, false); - }); - } - - let query = 'UPDATE `subscription__' + data.list.id + '` SET `latest_click`=NOW(), `latest_open`=NOW() WHERE id=?'; - connection.query(query, [data.subscription.id], err => { - if (err) { - return connection.rollback(() => { - connection.release(); - return callback(err); - }); - } - - let query = 'UPDATE links SET clicks = clicks + 1 WHERE id=?'; - connection.query(query, [linkId], err => { - if (err) { - return connection.rollback(() => { - connection.release(); - return callback(err); - }); - } - - let query = 'INSERT INTO `campaign_tracker__' + data.campaign.id + '` (`list`, `subscriber`, `link`, `ip`, `device_type`, `country`) VALUES (?,?,?,?,?,?)'; - connection.query(query, [data.list.id, data.subscription.id, 0, remoteIp, device.type, country], err => { - if (err && err.code !== 'ER_DUP_ENTRY') { - return connection.rollback(() => { - connection.release(); - return callback(err); - }); - } - - if (err && err.code === 'ER_DUP_ENTRY') { - return connection.commit(err => { - if (err) { - return connection.rollback(() => { - connection.release(); - return callback(err); - }); - } - connection.release(); - return callback(null, false); - }); - } - - let query = 'UPDATE campaigns SET clicks = clicks + 1 WHERE id=?'; - connection.query(query, [data.campaign.id], err => { - if (err) { - return connection.rollback(() => { - connection.release(); - return callback(err); - }); - } - connection.commit(err => { - if (err) { - return connection.rollback(() => { - connection.release(); - return callback(err); - }); - } - connection.release(); - return callback(null, false); - }); - }); - - // also count clicks as open events in case beacon image was blocked - module.exports.countOpen(remoteIp, useragent, campaignCid, listCid, subscriptionCid, () => false); - }); - }); - }); - }); - }); - }); - }); -}; - -module.exports.countOpen = (remoteIp, useragent, campaignCid, listCid, subscriptionCid, callback) => { - getSubscriptionData(campaignCid, listCid, subscriptionCid, (err, data) => { - if (err) { - return callback(err); - } - - if (!data || data.campaign.openTrackingDisabled) { - return callback(null, false); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - connection.beginTransaction(err => { - if (err) { - connection.release(); - return callback(err); - } - - let country = geoip.lookupCountry(remoteIp) || null; - let device = ua_parser(useragent, { unknownUserAgentDeviceType: 'desktop', emptyUserAgentDeviceType: 'desktop' }); - let query = 'INSERT INTO `campaign_tracker__' + data.campaign.id + '` (`list`, `subscriber`, `link`, `ip`, `device_type`, `country`) VALUES (?,?,?,?,?,?) ON DUPLICATE KEY UPDATE `count`=`count`+1'; - connection.query(query, [data.list.id, data.subscription.id, -1, remoteIp, device.type, country], (err, result) => { - if (err && err.code !== 'ER_DUP_ENTRY') { - return connection.rollback(() => { - connection.release(); - return callback(err); - }); - } - if (err && err.code === 'ER_DUP_ENTRY' || result.affectedRows > 1) { - return connection.commit(err => { - if (err) { - return connection.rollback(() => { - connection.release(); - return callback(err); - }); - } - connection.release(); - return callback(null, false); - }); - } - - let query = 'UPDATE `subscription__' + data.list.id + '` SET `latest_open`=NOW() WHERE id=?'; - connection.query(query, [data.subscription.id], err => { - if (err) { - return connection.rollback(() => { - connection.release(); - return callback(err); - }); - } - - let query = 'UPDATE campaigns SET opened = opened + 1 WHERE id=?'; - connection.query(query, [data.campaign.id], err => { - if (err) { - return connection.rollback(() => { - connection.release(); - return callback(err); - }); - } - connection.commit(err => { - if (err) { - return connection.rollback(() => { - connection.release(); - return callback(err); - }); - } - connection.release(); - return callback(null, false); - }); - }); - }); - }); - }); - }); - }); -}; - -module.exports.add = (url, campaignId, callback) => { - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - let cid = shortid.generate(); - let query = 'INSERT INTO links (`cid`, `campaign`, `url`) VALUES (?,?,?)'; - connection.query(query, [cid, campaignId, url], (err, result) => { - if (err && err.code !== 'ER_DUP_ENTRY') { - connection.release(); - return callback(err); - } - - if (!err && result && result.insertId) { - connection.release(); - return callback(null, result.insertId, cid); - } - - let query = 'SELECT id, cid FROM links WHERE `campaign`=? AND `url`=? LIMIT 1'; - connection.query(query, [campaignId, url], (err, rows) => { - connection.release(); - if (err) { - return callback(err); - } - - if (rows && rows.length) { - return callback(null, rows[0].id, rows[0].cid); - } - - return callback(null, false); - }); - }); - }); -}; - -module.exports.updateLinks = (campaign, list, subscription, serviceUrl, message, callback) => { - if ((campaign.openTrackingDisabled && campaign.clickTrackingDisabled) || !message || !message.trim()) { - // tracking is disabled, do not modify the message - return setImmediate(() => callback(null, message)); - } - - // insert tracking image - if (!campaign.openTrackingDisabled) { - let inserted = false; - let imgUrl = urllib.resolve(serviceUrl, util.format('/links/%s/%s/%s', campaign.cid, list.cid, encodeURIComponent(subscription.cid))); - let img = 'mt'; - message = message.replace(/<\/body\b/i, match => { - inserted = true; - return img + match; - }); - if (!inserted) { - message = message + img; - } - if (campaign.clickTrackingDisabled) { - return callback(null, message); - } - } - - if (!campaign.clickTrackingDisabled) { - let re = /(]* href\s*=[\s"']*)(http[^"'>\s]+)/gi; - let urls = new Set(); - (message || '').replace(re, (match, prefix, url) => { - urls.add(url); - }); - - let map = new Map(); - let vals = urls.values(); - - let replaceUrls = () => { - callback(null, - message.replace(re, (match, prefix, url) => - prefix + (map.has(url) ? urllib.resolve(serviceUrl, util.format('/links/%s/%s/%s/%s', campaign.cid, list.cid, encodeURIComponent(subscription.cid), encodeURIComponent(map.get(url)))) : url))); - }; - - let storeNext = () => { - let urlItem = vals.next(); - if (urlItem.done) { - return replaceUrls(); - } - - module.exports.add(he.decode(urlItem.value, { - isAttributeValue: true - }), campaign.id, (err, linkId, cid) => { - if (err) { - log.error('Link', err); - return storeNext(); - } - map.set(urlItem.value, cid); - return storeNext(); - }); - }; - - storeNext(); - } -}; - -function getSubscriptionData(campaignCid, listCid, subscriptionCid, callback) { - campaigns.getByCid(campaignCid, (err, campaign) => { - if (err) { - return callback(err); - } - if (!campaign) { - return callback(new Error(_('Campaign not found'))); - } - - lists.getByCid(listCid, (err, list) => { - if (err) { - return callback(err); - } - if (!list) { - return callback(new Error(_('List not found'))); - } - - subscriptions.get(list.id, subscriptionCid, (err, subscription) => { - if (err) { - return callback(err); - } - if (!subscription) { - return callback(new Error(_('Subscription not found'))); - } - - return callback(null, { - campaign, - list, - subscription - }); - }); - }); - }); -} diff --git a/lib/models/lists.js b/lib/models/lists.js deleted file mode 100644 index 6c0a498a..00000000 --- a/lib/models/lists.js +++ /dev/null @@ -1,341 +0,0 @@ -'use strict'; - -let db = require('../db'); -let tools = require('../tools'); -let shortid = require('shortid'); -let segments = require('./segments'); -let subscriptions = require('./subscriptions'); -let _ = require('../translate')._; -let tableHelpers = require('../table-helpers'); - -const UnsubscriptionMode = { - ONE_STEP: 0, - ONE_STEP_WITH_FORM: 1, - TWO_STEP: 2, - TWO_STEP_WITH_FORM: 3, - MANUAL: 4, - MAX: 5 -}; - -module.exports.UnsubscriptionMode = UnsubscriptionMode; - -let allowedKeys = ['description', 'default_form', 'public_subscribe', 'unsubscription_mode', 'listunsubscribe_disabled']; - -module.exports.list = (start, limit, callback) => { - tableHelpers.list('lists', ['*'], 'name', null, start, limit, callback); -}; - -module.exports.filter = (request, parent, callback) => { - tableHelpers.filter('lists', ['*'], request, ['#', 'name', 'cid', 'subscribers', 'description'], ['name'], 'name ASC', null, callback); -}; - -module.exports.filterQuicklist = (request, callback) => { - tableHelpers.filter('lists', ['id', 'name', 'subscribers'], request, ['#', 'name', 'subscribers'], ['name'], 'name ASC', null, callback); -}; - -module.exports.quicklist = callback => { - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - connection.query('SELECT id, name, subscribers FROM lists ORDER BY name LIMIT 1000', (err, rows) => { - if (err) { - connection.release(); - return callback(err); - } - - let lists = (rows || []).map(tools.convertKeys); - - connection.query('SELECT id, list, name FROM segments ORDER BY list, name LIMIT 1000', (err, rows) => { - connection.release(); - if (err) { - return callback(err); - } - - let segments = (rows || []).map(tools.convertKeys); - - lists.forEach(list => { - list.segments = segments.filter(segment => segment.list === list.id); - }); - - return callback(null, lists); - }); - }); - }); -}; - -module.exports.getListsWithEmail = (email, callback) => { - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - connection.query('SELECT id, name FROM lists', (err, rows) => { - connection.release(); - if (err) { - return callback(err); - } - - let lists = (rows || []).map(tools.convertKeys); - const results = []; - lists.forEach((list, index, arr) => { - subscriptions.getByEmail(list.id, email, (err, sub) => { - if (err) { - return callback(err); - } - if (sub) { - results.push(list.id); - } - if (index === arr.length - 1) { - return callback(null, lists.filter(list => results.includes(list.id))); - } - }); - }); - }); - }); -}; - -module.exports.getByCid = (cid, callback) => { - resolveCid(cid, (err, id) => { - if (err) { - return callback(err); - } - if (!id) { - return callback(null, false); - } - module.exports.get(id, callback); - }); -}; - -module.exports.get = (id, callback) => { - id = Number(id) || 0; - - if (id < 1) { - return callback(new Error(_('Missing List ID'))); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - connection.query('SELECT * FROM lists WHERE id=?', [id], (err, rows) => { - connection.release(); - if (err) { - return callback(err); - } - - if (!rows || !rows.length) { - return callback(null, false); - } - - let list = tools.convertKeys(rows[0]); - segments.list(list.id, (err, segmentList) => { - if (err || !segmentList) { - segmentList = []; - } - list.segments = segmentList; - return callback(null, list); - }); - }); - }); -}; - -module.exports.update = (id, updates, callback) => { - updates = updates || {}; - id = Number(id) || 0; - - if (id < 1) { - return callback(new Error(_('Missing List ID'))); - } - - const data = tools.convertKeys(updates); - - const keys = []; - const values = []; - - // The update can be only partial when executed from forms/:list - if (!data.customFormChangeOnly) { - data.publicSubscribe = data.publicSubscribe ? 1 : 0; - data.listunsubscribeDisabled = data.listunsubscribeDisabled ? 1 : 0; - data.unsubscriptionMode = Number(data.unsubscriptionMode); - - let name = (data.name || '').toString().trim(); - - if (!name) { - return callback(new Error(_('List Name must be set'))); - } - - keys.push('name'); - values.push(name); - } - - Object.keys(data).forEach(key => { - let value = data[key].toString().trim(); - key = tools.toDbKey(key); - if (key === 'description') { - value = tools.purifyHTML(value); - } - if (allowedKeys.indexOf(key) >= 0) { - keys.push(key); - values.push(value); - } - }); - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - values.push(id); - - connection.query('UPDATE lists SET ' + keys.map(key => key + '=?').join(', ') + ' WHERE id=? LIMIT 1', values, (err, result) => { - connection.release(); - if (err) { - return callback(err); - } - return callback(null, result && result.affectedRows || false); - }); - }); -}; - -module.exports.create = (list, callback) => { - - let data = tools.convertKeys(list); - data.publicSubscribe = data.publicSubscribe ? 1 : 0; - - let name = (data.name || '').toString().trim(); - - if (!data) { - return callback(new Error(_('List Name must be set'))); - } - - let keys = ['name']; - let values = [name]; - - Object.keys(data).forEach(key => { - let value = data[key].toString().trim(); - key = tools.toDbKey(key); - if (key === 'description') { - value = tools.purifyHTML(value); - } - if (allowedKeys.indexOf(key) >= 0) { - keys.push(key); - values.push(value); - } - }); - - let cid = shortid.generate(); - keys.push('cid'); - values.push(cid); - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - let query = 'INSERT INTO lists (`' + keys.join('`, `') + '`) VALUES (' + values.map(() => '?').join(',') + ')'; - connection.query(query, values, (err, result) => { - connection.release(); - if (err) { - return callback(err); - } - - let listId = result && result.insertId || false; - if (!listId) { - return callback(null, false); - } - - createSubscriptionTable(listId, err => { - if (err) { - // FIXME: rollback - return callback(err); - } - return callback(null, listId); - }); - }); - }); -}; - -module.exports.delete = (id, callback) => { - id = Number(id) || 0; - - if (id < 1) { - return callback(new Error(_('Missing List ID'))); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - connection.query('DELETE FROM lists WHERE id=? LIMIT 1', id, (err, result) => { - connection.release(); - if (err) { - return callback(err); - } - - let affected = result && result.affectedRows || 0; - - removeSubscriptionTable(id, err => { - if (err) { - return callback(err); - } - return callback(null, affected); - }); - }); - }); -}; - -function resolveCid(cid, callback) { - cid = (cid || '').toString().trim(); - if (!cid) { - return callback(new Error(_('Missing List CID'))); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - connection.query('SELECT id FROM lists WHERE cid=?', [cid], (err, rows) => { - connection.release(); - if (err) { - return callback(err); - } - return callback(null, rows && rows[0] && rows[0].id || false); - }); - }); -} - -function createSubscriptionTable(id, callback) { - let query = 'CREATE TABLE `subscription__' + id + '` LIKE subscription'; - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - connection.query(query, err => { - connection.release(); - if (err) { - return callback(err); - } - return callback(null, true); - }); - }); -} - -function removeSubscriptionTable(id, callback) { - let query = 'DROP TABLE IF EXISTS `subscription__' + id + '`'; - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - connection.query(query, err => { - connection.release(); - if (err) { - return callback(err); - } - return callback(null, true); - }); - }); -} diff --git a/lib/models/report-templates.js b/lib/models/report-templates.js deleted file mode 100644 index 6dcb2c70..00000000 --- a/lib/models/report-templates.js +++ /dev/null @@ -1,161 +0,0 @@ -'use strict'; - -const db = require('../db'); -const tableHelpers = require('../table-helpers'); -const tools = require('../tools'); -const _ = require('../translate')._; - -const allowedKeys = ['name', 'description', 'mime_type', 'user_fields', 'js', 'hbs']; - -module.exports.list = (start, limit, callback) => { - tableHelpers.list('report_templates', ['*'], 'name', null, start, limit, callback); -}; - -module.exports.quicklist = callback => { - tableHelpers.quicklist('report_templates', ['id', 'name'], 'name', callback); -}; - -module.exports.filter = (request, callback) => { - tableHelpers.filter('report_templates', ['*'], request, ['#', 'name', 'description', 'created'], ['name'], 'created DESC', null, callback); -}; - -module.exports.get = (id, callback) => { - id = Number(id) || 0; - - if (id < 1) { - return callback(new Error(_('Missing report template ID'))); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - connection.query('SELECT * FROM report_templates WHERE id=?', [id], (err, rows) => { - connection.release(); - if (err) { - return callback(err); - } - - if (!rows || !rows.length) { - return callback(null, false); - } - - const template = tools.convertKeys(rows[0]); - - const userFields = template.userFields.trim(); - if (userFields !== '') { - try { - template.userFieldsObject = JSON.parse(userFields); - } catch (err) { - // This is to handle situation when for some reason we get corrupted JSON in the DB. - template.userFieldsObject = {}; - template.userFields = '{}'; - } - } else { - template.userFieldsObject = {}; - } - - return callback(null, template); - }); - }); -}; - -module.exports.createOrUpdate = (createMode, data, callback) => { - data = data || {}; - - const id = 'id' in data ? Number(data.id) : 0; - - if (!createMode && id < 1) { - return callback(new Error(_('Missing report template ID'))); - } - - const template = tools.convertKeys(data); - const name = (template.name || '').toString().trim(); - - if (!name) { - return callback(new Error(_('Report template name must be set'))); - } - - const keys = ['name']; - const values = [name]; - - Object.keys(template).forEach(key => { - let value = typeof template[key] === 'number' ? template[key] : (template[key] || '').toString().trim(); - key = tools.toDbKey(key); - - if (key === 'description') { - value = tools.purifyHTML(value); - } - - if (key === 'user_fields') { - value = value.trim(); - - if (value !== '') { - try { - JSON.parse(value); - } catch (err) { - return callback(err); - } - } - } - - if (allowedKeys.indexOf(key) >= 0 && keys.indexOf(key) < 0) { - keys.push(key); - values.push(value); - } - }); - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - let query; - - if (createMode) { - query = 'INSERT INTO report_templates (`' + keys.join('`, `') + '`) VALUES (' + values.map(() => '?').join(',') + ')'; - } else { - query = 'UPDATE report_templates SET ' + keys.map(key => '`' + key + '`=?').join(', ') + ' WHERE id=? LIMIT 1'; - values.push(id); - } - - connection.query(query, values, (err, result) => { - connection.release(); - if (err) { - return callback(err); - } - - if (createMode) { - return callback(null, result && result.insertId || false); - } else { - return callback(null, result && result.affectedRows || false); - } - }); - }); -}; - -module.exports.delete = (id, callback) => { - id = Number(id) || 0; - - if (id < 1) { - return callback(new Error(_('Missing report template ID'))); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - connection.query('DELETE FROM report_templates WHERE id=? LIMIT 1', [id], (err, result) => { - connection.release(); - if (err) { - return callback(err); - } - - const affected = result && result.affectedRows || 0; - return callback(err, affected); - }); - }); -}; - diff --git a/lib/models/reports.js b/lib/models/reports.js deleted file mode 100644 index edfe665f..00000000 --- a/lib/models/reports.js +++ /dev/null @@ -1,262 +0,0 @@ -'use strict'; - -const db = require('../db'); -const tableHelpers = require('../table-helpers'); -const fields = require('./fields'); -const reportTemplates = require('./report-templates'); -const tools = require('../tools'); -const _ = require('../translate')._; - -const allowedKeys = ['name', 'description', 'report_template', 'params']; - -const ReportState = { - SCHEDULED: 0, - PROCESSING: 1, - FINISHED: 2, - FAILED: 3, - MAX: 4 -}; - -module.exports.ReportState = ReportState; - -module.exports.list = (start, limit, callback) => { - tableHelpers.list('reports', ['*'], 'name', null, start, limit, callback); -}; - -module.exports.listWithState = (state, start, limit, callback) => { - tableHelpers.list('reports', ['*'], 'name', { where: 'state=?', values: [state] }, start, limit, callback); -}; - -module.exports.filter = (request, callback) => { - tableHelpers.filter('reports JOIN report_templates ON reports.report_template = report_templates.id', - ['reports.id AS id', 'reports.name AS name', 'reports.description AS description', 'reports.state AS state', 'reports.report_template AS report_template', 'reports.params AS params', 'reports.last_run AS last_run', 'report_templates.name AS report_template_name', 'report_templates.mime_type AS mime_type' ], - request, ['#', 'name', 'report_templates.name', 'description', 'last_run'], ['name'], 'name ASC', null, callback); -}; - -module.exports.get = (id, callback) => { - id = Number(id) || 0; - - if (id < 1) { - return callback(new Error(_('Missing report ID'))); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - connection.query('SELECT * FROM reports WHERE id=?', [id], (err, rows) => { - connection.release(); - if (err) { - return callback(err); - } - - if (!rows || !rows.length) { - return callback(null, false); - } - - const template = tools.convertKeys(rows[0]); - - const params = template.params.trim(); - if (params !== '') { - try { - template.paramsObject = JSON.parse(params); - } catch (err) { - return callback(err); - } - } else { - template.params = {}; - } - - return callback(null, template); - }); - }); -}; - -// This method is not supposed to be used for unsanitized inputs. It does not do any checks. -module.exports.updateFields = (id, fieldValueMap, callback) => { - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - const clauses = []; - const values = []; - for (let key of Object.keys(fieldValueMap)) { - clauses.push(tools.toDbKey(key) + '=?'); - values.push(fieldValueMap[key]); - } - - values.push(id); - - const query = 'UPDATE reports SET ' + clauses.join(', ') + ' WHERE id=? LIMIT 1'; - connection.query(query, values, (err, result) => { - connection.release(); - if (err) { - return callback(err); - } - - return callback(null, result && result.affectedRows || false); - }); - }); -}; - -module.exports.createOrUpdate = (createMode, report, callback) => { - report = report || {}; - - const id = 'id' in report ? Number(report.id) : 0; - - if (!createMode && id < 1) { - return callback(new Error(_('Missing report ID'))); - } - - const name = (report.name || '').toString().trim(); - - if (!name) { - return callback(new Error(_('Report name must be set'))); - } - - const reportTemplateId = Number(report.reportTemplate); - reportTemplates.get(reportTemplateId, (err, reportTemplate) => { - if (err) { - return callback(err); - } - - const params = report.paramsObject; - for (const spec of reportTemplate.userFieldsObject) { - if (params[spec.id].length < spec.minOccurences) { - return callback(new Error(_('At least ' + spec.minOccurences + ' rows in "' + spec.name + '" have to be selected.'))); - } - - if (params[spec.id].length > spec.maxOccurences) { - return callback(new Error(_('At most ' + spec.minOccurences + ' rows in "' + spec.name + '" can be selected.'))); - } - } - - const keys = ['name', 'params']; - const values = [name, JSON.stringify(params)]; - - - Object.keys(report).forEach(key => { - let value = typeof report[key] === 'number' ? report[key] : (report[key] || '').toString().trim(); - key = tools.toDbKey(key); - - if (key === 'description') { - value = tools.purifyHTML(value); - } - - if (allowedKeys.indexOf(key) >= 0 && keys.indexOf(key) < 0) { - keys.push(key); - values.push(value); - } - }); - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - let query; - - if (createMode) { - query = 'INSERT INTO reports (`' + keys.join('`, `') + '`) VALUES (' + values.map(() => '?').join(',') + ')'; - } else { - query = 'UPDATE reports SET ' + keys.map(key => '`' + key + '`=?').join(', ') + ' WHERE id=? LIMIT 1'; - values.push(id); - } - - connection.query(query, values, (err, result) => { - connection.release(); - if (err) { - return callback(err); - } - - if (createMode) { - return callback(null, result && result.insertId || false); - } else { - return callback(null, result && result.affectedRows || false); - } - }); - }); - }); -}; - -module.exports.delete = (id, callback) => { - id = Number(id) || 0; - - if (id < 1) { - return callback(new Error(_('Missing report ID'))); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - connection.query('DELETE FROM reports WHERE id=? LIMIT 1', [id], (err, result) => { - connection.release(); - if (err) { - return callback(err); - } - - const affected = result && result.affectedRows || 0; - return callback(err, affected); - }); - }); -}; - -const campaignFieldsMapping = { - tracker_count: 'tracker.count', - country: 'tracker.country', - device_type: 'tracker.device_type', - status: 'campaign.status', - first_name: 'subscribers.first_name', - last_name: 'subscribers.last_name', - email: 'subscribers.email' -}; - -module.exports.getCampaignResults = (campaign, select, clause, callback) => { - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - fields.list(campaign.list, (err, fieldList) => { - if (err) { - return callback(err); - } - - const fieldsMapping = fieldList.reduce((map, field) => { - map[customFieldName(field.key)] = 'subscribers.' + field.column; - return map; - }, Object.assign({}, campaignFieldsMapping)); - - let selFields = []; - for (let idx = 0; idx < select.length; idx++) { - const item = select[idx]; - if (item in fieldsMapping) { - selFields.push(fieldsMapping[item] + ' AS ' + item); - } else if (item === '*') { - selFields = selFields.concat(Object.keys(fieldsMapping).map(item => fieldsMapping[item] + ' AS ' + item)); - } else { - selFields.push(item); - } - } - - const query = 'SELECT ' + selFields.join(', ') + ' FROM `subscription__' + campaign.list + '` subscribers INNER JOIN `campaign__' + campaign.id + '` campaign on subscribers.id=campaign.subscription LEFT JOIN `campaign_tracker__' + campaign.id + '` tracker on subscribers.id=tracker.subscriber ' + clause; - - connection.query(query, (err, results) => { - connection.release(); - if (err) { - return callback(err); - } - - return callback(null, results); - }); - }); - }); -}; - -function customFieldName(id) { - return id.replace(/MERGE_/, 'CUSTOM_').toLowerCase(); -} diff --git a/lib/models/segments.js b/lib/models/segments.js deleted file mode 100644 index 209f12e7..00000000 --- a/lib/models/segments.js +++ /dev/null @@ -1,691 +0,0 @@ -'use strict'; - -let tools = require('../tools'); -let db = require('../db'); -let fields = require('./fields'); -let util = require('util'); -let _ = require('../translate')._; - -module.exports.defaultColumns = [{ - column: 'email', - name: _('Email address'), - type: 'string' -}, { - column: 'opt_in_country', - name: _('Signup country'), - type: 'string' -}, { - column: 'created', - name: _('Sign up date'), - type: 'date' -}, { - column: 'latest_open', - name: _('Latest open'), - type: 'date' -}, { - column: 'latest_click', - name: _('Latest click'), - type: 'date' -}, { - column: 'first_name', - name: _('First name'), - type: 'string' -}, { - column: 'last_name', - name: _('Last name'), - type: 'string' -}]; - -module.exports.list = (listId, callback) => { - listId = Number(listId) || 0; - - if (listId < 1) { - return callback(new Error(_('Missing List ID'))); - } - - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - let query = 'SELECT * FROM segments WHERE list=? ORDER BY name'; - connection.query(query, [listId], (err, rows) => { - connection.release(); - if (err) { - return callback(err); - } - - let segments = (rows || []).map(tools.convertKeys); - return callback(null, segments); - }); - }); -}; - -module.exports.get = (id, callback) => { - id = Number(id) || 0; - - if (id < 1) { - return callback(new Error(_('Missing Segment ID'))); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - let query = 'SELECT * FROM segments WHERE id=? LIMIT 1'; - connection.query(query, [id], (err, rows) => { - if (err) { - connection.release(); - return callback(err); - } - if (!rows || !rows.length) { - connection.release(); - return callback(new Error(_('Segment not found'))); - } - - let segment = tools.convertKeys(rows[0]); - - let query = 'SELECT * FROM segment_rules WHERE segment=? ORDER BY id ASC'; - connection.query(query, [id], (err, rows) => { - connection.release(); - if (err) { - return callback(err); - } - - fields.list(segment.list, (err, fieldList) => { - if (err || !fieldList) { - fieldList = []; - } - - segment.columns = [].concat(module.exports.defaultColumns); - fieldList.forEach(field => { - if (fields.genericTypes[field.type] === 'textarea') { - return; - } - if (field.column) { - segment.columns.push({ - column: field.column, - name: field.name, - type: fields.genericTypes[field.type] || 'string' - }); - } - if (field.options) { - field.options.forEach(subField => { - if (subField.column) { - segment.columns.push({ - column: subField.column, - name: field.name + ': ' + subField.name, - type: fields.genericTypes[subField.type] || 'string' - }); - } - }); - } - }); - - segment.rules = (rows || []).map(rule => { - rule = tools.convertKeys(rule); - if (rule.value) { - try { - rule.value = JSON.parse(rule.value); - } catch (E) { - // ignore - } - } - if (!rule.value) { - rule.value = {}; - } - rule.columnType = segment.columns.filter(column => rule.column === column.column).pop() || {}; - rule.name = rule.columnType.name || ''; - switch (rule.columnType.type) { - case 'number': - case 'date': - case 'birthday': - if (rule.value.relativeRange) { - let startString = rule.value.startDirection ? util.format(_('%s days after today'), rule.value.start) : util.format(_('%s days before today'), rule.value.start); - let endString = rule.value.endDirection ? util.format(_('%s days after today'), rule.value.end) : util.format(_('%s days before today'), rule.value.end); - rule.formatted = (rule.value.start ? startString : _('today')) + ' … ' + (rule.value.end ? endString : _('today')); - } else if (rule.value.range) { - rule.formatted = (rule.value.start || '') + ' … ' + (rule.value.end || ''); - } else { - rule.formatted = rule.value.value || ''; - } - break; - case 'boolean': - rule.formatted = rule.value.value ? _('Selected') : _('Not selected'); - break; - default: - rule.formatted = (rule.value.negate ? '!= ' : '') + (rule.value.value || ''); - } - - return rule; - }); - - return callback(null, segment); - }); - }); - }); - }); -}; - -module.exports.create = (listId, segment, callback) => { - listId = Number(listId) || 0; - - if (listId < 1) { - return callback(new Error(_('Missing List ID'))); - } - - segment = tools.convertKeys(segment); - - segment.name = (segment.name || '').toString().trim(); - segment.type = Number(segment.type) || 0; - - if (!segment.name) { - return callback(new Error(_('Field Name must be set'))); - } - - if (segment.type <= 0) { - return callback(new Error(_('Invalid segment rule type'))); - } - - let keys = ['list', 'name', 'type']; - let values = [listId, segment.name, segment.type]; - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - let query = 'INSERT INTO segments (`' + keys.join('`, `') + '`) VALUES (' + values.map(() => '?').join(',') + ')'; - connection.query(query, values, (err, result) => { - connection.release(); - if (err) { - return callback(err); - } - return callback(null, result && result.insertId || false); - }); - }); -}; - -module.exports.update = (id, updates, callback) => { - updates = updates || {}; - id = Number(id) || 0; - - if (id < 1) { - return callback(new Error(_('Missing Segment ID'))); - } - - let segment = tools.convertKeys(updates); - - segment.name = (segment.name || '').toString().trim(); - segment.type = Number(segment.type) || 0; - - if (!segment.name) { - return callback(new Error(_('Field Name must be set'))); - } - - if (segment.type <= 0) { - return callback(new Error(_('Invalid segment rule type'))); - } - - let keys = ['name', 'type']; - let values = [segment.name, segment.type]; - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - values.push(id); - - connection.query('UPDATE segments SET ' + keys.map(key => '`' + key + '`=?').join(', ') + ' WHERE id=? LIMIT 1', values, (err, result) => { - connection.release(); - if (err) { - return callback(err); - } - return callback(null, result && result.affectedRows || false); - }); - }); -}; - -module.exports.delete = (id, callback) => { - id = Number(id) || 0; - - if (id < 1) { - return callback(new Error(_('Missing Segment ID'))); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - connection.query('DELETE FROM segments WHERE id=? LIMIT 1', [id], err => { - connection.release(); - if (err) { - return callback(err); - } - return callback(null, true); - }); - }); -}; - -module.exports.createRule = (segmentId, rule, callback) => { - segmentId = Number(segmentId) || 0; - - if (segmentId < 1) { - return callback(new Error(_('Missing Segment ID'))); - } - - rule = tools.convertKeys(rule); - - module.exports.get(segmentId, (err, segment) => { - if (err) { - return callback(err); - } - - if (!segment) { - return callback(new Error(_('Selected segment not found'))); - } - - let column = segment.columns.filter(column => column.column === rule.column).pop(); - if (!column) { - return callback(new Error(_('Invalid rule type'))); - } - - let value; - - switch (column.type) { - case 'date': - case 'birthday': - case 'number': - if (column.type === 'date' && rule.range === 'relative') { - value = { - relativeRange: true, - start: Number(rule.startRelative) || 0, - startDirection: Number(rule.startDirection) ? 1 : 0, - end: Number(rule.endRelative) || 0, - endDirection: Number(rule.endDirection) ? 1 : 0 - }; - } else if (rule.range === 'yes') { - value = { - range: true, - start: rule.start, - end: rule.end - }; - } else { - value = { - value: rule.value - }; - } - break; - case 'boolean': - value = { - value: rule.value ? 1 : 0 - }; - break; - default: - value = { - negate: Number(rule.negate) ? 1 : 0, - value: rule.value - }; - } - - let keys = ['segment', 'column', 'value']; - let values = [segment.id, rule.column, JSON.stringify(value)]; - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - let query = 'INSERT INTO segment_rules (`' + keys.join('`, `') + '`) VALUES (' + values.map(() => '?').join(',') + ')'; - connection.query(query, values, (err, result) => { - connection.release(); - if (err) { - return callback(err); - } - return callback(null, result && result.insertId || false); - }); - }); - }); -}; - -module.exports.getRule = (id, callback) => { - id = Number(id) || 0; - - if (id < 1) { - return callback(new Error(_('Missing Rule ID'))); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - let query = 'SELECT * FROM segment_rules WHERE id=? LIMIT 1'; - connection.query(query, [id], (err, rows) => { - connection.release(); - if (err) { - return callback(err); - } - - if (!rows || !rows.length) { - return callback(new Error(_('Specified rule not found'))); - } - - let rule = tools.convertKeys(rows[0]); - - module.exports.get(rule.segment, (err, segment) => { - if (err) { - return callback(err); - } - - if (!segment) { - return callback(new Error(_('Specified segment not found'))); - } - - if (rule.value) { - try { - rule.value = JSON.parse(rule.value); - } catch (E) { - // ignore - } - } - if (!rule.value) { - rule.value = {}; - } - - rule.columnType = segment.columns.filter(column => rule.column === column.column).pop() || {}; - - rule.name = rule.columnType.name || ''; - switch (rule.columnType.type) { - case 'number': - case 'date': - case 'birthday': - if (rule.value.relativeRange) { - - let startString = rule.value.startDirection ? util.format(_('%s days after today'), rule.value.start) : util.format(_('%s days before today'), rule.value.start); - let endString = rule.value.endDirection ? util.format(_('%s days after today'), rule.value.end) : util.format(_('%s days before today'), rule.value.end); - rule.formatted = (rule.value.start ? startString : _('today')) + ' … ' + (rule.value.end ? endString : _('today')); - } else if (rule.value.range) { - rule.formatted = (rule.value.start || '') + ' … ' + (rule.value.end || ''); - } else { - rule.formatted = rule.value.value || ''; - } - break; - case 'boolean': - rule.formatted = rule.value.value ? _('Selected') : _('Not selected'); - break; - default: - rule.formatted = (rule.value.negate ? '!= ' : '') + (rule.value.value || ''); - } - - return callback(null, rule); - }); - }); - }); -}; - -module.exports.updateRule = (id, rule, callback) => { - id = Number(id) || 0; - - if (id < 1) { - return callback(new Error(_('Missing Rule ID'))); - } - - rule = tools.convertKeys(rule); - - module.exports.getRule(id, (err, existingRule) => { - if (err) { - return callback(err); - } - - if (!existingRule) { - return callback(new Error(_('Selected rule not found'))); - } - - module.exports.get(existingRule.segment, (err, segment) => { - if (err) { - return callback(err); - } - - if (!segment) { - return callback(new Error(_('Selected segment not found'))); - } - - let column = segment.columns.filter(column => column.column === existingRule.column).pop(); - if (!column) { - return callback(new Error(_('Invalid rule type'))); - } - - let value; - switch (column.type) { - case 'date': - case 'birthday': - case 'number': - if (column.type === 'date' && rule.range === 'relative') { - value = { - relativeRange: true, - start: Number(rule.startRelative) || 0, - startDirection: Number(rule.startDirection) ? 1 : 0, - end: Number(rule.endRelative) || 0, - endDirection: Number(rule.endDirection) ? 1 : 0 - }; - } else if (rule.range === 'yes') { - value = { - range: true, - start: rule.start, - end: rule.end - }; - } else { - value = { - value: rule.value - }; - } - break; - case 'boolean': - value = { - value: rule.value ? 1 : 0 - }; - break; - default: - value = { - negate: Number(rule.negate) ? 1 : 0, - value: rule.value - }; - } - - let keys = ['value']; - let values = [JSON.stringify(value)]; - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - values.push(id); - - connection.query('UPDATE segment_rules SET ' + keys.map(key => '`' + key + '`=?').join(', ') + ' WHERE id=? LIMIT 1', values, (err, result) => { - connection.release(); - if (err) { - return callback(err); - } - return callback(null, result && result.affectedRows || false); - }); - }); - }); - }); -}; - -module.exports.deleteRule = (id, callback) => { - id = Number(id) || 0; - - if (id < 1) { - return callback(new Error(_('Missing Rule ID'))); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - connection.query('DELETE FROM segment_rules WHERE id=? LIMIT 1', [id], err => { - connection.release(); - if (err) { - return callback(err); - } - return callback(null, true); - }); - }); -}; - -module.exports.getQuery = (id, prefix, callback) => { - module.exports.get(id, (err, segment) => { - if (err) { - return callback(err); - } - - if (!segment) { - return callback(new Error(_('Segment not found'))); - } - - prefix = prefix ? prefix + '.' : ''; - - let query = []; - let values = []; - - let getRelativeDate = (days, direction) => { - let date = new Date(Date.now() + (direction ? 1 : -1) * days * 24 * 3600 * 1000); - return date.toISOString().substr(0, 10); - }; - - let getDate = (value, nextDay) => { - let parts = value.trim().split(/\D/); - let year = Number(parts.shift()) || 0; - let month = Number(parts.shift()) || 0; - let day = Number(parts.shift()) || 0; - if (!year || !month || !day) { - return false; - } - return new Date(Date.UTC(year, month - 1, day + (nextDay ? 1 : 0))); - }; - - segment.rules.forEach(rule => { - switch (rule.columnType.type) { - case 'string': - let condition = rule.value.negate ? 'NOT LIKE' : 'LIKE'; - query.push(prefix + '`' + rule.columnType.column + '` ' + condition + ' ?'); - values.push(rule.value.value); - break; - case 'boolean': - query.push(prefix + '`' + rule.columnType.column + '` = ?'); - values.push(rule.value.value); - break; - case 'number': - if (rule.value.range) { - let ruleval = ''; - if (rule.value.start) { - ruleval = prefix + '`' + rule.columnType.column + '` >= ?'; - values.push(rule.value.start); - } - if (rule.value.end) { - ruleval = (ruleval ? '(' + ruleval + ' AND ' : '') + prefix + '`' + rule.columnType.column + '` < ?' + (ruleval ? ')' : ''); - values.push(rule.value.end); - } - if (ruleval) { - query.push(ruleval); - } - } else { - query.push(prefix + '`' + rule.columnType.column + '` = ?'); - values.push(rule.value.value); - } - break; - case 'birthday': - if (rule.value.range) { - let start = rule.value.start || '01-01'; - let end = rule.value.end || '12-31'; - query.push('(' + prefix + '`' + rule.columnType.column + '` >= ? AND ' + prefix + '`' + rule.columnType.column + '` < ?)'); - values.push(getDate('2000-' + start)); - values.push(getDate('2000-' + end, true)); - } else { - query.push('(' + prefix + '`' + rule.columnType.column + '` >= ? AND ' + prefix + '`' + rule.columnType.column + '` < ?)'); - values.push(getDate('2000-' + rule.value.value)); - values.push(getDate('2000-' + rule.value.value, true)); - } - break; - case 'date': - if (rule.value.relativeRange) { - query.push('(' + prefix + '`' + rule.columnType.column + '` >= ? AND ' + prefix + '`' + rule.columnType.column + '` < ?)'); - // start - values.push(getDate(getRelativeDate(rule.value.start, rule.value.startDirection))); - // end - values.push(getDate(getRelativeDate(rule.value.end, rule.value.endDirection), true)); - } else if (rule.value.range) { - let ruleval = ''; - if (rule.value.start) { - ruleval = prefix + '`' + rule.columnType.column + '` >= ?'; - values.push(getDate(rule.value.start)); - } - if (rule.value.end) { - ruleval = (ruleval ? '(' + ruleval + ' AND ' : '') + prefix + '`' + rule.columnType.column + '` < ?' + (ruleval ? ')' : ''); - values.push(getDate(rule.value.end, true)); - } - if (ruleval) { - query.push(ruleval); - } - } else { - query.push('(' + prefix + '`' + rule.columnType.column + '` >= ? AND ' + prefix + '`' + rule.columnType.column + '` < ?)'); - values.push(getDate(rule.value.value)); - values.push(getDate(rule.value.value, true)); - } - - break; - } - }); - - return callback(null, { - where: query.join(segment.type === 1 ? ' AND ' : ' OR ') || '1', - values - }); - }); -}; - -module.exports.subscribers = (id, onlySubscribed, callback) => { - module.exports.get(id, (err, segment) => { - if (err) { - return callback(err); - } - if (!segment) { - return callback(new Error(_('Segment not found'))); - } - module.exports.getQuery(id, false, (err, queryData) => { - if (err) { - return callback(err); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - let query; - if (!onlySubscribed) { - query = 'SELECT COUNT(id) AS `count` FROM `subscription__' + segment.list + '` WHERE ' + queryData.where + ' LIMIT 1'; - } else { - query = 'SELECT COUNT(id) AS `count` FROM `subscription__' + segment.list + '` WHERE `status`=1 ' + (queryData.where ? ' AND (' + queryData.where + ')' : '') + ' LIMIT 1'; - } - - connection.query(query, queryData.values, (err, rows) => { - connection.release(); - if (err) { - return callback(err); - } - let count = rows && rows[0] && rows[0].count || 0; - return callback(null, count); - }); - }); - }); - }); -}; diff --git a/lib/models/settings.js b/lib/models/settings.js deleted file mode 100644 index 9655ebd7..00000000 --- a/lib/models/settings.js +++ /dev/null @@ -1,77 +0,0 @@ -'use strict'; - -let tools = require('../tools'); -let db = require('../db'); - -module.exports = { - list: listValues, - get: getValue, - set: setValue -}; - -function listValues(filter, callback) { - if (!callback && typeof filter === 'function') { - callback = filter; - filter = false; - } - - // TODO: It would be good to cache the settings. It feels awkward to always go to DB to retrieve something what is essentially a constant - - filter = [].concat(filter || []).map(key => tools.toDbKey(key)); - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - let query; - - if (filter.length) { - query = 'SELECT * FROM settings WHERE `key` IN (' + filter.map(() => '?').join(',') + ')'; - } else { - query = 'SELECT * FROM settings'; - } - - connection.query(query, filter, (err, rows) => { - connection.release(); - if (err) { - return callback(err); - } - let settings = {}; - (rows || []).forEach(row => { - settings[row.key] = row.value; - }); - return callback(null, tools.convertKeys(settings)); - }); - }); -} - -function getValue(key, callback) { - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - connection.query('SELECT `value` FROM settings WHERE `key`=?', [tools.toDbKey(key)], (err, rows) => { - connection.release(); - if (err) { - return callback(err); - } - return callback(null, rows && rows[0] && rows[0].value || false); - }); - }); -} - -function setValue(key, value, callback) { - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - connection.query('INSERT INTO settings (`key`, `value`) VALUES (?,?) ON DUPLICATE KEY UPDATE `key`=?, `value`=?', [key, value, key, value], (err, response) => { - connection.release(); - if (err) { - return callback(err); - } - return callback(null, response && response.insertId || 0); - }); - }); -} diff --git a/lib/models/subscriptions.js b/lib/models/subscriptions.js deleted file mode 100644 index 3a9a7f58..00000000 --- a/lib/models/subscriptions.js +++ /dev/null @@ -1,933 +0,0 @@ -'use strict'; - -let db = require('../db'); -let shortid = require('shortid'); -let striptags = require('striptags'); -let tools = require('../tools'); -let helpers = require('../helpers'); -let fields = require('./fields'); -let segments = require('./segments'); -let _ = require('../translate')._; -let tableHelpers = require('../table-helpers'); - -const Status = { - SUBSCRIBED: 1, - UNSUBSCRIBED: 2, - BOUNCED: 3, - COMPLAINED: 4, - MAX: 5 -}; - -module.exports.Status = Status; - -module.exports.list = (listId, start, limit, callback) => { - listId = Number(listId) || 0; - if (!listId) { - return callback(new Error('Missing List ID')); - } - - tableHelpers.list('subscription__' + listId, ['*'], 'email', null, start, limit, (err, rows, total) => { - if (!err) { - rows = rows.map(row => tools.convertKeys(row)); - } - return callback(err, rows, total); - }); -}; - -module.exports.listTestUsers = (listId, callback) => { - listId = Number(listId) || 0; - - if (listId < 1) { - return callback(new Error('Missing List ID')); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - connection.query('SELECT id, cid, email, first_name, last_name FROM `subscription__' + listId + '` WHERE is_test=1 LIMIT 100', (err, rows) => { - connection.release(); - if (err) { - return callback(err); - } - - if (!rows || !rows.length) { - return callback(null, []); - } - - let subscribers = rows.map(subscriber => { - subscriber = tools.convertKeys(subscriber); - let fullName = [].concat(subscriber.firstName || []).concat(subscriber.lastName || []).join(' '); - if (fullName) { - subscriber.displayName = fullName + ' <' + subscriber.email + '>'; - } else { - subscriber.displayName = subscriber.email; - } - return subscriber; - }); - return callback(null, subscribers); - }); - }); -}; - -module.exports.filter = (listId, request, columns, segmentId, callback) => { - listId = Number(listId) || 0; - segmentId = Number(segmentId) || 0; - - if (!listId) { - return callback(new Error(_('Missing List ID'))); - } - - if (segmentId) { - segments.getQuery(segmentId, false, (err, queryData) => { - if (err) { - return callback(err); - } - - tableHelpers.filter('subscription__' + listId, ['*'], request, columns, ['email', 'first_name', 'last_name'], 'email ASC', queryData, callback); - }); - } else { - tableHelpers.filter('subscription__' + listId, ['*'], request, columns, ['email', 'first_name', 'last_name'], 'email ASC', null, callback); - } - -}; - - -/* - Adds a new subscription. Returns error if a subscription with the same email address is already present and is not unsubscribed. - If it is unsubscribed, the existing subscription is changed based on the provided data. - If meta.partial is true, it updates even an active subscription. - */ -module.exports.insert = (listId, meta, subscriptionData, callback) => { - meta = tools.convertKeys(meta); - subscriptionData = tools.convertKeys(subscriptionData); - - meta.email = meta.email || subscriptionData.email; - meta.cid = meta.cid || shortid.generate(); - - fields.list(listId, (err, fieldList) => { - if (err) { - return callback(err); - } - - let insertKeys = ['email', 'cid', 'opt_in_ip', 'opt_in_country', 'imported']; - let insertValues = [meta.email, meta.cid, meta.optInIp || null, meta.optInCountry || null, meta.imported || null]; - let keys = []; - let values = []; - - let allowedKeys = ['first_name', 'last_name', 'tz', 'is_test']; - Object.keys(subscriptionData).forEach(key => { - let value = subscriptionData[key]; - key = tools.toDbKey(key); - if (key === 'tz') { - value = (value || '').toString().toLowerCase().trim(); - } - if (key === 'is_test') { - value = value ? '1' : '0'; - } - if (allowedKeys.indexOf(key) >= 0) { - keys.push(key); - values.push(value); - } - }); - - fields.getValues(fields.getRow(fieldList, subscriptionData, true, true, !!meta.partial), true).forEach(field => { - keys.push(field.key); - values.push(field.value); - }); - - values = values.map(v => typeof v === 'string' ? striptags(v) : v); - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - connection.beginTransaction(err => { - if (err) { - connection.release(); - return callback(err); - } - - let query = 'SELECT `id`, `status`, `cid` FROM `subscription__' + listId + '` WHERE `email`=? OR `cid`=? LIMIT 1'; - connection.query(query, [meta.email, meta.cid], (err, rows) => { - if (err) { - return helpers.rollbackAndReleaseConnection(connection, () => callback(err)); - } - - let query; - let queryArgs; - let existing = rows && rows[0] || false; - let entryId = existing ? existing.id : false; - - meta.cid = existing ? rows[0].cid : meta.cid; - - // meta.status may be 'undefined' or '0' when adding a subscription via API call or CSV import. In both cases meta.partial is 'true'. - // This must either update an existing subscription without changing its status or insert a new subscription with status SUBSCRIBED. - meta.status = meta.status || (existing ? existing.status : Status.SUBSCRIBED); - - let statusChange = !existing || existing.status !== meta.status; - let statusDirection; - - if (existing && existing.status === Status.SUBSCRIBED && !meta.partial) { - return helpers.rollbackAndReleaseConnection(connection, () => callback(new Error(_('Email address already registered')))); - } - - if (statusChange) { - keys.push('status', 'status_change'); - values.push(meta.status, new Date()); - statusDirection = !existing ? (meta.status === Status.SUBSCRIBED ? '+' : false) : (existing.status === Status.SUBSCRIBED ? '-' : '+'); - } - - if (!keys.length) { - // nothing to update - return connection.commit(err => { - if (err) { - return helpers.rollbackAndReleaseConnection(connection, () => callback(err)); - } - connection.release(); - return callback(null, { - entryId, - cid: meta.cid, - inserted: !existing - }); - }); - } - - if (!existing) { - // insert as new - keys = insertKeys.concat(keys); - queryArgs = values = insertValues.concat(values); - query = 'INSERT INTO `subscription__' + listId + '` (`' + keys.join('`, `') + '`) VALUES (' + keys.map(() => '?').join(',') + ')'; - } else { - // update existing - queryArgs = values.concat(existing.id); - query = 'UPDATE `subscription__' + listId + '` SET ' + keys.map(key => '`' + key + '`=?') + ' WHERE id=? LIMIT 1'; - } - - connection.query(query, queryArgs, (err, result) => { - if (err) { - return helpers.rollbackAndReleaseConnection(connection, () => callback(err)); - } - - entryId = result.insertId || entryId; - - if (statusChange && statusDirection) { - connection.query('UPDATE lists SET `subscribers`=`subscribers`' + statusDirection + '1 WHERE id=?', [listId], err => { - if (err) { - return helpers.rollbackAndReleaseConnection(connection, () => callback(err)); - } - connection.commit(err => { - if (err) { - return helpers.rollbackAndReleaseConnection(connection, () => callback(err)); - } - connection.release(); - return callback(null, { - entryId, - cid: meta.cid, - inserted: !existing - }); - }); - }); - } else { - connection.commit(err => { - if (err) { - return helpers.rollbackAndReleaseConnection(connection, () => callback(err)); - } - connection.release(); - return callback(null, { - entryId, - cid: meta.cid, - inserted: !existing - }); - }); - } - }); - }); - }); - }); - }); -}; - -module.exports.get = (listId, cid, callback) => { - cid = (cid || '').toString().trim(); - - if (!cid) { - return callback(new Error(_('Missing Subscription ID'))); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - connection.query('SELECT * FROM `subscription__' + listId + '` WHERE cid=?', [cid], (err, rows) => { - connection.release(); - if (err) { - return callback(err); - } - - if (!rows || !rows.length) { - return callback(null, false); - } - - let subscription = tools.convertKeys(rows[0]); - // ensure list id in response - subscription.list = subscription.list || listId; - return callback(null, subscription); - }); - }); -}; - -module.exports.getById = (listId, id, callback) => { - id = Number(id) || 0; - - if (!id) { - return callback(new Error(_('Missing Subscription ID'))); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - connection.query('SELECT * FROM `subscription__' + listId + '` WHERE id=?', [id], (err, rows) => { - connection.release(); - if (err) { - return callback(err); - } - - if (!rows || !rows.length) { - return callback(null, false); - } - - let subscription = tools.convertKeys(rows[0]); - // ensure list id in response - subscription.list = subscription.list || listId; - return callback(null, subscription); - }); - }); -}; - -module.exports.getByEmail = (listId, email, callback) => { - if (!email) { - return callback(new Error(_('Missing Subscription email address'))); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - connection.query('SELECT * FROM `subscription__' + listId + '` WHERE email=?', [email], (err, rows) => { - connection.release(); - if (err) { - return callback(err); - } - - if (!rows || !rows.length) { - return callback(null, false); - } - - let subscription = tools.convertKeys(rows[0]); - // ensure list id in response - subscription.list = subscription.list || listId; - return callback(null, subscription); - }); - }); -}; - -module.exports.getWithMergeTags = (listId, cid, callback) => { - module.exports.get(listId, cid, (err, subscription) => { - if (err) { - return callback(err); - } - - if (!subscription) { - return callback(null, false); - } - - fields.list(listId, (err, fieldList) => { - if (err || !fieldList) { - return fieldList = []; - } - - subscription.mergeTags = { - EMAIL: subscription.email, - FIRST_NAME: subscription.firstName, - LAST_NAME: subscription.lastName, - FULL_NAME: [].concat(subscription.firstName || []).concat(subscription.lastName || []).join(' '), - TIMEZONE: subscription.tz || '' - }; - - fields.getRow(fieldList, subscription, false, true).forEach(field => { - if (field.mergeTag) { - subscription.mergeTags[field.mergeTag] = field.mergeValue || ''; - } - if (field.options) { - field.options.forEach(subField => { - if (subField.mergeTag) { - subscription.mergeTags[subField.mergeTag] = subField.mergeValue || ''; - } - }); - } - }); - return callback(null, subscription); - }); - }); -}; - -module.exports.update = (listId, cid, updates, allowEmail, callback) => { - updates = tools.convertKeys(updates); - listId = Number(listId) || 0; - cid = (cid || '').toString().trim(); - - let keys = []; - let values = []; - - if (listId < 1) { - return callback(new Error(_('Missing List ID'))); - } - - if (!cid) { - return callback(new Error(_('Missing Subscription ID'))); - } - - fields.list(listId, (err, fieldList) => { - if (err) { - return callback(err); - } - - let allowedKeys = ['first_name', 'last_name', 'tz', 'is_test']; - - if (allowEmail) { - allowedKeys.unshift('email'); - } - - Object.keys(updates).forEach(key => { - let value = updates[key]; - key = tools.toDbKey(key); - if (key === 'tz') { - value = (value || '').toString().toLowerCase().trim(); - } - if (allowedKeys.indexOf(key) >= 0) { - keys.push(key); - values.push(value); - } - }); - - fields.getValues(fields.getRow(fieldList, updates, true, true, true), true).forEach(field => { - keys.push(field.key); - values.push(field.value); - }); - - if (!values.length) { - return callback(null, false); - } - - values = values.map(v => typeof v === 'string' ? striptags(v) : v); - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - values.push(cid); - connection.query('UPDATE `subscription__' + listId + '` SET ' + keys.map(key => '`' + key + '`=?').join(', ') + ' WHERE `cid`=? LIMIT 1', values, (err, result) => { - connection.release(); - if (err) { - return callback(err); - } - return callback(null, result && result.affectedRows || false); - }); - }); - }); -}; - -module.exports.changeStatus = (listId, id, campaignId, status, callback) => { - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - connection.beginTransaction(err => { - if (err) { - connection.release(); - return callback(err); - } - - connection.query('SELECT `status` FROM `subscription__' + listId + '` WHERE id=? LIMIT 1', [id], (err, rows) => { - if (err) { - return helpers.rollbackAndReleaseConnection(connection, () => callback(err)); - } - - if (!rows || !rows.length) { - return helpers.rollbackAndReleaseConnection(connection, () => callback(null, false)); - } - - let oldStatus = rows[0].status; - let statusChange = oldStatus !== status; - let statusDirection; - - if (!statusChange) { - return helpers.rollbackAndReleaseConnection(connection, () => callback(null, true)); - } - - if (statusChange && oldStatus === Status.SUBSCRIBED || status === Status.SUBSCRIBED) { - statusDirection = status === Status.SUBSCRIBED ? '+' : '-'; - } - - connection.query('UPDATE `subscription__' + listId + '` SET `status`=?, `status_change`=NOW() WHERE id=? LIMIT 1', [status, id], err => { - if (err) { - return helpers.rollbackAndReleaseConnection(connection, () => callback(err)); - } - - if (!statusDirection) { - return connection.commit(err => { - if (err) { - return helpers.rollbackAndReleaseConnection(connection, () => callback(err)); - } - connection.release(); - return callback(null, true); - }); - } - - connection.query('UPDATE `lists` SET `subscribers`=`subscribers`' + statusDirection + '1 WHERE id=? LIMIT 1', [listId], err => { - if (err) { - return helpers.rollbackAndReleaseConnection(connection, () => callback(err)); - } - - // status change is not related to a campaign or it marks message as bounced etc. - if (!campaignId || status !== Status.SUBSCRIBED && status !== Status.UNSUBSCRIBED) { - return connection.commit(err => { - if (err) { - return helpers.rollbackAndReleaseConnection(connection, () => callback(err)); - } - connection.release(); - return callback(null, true); - }); - } - - connection.query('SELECT `id` FROM `campaigns` WHERE `cid`=? LIMIT 1', [campaignId], (err, rows) => { - if (err) { - return helpers.rollbackAndReleaseConnection(connection, () => callback(err)); - } - - let campaign = rows && rows[0] || false; - - if (!campaign) { - // should not happend - return connection.commit(err => { - if (err) { - return helpers.rollbackAndReleaseConnection(connection, () => callback(err)); - } - connection.release(); - return callback(null, true); - }); - } - - // we should see only unsubscribe events here but you never know - connection.query('UPDATE `campaigns` SET `unsubscribed`=`unsubscribed`' + (status === Status.UNSUBSCRIBED ? '+' : '-') + '1 WHERE `cid`=? LIMIT 1', [campaignId], err => { - if (err) { - return helpers.rollbackAndReleaseConnection(connection, () => callback(err)); - } - - let query = 'UPDATE `campaign__' + campaign.id + '` SET `status`=? WHERE `list`=? AND `subscription`=? LIMIT 1'; - let values = [status, listId, id]; - - // Updated tracker status - connection.query(query, values, err => { - if (err) { - return helpers.rollbackAndReleaseConnection(connection, () => callback(err)); - } - - return connection.commit(err => { - if (err) { - return helpers.rollbackAndReleaseConnection(connection, () => callback(err)); - } - connection.release(); - return callback(null, true); - }); - }); - }); - }); - }); - }); - }); - }); - }); -}; - -module.exports.delete = (listId, cid, callback) => { - listId = Number(listId) || 0; - cid = (cid || '').toString().trim(); - - if (listId < 1) { - return callback(new Error(_('Missing List ID'))); - } - - if (!cid) { - return callback(new Error(_('Missing subscription ID'))); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - connection.query('SELECT id, email, status FROM `subscription__' + listId + '` WHERE cid=? LIMIT 1', [cid], (err, rows) => { - if (err) { - connection.release(); - return callback(err); - } - - let subscription = rows && rows[0]; - if (!subscription) { - connection.release(); - return callback(null, false); - } - - connection.beginTransaction(err => { - if (err) { - connection.release(); - return callback(err); - } - - connection.query('DELETE FROM `subscription__' + listId + '` WHERE cid=? LIMIT 1', [cid], err => { - if (err) { - return helpers.rollbackAndReleaseConnection(connection, () => callback(err)); - } - - if (subscription.status !== Status.SUBSCRIBED) { - return connection.commit(err => { - if (err) { - return helpers.rollbackAndReleaseConnection(connection, () => callback(err)); - } - connection.release(); - return callback(null, subscription.email); - }); - } - - connection.query('UPDATE lists SET subscribers=subscribers-1 WHERE id=? LIMIT 1', [listId], err => { - if (err) { - return helpers.rollbackAndReleaseConnection(connection, () => callback(err)); - } - connection.commit(err => { - if (err) { - return helpers.rollbackAndReleaseConnection(connection, () => callback(err)); - } - connection.release(); - return callback(null, subscription.email); - }); - }); - }); - }); - }); - }); -}; - -module.exports.createImport = (listId, type, path, size, delimiter, emailcheck, mapping, callback) => { - listId = Number(listId) || 0; - type = Number(type) || 0; - - if (listId < 1) { - return callback(new Error('Missing List ID')); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - let query = 'INSERT INTO importer (`list`, `type`, `path`, `size`, `delimiter`, `emailcheck`, `mapping`) VALUES(?,?,?,?,?,?,?)'; - connection.query(query, [listId, type, path, size, delimiter, emailcheck, JSON.stringify(mapping)], (err, result) => { - connection.release(); - if (err) { - return callback(err); - } - return callback(null, result && result.insertId || false); - }); - }); -}; - -module.exports.updateImport = (listId, importId, data, callback) => { - listId = Number(listId) || 0; - importId = Number(importId) || 0; - - if (listId < 1) { - return callback(new Error(_('Missing List ID'))); - } - - if (importId < 1) { - return callback(new Error(_('Missing Import ID'))); - } - - let keys = []; - let values = []; - - let allowedKeys = ['type', 'path', 'size', 'delimiter', 'status', 'error', 'processed', 'new', 'failed', 'mapping', 'finished']; - Object.keys(data).forEach(key => { - let value = data[key]; - key = tools.toDbKey(key); - if (allowedKeys.indexOf(key) >= 0) { - keys.push(key); - values.push(value); - } - }); - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - let query = 'UPDATE importer SET ' + keys.map(key => '`' + key + '`=?') + ' WHERE id=? AND list=? LIMIT 1'; - connection.query(query, values.concat([importId, listId]), (err, result) => { - if (err) { - connection.release(); - return callback(err); - } - - let affected = result && result.affectedRows || false; - - if (data.failed === 0) { - // remove entries from import_failed table - let query = 'DELETE FROM `import_failed` WHERE `import`=?'; - connection.query(query, [importId], () => { - connection.release(); - return callback(null, affected); - }); - } else { - connection.release(); - return callback(null, affected); - } - }); - }); -}; - -module.exports.getImport = (listId, importId, callback) => { - listId = Number(listId) || 0; - importId = Number(importId) || 0; - - if (listId < 1) { - return callback(new Error(_('Missing List ID'))); - } - - if (importId < 1) { - return callback(new Error(_('Missing Import ID'))); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - let query = 'SELECT * FROM importer WHERE id=? AND list=? LIMIT 1'; - connection.query(query, [importId, listId], (err, rows) => { - connection.release(); - if (err) { - return callback(err); - } - - if (!rows || !rows.length) { - return callback(null, false); - } - - let importer = tools.convertKeys(rows[0]); - try { - importer.mapping = JSON.parse(importer.mapping); - } catch (E) { - importer.mapping = { - columns: [] - }; - } - - return callback(null, importer); - }); - }); -}; - -module.exports.getFailedImports = (importId, callback) => { - importId = Number(importId) || 0; - - if (importId < 1) { - return callback(new Error(_('Missing Import ID'))); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - let query = 'SELECT * FROM import_failed WHERE import=? LIMIT 1000'; - connection.query(query, [importId], (err, rows) => { - connection.release(); - if (err) { - return callback(err); - } - - return callback(null, (rows || []).map(tools.convertKeys)); - }); - }); -}; - -module.exports.listImports = (listId, callback) => { - listId = Number(listId) || 0; - - if (listId < 1) { - return callback(new Error(_('Missing List ID'))); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - let query = 'SELECT * FROM importer WHERE list=? AND status > 0 ORDER BY id DESC'; - connection.query(query, [listId], (err, rows) => { - connection.release(); - if (err) { - return callback(err); - } - - if (!rows || !rows.length) { - return callback(null, []); - } - - let imports = rows.map(row => { - let importer = tools.convertKeys(row); - try { - importer.mapping = JSON.parse(importer.mapping); - } catch (E) { - importer.mapping = { - columns: [] - }; - } - return importer; - }); - - return callback(null, imports); - }); - }); -}; - -/* -Performs checks before update of an address. This includes finding the existing subscriber, validating the new email -and checking whether the new email does not conflict with other subscribers. - */ -module.exports.updateAddressCheck = (list, cid, emailNew, ip, callback) => { - cid = (cid || '').toString().trim(); - - if (!list || !list.id) { - return callback(new Error(_('Missing List ID'))); - } - - if (!cid) { - return callback(new Error(_('Missing subscription ID'))); - } - - tools.validateEmail(emailNew, false, err => { - if (err) { - return callback(err); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - let query = 'SELECT * FROM `subscription__' + list.id + '` WHERE `cid`=? AND `status`=' + Status.SUBSCRIBED + ' LIMIT 1'; - let args = [cid]; - connection.query(query, args, (err, rows) => { - if (err) { - connection.release(); - return callback(err); - } - if (!rows || !rows.length) { - connection.release(); - return callback(new Error(_('Unknown subscription ID'))); - } - - if (rows[0].email === emailNew) { - connection.release(); - return callback(new Error(_('Nothing seems to be changed'))); - } - - let old = rows[0]; - - let query = 'SELECT `id` FROM `subscription__' + list.id + '` WHERE `email`=? AND `cid`<>? AND `status`=' + Status.SUBSCRIBED + ' LIMIT 1'; - let args = [emailNew, cid]; - connection.query(query, args, (err, rows) => { - connection.release(); - if (err) { - return callback(err); - } - - if (rows && rows.length > 0) { - return callback(null, old, false); - } else { - return callback(null, old, true); - } - }); - }); - }); - }); -}; - - -/* - Updates address in subscription__xxx - */ -module.exports.updateAddress = (listId, subscriptionId, emailNew, callback) => { - // update email address instead of adding new - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - connection.beginTransaction(err => { - if (err) { - connection.release(); - return callback(err); - } - - let query = 'SELECT `id` FROM `subscription__' + listId + '` WHERE `email`=? AND `id`<>? AND `status`=' + Status.SUBSCRIBED + ' LIMIT 1'; - let args = [emailNew, subscriptionId]; - connection.query(query, args, (err, rows) => { - if (err) { - return helpers.rollbackAndReleaseConnection(connection, () => callback(err)); - } - - if (rows && rows.length > 0) { - return helpers.rollbackAndReleaseConnection(connection, () => callback(new Error(_('Email address already registered')))); - } - - let query = 'DELETE FROM `subscription__' + listId + '` WHERE `email`=? AND `id`<>?'; - let args = [emailNew, subscriptionId]; - connection.query(query, args, err => { - if (err) { - return helpers.rollbackAndReleaseConnection(connection, () => callback(err)); - } - - let query = 'UPDATE `subscription__' + listId + '` SET `email`=? WHERE `id`=? AND `status`=' + Status.SUBSCRIBED + ' LIMIT 1'; - let args = [emailNew, subscriptionId]; - connection.query(query, args, (err, result) => { - if (err) { - return helpers.rollbackAndReleaseConnection(connection, () => callback(err)); - } - - if (!result || !result.affectedRows) { - return helpers.rollbackAndReleaseConnection(connection, () => callback(new Error(_('Subscription not found in this list')))); - } - - return connection.commit(err => { - if (err) { - return helpers.rollbackAndReleaseConnection(connection, () => callback(err)); - } - connection.release(); - - return callback(); - }); - }); - }); - }); - }); - }); - -}; - -module.exports.getUnsubscriptionMode = (list, subscriptionId) => list.unsubscriptionMode; // eslint-disable-line no-unused-vars -// TODO: Once the unsubscription mode is customizable per segment, then this will be a good place to process it. diff --git a/lib/models/templates.js b/lib/models/templates.js deleted file mode 100644 index b0f0099e..00000000 --- a/lib/models/templates.js +++ /dev/null @@ -1,176 +0,0 @@ -'use strict'; - -let db = require('../db'); -let tools = require('../tools'); -let _ = require('../translate')._; -let tableHelpers = require('../table-helpers'); - -let allowedKeys = ['description', 'editor_name', 'editor_data', 'html', 'text']; - -module.exports.list = (start, limit, callback) => { - tableHelpers.list('templates', ['*'], 'name', null, start, limit, callback); -}; - -module.exports.filter = (request, parent, callback) => { - tableHelpers.filter('templates', ['*'], request, ['#', 'name', 'description'], ['name'], 'name ASC', null, callback); -}; - -module.exports.quicklist = callback => { - tableHelpers.quicklist('templates', ['id', 'name'], 'name', callback); -}; - -module.exports.get = (id, callback) => { - id = Number(id) || 0; - - if (id < 1) { - return callback(new Error(_('Missing Template ID'))); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - connection.query('SELECT * FROM templates WHERE id=?', [id], (err, rows) => { - connection.release(); - if (err) { - return callback(err); - } - - if (!rows || !rows.length) { - return callback(null, false); - } - - let template = tools.convertKeys(rows[0]); - return callback(null, template); - }); - }); -}; - -module.exports.create = (template, callback) => { - - let data = tools.convertKeys(template); - - if (!(data.name || '').toString().trim()) { - return callback(new Error(_('Template Name must be set'))); - } - - let name = (template.name || '').toString().trim(); - - let keys = ['name']; - let values = [name]; - - Object.keys(template).forEach(key => { - let value = template[key]; - key = tools.toDbKey(key); - if (!allowedKeys.includes(key)) { - return; - } - value = value.trim(); - if (key === 'description') { - value = tools.purifyHTML(value); - } - keys.push(key); - values.push(value); - }); - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - let query = 'INSERT INTO templates (' + keys.join(', ') + ') VALUES (' + values.map(() => '?').join(',') + ')'; - connection.query(query, values, (err, result) => { - connection.release(); - if (err) { - return callback(err); - } - - let templateId = result && result.insertId || false; - return callback(null, templateId); - }); - }); -}; - -module.exports.update = (id, updates, callback) => { - updates = updates || {}; - id = Number(id) || 0; - - let data = tools.convertKeys(updates); - - if (id < 1) { - return callback(new Error(_('Missing Template ID'))); - } - - if (!(data.name || '').toString().trim()) { - return callback(new Error(_('Template Name must be set'))); - } - - let name = (updates.name || '').toString().trim(); - let keys = ['name']; - let values = [name]; - - Object.keys(updates).forEach(key => { - let value = updates[key].trim(); - key = tools.toDbKey(key); - if (key === 'description') { - value = tools.purifyHTML(value); - } - if (allowedKeys.indexOf(key) >= 0) { - keys.push(key); - values.push(value); - } - }); - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - values.push(id); - - connection.query('UPDATE templates SET ' + keys.map(key => key + '=?').join(', ') + ' WHERE id=? LIMIT 1', values, (err, result) => { - connection.release(); - if (err) { - return callback(err); - } - return callback(null, result && result.affectedRows || false); - }); - }); -}; - -module.exports.duplicate = (id, callback) => module.exports.get(id, (err, template) => { - if (err) { - return callback(err); - } - if (!template) { - return callback(new Error(_('Template does not exist'))); - } - template.name = template.name + ' Copy'; - return module.exports.create(template, callback); -}); - -module.exports.delete = (id, callback) => { - id = Number(id) || 0; - - if (id < 1) { - return callback(new Error(_('Missing Template ID'))); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - connection.query('DELETE FROM templates WHERE id=? LIMIT 1', id, (err, result) => { - connection.release(); - if (err) { - return callback(err); - } - - let affected = result && result.affectedRows || 0; - - return callback(null, affected); - }); - }); -}; diff --git a/lib/models/triggers.js b/lib/models/triggers.js deleted file mode 100644 index b87125c4..00000000 --- a/lib/models/triggers.js +++ /dev/null @@ -1,427 +0,0 @@ -'use strict'; - -let log = require('npmlog'); -let tools = require('../tools'); -let db = require('../db'); -let lists = require('./lists'); -let segments = require('./segments'); -let util = require('util'); -let _ = require('../translate')._; -let tableHelpers = require('../table-helpers'); - -module.exports.defaultColumns = [{ - column: 'created', - name: _('Sign up date'), - type: 'date' -}, { - column: 'latest_open', - name: _('Latest open'), - type: 'date' -}, { - column: 'latest_click', - name: _('Latest click'), - type: 'date' -}]; - -module.exports.defaultCampaignEvents = [{ - option: 'delivered', - name: _('Delivered') -}, { - option: 'opened', - name: _('Has Opened') -}, { - option: 'clicked', - name: _('Has Clicked') -}, { - option: 'not_opened', - name: _('Not Opened') -}, { - option: 'not_clicked', - name: _('Not Clicked') -}]; - -let defaultColumnMap = {}; -let defaultEventMap = {}; -module.exports.defaultColumns.forEach(col => defaultColumnMap[col.column] = col.name); -module.exports.defaultCampaignEvents.forEach(evt => defaultEventMap[evt.option] = evt.name); - -module.exports.list = callback => { - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - let tableFields = [ - '`triggers`.`id` AS `id`', - '`triggers`.`name` AS `name`', - '`triggers`.`description` AS `description`', - '`triggers`.`enabled` AS `enabled`', - '`triggers`.`list` AS `list`', - '`triggers`.`segment` AS `segment`', - '`lists`.`name` AS `list_name`', - '`segments`.`name` AS `segment_name`', - '`source`.`id` AS `source_campaign`', - '`source`.`name` AS `source_campaign_name`', - '`dest`.`id` AS `dest_campaign`', - '`dest`.`name` AS `dest_campaign_name`', - '`triggers`.`count` AS `count`', - '`custom_fields`.`id` AS `column_id`', - '`triggers`.`column` AS `column`', - '`custom_fields`.`name` AS `column_name`', - '`triggers`.`rule` AS `rule`', - '`triggers`.`seconds` AS `seconds`', - '`triggers`.`created` AS `created`' - ]; - - let query = 'SELECT ' + tableFields.join(', ') + ' FROM `triggers` LEFT JOIN `campaigns` `source` ON `source`.`id`=`triggers`.`source_campaign` LEFT JOIN `campaigns` `dest` ON `dest`.`id`=`triggers`.`dest_campaign` LEFT JOIN `lists` ON `lists`.`id`=`triggers`.`list` LEFT JOIN `segments` ON `segments`.`id`=`triggers`.`segment` LEFT JOIN `custom_fields` ON `custom_fields`.`list` = `triggers`.`list` AND `custom_fields`.`column`=`triggers`.`column` ORDER BY `triggers`.`name`'; - connection.query(query, (err, rows) => { - connection.release(); - if (err) { - return callback(err); - } - - let triggers = (rows || []).map(tools.convertKeys).map(row => { - if (row.rule === 'subscription' && row.column && !row.columnName) { - row.columnName = defaultColumnMap[row.column]; - } - - let days = Math.round(row.seconds / (24 * 3600)); - row.formatted = util.format('%s days after %s', days, row.rule === 'subscription' ? row.columnName : (util.format('%s %s', defaultEventMap[row.column], row.sourceCampaign, row.sourceCampaignName))); - - return row; - }); - return callback(null, triggers); - }); - }); -}; - -module.exports.getQuery = (id, callback) => { - module.exports.get(id, (err, trigger) => { - if (err) { - return callback(err); - } - - let limit = 300; - - // time..NOW..time + 24h, 24 hour window after trigger target to detect it - //We need a 24 hour window for triggers as the format for dates added via the API are stored as 00:00:00 - let treshold = 3600 * 24; - - let intervalQuery = (column, seconds, treshold) => column + ' <= NOW() - INTERVAL ' + seconds + ' SECOND AND ' + column + ' >= NOW() - INTERVAL ' + (treshold + seconds) + ' SECOND'; - - - let getSegmentQuery = (segmentId, next) => { - segmentId = Number(segmentId); - if (!segmentId) { - return next(null, { - where: '', - values: [] - }); - } - - segments.getQuery(segmentId, 'subscription', next); - }; - - getSegmentQuery(trigger.segment, (err, queryData) => { - if (err) { - log.err('Triggers', err); - return null; - } - - let query = false; - let querySegmentSubscription = ''; - let querySegmentTriggertable = ''; - if (trigger.segment > 0) - { - querySegmentSubscription = (queryData.where ? ' AND (' + queryData.where + ')' : ''); - querySegmentTriggertable = ' AND triggertable.`segment` = ' + trigger.segment; - } - - switch (trigger.rule) { - case 'subscription': - query = 'SELECT id FROM `subscription__' + trigger.list + '` subscription WHERE status=1 AND ' + intervalQuery('`' + trigger.column + '`', trigger.seconds, treshold) + ' ' + querySegmentSubscription + ' AND id NOT IN (SELECT subscription FROM `trigger__' + id + '` triggertable WHERE triggertable.`list` = ' + trigger.list + ' ' + querySegmentTriggertable + ' AND triggertable.`subscription` = subscription.`id`) LIMIT ' + limit; - break; - case 'campaign': - switch (trigger.column) { - case 'delivered': - query = 'SELECT subscription.id AS id FROM `subscription__' + trigger.list + '` subscription LEFT JOIN `campaign__' + trigger.sourceCampaign + '` campaign ON campaign.list=' + trigger.list + ' AND subscription.id=campaign.subscription WHERE campaign.status=1 AND ' + intervalQuery('`campaign`.`created`', trigger.seconds, treshold) + ' ' + querySegmentSubscription + ' AND subscription.id NOT IN (SELECT subscription FROM `trigger__' + id + '` triggertable WHERE triggertable.`list` = ' + trigger.list + ' ' + querySegmentTriggertable + ' AND triggertable.`subscription` = subscription.`id`) LIMIT ' + limit; - break; - case 'not_clicked': - query = 'SELECT subscription.id AS id FROM `subscription__' + trigger.list + '` subscription LEFT JOIN `campaign__' + trigger.sourceCampaign + '` campaign ON campaign.list=' + trigger.list + ' AND subscription.id=campaign.subscription LEFT JOIN `campaign_tracker__' + trigger.sourceCampaign + '` tracker ON tracker.list=campaign.list AND tracker.subscriber=subscription.id AND tracker.link=0 WHERE campaign.status=1 AND ' + intervalQuery('`campaign`.`created`', trigger.seconds, treshold) + ' AND tracker.created IS NULL ' + querySegmentSubscription + ' AND subscription.id NOT IN (SELECT subscription FROM `trigger__' + id + '` triggertable WHERE triggertable.`list` = ' + trigger.list + ' ' + querySegmentTriggertable + ' AND triggertable.`subscription` = subscription.`id`) LIMIT ' + limit; - break; - case 'not_opened': - query = 'SELECT subscription.id AS id FROM `subscription__' + trigger.list + '` subscription LEFT JOIN `campaign__' + trigger.sourceCampaign + '` campaign ON campaign.list=' + trigger.list + ' AND subscription.id=campaign.subscription LEFT JOIN `campaign_tracker__' + trigger.sourceCampaign + '` tracker ON tracker.list=campaign.list AND tracker.subscriber=subscription.id AND tracker.link=-1 WHERE campaign.status=1 AND ' + intervalQuery('`campaign`.`created`', trigger.seconds, treshold) + ' AND tracker.created IS NULL ' + querySegmentSubscription + ' AND subscription.id NOT IN (SELECT subscription FROM `trigger__' + id + '` triggertable WHERE triggertable.`list` = ' + trigger.list + ' ' + querySegmentTriggertable + ' AND triggertable.`subscription` = subscription.`id`) LIMIT ' + limit; - break; - case 'clicked': - query = 'SELECT subscription.id AS id FROM `subscription__' + trigger.list + '` subscription LEFT JOIN `campaign__' + trigger.sourceCampaign + '` campaign ON campaign.list=' + trigger.list + ' AND subscription.id=campaign.subscription LEFT JOIN `campaign_tracker__' + trigger.sourceCampaign + '` tracker ON tracker.list=campaign.list AND tracker.subscriber=subscription.id AND tracker.link=0 WHERE campaign.status=1 AND ' + intervalQuery('`tracker`.`created`', trigger.seconds, treshold) + ' ' + querySegmentSubscription + ' AND subscription.id NOT IN (SELECT subscription FROM `trigger__' + id + '` triggertable WHERE triggertable.`list` = ' + trigger.list + ' ' + querySegmentTriggertable + ' AND triggertable.`subscription` = subscription.`id`) LIMIT ' + limit; - break; - case 'opened': - query = 'SELECT subscription.id AS id FROM `subscription__' + trigger.list + '` subscription LEFT JOIN `campaign__' + trigger.sourceCampaign + '` campaign ON campaign.list=' + trigger.list + ' AND subscription.id=campaign.subscription LEFT JOIN `campaign_tracker__' + trigger.sourceCampaign + '` tracker ON tracker.list=campaign.list AND tracker.subscriber=subscription.id AND tracker.link=-1 WHERE campaign.status=1 AND ' + intervalQuery('`tracker`.`created`', trigger.seconds, treshold) + ' ' + querySegmentSubscription + ' AND subscription.id NOT IN (SELECT subscription FROM `trigger__' + id + '` triggertable WHERE triggertable.`list` = ' + trigger.list + ' ' + querySegmentTriggertable + ' AND triggertable.`subscription` = subscription.`id`) LIMIT ' + limit; - break; - } - break; - } - - if (trigger.segment > 0) { - let values = queryData.values.concat([trigger.list, trigger.segment]); - for (let i = 0; i < values.length; i++) { - query = query.replace('?', db.escape(values[i])); - } - } - - callback(null, query); - - }); - - }); -}; - -module.exports.get = (id, callback) => { - id = Number(id) || 0; - - if (id < 1) { - return callback(new Error('Missing Trigger ID')); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - connection.query('SELECT * FROM triggers WHERE id=?', [id], (err, rows) => { - connection.release(); - if (err) { - return callback(err); - } - - if (!rows || !rows.length) { - return callback(null, false); - } - - let trigger = tools.convertKeys(rows[0]); - return callback(null, trigger); - }); - }); -}; - -module.exports.create = (trigger, callback) => { - - trigger = tools.convertKeys(trigger); - let name = (trigger.name || '').toString().trim(); - let description = (trigger.description || '').toString().trim(); - let listId = Number(trigger.list) || 0; - let segmentId = Number(trigger.segmentId) || 0; - let seconds = (Number(trigger.days) || 0) * 24 * 3600; - let rule = (trigger.rule || '').toString().toLowerCase().trim(); - let destCampaign = Number(trigger.destCampaign) || 0; - let sourceCampaign = null; - let column; - - if (!listId) { - return callback(new Error(_('Missing or invalid list ID'))); - } - - if (seconds < 0) { - return callback(new Error(_('Days in the past are not allowed'))); - } - - if (!rule || ['campaign', 'subscription'].indexOf(rule) < 0) { - return callback(new Error(_('Missing or invalid trigger rule'))); - } - - switch (rule) { - case 'subscription': - column = (trigger.column || '').toString().toLowerCase().trim(); - if (!column) { - return callback(new Error(_('Invalid subscription configuration'))); - } - break; - case 'campaign': - column = (trigger.campaignOption || '').toString().toLowerCase().trim(); - sourceCampaign = Number(trigger.sourceCampaign) || 0; - if (!column || !sourceCampaign) { - return callback(new Error(_('Invalid campaign configuration'))); - } - if (sourceCampaign === destCampaign) { - return callback(new Error(_('A campaing can not be a target for itself'))); - } - break; - default: - return callback(new Error(_('Missing or invalid trigger rule'))); - } - - lists.get(listId, (err, list) => { - if (err) { - return callback(err); - } - if (!list) { - return callback(new Error(_('Missing or invalid list ID'))); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - let keys = ['name', 'description', 'list', 'segment', 'source_campaign', 'rule', 'column', 'seconds', 'dest_campaign', 'last_check']; - let values = [name, description, list.id, segmentId, sourceCampaign, rule, column, seconds, destCampaign]; - - let query = 'INSERT INTO `triggers` (`' + keys.join('`, `') + '`) VALUES (' + values.map(() => '?').join(', ') + ', NOW())'; - - connection.query(query, values, (err, result) => { - connection.release(); - if (err) { - return callback(err); - } - - let id = result && result.insertId; - if (!id) { - return callback(new Error(_('Could not store trigger row'))); - } - - createTriggerTable(id, err => { - if (err) { - return callback(err); - } - return callback(null, id); - }); - }); - }); - }); -}; - -module.exports.update = (id, trigger, callback) => { - id = Number(id) || 0; - if (id < 1) { - return callback(new Error(_('Missing or invalid Trigger ID'))); - } - - trigger = tools.convertKeys(trigger); - let name = (trigger.name || '').toString().trim(); - let description = (trigger.description || '').toString().trim(); - let enabled = trigger.enabled ? 1 : 0; - let seconds = (Number(trigger.days) || 0) * 24 * 3600; - let rule = (trigger.rule || '').toString().toLowerCase().trim(); - let destCampaign = Number(trigger.destCampaign) || 0; - let sourceCampaign = null; - let column; - - if (seconds < 0) { - return callback(new Error(_('Days in the past are not allowed'))); - } - - if (!rule || ['campaign', 'subscription'].indexOf(rule) < 0) { - return callback(new Error(_('Missing or invalid trigger rule'))); - } - - switch (rule) { - case 'subscription': - column = (trigger.column || '').toString().toLowerCase().trim(); - if (!column) { - return callback(new Error(_('Invalid subscription configuration'))); - } - break; - case 'campaign': - column = (trigger.campaignOption || '').toString().toLowerCase().trim(); - sourceCampaign = Number(trigger.sourceCampaign) || 0; - if (!column || !sourceCampaign) { - return callback(new Error(_('Invalid campaign configuration'))); - } - if (sourceCampaign === destCampaign) { - return callback(new Error(_('A campaing can not be a target for itself'))); - } - break; - default: - return callback(new Error(_('Missing or invalid trigger rule'))); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - let keys = ['name', 'description', 'enabled', 'source_campaign', 'rule', 'column', 'seconds', 'dest_campaign']; - let values = [name, description, enabled, sourceCampaign, rule, column, seconds, destCampaign]; - - let query = 'UPDATE `triggers` SET ' + keys.map(key => '`' + key + '`=?').join(', ') + ' WHERE `id`=? LIMIT 1'; - - connection.query(query, values.concat(id), (err, result) => { - connection.release(); - if (err) { - return callback(err); - } - - return callback(null, result && result.affectedRows); - }); - }); -}; - -module.exports.delete = (id, callback) => { - id = Number(id) || 0; - - if (id < 1) { - return callback(new Error(_('Missing Trigger ID'))); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - connection.query('DELETE FROM triggers WHERE id=? LIMIT 1', [id], (err, result) => { - connection.release(); - if (err) { - return callback(err); - } - - let affected = result && result.affectedRows || 0; - removeTriggerTable(id, err => { - if (err) { - return callback(err); - } - return callback(null, affected); - }); - }); - }); -}; - -module.exports.filterSubscribers = (trigger, request, columns, callback) => { - let queryData = { - where: 'trigger__' + trigger.id + '.list=?', - values: [trigger.list] - }; - - tableHelpers.filter('subscription__' + trigger.list + ' JOIN trigger__' + trigger.id + ' ON trigger__' + trigger.id + '.subscription=subscription__' + trigger.list + '.id', ['*'], request, columns, ['email', 'first_name', 'last_name'], 'email ASC', queryData, callback); -}; - -function createTriggerTable(id, callback) { - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - let query = 'CREATE TABLE `trigger__' + id + '` LIKE `trigger`'; - connection.query(query, err => { - connection.release(); - if (err) { - return callback(err); - } - return callback(null, true); - }); - }); -} - -function removeTriggerTable(id, callback) { - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - let query = 'DROP TABLE IF EXISTS `trigger__' + id + '`'; - connection.query(query, err => { - connection.release(); - if (err) { - return callback(err); - } - return callback(null, true); - }); - }); -} diff --git a/lib/models/users.js b/lib/models/users.js deleted file mode 100644 index b16106c9..00000000 --- a/lib/models/users.js +++ /dev/null @@ -1,392 +0,0 @@ -'use strict'; - -let log = require('npmlog'); - -let bcrypt = require('bcrypt-nodejs'); -let db = require('../db'); -let tools = require('../tools'); -let mailer = require('../mailer'); -let settings = require('./settings'); -let crypto = require('crypto'); -let urllib = require('url'); -let _ = require('../translate')._; - -/** - * Fetches user by ID value - * - * @param {Number} id User id - * @param {Function} callback Return an error or an user object - */ -module.exports.get = (id, callback) => { - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - connection.query('SELECT `id`, `username`, `email`, `access_token` FROM `users` WHERE `id`=? LIMIT 1', [id], (err, rows) => { - connection.release(); - - if (err) { - return callback(err); - } - - if (!rows.length) { - return callback(null, false); - } - - let user = tools.convertKeys(rows[0]); - return callback(null, user); - }); - }); -}; - -module.exports.findByAccessToken = (accessToken, callback) => { - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - connection.query('SELECT `id`, `username`, `email`, `access_token` FROM `users` WHERE `access_token`=? LIMIT 1', [accessToken], (err, rows) => { - connection.release(); - - if (err) { - return callback(err); - } - - if (!rows.length) { - return callback(null, false); - } - - let user = tools.convertKeys(rows[0]); - return callback(null, user); - }); - }); -}; - -module.exports.findByUsername = (username, callback) => { - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - connection.query('SELECT `id`, `username`, `email`, `access_token` FROM `users` WHERE `username`=? LIMIT 1', [username], (err, rows) => { - connection.release(); - - if (err) { - return callback(err); - } - - if (!rows.length) { - return callback(null, false); - } - - let user = tools.convertKeys(rows[0]); - return callback(null, user); - }); - }); -}; - -module.exports.add = (username, password, email, callback) => { - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - connection.query('INSERT INTO `users` (`username`, `password`, `email`, `created`) VALUES (?, ?, ?, NOW())', [username, password, email], (err, result) => { - connection.release(); - - if (err) { - return callback(err); - } - - let id = result && result.insertId; - if (!id) { - return callback(new Error(_('Could not store user row'))); - } - - return callback(null, id); - }); - }); -}; - -/** - * Fetches user by username and password - * - * @param {String} username - * @param {String} password - * @param {Function} callback Return an error or authenticated user - */ -module.exports.authenticate = (username, password, callback) => { - - if (password === '') { - return callback(null, false); - } - - let login = (connection, callback) => { - connection.query('SELECT `id`, `password`, `access_token` FROM `users` WHERE `username`=? OR email=? LIMIT 1', [username, username], (err, rows) => { - if (err) { - return callback(err); - } - - if (!rows.length) { - return callback(null, false); - } - - bcrypt.compare(password, rows[0].password, (err, result) => { - if (err) { - return callback(err); - } - if (!result) { - return callback(null, false); - } - - let user = tools.convertKeys(rows[0]); - return callback(null, { - id: user.id, - username - }); - }); - - }); - }; - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - login(connection, (err, user) => { - connection.release(); - callback(err, user); - }); - }); -}; - -/** - * Updates user password - * - * @param {Object} id User ID - * @param {Object} updates - * @param {Function} Return an error or success/fail - */ -module.exports.update = (id, updates, callback) => { - - if (!updates.email) { - return callback(new Error(_('Email Address must be set'))); - } - - let update = (connection, callback) => { - - connection.query('SELECT password FROM users WHERE id=? LIMIT 1', [id], (err, rows) => { - if (err) { - return callback(err); - } - - if (!rows.length) { - return callback(_('Failed to check user data')); - } - - let keys = ['email']; - let values = [updates.email]; - - let finalize = () => { - values.push(id); - connection.query('UPDATE users SET ' + keys.map(key => key + '=?').join(', ') + ' WHERE id=? LIMIT 1', values, (err, result) => { - if (err) { - if (err.code === 'ER_DUP_ENTRY') { - err = new Error(_('Can\'t change email as another user with the same email address already exists')); - } - return callback(err); - } - return callback(null, result.affectedRows); - }); - }; - - if (!updates.password && !updates.password2) { - return finalize(); - } - - bcrypt.compare(updates.currentPassword, rows[0].password, (err, result) => { - if (err) { - return callback(err); - } - if (!result) { - return callback(_('Incorrect current password')); - } - - if (!updates.password) { - return callback(new Error(_('New password not set'))); - } - - if (updates.password !== updates.password2) { - return callback(new Error(_('Passwords do not match'))); - } - - bcrypt.hash(updates.password, null, null, (err, hash) => { - if (err) { - return callback(err); - } - - keys.push('password'); - values.push(hash); - - finalize(); - }); - }); - }); - }; - - tools.validateEmail(updates.email, false, err => { - if (err) { - return callback(err); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - update(connection, (err, updated) => { - connection.release(); - callback(err, updated); - }); - }); - }); -}; - -module.exports.resetToken = (id, callback) => { - id = Number(id) || 0; - - if (!id) { - return callback(new Error(_('User ID not set'))); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - let token = crypto.randomBytes(20).toString('hex').toLowerCase(); - let query = 'UPDATE users SET `access_token`=? WHERE id=? LIMIT 1'; - let values = [token, id]; - - connection.query(query, values, (err, result) => { - connection.release(); - if (err) { - return callback(err); - } - return callback(null, result.affectedRows); - }); - }); - -}; - - -module.exports.sendReset = (username, callback) => { - username = (username || '').toString().trim(); - - if (!username) { - return callback(new Error(_('Username must be set'))); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - connection.query('SELECT id, email, username FROM users WHERE username=? OR email=? LIMIT 1', [username, username], (err, rows) => { - if (err) { - connection.release(); - return callback(err); - } - - if (!rows.length) { - connection.release(); - return callback(null, false); - } - - let resetToken = crypto.randomBytes(16).toString('base64').replace(/[^a-z0-9]/gi, ''); - connection.query('UPDATE users SET reset_token=?, reset_expire=NOW() + INTERVAL 1 HOUR WHERE id=? LIMIT 1', [resetToken, rows[0].id], err => { - connection.release(); - if (err) { - return callback(err); - } - - settings.list(['serviceUrl', 'adminEmail'], (err, configItems) => { - if (err) { - return callback(err); - } - - mailer.sendMail({ - from: { - address: configItems.adminEmail - }, - to: { - address: rows[0].email - }, - subject: _('Mailer password change request') - }, { - html: 'emails/password-reset-html.hbs', - text: 'emails/password-reset-text.hbs', - data: { - title: 'Mailtrain', - username: rows[0].username, - confirmUrl: urllib.resolve(configItems.serviceUrl, '/users/reset') + '?token=' + encodeURIComponent(resetToken) + '&username=' + encodeURIComponent(rows[0].username) - } - }, err => { - if (err) { - log.error('Mail', err); // eslint-disable-line no-console - } - }); - - callback(null, true); - }); - }); - }); - }); -}; - -module.exports.checkResetToken = (username, resetToken, callback) => { - if (!username || !resetToken) { - return callback(new Error(_('Missing username or reset token'))); - } - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - connection.query('SELECT id FROM users WHERE username=? AND reset_token=? AND reset_expire > NOW() LIMIT 1', [username, resetToken], (err, rows) => { - connection.release(); - if (err) { - return callback(err); - } - return callback(null, rows && rows.length || false); - }); - }); -}; - -module.exports.resetPassword = (data, callback) => { - let updates = tools.convertKeys(data); - - if (!updates.username || !updates.resetToken) { - return callback(new Error(_('Missing username or reset token'))); - } - - if (!updates.password || !updates.password2 || updates.password !== updates.password2) { - return callback(new Error(_('Invalid new password'))); - } - - bcrypt.hash(updates.password, null, null, (err, hash) => { - if (err) { - return callback(err); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - connection.query('UPDATE users SET password=?, reset_token=NULL, reset_expire=NULL WHERE username=? AND reset_token=? AND reset_expire > NOW() LIMIT 1', [hash, updates.username, updates.resetToken], (err, result) => { - connection.release(); - if (err) { - return callback(err); - } - return callback(null, result.affectedRows); - }); - }); - }); -}; diff --git a/lib/passport.js b/lib/passport.js deleted file mode 100644 index 364d34fe..00000000 --- a/lib/passport.js +++ /dev/null @@ -1,206 +0,0 @@ -'use strict'; - -let config = require('config'); -let log = require('npmlog'); -let _ = require('./translate')._; -let util = require('util'); - -let passport = require('passport'); -let fs = require('fs'); -let LocalStrategy = require('passport-local').Strategy; - -let csrf = require('csurf'); -let bodyParser = require('body-parser'); -let users = require('./models/users'); - -let LdapStrategy; -try { - LdapStrategy = require('passport-ldapjs').Strategy; // eslint-disable-line global-require -} catch (E) { - if (config.ldap.enabled) { - log.info('LDAP', 'Module "passport-ldapjs" not installed. It will not be used for LDAP auth.'); - } -} - -let LdapAuthStrategy; -try { - LdapAuthStrategy = require('passport-ldapauth').Strategy; // eslint-disable-line global-require -} catch (E) { - if (config.ldapauth.enabled) { - log.info('LDAP', 'Module "passport-ldapauth" not installed. It will not be used for LDAP auth.'); - } -} - -module.exports.csrfProtection = csrf({ - cookie: true -}); - -module.exports.parseForm = bodyParser.urlencoded({ - extended: false, - limit: config.www.postsize -}); - -module.exports.setup = app => { - app.use(passport.initialize()); - app.use(passport.session()); -}; - -module.exports.logout = (req, res) => { - if (req.user) { - req.flash('info', util.format(_('%s logged out'), req.user.username)); - req.logout(); - } - res.redirect('/'); -}; - -module.exports.login = (req, res, next) => { - let authMode = config.ldapauth.enabled ? 'ldapauth' : config.ldap.enabled ? 'ldap' : 'local'; - passport.authenticate(authMode, (err, user, info) => { - if (err) { - req.flash('danger', err.message); - return next(err); - } - if (!user) { - log.warn('auth', `[client ${req.ip}] authentication failure`); - req.flash('danger', info && info.message || _('Failed to authenticate user')); - return res.redirect('/users/login' + (req.body.next ? '?next=' + encodeURIComponent(req.body.next) : '')); - } - req.logIn(user, err => { - if (err) { - return next(err); - } - - if (req.body.remember) { - // Cookie expires after 30 days - req.session.cookie.maxAge = 30 * 24 * 60 * 60 * 1000; - } else { - // Cookie expires at end of session - req.session.cookie.expires = false; - } - - req.flash('success', util.format(_('Logged in as %s'), user.username)); - return res.redirect(req.body.next || '/'); - }); - })(req, res, next); -}; - -if (config.ldap.enabled && LdapStrategy) { - log.info('Using LDAP auth (passport-ldapjs)'); - - let opts = { - server: { - url: config.ldap.url, - tlsOptions: { - ca: config.ldap.ca ? [ - fs.readFileSync(config.ldap.ca) - ] : undefined - } - }, - base: config.ldap.baseDN, - search: { - filter: config.ldap.filter, - attributes: [config.ldap.uidTag, 'mail'], - scope: 'sub' - }, - uidTag: config.ldap.uidTag, - bindUser: config.ldap.bindUser, - bindPassword: config.ldap.bindPassword - }; - - passport.use(new LdapStrategy(opts, (profile, done) => { - users.findByUsername(profile[config.ldap.uidTag], (err, user) => { - if (err) { - return done(err); - } - - if (!user) { - // password is empty for ldap - users.add(profile[config.ldap.uidTag], '', profile.mail, (err, id) => { - if (err) { - return done(err); - } - - return done(null, { - id, - username: profile[config.ldap.uidTag] - }); - }); - } else { - return done(null, { - id: user.id, - username: user.username - }); - } - }); - })); -} else if (config.ldapauth.enabled && LdapAuthStrategy) { - log.info('Using LDAP auth (passport-ldapauth)'); - let opts = { - server: { - url: config.ldapauth.url, - searchBase: config.ldapauth.baseDN, - searchFilter: config.ldapauth.filter, - searchAttributes: [config.ldapauth.uidTag, 'mail'], - bindDN: config.ldapauth.bindUser, - bindCredentials: config.ldapauth.bindPassword, - tlsOptions: { - ca: config.ldapauth.ca ? [ - fs.readFileSync(config.ldapauth.ca) - ] : undefined - } - } - }; - - passport.use(new LdapAuthStrategy(opts, (profile, done) => { - users.findByUsername(profile[config.ldapauth.uidTag], (err, user) => { - if (err) { - return done(err); - } - - if (!user) { - // password is empty for ldap - users.add(profile[config.ldapauth.uidTag], '', profile.mail, (err, id) => { - if (err) { - return done(err); - } - - return done(null, { - id, - username: profile[config.ldapauth.uidTag] - }); - }); - } else { - return done(null, { - id: user.id, - username: user.username - }); - } - }); - })); -} else { - log.info('Using local auth'); - - passport.use(new LocalStrategy((username, password, done) => { - users.authenticate(username, password, (err, user) => { - if (err) { - return done(err); - } - - if (!user) { - return done(null, false, { - message: _('Incorrect username or password') - }); - } - - return done(null, user); - }); - })); -} - -passport.serializeUser((user, done) => { - done(null, user.id); -}); - -passport.deserializeUser((id, done) => { - users.get(id, done); -}); diff --git a/lib/report-processor.js b/lib/report-processor.js deleted file mode 100644 index 82653849..00000000 --- a/lib/report-processor.js +++ /dev/null @@ -1,147 +0,0 @@ -'use strict'; - -const log = require('npmlog'); -const reports = require('./models/reports'); -const executor = require('./executor'); - -let runningWorkersCount = 0; -let maxWorkersCount = 1; - -let workers = {}; - -function startWorker(report) { - - function onStarted(tid) { - log.info('ReportProcessor', 'Worker process for "%s" started with tid %s. Current worker count is %s.', report.name, tid, runningWorkersCount); - workers[report.id] = tid; - } - - function onFinished(code, signal) { - runningWorkersCount--; - log.info('ReportProcessor', 'Worker process for "%s" (tid %s) exited with code %s signal %s. Current worker count is %s.', report.name, workers[report.id], code, signal, runningWorkersCount); - delete workers[report.id]; - - const fields = {}; - if (code === 0) { - fields.state = reports.ReportState.FINISHED; - fields.lastRun = new Date(); - } else { - fields.state = reports.ReportState.FAILED; - } - - reports.updateFields(report.id, fields, err => { - if (err) { - log.error('ReportProcessor', err); - } - - setImmediate(startWorkers); - }); - } - - function onFailed(msg) { - runningWorkersCount--; - log.error('ReportProcessor', 'Executing worker process for "%s" (tid %s) failed with message "%s". Current worker count is %s.', report.name, workers[report.id], msg, runningWorkersCount); - delete workers[report.id]; - - const fields = { - state: reports.ReportState.FAILED - }; - - reports.updateFields(report.id, fields, err => { - if (err) { - log.error('ReportProcessor', err); - } - - setImmediate(startWorkers); - }); - } - - const reportData = { - id: report.id, - name: report.name - }; - - runningWorkersCount++; - executor.start('report-processor-worker', reportData, onStarted, onFinished, onFailed); -} - -function startWorkers() { - reports.listWithState(reports.ReportState.SCHEDULED, 0, maxWorkersCount - runningWorkersCount, (err, reportList) => { - if (err) { - log.error('ReportProcessor', err); - return; - } - - for (let report of reportList) { - reports.updateFields(report.id, { state: reports.ReportState.PROCESSING }, err => { - if (err) { - log.error('ReportProcessor', err); - return; - } - - startWorker(report); - }); - } - }); -} - -module.exports.start = (reportId, callback) => { - if (!workers[reportId]) { - log.info('ReportProcessor', 'Scheduling report id: %s', reportId); - reports.updateFields(reportId, { state: reports.ReportState.SCHEDULED, lastRun: null}, err => { - if (err) { - return callback(err); - } - - if (runningWorkersCount < maxWorkersCount) { - log.info('ReportProcessor', 'Starting worker because runningWorkersCount=%s maxWorkersCount=%s', runningWorkersCount, maxWorkersCount); - - startWorkers(); - } else { - log.info('ReportProcessor', 'Not starting worker because runningWorkersCount=%s maxWorkersCount=%s', runningWorkersCount, maxWorkersCount); - } - - callback(null); - }); - } else { - log.info('ReportProcessor', 'Worker for report id: %s is already running.', reportId); - } -}; - -module.exports.stop = (reportId, callback) => { - const tid = workers[reportId]; - if (tid) { - log.info('ReportProcessor', 'Killing worker for report id: %s', reportId); - executor.stop(tid); - reports.updateFields(reportId, { state: reports.ReportState.FAILED}, callback); - } else { - log.info('ReportProcessor', 'No running worker found for report id: %s', reportId); - } -}; - -module.exports.init = callback => { - reports.listWithState(reports.ReportState.PROCESSING, 0, 0, (err, reportList) => { - if (err) { - log.error('ReportProcessor', err); - } - - function scheduleReport() { - if (reportList.length > 0) { - const report = reportList.shift(); - - reports.updateFields(report.id, { state: reports.ReportState.SCHEDULED}, err => { - if (err) { - log.error('ReportProcessor', err); - } - - scheduleReport(); - }); - } - - startWorkers(); - return callback(); - } - - scheduleReport(); - }); -}; diff --git a/lib/subscription-mail-helpers.js b/lib/subscription-mail-helpers.js deleted file mode 100644 index 71ed13af..00000000 --- a/lib/subscription-mail-helpers.js +++ /dev/null @@ -1,155 +0,0 @@ -'use strict'; - -const log = require('npmlog'); -let fields = require('./models/fields'); -let settings = require('./models/settings'); -let mailer = require('./mailer'); -let urllib = require('url'); -let helpers = require('./helpers'); -let _ = require('./translate')._; -let util = require('util'); - - -module.exports = { - sendAlreadySubscribed, - sendConfirmAddressChange, - sendConfirmSubscription, - sendConfirmUnsubscription, - sendSubscriptionConfirmed, - sendUnsubscriptionConfirmed -}; - -function sendSubscriptionConfirmed(list, email, subscription, callback) { - const relativeUrls = { - preferencesUrl: '/subscription/' + list.cid + '/manage/' + subscription.cid, - unsubscribeUrl: '/subscription/' + list.cid + '/unsubscribe/' + subscription.cid - }; - - sendMail(list, email, 'subscription-confirmed', _('%s: Subscription Confirmed'), relativeUrls, {}, subscription, callback); -} - -function sendAlreadySubscribed(list, email, subscription, callback) { - const mailOpts = { - ignoreDisableConfirmations: true - }; - const relativeUrls = { - preferencesUrl: '/subscription/' + list.cid + '/manage/' + subscription.cid, - unsubscribeUrl: '/subscription/' + list.cid + '/unsubscribe/' + subscription.cid - }; - sendMail(list, email, 'already-subscribed', _('%s: Email Address Already Registered'), relativeUrls, mailOpts, subscription, callback); -} - -function sendConfirmAddressChange(list, email, cid, subscription, callback) { - const mailOpts = { - ignoreDisableConfirmations: true - }; - const relativeUrls = { - confirmUrl: '/subscription/confirm/change-address/' + cid - }; - sendMail(list, email, 'confirm-address-change', _('%s: Please Confirm Email Change in Subscription'), relativeUrls, mailOpts, subscription, callback); -} - -function sendConfirmSubscription(list, email, cid, subscription, callback) { - const mailOpts = { - ignoreDisableConfirmations: true - }; - const relativeUrls = { - confirmUrl: '/subscription/confirm/subscribe/' + cid - }; - sendMail(list, email, 'confirm-subscription', _('%s: Please Confirm Subscription'), relativeUrls, mailOpts, subscription, callback); -} - -function sendConfirmUnsubscription(list, email, cid, subscription, callback) { - const mailOpts = { - ignoreDisableConfirmations: true - }; - const relativeUrls = { - confirmUrl: '/subscription/confirm/unsubscribe/' + cid - }; - sendMail(list, email, 'confirm-unsubscription', _('%s: Please Confirm Unsubscription'), relativeUrls, mailOpts, subscription, callback); -} - -function sendUnsubscriptionConfirmed(list, email, subscription, callback) { - const relativeUrls = { - subscribeUrl: '/subscription/' + list.cid + '?cid=' + subscription.cid - }; - sendMail(list, email, 'unsubscription-confirmed', _('%s: Unsubscription Confirmed'), relativeUrls, {}, subscription, callback); -} - - -function sendMail(list, email, template, subject, relativeUrls, mailOpts, subscription, callback) { - fields.list(list.id, (err, fieldList) => { - if (err) { - return callback(err); - } - - let encryptionKeys = []; - fields.getRow(fieldList, subscription).forEach(field => { - if (field.type === 'gpg' && field.value) { - encryptionKeys.push(field.value.trim()); - } - }); - - settings.list(['defaultHomepage', 'defaultFrom', 'defaultAddress', 'defaultPostaddress', 'serviceUrl', 'disableConfirmations'], (err, configItems) => { - if (err) { - return callback(err); - } - - if (!mailOpts.ignoreDisableConfirmations && configItems.disableConfirmations) { - return callback(); - } - - const data = { - title: list.name, - homepage: configItems.defaultHomepage || configItems.serviceUrl, - contactAddress: configItems.defaultAddress, - defaultPostaddress: configItems.defaultPostaddress - }; - - for (let relativeUrlKey in relativeUrls) { - data[relativeUrlKey] = urllib.resolve(configItems.serviceUrl, relativeUrls[relativeUrlKey]); - } - - let text = { - template: 'subscription/mail-' + template + '-text.hbs' - }; - - let html = { - template: 'subscription/mail-' + template + '-html.mjml.hbs', - layout: 'subscription/layout.mjml.hbs', - type: 'mjml' - }; - - helpers.injectCustomFormTemplates(list.defaultForm, { text, html }, (err, tmpl) => { - if (!err && tmpl) { - text = tmpl.text || text; - html = tmpl.html || html; - } - - mailer.sendMail({ - from: { - name: configItems.defaultFrom, - address: configItems.defaultAddress - }, - to: { - name: [].concat(subscription.firstName || []).concat(subscription.lastName || []).join(' '), - address: email - }, - subject: util.format(subject, list.name), - encryptionKeys - }, { - html, - text, - data - }, err => { - if (err) { - log.error('Subscription', err); - } - }); - - callback(); - - }); - }); - }); -} diff --git a/lib/table-helpers.js b/lib/table-helpers.js deleted file mode 100644 index 1176eba2..00000000 --- a/lib/table-helpers.js +++ /dev/null @@ -1,134 +0,0 @@ -'use strict'; - -const db = require('./db'); -const tools = require('./tools'); - -module.exports.list = (source, fields, orderBy, queryData, start, limit, callback) => { - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - let limitQuery = ''; - let limitValues = []; - if (limit) { - limitQuery = ' LIMIT ?'; - limitValues.push(limit); - - if (start) { - limitQuery += ' OFFSET ?'; - limitValues.push(start); - } - } - - let whereClause = ''; - let whereValues = []; - - if (queryData) { - whereClause = ' WHERE ' + queryData.where; - whereValues = queryData.values; - } - - connection.query('SELECT SQL_CALC_FOUND_ROWS ' + fields.join(', ') + ' FROM ' + source + whereClause + ' ORDER BY ' + orderBy + ' DESC' + limitQuery, whereValues.concat(limitValues), (err, rows) => { - if (err) { - connection.release(); - return callback(err); - } - connection.query('SELECT FOUND_ROWS() AS total', (err, total) => { - connection.release(); - if (err) { - return callback(err); - } - return callback(null, rows, total && total[0] && total[0].total); - }); - }); - }); -}; - -module.exports.quicklist = (source, fields, orderBy, callback) => { - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - connection.query('SELECT ' + fields.join(', ') + ' FROM ' + source + ' ORDER BY ' + orderBy + ' LIMIT 1000', (err, rows) => { - connection.release(); - if (err) { - return callback(err); - } - return callback(null, (rows || []).map(tools.convertKeys)); - }); - }); -}; - -module.exports.filter = (source, fields, request, columns, searchFields, defaultOrdering, queryData, callback) => { - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - let query = 'SELECT COUNT(*) AS total FROM ' + source; - let values = []; - - if (queryData) { - query += ' WHERE ' + queryData.where; - values = values.concat(queryData.values || []); - } - - connection.query(query, values, (err, total) => { - if (err) { - connection.release(); - return callback(err); - } - total = total && total[0] && total[0].total || 0; - - let ordering = []; - - if (request.order && request.order.length) { - - request.order.forEach(order => { - let orderField = columns[Number(order.column)]; - let orderDirection = (order.dir || '').toString().toLowerCase() === 'desc' ? 'DESC' : 'ASC'; - if (orderField) { - ordering.push(orderField + ' ' + orderDirection); - } - }); - } - - if (!ordering.length) { - ordering.push(defaultOrdering); - } - - let searchWhere = ''; - let searchArgs = []; - - if (request.search && request.search.value) { - let searchVal = '%' + request.search.value.replace(/\\/g, '\\\\').replace(/([%_])/g, '\\$1') + '%'; - - searchWhere = searchFields.map(field => field + ' LIKE ?').join(' OR '); - searchArgs = searchFields.map(() => searchVal); - } - - let query = 'SELECT SQL_CALC_FOUND_ROWS ' + fields.join(', ') + ' FROM ' + source +' WHERE ' + (searchWhere ? '(' + searchWhere + ')': '1') + (queryData ? ' AND (' + queryData.where + ')' : '') + ' ORDER BY ' + ordering.join(', ') + ' LIMIT ? OFFSET ?'; - let args = searchArgs.concat(queryData ? queryData.values : []).concat([Number(request.length) || 50, Number(request.start) || 0]); - - connection.query(query, args, (err, rows) => { - if (err) { - connection.release(); - return callback(err); - } - connection.query('SELECT FOUND_ROWS() AS total', (err, filteredTotal) => { - connection.release(); - if (err) { - return callback(err); - } - - rows = rows.map(row => tools.convertKeys(row)); - - filteredTotal = filteredTotal && filteredTotal[0] && filteredTotal[0].total || 0; - return callback(null, rows, total, filteredTotal); - }); - }); - }); - }); -}; diff --git a/lib/tools.js b/lib/tools.js deleted file mode 100644 index b0d16822..00000000 --- a/lib/tools.js +++ /dev/null @@ -1,323 +0,0 @@ -'use strict'; - -const config = require('config'); -let fs = require('fs'); -let path = require('path'); -let db = require('./db'); -let slugify = require('slugify'); -let Isemail = require('isemail'); -let urllib = require('url'); -let juice = require('juice'); -let jsdom = require('jsdom'); -let he = require('he'); -let _ = require('./translate')._; -let util = require('util'); -let createDOMPurify = require('dompurify'); -let htmlToText = require('html-to-text'); - -let blockedUsers = ['abuse', 'admin', 'billing', 'compliance', 'devnull', 'dns', 'ftp', 'hostmaster', 'inoc', 'ispfeedback', 'ispsupport', 'listrequest', 'list', 'maildaemon', 'noc', 'noreply', 'noreply', 'null', 'phish', 'phishing', 'postmaster', 'privacy', 'registrar', 'root', 'security', 'spam', 'support', 'sysadmin', 'tech', 'undisclosedrecipients', 'unsubscribe', 'usenet', 'uucp', 'webmaster', 'www']; - -module.exports = { - toDbKey, - fromDbKey, - convertKeys, - queryParams, - createSlug, - updateMenu, - validateEmail, - formatMessage, - getMessageLinks, - prepareHtml, - purifyHTML, - mergeTemplateIntoLayout, - workers: new Set() -}; - -function toDbKey(key) { - return key. - replace(/[^a-z0-9\-_]/gi, ''). - replace(/-+/g, '_'). - replace(/[A-Z]/g, c => '_' + c.toLowerCase()). - replace(/^_+|_+$/g, ''). - replace(/_+/g, '_'). - trim(); -} - -function fromDbKey(key) { - let prefix = ''; - if (key.startsWith('_')) { - key = key.substring(1); - prefix = '_'; - - } - return prefix + key.replace(/[_-]([a-z])/g, (m, c) => c.toUpperCase()); -} - -function convertKeys(obj, options) { - options = options || {}; - let response = {}; - Object.keys(obj || {}).forEach(key => { - let lKey = fromDbKey(key); - if (options.skip && options.skip.indexOf(lKey) >= 0) { - return; - } - if (options.keep && options.keep.indexOf(lKey) < 0) { - return; - } - response[lKey] = obj[key]; - }); - return response; -} - -function queryParams(obj) { - return Object.keys(obj). - filter(key => key !== '_csrf'). - map(key => encodeURIComponent(key) + '=' + encodeURIComponent(obj[key])). - join('&'); -} - -function createSlug(table, name, callback) { - - let baseSlug = slugify(name).trim().toLowerCase() || 'list'; - let counter = 0; - - if (baseSlug.length > 80) { - baseSlug = baseSlug.substr(0, 80); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - let finalize = (err, slug) => { - connection.release(); - if (err) { - return callback(err); - } - return callback(null, slug); - }; - - let trySlug = () => { - let currentSlug = baseSlug + (counter === 0 ? '' : '-' + counter); - counter++; - connection.query('SELECT id FROM ' + table + ' WHERE slug=?', [currentSlug], (err, rows) => { - if (err) { - return finalize(err); - } - if (!rows || !rows.length) { - return finalize(null, currentSlug); - } - trySlug(); - }); - }; - - trySlug(); - }); -} - -function updateMenu(res) { - if (!res.locals.menu) { - res.locals.menu = []; - } - - res.locals.menu.push({ - title: _('Lists'), - url: '/lists', - key: 'lists' - }, { - title: _('Templates'), - url: '/templates', - key: 'templates' - }, { - title: _('Campaigns'), - url: '/campaigns', - key: 'campaigns' - }, { - title: _('Automation'), - url: '/triggers', - key: 'triggers' - }); - - if (config.reports && config.reports.enabled === true) { - res.locals.menu.push({ - title: _('Reports'), - url: '/reports', - key: 'reports' - }); - } -} - -function validateEmail(address, checkBlocked, callback) { - let user = (address || '').toString().split('@').shift().toLowerCase().replace(/[^a-z0-9]/g, ''); - if (checkBlocked && blockedUsers.indexOf(user) >= 0) { - return callback(new Error(util.format(_('Blocked email address "%s"'), address))); - } - - Isemail.validate(address, { - checkDNS: true, - errorLevel: 1 - }, result => { - - if (result !== 0) { - let message = util.format(_('Invalid email address "%s".'), address); - switch (result) { - case 5: - message += ' ' + _('MX record not found for domain'); - break; - case 6: - message += ' ' + _('Address domain not found'); - break; - case 12: - message += ' ' + _('Address domain name is required'); - break; - } - return callback(new Error(message)); - } - - return callback(); - }); -} - -function getMessageLinks(serviceUrl, campaign, list, subscription) { - return { - LINK_UNSUBSCRIBE: campaign.unsubscribe ? campaign.unsubscribe : urllib.resolve(serviceUrl, '/subscription/' + list.cid + '/unsubscribe/' + subscription.cid + '?c=' + campaign.cid), - LINK_PREFERENCES: urllib.resolve(serviceUrl, '/subscription/' + list.cid + '/manage/' + subscription.cid), - LINK_BROWSER: urllib.resolve(serviceUrl, '/archive/' + campaign.cid + '/' + list.cid + '/' + subscription.cid), - CAMPAIGN_ID: campaign.cid, - LIST_ID: list.cid, - SUBSCRIPTION_ID: subscription.cid - }; -} - -function formatMessage(serviceUrl, campaign, list, subscription, message, filter, isHTML) { - filter = typeof filter === 'function' ? filter : (str => str); - - let links = getMessageLinks(serviceUrl, campaign, list, subscription); - - let getTagValue = key => { - key = (key || '').toString().toUpperCase().trim(); - if (links.hasOwnProperty(key)) { - return links[key]; - } - if (subscription.mergeTags.hasOwnProperty(key)) { - let value = (subscription.mergeTags[key] || '').toString(); - let containsHTML = /<[a-z][\s\S]*>/.test(value); - return isHTML ? he.encode((containsHTML ? value : value.replace(/(?:\r\n|\r|\n)/g, '
')), { - useNamedReferences: true, - allowUnsafeSymbols: true - }) : (containsHTML ? htmlToText.fromString(value) : value); - } - return false; - }; - - let tagReplace = message => - message.replace(/\[([a-z0-9_]+)(?:\/([^\]]+))?\]/ig, (match, identifier, fallback) => { - identifier = identifier.toUpperCase(); - let value = getTagValue(identifier); - if (value === false) { - return match; - } - value = (value || fallback || '').trim(); - return filter(value); - }); - - return tagReplace(tagReplace(message)); -} - -function prepareHtml(html, callback) { - if (!(html || '').toString().trim()) { - return callback(null, false); - } - jsdom.env(false, false, { - html, - features: { - FetchExternalResources: false, // disables resource loading over HTTP / filesystem - ProcessExternalResources: false // do not execute JS within script blocks - } - }, (err, win) => { - if (err) { - return callback(err); - } - - let head = win.document.querySelector('head'); - let hasCharsetTag = false; - let metaTags = win.document.querySelectorAll('meta'); - if (metaTags) { - for (let i = 0; i < metaTags.length; i++) { - if (metaTags[i].hasAttribute('charset')) { - metaTags[i].setAttribute('charset', 'utf-8'); - hasCharsetTag = true; - break; - } - } - } - if (!hasCharsetTag) { - let charsetTag = win.document.createElement('meta'); - charsetTag.setAttribute('charset', 'utf-8'); - head.appendChild(charsetTag); - } - let preparedHtml = '' + win.document.documentElement.innerHTML + ''; - - return callback(null, juice(preparedHtml)); - }); -} - -function purifyHTML(html) { - let win = jsdom.jsdom('', { - features: { - FetchExternalResources: false, // disables resource loading over HTTP / filesystem - ProcessExternalResources: false // do not execute JS within script blocks - } - }).defaultView; - let DOMPurify = createDOMPurify(win); - return DOMPurify.sanitize(html); -} - -// TODO Simplify! -function mergeTemplateIntoLayout(template, layout, callback) { - - layout = layout || '{{{body}}}'; - - let readFile = (relPath, callback) => { - fs.readFile(path.join(__dirname, '..', 'views', relPath), 'utf-8', (err, source) => { - if (err) { - return callback(err); - } - callback(null, source); - }); - }; - - let done = (template, layout) => { - let source = layout.replace(/\{\{\{body\}\}\}/g, template); - return callback(null, source); - }; - - if (layout.endsWith('.hbs')) { - readFile(layout, (err, layout) => { - if (err) { - return callback(err); - } - // Please dont end your custom messages with .hbs ... - if (template.endsWith('.hbs')) { - readFile(template, (err, template) => { - if (err) { - return callback(err); - } - return done(template, layout); - }); - } else { - return done(template, layout); - } - }); - } else if (template.endsWith('.hbs')) { - readFile(template, (err, template) => { - if (err) { - return callback(err); - } - return done(template, layout); - }); - } else { - return done(template, layout); - } -} diff --git a/lib/translate.js b/lib/translate.js deleted file mode 100644 index 9abd9a6f..00000000 --- a/lib/translate.js +++ /dev/null @@ -1,41 +0,0 @@ -'use strict'; - -const config = require('config'); - -const Gettext = require('node-gettext'); -const gt = new Gettext(); -const fs = require('fs'); -const path = require('path'); -const log = require('npmlog'); -const gettextParser = require('gettext-parser'); -const fakelang = require('./fakelang'); - -const language = config.language || 'en'; - -[].concat(config.language || []).forEach(lang => { - let data; - let file = path.join(__dirname, '..', 'languages', lang + '.mo'); - try { - data = gettextParser.mo.parse(fs.readFileSync(file)); - } catch (E) { - // ignore - } - if (data) { - gt.addTranslations(lang, lang, data); - gt.setTextDomain(lang); - gt.setLocale(lang); - log.info('LANG', 'Loaded language file for %s', lang); - } -}); - -module.exports._ = str => { - if (typeof str !== 'string') { - str = String(str); - } - - if (language === 'zz') { - return fakelang(str); - } - - return gt.dgettext(language, str); -}; diff --git a/locales/en-US-last-run/common.json b/locales/en-US-last-run/common.json new file mode 100644 index 00000000..dce14596 --- /dev/null +++ b/locales/en-US-last-run/common.json @@ -0,0 +1,1028 @@ +{ + "emailMustNotBeEmpty": "Email must not be empty.", + "invalidEmailAddress": "Invalid email address.", + "theEmailIsAlreadyAssociatedWithAnother": "The email is already associated with another user in the system.", + "validationIsInProgress": "Validation is in progress...", + "fullNameMustNotBeEmpty": "Full name must not be empty", + "currentPasswordMustNotBeEmpty": "Current password must not be empty.", + "incorrectPassword": "Incorrect password.", + "passwordsMustMatch": "Passwords must match", + "updatingUserProfile": "Updating user profile ...", + "userProfileUpdated": "User profile updated", + "thereAreErrorsInTheFormPleaseFixThemAnd": "There are errors in the form. Please fix them and submit again.", + "yourUpdatesCannotBeSaved": "Your updates cannot be saved.", + "thePasswordIsIncorrectPossiblyJust": "The password is incorrect (possibly just changed in another window / session). Enter correct password and try again.", + "theEmailIsAlreadyAssignedToAnotherUser": "The email is already assigned to another user. Enter another email and try again.", + "account": "Account", + "generalSettings": "General Settings", + "fullName": "Full Name", + "email": "Email", + "thisAddressIsUsedForAccountRecoveryIn": "This address is used for account recovery in case you loose your password", + "passwordChange": "Password Change", + "youOnlyNeedToFillOutThisFormIfYouWantTo": "You only need to fill out this form if you want to change your current password", + "currentPassword": "Current Password", + "newPassword": "New Password", + "confirmPassword": "Confirm Password", + "update": "Update", + "accountManagementIsNotPossibleBecause": "Account management is not possible because Mailtrain is configured to use externally managed users.", + "ifYouWantToChangeThePasswordUseThisLink": "If you want to change the password, use <1>this link.", + "personalAccessToken": "Personal access token", + "accessTokenNotYetGenerated": "Access token not yet generated", + "api": "API", + "resetAccessToken": "Reset Access Token", + "generateAccessToken": "Generate Access Token", + "notesAboutTheApi": "Notes about the API", + "addSubscription": "Add subscription", + "thisApiCallEitherInsertsANewSubscription": "This API call either inserts a new subscription or updates existing. Fields not included are left as is, so if you update only LAST_NAME value, then FIRST_NAME is kept untouched for an existing subscription.", + "arguments": "arguments", + "yourPersonalAccessToken": "your personal access token", + "subscribersEmailAddress": "subscriber's email address", + "required": "required", + "subscribersFirstName": "subscriber's first name", + "subscribersLastName": "subscriber's last name", + "subscribersTimezoneEgEuropeTallinnPstOr": "subscriber's timezone (eg. \"Europe/Tallinn\", \"PST\" or \"UTC\"). If not set defaults to \"UTC\"", + "customFieldValueUseYesnoForOptionGroup": "custom field value. Use yes/no for option group values (checkboxes, radios, drop downs)", + "additionalPostArguments": "Additional POST arguments", + "setToYesIfYouWantToMakeSureTheEmailIs": "set to \"yes\" if you want to make sure the email is marked as subscribed even if it was previously marked as unsubscribed. If the email was already unsubscribed/blocked then subscription status is not changed", + "setToYesIfYouWantToSendConfirmationEmail": "set to \"yes\" if you want to send confirmation email to the subscriber before actually marking as subscribed", + "example": "Example", + "removeSubscription": "Remove subscription", + "thisApiCallMarksASubscriptionAs": "This API call marks a subscription as unsubscribed", + "deleteSubscription": "Delete subscription", + "thisApiCallDeletesASubscription": "This API call deletes a subscription", + "addNewCustomField": "Add new custom field", + "thisApiCallCreatesANewCustomFieldForA": "This API call creates a new custom field for a list.", + "fieldName": "field name", + "oneOfTheFollowingTypes": "one of the following types:", + "ifTheTypeIsOptionThenYouAlsoNeedTo": "If the type is 'option' then you also need to specify the parent element ID", + "templateForTheGroupElementIfNotSetThen": "Template for the group element. If not set, then values of the elements are joined with commas", + "ifNotVisibleThenTheSubscriberCanNotView": "if not visible then the subscriber can not view or modify this value at the profile page", + "getListOfBlacklistedEmails": "Get list of blacklisted emails", + "thisApiCallGetListOfBlacklistedEmails": "This API call get list of blacklisted emails.", + "startPosition": "Start position", + "optionalDefault0": "optional, default 0", + "limitEmailsCountInResponse": "limit emails count in response", + "optionalDefault10000": "optional, default 10000", + "filterByPartOfEmail": "filter by part of email", + "optionalDefault": "optional, default \"\"", + "addEmailToBlacklist": "Add email to blacklist", + "thisApiCallEitherAddEmailsToBlacklist": "This API call either add emails to blacklist", + "emailAddress": "email address", + "deleteEmailFromBlacklist": "Delete email from blacklist", + "thisApiCallEitherDeleteEmailsFrom": "This API call either delete emails from blacklist", + "getTheListsAUserHasSubscribedTo": "Get the lists a user has subscribed to", + "retrieveTheListsThatTheUserWithEmailHas": "Retrieve the lists that the user with :email has subscribed to.", + "triggerFetchOfACampaign": "Trigger fetch of a campaign", + "forcesTheRssFeedCheckToImmediatelyCheck": "Forces the RSS feed check to immediately check the campaign with the given CID (in :campaignCid). It works only for RSS campaigns.", + "sendTransactionalEmail": "Send transactional email", + "sendSingleEmailByTemplateWithGiven": "Send single email by template with given templateId", + "idOfConfigurationUsedToCreateMailer": "ID of configuration used to create mailer instance", + "subject": "Subject", + "dataPassedToTemplateWhenCompilingWith": "Data passed to template when compiling with Handlebars", + "mapOfTemplatesubjectVariablesToReplace": "Map of template/subject variables to replace", + "apiResponseIsAJsonStructureWithErrorAnd": "API response is a JSON structure with <1>error and <3>data properties. If the response <5>error has a value set then the request failed.", + "youNeedToDefineProperContentTypeWhen": "You need to define proper <1>Content-Type when making a request. You can either use <3>application/x-www-form-urlencoded for normal form data or <5>application/json for a JSON payload. Using <7>multipart/form-data is not supported.", + "emailMustNotBeEmpty-1": "Email must not be empty", + "theEmailIsAlreadyOnBlacklist": "The email is already on blacklist.", + "saving": "Saving ...", + "thereAreErrorsInTheFormPleaseFixThemAnd-1": "There are errors in the form. Please fix them and try again.", + "removeFromBlacklist": "Remove from blacklist", + "confirmRemovalFromBlacklist": "Confirm Removal From Blacklist", + "areYouSureYouWantToRemoveEmailFromThe": "Are you sure you want to remove {{email}} from the blacklist?", + "removingEmailFromTheBlacklist": "Removing {{email}} from the blacklist", + "emailRemovedFromTheBlacklist": "{{email}} removed from the blacklist", + "blacklist": "Blacklist", + "addEmailToBlacklist-1": "Add Email to Blacklist", + "addToBlacklist": "Add to Blacklist", + "blacklistedEmails": "Blacklisted Emails", + "campaignUpdated": "Campaign updated", + "editCustomContent": "Edit Custom Content", + "customTemplateEditor": "Custom template editor", + "save": "Save", + "saveAndLeave": "Save and leave", + "copy": "Copy", + "saveAndGoToStatus": "Save and go to status", + "testSend": "Test send", + "createRegularCampaign": "Create Regular Campaign", + "createRssCampaign": "Create RSS Campaign", + "createTriggeredCampaign": "Create Triggered Campaign", + "editRegularCampaign": "Edit Regular Campaign", + "editRssCampaign": "Edit RSS Campaign", + "editTriggeredCampaign": "Edit Triggered Campaign", + "template": "Template", + "template_plural": "Templates", + "customContentClonedFromTemplate": "Custom content cloned from template", + "customContentClonedFromAnotherCampaign": "Custom content cloned from another campaign", + "customContent": "Custom content", + "url": "URL", + "nameMustNotBeEmpty": "Name must not be empty", + "sendConfigurationMustBeSelected": "Send configuration must be selected", + "fromEmailMustNotBeEmpty": "\"From\" email must not be empty", + "templateMustBeSelected": "Template must be selected", + "campaignMustBeSelected": "Campaign must be selected", + "typeMustBeSelected": "Type must be selected", + "urlMustNotBeEmpty": "URL must not be empty", + "rssFeedUrlMustBeGiven": "RSS feed URL must be given", + "listMustBeSelected": "List must be selected", + "segmentMustBeSelected": "Segment must be selected", + "campaignCreated": "Campaign created", + "rssFeedUrl": "RSS Feed Url", + "name": "Name", + "id": "ID", + "subscribers": "Subscribers", + "description": "Description", + "namespace": "Namespace", + "namespace_plural": "Namespaces", + "remove": "Remove", + "insertNewEntryBeforeThisOne": "Insert new entry before this one", + "moveUp": "Move up", + "moveDown": "Move down", + "list": "List", + "list_plural": "Lists", + "segment": "Segment", + "useAParticularSegment": "Use a particular segment", + "lists": "Lists", + "addList": "Add list", + "type": "Type", + "created": "Created", + "override": "Override", + "fromName": "\"From\" name", + "fromEmailAddress": "\"From\" email address", + "replytoEmailAddress": "\"Reply-to\" email address", + "subjectLine": "\"Subject\" line", + "loadingSendConfiguration": "Loading send configuration ...", + "contentSource": "Content source", + "selectingATemplateCreatesACampaign": "Selecting a template creates a campaign specific copy from it.", + "campaign": "Campaign", + "campaign_plural": "Campaigns", + "contentOfTheSelectedCampaignWillBeCopied": "Content of the selected campaign will be copied into this campaign.", + "renderUrl": "Render URL", + "ifAMessageIsSentThenThisUrlWillBePosTed": "If a message is sent then this URL will be POSTed to using Merge Tags as POST body. Use this if you want to generate the HTML message yourself.", + "deletingCampaign": "Deleting campaign ...", + "campaignDeleted": "Campaign deleted", + "formCannotBeEditedBecauseTheCampaignIs": "Form cannot be edited because the campaign is currently being sent out. Wait till the sending is finished and refresh.", + "thisIsTheCampaignIdDisplayedToThe": "This is the campaign ID displayed to the subscribers", + "sendSettings": "Send settings", + "sendConfiguration": "Send configuration", + "sendConfiguration_plural": "Send configurations", + "customUnsubscribeUrl": "Custom unsubscribe URL", + "tracking": "Tracking", + "disableOpenedTracking": "Disable opened tracking", + "disableClickedTracking": "Disable clicked tracking", + "saveAndEditContent": "Save and edit content", + "delete": "Delete", + "regular": "Regular", + "triggered": "Triggered", + "rss": "RSS", + "idle": "Idle", + "scheduled": "Scheduled", + "paused": "Paused", + "finished": "Finished", + "inactive": "Inactive", + "active": "Active", + "sending": "Sending", + "status": "Status", + "sendingScheduled": "Sending scheduled", + "statistics": "Statistics", + "edit": "Edit", + "content": "Content", + "files": "Files", + "attachments": "Attachments", + "triggers": "Triggers", + "share": "Share", + "createCampaign": "Create Campaign", + "campaigns": "Campaigns", + "countries": "Countries", + "devices": "Devices", + "campaignName": "Campaign \"{{name}}\"", + "delivered": "Delivered", + "deliveredEmails": "Delivered Emails", + "complained": "Complained", + "subscribersThatComplained": "Subscribers that Complained", + "bounced": "Bounced", + "emailsThatBounced": "Emails that Bounced", + "unsubscribed": "Unsubscribed", + "subscribersThatUnsubscribed": "Subscribers that Unsubscribed", + "opened": "Opened", + "clicks": "Clicks", + "theseFilesArePubliclyAvailableViaHttpSo": "These files are publicly available via HTTP so that they can be linked to from the content of the campaign.", + "theseFilesWillBeAttachedToTheCampaign": "These files will be attached to the campaign emails as proper attachments. This means they count towards to the eventual size of the email.", + "triggerName": "Trigger \"{{name}}\"", + "create": "Create", + "campaignStatistics": "Campaign Statistics", + "total": "Total", + "blacklisted": "Blacklisted", + "complaints": "Complaints", + "clicked": "Clicked", + "quickReports": "Quick Reports", + "belowYouCanDownloadPremadeReportsRelated": "Below, you can download pre-made reports related to this campaign. Each link generates a CSV file that can be viewed in a spreadsheet editor. Custom reports and reports that cover more than one campaign can be created through <1>Reports functionality of Mailtrain.", + "uniqueVisitors": "Unique visitors", + "totalClicks": "Total clicks", + "campaignLinks": "Campaign links", + "subscriptionId": "Subscription ID", + "listId": "List ID", + "listNamespace": "List namespace", + "opensCount": "Opens count", + "desktop": "Desktop", + "tv": "TV", + "tablet": "Tablet", + "phone": "Phone", + "bot": "Bot", + "car": "Car", + "console": "Console", + "distributionByDeviceType": "Distribution by device type", + "loadingChart": "Loading chart", + "deviceType": "Device type", + "count": "Count", + "unknown": "Unknown", + "distributionByCountry": "Distribution by country", + "country": "Country", + "detailedStatistics": "Detailed Statistics", + "listOfSubscribersThatOpenedTheCampaign": "List of subscribers that opened the campaign", + "subscriptionHasToBeSelectedToShowThe": "Subscription has to be selected to show the campaign for a test user.", + "previewCampaignAs": "Preview campaign as", + "preview": "Preview", + "dateMustNotBeEmpty": "Date must not be empty", + "dateIsInvalid": "Date is invalid", + "timeMustNotBeEmpty": "Time must not be empty", + "timeIsInvalid": "Time is invalid", + "confirmLaunch": "Confirm launch", + "doYouWantToLaunchTheCampaign?": "Do you want to launch the campaign?", + "confirmReset": "Confirm reset", + "doYouWantToResetTheCampaign?All": "Do you want to reset the campaign? All statistics and the track of delivered messages will be lost.", + "no": "No", + "yes": "Yes", + "subscribers-1": "subscribers", + "sendStatus": "Send status", + "campaignIsScheduledForDelivery": "Campaign is scheduled for delivery.", + "campaignIsReadyToBeSentOut": "Campaign is ready to be sent out.", + "sendLater": "Send later", + "scheduleDeliveryAtAParticularDatetime": "Schedule delivery at a particular date/time", + "date": "Date", + "time": "Time", + "enter24HourTimeInFormatHhmmEg1348": "Enter 24-hour time in format HH:MM (e.g. 13:48)", + "rescheduleSend": "Reschedule send", + "scheduleSend": "Schedule send", + "send": "Send", + "viewStatistics": "View statistics", + "campaignIsBeingSentOut": "Campaign is being sent out.", + "stop": "Stop", + "allMessagesSent!HitContinueIfYouYouWant": "All messages sent! Hit \"Continue\" if you you want to send this campaign to new subscribers.", + "continue": "Continue", + "reset": "Reset", + "yourCampaignIsCurrentlyDisabledClick": "Your campaign is currently disabled. Click Enable button to start enable it.", + "enable": "Enable", + "yourCampaignIsEnabledAndSendingMessages": "Your campaign is enabled and sending messages.", + "disable": "Disable", + "campaignStatus": "Campaign Status", + "targetListssegments": "Target lists/segments", + "ifANewEntryIsFoundFromCampaignFeedANew": "If a new entry is found from campaign feed a new subcampaign is created of that entry and it will be listed here", + "sendingTestEmail": "Sending test email", + "subscriptionHasToBeSelected": "Subscription has to be selected.", + "sendTestEmail": "Send Test Email", + "cancel": "Cancel", + "subscription": "Subscription", + "valuesMustNotBeEmpty": "Values must not be empty", + "valueMustBeANonnegativeNumber": "Value must be a non-negative number", + "sourceCampaignMustNotBeEmpty": "Source campaign must not be empty", + "triggerUpdated": "Trigger updated", + "triggerCreated": "Trigger created", + "deletingTrigger": "Deleting trigger ...", + "triggerDeleted": "Trigger deleted", + "editTrigger": "Edit Trigger", + "createTrigger": "Create Trigger", + "entity": "Entity", + "selectTheTypeOfTheTriggerRule": "Select the type of the trigger rule.", + "triggerFires": "Trigger fires", + "event": "Event", + "selectTheEventThatTriggersSendingThe": "Select the event that triggers sending the campaign.", + "enabled": "Enabled", + "latestOpen": "Latest open", + "latestClick": "Latest click", + "notOpened": "Not opened", + "notClicked": "Not clicked", + "daysAfter": "Days after", + "welcomeToMailtrain": "Welcome to Mailtrain...", + "close": "Close", + "countFileAdded": "{{count}} file added", + "countFileAdded_plural": "{{count}} files added", + "countFileReplaced": "{{count}} file replaced", + "countFileReplaced_plural": "{{count}} files replaced", + "countFileIgnored": "{{count}} file ignored", + "countFileIgnored_plural": "{{count}} files ignored", + "countFileUploaded": "{{count}} file uploaded", + "countFileUploaded_plural": "{{count}} files uploaded", + "uploadingCountFile": "Uploading {{count}} file", + "uploadingCountFile_plural": "Uploading {{count}} files", + "fileUploadFailed": "File upload failed:", + "noFilesToUpload": "No files to upload", + "deletingFile": "Deleting file ...", + "fileDeleted": "File deleted", + "deleteFileFailed": "Delete file failed:", + "size": "Size", + "download": "Download", + "confirmFileDeletion": "Confirm file deletion", + "areYouSureYouWantToDeleteTheFile?": "Are you sure you want to delete the file?", + "dropCountFile": "Drop {{count}} file", + "dropCountFile_plural": "Drop {{count}} files", + "dropFilesHere": "Drop files here", + "loading": "Loading ...", + "openCalendar": "Open calendar", + "select": "Select", + "someoneElseHasIntroducedModificationIn": "Someone else has introduced modification in the meantime. Refresh your page to start anew with fresh data. Please note that your changes will be lost.", + "itSeemsThatSomeoneElseHasDeletedThe": "It seems that someone else has deleted the target namespace in the meantime. Refresh your page to start anew with fresh data. Please note that your changes will be lost.", + "itSeemsThatSomeoneElseHasDeletedThe-1": "It seems that someone else has deleted the entity in the meantime.", + "customForms": "Custom forms", + "report": "Report", + "report_plural": "Reports", + "reportTemplate": "Report template", + "reportTemplate_plural": "Report templates", + "mosaicoTemplate": "Mosaico template", + "mosaicoTemplate_plural": "Mosaico templates", + "cannoteDeleteNameDueToTheFollowing": "Cannote delete \"{{name}}\" due to the following dependencies:", + "andMore": "... and more", + "confirmDeletion": "Confirm Deletion", + "areYouSureYouWantToDeleteName?": "Are you sure you want to delete \"{{name}}\"?", + "namespaceMustBeSelected": "Namespace must be selected", + "sourceOnGitHub": "Source on GitHub", + "sendTestEmail-1": "Send test e-mail", + "showHtml": "Show HTML", + "maximizeEditor": "Maximize editor", + "mjml": "MJML", + "html": "HTML", + "disableWordWrap": "Disable word wrap", + "enableWordWrap": "Enable word wrap", + "hidePreview": "Hide preview", + "showPreview": "Show preview", + "showMjml": "Show MJML", + "countEntriesSelected": "{{ count }} entries selected.", + "customFormMustBeSelected": "Custom form must be selected", + "listUpdated": "List updated", + "listCreated": "List created", + "onestepIeNoEmailWithConfirmationLink": "One-step (i.e. no email with confirmation link)", + "onestepWithUnsubscriptionFormIeNoEmail": "One-step with unsubscription form (i.e. no email with confirmation link)", + "twostepIeAnEmailWithConfirmationLinkWill": "Two-step (i.e. an email with confirmation link will be sent)", + "twostepWithUnsubscriptionFormIeAnEmail": "Two-step with unsubscription form (i.e. an email with confirmation link will be sent)", + "manualIeUnsubscriptionHasToBePerformedBy": "Manual (i.e. unsubscription has to be performed by the list administrator)", + "defaultMailtrainForms": "Default Mailtrain Forms", + "customFormsSelectFormBelow": "Custom Forms (select form below)", + "recipientsNameTemplate": "Recipients name template", + "specifyUsingMergeTagsOfThisListHowTo": "Specify using merge tags of this list how to construct full name of the recipient. This full name is used as \"To\" header when sending emails.", + "emptyCustomNoFields": "Empty / Custom (no fields)", + "nameOneField": "Name (one field)", + "firstNameAndLastNameTwoFields": "First name and Last name (two fields)", + "representationOfSubscribersName": "Representation of subscriber's name", + "selectHowTheNameOfASubscriberWillBe": "Select how the name of a subscriber will be represented. The fields in list will be created accordingly. You can always adjust the choice later by editing the list fields. If you select \"Empty / Custom\", provide a template below in \"Recipients name template\" that will be used as subscriber's name as it will appear in the emails' \"To\" field.", + "deletingList": "Deleting list ...", + "listDeleted": "List deleted", + "editList": "Edit List", + "createList": "Create List", + "thisIsTheListIdDisplayedToTheSubscribers": "This is the list ID displayed to the subscribers", + "contactEmail": "Contact email", + "contactEmailUsedInSubscriptionFormsAnd": "Contact email used in subscription forms and emails that are sent out. If not filled in, the admin email from the global settings will be used.", + "homepage": "Homepage", + "homepageUrlUsedInSubscriptionFormsAnd": "Homepage URL used in subscription forms and emails that are sent out. If not filled in, the default homepage from global settings will be used.", + "sendConfigurationThatWillBeUsedFor": "Send configuration that will be used for sending out subscription-related emails.", + "forms": "Forms", + "webAndEmailFormsAndTemplatesUsedIn": "Web and email forms and templates used in subscription management process.", + "allowPublicUsersToSubscribeThemselves": "Allow public users to subscribe themselves", + "unsubscription": "Unsubscription", + "selectHowAnUnsuscriptionRequestBy": "Select how an unsuscription request by subscriber is handled.", + "unsubscribeHeader": "Unsubscribe header", + "doNotSendListUnsubscribeHeaders": "Do not send List-Unsubscribe headers", + "theCustomFormUsedForThisListYouCanCreate": "The custom form used for this list. You can create a form <1>here.", + "mergeTagIsInvalidMayMustBeUppercaseAnd": "Merge tag is invalid. May must be uppercase and contain only characters A-Z, 0-9, _. It must start with a letter.", + "anotherFieldWithTheSameMergeTagExists": "Another field with the same merge tag exists. Please choose another merge tag.", + "groupHasToBeSelected": "Group has to be selected", + "defaultValueIsNotIntegerNumber": "Default value is not integer number", + "defaultValueIsNotAProperlyFormattedDate": "Default value is not a properly formatted date", + "defaultValueIsNotAProperlyFormatted": "Default value is not a properly formatted birthday date", + "defaultValueIsNotOneOfTheAllowedOptions": "Default value is not one of the allowed options", + "errrorOnLineLine": "Errror on line {{ line }}", + "fieldUpdated": "Field updated", + "fieldCreated": "Field created", + "notVisible": "Not visible", + "endOfList": "End of list", + "fieldSettings": "Field settings", + "defaultValue": "Default value", + "defaultValueUsedWhenTheFieldIsEmpty": "Default value used when the field is empty.", + "options": "Options", + "dateFormat": "Date format", + "mmddyyyy": "MM/DD/YYYY", + "ddmmyyyy": "DD/MM/YYYY", + "mmdd": "MM/DD", + "ddmm": "DD/MM", + "mergeTag": "Merge Tag", + "group": "Group", + "belongsToCheckboxDropdownRadioGroup": "Belongs to checkbox / dropdown / radio group", + "containingGroup": "Containing group", + "selectGroupToWhichTheOptionsShouldBelong": "Select group to which the options should belong.", + "checkedLabel": "Checked label", + "labelThatWillBeDisplayedInListAnd": "Label that will be displayed in list and subscription when the option is checked", + "uncheckedLabel": "Unchecked label", + "labelThatWillBeDisplayedInListAnd-1": "Label that will be displayed in list and subscription when the option is unchecked", + "deletingField": "Deleting field ...", + "fieldDeleted": "Field deleted", + "editField": "Edit Field", + "createField": "Create Field", + "mergeTag-1": "Merge tag", + "fieldOrder": "Field order", + "listingsBefore": "Listings (before)", + "selectTheFieldBeforeWhichThisFieldShould": "Select the field before which this field should appear in listings. To exclude the field from listings, select \"Not visible\".", + "subscriptionFormBefore": "Subscription form (before)", + "selectTheFieldBeforeWhichThisFieldShould-1": "Select the field before which this field should appear in new subscription form. To exclude the field from the new subscription form, select \"Not visible\".", + "managementFormBefore": "Management form (before)", + "selectTheFieldBeforeWhichThisFieldShould-2": "Select the field before which this field should appear in subscription management. To exclude the field from the subscription management form, select \"Not visible\".", + "youCanControlTheAppearanceOfTheMergeTag": "You can control the appearance of the merge tag with this template. The template\n uses handlebars syntax and you can find all values from <1>{'{{values}}'} array, for\n example <3>{'{{#each values}} {{this}} {{/each}}'}. If template is not defined then\n multiple values are joined with commas.", + "specifyTheOptionsToSelectFromInThe": "<0>Specify the options to select from in the following format:<1>key|label. For example:\n <2><0>au|Australia<3><0>at|Austria", + "defaultKeyEgAuUsedWhenTheFieldIsEmpty": "Default key (e.g. <1>au used when the field is empty.')", + "youCanControlTheAppearanceOfTheMergeTag-1": "You can control the appearance of the merge tag with this template. The template\n uses handlebars syntax and you can find all values from <1>{'{{values}}'} array.\n Each entry in the array is an object with attributes <3>key and <5>label.\n For example <7>{'{{#each values}} {{this.value}} {{/each}}'}. If template is not defined then\n multiple values are joined with commas.", + "youCanUseThisTemplateToRenderJsonValues": "You can use this template to render JSON values (if the JSON is an array then the array is\n exposed as <1>values, otherwise you can access the JSON keys directly).", + "text": "Text", + "website": "Website", + "multilineText": "Multi-line text", + "gpgPublicKey": "GPG Public Key", + "number": "Number", + "checkboxesFromOptionFields": "Checkboxes (from option fields)", + "radioButtonsFromOptionFields": "Radio Buttons (from option fields)", + "dropDownFromOptionFields": "Drop Down (from option fields)", + "radioButtonsEnumerated": "Radio Buttons (enumerated)", + "dropDownEnumerated": "Drop Down (enumerated)", + "birthday": "Birthday", + "jsonValueForCustomRendering": "JSON value for custom rendering", + "option": "Option", + "fields": "Fields", + "thePlaintextVersionForThisEmail": "The plaintext version for this email", + "layout": "Layout", + "formInputStyle": "Form Input Style", + "thisCssStylesheetDefinesTheAppearanceOf": "This CSS stylesheet defines the appearance of form input elements and alerts", + "webSubscribe": "Web - Subscribe", + "webConfirmSubscriptionNotice": "Web - Confirm Subscription Notice", + "mailConfirmSubscriptionMjml": "Mail - Confirm Subscription (MJML)", + "mailConfirmSubscriptionText": "Mail - Confirm Subscription (Text)", + "mailAlreadySubscribedMjml": "Mail - Already Subscribed (MJML)", + "mailAlreadySubscribedText": "Mail - Already Subscribed (Text)", + "webSubscribedNotice": "Web - Subscribed Notice", + "mailSubscriptionConfirmedMjml": "Mail - Subscription Confirmed (MJML)", + "mailSubscriptionConfirmedText": "Mail - Subscription Confirmed (Text)", + "webManagePreferences": "Web - Manage Preferences", + "webManageAddress": "Web - Manage Address", + "mailConfirmAddressChangeMjml": "Mail - Confirm Address Change (MJML)", + "mailConfirmAddressChangeText": "Mail - Confirm Address Change (Text)", + "webUpdatedNotice": "Web - Updated Notice", + "webUnsubscribe": "Web - Unsubscribe", + "webConfirmUnsubscriptionNotice": "Web - Confirm Unsubscription Notice", + "mailConfirmUnsubscriptionMjml": "Mail - Confirm Unsubscription (MJML)", + "mailConfirmUnsubscriptionText": "Mail - Confirm Unsubscription (Text)", + "webUnsubscribedNotice": "Web - Unsubscribed Notice", + "mailUnsubscriptionConfirmedMjml": "Mail - Unsubscription Confirmed (MJML)", + "mailUnsubscriptionConfirmedText": "Mail - Unsubscription Confirmed (Text)", + "webManualUnsubscribeNotice": "Web - Manual Unsubscribe Notice", + "privacyPolicy": "Privacy policy", + "general": "General", + "subscribe": "Subscribe", + "manage": "Manage", + "unsubscribe": "Unsubscribe", + "dataProtection": "Data protection", + "listOfErrorsInTemplates": "List of errors in templates", + "customFormsUpdated": "Custom forms updated", + "customFormsCreated": "Custom forms created", + "deletingForm": "Deleting form ...", + "formDeleted": "Form deleted", + "editCustomForms": "Edit Custom Forms", + "createCustomForms": "Create Custom Forms", + "formsPreview": "Forms Preview", + "listToPreviewOn": "List To Preview On", + "selectListWhoseFieldsWillBeUsedToPreview": "Select list whose fields will be used to preview the forms.", + "noteTheseLinksAreSolelyForAQuickPreview": "Note: These links are solely for a quick preview. To get the address of the subscription form, go to the list's subscribers and click on \"Subscription Form\".", + "formPreview": "Form preview:", + "refresh": "Refresh", + "closePreview": "Close preview", + "templates": "Templates", + "customFormsUseMjmlForFormattingSeeThe": "Custom forms use MJML for formatting. See the MJML documentation <1>here", + "createCustomForm": "Create Custom Form", + "fileMustBeSelected": "File must be selected", + "csvDelimiterMustNotBeEmpty": "CSV delimiter must not be empty", + "emailMappingHasToBeProvided": "Email mapping has to be provided", + "importSaved": "Import saved", + "file": "File", + "delimiter": "Delimiter", + "preparationInProgressPleaseWaitTillItIs": "Preparation in progress. Please wait till it is done or visit this page later.", + "––Select ––": "–– Select ––", + "eg": "e.g.:", + "checkImportedEmails": "Check imported emails", + "mapping": "Mapping", + "saveAndEditSettings": "Save and edit settings", + "saveAndRun": "Save and Run", + "deletingImport": "Deleting import ...", + "importDeleted": "Import deleted", + "editImport": "Edit Import", + "createImport": "Create Import", + "source": "Source", + "csvFile": "CSV file", + "preparing": "Preparing", + "stopping": "Stopping", + "ready": "Ready", + "preparationFailed": "Preparation failed", + "running": "Running", + "failed": "Failed", + "starting": "Starting", + "basicImportOfSubscribers": "Basic import of subscribers", + "unsubscribeEmails": "Unsubscribe emails", + "lastRun": "Last run", + "detailedStatus": "Detailed status", + "imports": "Imports", + "row": "Row", + "reason": "Reason", + "importRunStatus": "Import Run Status", + "importName": "Import name", + "importSource": "Import source", + "runStarted": "Run started", + "runFinished": "Run finished", + "runStatus": "Run status", + "processedEntries": "Processed entries", + "newEntries": "New entries", + "failedEntries": "Failed entries", + "error": "Error", + "failedRows": "Failed Rows", + "started": "Started", + "processed": "Processed", + "new": "New", + "importStatus": "Import Status", + "actions": "Actions", + "start": "Start", + "importRuns": "Import Runs", + "segments": "Segments", + "customForms-1": "Custom Forms", + "listName": "List \"{{name}}\"", + "fieldName-1": "Field \"{{name}}\"", + "segmentName": "Segment \"{{name}}\"", + "importName-1": "Import \"{{name}}\"", + "run": "Run", + "customFormsName": "Custom Forms \"{{name}}\"", + "newRule": "New rule", + "segmentUpdated": "Segment updated", + "segmentCreated": "Segment created", + "deletingSegment": "Deleting segment ...", + "segmentDeleted": "Segment deleted", + "editSegment": "Edit Segment", + "createSegment": "Create Segment", + "segmentOptions": "Segment Options", + "toplevelMatchType": "Toplevel match type", + "addCompositeRule": "Add Composite Rule", + "addRule": "Add Rule", + "rules": "Rules", + "allRulesMustMatch": "All rules must match", + "atLeastOneRuleMustMatch": "At least one rule must match", + "noRuleMayMatch": "No rule may match", + "equalTo": "Equal to", + "valueInColumnColNameIsEqualToValue": "Value in column \"{{colName}}\" is equal to \"{{value}}\"", + "matchWithSqlLike": "Match (with SQL LIKE)", + "valueInColumnColNameMatchesWithSqlLike": "Value in column \"{{colName}}\" matches (with SQL LIKE) \"{{value}}\"", + "matchWithRegularExpressions": "Match (with regular expressions)", + "valueInColumnColNameMatchesWithRegular": "Value in column \"{{colName}}\" matches (with regular expressions) \"{{value}}\"", + "alphabeticallyBefore": "Alphabetically before", + "valueInColumnColNameIsAlphabetically": "Value in column \"{{colName}}\" is alphabetically before \"{{value}}\"", + "alphabeticallyBeforeOrEqualTo": "Alphabetically before or equal to", + "valueInColumnColNameIsAlphabetically-1": "Value in column \"{{colName}}\" is alphabetically before or equal to \"{{value}}\"", + "alphabeticallyAfter": "Alphabetically after", + "valueInColumnColNameIsAlphabetically-2": "Value in column \"{{colName}}\" is alphabetically after \"{{value}}\"", + "alphabeticallyAfterOrEqualTo": "Alphabetically after or equal to", + "valueInColumnColNameIsAlphabetically-3": "Value in column \"{{colName}}\" is alphabetically after or equal to \"{{value}}\"", + "valueInColumnColNameIsEqualToValue-1": "Value in column \"{{colName}}\" is equal to {{value}}", + "lessThan": "Less than", + "valueInColumnColNameIsLessThanValue": "Value in column \"{{colName}}\" is less than {{value}}", + "lessThanOrEqualTo": "Less than or equal to", + "valueInColumnColNameIsLessThanOrEqualTo": "Value in column \"{{colName}}\" is less than or equal to {{value}}", + "greaterThan": "Greater than", + "valueInColumnColNameIsGreaterThanValue": "Value in column \"{{colName}}\" is greater than {{value}}", + "greaterThanOrEqualTo": "Greater than or equal to", + "valueInColumnColNameIsGreaterThanOrEqual": "Value in column \"{{colName}}\" is greater than or equal to {{value}}", + "on": "On", + "dateInColumnColNameIsValue": "Date in column \"{{colName}}\" is {{value}}", + "before": "Before", + "dateInColumnColNameIsBeforeValue": "Date in column \"{{colName}}\" is before {{value}}", + "beforeOrOn": "Before or on", + "dateInColumnColNameIsBeforeOrOnValue": "Date in column \"{{colName}}\" is before or on {{value}}", + "after": "After", + "dateInColumnColNameIsAfterValue": "Date in column \"{{colName}}\" is after {{value}}", + "afterOrOn": "After or on", + "dateInColumnColNameIsAfterOrOnValue": "Date in column \"{{colName}}\" is after or on {{value}}", + "onXthDayBeforeafterCurrentDate": "On x-th day before/after current date", + "dateInColumnColNameIsTheCurrentDate": "Date in column \"{{colName}}\" is the current date", + "dateInColumnColNameIsTheValuethDayAfter": "Date in column \"{{colName}}\" is the {{value}}-th day after the current date", + "dateInColumnColNameIsTheValuethDayBefore": "Date in column \"{{colName}}\" is the {{value}}-th day before the current date", + "beforeXthDayBeforeafterCurrentDate": "Before x-th day before/after current date", + "dateInColumnColNameIsBeforeTheCurrent": "Date in column \"{{colName}}\" is before the current date", + "dateInColumnColNameIsBeforeTheValuethDay": "Date in column \"{{colName}}\" is before the {{value}}-th day after the current date", + "dateInColumnColNameIsBeforeTheValuethDay-1": "Date in column \"{{colName}}\" is before the {{value}}-th day before the current date", + "beforeOrOnXthDayBeforeafterCurrentDate": "Before or on x-th day before/after current date", + "dateInColumnColNameIsBeforeOrOnThe": "Date in column \"{{colName}}\" is before or on the current date", + "dateInColumnColNameIsBeforeOrOnThe-1": "Date in column \"{{colName}}\" is before or on the {{value}}-th day after the current date", + "dateInColumnColNameIsBeforeOrOnThe-2": "Date in column \"{{colName}}\" is before or on the {{value}}-th day before the current date", + "afterXthDayBeforeafterCurrentDate": "After x-th day before/after current date", + "dateInColumnColNameIsAfterTheCurrentDate": "Date in column \"{{colName}}\" is after the current date", + "dateInColumnColNameIsAfterTheValuethDay": "Date in column \"{{colName}}\" is after the {{value}}-th day after the current date", + "dateInColumnColNameIsAfterTheValuethDay-1": "Date in column \"{{colName}}\" is after the {{value}}-th day before the current date", + "afterOrOnXthDayBeforeafterCurrentDate": "After or on x-th day before/after current date", + "dateInColumnColNameIsAfterOrOnTheCurrent": "Date in column \"{{colName}}\" is after or on the current date", + "dateInColumnColNameIsAfterOrOnTheValueth": "Date in column \"{{colName}}\" is after or on the {{value}}-th day after the current date", + "dateInColumnColNameIsAfterOrOnTheValueth-1": "Date in column \"{{colName}}\" is after or on the {{value}}-th day before the current date", + "isSelected": "Is selected", + "valueInColumnColNameIsSelected": "Value in column \"{{colName}}\" is selected", + "isNotSelected": "Is not selected", + "valueInColumnColNameIsNotSelected": "Value in column \"{{colName}}\" is not selected", + "keyEqualTo": "Key equal to", + "theSelectedKeyInColumnColNameIsEqualTo": "The selected key in column \"{{colName}}\" is equal to \"{{value}}\"", + "keyMatchWithSqlLike": "Key match (with SQL LIKE)", + "theSelectedKeyInColumnColNameMatchesWith": "The selected key in column \"{{colName}}\" matches (with SQL LIKE) \"{{value}}\"", + "keyMatchWithRegularExpressions": "Key match (with regular expressions)", + "theSelectedKeyInColumnColNameMatchesWith-1": "The selected key in column \"{{colName}}\" matches (with regular expressions) \"{{value}}\"", + "keyAlphabeticallyBefore": "Key alphabetically before", + "theSelectedKeyInColumnColNameIs": "The selected key in column \"{{colName}}\" is alphabetically before \"{{value}}\"", + "keyAlphabeticallyBeforeOrEqualTo": "Key alphabetically before or equal to", + "theSelectedKeyInColumnColNameIs-1": "The selected key in column \"{{colName}}\" is alphabetically before or equal to \"{{value}}\"", + "keyAlphabeticallyAfter": "Key alphabetically after", + "theSelectedKeyInColumnColNameIs-2": "The selected key in column \"{{colName}}\" is alphabetically after \"{{value}}\"", + "keyAlphabeticallyAfterOrEqualTo": "Key alphabetically after or equal to", + "theSelectedKeyInColumnColNameIs-3": "The selected key in column \"{{colName}}\" is alphabetically after or equal to \"{{value}}\"", + "value": "Value", + "valueMustNotBeEmpty": "Value must not be empty", + "valueMustBeANumber": "Value must be a number", + "numberOfDays": "Number of days", + "beforeAfter": "Before/After", + "beforeCurrentDate": "Before current date", + "afterCurrentDate": "After current date", + "numberOfDaysMustNotBeEmpty": "Number of days must not be empty", + "numberOfDaysMustBeANumber": "Number of days must be a number", + "emailAddress-1": "Email address", + "signupCountry": "Signup country", + "signUpDate": "Sign up date", + "testUser": "Test user", + "fieldMustBeSelected": "Field must be selected", + "field": "Field", + "select-1": "-- Select --", + "ruleOptions": "Rule Options", + "ok": "OK", + "anotherSubscriptionWithTheSameEmail": "Another subscription with the same email already exists.", + "subscriptionUpdated": "Subscription updated", + "subscriptionCreated": "Subscription created", + "itSeemsThatAnotherSubscriptionWithThe": "It seems that another subscription with the same email has been created in the meantime. Refresh your page to start anew. Please note that your changes will be lost.", + "notSelected": "Not selected", + "areYouSureYouWantToDeleteSubscriptionFor": "Are you sure you want to delete subscription for \"{{email}}\"?", + "deletingSubscription": "Deleting subscription ...", + "subscriptionDeleted": "Subscription deleted", + "editSubscription": "Edit Subscription", + "createSubscription": "Create Subscription", + "timezone": "Timezone", + "subscriptionStatus": "Subscription status", + "testUser?": "Test user?", + "ifCheckedThenThisSubscriptionCanBeUsed": "If checked then this subscription can be used for previewing campaign messages", + "subscribed": "Subscribed", + "unubscribed": "Unubscribed", + "erased": "[ERASED]", + "confirmUnsubscription": "Confirm Unsubscription", + "areYouSureYouWantToUnsubscribeEmail?": "Are you sure you want to unsubscribe {{email}}?", + "unsubscribingEmail": "Unsubscribing {{email}}", + "emailUnsubscribed": "{{email}} unsubscribed", + "confirmEmailBlacklisting": "Confirm Email Blacklisting", + "areYouSureYouWantToBlacklistEmail?": "Are you sure you want to blacklist {{email}}?", + "blacklistingEmail": "Blacklisting {{email}}", + "emailBlacklisted": "{{email}} blacklisted", + "allSubscriptions": "All subscriptions", + "subscriptionForm": "Subscription Form", + "exportAsCsv": "Export as CSV", + "addSubscriber": "Add Subscriber", + "usernameOrEmailMustNotBeEmpty": "Username or email must not be empty", + "processing": "Processing ...", + "ifTheUsernameEmailExistsInTheSystem": "If the username / email exists in the system, password reset link will be sent to the registered email.", + "pleaseEnterYourUsernameEmailAndTryAgain": "Please enter your username / email and try again.", + "passwordReset": "Password Reset", + "pleaseProvideTheUsernameOrEmailAddress": "Please provide the username or email address that is registered with your Mailtrain account.", + "weWillSendYouAnEmailThatWillAllowYouTo": "We will send you an email that will allow you to reset your password.", + "usernameOrEmail": "Username or email", + "sendEmail": "Send email", + "userNameMustNotBeEmpty": "User name must not be empty", + "passwordMustNotBeEmpty": "Password must not be empty", + "verifyingCredentials": "Verifying credentials ...", + "pleaseEnterYourCredentialsAndTryAgain": "Please enter your credentials and try again.", + "invalidUsernameOrPassword": "Invalid username or password.", + "forgotYourPassword?": "Forgot your password?", + "signIn": "Sign in", + "username": "Username", + "password": "Password", + "rememberMe": "Remember me", + "resettingPassword": "Resetting password ...", + "passwordReset-1": "Password reset", + "yourPasswordCannotBeReset": "Your password cannot be reset.", + "thePasswordResetTokenHasExpired": "The password reset token has expired.", + "clickHereToRequestANewPasswordResetLink": "Click here to request a new password reset link.", + "validatingPasswordResetToken": "Validating password reset token ...", + "thePasswordCannotBeReset": "The password cannot be reset", + "setNewPasswordFor": "Set new password for", + "resetPassword": "Reset password", + "parentNamespaceMustBeSelected": "Parent Namespace must be selected", + "namespaceUpdated": "Namespace updated", + "namespaceCreated": "Namespace created", + "thereHasBeenALoopDetectedInTheAssignment": "There has been a loop detected in the assignment of the parent namespace. This is most likely because someone else has changed the parent of some namespace in the meantime. Refresh your page to start anew. Please note that your changes will be lost.", + "itSeemsThatTheParentNamespaceHasBeen": "It seems that the parent namespace has been deleted in the meantime. Refresh your page to start anew. Please note that your changes will be lost.", + "deletingNamespace": "Deleting namespace ...", + "namespaceDeleted": "Namespace deleted", + "editNamespace": "Edit Namespace", + "createNamespace": "Create Namespace", + "parentNamespace": "Parent Namespace", + "namespaces": "Namespaces", + "namespaceName": "Namespace \"{{name}}\"", + "reportTemplateMustBeSelected": "Report template must be selected", + "exactlyOneItemHasToBeSelected": "Exactly one item has to be selected", + "atLeastCountItemsHaveToBeSelected": "At least {{ count }} item(s) have to be selected", + "atMostCountItemsCanToBeSelected": "At most {{ count }} item(s) can to be selected", + "reportParametersAreNotSelectedWaitFor": "Report parameters are not selected. Wait for them to get displayed and then fill them in.", + "reportUpdated": "Report updated", + "reportCreated": "Report created", + "unknownFieldTypeType": "Unknown field type \"{{type}}\"", + "deletingReport": "Deleting report ...", + "reportDeleted": "Report deleted", + "editReport": "Edit Report", + "createReport": "Create Report", + "reportTemplate-1": "Report Template", + "reportParameters": "Report parameters", + "loadingReportTemplate": "Loading report template...", + "processing-1": "Processing", + "view": "View", + "refreshReport": "Refresh report", + "reportGenerationFailed": "Report generation failed", + "regenerateReport": "Regenerate report", + "viewConsoleOutput": "View console output", + "reportTemplates": "Report Templates", + "reports": "Reports", + "reportName": "Report \"{{name}}\"", + "output": "Output", + "templateName": "Template \"{{name}}\"", + "mimeTypeMustBeSelected": "MIME Type must be selected", + "syntaxErrorInTheUserFieldsSpecification": "Syntax error in the user fields specification", + "reportTemplateUpdated": "Report template updated", + "reportTemplateCreated": "Report template created", + "deletingReportTemplate": "Deleting report template ...", + "reportTemplateDeleted": "Report template deleted", + "editReportTemplate": "Edit Report Template", + "createReportTemplate": "Create Report Template", + "csv": "CSV", + "userSelectableFields": "User selectable fields", + "jsonSpecificationOfUserSelectableFields": "JSON specification of user selectable fields.", + "dataProcessingCode": "Data processing code", + "renderingTemplate": "Rendering template", + "writeTheBodyOfTheJavaScriptFunctionWith": "Write the body of the JavaScript function with signature <1>function(inputs, callback) that returns an object to be rendered by the Handlebars template below.", + "useHtmlWithHandlebarsSyntaxSee": "Use HTML with Handlebars syntax. See documentation <1>here.", + "blank": "Blank", + "openCounts": "Open counts", + "openCountsAsCsv": "Open counts as CSV", + "aggregatedOpenCounts": "Aggregated open counts", + "reportName-1": "Report {{name}}", + "loadingReport": "Loading report ...", + "outputForReportName": "Output for report {{name}}", + "loadingReportOutput": "Loading report output ...", + "reportIsBeingGenerated": "Report is being generated", + "reportNotGenerated": "Report not generated", + "current": "(current)", + "administration": "Administration", + "users": "Users", + "globalSettings": "Global Settings", + "sendConfigurations": "Send configurations", + "logOut": "Log out", + "home": "Home", + "mailerTypeMustBeSelected": "Mailer type must be selected", + "verpHostnameMustNotBeEmpty": "VERP hostname must not be empty", + "sendConfigurationUpdated": "Send configuration updated", + "sendConfigurationCreated": "Send configuration created", + "deletingSendConfiguration": "Deleting send configuration ...", + "sendConfigurationDeleted": "Send configuration deleted", + "editSendConfiguration": "Edit Send Configuration", + "createSendConfiguration": "Create Send Configuration", + "emailHeader": "Email Header", + "defaultFromEmail": "Default \"from\" email", + "overridable": "Overridable", + "defaultFromName": "Default \"from\" name", + "defaultReplytoEmail": "Default \"reply-to\" email", + "xMailer": "X-Mailer", + "verpBounceHandling": "VERP Bounce Handling", + "verpStatus": "VERP status", + "serverHostname": "Server hostname", + "theVerpServerHostnameEgBouncesexamplecom": "The VERP server hostname, eg. bounces.example.com", + "verpBounceHandlingServerHostnameThis": "VERP bounce handling server hostname. This hostname is used in the SMTP envelope FROM address and the MX DNS records should point to this server", + "disableSenderHeader": "Disable sender header", + "withDmarcTheReturnPathAndFromAddressMust": "With DMARC, the Return-Path and From address must match the same domain. By default we get around this by using the VERP address in the Sender header, with the side effect that some email clients diplay an ugly on behalf of message. You can safely disable this Sender header if you're not using DMARC or your VERP hostname is in the same domain as the From address.", + "mailtrainIsAbleToUseVerpBasedRoutingTo": "<0>Mailtrain is able to use VERP based routing to detect bounces. In this case the message is sent to the recipient using a custom VERP address as the return path of the message. If the message is not accepted a bounce email is sent to this special VERP address and thus a bounce is detected.", + "toGetVerpWorkingYouNeedToSetUpADnsMx": "<0>To get VERP working you need to set up a DNS MX record that points to your Mailtrain hostname. You must also ensure that Mailtrain VERP interface is available from port 25 of your server (port 25 usually requires root user privileges). This way if anyone tries to send email to someuser@verp-hostname then the email should end up to this server.", + "verpUsuallyOnlyWorksIfYouAreUsingYourOwn": "<0>VERP usually only works if you are using your own SMTP server. Regular relay services (SES, SparkPost, Gmail etc.) tend to remove the VERP address from the message.", + "verpBounceHandlingServerIsNotEnabled": "<0>VERP bounce handling server is not enabled. Modify your server configuration file and restart server to enable it.", + "labelMustNotBeEmpty": "{{label}} must not be empty", + "labelMustBeANumber": "{{label}} must be a number", + "genericSmtp": "Generic SMTP", + "zoneMta": "Zone MTA", + "amazonSes": "Amazon SES", + "doNotUseEncryption": "Do not use encryption", + "useTls –UsuallySelectedForPort465": "Use TLS – usually selected for port 465", + "useStarttls –UsuallySelectedForPort587": "Use STARTTLS – usually selected for port 587 and 25", + "useast1": "US-EAST-1", + "uswest2": "US-WEST-2", + "euwest1": "EU-WEST-1", + "builtinZoneMta": "Built-in ZoneMTA", + "dynamicConfigurationOfDkimKeysViaZoneMt": "Dynamic configuration of DKIM keys via ZoneMTA's Mailtrain plugin", + "dynamicConfigurationOfDkimKeysViaZoneMt-1": "Dynamic configuration of DKIM keys via ZoneMTA's HTTP config plugin", + "noDynamicConfigurationOfDkimKeys": "No dynamic configuration of DKIM keys", + "mailerSettings": "Mailer Settings", + "mailerType": "Mailer type", + "hostname": "Hostname", + "hostnameEgSmtpexamplecom": "Hostname, eg. smtp.example.com", + "port": "Port", + "portEg465AutodetectedIfLeftBlank": "Port, eg. 465. Autodetected if left blank", + "encryption": "Encryption", + "enableSmtpAuthentication": "Enable SMTP authentication", + "usernameEgMyaccount@examplecom": "Username, eg. myaccount@example.com", + "advancedMailerSettings": "Advanced Mailer Settings", + "logSmtpTransactions": "Log SMTP transactions", + "allowSelfsignedCertificates": "Allow self-signed certificates", + "maxConnections": "Max connections", + "theCountOfMaxConnectionsEg10": "The count of max connections, eg. 10", + "theCountOfMaximumSimultaneousConnections": "The count of maximum simultaneous connections to make against the SMTP server (defaults to 5). This limit is per sending process.", + "maxMessages": "Max messages", + "theCountOfMaxMessagesEg100": "The count of max messages, eg. 100", + "theNumberOfMessagesToSendThroughASingle": "The number of messages to send through a single connection before the connection is closed and reopened (defaults to 100)", + "throttling": "Throttling", + "messagesPerHourEg1000": "Messages per hour eg. 1000", + "maximumNumberOfMessagesToSendInAnHour": "Maximum number of messages to send in an hour. Leave empty or zero for no throttling. If your provider uses a different speed limit (messages/minute or messages/second) then convert this limit into messages/hour (1m/s => 3600m/h). This limit is per sending process.", + "dynamicConfiguration": "Dynamic configuration", + "dkimSigning": "DKIM Signing", + "zoneMtaDkimApiKey": "ZoneMTA DKIM API key", + "secretValueKnownToZoneMtaForRequesting": "Secret value known to ZoneMTA for requesting DKIM key information. If this value was generated by the Mailtrain installation script then you can keep it as it is.", + "dkimDomain": "DKIM domain", + "leaveBlankToUseTheSenderEmailAddress": "Leave blank to use the sender email address domain.", + "dkimKeySelector": "DKIM key selector", + "signingIsDisabledWithoutAValidSelector": "Signing is disabled without a valid selector value.", + "dkimPrivateKey": "DKIM private key", + "beginsWithBeginRsaPrivateKey": "Begins with \"-----BEGIN RSA PRIVATE KEY-----\"", + "signingIsDisabledWithoutAValidPrivateKey": "Signing is disabled without a valid private key.", + "accessKey": "Access key", + "awsAccessKeyId": "AWS access key ID", + "awsSecretAccessKey": "AWS secret access key", + "region": "Region", + "ifYouAreUsingZoneMtaThenMailtrainCan": "<0>If you are using ZoneMTA then Mailtrain can provide a DKIM key for signing all outgoing messages. Other services usually provide their own means to DKIM sign your messages.", + "doNotUseSensitiveKeysHereThePrivateKeyIs": "<0>Do not use sensitive keys here. The private key is not encrypted in the database.", + "sendConfigurations-1": "Send Configurations", + "globalSettingsSaved": "Global settings saved", + "adminEmail": "Admin email", + "thisEmailIsUsedAsTheMainContactAndAsA": "This email is used as the main contact and as a default email address if no email address is specified in list settings.", + "defaultHomepageUrl": "Default homepage URL", + "thisUrlWillBeUsedInListSubscriptionForms": "This URL will be used in list subscription forms if no homepage is specified in list settings.", + "trackingId": "Tracking ID", + "uaxxxxxxx": "UA-XXXXX-XX", + "enterGoogleAnalyticsTrackingCode": "Enter Google Analytics tracking code", + "googleMapsApiKey": "Google Maps API Key", + "xxxxxx": "XXXXXX", + "theMapOverviewInCampaignStatistics": "The map overview in campaign statistics requires a Google Maps API key. Please enter it here. If no key is given, Google may throttle map requests, which will result in occassional unavailability of the map in the campaign statistics.", + "frontpageShoutOut": "Frontpage shout out", + "htmlCodeShownInTheFrontPageHeaderSection": "HTML code shown in the front page header section", + "gpgSigning": "GPG Signing", + "privateKeyPassphrase": "Private key passphrase", + "passphraseForTheKeyIfSet": "Passphrase for the key if set", + "onlyFillThisIfYourPrivateKeyIsEncrypted": "Only fill this if your private key is encrypted with a passphrase", + "gpgPrivateKey": "GPG private key", + "beginsWithBeginPgpPrivateKeyBlock": "Begins with '-----BEGIN PGP PRIVATE KEY BLOCK-----'", + "thisValueIsOptionalIfYouDoNotProvideA": "This value is optional. If you do not provide a private key GPG encrypted messages are sent without signing.", + "onlyMessagesThatAreEncryptedCanBeSigned": "<0>Only messages that are encrypted can be signed. Subsribers who have not set up a GPG public key in their profile receive normal email messages. Users with GPG key set receive encrypted messages and if you have signing key also set, the messages are signed with this key.", + "doNotUseSensitiveKeysHereThePrivateKey": "<0>Do not use sensitive keys here. The private key and passphrase are not encrypted in the database.", + "userMustNotBeEmpty": "User must not be empty", + "roleMustBeSelected": "Role must be selected", + "role": "Role", + "unshare": "Unshare", + "confirmUnsharing": "Confirm Unsharing", + "areYouSureYouWantToRemoveTheShareToUser": "Are you sure you want to remove the share to user \"{{username}}\"?", + "removingShareForUserUsername": "Removing share for user \"{{username}}\"", + "shareForUserUsernameRemoved": "Share for user \"{{username}}\" removed", + "addUser": "Add User", + "user": "User", + "existingUsers": "Existing Users", + "areYouSureYouWantToRemoveTheSharingOfThe": "Are you sure you want to remove the sharing of the {{typeName}} \"{{name}}\"?", + "removingSharingOfTheTypeNameName": "Removing sharing of the {{typeName}} \"{{name}}\"", + "sharingOfTheTypeNameNameRemoved": "Sharing of the {{typeName}} \"{{name}}\" removed", + "sharesForUserUsername": "Shares for user \"{{username}}\"", + "namespace-1": "namespace", + "list-1": "list", + "template-1": "template", + "mosaicoTemplates": "Mosaico Templates", + "campaign-1": "campaign", + "customForms-2": "custom forms", + "report-1": "report", + "reportTemplate-2": "report template", + "sendConfiguration-1": "send configuration", + "sourceTemplateMustNotBeEmpty": "Source template must not be empty", + "templateUpdated": "Template updated", + "templateCreated": "Template created", + "deletingTemplate": "Deleting template ...", + "templateDeleted": "Template deleted", + "editTemplate": "Edit Template", + "createTemplate": "Create Template", + "cloneFromAnExistingTemplate": "Clone from an existing template", + "cloneFromAnExistingCustomForms": "Clone from an existing custom forms", + "mosaico": "Mosaico", + "templateContentHtml": "Template content (HTML)", + "mosaicoTemplateDesigner": "Mosaico Template Designer", + "mosaicoTemplateMustBeSelected": "Mosaico template must be selected", + "mosaicoWithPredefinedTemplates": "Mosaico with predefined templates", + "mosaicoTemplate-1": "Mosaico Template", + "grapesJs": "GrapesJS", + "grapesJsTemplateDesigner": "GrapesJS Template Designer", + "ckEditor4": "CKEditor 4", + "ckEditor4TemplateDesigner": "CKEditor 4 Template Designer", + "codeEditor": "Code Editor", + "codeEditorTemplateDesigner": "Code Editor Template Designer", + "mergeTagReference": "Merge tag reference", + "templateContentPlainText": "Template content (plain text)", + "mergeTagsAreTagsThatAreReplacedBefore": "\n <1>Merge tags are tags that are replaced before sending out the message. The format of the merge tag is the following: <1>[TAG_NAME] or <3>[TAG_NAME/fallback] where <5>fallback is an optional text value used when <7>TAG_NAME is empty.\n ", + "youCanUseAnyOfTheStandardMergeTagsBelow": "\n <1>You can use any of the standard merge tags below. In addition to that every custom field has its own merge tag. Check the fields of the list you are going to send to.\n ", + "urlThatPointsToTheUnsubscribePage": "URL that points to the unsubscribe page", + "urlThatPointsToThePreferencesPageOfThe": "URL that points to the preferences page of the subscriber", + "urlToPreviewTheMessageInABrowser": "URL to preview the message in a browser", + "uniqueIdThatIdentifiesTheRecipient": "Unique ID that identifies the recipient", + "uniqueIdThatIdentifiesTheListUsedForThis": "Unique ID that identifies the list used for this campaign", + "uniqueIdThatIdentifiesCurrentCampaign": "Unique ID that identifies current campaign", + "forRssCampaignsTheFollowingFurtherTags": "\n <1>For RSS campaigns, the following further tags can be used.\n ", + "rssEntryTitle": "RSS entry title", + "rssEntryDate": "RSS entry date", + "rssEntryLink": "RSS entry link", + "contentOfAnRssEntry": "Content of an RSS entry", + "rssEntrySummary": "RSS entry summary", + "rssEntryImageUrl": "RSS entry image URL", + "toExtractTheTextFromHtmlClickHerePlease": "To extract the text from HTML click <1>here. Please note that your existing plaintext in the field above will be overwritten. This feature uses the <3>Premailer API, a third party service. Their Terms of Service and Privacy Policy apply.", + "mosaicoTemplateUpdated": "Mosaico template updated", + "mosaicoTemplateCreated": "Mosaico template created", + "deletingMosaicoTemplate": "Deleting Mosaico template ...", + "mosaicoTemplateDeleted": "Mosaico template deleted", + "editMosaicoTemplate": "Edit Mosaico Template", + "createMosaicoTemplate": "Create Mosaico Template", + "invalidMjml": "Invalid MJML", + "mjmlIsValid": "MJML is valid.", + "invalidMjml-1": "Invalid MJML.", + "templateContent": "Template content", + "validate": "Validate", + "blockThumbnails": "Block thumbnails", + "versafixOne": "Versafix One", + "mjmlSample": "MJML Sample", + "mosaicoTemplateName": "Mosaico Template \"{{name}}\"", + "theseFilesArePubliclyAvailableViaHttpSo-1": "These files are publicly available via HTTP so that they can be linked to from the Mosaico template.", + "theseFilesWillBeUsedByMosaicoToSearchFor": "These files will be used by Mosaico to search for block thumbnails (the \"edres\" directory). Place here one file per block type that you have defined in the Mosaico template. Each file must have the same name as the block id. The file will be used as the thumbnail of the corresponding block.", + "sendConfigurationHasToBeSelected": "Send configuration has to be selected.", + "listHasToBeSelected": "List has to be selected.", + "theUserNameAlreadyExistsInTheSystem": "The user name already exists in the system.", + "userUpdated": "User updated", + "userCreated": "User created", + "theUsernameIsAlreadyAssignedToAnother": "The username is already assigned to another user.", + "theEmailIsAlreadyAssignedToAnotherUser-1": "The email is already assigned to another user.", + "deletingUser": "Deleting user ...", + "userDeleted": "User deleted", + "editUser": "Edit User", + "createUser": "Create User", + "userName": "User Name", + "repeatPassword": "Repeat Password", + "deleteUser": "Delete User", + "userName-1": "User \"{{name}}\"", + "shares": "Shares", + "subscriptionConfirmed": "Subscription Confirmed", + "listEmailAddressAlreadyRegistered": "{{list}}: Email Address Already Registered", + "listPleaseConfirmEmailChangeIn": "{{list}}: Please Confirm Email Change in Subscription", + "pleaseConfirmSubscription": "Please Confirm Subscription", + "listPleaseConfirmUnsubscription": "{{list}}: Please Confirm Unsubscription", + "listUnsubscriptionConfirmed": "{{list}}: Unsubscription Confirmed", + "invalidEmailAddressEmailMxRecordNotFound": "Invalid email address \"{{email}}\": MX record not found for domain", + "invalidEmailAddressEmailAddressDomainNot": "Invalid email address \"{{email}}\": Address domain not found", + "invalidEmailAddressEmailAddressDomain": "Invalid email address \"{{email}}\": Address domain name is required", + "invalidEmailAddressEmail": "Invalid email address \"{{email}}\"", + "mailerPasswordChangeRequest": "Mailer password change request", + "mailtrain": "Mailtrain", + "emailAddressChanged": "Email address changed", + "emailAddressNotSet": "Email address not set", + "nothingSeemsToBeChanged": "Nothing seems to be changed", + "anEmailWithFurtherInstructionsHasBeen": "An email with further instructions has been sent to the provided address", + "foundAddedMessagesNewCampaignMessages": "Found {{addedMessages}} new campaign messages from feed {{campaignId}}", + "foundNothingNewFromTheFeed": "Found nothing new from the feed", + "missingEmail": "Missing email", + "emailAddress-2": "Email Address", + "wantToChangeIt?": "want to change it?", + "downloadSignatureVerificationKey": "Download signature verification key", + "beginsWithAnd#39BeginPgpPublicKeyBloc": "Begins with '-----BEGIN PGP PUBLIC KEY BLOCK-----'", + "insertYourGpgPublicKeyHereToEncrypt": "Insert your GPG public key here to encrypt messages sent to your address (optional)", + "existingEmailAddress": "Existing Email Address", + "newEmailAddress": "New Email Address", + "youWillReceiveAConfirmationRequestToYour": "You will receive a confirmation request to your new email address that you need to accept before your email is actually changed", + "updateEmailAddress": "Update Email Address", + "updateProfile": "Update Profile", + "subscribeToList": "Subscribe to list", + "thePasswordMustBeAtLeastMinLength": "The password must be at least {{ minLength }} characters long", + "thePasswordMustBeFewerThanMaxLength": "The password must be fewer than {{ maxLength }} characters", + "thePasswordMayNotContainSequencesOfThree": "The password may not contain sequences of three or more repeated characters", + "thePasswordMustContainAtLeastOne": "The password must contain at least one lowercase letter", + "thePasswordMustContainAtLeastOne-1": "The password must contain at least one uppercase letter", + "thePasswordMustContainAtLeastOneNumber": "The password must contain at least one number", + "thePasswordMustContainAtLeastOneSpecial": "The password must contain at least one special character" +} \ No newline at end of file diff --git a/locales/en-US/common.json b/locales/en-US/common.json new file mode 100644 index 00000000..6428b301 --- /dev/null +++ b/locales/en-US/common.json @@ -0,0 +1,1028 @@ +{ + "emailMustNotBeEmpty": "Email must not be empty.", + "invalidEmailAddress": "Invalid email address.", + "theEmailIsAlreadyAssociatedWithAnother": "The email is already associated with another user in the system.", + "validationIsInProgress": "Validation is in progress...", + "fullNameMustNotBeEmpty": "Full name must not be empty", + "currentPasswordMustNotBeEmpty": "Current password must not be empty.", + "incorrectPassword": "Incorrect password.", + "passwordsMustMatch": "Passwords must match", + "updatingUserProfile": "Updating user profile ...", + "userProfileUpdated": "User profile updated", + "thereAreErrorsInTheFormPleaseFixThemAnd": "There are errors in the form. Please fix them and submit again.", + "yourUpdatesCannotBeSaved": "Your updates cannot be saved.", + "thePasswordIsIncorrectPossiblyJust": "The password is incorrect (possibly just changed in another window / session). Enter correct password and try again.", + "theEmailIsAlreadyAssignedToAnotherUser": "The email is already assigned to another user. Enter another email and try again.", + "account": "Account", + "generalSettings": "General Settings", + "fullName": "Full Name", + "email": "Email", + "thisAddressIsUsedForAccountRecoveryIn": "This address is used for account recovery in case you loose your password", + "passwordChange": "Password Change", + "youOnlyNeedToFillOutThisFormIfYouWantTo": "You only need to fill out this form if you want to change your current password", + "currentPassword": "Current Password", + "newPassword": "New Password", + "confirmPassword": "Confirm Password", + "update": "Update", + "accountManagementIsNotPossibleBecause": "Account management is not possible because Mailtrain is configured to use externally managed users.", + "ifYouWantToChangeThePasswordUseThisLink": "If you want to change the password, use <1>this link.", + "personalAccessToken": "Personal access token", + "accessTokenNotYetGenerated": "Access token not yet generated", + "api": "API", + "resetAccessToken": "Reset Access Token", + "generateAccessToken": "Generate Access Token", + "notesAboutTheApi": "Notes about the API", + "addSubscription": "Add subscription", + "thisApiCallEitherInsertsANewSubscription": "This API call either inserts a new subscription or updates existing. Fields not included are left as is, so if you update only LAST_NAME value, then FIRST_NAME is kept untouched for an existing subscription.", + "arguments": "arguments", + "yourPersonalAccessToken": "your personal access token", + "subscribersEmailAddress": "subscriber's email address", + "required": "required", + "subscribersFirstName": "subscriber's first name", + "subscribersLastName": "subscriber's last name", + "subscribersTimezoneEgEuropeTallinnPstOr": "subscriber's timezone (eg. \"Europe/Tallinn\", \"PST\" or \"UTC\"). If not set defaults to \"UTC\"", + "customFieldValueUseYesnoForOptionGroup": "custom field value. Use yes/no for option group values (checkboxes, radios, drop downs)", + "additionalPostArguments": "Additional POST arguments", + "setToYesIfYouWantToMakeSureTheEmailIs": "set to \"yes\" if you want to make sure the email is marked as subscribed even if it was previously marked as unsubscribed. If the email was already unsubscribed/blocked then subscription status is not changed", + "setToYesIfYouWantToSendConfirmationEmail": "set to \"yes\" if you want to send confirmation email to the subscriber before actually marking as subscribed", + "example": "Example", + "removeSubscription": "Remove subscription", + "thisApiCallMarksASubscriptionAs": "This API call marks a subscription as unsubscribed", + "deleteSubscription": "Delete subscription", + "thisApiCallDeletesASubscription": "This API call deletes a subscription", + "addNewCustomField": "Add new custom field", + "thisApiCallCreatesANewCustomFieldForA": "This API call creates a new custom field for a list.", + "fieldName": "field name", + "oneOfTheFollowingTypes": "one of the following types:", + "ifTheTypeIsOptionThenYouAlsoNeedTo": "If the type is 'option' then you also need to specify the parent element ID", + "templateForTheGroupElementIfNotSetThen": "Template for the group element. If not set, then values of the elements are joined with commas", + "ifNotVisibleThenTheSubscriberCanNotView": "if not visible then the subscriber can not view or modify this value at the profile page", + "getListOfBlacklistedEmails": "Get list of blacklisted emails", + "thisApiCallGetListOfBlacklistedEmails": "This API call get list of blacklisted emails.", + "startPosition": "Start position", + "optionalDefault0": "optional, default 0", + "limitEmailsCountInResponse": "limit emails count in response", + "optionalDefault10000": "optional, default 10000", + "filterByPartOfEmail": "filter by part of email", + "optionalDefault": "optional, default \"\"", + "addEmailToBlacklist": "Add email to blacklist", + "thisApiCallEitherAddEmailsToBlacklist": "This API call either add emails to blacklist", + "emailAddress": "email address", + "deleteEmailFromBlacklist": "Delete email from blacklist", + "thisApiCallEitherDeleteEmailsFrom": "This API call either delete emails from blacklist", + "getTheListsAUserHasSubscribedTo": "Get the lists a user has subscribed to", + "retrieveTheListsThatTheUserWithEmailHas": "Retrieve the lists that the user with :email has subscribed to.", + "triggerFetchOfACampaign": "Trigger fetch of a campaign", + "forcesTheRssFeedCheckToImmediatelyCheck": "Forces the RSS feed check to immediately check the campaign with the given CID (in :campaignCid). It works only for RSS campaigns.", + "sendTransactionalEmail": "Send transactional email", + "sendSingleEmailByTemplateWithGiven": "Send single email by template with given templateId", + "idOfConfigurationUsedToCreateMailer": "ID of configuration used to create mailer instance. If omitted, the default system send configuration is used.", + "subject": "Subject", + "dataPassedToTemplateWhenCompilingWith": "Data passed to template when compiling with Handlebars", + "mapOfTemplatesubjectVariablesToReplace": "Map of template variables to replace", + "apiResponseIsAJsonStructureWithErrorAnd": "API response is a JSON structure with <1>error and <3>data properties. If the response <5>error has a value set then the request failed.", + "youNeedToDefineProperContentTypeWhen": "You need to define proper <1>Content-Type when making a request. You can either use <3>application/x-www-form-urlencoded for normal form data or <5>application/json for a JSON payload. Using <7>multipart/form-data is not supported.", + "emailMustNotBeEmpty-1": "Email must not be empty", + "theEmailIsAlreadyOnBlacklist": "The email is already on blacklist.", + "saving": "Saving ...", + "thereAreErrorsInTheFormPleaseFixThemAnd-1": "There are errors in the form. Please fix them and try again.", + "removeFromBlacklist": "Remove from blacklist", + "confirmRemovalFromBlacklist": "Confirm Removal From Blacklist", + "areYouSureYouWantToRemoveEmailFromThe": "Are you sure you want to remove {{email}} from the blacklist?", + "removingEmailFromTheBlacklist": "Removing {{email}} from the blacklist", + "emailRemovedFromTheBlacklist": "{{email}} removed from the blacklist", + "blacklist": "Blacklist", + "addEmailToBlacklist-1": "Add Email to Blacklist", + "addToBlacklist": "Add to Blacklist", + "blacklistedEmails": "Blacklisted Emails", + "campaignUpdated": "Campaign updated", + "editCustomContent": "Edit Custom Content", + "customTemplateEditor": "Custom template editor", + "save": "Save", + "saveAndLeave": "Save and leave", + "copy": "Copy", + "saveAndGoToStatus": "Save and go to status", + "testSend": "Test send", + "createRegularCampaign": "Create Regular Campaign", + "createRssCampaign": "Create RSS Campaign", + "createTriggeredCampaign": "Create Triggered Campaign", + "editRegularCampaign": "Edit Regular Campaign", + "editRssCampaign": "Edit RSS Campaign", + "editTriggeredCampaign": "Edit Triggered Campaign", + "template": "Template", + "template_plural": "Templates", + "customContentClonedFromTemplate": "Custom content cloned from template", + "customContentClonedFromAnotherCampaign": "Custom content cloned from another campaign", + "customContent": "Custom content", + "url": "URL", + "nameMustNotBeEmpty": "Name must not be empty", + "sendConfigurationMustBeSelected": "Send configuration must be selected", + "fromEmailMustNotBeEmpty": "\"From\" email must not be empty", + "templateMustBeSelected": "Template must be selected", + "campaignMustBeSelected": "Campaign must be selected", + "typeMustBeSelected": "Type must be selected", + "urlMustNotBeEmpty": "URL must not be empty", + "rssFeedUrlMustBeGiven": "RSS feed URL must be given", + "listMustBeSelected": "List must be selected", + "segmentMustBeSelected": "Segment must be selected", + "campaignCreated": "Campaign created", + "rssFeedUrl": "RSS Feed Url", + "name": "Name", + "id": "ID", + "subscribers": "Subscribers", + "description": "Description", + "namespace": "Namespace", + "namespace_plural": "Namespaces", + "remove": "Remove", + "insertNewEntryBeforeThisOne": "Insert new entry before this one", + "moveUp": "Move up", + "moveDown": "Move down", + "list": "List", + "list_plural": "Lists", + "segment": "Segment", + "useAParticularSegment": "Use a particular segment", + "lists": "Lists", + "addList": "Add list", + "type": "Type", + "created": "Created", + "override": "Override", + "fromName": "\"From\" name", + "fromEmailAddress": "\"From\" email address", + "replytoEmailAddress": "\"Reply-to\" email address", + "subjectLine": "\"Subject\" line", + "loadingSendConfiguration": "Loading send configuration ...", + "contentSource": "Content source", + "selectingATemplateCreatesACampaign": "Selecting a template creates a campaign specific copy from it.", + "campaign": "Campaign", + "campaign_plural": "Campaigns", + "contentOfTheSelectedCampaignWillBeCopied": "Content of the selected campaign will be copied into this campaign.", + "renderUrl": "Render URL", + "ifAMessageIsSentThenThisUrlWillBePosTed": "If a message is sent then this URL will be POSTed to using Merge Tags as POST body. Use this if you want to generate the HTML message yourself.", + "deletingCampaign": "Deleting campaign ...", + "campaignDeleted": "Campaign deleted", + "formCannotBeEditedBecauseTheCampaignIs": "Form cannot be edited because the campaign is currently being sent out. Wait till the sending is finished and refresh.", + "thisIsTheCampaignIdDisplayedToThe": "This is the campaign ID displayed to the subscribers", + "sendSettings": "Send settings", + "sendConfiguration": "Send configuration", + "sendConfiguration_plural": "Send configurations", + "customUnsubscribeUrl": "Custom unsubscribe URL", + "tracking": "Tracking", + "disableOpenedTracking": "Disable opened tracking", + "disableClickedTracking": "Disable clicked tracking", + "saveAndEditContent": "Save and edit content", + "delete": "Delete", + "regular": "Regular", + "triggered": "Triggered", + "rss": "RSS", + "idle": "Idle", + "scheduled": "Scheduled", + "paused": "Paused", + "finished": "Finished", + "inactive": "Inactive", + "active": "Active", + "sending": "Sending", + "status": "Status", + "sendingScheduled": "Sending scheduled", + "statistics": "Statistics", + "edit": "Edit", + "content": "Content", + "files": "Files", + "attachments": "Attachments", + "triggers": "Triggers", + "share": "Share", + "createCampaign": "Create Campaign", + "campaigns": "Campaigns", + "countries": "Countries", + "devices": "Devices", + "campaignName": "Campaign \"{{name}}\"", + "delivered": "Delivered", + "deliveredEmails": "Delivered Emails", + "complained": "Complained", + "subscribersThatComplained": "Subscribers that Complained", + "bounced": "Bounced", + "emailsThatBounced": "Emails that Bounced", + "unsubscribed": "Unsubscribed", + "subscribersThatUnsubscribed": "Subscribers that Unsubscribed", + "opened": "Opened", + "clicks": "Clicks", + "theseFilesArePubliclyAvailableViaHttpSo": "These files are publicly available via HTTP so that they can be linked to from the content of the campaign.", + "theseFilesWillBeAttachedToTheCampaign": "These files will be attached to the campaign emails as proper attachments. This means they count towards to the eventual size of the email.", + "triggerName": "Trigger \"{{name}}\"", + "create": "Create", + "campaignStatistics": "Campaign Statistics", + "total": "Total", + "blacklisted": "Blacklisted", + "complaints": "Complaints", + "clicked": "Clicked", + "quickReports": "Quick Reports", + "belowYouCanDownloadPremadeReportsRelated": "Below, you can download pre-made reports related to this campaign. Each link generates a CSV file that can be viewed in a spreadsheet editor. Custom reports and reports that cover more than one campaign can be created through <1>Reports functionality of Mailtrain.", + "uniqueVisitors": "Unique visitors", + "totalClicks": "Total clicks", + "campaignLinks": "Campaign links", + "subscriptionId": "Subscription ID", + "listId": "List ID", + "listNamespace": "List namespace", + "opensCount": "Opens count", + "desktop": "Desktop", + "tv": "TV", + "tablet": "Tablet", + "phone": "Phone", + "bot": "Bot", + "car": "Car", + "console": "Console", + "distributionByDeviceType": "Distribution by device type", + "loadingChart": "Loading chart", + "deviceType": "Device type", + "count": "Count", + "unknown": "Unknown", + "distributionByCountry": "Distribution by country", + "country": "Country", + "detailedStatistics": "Detailed Statistics", + "listOfSubscribersThatOpenedTheCampaign": "List of subscribers that opened the campaign", + "subscriptionHasToBeSelectedToShowThe": "Subscription has to be selected to show the campaign for a test user.", + "previewCampaignAs": "Preview campaign as", + "preview": "Preview", + "dateMustNotBeEmpty": "Date must not be empty", + "dateIsInvalid": "Date is invalid", + "timeMustNotBeEmpty": "Time must not be empty", + "timeIsInvalid": "Time is invalid", + "confirmLaunch": "Confirm launch", + "doYouWantToLaunchTheCampaign?": "Do you want to launch the campaign?", + "confirmReset": "Confirm reset", + "doYouWantToResetTheCampaign?All": "Do you want to reset the campaign? All statistics and the track of delivered messages will be lost.", + "no": "No", + "yes": "Yes", + "subscribers-1": "subscribers", + "sendStatus": "Send status", + "campaignIsScheduledForDelivery": "Campaign is scheduled for delivery.", + "campaignIsReadyToBeSentOut": "Campaign is ready to be sent out.", + "sendLater": "Send later", + "scheduleDeliveryAtAParticularDatetime": "Schedule delivery at a particular date/time", + "date": "Date", + "time": "Time", + "enter24HourTimeInFormatHhmmEg1348": "Enter 24-hour time in format HH:MM (e.g. 13:48)", + "rescheduleSend": "Reschedule send", + "scheduleSend": "Schedule send", + "send": "Send", + "viewStatistics": "View statistics", + "campaignIsBeingSentOut": "Campaign is being sent out.", + "stop": "Stop", + "allMessagesSent!HitContinueIfYouYouWant": "All messages sent! Hit \"Continue\" if you you want to send this campaign to new subscribers.", + "continue": "Continue", + "reset": "Reset", + "yourCampaignIsCurrentlyDisabledClick": "Your campaign is currently disabled. Click Enable button to start enable it.", + "enable": "Enable", + "yourCampaignIsEnabledAndSendingMessages": "Your campaign is enabled and sending messages.", + "disable": "Disable", + "campaignStatus": "Campaign Status", + "targetListssegments": "Target lists/segments", + "ifANewEntryIsFoundFromCampaignFeedANew": "If a new entry is found from campaign feed a new subcampaign is created of that entry and it will be listed here", + "sendingTestEmail": "Sending test email", + "subscriptionHasToBeSelected": "Subscription has to be selected.", + "sendTestEmail": "Send Test Email", + "cancel": "Cancel", + "subscription": "Subscription", + "valuesMustNotBeEmpty": "Values must not be empty", + "valueMustBeANonnegativeNumber": "Value must be a non-negative number", + "sourceCampaignMustNotBeEmpty": "Source campaign must not be empty", + "triggerUpdated": "Trigger updated", + "triggerCreated": "Trigger created", + "deletingTrigger": "Deleting trigger ...", + "triggerDeleted": "Trigger deleted", + "editTrigger": "Edit Trigger", + "createTrigger": "Create Trigger", + "entity": "Entity", + "selectTheTypeOfTheTriggerRule": "Select the type of the trigger rule.", + "triggerFires": "Trigger fires", + "event": "Event", + "selectTheEventThatTriggersSendingThe": "Select the event that triggers sending the campaign.", + "enabled": "Enabled", + "latestOpen": "Latest open", + "latestClick": "Latest click", + "notOpened": "Not opened", + "notClicked": "Not clicked", + "daysAfter": "Days after", + "welcomeToMailtrain": "Welcome to Mailtrain...", + "close": "Close", + "countFileAdded": "{{count}} file added", + "countFileAdded_plural": "{{count}} files added", + "countFileReplaced": "{{count}} file replaced", + "countFileReplaced_plural": "{{count}} files replaced", + "countFileIgnored": "{{count}} file ignored", + "countFileIgnored_plural": "{{count}} files ignored", + "countFileUploaded": "{{count}} file uploaded", + "countFileUploaded_plural": "{{count}} files uploaded", + "uploadingCountFile": "Uploading {{count}} file", + "uploadingCountFile_plural": "Uploading {{count}} files", + "fileUploadFailed": "File upload failed:", + "noFilesToUpload": "No files to upload", + "deletingFile": "Deleting file ...", + "fileDeleted": "File deleted", + "deleteFileFailed": "Delete file failed:", + "size": "Size", + "download": "Download", + "confirmFileDeletion": "Confirm file deletion", + "areYouSureYouWantToDeleteTheFile?": "Are you sure you want to delete the file?", + "dropCountFile": "Drop {{count}} file", + "dropCountFile_plural": "Drop {{count}} files", + "dropFilesHere": "Drop files here", + "loading": "Loading ...", + "openCalendar": "Open calendar", + "select": "Select", + "someoneElseHasIntroducedModificationIn": "Someone else has introduced modification in the meantime. Refresh your page to start anew with fresh data. Please note that your changes will be lost.", + "itSeemsThatSomeoneElseHasDeletedThe": "It seems that someone else has deleted the target namespace in the meantime. Refresh your page to start anew with fresh data. Please note that your changes will be lost.", + "itSeemsThatSomeoneElseHasDeletedThe-1": "It seems that someone else has deleted the entity in the meantime.", + "customForms": "Custom forms", + "report": "Report", + "report_plural": "Reports", + "reportTemplate": "Report template", + "reportTemplate_plural": "Report templates", + "mosaicoTemplate": "Mosaico template", + "mosaicoTemplate_plural": "Mosaico templates", + "cannoteDeleteNameDueToTheFollowing": "Cannote delete \"{{name}}\" due to the following dependencies:", + "andMore": "... and more", + "confirmDeletion": "Confirm Deletion", + "areYouSureYouWantToDeleteName?": "Are you sure you want to delete \"{{name}}\"?", + "namespaceMustBeSelected": "Namespace must be selected", + "sourceOnGitHub": "Source on GitHub", + "sendTestEmail-1": "Send test e-mail", + "showHtml": "Show HTML", + "maximizeEditor": "Maximize editor", + "mjml": "MJML", + "html": "HTML", + "disableWordWrap": "Disable word wrap", + "enableWordWrap": "Enable word wrap", + "hidePreview": "Hide preview", + "showPreview": "Show preview", + "showMjml": "Show MJML", + "countEntriesSelected": "{{ count }} entries selected.", + "customFormMustBeSelected": "Custom form must be selected", + "listUpdated": "List updated", + "listCreated": "List created", + "onestepIeNoEmailWithConfirmationLink": "One-step (i.e. no email with confirmation link)", + "onestepWithUnsubscriptionFormIeNoEmail": "One-step with unsubscription form (i.e. no email with confirmation link)", + "twostepIeAnEmailWithConfirmationLinkWill": "Two-step (i.e. an email with confirmation link will be sent)", + "twostepWithUnsubscriptionFormIeAnEmail": "Two-step with unsubscription form (i.e. an email with confirmation link will be sent)", + "manualIeUnsubscriptionHasToBePerformedBy": "Manual (i.e. unsubscription has to be performed by the list administrator)", + "defaultMailtrainForms": "Default Mailtrain Forms", + "customFormsSelectFormBelow": "Custom Forms (select form below)", + "recipientsNameTemplate": "Recipients name template", + "specifyUsingMergeTagsOfThisListHowTo": "Specify using merge tags of this list how to construct full name of the recipient. This full name is used as \"To\" header when sending emails.", + "emptyCustomNoFields": "Empty / Custom (no fields)", + "nameOneField": "Name (one field)", + "firstNameAndLastNameTwoFields": "First name and Last name (two fields)", + "representationOfSubscribersName": "Representation of subscriber's name", + "selectHowTheNameOfASubscriberWillBe": "Select how the name of a subscriber will be represented. The fields in list will be created accordingly. You can always adjust the choice later by editing the list fields. If you select \"Empty / Custom\", provide a template below in \"Recipients name template\" that will be used as subscriber's name as it will appear in the emails' \"To\" field.", + "deletingList": "Deleting list ...", + "listDeleted": "List deleted", + "editList": "Edit List", + "createList": "Create List", + "thisIsTheListIdDisplayedToTheSubscribers": "This is the list ID displayed to the subscribers", + "contactEmail": "Contact email", + "contactEmailUsedInSubscriptionFormsAnd": "Contact email used in subscription forms and emails that are sent out. If not filled in, the admin email from the global settings will be used.", + "homepage": "Homepage", + "homepageUrlUsedInSubscriptionFormsAnd": "Homepage URL used in subscription forms and emails that are sent out. If not filled in, the default homepage from global settings will be used.", + "sendConfigurationThatWillBeUsedFor": "Send configuration that will be used for sending out subscription-related emails.", + "forms": "Forms", + "webAndEmailFormsAndTemplatesUsedIn": "Web and email forms and templates used in subscription management process.", + "allowPublicUsersToSubscribeThemselves": "Allow public users to subscribe themselves", + "unsubscription": "Unsubscription", + "selectHowAnUnsuscriptionRequestBy": "Select how an unsuscription request by subscriber is handled.", + "unsubscribeHeader": "Unsubscribe header", + "doNotSendListUnsubscribeHeaders": "Do not send List-Unsubscribe headers", + "theCustomFormUsedForThisListYouCanCreate": "The custom form used for this list. You can create a form <1>here.", + "mergeTagIsInvalidMayMustBeUppercaseAnd": "Merge tag is invalid. May must be uppercase and contain only characters A-Z, 0-9, _. It must start with a letter.", + "anotherFieldWithTheSameMergeTagExists": "Another field with the same merge tag exists. Please choose another merge tag.", + "groupHasToBeSelected": "Group has to be selected", + "defaultValueIsNotIntegerNumber": "Default value is not integer number", + "defaultValueIsNotAProperlyFormattedDate": "Default value is not a properly formatted date", + "defaultValueIsNotAProperlyFormatted": "Default value is not a properly formatted birthday date", + "defaultValueIsNotOneOfTheAllowedOptions": "Default value is not one of the allowed options", + "errrorOnLineLine": "Errror on line {{ line }}", + "fieldUpdated": "Field updated", + "fieldCreated": "Field created", + "notVisible": "Not visible", + "endOfList": "End of list", + "fieldSettings": "Field settings", + "defaultValue": "Default value", + "defaultValueUsedWhenTheFieldIsEmpty": "Default value used when the field is empty.", + "options": "Options", + "dateFormat": "Date format", + "mmddyyyy": "MM/DD/YYYY", + "ddmmyyyy": "DD/MM/YYYY", + "mmdd": "MM/DD", + "ddmm": "DD/MM", + "mergeTag": "Merge Tag", + "group": "Group", + "belongsToCheckboxDropdownRadioGroup": "Belongs to checkbox / dropdown / radio group", + "containingGroup": "Containing group", + "selectGroupToWhichTheOptionsShouldBelong": "Select group to which the options should belong.", + "checkedLabel": "Checked label", + "labelThatWillBeDisplayedInListAnd": "Label that will be displayed in list and subscription when the option is checked", + "uncheckedLabel": "Unchecked label", + "labelThatWillBeDisplayedInListAnd-1": "Label that will be displayed in list and subscription when the option is unchecked", + "deletingField": "Deleting field ...", + "fieldDeleted": "Field deleted", + "editField": "Edit Field", + "createField": "Create Field", + "mergeTag-1": "Merge tag", + "fieldOrder": "Field order", + "listingsBefore": "Listings (before)", + "selectTheFieldBeforeWhichThisFieldShould": "Select the field before which this field should appear in listings. To exclude the field from listings, select \"Not visible\".", + "subscriptionFormBefore": "Subscription form (before)", + "selectTheFieldBeforeWhichThisFieldShould-1": "Select the field before which this field should appear in new subscription form. To exclude the field from the new subscription form, select \"Not visible\".", + "managementFormBefore": "Management form (before)", + "selectTheFieldBeforeWhichThisFieldShould-2": "Select the field before which this field should appear in subscription management. To exclude the field from the subscription management form, select \"Not visible\".", + "youCanControlTheAppearanceOfTheMergeTag": "You can control the appearance of the merge tag with this template. The template\n uses handlebars syntax and you can find all values from <1>{'{{values}}'} array, for\n example <3>{'{{#each values}} {{this}} {{/each}}'}. If template is not defined then\n multiple values are joined with commas.", + "specifyTheOptionsToSelectFromInThe": "<0>Specify the options to select from in the following format:<1>key|label. For example:\n <2><0>au|Australia<3><0>at|Austria", + "defaultKeyEgAuUsedWhenTheFieldIsEmpty": "Default key (e.g. <1>au used when the field is empty.')", + "youCanControlTheAppearanceOfTheMergeTag-1": "You can control the appearance of the merge tag with this template. The template\n uses handlebars syntax and you can find all values from <1>{'{{values}}'} array.\n Each entry in the array is an object with attributes <3>key and <5>label.\n For example <7>{'{{#each values}} {{this.value}} {{/each}}'}. If template is not defined then\n multiple values are joined with commas.", + "youCanUseThisTemplateToRenderJsonValues": "You can use this template to render JSON values (if the JSON is an array then the array is\n exposed as <1>values, otherwise you can access the JSON keys directly).", + "text": "Text", + "website": "Website", + "multilineText": "Multi-line text", + "gpgPublicKey": "GPG Public Key", + "number": "Number", + "checkboxesFromOptionFields": "Checkboxes (from option fields)", + "radioButtonsFromOptionFields": "Radio Buttons (from option fields)", + "dropDownFromOptionFields": "Drop Down (from option fields)", + "radioButtonsEnumerated": "Radio Buttons (enumerated)", + "dropDownEnumerated": "Drop Down (enumerated)", + "birthday": "Birthday", + "jsonValueForCustomRendering": "JSON value for custom rendering", + "option": "Option", + "fields": "Fields", + "thePlaintextVersionForThisEmail": "The plaintext version for this email", + "layout": "Layout", + "formInputStyle": "Form Input Style", + "thisCssStylesheetDefinesTheAppearanceOf": "This CSS stylesheet defines the appearance of form input elements and alerts", + "webSubscribe": "Web - Subscribe", + "webConfirmSubscriptionNotice": "Web - Confirm Subscription Notice", + "mailConfirmSubscriptionMjml": "Mail - Confirm Subscription (MJML)", + "mailConfirmSubscriptionText": "Mail - Confirm Subscription (Text)", + "mailAlreadySubscribedMjml": "Mail - Already Subscribed (MJML)", + "mailAlreadySubscribedText": "Mail - Already Subscribed (Text)", + "webSubscribedNotice": "Web - Subscribed Notice", + "mailSubscriptionConfirmedMjml": "Mail - Subscription Confirmed (MJML)", + "mailSubscriptionConfirmedText": "Mail - Subscription Confirmed (Text)", + "webManagePreferences": "Web - Manage Preferences", + "webManageAddress": "Web - Manage Address", + "mailConfirmAddressChangeMjml": "Mail - Confirm Address Change (MJML)", + "mailConfirmAddressChangeText": "Mail - Confirm Address Change (Text)", + "webUpdatedNotice": "Web - Updated Notice", + "webUnsubscribe": "Web - Unsubscribe", + "webConfirmUnsubscriptionNotice": "Web - Confirm Unsubscription Notice", + "mailConfirmUnsubscriptionMjml": "Mail - Confirm Unsubscription (MJML)", + "mailConfirmUnsubscriptionText": "Mail - Confirm Unsubscription (Text)", + "webUnsubscribedNotice": "Web - Unsubscribed Notice", + "mailUnsubscriptionConfirmedMjml": "Mail - Unsubscription Confirmed (MJML)", + "mailUnsubscriptionConfirmedText": "Mail - Unsubscription Confirmed (Text)", + "webManualUnsubscribeNotice": "Web - Manual Unsubscribe Notice", + "privacyPolicy": "Privacy policy", + "general": "General", + "subscribe": "Subscribe", + "manage": "Manage", + "unsubscribe": "Unsubscribe", + "dataProtection": "Data protection", + "listOfErrorsInTemplates": "List of errors in templates", + "customFormsUpdated": "Custom forms updated", + "customFormsCreated": "Custom forms created", + "deletingForm": "Deleting form ...", + "formDeleted": "Form deleted", + "editCustomForms": "Edit Custom Forms", + "createCustomForms": "Create Custom Forms", + "formsPreview": "Forms Preview", + "listToPreviewOn": "List To Preview On", + "selectListWhoseFieldsWillBeUsedToPreview": "Select list whose fields will be used to preview the forms.", + "noteTheseLinksAreSolelyForAQuickPreview": "Note: These links are solely for a quick preview. To get the address of the subscription form, go to the list's subscribers and click on \"Subscription Form\".", + "formPreview": "Form preview:", + "refresh": "Refresh", + "closePreview": "Close preview", + "templates": "Templates", + "customFormsUseMjmlForFormattingSeeThe": "Custom forms use MJML for formatting. See the MJML documentation <1>here", + "createCustomForm": "Create Custom Form", + "fileMustBeSelected": "File must be selected", + "csvDelimiterMustNotBeEmpty": "CSV delimiter must not be empty", + "emailMappingHasToBeProvided": "Email mapping has to be provided", + "importSaved": "Import saved", + "file": "File", + "delimiter": "Delimiter", + "preparationInProgressPleaseWaitTillItIs": "Preparation in progress. Please wait till it is done or visit this page later.", + "––Select ––": "–– Select ––", + "eg": "e.g.:", + "checkImportedEmails": "Check imported emails", + "mapping": "Mapping", + "saveAndEditSettings": "Save and edit settings", + "saveAndRun": "Save and Run", + "deletingImport": "Deleting import ...", + "importDeleted": "Import deleted", + "editImport": "Edit Import", + "createImport": "Create Import", + "source": "Source", + "csvFile": "CSV file", + "preparing": "Preparing", + "stopping": "Stopping", + "ready": "Ready", + "preparationFailed": "Preparation failed", + "running": "Running", + "failed": "Failed", + "starting": "Starting", + "basicImportOfSubscribers": "Basic import of subscribers", + "unsubscribeEmails": "Unsubscribe emails", + "lastRun": "Last run", + "detailedStatus": "Detailed status", + "imports": "Imports", + "row": "Row", + "reason": "Reason", + "importRunStatus": "Import Run Status", + "importName": "Import name", + "importSource": "Import source", + "runStarted": "Run started", + "runFinished": "Run finished", + "runStatus": "Run status", + "processedEntries": "Processed entries", + "newEntries": "New entries", + "failedEntries": "Failed entries", + "error": "Error", + "failedRows": "Failed Rows", + "started": "Started", + "processed": "Processed", + "new": "New", + "importStatus": "Import Status", + "actions": "Actions", + "start": "Start", + "importRuns": "Import Runs", + "segments": "Segments", + "customForms-1": "Custom Forms", + "listName": "List \"{{name}}\"", + "fieldName-1": "Field \"{{name}}\"", + "segmentName": "Segment \"{{name}}\"", + "importName-1": "Import \"{{name}}\"", + "run": "Run", + "customFormsName": "Custom Forms \"{{name}}\"", + "newRule": "New rule", + "segmentUpdated": "Segment updated", + "segmentCreated": "Segment created", + "deletingSegment": "Deleting segment ...", + "segmentDeleted": "Segment deleted", + "editSegment": "Edit Segment", + "createSegment": "Create Segment", + "segmentOptions": "Segment Options", + "toplevelMatchType": "Toplevel match type", + "addCompositeRule": "Add Composite Rule", + "addRule": "Add Rule", + "rules": "Rules", + "allRulesMustMatch": "All rules must match", + "atLeastOneRuleMustMatch": "At least one rule must match", + "noRuleMayMatch": "No rule may match", + "equalTo": "Equal to", + "valueInColumnColNameIsEqualToValue": "Value in column \"{{colName}}\" is equal to \"{{value}}\"", + "matchWithSqlLike": "Match (with SQL LIKE)", + "valueInColumnColNameMatchesWithSqlLike": "Value in column \"{{colName}}\" matches (with SQL LIKE) \"{{value}}\"", + "matchWithRegularExpressions": "Match (with regular expressions)", + "valueInColumnColNameMatchesWithRegular": "Value in column \"{{colName}}\" matches (with regular expressions) \"{{value}}\"", + "alphabeticallyBefore": "Alphabetically before", + "valueInColumnColNameIsAlphabetically": "Value in column \"{{colName}}\" is alphabetically before \"{{value}}\"", + "alphabeticallyBeforeOrEqualTo": "Alphabetically before or equal to", + "valueInColumnColNameIsAlphabetically-1": "Value in column \"{{colName}}\" is alphabetically before or equal to \"{{value}}\"", + "alphabeticallyAfter": "Alphabetically after", + "valueInColumnColNameIsAlphabetically-2": "Value in column \"{{colName}}\" is alphabetically after \"{{value}}\"", + "alphabeticallyAfterOrEqualTo": "Alphabetically after or equal to", + "valueInColumnColNameIsAlphabetically-3": "Value in column \"{{colName}}\" is alphabetically after or equal to \"{{value}}\"", + "valueInColumnColNameIsEqualToValue-1": "Value in column \"{{colName}}\" is equal to {{value}}", + "lessThan": "Less than", + "valueInColumnColNameIsLessThanValue": "Value in column \"{{colName}}\" is less than {{value}}", + "lessThanOrEqualTo": "Less than or equal to", + "valueInColumnColNameIsLessThanOrEqualTo": "Value in column \"{{colName}}\" is less than or equal to {{value}}", + "greaterThan": "Greater than", + "valueInColumnColNameIsGreaterThanValue": "Value in column \"{{colName}}\" is greater than {{value}}", + "greaterThanOrEqualTo": "Greater than or equal to", + "valueInColumnColNameIsGreaterThanOrEqual": "Value in column \"{{colName}}\" is greater than or equal to {{value}}", + "on": "On", + "dateInColumnColNameIsValue": "Date in column \"{{colName}}\" is {{value}}", + "before": "Before", + "dateInColumnColNameIsBeforeValue": "Date in column \"{{colName}}\" is before {{value}}", + "beforeOrOn": "Before or on", + "dateInColumnColNameIsBeforeOrOnValue": "Date in column \"{{colName}}\" is before or on {{value}}", + "after": "After", + "dateInColumnColNameIsAfterValue": "Date in column \"{{colName}}\" is after {{value}}", + "afterOrOn": "After or on", + "dateInColumnColNameIsAfterOrOnValue": "Date in column \"{{colName}}\" is after or on {{value}}", + "onXthDayBeforeafterCurrentDate": "On x-th day before/after current date", + "dateInColumnColNameIsTheCurrentDate": "Date in column \"{{colName}}\" is the current date", + "dateInColumnColNameIsTheValuethDayAfter": "Date in column \"{{colName}}\" is the {{value}}-th day after the current date", + "dateInColumnColNameIsTheValuethDayBefore": "Date in column \"{{colName}}\" is the {{value}}-th day before the current date", + "beforeXthDayBeforeafterCurrentDate": "Before x-th day before/after current date", + "dateInColumnColNameIsBeforeTheCurrent": "Date in column \"{{colName}}\" is before the current date", + "dateInColumnColNameIsBeforeTheValuethDay": "Date in column \"{{colName}}\" is before the {{value}}-th day after the current date", + "dateInColumnColNameIsBeforeTheValuethDay-1": "Date in column \"{{colName}}\" is before the {{value}}-th day before the current date", + "beforeOrOnXthDayBeforeafterCurrentDate": "Before or on x-th day before/after current date", + "dateInColumnColNameIsBeforeOrOnThe": "Date in column \"{{colName}}\" is before or on the current date", + "dateInColumnColNameIsBeforeOrOnThe-1": "Date in column \"{{colName}}\" is before or on the {{value}}-th day after the current date", + "dateInColumnColNameIsBeforeOrOnThe-2": "Date in column \"{{colName}}\" is before or on the {{value}}-th day before the current date", + "afterXthDayBeforeafterCurrentDate": "After x-th day before/after current date", + "dateInColumnColNameIsAfterTheCurrentDate": "Date in column \"{{colName}}\" is after the current date", + "dateInColumnColNameIsAfterTheValuethDay": "Date in column \"{{colName}}\" is after the {{value}}-th day after the current date", + "dateInColumnColNameIsAfterTheValuethDay-1": "Date in column \"{{colName}}\" is after the {{value}}-th day before the current date", + "afterOrOnXthDayBeforeafterCurrentDate": "After or on x-th day before/after current date", + "dateInColumnColNameIsAfterOrOnTheCurrent": "Date in column \"{{colName}}\" is after or on the current date", + "dateInColumnColNameIsAfterOrOnTheValueth": "Date in column \"{{colName}}\" is after or on the {{value}}-th day after the current date", + "dateInColumnColNameIsAfterOrOnTheValueth-1": "Date in column \"{{colName}}\" is after or on the {{value}}-th day before the current date", + "isSelected": "Is selected", + "valueInColumnColNameIsSelected": "Value in column \"{{colName}}\" is selected", + "isNotSelected": "Is not selected", + "valueInColumnColNameIsNotSelected": "Value in column \"{{colName}}\" is not selected", + "keyEqualTo": "Key equal to", + "theSelectedKeyInColumnColNameIsEqualTo": "The selected key in column \"{{colName}}\" is equal to \"{{value}}\"", + "keyMatchWithSqlLike": "Key match (with SQL LIKE)", + "theSelectedKeyInColumnColNameMatchesWith": "The selected key in column \"{{colName}}\" matches (with SQL LIKE) \"{{value}}\"", + "keyMatchWithRegularExpressions": "Key match (with regular expressions)", + "theSelectedKeyInColumnColNameMatchesWith-1": "The selected key in column \"{{colName}}\" matches (with regular expressions) \"{{value}}\"", + "keyAlphabeticallyBefore": "Key alphabetically before", + "theSelectedKeyInColumnColNameIs": "The selected key in column \"{{colName}}\" is alphabetically before \"{{value}}\"", + "keyAlphabeticallyBeforeOrEqualTo": "Key alphabetically before or equal to", + "theSelectedKeyInColumnColNameIs-1": "The selected key in column \"{{colName}}\" is alphabetically before or equal to \"{{value}}\"", + "keyAlphabeticallyAfter": "Key alphabetically after", + "theSelectedKeyInColumnColNameIs-2": "The selected key in column \"{{colName}}\" is alphabetically after \"{{value}}\"", + "keyAlphabeticallyAfterOrEqualTo": "Key alphabetically after or equal to", + "theSelectedKeyInColumnColNameIs-3": "The selected key in column \"{{colName}}\" is alphabetically after or equal to \"{{value}}\"", + "value": "Value", + "valueMustNotBeEmpty": "Value must not be empty", + "valueMustBeANumber": "Value must be a number", + "numberOfDays": "Number of days", + "beforeAfter": "Before/After", + "beforeCurrentDate": "Before current date", + "afterCurrentDate": "After current date", + "numberOfDaysMustNotBeEmpty": "Number of days must not be empty", + "numberOfDaysMustBeANumber": "Number of days must be a number", + "emailAddress-1": "Email address", + "signupCountry": "Signup country", + "signUpDate": "Sign up date", + "testUser": "Test user", + "fieldMustBeSelected": "Field must be selected", + "field": "Field", + "select-1": "-- Select --", + "ruleOptions": "Rule Options", + "ok": "OK", + "anotherSubscriptionWithTheSameEmail": "Another subscription with the same email already exists.", + "subscriptionUpdated": "Subscription updated", + "subscriptionCreated": "Subscription created", + "itSeemsThatAnotherSubscriptionWithThe": "It seems that another subscription with the same email has been created in the meantime. Refresh your page to start anew. Please note that your changes will be lost.", + "notSelected": "Not selected", + "areYouSureYouWantToDeleteSubscriptionFor": "Are you sure you want to delete subscription for \"{{email}}\"?", + "deletingSubscription": "Deleting subscription ...", + "subscriptionDeleted": "Subscription deleted", + "editSubscription": "Edit Subscription", + "createSubscription": "Create Subscription", + "timezone": "Timezone", + "subscriptionStatus": "Subscription status", + "testUser?": "Test user?", + "ifCheckedThenThisSubscriptionCanBeUsed": "If checked then this subscription can be used for previewing campaign messages", + "subscribed": "Subscribed", + "unubscribed": "Unubscribed", + "erased": "[ERASED]", + "confirmUnsubscription": "Confirm Unsubscription", + "areYouSureYouWantToUnsubscribeEmail?": "Are you sure you want to unsubscribe {{email}}?", + "unsubscribingEmail": "Unsubscribing {{email}}", + "emailUnsubscribed": "{{email}} unsubscribed", + "confirmEmailBlacklisting": "Confirm Email Blacklisting", + "areYouSureYouWantToBlacklistEmail?": "Are you sure you want to blacklist {{email}}?", + "blacklistingEmail": "Blacklisting {{email}}", + "emailBlacklisted": "{{email}} blacklisted", + "allSubscriptions": "All subscriptions", + "subscriptionForm": "Subscription Form", + "exportAsCsv": "Export as CSV", + "addSubscriber": "Add Subscriber", + "usernameOrEmailMustNotBeEmpty": "Username or email must not be empty", + "processing": "Processing ...", + "ifTheUsernameEmailExistsInTheSystem": "If the username / email exists in the system, password reset link will be sent to the registered email.", + "pleaseEnterYourUsernameEmailAndTryAgain": "Please enter your username / email and try again.", + "passwordReset": "Password Reset", + "pleaseProvideTheUsernameOrEmailAddress": "Please provide the username or email address that is registered with your Mailtrain account.", + "weWillSendYouAnEmailThatWillAllowYouTo": "We will send you an email that will allow you to reset your password.", + "usernameOrEmail": "Username or email", + "sendEmail": "Send email", + "userNameMustNotBeEmpty": "User name must not be empty", + "passwordMustNotBeEmpty": "Password must not be empty", + "verifyingCredentials": "Verifying credentials ...", + "pleaseEnterYourCredentialsAndTryAgain": "Please enter your credentials and try again.", + "invalidUsernameOrPassword": "Invalid username or password.", + "forgotYourPassword?": "Forgot your password?", + "signIn": "Sign in", + "username": "Username", + "password": "Password", + "rememberMe": "Remember me", + "resettingPassword": "Resetting password ...", + "passwordReset-1": "Password reset", + "yourPasswordCannotBeReset": "Your password cannot be reset.", + "thePasswordResetTokenHasExpired": "The password reset token has expired.", + "clickHereToRequestANewPasswordResetLink": "Click here to request a new password reset link.", + "validatingPasswordResetToken": "Validating password reset token ...", + "thePasswordCannotBeReset": "The password cannot be reset", + "setNewPasswordFor": "Set new password for", + "resetPassword": "Reset password", + "parentNamespaceMustBeSelected": "Parent Namespace must be selected", + "namespaceUpdated": "Namespace updated", + "namespaceCreated": "Namespace created", + "thereHasBeenALoopDetectedInTheAssignment": "There has been a loop detected in the assignment of the parent namespace. This is most likely because someone else has changed the parent of some namespace in the meantime. Refresh your page to start anew. Please note that your changes will be lost.", + "itSeemsThatTheParentNamespaceHasBeen": "It seems that the parent namespace has been deleted in the meantime. Refresh your page to start anew. Please note that your changes will be lost.", + "deletingNamespace": "Deleting namespace ...", + "namespaceDeleted": "Namespace deleted", + "editNamespace": "Edit Namespace", + "createNamespace": "Create Namespace", + "parentNamespace": "Parent Namespace", + "namespaces": "Namespaces", + "namespaceName": "Namespace \"{{name}}\"", + "reportTemplateMustBeSelected": "Report template must be selected", + "exactlyOneItemHasToBeSelected": "Exactly one item has to be selected", + "atLeastCountItemsHaveToBeSelected": "At least {{ count }} item(s) have to be selected", + "atMostCountItemsCanToBeSelected": "At most {{ count }} item(s) can to be selected", + "reportParametersAreNotSelectedWaitFor": "Report parameters are not selected. Wait for them to get displayed and then fill them in.", + "reportUpdated": "Report updated", + "reportCreated": "Report created", + "unknownFieldTypeType": "Unknown field type \"{{type}}\"", + "deletingReport": "Deleting report ...", + "reportDeleted": "Report deleted", + "editReport": "Edit Report", + "createReport": "Create Report", + "reportTemplate-1": "Report Template", + "reportParameters": "Report parameters", + "loadingReportTemplate": "Loading report template...", + "processing-1": "Processing", + "view": "View", + "refreshReport": "Refresh report", + "reportGenerationFailed": "Report generation failed", + "regenerateReport": "Regenerate report", + "viewConsoleOutput": "View console output", + "reportTemplates": "Report Templates", + "reports": "Reports", + "reportName": "Report \"{{name}}\"", + "output": "Output", + "templateName": "Template \"{{name}}\"", + "mimeTypeMustBeSelected": "MIME Type must be selected", + "syntaxErrorInTheUserFieldsSpecification": "Syntax error in the user fields specification", + "reportTemplateUpdated": "Report template updated", + "reportTemplateCreated": "Report template created", + "deletingReportTemplate": "Deleting report template ...", + "reportTemplateDeleted": "Report template deleted", + "editReportTemplate": "Edit Report Template", + "createReportTemplate": "Create Report Template", + "csv": "CSV", + "userSelectableFields": "User selectable fields", + "jsonSpecificationOfUserSelectableFields": "JSON specification of user selectable fields.", + "dataProcessingCode": "Data processing code", + "renderingTemplate": "Rendering template", + "writeTheBodyOfTheJavaScriptFunctionWith": "Write the body of the JavaScript function with signature <1>function(inputs, callback) that returns an object to be rendered by the Handlebars template below.", + "useHtmlWithHandlebarsSyntaxSee": "Use HTML with Handlebars syntax. See documentation <1>here.", + "blank": "Blank", + "openCounts": "Open counts", + "openCountsAsCsv": "Open counts as CSV", + "aggregatedOpenCounts": "Aggregated open counts", + "reportName-1": "Report {{name}}", + "loadingReport": "Loading report ...", + "outputForReportName": "Output for report {{name}}", + "loadingReportOutput": "Loading report output ...", + "reportIsBeingGenerated": "Report is being generated", + "reportNotGenerated": "Report not generated", + "current": "(current)", + "administration": "Administration", + "users": "Users", + "globalSettings": "Global Settings", + "sendConfigurations": "Send configurations", + "logOut": "Log out", + "home": "Home", + "mailerTypeMustBeSelected": "Mailer type must be selected", + "verpHostnameMustNotBeEmpty": "VERP hostname must not be empty", + "sendConfigurationUpdated": "Send configuration updated", + "sendConfigurationCreated": "Send configuration created", + "deletingSendConfiguration": "Deleting send configuration ...", + "sendConfigurationDeleted": "Send configuration deleted", + "editSendConfiguration": "Edit Send Configuration", + "createSendConfiguration": "Create Send Configuration", + "emailHeader": "Email Header", + "defaultFromEmail": "Default \"from\" email", + "overridable": "Overridable", + "defaultFromName": "Default \"from\" name", + "defaultReplytoEmail": "Default \"reply-to\" email", + "xMailer": "X-Mailer", + "verpBounceHandling": "VERP Bounce Handling", + "verpStatus": "VERP status", + "serverHostname": "Server hostname", + "theVerpServerHostnameEgBouncesexamplecom": "The VERP server hostname, eg. bounces.example.com", + "verpBounceHandlingServerHostnameThis": "VERP bounce handling server hostname. This hostname is used in the SMTP envelope FROM address and the MX DNS records should point to this server", + "disableSenderHeader": "Disable sender header", + "withDmarcTheReturnPathAndFromAddressMust": "With DMARC, the Return-Path and From address must match the same domain. By default we get around this by using the VERP address in the Sender header, with the side effect that some email clients diplay an ugly on behalf of message. You can safely disable this Sender header if you're not using DMARC or your VERP hostname is in the same domain as the From address.", + "mailtrainIsAbleToUseVerpBasedRoutingTo": "<0>Mailtrain is able to use VERP based routing to detect bounces. In this case the message is sent to the recipient using a custom VERP address as the return path of the message. If the message is not accepted a bounce email is sent to this special VERP address and thus a bounce is detected.", + "toGetVerpWorkingYouNeedToSetUpADnsMx": "<0>To get VERP working you need to set up a DNS MX record that points to your Mailtrain hostname. You must also ensure that Mailtrain VERP interface is available from port 25 of your server (port 25 usually requires root user privileges). This way if anyone tries to send email to someuser@verp-hostname then the email should end up to this server.", + "verpUsuallyOnlyWorksIfYouAreUsingYourOwn": "<0>VERP usually only works if you are using your own SMTP server. Regular relay services (SES, SparkPost, Gmail etc.) tend to remove the VERP address from the message.", + "verpBounceHandlingServerIsNotEnabled": "<0>VERP bounce handling server is not enabled. Modify your server configuration file and restart server to enable it.", + "labelMustNotBeEmpty": "{{label}} must not be empty", + "labelMustBeANumber": "{{label}} must be a number", + "genericSmtp": "Generic SMTP", + "zoneMta": "Zone MTA", + "amazonSes": "Amazon SES", + "doNotUseEncryption": "Do not use encryption", + "useTls –UsuallySelectedForPort465": "Use TLS – usually selected for port 465", + "useStarttls –UsuallySelectedForPort587": "Use STARTTLS – usually selected for port 587 and 25", + "useast1": "US-EAST-1", + "uswest2": "US-WEST-2", + "euwest1": "EU-WEST-1", + "builtinZoneMta": "Built-in ZoneMTA", + "dynamicConfigurationOfDkimKeysViaZoneMt": "Dynamic configuration of DKIM keys via ZoneMTA's Mailtrain plugin", + "dynamicConfigurationOfDkimKeysViaZoneMt-1": "Dynamic configuration of DKIM keys via ZoneMTA's HTTP config plugin", + "noDynamicConfigurationOfDkimKeys": "No dynamic configuration of DKIM keys", + "mailerSettings": "Mailer Settings", + "mailerType": "Mailer type", + "hostname": "Hostname", + "hostnameEgSmtpexamplecom": "Hostname, eg. smtp.example.com", + "port": "Port", + "portEg465AutodetectedIfLeftBlank": "Port, eg. 465. Autodetected if left blank", + "encryption": "Encryption", + "enableSmtpAuthentication": "Enable SMTP authentication", + "usernameEgMyaccount@examplecom": "Username, eg. myaccount@example.com", + "advancedMailerSettings": "Advanced Mailer Settings", + "logSmtpTransactions": "Log SMTP transactions", + "allowSelfsignedCertificates": "Allow self-signed certificates", + "maxConnections": "Max connections", + "theCountOfMaxConnectionsEg10": "The count of max connections, eg. 10", + "theCountOfMaximumSimultaneousConnections": "The count of maximum simultaneous connections to make against the SMTP server (defaults to 5). This limit is per sending process.", + "maxMessages": "Max messages", + "theCountOfMaxMessagesEg100": "The count of max messages, eg. 100", + "theNumberOfMessagesToSendThroughASingle": "The number of messages to send through a single connection before the connection is closed and reopened (defaults to 100)", + "throttling": "Throttling", + "messagesPerHourEg1000": "Messages per hour eg. 1000", + "maximumNumberOfMessagesToSendInAnHour": "Maximum number of messages to send in an hour. Leave empty or zero for no throttling. If your provider uses a different speed limit (messages/minute or messages/second) then convert this limit into messages/hour (1m/s => 3600m/h). This limit is per sending process.", + "dynamicConfiguration": "Dynamic configuration", + "dkimSigning": "DKIM Signing", + "zoneMtaDkimApiKey": "ZoneMTA DKIM API key", + "secretValueKnownToZoneMtaForRequesting": "Secret value known to ZoneMTA for requesting DKIM key information. If this value was generated by the Mailtrain installation script then you can keep it as it is.", + "dkimDomain": "DKIM domain", + "leaveBlankToUseTheSenderEmailAddress": "Leave blank to use the sender email address domain.", + "dkimKeySelector": "DKIM key selector", + "signingIsDisabledWithoutAValidSelector": "Signing is disabled without a valid selector value.", + "dkimPrivateKey": "DKIM private key", + "beginsWithBeginRsaPrivateKey": "Begins with \"-----BEGIN RSA PRIVATE KEY-----\"", + "signingIsDisabledWithoutAValidPrivateKey": "Signing is disabled without a valid private key.", + "accessKey": "Access key", + "awsAccessKeyId": "AWS access key ID", + "awsSecretAccessKey": "AWS secret access key", + "region": "Region", + "ifYouAreUsingZoneMtaThenMailtrainCan": "<0>If you are using ZoneMTA then Mailtrain can provide a DKIM key for signing all outgoing messages. Other services usually provide their own means to DKIM sign your messages.", + "doNotUseSensitiveKeysHereThePrivateKeyIs": "<0>Do not use sensitive keys here. The private key is not encrypted in the database.", + "sendConfigurations-1": "Send Configurations", + "globalSettingsSaved": "Global settings saved", + "adminEmail": "Admin email", + "thisEmailIsUsedAsTheMainContactAndAsA": "This email is used as the main contact and as a default email address if no email address is specified in list settings.", + "defaultHomepageUrl": "Default homepage URL", + "thisUrlWillBeUsedInListSubscriptionForms": "This URL will be used in list subscription forms if no homepage is specified in list settings.", + "trackingId": "Tracking ID", + "uaxxxxxxx": "UA-XXXXX-XX", + "enterGoogleAnalyticsTrackingCode": "Enter Google Analytics tracking code", + "googleMapsApiKey": "Google Maps API Key", + "xxxxxx": "XXXXXX", + "theMapOverviewInCampaignStatistics": "The map overview in campaign statistics requires a Google Maps API key. Please enter it here. If no key is given, Google may throttle map requests, which will result in occassional unavailability of the map in the campaign statistics.", + "frontpageShoutOut": "Frontpage shout out", + "htmlCodeShownInTheFrontPageHeaderSection": "HTML code shown in the front page header section", + "gpgSigning": "GPG Signing", + "privateKeyPassphrase": "Private key passphrase", + "passphraseForTheKeyIfSet": "Passphrase for the key if set", + "onlyFillThisIfYourPrivateKeyIsEncrypted": "Only fill this if your private key is encrypted with a passphrase", + "gpgPrivateKey": "GPG private key", + "beginsWithBeginPgpPrivateKeyBlock": "Begins with '-----BEGIN PGP PRIVATE KEY BLOCK-----'", + "thisValueIsOptionalIfYouDoNotProvideA": "This value is optional. If you do not provide a private key GPG encrypted messages are sent without signing.", + "onlyMessagesThatAreEncryptedCanBeSigned": "<0>Only messages that are encrypted can be signed. Subsribers who have not set up a GPG public key in their profile receive normal email messages. Users with GPG key set receive encrypted messages and if you have signing key also set, the messages are signed with this key.", + "doNotUseSensitiveKeysHereThePrivateKey": "<0>Do not use sensitive keys here. The private key and passphrase are not encrypted in the database.", + "userMustNotBeEmpty": "User must not be empty", + "roleMustBeSelected": "Role must be selected", + "role": "Role", + "unshare": "Unshare", + "confirmUnsharing": "Confirm Unsharing", + "areYouSureYouWantToRemoveTheShareToUser": "Are you sure you want to remove the share to user \"{{username}}\"?", + "removingShareForUserUsername": "Removing share for user \"{{username}}\"", + "shareForUserUsernameRemoved": "Share for user \"{{username}}\" removed", + "addUser": "Add User", + "user": "User", + "existingUsers": "Existing Users", + "areYouSureYouWantToRemoveTheSharingOfThe": "Are you sure you want to remove the sharing of the {{typeName}} \"{{name}}\"?", + "removingSharingOfTheTypeNameName": "Removing sharing of the {{typeName}} \"{{name}}\"", + "sharingOfTheTypeNameNameRemoved": "Sharing of the {{typeName}} \"{{name}}\" removed", + "sharesForUserUsername": "Shares for user \"{{username}}\"", + "namespace-1": "namespace", + "list-1": "list", + "template-1": "template", + "mosaicoTemplates": "Mosaico Templates", + "campaign-1": "campaign", + "customForms-2": "custom forms", + "report-1": "report", + "reportTemplate-2": "report template", + "sendConfiguration-1": "send configuration", + "sourceTemplateMustNotBeEmpty": "Source template must not be empty", + "templateUpdated": "Template updated", + "templateCreated": "Template created", + "deletingTemplate": "Deleting template ...", + "templateDeleted": "Template deleted", + "editTemplate": "Edit Template", + "createTemplate": "Create Template", + "cloneFromAnExistingTemplate": "Clone from an existing template", + "cloneFromAnExistingCustomForms": "Clone from existing custom forms", + "mosaico": "Mosaico", + "templateContentHtml": "Template content (HTML)", + "mosaicoTemplateDesigner": "Mosaico Template Designer", + "mosaicoTemplateMustBeSelected": "Mosaico template must be selected", + "mosaicoWithPredefinedTemplates": "Mosaico with predefined templates", + "mosaicoTemplate-1": "Mosaico Template", + "grapesJs": "GrapesJS", + "grapesJsTemplateDesigner": "GrapesJS Template Designer", + "ckEditor4": "CKEditor 4", + "ckEditor4TemplateDesigner": "CKEditor 4 Template Designer", + "codeEditor": "Code Editor", + "codeEditorTemplateDesigner": "Code Editor Template Designer", + "mergeTagReference": "Merge tag reference", + "templateContentPlainText": "Template content (plain text)", + "mergeTagsAreTagsThatAreReplacedBefore": "\n <1>Merge tags are tags that are replaced before sending out the message. The format of the merge tag is the following: <1>[TAG_NAME] or <3>[TAG_NAME/fallback] where <5>fallback is an optional text value used when <7>TAG_NAME is empty.\n ", + "youCanUseAnyOfTheStandardMergeTagsBelow": "\n <1>You can use any of the standard merge tags below. In addition to that every custom field has its own merge tag. Check the fields of the list you are going to send to.\n ", + "urlThatPointsToTheUnsubscribePage": "URL that points to the unsubscribe page", + "urlThatPointsToThePreferencesPageOfThe": "URL that points to the preferences page of the subscriber", + "urlToPreviewTheMessageInABrowser": "URL to preview the message in a browser", + "uniqueIdThatIdentifiesTheRecipient": "Unique ID that identifies the recipient", + "uniqueIdThatIdentifiesTheListUsedForThis": "Unique ID that identifies the list used for this campaign", + "uniqueIdThatIdentifiesCurrentCampaign": "Unique ID that identifies current campaign", + "forRssCampaignsTheFollowingFurtherTags": "\n <1>For RSS campaigns, the following further tags can be used.\n ", + "rssEntryTitle": "RSS entry title", + "rssEntryDate": "RSS entry date", + "rssEntryLink": "RSS entry link", + "contentOfAnRssEntry": "Content of an RSS entry", + "rssEntrySummary": "RSS entry summary", + "rssEntryImageUrl": "RSS entry image URL", + "toExtractTheTextFromHtmlClickHerePlease": "To extract the text from HTML click <1>here. Please note that your existing plaintext in the field above will be overwritten. This feature uses the <3>Premailer API, a third party service. Their Terms of Service and Privacy Policy apply.", + "mosaicoTemplateUpdated": "Mosaico template updated", + "mosaicoTemplateCreated": "Mosaico template created", + "deletingMosaicoTemplate": "Deleting Mosaico template ...", + "mosaicoTemplateDeleted": "Mosaico template deleted", + "editMosaicoTemplate": "Edit Mosaico Template", + "createMosaicoTemplate": "Create Mosaico Template", + "invalidMjml": "Invalid MJML", + "mjmlIsValid": "MJML is valid.", + "invalidMjml-1": "Invalid MJML.", + "templateContent": "Template content", + "validate": "Validate", + "blockThumbnails": "Block thumbnails", + "versafixOne": "Versafix One", + "mjmlSample": "MJML Sample", + "mosaicoTemplateName": "Mosaico Template \"{{name}}\"", + "theseFilesArePubliclyAvailableViaHttpSo-1": "These files are publicly available via HTTP so that they can be linked to from the Mosaico template.", + "theseFilesWillBeUsedByMosaicoToSearchFor": "These files will be used by Mosaico to search for block thumbnails (the \"edres\" directory). Place here one file per block type that you have defined in the Mosaico template. Each file must have the same name as the block id. The file will be used as the thumbnail of the corresponding block.", + "sendConfigurationHasToBeSelected": "Send configuration has to be selected.", + "listHasToBeSelected": "List has to be selected.", + "theUserNameAlreadyExistsInTheSystem": "The user name already exists in the system.", + "userUpdated": "User updated", + "userCreated": "User created", + "theUsernameIsAlreadyAssignedToAnother": "The username is already assigned to another user.", + "theEmailIsAlreadyAssignedToAnotherUser-1": "The email is already assigned to another user.", + "deletingUser": "Deleting user ...", + "userDeleted": "User deleted", + "editUser": "Edit User", + "createUser": "Create User", + "userName": "User Name", + "repeatPassword": "Repeat Password", + "deleteUser": "Delete User", + "userName-1": "User \"{{name}}\"", + "shares": "Shares", + "subscriptionConfirmed": "Subscription Confirmed", + "listEmailAddressAlreadyRegistered": "{{list}}: Email Address Already Registered", + "listPleaseConfirmEmailChangeIn": "{{list}}: Please Confirm Email Change in Subscription", + "pleaseConfirmSubscription": "Please Confirm Subscription", + "listPleaseConfirmUnsubscription": "{{list}}: Please Confirm Unsubscription", + "listUnsubscriptionConfirmed": "{{list}}: Unsubscription Confirmed", + "invalidEmailAddressEmailMxRecordNotFound": "Invalid email address \"{{email}}\": MX record not found for domain", + "invalidEmailAddressEmailAddressDomainNot": "Invalid email address \"{{email}}\": Address domain not found", + "invalidEmailAddressEmailAddressDomain": "Invalid email address \"{{email}}\": Address domain name is required", + "invalidEmailAddressEmail": "Invalid email address \"{{email}}\"", + "mailerPasswordChangeRequest": "Mailer password change request", + "mailtrain": "Mailtrain", + "emailAddressChanged": "Email address changed", + "emailAddressNotSet": "Email address not set", + "nothingSeemsToBeChanged": "Nothing seems to be changed", + "anEmailWithFurtherInstructionsHasBeen": "An email with further instructions has been sent to the provided address", + "foundAddedMessagesNewCampaignMessages": "Found {{addedMessages}} new campaign messages from feed {{campaignId}}", + "foundNothingNewFromTheFeed": "Found nothing new from the feed", + "missingEmail": "Missing email", + "emailAddress-2": "Email Address", + "wantToChangeIt?": "want to change it?", + "downloadSignatureVerificationKey": "Download signature verification key", + "beginsWithAnd#39BeginPgpPublicKeyBloc": "Begins with '-----BEGIN PGP PUBLIC KEY BLOCK-----'", + "insertYourGpgPublicKeyHereToEncrypt": "Insert your GPG public key here to encrypt messages sent to your address (optional)", + "existingEmailAddress": "Existing Email Address", + "newEmailAddress": "New Email Address", + "youWillReceiveAConfirmationRequestToYour": "You will receive a confirmation request to your new email address that you need to accept before your email is actually changed", + "updateEmailAddress": "Update Email Address", + "updateProfile": "Update Profile", + "subscribeToList": "Subscribe to list", + "thePasswordMustBeAtLeastMinLength": "The password must be at least {{ minLength }} characters long", + "thePasswordMustBeFewerThanMaxLength": "The password must be fewer than {{ maxLength }} characters", + "thePasswordMayNotContainSequencesOfThree": "The password may not contain sequences of three or more repeated characters", + "thePasswordMustContainAtLeastOne": "The password must contain at least one lowercase letter", + "thePasswordMustContainAtLeastOne-1": "The password must contain at least one uppercase letter", + "thePasswordMustContainAtLeastOneNumber": "The password must contain at least one number", + "thePasswordMustContainAtLeastOneSpecial": "The password must contain at least one special character" +} \ No newline at end of file diff --git a/locales/es-ES/common.json b/locales/es-ES/common.json new file mode 100644 index 00000000..905d9d41 --- /dev/null +++ b/locales/es-ES/common.json @@ -0,0 +1,1107 @@ +{ + "emailMustNotBeEmpty": "El email no debe estar vacío.", + "invalidEmailAddress": "Email inválido.", + "theEmailIsAlreadyAssociatedWithAnother": "El email ya está asociado a otro usuario del sistema.", + "validationIsInProgress": "Validación en progreso...", + "fullNameMustNotBeEmpty": "El nombre completo no debe estar vacío.", + "currentPasswordMustNotBeEmpty": "La contraseña actual no debe estar vacía.", + "incorrectPassword": "Contraseña incorrecta.", + "passwordsMustMatch": "Las contraseñas deben coincidir", + "updatingUserProfile": "Actualizando perfil del usuario ...", + "userProfileUpdated": "Perfil del usuario actualizado", + "thereAreErrorsInTheFormPleaseFixThemAnd": "There are errors in the form. Please fix them and submit again.", + "yourUpdatesCannotBeSaved": "Your updates cannot be saved.", + "thePasswordIsIncorrectPossiblyJust": "The password is incorrect (possibly just changed in another window / session). Enter correct password and try again.", + "theEmailIsAlreadyAssignedToAnotherUser": "The email is already assigned to another user. Enter another email and try again.", + "account": "Account", + "generalSettings": "General Settings", + "fullName": "Full Name", + "email": "Email", + "thisAddressIsUsedForAccountRecoveryIn": "This address is used for account recovery in case you loose your password", + "passwordChange": "Password Change", + "youOnlyNeedToFillOutThisFormIfYouWantTo": "You only need to fill out this form if you want to change your current password", + "currentPassword": "Current Password", + "newPassword": "New Password", + "confirmPassword": "Confirm Password", + "update": "Update", + "accountManagementIsNotPossibleBecause": "Account management is not possible because Mailtrain is configured to use externally managed users.", + "ifYouWantToChangeThePasswordUseThisLink": "If you want to change the password, use <1>this link.", + "personalAccessToken": "Token de acceso personal", + "accessTokenNotYetGenerated": "El token de acceso aun no se ha generado", + "api": "API", + "resetAccessToken": "Reiniciar token de acceso", + "generateAccessToken": "Generar token de acceso", + "notesAboutTheApi": "Notas sobre la API", + "addSubscription": "Añadir suscripcion", + "thisApiCallEitherInsertsANewSubscription": "Esta llamada a la API inserta una nueva suscripción o actualiza las existentes. Los campos no incluidos se dejan como están, por lo que si actualiza solo el valor de LAST_NAME, FIRST_NAME se mantiene intacto para una suscripción existente.", + "arguments": "argumentos", + "yourPersonalAccessToken": "tu token de acceso personal", + "subscribersEmailAddress": "email del suscriptor", + "required": "requerido", + "subscribersFirstName": "nombre del suscriptor", + "subscribersLastName": "apellidos del suscriptor", + "subscribersTimezoneEgEuropeTallinnPstOr": "zona horaria del suscriptor (eg. \"Europe/Tallinn\", \"PST\" or \"UTC\"). Si no, asigna por defecto a \"UTC\"", + "customFieldValueUseYesnoForOptionGroup": "valor de campo personalizado. Usa si/no para opciones grupales (checkboxes, radios, drop downs)", + "additionalPostArguments": "argumentos POST adicionales", + "setToYesIfYouWantToMakeSureTheEmailIs": "set to \"yes\" if you want to make sure the email is marked as subscribed even if it was previously marked as unsubscribed. If the email was already unsubscribed/blocked then subscription status is not changed", + "setToYesIfYouWantToSendConfirmationEmail": "set to \"yes\" if you want to send confirmation email to the subscriber before actually marking as subscribed", + "example": "Ejemplo", + "removeSubscription": "Eliminar suscripción", + "thisApiCallMarksASubscriptionAs": "Esta llamada a la API marca una suscricion como desuscrita", + "deleteSubscription": "Borrar suscripción", + "thisApiCallDeletesASubscription": "Esta llamada a la API borra una suscripción", + "addNewCustomField": "Añadir un campo personalizado", + "thisApiCallCreatesANewCustomFieldForA": "Esta llamada a la API crea un nuevo campo personalizado para una lista.", + "fieldName": "Nombre del campo", + "oneOfTheFollowingTypes": "uno de los siguientes tipos:", + "ifTheTypeIsOptionThenYouAlsoNeedTo": "Si el tipo es 'opción' entonces también necesitas especificar el ID del elemento padre", + "templateForTheGroupElementIfNotSetThen": "Template for the group element. If not set, then values of the elements are joined with commas", + "ifNotVisibleThenTheSubscriberCanNotView": "if not visible then the subscriber can not view or modify this value at the profile page", + "getListOfBlacklistedEmails": "Get list of blacklisted emails", + "thisApiCallGetListOfBlacklistedEmails": "This API call get list of blacklisted emails.", + "startPosition": "Empezar posición", + "optionalDefault0": "optional, default 0", + "limitEmailsCountInResponse": "limit emails count in response", + "optionalDefault10000": "opcional, por defecto 10000", + "filterByPartOfEmail": "filter by part of email", + "optionalDefault": "opcional, por defecto \"\"", + "addEmailToBlacklist": "Add email to blacklist", + "thisApiCallEitherAddEmailsToBlacklist": "This API call either add emails to blacklist", + "emailAddress": "dirección de correo", + "deleteEmailFromBlacklist": "Borrar email de la lista negra", + "thisApiCallEitherDeleteEmailsFrom": "This API call either delete emails from blacklist", + "getTheListsAUserHasSubscribedTo": "Get the lists a user has subscribed to", + "retrieveTheListsThatTheUserWithEmailHas": "Retrieve the lists that the user with :email has subscribed to.", + "triggerFetchOfACampaign": "Trigger fetch of a campaign", + "triggerFetchOfACampaign - TODO: update line above and then delete this line to mark that the translation has been fixed": "Trigger fetch of a campaign", + "forcesTheRssFeedCheckToImmediatelyCheck": "Forces the RSS feed check to immediately check the campaign with the given CID (in :campaignCid). It works only for RSS campaigns.", + "forcesTheRssFeedCheckToImmediatelyCheck - TODO: update line above and then delete this line to mark that the translation has been fixed": "Forces the RSS feed check to immediately check the campaign with the given CID (in :campaignCid). It works only for RSS campaigns.", + "sendTransactionalEmail": "Send transactional email", + "sendSingleEmailByTemplateWithGiven": "Send single email by template with given templateId", + "sendSingleEmailByTemplateWithGiven - TODO: update line above and then delete this line to mark that the translation has been fixed": "Send single email by template with given templateId", + "idOfConfigurationUsedToCreateMailer": "ID of configuration used to create mailer instance", + "subject": "Subject", + "dataPassedToTemplateWhenCompilingWith": "Data passed to template when compiling with Handlebars", + "mapOfTemplatesubjectVariablesToReplace": "Map of template/subject variables to replace", + "apiResponseIsAJsonStructureWithErrorAnd": "API response is a JSON structure with <1>error and <3>data properties. If the response <5>error has a value set then the request failed.", + "youNeedToDefineProperContentTypeWhen": "You need to define proper <1>Content-Type when making a request. You can either use <3>application/x-www-form-urlencoded for normal form data or <5>application/json for a JSON payload. Using <7>multipart/form-data is not supported.", + "emailMustNotBeEmpty-1": "Email must not be empty", + "theEmailIsAlreadyOnBlacklist": "The email is already on blacklist.", + "saving": "Saving ...", + "thereAreErrorsInTheFormPleaseFixThemAnd-1": "There are errors in the form. Please fix them and try again.", + "removeFromBlacklist": "Remove from blacklist", + "confirmRemovalFromBlacklist": "Confirm Removal From Blacklist", + "areYouSureYouWantToRemoveEmailFromThe": "Are you sure you want to remove {{email}} from the blacklist?", + "removingEmailFromTheBlacklist": "Removing {{email}} from the blacklist", + "emailRemovedFromTheBlacklist": "{{email}} removed from the blacklist", + "blacklist": "Blacklist", + "addEmailToBlacklist-1": "Add Email to Blacklist", + "addToBlacklist": "Add to Blacklist", + "blacklistedEmails": "Blacklisted Emails", + "campaignUpdated": "Campaign updated", + "campaignUpdated - TODO: update line above and then delete this line to mark that the translation has been fixed": "Campaign updated", + "editCustomContent": "Edit Custom Content", + "customTemplateEditor": "Custom template editor", + "save": "Save", + "saveAndLeave": "Save and leave", + "saveAndLeave - TODO: update line above and then delete this line to mark that the translation has been fixed": "Save and leave", + "copy": "Copiar", + "saveAndGoToStatus": "Save and go to status", + "saveAndGoToStatus - TODO: update line above and then delete this line to mark that the translation has been fixed": "Save and go to status", + "testSend": "Test send", + "createRegularCampaign": "Crear Campaña Regular", + "createRssCampaign": "Create RSS Campaign", + "createTriggeredCampaign": "Create Triggered Campaign", + "editRegularCampaign": "Edit Regular Campaign", + "editRssCampaign": "Edit RSS Campaign", + "editTriggeredCampaign": "Edit Triggered Campaign", + "template": "Template", + "template_plural": "Templates", + "customContentClonedFromTemplate": "Custom content cloned from template", + "customContentClonedFromAnotherCampaign": "Custom content cloned from another campaign", + "customContent": "Custom content", + "url": "URL", + "nameMustNotBeEmpty": "Name must not be empty", + "sendConfigurationMustBeSelected": "Send configuration must be selected", + "fromEmailMustNotBeEmpty": "\"From\" email must not be empty", + "templateMustBeSelected": "Template must be selected", + "campaignMustBeSelected": "Campaign must be selected", + "typeMustBeSelected": "Type must be selected", + "urlMustNotBeEmpty": "URL must not be empty", + "rssFeedUrlMustBeGiven": "RSS feed URL must be given", + "listMustBeSelected": "List must be selected", + "segmentMustBeSelected": "Segment must be selected", + "campaignCreated": "Campaign created", + "campaignCreated - TODO: update line above and then delete this line to mark that the translation has been fixed": "Campaign created", + "rssFeedUrl": "RSS Feed Url", + "name": "Nombre", + "id": "ID", + "subscribers": "Suscriptores", + "description": "Descripciçon", + "namespace": "Espacio de nombres", + "namespace_plural": "Espacios de nombres", + "remove": "Eliminar", + "insertNewEntryBeforeThisOne": "Insert new entry before this one", + "moveUp": "Move up", + "moveDown": "Move down", + "list": "List", + "list_plural": "Lists", + "segment": "Segment", + "useAParticularSegment": "Use a particular segment", + "lists": "Listas", + "addList": "Add list", + "type": "Type", + "created": "Created", + "override": "Override", + "fromName": "\"From\" name", + "fromEmailAddress": "\"From\" email address", + "replytoEmailAddress": "\"Reply-to\" email address", + "subjectLine": "\"Subject\" line", + "loadingSendConfiguration": "Loading send configuration ...", + "contentSource": "Content source", + "selectingATemplateCreatesACampaign": "Selecting a template creates a campaign specific copy from it.", + "campaign": "Campaña", + "campaign_plural": "Campañas", + "contentOfTheSelectedCampaignWillBeCopied": "Content of the selected campaign will be copied into this campaign.", + "renderUrl": "Render URL", + "ifAMessageIsSentThenThisUrlWillBePosTed": "If a message is sent then this URL will be POSTed to using Merge Tags as POST body. Use this if you want to generate the HTML message yourself.", + "deletingCampaign": "Deleting campaign ...", + "campaignDeleted": "Campaign deleted", + "formCannotBeEditedBecauseTheCampaignIs": "Form cannot be edited because the campaign is currently being sent out. Wait till the sending is finished and refresh.", + "thisIsTheCampaignIdDisplayedToThe": "This is the campaign ID displayed to the subscribers", + "sendSettings": "Configuración de envío", + "sendConfiguration": "Send configuration", + "sendConfiguration_plural": "Send configurations", + "customUnsubscribeUrl": "Custom unsubscribe URL", + "tracking": "Tracking", + "tracking - TODO: update line above and then delete this line to mark that the translation has been fixed": "Tracking", + "disableOpenedTracking": "Disable opened tracking", + "disableClickedTracking": "Disable clicked tracking", + "saveAndEditContent": "Save and edit content", + "delete": "Delete", + "regular": "Regular", + "triggered": "Triggered", + "rss": "RSS", + "idle": "Idle", + "scheduled": "Scheduled", + "paused": "Paused", + "finished": "Finished", + "inactive": "Inactive", + "active": "Active", + "sending": "Sending", + "status": "Status", + "sendingScheduled": "Sending scheduled", + "statistics": "Statistics", + "edit": "Edit", + "content": "Content", + "files": "Files", + "attachments": "Attachments", + "triggers": "Triggers", + "share": "Share", + "createCampaign": "Create Campaign", + "campaigns": "Campañas", + "countries": "Countries", + "devices": "Devices", + "campaignName": "Campaign \"{{name}}\"", + "delivered": "Delivered", + "deliveredEmails": "Delivered Emails", + "complained": "Complained", + "subscribersThatComplained": "Subscribers that Complained", + "bounced": "Bounced", + "emailsThatBounced": "Emails that Bounced", + "unsubscribed": "Unsubscribed", + "subscribersThatUnsubscribed": "Subscribers that Unsubscribed", + "opened": "Opened", + "clicks": "Clicks", + "theseFilesArePubliclyAvailableViaHttpSo": "These files are publicly available via HTTP so that they can be linked to from the content of the campaign.", + "theseFilesWillBeAttachedToTheCampaign": "These files will be attached to the campaign emails as proper attachments. This means they count towards to the eventual size of the email.", + "triggerName": "Trigger \"{{name}}\"", + "create": "Create", + "campaignStatistics": "Campaign Statistics", + "total": "Total", + "blacklisted": "Blacklisted", + "complaints": "Complaints", + "clicked": "Clicked", + "quickReports": "Quick Reports", + "quickReports - TODO: update line above and then delete this line to mark that the translation has been fixed": "Quick Reports", + "belowYouCanDownloadPremadeReportsRelated": "Below, you can download pre-made reports related to this campaign. Each link generates a CSV file that can be viewed in a spreadsheet editor. Custom reports and reports that cover more than one campaign can be created through <1>Reports functionality of Mailtrain.", + "belowYouCanDownloadPremadeReportsRelated - TODO: update line above and then delete this line to mark that the translation has been fixed": "Below, you can download pre-made reports related to this campaign. Each link generates a CSV file that can be viewed in a spreadsheet editor. Custom reports and reports that cover more than one campaign can be created through <1>Reports functionality of Mailtrain.", + "uniqueVisitors": "Unique visitors", + "totalClicks": "Total clicks", + "campaignLinks": "Campaign links", + "subscriptionId": "Subscription ID", + "listId": "List ID", + "listNamespace": "List namespace", + "opensCount": "Opens count", + "desktop": "Desktop", + "tv": "TV", + "tablet": "Tablet", + "phone": "Phone", + "bot": "Bot", + "car": "Car", + "console": "Console", + "distributionByDeviceType": "Distribution by device type", + "loadingChart": "Loading chart", + "deviceType": "Tipo de dispositivo", + "count": "Cuenta", + "unknown": "Desconocido", + "distributionByCountry": "Distribucion por pais", + "country": "País", + "detailedStatistics": "Estadísticas detalladas", + "listOfSubscribersThatOpenedTheCampaign": "List de suscriptores que han abierto la campaña", + "subscriptionHasToBeSelectedToShowThe": "La suscripción debe ser seleccionada para mostrar la campaña a un usuario.", + "previewCampaignAs": "Prevista de campaña como", + "preview": "Prevista", + "dateMustNotBeEmpty": "La fecha no debe estar vacía", + "dateIsInvalid": "La fecha es inválida", + "timeMustNotBeEmpty": "El tiempo no debe estar vacío", + "timeIsInvalid": "El tiempo es inválido", + "confirmLaunch": "Confirm launzamiento", + "doYouWantToLaunchTheCampaign?": "Quieres lanzar la campaña?", + "confirmReset": "Confirmar reinicio", + "doYouWantToResetTheCampaign?All": "Quieres reiniciar la campaña? Todas las estadísticas se perderán.", + "no": "No", + "yes": "Si", + "subscribers-1": "subscribers", + "sendStatus": "Send status", + "campaignIsScheduledForDelivery": "Campaign is scheduled for delivery.", + "campaignIsReadyToBeSentOut": "Campaign is ready to be sent out.", + "sendLater": "Send later", + "scheduleDeliveryAtAParticularDatetime": "Schedule delivery at a particular date/time", + "date": "Date", + "time": "Time", + "enter24HourTimeInFormatHhmmEg1348": "Enter 24-hour time in format HH:MM (e.g. 13:48)", + "rescheduleSend": "Reschedule send", + "scheduleSend": "Schedule send", + "send": "Send", + "viewStatistics": "View statistics", + "campaignIsBeingSentOut": "Campaign is being sent out.", + "stop": "Stop", + "allMessagesSent!HitContinueIfYouYouWant": "All messages sent! Hit \"Continue\" if you you want to send this campaign to new subscribers.", + "continue": "Continue", + "reset": "Reset", + "yourCampaignIsCurrentlyDisabledClick": "Your campaign is currently disabled. Click Enable button to start enable it.", + "enable": "Enable", + "yourCampaignIsEnabledAndSendingMessages": "Your campaign is enabled and sending messages.", + "disable": "Disable", + "campaignStatus": "Campaign Status", + "targetListssegments": "Target lists/segments", + "ifANewEntryIsFoundFromCampaignFeedANew": "If a new entry is found from campaign feed a new subcampaign is created of that entry and it will be listed here", + "sendingTestEmail": "Sending test email", + "subscriptionHasToBeSelected": "Subscription has to be selected.", + "sendTestEmail": "Send Test Email", + "cancel": "Cancel", + "subscription": "Subscription", + "valuesMustNotBeEmpty": "Values must not be empty", + "valueMustBeANonnegativeNumber": "Value must be a non-negative number", + "sourceCampaignMustNotBeEmpty": "Source campaign must not be empty", + "triggerUpdated": "Trigger updated", + "triggerUpdated - TODO: update line above and then delete this line to mark that the translation has been fixed": "Trigger updated", + "triggerCreated": "Trigger created", + "triggerCreated - TODO: update line above and then delete this line to mark that the translation has been fixed": "Trigger created", + "deletingTrigger": "Deleting trigger ...", + "triggerDeleted": "Trigger deleted", + "editTrigger": "Edit Trigger", + "createTrigger": "Create Trigger", + "entity": "Entity", + "selectTheTypeOfTheTriggerRule": "Select the type of the trigger rule.", + "triggerFires": "Trigger fires", + "event": "Event", + "selectTheEventThatTriggersSendingThe": "Select the event that triggers sending the campaign.", + "enabled": "Enabled", + "latestOpen": "Latest open", + "latestClick": "Latest click", + "notOpened": "Not opened", + "notClicked": "Not clicked", + "daysAfter": "Days after", + "welcomeToMailtrain": "Bienvenido a Mailtrain...", + "close": "Close", + "countFileAdded": "{{count}} file added", + "countFileAdded_plural": "{{count}} files added", + "countFileReplaced": "{{count}} file replaced", + "countFileReplaced_plural": "{{count}} files replaced", + "countFileIgnored": "{{count}} file ignored", + "countFileIgnored_plural": "{{count}} files ignored", + "countFileUploaded": "{{count}} file uploaded", + "countFileUploaded_plural": "{{count}} files uploaded", + "uploadingCountFile": "Uploading {{count}} file", + "uploadingCountFile_plural": "Uploading {{count}} files", + "fileUploadFailed": "File upload failed:", + "noFilesToUpload": "No files to upload", + "deletingFile": "Deleting file ...", + "fileDeleted": "File deleted", + "deleteFileFailed": "Delete file failed:", + "size": "Size", + "download": "Download", + "confirmFileDeletion": "Confirm file deletion", + "areYouSureYouWantToDeleteTheFile?": "Are you sure you want to delete the file?", + "dropCountFile": "Drop {{count}} file", + "dropCountFile_plural": "Drop {{count}} files", + "dropFilesHere": "Drop files here", + "loading": "Loading ...", + "openCalendar": "Open calendar", + "select": "Select", + "someoneElseHasIntroducedModificationIn": "Someone else has introduced modification in the meantime. Refresh your page to start anew with fresh data. Please note that your changes will be lost.", + "itSeemsThatSomeoneElseHasDeletedThe": "It seems that someone else has deleted the target namespace in the meantime. Refresh your page to start anew with fresh data. Please note that your changes will be lost.", + "itSeemsThatSomeoneElseHasDeletedThe-1": "It seems that someone else has deleted the entity in the meantime.", + "customForms": "Custom forms", + "report": "Report", + "report_plural": "Reports", + "reportTemplate": "Report template", + "reportTemplate_plural": "Report templates", + "mosaicoTemplate": "Mosaico template", + "mosaicoTemplate_plural": "Mosaico templates", + "cannoteDeleteNameDueToTheFollowing": "Cannote delete \"{{name}}\" due to the following dependencies:", + "andMore": "... and more", + "confirmDeletion": "Confirm Deletion", + "areYouSureYouWantToDeleteName?": "Are you sure you want to delete \"{{name}}\"?", + "namespaceMustBeSelected": "Namespace must be selected", + "sourceOnGitHub": "Source on GitHub", + "sendTestEmail-1": "Send test e-mail", + "sendTestEmail-1 - TODO: update line above and then delete this line to mark that the translation has been fixed": "Send test e-mail", + "showHtml": "Show HTML", + "showHtml - TODO: update line above and then delete this line to mark that the translation has been fixed": "Show HTML", + "maximizeEditor": "Maximize editor", + "maximizeEditor - TODO: update line above and then delete this line to mark that the translation has been fixed": "Maximize editor", + "mjml": "MJML", + "html": "HTML", + "disableWordWrap": "Disable word wrap", + "disableWordWrap - TODO: update line above and then delete this line to mark that the translation has been fixed": "Disable word wrap", + "enableWordWrap": "Enable word wrap", + "enableWordWrap - TODO: update line above and then delete this line to mark that the translation has been fixed": "Enable word wrap", + "hidePreview": "Hide preview", + "hidePreview - TODO: update line above and then delete this line to mark that the translation has been fixed": "Hide preview", + "showPreview": "Show preview", + "showPreview - TODO: update line above and then delete this line to mark that the translation has been fixed": "Show preview", + "showMjml": "Show MJML", + "showMjml - TODO: update line above and then delete this line to mark that the translation has been fixed": "Show MJML", + "countEntriesSelected": "{{ count }} entries selected.", + "customFormMustBeSelected": "Custom form must be selected", + "listUpdated": "List updated", + "listUpdated - TODO: update line above and then delete this line to mark that the translation has been fixed": "List updated", + "listCreated": "List created", + "listCreated - TODO: update line above and then delete this line to mark that the translation has been fixed": "List created", + "onestepIeNoEmailWithConfirmationLink": "One-step (i.e. no email with confirmation link)", + "onestepWithUnsubscriptionFormIeNoEmail": "One-step with unsubscription form (i.e. no email with confirmation link)", + "twostepIeAnEmailWithConfirmationLinkWill": "Two-step (i.e. an email with confirmation link will be sent)", + "twostepWithUnsubscriptionFormIeAnEmail": "Two-step with unsubscription form (i.e. an email with confirmation link will be sent)", + "manualIeUnsubscriptionHasToBePerformedBy": "Manual (i.e. unsubscription has to be performed by the list administrator)", + "defaultMailtrainForms": "Default Mailtrain Forms", + "customFormsSelectFormBelow": "Custom Forms (select form below)", + "recipientsNameTemplate": "Recipients name template", + "specifyUsingMergeTagsOfThisListHowTo": "Specify using merge tags of this list how to construct full name of the recipient. This full name is used as \"To\" header when sending emails.", + "emptyCustomNoFields": "Empty / Custom (no fields)", + "emptyCustomNoFields - TODO: update line above and then delete this line to mark that the translation has been fixed": "Empty / Custom (no fields)", + "nameOneField": "Name (one field)", + "nameOneField - TODO: update line above and then delete this line to mark that the translation has been fixed": "Name (one field)", + "firstNameAndLastNameTwoFields": "First name and Last name (two fields)", + "firstNameAndLastNameTwoFields - TODO: update line above and then delete this line to mark that the translation has been fixed": "First name and Last name (two fields)", + "representationOfSubscribersName": "Representation of subscriber's name", + "representationOfSubscribersName - TODO: update line above and then delete this line to mark that the translation has been fixed": "Representation of subscriber's name", + "selectHowTheNameOfASubscriberWillBe": "Select how the name of a subscriber will be represented. The fields in list will be created accordingly. You can always adjust the choice later by editing the list fields. If you select \"Empty / Custom\", provide a template below in \"Recipients name template\" that will be used as subscriber's name as it will appear in the emails' \"To\" field.", + "selectHowTheNameOfASubscriberWillBe - TODO: update line above and then delete this line to mark that the translation has been fixed": "Select how the name of a subscriber will be represented. The fields in list will be created accordingly. You can always adjust the choice later by editing the list fields. If you select \"Empty / Custom\", provide a template below in \"Recipients name template\" that will be used as subscriber's name as it will appear in the emails' \"To\" field.", + "deletingList": "Deleting list ...", + "listDeleted": "List deleted", + "editList": "Edit List", + "createList": "Create List", + "thisIsTheListIdDisplayedToTheSubscribers": "This is the list ID displayed to the subscribers", + "contactEmail": "Contact email", + "contactEmailUsedInSubscriptionFormsAnd": "Contact email used in subscription forms and emails that are sent out. If not filled in, the admin email from the global settings will be used.", + "homepage": "Homepage", + "homepageUrlUsedInSubscriptionFormsAnd": "Homepage URL used in subscription forms and emails that are sent out. If not filled in, the default homepage from global settings will be used.", + "sendConfigurationThatWillBeUsedFor": "Send configuration that will be used for sending out subscription-related emails.", + "forms": "Forms", + "webAndEmailFormsAndTemplatesUsedIn": "Web and email forms and templates used in subscription management process.", + "allowPublicUsersToSubscribeThemselves": "Allow public users to subscribe themselves", + "unsubscription": "Unsubscription", + "selectHowAnUnsuscriptionRequestBy": "Select how an unsuscription request by subscriber is handled.", + "unsubscribeHeader": "Unsubscribe header", + "doNotSendListUnsubscribeHeaders": "Do not send List-Unsubscribe headers", + "theCustomFormUsedForThisListYouCanCreate": "The custom form used for this list. You can create a form <1>here.", + "mergeTagIsInvalidMayMustBeUppercaseAnd": "Merge tag is invalid. May must be uppercase and contain only characters A-Z, 0-9, _. It must start with a letter.", + "anotherFieldWithTheSameMergeTagExists": "Another field with the same merge tag exists. Please choose another merge tag.", + "groupHasToBeSelected": "Group has to be selected", + "defaultValueIsNotIntegerNumber": "Default value is not integer number", + "defaultValueIsNotAProperlyFormattedDate": "Default value is not a properly formatted date", + "defaultValueIsNotAProperlyFormatted": "Default value is not a properly formatted birthday date", + "defaultValueIsNotOneOfTheAllowedOptions": "Default value is not one of the allowed options", + "errrorOnLineLine": "Errror on line {{ line }}", + "fieldUpdated": "Field updated", + "fieldUpdated - TODO: update line above and then delete this line to mark that the translation has been fixed": "Field updated", + "fieldCreated": "Field created", + "fieldCreated - TODO: update line above and then delete this line to mark that the translation has been fixed": "Field created", + "notVisible": "Not visible", + "endOfList": "End of list", + "fieldSettings": "Field settings", + "defaultValue": "Default value", + "defaultValueUsedWhenTheFieldIsEmpty": "Default value used when the field is empty.", + "options": "Options", + "dateFormat": "Date format", + "mmddyyyy": "MM/DD/YYYY", + "ddmmyyyy": "DD/MM/YYYY", + "mmdd": "MM/DD", + "ddmm": "DD/MM", + "mergeTag": "Merge Tag", + "group": "Group", + "belongsToCheckboxDropdownRadioGroup": "Belongs to checkbox / dropdown / radio group", + "belongsToCheckboxDropdownRadioGroup - TODO: update line above and then delete this line to mark that the translation has been fixed": "Belongs to checkbox / dropdown / radio group", + "containingGroup": "Containing group", + "containingGroup - TODO: update line above and then delete this line to mark that the translation has been fixed": "Containing group", + "selectGroupToWhichTheOptionsShouldBelong": "Select group to which the options should belong.", + "checkedLabel": "Checked label", + "checkedLabel - TODO: update line above and then delete this line to mark that the translation has been fixed": "Checked label", + "labelThatWillBeDisplayedInListAnd": "Label that will be displayed in list and subscription when the option is checked", + "labelThatWillBeDisplayedInListAnd - TODO: update line above and then delete this line to mark that the translation has been fixed": "Label that will be displayed in list and subscription when the option is checked", + "uncheckedLabel": "Unchecked label", + "uncheckedLabel - TODO: update line above and then delete this line to mark that the translation has been fixed": "Unchecked label", + "labelThatWillBeDisplayedInListAnd-1": "Label that will be displayed in list and subscription when the option is unchecked", + "labelThatWillBeDisplayedInListAnd-1 - TODO: update line above and then delete this line to mark that the translation has been fixed": "Label that will be displayed in list and subscription when the option is unchecked", + "deletingField": "Deleting field ...", + "fieldDeleted": "Field deleted", + "editField": "Edit Field", + "createField": "Create Field", + "mergeTag-1": "Merge tag", + "fieldOrder": "Field order", + "listingsBefore": "Listings (before)", + "selectTheFieldBeforeWhichThisFieldShould": "Select the field before which this field should appear in listings. To exclude the field from listings, select \"Not visible\".", + "subscriptionFormBefore": "Subscription form (before)", + "selectTheFieldBeforeWhichThisFieldShould-1": "Select the field before which this field should appear in new subscription form. To exclude the field from the new subscription form, select \"Not visible\".", + "managementFormBefore": "Management form (before)", + "selectTheFieldBeforeWhichThisFieldShould-2": "Select the field before which this field should appear in subscription management. To exclude the field from the subscription management form, select \"Not visible\".", + "youCanControlTheAppearanceOfTheMergeTag": "You can control the appearance of the merge tag with this template. The template\n uses handlebars syntax and you can find all values from <1>{'{{values}}'} array, for\n example <3>{'{{#each values}} {{this}} {{/each}}'}. If template is not defined then\n multiple values are joined with commas.", + "specifyTheOptionsToSelectFromInThe": "<0>Specify the options to select from in the following format:<1>key|label. For example:\n <2><0>au|Australia<3><0>at|Austria", + "defaultKeyEgAuUsedWhenTheFieldIsEmpty": "Default key (e.g. <1>au used when the field is empty.')", + "youCanControlTheAppearanceOfTheMergeTag-1": "You can control the appearance of the merge tag with this template. The template\n uses handlebars syntax and you can find all values from <1>{'{{values}}'} array.\n Each entry in the array is an object with attributes <3>key and <5>label.\n For example <7>{'{{#each values}} {{this.value}} {{/each}}'}. If template is not defined then\n multiple values are joined with commas.", + "youCanUseThisTemplateToRenderJsonValues": "You can use this template to render JSON values (if the JSON is an array then the array is\n exposed as <1>values, otherwise you can access the JSON keys directly).", + "text": "Text", + "website": "Website", + "multilineText": "Multi-line text", + "gpgPublicKey": "GPG Public Key", + "number": "Number", + "checkboxesFromOptionFields": "Checkboxes (from option fields)", + "radioButtonsFromOptionFields": "Radio Buttons (from option fields)", + "dropDownFromOptionFields": "Drop Down (from option fields)", + "radioButtonsEnumerated": "Radio Buttons (enumerated)", + "dropDownEnumerated": "Drop Down (enumerated)", + "birthday": "Birthday", + "jsonValueForCustomRendering": "JSON value for custom rendering", + "option": "Option", + "fields": "Fields", + "thePlaintextVersionForThisEmail": "The plaintext version for this email", + "layout": "Layout", + "formInputStyle": "Form Input Style", + "thisCssStylesheetDefinesTheAppearanceOf": "This CSS stylesheet defines the appearance of form input elements and alerts", + "webSubscribe": "Web - Subscribe", + "webConfirmSubscriptionNotice": "Web - Confirm Subscription Notice", + "mailConfirmSubscriptionMjml": "Mail - Confirm Subscription (MJML)", + "mailConfirmSubscriptionText": "Mail - Confirm Subscription (Text)", + "mailAlreadySubscribedMjml": "Mail - Already Subscribed (MJML)", + "mailAlreadySubscribedText": "Mail - Already Subscribed (Text)", + "webSubscribedNotice": "Web - Subscribed Notice", + "mailSubscriptionConfirmedMjml": "Mail - Subscription Confirmed (MJML)", + "mailSubscriptionConfirmedText": "Mail - Subscription Confirmed (Text)", + "webManagePreferences": "Web - Manage Preferences", + "webManageAddress": "Web - Manage Address", + "mailConfirmAddressChangeMjml": "Mail - Confirm Address Change (MJML)", + "mailConfirmAddressChangeText": "Mail - Confirm Address Change (Text)", + "webUpdatedNotice": "Web - Updated Notice", + "webUnsubscribe": "Web - Unsubscribe", + "webConfirmUnsubscriptionNotice": "Web - Confirm Unsubscription Notice", + "mailConfirmUnsubscriptionMjml": "Mail - Confirm Unsubscription (MJML)", + "mailConfirmUnsubscriptionText": "Mail - Confirm Unsubscription (Text)", + "webUnsubscribedNotice": "Web - Unsubscribed Notice", + "mailUnsubscriptionConfirmedMjml": "Mail - Unsubscription Confirmed (MJML)", + "mailUnsubscriptionConfirmedText": "Mail - Unsubscription Confirmed (Text)", + "webManualUnsubscribeNotice": "Web - Manual Unsubscribe Notice", + "privacyPolicy": "Privacy policy", + "general": "General", + "subscribe": "Subscribe", + "manage": "Manage", + "unsubscribe": "Unsubscribe", + "dataProtection": "Data protection", + "listOfErrorsInTemplates": "List of errors in templates", + "customFormsUpdated": "Custom forms updated", + "customFormsUpdated - TODO: update line above and then delete this line to mark that the translation has been fixed": "Custom forms updated", + "customFormsCreated": "Custom forms created", + "customFormsCreated - TODO: update line above and then delete this line to mark that the translation has been fixed": "Custom forms created", + "deletingForm": "Deleting form ...", + "formDeleted": "Form deleted", + "editCustomForms": "Edit Custom Forms", + "createCustomForms": "Create Custom Forms", + "formsPreview": "Forms Preview", + "listToPreviewOn": "List To Preview On", + "selectListWhoseFieldsWillBeUsedToPreview": "Select list whose fields will be used to preview the forms.", + "noteTheseLinksAreSolelyForAQuickPreview": "Note: These links are solely for a quick preview. To get the address of the subscription form, go to the list's subscribers and click on \"Subscription Form\".", + "formPreview": "Form preview:", + "refresh": "Refresh", + "closePreview": "Close preview", + "closePreview - TODO: update line above and then delete this line to mark that the translation has been fixed": "Close preview", + "templates": "Templates", + "customFormsUseMjmlForFormattingSeeThe": "Custom forms use MJML for formatting. See the MJML documentation <1>here", + "createCustomForm": "Create Custom Form", + "fileMustBeSelected": "File must be selected", + "csvDelimiterMustNotBeEmpty": "CSV delimiter must not be empty", + "emailMappingHasToBeProvided": "Email mapping has to be provided", + "importSaved": "Import saved", + "file": "File", + "delimiter": "Delimiter", + "preparationInProgressPleaseWaitTillItIs": "Preparation in progress. Please wait till it is done or visit this page later.", + "––Select ––": "–– Select ––", + "eg": "e.g.:", + "checkImportedEmails": "Check imported emails", + "mapping": "Mapping", + "saveAndEditSettings": "Save and edit settings", + "saveAndRun": "Save and Run", + "deletingImport": "Deleting import ...", + "importDeleted": "Import deleted", + "editImport": "Edit Import", + "createImport": "Create Import", + "source": "Source", + "csvFile": "CSV file", + "preparing": "Preparing", + "stopping": "Stopping", + "ready": "Ready", + "preparationFailed": "Preparation failed", + "running": "Running", + "failed": "Failed", + "starting": "Starting", + "basicImportOfSubscribers": "Basic import of subscribers", + "unsubscribeEmails": "Unsubscribe emails", + "lastRun": "Last run", + "detailedStatus": "Detailed status", + "imports": "Imports", + "row": "Row", + "reason": "Reason", + "importRunStatus": "Import Run Status", + "importName": "Import name", + "importSource": "Import source", + "runStarted": "Run started", + "runFinished": "Run finished", + "runStatus": "Run status", + "processedEntries": "Processed entries", + "newEntries": "New entries", + "failedEntries": "Failed entries", + "error": "Error", + "failedRows": "Failed Rows", + "started": "Started", + "processed": "Processed", + "new": "New", + "importStatus": "Import Status", + "actions": "Actions", + "start": "Start", + "importRuns": "Import Runs", + "segments": "Segments", + "customForms-1": "Custom Forms", + "listName": "List \"{{name}}\"", + "fieldName-1": "Field \"{{name}}\"", + "segmentName": "Segment \"{{name}}\"", + "importName-1": "Import \"{{name}}\"", + "run": "Run", + "customFormsName": "Custom Forms \"{{name}}\"", + "newRule": "New rule", + "segmentUpdated": "Segment updated", + "segmentUpdated - TODO: update line above and then delete this line to mark that the translation has been fixed": "Segment updated", + "segmentCreated": "Segment created", + "segmentCreated - TODO: update line above and then delete this line to mark that the translation has been fixed": "Segment created", + "deletingSegment": "Deleting segment ...", + "segmentDeleted": "Segment deleted", + "editSegment": "Edit Segment", + "createSegment": "Create Segment", + "segmentOptions": "Segment Options", + "toplevelMatchType": "Toplevel match type", + "addCompositeRule": "Add Composite Rule", + "addRule": "Add Rule", + "rules": "Rules", + "allRulesMustMatch": "All rules must match", + "atLeastOneRuleMustMatch": "At least one rule must match", + "noRuleMayMatch": "No rule may match", + "equalTo": "Equal to", + "valueInColumnColNameIsEqualToValue": "Value in column \"{{colName}}\" is equal to \"{{value}}\"", + "matchWithSqlLike": "Match (with SQL LIKE)", + "valueInColumnColNameMatchesWithSqlLike": "Value in column \"{{colName}}\" matches (with SQL LIKE) \"{{value}}\"", + "matchWithRegularExpressions": "Match (with regular expressions)", + "valueInColumnColNameMatchesWithRegular": "Value in column \"{{colName}}\" matches (with regular expressions) \"{{value}}\"", + "alphabeticallyBefore": "Alphabetically before", + "valueInColumnColNameIsAlphabetically": "Value in column \"{{colName}}\" is alphabetically before \"{{value}}\"", + "alphabeticallyBeforeOrEqualTo": "Alphabetically before or equal to", + "valueInColumnColNameIsAlphabetically-1": "Value in column \"{{colName}}\" is alphabetically before or equal to \"{{value}}\"", + "alphabeticallyAfter": "Alphabetically after", + "valueInColumnColNameIsAlphabetically-2": "Value in column \"{{colName}}\" is alphabetically after \"{{value}}\"", + "alphabeticallyAfterOrEqualTo": "Alphabetically after or equal to", + "valueInColumnColNameIsAlphabetically-3": "Value in column \"{{colName}}\" is alphabetically after or equal to \"{{value}}\"", + "valueInColumnColNameIsEqualToValue-1": "Value in column \"{{colName}}\" is equal to {{value}}", + "lessThan": "Less than", + "valueInColumnColNameIsLessThanValue": "Value in column \"{{colName}}\" is less than {{value}}", + "lessThanOrEqualTo": "Less than or equal to", + "valueInColumnColNameIsLessThanOrEqualTo": "Value in column \"{{colName}}\" is less than or equal to {{value}}", + "greaterThan": "Greater than", + "valueInColumnColNameIsGreaterThanValue": "Value in column \"{{colName}}\" is greater than {{value}}", + "greaterThanOrEqualTo": "Greater than or equal to", + "valueInColumnColNameIsGreaterThanOrEqual": "Value in column \"{{colName}}\" is greater than or equal to {{value}}", + "on": "On", + "dateInColumnColNameIsValue": "Date in column \"{{colName}}\" is {{value}}", + "before": "Before", + "dateInColumnColNameIsBeforeValue": "Date in column \"{{colName}}\" is before {{value}}", + "beforeOrOn": "Before or on", + "dateInColumnColNameIsBeforeOrOnValue": "Date in column \"{{colName}}\" is before or on {{value}}", + "after": "After", + "dateInColumnColNameIsAfterValue": "Date in column \"{{colName}}\" is after {{value}}", + "afterOrOn": "After or on", + "dateInColumnColNameIsAfterOrOnValue": "Date in column \"{{colName}}\" is after or on {{value}}", + "onXthDayBeforeafterCurrentDate": "On x-th day before/after current date", + "dateInColumnColNameIsTheCurrentDate": "Date in column \"{{colName}}\" is the current date", + "dateInColumnColNameIsTheValuethDayAfter": "Date in column \"{{colName}}\" is the {{value}}-th day after the current date", + "dateInColumnColNameIsTheValuethDayBefore": "Date in column \"{{colName}}\" is the {{value}}-th day before the current date", + "beforeXthDayBeforeafterCurrentDate": "Before x-th day before/after current date", + "dateInColumnColNameIsBeforeTheCurrent": "Date in column \"{{colName}}\" is before the current date", + "dateInColumnColNameIsBeforeTheValuethDay": "Date in column \"{{colName}}\" is before the {{value}}-th day after the current date", + "dateInColumnColNameIsBeforeTheValuethDay-1": "Date in column \"{{colName}}\" is before the {{value}}-th day before the current date", + "beforeOrOnXthDayBeforeafterCurrentDate": "Before or on x-th day before/after current date", + "dateInColumnColNameIsBeforeOrOnThe": "Date in column \"{{colName}}\" is before or on the current date", + "dateInColumnColNameIsBeforeOrOnThe-1": "Date in column \"{{colName}}\" is before or on the {{value}}-th day after the current date", + "dateInColumnColNameIsBeforeOrOnThe-2": "Date in column \"{{colName}}\" is before or on the {{value}}-th day before the current date", + "afterXthDayBeforeafterCurrentDate": "After x-th day before/after current date", + "dateInColumnColNameIsAfterTheCurrentDate": "Date in column \"{{colName}}\" is after the current date", + "dateInColumnColNameIsAfterTheValuethDay": "Date in column \"{{colName}}\" is after the {{value}}-th day after the current date", + "dateInColumnColNameIsAfterTheValuethDay-1": "Date in column \"{{colName}}\" is after the {{value}}-th day before the current date", + "afterOrOnXthDayBeforeafterCurrentDate": "After or on x-th day before/after current date", + "dateInColumnColNameIsAfterOrOnTheCurrent": "Date in column \"{{colName}}\" is after or on the current date", + "dateInColumnColNameIsAfterOrOnTheValueth": "Date in column \"{{colName}}\" is after or on the {{value}}-th day after the current date", + "dateInColumnColNameIsAfterOrOnTheValueth-1": "Date in column \"{{colName}}\" is after or on the {{value}}-th day before the current date", + "isSelected": "Is selected", + "valueInColumnColNameIsSelected": "Value in column \"{{colName}}\" is selected", + "isNotSelected": "Is not selected", + "valueInColumnColNameIsNotSelected": "Value in column \"{{colName}}\" is not selected", + "keyEqualTo": "Key equal to", + "theSelectedKeyInColumnColNameIsEqualTo": "The selected key in column \"{{colName}}\" is equal to \"{{value}}\"", + "keyMatchWithSqlLike": "Key match (with SQL LIKE)", + "theSelectedKeyInColumnColNameMatchesWith": "The selected key in column \"{{colName}}\" matches (with SQL LIKE) \"{{value}}\"", + "keyMatchWithRegularExpressions": "Key match (with regular expressions)", + "theSelectedKeyInColumnColNameMatchesWith-1": "The selected key in column \"{{colName}}\" matches (with regular expressions) \"{{value}}\"", + "keyAlphabeticallyBefore": "Key alphabetically before", + "theSelectedKeyInColumnColNameIs": "The selected key in column \"{{colName}}\" is alphabetically before \"{{value}}\"", + "keyAlphabeticallyBeforeOrEqualTo": "Key alphabetically before or equal to", + "theSelectedKeyInColumnColNameIs-1": "The selected key in column \"{{colName}}\" is alphabetically before or equal to \"{{value}}\"", + "keyAlphabeticallyAfter": "Key alphabetically after", + "theSelectedKeyInColumnColNameIs-2": "The selected key in column \"{{colName}}\" is alphabetically after \"{{value}}\"", + "keyAlphabeticallyAfterOrEqualTo": "Key alphabetically after or equal to", + "theSelectedKeyInColumnColNameIs-3": "The selected key in column \"{{colName}}\" is alphabetically after or equal to \"{{value}}\"", + "value": "Value", + "valueMustNotBeEmpty": "Value must not be empty", + "valueMustBeANumber": "Value must be a number", + "numberOfDays": "Number of days", + "beforeAfter": "Before/After", + "beforeCurrentDate": "Before current date", + "afterCurrentDate": "After current date", + "numberOfDaysMustNotBeEmpty": "Number of days must not be empty", + "numberOfDaysMustBeANumber": "Number of days must be a number", + "emailAddress-1": "Email address", + "signupCountry": "Signup country", + "signUpDate": "Sign up date", + "testUser": "Test user", + "testUser - TODO: update line above and then delete this line to mark that the translation has been fixed": "Test user", + "fieldMustBeSelected": "Field must be selected", + "field": "Field", + "select-1": "-- Select --", + "ruleOptions": "Rule Options", + "ok": "OK", + "anotherSubscriptionWithTheSameEmail": "Another subscription with the same email already exists.", + "subscriptionUpdated": "Subscription updated", + "subscriptionUpdated - TODO: update line above and then delete this line to mark that the translation has been fixed": "Subscription updated", + "subscriptionCreated": "Subscription created", + "subscriptionCreated - TODO: update line above and then delete this line to mark that the translation has been fixed": "Subscription created", + "itSeemsThatAnotherSubscriptionWithThe": "It seems that another subscription with the same email has been created in the meantime. Refresh your page to start anew. Please note that your changes will be lost.", + "notSelected": "Not selected", + "areYouSureYouWantToDeleteSubscriptionFor": "Are you sure you want to delete subscription for \"{{email}}\"?", + "deletingSubscription": "Deleting subscription ...", + "subscriptionDeleted": "Subscription deleted", + "editSubscription": "Edit Subscription", + "createSubscription": "Create Subscription", + "timezone": "Timezone", + "subscriptionStatus": "Subscription status", + "testUser?": "Test user?", + "ifCheckedThenThisSubscriptionCanBeUsed": "If checked then this subscription can be used for previewing campaign messages", + "subscribed": "Subscribed", + "unubscribed": "Unubscribed", + "erased": "[ERASED]", + "confirmUnsubscription": "Confirm Unsubscription", + "areYouSureYouWantToUnsubscribeEmail?": "Are you sure you want to unsubscribe {{email}}?", + "unsubscribingEmail": "Unsubscribing {{email}}", + "emailUnsubscribed": "{{email}} unsubscribed", + "confirmEmailBlacklisting": "Confirm Email Blacklisting", + "areYouSureYouWantToBlacklistEmail?": "Are you sure you want to blacklist {{email}}?", + "blacklistingEmail": "Blacklisting {{email}}", + "emailBlacklisted": "{{email}} blacklisted", + "allSubscriptions": "All subscriptions", + "subscriptionForm": "Subscription Form", + "exportAsCsv": "Export as CSV", + "addSubscriber": "Add Subscriber", + "usernameOrEmailMustNotBeEmpty": "Username or email must not be empty", + "processing": "Processing ...", + "ifTheUsernameEmailExistsInTheSystem": "If the username / email exists in the system, password reset link will be sent to the registered email.", + "pleaseEnterYourUsernameEmailAndTryAgain": "Please enter your username / email and try again.", + "passwordReset": "Password Reset", + "pleaseProvideTheUsernameOrEmailAddress": "Please provide the username or email address that is registered with your Mailtrain account.", + "weWillSendYouAnEmailThatWillAllowYouTo": "We will send you an email that will allow you to reset your password.", + "usernameOrEmail": "Username or email", + "sendEmail": "Send email", + "userNameMustNotBeEmpty": "User name must not be empty", + "passwordMustNotBeEmpty": "Password must not be empty", + "verifyingCredentials": "Verifying credentials ...", + "pleaseEnterYourCredentialsAndTryAgain": "Please enter your credentials and try again.", + "invalidUsernameOrPassword": "Invalid username or password.", + "forgotYourPassword?": "Olvidaste tu contraseña?", + "signIn": "Iniciar sesión", + "username": "Usuario", + "password": "Contraseña", + "rememberMe": "Recuérdame", + "resettingPassword": "Resetting password ...", + "passwordReset-1": "Password reset", + "yourPasswordCannotBeReset": "Your password cannot be reset.", + "thePasswordResetTokenHasExpired": "The password reset token has expired.", + "clickHereToRequestANewPasswordResetLink": "Click here to request a new password reset link.", + "validatingPasswordResetToken": "Validating password reset token ...", + "thePasswordCannotBeReset": "The password cannot be reset", + "setNewPasswordFor": "Set new password for", + "resetPassword": "Reset password", + "parentNamespaceMustBeSelected": "Parent Namespace must be selected", + "namespaceUpdated": "Namespace updated", + "namespaceUpdated - TODO: update line above and then delete this line to mark that the translation has been fixed": "Namespace updated", + "namespaceCreated": "Namespace created", + "namespaceCreated - TODO: update line above and then delete this line to mark that the translation has been fixed": "Namespace created", + "thereHasBeenALoopDetectedInTheAssignment": "There has been a loop detected in the assignment of the parent namespace. This is most likely because someone else has changed the parent of some namespace in the meantime. Refresh your page to start anew. Please note that your changes will be lost.", + "itSeemsThatTheParentNamespaceHasBeen": "It seems that the parent namespace has been deleted in the meantime. Refresh your page to start anew. Please note that your changes will be lost.", + "deletingNamespace": "Deleting namespace ...", + "namespaceDeleted": "Namespace deleted", + "editNamespace": "Edit Namespace", + "createNamespace": "Create Namespace", + "parentNamespace": "Parent Namespace", + "namespaces": "Namespaces", + "namespaceName": "Namespace \"{{name}}\"", + "reportTemplateMustBeSelected": "Report template must be selected", + "exactlyOneItemHasToBeSelected": "Exactly one item has to be selected", + "atLeastCountItemsHaveToBeSelected": "At least {{ count }} item(s) have to be selected", + "atMostCountItemsCanToBeSelected": "At most {{ count }} item(s) can to be selected", + "reportParametersAreNotSelectedWaitFor": "Report parameters are not selected. Wait for them to get displayed and then fill them in.", + "reportUpdated": "Report updated", + "reportUpdated - TODO: update line above and then delete this line to mark that the translation has been fixed": "Report updated", + "reportCreated": "Report created", + "reportCreated - TODO: update line above and then delete this line to mark that the translation has been fixed": "Report created", + "unknownFieldTypeType": "Unknown field type \"{{type}}\"", + "deletingReport": "Deleting report ...", + "reportDeleted": "Report deleted", + "editReport": "Edit Report", + "createReport": "Create Report", + "reportTemplate-1": "Report Template", + "reportParameters": "Report parameters", + "loadingReportTemplate": "Loading report template...", + "processing-1": "Processing", + "view": "View", + "refreshReport": "Refresh report", + "reportGenerationFailed": "Report generation failed", + "regenerateReport": "Regenerate report", + "viewConsoleOutput": "View console output", + "reportTemplates": "Report Templates", + "reports": "Reports", + "reportName": "Report \"{{name}}\"", + "output": "Output", + "templateName": "Template \"{{name}}\"", + "mimeTypeMustBeSelected": "MIME Type must be selected", + "syntaxErrorInTheUserFieldsSpecification": "Syntax error in the user fields specification", + "reportTemplateUpdated": "Report template updated", + "reportTemplateUpdated - TODO: update line above and then delete this line to mark that the translation has been fixed": "Report template updated", + "reportTemplateCreated": "Report template created", + "reportTemplateCreated - TODO: update line above and then delete this line to mark that the translation has been fixed": "Report template created", + "deletingReportTemplate": "Deleting report template ...", + "reportTemplateDeleted": "Report template deleted", + "editReportTemplate": "Edit Report Template", + "createReportTemplate": "Create Report Template", + "csv": "CSV", + "userSelectableFields": "User selectable fields", + "jsonSpecificationOfUserSelectableFields": "JSON specification of user selectable fields.", + "dataProcessingCode": "Data processing code", + "renderingTemplate": "Rendering template", + "writeTheBodyOfTheJavaScriptFunctionWith": "Write the body of the JavaScript function with signature <1>function(inputs, callback) that returns an object to be rendered by the Handlebars template below.", + "useHtmlWithHandlebarsSyntaxSee": "Use HTML with Handlebars syntax. See documentation <1>here.", + "blank": "Blank", + "openCounts": "Open counts", + "openCountsAsCsv": "Open counts as CSV", + "aggregatedOpenCounts": "Aggregated open counts", + "reportName-1": "Report {{name}}", + "loadingReport": "Loading report ...", + "outputForReportName": "Output for report {{name}}", + "loadingReportOutput": "Loading report output ...", + "reportIsBeingGenerated": "Report is being generated", + "reportNotGenerated": "Report not generated", + "current": "(current)", + "administration": "Administracion", + "users": "Users", + "globalSettings": "Global Settings", + "sendConfigurations": "Send configurations", + "logOut": "Log out", + "home": "Home", + "mailerTypeMustBeSelected": "Mailer type must be selected", + "verpHostnameMustNotBeEmpty": "VERP hostname must not be empty", + "sendConfigurationUpdated": "Send configuration updated", + "sendConfigurationUpdated - TODO: update line above and then delete this line to mark that the translation has been fixed": "Send configuration updated", + "sendConfigurationCreated": "Send configuration created", + "sendConfigurationCreated - TODO: update line above and then delete this line to mark that the translation has been fixed": "Send configuration created", + "deletingSendConfiguration": "Deleting send configuration ...", + "sendConfigurationDeleted": "Send configuration deleted", + "editSendConfiguration": "Edit Send Configuration", + "createSendConfiguration": "Create Send Configuration", + "emailHeader": "Email Header", + "defaultFromEmail": "Default \"from\" email", + "overridable": "Overridable", + "defaultFromName": "Default \"from\" name", + "defaultReplytoEmail": "Default \"reply-to\" email", + "xMailer": "X-Mailer", + "verpBounceHandling": "VERP Bounce Handling", + "verpStatus": "VERP status", + "serverHostname": "Server hostname", + "theVerpServerHostnameEgBouncesexamplecom": "The VERP server hostname, eg. bounces.example.com", + "verpBounceHandlingServerHostnameThis": "VERP bounce handling server hostname. This hostname is used in the SMTP envelope FROM address and the MX DNS records should point to this server", + "disableSenderHeader": "Disable sender header", + "withDmarcTheReturnPathAndFromAddressMust": "With DMARC, the Return-Path and From address must match the same domain. By default we get around this by using the VERP address in the Sender header, with the side effect that some email clients diplay an ugly on behalf of message. You can safely disable this Sender header if you're not using DMARC or your VERP hostname is in the same domain as the From address.", + "mailtrainIsAbleToUseVerpBasedRoutingTo": "<0>Mailtrain is able to use VERP based routing to detect bounces. In this case the message is sent to the recipient using a custom VERP address as the return path of the message. If the message is not accepted a bounce email is sent to this special VERP address and thus a bounce is detected.", + "toGetVerpWorkingYouNeedToSetUpADnsMx": "<0>To get VERP working you need to set up a DNS MX record that points to your Mailtrain hostname. You must also ensure that Mailtrain VERP interface is available from port 25 of your server (port 25 usually requires root user privileges). This way if anyone tries to send email to someuser@verp-hostname then the email should end up to this server.", + "verpUsuallyOnlyWorksIfYouAreUsingYourOwn": "<0>VERP usually only works if you are using your own SMTP server. Regular relay services (SES, SparkPost, Gmail etc.) tend to remove the VERP address from the message.", + "verpBounceHandlingServerIsNotEnabled": "<0>VERP bounce handling server is not enabled. Modify your server configuration file and restart server to enable it.", + "labelMustNotBeEmpty": "{{label}} must not be empty", + "labelMustBeANumber": "{{label}} must be a number", + "genericSmtp": "Generic SMTP", + "zoneMta": "Zone MTA", + "amazonSes": "Amazon SES", + "doNotUseEncryption": "Do not use encryption", + "useTls –UsuallySelectedForPort465": "Use TLS – usually selected for port 465", + "useStarttls –UsuallySelectedForPort587": "Use STARTTLS – usually selected for port 587 and 25", + "useast1": "US-EAST-1", + "uswest2": "US-WEST-2", + "euwest1": "EU-WEST-1", + "builtinZoneMta": "Built-in ZoneMTA", + "dynamicConfigurationOfDkimKeysViaZoneMt": "Dynamic configuration of DKIM keys via ZoneMTA's Mailtrain plugin", + "dynamicConfigurationOfDkimKeysViaZoneMt-1": "Dynamic configuration of DKIM keys via ZoneMTA's HTTP config plugin", + "noDynamicConfigurationOfDkimKeys": "No dynamic configuration of DKIM keys", + "mailerSettings": "Mailer Settings", + "mailerType": "Mailer type", + "hostname": "Hostname", + "hostnameEgSmtpexamplecom": "Hostname, eg. smtp.example.com", + "port": "Port", + "portEg465AutodetectedIfLeftBlank": "Port, eg. 465. Autodetected if left blank", + "encryption": "Encryption", + "enableSmtpAuthentication": "Enable SMTP authentication", + "usernameEgMyaccount@examplecom": "Username, eg. myaccount@example.com", + "advancedMailerSettings": "Advanced Mailer Settings", + "logSmtpTransactions": "Log SMTP transactions", + "allowSelfsignedCertificates": "Allow self-signed certificates", + "maxConnections": "Max connections", + "theCountOfMaxConnectionsEg10": "The count of max connections, eg. 10", + "theCountOfMaximumSimultaneousConnections": "The count of maximum simultaneous connections to make against the SMTP server (defaults to 5). This limit is per sending process.", + "maxMessages": "Max messages", + "theCountOfMaxMessagesEg100": "The count of max messages, eg. 100", + "theNumberOfMessagesToSendThroughASingle": "The number of messages to send through a single connection before the connection is closed and reopened (defaults to 100)", + "throttling": "Throttling", + "messagesPerHourEg1000": "Messages per hour eg. 1000", + "maximumNumberOfMessagesToSendInAnHour": "Maximum number of messages to send in an hour. Leave empty or zero for no throttling. If your provider uses a different speed limit (messages/minute or messages/second) then convert this limit into messages/hour (1m/s => 3600m/h). This limit is per sending process.", + "dynamicConfiguration": "Dynamic configuration", + "dkimSigning": "DKIM Signing", + "zoneMtaDkimApiKey": "ZoneMTA DKIM API key", + "secretValueKnownToZoneMtaForRequesting": "Secret value known to ZoneMTA for requesting DKIM key information. If this value was generated by the Mailtrain installation script then you can keep it as it is.", + "dkimDomain": "DKIM domain", + "leaveBlankToUseTheSenderEmailAddress": "Leave blank to use the sender email address domain.", + "dkimKeySelector": "DKIM key selector", + "signingIsDisabledWithoutAValidSelector": "Signing is disabled without a valid selector value.", + "dkimPrivateKey": "DKIM private key", + "beginsWithBeginRsaPrivateKey": "Begins with \"-----BEGIN RSA PRIVATE KEY-----\"", + "signingIsDisabledWithoutAValidPrivateKey": "Signing is disabled without a valid private key.", + "accessKey": "Access key", + "awsAccessKeyId": "AWS access key ID", + "awsSecretAccessKey": "AWS secret access key", + "region": "Region", + "ifYouAreUsingZoneMtaThenMailtrainCan": "<0>If you are using ZoneMTA then Mailtrain can provide a DKIM key for signing all outgoing messages. Other services usually provide their own means to DKIM sign your messages.", + "doNotUseSensitiveKeysHereThePrivateKeyIs": "<0>Do not use sensitive keys here. The private key is not encrypted in the database.", + "sendConfigurations-1": "Send Configurations", + "globalSettingsSaved": "Global settings saved", + "adminEmail": "Admin email", + "thisEmailIsUsedAsTheMainContactAndAsA": "This email is used as the main contact and as a default email address if no email address is specified in list settings.", + "defaultHomepageUrl": "Default homepage URL", + "thisUrlWillBeUsedInListSubscriptionForms": "This URL will be used in list subscription forms if no homepage is specified in list settings.", + "trackingId": "Tracking ID", + "uaxxxxxxx": "UA-XXXXX-XX", + "enterGoogleAnalyticsTrackingCode": "Enter Google Analytics tracking code", + "googleMapsApiKey": "Google Maps API Key", + "xxxxxx": "XXXXXX", + "theMapOverviewInCampaignStatistics": "The map overview in campaign statistics requires a Google Maps API key. Please enter it here. If no key is given, Google may throttle map requests, which will result in occassional unavailability of the map in the campaign statistics.", + "frontpageShoutOut": "Frontpage shout out", + "htmlCodeShownInTheFrontPageHeaderSection": "HTML code shown in the front page header section", + "gpgSigning": "GPG Signing", + "privateKeyPassphrase": "Private key passphrase", + "passphraseForTheKeyIfSet": "Passphrase for the key if set", + "onlyFillThisIfYourPrivateKeyIsEncrypted": "Only fill this if your private key is encrypted with a passphrase", + "gpgPrivateKey": "GPG private key", + "beginsWithBeginPgpPrivateKeyBlock": "Begins with '-----BEGIN PGP PRIVATE KEY BLOCK-----'", + "thisValueIsOptionalIfYouDoNotProvideA": "This value is optional. If you do not provide a private key GPG encrypted messages are sent without signing.", + "onlyMessagesThatAreEncryptedCanBeSigned": "<0>Only messages that are encrypted can be signed. Subsribers who have not set up a GPG public key in their profile receive normal email messages. Users with GPG key set receive encrypted messages and if you have signing key also set, the messages are signed with this key.", + "doNotUseSensitiveKeysHereThePrivateKey": "<0>Do not use sensitive keys here. The private key and passphrase are not encrypted in the database.", + "userMustNotBeEmpty": "User must not be empty", + "roleMustBeSelected": "Role must be selected", + "role": "Role", + "unshare": "Unshare", + "unshare - TODO: update line above and then delete this line to mark that the translation has been fixed": "Unshare", + "confirmUnsharing": "Confirm Unsharing", + "confirmUnsharing - TODO: update line above and then delete this line to mark that the translation has been fixed": "Confirm Unsharing", + "areYouSureYouWantToRemoveTheShareToUser": "Are you sure you want to remove the share to user \"{{username}}\"?", + "areYouSureYouWantToRemoveTheShareToUser - TODO: update line above and then delete this line to mark that the translation has been fixed": "Are you sure you want to remove the share to user \"{{username}}\"?", + "removingShareForUserUsername": "Removing share for user \"{{username}}\"", + "removingShareForUserUsername - TODO: update line above and then delete this line to mark that the translation has been fixed": "Removing share for user \"{{username}}\"", + "shareForUserUsernameRemoved": "Share for user \"{{username}}\" removed", + "shareForUserUsernameRemoved - TODO: update line above and then delete this line to mark that the translation has been fixed": "Share for user \"{{username}}\" removed", + "addUser": "Add User", + "user": "User", + "existingUsers": "Existing Users", + "areYouSureYouWantToRemoveTheSharingOfThe": "Are you sure you want to remove the sharing of the {{typeName}} \"{{name}}\"?", + "areYouSureYouWantToRemoveTheSharingOfThe - TODO: update line above and then delete this line to mark that the translation has been fixed": "Are you sure you want to remove the sharing of the {{typeName}} \"{{name}}\"?", + "removingSharingOfTheTypeNameName": "Removing sharing of the {{typeName}} \"{{name}}\"", + "removingSharingOfTheTypeNameName - TODO: update line above and then delete this line to mark that the translation has been fixed": "Removing sharing of the {{typeName}} \"{{name}}\"", + "sharingOfTheTypeNameNameRemoved": "Sharing of the {{typeName}} \"{{name}}\" removed", + "sharingOfTheTypeNameNameRemoved - TODO: update line above and then delete this line to mark that the translation has been fixed": "Sharing of the {{typeName}} \"{{name}}\" removed", + "sharesForUserUsername": "Shares for user \"{{username}}\"", + "namespace-1": "namespace", + "namespace-1 - TODO: update line above and then delete this line to mark that the translation has been fixed": "namespace", + "list-1": "list", + "list-1 - TODO: update line above and then delete this line to mark that the translation has been fixed": "list", + "template-1": "template", + "template-1 - TODO: update line above and then delete this line to mark that the translation has been fixed": "template", + "mosaicoTemplates": "Mosaico Templates", + "campaign-1": "campaign", + "campaign-1 - TODO: update line above and then delete this line to mark that the translation has been fixed": "campaign", + "customForms-2": "custom forms", + "customForms-2 - TODO: update line above and then delete this line to mark that the translation has been fixed": "custom forms", + "report-1": "report", + "report-1 - TODO: update line above and then delete this line to mark that the translation has been fixed": "report", + "reportTemplate-2": "report template", + "reportTemplate-2 - TODO: update line above and then delete this line to mark that the translation has been fixed": "report template", + "sendConfiguration-1": "send configuration", + "sendConfiguration-1 - TODO: update line above and then delete this line to mark that the translation has been fixed": "send configuration", + "sourceTemplateMustNotBeEmpty": "Source template must not be empty", + "sourceTemplateMustNotBeEmpty - TODO: update line above and then delete this line to mark that the translation has been fixed": "Source template must not be empty", + "templateUpdated": "Template updated", + "templateUpdated - TODO: update line above and then delete this line to mark that the translation has been fixed": "Template updated", + "templateCreated": "Template created", + "templateCreated - TODO: update line above and then delete this line to mark that the translation has been fixed": "Template created", + "deletingTemplate": "Deleting template ...", + "templateDeleted": "Template deleted", + "editTemplate": "Edit Template", + "createTemplate": "Create Template", + "cloneFromAnExistingTemplate": "Clonar a partir de templates ya existentes", + "cloneFromAnExistingCustomForms": "Clonar a partir de formularios personalizados ya existentes", + "mosaico": "Mosaico", + "templateContentHtml": "Template content (HTML)", + "mosaicoTemplateDesigner": "Mosaico Template Designer", + "mosaicoTemplateMustBeSelected": "Mosaico template must be selected", + "mosaicoWithPredefinedTemplates": "Mosaico with predefined templates", + "mosaicoTemplate-1": "Mosaico Template", + "grapesJs": "GrapesJS", + "grapesJsTemplateDesigner": "GrapesJS Template Designer", + "ckEditor4": "CKEditor 4", + "ckEditor4TemplateDesigner": "CKEditor 4 Template Designer", + "codeEditor": "Code Editor", + "codeEditorTemplateDesigner": "Code Editor Template Designer", + "mergeTagReference": "Merge tag reference", + "templateContentPlainText": "Template content (plain text)", + "mergeTagsAreTagsThatAreReplacedBefore": "\n <1>Merge tags are tags that are replaced before sending out the message. The format of the merge tag is the following: <1>[TAG_NAME] or <3>[TAG_NAME/fallback] where <5>fallback is an optional text value used when <7>TAG_NAME is empty.\n ", + "youCanUseAnyOfTheStandardMergeTagsBelow": "\n <1>You can use any of the standard merge tags below. In addition to that every custom field has its own merge tag. Check the fields of the list you are going to send to.\n ", + "urlThatPointsToTheUnsubscribePage": "URL that points to the unsubscribe page", + "urlThatPointsToThePreferencesPageOfThe": "URL that points to the preferences page of the subscriber", + "urlToPreviewTheMessageInABrowser": "URL to preview the message in a browser", + "uniqueIdThatIdentifiesTheRecipient": "Unique ID that identifies the recipient", + "uniqueIdThatIdentifiesTheListUsedForThis": "Unique ID that identifies the list used for this campaign", + "uniqueIdThatIdentifiesCurrentCampaign": "Unique ID that identifies current campaign", + "forRssCampaignsTheFollowingFurtherTags": "\n <1>For RSS campaigns, the following further tags can be used.\n ", + "rssEntryTitle": "RSS entry title", + "rssEntryDate": "RSS entry date", + "rssEntryLink": "RSS entry link", + "contentOfAnRssEntry": "Content of an RSS entry", + "rssEntrySummary": "RSS entry summary", + "rssEntryImageUrl": "RSS entry image URL", + "toExtractTheTextFromHtmlClickHerePlease": "To extract the text from HTML click <1>here. Please note that your existing plaintext in the field above will be overwritten. This feature uses the <3>Premailer API, a third party service. Their Terms of Service and Privacy Policy apply.", + "mosaicoTemplateUpdated": "Mosaico template updated", + "mosaicoTemplateUpdated - TODO: update line above and then delete this line to mark that the translation has been fixed": "Mosaico template updated", + "mosaicoTemplateCreated": "Mosaico template created", + "mosaicoTemplateCreated - TODO: update line above and then delete this line to mark that the translation has been fixed": "Mosaico template created", + "deletingMosaicoTemplate": "Deleting Mosaico template ...", + "mosaicoTemplateDeleted": "Mosaico template deleted", + "editMosaicoTemplate": "Edit Mosaico Template", + "createMosaicoTemplate": "Create Mosaico Template", + "invalidMjml": "Invalid MJML", + "invalidMjml - TODO: update line above and then delete this line to mark that the translation has been fixed": "Invalid MJML", + "mjmlIsValid": "MJML is valid.", + "mjmlIsValid - TODO: update line above and then delete this line to mark that the translation has been fixed": "MJML is valid.", + "invalidMjml-1": "Invalid MJML.", + "invalidMjml-1 - TODO: update line above and then delete this line to mark that the translation has been fixed": "Invalid MJML.", + "templateContent": "Template content", + "validate": "Validate", + "validate - TODO: update line above and then delete this line to mark that the translation has been fixed": "Validate", + "blockThumbnails": "Block thumbnails", + "versafixOne": "Versafix One", + "mjmlSample": "MJML Sample", + "mjmlSample - TODO: update line above and then delete this line to mark that the translation has been fixed": "MJML Sample", + "mosaicoTemplateName": "Mosaico Template \"{{name}}\"", + "theseFilesArePubliclyAvailableViaHttpSo-1": "These files are publicly available via HTTP so that they can be linked to from the Mosaico template.", + "theseFilesWillBeUsedByMosaicoToSearchFor": "These files will be used by Mosaico to search for block thumbnails (the \"edres\" directory). Place here one file per block type that you have defined in the Mosaico template. Each file must have the same name as the block id. The file will be used as the thumbnail of the corresponding block.", + "sendConfigurationHasToBeSelected": "Send configuration has to be selected.", + "listHasToBeSelected": "List has to be selected.", + "theUserNameAlreadyExistsInTheSystem": "The user name already exists in the system.", + "userUpdated": "User updated", + "userUpdated - TODO: update line above and then delete this line to mark that the translation has been fixed": "User updated", + "userCreated": "User created", + "userCreated - TODO: update line above and then delete this line to mark that the translation has been fixed": "User created", + "theUsernameIsAlreadyAssignedToAnother": "The username is already assigned to another user.", + "theEmailIsAlreadyAssignedToAnotherUser-1": "The email is already assigned to another user.", + "deletingUser": "Deleting user ...", + "userDeleted": "User deleted", + "editUser": "Edit User", + "createUser": "Create User", + "userName": "User Name", + "repeatPassword": "Repeat Password", + "deleteUser": "Delete User", + "userName-1": "User \"{{name}}\"", + "shares": "Shares", + "subscriptionConfirmed": "Subscription Confirmed", + "listEmailAddressAlreadyRegistered": "{{list}}: Email Address Already Registered", + "listPleaseConfirmEmailChangeIn": "{{list}}: Please Confirm Email Change in Subscription", + "pleaseConfirmSubscription": "Please Confirm Subscription", + "listPleaseConfirmUnsubscription": "{{list}}: Please Confirm Unsubscription", + "listUnsubscriptionConfirmed": "{{list}}: Unsubscription Confirmed", + "invalidEmailAddressEmailMxRecordNotFound": "Invalid email address \"{{email}}\": MX record not found for domain", + "invalidEmailAddressEmailAddressDomainNot": "Invalid email address \"{{email}}\": Address domain not found", + "invalidEmailAddressEmailAddressDomain": "Invalid email address \"{{email}}\": Address domain name is required", + "invalidEmailAddressEmail": "Invalid email address \"{{email}}\"", + "mailerPasswordChangeRequest": "Mailer password change request", + "mailtrain": "Mailtrain", + "emailAddressChanged": "Email address changed", + "emailAddressNotSet": "Email address not set", + "nothingSeemsToBeChanged": "Nothing seems to be changed", + "anEmailWithFurtherInstructionsHasBeen": "An email with further instructions has been sent to the provided address", + "foundAddedMessagesNewCampaignMessages": "Found {{addedMessages}} new campaign messages from feed {{campaignId}}", + "foundNothingNewFromTheFeed": "Found nothing new from the feed", + "missingEmail": "Missing email", + "emailAddress-2": "Email Address", + "wantToChangeIt?": "want to change it?", + "downloadSignatureVerificationKey": "Download signature verification key", + "beginsWithAnd#39BeginPgpPublicKeyBloc": "Begins with '-----BEGIN PGP PUBLIC KEY BLOCK-----'", + "insertYourGpgPublicKeyHereToEncrypt": "Insert your GPG public key here to encrypt messages sent to your address (optional)", + "existingEmailAddress": "Existing Email Address", + "newEmailAddress": "New Email Address", + "youWillReceiveAConfirmationRequestToYour": "You will receive a confirmation request to your new email address that you need to accept before your email is actually changed", + "updateEmailAddress": "Update Email Address", + "updateProfile": "Update Profile", + "subscribeToList": "Subscribe to list", + "thePasswordMustBeAtLeastMinLength": "The password must be at least {{ minLength }} characters long", + "thePasswordMustBeFewerThanMaxLength": "The password must be fewer than {{ maxLength }} characters", + "thePasswordMayNotContainSequencesOfThree": "The password may not contain sequences of three or more repeated characters", + "thePasswordMustContainAtLeastOne": "The password must contain at least one lowercase letter", + "thePasswordMustContainAtLeastOne-1": "The password must contain at least one uppercase letter", + "thePasswordMustContainAtLeastOneNumber": "The password must contain at least one number", + "thePasswordMustContainAtLeastOneSpecial": "The password must contain at least one special character" +} \ No newline at end of file diff --git a/locales/extract.js b/locales/extract.js new file mode 100644 index 00000000..ed5c0a32 --- /dev/null +++ b/locales/extract.js @@ -0,0 +1,442 @@ +'use strict'; + +// Processes statements like these: +// tUI(/*prefix:account*/'account.passwordChangeRequest', language) +// /*prefix:helpers*/Hello {{name}}, you have {{count}} unread message. Go to messages. + +const fs = require('fs'); +const path = require('path'); +const klawSync = require('klaw-sync'); +const acorn = require("acorn"); +const acornJsx = require("acorn-jsx"); +const ellipsize = require('ellipsize'); +const camelCase = require('camelcase'); +const slugify = require('slugify'); +const readline = require('readline'); +const deepKeys = require('deep-keys'); + +const localeMain = 'en-US/common.json'; +const localeMainPrevious = 'en-US-last-run/common.json'; +const localeTranslations = ['es-ES/common.json', 'pt-BR/common.json']; +const searchDirs = [ + '../client/src', + '../server', + '../shared' +]; + +const todoMarker = " - TODO: update line above and then delete this line to mark that the translation has been fixed"; + +const renamedKeys = new Map(); +const keysWithChangedValue = new Set(); +const resDict = {}; +let anyUpdatesToResDict = false; + +const origResDict = JSON.parse(fs.readFileSync(localeMain)); +const prevResDict = JSON.parse(fs.readFileSync(localeMainPrevious)); + + +function findAllVariantsByPrefixInDict(dict, keyPrefix) { + const keyElems = keyPrefix.split('.'); + + for (const keyElem of keyElems.slice(0, -1)) { + if (dict[keyElem]) { + if (typeof dict[keyElem] === 'string') { + return []; + } else { + dict = dict[keyElem]; + } + } else { + return []; + } + } + + const prefix = keyElems[keyElems.length - 1]; + const res = []; + for (const key in dict) { + if (key.startsWith(prefix)) { + res.push(key.substring(prefix.length)); + } + } + + return res; +} + +function findInDict(dict, key) { + const keyElems = key.split('.'); + + for (const keyElem of keyElems.slice(0, -1)) { + if (dict[keyElem]) { + if (typeof dict[keyElem] === 'string') { + return undefined; + } else { + dict = dict[keyElem]; + } + } else { + return undefined; + } + } + + return dict[keyElems[keyElems.length - 1]]; +} + +function setInDict(dict, key, value) { + const keyElems = key.split('.'); + + for (const keyElem of keyElems.slice(0, -1)) { + if (dict[keyElem]) { + if (typeof dict[keyElem] === 'string') { + throw new Error(`Overlapping key ${key}`); + } + } else { + dict[keyElem] = {} + } + + dict = dict[keyElem]; + } + + dict[keyElems[keyElems.length - 1]] = value; +} + +const assignedKeys = new Map(); +function getKeyFromValue(spec, value) { + let key = value.replace(/<\/?[0-9]+>/g, ''); // Remove Trans markup + key = slugify(key, { replacement: ' ', remove: /[\\()"':.,;\/\[\]\{\}*+-]/g, lower: false }); + key = camelCase(key); + key = ellipsize(key, 40, { + chars: [...Array(26)].map((_, i) => String.fromCharCode('A'.charCodeAt(0) + i)) /* This is an array of characters A-Z */, + ellipse: '' + }); + + if (spec.prefix) { + key = spec.prefix + '.' + key; + } + + let idx = 0; + while (true) { + const keyExt = key + (idx ? '-' + idx : '') + if (assignedKeys.has(keyExt)) { + if (assignedKeys.get(keyExt) === value) { + return keyExt; + } + } else { + assignedKeys.set(keyExt, value); + return keyExt; + } + + idx++; + } +} + +function allowedDirOrFile(item) { + const pp = path.parse(item.path) + + return ( + (item.stats.isDirectory() && + pp.base !== 'node_modules' + ) || + (item.stats.isFile() && + ( pp.ext === '.js' || pp.ext === '.jsx' || pp.ext === '.hbs') + ) + ); +} + +function parseSpec(specStr) { + const spec = {}; + + if (specStr) { + const entryMatcher = /([a-zA-Z]*)\s*:\s*(.*)/ + + const entries = specStr.split(/\s*,\s*/); + for (const entry of entries) { + const elems = entry.match(entryMatcher); + if (elems) { + spec[elems[1]] = elems[2]; + } else { + spec[entry] = true; + } + } + } + + return spec; +} + +// see http://blog.stevenlevithan.com/archives/match-quoted-string +const tMatcher = /(^|[ {+(=.\[])((?:tUI|tLog|t|tMark)\s*\(\s*(?:\/\*(.*?)\*\/)?\s*)(["'])((?:(?!\4)[^\\]|\\.)*)(\4)/; +const jsxTransMatcher = /(\/\*(.*?)\*\/\s*)?(\][\s\S]*?\<\/Trans\>)/; +const hbsTranslateMatcher = /(\{\{!--(.*?)--\}\}\s*)?(\{\{#translate\}\})([\s\S]*?)(\{\{\/translate\}\})/; + +const jsxParser = acorn.Parser.extend(acornJsx()); +function parseJsxTrans(fragment) { + const match = fragment.match(jsxTransMatcher); + const spec = parseSpec(match[2]); + const jsxStr = match[3]; + + const jsxStrSmpl = jsxStr.replace('{::', '{ '); // Acorn does not handle bind (::) operator. So we just leave it out because we are not interested in the code anyway. + const ast = jsxParser.parse(jsxStrSmpl); + + function convertChildren(children) { + const entries = []; + let childNo = 0; + + for (const child of children) { + const type = child.type; + + if (type === 'JSXText') { + entries.push(child.value); + childNo++; + + } else if (type === 'JSXElement') { + const inner = convertChildren(child.children); + entries.push(`<${childNo}>${convertChildren(child.children)}`); + childNo++; + + } else if (type === 'JSXExpressionContainer') { + entries.push(jsxStr.substring(child.start, child.end)); + childNo++; + + } else { + throw new Error('Unknown JSX node: ' + child); + } + } + + return entries.join(''); + } + + const expr = ast.body[0].expression; + + let originalKey; + for (const attr of expr.openingElement.attributes) { + const name = attr.name.name; + if (name === 'i18nKey') { + originalKey = attr.value.value; + } + } + + const convValue = convertChildren(expr.children); + + if (originalKey === undefined) { + originalKey = convValue; + } + + let value; + const originalValue = findInDict(origResDict, originalKey); + + if (originalValue === undefined) { + value = convValue; + originalKey = undefined; + } else { + value = originalValue; + } + + const key = getKeyFromValue(spec, value); + + const replacement = `${match[1] || ''}${jsxStr.substring(expr.openingElement.end, expr.closingElement.start)}`; + + return { key, originalKey, value, replacement }; +} + + +function parseHbsTranslate(fragment) { + const match = fragment.match(hbsTranslateMatcher); + const spec = parseSpec(match[2]); + let originalKey = match[4]; + + let value; + const originalValue = findInDict(origResDict, originalKey); + + if (originalValue === undefined) { + value = originalKey; + originalKey = undefined; + } else { + value = originalValue; + } + + const key = getKeyFromValue(spec, value); + + const replacement = `${match[1] || ''}${match[3]}${key}${match[5]}`; + + return { key, originalKey, value, replacement, originalValue }; +} + +function parseT(fragment) { + const match = fragment.match(tMatcher); + + let originalKey = match[5]; + const spec = parseSpec(match[3]); + + if (spec.ignore) { + return null; + } + + let value; + const originalValue = findInDict(origResDict, originalKey); + + if (originalValue === undefined) { + value = originalKey; + originalKey = undefined; + } else { + value = originalValue; + } + + const key = getKeyFromValue(spec, value); + + const replacement = `${match[1]}${match[2]}${match[4]}${key}${match[6]}`; + + return { key, originalKey, value, replacement, originalValue }; +} + + +function processFile(file) { + let source = fs.readFileSync(file, 'utf8'); + let anyUpdates = false; + + function update(fragments, parseFun) { + if (fragments) { + for (const fragment of fragments) { + const parseStruct = parseFun(fragment); + if (parseStruct) { + const {key, originalKey, value, replacement} = parseStruct; + + source = source.split(fragment).join(replacement); + setInDict(resDict, key, value); + + if ( + // If a key is formed from a value (e.g. t('Refresh') ) and and the same time already present in common.json, originalKey is undefined. Therefore the additional test here + (originalKey === undefined && findInDict(origResDict, key) !== value) || + (originalKey !== undefined && findInDict(prevResDict, originalKey) !== value) + ) { + keysWithChangedValue.add(key); + anyUpdates = true; + } + + const variants = originalKey !== undefined ? findAllVariantsByPrefixInDict(origResDict, originalKey + '_') : []; + for (const variant of variants) { + const variantKey = originalKey + '_' + variant; + const variantValue = findInDict(origResDict, variantKey); + const prevVariantValue = findInDict(prevResDict, variantKey); + + setInDict(resDict, key + '_' + variant, variantValue); + + if (prevVariantValue !== variantValue) { + keysWithChangedValue.add(variantKey); + anyUpdates = true; + } + } + + if (originalKey !== undefined && originalKey !== key) { + renamedKeys.set(key, originalKey); + + for (const variant of variants) { + renamedKeys.set(key + '_' + variant, originalKey + '_' + variant); + } + } + + if (originalKey !== key) { + anyUpdates = true; + } + } + } + } + } + + const lines = source.split(/\r?\n/g); + for (const line of lines) { + const fragments = line.match(new RegExp(tMatcher, 'g')); + update(fragments, parseT); + } + + const hbsFragments = source.match(new RegExp(hbsTranslateMatcher, 'g')); + update(hbsFragments, parseHbsTranslate); + + const jsxFragments = source.match(new RegExp(jsxTransMatcher, 'g')); + update(jsxFragments, parseJsxTrans); + + if (anyUpdates) { + console.log(`Updating ${file}`); + fs.writeFileSync(file, source); + + anyUpdatesToResDict = true; + } +} + + +function run() { + for (const dir of searchDirs) { + const files = klawSync(dir, { nodir: true, filter: allowedDirOrFile }); + + for (const file of files) { + processFile(file.path); + } + } + + if (anyUpdatesToResDict) { + console.log(`Updating ${localeMain}`); + fs.writeFileSync(localeMain, JSON.stringify(resDict, null, 2)); + + console.log(`Updating ${localeMainPrevious}`); + fs.writeFileSync(localeMainPrevious, JSON.stringify(resDict, null, 2)); + } + + const mainKeys = deepKeys(resDict); + + for (const localeTranslation of localeTranslations) { + const origTransResDict = JSON.parse(fs.readFileSync(localeTranslation)); + + const origTransKeys = deepKeys(origTransResDict); + let isEq = origTransKeys.length === mainKeys.size; + if (isEq) { + for (const origKey in origTransKeys) { + if (!mainKeys.has(origKey)) { + isEq = false; + break; + } + } + } + + if (!isEq || anyUpdatesToResDict) { + console.log(`Updating ${localeTranslation}`); + + const transResDict = {}; + + for (const key of mainKeys) { + let origKey = key; + + if (renamedKeys.has(key)) { + origKey = renamedKeys.get(key); + } + + const origValue = findInDict(origTransResDict, origKey); + const origTodoValue = findInDict(origTransResDict, origKey + todoMarker); + const prevMainValue = findInDict(prevResDict, origKey); + const mainValue = findInDict(resDict, key); + const isChanged = keysWithChangedValue.has(key); + + if (origValue === undefined || (isChanged && prevMainValue === origValue)) { + setInDict(transResDict, key, mainValue); + } else { + setInDict(transResDict, key, origValue); + } + + if (isChanged || origValue === undefined || origTodoValue !== undefined) { + setInDict(transResDict, key + todoMarker, mainValue); + } + } + + fs.writeFileSync(localeTranslation, JSON.stringify(transResDict, null, 2)); + } + } +} + +const rl = readline.createInterface({ + input: process.stdin, + output: process.stdout +}); + +console.log('This script does modifications in the source tree. You should first commit all your files in git before proceeding.'); +rl.question('To proceed type YES: ', (answer) => { + if (answer === 'YES') { + run(); + } + + rl.close(); +}); diff --git a/locales/package-lock.json b/locales/package-lock.json new file mode 100644 index 00000000..05058bbe --- /dev/null +++ b/locales/package-lock.json @@ -0,0 +1,79 @@ +{ + "name": "mailtrain-locales-extractor", + "version": "2.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "acorn": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.1.1.tgz", + "integrity": "sha512-jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA==" + }, + "acorn-jsx": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.0.1.tgz", + "integrity": "sha512-HJ7CfNHrfJLlNTzIEUTj43LNWGkqpRLxm3YjAlcD0ACydk9XynzYsCBHxut+iqt+1aBXkx9UP/w/ZqMr13XIzg==" + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" + }, + "deep-keys": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/deep-keys/-/deep-keys-0.5.0.tgz", + "integrity": "sha1-LmGZkMWFmTx9Uiy4Wy9prGdWRI4=" + }, + "ellipsize": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/ellipsize/-/ellipsize-0.1.0.tgz", + "integrity": "sha1-nUNoLUS5GtFuvYQmisEDFwplU/g=" + }, + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=" + }, + "fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "graceful-fs": { + "version": "4.1.15", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", + "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==" + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "klaw-sync": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/klaw-sync/-/klaw-sync-6.0.0.tgz", + "integrity": "sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ==", + "requires": { + "graceful-fs": "^4.1.11" + } + }, + "slugify": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.3.4.tgz", + "integrity": "sha512-KP0ZYk5hJNBS8/eIjGkFDCzGQIoZ1mnfQRYS5WM3273z+fxGWXeN0fkwf2ebEweydv9tioZIHGZKoF21U07/nw==" + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" + } + } +} diff --git a/locales/package.json b/locales/package.json new file mode 100644 index 00000000..42959f18 --- /dev/null +++ b/locales/package.json @@ -0,0 +1,23 @@ +{ + "name": "mailtrain-locales-extractor", + "private": true, + "version": "2.0.0", + "description": "Extractor for t-functions in the code (client and server)", + "main": "extract.js", + "scripts": {}, + "license": "GPL-3.0", + "homepage": "https://mailtrain.org/", + "engines": { + "node": ">=10.0.0" + }, + "dependencies": { + "acorn": "^6.0.4", + "acorn-jsx": "^5.0.0", + "camelcase": "^5.0.0", + "deep-keys": "^0.5.0", + "ellipsize": "^0.1.0", + "fast-deep-equal": "^2.0.1", + "klaw-sync": "^6.0.0", + "slugify": "^1.3.3" + } +} diff --git a/locales/pt-BR/common.json b/locales/pt-BR/common.json new file mode 100644 index 00000000..43da6868 --- /dev/null +++ b/locales/pt-BR/common.json @@ -0,0 +1,1110 @@ +{ + "emailMustNotBeEmpty": "O email não pode estar vazio.", + "invalidEmailAddress": "Endereço de e-mail inválido", + "theEmailIsAlreadyAssociatedWithAnother": "O email já está associado a outro usuário no sistema.", + "validationIsInProgress": "A validação está em andamento ...", + "fullNameMustNotBeEmpty": "O nome completo não pode estar vazio", + "currentPasswordMustNotBeEmpty": "A senha atual não pode estar vazia.", + "incorrectPassword": "Senha incorreta.", + "passwordsMustMatch": "As senhas devem ser iguais", + "updatingUserProfile": "Atualizando o perfil do usuário ...", + "userProfileUpdated": "Perfil do usuário atualizado", + "thereAreErrorsInTheFormPleaseFixThemAnd": "Há erros no formulário. Corrija-os e envie-os novamente.", + "yourUpdatesCannotBeSaved": "Suas atualizações não podem ser salvas.", + "thePasswordIsIncorrectPossiblyJust": "A senha está incorreta (possivelmente apenas alterada em outra janela / sessão). Digite a senha correta e tente novamente.", + "theEmailIsAlreadyAssignedToAnotherUser": "O email já está atribuído a outro usuário. Digite outro email e tente novamente.", + "account": "Conta", + "generalSettings": "Configurações gerais", + "fullName": "Nome Completo", + "email": "Email", + "thisAddressIsUsedForAccountRecoveryIn": "Este endereço é usado para recuperação de conta no caso de você perder sua senha", + "passwordChange": "Alteração de Senha", + "youOnlyNeedToFillOutThisFormIfYouWantTo": "Preencha este formulário para alterar sua senha atual", + "currentPassword": "Senha atual", + "newPassword": "Nova senha", + "confirmPassword": "Confirmar senha", + "update": "Atualizar", + "accountManagementIsNotPossibleBecause": "O gerenciamento de conta não é possível porque o Mailtrain está configurado para usar usuários gerenciados externamente.", + "ifYouWantToChangeThePasswordUseThisLink": "Se você quiser alterar a senha, use <1> este link .", + "personalAccessToken": "token de acesso pessoal", + "accessTokenNotYetGenerated": "Token de acesso ainda não gerado", + "api": "API", + "resetAccessToken": "Redefinir Token de Acesso", + "generateAccessToken": "Gerar Token de Acesso", + "notesAboutTheApi": "Notas sobre a API", + "addSubscription": "Adicionar assinatura", + "thisApiCallEitherInsertsANewSubscription": "Esta chamada da API insere uma nova subscrição ou atualiza a existente. Os campos não incluídos são mantidos como estão, por isso, se atualizar apenas o valor LAST_NAME, FIRST_NAME é mantido inalterado para uma subscrição existente.", + "arguments": "argumentos", + "yourPersonalAccessToken": "seu token de acesso pessoal", + "subscribersEmailAddress": "endereço de e-mail do assinante", + "required": "obrigatório", + "subscribersFirstName": "primeiro nome do assinante", + "subscribersLastName": "sobrenome do assinante", + "subscribersTimezoneEgEuropeTallinnPstOr": "Fuso horário do assinante (por exemplo, \"Europe/Tallinn\", \"PST\"ou \"UTC\"). Se não for definido será considerado \"UTC\"", + "customFieldValueUseYesnoForOptionGroup": "valor do campo personalizado. Use sim/não para valores de grupos de opções (caixas de seleção, rádios, menus suspensos)", + "additionalPostArguments": "Argumentos adicionais do POST", + "setToYesIfYouWantToMakeSureTheEmailIs": "escolha \"sim\"se você quiser ter certeza de que o e-mail está marcado como inscrito, mesmo que tenha sido marcado como não associado. Se o e-mail já tiver sido cancelado / bloqueado, o status da assinatura não será alterado", + "setToYesIfYouWantToSendConfirmationEmail": "escolha \"sim\"se você quiser enviar um email de confirmação para o assinante antes de realmente inscrevê-lo", + "example": "Exemplo", + "removeSubscription": "Remover inscrição", + "thisApiCallMarksASubscriptionAs": "Esta chamada da API marca uma assinatura como não assinada", + "deleteSubscription": "Deletar assinatura", + "thisApiCallDeletesASubscription": "Esta chamada da API apaga uma assinatura", + "addNewCustomField": "Adicionar novo campo personalizado", + "thisApiCallCreatesANewCustomFieldForA": "Esta chamada da API cria um novo campo personalizado para uma lista.", + "fieldName": "nome do campo", + "oneOfTheFollowingTypes": "um dos seguintes tipos:", + "ifTheTypeIsOptionThenYouAlsoNeedTo": "Se o tipo for 'opção', você também precisará especificar o ID do elemento pai", + "templateForTheGroupElementIfNotSetThen": "Modelo para o elemento de grupo. Se não definido, os valores dos elementos são unidos com vírgulas", + "ifNotVisibleThenTheSubscriberCanNotView": "se não for visível, o assinante não poderá visualizar ou modificar esse valor na página de perfil", + "getListOfBlacklistedEmails": "Obter lista de emails na lista negra", + "thisApiCallGetListOfBlacklistedEmails": "Esta chamada da API obtém uma lista de emails na lista negra.", + "startPosition": "Posição inicial", + "optionalDefault0": "opcional, padrão 0", + "limitEmailsCountInResponse": "limitar contagem de emails em resposta", + "optionalDefault10000": "opcional, padrão 10000", + "filterByPartOfEmail": "filtrar por parte do email", + "optionalDefault": "opcional, padrão \"\"", + "addEmailToBlacklist": "Adicionar email à lista negra", + "thisApiCallEitherAddEmailsToBlacklist": "Esta chamada da API quer adicionar emails à lista negra", + "emailAddress": "endereço de email", + "deleteEmailFromBlacklist": "Excluir email da lista negra", + "thisApiCallEitherDeleteEmailsFrom": "Esta API pode excluir e-mails da lista negra", + "getTheListsAUserHasSubscribedTo": "Obter as listas em que um usuário se inscreveu", + "retrieveTheListsThatTheUserWithEmailHas": "Recupere as listas com as quais o usuário: email se inscreveu.", + "triggerFetchOfACampaign": "Trigger fetch of a campaign", + "triggerFetchOfACampaign - TODO: update line above and then delete this line to mark that the translation has been fixed": "Trigger fetch of a campaign", + "forcesTheRssFeedCheckToImmediatelyCheck": "Forces the RSS feed check to immediately check the campaign with the given CID (in :campaignCid). It works only for RSS campaigns.", + "forcesTheRssFeedCheckToImmediatelyCheck - TODO: update line above and then delete this line to mark that the translation has been fixed": "Forces the RSS feed check to immediately check the campaign with the given CID (in :campaignCid). It works only for RSS campaigns.", + "sendTransactionalEmail": "Enviar email transacional", + "sendSingleEmailByTemplateWithGiven": "Enviar modelo único por: templateId", + "sendSingleEmailByTemplateWithGiven - TODO: update line above and then delete this line to mark that the translation has been fixed": "Send single email by template with given templateId", + "idOfConfigurationUsedToCreateMailer": "ID da configuração usada para criar a instância do mailer", + "subject": "Assunto", + "dataPassedToTemplateWhenCompilingWith": "Dados passados para o modelo ao compilar com o Handlebars", + "mapOfTemplatesubjectVariablesToReplace": "Mapa de variáveis template / subject a substituir", + "apiResponseIsAJsonStructureWithErrorAnd": "Resposta da API é uma estrutura JSON com <1> erro e <3> dados . Se a resposta <5> erro tiver um valor definido, a solicitação falhou ", + "youNeedToDefineProperContentTypeWhen": "Você precisa definir o <1> Content-Type adequado ao fazer uma solicitação. Você pode usar <3> application / x-www-form-urlencoded para dados normais de formulário ou <5> application / json para uma carga útil JSON. O uso de <7>multipart/form-data não é suportado. ", + "emailMustNotBeEmpty-1": "O email não pode estar vazio", + "theEmailIsAlreadyOnBlacklist": "O email já está na lista negra.", + "saving": "Salvando ...", + "thereAreErrorsInTheFormPleaseFixThemAnd-1": "Existem erros no formulário. Corrija-os e tente novamente.", + "removeFromBlacklist": "Remover da lista negra", + "confirmRemovalFromBlacklist": "Confirmar remoção da lista negra", + "areYouSureYouWantToRemoveEmailFromThe": "Tem certeza de que deseja remover {{email}} da lista negra?", + "removingEmailFromTheBlacklist": "Removendo {{email}} da lista negra", + "emailRemovedFromTheBlacklist": "{{email}} removido da lista negra", + "blacklist": "Lista negra", + "addEmailToBlacklist-1": "Adicionar email à lista negra", + "addToBlacklist": "Adicionar à lista negra", + "blacklistedEmails": "Emails na Lista Negra", + "campaignUpdated": "Campaign updated", + "campaignUpdated - TODO: update line above and then delete this line to mark that the translation has been fixed": "Campaign updated", + "editCustomContent": "Editar conteúdo personalizado", + "customTemplateEditor": "Editor de modelos personalizados", + "save": "Salvar", + "saveAndLeave": "Salvar e sair", + "saveAndLeave - TODO: update line above and then delete this line to mark that the translation has been fixed": "Save and leave", + "copy": "Copia", + "copy - TODO: update line above and then delete this line to mark that the translation has been fixed": "Copy", + "saveAndGoToStatus": "Save and go to status", + "saveAndGoToStatus - TODO: update line above and then delete this line to mark that the translation has been fixed": "Save and go to status", + "testSend": "Testar envio", + "createRegularCampaign": "Criar Campanha Regular", + "createRssCampaign": "Criar campanha de RSS", + "createTriggeredCampaign": "Criar campanha acionada", + "editRegularCampaign": "Editar campanha regular", + "editRssCampaign": "Editar Campanha RSS", + "editTriggeredCampaign": "Editar campanha acionada", + "template": "Modelo", + "template_plural": "Modelos", + "customContentClonedFromTemplate": "Conteúdo customizado clonado do template", + "customContentClonedFromAnotherCampaign": "Conteúdo personalizado clonado de outra campanha", + "customContent": "Conteúdo personalizado", + "url": "URL", + "nameMustNotBeEmpty": "O nome não pode estar vazio", + "sendConfigurationMustBeSelected": "A configuração de envio deve ser selecionada", + "fromEmailMustNotBeEmpty": "Email \"De\"não pode estar vazio", + "templateMustBeSelected": "Modelo deve ser selecionado", + "campaignMustBeSelected": "A campanha deve ser selecionada", + "typeMustBeSelected": "O tipo deve ser selecionado", + "urlMustNotBeEmpty": "O URL não pode estar vazio", + "rssFeedUrlMustBeGiven": "O URL do feed RSS deve ser fornecido", + "listMustBeSelected": "Lista deve ser selecionada", + "segmentMustBeSelected": "O segmento deve ser selecionado", + "campaignCreated": "Campaign created", + "campaignCreated - TODO: update line above and then delete this line to mark that the translation has been fixed": "Campaign created", + "rssFeedUrl": "URL do feed RSS", + "name": "Nome", + "id": "Id", + "subscribers": "Assinantes", + "description": "Descrição", + "namespace": "Ambiente", + "namespace_plural": "Ambientes", + "remove": "Remover", + "insertNewEntryBeforeThisOne": "Inserir nova entrada antes desta", + "moveUp": "Mover para cima", + "moveDown": "Mover para baixo", + "list": "Lista", + "list_plural": "Listas", + "segment": "Segmento", + "useAParticularSegment": "Use um segmento em particular", + "lists": "Listas", + "addList": "Adicionar lista", + "type": "Tipo", + "created": "Criado", + "override": "Substituir", + "fromName": "Nome \"De\"", + "fromEmailAddress": "Endereço de e-mail \"De\"", + "replytoEmailAddress": "Endereço \"Responder-para\"", + "subjectLine": "Linha \"Assunto\"", + "loadingSendConfiguration": "Carregando configuração de envio ...", + "contentSource": "Fonte de conteúdo", + "selectingATemplateCreatesACampaign": "A seleção de um modelo cria uma cópia específica da campanha a partir dele", + "campaign": "Campanha", + "campaign_plural": "Campanhas", + "contentOfTheSelectedCampaignWillBeCopied": "O conteúdo da campanha selecionada será copiado para esta campanha.", + "renderUrl": "URL de renderização", + "ifAMessageIsSentThenThisUrlWillBePosTed": "Se uma mensagem for enviada, esta URL será colocada em POST usando o título Mesclar tags como POST. Use isto se você quiser gerar a mensagem HTML você mesmo.", + "deletingCampaign": "Excluindo campanha ...", + "campaignDeleted": "Campanha excluída", + "formCannotBeEditedBecauseTheCampaignIs": "O formulário não pode ser editado porque a campanha está sendo enviada. Aguarde até que o envio termine e atualize.", + "thisIsTheCampaignIdDisplayedToThe": "Este é o ID da campanha exibido para os assinantes", + "sendSettings": "Configurações de envio", + "sendConfiguration": "Configuração de envio", + "sendConfiguration_plural": "Configurações de envio", + "customUnsubscribeUrl": "URL personalizada de cancelamento de assinatura", + "tracking": "Tracking", + "tracking - TODO: update line above and then delete this line to mark that the translation has been fixed": "Tracking", + "disableOpenedTracking": "Desativar rastreamento de abertura", + "disableClickedTracking": "Desativar rastreamento de clique", + "saveAndEditContent": "Salvar e editar conteúdo", + "delete": "Deletar", + "regular": "Regular", + "triggered": "Triggered", + "rss": "RSS", + "idle": "Parado", + "scheduled": "Agendado", + "paused": "Pausado", + "finished": "Concluído", + "inactive": "Inativo", + "active": "Ativo", + "sending": "Enviando", + "status": "Status", + "sendingScheduled": "Envio programado", + "statistics": "Estatísticas", + "edit": "Editar", + "content": "Conteúdo", + "files": "Arquivos", + "attachments": "Anexos", + "triggers": "Triggers", + "share": "Compartilhar", + "createCampaign": "Criar campanha", + "campaigns": "Campanhas", + "countries": "Países", + "devices": "Dispositivos", + "campaignName": "Campanha \"{{name}}\"", + "delivered": "Entregue", + "deliveredEmails": "Emails Entregues", + "complained": "Reclamou", + "subscribersThatComplained": "Assinantes que reclamaram", + "bounced": "Retornou", + "emailsThatBounced": "Emails que foram devolvidos", + "unsubscribed": "Cancelou assinatura", + "subscribersThatUnsubscribed": "Inscritos que se desinscreveram", + "opened": "Aberto", + "clicks": "Cliques", + "theseFilesArePubliclyAvailableViaHttpSo": "Esses arquivos estão disponíveis publicamente via HTTP para que possam ser vinculados a partir do conteúdo da campanha.", + "theseFilesWillBeAttachedToTheCampaign": "Esses arquivos serão anexados aos emails da campanha como anexos adequados. Isso significa que eles contam para o tamanho eventual do email.", + "triggerName": "Trigger \"{{name}}\"", + "create": "Criar", + "campaignStatistics": "Estatísticas da campanha", + "total": "Total", + "blacklisted": "lista negra", + "complaints": "Reclamações", + "clicked": "Clicado", + "quickReports": "Quick Reports", + "quickReports - TODO: update line above and then delete this line to mark that the translation has been fixed": "Quick Reports", + "belowYouCanDownloadPremadeReportsRelated": "Below, you can download pre-made reports related to this campaign. Each link generates a CSV file that can be viewed in a spreadsheet editor. Custom reports and reports that cover more than one campaign can be created through <1>Reports functionality of Mailtrain.", + "belowYouCanDownloadPremadeReportsRelated - TODO: update line above and then delete this line to mark that the translation has been fixed": "Below, you can download pre-made reports related to this campaign. Each link generates a CSV file that can be viewed in a spreadsheet editor. Custom reports and reports that cover more than one campaign can be created through <1>Reports functionality of Mailtrain.", + "uniqueVisitors": "visitantes únicos", + "totalClicks": "Cliques totais", + "campaignLinks": "links da campanha", + "subscriptionId": "Subscription ID", + "listId": "ID da lista", + "listNamespace": "Listar ambiente", + "opensCount": "Abre a contagem", + "desktop": "Desktop", + "tv": "TV", + "tablet": "Tablet", + "phone": "Telefone", + "bot": "Bot", + "car": "Carro", + "console": "Console", + "distributionByDeviceType": "Distribuição por tipo de dispositivo", + "loadingChart": "Carregando gráfico", + "deviceType": "tipo de dispositivo", + "count": "Contagem", + "unknown": "Desconhecido", + "distributionByCountry": "Distribuição por país", + "country": "País", + "detailedStatistics": "Estatísticas detalhadas", + "listOfSubscribersThatOpenedTheCampaign": "Lista de inscritos que abriram a campanha", + "subscriptionHasToBeSelectedToShowThe": "A assinatura deve ser selecionada para mostrar a campanha para um usuário de teste.", + "previewCampaignAs": "Visualizar campanha como", + "preview": "Prever", + "dateMustNotBeEmpty": "A data não pode estar vazia", + "dateIsInvalid": "A data é inválida", + "timeMustNotBeEmpty": "O horário não deve estar vazio", + "timeIsInvalid": "O tempo é inválido", + "confirmLaunch": "Confirmar lançamento", + "doYouWantToLaunchTheCampaign?": "Você quer lançar a campanha?", + "confirmReset": "Confirmar redefinição", + "doYouWantToResetTheCampaign?All": "Deseja redefinir a campanha? Todas as estatísticas e o rastreio das mensagens entregues serão perdidos.", + "no": "Não", + "yes": "Sim", + "subscribers-1": "assinantes", + "sendStatus": "Status do envio", + "campaignIsScheduledForDelivery": "A campanha está agendada para entrega", + "campaignIsReadyToBeSentOut": "A campanha está pronta para ser enviada.", + "sendLater": "Enviar mais tarde", + "scheduleDeliveryAtAParticularDatetime": "Programar entrega em uma data / hora específica", + "date": "Data", + "time": "Hora", + "enter24HourTimeInFormatHhmmEg1348": "Insira o horário de 24 horas no formato HH:MM (por exemplo, 13:48)", + "rescheduleSend": "Reagendar envio", + "scheduleSend": "Agendar envio", + "send": "Enviar", + "viewStatistics": "Visualizar estatísticas", + "campaignIsBeingSentOut": "Campanha está sendo enviada", + "stop": "Parar", + "allMessagesSent!HitContinueIfYouYouWant": "Todas as mensagens enviadas! Pressione \"Continuar\"se você quiser enviar esta campanha para novos assinantes.", + "continue": "Continuar", + "reset": "Resetar", + "yourCampaignIsCurrentlyDisabledClick": "Sua campanha está desativada no momento. Clique no botão Ativar para começar a ativá-la.", + "enable": "Ativar", + "yourCampaignIsEnabledAndSendingMessages": "Sua campanha está ativada e enviando mensagens.", + "disable": "Desativar", + "campaignStatus": "Status da campanha", + "targetListssegments": "Listas/segmentos de destino", + "ifANewEntryIsFoundFromCampaignFeedANew": "Se uma nova entrada for encontrada no feed da campanha, uma nova subcampaign será criada e essa entrada será listada aqui", + "sendingTestEmail": "Enviando e-mail de teste", + "subscriptionHasToBeSelected": "Assinatura deve ser selecionada.", + "sendTestEmail": "Enviar e-mail de teste", + "cancel": "Cancelar", + "subscription": "Assinatura", + "valuesMustNotBeEmpty": "Os valores não devem estar vazios", + "valueMustBeANonnegativeNumber": "O valor deve ser um número não negativo", + "sourceCampaignMustNotBeEmpty": "A campanha de origem não pode estar vazia", + "triggerUpdated": "Trigger updated", + "triggerUpdated - TODO: update line above and then delete this line to mark that the translation has been fixed": "Trigger updated", + "triggerCreated": "Trigger created", + "triggerCreated - TODO: update line above and then delete this line to mark that the translation has been fixed": "Trigger created", + "deletingTrigger": "Excluindo o gatilho ...", + "triggerDeleted": "Trigger deleted", + "editTrigger": "Edit Trigger", + "createTrigger": "Criar Trigger", + "entity": "Entidade", + "selectTheTypeOfTheTriggerRule": "Selecione o tipo da regra de gatilho.", + "triggerFires": "Disparo dispara", + "event": "Evento", + "selectTheEventThatTriggersSendingThe": "Selecione o evento que dispara o envio da campanha.", + "enabled": "Ativado", + "latestOpen": "Últimas abertas", + "latestClick": "Último clique", + "notOpened": "não aberto", + "notClicked": "não clicado", + "daysAfter": "Days after", + "welcomeToMailtrain": "Bem-vindo ao Mailtrain ...", + "close": "Close", + "countFileAdded": "{{count}} arquivo adicionado", + "countFileAdded_plural": "{{count}} arquivos adicionados", + "countFileReplaced": "{{count}} arquivo substituído", + "countFileReplaced_plural": "{{count}} arquivos de substituídos", + "countFileIgnored": "{{count}} arquivo ignorado", + "countFileIgnored_plural": "{{count}} arquivos ignorados", + "countFileUploaded": "{{count}} arquivo enviado", + "countFileUploaded_plural": "{{count}} arquivos enviados", + "uploadingCountFile": "Enviando o arquivo {{count}}", + "uploadingCountFile_plural": "Fazendo upload de {{count}} arquivos", + "fileUploadFailed": "Falha no upload do arquivo:", + "noFilesToUpload": "Não há arquivos para upload", + "deletingFile": "Excluindo arquivo ...", + "fileDeleted": "Arquivo excluído", + "deleteFileFailed": "Excluir arquivo falhou:", + "size": "Tamanho", + "download": "Download", + "confirmFileDeletion": "Confirmar exclusão de arquivo", + "areYouSureYouWantToDeleteTheFile?": "Tem certeza de que deseja excluir o arquivo?", + "dropCountFile": "Soltar o arquivo {{count}}", + "dropCountFile_plural": "Soltar arquivos {{count}}", + "dropFilesHere": "Soltar arquivos aqui", + "loading": "Carregando ...", + "openCalendar": "Abrir calendário", + "select": "Selecionar", + "someoneElseHasIntroducedModificationIn": "Alguém fez alterações durante a sua edição. Atualize a página para começar de novo com os dados atualizados. Suas alteraçoes serão perdidas.", + "itSeemsThatSomeoneElseHasDeletedThe": "Parece que alguém excluiu o espaço de nomes de destino enquanto isso. Atualize sua página para começar de novo com novos dados. Observe que suas alterações serão perdidas.", + "itSeemsThatSomeoneElseHasDeletedThe-1": "Parece que alguém apagou a entidade enquanto isso.", + "customForms": "Formulários personalizados", + "report": "Relatório", + "report_plural": "Relatórios", + "reportTemplate": "Modelo de relatório", + "reportTemplate_plural": "Modelos de relatório", + "mosaicoTemplate": "Modelo Mosaico", + "mosaicoTemplate_plural": "Modelos Mosaico", + "cannoteDeleteNameDueToTheFollowing": "Não foi possível excluir \"{{name}}\" devido às seguintes dependências:", + "andMore": "... e mais", + "confirmDeletion": "Confirmar exclusão", + "areYouSureYouWantToDeleteName?": "Tem certeza de que deseja excluir \"{{name}}\"?", + "namespaceMustBeSelected": "O ambiente deve ser selecionado", + "sourceOnGitHub": "Fonte no GitHub", + "sendTestEmail-1": "Send test e-mail", + "sendTestEmail-1 - TODO: update line above and then delete this line to mark that the translation has been fixed": "Send test e-mail", + "showHtml": "Show HTML", + "showHtml - TODO: update line above and then delete this line to mark that the translation has been fixed": "Show HTML", + "maximizeEditor": "Maximize editor", + "maximizeEditor - TODO: update line above and then delete this line to mark that the translation has been fixed": "Maximize editor", + "mjml": "MJML", + "html": "HTML", + "disableWordWrap": "Disable word wrap", + "disableWordWrap - TODO: update line above and then delete this line to mark that the translation has been fixed": "Disable word wrap", + "enableWordWrap": "Enable word wrap", + "enableWordWrap - TODO: update line above and then delete this line to mark that the translation has been fixed": "Enable word wrap", + "hidePreview": "Hide preview", + "hidePreview - TODO: update line above and then delete this line to mark that the translation has been fixed": "Hide preview", + "showPreview": "Show preview", + "showPreview - TODO: update line above and then delete this line to mark that the translation has been fixed": "Show preview", + "showMjml": "Show MJML", + "showMjml - TODO: update line above and then delete this line to mark that the translation has been fixed": "Show MJML", + "countEntriesSelected": "{{count}} entradas selecionadas.", + "customFormMustBeSelected": "Formulário personalizado deve ser selecionado", + "listUpdated": "List updated", + "listUpdated - TODO: update line above and then delete this line to mark that the translation has been fixed": "List updated", + "listCreated": "List created", + "listCreated - TODO: update line above and then delete this line to mark that the translation has been fixed": "List created", + "onestepIeNoEmailWithConfirmationLink": "Um passo (ou seja, nenhum email com o link de confirmação)", + "onestepWithUnsubscriptionFormIeNoEmail": "Um passo com o formulário de cancelamento de inscrição (ou seja, nenhum email com o link de confirmação)", + "twostepIeAnEmailWithConfirmationLinkWill": "Dois passos (ou seja, um email com o link de confirmação será enviado)", + "twostepWithUnsubscriptionFormIeAnEmail": "Dois passos com o formulário de cancelamento de inscrição (ou seja, um email com o link de confirmação será enviado)", + "manualIeUnsubscriptionHasToBePerformedBy": "Manual (ou seja, a desinscrição tem que ser executada pelo administrador da lista)", + "defaultMailtrainForms": "Default Mailtrain Forms", + "customFormsSelectFormBelow": "Formulários personalizados (selecione o formulário abaixo)", + "recipientsNameTemplate": "Modelo de nome dos recipientes", + "specifyUsingMergeTagsOfThisListHowTo": "Especifique o uso de tags de mesclagem desta lista como construir o nome completo do destinatário. Este nome completo é usado como cabeçalho \"Para\"ao enviar emails.", + "emptyCustomNoFields": "Empty / Custom (no fields)", + "emptyCustomNoFields - TODO: update line above and then delete this line to mark that the translation has been fixed": "Empty / Custom (no fields)", + "nameOneField": "Name (one field)", + "nameOneField - TODO: update line above and then delete this line to mark that the translation has been fixed": "Name (one field)", + "firstNameAndLastNameTwoFields": "First name and Last name (two fields)", + "firstNameAndLastNameTwoFields - TODO: update line above and then delete this line to mark that the translation has been fixed": "First name and Last name (two fields)", + "representationOfSubscribersName": "Representation of subscriber's name", + "representationOfSubscribersName - TODO: update line above and then delete this line to mark that the translation has been fixed": "Representation of subscriber's name", + "selectHowTheNameOfASubscriberWillBe": "Select how the name of a subscriber will be represented. The fields in list will be created accordingly. You can always adjust the choice later by editing the list fields. If you select \"Empty / Custom\", provide a template below in \"Recipients name template\" that will be used as subscriber's name as it will appear in the emails' \"To\" field.", + "selectHowTheNameOfASubscriberWillBe - TODO: update line above and then delete this line to mark that the translation has been fixed": "Select how the name of a subscriber will be represented. The fields in list will be created accordingly. You can always adjust the choice later by editing the list fields. If you select \"Empty / Custom\", provide a template below in \"Recipients name template\" that will be used as subscriber's name as it will appear in the emails' \"To\" field.", + "deletingList": "Excluindo lista ...", + "listDeleted": "Lista excluída", + "editList": "Editar lista", + "createList": "Criar lista", + "thisIsTheListIdDisplayedToTheSubscribers": "Este é o ID da lista exibido para os assinantes", + "contactEmail": "Email de remetente", + "contactEmailUsedInSubscriptionFormsAnd": "E-mail de contato usado em formulários de inscrição e e-mails enviados. Se não for preenchido, o e-mail admin das configurações globais será usado.", + "homepage": "Página inicial", + "homepageUrlUsedInSubscriptionFormsAnd": "URL da página inicial usada nos formulários de inscrição e nos e-mails enviados. Se não forem preenchidos, a página inicial padrão das configurações globais será usada.", + "sendConfigurationThatWillBeUsedFor": "Configuração de envio que será usada para enviar e-mails relacionados à assinatura.", + "forms": "Formulários", + "webAndEmailFormsAndTemplatesUsedIn": "Formulários e modelos de Web e email usados no processo de gerenciamento de assinaturas", + "allowPublicUsersToSubscribeThemselves": "Permitir que usuários públicos se inscrevam", + "unsubscription": "Cancelamento de assinatura", + "selectHowAnUnsuscriptionRequestBy": "Selecione como um pedido de cancelamento por assinante é tratado.", + "unsubscribeHeader": "Cabeçalho de cancelamento de inscrição", + "doNotSendListUnsubscribeHeaders": "Não enviar cabeçalhos List-Unsubscribe", + "theCustomFormUsedForThisListYouCanCreate": "O formulário personalizado usado para esta lista. Você pode criar um formulário <1> aqui .", + "mergeTagIsInvalidMayMustBeUppercaseAnd": "A marcação de mesclagem é inválida. A senha deve ser maiúscula e conter apenas caracteres A-Z, 0-9, _. Ela deve começar com uma letra.", + "anotherFieldWithTheSameMergeTagExists": "Outro campo com a mesma tag de mesclagem existe. Por favor, escolha outra tag de mesclagem.", + "groupHasToBeSelected": "O grupo deve ser selecionado", + "defaultValueIsNotIntegerNumber": "O valor padrão não é um número inteiro", + "defaultValueIsNotAProperlyFormattedDate": "O valor padrão não é uma data formatada corretamente", + "defaultValueIsNotAProperlyFormatted": "O valor padrão não é uma data de aniversário formatada corretamente", + "defaultValueIsNotOneOfTheAllowedOptions": "O valor padrão não é uma das opções permitidas", + "errrorOnLineLine": "Errror on line {{line}}", + "fieldUpdated": "Field updated", + "fieldUpdated - TODO: update line above and then delete this line to mark that the translation has been fixed": "Field updated", + "fieldCreated": "Field created", + "fieldCreated - TODO: update line above and then delete this line to mark that the translation has been fixed": "Field created", + "notVisible": "Not visible", + "endOfList": "Fim da lista", + "fieldSettings": "Field settings", + "defaultValue": "Valor padrão", + "defaultValueUsedWhenTheFieldIsEmpty": "Valor padrão usado quando o campo está vazio.", + "options": "Opções", + "dateFormat": "Formato de data", + "mmddyyyy": "MM / DD / AAAA", + "ddmmyyyy": "DD / MM / AAAA", + "mmdd": "MM / DD", + "ddmm": "DD / MM", + "mergeTag": "Merge Tag", + "group": "Group", + "belongsToCheckboxDropdownRadioGroup": "Belongs to checkbox / dropdown / radio group", + "belongsToCheckboxDropdownRadioGroup - TODO: update line above and then delete this line to mark that the translation has been fixed": "Belongs to checkbox / dropdown / radio group", + "containingGroup": "Containing group", + "containingGroup - TODO: update line above and then delete this line to mark that the translation has been fixed": "Containing group", + "selectGroupToWhichTheOptionsShouldBelong": "Selecione o grupo ao qual as opções devem pertencer.", + "checkedLabel": "Checked label", + "checkedLabel - TODO: update line above and then delete this line to mark that the translation has been fixed": "Checked label", + "labelThatWillBeDisplayedInListAnd": "Label that will be displayed in list and subscription when the option is checked", + "labelThatWillBeDisplayedInListAnd - TODO: update line above and then delete this line to mark that the translation has been fixed": "Label that will be displayed in list and subscription when the option is checked", + "uncheckedLabel": "Unchecked label", + "uncheckedLabel - TODO: update line above and then delete this line to mark that the translation has been fixed": "Unchecked label", + "labelThatWillBeDisplayedInListAnd-1": "Label that will be displayed in list and subscription when the option is unchecked", + "labelThatWillBeDisplayedInListAnd-1 - TODO: update line above and then delete this line to mark that the translation has been fixed": "Label that will be displayed in list and subscription when the option is unchecked", + "deletingField": "Excluindo campo ...", + "fieldDeleted": "Campo excluído", + "editField": "Editar Campo", + "createField": "Criar campo", + "mergeTag-1": "Merge tag", + "fieldOrder": "Ordem de campo", + "listingsBefore": "Listings (before)", + "selectTheFieldBeforeWhichThisFieldShould": "Selecione o campo antes do qual este campo deve aparecer nas listagens. Para excluir o campo das listagens, selecione \"Não visível\".", + "subscriptionFormBefore": "Formulário de assinatura (antes)", + "selectTheFieldBeforeWhichThisFieldShould-1": "Selecione o campo antes do qual este campo deve aparecer no novo formulário de inscrição. Para excluir o campo do novo formulário de inscrição, selecione \"Não visível\".", + "managementFormBefore": "Forma de gerenciamento (antes)", + "selectTheFieldBeforeWhichThisFieldShould-2": "Selecione o campo antes do qual este campo deve aparecer no gerenciamento de subscrição. Para excluir o campo do formulário de gerenciamento de subscrição, selecione \"Não visível\".", + "youCanControlTheAppearanceOfTheMergeTag": "Você pode controlar a aparência da tag de mesclagem com este modelo. O template \n usa a sintaxe de handlebars e você pode encontrar todos os valores da matriz <1>{'{{values}}'}, por \n exemplo <3> {'{{#each values}} {{this}} {{/each}}'}. Se template não for definido, \n vários valores serão unidos por vírgulas.", + "specifyTheOptionsToSelectFromInThe": "<0> Especifique as opções para selecionar no seguinte formato: <1>key|label. Por exemplo: \n<2><0>au|Australia<3><0>em|Ãustria", + "defaultKeyEgAuUsedWhenTheFieldIsEmpty": "Chave padrão (por exemplo, <1>au usada quando o campo está en branco.')", + "youCanControlTheAppearanceOfTheMergeTag-1": "Você pode controlar a aparência da tag de mesclagem com este modelo. O template \n usa a sintaxe de handlebars e você pode encontrar todos os valores de <1>{'{{values}}'} array. \n Cada entrada na matriz é um objeto com os atributos <3>chave e <5>etiqueta . \n Por exemplo <7>{'{{#each values}} {{ this.value}} {{/each}}'}. Se template não for definido, \n vários valores serão unidos por vírgulas.", + "youCanUseThisTemplateToRenderJsonValues": "Você pode usar este modelo para renderizar os valores JSON (se o JSON é um array então o array é \n exposto como <1>valores, caso contrário você pode acessar as chaves JSON diretamente).", + "text": "Texto", + "website": "Website", + "multilineText": "Multi-line text", + "gpgPublicKey": "Chave pública de GPG", + "number": "Number", + "checkboxesFromOptionFields": "Caixas de seleção (dos campos de opção)", + "radioButtonsFromOptionFields": "Botões de opção (dos campos de opção)", + "dropDownFromOptionFields": "Drop Down (dos campos de opção)", + "radioButtonsEnumerated": "Botões de rádio (enumerados)", + "dropDownEnumerated": "Drop Down (enumerado)", + "birthday": "Aniversário", + "jsonValueForCustomRendering": "Valor JSON para renderização customizada", + "option": "Opção", + "fields": "Campos", + "thePlaintextVersionForThisEmail": "A versão de texto simples para este email", + "layout": "Layout", + "formInputStyle": "Form Input Style", + "thisCssStylesheetDefinesTheAppearanceOf": "Esta folha de estilo CSS define a aparência dos elementos de entrada do formulário e alertas", + "webSubscribe": "Web - Subscreva", + "webConfirmSubscriptionNotice": "Web - Confirmar Aviso de Subscrição", + "mailConfirmSubscriptionMjml": "Mail - Confirmação de Assinatura (MJML)", + "mailConfirmSubscriptionText": "Mail - Confirmar Subscrição (Texto)", + "mailAlreadySubscribedMjml": "Correio - Já Subscrito (MJML)", + "mailAlreadySubscribedText": "Correio - já inscrito (texto)", + "webSubscribedNotice": "Aviso Subscrito pela Web", + "mailSubscriptionConfirmedMjml": "Assinatura do Mail Confirmada (MJML)", + "mailSubscriptionConfirmedText": "Assinatura de email confirmada (texto)", + "webManagePreferences": "Web - Gerenciar Preferências", + "webManageAddress": "Web - Gerenciar Endereço", + "mailConfirmAddressChangeMjml": "Mail - Confirmar alteração de endereço (MJML)", + "mailConfirmAddressChangeText": "Mail - Confirmar alteração de endereço (texto)", + "webUpdatedNotice": "Web - aviso atualizado", + "webUnsubscribe": "Web - Cancelar Subscrição", + "webConfirmUnsubscriptionNotice": "Web - Confirmar aviso de cancelamento de assinatura", + "mailConfirmUnsubscriptionMjml": "Mail - Confirmar cancelamento de assinatura (MJML)", + "mailConfirmUnsubscriptionText": "Mail - Confirmar a não inscrição (texto)", + "webUnsubscribedNotice": "Web - Aviso de cancelamento da subscrição", + "mailUnsubscriptionConfirmedMjml": "Correio - Cancelamento de assinatura confirmado (MJML)", + "mailUnsubscriptionConfirmedText": "Correio - Cancelamento da assinatura confirmado (texto)", + "webManualUnsubscribeNotice": "Aviso de Cancelamento de Assinatura da Web - Manual", + "privacyPolicy": "Política de privacidade", + "general": "Geral", + "subscribe": "Inscrever-se", + "manage": "Gerenciar", + "unsubscribe": "Cancelar assinatura", + "dataProtection": "Proteção de dados", + "listOfErrorsInTemplates": "Lista de erros em modelos", + "customFormsUpdated": "Custom forms updated", + "customFormsUpdated - TODO: update line above and then delete this line to mark that the translation has been fixed": "Custom forms updated", + "customFormsCreated": "Custom forms created", + "customFormsCreated - TODO: update line above and then delete this line to mark that the translation has been fixed": "Custom forms created", + "deletingForm": "Excluindo formulário ...", + "formDeleted": "Formulário excluído", + "editCustomForms": "Editar formulários personalizados", + "createCustomForms": "Criar formulários personalizados", + "formsPreview": "Pré-visualização de formulários", + "listToPreviewOn": "Listar para visualizar em", + "selectListWhoseFieldsWillBeUsedToPreview": "Selecione a lista cujos campos serão usados para visualizar os formulários.", + "noteTheseLinksAreSolelyForAQuickPreview": "Nota: Esses links são apenas para uma visualização rápida. Para obter o endereço do formulário de inscrição, vá até os assinantes da lista e clique em \"Subscription Form\".", + "formPreview": "Pré-visualização do formulário:", + "refresh": "Atualizar", + "closePreview": "Close preview", + "closePreview - TODO: update line above and then delete this line to mark that the translation has been fixed": "Close preview", + "templates": "Modelos", + "customFormsUseMjmlForFormattingSeeThe": "Formulários personalizados usam MJML para formatação. Veja a documentação do MJML <1> aqui ", + "createCustomForm": "Criar formulário personalizado", + "fileMustBeSelected": "O arquivo deve ser selecionado", + "csvDelimiterMustNotBeEmpty": "O delimitador CSV não deve estar vazio", + "emailMappingHasToBeProvided": "O mapeamento de email deve ser fornecido", + "importSaved": "Importar salvo", + "file": "Arquivo", + "delimiter": "Delimitador", + "preparationInProgressPleaseWaitTillItIs": "Preparação em andamento. Aguarde até que seja feito ou visite esta página mais tarde.", + "––Select ––": "–– Selecionar ––", + "eg": "por exemplo:", + "checkImportedEmails": "Verificar emails importados", + "mapping": "Mapeamento", + "saveAndEditSettings": "Salvar e editar configurações", + "saveAndRun": "Salvar e executar", + "deletingImport": "Excluindo importação ...", + "importDeleted": "Importar excluído", + "editImport": "Editar Importação", + "createImport": "Criar Importação", + "source": "Fonte", + "csvFile": "arquivo CSV", + "preparing": "Preparando", + "stopping": "Parando", + "ready": "Pronto", + "preparationFailed": "Preparação falhou", + "running": "Running", + "failed": "Falha", + "starting": "Iniciando", + "basicImportOfSubscribers": "Importação básica de assinantes", + "unsubscribeEmails": "Cancelar subscrição de emails", + "lastRun": "Última execução", + "detailedStatus": "Estado detalhado", + "imports": "Importações", + "row": "Linha", + "reason": "Razão", + "importRunStatus": "Status da execução de importação", + "importName": "Nome da importação", + "importSource": "Fonte de importação", + "runStarted": "Execução iniciada", + "runFinished": "Execução terminada", + "runStatus": "Status da execução", + "processedEntries": "Entradas processadas", + "newEntries": "Novas entradas", + "failedEntries": "Entradas com falha", + "error": "Erro", + "failedRows": "Linhas com falha", + "started": "Iniciado", + "processed": "Processado", + "new": "Novo", + "importStatus": "Status da importação", + "actions": "Ações", + "start": "Iniciar", + "importRuns": "Import Runs", + "segments": "Segmentos", + "customForms-1": "Formulários personalizados", + "listName": "Lista \"{{name}}\"", + "fieldName-1": "Campo \"{{name}}\"", + "segmentName": "Segmento \"{{name}}\"", + "importName-1": "Importar \"{{name}}\"", + "run": "Execute", + "customFormsName": "Custom Forms \"{{name}}\"", + "newRule": "Nova regra", + "segmentUpdated": "Segment updated", + "segmentUpdated - TODO: update line above and then delete this line to mark that the translation has been fixed": "Segment updated", + "segmentCreated": "Segment created", + "segmentCreated - TODO: update line above and then delete this line to mark that the translation has been fixed": "Segment created", + "deletingSegment": "Excluindo segmento ...", + "segmentDeleted": "Segmento excluído", + "editSegment": "Editar Segmento", + "createSegment": "Criar segmento", + "segmentOptions": "Opções de segmento", + "toplevelMatchType": "Tipo de correspondência de nível superior", + "addCompositeRule": "Adicionar Regra Composta", + "addRule": "Adicionar regra", + "rules": "Regras", + "allRulesMustMatch": "Todas as regras devem corresponder", + "atLeastOneRuleMustMatch": "Pelo menos uma regra deve corresponder", + "noRuleMayMatch": "Nenhuma regra pode corresponder", + "equalTo": "igual a", + "valueInColumnColNameIsEqualToValue": "Valor na coluna \"{{colName}}\"é igual a \"{{valor}}\"", + "matchWithSqlLike": "Coincidir (com LIKE)", + "valueInColumnColNameMatchesWithSqlLike": "Valor na coluna \"{{colName}} \"corresponde (com LIKE SQL) \"{{value}} \"", + "matchWithRegularExpressions": "Combinar (com expressões regulares)", + "valueInColumnColNameMatchesWithRegular": "Valor na coluna \"{{colName}} \"corresponde (com expressões regulares) \"{{value}} \"", + "alphabeticallyBefore": "Alfabeticamente antes", + "valueInColumnColNameIsAlphabetically": "O valor na coluna \"{{colName}} \"está em ordem alfabética antes de \"{{value}} \"", + "alphabeticallyBeforeOrEqualTo": "Alfabeticamente antes ou igual a", + "valueInColumnColNameIsAlphabetically-1": "O valor na coluna \"{{colName}} \"é alfabeticamente anterior ou igual a \"{{value}} \"", + "alphabeticallyAfter": "Alfabeticamente após", + "valueInColumnColNameIsAlphabetically-2": "O valor na coluna \"{{colName}} \"é alfabeticamente depois de \"{{value}} \"", + "alphabeticallyAfterOrEqualTo": "Alfabeticamente após ou igual a", + "valueInColumnColNameIsAlphabetically-3": "O valor na coluna \"{{colName}} \"é alfabeticamente após ou igual a \"{{value}} \"", + "valueInColumnColNameIsEqualToValue-1": "Valor na coluna \"{{colName}} \"é igual a {{value}}", + "lessThan": "Menor que", + "valueInColumnColNameIsLessThanValue": "Valor na coluna \"{{colName}} \"é menor que {{value}}", + "lessThanOrEqualTo": "menor que ou igual a", + "valueInColumnColNameIsLessThanOrEqualTo": "Valor na coluna \"{{colName}} \"é menor ou igual a {{value}}", + "greaterThan": "Maior que", + "valueInColumnColNameIsGreaterThanValue": "Valor na coluna \"{{colName}} \"é maior que {{value}}", + "greaterThanOrEqualTo": "Maior que ou igual a", + "valueInColumnColNameIsGreaterThanOrEqual": "Valor na coluna \"{{colName}} \"é maior que ou igual a {{value}}", + "on": "On", + "dateInColumnColNameIsValue": "Data na coluna \"{{colName}} \"é {{value}}", + "before": "antes", + "dateInColumnColNameIsBeforeValue": "Data na coluna \"{{colName}} \"é anterior a {{value}}", + "beforeOrOn": "Before or on", + "dateInColumnColNameIsBeforeOrOnValue": "Data na coluna \"{{colName}} \"é antes ou em {{value}}", + "after": "After", + "dateInColumnColNameIsAfterValue": "Data na coluna \"{{colName}} \"é após {{value}}", + "afterOrOn": "After or on", + "dateInColumnColNameIsAfterOrOnValue": "Data na coluna \"{{colName}} \"é depois ou em {{value}}", + "onXthDayBeforeafterCurrentDate": "No x-ésimo dia antes / depois da data atual", + "dateInColumnColNameIsTheCurrentDate": "Data na coluna \"{{colName}} \"é a data atual", + "dateInColumnColNameIsTheValuethDayAfter": "A data na coluna \"{{colName}} \"é o {{value}} - dia após a data atual", + "dateInColumnColNameIsTheValuethDayBefore": "A data na coluna \"{{colName}} \"é o {{value}} - dia antes da data atual", + "beforeXthDayBeforeafterCurrentDate": "Antes do x-ésimo dia antes / depois da data atual", + "dateInColumnColNameIsBeforeTheCurrent": "Data na coluna \"{{colName}} \"é anterior à data atual", + "dateInColumnColNameIsBeforeTheValuethDay": "A data na coluna \"{{colName}} \"é anterior ao {{value}} - dia após a data atual", + "dateInColumnColNameIsBeforeTheValuethDay-1": "A data na coluna \"{{colName}} \"é anterior ao {{value}} - dia antes da data atual", + "beforeOrOnXthDayBeforeafterCurrentDate": "Antes ou no x-é dia antes / depois da data atual", + "dateInColumnColNameIsBeforeOrOnThe": "A data na coluna \"{{colName}} \"é antes ou na data atual", + "dateInColumnColNameIsBeforeOrOnThe-1": "A data na coluna \"{{colName}} \"é anterior ou no {{value}} - dia após a data atual", + "dateInColumnColNameIsBeforeOrOnThe-2": "A data na coluna \"{{colName}} \"é anterior ou no {{value}} - dia antes da data atual", + "afterXthDayBeforeafterCurrentDate": "Após o x-é dia antes / depois da data atual", + "dateInColumnColNameIsAfterTheCurrentDate": "Data na coluna \"{{colName}} \"é após a data atual", + "dateInColumnColNameIsAfterTheValuethDay": "A data na coluna \"{{colName}} \"é posterior ao {{value}} - dia após a data atual", + "dateInColumnColNameIsAfterTheValuethDay-1": "A data na coluna \"{{colName}} \"é posterior ao {{value}} - dia antes da data atual", + "afterOrOnXthDayBeforeafterCurrentDate": "Depois ou no x-ésimo dia antes / depois da data atual", + "dateInColumnColNameIsAfterOrOnTheCurrent": "A data na coluna \"{{colName}} \"é posterior ou na data atual", + "dateInColumnColNameIsAfterOrOnTheValueth": "A data na coluna \"{{colName}} \"é posterior ou no {{value}} - dia após a data atual", + "dateInColumnColNameIsAfterOrOnTheValueth-1": "A data na coluna \"{{colName}} \"é posterior ou no {{value}} - dia antes da data atual", + "isSelected": "Está selecionado", + "valueInColumnColNameIsSelected": "Valor na coluna \"{{colName}} \"está selecionado", + "isNotSelected": "Não está selecionado", + "valueInColumnColNameIsNotSelected": "Valor na coluna \"{{colName}} \"não está selecionado", + "keyEqualTo": "Chave igual a", + "theSelectedKeyInColumnColNameIsEqualTo": "A chave selecionada na coluna \"{{colName}} \"é igual a\"{{value}} \"", + "keyMatchWithSqlLike": "Correspondência de chaves (com SQL LIKE)", + "theSelectedKeyInColumnColNameMatchesWith": "A chave selecionada na coluna \"{{colName}} \"corresponde (com LIKE SQL) \"{{value}} \"", + "keyMatchWithRegularExpressions": "Correspondência de chaves (com expressões regulares)", + "theSelectedKeyInColumnColNameMatchesWith-1": "A chave selecionada na coluna \"{{colName}} \"corresponde (com expressões regulares) \"{{value}} \"", + "keyAlphabeticallyBefore": "Chave em ordem alfabética antes", + "theSelectedKeyInColumnColNameIs": "A chave selecionada na coluna \"{{colName}} \"está em ordem alfabética antes de \"{{value}} \"", + "keyAlphabeticallyBeforeOrEqualTo": "Chave em ordem alfabética antes ou igual a", + "theSelectedKeyInColumnColNameIs-1": "A chave selecionada na coluna \"{{colName}} \"é alfabeticamente anterior ou igual a \"{{value}} \"", + "keyAlphabeticallyAfter": "Chave em ordem alfabética depois", + "theSelectedKeyInColumnColNameIs-2": "A chave selecionada na coluna \"{{colName}} \"está alfabeticamente após \"{{value}} \"", + "keyAlphabeticallyAfterOrEqualTo": "Chave em ordem alfabética depois ou igual a", + "theSelectedKeyInColumnColNameIs-3": "A chave selecionada na coluna \"{{colName}} \"é alfabeticamente após ou igual a \"{{value}} \"", + "value": "Valor", + "valueMustNotBeEmpty": "O valor não deve estar vazio", + "valueMustBeANumber": "O valor deve ser um número", + "numberOfDays": "Número de dias", + "beforeAfter": "Before / After", + "beforeCurrentDate": "Antes da data atual", + "afterCurrentDate": "Após a data atual", + "numberOfDaysMustNotBeEmpty": "O número de dias não pode estar vazio", + "numberOfDaysMustBeANumber": "Número de dias deve ser um número", + "emailAddress-1": "Endereço de email", + "signupCountry": "País de inscrição", + "signUpDate": "Data de inscrição", + "testUser": "Test user", + "testUser - TODO: update line above and then delete this line to mark that the translation has been fixed": "Test user", + "fieldMustBeSelected": "O campo deve ser selecionado", + "field": "campo", + "select-1": "- Selecionar -", + "ruleOptions": "Opções de Regra", + "ok": "OK", + "anotherSubscriptionWithTheSameEmail": "Já existe outra subscrição com o mesmo email.", + "subscriptionUpdated": "Subscription updated", + "subscriptionUpdated - TODO: update line above and then delete this line to mark that the translation has been fixed": "Subscription updated", + "subscriptionCreated": "Subscription created", + "subscriptionCreated - TODO: update line above and then delete this line to mark that the translation has been fixed": "Subscription created", + "itSeemsThatAnotherSubscriptionWithThe": "Parece que outra subscrição com o mesmo email foi criada entretanto. Atualize a sua página para começar de novo. Tenha em atenção que as suas alterações serão perdidas.", + "notSelected": "Não selecionado", + "areYouSureYouWantToDeleteSubscriptionFor": "Tem certeza de que deseja excluir a inscrição de \"{{email}} \"?", + "deletingSubscription": "Apagando assinatura ...", + "subscriptionDeleted": "Assinatura excluída", + "editSubscription": "Editar Assinatura", + "createSubscription": "Criar Assinatura", + "timezone": "Fuso horário", + "subscriptionStatus": "Status da assinatura", + "testUser?": "Usuário de teste?", + "ifCheckedThenThisSubscriptionCanBeUsed": "Se marcado, essa assinatura pode ser usada para visualizar mensagens de campanha", + "subscribed": "Inscrito", + "unubscribed": "Não inscrito", + "erased": "[APAGADO]", + "confirmUnsubscription": "Confirmar a não inscrição", + "areYouSureYouWantToUnsubscribeEmail?": "Tem certeza de que deseja cancelar a inscrição {{email}}?", + "unsubscribingEmail": "Cancelar inscrição {{email}}", + "emailUnsubscribed": "{{email}} não subscrito", + "confirmEmailBlacklisting": "Confirmar lista negra de emails", + "areYouSureYouWantToBlacklistEmail?": "Tem a certeza que deseja colocar na lista negra {{email}}?", + "blacklistingEmail": "Blacklisting {{email}}", + "emailBlacklisted": "{{email}} na lista negra", + "allSubscriptions": "Todas as subscrições", + "subscriptionForm": "Formulário de Assinatura", + "exportAsCsv": "Exportar como CSV", + "addSubscriber": "Adicionar Assinante", + "usernameOrEmailMustNotBeEmpty": "Nome de usuário ou email não deve estar vazio", + "processing": "Processando ...", + "ifTheUsernameEmailExistsInTheSystem": "Se o nome de usuário / email existir no sistema, o link de redefinição de senha será enviado para o email registrado.", + "pleaseEnterYourUsernameEmailAndTryAgain": "Por favor insira seu nome de usuário / e-mail e tente novamente.", + "passwordReset": "Reset de senha", + "pleaseProvideTheUsernameOrEmailAddress": "Por favor, forneça o nome de usuário ou endereço de e-mail registrado em sua conta do Mailtrain.", + "weWillSendYouAnEmailThatWillAllowYouTo": "Nós lhe enviaremos um email que lhe permitirá redefinir sua senha.", + "usernameOrEmail": "Nome de usuário ou email", + "sendEmail": "Enviar email", + "userNameMustNotBeEmpty": "O nome do usuário não pode estar vazio", + "passwordMustNotBeEmpty": "A senha não pode estar vazia", + "verifyingCredentials": "Verificando credenciais ...", + "pleaseEnterYourCredentialsAndTryAgain": "Por favor, digite suas credenciais e tente novamente.", + "invalidUsernameOrPassword": "Nome de usuário ou senha inválidos", + "forgotYourPassword?": "Esqueceu sua senha?", + "signIn": "Entrar", + "username": "Nome de Usuário", + "password": "Senha", + "rememberMe": "Lembre-se de mim", + "resettingPassword": "Redefinindo senha ...", + "passwordReset-1": "Redefinição de senha", + "yourPasswordCannotBeReset": "Sua senha não pode ser redefinida.", + "thePasswordResetTokenHasExpired": "O token de redefinição de senha expirou.", + "clickHereToRequestANewPasswordResetLink": "Clique aqui para solicitar um novo link de redefinição de senha.", + "validatingPasswordResetToken": "Validando o token de redefinição de senha ...", + "thePasswordCannotBeReset": "A senha não pode ser redefinida", + "setNewPasswordFor": "Definir nova senha para", + "resetPassword": "Redefinir senha", + "parentNamespaceMustBeSelected": "Ambiente pai deve ser selecionado", + "namespaceUpdated": "Namespace updated", + "namespaceUpdated - TODO: update line above and then delete this line to mark that the translation has been fixed": "Namespace updated", + "namespaceCreated": "Namespace created", + "namespaceCreated - TODO: update line above and then delete this line to mark that the translation has been fixed": "Namespace created", + "thereHasBeenALoopDetectedInTheAssignment": "Houve um loop detectado na atribuição do ambiente pai. Isso é mais provável porque outra pessoa alterou o pai de algum ambiente nesse meio tempo. Atualize sua página para começar de novo. Observe que suas alterações serão estar perdido.", + "itSeemsThatTheParentNamespaceHasBeen": "Parece que o ambiente pai foi excluído por outra pessoa durante sua edição. Atualize a página para começar de novo. Observe que suas alterações serão perdidas.", + "deletingNamespace": "Excluindo ambiente ...", + "namespaceDeleted": "Ambiente excluído", + "editNamespace": "Editar Ambiente", + "createNamespace": "Criar Ambiente", + "parentNamespace": "Ambiente pai", + "namespaces": "Ambientes", + "namespaceName": "Ambiente \"{{name}}\"", + "reportTemplateMustBeSelected": "O modelo de relatório deve ser selecionado", + "exactlyOneItemHasToBeSelected": "Exatamente um item deve ser selecionado", + "atLeastCountItemsHaveToBeSelected": "Pelo menos {{count}} itens devem ser selecionados", + "atMostCountItemsCanToBeSelected": "No máximo {{count}} itens podem ser selecionados", + "reportParametersAreNotSelectedWaitFor": "Os parâmetros do relatório não estão selecionados. Espere que eles sejam exibidos e, em seguida, preencha-os.", + "reportUpdated": "Report updated", + "reportUpdated - TODO: update line above and then delete this line to mark that the translation has been fixed": "Report updated", + "reportCreated": "Report created", + "reportCreated - TODO: update line above and then delete this line to mark that the translation has been fixed": "Report created", + "unknownFieldTypeType": "Tipo de campo desconhecido \"{{type}}\"", + "deletingReport": "Excluindo relatório ...", + "reportDeleted": "Relatório excluído", + "editReport": "Editar relatório", + "createReport": "Criar relatório", + "reportTemplate-1": "Modelo de relatório", + "reportParameters": "Parâmetros do Relatório", + "loadingReportTemplate": "Carregando modelo de relatório ...", + "processing-1": "Processando", + "view": "Ver", + "refreshReport": "Atualizar relatório", + "reportGenerationFailed": "Geração de relatório falhou", + "regenerateReport": "Regenerate report", + "viewConsoleOutput": "Exibir saída do console", + "reportTemplates": "Modelos de relatório", + "reports": "Relatórios", + "reportName": "Relatório \"{{name}}\"", + "output": "Output", + "templateName": "Modelo \"{{name}}\"", + "mimeTypeMustBeSelected": "Tipo MIME deve ser selecionado", + "syntaxErrorInTheUserFieldsSpecification": "Erro de sintaxe na especificação dos campos do usuário", + "reportTemplateUpdated": "Report template updated", + "reportTemplateUpdated - TODO: update line above and then delete this line to mark that the translation has been fixed": "Report template updated", + "reportTemplateCreated": "Report template created", + "reportTemplateCreated - TODO: update line above and then delete this line to mark that the translation has been fixed": "Report template created", + "deletingReportTemplate": "Excluindo modelo de relatório ...", + "reportTemplateDeleted": "Modelo de relatório excluído", + "editReportTemplate": "Editar modelo de relatório", + "createReportTemplate": "Criar Modelo de Relatório", + "csv": "CSV", + "userSelectableFields": "Campos selecionáveis pelo usuário", + "jsonSpecificationOfUserSelectableFields": "Especificação JSON de campos selecionáveis pelo usuário.", + "dataProcessingCode": "Código de processamento de dados", + "renderingTemplate": "Modelo de renderização", + "writeTheBodyOfTheJavaScriptFunctionWith": "Escreva o corpo da função JavaScript com a função signature <1> (entradas, retorno de chamada) que retorna um objeto a ser renderizado pelo modelo Handlebars abaixo.", + "useHtmlWithHandlebarsSyntaxSee": "Use HTML com a sintaxe do Handlebars. Veja a documentação <1> aqui .", + "blank": "Vazio", + "openCounts": "Contagem de aberturas", + "openCountsAsCsv": "Contagem de aberturas como CSV", + "aggregatedOpenCounts": "Contagem de aberturas agregadas", + "reportName-1": "Denunciar {{name}}", + "loadingReport": "Carregando relatório ...", + "outputForReportName": "Saída para o relatório {{name}}", + "loadingReportOutput": "Carregando saída do relatório ...", + "reportIsBeingGenerated": "Relatório está sendo gerado", + "reportNotGenerated": "Relatório não gerado", + "current": "(atual)", + "administration": "Administração", + "users": "Usuários", + "globalSettings": "Configurações globais", + "sendConfigurations": "Configurações de envio", + "logOut": "Sair", + "home": "Início", + "mailerTypeMustBeSelected": "Tipo de mailer deve ser selecionado", + "verpHostnameMustNotBeEmpty": "O nome do host VERP não pode estar vazio", + "sendConfigurationUpdated": "Send configuration updated", + "sendConfigurationUpdated - TODO: update line above and then delete this line to mark that the translation has been fixed": "Send configuration updated", + "sendConfigurationCreated": "Send configuration created", + "sendConfigurationCreated - TODO: update line above and then delete this line to mark that the translation has been fixed": "Send configuration created", + "deletingSendConfiguration": "Excluindo a configuração de envio ...", + "sendConfigurationDeleted": "Configuração de envio excluída", + "editSendConfiguration": "Editar Configuração de Envio", + "createSendConfiguration": "Criar Configuração de Envio", + "emailHeader": "Cabeçalho do Email", + "defaultFromEmail": "Email \"de\" padrão", + "overridable": "Substituível", + "defaultFromName": "Nome \"de\" padrão", + "defaultReplytoEmail": "Email \"reply-to\" padrão", + "xMailer": "X-Mailer", + "verpBounceHandling": "VERP Bounce Handling", + "verpStatus": "status VERP", + "serverHostname": "Nome do host do servidor", + "theVerpServerHostnameEgBouncesexamplecom": "O nome do host do servidor VERP, por exemplo, bounces.example.com", + "verpBounceHandlingServerHostnameThis": "Nome do host do servidor de tratamento de rejeição VERP. Esse nome de host é usado no endereço FROM do envelope SMTP e os registros DNS do MX devem apontar para este servidor", + "disableSenderHeader": "Desativar cabeçalho do remetente", + "withDmarcTheReturnPathAndFromAddressMust": "Com DMARC, o endereço Return-Path e From deve coincidir com o mesmo domínio. Por padrão, contornamos isso usando o endereço VERP no cabeçalho Sender, com o efeito colateral que alguns clientes de email chamam de feio em nome Você pode desativar com segurança o cabeçalho do Emissor se não estiver usando o DMARC ou se o nome do host VERP estiver no mesmo domínio que o endereço De. ", + "mailtrainIsAbleToUseVerpBasedRoutingTo": "<0> O Mailtrain é capaz de usar roteamento baseado em VERP para detectar rejeições. Nesse caso, a mensagem é enviada ao destinatário usando um endereço VERP personalizado como o caminho de retorno da mensagem. Se a mensagem não for aceita, o email de rejeição é enviado para este endereço VERP especial e, assim, é detectado um retorno. ", + "toGetVerpWorkingYouNeedToSetUpADnsMx": "<0> Para obter o VERP funcionando, você precisa configurar um registro MX de DNS que aponte para o nome do host do Mailtrain. Você também deve garantir que a interface VERtr de Mailtrain esteja disponível na porta 25 do servidor. privilégios de usuário) Assim, se alguém tentar enviar um e-mail para algum usuário @ verp-hostname, o e-mail deve acabar neste servidor. ", + "verpUsuallyOnlyWorksIfYouAreUsingYourOwn": "<0> VERP geralmente só funciona se você estiver usando seu próprio servidor SMTP. Serviços de retransmissão regulares (SES, SparkPost, Gmail etc.) tendem a remover o endereço VERP da mensagem. ", + "verpBounceHandlingServerIsNotEnabled": "<0> O servidor de tratamento de retorno VERP não está ativado. Modifique o arquivo de configuração do servidor e reinicie o servidor para ativá-lo. ", + "labelMustNotBeEmpty": "{{label}} não deve estar vazio", + "labelMustBeANumber": "{{label}} deve ser um número", + "genericSmtp": "SMTP genérico", + "zoneMta": "Zone MTA", + "amazonSes": "Amazon SES", + "doNotUseEncryption": "Não use criptografia", + "useTls –UsuallySelectedForPort465": "Use TLS - geralmente selecionado para a porta 465", + "useStarttls –UsuallySelectedForPort587": "Use STARTTLS - geralmente selecionado para as portas 587 e 25", + "useast1": "US-EAST-1", + "uswest2": "US-WEST-2", + "euwest1": "EU-WEST-1", + "builtinZoneMta": "ZoneMTA incorporado", + "dynamicConfigurationOfDkimKeysViaZoneMt": "Configuração dinâmica de chaves DKIM através do plugin Mailtrain do ZoneMTA", + "dynamicConfigurationOfDkimKeysViaZoneMt-1": "Configuração dinâmica de chaves DKIM via plugin de configuração HTTP do ZoneMTA", + "noDynamicConfigurationOfDkimKeys": "Nenhuma configuração dinâmica de chaves DKIM", + "mailerSettings": "Configurações do Mailer", + "mailerType": "Tipo do Mailer", + "hostname": "Nome do host", + "hostnameEgSmtpexamplecom": "Nome do host, por exemplo, smtp.example.com", + "port": "Porta", + "portEg465AutodetectedIfLeftBlank": "Porta, por exemplo, 465. Autodetectada se for deixada em branco", + "encryption": "Criptografia", + "enableSmtpAuthentication": "Ativar autenticação SMTP", + "usernameEgMyaccount@examplecom": "Nome de usuário, por exemplo, minhaconta@exemplo.com", + "advancedMailerSettings": "Configurações avançadas do Mailer", + "logSmtpTransactions": "Registrar transações SMTP", + "allowSelfsignedCertificates": "Permitir certificados autoassinados", + "maxConnections": "conexões máximas", + "theCountOfMaxConnectionsEg10": "A contagem de conexões máximas, por exemplo, 10", + "theCountOfMaximumSimultaneousConnections": "A contagem de conexões simultâneas máximas a serem feitas no servidor SMTP (o padrão é 5). Esse limite é por processo de envio.", + "maxMessages": "Max messages", + "theCountOfMaxMessagesEg100": "A contagem de mensagens máximas, por exemplo, 100", + "theNumberOfMessagesToSendThroughASingle": "O número de mensagens a enviar através de uma única conexão antes que a conexão seja fechada e reaberta (o padrão é 100)", + "throttling": "Limitação", + "messagesPerHourEg1000": "Mensagens por hora, por exemplo, 1000", + "maximumNumberOfMessagesToSendInAnHour": "Número máximo de mensagens a enviar em uma hora. Deixe vazio ou zero para não haver limitação. Se seu provedor usar um limite de velocidade diferente (mensagens/minuto ou mensagens/segundo), converta esse limite em mensagens/hora (1m/s => 3600m/h). Este limite é por processo de envio. ", + "dynamicConfiguration": "Configuração dinâmica", + "dkimSigning": "Assinatura DKIM", + "zoneMtaDkimApiKey": "ZoneMTA DKIM API key", + "secretValueKnownToZoneMtaForRequesting": "Valor secreto conhecido pelo ZoneMTA para solicitar informações da chave DKIM. Se este valor foi gerado pelo script de instalação do Mailtrain, você pode mantê-lo como está.", + "dkimDomain": "domínio DKIM", + "leaveBlankToUseTheSenderEmailAddress": "Deixe em branco para usar o domínio de endereço de e-mail do remetente", + "dkimKeySelector": "Seletor de chave DKIM", + "signingIsDisabledWithoutAValidSelector": "A assinatura está desativada sem um valor de seletor válido.", + "dkimPrivateKey": "Chave privada DKIM", + "beginsWithBeginRsaPrivateKey": "Começa com \"----- INICIO DA CHAVE PRIVADA RSA ----- \"", + "signingIsDisabledWithoutAValidPrivateKey": "A assinatura está desativada sem uma chave privada válida.", + "accessKey": "Chave de acesso", + "awsAccessKeyId": "ID da chave de acesso da AWS", + "awsSecretAccessKey": "Chave de acesso secreto da AWS", + "region": "Região", + "ifYouAreUsingZoneMtaThenMailtrainCan": "<0> Se você estiver usando o ZoneMTA, o Mailtrain poderá fornecer uma chave DKIM para assinar todas as mensagens de saída. Outros serviços geralmente fornecem seus próprios meios para assinar suas mensagens. ", + "doNotUseSensitiveKeysHereThePrivateKeyIs": "<0> Não use chaves sensíveis aqui. A chave privada não é criptografada no banco de dados. ", + "sendConfigurations-1": "Configurações de envio", + "globalSettingsSaved": "Configurações globais salvas", + "adminEmail": "email do Admin", + "thisEmailIsUsedAsTheMainContactAndAsA": "Este e-mail é usado como contato principal e como endereço de e-mail padrão se nenhum endereço de e-mail for especificado nas configurações de lista.", + "defaultHomepageUrl": "URL da página inicial padrão", + "thisUrlWillBeUsedInListSubscriptionForms": "Este URL será usado em formulários de inscrição de lista se nenhuma página inicial for especificada em configurações de lista.", + "trackingId": "ID de acompanhamento", + "uaxxxxxxx": "UA-XXXXX-XX", + "enterGoogleAnalyticsTrackingCode": "Digite o código de acompanhamento do Google Analytics", + "googleMapsApiKey": "Chave da API do Google Maps", + "xxxxxx": "XXXXXX", + "theMapOverviewInCampaignStatistics": "A visão geral do mapa nas estatísticas da campanha exige uma chave da API do Google Maps. Digite essa chave aqui. Se nenhuma chave for fornecida, o Google poderá limitar as solicitações de mapas, o que resultará na indisponibilidade ocasional do mapa nas estatísticas da campanha.", + "frontpageShoutOut": "Frontpage shout out", + "htmlCodeShownInTheFrontPageHeaderSection": "Código HTML mostrado na seção de cabeçalho da página principal", + "gpgSigning": "Assinatura GPG", + "privateKeyPassphrase": "Senha de chave privada", + "passphraseForTheKeyIfSet": "Frase secreta para a chave, se definida", + "onlyFillThisIfYourPrivateKeyIsEncrypted": "Preencha isto spenas se sua chave privada estiver criptografada com uma frase secreta", + "gpgPrivateKey": "chave privada do GPG", + "beginsWithBeginPgpPrivateKeyBlock": "Começa com '----- INICIO DO BLOCO DE CHAVE PRIVADA DE PGP -----'", + "thisValueIsOptionalIfYouDoNotProvideA": "Este valor é opcional. Se você não fornecer uma chave privada, as mensagens criptografadas GPG serão enviadas sem assinatura.", + "onlyMessagesThatAreEncryptedCanBeSigned": "<0> Somente as mensagens criptografadas podem ser assinadas. Os assinantes que não configuraram uma chave pública GPG no perfil recebem mensagens de e-mail normais. Os usuários com conjunto de chaves GPG recebem mensagens criptografadas e se você tiver a chave de assinatura também set, as mensagens são assinadas com esta chave. ", + "doNotUseSensitiveKeysHereThePrivateKey": "não use chaves sensíveis aqui. A chave privada e a frase secreta não são criptografadas no banco de dados.", + "userMustNotBeEmpty": "O usuário não deve estar vazio", + "roleMustBeSelected": "A função deve ser selecionada", + "role": "Papel", + "unshare": "Unshare", + "unshare - TODO: update line above and then delete this line to mark that the translation has been fixed": "Unshare", + "confirmUnsharing": "Confirm Unsharing", + "confirmUnsharing - TODO: update line above and then delete this line to mark that the translation has been fixed": "Confirm Unsharing", + "areYouSureYouWantToRemoveTheShareToUser": "Are you sure you want to remove the share to user \"{{username}}\"?", + "areYouSureYouWantToRemoveTheShareToUser - TODO: update line above and then delete this line to mark that the translation has been fixed": "Are you sure you want to remove the share to user \"{{username}}\"?", + "removingShareForUserUsername": "Removing share for user \"{{username}}\"", + "removingShareForUserUsername - TODO: update line above and then delete this line to mark that the translation has been fixed": "Removing share for user \"{{username}}\"", + "shareForUserUsernameRemoved": "Share for user \"{{username}}\" removed", + "shareForUserUsernameRemoved - TODO: update line above and then delete this line to mark that the translation has been fixed": "Share for user \"{{username}}\" removed", + "addUser": "Adicionar usuário", + "user": "Usuário", + "existingUsers": "Usuários Existentes", + "areYouSureYouWantToRemoveTheSharingOfThe": "Are you sure you want to remove the sharing of the {{typeName}} \"{{name}}\"?", + "areYouSureYouWantToRemoveTheSharingOfThe - TODO: update line above and then delete this line to mark that the translation has been fixed": "Are you sure you want to remove the sharing of the {{typeName}} \"{{name}}\"?", + "removingSharingOfTheTypeNameName": "Removing sharing of the {{typeName}} \"{{name}}\"", + "removingSharingOfTheTypeNameName - TODO: update line above and then delete this line to mark that the translation has been fixed": "Removing sharing of the {{typeName}} \"{{name}}\"", + "sharingOfTheTypeNameNameRemoved": "Sharing of the {{typeName}} \"{{name}}\" removed", + "sharingOfTheTypeNameNameRemoved - TODO: update line above and then delete this line to mark that the translation has been fixed": "Sharing of the {{typeName}} \"{{name}}\" removed", + "sharesForUserUsername": "Compartilhamentos para usuário \"{{username}}\"", + "namespace-1": "namespace", + "namespace-1 - TODO: update line above and then delete this line to mark that the translation has been fixed": "namespace", + "list-1": "list", + "list-1 - TODO: update line above and then delete this line to mark that the translation has been fixed": "list", + "template-1": "template", + "template-1 - TODO: update line above and then delete this line to mark that the translation has been fixed": "template", + "mosaicoTemplates": "Modelos Mosaico", + "campaign-1": "campaign", + "campaign-1 - TODO: update line above and then delete this line to mark that the translation has been fixed": "campaign", + "customForms-2": "custom forms", + "customForms-2 - TODO: update line above and then delete this line to mark that the translation has been fixed": "custom forms", + "report-1": "report", + "report-1 - TODO: update line above and then delete this line to mark that the translation has been fixed": "report", + "reportTemplate-2": "report template", + "reportTemplate-2 - TODO: update line above and then delete this line to mark that the translation has been fixed": "report template", + "sendConfiguration-1": "send configuration", + "sendConfiguration-1 - TODO: update line above and then delete this line to mark that the translation has been fixed": "send configuration", + "sourceTemplateMustNotBeEmpty": "Source template must not be empty", + "sourceTemplateMustNotBeEmpty - TODO: update line above and then delete this line to mark that the translation has been fixed": "Source template must not be empty", + "templateUpdated": "Template updated", + "templateUpdated - TODO: update line above and then delete this line to mark that the translation has been fixed": "Template updated", + "templateCreated": "Template created", + "templateCreated - TODO: update line above and then delete this line to mark that the translation has been fixed": "Template created", + "deletingTemplate": "Excluindo o modelo ...", + "templateDeleted": "Modelo excluído", + "editTemplate": "Editar modelo", + "createTemplate": "Criar modelo", + "cloneFromAnExistingTemplate": "Clone from an existing template", + "cloneFromAnExistingTemplate - TODO: update line above and then delete this line to mark that the translation has been fixed": "Clone from an existing template", + "cloneFromAnExistingCustomForms": "Clone from an existing custom forms", + "cloneFromAnExistingCustomForms - TODO: update line above and then delete this line to mark that the translation has been fixed": "Clone from an existing custom forms", + "mosaico": "Mosaico", + "templateContentHtml": "Conteúdo do modelo (HTML)", + "mosaicoTemplateDesigner": "Editor do Modelo Mosaico", + "mosaicoTemplateMustBeSelected": "O modelo Mosaico deve ser selecionado", + "mosaicoWithPredefinedTemplates": "Mosaico com modelos predefinidos", + "mosaicoTemplate-1": "Modelo Mosaico", + "grapesJs": "GrapesJS", + "grapesJsTemplateDesigner": "Editor do Modelo GrapesJS", + "ckEditor4": "CKEditor 4", + "ckEditor4TemplateDesigner": "Editor de modelo do CKEditor 4", + "codeEditor": "Editor de Códigos", + "codeEditorTemplateDesigner": "Editor de modelo de editor de código", + "mergeTagReference": "Referência Merge tag", + "templateContentPlainText": "Conteúdo do template (texto simples)", + "mergeTagsAreTagsThatAreReplacedBefore": "\n <1> As tags de mesclagem são tags que são substituídas antes de enviar a mensagem. O formato da tag de mesclagem é o seguinte: <1>[TAG_NAME] ou <3>[TAG_NAME/fallback] onde <5> fallback é um valor de texto opcional usado quando <7>TAG_NAME está vazio.\n", + "youCanUseAnyOfTheStandardMergeTagsBelow": "\n <1> Você pode usar qualquer uma das tags de mesclagem padrão abaixo. Além disso, cada campo personalizado tem sua própria tag de mesclagem. Verifique os campos da lista para a qual você enviará. \n", + "urlThatPointsToTheUnsubscribePage": "URL que aponta para a página de cancelamento de inscrição", + "urlThatPointsToThePreferencesPageOfThe": "URL que aponta para a página de preferências do assinante", + "urlToPreviewTheMessageInABrowser": "URL para visualizar a mensagem em um navegador", + "uniqueIdThatIdentifiesTheRecipient": "ID exclusivo que identifica o destinatário", + "uniqueIdThatIdentifiesTheListUsedForThis": "ID exclusivo que identifica a lista usada para esta campanha", + "uniqueIdThatIdentifiesCurrentCampaign": "ID exclusivo que identifica a campanha atual", + "forRssCampaignsTheFollowingFurtherTags": "\n <1> Para campanhas de RSS, as seguintes tags adicionais podem ser usadas. \n", + "rssEntryTitle": "título da entrada RSS", + "rssEntryDate": "data de entrada do RSS", + "rssEntryLink": "link de entrada RSS", + "contentOfAnRssEntry": "Conteúdo de uma entrada RSS", + "rssEntrySummary": "Resumo da entrada do RSS", + "rssEntryImageUrl": "URL da imagem de entrada RSS", + "toExtractTheTextFromHtmlClickHerePlease": "Para extrair o texto do HTML, clique <1> aqui . Observe que o texto original existente no campo acima será sobrescrito. Esse recurso usa a <3> Premailer API , uma serviço de terceiros. Os seus Termos de Serviço e Política de Privacidade são aplicáveis. ", + "mosaicoTemplateUpdated": "Mosaico template updated", + "mosaicoTemplateUpdated - TODO: update line above and then delete this line to mark that the translation has been fixed": "Mosaico template updated", + "mosaicoTemplateCreated": "Mosaico template created", + "mosaicoTemplateCreated - TODO: update line above and then delete this line to mark that the translation has been fixed": "Mosaico template created", + "deletingMosaicoTemplate": "Excluindo o modelo Mosaico ...", + "mosaicoTemplateDeleted": "Modelo do Mosaico excluído", + "editMosaicoTemplate": "Editar Modelo Mosaico", + "createMosaicoTemplate": "Criar Modelo Mosaico", + "invalidMjml": "Invalid MJML", + "invalidMjml - TODO: update line above and then delete this line to mark that the translation has been fixed": "Invalid MJML", + "mjmlIsValid": "MJML is valid.", + "mjmlIsValid - TODO: update line above and then delete this line to mark that the translation has been fixed": "MJML is valid.", + "invalidMjml-1": "Invalid MJML.", + "invalidMjml-1 - TODO: update line above and then delete this line to mark that the translation has been fixed": "Invalid MJML.", + "templateContent": "Conteúdo do modelo", + "validate": "Validate", + "validate - TODO: update line above and then delete this line to mark that the translation has been fixed": "Validate", + "blockThumbnails": "Bloquear miniaturas", + "versafixOne": "Versafix One", + "mjmlSample": "MJML Sample", + "mjmlSample - TODO: update line above and then delete this line to mark that the translation has been fixed": "MJML Sample", + "mosaicoTemplateName": "Modelo Mosaico \"{{name}}\"", + "theseFilesArePubliclyAvailableViaHttpSo-1": "Esses arquivos estão disponíveis publicamente via HTTP para que possam ser vinculados a partir do modelo Mosaico.", + "theseFilesWillBeUsedByMosaicoToSearchFor": "Esses arquivos serão usados pelo Mosaico para procurar miniaturas de blocos (o diretório \"edres \"). Coloque aqui um arquivo por tipo de bloco que você definiu no modelo Mosaico. Cada arquivo deve ter o mesmo nome como o id do bloco. O arquivo será usado como a miniatura do bloco correspondente. ", + "sendConfigurationHasToBeSelected": "A configuração de envio deve ser selecionada.", + "listHasToBeSelected": "Lista tem que ser selecionada.", + "theUserNameAlreadyExistsInTheSystem": "O nome de usuário já existe no sistema.", + "userUpdated": "User updated", + "userUpdated - TODO: update line above and then delete this line to mark that the translation has been fixed": "User updated", + "userCreated": "User created", + "userCreated - TODO: update line above and then delete this line to mark that the translation has been fixed": "User created", + "theUsernameIsAlreadyAssignedToAnother": "O nome de usuário já está atribuído a outro usuário.", + "theEmailIsAlreadyAssignedToAnotherUser-1": "O email já está atribuído a outro usuário.", + "deletingUser": "Excluindo usuário ...", + "userDeleted": "Usuário excluído", + "editUser": "Editar usuário", + "createUser": "Criar usuário", + "userName": "Nome de usuário", + "repeatPassword": "Repetir Senha", + "deleteUser": "Excluir usuário", + "userName-1": "Usuário \"{{name}} \"", + "shares": "Compartilhamentos", + "subscriptionConfirmed": "Assinatura Confirmada", + "listEmailAddressAlreadyRegistered": "{{list}}: Endereço de e-mail já registrado", + "listPleaseConfirmEmailChangeIn": "{{list}}: Por favor, confirme a alteração do email na subscrição", + "pleaseConfirmSubscription": "Por favor, confirme a assinatura", + "listPleaseConfirmUnsubscription": "{{list}}: Por favor, confirme a não inscrição", + "listUnsubscriptionConfirmed": "{{list}}: Inscrição confirmada", + "invalidEmailAddressEmailMxRecordNotFound": "Endereço de e-mail inválido \"{{email}} \": registro MX não encontrado para o domínio", + "invalidEmailAddressEmailAddressDomainNot": "Endereço de e-mail inválido \"{{email}} \": domínio de endereço não encontrado", + "invalidEmailAddressEmailAddressDomain": "Endereço de e-mail inválido \"{{email}} \": é necessário o nome do domínio do endereço", + "invalidEmailAddressEmail": "Endereço de e-mail inválido \"{{email}} \"", + "mailerPasswordChangeRequest": "Solicitação de mudança de senha do Mailer", + "mailtrain": "Mailtrain", + "emailAddressChanged": "Endereço de e-mail alterado", + "emailAddressNotSet": "Endereço de email não definido", + "nothingSeemsToBeChanged": "Nada parece ser alterado", + "anEmailWithFurtherInstructionsHasBeen": "Um email com mais instruções foi enviado para o endereço fornecido", + "foundAddedMessagesNewCampaignMessages": "Encontrou {{addedMessages}} novas mensagens de campanha do feed {{campaignId}}", + "foundNothingNewFromTheFeed": "Não encontrou nada de novo no feed", + "missingEmail": "E-mail ausente", + "emailAddress-2": "Endereço de email", + "wantToChangeIt?": "quer mudá-lo?", + "downloadSignatureVerificationKey": "Baixar chave de verificação de assinatura", + "beginsWithAnd#39BeginPgpPublicKeyBloc": "Começa com & # 39; ----- BEGIN BLOCO DE CHAVES PÚBLICAS DO PGP -----", + "insertYourGpgPublicKeyHereToEncrypt": "Insira aqui a sua chave pública GPG para criptografar as mensagens enviadas para o seu endereço (opcional) ", + "existingEmailAddress": "Endereço de e-mail existente", + "newEmailAddress": "Novo endereço de email", + "youWillReceiveAConfirmationRequestToYour": "Você receberá uma solicitação de confirmação para o seu novo endereço de e-mail que você precisa aceitar antes que seu e-mail seja realmente alterado", + "updateEmailAddress": "Atualizar endereço de email", + "updateProfile": "Atualizar Perfil", + "subscribeToList": "Inscrever-se na lista", + "thePasswordMustBeAtLeastMinLength": "A senha deve ter pelo menos {{minLength}} caracteres de comprimento", + "thePasswordMustBeFewerThanMaxLength": "A senha deve ter menos de {{maxLength}} caracteres", + "thePasswordMayNotContainSequencesOfThree": "A senha não pode conter seqüências de três ou mais caracteres repetidos", + "thePasswordMustContainAtLeastOne": "A senha deve conter pelo menos uma letra minúscula", + "thePasswordMustContainAtLeastOne-1": "A senha deve conter pelo menos uma letra maiúscula", + "thePasswordMustContainAtLeastOneNumber": "A senha deve conter pelo menos um número", + "thePasswordMustContainAtLeastOneSpecial": "A senha deve conter pelo menos um caractere especial" +} \ No newline at end of file diff --git a/meta.json b/meta.json deleted file mode 100644 index 5d18c61b..00000000 --- a/meta.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "schemaVersion": 33 -} diff --git a/mvis/client/.gitignore b/mvis/client/.gitignore new file mode 100644 index 00000000..246d599d --- /dev/null +++ b/mvis/client/.gitignore @@ -0,0 +1,2 @@ +/dist +/node_modules \ No newline at end of file diff --git a/mvis/client/package.json b/mvis/client/package.json new file mode 100644 index 00000000..cd5e72a7 --- /dev/null +++ b/mvis/client/package.json @@ -0,0 +1,44 @@ +{ + "name": "mailtrain-ivis-client", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "js": "webpack", + "watch-js": "webpack --watch", + "css": "npm-run-all --sequential css-compile css-minify", + "css-compile": "node-sass --output-style expanded --source-map true --source-map-contents true --precision 6 ../ivis-core/client/src/scss/ivis.scss dist/ivis.css", + "css-minify": "cleancss --level 1 --source-map --source-map-inline-sources --output dist/ivis.min.css dist/ivis.css", + "watch-css": "nodemon --watch ../ivis-core/client/src/scss -e scss -x \"npm run css\"", + "watch": "node ../ivis-core/client/pre-build.js && npm-run-all --parallel watch-css watch-js", + "build": "node ../ivis-core/client/pre-build.js && npm-run-all --parallel css js" + }, + "author": "Tomas Bures", + "license": "MIT", + "devDependencies": { + "@babel/cli": "^7.2.3", + "@babel/core": "^7.2.2", + "@babel/plugin-proposal-class-properties": "^7.2.3", + "@babel/plugin-proposal-decorators": "^7.2.3", + "@babel/plugin-proposal-function-bind": "^7.2.0", + "@babel/preset-env": "^7.2.3", + "@babel/preset-react": "^7.0.0", + "@coreui/coreui": "^2.1.4", + "@fortawesome/fontawesome-free": "^5.6.3", + "bootstrap": "^4.2.1", + "babel-loader": "^8.0.4", + "clean-css-cli": "^4.2.1", + "css-loader": "^2.1.0", + "file-loader": "^3.0.1", + "node-sass": "^4.11.0", + "nodemon": "^1.18.9", + "npm-run-all": "^4.1.5", + "sass-loader": "^7.1.0", + "style-loader": "^0.23.1", + "url-loader": "^1.1.2", + "webpack": "^4.28.3", + "webpack-cli": "^3.2.0" + }, + "optionalDependencies": {}, + "dependencies": {} +} diff --git a/mvis/client/src/root-trusted.js b/mvis/client/src/root-trusted.js new file mode 100644 index 00000000..1a6407cc --- /dev/null +++ b/mvis/client/src/root-trusted.js @@ -0,0 +1,9 @@ +'use strict'; + +import em from '../../ivis-core/client/src/lib/extension-manager'; +import './styles.scss'; + +em.set('app.title', 'Mailtrain IVIS'); + +require('../../ivis-core/client/src/root-trusted'); + diff --git a/mvis/client/src/styles.scss b/mvis/client/src/styles.scss new file mode 100644 index 00000000..e69de29b diff --git a/mvis/client/webpack.config.js b/mvis/client/webpack.config.js new file mode 100644 index 00000000..277f484c --- /dev/null +++ b/mvis/client/webpack.config.js @@ -0,0 +1,16 @@ +const webpack = require('webpack'); +const path = require('path'); + +const webpackConf = require('../ivis-core/client/webpack.config'); + +webpackConf.resolve.modules = ['node_modules', '../ivis-core/client/node_modules']; +webpackConf.entry = { + 'index-trusted': ['babel-polyfill', './src/root-trusted.js'], + 'index-sandbox': ['babel-polyfill', '../ivis-core/client/src/root-sandbox.js'] +}; +webpackConf.output = { + filename: '[name].js', + path: path.resolve(__dirname, 'dist') +}; + +module.exports = webpackConf; \ No newline at end of file diff --git a/mvis/ivis-core b/mvis/ivis-core new file mode 160000 index 00000000..fca588ec --- /dev/null +++ b/mvis/ivis-core @@ -0,0 +1 @@ +Subproject commit fca588ecbe7df717d2219bac82acdc3da1bd6f40 diff --git a/mvis/server/.gitignore b/mvis/server/.gitignore new file mode 100644 index 00000000..0ca36961 --- /dev/null +++ b/mvis/server/.gitignore @@ -0,0 +1,2 @@ +/node_modules +/config/development.yaml diff --git a/mvis/server/builder.js b/mvis/server/builder.js new file mode 100644 index 00000000..6ee3ef19 --- /dev/null +++ b/mvis/server/builder.js @@ -0,0 +1,5 @@ +'use strict'; + +require('./extensions-common'); +require('../ivis-core/server/services/builder'); + diff --git a/mvis/server/config/default.yaml b/mvis/server/config/default.yaml new file mode 100644 index 00000000..d835ac30 --- /dev/null +++ b/mvis/server/config/default.yaml @@ -0,0 +1,77 @@ +mysql: + host: localhost + user: mvis + password: mvis + database: mvis + +mailtrain: + url: http://localhost:3000/ + namespaces: + campaigns: 2 + userRole: mailtrainUser + +www: + # HTTP interface to listen on + host: 127.0.0.1 + # HTTP(S) port to listen on + trustedPort: 3010 + trustedPortIsHttps: false + sandboxPort: 3011 + sandboxPortIsHttps: false + apiPort: 3012 + apiPortIsHttps: false + + trustedUrlBase: http://localhost:3010 + sandboxUrlBase: http://localhost:3011 + + +roles: + global: + mailtrainUser: + name: "Mailtrain User" + admin: true + description: "Limited permissions that allow only read-only access" + permissions: + + namespace: + mailtrainUser: + name: "Mailtrain User" + description: "Limited permissions that allow only read-only access" + permissions: ["view"] + children: + namespace: ["view"] + template: ["view", "viewFiles", "execute"] + workspace: ["view"] + panel: ["view"] + signal: ["view", "query"] + signalSet: ["view", "query"] + +# template: +# mailtrainUser: +# name: "Mailtrain User" +# description: "Limited permissions that allow only read-only access" +# permissions: ["view", "viewFiles", "execute"] +# +# workspace: +# mailtrainUser: +# name: "Mailtrain User" +# description: "Limited permissions that allow only read-only access" +# permissions: ["view"] +# +# panel: +# mailtrainUser: +# name: "Mailtrain User" +# description: "Limited permissions that allow only read-only access" +# permissions: ["view"] +# +# signal: +# mailtrainUser: +# name: "Mailtrain User" +# description: "Limited permissions that allow only read-only access" +# permissions: ["view", "query"] +# +# signalSet: +# mailtrainUser: +# name: "Mailtrain User" +# description: "Limited permissions that allow only read-only access" +# permissions: ["view", "query"] diff --git a/mvis/server/config/production.yaml b/mvis/server/config/production.yaml new file mode 100644 index 00000000..829aaf67 --- /dev/null +++ b/mvis/server/config/production.yaml @@ -0,0 +1,15 @@ +www: + host: 0.0.0.0 + proxy: false + secret: "zooMee6R" + trustedUrlBase: http://mt:3010 + sandboxUrlBase: http://mt:3011 + +mysql: + password: foovap1Etieb + +redis: + enabled: true + +log: + level: verbose diff --git a/mvis/server/extensions-common.js b/mvis/server/extensions-common.js new file mode 100644 index 00000000..c917b517 --- /dev/null +++ b/mvis/server/extensions-common.js @@ -0,0 +1,13 @@ +'use strict'; + +const em = require('../ivis-core/server/lib/extension-manager'); +const path = require('path'); + +em.set('config.extraDirs', [ path.join(__dirname, 'config') ]); +em.set('builder.exec', path.join(__dirname, 'builder.js')); +em.set('indexer.elasticsearch.exec', path.join(__dirname, 'indexer-elasticsearch.js')); +em.set('app.title', 'Mailtrain IVIS'); + +em.set('models.namespaces.extraKeys', ['mt_campaign']); +em.set('models.signalSets.extraKeys', ['mt_dataset_type']); + diff --git a/mvis/server/index.js b/mvis/server/index.js new file mode 100644 index 00000000..bd9eb16d --- /dev/null +++ b/mvis/server/index.js @@ -0,0 +1,21 @@ +'use strict'; + +require('./extensions-common'); +const em = require('../ivis-core/server/lib/extension-manager'); + +const path = require('path'); + +em.set('app.clientDist', path.join(__dirname, '..', 'client', 'dist')); + +em.on('knex.migrate', async () => { + const knex = require('../ivis-core/server/lib/knex'); + await knex.migrateExtension('mvis', './knex/migrations').latest(); +}); + +em.on('app.installAPIRoutes', app => { + const embedApi = require('./routes/api/embed'); + app.use('/api', embedApi); +}); + +require('../ivis-core/server/index'); + diff --git a/mvis/server/indexer-elasticsearch.js b/mvis/server/indexer-elasticsearch.js new file mode 100644 index 00000000..e9edcaea --- /dev/null +++ b/mvis/server/indexer-elasticsearch.js @@ -0,0 +1,5 @@ +'use strict'; + +require('./extensions-common'); +require('../ivis-core/server/services/indexer-elasticsearch'); + diff --git a/mvis/server/knex/migrations/20181226130000_add_mailtrain_metadata.js b/mvis/server/knex/migrations/20181226130000_add_mailtrain_metadata.js new file mode 100644 index 00000000..ec9c7bfb --- /dev/null +++ b/mvis/server/knex/migrations/20181226130000_add_mailtrain_metadata.js @@ -0,0 +1,12 @@ +exports.up = (knex, Promise) => (async () => { + await knex.schema.table('signal_sets', table => { + table.integer('mt_dataset_type'); + }); + + await knex.schema.table('namespaces', table => { + table.integer('mt_campaign').unsigned(); + }); +})(); + +exports.down = (knex, Promise) => (async () => { +})(); \ No newline at end of file diff --git a/mvis/server/knexfile.js b/mvis/server/knexfile.js new file mode 100644 index 00000000..1b2aa60b --- /dev/null +++ b/mvis/server/knexfile.js @@ -0,0 +1,16 @@ +'use strict'; + +require('./extensions-common'); + +const config = require('../ivis-core/server/lib/config'); + +module.exports = { + client: 'mysql', + connection: config.mysql, + seeds: { + directory: '../ivis-core/server/knex/seeds' + }, + migrations: { + directory: '../ivis-core/server/knex/migrations' + } +}; diff --git a/mvis/server/package.json b/mvis/server/package.json new file mode 100644 index 00000000..d40cdc33 --- /dev/null +++ b/mvis/server/package.json @@ -0,0 +1,23 @@ +{ + "name": "mailtrain-ivis-server", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": {}, + "author": "Tomas Bures", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "devDependencies": {}, + "optionalDependencies": {}, + "dependencies": { + "axios": "^0.18.0", + "js-yaml": "^3.12.0", + "knex": "^0.16.3", + "moment": "^2.18.1", + "moment-timezone": "^0.5.21", + "mysql": "^2.16.0", + "npmlog": "^4.0.2" + } +} diff --git a/mvis/server/routes/api/embed.js b/mvis/server/routes/api/embed.js new file mode 100644 index 00000000..944ded36 --- /dev/null +++ b/mvis/server/routes/api/embed.js @@ -0,0 +1,27 @@ +'use strict'; + +const passport = require('../../../ivis-core/server/lib/passport'); +const shares = require('../../../ivis-core/server/models/shares'); +const users = require('../../../ivis-core/server/models/users'); +const {castToInteger} = require('../../../ivis-core/server/lib/helpers'); +const knex = require('../../../ivis-core/server/lib/knex'); +const urls = require('../../../ivis-core/server/lib/urls'); +const contextHelpers = require('../../../ivis-core/server/lib/context-helpers'); + +const router = require('../../../ivis-core/server/lib/router-async').create(); + +router.getAsync('/mt-embedded-panel/:mtUserId/:panelId', passport.loggedIn, async (req, res) => { + const panelId = castToInteger(req.params.panelId); + const mtUserId = castToInteger(req.params.mtUserId); + const userName = `mt-user-${mtUserId}`; + const user = await users.getByUsername(req.context, userName); + + const restrictedAccessToken = await users.getRestrictedAccessToken(req.context, 'panel', {panelId, renewableBySandbox: true}, user.id); + + return res.json({ + token: restrictedAccessToken, + ivisSandboxUrlBase: urls.getSandboxUrlBase() + }); +}); + +module.exports = router; diff --git a/mvis/server/setup-db.sh b/mvis/server/setup-db.sh new file mode 100644 index 00000000..35689868 --- /dev/null +++ b/mvis/server/setup-db.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +MYSQL_PASSWORD=`pwgen 12 -1` + +# Setup MySQL user for Mailtrain +mysql -u root -p -e "CREATE USER 'mvis'@'localhost' IDENTIFIED BY '$MYSQL_PASSWORD';" +mysql -u root -p -e "GRANT ALL PRIVILEGES ON mvis.* TO 'mvis'@'localhost';" +mysql -u mvis --password="$MYSQL_PASSWORD" -e "CREATE database mvis;" + +cat >> config/production.yaml < { + res.status(404).send('Not found'); +}); + +router.getAsync('/:mtUserId/:panelId', async (req, res) => { + const mtUserId = Number.parseInt(req.params.mtUserId); + const panelId = Number.parseInt(req.params.panelId); + + const url = `https://localhost:8445/api/mt-embedded-panel/${mtUserId}/${panelId}`; + const resp = await axios.get(url, { httpsAgent: agent }); + const panelInfo = resp.data; + + res.render('panel', { + token: panelInfo.token, + panelId: panelId, + ivisSandboxUrlBase: panelInfo.ivisSandboxUrlBase + }); +}); + + +app.use(router); + + +const server = http.createServer(app); + +server.on('listening', () => { + console.log('Express', `WWW server listening on HTTP port ${port}`); +}); + + +server.listen(port, '0.0.0.0'); + diff --git a/mvis/test-embed/package.json b/mvis/test-embed/package.json new file mode 100644 index 00000000..fec39774 --- /dev/null +++ b/mvis/test-embed/package.json @@ -0,0 +1,20 @@ +{ + "name": "test-embed", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": {}, + "author": "Tomas Bures", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "devDependencies": {}, + "optionalDependencies": {}, + "dependencies": { + "axios": "^0.18.0", + "express": "^4.15.2", + "handlebars": "^4.0.11", + "hbs": "^4.0.1" + } +} diff --git a/mvis/test-embed/views/layout.hbs b/mvis/test-embed/views/layout.hbs new file mode 100644 index 00000000..7ab69251 --- /dev/null +++ b/mvis/test-embed/views/layout.hbs @@ -0,0 +1,10 @@ + + + + + Test EVIF embed + + +{{{ body }}} + + \ No newline at end of file diff --git a/mvis/test-embed/views/panel.hbs b/mvis/test-embed/views/panel.hbs new file mode 100644 index 00000000..f05e39c1 --- /dev/null +++ b/mvis/test-embed/views/panel.hbs @@ -0,0 +1,8 @@ +
+ + + + + diff --git a/mvis/tools/delete-els-indexes.sh b/mvis/tools/delete-els-indexes.sh new file mode 100644 index 00000000..88c70757 --- /dev/null +++ b/mvis/tools/delete-els-indexes.sh @@ -0,0 +1,7 @@ +#!/bin/sh + +SIGSETS=`curl -X GET "localhost:9200/_cat/indices?v" | grep 'signal_set_' | sed -e 's:.*\(signal_set_[^ ]*\).*:\1:g'` + +for SIGSET in $SIGSETS ; do + curl -X DELETE "localhost:9200/$SIGSET" +done diff --git a/mvis/tools/list-els-indexes.sh b/mvis/tools/list-els-indexes.sh new file mode 100644 index 00000000..687e57af --- /dev/null +++ b/mvis/tools/list-els-indexes.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +curl -X GET "localhost:9200/_cat/indices?v" diff --git a/mvis/tools/new-db.sh b/mvis/tools/new-db.sh new file mode 100644 index 00000000..f05d6953 --- /dev/null +++ b/mvis/tools/new-db.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +sudo mysql -e 'drop database mvis; create database mvis' diff --git a/mvis/tools/reinstall-modules.sh b/mvis/tools/reinstall-modules.sh new file mode 100644 index 00000000..89186ea3 --- /dev/null +++ b/mvis/tools/reinstall-modules.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +PACKAGE_DIRS="client server test-embed ivis-core/client ivis-core/shared ivis-core/server ivis-core/embedding" + +for i in $PACKAGE_DIRS; do echo $i; cd $i; rm -rf node_modules; npm install; cd -; done \ No newline at end of file diff --git a/mvis/tools/reset-db.sh b/mvis/tools/reset-db.sh new file mode 100644 index 00000000..166cc39a --- /dev/null +++ b/mvis/tools/reset-db.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +sudo mysql -e 'drop database mt_ivis; create database mt_ivis; connect mt_ivis' diff --git a/package.json b/package.json deleted file mode 100644 index 51e18bf3..00000000 --- a/package.json +++ /dev/null @@ -1,122 +0,0 @@ -{ - "name": "mailtrain", - "private": true, - "version": "1.24.0", - "description": "Self hosted email newsletter app", - "main": "index.js", - "scripts": { - "test": "grunt", - "start": "node index.js", - "sqlinit": "node setup/sql/init.js", - "sqldump": "node setup/sql/dump.js | sed -e '/^\\/\\*.*\\*\\/;$/d' -e 's/.[0-9]\\{4\\}-[0-9][0-9]-[0-9][0-9] [0-9][0-9]:[0-9][0-9]:[0-9][0-9]./NOW()/g' > setup/sql/mailtrain${DUMP_NAME_SUFFIX}.sql", - "sqldrop": "node setup/sql/drop.js", - "sqlgen": "npm run sqldrop && DB_FROM_START=Y npm run sqlinit && npm run sqldump", - "langs:hbs": "jsxgettext -L handlebars -k translate -o langs/hbs.pot views/layout.hbs views/index.hbs", - "langs:js": "jsxgettext -o languages/js.pot routes/index.js", - "langs": "npm run langs:hbs && npm run langs:js", - "sqldumptest": "NODE_ENV=test DUMP_NAME_SUFFIX=-test npm run sqldump", - "sqlresettest": "NODE_ENV=test npm run sqldrop && NODE_ENV=test npm run sqlinit", - "starttest": "NODE_ENV=test node index.js", - "_e2e": "NODE_ENV=test node test/e2e/index.js", - "e2e": "npm run sqlresettest && npm run _e2e" - }, - "repository": { - "type": "git", - "url": "git://github.com/Mailtrain-org/mailtrain.git" - }, - "author": "Andris Reinman", - "license": "GPL-3.0", - "homepage": "https://mailtrain.org/", - "engines": { - "node": ">=5.0.0" - }, - "devDependencies": { - "babel-eslint": "^8.0.0", - "bluebird": "^3.5.0", - "chai": "^4.1.2", - "eslint-config-nodemailer": "^1.2.0", - "grunt": "^1.0.1", - "grunt-cli": "^1.2.0", - "grunt-contrib-nodeunit": "^1.0.0", - "grunt-eslint": "^20.1.0", - "jsxgettext-andris": "^0.9.0-patch.1", - "lodash": "^4.17.4", - "mocha": "^3.5.3", - "phantomjs-prebuilt": "^2.1.15", - "selenium-webdriver": "^3.5.0", - "url-pattern": "^1.0.3" - }, - "optionalDependencies": { - "posix": "^4.1.1" - }, - "dependencies": { - "async": "^2.5.0", - "aws-sdk": "^2.122.0", - "bcrypt-nodejs": "0.0.3", - "body-parser": "^1.18.2", - "bounce-handler": "^7.3.2-fork.2", - "compression": "^1.7.0", - "config": "^1.26.2", - "connect-flash": "^0.1.1", - "connect-redis": "^3.3.0", - "cookie-parser": "^1.4.3", - "cors": "^2.8.4", - "csurf": "^1.9.0", - "csv-parse": "^1.2.3", - "device": "^0.3.8", - "dompurify": "^1.0.2", - "escape-html": "^1.0.3", - "escape-string-regexp": "^1.0.5", - "express": "^4.15.5", - "express-session": "^1.15.5", - "faker": "^4.1.0", - "feedparser": "^2.2.1", - "fs-extra": "^4.0.2", - "geoip-ultralight": "^0.1.5", - "gettext-parser": "^1.3.0", - "gm": "^1.23.0", - "handlebars": "^4.0.10", - "hbs": "^4.0.1", - "he": "^1.1.1", - "html-to-text": "^3.3.0", - "humanize": "0.0.9", - "is-url": "^1.2.2", - "isemail": "^2.2.1", - "jquery-file-upload-middleware": "^0.1.8", - "jsdom": "^9.12.0", - "json-stringify-date": "^0.1.4", - "juice": "^4.1.1", - "libmime": "^3.1.0", - "mailparser": "^2.0.5", - "marked": "^0.3.6", - "memory-cache": "^0.2.0", - "mjml": "3.3.5", - "mkdirp": "^0.5.1", - "moment-timezone": "^0.5.13", - "morgan": "^1.8.2", - "multer": "^1.3.0", - "multiparty": "^4.1.3", - "mysql": "^2.14.1", - "node-gettext": "^2.0.0", - "node-mocks-http": "^1.6.5", - "nodemailer": "^4.1.1", - "nodemailer-openpgp": "^1.1.0", - "npmlog": "^4.1.2", - "object-hash": "^1.1.8", - "openpgp": "^2.5.11", - "passport": "^0.4.0", - "passport-local": "^1.0.0", - "premailer-api": "^1.0.4", - "redfour": "^1.0.2", - "redis": "^2.8.0", - "request": "^2.82.0", - "request-promise": "^4.2.2", - "serve-favicon": "^2.4.4", - "shortid": "^2.2.8", - "slugify": "^1.2.1", - "smtp-server": "^3.1.0", - "striptags": "^3.1.0", - "toml": "^2.3.3", - "try-require": "^1.2.1" - } -} diff --git a/public/ace/ace.js b/public/ace/ace.js deleted file mode 100644 index 2923ef0c..00000000 --- a/public/ace/ace.js +++ /dev/null @@ -1,11 +0,0 @@ -(function(){function o(n){var i=e;n&&(e[n]||(e[n]={}),i=e[n]);if(!i.define||!i.define.packaged)t.original=i.define,i.define=t,i.define.packaged=!0;if(!i.require||!i.require.packaged)r.original=i.require,i.require=r,i.require.packaged=!0}var ACE_NAMESPACE = "ace",e=function(){return this}();!e&&typeof window!="undefined"&&(e=window);if(!ACE_NAMESPACE&&typeof requirejs!="undefined")return;var t=function(e,n,r){if(typeof e!="string"){t.original?t.original.apply(this,arguments):(console.error("dropping module because define wasn't a string."),console.trace());return}arguments.length==2&&(r=n),t.modules[e]||(t.payloads[e]=r,t.modules[e]=null)};t.modules={},t.payloads={};var n=function(e,t,n){if(typeof t=="string"){var i=s(e,t);if(i!=undefined)return n&&n(),i}else if(Object.prototype.toString.call(t)==="[object Array]"){var o=[];for(var u=0,a=t.length;u1&&u(t,"")>-1&&(a=RegExp(this.source,r.replace.call(o(this),"g","")),r.replace.call(e.slice(t.index),a,function(){for(var e=1;et.index&&this.lastIndex--}return t},s||(RegExp.prototype.test=function(e){var t=r.exec.call(this,e);return t&&this.global&&!t[0].length&&this.lastIndex>t.index&&this.lastIndex--,!!t})}),ace.define("ace/lib/es5-shim",["require","exports","module"],function(e,t,n){function r(){}function w(e){try{return Object.defineProperty(e,"sentinel",{}),"sentinel"in e}catch(t){}}function H(e){return e=+e,e!==e?e=0:e!==0&&e!==1/0&&e!==-1/0&&(e=(e>0||-1)*Math.floor(Math.abs(e))),e}function B(e){var t=typeof e;return e===null||t==="undefined"||t==="boolean"||t==="number"||t==="string"}function j(e){var t,n,r;if(B(e))return e;n=e.valueOf;if(typeof n=="function"){t=n.call(e);if(B(t))return t}r=e.toString;if(typeof r=="function"){t=r.call(e);if(B(t))return t}throw new TypeError}Function.prototype.bind||(Function.prototype.bind=function(t){var n=this;if(typeof n!="function")throw new TypeError("Function.prototype.bind called on incompatible "+n);var i=u.call(arguments,1),s=function(){if(this instanceof s){var e=n.apply(this,i.concat(u.call(arguments)));return Object(e)===e?e:this}return n.apply(t,i.concat(u.call(arguments)))};return n.prototype&&(r.prototype=n.prototype,s.prototype=new r,r.prototype=null),s});var i=Function.prototype.call,s=Array.prototype,o=Object.prototype,u=s.slice,a=i.bind(o.toString),f=i.bind(o.hasOwnProperty),l,c,h,p,d;if(d=f(o,"__defineGetter__"))l=i.bind(o.__defineGetter__),c=i.bind(o.__defineSetter__),h=i.bind(o.__lookupGetter__),p=i.bind(o.__lookupSetter__);if([1,2].splice(0).length!=2)if(!function(){function e(e){var t=new Array(e+2);return t[0]=t[1]=0,t}var t=[],n;t.splice.apply(t,e(20)),t.splice.apply(t,e(26)),n=t.length,t.splice(5,0,"XXX"),n+1==t.length;if(n+1==t.length)return!0}())Array.prototype.splice=function(e,t){var n=this.length;e>0?e>n&&(e=n):e==void 0?e=0:e<0&&(e=Math.max(n+e,0)),e+ta)for(h=l;h--;)this[f+h]=this[a+h];if(s&&e===c)this.length=c,this.push.apply(this,i);else{this.length=c+s;for(h=0;h>>0;if(a(t)!="[object Function]")throw new TypeError;while(++s>>0,s=Array(i),o=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var u=0;u>>0,s=[],o,u=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var f=0;f>>0,s=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var o=0;o>>0,s=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var o=0;o>>0;if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");if(!i&&arguments.length==1)throw new TypeError("reduce of empty array with no initial value");var s=0,o;if(arguments.length>=2)o=arguments[1];else do{if(s in r){o=r[s++];break}if(++s>=i)throw new TypeError("reduce of empty array with no initial value")}while(!0);for(;s>>0;if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");if(!i&&arguments.length==1)throw new TypeError("reduceRight of empty array with no initial value");var s,o=i-1;if(arguments.length>=2)s=arguments[1];else do{if(o in r){s=r[o--];break}if(--o<0)throw new TypeError("reduceRight of empty array with no initial value")}while(!0);do o in this&&(s=t.call(void 0,s,r[o],o,n));while(o--);return s});if(!Array.prototype.indexOf||[0,1].indexOf(1,2)!=-1)Array.prototype.indexOf=function(t){var n=g&&a(this)=="[object String]"?this.split(""):F(this),r=n.length>>>0;if(!r)return-1;var i=0;arguments.length>1&&(i=H(arguments[1])),i=i>=0?i:Math.max(0,r+i);for(;i>>0;if(!r)return-1;var i=r-1;arguments.length>1&&(i=Math.min(i,H(arguments[1]))),i=i>=0?i:r-Math.abs(i);for(;i>=0;i--)if(i in n&&t===n[i])return i;return-1};Object.getPrototypeOf||(Object.getPrototypeOf=function(t){return t.__proto__||(t.constructor?t.constructor.prototype:o)});if(!Object.getOwnPropertyDescriptor){var y="Object.getOwnPropertyDescriptor called on a non-object: ";Object.getOwnPropertyDescriptor=function(t,n){if(typeof t!="object"&&typeof t!="function"||t===null)throw new TypeError(y+t);if(!f(t,n))return;var r,i,s;r={enumerable:!0,configurable:!0};if(d){var u=t.__proto__;t.__proto__=o;var i=h(t,n),s=p(t,n);t.__proto__=u;if(i||s)return i&&(r.get=i),s&&(r.set=s),r}return r.value=t[n],r}}Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(t){return Object.keys(t)});if(!Object.create){var b;Object.prototype.__proto__===null?b=function(){return{__proto__:null}}:b=function(){var e={};for(var t in e)e[t]=null;return e.constructor=e.hasOwnProperty=e.propertyIsEnumerable=e.isPrototypeOf=e.toLocaleString=e.toString=e.valueOf=e.__proto__=null,e},Object.create=function(t,n){var r;if(t===null)r=b();else{if(typeof t!="object")throw new TypeError("typeof prototype["+typeof t+"] != 'object'");var i=function(){};i.prototype=t,r=new i,r.__proto__=t}return n!==void 0&&Object.defineProperties(r,n),r}}if(Object.defineProperty){var E=w({}),S=typeof document=="undefined"||w(document.createElement("div"));if(!E||!S)var x=Object.defineProperty}if(!Object.defineProperty||x){var T="Property description must be an object: ",N="Object.defineProperty called on non-object: ",C="getters & setters can not be defined on this javascript engine";Object.defineProperty=function(t,n,r){if(typeof t!="object"&&typeof t!="function"||t===null)throw new TypeError(N+t);if(typeof r!="object"&&typeof r!="function"||r===null)throw new TypeError(T+r);if(x)try{return x.call(Object,t,n,r)}catch(i){}if(f(r,"value"))if(d&&(h(t,n)||p(t,n))){var s=t.__proto__;t.__proto__=o,delete t[n],t[n]=r.value,t.__proto__=s}else t[n]=r.value;else{if(!d)throw new TypeError(C);f(r,"get")&&l(t,n,r.get),f(r,"set")&&c(t,n,r.set)}return t}}Object.defineProperties||(Object.defineProperties=function(t,n){for(var r in n)f(n,r)&&Object.defineProperty(t,r,n[r]);return t}),Object.seal||(Object.seal=function(t){return t}),Object.freeze||(Object.freeze=function(t){return t});try{Object.freeze(function(){})}catch(k){Object.freeze=function(t){return function(n){return typeof n=="function"?n:t(n)}}(Object.freeze)}Object.preventExtensions||(Object.preventExtensions=function(t){return t}),Object.isSealed||(Object.isSealed=function(t){return!1}),Object.isFrozen||(Object.isFrozen=function(t){return!1}),Object.isExtensible||(Object.isExtensible=function(t){if(Object(t)===t)throw new TypeError;var n="";while(f(t,n))n+="?";t[n]=!0;var r=f(t,n);return delete t[n],r});if(!Object.keys){var L=!0,A=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],O=A.length;for(var M in{toString:null})L=!1;Object.keys=function I(e){if(typeof e!="object"&&typeof e!="function"||e===null)throw new TypeError("Object.keys called on a non-object");var I=[];for(var t in e)f(e,t)&&I.push(t);if(L)for(var n=0,r=O;n=0?parseFloat((i.match(/(?:MSIE |Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]):parseFloat((i.match(/(?:Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]),t.isOldIE=t.isIE&&t.isIE<9,t.isGecko=t.isMozilla=(window.Controllers||window.controllers)&&window.navigator.product==="Gecko",t.isOldGecko=t.isGecko&&parseInt((i.match(/rv\:(\d+)/)||[])[1],10)<4,t.isOpera=window.opera&&Object.prototype.toString.call(window.opera)=="[object Opera]",t.isWebKit=parseFloat(i.split("WebKit/")[1])||undefined,t.isChrome=parseFloat(i.split(" Chrome/")[1])||undefined,t.isAIR=i.indexOf("AdobeAIR")>=0,t.isIPad=i.indexOf("iPad")>=0,t.isTouchPad=i.indexOf("TouchPad")>=0,t.isChromeOS=i.indexOf(" CrOS ")>=0}),ace.define("ace/lib/event",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(e,t,n){"use strict";function a(e,t,n){var a=u(t);if(!i.isMac&&s){s.OSKey&&(a|=8);if(s.altGr){if((3&a)==3)return;s.altGr=0}if(n===18||n===17){var f="location"in t?t.location:t.keyLocation;if(n===17&&f===1)s[n]==1&&(o=t.timeStamp);else if(n===18&&a===3&&f===2){var l=t.timeStamp-o;l<50&&(s.altGr=!0)}}}n in r.MODIFIER_KEYS&&(n=-1),a&8&&n>=91&&n<=93&&(n=-1);if(!a&&n===13){var f="location"in t?t.location:t.keyLocation;if(f===3){e(t,a,-n);if(t.defaultPrevented)return}}if(i.isChromeOS&&a&8){e(t,a,n);if(t.defaultPrevented)return;a&=-9}return!!a||n in r.FUNCTION_KEYS||n in r.PRINTABLE_KEYS?e(t,a,n):!1}function f(){s=Object.create(null),s.count=0,s.lastT=0}var r=e("./keys"),i=e("./useragent"),s=null,o=0;t.addListener=function(e,t,n){if(e.addEventListener)return e.addEventListener(t,n,!1);if(e.attachEvent){var r=function(){n.call(e,window.event)};n._wrapper=r,e.attachEvent("on"+t,r)}},t.removeListener=function(e,t,n){if(e.removeEventListener)return e.removeEventListener(t,n,!1);e.detachEvent&&e.detachEvent("on"+t,n._wrapper||n)},t.stopEvent=function(e){return t.stopPropagation(e),t.preventDefault(e),!1},t.stopPropagation=function(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0},t.preventDefault=function(e){e.preventDefault?e.preventDefault():e.returnValue=!1},t.getButton=function(e){return e.type=="dblclick"?0:e.type=="contextmenu"||i.isMac&&e.ctrlKey&&!e.altKey&&!e.shiftKey?2:e.preventDefault?e.button:{1:0,2:2,4:1}[e.button]},t.capture=function(e,n,r){function i(e){n&&n(e),r&&r(e),t.removeListener(document,"mousemove",n,!0),t.removeListener(document,"mouseup",i,!0),t.removeListener(document,"dragstart",i,!0)}return t.addListener(document,"mousemove",n,!0),t.addListener(document,"mouseup",i,!0),t.addListener(document,"dragstart",i,!0),i},t.addTouchMoveListener=function(e,n){if("ontouchmove"in e){var r,i;t.addListener(e,"touchstart",function(e){var t=e.changedTouches[0];r=t.clientX,i=t.clientY}),t.addListener(e,"touchmove",function(e){var t=1,s=e.changedTouches[0];e.wheelX=-(s.clientX-r)/t,e.wheelY=-(s.clientY-i)/t,r=s.clientX,i=s.clientY,n(e)})}},t.addMouseWheelListener=function(e,n){"onmousewheel"in e?t.addListener(e,"mousewheel",function(e){var t=8;e.wheelDeltaX!==undefined?(e.wheelX=-e.wheelDeltaX/t,e.wheelY=-e.wheelDeltaY/t):(e.wheelX=0,e.wheelY=-e.wheelDelta/t),n(e)}):"onwheel"in e?t.addListener(e,"wheel",function(e){var t=.35;switch(e.deltaMode){case e.DOM_DELTA_PIXEL:e.wheelX=e.deltaX*t||0,e.wheelY=e.deltaY*t||0;break;case e.DOM_DELTA_LINE:case e.DOM_DELTA_PAGE:e.wheelX=(e.deltaX||0)*5,e.wheelY=(e.deltaY||0)*5}n(e)}):t.addListener(e,"DOMMouseScroll",function(e){e.axis&&e.axis==e.HORIZONTAL_AXIS?(e.wheelX=(e.detail||0)*5,e.wheelY=0):(e.wheelX=0,e.wheelY=(e.detail||0)*5),n(e)})},t.addMultiMouseDownListener=function(e,n,r,s){function c(e){t.getButton(e)!==0?o=0:e.detail>1?(o++,o>4&&(o=1)):o=1;if(i.isIE){var c=Math.abs(e.clientX-u)>5||Math.abs(e.clientY-a)>5;if(!f||c)o=1;f&&clearTimeout(f),f=setTimeout(function(){f=null},n[o-1]||600),o==1&&(u=e.clientX,a=e.clientY)}e._clicks=o,r[s]("mousedown",e);if(o>4)o=0;else if(o>1)return r[s](l[o],e)}function h(e){o=2,f&&clearTimeout(f),f=setTimeout(function(){f=null},n[o-1]||600),r[s]("mousedown",e),r[s](l[o],e)}var o=0,u,a,f,l={2:"dblclick",3:"tripleclick",4:"quadclick"};Array.isArray(e)||(e=[e]),e.forEach(function(e){t.addListener(e,"mousedown",c),i.isOldIE&&t.addListener(e,"dblclick",h)})};var u=!i.isMac||!i.isOpera||"KeyboardEvent"in window?function(e){return 0|(e.ctrlKey?1:0)|(e.altKey?2:0)|(e.shiftKey?4:0)|(e.metaKey?8:0)}:function(e){return 0|(e.metaKey?1:0)|(e.altKey?2:0)|(e.shiftKey?4:0)|(e.ctrlKey?8:0)};t.getModifierString=function(e){return r.KEY_MODS[u(e)]},t.addCommandKeyListener=function(e,n){var r=t.addListener;if(i.isOldGecko||i.isOpera&&!("KeyboardEvent"in window)){var o=null;r(e,"keydown",function(e){o=e.keyCode}),r(e,"keypress",function(e){return a(n,e,o)})}else{var u=null;r(e,"keydown",function(e){var t=e.keyCode;s[t]=(s[t]||0)+1,t==91||t==92?s.OSKey=!0:s.OSKey&&e.timeStamp-s.lastT>200&&s.count==1&&f(),s[t]==1&&s.count++,s.lastT=e.timeStamp;var r=a(n,e,t);return u=e.defaultPrevented,r}),r(e,"keypress",function(e){u&&(e.ctrlKey||e.altKey||e.shiftKey||e.metaKey)&&(t.stopEvent(e),u=null)}),r(e,"keyup",function(e){var t=e.keyCode;s[t]?s.count=Math.max(s.count-1,0):f();if(t==91||t==92)s.OSKey=!1;s[t]=null}),s||(f(),r(window,"focus",f))}};if(typeof window=="object"&&window.postMessage&&!i.isOldIE){var l=1;t.nextTick=function(e,n){n=n||window;var r="zero-timeout-message-"+l;t.addListener(n,"message",function i(s){s.data==r&&(t.stopPropagation(s),t.removeListener(n,"message",i),e())}),n.postMessage(r,"*")}}t.nextFrame=typeof window=="object"&&(window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame),t.nextFrame?t.nextFrame=t.nextFrame.bind(window):t.nextFrame=function(e){setTimeout(e,17)}}),ace.define("ace/lib/lang",["require","exports","module"],function(e,t,n){"use strict";t.last=function(e){return e[e.length-1]},t.stringReverse=function(e){return e.split("").reverse().join("")},t.stringRepeat=function(e,t){var n="";while(t>0){t&1&&(n+=e);if(t>>=1)e+=e}return n};var r=/^\s\s*/,i=/\s\s*$/;t.stringTrimLeft=function(e){return e.replace(r,"")},t.stringTrimRight=function(e){return e.replace(i,"")},t.copyObject=function(e){var t={};for(var n in e)t[n]=e[n];return t},t.copyArray=function(e){var t=[];for(var n=0,r=e.length;n1),e.preventDefault()},this.startSelect=function(e,t){e=e||this.editor.renderer.screenToTextCoordinates(this.x,this.y);var n=this.editor;n.$blockScrolling++,this.mousedownEvent.getShiftKey()?n.selection.selectToPosition(e):t||n.selection.moveToPosition(e),t||this.select(),n.renderer.scroller.setCapture&&n.renderer.scroller.setCapture(),n.setStyle("ace_selecting"),this.setState("select"),n.$blockScrolling--},this.select=function(){var e,t=this.editor,n=t.renderer.screenToTextCoordinates(this.x,this.y);t.$blockScrolling++;if(this.$clickSelection){var r=this.$clickSelection.comparePoint(n);if(r==-1)e=this.$clickSelection.end;else if(r==1)e=this.$clickSelection.start;else{var i=f(this.$clickSelection,n);n=i.cursor,e=i.anchor}t.selection.setSelectionAnchor(e.row,e.column)}t.selection.selectToPosition(n),t.$blockScrolling--,t.renderer.scrollCursorIntoView()},this.extendSelectionBy=function(e){var t,n=this.editor,r=n.renderer.screenToTextCoordinates(this.x,this.y),i=n.selection[e](r.row,r.column);n.$blockScrolling++;if(this.$clickSelection){var s=this.$clickSelection.comparePoint(i.start),o=this.$clickSelection.comparePoint(i.end);if(s==-1&&o<=0){t=this.$clickSelection.end;if(i.end.row!=r.row||i.end.column!=r.column)r=i.start}else if(o==1&&s>=0){t=this.$clickSelection.start;if(i.start.row!=r.row||i.start.column!=r.column)r=i.end}else if(s==-1&&o==1)r=i.end,t=i.start;else{var u=f(this.$clickSelection,r);r=u.cursor,t=u.anchor}n.selection.setSelectionAnchor(t.row,t.column)}n.selection.selectToPosition(r),n.$blockScrolling--,n.renderer.scrollCursorIntoView()},this.selectEnd=this.selectAllEnd=this.selectByWordsEnd=this.selectByLinesEnd=function(){this.$clickSelection=null,this.editor.unsetStyle("ace_selecting"),this.editor.renderer.scroller.releaseCapture&&this.editor.renderer.scroller.releaseCapture()},this.focusWait=function(){var e=a(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y),t=Date.now();(e>o||t-this.mousedownEvent.time>this.$focusTimout)&&this.startSelect(this.mousedownEvent.getDocumentPosition())},this.onDoubleClick=function(e){var t=e.getDocumentPosition(),n=this.editor,r=n.session,i=r.getBracketRange(t);i?(i.isEmpty()&&(i.start.column--,i.end.column++),this.setState("select")):(i=n.selection.getWordRange(t.row,t.column),this.setState("selectByWords")),this.$clickSelection=i,this.select()},this.onTripleClick=function(e){var t=e.getDocumentPosition(),n=this.editor;this.setState("selectByLines");var r=n.getSelectionRange();r.isMultiLine()&&r.contains(t.row,t.column)?(this.$clickSelection=n.selection.getLineRange(r.start.row),this.$clickSelection.end=n.selection.getLineRange(r.end.row).end):this.$clickSelection=n.selection.getLineRange(t.row),this.select()},this.onQuadClick=function(e){var t=this.editor;t.selectAll(),this.$clickSelection=t.getSelectionRange(),this.setState("selectAll")},this.onMouseWheel=function(e){if(e.getAccelKey())return;e.getShiftKey()&&e.wheelY&&!e.wheelX&&(e.wheelX=e.wheelY,e.wheelY=0);var t=e.domEvent.timeStamp,n=t-(this.$lastScrollTime||0),r=this.editor,i=r.renderer.isScrollableBy(e.wheelX*e.speed,e.wheelY*e.speed);if(i||n<200)return this.$lastScrollTime=t,r.renderer.scrollBy(e.wheelX*e.speed,e.wheelY*e.speed),e.stop()},this.onTouchMove=function(e){var t=e.domEvent.timeStamp,n=t-(this.$lastScrollTime||0),r=this.editor,i=r.renderer.isScrollableBy(e.wheelX*e.speed,e.wheelY*e.speed);if(i||n<200)return this.$lastScrollTime=t,r.renderer.scrollBy(e.wheelX*e.speed,e.wheelY*e.speed),e.stop()}}).call(u.prototype),t.DefaultHandlers=u}),ace.define("ace/tooltip",["require","exports","module","ace/lib/oop","ace/lib/dom"],function(e,t,n){"use strict";function s(e){this.isOpen=!1,this.$element=null,this.$parentNode=e}var r=e("./lib/oop"),i=e("./lib/dom");(function(){this.$init=function(){return this.$element=i.createElement("div"),this.$element.className="ace_tooltip",this.$element.style.display="none",this.$parentNode.appendChild(this.$element),this.$element},this.getElement=function(){return this.$element||this.$init()},this.setText=function(e){i.setInnerText(this.getElement(),e)},this.setHtml=function(e){this.getElement().innerHTML=e},this.setPosition=function(e,t){this.getElement().style.left=e+"px",this.getElement().style.top=t+"px"},this.setClassName=function(e){i.addCssClass(this.getElement(),e)},this.show=function(e,t,n){e!=null&&this.setText(e),t!=null&&n!=null&&this.setPosition(t,n),this.isOpen||(this.getElement().style.display="block",this.isOpen=!0)},this.hide=function(){this.isOpen&&(this.getElement().style.display="none",this.isOpen=!1)},this.getHeight=function(){return this.getElement().offsetHeight},this.getWidth=function(){return this.getElement().offsetWidth}}).call(s.prototype),t.Tooltip=s}),ace.define("ace/mouse/default_gutter_handler",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/event","ace/tooltip"],function(e,t,n){"use strict";function u(e){function l(){var r=u.getDocumentPosition().row,s=n.$annotations[r];if(!s)return c();var o=t.session.getLength();if(r==o){var a=t.renderer.pixelToScreenCoordinates(0,u.y).row,l=u.$pos;if(a>t.session.documentToScreenRow(l.row,l.column))return c()}if(f==s)return;f=s.text.join("
"),i.setHtml(f),i.show(),t.on("mousewheel",c);if(e.$tooltipFollowsMouse)h(u);else{var p=u.domEvent.target,d=p.getBoundingClientRect(),v=i.getElement().style;v.left=d.right+"px",v.top=d.bottom+"px"}}function c(){o&&(o=clearTimeout(o)),f&&(i.hide(),f=null,t.removeEventListener("mousewheel",c))}function h(e){i.setPosition(e.x,e.y)}var t=e.editor,n=t.renderer.$gutterLayer,i=new a(t.container);e.editor.setDefaultHandler("guttermousedown",function(r){if(!t.isFocused()||r.getButton()!=0)return;var i=n.getRegion(r);if(i=="foldWidgets")return;var s=r.getDocumentPosition().row,o=t.session.selection;if(r.getShiftKey())o.selectTo(s,0);else{if(r.domEvent.detail==2)return t.selectAll(),r.preventDefault();e.$clickSelection=t.selection.getLineRange(s)}return e.setState("selectByLines"),e.captureMouse(r),r.preventDefault()});var o,u,f;e.editor.setDefaultHandler("guttermousemove",function(t){var n=t.domEvent.target||t.domEvent.srcElement;if(r.hasCssClass(n,"ace_fold-widget"))return c();f&&e.$tooltipFollowsMouse&&h(t),u=t;if(o)return;o=setTimeout(function(){o=null,u&&!e.isMousePressed?l():c()},50)}),s.addListener(t.renderer.$gutter,"mouseout",function(e){u=null;if(!f||o)return;o=setTimeout(function(){o=null,c()},50)}),t.on("changeSession",c)}function a(e){o.call(this,e)}var r=e("../lib/dom"),i=e("../lib/oop"),s=e("../lib/event"),o=e("../tooltip").Tooltip;i.inherits(a,o),function(){this.setPosition=function(e,t){var n=window.innerWidth||document.documentElement.clientWidth,r=window.innerHeight||document.documentElement.clientHeight,i=this.getWidth(),s=this.getHeight();e+=15,t+=15,e+i>n&&(e-=e+i-n),t+s>r&&(t-=20+s),o.prototype.setPosition.call(this,e,t)}}.call(a.prototype),t.GutterHandler=u}),ace.define("ace/mouse/mouse_event",["require","exports","module","ace/lib/event","ace/lib/useragent"],function(e,t,n){"use strict";var r=e("../lib/event"),i=e("../lib/useragent"),s=t.MouseEvent=function(e,t){this.domEvent=e,this.editor=t,this.x=this.clientX=e.clientX,this.y=this.clientY=e.clientY,this.$pos=null,this.$inSelection=null,this.propagationStopped=!1,this.defaultPrevented=!1};(function(){this.stopPropagation=function(){r.stopPropagation(this.domEvent),this.propagationStopped=!0},this.preventDefault=function(){r.preventDefault(this.domEvent),this.defaultPrevented=!0},this.stop=function(){this.stopPropagation(),this.preventDefault()},this.getDocumentPosition=function(){return this.$pos?this.$pos:(this.$pos=this.editor.renderer.screenToTextCoordinates(this.clientX,this.clientY),this.$pos)},this.inSelection=function(){if(this.$inSelection!==null)return this.$inSelection;var e=this.editor,t=e.getSelectionRange();if(t.isEmpty())this.$inSelection=!1;else{var n=this.getDocumentPosition();this.$inSelection=t.contains(n.row,n.column)}return this.$inSelection},this.getButton=function(){return r.getButton(this.domEvent)},this.getShiftKey=function(){return this.domEvent.shiftKey},this.getAccelKey=i.isMac?function(){return this.domEvent.metaKey}:function(){return this.domEvent.ctrlKey}}).call(s.prototype)}),ace.define("ace/mouse/dragdrop_handler",["require","exports","module","ace/lib/dom","ace/lib/event","ace/lib/useragent"],function(e,t,n){"use strict";function f(e){function T(e,n){var r=Date.now(),i=!n||e.row!=n.row,s=!n||e.column!=n.column;if(!S||i||s)t.$blockScrolling+=1,t.moveCursorToPosition(e),t.$blockScrolling-=1,S=r,x={x:p,y:d};else{var o=l(x.x,x.y,p,d);o>a?S=null:r-S>=u&&(t.renderer.scrollCursorIntoView(),S=null)}}function N(e,n){var r=Date.now(),i=t.renderer.layerConfig.lineHeight,s=t.renderer.layerConfig.characterWidth,u=t.renderer.scroller.getBoundingClientRect(),a={x:{left:p-u.left,right:u.right-p},y:{top:d-u.top,bottom:u.bottom-d}},f=Math.min(a.x.left,a.x.right),l=Math.min(a.y.top,a.y.bottom),c={row:e.row,column:e.column};f/s<=2&&(c.column+=a.x.left=o&&t.renderer.scrollCursorIntoView(c):E=r:E=null}function C(){var e=g;g=t.renderer.screenToTextCoordinates(p,d),T(g,e),N(g,e)}function k(){m=t.selection.toOrientedRange(),h=t.session.addMarker(m,"ace_selection",t.getSelectionStyle()),t.clearSelection(),t.isFocused()&&t.renderer.$cursorLayer.setBlinking(!1),clearInterval(v),C(),v=setInterval(C,20),y=0,i.addListener(document,"mousemove",O)}function L(){clearInterval(v),t.session.removeMarker(h),h=null,t.$blockScrolling+=1,t.selection.fromOrientedRange(m),t.$blockScrolling-=1,t.isFocused()&&!w&&t.renderer.$cursorLayer.setBlinking(!t.getReadOnly()),m=null,g=null,y=0,E=null,S=null,i.removeListener(document,"mousemove",O)}function O(){A==null&&(A=setTimeout(function(){A!=null&&h&&L()},20))}function M(e){var t=e.types;return!t||Array.prototype.some.call(t,function(e){return e=="text/plain"||e=="Text"})}function _(e){var t=["copy","copymove","all","uninitialized"],n=["move","copymove","linkmove","all","uninitialized"],r=s.isMac?e.altKey:e.ctrlKey,i="uninitialized";try{i=e.dataTransfer.effectAllowed.toLowerCase()}catch(e){}var o="none";return r&&t.indexOf(i)>=0?o="copy":n.indexOf(i)>=0?o="move":t.indexOf(i)>=0&&(o="copy"),o}var t=e.editor,n=r.createElement("img");n.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",s.isOpera&&(n.style.cssText="width:1px;height:1px;position:fixed;top:0;left:0;z-index:2147483647;opacity:0;");var f=["dragWait","dragWaitEnd","startDrag","dragReadyEnd","onMouseDrag"];f.forEach(function(t){e[t]=this[t]},this),t.addEventListener("mousedown",this.onMouseDown.bind(e));var c=t.container,h,p,d,v,m,g,y=0,b,w,E,S,x;this.onDragStart=function(e){if(this.cancelDrag||!c.draggable){var r=this;return setTimeout(function(){r.startSelect(),r.captureMouse(e)},0),e.preventDefault()}m=t.getSelectionRange();var i=e.dataTransfer;i.effectAllowed=t.getReadOnly()?"copy":"copyMove",s.isOpera&&(t.container.appendChild(n),n.scrollTop=0),i.setDragImage&&i.setDragImage(n,0,0),s.isOpera&&t.container.removeChild(n),i.clearData(),i.setData("Text",t.session.getTextRange()),w=!0,this.setState("drag")},this.onDragEnd=function(e){c.draggable=!1,w=!1,this.setState(null);if(!t.getReadOnly()){var n=e.dataTransfer.dropEffect;!b&&n=="move"&&t.session.remove(t.getSelectionRange()),t.renderer.$cursorLayer.setBlinking(!0)}this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle("")},this.onDragEnter=function(e){if(t.getReadOnly()||!M(e.dataTransfer))return;return p=e.clientX,d=e.clientY,h||k(),y++,e.dataTransfer.dropEffect=b=_(e),i.preventDefault(e)},this.onDragOver=function(e){if(t.getReadOnly()||!M(e.dataTransfer))return;return p=e.clientX,d=e.clientY,h||(k(),y++),A!==null&&(A=null),e.dataTransfer.dropEffect=b=_(e),i.preventDefault(e)},this.onDragLeave=function(e){y--;if(y<=0&&h)return L(),b=null,i.preventDefault(e)},this.onDrop=function(e){if(!g)return;var n=e.dataTransfer;if(w)switch(b){case"move":m.contains(g.row,g.column)?m={start:g,end:g}:m=t.moveText(m,g);break;case"copy":m=t.moveText(m,g,!0)}else{var r=n.getData("Text");m={start:g,end:t.session.insert(g,r)},t.focus(),b=null}return L(),i.preventDefault(e)},i.addListener(c,"dragstart",this.onDragStart.bind(e)),i.addListener(c,"dragend",this.onDragEnd.bind(e)),i.addListener(c,"dragenter",this.onDragEnter.bind(e)),i.addListener(c,"dragover",this.onDragOver.bind(e)),i.addListener(c,"dragleave",this.onDragLeave.bind(e)),i.addListener(c,"drop",this.onDrop.bind(e));var A=null}function l(e,t,n,r){return Math.sqrt(Math.pow(n-e,2)+Math.pow(r-t,2))}var r=e("../lib/dom"),i=e("../lib/event"),s=e("../lib/useragent"),o=200,u=200,a=5;(function(){this.dragWait=function(){var e=Date.now()-this.mousedownEvent.time;e>this.editor.getDragDelay()&&this.startDrag()},this.dragWaitEnd=function(){var e=this.editor.container;e.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()),this.selectEnd()},this.dragReadyEnd=function(e){this.editor.renderer.$cursorLayer.setBlinking(!this.editor.getReadOnly()),this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle(""),this.dragWaitEnd()},this.startDrag=function(){this.cancelDrag=!1;var e=this.editor,t=e.container;t.draggable=!0,e.renderer.$cursorLayer.setBlinking(!1),e.setStyle("ace_dragging");var n=s.isWin?"default":"move";e.renderer.setCursorStyle(n),this.setState("dragReady")},this.onMouseDrag=function(e){var t=this.editor.container;if(s.isIE&&this.state=="dragReady"){var n=l(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);n>3&&t.dragDrop()}if(this.state==="dragWait"){var n=l(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);n>0&&(t.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()))}},this.onMouseDown=function(e){if(!this.$dragEnabled)return;this.mousedownEvent=e;var t=this.editor,n=e.inSelection(),r=e.getButton(),i=e.domEvent.detail||1;if(i===1&&r===0&&n){if(e.editor.inMultiSelectMode&&(e.getAccelKey()||e.getShiftKey()))return;this.mousedownEvent.time=Date.now();var o=e.domEvent.target||e.domEvent.srcElement;"unselectable"in o&&(o.unselectable="on");if(t.getDragDelay()){if(s.isWebKit){this.cancelDrag=!0;var u=t.container;u.draggable=!0}this.setState("dragWait")}else this.startDrag();this.captureMouse(e,this.onMouseDrag.bind(this)),e.defaultPrevented=!0}}}).call(f.prototype),t.DragdropHandler=f}),ace.define("ace/lib/net",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";var r=e("./dom");t.get=function(e,t){var n=new XMLHttpRequest;n.open("GET",e,!0),n.onreadystatechange=function(){n.readyState===4&&t(n.responseText)},n.send(null)},t.loadScript=function(e,t){var n=r.getDocumentHead(),i=document.createElement("script");i.src=e,n.appendChild(i),i.onload=i.onreadystatechange=function(e,n){if(n||!i.readyState||i.readyState=="loaded"||i.readyState=="complete")i=i.onload=i.onreadystatechange=null,n||t()}},t.qualifyURL=function(e){var t=document.createElement("a");return t.href=e,t.href}}),ace.define("ace/lib/event_emitter",["require","exports","module"],function(e,t,n){"use strict";var r={},i=function(){this.propagationStopped=!0},s=function(){this.defaultPrevented=!0};r._emit=r._dispatchEvent=function(e,t){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var n=this._eventRegistry[e]||[],r=this._defaultHandlers[e];if(!n.length&&!r)return;if(typeof t!="object"||!t)t={};t.type||(t.type=e),t.stopPropagation||(t.stopPropagation=i),t.preventDefault||(t.preventDefault=s),n=n.slice();for(var o=0;o1&&(i=n[n.length-2]);var o=a[t+"Path"];return o==null?o=a.basePath:r=="/"&&(t=r=""),o&&o.slice(-1)!="/"&&(o+="/"),o+t+r+i+this.get("suffix")},t.setModuleUrl=function(e,t){return a.$moduleUrls[e]=t},t.$loading={},t.loadModule=function(n,r){var i,o;Array.isArray(n)&&(o=n[0],n=n[1]);try{i=e(n)}catch(u){}if(i&&!t.$loading[n])return r&&r(i);t.$loading[n]||(t.$loading[n]=[]),t.$loading[n].push(r);if(t.$loading[n].length>1)return;var a=function(){e([n],function(e){t._emit("load.module",{name:n,module:e});var r=t.$loading[n];t.$loading[n]=null,r.forEach(function(t){t&&t(e)})})};if(!t.get("packaged"))return a();s.loadScript(t.moduleUrl(n,o),a)},t.init=f}),ace.define("ace/mouse/mouse_handler",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/mouse/default_handlers","ace/mouse/default_gutter_handler","ace/mouse/mouse_event","ace/mouse/dragdrop_handler","ace/config"],function(e,t,n){"use strict";var r=e("../lib/event"),i=e("../lib/useragent"),s=e("./default_handlers").DefaultHandlers,o=e("./default_gutter_handler").GutterHandler,u=e("./mouse_event").MouseEvent,a=e("./dragdrop_handler").DragdropHandler,f=e("../config"),l=function(e){var t=this;this.editor=e,new s(this),new o(this),new a(this);var n=function(t){var n=!document.hasFocus||!document.hasFocus()||!e.isFocused()&&document.activeElement==(e.textInput&&e.textInput.getElement());n&&window.focus(),e.focus()},u=e.renderer.getMouseEventTarget();r.addListener(u,"click",this.onMouseEvent.bind(this,"click")),r.addListener(u,"mousemove",this.onMouseMove.bind(this,"mousemove")),r.addMultiMouseDownListener([u,e.renderer.scrollBarV&&e.renderer.scrollBarV.inner,e.renderer.scrollBarH&&e.renderer.scrollBarH.inner,e.textInput&&e.textInput.getElement()].filter(Boolean),[400,300,250],this,"onMouseEvent"),r.addMouseWheelListener(e.container,this.onMouseWheel.bind(this,"mousewheel")),r.addTouchMoveListener(e.container,this.onTouchMove.bind(this,"touchmove"));var f=e.renderer.$gutter;r.addListener(f,"mousedown",this.onMouseEvent.bind(this,"guttermousedown")),r.addListener(f,"click",this.onMouseEvent.bind(this,"gutterclick")),r.addListener(f,"dblclick",this.onMouseEvent.bind(this,"gutterdblclick")),r.addListener(f,"mousemove",this.onMouseEvent.bind(this,"guttermousemove")),r.addListener(u,"mousedown",n),r.addListener(f,"mousedown",n),i.isIE&&e.renderer.scrollBarV&&(r.addListener(e.renderer.scrollBarV.element,"mousedown",n),r.addListener(e.renderer.scrollBarH.element,"mousedown",n)),e.on("mousemove",function(n){if(t.state||t.$dragDelay||!t.$dragEnabled)return;var r=e.renderer.screenToTextCoordinates(n.x,n.y),i=e.session.selection.getRange(),s=e.renderer;!i.isEmpty()&&i.insideStart(r.row,r.column)?s.setCursorStyle("default"):s.setCursorStyle("")})};(function(){this.onMouseEvent=function(e,t){this.editor._emit(e,new u(t,this.editor))},this.onMouseMove=function(e,t){var n=this.editor._eventRegistry&&this.editor._eventRegistry.mousemove;if(!n||!n.length)return;this.editor._emit(e,new u(t,this.editor))},this.onMouseWheel=function(e,t){var n=new u(t,this.editor);n.speed=this.$scrollSpeed*2,n.wheelX=t.wheelX,n.wheelY=t.wheelY,this.editor._emit(e,n)},this.onTouchMove=function(e,t){var n=new u(t,this.editor);n.speed=1,n.wheelX=t.wheelX,n.wheelY=t.wheelY,this.editor._emit(e,n)},this.setState=function(e){this.state=e},this.captureMouse=function(e,t){this.x=e.x,this.y=e.y,this.isMousePressed=!0;var n=this.editor.renderer;n.$keepTextAreaAtCursor&&(n.$keepTextAreaAtCursor=null);var s=this,o=function(e){if(!e)return;if(i.isWebKit&&!e.which&&s.releaseMouse)return s.releaseMouse();s.x=e.clientX,s.y=e.clientY,t&&t(e),s.mouseEvent=new u(e,s.editor),s.$mouseMoved=!0},a=function(e){clearInterval(l),f(),s[s.state+"End"]&&s[s.state+"End"](e),s.state="",n.$keepTextAreaAtCursor==null&&(n.$keepTextAreaAtCursor=!0,n.$moveTextAreaToCursor()),s.isMousePressed=!1,s.$onCaptureMouseMove=s.releaseMouse=null,e&&s.onMouseEvent("mouseup",e)},f=function(){s[s.state]&&s[s.state](),s.$mouseMoved=!1};if(i.isOldIE&&e.domEvent.type=="dblclick")return setTimeout(function(){a(e)});s.$onCaptureMouseMove=o,s.releaseMouse=r.capture(this.editor.container,o,a);var l=setInterval(f,20)},this.releaseMouse=null,this.cancelContextMenu=function(){var e=function(t){if(t&&t.domEvent&&t.domEvent.type!="contextmenu")return;this.editor.off("nativecontextmenu",e),t&&t.domEvent&&r.stopEvent(t.domEvent)}.bind(this);setTimeout(e,10),this.editor.on("nativecontextmenu",e)}}).call(l.prototype),f.defineOptions(l.prototype,"mouseHandler",{scrollSpeed:{initialValue:2},dragDelay:{initialValue:i.isMac?150:0},dragEnabled:{initialValue:!0},focusTimout:{initialValue:0},tooltipFollowsMouse:{initialValue:!0}}),t.MouseHandler=l}),ace.define("ace/mouse/fold_handler",["require","exports","module"],function(e,t,n){"use strict";function r(e){e.on("click",function(t){var n=t.getDocumentPosition(),r=e.session,i=r.getFoldAt(n.row,n.column,1);i&&(t.getAccelKey()?r.removeFold(i):r.expandFold(i),t.stop())}),e.on("gutterclick",function(t){var n=e.renderer.$gutterLayer.getRegion(t);if(n=="foldWidgets"){var r=t.getDocumentPosition().row,i=e.session;i.foldWidgets&&i.foldWidgets[r]&&e.session.onFoldWidgetClick(r,t),e.isFocused()||e.focus(),t.stop()}}),e.on("gutterdblclick",function(t){var n=e.renderer.$gutterLayer.getRegion(t);if(n=="foldWidgets"){var r=t.getDocumentPosition().row,i=e.session,s=i.getParentFoldRangeData(r,!0),o=s.range||s.firstRange;if(o){r=o.start.row;var u=i.getFoldAt(r,i.getLine(r).length,1);u?i.removeFold(u):(i.addFold("...",o),e.renderer.scrollCursorIntoView({row:o.start.row,column:0}))}t.stop()}})}t.FoldHandler=r}),ace.define("ace/keyboard/keybinding",["require","exports","module","ace/lib/keys","ace/lib/event"],function(e,t,n){"use strict";var r=e("../lib/keys"),i=e("../lib/event"),s=function(e){this.$editor=e,this.$data={editor:e},this.$handlers=[],this.setDefaultHandler(e.commands)};(function(){this.setDefaultHandler=function(e){this.removeKeyboardHandler(this.$defaultHandler),this.$defaultHandler=e,this.addKeyboardHandler(e,0)},this.setKeyboardHandler=function(e){var t=this.$handlers;if(t[t.length-1]==e)return;while(t[t.length-1]&&t[t.length-1]!=this.$defaultHandler)this.removeKeyboardHandler(t[t.length-1]);this.addKeyboardHandler(e,1)},this.addKeyboardHandler=function(e,t){if(!e)return;typeof e=="function"&&!e.handleKeyboard&&(e.handleKeyboard=e);var n=this.$handlers.indexOf(e);n!=-1&&this.$handlers.splice(n,1),t==undefined?this.$handlers.push(e):this.$handlers.splice(t,0,e),n==-1&&e.attach&&e.attach(this.$editor)},this.removeKeyboardHandler=function(e){var t=this.$handlers.indexOf(e);return t==-1?!1:(this.$handlers.splice(t,1),e.detach&&e.detach(this.$editor),!0)},this.getKeyboardHandler=function(){return this.$handlers[this.$handlers.length-1]},this.getStatusText=function(){var e=this.$data,t=e.editor;return this.$handlers.map(function(n){return n.getStatusText&&n.getStatusText(t,e)||""}).filter(Boolean).join(" ")},this.$callKeyboardHandlers=function(e,t,n,r){var s,o=!1,u=this.$editor.commands;for(var a=this.$handlers.length;a--;){s=this.$handlers[a].handleKeyboard(this.$data,e,t,n,r);if(!s||!s.command)continue;s.command=="null"?o=!0:o=u.exec(s.command,this.$editor,s.args,r),o&&r&&e!=-1&&s.passEvent!=1&&s.command.passEvent!=1&&i.stopEvent(r);if(o)break}return!o&&e==-1&&(s={command:"insertstring"},o=u.exec("insertstring",this.$editor,t)),o&&this.$editor._signal("keyboardActivity",s),o},this.onCommandKey=function(e,t,n){var i=r.keyCodeToString(n);this.$callKeyboardHandlers(t,i,n,e)},this.onTextInput=function(e){this.$callKeyboardHandlers(-1,e)}}).call(s.prototype),t.KeyBinding=s}),ace.define("ace/range",["require","exports","module"],function(e,t,n){"use strict";var r=function(e,t){return e.row-t.row||e.column-t.column},i=function(e,t,n,r){this.start={row:e,column:t},this.end={row:n,column:r}};(function(){this.isEqual=function(e){return this.start.row===e.start.row&&this.end.row===e.end.row&&this.start.column===e.start.column&&this.end.column===e.end.column},this.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},this.contains=function(e,t){return this.compare(e,t)==0},this.compareRange=function(e){var t,n=e.end,r=e.start;return t=this.compare(n.row,n.column),t==1?(t=this.compare(r.row,r.column),t==1?2:t==0?1:0):t==-1?-2:(t=this.compare(r.row,r.column),t==-1?-1:t==1?42:0)},this.comparePoint=function(e){return this.compare(e.row,e.column)},this.containsRange=function(e){return this.comparePoint(e.start)==0&&this.comparePoint(e.end)==0},this.intersects=function(e){var t=this.compareRange(e);return t==-1||t==0||t==1},this.isEnd=function(e,t){return this.end.row==e&&this.end.column==t},this.isStart=function(e,t){return this.start.row==e&&this.start.column==t},this.setStart=function(e,t){typeof e=="object"?(this.start.column=e.column,this.start.row=e.row):(this.start.row=e,this.start.column=t)},this.setEnd=function(e,t){typeof e=="object"?(this.end.column=e.column,this.end.row=e.row):(this.end.row=e,this.end.column=t)},this.inside=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)||this.isStart(e,t)?!1:!0:!1},this.insideStart=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)?!1:!0:!1},this.insideEnd=function(e,t){return this.compare(e,t)==0?this.isStart(e,t)?!1:!0:!1},this.compare=function(e,t){return!this.isMultiLine()&&e===this.start.row?tthis.end.column?1:0:ethis.end.row?1:this.start.row===e?t>=this.start.column?0:-1:this.end.row===e?t<=this.end.column?0:1:0},this.compareStart=function(e,t){return this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.compareEnd=function(e,t){return this.end.row==e&&this.end.column==t?1:this.compare(e,t)},this.compareInside=function(e,t){return this.end.row==e&&this.end.column==t?1:this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.clipRows=function(e,t){if(this.end.row>t)var n={row:t+1,column:0};else if(this.end.rowt)var r={row:t+1,column:0};else if(this.start.rowt.row||e.row==t.row&&e.column>t.column},this.getRange=function(){var e=this.anchor,t=this.lead;return this.isEmpty()?o.fromPoints(t,t):this.isBackwards()?o.fromPoints(t,e):o.fromPoints(e,t)},this.clearSelection=function(){this.$isEmpty||(this.$isEmpty=!0,this._emit("changeSelection"))},this.selectAll=function(){var e=this.doc.getLength()-1;this.setSelectionAnchor(0,0),this.moveCursorTo(e,this.doc.getLine(e).length)},this.setRange=this.setSelectionRange=function(e,t){t?(this.setSelectionAnchor(e.end.row,e.end.column),this.selectTo(e.start.row,e.start.column)):(this.setSelectionAnchor(e.start.row,e.start.column),this.selectTo(e.end.row,e.end.column)),this.getRange().isEmpty()&&(this.$isEmpty=!0),this.$desiredColumn=null},this.$moveSelection=function(e){var t=this.lead;this.$isEmpty&&this.setSelectionAnchor(t.row,t.column),e.call(this)},this.selectTo=function(e,t){this.$moveSelection(function(){this.moveCursorTo(e,t)})},this.selectToPosition=function(e){this.$moveSelection(function(){this.moveCursorToPosition(e)})},this.moveTo=function(e,t){this.clearSelection(),this.moveCursorTo(e,t)},this.moveToPosition=function(e){this.clearSelection(),this.moveCursorToPosition(e)},this.selectUp=function(){this.$moveSelection(this.moveCursorUp)},this.selectDown=function(){this.$moveSelection(this.moveCursorDown)},this.selectRight=function(){this.$moveSelection(this.moveCursorRight)},this.selectLeft=function(){this.$moveSelection(this.moveCursorLeft)},this.selectLineStart=function(){this.$moveSelection(this.moveCursorLineStart)},this.selectLineEnd=function(){this.$moveSelection(this.moveCursorLineEnd)},this.selectFileEnd=function(){this.$moveSelection(this.moveCursorFileEnd)},this.selectFileStart=function(){this.$moveSelection(this.moveCursorFileStart)},this.selectWordRight=function(){this.$moveSelection(this.moveCursorWordRight)},this.selectWordLeft=function(){this.$moveSelection(this.moveCursorWordLeft)},this.getWordRange=function(e,t){if(typeof t=="undefined"){var n=e||this.lead;e=n.row,t=n.column}return this.session.getWordRange(e,t)},this.selectWord=function(){this.setSelectionRange(this.getWordRange())},this.selectAWord=function(){var e=this.getCursor(),t=this.session.getAWordRange(e.row,e.column);this.setSelectionRange(t)},this.getLineRange=function(e,t){var n=typeof e=="number"?e:this.lead.row,r,i=this.session.getFoldLine(n);return i?(n=i.start.row,r=i.end.row):r=n,t===!0?new o(n,0,r,this.session.getLine(r).length):new o(n,0,r+1,0)},this.selectLine=function(){this.setSelectionRange(this.getLineRange())},this.moveCursorUp=function(){this.moveCursorBy(-1,0)},this.moveCursorDown=function(){this.moveCursorBy(1,0)},this.moveCursorLeft=function(){var e=this.lead.getPosition(),t;if(t=this.session.getFoldAt(e.row,e.column,-1))this.moveCursorTo(t.start.row,t.start.column);else if(e.column===0)e.row>0&&this.moveCursorTo(e.row-1,this.doc.getLine(e.row-1).length);else{var n=this.session.getTabSize();this.session.isTabStop(e)&&this.doc.getLine(e.row).slice(e.column-n,e.column).split(" ").length-1==n?this.moveCursorBy(0,-n):this.moveCursorBy(0,-1)}},this.moveCursorRight=function(){var e=this.lead.getPosition(),t;if(t=this.session.getFoldAt(e.row,e.column,1))this.moveCursorTo(t.end.row,t.end.column);else if(this.lead.column==this.doc.getLine(this.lead.row).length)this.lead.row0&&(t.column=r)}}this.moveCursorTo(t.row,t.column)},this.moveCursorFileEnd=function(){var e=this.doc.getLength()-1,t=this.doc.getLine(e).length;this.moveCursorTo(e,t)},this.moveCursorFileStart=function(){this.moveCursorTo(0,0)},this.moveCursorLongWordRight=function(){var e=this.lead.row,t=this.lead.column,n=this.doc.getLine(e),r=n.substring(t),i;this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0;var s=this.session.getFoldAt(e,t,1);if(s){this.moveCursorTo(s.end.row,s.end.column);return}if(i=this.session.nonTokenRe.exec(r))t+=this.session.nonTokenRe.lastIndex,this.session.nonTokenRe.lastIndex=0,r=n.substring(t);if(t>=n.length){this.moveCursorTo(e,n.length),this.moveCursorRight(),e0&&this.moveCursorWordLeft();return}if(o=this.session.tokenRe.exec(s))t-=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0;this.moveCursorTo(e,t)},this.$shortWordEndIndex=function(e){var t,n=0,r,i=/\s/,s=this.session.tokenRe;s.lastIndex=0;if(t=this.session.tokenRe.exec(e))n=this.session.tokenRe.lastIndex;else{while((r=e[n])&&i.test(r))n++;if(n<1){s.lastIndex=0;while((r=e[n])&&!s.test(r)){s.lastIndex=0,n++;if(i.test(r)){if(n>2){n--;break}while((r=e[n])&&i.test(r))n++;if(n>2)break}}}}return s.lastIndex=0,n},this.moveCursorShortWordRight=function(){var e=this.lead.row,t=this.lead.column,n=this.doc.getLine(e),r=n.substring(t),i=this.session.getFoldAt(e,t,1);if(i)return this.moveCursorTo(i.end.row,i.end.column);if(t==n.length){var s=this.doc.getLength();do e++,r=this.doc.getLine(e);while(e0&&/^\s*$/.test(r));t=r.length,/\s+$/.test(r)||(r="")}var s=i.stringReverse(r),o=this.$shortWordEndIndex(s);return this.moveCursorTo(e,t-o)},this.moveCursorWordRight=function(){this.session.$selectLongWords?this.moveCursorLongWordRight():this.moveCursorShortWordRight()},this.moveCursorWordLeft=function(){this.session.$selectLongWords?this.moveCursorLongWordLeft():this.moveCursorShortWordLeft()},this.moveCursorBy=function(e,t){var n=this.session.documentToScreenPosition(this.lead.row,this.lead.column);t===0&&(this.$desiredColumn?n.column=this.$desiredColumn:this.$desiredColumn=n.column);var r=this.session.screenToDocumentPosition(n.row+e,n.column);e!==0&&t===0&&r.row===this.lead.row&&r.column===this.lead.column&&this.session.lineWidgets&&this.session.lineWidgets[r.row]&&(r.row>0||e>0)&&r.row++,this.moveCursorTo(r.row,r.column+t,t===0)},this.moveCursorToPosition=function(e){this.moveCursorTo(e.row,e.column)},this.moveCursorTo=function(e,t,n){var r=this.session.getFoldAt(e,t,1);r&&(e=r.start.row,t=r.start.column),this.$keepDesiredColumnOnChange=!0,this.lead.setPosition(e,t),this.$keepDesiredColumnOnChange=!1,n||(this.$desiredColumn=null)},this.moveCursorToScreen=function(e,t,n){var r=this.session.screenToDocumentPosition(e,t);this.moveCursorTo(r.row,r.column,n)},this.detach=function(){this.lead.detach(),this.anchor.detach(),this.session=this.doc=null},this.fromOrientedRange=function(e){this.setSelectionRange(e,e.cursor==e.start),this.$desiredColumn=e.desiredColumn||this.$desiredColumn},this.toOrientedRange=function(e){var t=this.getRange();return e?(e.start.column=t.start.column,e.start.row=t.start.row,e.end.column=t.end.column,e.end.row=t.end.row):e=t,e.cursor=this.isBackwards()?e.start:e.end,e.desiredColumn=this.$desiredColumn,e},this.getRangeOfMovements=function(e){var t=this.getCursor();try{e(this);var n=this.getCursor();return o.fromPoints(t,n)}catch(r){return o.fromPoints(t,t)}finally{this.moveCursorToPosition(t)}},this.toJSON=function(){if(this.rangeCount)var e=this.ranges.map(function(e){var t=e.clone();return t.isBackwards=e.cursor==e.start,t});else{var e=this.getRange();e.isBackwards=this.isBackwards()}return e},this.fromJSON=function(e){if(e.start==undefined){if(this.rangeList){this.toSingleRange(e[0]);for(var t=e.length;t--;){var n=o.fromPoints(e[t].start,e[t].end);e[t].isBackwards&&(n.cursor=n.start),this.addRange(n,!0)}return}e=e[0]}this.rangeList&&this.toSingleRange(e),this.setSelectionRange(e,e.isBackwards)},this.isEqual=function(e){if((e.length||this.rangeCount)&&e.length!=this.rangeCount)return!1;if(!e.length||!this.ranges)return this.getRange().isEqual(e);for(var t=this.ranges.length;t--;)if(!this.ranges[t].isEqual(e[t]))return!1;return!0}}).call(u.prototype),t.Selection=u}),ace.define("ace/tokenizer",["require","exports","module","ace/config"],function(e,t,n){"use strict";var r=e("./config"),i=2e3,s=function(e){this.states=e,this.regExps={},this.matchMappings={};for(var t in this.states){var n=this.states[t],r=[],i=0,s=this.matchMappings[t]={defaultToken:"text"},o="g",u=[];for(var a=0;a1?f.onMatch=this.$applyToken:f.onMatch=f.token),c>1&&(/\\\d/.test(f.regex)?l=f.regex.replace(/\\([0-9]+)/g,function(e,t){return"\\"+(parseInt(t,10)+i+1)}):(c=1,l=this.removeCapturingGroups(f.regex)),!f.splitRegex&&typeof f.token!="string"&&u.push(f)),s[i]=a,i+=c,r.push(l),f.onMatch||(f.onMatch=null)}r.length||(s[0]=0,r.push("$")),u.forEach(function(e){e.splitRegex=this.createSplitterRegexp(e.regex,o)},this),this.regExps[t]=new RegExp("("+r.join(")|(")+")|($)",o)}};(function(){this.$setMaxTokenCount=function(e){i=e|0},this.$applyToken=function(e){var t=this.splitRegex.exec(e).slice(1),n=this.token.apply(this,t);if(typeof n=="string")return[{type:n,value:e}];var r=[];for(var i=0,s=n.length;il){var g=e.substring(l,m-v.length);h.type==p?h.value+=g:(h.type&&f.push(h),h={type:p,value:g})}for(var y=0;yi){c>2*e.length&&this.reportError("infinite loop with in ace tokenizer",{startState:t,line:e});while(l1&&n[0]!==r&&n.unshift("#tmp",r),{tokens:f,state:n.length?n:r}},this.reportError=r.reportError}).call(s.prototype),t.Tokenizer=s}),ace.define("ace/mode/text_highlight_rules",["require","exports","module","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../lib/lang"),i=function(){this.$rules={start:[{token:"empty_line",regex:"^$"},{defaultToken:"text"}]}};(function(){this.addRules=function(e,t){if(!t){for(var n in e)this.$rules[n]=e[n];return}for(var n in e){var r=e[n];for(var i=0;i=this.$rowTokens.length){this.$row+=1,e||(e=this.$session.getLength());if(this.$row>=e)return this.$row=e-1,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=0}return this.$rowTokens[this.$tokenIndex]},this.getCurrentToken=function(){return this.$rowTokens[this.$tokenIndex]},this.getCurrentTokenRow=function(){return this.$row},this.getCurrentTokenColumn=function(){var e=this.$rowTokens,t=this.$tokenIndex,n=e[t].start;if(n!==undefined)return n;n=0;while(t>0)t-=1,n+=e[t].value.length;return n},this.getCurrentTokenPosition=function(){return{row:this.$row,column:this.getCurrentTokenColumn()}}}).call(r.prototype),t.TokenIterator=r}),ace.define("ace/mode/text",["require","exports","module","ace/tokenizer","ace/mode/text_highlight_rules","ace/mode/behaviour","ace/unicode","ace/lib/lang","ace/token_iterator","ace/range"],function(e,t,n){"use strict";var r=e("../tokenizer").Tokenizer,i=e("./text_highlight_rules").TextHighlightRules,s=e("./behaviour").Behaviour,o=e("../unicode"),u=e("../lib/lang"),a=e("../token_iterator").TokenIterator,f=e("../range").Range,l=function(){this.HighlightRules=i,this.$behaviour=new s};(function(){this.tokenRe=new RegExp("^["+o.packages.L+o.packages.Mn+o.packages.Mc+o.packages.Nd+o.packages.Pc+"\\$_]+","g"),this.nonTokenRe=new RegExp("^(?:[^"+o.packages.L+o.packages.Mn+o.packages.Mc+o.packages.Nd+o.packages.Pc+"\\$_]|\\s])+","g"),this.getTokenizer=function(){return this.$tokenizer||(this.$highlightRules=this.$highlightRules||new this.HighlightRules,this.$tokenizer=new r(this.$highlightRules.getRules())),this.$tokenizer},this.lineCommentStart="",this.blockComment="",this.toggleCommentLines=function(e,t,n,r){function w(e){for(var t=n;t<=r;t++)e(i.getLine(t),t)}var i=t.doc,s=!0,o=!0,a=Infinity,f=t.getTabSize(),l=!1;if(!this.lineCommentStart){if(!this.blockComment)return!1;var c=this.blockComment.start,h=this.blockComment.end,p=new RegExp("^(\\s*)(?:"+u.escapeRegExp(c)+")"),d=new RegExp("(?:"+u.escapeRegExp(h)+")\\s*$"),v=function(e,t){if(g(e,t))return;if(!s||/\S/.test(e))i.insertInLine({row:t,column:e.length},h),i.insertInLine({row:t,column:a},c)},m=function(e,t){var n;(n=e.match(d))&&i.removeInLine(t,e.length-n[0].length,e.length),(n=e.match(p))&&i.removeInLine(t,n[1].length,n[0].length)},g=function(e,n){if(p.test(e))return!0;var r=t.getTokens(n);for(var i=0;i2?r%f!=f-1:r%f==0}}var E=Infinity;w(function(e,t){var n=e.search(/\S/);n!==-1?(ne.length&&(E=e.length)}),a==Infinity&&(a=E,s=!1,o=!1),l&&a%f!=0&&(a=Math.floor(a/f)*f),w(o?m:v)},this.toggleBlockComment=function(e,t,n,r){var i=this.blockComment;if(!i)return;!i.start&&i[0]&&(i=i[0]);var s=new a(t,r.row,r.column),o=s.getCurrentToken(),u=t.selection,l=t.selection.toOrientedRange(),c,h;if(o&&/comment/.test(o.type)){var p,d;while(o&&/comment/.test(o.type)){var v=o.value.indexOf(i.start);if(v!=-1){var m=s.getCurrentTokenRow(),g=s.getCurrentTokenColumn()+v;p=new f(m,g,m,g+i.start.length);break}o=s.stepBackward()}var s=new a(t,r.row,r.column),o=s.getCurrentToken();while(o&&/comment/.test(o.type)){var v=o.value.indexOf(i.end);if(v!=-1){var m=s.getCurrentTokenRow(),g=s.getCurrentTokenColumn()+v;d=new f(m,g,m,g+i.end.length);break}o=s.stepForward()}d&&t.remove(d),p&&(t.remove(p),c=p.start.row,h=-i.start.length)}else h=i.start.length,c=n.start.row,t.insert(n.end,i.end),t.insert(n.start,i.start);l.start.row==c&&(l.start.column+=h),l.end.row==c&&(l.end.column+=h),t.selection.fromOrientedRange(l)},this.getNextLineIndent=function(e,t,n){return this.$getIndent(t)},this.checkOutdent=function(e,t,n){return!1},this.autoOutdent=function(e,t,n){},this.$getIndent=function(e){return e.match(/^\s*/)[0]},this.createWorker=function(e){return null},this.createModeDelegates=function(e){this.$embeds=[],this.$modes={};for(var t in e)e[t]&&(this.$embeds.push(t),this.$modes[t]=new e[t]);var n=["toggleBlockComment","toggleCommentLines","getNextLineIndent","checkOutdent","autoOutdent","transformAction","getCompletions"];for(var t=0;t=0&&t.row=0&&t.column<=e[t.row].length}function s(e,t){t.action!="insert"&&t.action!="remove"&&r(t,"delta.action must be 'insert' or 'remove'"),t.lines instanceof Array||r(t,"delta.lines must be an Array"),(!t.start||!t.end)&&r(t,"delta.start/end must be an present");var n=t.start;i(e,t.start)||r(t,"delta.start must be contained in document");var s=t.end;t.action=="remove"&&!i(e,s)&&r(t,"delta.end must contained in document for 'remove' actions");var o=s.row-n.row,u=s.column-(o==0?n.column:0);(o!=t.lines.length-1||t.lines[o].length!=u)&&r(t,"delta.range must match delta lines")}t.applyDelta=function(e,t,n){var r=t.start.row,i=t.start.column,s=e[r]||"";switch(t.action){case"insert":var o=t.lines;if(o.length===1)e[r]=s.substring(0,i)+t.lines[0]+s.substring(i);else{var u=[r,1].concat(t.lines);e.splice.apply(e,u),e[r]=s.substring(0,i)+e[r],e[r+t.lines.length-1]+=s.substring(i)}break;case"remove":var a=t.end.column,f=t.end.row;r===f?e[r]=s.substring(0,i)+s.substring(a):e.splice(r,f-r+1,s.substring(0,i)+e[f].substring(a))}}}),ace.define("ace/anchor",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,s=t.Anchor=function(e,t,n){this.$onChange=this.onChange.bind(this),this.attach(e),typeof n=="undefined"?this.setPosition(t.row,t.column):this.setPosition(t,n)};(function(){function e(e,t,n){var r=n?e.column<=t.column:e.columnthis.row)return;var n=t(e,{row:this.row,column:this.column},this.$insertRight);this.setPosition(n.row,n.column,!0)},this.setPosition=function(e,t,n){var r;n?r={row:e,column:t}:r=this.$clipPositionToDocument(e,t);if(this.row==r.row&&this.column==r.column)return;var i={row:this.row,column:this.column};this.row=r.row,this.column=r.column,this._signal("change",{old:i,value:r})},this.detach=function(){this.document.removeEventListener("change",this.$onChange)},this.attach=function(e){this.document=e||this.document,this.document.on("change",this.$onChange)},this.$clipPositionToDocument=function(e,t){var n={};return e>=this.document.getLength()?(n.row=Math.max(0,this.document.getLength()-1),n.column=this.document.getLine(n.row).length):e<0?(n.row=0,n.column=0):(n.row=e,n.column=Math.min(this.document.getLine(n.row).length,Math.max(0,t))),t<0&&(n.column=0),n}}).call(s.prototype)}),ace.define("ace/document",["require","exports","module","ace/lib/oop","ace/apply_delta","ace/lib/event_emitter","ace/range","ace/anchor"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./apply_delta").applyDelta,s=e("./lib/event_emitter").EventEmitter,o=e("./range").Range,u=e("./anchor").Anchor,a=function(e){this.$lines=[""],e.length===0?this.$lines=[""]:Array.isArray(e)?this.insertMergedLines({row:0,column:0},e):this.insert({row:0,column:0},e)};(function(){r.implement(this,s),this.setValue=function(e){var t=this.getLength()-1;this.remove(new o(0,0,t,this.getLine(t).length)),this.insert({row:0,column:0},e)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(e,t){return new u(this,e,t)},"aaa".split(/a/).length===0?this.$split=function(e){return e.replace(/\r\n|\r/g,"\n").split("\n")}:this.$split=function(e){return e.split(/\r\n|\r|\n/)},this.$detectNewLine=function(e){var t=e.match(/^.*?(\r\n|\r|\n)/m);this.$autoNewLine=t?t[1]:"\n",this._signal("changeNewLineMode")},this.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return"\r\n";case"unix":return"\n";default:return this.$autoNewLine||"\n"}},this.$autoNewLine="",this.$newLineMode="auto",this.setNewLineMode=function(e){if(this.$newLineMode===e)return;this.$newLineMode=e,this._signal("changeNewLineMode")},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(e){return e=="\r\n"||e=="\r"||e=="\n"},this.getLine=function(e){return this.$lines[e]||""},this.getLines=function(e,t){return this.$lines.slice(e,t+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(e){return this.getLinesForRange(e).join(this.getNewLineCharacter())},this.getLinesForRange=function(e){var t;if(e.start.row===e.end.row)t=[this.getLine(e.start.row).substring(e.start.column,e.end.column)];else{t=this.getLines(e.start.row,e.end.row),t[0]=(t[0]||"").substring(e.start.column);var n=t.length-1;e.end.row-e.start.row==n&&(t[n]=t[n].substring(0,e.end.column))}return t},this.insertLines=function(e,t){return console.warn("Use of document.insertLines is deprecated. Use the insertFullLines method instead."),this.insertFullLines(e,t)},this.removeLines=function(e,t){return console.warn("Use of document.removeLines is deprecated. Use the removeFullLines method instead."),this.removeFullLines(e,t)},this.insertNewLine=function(e){return console.warn("Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead."),this.insertMergedLines(e,["",""])},this.insert=function(e,t){return this.getLength()<=1&&this.$detectNewLine(t),this.insertMergedLines(e,this.$split(t))},this.insertInLine=function(e,t){var n=this.clippedPos(e.row,e.column),r=this.pos(e.row,e.column+t.length);return this.applyDelta({start:n,end:r,action:"insert",lines:[t]},!0),this.clonePos(r)},this.clippedPos=function(e,t){var n=this.getLength();e===undefined?e=n:e<0?e=0:e>=n&&(e=n-1,t=undefined);var r=this.getLine(e);return t==undefined&&(t=r.length),t=Math.min(Math.max(t,0),r.length),{row:e,column:t}},this.clonePos=function(e){return{row:e.row,column:e.column}},this.pos=function(e,t){return{row:e,column:t}},this.$clipPosition=function(e){var t=this.getLength();return e.row>=t?(e.row=Math.max(0,t-1),e.column=this.getLine(t-1).length):(e.row=Math.max(0,e.row),e.column=Math.min(Math.max(e.column,0),this.getLine(e.row).length)),e},this.insertFullLines=function(e,t){e=Math.min(Math.max(e,0),this.getLength());var n=0;e0,r=t=0&&this.applyDelta({start:this.pos(e,this.getLine(e).length),end:this.pos(e+1,0),action:"remove",lines:["",""]})},this.replace=function(e,t){e instanceof o||(e=o.fromPoints(e.start,e.end));if(t.length===0&&e.isEmpty())return e.start;if(t==this.getTextRange(e))return e.end;this.remove(e);var n;return t?n=this.insert(e.start,t):n=e.start,n},this.applyDeltas=function(e){for(var t=0;t=0;t--)this.revertDelta(e[t])},this.applyDelta=function(e,t){var n=e.action=="insert";if(n?e.lines.length<=1&&!e.lines[0]:!o.comparePoints(e.start,e.end))return;n&&e.lines.length>2e4&&this.$splitAndapplyLargeDelta(e,2e4),i(this.$lines,e,t),this._signal("change",e)},this.$splitAndapplyLargeDelta=function(e,t){var n=e.lines,r=n.length,i=e.start.row,s=e.start.column,o=0,u=0;do{o=u,u+=t-1;var a=n.slice(o,u);if(u>r){e.lines=a,e.start.row=i+o,e.start.column=s;break}a.push(""),this.applyDelta({start:this.pos(i+o,s),end:this.pos(i+u,s=0),action:e.action,lines:a},!0)}while(!0)},this.revertDelta=function(e){this.applyDelta({start:this.clonePos(e.start),end:this.clonePos(e.end),action:e.action=="insert"?"remove":"insert",lines:e.lines.slice()})},this.indexToPosition=function(e,t){var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length;for(var i=t||0,s=n.length;i20){n.running=setTimeout(n.$worker,20);break}}n.currentLine=t,s<=r&&n.fireUpdateEvent(s,r)}};(function(){r.implement(this,i),this.setTokenizer=function(e){this.tokenizer=e,this.lines=[],this.states=[],this.start(0)},this.setDocument=function(e){this.doc=e,this.lines=[],this.states=[],this.stop()},this.fireUpdateEvent=function(e,t){var n={first:e,last:t};this._signal("update",{data:n})},this.start=function(e){this.currentLine=Math.min(e||0,this.currentLine,this.doc.getLength()),this.lines.splice(this.currentLine,this.lines.length),this.states.splice(this.currentLine,this.states.length),this.stop(),this.running=setTimeout(this.$worker,700)},this.scheduleStart=function(){this.running||(this.running=setTimeout(this.$worker,700))},this.$updateOnChange=function(e){var t=e.start.row,n=e.end.row-t;if(n===0)this.lines[t]=null;else if(e.action=="remove")this.lines.splice(t,n+1,null),this.states.splice(t,n+1,null);else{var r=Array(n+1);r.unshift(t,1),this.lines.splice.apply(this.lines,r),this.states.splice.apply(this.states,r)}this.currentLine=Math.min(t,this.currentLine,this.doc.getLength()),this.stop()},this.stop=function(){this.running&&clearTimeout(this.running),this.running=!1},this.getTokens=function(e){return this.lines[e]||this.$tokenizeRow(e)},this.getState=function(e){return this.currentLine==e&&this.$tokenizeRow(e),this.states[e]||"start"},this.$tokenizeRow=function(e){var t=this.doc.getLine(e),n=this.states[e-1],r=this.tokenizer.getLineTokens(t,n,e);return this.states[e]+""!=r.state+""?(this.states[e]=r.state,this.lines[e+1]=null,this.currentLine>e+1&&(this.currentLine=e+1)):this.currentLine==e&&(this.currentLine=e+1),this.lines[e]=r.tokens}}).call(s.prototype),t.BackgroundTokenizer=s}),ace.define("ace/search_highlight",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(e,t,n){"use strict";var r=e("./lib/lang"),i=e("./lib/oop"),s=e("./range").Range,o=function(e,t,n){this.setRegexp(e),this.clazz=t,this.type=n||"text"};(function(){this.MAX_RANGES=500,this.setRegexp=function(e){if(this.regExp+""==e+"")return;this.regExp=e,this.cache=[]},this.update=function(e,t,n,i){if(!this.regExp)return;var o=i.firstRow,u=i.lastRow;for(var a=o;a<=u;a++){var f=this.cache[a];f==null&&(f=r.getMatchOffsets(n.getLine(a),this.regExp),f.length>this.MAX_RANGES&&(f=f.slice(0,this.MAX_RANGES)),f=f.map(function(e){return new s(a,e.offset,a,e.offset+e.length)}),this.cache[a]=f.length?f:"");for(var l=f.length;l--;)t.drawSingleLineMarker(e,f[l].toScreenRange(n),this.clazz,i)}}}).call(o.prototype),t.SearchHighlight=o}),ace.define("ace/edit_session/fold_line",["require","exports","module","ace/range"],function(e,t,n){"use strict";function i(e,t){this.foldData=e,Array.isArray(t)?this.folds=t:t=this.folds=[t];var n=t[t.length-1];this.range=new r(t[0].start.row,t[0].start.column,n.end.row,n.end.column),this.start=this.range.start,this.end=this.range.end,this.folds.forEach(function(e){e.setFoldLine(this)},this)}var r=e("../range").Range;(function(){this.shiftRow=function(e){this.start.row+=e,this.end.row+=e,this.folds.forEach(function(t){t.start.row+=e,t.end.row+=e})},this.addFold=function(e){if(e.sameRow){if(e.start.rowthis.endRow)throw new Error("Can't add a fold to this FoldLine as it has no connection");this.folds.push(e),this.folds.sort(function(e,t){return-e.range.compareEnd(t.start.row,t.start.column)}),this.range.compareEnd(e.start.row,e.start.column)>0?(this.end.row=e.end.row,this.end.column=e.end.column):this.range.compareStart(e.end.row,e.end.column)<0&&(this.start.row=e.start.row,this.start.column=e.start.column)}else if(e.start.row==this.end.row)this.folds.push(e),this.end.row=e.end.row,this.end.column=e.end.column;else{if(e.end.row!=this.start.row)throw new Error("Trying to add fold to FoldRow that doesn't have a matching row");this.folds.unshift(e),this.start.row=e.start.row,this.start.column=e.start.column}e.foldLine=this},this.containsRow=function(e){return e>=this.start.row&&e<=this.end.row},this.walk=function(e,t,n){var r=0,i=this.folds,s,o,u,a=!0;t==null&&(t=this.end.row,n=this.end.column);for(var f=0;f0)continue;var a=i(e,o.start);return u===0?t&&a!==0?-s-2:s:a>0||a===0&&!t?s:-s-1}return-s-1},this.add=function(e){var t=!e.isEmpty(),n=this.pointIndex(e.start,t);n<0&&(n=-n-1);var r=this.pointIndex(e.end,t,n);return r<0?r=-r-1:r++,this.ranges.splice(n,r-n,e)},this.addList=function(e){var t=[];for(var n=e.length;n--;)t.push.apply(t,this.add(e[n]));return t},this.substractPoint=function(e){var t=this.pointIndex(e);if(t>=0)return this.ranges.splice(t,1)},this.merge=function(){var e=[],t=this.ranges;t=t.sort(function(e,t){return i(e.start,t.start)});var n=t[0],r;for(var s=1;s=0},this.containsPoint=function(e){return this.pointIndex(e)>=0},this.rangeAtPoint=function(e){var t=this.pointIndex(e);if(t>=0)return this.ranges[t]},this.clipRows=function(e,t){var n=this.ranges;if(n[0].start.row>t||n[n.length-1].start.rowr)break;l.start.row==r&&l.start.column>=t.column&&(l.start.column!=t.column||!this.$insertRight)&&(l.start.column+=o,l.start.row+=s);if(l.end.row==r&&l.end.column>=t.column){if(l.end.column==t.column&&this.$insertRight)continue;l.end.column==t.column&&o>0&&al.start.column&&l.end.column==u[a+1].start.column&&(l.end.column-=o),l.end.column+=o,l.end.row+=s}}if(s!=0&&a=e)return i;if(i.end.row>e)return null}return null},this.getNextFoldLine=function(e,t){var n=this.$foldData,r=0;t&&(r=n.indexOf(t)),r==-1&&(r=0);for(r;r=e)return i}return null},this.getFoldedRowCount=function(e,t){var n=this.$foldData,r=t-e+1;for(var i=0;i=t){u=e?r-=t-u:r=0);break}o>=e&&(u>=e?r-=o-u:r-=o-e+1)}return r},this.$addFoldLine=function(e){return this.$foldData.push(e),this.$foldData.sort(function(e,t){return e.start.row-t.start.row}),e},this.addFold=function(e,t){var n=this.$foldData,r=!1,o;e instanceof s?o=e:(o=new s(t,e),o.collapseChildren=t.collapseChildren),this.$clipRangeToDocument(o.range);var u=o.start.row,a=o.start.column,f=o.end.row,l=o.end.column;if(u0&&(this.removeFolds(p),p.forEach(function(e){o.addSubFold(e)}));for(var d=0;d0&&this.foldAll(e.start.row+1,e.end.row,e.collapseChildren-1),e.subFolds=[]},this.expandFolds=function(e){e.forEach(function(e){this.expandFold(e)},this)},this.unfold=function(e,t){var n,i;e==null?(n=new r(0,0,this.getLength(),0),t=!0):typeof e=="number"?n=new r(e,0,e,this.getLine(e).length):"row"in e?n=r.fromPoints(e,e):n=e,i=this.getFoldsInRangeList(n);if(t)this.removeFolds(i);else{var s=i;while(s.length)this.expandFolds(s),s=this.getFoldsInRangeList(n)}if(i.length)return i},this.isRowFolded=function(e,t){return!!this.getFoldLine(e,t)},this.getRowFoldEnd=function(e,t){var n=this.getFoldLine(e,t);return n?n.end.row:e},this.getRowFoldStart=function(e,t){var n=this.getFoldLine(e,t);return n?n.start.row:e},this.getFoldDisplayLine=function(e,t,n,r,i){r==null&&(r=e.start.row),i==null&&(i=0),t==null&&(t=e.end.row),n==null&&(n=this.getLine(t).length);var s=this.doc,o="";return e.walk(function(e,t,n,u){if(t=e){i=s.end.row;try{var o=this.addFold("...",s);o&&(o.collapseChildren=n)}catch(u){}}}},this.$foldStyles={manual:1,markbegin:1,markbeginend:1},this.$foldStyle="markbegin",this.setFoldStyle=function(e){if(!this.$foldStyles[e])throw new Error("invalid fold style: "+e+"["+Object.keys(this.$foldStyles).join(", ")+"]");if(this.$foldStyle==e)return;this.$foldStyle=e,e=="manual"&&this.unfold();var t=this.$foldMode;this.$setFolding(null),this.$setFolding(t)},this.$setFolding=function(e){if(this.$foldMode==e)return;this.$foldMode=e,this.off("change",this.$updateFoldWidgets),this.off("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets),this._signal("changeAnnotation");if(!e||this.$foldStyle=="manual"){this.foldWidgets=null;return}this.foldWidgets=[],this.getFoldWidget=e.getFoldWidget.bind(e,this,this.$foldStyle),this.getFoldWidgetRange=e.getFoldWidgetRange.bind(e,this,this.$foldStyle),this.$updateFoldWidgets=this.updateFoldWidgets.bind(this),this.$tokenizerUpdateFoldWidgets=this.tokenizerUpdateFoldWidgets.bind(this),this.on("change",this.$updateFoldWidgets),this.on("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets)},this.getParentFoldRangeData=function(e,t){var n=this.foldWidgets;if(!n||t&&n[e])return{};var r=e-1,i;while(r>=0){var s=n[r];s==null&&(s=n[r]=this.getFoldWidget(r));if(s=="start"){var o=this.getFoldWidgetRange(r);i||(i=o);if(o&&o.end.row>=e)break}r--}return{range:r!==-1&&o,firstRange:i}},this.onFoldWidgetClick=function(e,t){t=t.domEvent;var n={children:t.shiftKey,all:t.ctrlKey||t.metaKey,siblings:t.altKey},r=this.$toggleFoldWidget(e,n);if(!r){var i=t.target||t.srcElement;i&&/ace_fold-widget/.test(i.className)&&(i.className+=" ace_invalid")}},this.$toggleFoldWidget=function(e,t){if(!this.getFoldWidget)return;var n=this.getFoldWidget(e),r=this.getLine(e),i=n==="end"?-1:1,s=this.getFoldAt(e,i===-1?0:r.length,i);if(s){t.children||t.all?this.removeFold(s):this.expandFold(s);return}var o=this.getFoldWidgetRange(e,!0);if(o&&!o.isMultiLine()){s=this.getFoldAt(o.start.row,o.start.column,1);if(s&&o.isEqual(s.range)){this.removeFold(s);return}}if(t.siblings){var u=this.getParentFoldRangeData(e);if(u.range)var a=u.range.start.row+1,f=u.range.end.row;this.foldAll(a,f,t.all?1e4:0)}else t.children?(f=o?o.end.row:this.getLength(),this.foldAll(e+1,f,t.all?1e4:0)):o&&(t.all&&(o.collapseChildren=1e4),this.addFold("...",o));return o},this.toggleFoldWidget=function(e){var t=this.selection.getCursor().row;t=this.getRowFoldStart(t);var n=this.$toggleFoldWidget(t,{});if(n)return;var r=this.getParentFoldRangeData(t,!0);n=r.range||r.firstRange;if(n){t=n.start.row;var i=this.getFoldAt(t,this.getLine(t).length,1);i?this.removeFold(i):this.addFold("...",n)}},this.updateFoldWidgets=function(e){var t=e.start.row,n=e.end.row-t;if(n===0)this.foldWidgets[t]=null;else if(e.action=="remove")this.foldWidgets.splice(t,n+1,null);else{var r=Array(n+1);r.unshift(t,1),this.foldWidgets.splice.apply(this.foldWidgets,r)}},this.tokenizerUpdateFoldWidgets=function(e){var t=e.data;t.first!=t.last&&this.foldWidgets.length>t.first&&this.foldWidgets.splice(t.first,this.foldWidgets.length)}}var r=e("../range").Range,i=e("./fold_line").FoldLine,s=e("./fold").Fold,o=e("../token_iterator").TokenIterator;t.Folding=u}),ace.define("ace/edit_session/bracket_match",["require","exports","module","ace/token_iterator","ace/range"],function(e,t,n){"use strict";function s(){this.findMatchingBracket=function(e,t){if(e.column==0)return null;var n=t||this.getLine(e.row).charAt(e.column-1);if(n=="")return null;var r=n.match(/([\(\[\{])|([\)\]\}])/);return r?r[1]?this.$findClosingBracket(r[1],e):this.$findOpeningBracket(r[2],e):null},this.getBracketRange=function(e){var t=this.getLine(e.row),n=!0,r,s=t.charAt(e.column-1),o=s&&s.match(/([\(\[\{])|([\)\]\}])/);o||(s=t.charAt(e.column),e={row:e.row,column:e.column+1},o=s&&s.match(/([\(\[\{])|([\)\]\}])/),n=!1);if(!o)return null;if(o[1]){var u=this.$findClosingBracket(o[1],e);if(!u)return null;r=i.fromPoints(e,u),n||(r.end.column++,r.start.column--),r.cursor=r.end}else{var u=this.$findOpeningBracket(o[2],e);if(!u)return null;r=i.fromPoints(u,e),n||(r.start.column++,r.end.column--),r.cursor=r.start}return r},this.$brackets={")":"(","(":")","]":"[","[":"]","{":"}","}":"{"},this.$findOpeningBracket=function(e,t,n){var i=this.$brackets[e],s=1,o=new r(this,t.row,t.column),u=o.getCurrentToken();u||(u=o.stepForward());if(!u)return;n||(n=new RegExp("(\\.?"+u.type.replace(".","\\.").replace("rparen",".paren").replace(/\b(?:end)\b/,"(?:start|begin|end)")+")+"));var a=t.column-o.getCurrentTokenColumn()-2,f=u.value;for(;;){while(a>=0){var l=f.charAt(a);if(l==i){s-=1;if(s==0)return{row:o.getCurrentTokenRow(),column:a+o.getCurrentTokenColumn()}}else l==e&&(s+=1);a-=1}do u=o.stepBackward();while(u&&!n.test(u.type));if(u==null)break;f=u.value,a=f.length-1}return null},this.$findClosingBracket=function(e,t,n){var i=this.$brackets[e],s=1,o=new r(this,t.row,t.column),u=o.getCurrentToken();u||(u=o.stepForward());if(!u)return;n||(n=new RegExp("(\\.?"+u.type.replace(".","\\.").replace("lparen",".paren").replace(/\b(?:start|begin)\b/,"(?:start|begin|end)")+")+"));var a=t.column-o.getCurrentTokenColumn();for(;;){var f=u.value,l=f.length;while(a=4352&&e<=4447||e>=4515&&e<=4519||e>=4602&&e<=4607||e>=9001&&e<=9002||e>=11904&&e<=11929||e>=11931&&e<=12019||e>=12032&&e<=12245||e>=12272&&e<=12283||e>=12288&&e<=12350||e>=12353&&e<=12438||e>=12441&&e<=12543||e>=12549&&e<=12589||e>=12593&&e<=12686||e>=12688&&e<=12730||e>=12736&&e<=12771||e>=12784&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=13054||e>=13056&&e<=19903||e>=19968&&e<=42124||e>=42128&&e<=42182||e>=43360&&e<=43388||e>=44032&&e<=55203||e>=55216&&e<=55238||e>=55243&&e<=55291||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=65281&&e<=65376||e>=65504&&e<=65510}r.implement(this,o),this.setDocument=function(e){this.doc&&this.doc.removeListener("change",this.$onChange),this.doc=e,e.on("change",this.$onChange),this.bgTokenizer&&this.bgTokenizer.setDocument(this.getDocument()),this.resetCaches()},this.getDocument=function(){return this.doc},this.$resetRowCache=function(e){if(!e){this.$docRowCache=[],this.$screenRowCache=[];return}var t=this.$docRowCache.length,n=this.$getRowCacheIndex(this.$docRowCache,e)+1;t>n&&(this.$docRowCache.splice(n,t),this.$screenRowCache.splice(n,t))},this.$getRowCacheIndex=function(e,t){var n=0,r=e.length-1;while(n<=r){var i=n+r>>1,s=e[i];if(t>s)n=i+1;else{if(!(t=t)break}return r=n[s],r?(r.index=s,r.start=i-r.value.length,r):null},this.setUndoManager=function(e){this.$undoManager=e,this.$deltas=[],this.$deltasDoc=[],this.$deltasFold=[],this.$informUndoManager&&this.$informUndoManager.cancel();if(e){var t=this;this.$syncInformUndoManager=function(){t.$informUndoManager.cancel(),t.$deltasFold.length&&(t.$deltas.push({group:"fold",deltas:t.$deltasFold}),t.$deltasFold=[]),t.$deltasDoc.length&&(t.$deltas.push({group:"doc",deltas:t.$deltasDoc}),t.$deltasDoc=[]),t.$deltas.length>0&&e.execute({action:"aceupdate",args:[t.$deltas,t],merge:t.mergeUndoDeltas}),t.mergeUndoDeltas=!1,t.$deltas=[]},this.$informUndoManager=i.delayedCall(this.$syncInformUndoManager)}},this.markUndoGroup=function(){this.$syncInformUndoManager&&this.$syncInformUndoManager()},this.$defaultUndoManager={undo:function(){},redo:function(){},reset:function(){}},this.getUndoManager=function(){return this.$undoManager||this.$defaultUndoManager},this.getTabString=function(){return this.getUseSoftTabs()?i.stringRepeat(" ",this.getTabSize()):" "},this.setUseSoftTabs=function(e){this.setOption("useSoftTabs",e)},this.getUseSoftTabs=function(){return this.$useSoftTabs&&!this.$mode.$indentWithTabs},this.setTabSize=function(e){this.setOption("tabSize",e)},this.getTabSize=function(){return this.$tabSize},this.isTabStop=function(e){return this.$useSoftTabs&&e.column%this.$tabSize===0},this.$overwrite=!1,this.setOverwrite=function(e){this.setOption("overwrite",e)},this.getOverwrite=function(){return this.$overwrite},this.toggleOverwrite=function(){this.setOverwrite(!this.$overwrite)},this.addGutterDecoration=function(e,t){this.$decorations[e]||(this.$decorations[e]=""),this.$decorations[e]+=" "+t,this._signal("changeBreakpoint",{})},this.removeGutterDecoration=function(e,t){this.$decorations[e]=(this.$decorations[e]||"").replace(" "+t,""),this._signal("changeBreakpoint",{})},this.getBreakpoints=function(){return this.$breakpoints},this.setBreakpoints=function(e){this.$breakpoints=[];for(var t=0;t0&&(r=!!n.charAt(t-1).match(this.tokenRe)),r||(r=!!n.charAt(t).match(this.tokenRe));if(r)var i=this.tokenRe;else if(/^\s+$/.test(n.slice(t-1,t+1)))var i=/\s/;else var i=this.nonTokenRe;var s=t;if(s>0){do s--;while(s>=0&&n.charAt(s).match(i));s++}var o=t;while(oe&&(e=t.screenWidth)}),this.lineWidgetWidth=e},this.$computeWidth=function(e){if(this.$modified||e){this.$modified=!1;if(this.$useWrapMode)return this.screenWidth=this.$wrapLimit;var t=this.doc.getAllLines(),n=this.$rowLengthCache,r=0,i=0,s=this.$foldData[i],o=s?s.start.row:Infinity,u=t.length;for(var a=0;ao){a=s.end.row+1;if(a>=u)break;s=this.$foldData[i++],o=s?s.start.row:Infinity}n[a]==null&&(n[a]=this.$getStringScreenWidth(t[a])[0]),n[a]>r&&(r=n[a])}this.screenWidth=r}},this.getLine=function(e){return this.doc.getLine(e)},this.getLines=function(e,t){return this.doc.getLines(e,t)},this.getLength=function(){return this.doc.getLength()},this.getTextRange=function(e){return this.doc.getTextRange(e||this.selection.getRange())},this.insert=function(e,t){return this.doc.insert(e,t)},this.remove=function(e){return this.doc.remove(e)},this.removeFullLines=function(e,t){return this.doc.removeFullLines(e,t)},this.undoChanges=function(e,t){if(!e.length)return;this.$fromUndo=!0;var n=null;for(var r=e.length-1;r!=-1;r--){var i=e[r];i.group=="doc"?(this.doc.revertDeltas(i.deltas),n=this.$getUndoSelection(i.deltas,!0,n)):i.deltas.forEach(function(e){this.addFolds(e.folds)},this)}return this.$fromUndo=!1,n&&this.$undoSelect&&!t&&this.selection.setSelectionRange(n),n},this.redoChanges=function(e,t){if(!e.length)return;this.$fromUndo=!0;var n=null;for(var r=0;re.end.column&&(s.start.column+=u),s.end.row==e.end.row&&s.end.column>e.end.column&&(s.end.column+=u)),o&&s.start.row>=e.end.row&&(s.start.row+=o,s.end.row+=o)}s.end=this.insert(s.start,r);if(i.length){var a=e.start,l=s.start,o=l.row-a.row,u=l.column-a.column;this.addFolds(i.map(function(e){return e=e.clone(),e.start.row==a.row&&(e.start.column+=u),e.end.row==a.row&&(e.end.column+=u),e.start.row+=o,e.end.row+=o,e}))}return s},this.indentRows=function(e,t,n){n=n.replace(/\t/g,this.getTabString());for(var r=e;r<=t;r++)this.doc.insertInLine({row:r,column:0},n)},this.outdentRows=function(e){var t=e.collapseRows(),n=new f(0,0,0,0),r=this.getTabSize();for(var i=t.start.row;i<=t.end.row;++i){var s=this.getLine(i);n.start.row=i,n.end.row=i;for(var o=0;o0){var r=this.getRowFoldEnd(t+n);if(r>this.doc.getLength()-1)return 0;var i=r-t}else{e=this.$clipRowToDocument(e),t=this.$clipRowToDocument(t);var i=t-e+1}var s=new f(e,0,t,Number.MAX_VALUE),o=this.getFoldsInRange(s).map(function(e){return e=e.clone(),e.start.row+=i,e.end.row+=i,e}),u=n==0?this.doc.getLines(e,t):this.doc.removeFullLines(e,t);return this.doc.insertFullLines(e+i,u),o.length&&this.addFolds(o),i},this.moveLinesUp=function(e,t){return this.$moveLines(e,t,-1)},this.moveLinesDown=function(e,t){return this.$moveLines(e,t,1)},this.duplicateLines=function(e,t){return this.$moveLines(e,t,0)},this.$clipRowToDocument=function(e){return Math.max(0,Math.min(e,this.doc.getLength()-1))},this.$clipColumnToRow=function(e,t){return t<0?0:Math.min(this.doc.getLine(e).length,t)},this.$clipPositionToDocument=function(e,t){t=Math.max(0,t);if(e<0)e=0,t=0;else{var n=this.doc.getLength();e>=n?(e=n-1,t=this.doc.getLine(n-1).length):t=Math.min(this.doc.getLine(e).length,t)}return{row:e,column:t}},this.$clipRangeToDocument=function(e){e.start.row<0?(e.start.row=0,e.start.column=0):e.start.column=this.$clipColumnToRow(e.start.row,e.start.column);var t=this.doc.getLength()-1;return e.end.row>t?(e.end.row=t,e.end.column=this.doc.getLine(t).length):e.end.column=this.$clipColumnToRow(e.end.row,e.end.column),e},this.$wrapLimit=80,this.$useWrapMode=!1,this.$wrapLimitRange={min:null,max:null},this.setUseWrapMode=function(e){if(e!=this.$useWrapMode){this.$useWrapMode=e,this.$modified=!0,this.$resetRowCache(0);if(e){var t=this.getLength();this.$wrapData=Array(t),this.$updateWrapData(0,t-1)}this._signal("changeWrapMode")}},this.getUseWrapMode=function(){return this.$useWrapMode},this.setWrapLimitRange=function(e,t){if(this.$wrapLimitRange.min!==e||this.$wrapLimitRange.max!==t)this.$wrapLimitRange={min:e,max:t},this.$modified=!0,this.$useWrapMode&&this._signal("changeWrapMode")},this.adjustWrapLimit=function(e,t){var n=this.$wrapLimitRange;n.max<0&&(n={min:t,max:t});var r=this.$constrainWrapLimit(e,n.min,n.max);return r!=this.$wrapLimit&&r>1?(this.$wrapLimit=r,this.$modified=!0,this.$useWrapMode&&(this.$updateWrapData(0,this.getLength()-1),this.$resetRowCache(0),this._signal("changeWrapLimit")),!0):!1},this.$constrainWrapLimit=function(e,t,n){return t&&(e=Math.max(t,e)),n&&(e=Math.min(n,e)),e},this.getWrapLimit=function(){return this.$wrapLimit},this.setWrapLimit=function(e){this.setWrapLimitRange(e,e)},this.getWrapLimitRange=function(){return{min:this.$wrapLimitRange.min,max:this.$wrapLimitRange.max}},this.$updateInternalDataOnChange=function(e){var t=this.$useWrapMode,n=e.action,r=e.start,i=e.end,s=r.row,o=i.row,u=o-s,a=null;this.$updating=!0;if(u!=0)if(n==="remove"){this[t?"$wrapData":"$rowLengthCache"].splice(s,u);var f=this.$foldData;a=this.getFoldsInRange(e),this.removeFolds(a);var l=this.getFoldLine(i.row),c=0;if(l){l.addRemoveChars(i.row,i.column,r.column-i.column),l.shiftRow(-u);var h=this.getFoldLine(s);h&&h!==l&&(h.merge(l),l=h),c=f.indexOf(l)+1}for(c;c=i.row&&l.shiftRow(-u)}o=s}else{var p=Array(u);p.unshift(s,0);var d=t?this.$wrapData:this.$rowLengthCache;d.splice.apply(d,p);var f=this.$foldData,l=this.getFoldLine(s),c=0;if(l){var v=l.range.compareInside(r.row,r.column);v==0?(l=l.split(r.row,r.column),l&&(l.shiftRow(u),l.addRemoveChars(o,0,i.column-r.column))):v==-1&&(l.addRemoveChars(s,0,i.column-r.column),l.shiftRow(u)),c=f.indexOf(l)+1}for(c;c=s&&l.shiftRow(u)}}else{u=Math.abs(e.start.column-e.end.column),n==="remove"&&(a=this.getFoldsInRange(e),this.removeFolds(a),u=-u);var l=this.getFoldLine(s);l&&l.addRemoveChars(s,r.column,u)}return t&&this.$wrapData.length!=this.doc.getLength()&&console.error("doc.getLength() and $wrapData.length have to be the same!"),this.$updating=!1,t?this.$updateWrapData(s,o):this.$updateRowLengthCache(s,o),a},this.$updateRowLengthCache=function(e,t,n){this.$rowLengthCache[e]=null,this.$rowLengthCache[t]=null},this.$updateWrapData=function(e,t){var r=this.doc.getAllLines(),i=this.getTabSize(),s=this.$wrapData,o=this.$wrapLimit,a,f,l=e;t=Math.min(t,r.length-1);while(l<=t)f=this.getFoldLine(l,f),f?(a=[],f.walk(function(e,t,i,s){var o;if(e!=null){o=this.$getDisplayTokens(e,a.length),o[0]=n;for(var f=1;fr-b){var w=a+r-b;if(e[w-1]>=p&&e[w]>=p){y(w);continue}if(e[w]==n||e[w]==u){for(w;w!=a-1;w--)if(e[w]==n)break;if(w>a){y(w);continue}w=a+r;for(w;w>2)),a-1);while(w>E&&e[w]E&&e[w]E&&e[w]==l)w--}else while(w>E&&e[w]E){y(++w);continue}w=a+r,e[w]==t&&w--,y(w-b)}return s},this.$getDisplayTokens=function(n,r){var i=[],s;r=r||0;for(var o=0;o39&&u<48||u>57&&u<64?i.push(l):u>=4352&&m(u)?i.push(e,t):i.push(e)}return i},this.$getStringScreenWidth=function(e,t,n){if(t==0)return[0,0];t==null&&(t=Infinity),n=n||0;var r,i;for(i=0;i=4352&&m(r)?n+=2:n+=1;if(n>t)break}return[n,i]},this.lineWidgets=null,this.getRowLength=function(e){if(this.lineWidgets)var t=this.lineWidgets[e]&&this.lineWidgets[e].rowCount||0;else t=0;return!this.$useWrapMode||!this.$wrapData[e]?1+t:this.$wrapData[e].length+1+t},this.getRowLineCount=function(e){return!this.$useWrapMode||!this.$wrapData[e]?1:this.$wrapData[e].length+1},this.getRowWrapIndent=function(e){if(this.$useWrapMode){var t=this.screenToDocumentPosition(e,Number.MAX_VALUE),n=this.$wrapData[t.row];return n.length&&n[0]=0)var o=a[f],r=this.$docRowCache[f],c=e>a[l-1];else var c=!l;var h=this.getLength()-1,p=this.getNextFoldLine(r),d=p?p.start.row:Infinity;while(o<=e){u=this.getRowLength(r);if(o+u>e||r>=h)break;o+=u,r++,r>d&&(r=p.end.row+1,p=this.getNextFoldLine(r,p),d=p?p.start.row:Infinity),c&&(this.$docRowCache.push(r),this.$screenRowCache.push(o))}if(p&&p.start.row<=r)n=this.getFoldDisplayLine(p),r=p.start.row;else{if(o+u<=e||r>h)return{row:h,column:this.getLine(h).length};n=this.getLine(r),p=null}var v=0;if(this.$useWrapMode){var m=this.$wrapData[r];if(m){var g=Math.floor(e-o);s=m[g],g>0&&m.length&&(v=m.indent,i=m[g-1]||m[m.length-1],n=n.substring(i))}}return i+=this.$getStringScreenWidth(n,t-v)[1],this.$useWrapMode&&i>=s&&(i=s-1),p?p.idxToPosition(i):{row:r,column:i}},this.documentToScreenPosition=function(e,t){if(typeof t=="undefined")var n=this.$clipPositionToDocument(e.row,e.column);else n=this.$clipPositionToDocument(e,t);e=n.row,t=n.column;var r=0,i=null,s=null;s=this.getFoldAt(e,t,1),s&&(e=s.start.row,t=s.start.column);var o,u=0,a=this.$docRowCache,f=this.$getRowCacheIndex(a,e),l=a.length;if(l&&f>=0)var u=a[f],r=this.$screenRowCache[f],c=e>a[l-1];else var c=!l;var h=this.getNextFoldLine(u),p=h?h.start.row:Infinity;while(u=p){o=h.end.row+1;if(o>e)break;h=this.getNextFoldLine(o,h),p=h?h.start.row:Infinity}else o=u+1;r+=this.getRowLength(u),u=o,c&&(this.$docRowCache.push(u),this.$screenRowCache.push(r))}var d="";h&&u>=p?(d=this.getFoldDisplayLine(h,e,t),i=h.start.row):(d=this.getLine(e).substring(0,t),i=e);var v=0;if(this.$useWrapMode){var m=this.$wrapData[i];if(m){var g=0;while(d.length>=m[g])r++,g++;d=d.substring(m[g-1]||0,d.length),v=g>0?m.indent:0}}return{row:r,column:v+this.$getStringScreenWidth(d)[0]}},this.documentToScreenColumn=function(e,t){return this.documentToScreenPosition(e,t).column},this.documentToScreenRow=function(e,t){return this.documentToScreenPosition(e,t).row},this.getScreenLength=function(){var e=0,t=null;if(!this.$useWrapMode){e=this.getLength();var n=this.$foldData;for(var r=0;ro&&(s=t.end.row+1,t=this.$foldData[r++],o=t?t.start.row:Infinity)}}return this.lineWidgets&&(e+=this.$getWidgetScreenLength()),e},this.$setFontMetrics=function(e){if(!this.$enableVarChar)return;this.$getStringScreenWidth=function(t,n,r){if(n===0)return[0,0];n||(n=Infinity),r=r||0;var i,s;for(s=0;sn)break}return[r,s]}},this.destroy=function(){this.bgTokenizer&&(this.bgTokenizer.setDocument(null),this.bgTokenizer=null),this.$stopWorker()}}).call(p.prototype),e("./edit_session/folding").Folding.call(p.prototype),e("./edit_session/bracket_match").BracketMatch.call(p.prototype),s.defineOptions(p.prototype,"session",{wrap:{set:function(e){!e||e=="off"?e=!1:e=="free"?e=!0:e=="printMargin"?e=-1:typeof e=="string"&&(e=parseInt(e,10)||!1);if(this.$wrap==e)return;this.$wrap=e;if(!e)this.setUseWrapMode(!1);else{var t=typeof e=="number"?e:null;this.setWrapLimitRange(t,t),this.setUseWrapMode(!0)}},get:function(){return this.getUseWrapMode()?this.$wrap==-1?"printMargin":this.getWrapLimitRange().min?this.$wrap:"free":"off"},handlesSet:!0},wrapMethod:{set:function(e){e=e=="auto"?this.$mode.type!="text":e!="text",e!=this.$wrapAsCode&&(this.$wrapAsCode=e,this.$useWrapMode&&(this.$modified=!0,this.$resetRowCache(0),this.$updateWrapData(0,this.getLength()-1)))},initialValue:"auto"},indentedSoftWrap:{initialValue:!0},firstLineNumber:{set:function(){this._signal("changeBreakpoint")},initialValue:1},useWorker:{set:function(e){this.$useWorker=e,this.$stopWorker(),e&&this.$startWorker()},initialValue:!0},useSoftTabs:{initialValue:!0},tabSize:{set:function(e){if(isNaN(e)||this.$tabSize===e)return;this.$modified=!0,this.$rowLengthCache=[],this.$tabSize=e,this._signal("changeTabSize")},initialValue:4,handlesSet:!0},overwrite:{set:function(e){this._signal("changeOverwrite")},initialValue:!1},newLineMode:{set:function(e){this.doc.setNewLineMode(e)},get:function(){return this.doc.getNewLineMode()},handlesSet:!0},mode:{set:function(e){this.setMode(e)},get:function(){return this.$modeId}}}),t.EditSession=p}),ace.define("ace/search",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(e,t,n){"use strict";var r=e("./lib/lang"),i=e("./lib/oop"),s=e("./range").Range,o=function(){this.$options={}};(function(){this.set=function(e){return i.mixin(this.$options,e),this},this.getOptions=function(){return r.copyObject(this.$options)},this.setOptions=function(e){this.$options=e},this.find=function(e){var t=this.$options,n=this.$matchIterator(e,t);if(!n)return!1;var r=null;return n.forEach(function(e,n,i){if(!e.start){var o=e.offset+(i||0);r=new s(n,o,n,o+e.length);if(!e.length&&t.start&&t.start.start&&t.skipCurrent!=0&&r.isEqual(t.start))return r=null,!1}else r=e;return!0}),r},this.findAll=function(e){var t=this.$options;if(!t.needle)return[];this.$assembleRegExp(t);var n=t.range,i=n?e.getLines(n.start.row,n.end.row):e.doc.getAllLines(),o=[],u=t.re;if(t.$isMultiLine){var a=u.length,f=i.length-a,l;e:for(var c=u.offset||0;c<=f;c++){for(var h=0;hv)continue;o.push(l=new s(c,v,c+a-1,m)),a>2&&(c=c+a-2)}}else for(var g=0;gE&&o[h].end.row==n.end.row)h--;o=o.slice(g,h+1);for(g=0,h=o.length;g=0;u--)if(i(o[u],t,s))return!0};else var u=function(e,t,s){var o=r.getMatchOffsets(e,n);for(var u=0;u=o;r--)if(n(e.getLine(r),r))return;if(t.wrap==0)return;for(r=u,o=s.row;r>=o;r--)if(n(e.getLine(r),r))return}:function(n){var r=s.row,i=e.getLine(r).substr(s.column);if(n(i,r,s.column))return;for(r+=1;r<=u;r++)if(n(e.getLine(r),r))return;if(t.wrap==0)return;for(r=o,u=s.row;r<=u;r++)if(n(e.getLine(r),r))return};return{forEach:a}}}).call(o.prototype),t.Search=o}),ace.define("ace/keyboard/hash_handler",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(e,t,n){"use strict";function o(e,t){this.platform=t||(i.isMac?"mac":"win"),this.commands={},this.commandKeyBinding={},this.addCommands(e),this.$singleCommand=!0}function u(e,t){o.call(this,e,t),this.$singleCommand=!1}var r=e("../lib/keys"),i=e("../lib/useragent"),s=r.KEY_MODS;u.prototype=o.prototype,function(){function e(e){return typeof e=="object"&&e.bindKey&&e.bindKey.position||0}this.addCommand=function(e){this.commands[e.name]&&this.removeCommand(e),this.commands[e.name]=e,e.bindKey&&this._buildKeyHash(e)},this.removeCommand=function(e,t){var n=e&&(typeof e=="string"?e:e.name);e=this.commands[n],t||delete this.commands[n];var r=this.commandKeyBinding;for(var i in r){var s=r[i];if(s==e)delete r[i];else if(Array.isArray(s)){var o=s.indexOf(e);o!=-1&&(s.splice(o,1),s.length==1&&(r[i]=s[0]))}}},this.bindKey=function(e,t,n){typeof e=="object"&&e&&(n==undefined&&(n=e.position),e=e[this.platform]);if(!e)return;if(typeof t=="function")return this.addCommand({exec:t,bindKey:e,name:t.name||e});e.split("|").forEach(function(e){var r="";if(e.indexOf(" ")!=-1){var i=e.split(/\s+/);e=i.pop(),i.forEach(function(e){var t=this.parseKeys(e),n=s[t.hashId]+t.key;r+=(r?" ":"")+n,this._addCommandToBinding(r,"chainKeys")},this),r+=" "}var o=this.parseKeys(e),u=s[o.hashId]+o.key;this._addCommandToBinding(r+u,t,n)},this)},this._addCommandToBinding=function(t,n,r){var i=this.commandKeyBinding,s;if(!n)delete i[t];else if(!i[t]||this.$singleCommand)i[t]=n;else{Array.isArray(i[t])?(s=i[t].indexOf(n))!=-1&&i[t].splice(s,1):i[t]=[i[t]],typeof r!="number"&&(r||n.isDefault?r=-100:r=e(n));var o=i[t];for(s=0;sr)break}o.splice(s,0,n)}},this.addCommands=function(e){e&&Object.keys(e).forEach(function(t){var n=e[t];if(!n)return;if(typeof n=="string")return this.bindKey(n,t);typeof n=="function"&&(n={exec:n});if(typeof n!="object")return;n.name||(n.name=t),this.addCommand(n)},this)},this.removeCommands=function(e){Object.keys(e).forEach(function(t){this.removeCommand(e[t])},this)},this.bindKeys=function(e){Object.keys(e).forEach(function(t){this.bindKey(t,e[t])},this)},this._buildKeyHash=function(e){this.bindKey(e.bindKey,e)},this.parseKeys=function(e){var t=e.toLowerCase().split(/[\-\+]([\-\+])?/).filter(function(e){return e}),n=t.pop(),i=r[n];if(r.FUNCTION_KEYS[i])n=r.FUNCTION_KEYS[i].toLowerCase();else{if(!t.length)return{key:n,hashId:-1};if(t.length==1&&t[0]=="shift")return{key:n.toUpperCase(),hashId:-1}}var s=0;for(var o=t.length;o--;){var u=r.KEY_MODS[t[o]];if(u==null)return typeof console!="undefined"&&console.error("invalid modifier "+t[o]+" in "+e),!1;s|=u}return{key:n,hashId:s}},this.findKeyCommand=function(t,n){var r=s[t]+n;return this.commandKeyBinding[r]},this.handleKeyboard=function(e,t,n,r){if(r<0)return;var i=s[t]+n,o=this.commandKeyBinding[i];e.$keyChain&&(e.$keyChain+=" "+i,o=this.commandKeyBinding[e.$keyChain]||o);if(o)if(o=="chainKeys"||o[o.length-1]=="chainKeys")return e.$keyChain=e.$keyChain||i,{command:"null"};if(e.$keyChain)if(!!t&&t!=4||n.length!=1){if(t==-1||r>0)e.$keyChain=""}else e.$keyChain=e.$keyChain.slice(0,-i.length-1);return{command:o}},this.getStatusText=function(e,t){return t.$keyChain||""}}.call(o.prototype),t.HashHandler=o,t.MultiHashHandler=u}),ace.define("ace/commands/command_manager",["require","exports","module","ace/lib/oop","ace/keyboard/hash_handler","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../keyboard/hash_handler").MultiHashHandler,s=e("../lib/event_emitter").EventEmitter,o=function(e,t){i.call(this,t,e),this.byName=this.commands,this.setDefaultHandler("exec",function(e){return e.command.exec(e.editor,e.args||{})})};r.inherits(o,i),function(){r.implement(this,s),this.exec=function(e,t,n){if(Array.isArray(e)){for(var r=e.length;r--;)if(this.exec(e[r],t,n))return!0;return!1}typeof e=="string"&&(e=this.commands[e]);if(!e)return!1;if(t&&t.$readOnly&&!e.readOnly)return!1;var i={editor:t,command:e,args:n};return i.returnValue=this._emit("exec",i),this._signal("afterExec",i),i.returnValue===!1?!1:!0},this.toggleRecording=function(e){if(this.$inReplay)return;return e&&e._emit("changeStatus"),this.recording?(this.macro.pop(),this.removeEventListener("exec",this.$addCommandToMacro),this.macro.length||(this.macro=this.oldMacro),this.recording=!1):(this.$addCommandToMacro||(this.$addCommandToMacro=function(e){this.macro.push([e.command,e.args])}.bind(this)),this.oldMacro=this.macro,this.macro=[],this.on("exec",this.$addCommandToMacro),this.recording=!0)},this.replay=function(e){if(this.$inReplay||!this.macro)return;if(this.recording)return this.toggleRecording(e);try{this.$inReplay=!0,this.macro.forEach(function(t){typeof t=="string"?this.exec(t,e):this.exec(t[0],e,t[1])},this)}finally{this.$inReplay=!1}},this.trimMacro=function(e){return e.map(function(e){return typeof e[0]!="string"&&(e[0]=e[0].name),e[1]||(e=e[0]),e})}}.call(o.prototype),t.CommandManager=o}),ace.define("ace/commands/default_commands",["require","exports","module","ace/lib/lang","ace/config","ace/range"],function(e,t,n){"use strict";function o(e,t){return{win:e,mac:t}}var r=e("../lib/lang"),i=e("../config"),s=e("../range").Range;t.commands=[{name:"showSettingsMenu",bindKey:o("Ctrl-,","Command-,"),exec:function(e){i.loadModule("ace/ext/settings_menu",function(t){t.init(e),e.showSettingsMenu()})},readOnly:!0},{name:"goToNextError",bindKey:o("Alt-E","Ctrl-E"),exec:function(e){i.loadModule("ace/ext/error_marker",function(t){t.showErrorMarker(e,1)})},scrollIntoView:"animate",readOnly:!0},{name:"goToPreviousError",bindKey:o("Alt-Shift-E","Ctrl-Shift-E"),exec:function(e){i.loadModule("ace/ext/error_marker",function(t){t.showErrorMarker(e,-1)})},scrollIntoView:"animate",readOnly:!0},{name:"selectall",bindKey:o("Ctrl-A","Command-A"),exec:function(e){e.selectAll()},readOnly:!0},{name:"centerselection",bindKey:o(null,"Ctrl-L"),exec:function(e){e.centerSelection()},readOnly:!0},{name:"gotoline",bindKey:o("Ctrl-L","Command-L"),exec:function(e){var t=parseInt(prompt("Enter line number:"),10);isNaN(t)||e.gotoLine(t)},readOnly:!0},{name:"fold",bindKey:o("Alt-L|Ctrl-F1","Command-Alt-L|Command-F1"),exec:function(e){e.session.toggleFold(!1)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"unfold",bindKey:o("Alt-Shift-L|Ctrl-Shift-F1","Command-Alt-Shift-L|Command-Shift-F1"),exec:function(e){e.session.toggleFold(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleFoldWidget",bindKey:o("F2","F2"),exec:function(e){e.session.toggleFoldWidget()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleParentFoldWidget",bindKey:o("Alt-F2","Alt-F2"),exec:function(e){e.session.toggleFoldWidget(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"foldall",bindKey:o(null,"Ctrl-Command-Option-0"),exec:function(e){e.session.foldAll()},scrollIntoView:"center",readOnly:!0},{name:"foldOther",bindKey:o("Alt-0","Command-Option-0"),exec:function(e){e.session.foldAll(),e.session.unfold(e.selection.getAllRanges())},scrollIntoView:"center",readOnly:!0},{name:"unfoldall",bindKey:o("Alt-Shift-0","Command-Option-Shift-0"),exec:function(e){e.session.unfold()},scrollIntoView:"center",readOnly:!0},{name:"findnext",bindKey:o("Ctrl-K","Command-G"),exec:function(e){e.findNext()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"findprevious",bindKey:o("Ctrl-Shift-K","Command-Shift-G"),exec:function(e){e.findPrevious()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"selectOrFindNext",bindKey:o("Alt-K","Ctrl-G"),exec:function(e){e.selection.isEmpty()?e.selection.selectWord():e.findNext()},readOnly:!0},{name:"selectOrFindPrevious",bindKey:o("Alt-Shift-K","Ctrl-Shift-G"),exec:function(e){e.selection.isEmpty()?e.selection.selectWord():e.findPrevious()},readOnly:!0},{name:"find",bindKey:o("Ctrl-F","Command-F"),exec:function(e){i.loadModule("ace/ext/searchbox",function(t){t.Search(e)})},readOnly:!0},{name:"overwrite",bindKey:"Insert",exec:function(e){e.toggleOverwrite()},readOnly:!0},{name:"selecttostart",bindKey:o("Ctrl-Shift-Home","Command-Shift-Up"),exec:function(e){e.getSelection().selectFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotostart",bindKey:o("Ctrl-Home","Command-Home|Command-Up"),exec:function(e){e.navigateFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectup",bindKey:o("Shift-Up","Shift-Up"),exec:function(e){e.getSelection().selectUp()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golineup",bindKey:o("Up","Up|Ctrl-P"),exec:function(e,t){e.navigateUp(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttoend",bindKey:o("Ctrl-Shift-End","Command-Shift-Down"),exec:function(e){e.getSelection().selectFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotoend",bindKey:o("Ctrl-End","Command-End|Command-Down"),exec:function(e){e.navigateFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectdown",bindKey:o("Shift-Down","Shift-Down"),exec:function(e){e.getSelection().selectDown()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golinedown",bindKey:o("Down","Down|Ctrl-N"),exec:function(e,t){e.navigateDown(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordleft",bindKey:o("Ctrl-Shift-Left","Option-Shift-Left"),exec:function(e){e.getSelection().selectWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordleft",bindKey:o("Ctrl-Left","Option-Left"),exec:function(e){e.navigateWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolinestart",bindKey:o("Alt-Shift-Left","Command-Shift-Left"),exec:function(e){e.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolinestart",bindKey:o("Alt-Left|Home","Command-Left|Home|Ctrl-A"),exec:function(e){e.navigateLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectleft",bindKey:o("Shift-Left","Shift-Left"),exec:function(e){e.getSelection().selectLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoleft",bindKey:o("Left","Left|Ctrl-B"),exec:function(e,t){e.navigateLeft(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordright",bindKey:o("Ctrl-Shift-Right","Option-Shift-Right"),exec:function(e){e.getSelection().selectWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordright",bindKey:o("Ctrl-Right","Option-Right"),exec:function(e){e.navigateWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolineend",bindKey:o("Alt-Shift-Right","Command-Shift-Right"),exec:function(e){e.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolineend",bindKey:o("Alt-Right|End","Command-Right|End|Ctrl-E"),exec:function(e){e.navigateLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectright",bindKey:o("Shift-Right","Shift-Right"),exec:function(e){e.getSelection().selectRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoright",bindKey:o("Right","Right|Ctrl-F"),exec:function(e,t){e.navigateRight(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectpagedown",bindKey:"Shift-PageDown",exec:function(e){e.selectPageDown()},readOnly:!0},{name:"pagedown",bindKey:o(null,"Option-PageDown"),exec:function(e){e.scrollPageDown()},readOnly:!0},{name:"gotopagedown",bindKey:o("PageDown","PageDown|Ctrl-V"),exec:function(e){e.gotoPageDown()},readOnly:!0},{name:"selectpageup",bindKey:"Shift-PageUp",exec:function(e){e.selectPageUp()},readOnly:!0},{name:"pageup",bindKey:o(null,"Option-PageUp"),exec:function(e){e.scrollPageUp()},readOnly:!0},{name:"gotopageup",bindKey:"PageUp",exec:function(e){e.gotoPageUp()},readOnly:!0},{name:"scrollup",bindKey:o("Ctrl-Up",null),exec:function(e){e.renderer.scrollBy(0,-2*e.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"scrolldown",bindKey:o("Ctrl-Down",null),exec:function(e){e.renderer.scrollBy(0,2*e.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"selectlinestart",bindKey:"Shift-Home",exec:function(e){e.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectlineend",bindKey:"Shift-End",exec:function(e){e.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"togglerecording",bindKey:o("Ctrl-Alt-E","Command-Option-E"),exec:function(e){e.commands.toggleRecording(e)},readOnly:!0},{name:"replaymacro",bindKey:o("Ctrl-Shift-E","Command-Shift-E"),exec:function(e){e.commands.replay(e)},readOnly:!0},{name:"jumptomatching",bindKey:o("Ctrl-P","Ctrl-P"),exec:function(e){e.jumpToMatching()},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"selecttomatching",bindKey:o("Ctrl-Shift-P","Ctrl-Shift-P"),exec:function(e){e.jumpToMatching(!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"expandToMatching",bindKey:o("Ctrl-Shift-M","Ctrl-Shift-M"),exec:function(e){e.jumpToMatching(!0,!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"passKeysToBrowser",bindKey:o(null,null),exec:function(){},passEvent:!0,readOnly:!0},{name:"copy",exec:function(e){},readOnly:!0},{name:"cut",exec:function(e){var t=e.getSelectionRange();e._emit("cut",t),e.selection.isEmpty()||(e.session.remove(t),e.clearSelection())},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"paste",exec:function(e,t){e.$handlePaste(t)},scrollIntoView:"cursor"},{name:"removeline",bindKey:o("Ctrl-D","Command-D"),exec:function(e){e.removeLines()},scrollIntoView:"cursor",multiSelectAction:"forEachLine"},{name:"duplicateSelection",bindKey:o("Ctrl-Shift-D","Command-Shift-D"),exec:function(e){e.duplicateSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"sortlines",bindKey:o("Ctrl-Alt-S","Command-Alt-S"),exec:function(e){e.sortLines()},scrollIntoView:"selection",multiSelectAction:"forEachLine"},{name:"togglecomment",bindKey:o("Ctrl-/","Command-/"),exec:function(e){e.toggleCommentLines()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"toggleBlockComment",bindKey:o("Ctrl-Shift-/","Command-Shift-/"),exec:function(e){e.toggleBlockComment()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"modifyNumberUp",bindKey:o("Ctrl-Shift-Up","Alt-Shift-Up"),exec:function(e){e.modifyNumber(1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"modifyNumberDown",bindKey:o("Ctrl-Shift-Down","Alt-Shift-Down"),exec:function(e){e.modifyNumber(-1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"replace",bindKey:o("Ctrl-H","Command-Option-F"),exec:function(e){i.loadModule("ace/ext/searchbox",function(t){t.Search(e,!0)})}},{name:"undo",bindKey:o("Ctrl-Z","Command-Z"),exec:function(e){e.undo()}},{name:"redo",bindKey:o("Ctrl-Shift-Z|Ctrl-Y","Command-Shift-Z|Command-Y"),exec:function(e){e.redo()}},{name:"copylinesup",bindKey:o("Alt-Shift-Up","Command-Option-Up"),exec:function(e){e.copyLinesUp()},scrollIntoView:"cursor"},{name:"movelinesup",bindKey:o("Alt-Up","Option-Up"),exec:function(e){e.moveLinesUp()},scrollIntoView:"cursor"},{name:"copylinesdown",bindKey:o("Alt-Shift-Down","Command-Option-Down"),exec:function(e){e.copyLinesDown()},scrollIntoView:"cursor"},{name:"movelinesdown",bindKey:o("Alt-Down","Option-Down"),exec:function(e){e.moveLinesDown()},scrollIntoView:"cursor"},{name:"del",bindKey:o("Delete","Delete|Ctrl-D|Shift-Delete"),exec:function(e){e.remove("right")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"backspace",bindKey:o("Shift-Backspace|Backspace","Ctrl-Backspace|Shift-Backspace|Backspace|Ctrl-H"),exec:function(e){e.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"cut_or_delete",bindKey:o("Shift-Delete",null),exec:function(e){if(!e.selection.isEmpty())return!1;e.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestart",bindKey:o("Alt-Backspace","Command-Backspace"),exec:function(e){e.removeToLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineend",bindKey:o("Alt-Delete","Ctrl-K"),exec:function(e){e.removeToLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordleft",bindKey:o("Ctrl-Backspace","Alt-Backspace|Ctrl-Alt-Backspace"),exec:function(e){e.removeWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordright",bindKey:o("Ctrl-Delete","Alt-Delete"),exec:function(e){e.removeWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"outdent",bindKey:o("Shift-Tab","Shift-Tab"),exec:function(e){e.blockOutdent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"indent",bindKey:o("Tab","Tab"),exec:function(e){e.indent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"blockoutdent",bindKey:o("Ctrl-[","Ctrl-["),exec:function(e){e.blockOutdent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"blockindent",bindKey:o("Ctrl-]","Ctrl-]"),exec:function(e){e.blockIndent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"insertstring",exec:function(e,t){e.insert(t)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"inserttext",exec:function(e,t){e.insert(r.stringRepeat(t.text||"",t.times||1))},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"splitline",bindKey:o(null,"Ctrl-O"),exec:function(e){e.splitLine()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"transposeletters",bindKey:o("Ctrl-T","Ctrl-T"),exec:function(e){e.transposeLetters()},multiSelectAction:function(e){e.transposeSelections(1)},scrollIntoView:"cursor"},{name:"touppercase",bindKey:o("Ctrl-U","Ctrl-U"),exec:function(e){e.toUpperCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"tolowercase",bindKey:o("Ctrl-Shift-U","Ctrl-Shift-U"),exec:function(e){e.toLowerCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"expandtoline",bindKey:o("Ctrl-Shift-L","Command-Shift-L"),exec:function(e){var t=e.selection.getRange();t.start.column=t.end.column=0,t.end.row++,e.selection.setRange(t,!1)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"joinlines",bindKey:o(null,null),exec:function(e){var t=e.selection.isBackwards(),n=t?e.selection.getSelectionLead():e.selection.getSelectionAnchor(),i=t?e.selection.getSelectionAnchor():e.selection.getSelectionLead(),o=e.session.doc.getLine(n.row).length,u=e.session.doc.getTextRange(e.selection.getRange()),a=u.replace(/\n\s*/," ").length,f=e.session.doc.getLine(n.row);for(var l=n.row+1;l<=i.row+1;l++){var c=r.stringTrimLeft(r.stringTrimRight(e.session.doc.getLine(l)));c.length!==0&&(c=" "+c),f+=c}i.row+10?(e.selection.moveCursorTo(n.row,n.column),e.selection.selectTo(n.row,n.column+a)):(o=e.session.doc.getLine(n.row).length>o?o+1:o,e.selection.moveCursorTo(n.row,o))},multiSelectAction:"forEach",readOnly:!0},{name:"invertSelection",bindKey:o(null,null),exec:function(e){var t=e.session.doc.getLength()-1,n=e.session.doc.getLine(t).length,r=e.selection.rangeList.ranges,i=[];r.length<1&&(r=[e.selection.getRange()]);for(var o=0;o0&&this.$blockScrolling--;var n=t&&t.scrollIntoView;if(n){switch(n){case"center-animate":n="animate";case"center":this.renderer.scrollCursorIntoView(null,.5);break;case"animate":case"cursor":this.renderer.scrollCursorIntoView();break;case"selectionPart":var r=this.selection.getRange(),i=this.renderer.layerConfig;(r.start.row>=i.lastRow||r.end.row<=i.firstRow)&&this.renderer.scrollSelectionIntoView(this.selection.anchor,this.selection.lead);break;default:}n=="animate"&&this.renderer.animateScrolling(this.curOp.scrollTop)}this.prevOp=this.curOp,this.curOp=null}},this.$mergeableCommands=["backspace","del","insertstring"],this.$historyTracker=function(e){if(!this.$mergeUndoDeltas)return;var t=this.prevOp,n=this.$mergeableCommands,r=t.command&&e.command.name==t.command.name;if(e.command.name=="insertstring"){var i=e.args;this.mergeNextCommand===undefined&&(this.mergeNextCommand=!0),r=r&&this.mergeNextCommand&&(!/\s/.test(i)||/\s/.test(t.args)),this.mergeNextCommand=!0}else r=r&&n.indexOf(e.command.name)!==-1;this.$mergeUndoDeltas!="always"&&Date.now()-this.sequenceStartTime>2e3&&(r=!1),r?this.session.mergeUndoDeltas=!0:n.indexOf(e.command.name)!==-1&&(this.sequenceStartTime=Date.now())},this.setKeyboardHandler=function(e,t){if(e&&typeof e=="string"){this.$keybindingId=e;var n=this;g.loadModule(["keybinding",e],function(r){n.$keybindingId==e&&n.keyBinding.setKeyboardHandler(r&&r.handler),t&&t()})}else this.$keybindingId=null,this.keyBinding.setKeyboardHandler(e),t&&t()},this.getKeyboardHandler=function(){return this.keyBinding.getKeyboardHandler()},this.setSession=function(e){if(this.session==e)return;this.curOp&&this.endOperation(),this.curOp={};var t=this.session;if(t){this.session.off("change",this.$onDocumentChange),this.session.off("changeMode",this.$onChangeMode),this.session.off("tokenizerUpdate",this.$onTokenizerUpdate),this.session.off("changeTabSize",this.$onChangeTabSize),this.session.off("changeWrapLimit",this.$onChangeWrapLimit),this.session.off("changeWrapMode",this.$onChangeWrapMode),this.session.off("changeFold",this.$onChangeFold),this.session.off("changeFrontMarker",this.$onChangeFrontMarker),this.session.off("changeBackMarker",this.$onChangeBackMarker),this.session.off("changeBreakpoint",this.$onChangeBreakpoint),this.session.off("changeAnnotation",this.$onChangeAnnotation),this.session.off("changeOverwrite",this.$onCursorChange),this.session.off("changeScrollTop",this.$onScrollTopChange),this.session.off("changeScrollLeft",this.$onScrollLeftChange);var n=this.session.getSelection();n.off("changeCursor",this.$onCursorChange),n.off("changeSelection",this.$onSelectionChange)}this.session=e,e?(this.$onDocumentChange=this.onDocumentChange.bind(this),e.on("change",this.$onDocumentChange),this.renderer.setSession(e),this.$onChangeMode=this.onChangeMode.bind(this),e.on("changeMode",this.$onChangeMode),this.$onTokenizerUpdate=this.onTokenizerUpdate.bind(this),e.on("tokenizerUpdate",this.$onTokenizerUpdate),this.$onChangeTabSize=this.renderer.onChangeTabSize.bind(this.renderer),e.on("changeTabSize",this.$onChangeTabSize),this.$onChangeWrapLimit=this.onChangeWrapLimit.bind(this),e.on("changeWrapLimit",this.$onChangeWrapLimit),this.$onChangeWrapMode=this.onChangeWrapMode.bind(this),e.on("changeWrapMode",this.$onChangeWrapMode),this.$onChangeFold=this.onChangeFold.bind(this),e.on("changeFold",this.$onChangeFold),this.$onChangeFrontMarker=this.onChangeFrontMarker.bind(this),this.session.on("changeFrontMarker",this.$onChangeFrontMarker),this.$onChangeBackMarker=this.onChangeBackMarker.bind(this),this.session.on("changeBackMarker",this.$onChangeBackMarker),this.$onChangeBreakpoint=this.onChangeBreakpoint.bind(this),this.session.on("changeBreakpoint",this.$onChangeBreakpoint),this.$onChangeAnnotation=this.onChangeAnnotation.bind(this),this.session.on("changeAnnotation",this.$onChangeAnnotation),this.$onCursorChange=this.onCursorChange.bind(this),this.session.on("changeOverwrite",this.$onCursorChange),this.$onScrollTopChange=this.onScrollTopChange.bind(this),this.session.on("changeScrollTop",this.$onScrollTopChange),this.$onScrollLeftChange=this.onScrollLeftChange.bind(this),this.session.on("changeScrollLeft",this.$onScrollLeftChange),this.selection=e.getSelection(),this.selection.on("changeCursor",this.$onCursorChange),this.$onSelectionChange=this.onSelectionChange.bind(this),this.selection.on("changeSelection",this.$onSelectionChange),this.onChangeMode(),this.$blockScrolling+=1,this.onCursorChange(),this.$blockScrolling-=1,this.onScrollTopChange(),this.onScrollLeftChange(),this.onSelectionChange(),this.onChangeFrontMarker(),this.onChangeBackMarker(),this.onChangeBreakpoint(),this.onChangeAnnotation(),this.session.getUseWrapMode()&&this.renderer.adjustWrapLimit(),this.renderer.updateFull()):(this.selection=null,this.renderer.setSession(e)),this._signal("changeSession",{session:e,oldSession:t}),this.curOp=null,t&&t._signal("changeEditor",{oldEditor:this}),e&&e._signal("changeEditor",{editor:this})},this.getSession=function(){return this.session},this.setValue=function(e,t){return this.session.doc.setValue(e),t?t==1?this.navigateFileEnd():t==-1&&this.navigateFileStart():this.selectAll(),e},this.getValue=function(){return this.session.getValue()},this.getSelection=function(){return this.selection},this.resize=function(e){this.renderer.onResize(e)},this.setTheme=function(e,t){this.renderer.setTheme(e,t)},this.getTheme=function(){return this.renderer.getTheme()},this.setStyle=function(e){this.renderer.setStyle(e)},this.unsetStyle=function(e){this.renderer.unsetStyle(e)},this.getFontSize=function(){return this.getOption("fontSize")||i.computedStyle(this.container,"fontSize")},this.setFontSize=function(e){this.setOption("fontSize",e)},this.$highlightBrackets=function(){this.session.$bracketHighlight&&(this.session.removeMarker(this.session.$bracketHighlight),this.session.$bracketHighlight=null);if(this.$highlightPending)return;var e=this;this.$highlightPending=!0,setTimeout(function(){e.$highlightPending=!1;var t=e.session;if(!t||!t.bgTokenizer)return;var n=t.findMatchingBracket(e.getCursorPosition());if(n)var r=new p(n.row,n.column,n.row,n.column+1);else if(t.$mode.getMatching)var r=t.$mode.getMatching(e.session);r&&(t.$bracketHighlight=t.addMarker(r,"ace_bracket","text"))},50)},this.$highlightTags=function(){if(this.$highlightTagPending)return;var e=this;this.$highlightTagPending=!0,setTimeout(function(){e.$highlightTagPending=!1;var t=e.session;if(!t||!t.bgTokenizer)return;var n=e.getCursorPosition(),r=new y(e.session,n.row,n.column),i=r.getCurrentToken();if(!i||!/\b(?:tag-open|tag-name)/.test(i.type)){t.removeMarker(t.$tagHighlight),t.$tagHighlight=null;return}if(i.type.indexOf("tag-open")!=-1){i=r.stepForward();if(!i)return}var s=i.value,o=0,u=r.stepBackward();if(u.value=="<"){do u=i,i=r.stepForward(),i&&i.value===s&&i.type.indexOf("tag-name")!==-1&&(u.value==="<"?o++:u.value==="=0)}else{do i=u,u=r.stepBackward(),i&&i.value===s&&i.type.indexOf("tag-name")!==-1&&(u.value==="<"?o++:u.value==="1)&&(t=!1)}if(e.$highlightLineMarker&&!t)e.removeMarker(e.$highlightLineMarker.id),e.$highlightLineMarker=null;else if(!e.$highlightLineMarker&&t){var n=new p(t.row,t.column,t.row,Infinity);n.id=e.addMarker(n,"ace_active-line","screenLine"),e.$highlightLineMarker=n}else t&&(e.$highlightLineMarker.start.row=t.row,e.$highlightLineMarker.end.row=t.row,e.$highlightLineMarker.start.column=t.column,e._signal("changeBackMarker"))},this.onSelectionChange=function(e){var t=this.session;t.$selectionMarker&&t.removeMarker(t.$selectionMarker),t.$selectionMarker=null;if(!this.selection.isEmpty()){var n=this.selection.getRange(),r=this.getSelectionStyle();t.$selectionMarker=t.addMarker(n,"ace_selection",r)}else this.$updateHighlightActiveLine();var i=this.$highlightSelectedWord&&this.$getSelectionHighLightRegexp();this.session.highlight(i),this._signal("changeSelection")},this.$getSelectionHighLightRegexp=function(){var e=this.session,t=this.getSelectionRange();if(t.isEmpty()||t.isMultiLine())return;var n=t.start.column-1,r=t.end.column+1,i=e.getLine(t.start.row),s=i.length,o=i.substring(Math.max(n,0),Math.min(r,s));if(n>=0&&/^[\w\d]/.test(o)||r<=s&&/[\w\d]$/.test(o))return;o=i.substring(t.start.column,t.end.column);if(!/^[\w\d]+$/.test(o))return;var u=this.$search.$assembleRegExp({wholeWord:!0,caseSensitive:!0,needle:o});return u},this.onChangeFrontMarker=function(){this.renderer.updateFrontMarkers()},this.onChangeBackMarker=function(){this.renderer.updateBackMarkers()},this.onChangeBreakpoint=function(){this.renderer.updateBreakpoints()},this.onChangeAnnotation=function(){this.renderer.setAnnotations(this.session.getAnnotations())},this.onChangeMode=function(e){this.renderer.updateText(),this._emit("changeMode",e)},this.onChangeWrapLimit=function(){this.renderer.updateFull()},this.onChangeWrapMode=function(){this.renderer.onResize(!0)},this.onChangeFold=function(){this.$updateHighlightActiveLine(),this.renderer.updateFull()},this.getSelectedText=function(){return this.session.getTextRange(this.getSelectionRange())},this.getCopyText=function(){var e=this.getSelectedText();return this._signal("copy",e),e},this.onCopy=function(){this.commands.exec("copy",this)},this.onCut=function(){this.commands.exec("cut",this)},this.onPaste=function(e,t){var n={text:e,event:t};this.commands.exec("paste",this,n)},this.$handlePaste=function(e){typeof e=="string"&&(e={text:e}),this._signal("paste",e);var t=e.text;if(!this.inMultiSelectMode||this.inVirtualSelectionMode)this.insert(t);else{var n=t.split(/\r\n|\r|\n/),r=this.selection.rangeList.ranges;if(n.length>r.length||n.length<2||!n[1])return this.commands.exec("insertstring",this,t);for(var i=r.length;i--;){var s=r[i];s.isEmpty()||this.session.remove(s),this.session.insert(s.start,n[i])}}},this.execCommand=function(e,t){return this.commands.exec(e,this,t)},this.insert=function(e,t){var n=this.session,r=n.getMode(),i=this.getCursorPosition();if(this.getBehavioursEnabled()&&!t){var s=r.transformAction(n.getState(i.row),"insertion",this,n,e);s&&(e!==s.text&&(this.session.mergeUndoDeltas=!1,this.$mergeNextCommand=!1),e=s.text)}e==" "&&(e=this.session.getTabString());if(!this.selection.isEmpty()){var o=this.getSelectionRange();i=this.session.remove(o),this.clearSelection()}else if(this.session.getOverwrite()){var o=new p.fromPoints(i,i);o.end.column+=e.length,this.session.remove(o)}if(e=="\n"||e=="\r\n"){var u=n.getLine(i.row);if(i.column>u.search(/\S|$/)){var a=u.substr(i.column).search(/\S|$/);n.doc.removeInLine(i.row,i.column,i.column+a)}}this.clearSelection();var f=i.column,l=n.getState(i.row),u=n.getLine(i.row),c=r.checkOutdent(l,u,e),h=n.insert(i,e);s&&s.selection&&(s.selection.length==2?this.selection.setSelectionRange(new p(i.row,f+s.selection[0],i.row,f+s.selection[1])):this.selection.setSelectionRange(new p(i.row+s.selection[0],s.selection[1],i.row+s.selection[2],s.selection[3])));if(n.getDocument().isNewLine(e)){var d=r.getNextLineIndent(l,u.slice(0,i.column),n.getTabString());n.insert({row:i.row+1,column:0},d)}c&&r.autoOutdent(l,n,i.row)},this.onTextInput=function(e){this.keyBinding.onTextInput(e)},this.onCommandKey=function(e,t,n){this.keyBinding.onCommandKey(e,t,n)},this.setOverwrite=function(e){this.session.setOverwrite(e)},this.getOverwrite=function(){return this.session.getOverwrite()},this.toggleOverwrite=function(){this.session.toggleOverwrite()},this.setScrollSpeed=function(e){this.setOption("scrollSpeed",e)},this.getScrollSpeed=function(){return this.getOption("scrollSpeed")},this.setDragDelay=function(e){this.setOption("dragDelay",e)},this.getDragDelay=function(){return this.getOption("dragDelay")},this.setSelectionStyle=function(e){this.setOption("selectionStyle",e)},this.getSelectionStyle=function(){return this.getOption("selectionStyle")},this.setHighlightActiveLine=function(e){this.setOption("highlightActiveLine",e)},this.getHighlightActiveLine=function(){return this.getOption("highlightActiveLine")},this.setHighlightGutterLine=function(e){this.setOption("highlightGutterLine",e)},this.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},this.setHighlightSelectedWord=function(e){this.setOption("highlightSelectedWord",e)},this.getHighlightSelectedWord=function(){return this.$highlightSelectedWord},this.setAnimatedScroll=function(e){this.renderer.setAnimatedScroll(e)},this.getAnimatedScroll=function(){return this.renderer.getAnimatedScroll()},this.setShowInvisibles=function(e){this.renderer.setShowInvisibles(e)},this.getShowInvisibles=function(){return this.renderer.getShowInvisibles()},this.setDisplayIndentGuides=function(e){this.renderer.setDisplayIndentGuides(e)},this.getDisplayIndentGuides=function(){return this.renderer.getDisplayIndentGuides()},this.setShowPrintMargin=function(e){this.renderer.setShowPrintMargin(e)},this.getShowPrintMargin=function(){return this.renderer.getShowPrintMargin()},this.setPrintMarginColumn=function(e){this.renderer.setPrintMarginColumn(e)},this.getPrintMarginColumn=function(){return this.renderer.getPrintMarginColumn()},this.setReadOnly=function(e){this.setOption("readOnly",e)},this.getReadOnly=function(){return this.getOption("readOnly")},this.setBehavioursEnabled=function(e){this.setOption("behavioursEnabled",e)},this.getBehavioursEnabled=function(){return this.getOption("behavioursEnabled")},this.setWrapBehavioursEnabled=function(e){this.setOption("wrapBehavioursEnabled",e)},this.getWrapBehavioursEnabled=function(){return this.getOption("wrapBehavioursEnabled")},this.setShowFoldWidgets=function(e){this.setOption("showFoldWidgets",e)},this.getShowFoldWidgets=function(){return this.getOption("showFoldWidgets")},this.setFadeFoldWidgets=function(e){this.setOption("fadeFoldWidgets",e)},this.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},this.remove=function(e){this.selection.isEmpty()&&(e=="left"?this.selection.selectLeft():this.selection.selectRight());var t=this.getSelectionRange();if(this.getBehavioursEnabled()){var n=this.session,r=n.getState(t.start.row),i=n.getMode().transformAction(r,"deletion",this,n,t);if(t.end.column===0){var s=n.getTextRange(t);if(s[s.length-1]=="\n"){var o=n.getLine(t.end.row);/^\s+$/.test(o)&&(t.end.column=o.length)}}i&&(t=i)}this.session.remove(t),this.clearSelection()},this.removeWordRight=function(){this.selection.isEmpty()&&this.selection.selectWordRight(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeWordLeft=function(){this.selection.isEmpty()&&this.selection.selectWordLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeToLineStart=function(){this.selection.isEmpty()&&this.selection.selectLineStart(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeToLineEnd=function(){this.selection.isEmpty()&&this.selection.selectLineEnd();var e=this.getSelectionRange();e.start.column==e.end.column&&e.start.row==e.end.row&&(e.end.column=0,e.end.row++),this.session.remove(e),this.clearSelection()},this.splitLine=function(){this.selection.isEmpty()||(this.session.remove(this.getSelectionRange()),this.clearSelection());var e=this.getCursorPosition();this.insert("\n"),this.moveCursorToPosition(e)},this.transposeLetters=function(){if(!this.selection.isEmpty())return;var e=this.getCursorPosition(),t=e.column;if(t===0)return;var n=this.session.getLine(e.row),r,i;tt.toLowerCase()?1:0});var r=new p(0,0,0,0);for(var i=e.first;i<=e.last;i++){var s=t.getLine(i);r.start.row=i,r.end.row=i,r.end.column=s.length,t.replace(r,n[i-e.first])}},this.toggleCommentLines=function(){var e=this.session.getState(this.getCursorPosition().row),t=this.$getSelectedRows();this.session.getMode().toggleCommentLines(e,this.session,t.first,t.last)},this.toggleBlockComment=function(){var e=this.getCursorPosition(),t=this.session.getState(e.row),n=this.getSelectionRange();this.session.getMode().toggleBlockComment(t,this.session,n,e)},this.getNumberAt=function(e,t){var n=/[\-]?[0-9]+(?:\.[0-9]+)?/g;n.lastIndex=0;var r=this.session.getLine(e);while(n.lastIndex=t){var s={value:i[0],start:i.index,end:i.index+i[0].length};return s}}return null},this.modifyNumber=function(e){var t=this.selection.getCursor().row,n=this.selection.getCursor().column,r=new p(t,n-1,t,n),i=this.session.getTextRange(r);if(!isNaN(parseFloat(i))&&isFinite(i)){var s=this.getNumberAt(t,n);if(s){var o=s.value.indexOf(".")>=0?s.start+s.value.indexOf(".")+1:s.end,u=s.start+s.value.length-o,a=parseFloat(s.value);a*=Math.pow(10,u),o!==s.end&&np+1)break;p=d.last}l--,u=this.session.$moveLines(h,p,t?0:e),t&&e==-1&&(c=l+1);while(c<=l)o[c].moveBy(u,0),c++;t||(u=0),a+=u}i.fromOrientedRange(i.ranges[0]),i.rangeList.attach(this.session),this.inVirtualSelectionMode=!1}},this.$getSelectedRows=function(e){return e=(e||this.getSelectionRange()).collapseRows(),{first:this.session.getRowFoldStart(e.start.row),last:this.session.getRowFoldEnd(e.end.row)}},this.onCompositionStart=function(e){this.renderer.showComposition(this.getCursorPosition())},this.onCompositionUpdate=function(e){this.renderer.setCompositionText(e)},this.onCompositionEnd=function(){this.renderer.hideComposition()},this.getFirstVisibleRow=function(){return this.renderer.getFirstVisibleRow()},this.getLastVisibleRow=function(){return this.renderer.getLastVisibleRow()},this.isRowVisible=function(e){return e>=this.getFirstVisibleRow()&&e<=this.getLastVisibleRow()},this.isRowFullyVisible=function(e){return e>=this.renderer.getFirstFullyVisibleRow()&&e<=this.renderer.getLastFullyVisibleRow()},this.$getVisibleRowCount=function(){return this.renderer.getScrollBottomRow()-this.renderer.getScrollTopRow()+1},this.$moveByPage=function(e,t){var n=this.renderer,r=this.renderer.layerConfig,i=e*Math.floor(r.height/r.lineHeight);this.$blockScrolling++,t===!0?this.selection.$moveSelection(function(){this.moveCursorBy(i,0)}):t===!1&&(this.selection.moveCursorBy(i,0),this.selection.clearSelection()),this.$blockScrolling--;var s=n.scrollTop;n.scrollBy(0,i*r.lineHeight),t!=null&&n.scrollCursorIntoView(null,.5),n.animateScrolling(s)},this.selectPageDown=function(){this.$moveByPage(1,!0)},this.selectPageUp=function(){this.$moveByPage(-1,!0)},this.gotoPageDown=function(){this.$moveByPage(1,!1)},this.gotoPageUp=function(){this.$moveByPage(-1,!1)},this.scrollPageDown=function(){this.$moveByPage(1)},this.scrollPageUp=function(){this.$moveByPage(-1)},this.scrollToRow=function(e){this.renderer.scrollToRow(e)},this.scrollToLine=function(e,t,n,r){this.renderer.scrollToLine(e,t,n,r)},this.centerSelection=function(){var e=this.getSelectionRange(),t={row:Math.floor(e.start.row+(e.end.row-e.start.row)/2),column:Math.floor(e.start.column+(e.end.column-e.start.column)/2)};this.renderer.alignCursor(t,.5)},this.getCursorPosition=function(){return this.selection.getCursor()},this.getCursorPositionScreen=function(){return this.session.documentToScreenPosition(this.getCursorPosition())},this.getSelectionRange=function(){return this.selection.getRange()},this.selectAll=function(){this.$blockScrolling+=1,this.selection.selectAll(),this.$blockScrolling-=1},this.clearSelection=function(){this.selection.clearSelection()},this.moveCursorTo=function(e,t){this.selection.moveCursorTo(e,t)},this.moveCursorToPosition=function(e){this.selection.moveCursorToPosition(e)},this.jumpToMatching=function(e,t){var n=this.getCursorPosition(),r=new y(this.session,n.row,n.column),i=r.getCurrentToken(),s=i||r.stepForward();if(!s)return;var o,u=!1,a={},f=n.column-s.start,l,c={")":"(","(":"(","]":"[","[":"[","{":"{","}":"{"};do{if(s.value.match(/[{}()\[\]]/g))for(;f=0;--s)this.$tryReplace(n[s],e)&&r++;return this.selection.setSelectionRange(i),this.$blockScrolling-=1,r},this.$tryReplace=function(e,t){var n=this.session.getTextRange(e);return t=this.$search.replace(n,t),t!==null?(e.end=this.session.replace(e,t),e):null},this.getLastSearchOptions=function(){return this.$search.getOptions()},this.find=function(e,t,n){t||(t={}),typeof e=="string"||e instanceof RegExp?t.needle=e:typeof e=="object"&&r.mixin(t,e);var i=this.selection.getRange();t.needle==null&&(e=this.session.getTextRange(i)||this.$search.$options.needle,e||(i=this.session.getWordRange(i.start.row,i.start.column),e=this.session.getTextRange(i)),this.$search.set({needle:e})),this.$search.set(t),t.start||this.$search.set({start:i});var s=this.$search.find(this.session);if(t.preventScroll)return s;if(s)return this.revealRange(s,n),s;t.backwards?i.start=i.end:i.end=i.start,this.selection.setRange(i)},this.findNext=function(e,t){this.find({skipCurrent:!0,backwards:!1},e,t)},this.findPrevious=function(e,t){this.find(e,{skipCurrent:!0,backwards:!0},t)},this.revealRange=function(e,t){this.$blockScrolling+=1,this.session.unfold(e),this.selection.setSelectionRange(e),this.$blockScrolling-=1;var n=this.renderer.scrollTop;this.renderer.scrollSelectionIntoView(e.start,e.end,.5),t!==!1&&this.renderer.animateScrolling(n)},this.undo=function(){this.$blockScrolling++,this.session.getUndoManager().undo(),this.$blockScrolling--,this.renderer.scrollCursorIntoView(null,.5)},this.redo=function(){this.$blockScrolling++,this.session.getUndoManager().redo(),this.$blockScrolling--,this.renderer.scrollCursorIntoView(null,.5)},this.destroy=function(){this.renderer.destroy(),this._signal("destroy",this),this.session&&this.session.destroy()},this.setAutoScrollEditorIntoView=function(e){if(!e)return;var t,n=this,r=!1;this.$scrollAnchor||(this.$scrollAnchor=document.createElement("div"));var i=this.$scrollAnchor;i.style.cssText="position:absolute",this.container.insertBefore(i,this.container.firstChild);var s=this.on("changeSelection",function(){r=!0}),o=this.renderer.on("beforeRender",function(){r&&(t=n.renderer.container.getBoundingClientRect())}),u=this.renderer.on("afterRender",function(){if(r&&t&&(n.isFocused()||n.searchBox&&n.searchBox.isFocused())){var e=n.renderer,s=e.$cursorLayer.$pixelPos,o=e.layerConfig,u=s.top-o.offset;s.top>=0&&u+t.top<0?r=!0:s.topwindow.innerHeight?r=!1:r=null,r!=null&&(i.style.top=u+"px",i.style.left=s.left+"px",i.style.height=o.lineHeight+"px",i.scrollIntoView(r)),r=t=null}});this.setAutoScrollEditorIntoView=function(e){if(e)return;delete this.setAutoScrollEditorIntoView,this.off("changeSelection",s),this.renderer.off("afterRender",u),this.renderer.off("beforeRender",o)}},this.$resetCursorStyle=function(){var e=this.$cursorStyle||"ace",t=this.renderer.$cursorLayer;if(!t)return;t.setSmoothBlinking(/smooth/.test(e)),t.isBlinking=!this.$readOnly&&e!="wide",i.setCssClass(t.element,"ace_slim-cursors",/slim/.test(e))}}).call(b.prototype),g.defineOptions(b.prototype,"editor",{selectionStyle:{set:function(e){this.onSelectionChange(),this._signal("changeSelectionStyle",{data:e})},initialValue:"line"},highlightActiveLine:{set:function(){this.$updateHighlightActiveLine()},initialValue:!0},highlightSelectedWord:{set:function(e){this.$onSelectionChange()},initialValue:!0},readOnly:{set:function(e){this.$resetCursorStyle()},initialValue:!1},cursorStyle:{set:function(e){this.$resetCursorStyle()},values:["ace","slim","smooth","wide"],initialValue:"ace"},mergeUndoDeltas:{values:[!1,!0,"always"],initialValue:!0},behavioursEnabled:{initialValue:!0},wrapBehavioursEnabled:{initialValue:!0},autoScrollEditorIntoView:{set:function(e){this.setAutoScrollEditorIntoView(e)}},keyboardHandler:{set:function(e){this.setKeyboardHandler(e)},get:function(){return this.keybindingId},handlesSet:!0},hScrollBarAlwaysVisible:"renderer",vScrollBarAlwaysVisible:"renderer",highlightGutterLine:"renderer",animatedScroll:"renderer",showInvisibles:"renderer",showPrintMargin:"renderer",printMarginColumn:"renderer",printMargin:"renderer",fadeFoldWidgets:"renderer",showFoldWidgets:"renderer",showLineNumbers:"renderer",showGutter:"renderer",displayIndentGuides:"renderer",fontSize:"renderer",fontFamily:"renderer",maxLines:"renderer",minLines:"renderer",scrollPastEnd:"renderer",fixedWidthGutter:"renderer",theme:"renderer",scrollSpeed:"$mouseHandler",dragDelay:"$mouseHandler",dragEnabled:"$mouseHandler",focusTimout:"$mouseHandler",tooltipFollowsMouse:"$mouseHandler",firstLineNumber:"session",overwrite:"session",newLineMode:"session",useWorker:"session",useSoftTabs:"session",tabSize:"session",wrap:"session",indentedSoftWrap:"session",foldStyle:"session",mode:"session"}),t.Editor=b}),ace.define("ace/undomanager",["require","exports","module"],function(e,t,n){"use strict";var r=function(){this.reset()};(function(){function e(e){return{action:e.action,start:e.start,end:e.end,lines:e.lines.length==1?null:e.lines,text:e.lines.length==1?e.lines[0]:null}}function t(e){return{action:e.action,start:e.start,end:e.end,lines:e.lines||[e.text]}}function n(e,t){var n=new Array(e.length);for(var r=0;r0},this.hasRedo=function(){return this.$redoStack.length>0},this.markClean=function(){this.dirtyCounter=0},this.isClean=function(){return this.dirtyCounter===0},this.$serializeDeltas=function(t){return n(t,e)},this.$deserializeDeltas=function(e){return n(e,t)}}).call(r.prototype),t.UndoManager=r}),ace.define("ace/layer/gutter",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("../lib/dom"),i=e("../lib/oop"),s=e("../lib/lang"),o=e("../lib/event_emitter").EventEmitter,u=function(e){this.element=r.createElement("div"),this.element.className="ace_layer ace_gutter-layer",e.appendChild(this.element),this.setShowFoldWidgets(this.$showFoldWidgets),this.gutterWidth=0,this.$annotations=[],this.$updateAnnotations=this.$updateAnnotations.bind(this),this.$cells=[]};(function(){i.implement(this,o),this.setSession=function(e){this.session&&this.session.removeEventListener("change",this.$updateAnnotations),this.session=e,e&&e.on("change",this.$updateAnnotations)},this.addGutterDecoration=function(e,t){window.console&&console.warn&&console.warn("deprecated use session.addGutterDecoration"),this.session.addGutterDecoration(e,t)},this.removeGutterDecoration=function(e,t){window.console&&console.warn&&console.warn("deprecated use session.removeGutterDecoration"),this.session.removeGutterDecoration(e,t)},this.setAnnotations=function(e){this.$annotations=[];for(var t=0;to&&(v=s.end.row+1,s=t.getNextFoldLine(v,s),o=s?s.start.row:Infinity);if(v>i){while(this.$cells.length>d+1)p=this.$cells.pop(),this.element.removeChild(p.element);break}p=this.$cells[++d],p||(p={element:null,textNode:null,foldWidget:null},p.element=r.createElement("div"),p.textNode=document.createTextNode(""),p.element.appendChild(p.textNode),this.element.appendChild(p.element),this.$cells[d]=p);var m="ace_gutter-cell ";a[v]&&(m+=a[v]),f[v]&&(m+=f[v]),this.$annotations[v]&&(m+=this.$annotations[v].className),p.element.className!=m&&(p.element.className=m);var g=t.getRowLength(v)*e.lineHeight+"px";g!=p.element.style.height&&(p.element.style.height=g);if(u){var y=u[v];y==null&&(y=u[v]=t.getFoldWidget(v))}if(y){p.foldWidget||(p.foldWidget=r.createElement("span"),p.element.appendChild(p.foldWidget));var m="ace_fold-widget ace_"+y;y=="start"&&v==o&&vn.right-t.right)return"foldWidgets"}}).call(u.prototype),t.Gutter=u}),ace.define("ace/layer/marker",["require","exports","module","ace/range","ace/lib/dom"],function(e,t,n){"use strict";var r=e("../range").Range,i=e("../lib/dom"),s=function(e){this.element=i.createElement("div"),this.element.className="ace_layer ace_marker-layer",e.appendChild(this.element)};(function(){function e(e,t,n,r){return(e?1:0)|(t?2:0)|(n?4:0)|(r?8:0)}this.$padding=0,this.setPadding=function(e){this.$padding=e},this.setSession=function(e){this.session=e},this.setMarkers=function(e){this.markers=e},this.update=function(e){var e=e||this.config;if(!e)return;this.config=e;var t=[];for(var n in this.markers){var r=this.markers[n];if(!r.range){r.update(t,this,this.session,e);continue}var i=r.range.clipRows(e.firstRow,e.lastRow);if(i.isEmpty())continue;i=i.toScreenRange(this.session);if(r.renderer){var s=this.$getTop(i.start.row,e),o=this.$padding+i.start.column*e.characterWidth;r.renderer(t,i,o,s,e)}else r.type=="fullLine"?this.drawFullLineMarker(t,i,r.clazz,e):r.type=="screenLine"?this.drawScreenLineMarker(t,i,r.clazz,e):i.isMultiLine()?r.type=="text"?this.drawTextMarker(t,i,r.clazz,e):this.drawMultiLineMarker(t,i,r.clazz,e):this.drawSingleLineMarker(t,i,r.clazz+" ace_start"+" ace_br15",e)}this.element.innerHTML=t.join("")},this.$getTop=function(e,t){return(e-t.firstRowScreen)*t.lineHeight},this.drawTextMarker=function(t,n,i,s,o){var u=this.session,a=n.start.row,f=n.end.row,l=a,c=0,h=0,p=u.getScreenLastRowColumn(l),d=new r(l,n.start.column,l,h);for(;l<=f;l++)d.start.row=d.end.row=l,d.start.column=l==a?n.start.column:u.getRowWrapIndent(l),d.end.column=p,c=h,h=p,p=l+1p,l==f),s,l==f?0:1,o)},this.drawMultiLineMarker=function(e,t,n,r,i){var s=this.$padding,o=r.lineHeight,u=this.$getTop(t.start.row,r),a=s+t.start.column*r.characterWidth;i=i||"",e.push("
"),u=this.$getTop(t.end.row,r);var f=t.end.column*r.characterWidth;e.push("
"),o=(t.end.row-t.start.row-1)*r.lineHeight;if(o<=0)return;u=this.$getTop(t.start.row+1,r);var l=(t.start.column?1:0)|(t.end.column?0:8);e.push("
")},this.drawSingleLineMarker=function(e,t,n,r,i,s){var o=r.lineHeight,u=(t.end.column+(i||0)-t.start.column)*r.characterWidth,a=this.$getTop(t.start.row,r),f=this.$padding+t.start.column*r.characterWidth;e.push("
")},this.drawFullLineMarker=function(e,t,n,r,i){var s=this.$getTop(t.start.row,r),o=r.lineHeight;t.start.row!=t.end.row&&(o+=this.$getTop(t.end.row,r)-s),e.push("
")},this.drawScreenLineMarker=function(e,t,n,r,i){var s=this.$getTop(t.start.row,r),o=r.lineHeight;e.push("
")}}).call(s.prototype),t.Marker=s}),ace.define("ace/layer/text",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/useragent","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/dom"),s=e("../lib/lang"),o=e("../lib/useragent"),u=e("../lib/event_emitter").EventEmitter,a=function(e){this.element=i.createElement("div"),this.element.className="ace_layer ace_text-layer",e.appendChild(this.element),this.$updateEolChar=this.$updateEolChar.bind(this)};(function(){r.implement(this,u),this.EOF_CHAR="\u00b6",this.EOL_CHAR_LF="\u00ac",this.EOL_CHAR_CRLF="\u00a4",this.EOL_CHAR=this.EOL_CHAR_LF,this.TAB_CHAR="\u2014",this.SPACE_CHAR="\u00b7",this.$padding=0,this.$updateEolChar=function(){var e=this.session.doc.getNewLineCharacter()=="\n"?this.EOL_CHAR_LF:this.EOL_CHAR_CRLF;if(this.EOL_CHAR!=e)return this.EOL_CHAR=e,!0},this.setPadding=function(e){this.$padding=e,this.element.style.padding="0 "+e+"px"},this.getLineHeight=function(){return this.$fontMetrics.$characterSize.height||0},this.getCharacterWidth=function(){return this.$fontMetrics.$characterSize.width||0},this.$setFontMetrics=function(e){this.$fontMetrics=e,this.$fontMetrics.on("changeCharacterSize",function(e){this._signal("changeCharacterSize",e)}.bind(this)),this.$pollSizeChanges()},this.checkForSizeChanges=function(){this.$fontMetrics.checkForSizeChanges()},this.$pollSizeChanges=function(){return this.$pollSizeChangesTimer=this.$fontMetrics.$pollSizeChanges()},this.setSession=function(e){this.session=e,e&&this.$computeTabString()},this.showInvisibles=!1,this.setShowInvisibles=function(e){return this.showInvisibles==e?!1:(this.showInvisibles=e,this.$computeTabString(),!0)},this.displayIndentGuides=!0,this.setDisplayIndentGuides=function(e){return this.displayIndentGuides==e?!1:(this.displayIndentGuides=e,this.$computeTabString(),!0)},this.$tabStrings=[],this.onChangeTabSize=this.$computeTabString=function(){var e=this.session.getTabSize();this.tabSize=e;var t=this.$tabStrings=[0];for(var n=1;n"+s.stringRepeat(this.TAB_CHAR,n)+""):t.push(s.stringRepeat(" ",n));if(this.displayIndentGuides){this.$indentGuideRe=/\s\S| \t|\t |\s$/;var r="ace_indent-guide",i="",o="";if(this.showInvisibles){r+=" ace_invisible",i=" ace_invisible_space",o=" ace_invisible_tab";var u=s.stringRepeat(this.SPACE_CHAR,this.tabSize),a=s.stringRepeat(this.TAB_CHAR,this.tabSize)}else var u=s.stringRepeat(" ",this.tabSize),a=u;this.$tabStrings[" "]=""+u+"",this.$tabStrings[" "]=""+a+""}},this.updateLines=function(e,t,n){(this.config.lastRow!=e.lastRow||this.config.firstRow!=e.firstRow)&&this.scrollLines(e),this.config=e;var r=Math.max(t,e.firstRow),i=Math.min(n,e.lastRow),s=this.element.childNodes,o=0;for(var u=e.firstRow;uf&&(u=a.end.row+1,a=this.session.getNextFoldLine(u,a),f=a?a.start.row:Infinity);if(u>i)break;var l=s[o++];if(l){var c=[];this.$renderLine(c,u,!this.$useLineGroups(),u==f?a:!1),l.style.height=e.lineHeight*this.session.getRowLength(u)+"px",l.innerHTML=c.join("")}u++}},this.scrollLines=function(e){var t=this.config;this.config=e;if(!t||t.lastRow0;r--)n.removeChild(n.firstChild);if(t.lastRow>e.lastRow)for(var r=this.session.getFoldedRowCount(e.lastRow+1,t.lastRow);r>0;r--)n.removeChild(n.lastChild);if(e.firstRowt.lastRow){var i=this.$renderLinesFragment(e,t.lastRow+1,e.lastRow);n.appendChild(i)}},this.$renderLinesFragment=function(e,t,n){var r=this.element.ownerDocument.createDocumentFragment(),s=t,o=this.session.getNextFoldLine(s),u=o?o.start.row:Infinity;for(;;){s>u&&(s=o.end.row+1,o=this.session.getNextFoldLine(s,o),u=o?o.start.row:Infinity);if(s>n)break;var a=i.createElement("div"),f=[];this.$renderLine(f,s,!1,s==u?o:!1),a.innerHTML=f.join("");if(this.$useLineGroups())a.className="ace_line_group",r.appendChild(a),a.style.height=e.lineHeight*this.session.getRowLength(s)+"px";else while(a.firstChild)r.appendChild(a.firstChild);s++}return r},this.update=function(e){this.config=e;var t=[],n=e.firstRow,r=e.lastRow,i=n,s=this.session.getNextFoldLine(i),o=s?s.start.row:Infinity;for(;;){i>o&&(i=s.end.row+1,s=this.session.getNextFoldLine(i,s),o=s?s.start.row:Infinity);if(i>r)break;this.$useLineGroups()&&t.push("
"),this.$renderLine(t,i,!1,i==o?s:!1),this.$useLineGroups()&&t.push("
"),i++}this.element.innerHTML=t.join("")},this.$textToken={text:!0,rparen:!0,lparen:!0},this.$renderToken=function(e,t,n,r){var i=this,o=/\t|&|<|>|( +)|([\x00-\x1f\x80-\xa0\xad\u1680\u180E\u2000-\u200f\u2028\u2029\u202F\u205F\u3000\uFEFF\uFFF9-\uFFFC])|[\u1100-\u115F\u11A3-\u11A7\u11FA-\u11FF\u2329-\u232A\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3000-\u303E\u3041-\u3096\u3099-\u30FF\u3105-\u312D\u3131-\u318E\u3190-\u31BA\u31C0-\u31E3\u31F0-\u321E\u3220-\u3247\u3250-\u32FE\u3300-\u4DBF\u4E00-\uA48C\uA490-\uA4C6\uA960-\uA97C\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFAFF\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE66\uFE68-\uFE6B\uFF01-\uFF60\uFFE0-\uFFE6]/g,u=function(e,n,r,o,u){if(n)return i.showInvisibles?""+s.stringRepeat(i.SPACE_CHAR,e.length)+"":e;if(e=="&")return"&";if(e=="<")return"<";if(e==">")return">";if(e==" "){var a=i.session.getScreenTabSize(t+o);return t+=a-1,i.$tabStrings[a]}if(e=="\u3000"){var f=i.showInvisibles?"ace_cjk ace_invisible ace_invisible_space":"ace_cjk",l=i.showInvisibles?i.SPACE_CHAR:"";return t+=1,""+l+""}return r?""+i.SPACE_CHAR+"":(t+=1,""+e+"")},a=r.replace(o,u);if(!this.$textToken[n.type]){var f="ace_"+n.type.replace(/\./g," ace_"),l="";n.type=="fold"&&(l=" style='width:"+n.value.length*this.config.characterWidth+"px;' "),e.push("",a,"")}else e.push(a);return t+r.length},this.renderIndentGuide=function(e,t,n){var r=t.search(this.$indentGuideRe);return r<=0||r>=n?t:t[0]==" "?(r-=r%this.tabSize,e.push(s.stringRepeat(this.$tabStrings[" "],r/this.tabSize)),t.substr(r)):t[0]==" "?(e.push(s.stringRepeat(this.$tabStrings[" "],r)),t.substr(r)):t},this.$renderWrappedLine=function(e,t,n,r){var i=0,o=0,u=n[0],a=0;for(var f=0;f=u)a=this.$renderToken(e,a,l,c.substring(0,u-i)),c=c.substring(u-i),i=u,r||e.push("
","
"),e.push(s.stringRepeat("\u00a0",n.indent)),o++,a=0,u=n[o]||Number.MAX_VALUE;c.length!=0&&(i+=c.length,a=this.$renderToken(e,a,l,c))}}},this.$renderSimpleLine=function(e,t){var n=0,r=t[0],i=r.value;this.displayIndentGuides&&(i=this.renderIndentGuide(e,i)),i&&(n=this.$renderToken(e,n,r,i));for(var s=1;s");if(i.length){var s=this.session.getRowSplitData(t);s&&s.length?this.$renderWrappedLine(e,i,s,n):this.$renderSimpleLine(e,i)}this.showInvisibles&&(r&&(t=r.end.row),e.push("",t==this.session.getLength()-1?this.EOF_CHAR:this.EOL_CHAR,"")),n||e.push("
")},this.$getFoldLineTokens=function(e,t){function i(e,t,n){var i=0,s=0;while(s+e[i].value.lengthn-t&&(o=o.substring(0,n-t)),r.push({type:e[i].type,value:o}),s=t+o.length,i+=1}while(sn?r.push({type:e[i].type,value:o.substring(0,n-s)}):r.push(e[i]),s+=o.length,i+=1}}var n=this.session,r=[],s=n.getTokens(e);return t.walk(function(e,t,o,u,a){e!=null?r.push({type:"fold",value:e}):(a&&(s=n.getTokens(t)),s.length&&i(s,u,o))},t.end.row,this.session.getLine(t.end.row).length),r},this.$useLineGroups=function(){return this.session.getUseWrapMode()},this.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.$measureNode&&this.$measureNode.parentNode.removeChild(this.$measureNode),delete this.$measureNode}}).call(a.prototype),t.Text=a}),ace.define("ace/layer/cursor",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";var r=e("../lib/dom"),i,s=function(e){this.element=r.createElement("div"),this.element.className="ace_layer ace_cursor-layer",e.appendChild(this.element),i===undefined&&(i=!("opacity"in this.element.style)),this.isVisible=!1,this.isBlinking=!0,this.blinkInterval=1e3,this.smoothBlinking=!1,this.cursors=[],this.cursor=this.addCursor(),r.addCssClass(this.element,"ace_hidden-cursors"),this.$updateCursors=(i?this.$updateVisibility:this.$updateOpacity).bind(this)};(function(){this.$updateVisibility=function(e){var t=this.cursors;for(var n=t.length;n--;)t[n].style.visibility=e?"":"hidden"},this.$updateOpacity=function(e){var t=this.cursors;for(var n=t.length;n--;)t[n].style.opacity=e?"":"0"},this.$padding=0,this.setPadding=function(e){this.$padding=e},this.setSession=function(e){this.session=e},this.setBlinking=function(e){e!=this.isBlinking&&(this.isBlinking=e,this.restartTimer())},this.setBlinkInterval=function(e){e!=this.blinkInterval&&(this.blinkInterval=e,this.restartTimer())},this.setSmoothBlinking=function(e){e!=this.smoothBlinking&&!i&&(this.smoothBlinking=e,r.setCssClass(this.element,"ace_smooth-blinking",e),this.$updateCursors(!0),this.$updateCursors=this.$updateOpacity.bind(this),this.restartTimer())},this.addCursor=function(){var e=r.createElement("div");return e.className="ace_cursor",this.element.appendChild(e),this.cursors.push(e),e},this.removeCursor=function(){if(this.cursors.length>1){var e=this.cursors.pop();return e.parentNode.removeChild(e),e}},this.hideCursor=function(){this.isVisible=!1,r.addCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},this.showCursor=function(){this.isVisible=!0,r.removeCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},this.restartTimer=function(){var e=this.$updateCursors;clearInterval(this.intervalId),clearTimeout(this.timeoutId),this.smoothBlinking&&r.removeCssClass(this.element,"ace_smooth-blinking"),e(!0);if(!this.isBlinking||!this.blinkInterval||!this.isVisible)return;this.smoothBlinking&&setTimeout(function(){r.addCssClass(this.element,"ace_smooth-blinking")}.bind(this));var t=function(){this.timeoutId=setTimeout(function(){e(!1)},.6*this.blinkInterval)}.bind(this);this.intervalId=setInterval(function(){e(!0),t()},this.blinkInterval),t()},this.getPixelPosition=function(e,t){if(!this.config||!this.session)return{left:0,top:0};e||(e=this.session.selection.getCursor());var n=this.session.documentToScreenPosition(e),r=this.$padding+n.column*this.config.characterWidth,i=(n.row-(t?this.config.firstRowScreen:0))*this.config.lineHeight;return{left:r,top:i}},this.update=function(e){this.config=e;var t=this.session.$selectionMarkers,n=0,r=0;if(t===undefined||t.length===0)t=[{cursor:null}];for(var n=0,i=t.length;ne.height+e.offset||s.top<0)&&n>1)continue;var o=(this.cursors[r++]||this.addCursor()).style;this.drawCursor?this.drawCursor(o,s,e,t[n],this.session):(o.left=s.left+"px",o.top=s.top+"px",o.width=e.characterWidth+"px",o.height=e.lineHeight+"px")}while(this.cursors.length>r)this.removeCursor();var u=this.session.getOverwrite();this.$setOverwrite(u),this.$pixelPos=s,this.restartTimer()},this.drawCursor=null,this.$setOverwrite=function(e){e!=this.overwrite&&(this.overwrite=e,e?r.addCssClass(this.element,"ace_overwrite-cursors"):r.removeCssClass(this.element,"ace_overwrite-cursors"))},this.destroy=function(){clearInterval(this.intervalId),clearTimeout(this.timeoutId)}}).call(s.prototype),t.Cursor=s}),ace.define("ace/scrollbar",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/dom"),s=e("./lib/event"),o=e("./lib/event_emitter").EventEmitter,u=function(e){this.element=i.createElement("div"),this.element.className="ace_scrollbar ace_scrollbar"+this.classSuffix,this.inner=i.createElement("div"),this.inner.className="ace_scrollbar-inner",this.element.appendChild(this.inner),e.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,s.addListener(this.element,"scroll",this.onScroll.bind(this)),s.addListener(this.element,"mousedown",s.preventDefault)};(function(){r.implement(this,o),this.setVisible=function(e){this.element.style.display=e?"":"none",this.isVisible=e}}).call(u.prototype);var a=function(e,t){u.call(this,e),this.scrollTop=0,t.$scrollbarWidth=this.width=i.scrollbarWidth(e.ownerDocument),this.inner.style.width=this.element.style.width=(this.width||15)+5+"px"};r.inherits(a,u),function(){this.classSuffix="-v",this.onScroll=function(){this.skipEvent||(this.scrollTop=this.element.scrollTop,this._emit("scroll",{data:this.scrollTop})),this.skipEvent=!1},this.getWidth=function(){return this.isVisible?this.width:0},this.setHeight=function(e){this.element.style.height=e+"px"},this.setInnerHeight=function(e){this.inner.style.height=e+"px"},this.setScrollHeight=function(e){this.inner.style.height=e+"px"},this.setScrollTop=function(e){this.scrollTop!=e&&(this.skipEvent=!0,this.scrollTop=this.element.scrollTop=e)}}.call(a.prototype);var f=function(e,t){u.call(this,e),this.scrollLeft=0,this.height=t.$scrollbarWidth,this.inner.style.height=this.element.style.height=(this.height||15)+5+"px"};r.inherits(f,u),function(){this.classSuffix="-h",this.onScroll=function(){this.skipEvent||(this.scrollLeft=this.element.scrollLeft,this._emit("scroll",{data:this.scrollLeft})),this.skipEvent=!1},this.getHeight=function(){return this.isVisible?this.height:0},this.setWidth=function(e){this.element.style.width=e+"px"},this.setInnerWidth=function(e){this.inner.style.width=e+"px"},this.setScrollWidth=function(e){this.inner.style.width=e+"px"},this.setScrollLeft=function(e){this.scrollLeft!=e&&(this.skipEvent=!0,this.scrollLeft=this.element.scrollLeft=e)}}.call(f.prototype),t.ScrollBar=a,t.ScrollBarV=a,t.ScrollBarH=f,t.VScrollBar=a,t.HScrollBar=f}),ace.define("ace/renderloop",["require","exports","module","ace/lib/event"],function(e,t,n){"use strict";var r=e("./lib/event"),i=function(e,t){this.onRender=e,this.pending=!1,this.changes=0,this.window=t||window};(function(){this.schedule=function(e){this.changes=this.changes|e;if(!this.pending&&this.changes){this.pending=!0;var t=this;r.nextFrame(function(){t.pending=!1;var e;while(e=t.changes)t.changes=0,t.onRender(e)},this.window)}}}).call(i.prototype),t.RenderLoop=i}),ace.define("ace/layer/font_metrics",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/useragent","ace/lib/event_emitter"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/dom"),s=e("../lib/lang"),o=e("../lib/useragent"),u=e("../lib/event_emitter").EventEmitter,a=0,f=t.FontMetrics=function(e){this.el=i.createElement("div"),this.$setMeasureNodeStyles(this.el.style,!0),this.$main=i.createElement("div"),this.$setMeasureNodeStyles(this.$main.style),this.$measureNode=i.createElement("div"),this.$setMeasureNodeStyles(this.$measureNode.style),this.el.appendChild(this.$main),this.el.appendChild(this.$measureNode),e.appendChild(this.el),a||this.$testFractionalRect(),this.$measureNode.innerHTML=s.stringRepeat("X",a),this.$characterSize={width:0,height:0},this.checkForSizeChanges()};(function(){r.implement(this,u),this.$characterSize={width:0,height:0},this.$testFractionalRect=function(){var e=i.createElement("div");this.$setMeasureNodeStyles(e.style),e.style.width="0.2px",document.documentElement.appendChild(e);var t=e.getBoundingClientRect().width;t>0&&t<1?a=50:a=100,e.parentNode.removeChild(e)},this.$setMeasureNodeStyles=function(e,t){e.width=e.height="auto",e.left=e.top="0px",e.visibility="hidden",e.position="absolute",e.whiteSpace="pre",o.isIE<8?e["font-family"]="inherit":e.font="inherit",e.overflow=t?"hidden":"visible"},this.checkForSizeChanges=function(){var e=this.$measureSizes();if(e&&(this.$characterSize.width!==e.width||this.$characterSize.height!==e.height)){this.$measureNode.style.fontWeight="bold";var t=this.$measureSizes();this.$measureNode.style.fontWeight="",this.$characterSize=e,this.charSizes=Object.create(null),this.allowBoldFonts=t&&t.width===e.width&&t.height===e.height,this._emit("changeCharacterSize",{data:e})}},this.$pollSizeChanges=function(){if(this.$pollSizeChangesTimer)return this.$pollSizeChangesTimer;var e=this;return this.$pollSizeChangesTimer=setInterval(function(){e.checkForSizeChanges()},500)},this.setPolling=function(e){e?this.$pollSizeChanges():this.$pollSizeChangesTimer&&(clearInterval(this.$pollSizeChangesTimer),this.$pollSizeChangesTimer=0)},this.$measureSizes=function(){if(a===50){var e=null;try{e=this.$measureNode.getBoundingClientRect()}catch(t){e={width:0,height:0}}var n={height:e.height,width:e.width/a}}else var n={height:this.$measureNode.clientHeight,width:this.$measureNode.clientWidth/a};return n.width===0||n.height===0?null:n},this.$measureCharWidth=function(e){this.$main.innerHTML=s.stringRepeat(e,a);var t=this.$main.getBoundingClientRect();return t.width/a},this.getCharacterWidth=function(e){var t=this.charSizes[e];return t===undefined&&(t=this.charSizes[e]=this.$measureCharWidth(e)/this.$characterSize.width),t},this.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.el&&this.el.parentNode&&this.el.parentNode.removeChild(this.el)}}).call(f.prototype)}),ace.define("ace/virtual_renderer",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/config","ace/lib/useragent","ace/layer/gutter","ace/layer/marker","ace/layer/text","ace/layer/cursor","ace/scrollbar","ace/scrollbar","ace/renderloop","ace/layer/font_metrics","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/dom"),s=e("./config"),o=e("./lib/useragent"),u=e("./layer/gutter").Gutter,a=e("./layer/marker").Marker,f=e("./layer/text").Text,l=e("./layer/cursor").Cursor,c=e("./scrollbar").HScrollBar,h=e("./scrollbar").VScrollBar,p=e("./renderloop").RenderLoop,d=e("./layer/font_metrics").FontMetrics,v=e("./lib/event_emitter").EventEmitter,m='.ace_editor {position: relative;overflow: hidden;font: 12px/normal \'Monaco\', \'Menlo\', \'Ubuntu Mono\', \'Consolas\', \'source-code-pro\', monospace;direction: ltr;}.ace_scroller {position: absolute;overflow: hidden;top: 0;bottom: 0;background-color: inherit;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;cursor: text;}.ace_content {position: absolute;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;min-width: 100%;}.ace_dragging .ace_scroller:before{position: absolute;top: 0;left: 0;right: 0;bottom: 0;content: \'\';background: rgba(250, 250, 250, 0.01);z-index: 1000;}.ace_dragging.ace_dark .ace_scroller:before{background: rgba(0, 0, 0, 0.01);}.ace_selecting, .ace_selecting * {cursor: text !important;}.ace_gutter {position: absolute;overflow : hidden;width: auto;top: 0;bottom: 0;left: 0;cursor: default;z-index: 4;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;}.ace_gutter-active-line {position: absolute;left: 0;right: 0;}.ace_scroller.ace_scroll-left {box-shadow: 17px 0 16px -16px rgba(0, 0, 0, 0.4) inset;}.ace_gutter-cell {padding-left: 19px;padding-right: 6px;background-repeat: no-repeat;}.ace_gutter-cell.ace_error {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABOFBMVEX/////////QRswFAb/Ui4wFAYwFAYwFAaWGAfDRymzOSH/PxswFAb/SiUwFAYwFAbUPRvjQiDllog5HhHdRybsTi3/Tyv9Tir+Syj/UC3////XurebMBIwFAb/RSHbPx/gUzfdwL3kzMivKBAwFAbbvbnhPx66NhowFAYwFAaZJg8wFAaxKBDZurf/RB6mMxb/SCMwFAYwFAbxQB3+RB4wFAb/Qhy4Oh+4QifbNRcwFAYwFAYwFAb/QRzdNhgwFAYwFAbav7v/Uy7oaE68MBK5LxLewr/r2NXewLswFAaxJw4wFAbkPRy2PyYwFAaxKhLm1tMwFAazPiQwFAaUGAb/QBrfOx3bvrv/VC/maE4wFAbRPBq6MRO8Qynew8Dp2tjfwb0wFAbx6eju5+by6uns4uH9/f36+vr/GkHjAAAAYnRSTlMAGt+64rnWu/bo8eAA4InH3+DwoN7j4eLi4xP99Nfg4+b+/u9B/eDs1MD1mO7+4PHg2MXa347g7vDizMLN4eG+Pv7i5evs/v79yu7S3/DV7/498Yv24eH+4ufQ3Ozu/v7+y13sRqwAAADLSURBVHjaZc/XDsFgGIBhtDrshlitmk2IrbHFqL2pvXf/+78DPokj7+Fz9qpU/9UXJIlhmPaTaQ6QPaz0mm+5gwkgovcV6GZzd5JtCQwgsxoHOvJO15kleRLAnMgHFIESUEPmawB9ngmelTtipwwfASilxOLyiV5UVUyVAfbG0cCPHig+GBkzAENHS0AstVF6bacZIOzgLmxsHbt2OecNgJC83JERmePUYq8ARGkJx6XtFsdddBQgZE2nPR6CICZhawjA4Fb/chv+399kfR+MMMDGOQAAAABJRU5ErkJggg==");background-repeat: no-repeat;background-position: 2px center;}.ace_gutter-cell.ace_warning {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAmVBMVEX///8AAAD///8AAAAAAABPSzb/5sAAAAB/blH/73z/ulkAAAAAAAD85pkAAAAAAAACAgP/vGz/rkDerGbGrV7/pkQICAf////e0IsAAAD/oED/qTvhrnUAAAD/yHD/njcAAADuv2r/nz//oTj/p064oGf/zHAAAAA9Nir/tFIAAAD/tlTiuWf/tkIAAACynXEAAAAAAAAtIRW7zBpBAAAAM3RSTlMAABR1m7RXO8Ln31Z36zT+neXe5OzooRDfn+TZ4p3h2hTf4t3k3ucyrN1K5+Xaks52Sfs9CXgrAAAAjklEQVR42o3PbQ+CIBQFYEwboPhSYgoYunIqqLn6/z8uYdH8Vmdnu9vz4WwXgN/xTPRD2+sgOcZjsge/whXZgUaYYvT8QnuJaUrjrHUQreGczuEafQCO/SJTufTbroWsPgsllVhq3wJEk2jUSzX3CUEDJC84707djRc5MTAQxoLgupWRwW6UB5fS++NV8AbOZgnsC7BpEAAAAABJRU5ErkJggg==");background-position: 2px center;}.ace_gutter-cell.ace_info {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAJ0Uk5TAAB2k804AAAAPklEQVQY02NgIB68QuO3tiLznjAwpKTgNyDbMegwisCHZUETUZV0ZqOquBpXj2rtnpSJT1AEnnRmL2OgGgAAIKkRQap2htgAAAAASUVORK5CYII=");background-position: 2px center;}.ace_dark .ace_gutter-cell.ace_info {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAJFBMVEUAAAChoaGAgIAqKiq+vr6tra1ZWVmUlJSbm5s8PDxubm56enrdgzg3AAAAAXRSTlMAQObYZgAAAClJREFUeNpjYMAPdsMYHegyJZFQBlsUlMFVCWUYKkAZMxZAGdxlDMQBAG+TBP4B6RyJAAAAAElFTkSuQmCC");}.ace_scrollbar {position: absolute;right: 0;bottom: 0;z-index: 6;}.ace_scrollbar-inner {position: absolute;cursor: text;left: 0;top: 0;}.ace_scrollbar-v{overflow-x: hidden;overflow-y: scroll;top: 0;}.ace_scrollbar-h {overflow-x: scroll;overflow-y: hidden;left: 0;}.ace_print-margin {position: absolute;height: 100%;}.ace_text-input {position: absolute;z-index: 0;width: 0.5em;height: 1em;opacity: 0;background: transparent;-moz-appearance: none;appearance: none;border: none;resize: none;outline: none;overflow: hidden;font: inherit;padding: 0 1px;margin: 0 -1px;text-indent: -1em;-ms-user-select: text;-moz-user-select: text;-webkit-user-select: text;user-select: text;white-space: pre!important;}.ace_text-input.ace_composition {background: inherit;color: inherit;z-index: 1000;opacity: 1;text-indent: 0;}.ace_layer {z-index: 1;position: absolute;overflow: hidden;word-wrap: normal;white-space: pre;height: 100%;width: 100%;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;pointer-events: none;}.ace_gutter-layer {position: relative;width: auto;text-align: right;pointer-events: auto;}.ace_text-layer {font: inherit !important;}.ace_cjk {display: inline-block;text-align: center;}.ace_cursor-layer {z-index: 4;}.ace_cursor {z-index: 4;position: absolute;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;border-left: 2px solid;transform: translatez(0);}.ace_slim-cursors .ace_cursor {border-left-width: 1px;}.ace_overwrite-cursors .ace_cursor {border-left-width: 0;border-bottom: 1px solid;}.ace_hidden-cursors .ace_cursor {opacity: 0.2;}.ace_smooth-blinking .ace_cursor {-webkit-transition: opacity 0.18s;transition: opacity 0.18s;}.ace_editor.ace_multiselect .ace_cursor {border-left-width: 1px;}.ace_marker-layer .ace_step, .ace_marker-layer .ace_stack {position: absolute;z-index: 3;}.ace_marker-layer .ace_selection {position: absolute;z-index: 5;}.ace_marker-layer .ace_bracket {position: absolute;z-index: 6;}.ace_marker-layer .ace_active-line {position: absolute;z-index: 2;}.ace_marker-layer .ace_selected-word {position: absolute;z-index: 4;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;}.ace_line .ace_fold {-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;display: inline-block;height: 11px;margin-top: -2px;vertical-align: middle;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACJJREFUeNpi+P//fxgTAwPDBxDxD078RSX+YeEyDFMCIMAAI3INmXiwf2YAAAAASUVORK5CYII=");background-repeat: no-repeat, repeat-x;background-position: center center, top left;color: transparent;border: 1px solid black;border-radius: 2px;cursor: pointer;pointer-events: auto;}.ace_dark .ace_fold {}.ace_fold:hover{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACBJREFUeNpi+P//fz4TAwPDZxDxD5X4i5fLMEwJgAADAEPVDbjNw87ZAAAAAElFTkSuQmCC");}.ace_tooltip {background-color: #FFF;background-image: -webkit-linear-gradient(top, transparent, rgba(0, 0, 0, 0.1));background-image: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.1));border: 1px solid gray;border-radius: 1px;box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);color: black;max-width: 100%;padding: 3px 4px;position: fixed;z-index: 999999;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;cursor: default;white-space: pre;word-wrap: break-word;line-height: normal;font-style: normal;font-weight: normal;letter-spacing: normal;pointer-events: none;}.ace_folding-enabled > .ace_gutter-cell {padding-right: 13px;}.ace_fold-widget {-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;margin: 0 -12px 0 1px;display: none;width: 11px;vertical-align: top;background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42mWKsQ0AMAzC8ixLlrzQjzmBiEjp0A6WwBCSPgKAXoLkqSot7nN3yMwR7pZ32NzpKkVoDBUxKAAAAABJRU5ErkJggg==");background-repeat: no-repeat;background-position: center;border-radius: 3px;border: 1px solid transparent;cursor: pointer;}.ace_folding-enabled .ace_fold-widget {display: inline-block; }.ace_fold-widget.ace_end {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42m3HwQkAMAhD0YzsRchFKI7sAikeWkrxwScEB0nh5e7KTPWimZki4tYfVbX+MNl4pyZXejUO1QAAAABJRU5ErkJggg==");}.ace_fold-widget.ace_closed {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAGCAYAAAAG5SQMAAAAOUlEQVR42jXKwQkAMAgDwKwqKD4EwQ26sSOkVWjgIIHAzPiCgaqiqnJHZnKICBERHN194O5b9vbLuAVRL+l0YWnZAAAAAElFTkSuQmCCXA==");}.ace_fold-widget:hover {border: 1px solid rgba(0, 0, 0, 0.3);background-color: rgba(255, 255, 255, 0.2);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);}.ace_fold-widget:active {border: 1px solid rgba(0, 0, 0, 0.4);background-color: rgba(0, 0, 0, 0.05);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);}.ace_dark .ace_fold-widget {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHklEQVQIW2P4//8/AzoGEQ7oGCaLLAhWiSwB146BAQCSTPYocqT0AAAAAElFTkSuQmCC");}.ace_dark .ace_fold-widget.ace_end {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAH0lEQVQIW2P4//8/AxQ7wNjIAjDMgC4AxjCVKBirIAAF0kz2rlhxpAAAAABJRU5ErkJggg==");}.ace_dark .ace_fold-widget.ace_closed {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAFCAYAAACAcVaiAAAAHElEQVQIW2P4//+/AxAzgDADlOOAznHAKgPWAwARji8UIDTfQQAAAABJRU5ErkJggg==");}.ace_dark .ace_fold-widget:hover {box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);background-color: rgba(255, 255, 255, 0.1);}.ace_dark .ace_fold-widget:active {box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);}.ace_fold-widget.ace_invalid {background-color: #FFB4B4;border-color: #DE5555;}.ace_fade-fold-widgets .ace_fold-widget {-webkit-transition: opacity 0.4s ease 0.05s;transition: opacity 0.4s ease 0.05s;opacity: 0;}.ace_fade-fold-widgets:hover .ace_fold-widget {-webkit-transition: opacity 0.05s ease 0.05s;transition: opacity 0.05s ease 0.05s;opacity:1;}.ace_underline {text-decoration: underline;}.ace_bold {font-weight: bold;}.ace_nobold .ace_bold {font-weight: normal;}.ace_italic {font-style: italic;}.ace_error-marker {background-color: rgba(255, 0, 0,0.2);position: absolute;z-index: 9;}.ace_highlight-marker {background-color: rgba(255, 255, 0,0.2);position: absolute;z-index: 8;}.ace_br1 {border-top-left-radius : 3px;}.ace_br2 {border-top-right-radius : 3px;}.ace_br3 {border-top-left-radius : 3px; border-top-right-radius: 3px;}.ace_br4 {border-bottom-right-radius: 3px;}.ace_br5 {border-top-left-radius : 3px; border-bottom-right-radius: 3px;}.ace_br6 {border-top-right-radius : 3px; border-bottom-right-radius: 3px;}.ace_br7 {border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px;}.ace_br8 {border-bottom-left-radius : 3px;}.ace_br9 {border-top-left-radius : 3px; border-bottom-left-radius: 3px;}.ace_br10{border-top-right-radius : 3px; border-bottom-left-radius: 3px;}.ace_br11{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br12{border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br13{border-top-left-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br14{border-top-right-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br15{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}';i.importCssString(m,"ace_editor.css");var g=function(e,t){var n=this;this.container=e||i.createElement("div"),this.$keepTextAreaAtCursor=!o.isOldIE,i.addCssClass(this.container,"ace_editor"),this.setTheme(t),this.$gutter=i.createElement("div"),this.$gutter.className="ace_gutter",this.container.appendChild(this.$gutter),this.scroller=i.createElement("div"),this.scroller.className="ace_scroller",this.container.appendChild(this.scroller),this.content=i.createElement("div"),this.content.className="ace_content",this.scroller.appendChild(this.content),this.$gutterLayer=new u(this.$gutter),this.$gutterLayer.on("changeGutterWidth",this.onGutterResize.bind(this)),this.$markerBack=new a(this.content);var r=this.$textLayer=new f(this.content);this.canvas=r.element,this.$markerFront=new a(this.content),this.$cursorLayer=new l(this.content),this.$horizScroll=!1,this.$vScroll=!1,this.scrollBar=this.scrollBarV=new h(this.container,this),this.scrollBarH=new c(this.container,this),this.scrollBarV.addEventListener("scroll",function(e){n.$scrollAnimation||n.session.setScrollTop(e.data-n.scrollMargin.top)}),this.scrollBarH.addEventListener("scroll",function(e){n.$scrollAnimation||n.session.setScrollLeft(e.data-n.scrollMargin.left)}),this.scrollTop=0,this.scrollLeft=0,this.cursorPos={row:0,column:0},this.$fontMetrics=new d(this.container),this.$textLayer.$setFontMetrics(this.$fontMetrics),this.$textLayer.addEventListener("changeCharacterSize",function(e){n.updateCharacterSize(),n.onResize(!0,n.gutterWidth,n.$size.width,n.$size.height),n._signal("changeCharacterSize",e)}),this.$size={width:0,height:0,scrollerHeight:0,scrollerWidth:0,$dirty:!0},this.layerConfig={width:1,padding:0,firstRow:0,firstRowScreen:0,lastRow:0,lineHeight:0,characterWidth:0,minHeight:1,maxHeight:1,offset:0,height:1,gutterOffset:1},this.scrollMargin={left:0,right:0,top:0,bottom:0,v:0,h:0},this.$loop=new p(this.$renderChanges.bind(this),this.container.ownerDocument.defaultView),this.$loop.schedule(this.CHANGE_FULL),this.updateCharacterSize(),this.setPadding(4),s.resetOptions(this),s._emit("renderer",this)};(function(){this.CHANGE_CURSOR=1,this.CHANGE_MARKER=2,this.CHANGE_GUTTER=4,this.CHANGE_SCROLL=8,this.CHANGE_LINES=16,this.CHANGE_TEXT=32,this.CHANGE_SIZE=64,this.CHANGE_MARKER_BACK=128,this.CHANGE_MARKER_FRONT=256,this.CHANGE_FULL=512,this.CHANGE_H_SCROLL=1024,r.implement(this,v),this.updateCharacterSize=function(){this.$textLayer.allowBoldFonts!=this.$allowBoldFonts&&(this.$allowBoldFonts=this.$textLayer.allowBoldFonts,this.setStyle("ace_nobold",!this.$allowBoldFonts)),this.layerConfig.characterWidth=this.characterWidth=this.$textLayer.getCharacterWidth(),this.layerConfig.lineHeight=this.lineHeight=this.$textLayer.getLineHeight(),this.$updatePrintMargin()},this.setSession=function(e){this.session&&this.session.doc.off("changeNewLineMode",this.onChangeNewLineMode),this.session=e,e&&this.scrollMargin.top&&e.getScrollTop()<=0&&e.setScrollTop(-this.scrollMargin.top),this.$cursorLayer.setSession(e),this.$markerBack.setSession(e),this.$markerFront.setSession(e),this.$gutterLayer.setSession(e),this.$textLayer.setSession(e);if(!e)return;this.$loop.schedule(this.CHANGE_FULL),this.session.$setFontMetrics(this.$fontMetrics),this.onChangeNewLineMode=this.onChangeNewLineMode.bind(this),this.onChangeNewLineMode(),this.session.doc.on("changeNewLineMode",this.onChangeNewLineMode)},this.updateLines=function(e,t,n){t===undefined&&(t=Infinity),this.$changedLines?(this.$changedLines.firstRow>e&&(this.$changedLines.firstRow=e),this.$changedLines.lastRowthis.layerConfig.lastRow)return;this.$loop.schedule(this.CHANGE_LINES)},this.onChangeNewLineMode=function(){this.$loop.schedule(this.CHANGE_TEXT),this.$textLayer.$updateEolChar()},this.onChangeTabSize=function(){this.$loop.schedule(this.CHANGE_TEXT|this.CHANGE_MARKER),this.$textLayer.onChangeTabSize()},this.updateText=function(){this.$loop.schedule(this.CHANGE_TEXT)},this.updateFull=function(e){e?this.$renderChanges(this.CHANGE_FULL,!0):this.$loop.schedule(this.CHANGE_FULL)},this.updateFontSize=function(){this.$textLayer.checkForSizeChanges()},this.$changes=0,this.$updateSizeAsync=function(){this.$loop.pending?this.$size.$dirty=!0:this.onResize()},this.onResize=function(e,t,n,r){if(this.resizing>2)return;this.resizing>0?this.resizing++:this.resizing=e?1:0;var i=this.container;r||(r=i.clientHeight||i.scrollHeight),n||(n=i.clientWidth||i.scrollWidth);var s=this.$updateCachedSize(e,t,n,r);if(!this.$size.scrollerHeight||!n&&!r)return this.resizing=0;e&&(this.$gutterLayer.$padding=null),e?this.$renderChanges(s|this.$changes,!0):this.$loop.schedule(s|this.$changes),this.resizing&&(this.resizing=0),this.scrollBarV.scrollLeft=this.scrollBarV.scrollTop=null},this.$updateCachedSize=function(e,t,n,r){r-=this.$extraHeight||0;var i=0,s=this.$size,o={width:s.width,height:s.height,scrollerHeight:s.scrollerHeight,scrollerWidth:s.scrollerWidth};r&&(e||s.height!=r)&&(s.height=r,i|=this.CHANGE_SIZE,s.scrollerHeight=s.height,this.$horizScroll&&(s.scrollerHeight-=this.scrollBarH.getHeight()),this.scrollBarV.element.style.bottom=this.scrollBarH.getHeight()+"px",i|=this.CHANGE_SCROLL);if(n&&(e||s.width!=n)){i|=this.CHANGE_SIZE,s.width=n,t==null&&(t=this.$showGutter?this.$gutter.offsetWidth:0),this.gutterWidth=t,this.scrollBarH.element.style.left=this.scroller.style.left=t+"px",s.scrollerWidth=Math.max(0,n-t-this.scrollBarV.getWidth()),this.scrollBarH.element.style.right=this.scroller.style.right=this.scrollBarV.getWidth()+"px",this.scroller.style.bottom=this.scrollBarH.getHeight()+"px";if(this.session&&this.session.getUseWrapMode()&&this.adjustWrapLimit()||e)i|=this.CHANGE_FULL}return s.$dirty=!n||!r,i&&this._signal("resize",o),i},this.onGutterResize=function(){var e=this.$showGutter?this.$gutter.offsetWidth:0;e!=this.gutterWidth&&(this.$changes|=this.$updateCachedSize(!0,e,this.$size.width,this.$size.height)),this.session.getUseWrapMode()&&this.adjustWrapLimit()?this.$loop.schedule(this.CHANGE_FULL):this.$size.$dirty?this.$loop.schedule(this.CHANGE_FULL):(this.$computeLayerConfig(),this.$loop.schedule(this.CHANGE_MARKER))},this.adjustWrapLimit=function(){var e=this.$size.scrollerWidth-this.$padding*2,t=Math.floor(e/this.characterWidth);return this.session.adjustWrapLimit(t,this.$showPrintMargin&&this.$printMarginColumn)},this.setAnimatedScroll=function(e){this.setOption("animatedScroll",e)},this.getAnimatedScroll=function(){return this.$animatedScroll},this.setShowInvisibles=function(e){this.setOption("showInvisibles",e)},this.getShowInvisibles=function(){return this.getOption("showInvisibles")},this.getDisplayIndentGuides=function(){return this.getOption("displayIndentGuides")},this.setDisplayIndentGuides=function(e){this.setOption("displayIndentGuides",e)},this.setShowPrintMargin=function(e){this.setOption("showPrintMargin",e)},this.getShowPrintMargin=function(){return this.getOption("showPrintMargin")},this.setPrintMarginColumn=function(e){this.setOption("printMarginColumn",e)},this.getPrintMarginColumn=function(){return this.getOption("printMarginColumn")},this.getShowGutter=function(){return this.getOption("showGutter")},this.setShowGutter=function(e){return this.setOption("showGutter",e)},this.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},this.setFadeFoldWidgets=function(e){this.setOption("fadeFoldWidgets",e)},this.setHighlightGutterLine=function(e){this.setOption("highlightGutterLine",e)},this.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},this.$updateGutterLineHighlight=function(){var e=this.$cursorLayer.$pixelPos,t=this.layerConfig.lineHeight;if(this.session.getUseWrapMode()){var n=this.session.selection.getCursor();n.column=0,e=this.$cursorLayer.getPixelPosition(n,!0),t*=this.session.getRowLength(n.row)}this.$gutterLineHighlight.style.top=e.top-this.layerConfig.offset+"px",this.$gutterLineHighlight.style.height=t+"px"},this.$updatePrintMargin=function(){if(!this.$showPrintMargin&&!this.$printMarginEl)return;if(!this.$printMarginEl){var e=i.createElement("div");e.className="ace_layer ace_print-margin-layer",this.$printMarginEl=i.createElement("div"),this.$printMarginEl.className="ace_print-margin",e.appendChild(this.$printMarginEl),this.content.insertBefore(e,this.content.firstChild)}var t=this.$printMarginEl.style;t.left=this.characterWidth*this.$printMarginColumn+this.$padding+"px",t.visibility=this.$showPrintMargin?"visible":"hidden",this.session&&this.session.$wrap==-1&&this.adjustWrapLimit()},this.getContainerElement=function(){return this.container},this.getMouseEventTarget=function(){return this.scroller},this.getTextAreaContainer=function(){return this.container},this.$moveTextAreaToCursor=function(){if(!this.$keepTextAreaAtCursor)return;var e=this.layerConfig,t=this.$cursorLayer.$pixelPos.top,n=this.$cursorLayer.$pixelPos.left;t-=e.offset;var r=this.textarea.style,i=this.lineHeight;if(t<0||t>e.height-i){r.top=r.left="0";return}var s=this.characterWidth;if(this.$composition){var o=this.textarea.value.replace(/^\x01+/,"");s*=this.session.$getStringScreenWidth(o)[0]+2,i+=2}n-=this.scrollLeft,n>this.$size.scrollerWidth-s&&(n=this.$size.scrollerWidth-s),n+=this.gutterWidth,r.height=i+"px",r.width=s+"px",r.left=Math.min(n,this.$size.scrollerWidth-s)+"px",r.top=Math.min(t,this.$size.height-i)+"px"},this.getFirstVisibleRow=function(){return this.layerConfig.firstRow},this.getFirstFullyVisibleRow=function(){return this.layerConfig.firstRow+(this.layerConfig.offset===0?0:1)},this.getLastFullyVisibleRow=function(){var e=this.layerConfig,t=e.lastRow,n=this.session.documentToScreenRow(t,0)*e.lineHeight;return n-this.session.getScrollTop()>e.height-e.lineHeight?t-1:t},this.getLastVisibleRow=function(){return this.layerConfig.lastRow},this.$padding=null,this.setPadding=function(e){this.$padding=e,this.$textLayer.setPadding(e),this.$cursorLayer.setPadding(e),this.$markerFront.setPadding(e),this.$markerBack.setPadding(e),this.$loop.schedule(this.CHANGE_FULL),this.$updatePrintMargin()},this.setScrollMargin=function(e,t,n,r){var i=this.scrollMargin;i.top=e|0,i.bottom=t|0,i.right=r|0,i.left=n|0,i.v=i.top+i.bottom,i.h=i.left+i.right,i.top&&this.scrollTop<=0&&this.session&&this.session.setScrollTop(-i.top),this.updateFull()},this.getHScrollBarAlwaysVisible=function(){return this.$hScrollBarAlwaysVisible},this.setHScrollBarAlwaysVisible=function(e){this.setOption("hScrollBarAlwaysVisible",e)},this.getVScrollBarAlwaysVisible=function(){return this.$vScrollBarAlwaysVisible},this.setVScrollBarAlwaysVisible=function(e){this.setOption("vScrollBarAlwaysVisible",e)},this.$updateScrollBarV=function(){var e=this.layerConfig.maxHeight,t=this.$size.scrollerHeight;!this.$maxLines&&this.$scrollPastEnd&&(e-=(t-this.lineHeight)*this.$scrollPastEnd,this.scrollTop>e-t&&(e=this.scrollTop+t,this.scrollBarV.scrollTop=null)),this.scrollBarV.setScrollHeight(e+this.scrollMargin.v),this.scrollBarV.setScrollTop(this.scrollTop+this.scrollMargin.top)},this.$updateScrollBarH=function(){this.scrollBarH.setScrollWidth(this.layerConfig.width+2*this.$padding+this.scrollMargin.h),this.scrollBarH.setScrollLeft(this.scrollLeft+this.scrollMargin.left)},this.$frozen=!1,this.freeze=function(){this.$frozen=!0},this.unfreeze=function(){this.$frozen=!1},this.$renderChanges=function(e,t){this.$changes&&(e|=this.$changes,this.$changes=0);if(!this.session||!this.container.offsetWidth||this.$frozen||!e&&!t){this.$changes|=e;return}if(this.$size.$dirty)return this.$changes|=e,this.onResize(!0);this.lineHeight||this.$textLayer.checkForSizeChanges(),this._signal("beforeRender");var n=this.layerConfig;if(e&this.CHANGE_FULL||e&this.CHANGE_SIZE||e&this.CHANGE_TEXT||e&this.CHANGE_LINES||e&this.CHANGE_SCROLL||e&this.CHANGE_H_SCROLL){e|=this.$computeLayerConfig();if(n.firstRow!=this.layerConfig.firstRow&&n.firstRowScreen==this.layerConfig.firstRowScreen){var r=this.scrollTop+(n.firstRow-this.layerConfig.firstRow)*this.lineHeight;r>0&&(this.scrollTop=r,e|=this.CHANGE_SCROLL,e|=this.$computeLayerConfig())}n=this.layerConfig,this.$updateScrollBarV(),e&this.CHANGE_H_SCROLL&&this.$updateScrollBarH(),this.$gutterLayer.element.style.marginTop=-n.offset+"px",this.content.style.marginTop=-n.offset+"px",this.content.style.width=n.width+2*this.$padding+"px",this.content.style.height=n.minHeight+"px"}e&this.CHANGE_H_SCROLL&&(this.content.style.marginLeft=-this.scrollLeft+"px",this.scroller.className=this.scrollLeft<=0?"ace_scroller":"ace_scroller ace_scroll-left");if(e&this.CHANGE_FULL){this.$textLayer.update(n),this.$showGutter&&this.$gutterLayer.update(n),this.$markerBack.update(n),this.$markerFront.update(n),this.$cursorLayer.update(n),this.$moveTextAreaToCursor(),this.$highlightGutterLine&&this.$updateGutterLineHighlight(),this._signal("afterRender");return}if(e&this.CHANGE_SCROLL){e&this.CHANGE_TEXT||e&this.CHANGE_LINES?this.$textLayer.update(n):this.$textLayer.scrollLines(n),this.$showGutter&&this.$gutterLayer.update(n),this.$markerBack.update(n),this.$markerFront.update(n),this.$cursorLayer.update(n),this.$highlightGutterLine&&this.$updateGutterLineHighlight(),this.$moveTextAreaToCursor(),this._signal("afterRender");return}e&this.CHANGE_TEXT?(this.$textLayer.update(n),this.$showGutter&&this.$gutterLayer.update(n)):e&this.CHANGE_LINES?(this.$updateLines()||e&this.CHANGE_GUTTER&&this.$showGutter)&&this.$gutterLayer.update(n):(e&this.CHANGE_TEXT||e&this.CHANGE_GUTTER)&&this.$showGutter&&this.$gutterLayer.update(n),e&this.CHANGE_CURSOR&&(this.$cursorLayer.update(n),this.$moveTextAreaToCursor(),this.$highlightGutterLine&&this.$updateGutterLineHighlight()),e&(this.CHANGE_MARKER|this.CHANGE_MARKER_FRONT)&&this.$markerFront.update(n),e&(this.CHANGE_MARKER|this.CHANGE_MARKER_BACK)&&this.$markerBack.update(n),this._signal("afterRender")},this.$autosize=function(){var e=this.session.getScreenLength()*this.lineHeight,t=this.$maxLines*this.lineHeight,n=Math.min(t,Math.max((this.$minLines||1)*this.lineHeight,e))+this.scrollMargin.v+(this.$extraHeight||0);this.$horizScroll&&(n+=this.scrollBarH.getHeight()),this.$maxPixelHeight&&n>this.$maxPixelHeight&&(n=this.$maxPixelHeight);var r=e>t;if(n!=this.desiredHeight||this.$size.height!=this.desiredHeight||r!=this.$vScroll){r!=this.$vScroll&&(this.$vScroll=r,this.scrollBarV.setVisible(r));var i=this.container.clientWidth;this.container.style.height=n+"px",this.$updateCachedSize(!0,this.$gutterWidth,i,n),this.desiredHeight=n,this._signal("autosize")}},this.$computeLayerConfig=function(){var e=this.session,t=this.$size,n=t.height<=2*this.lineHeight,r=this.session.getScreenLength(),i=r*this.lineHeight,s=this.$getLongestLine(),o=!n&&(this.$hScrollBarAlwaysVisible||t.scrollerWidth-s-2*this.$padding<0),u=this.$horizScroll!==o;u&&(this.$horizScroll=o,this.scrollBarH.setVisible(o));var a=this.$vScroll;this.$maxLines&&this.lineHeight>1&&this.$autosize();var f=this.scrollTop%this.lineHeight,l=t.scrollerHeight+this.lineHeight,c=!this.$maxLines&&this.$scrollPastEnd?(t.scrollerHeight-this.lineHeight)*this.$scrollPastEnd:0;i+=c;var h=this.scrollMargin;this.session.setScrollTop(Math.max(-h.top,Math.min(this.scrollTop,i-t.scrollerHeight+h.bottom))),this.session.setScrollLeft(Math.max(-h.left,Math.min(this.scrollLeft,s+2*this.$padding-t.scrollerWidth+h.right)));var p=!n&&(this.$vScrollBarAlwaysVisible||t.scrollerHeight-i+c<0||this.scrollTop>h.top),d=a!==p;d&&(this.$vScroll=p,this.scrollBarV.setVisible(p));var v=Math.ceil(l/this.lineHeight)-1,m=Math.max(0,Math.round((this.scrollTop-f)/this.lineHeight)),g=m+v,y,b,w=this.lineHeight;m=e.screenToDocumentRow(m,0);var E=e.getFoldLine(m);E&&(m=E.start.row),y=e.documentToScreenRow(m,0),b=e.getRowLength(m)*w,g=Math.min(e.screenToDocumentRow(g,0),e.getLength()-1),l=t.scrollerHeight+e.getRowLength(g)*w+b,f=this.scrollTop-y*w;var S=0;this.layerConfig.width!=s&&(S=this.CHANGE_H_SCROLL);if(u||d)S=this.$updateCachedSize(!0,this.gutterWidth,t.width,t.height),this._signal("scrollbarVisibilityChanged"),d&&(s=this.$getLongestLine());return this.layerConfig={width:s,padding:this.$padding,firstRow:m,firstRowScreen:y,lastRow:g,lineHeight:w,characterWidth:this.characterWidth,minHeight:l,maxHeight:i,offset:f,gutterOffset:Math.max(0,Math.ceil((f+t.height-t.scrollerHeight)/w)),height:this.$size.scrollerHeight},S},this.$updateLines=function(){var e=this.$changedLines.firstRow,t=this.$changedLines.lastRow;this.$changedLines=null;var n=this.layerConfig;if(e>n.lastRow+1)return;if(ts?(t&&a+o>s+this.lineHeight&&(s-=t*this.$size.scrollerHeight),s===0&&(s=-this.scrollMargin.top),this.session.setScrollTop(s)):a+this.$size.scrollerHeight-ui?(i=1-this.scrollMargin.top)return!0;if(t>0&&this.session.getScrollTop()+this.$size.scrollerHeight-this.layerConfig.maxHeight<-1+this.scrollMargin.bottom)return!0;if(e<0&&this.session.getScrollLeft()>=1-this.scrollMargin.left)return!0;if(e>0&&this.session.getScrollLeft()+this.$size.scrollerWidth-this.layerConfig.width<-1+this.scrollMargin.right)return!0},this.pixelToScreenCoordinates=function(e,t){var n=this.scroller.getBoundingClientRect(),r=(e+this.scrollLeft-n.left-this.$padding)/this.characterWidth,i=Math.floor((t+this.scrollTop-n.top)/this.lineHeight),s=Math.round(r);return{row:i,column:s,side:r-s>0?1:-1}},this.screenToTextCoordinates=function(e,t){var n=this.scroller.getBoundingClientRect(),r=Math.round((e+this.scrollLeft-n.left-this.$padding)/this.characterWidth),i=(t+this.scrollTop-n.top)/this.lineHeight;return this.session.screenToDocumentPosition(i,Math.max(r,0))},this.textToScreenCoordinates=function(e,t){var n=this.scroller.getBoundingClientRect(),r=this.session.documentToScreenPosition(e,t),i=this.$padding+Math.round(r.column*this.characterWidth),s=r.row*this.lineHeight;return{pageX:n.left+i-this.scrollLeft,pageY:n.top+s-this.scrollTop}},this.visualizeFocus=function(){i.addCssClass(this.container,"ace_focus")},this.visualizeBlur=function(){i.removeCssClass(this.container,"ace_focus")},this.showComposition=function(e){this.$composition||(this.$composition={keepTextAreaAtCursor:this.$keepTextAreaAtCursor,cssText:this.textarea.style.cssText}),this.$keepTextAreaAtCursor=!0,i.addCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText="",this.$moveTextAreaToCursor()},this.setCompositionText=function(e){this.$moveTextAreaToCursor()},this.hideComposition=function(){if(!this.$composition)return;i.removeCssClass(this.textarea,"ace_composition"),this.$keepTextAreaAtCursor=this.$composition.keepTextAreaAtCursor,this.textarea.style.cssText=this.$composition.cssText,this.$composition=null},this.setTheme=function(e,t){function o(r){if(n.$themeId!=e)return t&&t();if(!r.cssClass)return;i.importCssString(r.cssText,r.cssClass,n.container.ownerDocument),n.theme&&i.removeCssClass(n.container,n.theme.cssClass);var s="padding"in r?r.padding:"padding"in(n.theme||{})?4:n.$padding;n.$padding&&s!=n.$padding&&n.setPadding(s),n.$theme=r.cssClass,n.theme=r,i.addCssClass(n.container,r.cssClass),i.setCssClass(n.container,"ace_dark",r.isDark),n.$size&&(n.$size.width=0,n.$updateSizeAsync()),n._dispatchEvent("themeLoaded",{theme:r}),t&&t()}var n=this;this.$themeId=e,n._dispatchEvent("themeChange",{theme:e});if(!e||typeof e=="string"){var r=e||this.$options.theme.initialValue;s.loadModule(["theme",r],o)}else o(e)},this.getTheme=function(){return this.$themeId},this.setStyle=function(e,t){i.setCssClass(this.container,e,t!==!1)},this.unsetStyle=function(e){i.removeCssClass(this.container,e)},this.setCursorStyle=function(e){this.scroller.style.cursor!=e&&(this.scroller.style.cursor=e)},this.setMouseCursor=function(e){this.scroller.style.cursor=e},this.destroy=function(){this.$textLayer.destroy(),this.$cursorLayer.destroy()}}).call(g.prototype),s.defineOptions(g.prototype,"renderer",{animatedScroll:{initialValue:!1},showInvisibles:{set:function(e){this.$textLayer.setShowInvisibles(e)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!1},showPrintMargin:{set:function(){this.$updatePrintMargin()},initialValue:!0},printMarginColumn:{set:function(){this.$updatePrintMargin()},initialValue:80},printMargin:{set:function(e){typeof e=="number"&&(this.$printMarginColumn=e),this.$showPrintMargin=!!e,this.$updatePrintMargin()},get:function(){return this.$showPrintMargin&&this.$printMarginColumn}},showGutter:{set:function(e){this.$gutter.style.display=e?"block":"none",this.$loop.schedule(this.CHANGE_FULL),this.onGutterResize()},initialValue:!0},fadeFoldWidgets:{set:function(e){i.setCssClass(this.$gutter,"ace_fade-fold-widgets",e)},initialValue:!1},showFoldWidgets:{set:function(e){this.$gutterLayer.setShowFoldWidgets(e)},initialValue:!0},showLineNumbers:{set:function(e){this.$gutterLayer.setShowLineNumbers(e),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},displayIndentGuides:{set:function(e){this.$textLayer.setDisplayIndentGuides(e)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!0},highlightGutterLine:{set:function(e){if(!this.$gutterLineHighlight){this.$gutterLineHighlight=i.createElement("div"),this.$gutterLineHighlight.className="ace_gutter-active-line",this.$gutter.appendChild(this.$gutterLineHighlight);return}this.$gutterLineHighlight.style.display=e?"":"none",this.$cursorLayer.$pixelPos&&this.$updateGutterLineHighlight()},initialValue:!1,value:!0},hScrollBarAlwaysVisible:{set:function(e){(!this.$hScrollBarAlwaysVisible||!this.$horizScroll)&&this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},vScrollBarAlwaysVisible:{set:function(e){(!this.$vScrollBarAlwaysVisible||!this.$vScroll)&&this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},fontSize:{set:function(e){typeof e=="number"&&(e+="px"),this.container.style.fontSize=e,this.updateFontSize()},initialValue:12},fontFamily:{set:function(e){this.container.style.fontFamily=e,this.updateFontSize()}},maxLines:{set:function(e){this.updateFull()}},minLines:{set:function(e){this.updateFull()}},maxPixelHeight:{set:function(e){this.updateFull()},initialValue:0},scrollPastEnd:{set:function(e){e=+e||0;if(this.$scrollPastEnd==e)return;this.$scrollPastEnd=e,this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:0,handlesSet:!0},fixedWidthGutter:{set:function(e){this.$gutterLayer.$fixedWidth=!!e,this.$loop.schedule(this.CHANGE_GUTTER)}},theme:{set:function(e){this.setTheme(e)},get:function(){return this.$themeId||this.theme},initialValue:"./theme/textmate",handlesSet:!0}}),t.VirtualRenderer=g}),ace.define("ace/worker/worker_client",["require","exports","module","ace/lib/oop","ace/lib/net","ace/lib/event_emitter","ace/config"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/net"),s=e("../lib/event_emitter").EventEmitter,o=e("../config"),u=function(t,n,r,i){this.$sendDeltaQueue=this.$sendDeltaQueue.bind(this),this.changeListener=this.changeListener.bind(this),this.onMessage=this.onMessage.bind(this),e.nameToUrl&&!e.toUrl&&(e.toUrl=e.nameToUrl);if(o.get("packaged")||!e.toUrl)i=i||o.moduleUrl(n,"worker");else{var s=this.$normalizePath;i=i||s(e.toUrl("ace/worker/worker.js",null,"_"));var u={};t.forEach(function(t){u[t]=s(e.toUrl(t,null,"_").replace(/(\.js)?(\?.*)?$/,""))})}try{this.$worker=new Worker(i)}catch(a){if(!(a instanceof window.DOMException))throw a;var f=this.$workerBlob(i),l=window.URL||window.webkitURL,c=l.createObjectURL(f);this.$worker=new Worker(c),l.revokeObjectURL(c)}this.$worker.postMessage({init:!0,tlns:u,module:n,classname:r}),this.callbackId=1,this.callbacks={},this.$worker.onmessage=this.onMessage};(function(){r.implement(this,s),this.onMessage=function(e){var t=e.data;switch(t.type){case"event":this._signal(t.name,{data:t.data});break;case"call":var n=this.callbacks[t.id];n&&(n(t.data),delete this.callbacks[t.id]);break;case"error":this.reportError(t.data);break;case"log":window.console&&console.log&&console.log.apply(console,t.data)}},this.reportError=function(e){window.console&&console.error&&console.error(e)},this.$normalizePath=function(e){return i.qualifyURL(e)},this.terminate=function(){this._signal("terminate",{}),this.deltaQueue=null,this.$worker.terminate(),this.$worker=null,this.$doc&&this.$doc.off("change",this.changeListener),this.$doc=null},this.send=function(e,t){this.$worker.postMessage({command:e,args:t})},this.call=function(e,t,n){if(n){var r=this.callbackId++;this.callbacks[r]=n,t.push(r)}this.send(e,t)},this.emit=function(e,t){try{this.$worker.postMessage({event:e,data:{data:t.data}})}catch(n){console.error(n.stack)}},this.attachToDocument=function(e){this.$doc&&this.terminate(),this.$doc=e,this.call("setValue",[e.getValue()]),e.on("change",this.changeListener)},this.changeListener=function(e){this.deltaQueue||(this.deltaQueue=[],setTimeout(this.$sendDeltaQueue,0)),e.action=="insert"?this.deltaQueue.push(e.start,e.lines):this.deltaQueue.push(e.start,e.end)},this.$sendDeltaQueue=function(){var e=this.deltaQueue;if(!e)return;this.deltaQueue=null,e.length>50&&e.length>this.$doc.getLength()>>1?this.call("setValue",[this.$doc.getValue()]):this.emit("change",{data:e})},this.$workerBlob=function(e){var t="importScripts('"+i.qualifyURL(e)+"');";try{return new Blob([t],{type:"application/javascript"})}catch(n){var r=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder,s=new r;return s.append(t),s.getBlob("application/javascript")}}}).call(u.prototype);var a=function(e,t,n){this.$sendDeltaQueue=this.$sendDeltaQueue.bind(this),this.changeListener=this.changeListener.bind(this),this.callbackId=1,this.callbacks={},this.messageBuffer=[];var r=null,i=!1,u=Object.create(s),a=this;this.$worker={},this.$worker.terminate=function(){},this.$worker.postMessage=function(e){a.messageBuffer.push(e),r&&(i?setTimeout(f):f())},this.setEmitSync=function(e){i=e};var f=function(){var e=a.messageBuffer.shift();e.command?r[e.command].apply(r,e.args):e.event&&u._signal(e.event,e.data)};u.postMessage=function(e){a.onMessage({data:e})},u.callback=function(e,t){this.postMessage({type:"call",id:t,data:e})},u.emit=function(e,t){this.postMessage({type:"event",name:e,data:t})},o.loadModule(["worker",t],function(e){r=new e[n](u);while(a.messageBuffer.length)f()})};a.prototype=u.prototype,t.UIWorkerClient=a,t.WorkerClient=u}),ace.define("ace/placeholder",["require","exports","module","ace/range","ace/lib/event_emitter","ace/lib/oop"],function(e,t,n){"use strict";var r=e("./range").Range,i=e("./lib/event_emitter").EventEmitter,s=e("./lib/oop"),o=function(e,t,n,r,i,s){var o=this;this.length=t,this.session=e,this.doc=e.getDocument(),this.mainClass=i,this.othersClass=s,this.$onUpdate=this.onUpdate.bind(this),this.doc.on("change",this.$onUpdate),this.$others=r,this.$onCursorChange=function(){setTimeout(function(){o.onCursorChange()})},this.$pos=n;var u=e.getUndoManager().$undoStack||e.getUndoManager().$undostack||{length:-1};this.$undoStackDepth=u.length,this.setup(),e.selection.on("changeCursor",this.$onCursorChange)};(function(){s.implement(this,i),this.setup=function(){var e=this,t=this.doc,n=this.session;this.selectionBefore=n.selection.toJSON(),n.selection.inMultiSelectMode&&n.selection.toSingleRange(),this.pos=t.createAnchor(this.$pos.row,this.$pos.column);var i=this.pos;i.$insertRight=!0,i.detach(),i.markerId=n.addMarker(new r(i.row,i.column,i.row,i.column+this.length),this.mainClass,null,!1),this.others=[],this.$others.forEach(function(n){var r=t.createAnchor(n.row,n.column);r.$insertRight=!0,r.detach(),e.others.push(r)}),n.setUndoSelect(!1)},this.showOtherMarkers=function(){if(this.othersActive)return;var e=this.session,t=this;this.othersActive=!0,this.others.forEach(function(n){n.markerId=e.addMarker(new r(n.row,n.column,n.row,n.column+t.length),t.othersClass,null,!1)})},this.hideOtherMarkers=function(){if(!this.othersActive)return;this.othersActive=!1;for(var e=0;e=this.pos.column&&t.start.column<=this.pos.column+this.length+1,s=t.start.column-this.pos.column;this.updateAnchors(e),i&&(this.length+=n);if(i&&!this.session.$fromUndo)if(e.action==="insert")for(var o=this.others.length-1;o>=0;o--){var u=this.others[o],a={row:u.row,column:u.column+s};this.doc.insertMergedLines(a,e.lines)}else if(e.action==="remove")for(var o=this.others.length-1;o>=0;o--){var u=this.others[o],a={row:u.row,column:u.column+s};this.doc.remove(new r(a.row,a.column,a.row,a.column-n))}this.$updating=!1,this.updateMarkers()},this.updateAnchors=function(e){this.pos.onChange(e);for(var t=this.others.length;t--;)this.others[t].onChange(e);this.updateMarkers()},this.updateMarkers=function(){if(this.$updating)return;var e=this,t=this.session,n=function(n,i){t.removeMarker(n.markerId),n.markerId=t.addMarker(new r(n.row,n.column,n.row,n.column+e.length),i,null,!1)};n(this.pos,this.mainClass);for(var i=this.others.length;i--;)n(this.others[i],this.othersClass)},this.onCursorChange=function(e){if(this.$updating||!this.session)return;var t=this.session.selection.getCursor();t.row===this.pos.row&&t.column>=this.pos.column&&t.column<=this.pos.column+this.length?(this.showOtherMarkers(),this._emit("cursorEnter",e)):(this.hideOtherMarkers(),this._emit("cursorLeave",e))},this.detach=function(){this.session.removeMarker(this.pos&&this.pos.markerId),this.hideOtherMarkers(),this.doc.removeEventListener("change",this.$onUpdate),this.session.selection.removeEventListener("changeCursor",this.$onCursorChange),this.session.setUndoSelect(!0),this.session=null},this.cancel=function(){if(this.$undoStackDepth===-1)return;var e=this.session.getUndoManager(),t=(e.$undoStack||e.$undostack).length-this.$undoStackDepth;for(var n=0;n1&&!this.inMultiSelectMode&&(this._signal("multiSelect"),this.inMultiSelectMode=!0,this.session.$undoSelect=!1,this.rangeList.attach(this.session)),t||this.fromOrientedRange(e)},this.toSingleRange=function(e){e=e||this.ranges[0];var t=this.rangeList.removeAll();t.length&&this.$onRemoveRange(t),e&&this.fromOrientedRange(e)},this.substractPoint=function(e){var t=this.rangeList.substractPoint(e);if(t)return this.$onRemoveRange(t),t[0]},this.mergeOverlappingRanges=function(){var e=this.rangeList.merge();e.length?this.$onRemoveRange(e):this.ranges[0]&&this.fromOrientedRange(this.ranges[0])},this.$onAddRange=function(e){this.rangeCount=this.rangeList.ranges.length,this.ranges.unshift(e),this._signal("addRange",{range:e})},this.$onRemoveRange=function(e){this.rangeCount=this.rangeList.ranges.length;if(this.rangeCount==1&&this.inMultiSelectMode){var t=this.rangeList.ranges.pop();e.push(t),this.rangeCount=0}for(var n=e.length;n--;){var r=this.ranges.indexOf(e[n]);this.ranges.splice(r,1)}this._signal("removeRange",{ranges:e}),this.rangeCount===0&&this.inMultiSelectMode&&(this.inMultiSelectMode=!1,this._signal("singleSelect"),this.session.$undoSelect=!0,this.rangeList.detach(this.session)),t=t||this.ranges[0],t&&!t.isEqual(this.getRange())&&this.fromOrientedRange(t)},this.$initRangeList=function(){if(this.rangeList)return;this.rangeList=new r,this.ranges=[],this.rangeCount=0},this.getAllRanges=function(){return this.rangeCount?this.rangeList.ranges.concat():[this.getRange()]},this.splitIntoLines=function(){if(this.rangeCount>1){var e=this.rangeList.ranges,t=e[e.length-1],n=i.fromPoints(e[0].start,t.end);this.toSingleRange(),this.setSelectionRange(n,t.cursor==t.start)}else{var n=this.getRange(),r=this.isBackwards(),s=n.start.row,o=n.end.row;if(s==o){if(r)var u=n.end,a=n.start;else var u=n.start,a=n.end;this.addRange(i.fromPoints(a,a)),this.addRange(i.fromPoints(u,u));return}var f=[],l=this.getLineRange(s,!0);l.start.column=n.start.column,f.push(l);for(var c=s+1;c1){var e=this.rangeList.ranges,t=e[e.length-1],n=i.fromPoints(e[0].start,t.end);this.toSingleRange(),this.setSelectionRange(n,t.cursor==t.start)}else{var r=this.session.documentToScreenPosition(this.selectionLead),s=this.session.documentToScreenPosition(this.selectionAnchor),o=this.rectangularRangeBlock(r,s);o.forEach(this.addRange,this)}},this.rectangularRangeBlock=function(e,t,n){var r=[],s=e.column0)d--;if(d>0){var m=0;while(r[m].isEmpty())m++}for(var g=d;g>=m;g--)r[g].isEmpty()&&r.splice(g,1)}return r}}.call(s.prototype);var d=e("./editor").Editor;(function(){this.updateSelectionMarkers=function(){this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.addSelectionMarker=function(e){e.cursor||(e.cursor=e.end);var t=this.getSelectionStyle();return e.marker=this.session.addMarker(e,"ace_selection",t),this.session.$selectionMarkers.push(e),this.session.selectionMarkerCount=this.session.$selectionMarkers.length,e},this.removeSelectionMarker=function(e){if(!e.marker)return;this.session.removeMarker(e.marker);var t=this.session.$selectionMarkers.indexOf(e);t!=-1&&this.session.$selectionMarkers.splice(t,1),this.session.selectionMarkerCount=this.session.$selectionMarkers.length},this.removeSelectionMarkers=function(e){var t=this.session.$selectionMarkers;for(var n=e.length;n--;){var r=e[n];if(!r.marker)continue;this.session.removeMarker(r.marker);var i=t.indexOf(r);i!=-1&&t.splice(i,1)}this.session.selectionMarkerCount=t.length},this.$onAddRange=function(e){this.addSelectionMarker(e.range),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onRemoveRange=function(e){this.removeSelectionMarkers(e.ranges),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onMultiSelect=function(e){if(this.inMultiSelectMode)return;this.inMultiSelectMode=!0,this.setStyle("ace_multiselect"),this.keyBinding.addKeyboardHandler(f.keyboardHandler),this.commands.setDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onSingleSelect=function(e){if(this.session.multiSelect.inVirtualMode)return;this.inMultiSelectMode=!1,this.unsetStyle("ace_multiselect"),this.keyBinding.removeKeyboardHandler(f.keyboardHandler),this.commands.removeDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers(),this._emit("changeSelection")},this.$onMultiSelectExec=function(e){var t=e.command,n=e.editor;if(!n.multiSelect)return;if(!t.multiSelectAction){var r=t.exec(n,e.args||{});n.multiSelect.addRange(n.multiSelect.toOrientedRange()),n.multiSelect.mergeOverlappingRanges()}else t.multiSelectAction=="forEach"?r=n.forEachSelection(t,e.args):t.multiSelectAction=="forEachLine"?r=n.forEachSelection(t,e.args,!0):t.multiSelectAction=="single"?(n.exitMultiSelectMode(),r=t.exec(n,e.args||{})):r=t.multiSelectAction(n,e.args||{});return r},this.forEachSelection=function(e,t,n){if(this.inVirtualSelectionMode)return;var r=n&&n.keepOrder,i=n==1||n&&n.$byLines,o=this.session,u=this.selection,a=u.rangeList,f=(r?u:a).ranges,l;if(!f.length)return e.exec?e.exec(this,t||{}):e(this,t||{});var c=u._eventRegistry;u._eventRegistry={};var h=new s(o);this.inVirtualSelectionMode=!0;for(var p=f.length;p--;){if(i)while(p>0&&f[p].start.row==f[p-1].end.row)p--;h.fromOrientedRange(f[p]),h.index=p,this.selection=o.selection=h;var d=e.exec?e.exec(this,t||{}):e(this,t||{});!l&&d!==undefined&&(l=d),h.toOrientedRange(f[p])}h.detach(),this.selection=o.selection=u,this.inVirtualSelectionMode=!1,u._eventRegistry=c,u.mergeOverlappingRanges();var v=this.renderer.$scrollAnimation;return this.onCursorChange(),this.onSelectionChange(),v&&v.from==v.to&&this.renderer.animateScrolling(v.from),l},this.exitMultiSelectMode=function(){if(!this.inMultiSelectMode||this.inVirtualSelectionMode)return;this.multiSelect.toSingleRange()},this.getSelectedText=function(){var e="";if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){var t=this.multiSelect.rangeList.ranges,n=[];for(var r=0;r0);u<0&&(u=0),f>=c&&(f=c-1)}var p=this.session.removeFullLines(u,f);p=this.$reAlignText(p,l),this.session.insert({row:u,column:0},p.join("\n")+"\n"),l||(o.start.column=0,o.end.column=p[p.length-1].length),this.selection.setRange(o)}else{s.forEach(function(e){t.substractPoint(e.cursor)});var d=0,v=Infinity,m=n.map(function(t){var n=t.cursor,r=e.getLine(n.row),i=r.substr(n.column).search(/\S/g);return i==-1&&(i=0),n.column>d&&(d=n.column),io?e.insert(r,a.stringRepeat(" ",s-o)):e.remove(new i(r.row,r.column,r.row,r.column-s+o)),t.start.column=t.end.column=d,t.start.row=t.end.row=r.row,t.cursor=t.end}),t.fromOrientedRange(n[0]),this.renderer.updateCursor(),this.renderer.updateBackMarkers()}},this.$reAlignText=function(e,t){function u(e){return a.stringRepeat(" ",e)}function f(e){return e[2]?u(i)+e[2]+u(s-e[2].length+o)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}function l(e){return e[2]?u(i+s-e[2].length)+e[2]+u(o," ")+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}function c(e){return e[2]?u(i)+e[2]+u(o)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}var n=!0,r=!0,i,s,o;return e.map(function(e){var t=e.match(/(\s*)(.*?)(\s*)([=:].*)/);return t?i==null?(i=t[1].length,s=t[2].length,o=t[3].length,t):(i+s+o!=t[1].length+t[2].length+t[3].length&&(r=!1),i!=t[1].length&&(n=!1),i>t[1].length&&(i=t[1].length),st[3].length&&(o=t[3].length),t):[e]}).map(t?f:n?r?l:f:c)}}).call(d.prototype),t.onSessionChange=function(e){var t=e.session;t&&!t.multiSelect&&(t.$selectionMarkers=[],t.selection.$initRangeList(),t.multiSelect=t.selection),this.multiSelect=t&&t.multiSelect;var n=e.oldSession;n&&(n.multiSelect.off("addRange",this.$onAddRange),n.multiSelect.off("removeRange",this.$onRemoveRange),n.multiSelect.off("multiSelect",this.$onMultiSelect),n.multiSelect.off("singleSelect",this.$onSingleSelect),n.multiSelect.lead.off("change",this.$checkMultiselectChange),n.multiSelect.anchor.off("change",this.$checkMultiselectChange)),t&&(t.multiSelect.on("addRange",this.$onAddRange),t.multiSelect.on("removeRange",this.$onRemoveRange),t.multiSelect.on("multiSelect",this.$onMultiSelect),t.multiSelect.on("singleSelect",this.$onSingleSelect),t.multiSelect.lead.on("change",this.$checkMultiselectChange),t.multiSelect.anchor.on("change",this.$checkMultiselectChange)),t&&this.inMultiSelectMode!=t.selection.inMultiSelectMode&&(t.selection.inMultiSelectMode?this.$onMultiSelect():this.$onSingleSelect())},t.MultiSelect=m,e("./config").defineOptions(d.prototype,"editor",{enableMultiselect:{set:function(e){m(this),e?(this.on("changeSession",this.$multiselectOnSessionChange),this.on("mousedown",o)):(this.off("changeSession",this.$multiselectOnSessionChange),this.off("mousedown",o))},value:!0},enableBlockSelect:{set:function(e){this.$blockSelectEnabled=e},value:!0}})}),ace.define("ace/mode/folding/fold_mode",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../../range").Range,i=t.FoldMode=function(){};(function(){this.foldingStartMarker=null,this.foldingStopMarker=null,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);return this.foldingStartMarker.test(r)?"start":t=="markbeginend"&&this.foldingStopMarker&&this.foldingStopMarker.test(r)?"end":""},this.getFoldWidgetRange=function(e,t,n){return null},this.indentationBlock=function(e,t,n){var i=/\S/,s=e.getLine(t),o=s.search(i);if(o==-1)return;var u=n||s.length,a=e.getLength(),f=t,l=t;while(++tf){var h=e.getLine(l).length;return new r(f,u,l,h)}},this.openingBracketBlock=function(e,t,n,i,s){var o={row:n,column:i+1},u=e.$findClosingBracket(t,o,s);if(!u)return;var a=e.foldWidgets[u.row];return a==null&&(a=e.getFoldWidget(u.row)),a=="start"&&u.row>o.row&&(u.row--,u.column=e.getLine(u.row).length),r.fromPoints(o,u)},this.closingBracketBlock=function(e,t,n,i,s){var o={row:n,column:i},u=e.$findOpeningBracket(t,o);if(!u)return;return u.column++,o.column--,r.fromPoints(u,o)}}).call(i.prototype)}),ace.define("ace/theme/textmate",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";t.isDark=!1,t.cssClass="ace-tm",t.cssText='.ace-tm .ace_gutter {background: #f0f0f0;color: #333;}.ace-tm .ace_print-margin {width: 1px;background: #e8e8e8;}.ace-tm .ace_fold {background-color: #6B72E6;}.ace-tm {background-color: #FFFFFF;color: black;}.ace-tm .ace_cursor {color: black;}.ace-tm .ace_invisible {color: rgb(191, 191, 191);}.ace-tm .ace_storage,.ace-tm .ace_keyword {color: blue;}.ace-tm .ace_constant {color: rgb(197, 6, 11);}.ace-tm .ace_constant.ace_buildin {color: rgb(88, 72, 246);}.ace-tm .ace_constant.ace_language {color: rgb(88, 92, 246);}.ace-tm .ace_constant.ace_library {color: rgb(6, 150, 14);}.ace-tm .ace_invalid {background-color: rgba(255, 0, 0, 0.1);color: red;}.ace-tm .ace_support.ace_function {color: rgb(60, 76, 114);}.ace-tm .ace_support.ace_constant {color: rgb(6, 150, 14);}.ace-tm .ace_support.ace_type,.ace-tm .ace_support.ace_class {color: rgb(109, 121, 222);}.ace-tm .ace_keyword.ace_operator {color: rgb(104, 118, 135);}.ace-tm .ace_string {color: rgb(3, 106, 7);}.ace-tm .ace_comment {color: rgb(76, 136, 107);}.ace-tm .ace_comment.ace_doc {color: rgb(0, 102, 255);}.ace-tm .ace_comment.ace_doc.ace_tag {color: rgb(128, 159, 191);}.ace-tm .ace_constant.ace_numeric {color: rgb(0, 0, 205);}.ace-tm .ace_variable {color: rgb(49, 132, 149);}.ace-tm .ace_xml-pe {color: rgb(104, 104, 91);}.ace-tm .ace_entity.ace_name.ace_function {color: #0000A2;}.ace-tm .ace_heading {color: rgb(12, 7, 255);}.ace-tm .ace_list {color:rgb(185, 6, 144);}.ace-tm .ace_meta.ace_tag {color:rgb(0, 22, 142);}.ace-tm .ace_string.ace_regex {color: rgb(255, 0, 0)}.ace-tm .ace_marker-layer .ace_selection {background: rgb(181, 213, 255);}.ace-tm.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px white;}.ace-tm .ace_marker-layer .ace_step {background: rgb(252, 255, 0);}.ace-tm .ace_marker-layer .ace_stack {background: rgb(164, 229, 101);}.ace-tm .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgb(192, 192, 192);}.ace-tm .ace_marker-layer .ace_active-line {background: rgba(0, 0, 0, 0.07);}.ace-tm .ace_gutter-active-line {background-color : #dcdcdc;}.ace-tm .ace_marker-layer .ace_selected-word {background: rgb(250, 250, 255);border: 1px solid rgb(200, 200, 250);}.ace-tm .ace_indent-guide {background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;}';var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}),ace.define("ace/line_widgets",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/range"],function(e,t,n){"use strict";function o(e){this.session=e,this.session.widgetManager=this,this.session.getRowLength=this.getRowLength,this.session.$getWidgetScreenLength=this.$getWidgetScreenLength,this.updateOnChange=this.updateOnChange.bind(this),this.renderWidgets=this.renderWidgets.bind(this),this.measureWidgets=this.measureWidgets.bind(this),this.session._changedWidgets=[],this.$onChangeEditor=this.$onChangeEditor.bind(this),this.session.on("change",this.updateOnChange),this.session.on("changeFold",this.updateOnFold),this.session.on("changeEditor",this.$onChangeEditor)}var r=e("./lib/oop"),i=e("./lib/dom"),s=e("./range").Range;(function(){this.getRowLength=function(e){var t;return this.lineWidgets?t=this.lineWidgets[e]&&this.lineWidgets[e].rowCount||0:t=0,!this.$useWrapMode||!this.$wrapData[e]?1+t:this.$wrapData[e].length+1+t},this.$getWidgetScreenLength=function(){var e=0;return this.lineWidgets.forEach(function(t){t&&t.rowCount&&!t.hidden&&(e+=t.rowCount)}),e},this.$onChangeEditor=function(e){this.attach(e.editor)},this.attach=function(e){e&&e.widgetManager&&e.widgetManager!=this&&e.widgetManager.detach();if(this.editor==e)return;this.detach(),this.editor=e,e&&(e.widgetManager=this,e.renderer.on("beforeRender",this.measureWidgets),e.renderer.on("afterRender",this.renderWidgets))},this.detach=function(e){var t=this.editor;if(!t)return;this.editor=null,t.widgetManager=null,t.renderer.off("beforeRender",this.measureWidgets),t.renderer.off("afterRender",this.renderWidgets);var n=this.session.lineWidgets;n&&n.forEach(function(e){e&&e.el&&e.el.parentNode&&(e._inDocument=!1,e.el.parentNode.removeChild(e.el))})},this.updateOnFold=function(e,t){var n=t.lineWidgets;if(!n||!e.action)return;var r=e.data,i=r.start.row,s=r.end.row,o=e.action=="add";for(var u=i+1;u0&&!r[i])i--;this.firstRow=n.firstRow,this.lastRow=n.lastRow,t.$cursorLayer.config=n;for(var o=i;o<=s;o++){var u=r[o];if(!u||!u.el)continue;if(u.hidden){u.el.style.top=-100-(u.pixelHeight||0)+"px";continue}u._inDocument||(u._inDocument=!0,t.container.appendChild(u.el));var a=t.$cursorLayer.getPixelPosition({row:o,column:0},!0).top;u.coverLine||(a+=n.lineHeight*this.session.getRowLineCount(u.row)),u.el.style.top=a-n.offset+"px";var f=u.coverGutter?0:t.gutterWidth;u.fixedWidth||(f-=t.scrollLeft),u.el.style.left=f+"px",u.fullWidth&&u.screenWidth&&(u.el.style.minWidth=n.width+2*n.padding+"px"),u.fixedWidth?u.el.style.right=t.scrollBar.getWidth()+"px":u.el.style.right=""}}}).call(o.prototype),t.LineWidgets=o}),ace.define("ace/ext/error_marker",["require","exports","module","ace/line_widgets","ace/lib/dom","ace/range"],function(e,t,n){"use strict";function o(e,t,n){var r=0,i=e.length-1;while(r<=i){var s=r+i>>1,o=n(t,e[s]);if(o>0)r=s+1;else{if(!(o<0))return s;i=s-1}}return-(r+1)}function u(e,t,n){var r=e.getAnnotations().sort(s.comparePoints);if(!r.length)return;var i=o(r,{row:t,column:-1},s.comparePoints);i<0&&(i=-i-1),i>=r.length?i=n>0?0:r.length-1:i===0&&n<0&&(i=r.length-1);var u=r[i];if(!u||!n)return;if(u.row===t){do u=r[i+=n];while(u&&u.row===t);if(!u)return r.slice()}var a=[];t=u.row;do a[n<0?"unshift":"push"](u),u=r[i+=n];while(u&&u.row==t);return a.length&&a}var r=e("../line_widgets").LineWidgets,i=e("../lib/dom"),s=e("../range").Range;t.showErrorMarker=function(e,t){var n=e.session;n.widgetManager||(n.widgetManager=new r(n),n.widgetManager.attach(e));var s=e.getCursorPosition(),o=s.row,a=n.widgetManager.getWidgetsAtRow(o).filter(function(e){return e.type=="errorMarker"})[0];a?a.destroy():o-=t;var f=u(n,o,t),l;if(f){var c=f[0];s.column=(c.pos&&typeof c.column!="number"?c.pos.sc:c.column)||0,s.row=c.row,l=e.renderer.$gutterLayer.$annotations[s.row]}else{if(a)return;l={text:["Looks good!"],className:"ace_ok"}}e.session.unfold(s.row),e.selection.moveToPosition(s);var h={row:s.row,fixedWidth:!0,coverGutter:!0,el:i.createElement("div"),type:"errorMarker"},p=h.el.appendChild(i.createElement("div")),d=h.el.appendChild(i.createElement("div"));d.className="error_widget_arrow "+l.className;var v=e.renderer.$cursorLayer.getPixelPosition(s).left;d.style.left=v+e.renderer.gutterWidth-5+"px",h.el.className="error_widget_wrapper",p.className="error_widget "+l.className,p.innerHTML=l.text.join("
"),p.appendChild(i.createElement("div"));var m=function(e,t,n){if(t===0&&(n==="esc"||n==="return"))return h.destroy(),{command:"null"}};h.destroy=function(){if(e.$mouseHandler.isMousePressed)return;e.keyBinding.removeKeyboardHandler(m),n.widgetManager.removeLineWidget(h),e.off("changeSelection",h.destroy),e.off("changeSession",h.destroy),e.off("mouseup",h.destroy),e.off("change",h.destroy)},e.keyBinding.addKeyboardHandler(m),e.on("changeSelection",h.destroy),e.on("changeSession",h.destroy),e.on("mouseup",h.destroy),e.on("change",h.destroy),e.session.widgetManager.addLineWidget(h),h.el.onmousedown=e.focus.bind(e),e.renderer.scrollCursorIntoView(null,.5,{bottom:h.el.offsetHeight})},i.importCssString(" .error_widget_wrapper { background: inherit; color: inherit; border:none } .error_widget { border-top: solid 2px; border-bottom: solid 2px; margin: 5px 0; padding: 10px 40px; white-space: pre-wrap; } .error_widget.ace_error, .error_widget_arrow.ace_error{ border-color: #ff5a5a } .error_widget.ace_warning, .error_widget_arrow.ace_warning{ border-color: #F1D817 } .error_widget.ace_info, .error_widget_arrow.ace_info{ border-color: #5a5a5a } .error_widget.ace_ok, .error_widget_arrow.ace_ok{ border-color: #5aaa5a } .error_widget_arrow { position: absolute; border: solid 5px; border-top-color: transparent!important; border-right-color: transparent!important; border-left-color: transparent!important; top: -5px; }","")}),ace.define("ace/ace",["require","exports","module","ace/lib/fixoldbrowsers","ace/lib/dom","ace/lib/event","ace/editor","ace/edit_session","ace/undomanager","ace/virtual_renderer","ace/worker/worker_client","ace/keyboard/hash_handler","ace/placeholder","ace/multi_select","ace/mode/folding/fold_mode","ace/theme/textmate","ace/ext/error_marker","ace/config"],function(e,t,n){"use strict";e("./lib/fixoldbrowsers");var r=e("./lib/dom"),i=e("./lib/event"),s=e("./editor").Editor,o=e("./edit_session").EditSession,u=e("./undomanager").UndoManager,a=e("./virtual_renderer").VirtualRenderer;e("./worker/worker_client"),e("./keyboard/hash_handler"),e("./placeholder"),e("./multi_select"),e("./mode/folding/fold_mode"),e("./theme/textmate"),e("./ext/error_marker"),t.config=e("./config"),t.require=e,t.edit=function(e){if(typeof e=="string"){var n=e;e=document.getElementById(n);if(!e)throw new Error("ace.edit can't find div #"+n)}if(e&&e.env&&e.env.editor instanceof s)return e.env.editor;var o="";if(e&&/input|textarea/i.test(e.tagName)){var u=e;o=u.value,e=r.createElement("pre"),u.parentNode.replaceChild(e,u)}else e&&(o=r.getInnerText(e),e.innerHTML="");var f=t.createEditSession(o),l=new s(new a(e));l.setSession(f);var c={document:f,editor:l,onResize:l.resize.bind(l,null)};return u&&(c.textarea=u),i.addListener(window,"resize",c.onResize),l.on("destroy",function(){i.removeListener(window,"resize",c.onResize),c.editor.container.env=null}),l.container.env=l.env=c,l},t.createEditSession=function(e,t){var n=new o(e,t);return n.setUndoManager(new u),n},t.EditSession=o,t.UndoManager=u,t.version="1.2.3"}); - (function() { - ace.require(["ace/ace"], function(a) { - a && a.config.init(true); - if (!window.ace) - window.ace = a; - for (var key in a) if (a.hasOwnProperty(key)) - window.ace[key] = a[key]; - }); - })(); - \ No newline at end of file diff --git a/public/ace/mode-css.js b/public/ace/mode-css.js deleted file mode 100644 index 84cd16c6..00000000 --- a/public/ace/mode-css.js +++ /dev/null @@ -1 +0,0 @@ -ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=t.supportType="align-content|align-items|align-self|all|animation|animation-delay|animation-direction|animation-duration|animation-fill-mode|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|backface-visibility|background|background-attachment|background-blend-mode|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|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-shadow|box-sizing|caption-side|clear|clip|color|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|cursor|direction|display|empty-cells|filter|flex|flex-basis|flex-direction|flex-flow|flex-grow|flex-shrink|flex-wrap|float|font|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|hanging-punctuation|height|justify-content|left|letter-spacing|line-height|list-style|list-style-image|list-style-position|list-style-type|margin|margin-bottom|margin-left|margin-right|margin-top|max-height|max-width|min-height|min-width|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|order|outline|outline-color|outline-offset|outline-style|outline-width|overflow|overflow-x|overflow-y|padding|padding-bottom|padding-left|padding-right|padding-top|page-break-after|page-break-before|page-break-inside|perspective|perspective-origin|position|quotes|resize|right|tab-size|table-layout|text-align|text-align-last|text-decoration|text-decoration-color|text-decoration-line|text-decoration-style|text-indent|text-justify|text-overflow|text-shadow|text-transform|top|transform|transform-origin|transform-style|transition|transition-delay|transition-duration|transition-property|transition-timing-function|unicode-bidi|vertical-align|visibility|white-space|width|word-break|word-spacing|word-wrap|z-index",u=t.supportFunction="rgb|rgba|url|attr|counter|counters",a=t.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero",f=t.supportConstantColor="aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow",l=t.supportConstantFonts="arial|century|comic|courier|cursive|fantasy|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",c=t.numRe="\\-?(?:(?:[0-9]+)|(?:[0-9]*\\.[0-9]+))",h=t.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",p=t.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",d=function(){var e=this.createKeywordMapper({"support.function":u,"support.constant":a,"support.type":o,"support.constant.color":f,"support.constant.fonts":l},"text",!0);this.$rules={start:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"@.*?{",push:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"\\}",next:"pop"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],comment:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}],ruleset:[{token:"paren.rparen",regex:"\\}",next:"pop"},{token:"comment",regex:"\\/\\*",push:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:["constant.numeric","keyword"],regex:"("+c+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vm|vw|%)"},{token:"constant.numeric",regex:c},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:h},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:p},{token:["support.function","string","support.function"],regex:"(url\\()(.*)(\\))"},{token:e,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{caseInsensitive:!0}]},this.normalizeRules()};r.inherits(d,s),t.CssHighlightRules=d}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/css_completions",["require","exports","module"],function(e,t,n){"use strict";var r={background:{"#$0":1},"background-color":{"#$0":1,transparent:1,fixed:1},"background-image":{"url('/$0')":1},"background-repeat":{repeat:1,"repeat-x":1,"repeat-y":1,"no-repeat":1,inherit:1},"background-position":{bottom:2,center:2,left:2,right:2,top:2,inherit:2},"background-attachment":{scroll:1,fixed:1},"background-size":{cover:1,contain:1},"background-clip":{"border-box":1,"padding-box":1,"content-box":1},"background-origin":{"border-box":1,"padding-box":1,"content-box":1},border:{"solid $0":1,"dashed $0":1,"dotted $0":1,"#$0":1},"border-color":{"#$0":1},"border-style":{solid:2,dashed:2,dotted:2,"double":2,groove:2,hidden:2,inherit:2,inset:2,none:2,outset:2,ridged:2},"border-collapse":{collapse:1,separate:1},bottom:{px:1,em:1,"%":1},clear:{left:1,right:1,both:1,none:1},color:{"#$0":1,"rgb(#$00,0,0)":1},cursor:{"default":1,pointer:1,move:1,text:1,wait:1,help:1,progress:1,"n-resize":1,"ne-resize":1,"e-resize":1,"se-resize":1,"s-resize":1,"sw-resize":1,"w-resize":1,"nw-resize":1},display:{none:1,block:1,inline:1,"inline-block":1,"table-cell":1},"empty-cells":{show:1,hide:1},"float":{left:1,right:1,none:1},"font-family":{Arial:2,"Comic Sans MS":2,Consolas:2,"Courier New":2,Courier:2,Georgia:2,Monospace:2,"Sans-Serif":2,"Segoe UI":2,Tahoma:2,"Times New Roman":2,"Trebuchet MS":2,Verdana:1},"font-size":{px:1,em:1,"%":1},"font-weight":{bold:1,normal:1},"font-style":{italic:1,normal:1},"font-variant":{normal:1,"small-caps":1},height:{px:1,em:1,"%":1},left:{px:1,em:1,"%":1},"letter-spacing":{normal:1},"line-height":{normal:1},"list-style-type":{none:1,disc:1,circle:1,square:1,decimal:1,"decimal-leading-zero":1,"lower-roman":1,"upper-roman":1,"lower-greek":1,"lower-latin":1,"upper-latin":1,georgian:1,"lower-alpha":1,"upper-alpha":1},margin:{px:1,em:1,"%":1},"margin-right":{px:1,em:1,"%":1},"margin-left":{px:1,em:1,"%":1},"margin-top":{px:1,em:1,"%":1},"margin-bottom":{px:1,em:1,"%":1},"max-height":{px:1,em:1,"%":1},"max-width":{px:1,em:1,"%":1},"min-height":{px:1,em:1,"%":1},"min-width":{px:1,em:1,"%":1},overflow:{hidden:1,visible:1,auto:1,scroll:1},"overflow-x":{hidden:1,visible:1,auto:1,scroll:1},"overflow-y":{hidden:1,visible:1,auto:1,scroll:1},padding:{px:1,em:1,"%":1},"padding-top":{px:1,em:1,"%":1},"padding-right":{px:1,em:1,"%":1},"padding-bottom":{px:1,em:1,"%":1},"padding-left":{px:1,em:1,"%":1},"page-break-after":{auto:1,always:1,avoid:1,left:1,right:1},"page-break-before":{auto:1,always:1,avoid:1,left:1,right:1},position:{absolute:1,relative:1,fixed:1,"static":1},right:{px:1,em:1,"%":1},"table-layout":{fixed:1,auto:1},"text-decoration":{none:1,underline:1,"line-through":1,blink:1},"text-align":{left:1,right:1,center:1,justify:1},"text-transform":{capitalize:1,uppercase:1,lowercase:1,none:1},top:{px:1,em:1,"%":1},"vertical-align":{top:1,bottom:1},visibility:{hidden:1,visible:1},"white-space":{nowrap:1,normal:1,pre:1,"pre-line":1,"pre-wrap":1},width:{px:1,em:1,"%":1},"word-spacing":{normal:1},filter:{"alpha(opacity=$0100)":1},"text-shadow":{"$02px 2px 2px #777":1},"text-overflow":{"ellipsis-word":1,clip:1,ellipsis:1},"-moz-border-radius":1,"-moz-border-radius-topright":1,"-moz-border-radius-bottomright":1,"-moz-border-radius-topleft":1,"-moz-border-radius-bottomleft":1,"-webkit-border-radius":1,"-webkit-border-top-right-radius":1,"-webkit-border-top-left-radius":1,"-webkit-border-bottom-right-radius":1,"-webkit-border-bottom-left-radius":1,"-moz-box-shadow":1,"-webkit-box-shadow":1,transform:{"rotate($00deg)":1,"skew($00deg)":1},"-moz-transform":{"rotate($00deg)":1,"skew($00deg)":1},"-webkit-transform":{"rotate($00deg)":1,"skew($00deg)":1}},i=function(){};(function(){this.completionsDefined=!1,this.defineCompletions=function(){if(document){var e=document.createElement("c").style;for(var t in e){if(typeof e[t]!="string")continue;var n=t.replace(/[A-Z]/g,function(e){return"-"+e.toLowerCase()});r.hasOwnProperty(n)||(r[n]=1)}}this.completionsDefined=!0},this.getCompletions=function(e,t,n,r){this.completionsDefined||this.defineCompletions();var i=t.getTokenAt(n.row,n.column);if(!i)return[];if(e==="ruleset"){var s=t.getLine(n.row).substr(0,n.column);return/:[^;]+$/.test(s)?(/([\w\-]+):[^:]*$/.test(s),this.getPropertyValueCompletions(e,t,n,r)):this.getPropertyCompletions(e,t,n,r)}return[]},this.getPropertyCompletions=function(e,t,n,i){var s=Object.keys(r);return s.map(function(e){return{caption:e,snippet:e+": $0",meta:"property",score:Number.MAX_VALUE}})},this.getPropertyValueCompletions=function(e,t,n,i){var s=t.getLine(n.row).substr(0,n.column),o=(/([\w\-]+):[^:]*$/.exec(s)||{})[1];if(!o)return[];var u=[];return o in r&&typeof r[o]=="object"&&(u=Object.keys(r[o])),u.map(function(e){return{caption:e,snippet:e,meta:"property value",score:Number.MAX_VALUE}})}}).call(i.prototype),t.CssCompletions=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(e,t,n,r){var i=e.end.row-e.start.row;return{text:n+t+r,selection:[0,e.start.column+1,i,e.end.column+(i?0:1)]}},p=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return h(a,l,"{","}");if(p.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(p.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(p.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var d=u.substring(s.column,s.column+1);if(d=="}"){var v=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(v!==null&&p.isAutoInsertedClosing(s,u,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var m="";p.isMaybeInsertedClosing(s,u)&&(m=o.stringRepeat("}",f.maybeInsertedBrackets),p.clearMaybeInsertedClosing());var d=u.substring(s.column,s.column+1);if(d==="}"){var g=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!g)return null;var y=this.$getIndent(r.getLine(g.row))}else{if(!m){p.clearMaybeInsertedClosing();return}var y=this.$getIndent(u)}var b=y+r.getTabString();return{text:"\n"+b+"\n"+y+m,selection:[1,b.length,1,b.length]}}p.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"(",")");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"[","]");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return h(o,u,s,s);if(!u){var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column),p=f.substring(a.column,a.column+1),d=r.getTokenAt(a.row,a.column),v=r.getTokenAt(a.row,a.column+1);if(l=="\\"&&d&&/escape/.test(d.type))return null;var m=d&&/string|escape/.test(d.type),g=!v||/string|escape/.test(v.type),y;if(p==s)y=m!==g;else{if(m&&!g)return null;if(m&&g)return null;var b=r.$mode.tokenRe;b.lastIndex=0;var w=b.test(l);b.lastIndex=0;var E=b.test(l);if(w||E)return null;if(p&&!/[\s;,.})\]\\]/.test(p))return null;y=!0}return{text:y?s+s:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};p.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},p.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},p.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},p.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},p.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},p.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},p.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},p.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(p,i),t.CstyleBehaviour=p}),ace.define("ace/mode/behaviour/css",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,u=function(){this.inherit(s),this.add("colon","insertion",function(e,t,n,r,i){if(i===":"){var s=n.getCursorPosition(),u=new o(r,s.row,s.column),a=u.getCurrentToken();a&&a.value.match(/\s+/)&&(a=u.stepBackward());if(a&&a.type==="support.type"){var f=r.doc.getLine(s.row),l=f.substring(s.column,s.column+1);if(l===":")return{text:"",selection:[1,1]};if(!f.substring(s.column).match(/^\s*;/))return{text:":;",selection:[1,1]}}}}),this.add("colon","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s===":"){var u=n.getCursorPosition(),a=new o(r,u.row,u.column),f=a.getCurrentToken();f&&f.value.match(/\s+/)&&(f=a.stepBackward());if(f&&f.type==="support.type"){var l=r.doc.getLine(i.start.row),c=l.substring(i.end.column,i.end.column+1);if(c===";")return i.end.column++,i}}}),this.add("semicolon","insertion",function(e,t,n,r,i){if(i===";"){var s=n.getCursorPosition(),o=r.doc.getLine(s.row),u=o.substring(s.column,s.column+1);if(u===";")return{text:"",selection:[1,1]}}})};r.inherits(u,s),t.CssBehaviour=u}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++no)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/css",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/css_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/css_completions","ace/mode/behaviour/css","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./css_highlight_rules").CssHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../worker/worker_client").WorkerClient,a=e("./css_completions").CssCompletions,f=e("./behaviour/css").CssBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new f,this.$completer=new a,this.foldingRules=new l};r.inherits(c,i),function(){this.foldingRules="cStyle",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e).tokens;if(i.length&&i[i.length-1].type=="comment")return r;var s=t.match(/^.*\{\s*$/);return s&&(r+=n),r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.getCompletions=function(e,t,n,r){return this.$completer.getCompletions(e,t,n,r)},this.createWorker=function(e){var t=new u(["ace"],"ace/mode/css_worker","Worker");return t.attachToDocument(e.getDocument()),t.on("annotate",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/css"}.call(c.prototype),t.Mode=c}) \ No newline at end of file diff --git a/public/ace/mode-handlebars.js b/public/ace/mode-handlebars.js deleted file mode 100644 index bd345d55..00000000 --- a/public/ace/mode-handlebars.js +++ /dev/null @@ -1 +0,0 @@ -ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},s.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(s,i),s.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){var r=e.charAt(1)=="/"?2:1;if(r==1)t!=this.nextState?n.unshift(this.next,this.nextState,0):n.unshift(this.next),n[2]++;else if(r==2&&t==this.nextState){n[1]--;if(!n[1]||n[1]<0)n.shift(),n.shift()}return[{type:"meta.tag.punctuation."+(r==1?"":"end-")+"tag-open.xml",value:e.slice(0,r)},{type:"meta.tag.tag-name.xml",value:e.substr(r)}]},regex:"",onMatch:function(e,t,n){return t==n[0]&&n.shift(),e.length==2&&(n[0]==this.nextState&&n[1]--,(!n[1]||n[1]<0)&&n.splice(0,2)),this.next=n[0]||"start",[{type:this.token,value:e}]},nextState:"jsx"},n,f("jsxAttributes"),{token:"entity.other.attribute-name.xml",regex:e},{token:"keyword.operator.attribute-equals.xml",regex:"="},{token:"text.tag-whitespace.xml",regex:"\\s+"},{token:"string.attribute-value.xml",regex:"'",stateName:"jsx_attr_q",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',stateName:"jsx_attr_qq",push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},t],this.$rules.reference=[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}]}function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),{token:"comment",regex:"\\*\\/",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]},{token:"comment",regex:"\\/\\/",next:[i.getTagRule(),{token:"comment",regex:"$|^",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]}]}var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o="[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\\d\\$_\u00a1-\uffff]*\\b",u=function(e){var t=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),n="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",r="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u{[0-9a-fA-F]{1,6}}|[0-2][0-7]{0,2}|3[0-7][0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[i.getStartRule("doc-start"),f("no_regex"),{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/[+-]?\d[\d_]*(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+o+")(\\.)(prototype)(\\.)("+o+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+o+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"(?:"+n+")\\b",next:"start"},{token:["support.constant"],regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/},{token:t,regex:o},{token:"punctuation.operator",regex:/[.](?![.])/,next:"property"},{token:"keyword.operator",regex:/--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?\:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"comment",regex:/^#!.*$/}],property:[{token:"text",regex:"\\s+"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(?:(\\s+)(\\w+))?(\\s*)(\\()",next:"function_arguments"},{token:"punctuation.operator",regex:/[.](?![.])/},{token:"support.function",regex:/(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:"support.function.dom",regex:/(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:"support.constant",regex:/(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:"identifier",regex:o},{regex:"",token:"empty",next:"no_regex"}],start:[i.getStartRule("doc-start"),f("start"),{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:o},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],qqstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]};if(!e||!e.noES6)this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(e,t,n){this.next=e=="{"?this.nextState:"";if(e=="{"&&n.length)n.unshift("start",t);else if(e=="}"&&n.length){n.shift(),this.next=n.shift();if(this.next.indexOf("string")!=-1||this.next.indexOf("jsx")!=-1)return"paren.quasi.end"}return e=="{"?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.quasi.start",regex:/`/,push:[{token:"constant.language.escape",regex:r},{token:"paren.quasi.start",regex:/\${/,push:"start"},{token:"string.quasi.end",regex:/`/,next:"pop"},{defaultToken:"string.quasi"}]}),(!e||!e.noJSX)&&a.call(this);this.embedRules(i,"doc-",[i.getEndRule("no_regex")]),this.normalizeRules()};r.inherits(u,s),t.JavaScriptHighlightRules=u}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(e,t,n,r){var i=e.end.row-e.start.row;return{text:n+t+r,selection:[0,e.start.column+1,i,e.end.column+(i?0:1)]}},p=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return h(a,l,"{","}");if(p.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(p.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(p.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var d=u.substring(s.column,s.column+1);if(d=="}"){var v=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(v!==null&&p.isAutoInsertedClosing(s,u,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var m="";p.isMaybeInsertedClosing(s,u)&&(m=o.stringRepeat("}",f.maybeInsertedBrackets),p.clearMaybeInsertedClosing());var d=u.substring(s.column,s.column+1);if(d==="}"){var g=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!g)return null;var y=this.$getIndent(r.getLine(g.row))}else{if(!m){p.clearMaybeInsertedClosing();return}var y=this.$getIndent(u)}var b=y+r.getTabString();return{text:"\n"+b+"\n"+y+m,selection:[1,b.length,1,b.length]}}p.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"(",")");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"[","]");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return h(o,u,s,s);if(!u){var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column),p=f.substring(a.column,a.column+1),d=r.getTokenAt(a.row,a.column),v=r.getTokenAt(a.row,a.column+1);if(l=="\\"&&d&&/escape/.test(d.type))return null;var m=d&&/string|escape/.test(d.type),g=!v||/string|escape/.test(v.type),y;if(p==s)y=m!==g;else{if(m&&!g)return null;if(m&&g)return null;var b=r.$mode.tokenRe;b.lastIndex=0;var w=b.test(l);b.lastIndex=0;var E=b.test(l);if(w||E)return null;if(p&&!/[\s;,.})\]\\]/.test(p))return null;y=!0}return{text:y?s+s:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};p.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},p.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},p.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},p.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},p.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},p.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},p.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},p.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(p,i),t.CstyleBehaviour=p}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++no)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./javascript_highlight_rules").JavaScriptHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../range").Range,a=e("../worker/worker_client").WorkerClient,f=e("./behaviour/cstyle").CstyleBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new f,this.foldingRules=new l};r.inherits(c,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"||e=="no_regex"){var u=t.match(/^.*(?:\bcase\b.*\:|[\{\(\[])\s*$/);u&&(r+=n)}else if(e=="doc-start"){if(o=="start"||o=="no_regex")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new a(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return t.attachToDocument(e.getDocument()),t.on("annotate",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/javascript"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=t.supportType="align-content|align-items|align-self|all|animation|animation-delay|animation-direction|animation-duration|animation-fill-mode|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|backface-visibility|background|background-attachment|background-blend-mode|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|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-shadow|box-sizing|caption-side|clear|clip|color|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|cursor|direction|display|empty-cells|filter|flex|flex-basis|flex-direction|flex-flow|flex-grow|flex-shrink|flex-wrap|float|font|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|hanging-punctuation|height|justify-content|left|letter-spacing|line-height|list-style|list-style-image|list-style-position|list-style-type|margin|margin-bottom|margin-left|margin-right|margin-top|max-height|max-width|min-height|min-width|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|order|outline|outline-color|outline-offset|outline-style|outline-width|overflow|overflow-x|overflow-y|padding|padding-bottom|padding-left|padding-right|padding-top|page-break-after|page-break-before|page-break-inside|perspective|perspective-origin|position|quotes|resize|right|tab-size|table-layout|text-align|text-align-last|text-decoration|text-decoration-color|text-decoration-line|text-decoration-style|text-indent|text-justify|text-overflow|text-shadow|text-transform|top|transform|transform-origin|transform-style|transition|transition-delay|transition-duration|transition-property|transition-timing-function|unicode-bidi|vertical-align|visibility|white-space|width|word-break|word-spacing|word-wrap|z-index",u=t.supportFunction="rgb|rgba|url|attr|counter|counters",a=t.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero",f=t.supportConstantColor="aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow",l=t.supportConstantFonts="arial|century|comic|courier|cursive|fantasy|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",c=t.numRe="\\-?(?:(?:[0-9]+)|(?:[0-9]*\\.[0-9]+))",h=t.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",p=t.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",d=function(){var e=this.createKeywordMapper({"support.function":u,"support.constant":a,"support.type":o,"support.constant.color":f,"support.constant.fonts":l},"text",!0);this.$rules={start:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"@.*?{",push:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"\\}",next:"pop"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],comment:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}],ruleset:[{token:"paren.rparen",regex:"\\}",next:"pop"},{token:"comment",regex:"\\/\\*",push:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:["constant.numeric","keyword"],regex:"("+c+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vm|vw|%)"},{token:"constant.numeric",regex:c},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:h},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:p},{token:["support.function","string","support.function"],regex:"(url\\()(.*)(\\))"},{token:e,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{caseInsensitive:!0}]},this.normalizeRules()};r.inherits(d,s),t.CssHighlightRules=d}),ace.define("ace/mode/css_completions",["require","exports","module"],function(e,t,n){"use strict";var r={background:{"#$0":1},"background-color":{"#$0":1,transparent:1,fixed:1},"background-image":{"url('/$0')":1},"background-repeat":{repeat:1,"repeat-x":1,"repeat-y":1,"no-repeat":1,inherit:1},"background-position":{bottom:2,center:2,left:2,right:2,top:2,inherit:2},"background-attachment":{scroll:1,fixed:1},"background-size":{cover:1,contain:1},"background-clip":{"border-box":1,"padding-box":1,"content-box":1},"background-origin":{"border-box":1,"padding-box":1,"content-box":1},border:{"solid $0":1,"dashed $0":1,"dotted $0":1,"#$0":1},"border-color":{"#$0":1},"border-style":{solid:2,dashed:2,dotted:2,"double":2,groove:2,hidden:2,inherit:2,inset:2,none:2,outset:2,ridged:2},"border-collapse":{collapse:1,separate:1},bottom:{px:1,em:1,"%":1},clear:{left:1,right:1,both:1,none:1},color:{"#$0":1,"rgb(#$00,0,0)":1},cursor:{"default":1,pointer:1,move:1,text:1,wait:1,help:1,progress:1,"n-resize":1,"ne-resize":1,"e-resize":1,"se-resize":1,"s-resize":1,"sw-resize":1,"w-resize":1,"nw-resize":1},display:{none:1,block:1,inline:1,"inline-block":1,"table-cell":1},"empty-cells":{show:1,hide:1},"float":{left:1,right:1,none:1},"font-family":{Arial:2,"Comic Sans MS":2,Consolas:2,"Courier New":2,Courier:2,Georgia:2,Monospace:2,"Sans-Serif":2,"Segoe UI":2,Tahoma:2,"Times New Roman":2,"Trebuchet MS":2,Verdana:1},"font-size":{px:1,em:1,"%":1},"font-weight":{bold:1,normal:1},"font-style":{italic:1,normal:1},"font-variant":{normal:1,"small-caps":1},height:{px:1,em:1,"%":1},left:{px:1,em:1,"%":1},"letter-spacing":{normal:1},"line-height":{normal:1},"list-style-type":{none:1,disc:1,circle:1,square:1,decimal:1,"decimal-leading-zero":1,"lower-roman":1,"upper-roman":1,"lower-greek":1,"lower-latin":1,"upper-latin":1,georgian:1,"lower-alpha":1,"upper-alpha":1},margin:{px:1,em:1,"%":1},"margin-right":{px:1,em:1,"%":1},"margin-left":{px:1,em:1,"%":1},"margin-top":{px:1,em:1,"%":1},"margin-bottom":{px:1,em:1,"%":1},"max-height":{px:1,em:1,"%":1},"max-width":{px:1,em:1,"%":1},"min-height":{px:1,em:1,"%":1},"min-width":{px:1,em:1,"%":1},overflow:{hidden:1,visible:1,auto:1,scroll:1},"overflow-x":{hidden:1,visible:1,auto:1,scroll:1},"overflow-y":{hidden:1,visible:1,auto:1,scroll:1},padding:{px:1,em:1,"%":1},"padding-top":{px:1,em:1,"%":1},"padding-right":{px:1,em:1,"%":1},"padding-bottom":{px:1,em:1,"%":1},"padding-left":{px:1,em:1,"%":1},"page-break-after":{auto:1,always:1,avoid:1,left:1,right:1},"page-break-before":{auto:1,always:1,avoid:1,left:1,right:1},position:{absolute:1,relative:1,fixed:1,"static":1},right:{px:1,em:1,"%":1},"table-layout":{fixed:1,auto:1},"text-decoration":{none:1,underline:1,"line-through":1,blink:1},"text-align":{left:1,right:1,center:1,justify:1},"text-transform":{capitalize:1,uppercase:1,lowercase:1,none:1},top:{px:1,em:1,"%":1},"vertical-align":{top:1,bottom:1},visibility:{hidden:1,visible:1},"white-space":{nowrap:1,normal:1,pre:1,"pre-line":1,"pre-wrap":1},width:{px:1,em:1,"%":1},"word-spacing":{normal:1},filter:{"alpha(opacity=$0100)":1},"text-shadow":{"$02px 2px 2px #777":1},"text-overflow":{"ellipsis-word":1,clip:1,ellipsis:1},"-moz-border-radius":1,"-moz-border-radius-topright":1,"-moz-border-radius-bottomright":1,"-moz-border-radius-topleft":1,"-moz-border-radius-bottomleft":1,"-webkit-border-radius":1,"-webkit-border-top-right-radius":1,"-webkit-border-top-left-radius":1,"-webkit-border-bottom-right-radius":1,"-webkit-border-bottom-left-radius":1,"-moz-box-shadow":1,"-webkit-box-shadow":1,transform:{"rotate($00deg)":1,"skew($00deg)":1},"-moz-transform":{"rotate($00deg)":1,"skew($00deg)":1},"-webkit-transform":{"rotate($00deg)":1,"skew($00deg)":1}},i=function(){};(function(){this.completionsDefined=!1,this.defineCompletions=function(){if(document){var e=document.createElement("c").style;for(var t in e){if(typeof e[t]!="string")continue;var n=t.replace(/[A-Z]/g,function(e){return"-"+e.toLowerCase()});r.hasOwnProperty(n)||(r[n]=1)}}this.completionsDefined=!0},this.getCompletions=function(e,t,n,r){this.completionsDefined||this.defineCompletions();var i=t.getTokenAt(n.row,n.column);if(!i)return[];if(e==="ruleset"){var s=t.getLine(n.row).substr(0,n.column);return/:[^;]+$/.test(s)?(/([\w\-]+):[^:]*$/.test(s),this.getPropertyValueCompletions(e,t,n,r)):this.getPropertyCompletions(e,t,n,r)}return[]},this.getPropertyCompletions=function(e,t,n,i){var s=Object.keys(r);return s.map(function(e){return{caption:e,snippet:e+": $0",meta:"property",score:Number.MAX_VALUE}})},this.getPropertyValueCompletions=function(e,t,n,i){var s=t.getLine(n.row).substr(0,n.column),o=(/([\w\-]+):[^:]*$/.exec(s)||{})[1];if(!o)return[];var u=[];return o in r&&typeof r[o]=="object"&&(u=Object.keys(r[o])),u.map(function(e){return{caption:e,snippet:e,meta:"property value",score:Number.MAX_VALUE}})}}).call(i.prototype),t.CssCompletions=i}),ace.define("ace/mode/behaviour/css",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,u=function(){this.inherit(s),this.add("colon","insertion",function(e,t,n,r,i){if(i===":"){var s=n.getCursorPosition(),u=new o(r,s.row,s.column),a=u.getCurrentToken();a&&a.value.match(/\s+/)&&(a=u.stepBackward());if(a&&a.type==="support.type"){var f=r.doc.getLine(s.row),l=f.substring(s.column,s.column+1);if(l===":")return{text:"",selection:[1,1]};if(!f.substring(s.column).match(/^\s*;/))return{text:":;",selection:[1,1]}}}}),this.add("colon","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s===":"){var u=n.getCursorPosition(),a=new o(r,u.row,u.column),f=a.getCurrentToken();f&&f.value.match(/\s+/)&&(f=a.stepBackward());if(f&&f.type==="support.type"){var l=r.doc.getLine(i.start.row),c=l.substring(i.end.column,i.end.column+1);if(c===";")return i.end.column++,i}}}),this.add("semicolon","insertion",function(e,t,n,r,i){if(i===";"){var s=n.getCursorPosition(),o=r.doc.getLine(s.row),u=o.substring(s.column,s.column+1);if(u===";")return{text:"",selection:[1,1]}}})};r.inherits(u,s),t.CssBehaviour=u}),ace.define("ace/mode/css",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/css_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/css_completions","ace/mode/behaviour/css","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./css_highlight_rules").CssHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../worker/worker_client").WorkerClient,a=e("./css_completions").CssCompletions,f=e("./behaviour/css").CssBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new f,this.$completer=new a,this.foldingRules=new l};r.inherits(c,i),function(){this.foldingRules="cStyle",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e).tokens;if(i.length&&i[i.length-1].type=="comment")return r;var s=t.match(/^.*\{\s*$/);return s&&(r+=n),r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.getCompletions=function(e,t,n,r){return this.$completer.getCompletions(e,t,n,r)},this.createWorker=function(e){var t=new u(["ace"],"ace/mode/css_worker","Worker");return t.attachToDocument(e.getDocument()),t.on("annotate",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/css"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(e){var t="[_:a-zA-Z\u00c0-\uffff][-_:.a-zA-Z0-9\u00c0-\uffff]*";this.$rules={start:[{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:["punctuation.xml-decl.xml","keyword.xml-decl.xml"],regex:"(<\\?)(xml)(?=[\\s])",next:"xml_decl",caseInsensitive:!0},{token:["punctuation.instruction.xml","keyword.instruction.xml"],regex:"(<\\?)("+t+")",next:"processing_instruction"},{token:"comment.xml",regex:"<\\!--",next:"comment"},{token:["xml-pe.doctype.xml","xml-pe.doctype.xml"],regex:"(<\\!)(DOCTYPE)(?=[\\s])",next:"doctype",caseInsensitive:!0},{include:"tag"},{token:"text.end-tag-open.xml",regex:"",next:"start"}],processing_instruction:[{token:"punctuation.instruction.xml",regex:"\\?>",next:"start"},{defaultToken:"instruction.xml"}],doctype:[{include:"whitespace"},{include:"string"},{token:"xml-pe.doctype.xml",regex:">",next:"start"},{token:"xml-pe.xml",regex:"[-_a-zA-Z0-9:]+"},{token:"punctuation.int-subset",regex:"\\[",push:"int_subset"}],int_subset:[{token:"text.xml",regex:"\\s+"},{token:"punctuation.int-subset.xml",regex:"]",next:"pop"},{token:["punctuation.markup-decl.xml","keyword.markup-decl.xml"],regex:"(<\\!)("+t+")",push:[{token:"text",regex:"\\s+"},{token:"punctuation.markup-decl.xml",regex:">",next:"pop"},{include:"string"}]}],cdata:[{token:"string.cdata.xml",regex:"\\]\\]>",next:"start"},{token:"text.xml",regex:"\\s+"},{token:"text.xml",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment.xml",regex:"-->",next:"start"},{defaultToken:"comment.xml"}],reference:[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],attr_reference:[{token:"constant.language.escape.reference.attribute-value.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],tag:[{token:["meta.tag.punctuation.tag-open.xml","meta.tag.punctuation.end-tag-open.xml","meta.tag.tag-name.xml"],regex:"(?:(<)|(",next:"start"}]}],tag_whitespace:[{token:"text.tag-whitespace.xml",regex:"\\s+"}],whitespace:[{token:"text.whitespace.xml",regex:"\\s+"}],string:[{token:"string.xml",regex:"'",push:[{token:"string.xml",regex:"'",next:"pop"},{defaultToken:"string.xml"}]},{token:"string.xml",regex:'"',push:[{token:"string.xml",regex:'"',next:"pop"},{defaultToken:"string.xml"}]}],attributes:[{token:"entity.other.attribute-name.xml",regex:"(?:"+t+":)?"+t+""},{token:"keyword.operator.attribute-equals.xml",regex:"="},{include:"tag_whitespace"},{include:"attribute_value"}],attribute_value:[{token:"string.attribute-value.xml",regex:"'",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]}]},this.constructor===s&&this.normalizeRules()};(function(){this.embedTagRules=function(e,t,n){this.$rules.tag.unshift({token:["meta.tag.punctuation.tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(<)("+n+"(?=\\s|>|$))",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:t+"start"}]}),this.$rules[n+"-end"]=[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start",onMatch:function(e,t,n){return n.splice(0),this.token}}],this.embedRules(e,t,[{token:["meta.tag.punctuation.end-tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(|$))",next:n+"-end"},{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\["},{token:"string.cdata.xml",regex:"\\]\\]>"}])}}).call(i.prototype),r.inherits(s,i),t.XmlHighlightRules=s}),ace.define("ace/mode/html_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/css_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./css_highlight_rules").CssHighlightRules,o=e("./javascript_highlight_rules").JavaScriptHighlightRules,u=e("./xml_highlight_rules").XmlHighlightRules,a=i.createMap({a:"anchor",button:"form",form:"form",img:"image",input:"form",label:"form",option:"form",script:"script",select:"form",textarea:"form",style:"style",table:"table",tbody:"table",td:"table",tfoot:"table",th:"table",tr:"table"}),f=function(){u.call(this),this.addRules({attributes:[{include:"tag_whitespace"},{token:"entity.other.attribute-name.xml",regex:"[-_a-zA-Z0-9:.]+"},{token:"keyword.operator.attribute-equals.xml",regex:"=",push:[{include:"tag_whitespace"},{token:"string.unquoted.attribute-value.html",regex:"[^<>='\"`\\s]+",next:"pop"},{token:"empty",regex:"",next:"pop"}]},{include:"attribute_value"}],tag:[{token:function(e,t){var n=a[t];return["meta.tag.punctuation."+(e=="<"?"":"end-")+"tag-open.xml","meta.tag"+(n?"."+n:"")+".tag-name.xml"]},regex:"(",next:"start"}]}),this.embedTagRules(s,"css-","style"),this.embedTagRules((new o({noJSX:!0})).getRules(),"js-","script"),this.constructor===f&&this.normalizeRules()};r.inherits(f,u),t.HtmlHighlightRules=f}),ace.define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";function u(e,t){return e.type.lastIndexOf(t+".xml")>-1}var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),a=function(){this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){var o=i,a=r.doc.getTextRange(n.getSelectionRange());if(a!==""&&a!=="'"&&a!='"'&&n.getWrapBehavioursEnabled())return{text:o+a+o,selection:!1};var f=n.getCursorPosition(),l=r.doc.getLine(f.row),c=l.substring(f.column,f.column+1),h=new s(r,f.row,f.column),p=h.getCurrentToken();if(c==o&&(u(p,"attribute-value")||u(p,"string")))return{text:"",selection:[1,1]};p||(p=h.stepBackward());if(!p)return;while(u(p,"tag-whitespace")||u(p,"whitespace"))p=h.stepBackward();var d=!c||c.match(/\s/);if(u(p,"attribute-equals")&&(d||c==">")||u(p,"decl-attribute-equals")&&(d||c=="?"))return{text:o+o,selection:[1,1]}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}}),this.add("autoclosing","insertion",function(e,t,n,r,i){if(i==">"){var o=n.getCursorPosition(),a=new s(r,o.row,o.column),f=a.getCurrentToken()||a.stepBackward();if(!f||!(u(f,"tag-name")||u(f,"tag-whitespace")||u(f,"attribute-name")||u(f,"attribute-equals")||u(f,"attribute-value")))return;if(u(f,"reference.attribute-value"))return;if(u(f,"attribute-value")){var l=f.value.charAt(0);if(l=='"'||l=="'"){var c=f.value.charAt(f.value.length-1),h=a.getCurrentTokenColumn()+f.value.length;if(h>o.column||h==o.column&&l!=c)return}}while(!u(f,"tag-name"))f=a.stepBackward();var p=a.getCurrentTokenRow(),d=a.getCurrentTokenColumn();if(u(a.stepBackward(),"end-tag-open"))return;var v=f.value;p==o.row&&(v=v.substring(0,o.column-d));if(this.voidElements.hasOwnProperty(v.toLowerCase()))return;return{text:">",selection:[1,1]}}}),this.add("autoindent","insertion",function(e,t,n,r,i){if(i=="\n"){var o=n.getCursorPosition(),u=r.getLine(o.row),a=new s(r,o.row,o.column),f=a.getCurrentToken();if(f&&f.type.indexOf("tag-close")!==-1){if(f.value=="/>")return;while(f&&f.type.indexOf("tag-name")===-1)f=a.stepBackward();if(!f)return;var l=f.value,c=a.getCurrentTokenRow();f=a.stepBackward();if(!f||f.type.indexOf("end-tag")!==-1)return;if(this.voidElements&&!this.voidElements[l]){var h=r.getTokenAt(o.row,o.column+1),u=r.getLine(c),p=this.$getIndent(u),d=p+r.getTabString();return h&&h.value==="-1}var r=e("../../lib/oop"),i=e("../../lib/lang"),s=e("../../range").Range,o=e("./fold_mode").FoldMode,u=e("../../token_iterator").TokenIterator,a=t.FoldMode=function(e,t){o.call(this),this.voidElements=e||{},this.optionalEndTags=r.mixin({},this.voidElements),t&&r.mixin(this.optionalEndTags,t)};r.inherits(a,o);var f=function(){this.tagName="",this.closing=!1,this.selfClosing=!1,this.start={row:0,column:0},this.end={row:0,column:0}};(function(){this.getFoldWidget=function(e,t,n){var r=this._getFirstTagInLine(e,n);return r?r.closing||!r.tagName&&r.selfClosing?t=="markbeginend"?"end":"":!r.tagName||r.selfClosing||this.voidElements.hasOwnProperty(r.tagName.toLowerCase())?"":this._findEndTagInLine(e,n,r.tagName,r.end.column)?"":"start":""},this._getFirstTagInLine=function(e,t){var n=e.getTokens(t),r=new f;for(var i=0;i";break}}return r}if(l(s,"tag-close"))return r.selfClosing=s.value=="/>",r;r.start.column+=s.value.length}return null},this._findEndTagInLine=function(e,t,n,r){var i=e.getTokens(t),s=0;for(var o=0;o",n.end.row=e.getCurrentTokenRow(),n.end.column=e.getCurrentTokenColumn()+t.value.length,e.stepForward(),n;while(t=e.stepForward());return null},this._readTagBackward=function(e){var t=e.getCurrentToken();if(!t)return null;var n=new f;do{if(l(t,"tag-open"))return n.closing=l(t,"end-tag-open"),n.start.row=e.getCurrentTokenRow(),n.start.column=e.getCurrentTokenColumn(),e.stepBackward(),n;l(t,"tag-name")?n.tagName=t.value:l(t,"tag-close")&&(n.selfClosing=t.value=="/>",n.end.row=e.getCurrentTokenRow(),n.end.column=e.getCurrentTokenColumn()+t.value.length)}while(t=e.stepBackward());return null},this._pop=function(e,t){while(e.length){var n=e[e.length-1];if(!t||n.tagName==t.tagName)return e.pop();if(this.optionalEndTags.hasOwnProperty(n.tagName)){e.pop();continue}return null}},this.getFoldWidgetRange=function(e,t,n){var r=this._getFirstTagInLine(e,n);if(!r)return null;var i=r.closing||r.selfClosing,o=[],a;if(!i){var f=new u(e,n,r.start.column),l={row:n,column:r.start.column+r.tagName.length+2};r.start.row==r.end.row&&(l.column=r.end.column);while(a=this._readTagForward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(a.closing){this._pop(o,a);if(o.length==0)return s.fromPoints(l,a.start)}else o.push(a)}}else{var f=new u(e,n,r.end.column),c={row:n,column:r.start.column};while(a=this._readTagBackward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(!a.closing){this._pop(o,a);if(o.length==0)return a.start.column+=a.tagName.length+2,a.start.row==a.end.row&&a.start.column-1}function l(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();while(i&&!f(i,"tag-name"))i=n.stepBackward();if(i)return i.value}function c(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();while(i&&!f(i,"attribute-name"))i=n.stepBackward();if(i)return i.value}var r=e("../token_iterator").TokenIterator,i=["accesskey","class","contenteditable","contextmenu","dir","draggable","dropzone","hidden","id","inert","itemid","itemprop","itemref","itemscope","itemtype","lang","spellcheck","style","tabindex","title","translate"],s=["onabort","onblur","oncancel","oncanplay","oncanplaythrough","onchange","onclick","onclose","oncontextmenu","oncuechange","ondblclick","ondrag","ondragend","ondragenter","ondragleave","ondragover","ondragstart","ondrop","ondurationchange","onemptied","onended","onerror","onfocus","oninput","oninvalid","onkeydown","onkeypress","onkeyup","onload","onloadeddata","onloadedmetadata","onloadstart","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","onmousewheel","onpause","onplay","onplaying","onprogress","onratechange","onreset","onscroll","onseeked","onseeking","onselect","onshow","onstalled","onsubmit","onsuspend","ontimeupdate","onvolumechange","onwaiting"],o=i.concat(s),u={html:{manifest:1},head:{},title:{},base:{href:1,target:1},link:{href:1,hreflang:1,rel:{stylesheet:1,icon:1},media:{all:1,screen:1,print:1},type:{"text/css":1,"image/png":1,"image/jpeg":1,"image/gif":1},sizes:1},meta:{"http-equiv":{"content-type":1},name:{description:1,keywords:1},content:{"text/html; charset=UTF-8":1},charset:1},style:{type:1,media:{all:1,screen:1,print:1},scoped:1},script:{charset:1,type:{"text/javascript":1},src:1,defer:1,async:1},noscript:{href:1},body:{onafterprint:1,onbeforeprint:1,onbeforeunload:1,onhashchange:1,onmessage:1,onoffline:1,onpopstate:1,onredo:1,onresize:1,onstorage:1,onundo:1,onunload:1},section:{},nav:{},article:{pubdate:1},aside:{},h1:{},h2:{},h3:{},h4:{},h5:{},h6:{},header:{},footer:{},address:{},main:{},p:{},hr:{},pre:{},blockquote:{cite:1},ol:{start:1,reversed:1},ul:{},li:{value:1},dl:{},dt:{},dd:{},figure:{},figcaption:{},div:{},a:{href:1,target:{_blank:1,top:1},ping:1,rel:{nofollow:1,alternate:1,author:1,bookmark:1,help:1,license:1,next:1,noreferrer:1,prefetch:1,prev:1,search:1,tag:1},media:1,hreflang:1,type:1},em:{},strong:{},small:{},s:{},cite:{},q:{cite:1},dfn:{},abbr:{},data:{},time:{datetime:1},code:{},"var":{},samp:{},kbd:{},sub:{},sup:{},i:{},b:{},u:{},mark:{},ruby:{},rt:{},rp:{},bdi:{},bdo:{},span:{},br:{},wbr:{},ins:{cite:1,datetime:1},del:{cite:1,datetime:1},img:{alt:1,src:1,height:1,width:1,usemap:1,ismap:1},iframe:{name:1,src:1,height:1,width:1,sandbox:{"allow-same-origin":1,"allow-top-navigation":1,"allow-forms":1,"allow-scripts":1},seamless:{seamless:1}},embed:{src:1,height:1,width:1,type:1},object:{param:1,data:1,type:1,height:1,width:1,usemap:1,name:1,form:1,classid:1},param:{name:1,value:1},video:{src:1,autobuffer:1,autoplay:{autoplay:1},loop:{loop:1},controls:{controls:1},width:1,height:1,poster:1,muted:{muted:1},preload:{auto:1,metadata:1,none:1}},audio:{src:1,autobuffer:1,autoplay:{autoplay:1},loop:{loop:1},controls:{controls:1},muted:{muted:1},preload:{auto:1,metadata:1,none:1}},source:{src:1,type:1,media:1},track:{kind:1,src:1,srclang:1,label:1,"default":1},canvas:{width:1,height:1},map:{name:1},area:{shape:1,coords:1,href:1,hreflang:1,alt:1,target:1,media:1,rel:1,ping:1,type:1},svg:{},math:{},table:{summary:1},caption:{},colgroup:{span:1},col:{span:1},tbody:{},thead:{},tfoot:{},tr:{},td:{headers:1,rowspan:1,colspan:1},th:{headers:1,rowspan:1,colspan:1,scope:1},form:{"accept-charset":1,action:1,autocomplete:1,enctype:{"multipart/form-data":1,"application/x-www-form-urlencoded":1},method:{get:1,post:1},name:1,novalidate:1,target:{_blank:1,top:1}},fieldset:{disabled:1,form:1,name:1},legend:{},label:{form:1,"for":1},input:{type:{text:1,password:1,hidden:1,checkbox:1,submit:1,radio:1,file:1,button:1,reset:1,image:31,color:1,date:1,datetime:1,"datetime-local":1,email:1,month:1,number:1,range:1,search:1,tel:1,time:1,url:1,week:1},accept:1,alt:1,autocomplete:{on:1,off:1},autofocus:{autofocus:1},checked:{checked:1},disabled:{disabled:1},form:1,formaction:1,formenctype:{"application/x-www-form-urlencoded":1,"multipart/form-data":1,"text/plain":1},formmethod:{get:1,post:1},formnovalidate:{formnovalidate:1},formtarget:{_blank:1,_self:1,_parent:1,_top:1},height:1,list:1,max:1,maxlength:1,min:1,multiple:{multiple:1},pattern:1,placeholder:1,readonly:{readonly:1},required:{required:1},size:1,src:1,step:1,width:1,files:1,value:1},button:{autofocus:1,disabled:{disabled:1},form:1,formaction:1,formenctype:1,formmethod:1,formnovalidate:1,formtarget:1,name:1,value:1,type:{button:1,submit:1}},select:{autofocus:1,disabled:1,form:1,multiple:{multiple:1},name:1,size:1,readonly:{readonly:1}},datalist:{},optgroup:{disabled:1,label:1},option:{disabled:1,selected:1,label:1,value:1},textarea:{autofocus:{autofocus:1},disabled:{disabled:1},form:1,maxlength:1,name:1,placeholder:1,readonly:{readonly:1},required:{required:1},rows:1,cols:1,wrap:{on:1,off:1,hard:1,soft:1}},keygen:{autofocus:1,challenge:{challenge:1},disabled:{disabled:1},form:1,keytype:{rsa:1,dsa:1,ec:1},name:1},output:{"for":1,form:1,name:1},progress:{value:1,max:1},meter:{value:1,min:1,max:1,low:1,high:1,optimum:1},details:{open:1},summary:{},command:{type:1,label:1,icon:1,disabled:1,checked:1,radiogroup:1,command:1},menu:{type:1,label:1},dialog:{open:1}},a=Object.keys(u),h=function(){};(function(){this.getCompletions=function(e,t,n,r){var i=t.getTokenAt(n.row,n.column);if(!i)return[];if(f(i,"tag-name")||f(i,"tag-open")||f(i,"end-tag-open"))return this.getTagCompletions(e,t,n,r);if(f(i,"tag-whitespace")||f(i,"attribute-name"))return this.getAttributeCompletions(e,t,n,r);if(f(i,"attribute-value"))return this.getAttributeValueCompletions(e,t,n,r);var s=t.getLine(n.row).substr(0,n.column);return/&[A-z]*$/i.test(s)?this.getHTMLEntityCompletions(e,t,n,r):[]},this.getTagCompletions=function(e,t,n,r){return a.map(function(e){return{value:e,meta:"tag",score:Number.MAX_VALUE}})},this.getAttributeCompletions=function(e,t,n,r){var i=l(t,n);if(!i)return[];var s=o;return i in u&&(s=s.concat(Object.keys(u[i]))),s.map(function(e){return{caption:e,snippet:e+'="$0"',meta:"attribute",score:Number.MAX_VALUE}})},this.getAttributeValueCompletions=function(e,t,n,r){var i=l(t,n),s=c(t,n);if(!i)return[];var o=[];return i in u&&s in u[i]&&typeof u[i][s]=="object"&&(o=Object.keys(u[i][s])),o.map(function(e){return{caption:e,snippet:e,meta:"attribute value",score:Number.MAX_VALUE}})},this.getHTMLEntityCompletions=function(e,t,n,r){var i=["Aacute;","aacute;","Acirc;","acirc;","acute;","AElig;","aelig;","Agrave;","agrave;","alefsym;","Alpha;","alpha;","amp;","and;","ang;","Aring;","aring;","asymp;","Atilde;","atilde;","Auml;","auml;","bdquo;","Beta;","beta;","brvbar;","bull;","cap;","Ccedil;","ccedil;","cedil;","cent;","Chi;","chi;","circ;","clubs;","cong;","copy;","crarr;","cup;","curren;","Dagger;","dagger;","dArr;","darr;","deg;","Delta;","delta;","diams;","divide;","Eacute;","eacute;","Ecirc;","ecirc;","Egrave;","egrave;","empty;","emsp;","ensp;","Epsilon;","epsilon;","equiv;","Eta;","eta;","ETH;","eth;","Euml;","euml;","euro;","exist;","fnof;","forall;","frac12;","frac14;","frac34;","frasl;","Gamma;","gamma;","ge;","gt;","hArr;","harr;","hearts;","hellip;","Iacute;","iacute;","Icirc;","icirc;","iexcl;","Igrave;","igrave;","image;","infin;","int;","Iota;","iota;","iquest;","isin;","Iuml;","iuml;","Kappa;","kappa;","Lambda;","lambda;","lang;","laquo;","lArr;","larr;","lceil;","ldquo;","le;","lfloor;","lowast;","loz;","lrm;","lsaquo;","lsquo;","lt;","macr;","mdash;","micro;","middot;","minus;","Mu;","mu;","nabla;","nbsp;","ndash;","ne;","ni;","not;","notin;","nsub;","Ntilde;","ntilde;","Nu;","nu;","Oacute;","oacute;","Ocirc;","ocirc;","OElig;","oelig;","Ograve;","ograve;","oline;","Omega;","omega;","Omicron;","omicron;","oplus;","or;","ordf;","ordm;","Oslash;","oslash;","Otilde;","otilde;","otimes;","Ouml;","ouml;","para;","part;","permil;","perp;","Phi;","phi;","Pi;","pi;","piv;","plusmn;","pound;","Prime;","prime;","prod;","prop;","Psi;","psi;","quot;","radic;","rang;","raquo;","rArr;","rarr;","rceil;","rdquo;","real;","reg;","rfloor;","Rho;","rho;","rlm;","rsaquo;","rsquo;","sbquo;","Scaron;","scaron;","sdot;","sect;","shy;","Sigma;","sigma;","sigmaf;","sim;","spades;","sub;","sube;","sum;","sup;","sup1;","sup2;","sup3;","supe;","szlig;","Tau;","tau;","there4;","Theta;","theta;","thetasym;","thinsp;","THORN;","thorn;","tilde;","times;","trade;","Uacute;","uacute;","uArr;","uarr;","Ucirc;","ucirc;","Ugrave;","ugrave;","uml;","upsih;","Upsilon;","upsilon;","Uuml;","uuml;","weierp;","Xi;","xi;","Yacute;","yacute;","yen;","Yuml;","yuml;","Zeta;","zeta;","zwj;","zwnj;"];return i.map(function(e){return{caption:e,snippet:e,meta:"html entity",score:Number.MAX_VALUE}})}}).call(h.prototype),t.HtmlCompletions=h}),ace.define("ace/mode/html",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text","ace/mode/javascript","ace/mode/css","ace/mode/html_highlight_rules","ace/mode/behaviour/xml","ace/mode/folding/html","ace/mode/html_completions","ace/worker/worker_client"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text").Mode,o=e("./javascript").Mode,u=e("./css").Mode,a=e("./html_highlight_rules").HtmlHighlightRules,f=e("./behaviour/xml").XmlBehaviour,l=e("./folding/html").FoldMode,c=e("./html_completions").HtmlCompletions,h=e("../worker/worker_client").WorkerClient,p=["area","base","br","col","embed","hr","img","input","keygen","link","meta","menuitem","param","source","track","wbr"],d=["li","dt","dd","p","rt","rp","optgroup","option","colgroup","td","th"],v=function(e){this.fragmentContext=e&&e.fragmentContext,this.HighlightRules=a,this.$behaviour=new f,this.$completer=new c,this.createModeDelegates({"js-":o,"css-":u}),this.foldingRules=new l(this.voidElements,i.arrayToMap(d))};r.inherits(v,s),function(){this.blockComment={start:""},this.voidElements=i.arrayToMap(p),this.getNextLineIndent=function(e,t,n){return this.$getIndent(t)},this.checkOutdent=function(e,t,n){return!1},this.getCompletions=function(e,t,n,r){return this.$completer.getCompletions(e,t,n,r)},this.createWorker=function(e){if(this.constructor!=v)return;var t=new h(["ace"],"ace/mode/html_worker","Worker");return t.attachToDocument(e.getDocument()),this.fragmentContext&&t.call("setOptions",[{context:this.fragmentContext}]),t.on("error",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/html"}.call(v.prototype),t.Mode=v}),ace.define("ace/mode/handlebars_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/html_highlight_rules"],function(e,t,n){"use strict";function s(e,t){return t.splice(0,3),t.shift()||"start"}var r=e("../lib/oop"),i=e("./html_highlight_rules").HtmlHighlightRules,o=function(){i.call(this);var e={regex:"(?={{)",push:"handlebars"};for(var t in this.$rules)this.$rules[t].unshift(e);this.$rules.handlebars=[{token:"comment.start",regex:"{{!--",push:[{token:"comment.end",regex:"--}}",next:s},{defaultToken:"comment"}]},{token:"comment.start",regex:"{{!",push:[{token:"comment.end",regex:"}}",next:s},{defaultToken:"comment"}]},{token:"support.function",regex:"{{{",push:[{token:"support.function",regex:"}}}",next:s},{token:"variable.parameter",regex:"[a-zA-Z_$][a-zA-Z0-9_$]*"}]},{token:"storage.type.start",regex:"{{[#\\^/&]?",push:[{token:"storage.type.end",regex:"}}",next:s},{token:"variable.parameter",regex:"[a-zA-Z_$][a-zA-Z0-9_$]*"}]}],this.normalizeRules()};r.inherits(o,i),t.HandlebarsHighlightRules=o}),ace.define("ace/mode/behaviour/html",["require","exports","module","ace/lib/oop","ace/mode/behaviour/xml"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour/xml").XmlBehaviour,s=function(){i.call(this)};r.inherits(s,i),t.HtmlBehaviour=s}),ace.define("ace/mode/handlebars",["require","exports","module","ace/lib/oop","ace/mode/html","ace/mode/handlebars_highlight_rules","ace/mode/behaviour/html","ace/mode/folding/html"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./html").Mode,s=e("./handlebars_highlight_rules").HandlebarsHighlightRules,o=e("./behaviour/html").HtmlBehaviour,u=e("./folding/html").FoldMode,a=function(){i.call(this),this.HighlightRules=s,this.$behaviour=new o,this.foldingRules=new u};r.inherits(a,i),function(){this.blockComment={start:"{{!--",end:"--}}"},this.$id="ace/mode/handlebars"}.call(a.prototype),t.Mode=a}) \ No newline at end of file diff --git a/public/ace/mode-html.js b/public/ace/mode-html.js deleted file mode 100644 index ec4be71a..00000000 --- a/public/ace/mode-html.js +++ /dev/null @@ -1 +0,0 @@ -ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},s.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(s,i),s.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){var r=e.charAt(1)=="/"?2:1;if(r==1)t!=this.nextState?n.unshift(this.next,this.nextState,0):n.unshift(this.next),n[2]++;else if(r==2&&t==this.nextState){n[1]--;if(!n[1]||n[1]<0)n.shift(),n.shift()}return[{type:"meta.tag.punctuation."+(r==1?"":"end-")+"tag-open.xml",value:e.slice(0,r)},{type:"meta.tag.tag-name.xml",value:e.substr(r)}]},regex:"",onMatch:function(e,t,n){return t==n[0]&&n.shift(),e.length==2&&(n[0]==this.nextState&&n[1]--,(!n[1]||n[1]<0)&&n.splice(0,2)),this.next=n[0]||"start",[{type:this.token,value:e}]},nextState:"jsx"},n,f("jsxAttributes"),{token:"entity.other.attribute-name.xml",regex:e},{token:"keyword.operator.attribute-equals.xml",regex:"="},{token:"text.tag-whitespace.xml",regex:"\\s+"},{token:"string.attribute-value.xml",regex:"'",stateName:"jsx_attr_q",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',stateName:"jsx_attr_qq",push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},t],this.$rules.reference=[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}]}function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),{token:"comment",regex:"\\*\\/",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]},{token:"comment",regex:"\\/\\/",next:[i.getTagRule(),{token:"comment",regex:"$|^",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]}]}var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o="[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\\d\\$_\u00a1-\uffff]*",u=function(e){var t=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|async|await|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),n="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",r="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u{[0-9a-fA-F]{1,6}}|[0-2][0-7]{0,2}|3[0-7][0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[i.getStartRule("doc-start"),f("no_regex"),{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/[+-]?\d[\d_]*(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+o+")(\\.)(prototype)(\\.)("+o+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+o+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"(?:"+n+")\\b",next:"start"},{token:["support.constant"],regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/},{token:t,regex:o},{token:"punctuation.operator",regex:/[.](?![.])/,next:"property"},{token:"keyword.operator",regex:/--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?\:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"comment",regex:/^#!.*$/}],property:[{token:"text",regex:"\\s+"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(?:(\\s+)(\\w+))?(\\s*)(\\()",next:"function_arguments"},{token:"punctuation.operator",regex:/[.](?![.])/},{token:"support.function",regex:/(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:"support.function.dom",regex:/(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:"support.constant",regex:/(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:"identifier",regex:o},{regex:"",token:"empty",next:"no_regex"}],start:[i.getStartRule("doc-start"),f("start"),{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:o},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],qqstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]};if(!e||!e.noES6)this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(e,t,n){this.next=e=="{"?this.nextState:"";if(e=="{"&&n.length)n.unshift("start",t);else if(e=="}"&&n.length){n.shift(),this.next=n.shift();if(this.next.indexOf("string")!=-1||this.next.indexOf("jsx")!=-1)return"paren.quasi.end"}return e=="{"?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.quasi.start",regex:/`/,push:[{token:"constant.language.escape",regex:r},{token:"paren.quasi.start",regex:/\${/,push:"start"},{token:"string.quasi.end",regex:/`/,next:"pop"},{defaultToken:"string.quasi"}]}),(!e||!e.noJSX)&&a.call(this);this.embedRules(i,"doc-",[i.getEndRule("no_regex")]),this.normalizeRules()};r.inherits(u,s),t.JavaScriptHighlightRules=u}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(e,t,n,r){var i=e.end.row-e.start.row;return{text:n+t+r,selection:[0,e.start.column+1,i,e.end.column+(i?0:1)]}},p=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return h(a,l,"{","}");if(p.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(p.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(p.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var d=u.substring(s.column,s.column+1);if(d=="}"){var v=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(v!==null&&p.isAutoInsertedClosing(s,u,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var m="";p.isMaybeInsertedClosing(s,u)&&(m=o.stringRepeat("}",f.maybeInsertedBrackets),p.clearMaybeInsertedClosing());var d=u.substring(s.column,s.column+1);if(d==="}"){var g=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!g)return null;var y=this.$getIndent(r.getLine(g.row))}else{if(!m){p.clearMaybeInsertedClosing();return}var y=this.$getIndent(u)}var b=y+r.getTabString();return{text:"\n"+b+"\n"+y+m,selection:[1,b.length,1,b.length]}}p.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"(",")");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"[","]");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return h(o,u,s,s);if(!u){var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column),p=f.substring(a.column,a.column+1),d=r.getTokenAt(a.row,a.column),v=r.getTokenAt(a.row,a.column+1);if(l=="\\"&&d&&/escape/.test(d.type))return null;var m=d&&/string|escape/.test(d.type),g=!v||/string|escape/.test(v.type),y;if(p==s)y=m!==g;else{if(m&&!g)return null;if(m&&g)return null;var b=r.$mode.tokenRe;b.lastIndex=0;var w=b.test(l);b.lastIndex=0;var E=b.test(l);if(w||E)return null;if(p&&!/[\s;,.})\]\\]/.test(p))return null;y=!0}return{text:y?s+s:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};p.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},p.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},p.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},p.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},p.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},p.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},p.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},p.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(p,i),t.CstyleBehaviour=p}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++no)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./javascript_highlight_rules").JavaScriptHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../range").Range,a=e("../worker/worker_client").WorkerClient,f=e("./behaviour/cstyle").CstyleBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new f,this.foldingRules=new l};r.inherits(c,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"||e=="no_regex"){var u=t.match(/^.*(?:\bcase\b.*\:|[\{\(\[])\s*$/);u&&(r+=n)}else if(e=="doc-start"){if(o=="start"||o=="no_regex")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new a(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return t.attachToDocument(e.getDocument()),t.on("annotate",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/javascript"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=t.supportType="align-content|align-items|align-self|all|animation|animation-delay|animation-direction|animation-duration|animation-fill-mode|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|backface-visibility|background|background-attachment|background-blend-mode|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|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-shadow|box-sizing|caption-side|clear|clip|color|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|cursor|direction|display|empty-cells|filter|flex|flex-basis|flex-direction|flex-flow|flex-grow|flex-shrink|flex-wrap|float|font|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|hanging-punctuation|height|justify-content|left|letter-spacing|line-height|list-style|list-style-image|list-style-position|list-style-type|margin|margin-bottom|margin-left|margin-right|margin-top|max-height|max-width|min-height|min-width|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|order|outline|outline-color|outline-offset|outline-style|outline-width|overflow|overflow-x|overflow-y|padding|padding-bottom|padding-left|padding-right|padding-top|page-break-after|page-break-before|page-break-inside|perspective|perspective-origin|position|quotes|resize|right|tab-size|table-layout|text-align|text-align-last|text-decoration|text-decoration-color|text-decoration-line|text-decoration-style|text-indent|text-justify|text-overflow|text-shadow|text-transform|top|transform|transform-origin|transform-style|transition|transition-delay|transition-duration|transition-property|transition-timing-function|unicode-bidi|vertical-align|visibility|white-space|width|word-break|word-spacing|word-wrap|z-index",u=t.supportFunction="rgb|rgba|url|attr|counter|counters",a=t.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero",f=t.supportConstantColor="aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow",l=t.supportConstantFonts="arial|century|comic|courier|cursive|fantasy|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",c=t.numRe="\\-?(?:(?:[0-9]+)|(?:[0-9]*\\.[0-9]+))",h=t.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",p=t.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",d=function(){var e=this.createKeywordMapper({"support.function":u,"support.constant":a,"support.type":o,"support.constant.color":f,"support.constant.fonts":l},"text",!0);this.$rules={start:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"@.*?{",push:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"\\}",next:"pop"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],comment:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}],ruleset:[{token:"paren.rparen",regex:"\\}",next:"pop"},{token:"comment",regex:"\\/\\*",push:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:["constant.numeric","keyword"],regex:"("+c+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vm|vw|%)"},{token:"constant.numeric",regex:c},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:h},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:p},{token:["support.function","string","support.function"],regex:"(url\\()(.*)(\\))"},{token:e,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{caseInsensitive:!0}]},this.normalizeRules()};r.inherits(d,s),t.CssHighlightRules=d}),ace.define("ace/mode/css_completions",["require","exports","module"],function(e,t,n){"use strict";var r={background:{"#$0":1},"background-color":{"#$0":1,transparent:1,fixed:1},"background-image":{"url('/$0')":1},"background-repeat":{repeat:1,"repeat-x":1,"repeat-y":1,"no-repeat":1,inherit:1},"background-position":{bottom:2,center:2,left:2,right:2,top:2,inherit:2},"background-attachment":{scroll:1,fixed:1},"background-size":{cover:1,contain:1},"background-clip":{"border-box":1,"padding-box":1,"content-box":1},"background-origin":{"border-box":1,"padding-box":1,"content-box":1},border:{"solid $0":1,"dashed $0":1,"dotted $0":1,"#$0":1},"border-color":{"#$0":1},"border-style":{solid:2,dashed:2,dotted:2,"double":2,groove:2,hidden:2,inherit:2,inset:2,none:2,outset:2,ridged:2},"border-collapse":{collapse:1,separate:1},bottom:{px:1,em:1,"%":1},clear:{left:1,right:1,both:1,none:1},color:{"#$0":1,"rgb(#$00,0,0)":1},cursor:{"default":1,pointer:1,move:1,text:1,wait:1,help:1,progress:1,"n-resize":1,"ne-resize":1,"e-resize":1,"se-resize":1,"s-resize":1,"sw-resize":1,"w-resize":1,"nw-resize":1},display:{none:1,block:1,inline:1,"inline-block":1,"table-cell":1},"empty-cells":{show:1,hide:1},"float":{left:1,right:1,none:1},"font-family":{Arial:2,"Comic Sans MS":2,Consolas:2,"Courier New":2,Courier:2,Georgia:2,Monospace:2,"Sans-Serif":2,"Segoe UI":2,Tahoma:2,"Times New Roman":2,"Trebuchet MS":2,Verdana:1},"font-size":{px:1,em:1,"%":1},"font-weight":{bold:1,normal:1},"font-style":{italic:1,normal:1},"font-variant":{normal:1,"small-caps":1},height:{px:1,em:1,"%":1},left:{px:1,em:1,"%":1},"letter-spacing":{normal:1},"line-height":{normal:1},"list-style-type":{none:1,disc:1,circle:1,square:1,decimal:1,"decimal-leading-zero":1,"lower-roman":1,"upper-roman":1,"lower-greek":1,"lower-latin":1,"upper-latin":1,georgian:1,"lower-alpha":1,"upper-alpha":1},margin:{px:1,em:1,"%":1},"margin-right":{px:1,em:1,"%":1},"margin-left":{px:1,em:1,"%":1},"margin-top":{px:1,em:1,"%":1},"margin-bottom":{px:1,em:1,"%":1},"max-height":{px:1,em:1,"%":1},"max-width":{px:1,em:1,"%":1},"min-height":{px:1,em:1,"%":1},"min-width":{px:1,em:1,"%":1},overflow:{hidden:1,visible:1,auto:1,scroll:1},"overflow-x":{hidden:1,visible:1,auto:1,scroll:1},"overflow-y":{hidden:1,visible:1,auto:1,scroll:1},padding:{px:1,em:1,"%":1},"padding-top":{px:1,em:1,"%":1},"padding-right":{px:1,em:1,"%":1},"padding-bottom":{px:1,em:1,"%":1},"padding-left":{px:1,em:1,"%":1},"page-break-after":{auto:1,always:1,avoid:1,left:1,right:1},"page-break-before":{auto:1,always:1,avoid:1,left:1,right:1},position:{absolute:1,relative:1,fixed:1,"static":1},right:{px:1,em:1,"%":1},"table-layout":{fixed:1,auto:1},"text-decoration":{none:1,underline:1,"line-through":1,blink:1},"text-align":{left:1,right:1,center:1,justify:1},"text-transform":{capitalize:1,uppercase:1,lowercase:1,none:1},top:{px:1,em:1,"%":1},"vertical-align":{top:1,bottom:1},visibility:{hidden:1,visible:1},"white-space":{nowrap:1,normal:1,pre:1,"pre-line":1,"pre-wrap":1},width:{px:1,em:1,"%":1},"word-spacing":{normal:1},filter:{"alpha(opacity=$0100)":1},"text-shadow":{"$02px 2px 2px #777":1},"text-overflow":{"ellipsis-word":1,clip:1,ellipsis:1},"-moz-border-radius":1,"-moz-border-radius-topright":1,"-moz-border-radius-bottomright":1,"-moz-border-radius-topleft":1,"-moz-border-radius-bottomleft":1,"-webkit-border-radius":1,"-webkit-border-top-right-radius":1,"-webkit-border-top-left-radius":1,"-webkit-border-bottom-right-radius":1,"-webkit-border-bottom-left-radius":1,"-moz-box-shadow":1,"-webkit-box-shadow":1,transform:{"rotate($00deg)":1,"skew($00deg)":1},"-moz-transform":{"rotate($00deg)":1,"skew($00deg)":1},"-webkit-transform":{"rotate($00deg)":1,"skew($00deg)":1}},i=function(){};(function(){this.completionsDefined=!1,this.defineCompletions=function(){if(document){var e=document.createElement("c").style;for(var t in e){if(typeof e[t]!="string")continue;var n=t.replace(/[A-Z]/g,function(e){return"-"+e.toLowerCase()});r.hasOwnProperty(n)||(r[n]=1)}}this.completionsDefined=!0},this.getCompletions=function(e,t,n,r){this.completionsDefined||this.defineCompletions();var i=t.getTokenAt(n.row,n.column);if(!i)return[];if(e==="ruleset"){var s=t.getLine(n.row).substr(0,n.column);return/:[^;]+$/.test(s)?(/([\w\-]+):[^:]*$/.test(s),this.getPropertyValueCompletions(e,t,n,r)):this.getPropertyCompletions(e,t,n,r)}return[]},this.getPropertyCompletions=function(e,t,n,i){var s=Object.keys(r);return s.map(function(e){return{caption:e,snippet:e+": $0",meta:"property",score:Number.MAX_VALUE}})},this.getPropertyValueCompletions=function(e,t,n,i){var s=t.getLine(n.row).substr(0,n.column),o=(/([\w\-]+):[^:]*$/.exec(s)||{})[1];if(!o)return[];var u=[];return o in r&&typeof r[o]=="object"&&(u=Object.keys(r[o])),u.map(function(e){return{caption:e,snippet:e,meta:"property value",score:Number.MAX_VALUE}})}}).call(i.prototype),t.CssCompletions=i}),ace.define("ace/mode/behaviour/css",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,u=function(){this.inherit(s),this.add("colon","insertion",function(e,t,n,r,i){if(i===":"){var s=n.getCursorPosition(),u=new o(r,s.row,s.column),a=u.getCurrentToken();a&&a.value.match(/\s+/)&&(a=u.stepBackward());if(a&&a.type==="support.type"){var f=r.doc.getLine(s.row),l=f.substring(s.column,s.column+1);if(l===":")return{text:"",selection:[1,1]};if(!f.substring(s.column).match(/^\s*;/))return{text:":;",selection:[1,1]}}}}),this.add("colon","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s===":"){var u=n.getCursorPosition(),a=new o(r,u.row,u.column),f=a.getCurrentToken();f&&f.value.match(/\s+/)&&(f=a.stepBackward());if(f&&f.type==="support.type"){var l=r.doc.getLine(i.start.row),c=l.substring(i.end.column,i.end.column+1);if(c===";")return i.end.column++,i}}}),this.add("semicolon","insertion",function(e,t,n,r,i){if(i===";"){var s=n.getCursorPosition(),o=r.doc.getLine(s.row),u=o.substring(s.column,s.column+1);if(u===";")return{text:"",selection:[1,1]}}})};r.inherits(u,s),t.CssBehaviour=u}),ace.define("ace/mode/css",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/css_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/css_completions","ace/mode/behaviour/css","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./css_highlight_rules").CssHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../worker/worker_client").WorkerClient,a=e("./css_completions").CssCompletions,f=e("./behaviour/css").CssBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new f,this.$completer=new a,this.foldingRules=new l};r.inherits(c,i),function(){this.foldingRules="cStyle",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e).tokens;if(i.length&&i[i.length-1].type=="comment")return r;var s=t.match(/^.*\{\s*$/);return s&&(r+=n),r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.getCompletions=function(e,t,n,r){return this.$completer.getCompletions(e,t,n,r)},this.createWorker=function(e){var t=new u(["ace"],"ace/mode/css_worker","Worker");return t.attachToDocument(e.getDocument()),t.on("annotate",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/css"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(e){var t="[_:a-zA-Z\u00c0-\uffff][-_:.a-zA-Z0-9\u00c0-\uffff]*";this.$rules={start:[{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:["punctuation.xml-decl.xml","keyword.xml-decl.xml"],regex:"(<\\?)(xml)(?=[\\s])",next:"xml_decl",caseInsensitive:!0},{token:["punctuation.instruction.xml","keyword.instruction.xml"],regex:"(<\\?)("+t+")",next:"processing_instruction"},{token:"comment.xml",regex:"<\\!--",next:"comment"},{token:["xml-pe.doctype.xml","xml-pe.doctype.xml"],regex:"(<\\!)(DOCTYPE)(?=[\\s])",next:"doctype",caseInsensitive:!0},{include:"tag"},{token:"text.end-tag-open.xml",regex:"",next:"start"}],processing_instruction:[{token:"punctuation.instruction.xml",regex:"\\?>",next:"start"},{defaultToken:"instruction.xml"}],doctype:[{include:"whitespace"},{include:"string"},{token:"xml-pe.doctype.xml",regex:">",next:"start"},{token:"xml-pe.xml",regex:"[-_a-zA-Z0-9:]+"},{token:"punctuation.int-subset",regex:"\\[",push:"int_subset"}],int_subset:[{token:"text.xml",regex:"\\s+"},{token:"punctuation.int-subset.xml",regex:"]",next:"pop"},{token:["punctuation.markup-decl.xml","keyword.markup-decl.xml"],regex:"(<\\!)("+t+")",push:[{token:"text",regex:"\\s+"},{token:"punctuation.markup-decl.xml",regex:">",next:"pop"},{include:"string"}]}],cdata:[{token:"string.cdata.xml",regex:"\\]\\]>",next:"start"},{token:"text.xml",regex:"\\s+"},{token:"text.xml",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment.xml",regex:"-->",next:"start"},{defaultToken:"comment.xml"}],reference:[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],attr_reference:[{token:"constant.language.escape.reference.attribute-value.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],tag:[{token:["meta.tag.punctuation.tag-open.xml","meta.tag.punctuation.end-tag-open.xml","meta.tag.tag-name.xml"],regex:"(?:(<)|(",next:"start"}]}],tag_whitespace:[{token:"text.tag-whitespace.xml",regex:"\\s+"}],whitespace:[{token:"text.whitespace.xml",regex:"\\s+"}],string:[{token:"string.xml",regex:"'",push:[{token:"string.xml",regex:"'",next:"pop"},{defaultToken:"string.xml"}]},{token:"string.xml",regex:'"',push:[{token:"string.xml",regex:'"',next:"pop"},{defaultToken:"string.xml"}]}],attributes:[{token:"entity.other.attribute-name.xml",regex:"(?:"+t+":)?"+t+""},{token:"keyword.operator.attribute-equals.xml",regex:"="},{include:"tag_whitespace"},{include:"attribute_value"}],attribute_value:[{token:"string.attribute-value.xml",regex:"'",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]}]},this.constructor===s&&this.normalizeRules()};(function(){this.embedTagRules=function(e,t,n){this.$rules.tag.unshift({token:["meta.tag.punctuation.tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(<)("+n+"(?=\\s|>|$))",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:t+"start"}]}),this.$rules[n+"-end"]=[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start",onMatch:function(e,t,n){return n.splice(0),this.token}}],this.embedRules(e,t,[{token:["meta.tag.punctuation.end-tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(|$))",next:n+"-end"},{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\["},{token:"string.cdata.xml",regex:"\\]\\]>"}])}}).call(i.prototype),r.inherits(s,i),t.XmlHighlightRules=s}),ace.define("ace/mode/html_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/css_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./css_highlight_rules").CssHighlightRules,o=e("./javascript_highlight_rules").JavaScriptHighlightRules,u=e("./xml_highlight_rules").XmlHighlightRules,a=i.createMap({a:"anchor",button:"form",form:"form",img:"image",input:"form",label:"form",option:"form",script:"script",select:"form",textarea:"form",style:"style",table:"table",tbody:"table",td:"table",tfoot:"table",th:"table",tr:"table"}),f=function(){u.call(this),this.addRules({attributes:[{include:"tag_whitespace"},{token:"entity.other.attribute-name.xml",regex:"[-_a-zA-Z0-9:.]+"},{token:"keyword.operator.attribute-equals.xml",regex:"=",push:[{include:"tag_whitespace"},{token:"string.unquoted.attribute-value.html",regex:"[^<>='\"`\\s]+",next:"pop"},{token:"empty",regex:"",next:"pop"}]},{include:"attribute_value"}],tag:[{token:function(e,t){var n=a[t];return["meta.tag.punctuation."+(e=="<"?"":"end-")+"tag-open.xml","meta.tag"+(n?"."+n:"")+".tag-name.xml"]},regex:"(",next:"start"}]}),this.embedTagRules(s,"css-","style"),this.embedTagRules((new o({noJSX:!0})).getRules(),"js-","script"),this.constructor===f&&this.normalizeRules()};r.inherits(f,u),t.HtmlHighlightRules=f}),ace.define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";function u(e,t){return e.type.lastIndexOf(t+".xml")>-1}var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),a=function(){this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){var o=i,a=r.doc.getTextRange(n.getSelectionRange());if(a!==""&&a!=="'"&&a!='"'&&n.getWrapBehavioursEnabled())return{text:o+a+o,selection:!1};var f=n.getCursorPosition(),l=r.doc.getLine(f.row),c=l.substring(f.column,f.column+1),h=new s(r,f.row,f.column),p=h.getCurrentToken();if(c==o&&(u(p,"attribute-value")||u(p,"string")))return{text:"",selection:[1,1]};p||(p=h.stepBackward());if(!p)return;while(u(p,"tag-whitespace")||u(p,"whitespace"))p=h.stepBackward();var d=!c||c.match(/\s/);if(u(p,"attribute-equals")&&(d||c==">")||u(p,"decl-attribute-equals")&&(d||c=="?"))return{text:o+o,selection:[1,1]}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}}),this.add("autoclosing","insertion",function(e,t,n,r,i){if(i==">"){var o=n.getCursorPosition(),a=new s(r,o.row,o.column),f=a.getCurrentToken()||a.stepBackward();if(!f||!(u(f,"tag-name")||u(f,"tag-whitespace")||u(f,"attribute-name")||u(f,"attribute-equals")||u(f,"attribute-value")))return;if(u(f,"reference.attribute-value"))return;if(u(f,"attribute-value")){var l=f.value.charAt(0);if(l=='"'||l=="'"){var c=f.value.charAt(f.value.length-1),h=a.getCurrentTokenColumn()+f.value.length;if(h>o.column||h==o.column&&l!=c)return}}while(!u(f,"tag-name"))f=a.stepBackward();var p=a.getCurrentTokenRow(),d=a.getCurrentTokenColumn();if(u(a.stepBackward(),"end-tag-open"))return;var v=f.value;p==o.row&&(v=v.substring(0,o.column-d));if(this.voidElements.hasOwnProperty(v.toLowerCase()))return;return{text:">",selection:[1,1]}}}),this.add("autoindent","insertion",function(e,t,n,r,i){if(i=="\n"){var o=n.getCursorPosition(),u=r.getLine(o.row),a=new s(r,o.row,o.column),f=a.getCurrentToken();if(f&&f.type.indexOf("tag-close")!==-1){if(f.value=="/>")return;while(f&&f.type.indexOf("tag-name")===-1)f=a.stepBackward();if(!f)return;var l=f.value,c=a.getCurrentTokenRow();f=a.stepBackward();if(!f||f.type.indexOf("end-tag")!==-1)return;if(this.voidElements&&!this.voidElements[l]){var h=r.getTokenAt(o.row,o.column+1),u=r.getLine(c),p=this.$getIndent(u),d=p+r.getTabString();return h&&h.value==="-1}var r=e("../../lib/oop"),i=e("../../lib/lang"),s=e("../../range").Range,o=e("./fold_mode").FoldMode,u=e("../../token_iterator").TokenIterator,a=t.FoldMode=function(e,t){o.call(this),this.voidElements=e||{},this.optionalEndTags=r.mixin({},this.voidElements),t&&r.mixin(this.optionalEndTags,t)};r.inherits(a,o);var f=function(){this.tagName="",this.closing=!1,this.selfClosing=!1,this.start={row:0,column:0},this.end={row:0,column:0}};(function(){this.getFoldWidget=function(e,t,n){var r=this._getFirstTagInLine(e,n);return r?r.closing||!r.tagName&&r.selfClosing?t=="markbeginend"?"end":"":!r.tagName||r.selfClosing||this.voidElements.hasOwnProperty(r.tagName.toLowerCase())?"":this._findEndTagInLine(e,n,r.tagName,r.end.column)?"":"start":""},this._getFirstTagInLine=function(e,t){var n=e.getTokens(t),r=new f;for(var i=0;i";break}}return r}if(l(s,"tag-close"))return r.selfClosing=s.value=="/>",r;r.start.column+=s.value.length}return null},this._findEndTagInLine=function(e,t,n,r){var i=e.getTokens(t),s=0;for(var o=0;o",n.end.row=e.getCurrentTokenRow(),n.end.column=e.getCurrentTokenColumn()+t.value.length,e.stepForward(),n;while(t=e.stepForward());return null},this._readTagBackward=function(e){var t=e.getCurrentToken();if(!t)return null;var n=new f;do{if(l(t,"tag-open"))return n.closing=l(t,"end-tag-open"),n.start.row=e.getCurrentTokenRow(),n.start.column=e.getCurrentTokenColumn(),e.stepBackward(),n;l(t,"tag-name")?n.tagName=t.value:l(t,"tag-close")&&(n.selfClosing=t.value=="/>",n.end.row=e.getCurrentTokenRow(),n.end.column=e.getCurrentTokenColumn()+t.value.length)}while(t=e.stepBackward());return null},this._pop=function(e,t){while(e.length){var n=e[e.length-1];if(!t||n.tagName==t.tagName)return e.pop();if(this.optionalEndTags.hasOwnProperty(n.tagName)){e.pop();continue}return null}},this.getFoldWidgetRange=function(e,t,n){var r=this._getFirstTagInLine(e,n);if(!r)return null;var i=r.closing||r.selfClosing,o=[],a;if(!i){var f=new u(e,n,r.start.column),l={row:n,column:r.start.column+r.tagName.length+2};r.start.row==r.end.row&&(l.column=r.end.column);while(a=this._readTagForward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(a.closing){this._pop(o,a);if(o.length==0)return s.fromPoints(l,a.start)}else o.push(a)}}else{var f=new u(e,n,r.end.column),c={row:n,column:r.start.column};while(a=this._readTagBackward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(!a.closing){this._pop(o,a);if(o.length==0)return a.start.column+=a.tagName.length+2,a.start.row==a.end.row&&a.start.column-1}function l(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();while(i&&!f(i,"tag-name"))i=n.stepBackward();if(i)return i.value}function c(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();while(i&&!f(i,"attribute-name"))i=n.stepBackward();if(i)return i.value}var r=e("../token_iterator").TokenIterator,i=["accesskey","class","contenteditable","contextmenu","dir","draggable","dropzone","hidden","id","inert","itemid","itemprop","itemref","itemscope","itemtype","lang","spellcheck","style","tabindex","title","translate"],s=["onabort","onblur","oncancel","oncanplay","oncanplaythrough","onchange","onclick","onclose","oncontextmenu","oncuechange","ondblclick","ondrag","ondragend","ondragenter","ondragleave","ondragover","ondragstart","ondrop","ondurationchange","onemptied","onended","onerror","onfocus","oninput","oninvalid","onkeydown","onkeypress","onkeyup","onload","onloadeddata","onloadedmetadata","onloadstart","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","onmousewheel","onpause","onplay","onplaying","onprogress","onratechange","onreset","onscroll","onseeked","onseeking","onselect","onshow","onstalled","onsubmit","onsuspend","ontimeupdate","onvolumechange","onwaiting"],o=i.concat(s),u={html:{manifest:1},head:{},title:{},base:{href:1,target:1},link:{href:1,hreflang:1,rel:{stylesheet:1,icon:1},media:{all:1,screen:1,print:1},type:{"text/css":1,"image/png":1,"image/jpeg":1,"image/gif":1},sizes:1},meta:{"http-equiv":{"content-type":1},name:{description:1,keywords:1},content:{"text/html; charset=UTF-8":1},charset:1},style:{type:1,media:{all:1,screen:1,print:1},scoped:1},script:{charset:1,type:{"text/javascript":1},src:1,defer:1,async:1},noscript:{href:1},body:{onafterprint:1,onbeforeprint:1,onbeforeunload:1,onhashchange:1,onmessage:1,onoffline:1,onpopstate:1,onredo:1,onresize:1,onstorage:1,onundo:1,onunload:1},section:{},nav:{},article:{pubdate:1},aside:{},h1:{},h2:{},h3:{},h4:{},h5:{},h6:{},header:{},footer:{},address:{},main:{},p:{},hr:{},pre:{},blockquote:{cite:1},ol:{start:1,reversed:1},ul:{},li:{value:1},dl:{},dt:{},dd:{},figure:{},figcaption:{},div:{},a:{href:1,target:{_blank:1,top:1},ping:1,rel:{nofollow:1,alternate:1,author:1,bookmark:1,help:1,license:1,next:1,noreferrer:1,prefetch:1,prev:1,search:1,tag:1},media:1,hreflang:1,type:1},em:{},strong:{},small:{},s:{},cite:{},q:{cite:1},dfn:{},abbr:{},data:{},time:{datetime:1},code:{},"var":{},samp:{},kbd:{},sub:{},sup:{},i:{},b:{},u:{},mark:{},ruby:{},rt:{},rp:{},bdi:{},bdo:{},span:{},br:{},wbr:{},ins:{cite:1,datetime:1},del:{cite:1,datetime:1},img:{alt:1,src:1,height:1,width:1,usemap:1,ismap:1},iframe:{name:1,src:1,height:1,width:1,sandbox:{"allow-same-origin":1,"allow-top-navigation":1,"allow-forms":1,"allow-scripts":1},seamless:{seamless:1}},embed:{src:1,height:1,width:1,type:1},object:{param:1,data:1,type:1,height:1,width:1,usemap:1,name:1,form:1,classid:1},param:{name:1,value:1},video:{src:1,autobuffer:1,autoplay:{autoplay:1},loop:{loop:1},controls:{controls:1},width:1,height:1,poster:1,muted:{muted:1},preload:{auto:1,metadata:1,none:1}},audio:{src:1,autobuffer:1,autoplay:{autoplay:1},loop:{loop:1},controls:{controls:1},muted:{muted:1},preload:{auto:1,metadata:1,none:1}},source:{src:1,type:1,media:1},track:{kind:1,src:1,srclang:1,label:1,"default":1},canvas:{width:1,height:1},map:{name:1},area:{shape:1,coords:1,href:1,hreflang:1,alt:1,target:1,media:1,rel:1,ping:1,type:1},svg:{},math:{},table:{summary:1},caption:{},colgroup:{span:1},col:{span:1},tbody:{},thead:{},tfoot:{},tr:{},td:{headers:1,rowspan:1,colspan:1},th:{headers:1,rowspan:1,colspan:1,scope:1},form:{"accept-charset":1,action:1,autocomplete:1,enctype:{"multipart/form-data":1,"application/x-www-form-urlencoded":1},method:{get:1,post:1},name:1,novalidate:1,target:{_blank:1,top:1}},fieldset:{disabled:1,form:1,name:1},legend:{},label:{form:1,"for":1},input:{type:{text:1,password:1,hidden:1,checkbox:1,submit:1,radio:1,file:1,button:1,reset:1,image:31,color:1,date:1,datetime:1,"datetime-local":1,email:1,month:1,number:1,range:1,search:1,tel:1,time:1,url:1,week:1},accept:1,alt:1,autocomplete:{on:1,off:1},autofocus:{autofocus:1},checked:{checked:1},disabled:{disabled:1},form:1,formaction:1,formenctype:{"application/x-www-form-urlencoded":1,"multipart/form-data":1,"text/plain":1},formmethod:{get:1,post:1},formnovalidate:{formnovalidate:1},formtarget:{_blank:1,_self:1,_parent:1,_top:1},height:1,list:1,max:1,maxlength:1,min:1,multiple:{multiple:1},name:1,pattern:1,placeholder:1,readonly:{readonly:1},required:{required:1},size:1,src:1,step:1,width:1,files:1,value:1},button:{autofocus:1,disabled:{disabled:1},form:1,formaction:1,formenctype:1,formmethod:1,formnovalidate:1,formtarget:1,name:1,value:1,type:{button:1,submit:1}},select:{autofocus:1,disabled:1,form:1,multiple:{multiple:1},name:1,size:1,readonly:{readonly:1}},datalist:{},optgroup:{disabled:1,label:1},option:{disabled:1,selected:1,label:1,value:1},textarea:{autofocus:{autofocus:1},disabled:{disabled:1},form:1,maxlength:1,name:1,placeholder:1,readonly:{readonly:1},required:{required:1},rows:1,cols:1,wrap:{on:1,off:1,hard:1,soft:1}},keygen:{autofocus:1,challenge:{challenge:1},disabled:{disabled:1},form:1,keytype:{rsa:1,dsa:1,ec:1},name:1},output:{"for":1,form:1,name:1},progress:{value:1,max:1},meter:{value:1,min:1,max:1,low:1,high:1,optimum:1},details:{open:1},summary:{},command:{type:1,label:1,icon:1,disabled:1,checked:1,radiogroup:1,command:1},menu:{type:1,label:1},dialog:{open:1}},a=Object.keys(u),h=function(){};(function(){this.getCompletions=function(e,t,n,r){var i=t.getTokenAt(n.row,n.column);if(!i)return[];if(f(i,"tag-name")||f(i,"tag-open")||f(i,"end-tag-open"))return this.getTagCompletions(e,t,n,r);if(f(i,"tag-whitespace")||f(i,"attribute-name"))return this.getAttributeCompletions(e,t,n,r);if(f(i,"attribute-value"))return this.getAttributeValueCompletions(e,t,n,r);var s=t.getLine(n.row).substr(0,n.column);return/&[A-z]*$/i.test(s)?this.getHTMLEntityCompletions(e,t,n,r):[]},this.getTagCompletions=function(e,t,n,r){return a.map(function(e){return{value:e,meta:"tag",score:Number.MAX_VALUE}})},this.getAttributeCompletions=function(e,t,n,r){var i=l(t,n);if(!i)return[];var s=o;return i in u&&(s=s.concat(Object.keys(u[i]))),s.map(function(e){return{caption:e,snippet:e+'="$0"',meta:"attribute",score:Number.MAX_VALUE}})},this.getAttributeValueCompletions=function(e,t,n,r){var i=l(t,n),s=c(t,n);if(!i)return[];var o=[];return i in u&&s in u[i]&&typeof u[i][s]=="object"&&(o=Object.keys(u[i][s])),o.map(function(e){return{caption:e,snippet:e,meta:"attribute value",score:Number.MAX_VALUE}})},this.getHTMLEntityCompletions=function(e,t,n,r){var i=["Aacute;","aacute;","Acirc;","acirc;","acute;","AElig;","aelig;","Agrave;","agrave;","alefsym;","Alpha;","alpha;","amp;","and;","ang;","Aring;","aring;","asymp;","Atilde;","atilde;","Auml;","auml;","bdquo;","Beta;","beta;","brvbar;","bull;","cap;","Ccedil;","ccedil;","cedil;","cent;","Chi;","chi;","circ;","clubs;","cong;","copy;","crarr;","cup;","curren;","Dagger;","dagger;","dArr;","darr;","deg;","Delta;","delta;","diams;","divide;","Eacute;","eacute;","Ecirc;","ecirc;","Egrave;","egrave;","empty;","emsp;","ensp;","Epsilon;","epsilon;","equiv;","Eta;","eta;","ETH;","eth;","Euml;","euml;","euro;","exist;","fnof;","forall;","frac12;","frac14;","frac34;","frasl;","Gamma;","gamma;","ge;","gt;","hArr;","harr;","hearts;","hellip;","Iacute;","iacute;","Icirc;","icirc;","iexcl;","Igrave;","igrave;","image;","infin;","int;","Iota;","iota;","iquest;","isin;","Iuml;","iuml;","Kappa;","kappa;","Lambda;","lambda;","lang;","laquo;","lArr;","larr;","lceil;","ldquo;","le;","lfloor;","lowast;","loz;","lrm;","lsaquo;","lsquo;","lt;","macr;","mdash;","micro;","middot;","minus;","Mu;","mu;","nabla;","nbsp;","ndash;","ne;","ni;","not;","notin;","nsub;","Ntilde;","ntilde;","Nu;","nu;","Oacute;","oacute;","Ocirc;","ocirc;","OElig;","oelig;","Ograve;","ograve;","oline;","Omega;","omega;","Omicron;","omicron;","oplus;","or;","ordf;","ordm;","Oslash;","oslash;","Otilde;","otilde;","otimes;","Ouml;","ouml;","para;","part;","permil;","perp;","Phi;","phi;","Pi;","pi;","piv;","plusmn;","pound;","Prime;","prime;","prod;","prop;","Psi;","psi;","quot;","radic;","rang;","raquo;","rArr;","rarr;","rceil;","rdquo;","real;","reg;","rfloor;","Rho;","rho;","rlm;","rsaquo;","rsquo;","sbquo;","Scaron;","scaron;","sdot;","sect;","shy;","Sigma;","sigma;","sigmaf;","sim;","spades;","sub;","sube;","sum;","sup;","sup1;","sup2;","sup3;","supe;","szlig;","Tau;","tau;","there4;","Theta;","theta;","thetasym;","thinsp;","THORN;","thorn;","tilde;","times;","trade;","Uacute;","uacute;","uArr;","uarr;","Ucirc;","ucirc;","Ugrave;","ugrave;","uml;","upsih;","Upsilon;","upsilon;","Uuml;","uuml;","weierp;","Xi;","xi;","Yacute;","yacute;","yen;","Yuml;","yuml;","Zeta;","zeta;","zwj;","zwnj;"];return i.map(function(e){return{caption:e,snippet:e,meta:"html entity",score:Number.MAX_VALUE}})}}).call(h.prototype),t.HtmlCompletions=h}),ace.define("ace/mode/html",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text","ace/mode/javascript","ace/mode/css","ace/mode/html_highlight_rules","ace/mode/behaviour/xml","ace/mode/folding/html","ace/mode/html_completions","ace/worker/worker_client"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text").Mode,o=e("./javascript").Mode,u=e("./css").Mode,a=e("./html_highlight_rules").HtmlHighlightRules,f=e("./behaviour/xml").XmlBehaviour,l=e("./folding/html").FoldMode,c=e("./html_completions").HtmlCompletions,h=e("../worker/worker_client").WorkerClient,p=["area","base","br","col","embed","hr","img","input","keygen","link","meta","menuitem","param","source","track","wbr"],d=["li","dt","dd","p","rt","rp","optgroup","option","colgroup","td","th"],v=function(e){this.fragmentContext=e&&e.fragmentContext,this.HighlightRules=a,this.$behaviour=new f,this.$completer=new c,this.createModeDelegates({"js-":o,"css-":u}),this.foldingRules=new l(this.voidElements,i.arrayToMap(d))};r.inherits(v,s),function(){this.blockComment={start:""},this.voidElements=i.arrayToMap(p),this.getNextLineIndent=function(e,t,n){return this.$getIndent(t)},this.checkOutdent=function(e,t,n){return!1},this.getCompletions=function(e,t,n,r){return this.$completer.getCompletions(e,t,n,r)},this.createWorker=function(e){if(this.constructor!=v)return;var t=new h(["ace"],"ace/mode/html_worker","Worker");return t.attachToDocument(e.getDocument()),this.fragmentContext&&t.call("setOptions",[{context:this.fragmentContext}]),t.on("error",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/html"}.call(v.prototype),t.Mode=v}) \ No newline at end of file diff --git a/public/ace/mode-javascript.js b/public/ace/mode-javascript.js deleted file mode 100644 index 26a8bdc8..00000000 --- a/public/ace/mode-javascript.js +++ /dev/null @@ -1 +0,0 @@ -ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},s.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(s,i),s.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){var r=e.charAt(1)=="/"?2:1;if(r==1)t!=this.nextState?n.unshift(this.next,this.nextState,0):n.unshift(this.next),n[2]++;else if(r==2&&t==this.nextState){n[1]--;if(!n[1]||n[1]<0)n.shift(),n.shift()}return[{type:"meta.tag.punctuation."+(r==1?"":"end-")+"tag-open.xml",value:e.slice(0,r)},{type:"meta.tag.tag-name.xml",value:e.substr(r)}]},regex:"",onMatch:function(e,t,n){return t==n[0]&&n.shift(),e.length==2&&(n[0]==this.nextState&&n[1]--,(!n[1]||n[1]<0)&&n.splice(0,2)),this.next=n[0]||"start",[{type:this.token,value:e}]},nextState:"jsx"},n,f("jsxAttributes"),{token:"entity.other.attribute-name.xml",regex:e},{token:"keyword.operator.attribute-equals.xml",regex:"="},{token:"text.tag-whitespace.xml",regex:"\\s+"},{token:"string.attribute-value.xml",regex:"'",stateName:"jsx_attr_q",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',stateName:"jsx_attr_qq",push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},t],this.$rules.reference=[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}]}function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),{token:"comment",regex:"\\*\\/",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]},{token:"comment",regex:"\\/\\/",next:[i.getTagRule(),{token:"comment",regex:"$|^",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]}]}var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o="[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\\d\\$_\u00a1-\uffff]*\\b",u=function(e){var t=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),n="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",r="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u{[0-9a-fA-F]{1,6}}|[0-2][0-7]{0,2}|3[0-7][0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[i.getStartRule("doc-start"),f("no_regex"),{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/[+-]?\d[\d_]*(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+o+")(\\.)(prototype)(\\.)("+o+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+o+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"(?:"+n+")\\b",next:"start"},{token:["support.constant"],regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/},{token:t,regex:o},{token:"punctuation.operator",regex:/[.](?![.])/,next:"property"},{token:"keyword.operator",regex:/--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?\:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"comment",regex:/^#!.*$/}],property:[{token:"text",regex:"\\s+"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(?:(\\s+)(\\w+))?(\\s*)(\\()",next:"function_arguments"},{token:"punctuation.operator",regex:/[.](?![.])/},{token:"support.function",regex:/(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:"support.function.dom",regex:/(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:"support.constant",regex:/(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:"identifier",regex:o},{regex:"",token:"empty",next:"no_regex"}],start:[i.getStartRule("doc-start"),f("start"),{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:o},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],qqstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]};if(!e||!e.noES6)this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(e,t,n){this.next=e=="{"?this.nextState:"";if(e=="{"&&n.length)n.unshift("start",t);else if(e=="}"&&n.length){n.shift(),this.next=n.shift();if(this.next.indexOf("string")!=-1||this.next.indexOf("jsx")!=-1)return"paren.quasi.end"}return e=="{"?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.quasi.start",regex:/`/,push:[{token:"constant.language.escape",regex:r},{token:"paren.quasi.start",regex:/\${/,push:"start"},{token:"string.quasi.end",regex:/`/,next:"pop"},{defaultToken:"string.quasi"}]}),(!e||!e.noJSX)&&a.call(this);this.embedRules(i,"doc-",[i.getEndRule("no_regex")]),this.normalizeRules()};r.inherits(u,s),t.JavaScriptHighlightRules=u}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(e,t,n,r){var i=e.end.row-e.start.row;return{text:n+t+r,selection:[0,e.start.column+1,i,e.end.column+(i?0:1)]}},p=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return h(a,l,"{","}");if(p.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(p.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(p.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var d=u.substring(s.column,s.column+1);if(d=="}"){var v=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(v!==null&&p.isAutoInsertedClosing(s,u,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var m="";p.isMaybeInsertedClosing(s,u)&&(m=o.stringRepeat("}",f.maybeInsertedBrackets),p.clearMaybeInsertedClosing());var d=u.substring(s.column,s.column+1);if(d==="}"){var g=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!g)return null;var y=this.$getIndent(r.getLine(g.row))}else{if(!m){p.clearMaybeInsertedClosing();return}var y=this.$getIndent(u)}var b=y+r.getTabString();return{text:"\n"+b+"\n"+y+m,selection:[1,b.length,1,b.length]}}p.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"(",")");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"[","]");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return h(o,u,s,s);if(!u){var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column),p=f.substring(a.column,a.column+1),d=r.getTokenAt(a.row,a.column),v=r.getTokenAt(a.row,a.column+1);if(l=="\\"&&d&&/escape/.test(d.type))return null;var m=d&&/string|escape/.test(d.type),g=!v||/string|escape/.test(v.type),y;if(p==s)y=m!==g;else{if(m&&!g)return null;if(m&&g)return null;var b=r.$mode.tokenRe;b.lastIndex=0;var w=b.test(l);b.lastIndex=0;var E=b.test(l);if(w||E)return null;if(p&&!/[\s;,.})\]\\]/.test(p))return null;y=!0}return{text:y?s+s:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};p.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},p.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},p.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},p.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},p.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},p.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},p.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},p.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(p,i),t.CstyleBehaviour=p}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++no)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./javascript_highlight_rules").JavaScriptHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../range").Range,a=e("../worker/worker_client").WorkerClient,f=e("./behaviour/cstyle").CstyleBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new f,this.foldingRules=new l};r.inherits(c,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"||e=="no_regex"){var u=t.match(/^.*(?:\bcase\b.*\:|[\{\(\[])\s*$/);u&&(r+=n)}else if(e=="doc-start"){if(o=="start"||o=="no_regex")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new a(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return t.attachToDocument(e.getDocument()),t.on("annotate",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/javascript"}.call(c.prototype),t.Mode=c}) \ No newline at end of file diff --git a/public/ace/mode-json.js b/public/ace/mode-json.js deleted file mode 100644 index f6226b80..00000000 --- a/public/ace/mode-json.js +++ /dev/null @@ -1 +0,0 @@ -ace.define("ace/mode/json_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"variable",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]\\s*(?=:)'},{token:"string",regex:'"',next:"string"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"constant.language.boolean",regex:"(?:true|false)\\b"},{token:"invalid.illegal",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"invalid.illegal",regex:"\\/\\/.*$"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],string:[{token:"constant.language.escape",regex:/\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|["\\\/bfnrt])/},{token:"string",regex:'[^"\\\\]+'},{token:"string",regex:'"',next:"start"},{token:"string",regex:"",next:"start"}]}};r.inherits(s,i),t.JsonHighlightRules=s}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(e,t,n,r){var i=e.end.row-e.start.row;return{text:n+t+r,selection:[0,e.start.column+1,i,e.end.column+(i?0:1)]}},p=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return h(a,l,"{","}");if(p.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(p.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(p.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var d=u.substring(s.column,s.column+1);if(d=="}"){var v=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(v!==null&&p.isAutoInsertedClosing(s,u,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var m="";p.isMaybeInsertedClosing(s,u)&&(m=o.stringRepeat("}",f.maybeInsertedBrackets),p.clearMaybeInsertedClosing());var d=u.substring(s.column,s.column+1);if(d==="}"){var g=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!g)return null;var y=this.$getIndent(r.getLine(g.row))}else{if(!m){p.clearMaybeInsertedClosing();return}var y=this.$getIndent(u)}var b=y+r.getTabString();return{text:"\n"+b+"\n"+y+m,selection:[1,b.length,1,b.length]}}p.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"(",")");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"[","]");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return h(o,u,s,s);if(!u){var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column),p=f.substring(a.column,a.column+1),d=r.getTokenAt(a.row,a.column),v=r.getTokenAt(a.row,a.column+1);if(l=="\\"&&d&&/escape/.test(d.type))return null;var m=d&&/string|escape/.test(d.type),g=!v||/string|escape/.test(v.type),y;if(p==s)y=m!==g;else{if(m&&!g)return null;if(m&&g)return null;var b=r.$mode.tokenRe;b.lastIndex=0;var w=b.test(l);b.lastIndex=0;var E=b.test(l);if(w||E)return null;if(p&&!/[\s;,.})\]\\]/.test(p))return null;y=!0}return{text:y?s+s:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};p.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},p.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},p.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},p.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},p.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},p.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},p.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},p.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(p,i),t.CstyleBehaviour=p}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++no)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/json",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/json_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle","ace/worker/worker_client"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./json_highlight_rules").JsonHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("./behaviour/cstyle").CstyleBehaviour,a=e("./folding/cstyle").FoldMode,f=e("../worker/worker_client").WorkerClient,l=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new u,this.foldingRules=new a};r.inherits(l,i),function(){this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t);if(e=="start"){var i=t.match(/^.*[\{\(\[]\s*$/);i&&(r+=n)}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new f(["ace"],"ace/mode/json_worker","JsonWorker");return t.attachToDocument(e.getDocument()),t.on("annotate",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/json"}.call(l.prototype),t.Mode=l}) \ No newline at end of file diff --git a/public/ace/mode-plain_text.js b/public/ace/mode-plain_text.js deleted file mode 100644 index 21cf21da..00000000 --- a/public/ace/mode-plain_text.js +++ /dev/null @@ -1 +0,0 @@ -ace.define("ace/mode/plain_text",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/text_highlight_rules","ace/mode/behaviour"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./text_highlight_rules").TextHighlightRules,o=e("./behaviour").Behaviour,u=function(){this.HighlightRules=s,this.$behaviour=new o};r.inherits(u,i),function(){this.type="text",this.getNextLineIndent=function(e,t,n){return""},this.$id="ace/mode/plain_text"}.call(u.prototype),t.Mode=u}) diff --git a/public/ace/theme-chrome.js b/public/ace/theme-chrome.js deleted file mode 100644 index 29b01c7a..00000000 --- a/public/ace/theme-chrome.js +++ /dev/null @@ -1 +0,0 @@ -ace.define("ace/theme/chrome",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!1,t.cssClass="ace-chrome",t.cssText='.ace-chrome .ace_gutter {background: #ebebeb;color: #333;overflow : hidden;}.ace-chrome .ace_print-margin {width: 1px;background: #e8e8e8;}.ace-chrome {background-color: #FFFFFF;color: black;}.ace-chrome .ace_cursor {color: black;}.ace-chrome .ace_invisible {color: rgb(191, 191, 191);}.ace-chrome .ace_constant.ace_buildin {color: rgb(88, 72, 246);}.ace-chrome .ace_constant.ace_language {color: rgb(88, 92, 246);}.ace-chrome .ace_constant.ace_library {color: rgb(6, 150, 14);}.ace-chrome .ace_invalid {background-color: rgb(153, 0, 0);color: white;}.ace-chrome .ace_fold {}.ace-chrome .ace_support.ace_function {color: rgb(60, 76, 114);}.ace-chrome .ace_support.ace_constant {color: rgb(6, 150, 14);}.ace-chrome .ace_support.ace_type,.ace-chrome .ace_support.ace_class.ace-chrome .ace_support.ace_other {color: rgb(109, 121, 222);}.ace-chrome .ace_variable.ace_parameter {font-style:italic;color:#FD971F;}.ace-chrome .ace_keyword.ace_operator {color: rgb(104, 118, 135);}.ace-chrome .ace_comment {color: #236e24;}.ace-chrome .ace_comment.ace_doc {color: #236e24;}.ace-chrome .ace_comment.ace_doc.ace_tag {color: #236e24;}.ace-chrome .ace_constant.ace_numeric {color: rgb(0, 0, 205);}.ace-chrome .ace_variable {color: rgb(49, 132, 149);}.ace-chrome .ace_xml-pe {color: rgb(104, 104, 91);}.ace-chrome .ace_entity.ace_name.ace_function {color: #0000A2;}.ace-chrome .ace_heading {color: rgb(12, 7, 255);}.ace-chrome .ace_list {color:rgb(185, 6, 144);}.ace-chrome .ace_marker-layer .ace_selection {background: rgb(181, 213, 255);}.ace-chrome .ace_marker-layer .ace_step {background: rgb(252, 255, 0);}.ace-chrome .ace_marker-layer .ace_stack {background: rgb(164, 229, 101);}.ace-chrome .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgb(192, 192, 192);}.ace-chrome .ace_marker-layer .ace_active-line {background: rgba(0, 0, 0, 0.07);}.ace-chrome .ace_gutter-active-line {background-color : #dcdcdc;}.ace-chrome .ace_marker-layer .ace_selected-word {background: rgb(250, 250, 255);border: 1px solid rgb(200, 200, 250);}.ace-chrome .ace_storage,.ace-chrome .ace_keyword,.ace-chrome .ace_meta.ace_tag {color: rgb(147, 15, 128);}.ace-chrome .ace_string.ace_regex {color: rgb(255, 0, 0)}.ace-chrome .ace_string {color: #1A1AA6;}.ace-chrome .ace_entity.ace_other.ace_attribute-name {color: #994409;}.ace-chrome .ace_indent-guide {background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;}';var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}) \ No newline at end of file diff --git a/public/ace/worker-css.js b/public/ace/worker-css.js deleted file mode 100644 index 408c6bd0..00000000 --- a/public/ace/worker-css.js +++ /dev/null @@ -1 +0,0 @@ -"no use strict";(function(e){function t(e,t){var n=e,r="";while(n){var i=t[n];if(typeof i=="string")return i+r;if(i)return i.location.replace(/\/*$/,"/")+(r||i.main||i.name);if(i===!1)return"";var s=n.lastIndexOf("/");if(s===-1)break;r=n.substr(s)+r,n=n.slice(0,s)}return e}if(typeof e.window!="undefined"&&e.document)return;if(e.require&&e.define)return;e.console||(e.console=function(){var e=Array.prototype.slice.call(arguments,0);postMessage({type:"log",data:e})},e.console.error=e.console.warn=e.console.log=e.console.trace=e.console),e.window=e,e.ace=e,e.onerror=function(e,t,n,r,i){postMessage({type:"error",data:{message:e,data:i.data,file:t,line:n,col:r,stack:i.stack}})},e.normalizeModule=function(t,n){if(n.indexOf("!")!==-1){var r=n.split("!");return e.normalizeModule(t,r[0])+"!"+e.normalizeModule(t,r[1])}if(n.charAt(0)=="."){var i=t.split("/").slice(0,-1).join("/");n=(i?i+"/":"")+n;while(n.indexOf(".")!==-1&&s!=n){var s=n;n=n.replace(/^\.\//,"").replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}}return n},e.require=function(r,i){i||(i=r,r=null);if(!i.charAt)throw new Error("worker.js require() accepts only (parentId, id) as arguments");i=e.normalizeModule(r,i);var s=e.require.modules[i];if(s)return s.initialized||(s.initialized=!0,s.exports=s.factory().exports),s.exports;if(!e.require.tlns)return console.log("unable to load "+i);var o=t(i,e.require.tlns);return o.slice(-3)!=".js"&&(o+=".js"),e.require.id=i,e.require.modules[i]={},importScripts(o),e.require(r,i)},e.require.modules={},e.require.tlns={},e.define=function(t,n,r){arguments.length==2?(r=n,typeof t!="string"&&(n=t,t=e.require.id)):arguments.length==1&&(r=t,n=[],t=e.require.id);if(typeof r!="function"){e.require.modules[t]={exports:r,initialized:!0};return}n.length||(n=["require","exports","module"]);var i=function(n){return e.require(t,n)};e.require.modules[t]={exports:{},factory:function(){var e=this,t=r.apply(this,n.map(function(t){switch(t){case"require":return i;case"exports":return e.exports;case"module":return e;default:return i(t)}}));return t&&(e.exports=t),e}}},e.define.amd={},require.tlns={},e.initBaseUrls=function(t){for(var n in t)require.tlns[n]=t[n]},e.initSender=function(){var n=e.require("ace/lib/event_emitter").EventEmitter,r=e.require("ace/lib/oop"),i=function(){};return function(){r.implement(this,n),this.callback=function(e,t){postMessage({type:"call",id:t,data:e})},this.emit=function(e,t){postMessage({type:"event",name:e,data:t})}}.call(i.prototype),new i};var n=e.main=null,r=e.sender=null;e.onmessage=function(t){var i=t.data;if(i.event&&r)r._signal(i.event,i.data);else if(i.command)if(n[i.command])n[i.command].apply(n,i.args);else{if(!e[i.command])throw new Error("Unknown command:"+i.command);e[i.command].apply(e,i.args)}else if(i.init){e.initBaseUrls(i.tlns),require("ace/lib/es5-shim"),r=e.sender=e.initSender();var s=require(i.module)[i.classname];n=e.main=new s(r)}}})(this),ace.define("ace/lib/oop",["require","exports","module"],function(e,t,n){"use strict";t.inherits=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})},t.mixin=function(e,t){for(var n in t)e[n]=t[n];return e},t.implement=function(e,n){t.mixin(e,n)}}),ace.define("ace/lib/lang",["require","exports","module"],function(e,t,n){"use strict";t.last=function(e){return e[e.length-1]},t.stringReverse=function(e){return e.split("").reverse().join("")},t.stringRepeat=function(e,t){var n="";while(t>0){t&1&&(n+=e);if(t>>=1)e+=e}return n};var r=/^\s\s*/,i=/\s\s*$/;t.stringTrimLeft=function(e){return e.replace(r,"")},t.stringTrimRight=function(e){return e.replace(i,"")},t.copyObject=function(e){var t={};for(var n in e)t[n]=e[n];return t},t.copyArray=function(e){var t=[];for(var n=0,r=e.length;n ["+this.end.row+"/"+this.end.column+"]"},this.contains=function(e,t){return this.compare(e,t)==0},this.compareRange=function(e){var t,n=e.end,r=e.start;return t=this.compare(n.row,n.column),t==1?(t=this.compare(r.row,r.column),t==1?2:t==0?1:0):t==-1?-2:(t=this.compare(r.row,r.column),t==-1?-1:t==1?42:0)},this.comparePoint=function(e){return this.compare(e.row,e.column)},this.containsRange=function(e){return this.comparePoint(e.start)==0&&this.comparePoint(e.end)==0},this.intersects=function(e){var t=this.compareRange(e);return t==-1||t==0||t==1},this.isEnd=function(e,t){return this.end.row==e&&this.end.column==t},this.isStart=function(e,t){return this.start.row==e&&this.start.column==t},this.setStart=function(e,t){typeof e=="object"?(this.start.column=e.column,this.start.row=e.row):(this.start.row=e,this.start.column=t)},this.setEnd=function(e,t){typeof e=="object"?(this.end.column=e.column,this.end.row=e.row):(this.end.row=e,this.end.column=t)},this.inside=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)||this.isStart(e,t)?!1:!0:!1},this.insideStart=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)?!1:!0:!1},this.insideEnd=function(e,t){return this.compare(e,t)==0?this.isStart(e,t)?!1:!0:!1},this.compare=function(e,t){return!this.isMultiLine()&&e===this.start.row?tthis.end.column?1:0:ethis.end.row?1:this.start.row===e?t>=this.start.column?0:-1:this.end.row===e?t<=this.end.column?0:1:0},this.compareStart=function(e,t){return this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.compareEnd=function(e,t){return this.end.row==e&&this.end.column==t?1:this.compare(e,t)},this.compareInside=function(e,t){return this.end.row==e&&this.end.column==t?1:this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.clipRows=function(e,t){if(this.end.row>t)var n={row:t+1,column:0};else if(this.end.rowt)var r={row:t+1,column:0};else if(this.start.row=0&&t.row=0&&t.column<=e[t.row].length}function s(e,t){t.action!="insert"&&t.action!="remove"&&r(t,"delta.action must be 'insert' or 'remove'"),t.lines instanceof Array||r(t,"delta.lines must be an Array"),(!t.start||!t.end)&&r(t,"delta.start/end must be an present");var n=t.start;i(e,t.start)||r(t,"delta.start must be contained in document");var s=t.end;t.action=="remove"&&!i(e,s)&&r(t,"delta.end must contained in document for 'remove' actions");var o=s.row-n.row,u=s.column-(o==0?n.column:0);(o!=t.lines.length-1||t.lines[o].length!=u)&&r(t,"delta.range must match delta lines")}t.applyDelta=function(e,t,n){var r=t.start.row,i=t.start.column,s=e[r]||"";switch(t.action){case"insert":var o=t.lines;if(o.length===1)e[r]=s.substring(0,i)+t.lines[0]+s.substring(i);else{var u=[r,1].concat(t.lines);e.splice.apply(e,u),e[r]=s.substring(0,i)+e[r],e[r+t.lines.length-1]+=s.substring(i)}break;case"remove":var a=t.end.column,f=t.end.row;r===f?e[r]=s.substring(0,i)+s.substring(a):e.splice(r,f-r+1,s.substring(0,i)+e[f].substring(a))}}}),ace.define("ace/lib/event_emitter",["require","exports","module"],function(e,t,n){"use strict";var r={},i=function(){this.propagationStopped=!0},s=function(){this.defaultPrevented=!0};r._emit=r._dispatchEvent=function(e,t){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var n=this._eventRegistry[e]||[],r=this._defaultHandlers[e];if(!n.length&&!r)return;if(typeof t!="object"||!t)t={};t.type||(t.type=e),t.stopPropagation||(t.stopPropagation=i),t.preventDefault||(t.preventDefault=s),n=n.slice();for(var o=0;othis.row)return;var n=t(e,{row:this.row,column:this.column},this.$insertRight);this.setPosition(n.row,n.column,!0)},this.setPosition=function(e,t,n){var r;n?r={row:e,column:t}:r=this.$clipPositionToDocument(e,t);if(this.row==r.row&&this.column==r.column)return;var i={row:this.row,column:this.column};this.row=r.row,this.column=r.column,this._signal("change",{old:i,value:r})},this.detach=function(){this.document.removeEventListener("change",this.$onChange)},this.attach=function(e){this.document=e||this.document,this.document.on("change",this.$onChange)},this.$clipPositionToDocument=function(e,t){var n={};return e>=this.document.getLength()?(n.row=Math.max(0,this.document.getLength()-1),n.column=this.document.getLine(n.row).length):e<0?(n.row=0,n.column=0):(n.row=e,n.column=Math.min(this.document.getLine(n.row).length,Math.max(0,t))),t<0&&(n.column=0),n}}).call(s.prototype)}),ace.define("ace/document",["require","exports","module","ace/lib/oop","ace/apply_delta","ace/lib/event_emitter","ace/range","ace/anchor"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./apply_delta").applyDelta,s=e("./lib/event_emitter").EventEmitter,o=e("./range").Range,u=e("./anchor").Anchor,a=function(e){this.$lines=[""],e.length===0?this.$lines=[""]:Array.isArray(e)?this.insertMergedLines({row:0,column:0},e):this.insert({row:0,column:0},e)};(function(){r.implement(this,s),this.setValue=function(e){var t=this.getLength()-1;this.remove(new o(0,0,t,this.getLine(t).length)),this.insert({row:0,column:0},e)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(e,t){return new u(this,e,t)},"aaa".split(/a/).length===0?this.$split=function(e){return e.replace(/\r\n|\r/g,"\n").split("\n")}:this.$split=function(e){return e.split(/\r\n|\r|\n/)},this.$detectNewLine=function(e){var t=e.match(/^.*?(\r\n|\r|\n)/m);this.$autoNewLine=t?t[1]:"\n",this._signal("changeNewLineMode")},this.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return"\r\n";case"unix":return"\n";default:return this.$autoNewLine||"\n"}},this.$autoNewLine="",this.$newLineMode="auto",this.setNewLineMode=function(e){if(this.$newLineMode===e)return;this.$newLineMode=e,this._signal("changeNewLineMode")},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(e){return e=="\r\n"||e=="\r"||e=="\n"},this.getLine=function(e){return this.$lines[e]||""},this.getLines=function(e,t){return this.$lines.slice(e,t+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(e){return this.getLinesForRange(e).join(this.getNewLineCharacter())},this.getLinesForRange=function(e){var t;if(e.start.row===e.end.row)t=[this.getLine(e.start.row).substring(e.start.column,e.end.column)];else{t=this.getLines(e.start.row,e.end.row),t[0]=(t[0]||"").substring(e.start.column);var n=t.length-1;e.end.row-e.start.row==n&&(t[n]=t[n].substring(0,e.end.column))}return t},this.insertLines=function(e,t){return console.warn("Use of document.insertLines is deprecated. Use the insertFullLines method instead."),this.insertFullLines(e,t)},this.removeLines=function(e,t){return console.warn("Use of document.removeLines is deprecated. Use the removeFullLines method instead."),this.removeFullLines(e,t)},this.insertNewLine=function(e){return console.warn("Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead."),this.insertMergedLines(e,["",""])},this.insert=function(e,t){return this.getLength()<=1&&this.$detectNewLine(t),this.insertMergedLines(e,this.$split(t))},this.insertInLine=function(e,t){var n=this.clippedPos(e.row,e.column),r=this.pos(e.row,e.column+t.length);return this.applyDelta({start:n,end:r,action:"insert",lines:[t]},!0),this.clonePos(r)},this.clippedPos=function(e,t){var n=this.getLength();e===undefined?e=n:e<0?e=0:e>=n&&(e=n-1,t=undefined);var r=this.getLine(e);return t==undefined&&(t=r.length),t=Math.min(Math.max(t,0),r.length),{row:e,column:t}},this.clonePos=function(e){return{row:e.row,column:e.column}},this.pos=function(e,t){return{row:e,column:t}},this.$clipPosition=function(e){var t=this.getLength();return e.row>=t?(e.row=Math.max(0,t-1),e.column=this.getLine(t-1).length):(e.row=Math.max(0,e.row),e.column=Math.min(Math.max(e.column,0),this.getLine(e.row).length)),e},this.insertFullLines=function(e,t){e=Math.min(Math.max(e,0),this.getLength());var n=0;e0,r=t=0&&this.applyDelta({start:this.pos(e,this.getLine(e).length),end:this.pos(e+1,0),action:"remove",lines:["",""]})},this.replace=function(e,t){e instanceof o||(e=o.fromPoints(e.start,e.end));if(t.length===0&&e.isEmpty())return e.start;if(t==this.getTextRange(e))return e.end;this.remove(e);var n;return t?n=this.insert(e.start,t):n=e.start,n},this.applyDeltas=function(e){for(var t=0;t=0;t--)this.revertDelta(e[t])},this.applyDelta=function(e,t){var n=e.action=="insert";if(n?e.lines.length<=1&&!e.lines[0]:!o.comparePoints(e.start,e.end))return;n&&e.lines.length>2e4&&this.$splitAndapplyLargeDelta(e,2e4),i(this.$lines,e,t),this._signal("change",e)},this.$splitAndapplyLargeDelta=function(e,t){var n=e.lines,r=n.length,i=e.start.row,s=e.start.column,o=0,u=0;do{o=u,u+=t-1;var a=n.slice(o,u);if(u>r){e.lines=a,e.start.row=i+o,e.start.column=s;break}a.push(""),this.applyDelta({start:this.pos(i+o,s),end:this.pos(i+u,s=0),action:e.action,lines:a},!0)}while(!0)},this.revertDelta=function(e){this.applyDelta({start:this.clonePos(e.start),end:this.clonePos(e.end),action:e.action=="insert"?"remove":"insert",lines:e.lines.slice()})},this.indexToPosition=function(e,t){var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length;for(var i=t||0,s=n.length;i=0&&this._ltIndex-1&&!t[u.type].hide&&(u.channel=t[u.type].channel,this._token=u,this._lt.push(u),this._ltIndexCache.push(this._lt.length-this._ltIndex+i),this._lt.length>5&&this._lt.shift(),this._ltIndexCache.length>5&&this._ltIndexCache.shift(),this._ltIndex=this._lt.length),a=t[u.type],a&&(a.hide||a.channel!==undefined&&e!==a.channel)?this.get(e):u.type},LA:function(e){var t=e,n;if(e>0){if(e>5)throw new Error("Too much lookahead.");while(t)n=this.get(),t--;while(tthis._tokenData.length?"UNKNOWN_TOKEN":this._tokenData[e].name},tokenType:function(e){return this._tokenData[e]||-1},unget:function(){if(!this._ltIndexCache.length)throw new Error("Too much lookahead.");this._ltIndex-=this._ltIndexCache.pop(),this._token=this._lt[this._ltIndex-1]}},parserlib.util={StringReader:t,SyntaxError:n,SyntaxUnit:r,EventTarget:e,TokenStreamBase:i}})(),function(){function Combinator(e,t,n){SyntaxUnit.call(this,e,t,n,Parser.COMBINATOR_TYPE),this.type="unknown",/^\s+$/.test(e)?this.type="descendant":e==">"?this.type="child":e=="+"?this.type="adjacent-sibling":e=="~"&&(this.type="sibling")}function MediaFeature(e,t){SyntaxUnit.call(this,"("+e+(t!==null?":"+t:"")+")",e.startLine,e.startCol,Parser.MEDIA_FEATURE_TYPE),this.name=e,this.value=t}function MediaQuery(e,t,n,r,i){SyntaxUnit.call(this,(e?e+" ":"")+(t?t:"")+(t&&n.length>0?" and ":"")+n.join(" and "),r,i,Parser.MEDIA_QUERY_TYPE),this.modifier=e,this.mediaType=t,this.features=n}function Parser(e){EventTarget.call(this),this.options=e||{},this._tokenStream=null}function PropertyName(e,t,n,r){SyntaxUnit.call(this,e,n,r,Parser.PROPERTY_NAME_TYPE),this.hack=t}function PropertyValue(e,t,n){SyntaxUnit.call(this,e.join(" "),t,n,Parser.PROPERTY_VALUE_TYPE),this.parts=e}function PropertyValueIterator(e){this._i=0,this._parts=e.parts,this._marks=[],this.value=e}function PropertyValuePart(text,line,col){SyntaxUnit.call(this,text,line,col,Parser.PROPERTY_VALUE_PART_TYPE),this.type="unknown";var temp;if(/^([+\-]?[\d\.]+)([a-z]+)$/i.test(text)){this.type="dimension",this.value=+RegExp.$1,this.units=RegExp.$2;switch(this.units.toLowerCase()){case"em":case"rem":case"ex":case"px":case"cm":case"mm":case"in":case"pt":case"pc":case"ch":case"vh":case"vw":case"vmax":case"vmin":this.type="length";break;case"deg":case"rad":case"grad":this.type="angle";break;case"ms":case"s":this.type="time";break;case"hz":case"khz":this.type="frequency";break;case"dpi":case"dpcm":this.type="resolution"}}else/^([+\-]?[\d\.]+)%$/i.test(text)?(this.type="percentage",this.value=+RegExp.$1):/^([+\-]?\d+)$/i.test(text)?(this.type="integer",this.value=+RegExp.$1):/^([+\-]?[\d\.]+)$/i.test(text)?(this.type="number",this.value=+RegExp.$1):/^#([a-f0-9]{3,6})/i.test(text)?(this.type="color",temp=RegExp.$1,temp.length==3?(this.red=parseInt(temp.charAt(0)+temp.charAt(0),16),this.green=parseInt(temp.charAt(1)+temp.charAt(1),16),this.blue=parseInt(temp.charAt(2)+temp.charAt(2),16)):(this.red=parseInt(temp.substring(0,2),16),this.green=parseInt(temp.substring(2,4),16),this.blue=parseInt(temp.substring(4,6),16))):/^rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/i.test(text)?(this.type="color",this.red=+RegExp.$1,this.green=+RegExp.$2,this.blue=+RegExp.$3):/^rgb\(\s*(\d+)%\s*,\s*(\d+)%\s*,\s*(\d+)%\s*\)/i.test(text)?(this.type="color",this.red=+RegExp.$1*255/100,this.green=+RegExp.$2*255/100,this.blue=+RegExp.$3*255/100):/^rgba\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*([\d\.]+)\s*\)/i.test(text)?(this.type="color",this.red=+RegExp.$1,this.green=+RegExp.$2,this.blue=+RegExp.$3,this.alpha=+RegExp.$4):/^rgba\(\s*(\d+)%\s*,\s*(\d+)%\s*,\s*(\d+)%\s*,\s*([\d\.]+)\s*\)/i.test(text)?(this.type="color",this.red=+RegExp.$1*255/100,this.green=+RegExp.$2*255/100,this.blue=+RegExp.$3*255/100,this.alpha=+RegExp.$4):/^hsl\(\s*(\d+)\s*,\s*(\d+)%\s*,\s*(\d+)%\s*\)/i.test(text)?(this.type="color",this.hue=+RegExp.$1,this.saturation=+RegExp.$2/100,this.lightness=+RegExp.$3/100):/^hsla\(\s*(\d+)\s*,\s*(\d+)%\s*,\s*(\d+)%\s*,\s*([\d\.]+)\s*\)/i.test(text)?(this.type="color",this.hue=+RegExp.$1,this.saturation=+RegExp.$2/100,this.lightness=+RegExp.$3/100,this.alpha=+RegExp.$4):/^url\(["']?([^\)"']+)["']?\)/i.test(text)?(this.type="uri",this.uri=RegExp.$1):/^([^\(]+)\(/i.test(text)?(this.type="function",this.name=RegExp.$1,this.value=text):/^["'][^"']*["']/.test(text)?(this.type="string",this.value=eval(text)):Colors[text.toLowerCase()]?(this.type="color",temp=Colors[text.toLowerCase()].substring(1),this.red=parseInt(temp.substring(0,2),16),this.green=parseInt(temp.substring(2,4),16),this.blue=parseInt(temp.substring(4,6),16)):/^[\,\/]$/.test(text)?(this.type="operator",this.value=text):/^[a-z\-_\u0080-\uFFFF][a-z0-9\-_\u0080-\uFFFF]*$/i.test(text)&&(this.type="identifier",this.value=text)}function Selector(e,t,n){SyntaxUnit.call(this,e.join(" "),t,n,Parser.SELECTOR_TYPE),this.parts=e,this.specificity=Specificity.calculate(this)}function SelectorPart(e,t,n,r,i){SyntaxUnit.call(this,n,r,i,Parser.SELECTOR_PART_TYPE),this.elementName=e,this.modifiers=t}function SelectorSubPart(e,t,n,r){SyntaxUnit.call(this,e,n,r,Parser.SELECTOR_SUB_PART_TYPE),this.type=t,this.args=[]}function Specificity(e,t,n,r){this.a=e,this.b=t,this.c=n,this.d=r}function isHexDigit(e){return e!==null&&h.test(e)}function isDigit(e){return e!==null&&/\d/.test(e)}function isWhitespace(e){return e!==null&&/\s/.test(e)}function isNewLine(e){return e!==null&&nl.test(e)}function isNameStart(e){return e!==null&&/[a-z_\u0080-\uFFFF\\]/i.test(e)}function isNameChar(e){return e!==null&&(isNameStart(e)||/[0-9\-\\]/.test(e))}function isIdentStart(e){return e!==null&&(isNameStart(e)||/\-\\/.test(e))}function mix(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);return e}function TokenStream(e){TokenStreamBase.call(this,e,Tokens)}function ValidationError(e,t,n){this.col=n,this.line=t,this.message=e}var EventTarget=parserlib.util.EventTarget,TokenStreamBase=parserlib.util.TokenStreamBase,StringReader=parserlib.util.StringReader,SyntaxError=parserlib.util.SyntaxError,SyntaxUnit=parserlib.util.SyntaxUnit,Colors={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgrey:"#a9a9a9",darkgreen:"#006400",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:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",grey:"#808080",green:"#008000",greenyellow:"#adff2f",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",lightgrey:"#d3d3d3",lightgreen:"#90ee90",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370d8",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:"#d87093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",red:"#ff0000",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:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32",activeBorder:"Active window border.",activecaption:"Active window caption.",appworkspace:"Background color of multiple document interface.",background:"Desktop background.",buttonface:"The face background color for 3-D elements that appear 3-D due to one layer of surrounding border.",buttonhighlight:"The color of the border facing the light source for 3-D elements that appear 3-D due to one layer of surrounding border.",buttonshadow:"The color of the border away from the light source for 3-D elements that appear 3-D due to one layer of surrounding border.",buttontext:"Text on push buttons.",captiontext:"Text in caption, size box, and scrollbar arrow box.",graytext:"Grayed (disabled) text. This color is set to #000 if the current display driver does not support a solid gray color.",greytext:"Greyed (disabled) text. This color is set to #000 if the current display driver does not support a solid grey color.",highlight:"Item(s) selected in a control.",highlighttext:"Text of item(s) selected in a control.",inactiveborder:"Inactive window border.",inactivecaption:"Inactive window caption.",inactivecaptiontext:"Color of text in an inactive caption.",infobackground:"Background color for tooltip controls.",infotext:"Text color for tooltip controls.",menu:"Menu background.",menutext:"Text in menus.",scrollbar:"Scroll bar gray area.",threeddarkshadow:"The color of the darker (generally outer) of the two borders away from the light source for 3-D elements that appear 3-D due to two concentric layers of surrounding border.",threedface:"The face background color for 3-D elements that appear 3-D due to two concentric layers of surrounding border.",threedhighlight:"The color of the lighter (generally outer) of the two borders facing the light source for 3-D elements that appear 3-D due to two concentric layers of surrounding border.",threedlightshadow:"The color of the darker (generally inner) of the two borders facing the light source for 3-D elements that appear 3-D due to two concentric layers of surrounding border.",threedshadow:"The color of the lighter (generally inner) of the two borders away from the light source for 3-D elements that appear 3-D due to two concentric layers of surrounding border.",window:"Window background.",windowframe:"Window frame.",windowtext:"Text in windows."};Combinator.prototype=new SyntaxUnit,Combinator.prototype.constructor=Combinator,MediaFeature.prototype=new SyntaxUnit,MediaFeature.prototype.constructor=MediaFeature,MediaQuery.prototype=new SyntaxUnit,MediaQuery.prototype.constructor=MediaQuery,Parser.DEFAULT_TYPE=0,Parser.COMBINATOR_TYPE=1,Parser.MEDIA_FEATURE_TYPE=2,Parser.MEDIA_QUERY_TYPE=3,Parser.PROPERTY_NAME_TYPE=4,Parser.PROPERTY_VALUE_TYPE=5,Parser.PROPERTY_VALUE_PART_TYPE=6,Parser.SELECTOR_TYPE=7,Parser.SELECTOR_PART_TYPE=8,Parser.SELECTOR_SUB_PART_TYPE=9,Parser.prototype=function(){var e=new EventTarget,t,n={constructor:Parser,DEFAULT_TYPE:0,COMBINATOR_TYPE:1,MEDIA_FEATURE_TYPE:2,MEDIA_QUERY_TYPE:3,PROPERTY_NAME_TYPE:4,PROPERTY_VALUE_TYPE:5,PROPERTY_VALUE_PART_TYPE:6,SELECTOR_TYPE:7,SELECTOR_PART_TYPE:8,SELECTOR_SUB_PART_TYPE:9,_stylesheet:function(){var e=this._tokenStream,t=null,n,r,i;this.fire("startstylesheet"),this._charset(),this._skipCruft();while(e.peek()==Tokens.IMPORT_SYM)this._import(),this._skipCruft();while(e.peek()==Tokens.NAMESPACE_SYM)this._namespace(),this._skipCruft();i=e.peek();while(i>Tokens.EOF){try{switch(i){case Tokens.MEDIA_SYM:this._media(),this._skipCruft();break;case Tokens.PAGE_SYM:this._page(),this._skipCruft();break;case Tokens.FONT_FACE_SYM:this._font_face(),this._skipCruft();break;case Tokens.KEYFRAMES_SYM:this._keyframes(),this._skipCruft();break;case Tokens.VIEWPORT_SYM:this._viewport(),this._skipCruft();break;case Tokens.UNKNOWN_SYM:e.get();if(!!this.options.strict)throw new SyntaxError("Unknown @ rule.",e.LT(0).startLine,e.LT(0).startCol);this.fire({type:"error",error:null,message:"Unknown @ rule: "+e.LT(0).value+".",line:e.LT(0).startLine,col:e.LT(0).startCol}),n=0;while(e.advance([Tokens.LBRACE,Tokens.RBRACE])==Tokens.LBRACE)n++;while(n)e.advance([Tokens.RBRACE]),n--;break;case Tokens.S:this._readWhitespace();break;default:if(!this._ruleset())switch(i){case Tokens.CHARSET_SYM:throw r=e.LT(1),this._charset(!1),new SyntaxError("@charset not allowed here.",r.startLine,r.startCol);case Tokens.IMPORT_SYM:throw r=e.LT(1),this._import(!1),new SyntaxError("@import not allowed here.",r.startLine,r.startCol);case Tokens.NAMESPACE_SYM:throw r=e.LT(1),this._namespace(!1),new SyntaxError("@namespace not allowed here.",r.startLine,r.startCol);default:e.get(),this._unexpectedToken(e.token())}}}catch(s){if(!(s instanceof SyntaxError&&!this.options.strict))throw s;this.fire({type:"error",error:s,message:s.message,line:s.line,col:s.col})}i=e.peek()}i!=Tokens.EOF&&this._unexpectedToken(e.token()),this.fire("endstylesheet")},_charset:function(e){var t=this._tokenStream,n,r,i,s;t.match(Tokens.CHARSET_SYM)&&(i=t.token().startLine,s=t.token().startCol,this._readWhitespace(),t.mustMatch(Tokens.STRING),r=t.token(),n=r.value,this._readWhitespace(),t.mustMatch(Tokens.SEMICOLON),e!==!1&&this.fire({type:"charset",charset:n,line:i,col:s}))},_import:function(e){var t=this._tokenStream,n,r,i,s=[];t.mustMatch(Tokens.IMPORT_SYM),i=t.token(),this._readWhitespace(),t.mustMatch([Tokens.STRING,Tokens.URI]),r=t.token().value.replace(/^(?:url\()?["']?([^"']+?)["']?\)?$/,"$1"),this._readWhitespace(),s=this._media_query_list(),t.mustMatch(Tokens.SEMICOLON),this._readWhitespace(),e!==!1&&this.fire({type:"import",uri:r,media:s,line:i.startLine,col:i.startCol})},_namespace:function(e){var t=this._tokenStream,n,r,i,s;t.mustMatch(Tokens.NAMESPACE_SYM),n=t.token().startLine,r=t.token().startCol,this._readWhitespace(),t.match(Tokens.IDENT)&&(i=t.token().value,this._readWhitespace()),t.mustMatch([Tokens.STRING,Tokens.URI]),s=t.token().value.replace(/(?:url\()?["']([^"']+)["']\)?/,"$1"),this._readWhitespace(),t.mustMatch(Tokens.SEMICOLON),this._readWhitespace(),e!==!1&&this.fire({type:"namespace",prefix:i,uri:s,line:n,col:r})},_media:function(){var e=this._tokenStream,t,n,r;e.mustMatch(Tokens.MEDIA_SYM),t=e.token().startLine,n=e.token().startCol,this._readWhitespace(),r=this._media_query_list(),e.mustMatch(Tokens.LBRACE),this._readWhitespace(),this.fire({type:"startmedia",media:r,line:t,col:n});for(;;)if(e.peek()==Tokens.PAGE_SYM)this._page();else if(e.peek()==Tokens.FONT_FACE_SYM)this._font_face();else if(e.peek()==Tokens.VIEWPORT_SYM)this._viewport();else if(!this._ruleset())break;e.mustMatch(Tokens.RBRACE),this._readWhitespace(),this.fire({type:"endmedia",media:r,line:t,col:n})},_media_query_list:function(){var e=this._tokenStream,t=[];this._readWhitespace(),(e.peek()==Tokens.IDENT||e.peek()==Tokens.LPAREN)&&t.push(this._media_query());while(e.match(Tokens.COMMA))this._readWhitespace(),t.push(this._media_query());return t},_media_query:function(){var e=this._tokenStream,t=null,n=null,r=null,i=[];e.match(Tokens.IDENT)&&(n=e.token().value.toLowerCase(),n!="only"&&n!="not"?(e.unget(),n=null):r=e.token()),this._readWhitespace(),e.peek()==Tokens.IDENT?(t=this._media_type(),r===null&&(r=e.token())):e.peek()==Tokens.LPAREN&&(r===null&&(r=e.LT(1)),i.push(this._media_expression()));if(t===null&&i.length===0)return null;this._readWhitespace();while(e.match(Tokens.IDENT))e.token().value.toLowerCase()!="and"&&this._unexpectedToken(e.token()),this._readWhitespace(),i.push(this._media_expression());return new MediaQuery(n,t,i,r.startLine,r.startCol)},_media_type:function(){return this._media_feature()},_media_expression:function(){var e=this._tokenStream,t=null,n,r=null;return e.mustMatch(Tokens.LPAREN),t=this._media_feature(),this._readWhitespace(),e.match(Tokens.COLON)&&(this._readWhitespace(),n=e.LT(1),r=this._expression()),e.mustMatch(Tokens.RPAREN),this._readWhitespace(),new MediaFeature(t,r?new SyntaxUnit(r,n.startLine,n.startCol):null)},_media_feature:function(){var e=this._tokenStream;return e.mustMatch(Tokens.IDENT),SyntaxUnit.fromToken(e.token())},_page:function(){var e=this._tokenStream,t,n,r=null,i=null;e.mustMatch(Tokens.PAGE_SYM),t=e.token().startLine,n=e.token().startCol,this._readWhitespace(),e.match(Tokens.IDENT)&&(r=e.token().value,r.toLowerCase()==="auto"&&this._unexpectedToken(e.token())),e.peek()==Tokens.COLON&&(i=this._pseudo_page()),this._readWhitespace(),this.fire({type:"startpage",id:r,pseudo:i,line:t,col:n}),this._readDeclarations(!0,!0),this.fire({type:"endpage",id:r,pseudo:i,line:t,col:n})},_margin:function(){var e=this._tokenStream,t,n,r=this._margin_sym();return r?(t=e.token().startLine,n=e.token().startCol,this.fire({type:"startpagemargin",margin:r,line:t,col:n}),this._readDeclarations(!0),this.fire({type:"endpagemargin",margin:r,line:t,col:n}),!0):!1},_margin_sym:function(){var e=this._tokenStream;return e.match([Tokens.TOPLEFTCORNER_SYM,Tokens.TOPLEFT_SYM,Tokens.TOPCENTER_SYM,Tokens.TOPRIGHT_SYM,Tokens.TOPRIGHTCORNER_SYM,Tokens.BOTTOMLEFTCORNER_SYM,Tokens.BOTTOMLEFT_SYM,Tokens.BOTTOMCENTER_SYM,Tokens.BOTTOMRIGHT_SYM,Tokens.BOTTOMRIGHTCORNER_SYM,Tokens.LEFTTOP_SYM,Tokens.LEFTMIDDLE_SYM,Tokens.LEFTBOTTOM_SYM,Tokens.RIGHTTOP_SYM,Tokens.RIGHTMIDDLE_SYM,Tokens.RIGHTBOTTOM_SYM])?SyntaxUnit.fromToken(e.token()):null},_pseudo_page:function(){var e=this._tokenStream;return e.mustMatch(Tokens.COLON),e.mustMatch(Tokens.IDENT),e.token().value},_font_face:function(){var e=this._tokenStream,t,n;e.mustMatch(Tokens.FONT_FACE_SYM),t=e.token().startLine,n=e.token().startCol,this._readWhitespace(),this.fire({type:"startfontface",line:t,col:n}),this._readDeclarations(!0),this.fire({type:"endfontface",line:t,col:n})},_viewport:function(){var e=this._tokenStream,t,n;e.mustMatch(Tokens.VIEWPORT_SYM),t=e.token().startLine,n=e.token().startCol,this._readWhitespace(),this.fire({type:"startviewport",line:t,col:n}),this._readDeclarations(!0),this.fire({type:"endviewport",line:t,col:n})},_operator:function(e){var t=this._tokenStream,n=null;if(t.match([Tokens.SLASH,Tokens.COMMA])||e&&t.match([Tokens.PLUS,Tokens.STAR,Tokens.MINUS]))n=t.token(),this._readWhitespace();return n?PropertyValuePart.fromToken(n):null},_combinator:function(){var e=this._tokenStream,t=null,n;return e.match([Tokens.PLUS,Tokens.GREATER,Tokens.TILDE])&&(n=e.token(),t=new Combinator(n.value,n.startLine,n.startCol),this._readWhitespace()),t},_unary_operator:function(){var e=this._tokenStream;return e.match([Tokens.MINUS,Tokens.PLUS])?e.token().value:null},_property:function(){var e=this._tokenStream,t=null,n=null,r,i,s,o;return e.peek()==Tokens.STAR&&this.options.starHack&&(e.get(),i=e.token(),n=i.value,s=i.startLine,o=i.startCol),e.match(Tokens.IDENT)&&(i=e.token(),r=i.value,r.charAt(0)=="_"&&this.options.underscoreHack&&(n="_",r=r.substring(1)),t=new PropertyName(r,n,s||i.startLine,o||i.startCol),this._readWhitespace()),t},_ruleset:function(){var e=this._tokenStream,t,n;try{n=this._selectors_group()}catch(r){if(r instanceof SyntaxError&&!this.options.strict){this.fire({type:"error",error:r,message:r.message,line:r.line,col:r.col}),t=e.advance([Tokens.RBRACE]);if(t!=Tokens.RBRACE)throw r;return!0}throw r}return n&&(this.fire({type:"startrule",selectors:n,line:n[0].line,col:n[0].col}),this._readDeclarations(!0),this.fire({type:"endrule",selectors:n,line:n[0].line,col:n[0].col})),n},_selectors_group:function(){var e=this._tokenStream,t=[],n;n=this._selector();if(n!==null){t.push(n);while(e.match(Tokens.COMMA))this._readWhitespace(),n=this._selector(),n!==null?t.push(n):this._unexpectedToken(e.LT(1))}return t.length?t:null},_selector:function(){var e=this._tokenStream,t=[],n=null,r=null,i=null;n=this._simple_selector_sequence();if(n===null)return null;t.push(n);do{r=this._combinator();if(r!==null)t.push(r),n=this._simple_selector_sequence(),n===null?this._unexpectedToken(e.LT(1)):t.push(n);else{if(!this._readWhitespace())break;i=new Combinator(e.token().value,e.token().startLine,e.token().startCol),r=this._combinator(),n=this._simple_selector_sequence(),n===null?r!==null&&this._unexpectedToken(e.LT(1)):(r!==null?t.push(r):t.push(i),t.push(n))}}while(!0);return new Selector(t,t[0].line,t[0].col)},_simple_selector_sequence:function(){var e=this._tokenStream,t=null,n=[],r="",i=[function(){return e.match(Tokens.HASH)?new SelectorSubPart(e.token().value,"id",e.token().startLine,e.token().startCol):null},this._class,this._attrib,this._pseudo,this._negation],s=0,o=i.length,u=null,a=!1,f,l;f=e.LT(1).startLine,l=e.LT(1).startCol,t=this._type_selector(),t||(t=this._universal()),t!==null&&(r+=t);for(;;){if(e.peek()===Tokens.S)break;while(s1&&e.unget()),null)},_class:function(){var e=this._tokenStream,t;return e.match(Tokens.DOT)?(e.mustMatch(Tokens.IDENT),t=e.token(),new SelectorSubPart("."+t.value,"class",t.startLine,t.startCol-1)):null},_element_name:function(){var e=this._tokenStream,t;return e.match(Tokens.IDENT)?(t=e.token(),new SelectorSubPart(t.value,"elementName",t.startLine,t.startCol)):null},_namespace_prefix:function(){var e=this._tokenStream,t="";if(e.LA(1)===Tokens.PIPE||e.LA(2)===Tokens.PIPE)e.match([Tokens.IDENT,Tokens.STAR])&&(t+=e.token().value),e.mustMatch(Tokens.PIPE),t+="|";return t.length?t:null},_universal:function(){var e=this._tokenStream,t="",n;return n=this._namespace_prefix(),n&&(t+=n),e.match(Tokens.STAR)&&(t+="*"),t.length?t:null},_attrib:function(){var e=this._tokenStream,t=null,n,r;return e.match(Tokens.LBRACKET)?(r=e.token(),t=r.value,t+=this._readWhitespace(),n=this._namespace_prefix(),n&&(t+=n),e.mustMatch(Tokens.IDENT),t+=e.token().value,t+=this._readWhitespace(),e.match([Tokens.PREFIXMATCH,Tokens.SUFFIXMATCH,Tokens.SUBSTRINGMATCH,Tokens.EQUALS,Tokens.INCLUDES,Tokens.DASHMATCH])&&(t+=e.token().value,t+=this._readWhitespace(),e.mustMatch([Tokens.IDENT,Tokens.STRING]),t+=e.token().value,t+=this._readWhitespace()),e.mustMatch(Tokens.RBRACKET),new SelectorSubPart(t+"]","attribute",r.startLine,r.startCol)):null},_pseudo:function(){var e=this._tokenStream,t=null,n=":",r,i;return e.match(Tokens.COLON)&&(e.match(Tokens.COLON)&&(n+=":"),e.match(Tokens.IDENT)?(t=e.token().value,r=e.token().startLine,i=e.token().startCol-n.length):e.peek()==Tokens.FUNCTION&&(r=e.LT(1).startLine,i=e.LT(1).startCol-n.length,t=this._functional_pseudo()),t&&(t=new SelectorSubPart(n+t,"pseudo",r,i))),t},_functional_pseudo:function(){var e=this._tokenStream,t=null;return e.match(Tokens.FUNCTION)&&(t=e.token().value,t+=this._readWhitespace(),t+=this._expression(),e.mustMatch(Tokens.RPAREN),t+=")"),t},_expression:function(){var e=this._tokenStream,t="";while(e.match([Tokens.PLUS,Tokens.MINUS,Tokens.DIMENSION,Tokens.NUMBER,Tokens.STRING,Tokens.IDENT,Tokens.LENGTH,Tokens.FREQ,Tokens.ANGLE,Tokens.TIME,Tokens.RESOLUTION,Tokens.SLASH]))t+=e.token().value,t+=this._readWhitespace();return t.length?t:null},_negation:function(){var e=this._tokenStream,t,n,r="",i,s=null;return e.match(Tokens.NOT)&&(r=e.token().value,t=e.token().startLine,n=e.token().startCol,r+=this._readWhitespace(),i=this._negation_arg(),r+=i,r+=this._readWhitespace(),e.match(Tokens.RPAREN),r+=e.token().value,s=new SelectorSubPart(r,"not",t,n),s.args.push(i)),s},_negation_arg:function(){var e=this._tokenStream,t=[this._type_selector,this._universal,function(){return e.match(Tokens.HASH)?new SelectorSubPart(e.token().value,"id",e.token().startLine,e.token().startCol):null},this._class,this._attrib,this._pseudo],n=null,r=0,i=t.length,s,o,u,a;o=e.LT(1).startLine,u=e.LT(1).startCol;while(r0?new PropertyValue(n,n[0].line,n[0].col):null},_term:function(e){var t=this._tokenStream,n=null,r=null,i=null,s,o,u;return n=this._unary_operator(),n!==null&&(o=t.token().startLine,u=t.token().startCol),t.peek()==Tokens.IE_FUNCTION&&this.options.ieFilters?(r=this._ie_function(),n===null&&(o=t.token().startLine,u=t.token().startCol)):e&&t.match([Tokens.LPAREN,Tokens.LBRACE,Tokens.LBRACKET])?(s=t.token(),i=s.endChar,r=s.value+this._expr(e).text,n===null&&(o=t.token().startLine,u=t.token().startCol),t.mustMatch(Tokens.type(i)),r+=i,this._readWhitespace()):t.match([Tokens.NUMBER,Tokens.PERCENTAGE,Tokens.LENGTH,Tokens.ANGLE,Tokens.TIME,Tokens.FREQ,Tokens.STRING,Tokens.IDENT,Tokens.URI,Tokens.UNICODE_RANGE])?(r=t.token().value,n===null&&(o=t.token().startLine,u=t.token().startCol),this._readWhitespace()):(s=this._hexcolor(),s===null?(n===null&&(o=t.LT(1).startLine,u=t.LT(1).startCol),r===null&&(t.LA(3)==Tokens.EQUALS&&this.options.ieFilters?r=this._ie_function():r=this._function())):(r=s.value,n===null&&(o=s.startLine,u=s.startCol))),r!==null?new PropertyValuePart(n!==null?n+r:r,o,u):null},_function:function(){var e=this._tokenStream,t=null,n=null,r;if(e.match(Tokens.FUNCTION)){t=e.token().value,this._readWhitespace(),n=this._expr(!0),t+=n;if(this.options.ieFilters&&e.peek()==Tokens.EQUALS)do{this._readWhitespace()&&(t+=e.token().value),e.LA(0)==Tokens.COMMA&&(t+=e.token().value),e.match(Tokens.IDENT),t+=e.token().value,e.match(Tokens.EQUALS),t+=e.token().value,r=e.peek();while(r!=Tokens.COMMA&&r!=Tokens.S&&r!=Tokens.RPAREN)e.get(),t+=e.token().value,r=e.peek()}while(e.match([Tokens.COMMA,Tokens.S]));e.match(Tokens.RPAREN),t+=")",this._readWhitespace()}return t},_ie_function:function(){var e=this._tokenStream,t=null,n=null,r;if(e.match([Tokens.IE_FUNCTION,Tokens.FUNCTION])){t=e.token().value;do{this._readWhitespace()&&(t+=e.token().value),e.LA(0)==Tokens.COMMA&&(t+=e.token().value),e.match(Tokens.IDENT),t+=e.token().value,e.match(Tokens.EQUALS),t+=e.token().value,r=e.peek();while(r!=Tokens.COMMA&&r!=Tokens.S&&r!=Tokens.RPAREN)e.get(),t+=e.token().value,r=e.peek()}while(e.match([Tokens.COMMA,Tokens.S]));e.match(Tokens.RPAREN),t+=")",this._readWhitespace()}return t},_hexcolor:function(){var e=this._tokenStream,t=null,n;if(e.match(Tokens.HASH)){t=e.token(),n=t.value;if(!/#[a-f0-9]{3,6}/i.test(n))throw new SyntaxError("Expected a hex color but found '"+n+"' at line "+t.startLine+", col "+t.startCol+".",t.startLine,t.startCol);this._readWhitespace()}return t},_keyframes:function(){var e=this._tokenStream,t,n,r,i="";e.mustMatch(Tokens.KEYFRAMES_SYM),t=e.token(),/^@\-([^\-]+)\-/.test(t.value)&&(i=RegExp.$1),this._readWhitespace(),r=this._keyframe_name(),this._readWhitespace(),e.mustMatch(Tokens.LBRACE),this.fire({type:"startkeyframes",name:r,prefix:i,line:t.startLine,col:t.startCol}),this._readWhitespace(),n=e.peek();while(n==Tokens.IDENT||n==Tokens.PERCENTAGE)this._keyframe_rule(),this._readWhitespace(),n=e.peek();this.fire({type:"endkeyframes",name:r,prefix:i,line:t.startLine,col:t.startCol}),this._readWhitespace(),e.mustMatch(Tokens.RBRACE)},_keyframe_name:function(){var e=this._tokenStream,t;return e.mustMatch([Tokens.IDENT,Tokens.STRING]),SyntaxUnit.fromToken(e.token())},_keyframe_rule:function(){var e=this._tokenStream,t,n=this._key_list();this.fire({type:"startkeyframerule",keys:n,line:n[0].line,col:n[0].col}),this._readDeclarations(!0),this.fire({type:"endkeyframerule",keys:n,line:n[0].line,col:n[0].col})},_key_list:function(){var e=this._tokenStream,t,n,r=[];r.push(this._key()),this._readWhitespace();while(e.match(Tokens.COMMA))this._readWhitespace(),r.push(this._key()),this._readWhitespace();return r},_key:function(){var e=this._tokenStream,t;if(e.match(Tokens.PERCENTAGE))return SyntaxUnit.fromToken(e.token());if(e.match(Tokens.IDENT)){t=e.token();if(/from|to/i.test(t.value))return SyntaxUnit.fromToken(t);e.unget()}this._unexpectedToken(e.LT(1))},_skipCruft:function(){while(this._tokenStream.match([Tokens.S,Tokens.CDO,Tokens.CDC]));},_readDeclarations:function(e,t){var n=this._tokenStream,r;this._readWhitespace(),e&&n.mustMatch(Tokens.LBRACE),this._readWhitespace();try{for(;;){if(!(n.match(Tokens.SEMICOLON)||t&&this._margin())){if(!this._declaration())break;if(!n.match(Tokens.SEMICOLON))break}this._readWhitespace()}n.mustMatch(Tokens.RBRACE),this._readWhitespace()}catch(i){if(!(i instanceof SyntaxError&&!this.options.strict))throw i;this.fire({type:"error",error:i,message:i.message,line:i.line,col:i.col}),r=n.advance([Tokens.SEMICOLON,Tokens.RBRACE]);if(r==Tokens.SEMICOLON)this._readDeclarations(!1,t);else if(r!=Tokens.RBRACE)throw i}},_readWhitespace:function(){var e=this._tokenStream,t="";while(e.match(Tokens.S))t+=e.token().value;return t},_unexpectedToken:function(e){throw new SyntaxError("Unexpected token '"+e.value+"' at line "+e.startLine+", col "+e.startCol+".",e.startLine,e.startCol)},_verifyEnd:function(){this._tokenStream.LA(1)!=Tokens.EOF&&this._unexpectedToken(this._tokenStream.LT(1))},_validateProperty:function(e,t){Validation.validate(e,t)},parse:function(e){this._tokenStream=new TokenStream(e,Tokens),this._stylesheet()},parseStyleSheet:function(e){return this.parse(e)},parseMediaQuery:function(e){this._tokenStream=new TokenStream(e,Tokens);var t=this._media_query();return this._verifyEnd(),t},parsePropertyValue:function(e){this._tokenStream=new TokenStream(e,Tokens),this._readWhitespace();var t=this._expr();return this._readWhitespace(),this._verifyEnd(),t},parseRule:function(e){this._tokenStream=new TokenStream(e,Tokens),this._readWhitespace();var t=this._ruleset();return this._readWhitespace(),this._verifyEnd(),t},parseSelector:function(e){this._tokenStream=new TokenStream(e,Tokens),this._readWhitespace();var t=this._selector();return this._readWhitespace(),this._verifyEnd(),t},parseStyleAttribute:function(e){e+="}",this._tokenStream=new TokenStream(e,Tokens),this._readDeclarations()}};for(t in n)n.hasOwnProperty(t)&&(e[t]=n[t]);return e}();var Properties={"align-items":"flex-start | flex-end | center | baseline | stretch","align-content":"flex-start | flex-end | center | space-between | space-around | stretch","align-self":"auto | flex-start | flex-end | center | baseline | stretch","-webkit-align-items":"flex-start | flex-end | center | baseline | stretch","-webkit-align-content":"flex-start | flex-end | center | space-between | space-around | stretch","-webkit-align-self":"auto | flex-start | flex-end | center | baseline | stretch","alignment-adjust":"auto | baseline | before-edge | text-before-edge | middle | central | after-edge | text-after-edge | ideographic | alphabetic | hanging | mathematical | | ","alignment-baseline":"baseline | use-script | before-edge | text-before-edge | after-edge | text-after-edge | central | middle | ideographic | alphabetic | hanging | mathematical",animation:1,"animation-delay":{multi:"