From a23d71aea62b6072d785ab404495425e29372ffb Mon Sep 17 00:00:00 2001 From: Moeen Basra Date: Sat, 7 Mar 2020 16:50:45 +0400 Subject: [PATCH] upgrade the laravel, react and all libraries --- app/Exceptions/Handler.php | 45 +- composer.json | 25 +- composer.lock | 1913 ++++--- docker-compose.yml | 6 +- package-lock.json | 4721 ++++++++--------- package.json | 70 +- public/1.js | 605 ++- public/10.js | 6 +- public/2.js | 48 +- public/3.js | 75 +- public/4.js | 81 +- public/5.js | 54 +- public/6.js | 78 +- public/7.js | 78 +- public/8.js | 54 +- public/9.js | 6 +- readme.md | 2 +- .../js/modules/article/pages/add/Page.js | 4 +- resources/js/routes/Private.js | 2 +- resources/js/routes/Public.js | 2 +- 20 files changed, 4355 insertions(+), 3520 deletions(-) diff --git a/app/Exceptions/Handler.php b/app/Exceptions/Handler.php index a747e31b..6729a382 100644 --- a/app/Exceptions/Handler.php +++ b/app/Exceptions/Handler.php @@ -2,35 +2,40 @@ namespace App\Exceptions; -use Exception; +use Throwable; use Illuminate\Auth\AuthenticationException; use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler; class Handler extends ExceptionHandler { /** - * A list of the exception types that should not be reported. + * A list of the exception types that are not reported. * * @var array */ protected $dontReport = [ - \Illuminate\Auth\AuthenticationException::class, - \Illuminate\Auth\Access\AuthorizationException::class, - \Symfony\Component\HttpKernel\Exception\HttpException::class, - \Illuminate\Database\Eloquent\ModelNotFoundException::class, - \Illuminate\Session\TokenMismatchException::class, - \Illuminate\Validation\ValidationException::class, + // ]; /** - * Report or log an exception. + * A list of the inputs that are never flashed for validation exceptions. * - * This is a great spot to send exceptions to Sentry, Bugsnag, etc. + * @var array + */ + protected $dontFlash = [ + 'password', + 'password_confirmation', + ]; + + /** + * Report or log an exception. * - * @param \Exception $exception + * @param \Throwable $exception * @return void + * + * @throws \Exception */ - public function report(Exception $exception) + public function report(Throwable $exception) { parent::report($exception); } @@ -38,11 +43,13 @@ public function report(Exception $exception) /** * Render an exception into an HTTP response. * - * @param \Illuminate\Http\Request $request - * @param \Exception $exception - * @return \Illuminate\Http\Response + * @param \Illuminate\Http\Request $request + * @param \Throwable $exception + * @return \Symfony\Component\HttpFoundation\Response + * + * @throws \Throwable */ - public function render($request, Exception $exception) + public function render($request, Throwable $exception) { return parent::render($request, $exception); } @@ -50,9 +57,9 @@ public function render($request, Exception $exception) /** * Convert an authentication exception into an unauthenticated response. * - * @param \Illuminate\Http\Request $request - * @param \Illuminate\Auth\AuthenticationException $exception - * @return \Illuminate\Http\Response + * @param \Illuminate\Http\Request $request + * @param \Illuminate\Auth\AuthenticationException $exception + * @return \Symfony\Component\HttpFoundation\Response */ protected function unauthenticated($request, AuthenticationException $exception) { diff --git a/composer.json b/composer.json index 9f1db2a9..93333e39 100644 --- a/composer.json +++ b/composer.json @@ -7,29 +7,30 @@ "laravel-react", "laravel-react-boilerplate", "react-16", - "laravel-5.7", + "laravel-7", "bootstrap-4", "passport", "laravel-passport", - "react-router-4" + "react-router-dom" ], "license": "MIT", "type": "project", "require": { - "php": "^7.2.2", - "fideloper/proxy": "^4.0", - "laravel/framework": "^6.0", + "php": "^7.2.5", + "fideloper/proxy": "^4.2", + "fruitcake/laravel-cors": "^1.0", + "guzzlehttp/guzzle": "^6.3", + "laravel/framework": "^7.0", + "laravel/tinker": "^2.0", "laravel/passport": "^8.0", - "laravel/tinker": "^1.0", "ext-json": "*" }, "require-dev": { - "beyondcode/laravel-dump-server": "^1.0", - "filp/whoops": "^2.0", - "fzaninotto/faker": "^1.4", - "mockery/mockery": "^1.0", - "nunomaduro/collision": "^3.0", - "phpunit/phpunit": "^8.0" + "facade/ignition": "^2.0", + "fzaninotto/faker": "^1.9.1", + "mockery/mockery": "^1.3.1", + "nunomaduro/collision": "^4.1", + "phpunit/phpunit": "^8.5" }, "config": { "optimize-autoloader": true, diff --git a/composer.lock b/composer.lock index 0cd62193..703dc64e 100644 --- a/composer.lock +++ b/composer.lock @@ -4,8 +4,60 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "af1ed67b154d2d9762b5a2b833ad6e41", + "content-hash": "d7eb48d4e154bbed981cf889693210bd", "packages": [ + { + "name": "asm89/stack-cors", + "version": "1.3.0", + "source": { + "type": "git", + "url": "https://github.com/asm89/stack-cors.git", + "reference": "b9c31def6a83f84b4d4a40d35996d375755f0e08" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/asm89/stack-cors/zipball/b9c31def6a83f84b4d4a40d35996d375755f0e08", + "reference": "b9c31def6a83f84b4d4a40d35996d375755f0e08", + "shasum": "" + }, + "require": { + "php": ">=5.5.9", + "symfony/http-foundation": "~2.7|~3.0|~4.0|~5.0", + "symfony/http-kernel": "~2.7|~3.0|~4.0|~5.0" + }, + "require-dev": { + "phpunit/phpunit": "^5.0 || ^4.8.10", + "squizlabs/php_codesniffer": "^2.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.2-dev" + } + }, + "autoload": { + "psr-4": { + "Asm89\\Stack\\": "src/Asm89/Stack/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Alexander", + "email": "iam.asm89@gmail.com" + } + ], + "description": "Cross-origin resource sharing library and stack middleware", + "homepage": "https://github.com/asm89/stack-cors", + "keywords": [ + "cors", + "stack" + ], + "time": "2019-12-24T22:41:47+00:00" + }, { "name": "defuse/php-encryption", "version": "v2.2.1", @@ -71,25 +123,25 @@ }, { "name": "dnoegel/php-xdg-base-dir", - "version": "0.1", + "version": "v0.1.1", "source": { "type": "git", "url": "https://github.com/dnoegel/php-xdg-base-dir.git", - "reference": "265b8593498b997dc2d31e75b89f053b5cc9621a" + "reference": "8f8a6e48c5ecb0f991c2fdcf5f154a47d85f9ffd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dnoegel/php-xdg-base-dir/zipball/265b8593498b997dc2d31e75b89f053b5cc9621a", - "reference": "265b8593498b997dc2d31e75b89f053b5cc9621a", + "url": "https://api.github.com/repos/dnoegel/php-xdg-base-dir/zipball/8f8a6e48c5ecb0f991c2fdcf5f154a47d85f9ffd", + "reference": "8f8a6e48c5ecb0f991c2fdcf5f154a47d85f9ffd", "shasum": "" }, "require": { "php": ">=5.3.2" }, "require-dev": { - "phpunit/phpunit": "@stable" + "phpunit/phpunit": "~7.0|~6.0|~5.0|~4.8.35" }, - "type": "project", + "type": "library", "autoload": { "psr-4": { "XdgBaseDir\\": "src/" @@ -100,7 +152,7 @@ "MIT" ], "description": "implementation of xdg base directory specification for php", - "time": "2014-10-24T07:27:01+00:00" + "time": "2019-12-04T15:06:13+00:00" }, { "name": "doctrine/inflector", @@ -287,27 +339,27 @@ }, { "name": "egulias/email-validator", - "version": "2.1.11", + "version": "2.1.17", "source": { "type": "git", "url": "https://github.com/egulias/EmailValidator.git", - "reference": "92dd169c32f6f55ba570c309d83f5209cefb5e23" + "reference": "ade6887fd9bd74177769645ab5c474824f8a418a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/92dd169c32f6f55ba570c309d83f5209cefb5e23", - "reference": "92dd169c32f6f55ba570c309d83f5209cefb5e23", + "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/ade6887fd9bd74177769645ab5c474824f8a418a", + "reference": "ade6887fd9bd74177769645ab5c474824f8a418a", "shasum": "" }, "require": { "doctrine/lexer": "^1.0.1", - "php": ">= 5.5" + "php": ">=5.5", + "symfony/polyfill-intl-idn": "^1.10" }, "require-dev": { - "dominicsayers/isemail": "dev-master", - "phpunit/phpunit": "^4.8.35||^5.7||^6.0", - "satooshi/php-coveralls": "^1.0.1", - "symfony/phpunit-bridge": "^4.4@dev" + "dominicsayers/isemail": "^3.0.7", + "phpunit/phpunit": "^4.8.36|^7.5.15", + "satooshi/php-coveralls": "^1.0.1" }, "suggest": { "ext-intl": "PHP Internationalization Libraries are required to use the SpoofChecking validation" @@ -341,74 +393,28 @@ "validation", "validator" ], - "time": "2019-08-13T17:33:27+00:00" - }, - { - "name": "erusev/parsedown", - "version": "1.7.3", - "source": { - "type": "git", - "url": "https://github.com/erusev/parsedown.git", - "reference": "6d893938171a817f4e9bc9e86f2da1e370b7bcd7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/erusev/parsedown/zipball/6d893938171a817f4e9bc9e86f2da1e370b7bcd7", - "reference": "6d893938171a817f4e9bc9e86f2da1e370b7bcd7", - "shasum": "" - }, - "require": { - "ext-mbstring": "*", - "php": ">=5.3.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35" - }, - "type": "library", - "autoload": { - "psr-0": { - "Parsedown": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Emanuil Rusev", - "email": "hello@erusev.com", - "homepage": "http://erusev.com" - } - ], - "description": "Parser for Markdown.", - "homepage": "http://parsedown.org", - "keywords": [ - "markdown", - "parser" - ], - "time": "2019-03-17T18:48:37+00:00" + "time": "2020-02-13T22:36:52+00:00" }, { "name": "fideloper/proxy", - "version": "4.2.1", + "version": "4.3.0", "source": { "type": "git", "url": "https://github.com/fideloper/TrustedProxy.git", - "reference": "03085e58ec7bee24773fa5a8850751a6e61a7e8a" + "reference": "ec38ad69ee378a1eec04fb0e417a97cfaf7ed11a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/fideloper/TrustedProxy/zipball/03085e58ec7bee24773fa5a8850751a6e61a7e8a", - "reference": "03085e58ec7bee24773fa5a8850751a6e61a7e8a", + "url": "https://api.github.com/repos/fideloper/TrustedProxy/zipball/ec38ad69ee378a1eec04fb0e417a97cfaf7ed11a", + "reference": "ec38ad69ee378a1eec04fb0e417a97cfaf7ed11a", "shasum": "" }, "require": { - "illuminate/contracts": "^5.0|^6.0|^7.0", + "illuminate/contracts": "^5.0|^6.0|^7.0|^8.0", "php": ">=5.4.0" }, "require-dev": { - "illuminate/http": "^5.0|^6.0|^7.0", + "illuminate/http": "^5.0|^6.0|^7.0|^8.0", "mockery/mockery": "^1.0", "phpunit/phpunit": "^6.0" }, @@ -441,27 +447,27 @@ "proxy", "trusted proxy" ], - "time": "2019-09-03T16:45:42+00:00" + "time": "2020-02-22T01:51:47+00:00" }, { "name": "firebase/php-jwt", - "version": "v5.0.0", + "version": "v5.1.0", "source": { "type": "git", "url": "https://github.com/firebase/php-jwt.git", - "reference": "9984a4d3a32ae7673d6971ea00bae9d0a1abba0e" + "reference": "4566062c68f76f43d44f1643f4970fe89757d4c6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/firebase/php-jwt/zipball/9984a4d3a32ae7673d6971ea00bae9d0a1abba0e", - "reference": "9984a4d3a32ae7673d6971ea00bae9d0a1abba0e", + "url": "https://api.github.com/repos/firebase/php-jwt/zipball/4566062c68f76f43d44f1643f4970fe89757d4c6", + "reference": "4566062c68f76f43d44f1643f4970fe89757d4c6", "shasum": "" }, "require": { "php": ">=5.3.0" }, "require-dev": { - "phpunit/phpunit": " 4.8.35" + "phpunit/phpunit": "^4.8|^5" }, "type": "library", "autoload": { @@ -487,20 +493,88 @@ ], "description": "A simple library to encode and decode JSON Web Tokens (JWT) in PHP. Should conform to the current spec.", "homepage": "https://github.com/firebase/php-jwt", - "time": "2017-06-27T22:17:23+00:00" + "time": "2020-02-24T23:15:03+00:00" + }, + { + "name": "fruitcake/laravel-cors", + "version": "v1.0.4", + "source": { + "type": "git", + "url": "https://github.com/fruitcake/laravel-cors.git", + "reference": "138ad34ba5f578283e94c5614f6c48a10bc3ac6a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/fruitcake/laravel-cors/zipball/138ad34ba5f578283e94c5614f6c48a10bc3ac6a", + "reference": "138ad34ba5f578283e94c5614f6c48a10bc3ac6a", + "shasum": "" + }, + "require": { + "asm89/stack-cors": "^1.3", + "illuminate/contracts": "^5.5|^6.0|^7.0|^8.0", + "illuminate/support": "^5.5|^6.0|^7.0|^8.0", + "php": ">=7", + "symfony/http-foundation": "^3.3|^4.0|^5.0", + "symfony/http-kernel": "^3.3|^4.0|^5.0" + }, + "require-dev": { + "laravel/framework": "^5.5|^6.0|^7.0|^8.0", + "orchestra/testbench": "^3.5|^4.0|^5.0|^6.0", + "phpro/grumphp": "^0.16|^0.17", + "phpunit/phpunit": "^6.0|^7.0|^8.0", + "squizlabs/php_codesniffer": "^3.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + }, + "laravel": { + "providers": [ + "Fruitcake\\Cors\\CorsServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Fruitcake\\Cors\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fruitcake", + "homepage": "https://fruitcake.nl" + }, + { + "name": "Barry vd. Heuvel", + "email": "barryvdh@gmail.com" + } + ], + "description": "Adds CORS (Cross-Origin Resource Sharing) headers support in your Laravel application", + "keywords": [ + "api", + "cors", + "crossdomain", + "laravel" + ], + "time": "2020-02-21T13:24:15+00:00" }, { "name": "guzzlehttp/guzzle", - "version": "6.4.1", + "version": "6.5.2", "source": { "type": "git", "url": "https://github.com/guzzle/guzzle.git", - "reference": "0895c932405407fd3a7368b6910c09a24d26db11" + "reference": "43ece0e75098b7ecd8d13918293029e555a50f82" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/0895c932405407fd3a7368b6910c09a24d26db11", - "reference": "0895c932405407fd3a7368b6910c09a24d26db11", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/43ece0e75098b7ecd8d13918293029e555a50f82", + "reference": "43ece0e75098b7ecd8d13918293029e555a50f82", "shasum": "" }, "require": { @@ -515,12 +589,13 @@ "psr/log": "^1.1" }, "suggest": { + "ext-intl": "Required for Internationalized Domain Name (IDN) support", "psr/log": "Required for using the Log middleware" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "6.3-dev" + "dev-master": "6.5-dev" } }, "autoload": { @@ -553,7 +628,7 @@ "rest", "web service" ], - "time": "2019-10-23T15:58:00+00:00" + "time": "2019-12-23T11:57:10+00:00" }, { "name": "guzzlehttp/promises", @@ -765,47 +840,185 @@ "description": "Highlight PHP code in terminal", "time": "2018-09-29T18:48:56+00:00" }, + { + "name": "laminas/laminas-diactoros", + "version": "2.2.2", + "source": { + "type": "git", + "url": "https://github.com/laminas/laminas-diactoros.git", + "reference": "95178c4751d737cdf9ab0a9f70a42754ac860e7b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laminas/laminas-diactoros/zipball/95178c4751d737cdf9ab0a9f70a42754ac860e7b", + "reference": "95178c4751d737cdf9ab0a9f70a42754ac860e7b", + "shasum": "" + }, + "require": { + "laminas/laminas-zendframework-bridge": "^1.0", + "php": "^7.1", + "psr/http-factory": "^1.0", + "psr/http-message": "^1.0" + }, + "conflict": { + "phpspec/prophecy": "<1.9.0" + }, + "provide": { + "psr/http-factory-implementation": "1.0", + "psr/http-message-implementation": "1.0" + }, + "replace": { + "zendframework/zend-diactoros": "self.version" + }, + "require-dev": { + "ext-curl": "*", + "ext-dom": "*", + "ext-libxml": "*", + "http-interop/http-factory-tests": "^0.5.0", + "laminas/laminas-coding-standard": "~1.0.0", + "php-http/psr7-integration-tests": "dev-master", + "phpunit/phpunit": "^7.5.18" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.1.x-dev", + "dev-develop": "2.2.x-dev", + "dev-release-1.8": "1.8.x-dev" + } + }, + "autoload": { + "files": [ + "src/functions/create_uploaded_file.php", + "src/functions/marshal_headers_from_sapi.php", + "src/functions/marshal_method_from_sapi.php", + "src/functions/marshal_protocol_version_from_sapi.php", + "src/functions/marshal_uri_from_sapi.php", + "src/functions/normalize_server.php", + "src/functions/normalize_uploaded_files.php", + "src/functions/parse_cookie_header.php", + "src/functions/create_uploaded_file.legacy.php", + "src/functions/marshal_headers_from_sapi.legacy.php", + "src/functions/marshal_method_from_sapi.legacy.php", + "src/functions/marshal_protocol_version_from_sapi.legacy.php", + "src/functions/marshal_uri_from_sapi.legacy.php", + "src/functions/normalize_server.legacy.php", + "src/functions/normalize_uploaded_files.legacy.php", + "src/functions/parse_cookie_header.legacy.php" + ], + "psr-4": { + "Laminas\\Diactoros\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "PSR HTTP Message implementations", + "homepage": "https://laminas.dev", + "keywords": [ + "http", + "laminas", + "psr", + "psr-7" + ], + "time": "2020-01-07T19:39:26+00:00" + }, + { + "name": "laminas/laminas-zendframework-bridge", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/laminas/laminas-zendframework-bridge.git", + "reference": "0fb9675b84a1666ab45182b6c5b29956921e818d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laminas/laminas-zendframework-bridge/zipball/0fb9675b84a1666ab45182b6c5b29956921e818d", + "reference": "0fb9675b84a1666ab45182b6c5b29956921e818d", + "shasum": "" + }, + "require": { + "php": "^5.6 || ^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^5.7 || ^6.5 || ^7.5 || ^8.1", + "squizlabs/php_codesniffer": "^3.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev", + "dev-develop": "1.1.x-dev" + }, + "laminas": { + "module": "Laminas\\ZendFrameworkBridge" + } + }, + "autoload": { + "files": [ + "src/autoload.php" + ], + "psr-4": { + "Laminas\\ZendFrameworkBridge\\": "src//" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "Alias legacy ZF class names to Laminas Project equivalents.", + "keywords": [ + "ZendFramework", + "autoloading", + "laminas", + "zf" + ], + "time": "2020-01-07T22:58:31+00:00" + }, { "name": "laravel/framework", - "version": "v6.5.2", + "version": "v7.0.6", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "cca8906654e72d7bb118c3c18bb55e74c109a766" + "reference": "2579730d60701a72b14eacb333b2b9cfb4746bef" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/cca8906654e72d7bb118c3c18bb55e74c109a766", - "reference": "cca8906654e72d7bb118c3c18bb55e74c109a766", + "url": "https://api.github.com/repos/laravel/framework/zipball/2579730d60701a72b14eacb333b2b9cfb4746bef", + "reference": "2579730d60701a72b14eacb333b2b9cfb4746bef", "shasum": "" }, "require": { "doctrine/inflector": "^1.1", "dragonmantank/cron-expression": "^2.0", "egulias/email-validator": "^2.1.10", - "erusev/parsedown": "^1.7", "ext-json": "*", "ext-mbstring": "*", "ext-openssl": "*", + "league/commonmark": "^1.3", "league/flysystem": "^1.0.8", - "monolog/monolog": "^1.12|^2.0", - "nesbot/carbon": "^2.0", + "monolog/monolog": "^2.0", + "nesbot/carbon": "^2.17", "opis/closure": "^3.1", - "php": "^7.2", + "php": "^7.2.5", "psr/container": "^1.0", "psr/simple-cache": "^1.0", "ramsey/uuid": "^3.7", "swiftmailer/swiftmailer": "^6.0", - "symfony/console": "^4.3.4", - "symfony/debug": "^4.3.4", - "symfony/finder": "^4.3.4", - "symfony/http-foundation": "^4.3.4", - "symfony/http-kernel": "^4.3.4", - "symfony/process": "^4.3.4", - "symfony/routing": "^4.3.4", - "symfony/var-dumper": "^4.3.4", - "tijsverkoyen/css-to-inline-styles": "^2.2.1", - "vlucas/phpdotenv": "^3.3" + "symfony/console": "^5.0", + "symfony/error-handler": "^5.0", + "symfony/finder": "^5.0", + "symfony/http-foundation": "^5.0", + "symfony/http-kernel": "^5.0", + "symfony/mime": "^5.0", + "symfony/process": "^5.0", + "symfony/routing": "^5.0", + "symfony/var-dumper": "^5.0", + "tijsverkoyen/css-to-inline-styles": "^2.2.2", + "vlucas/phpdotenv": "^4.0", + "voku/portable-ascii": "^1.4.8" }, "conflict": { "tightenco/collect": "<5.5.33" @@ -836,6 +1049,7 @@ "illuminate/routing": "self.version", "illuminate/session": "self.version", "illuminate/support": "self.version", + "illuminate/testing": "self.version", "illuminate/translation": "self.version", "illuminate/validation": "self.version", "illuminate/view": "self.version" @@ -844,16 +1058,15 @@ "aws/aws-sdk-php": "^3.0", "doctrine/dbal": "^2.6", "filp/whoops": "^2.4", - "guzzlehttp/guzzle": "^6.3", + "guzzlehttp/guzzle": "^6.3.1|^7.0", "league/flysystem-cached-adapter": "^1.0", - "mockery/mockery": "^1.2.3", + "mockery/mockery": "^1.3.1", "moontoast/math": "^1.1", - "orchestra/testbench-core": "^4.0", + "orchestra/testbench-core": "^5.0", "pda/pheanstalk": "^4.0", - "phpunit/phpunit": "^8.3", + "phpunit/phpunit": "^8.4|^9.0", "predis/predis": "^1.1.1", - "symfony/cache": "^4.3", - "true/punycode": "^2.1" + "symfony/cache": "^5.0" }, "suggest": { "aws/aws-sdk-php": "Required to use the SQS queue driver, DynamoDb failed job storage and SES mail driver (^3.0).", @@ -864,24 +1077,27 @@ "ext-posix": "Required to use all features of the queue worker.", "ext-redis": "Required to use the Redis cache and queue drivers.", "filp/whoops": "Required for friendly error pages in development (^2.4).", - "fzaninotto/faker": "Required to use the eloquent factory builder (^1.4).", - "guzzlehttp/guzzle": "Required to use the Mailgun mail driver and the ping methods on schedules (^6.0).", - "laravel/tinker": "Required to use the tinker console command (^1.0).", + "fzaninotto/faker": "Required to use the eloquent factory builder (^1.9.1).", + "guzzlehttp/guzzle": "Required to use the HTTP Client, Mailgun mail driver and the ping methods on schedules (^6.3.1|^7.0).", + "laravel/tinker": "Required to use the tinker console command (^2.0).", "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^1.0).", "league/flysystem-cached-adapter": "Required to use the Flysystem cache (^1.0).", "league/flysystem-sftp": "Required to use the Flysystem SFTP driver (^1.0).", + "mockery/mockery": "Required to use mocking (^1.3.1).", "moontoast/math": "Required to use ordered UUIDs (^1.1).", + "nyholm/psr7": "Required to use PSR-7 bridging features (^1.2).", "pda/pheanstalk": "Required to use the beanstalk queue driver (^4.0).", - "psr/http-message": "Required to allow Storage::put to accept a StreamInterface (^1.0)", + "phpunit/phpunit": "Required to use assertions and run tests (^8.4|^9.0).", + "psr/http-message": "Required to allow Storage::put to accept a StreamInterface (^1.0).", "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (^4.0).", - "symfony/cache": "Required to PSR-6 cache bridge (^4.3.4).", - "symfony/psr-http-message-bridge": "Required to use PSR-7 bridging features (^1.2).", + "symfony/cache": "Required to PSR-6 cache bridge (^5.0).", + "symfony/psr-http-message-bridge": "Required to use PSR-7 bridging features (^2.0).", "wildbit/swiftmailer-postmark": "Required to use Postmark mail driver (^3.0)." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "6.x-dev" + "dev-master": "7.x-dev" } }, "autoload": { @@ -909,20 +1125,20 @@ "framework", "laravel" ], - "time": "2019-11-19T14:52:01+00:00" + "time": "2020-03-06T21:19:59+00:00" }, { "name": "laravel/passport", - "version": "v8.0.1", + "version": "v8.4.1", "source": { "type": "git", "url": "https://github.com/laravel/passport.git", - "reference": "8a6a45a901f6948cf5f0874b301230fb8bc27b32" + "reference": "4088cdf174d25ccf3fb79d234b94b2a90785fa69" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/passport/zipball/8a6a45a901f6948cf5f0874b301230fb8bc27b32", - "reference": "8a6a45a901f6948cf5f0874b301230fb8bc27b32", + "url": "https://api.github.com/repos/laravel/passport/zipball/4088cdf174d25ccf3fb79d234b94b2a90785fa69", + "reference": "4088cdf174d25ccf3fb79d234b94b2a90785fa69", "shasum": "" }, "require": { @@ -938,14 +1154,16 @@ "illuminate/encryption": "^6.0|^7.0", "illuminate/http": "^6.0|^7.0", "illuminate/support": "^6.0|^7.0", + "laminas/laminas-diactoros": "^2.2", "league/oauth2-server": "^8.0", + "nyholm/psr7": "^1.0", "php": "^7.2", "phpseclib/phpseclib": "^2.0", - "symfony/psr-http-message-bridge": "^1.0", - "zendframework/zend-diactoros": "^2.0" + "symfony/psr-http-message-bridge": "^2.0" }, "require-dev": { "mockery/mockery": "^1.0", + "orchestra/testbench": "^4.4|^5.0", "phpunit/phpunit": "^8.0" }, "type": "library", @@ -980,40 +1198,41 @@ "oauth", "passport" ], - "time": "2019-11-19T16:36:40+00:00" + "time": "2020-03-04T13:55:07+00:00" }, { "name": "laravel/tinker", - "version": "v1.0.10", + "version": "v2.2.0", "source": { "type": "git", "url": "https://github.com/laravel/tinker.git", - "reference": "ad571aacbac1539c30d480908f9d0c9614eaf1a7" + "reference": "37579c93271ec30ef099dd633ec7c2de5e5fb112" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/tinker/zipball/ad571aacbac1539c30d480908f9d0c9614eaf1a7", - "reference": "ad571aacbac1539c30d480908f9d0c9614eaf1a7", + "url": "https://api.github.com/repos/laravel/tinker/zipball/37579c93271ec30ef099dd633ec7c2de5e5fb112", + "reference": "37579c93271ec30ef099dd633ec7c2de5e5fb112", "shasum": "" }, "require": { - "illuminate/console": "~5.1|^6.0", - "illuminate/contracts": "~5.1|^6.0", - "illuminate/support": "~5.1|^6.0", - "php": ">=5.5.9", - "psy/psysh": "0.7.*|0.8.*|0.9.*", - "symfony/var-dumper": "~3.0|~4.0" + "illuminate/console": "^6.0|^7.0", + "illuminate/contracts": "^6.0|^7.0", + "illuminate/support": "^6.0|^7.0", + "php": "^7.2", + "psy/psysh": "^0.9", + "symfony/var-dumper": "^4.0|^5.0" }, "require-dev": { - "phpunit/phpunit": "~4.0|~5.0" + "mockery/mockery": "^1.3.1", + "phpunit/phpunit": "^8.0|^9.0" }, "suggest": { - "illuminate/database": "The Illuminate Database package (~5.1)." + "illuminate/database": "The Illuminate Database package (^6.0|^7.0)." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0-dev" + "dev-master": "2.x-dev" }, "laravel": { "providers": [ @@ -1043,7 +1262,7 @@ "laravel", "psysh" ], - "time": "2019-08-07T15:10:45+00:00" + "time": "2020-02-05T15:00:44+00:00" }, { "name": "lcobucci/jwt", @@ -1100,6 +1319,80 @@ ], "time": "2019-05-24T18:30:49+00:00" }, + { + "name": "league/commonmark", + "version": "1.3.1", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/commonmark.git", + "reference": "8015f806173c6ee54de25a87c2d69736696e88db" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/8015f806173c6ee54de25a87c2d69736696e88db", + "reference": "8015f806173c6ee54de25a87c2d69736696e88db", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "php": "^7.1" + }, + "conflict": { + "scrutinizer/ocular": "1.7.*" + }, + "require-dev": { + "cebe/markdown": "~1.0", + "commonmark/commonmark.js": "0.29.1", + "erusev/parsedown": "~1.0", + "ext-json": "*", + "github/gfm": "0.29.0", + "michelf/php-markdown": "~1.4", + "mikehaertl/php-shellcommand": "^1.4", + "phpstan/phpstan-shim": "^0.11.5", + "phpunit/phpunit": "^7.5", + "scrutinizer/ocular": "^1.5", + "symfony/finder": "^4.2" + }, + "bin": [ + "bin/commonmark" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.4-dev" + } + }, + "autoload": { + "psr-4": { + "League\\CommonMark\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Colin O'Dell", + "email": "colinodell@gmail.com", + "homepage": "https://www.colinodell.com", + "role": "Lead Developer" + } + ], + "description": "Highly-extensible PHP Markdown parser which fully supports the CommonMark spec and Github-Flavored Markdown (GFM)", + "homepage": "https://commonmark.thephpleague.com", + "keywords": [ + "commonmark", + "flavored", + "gfm", + "github", + "github-flavored", + "markdown", + "md", + "parser" + ], + "time": "2020-02-28T18:53:50+00:00" + }, { "name": "league/event", "version": "2.2.0", @@ -1152,16 +1445,16 @@ }, { "name": "league/flysystem", - "version": "1.0.57", + "version": "1.0.64", "source": { "type": "git", "url": "https://github.com/thephpleague/flysystem.git", - "reference": "0e9db7f0b96b9f12dcf6f65bc34b72b1a30ea55a" + "reference": "d13c43dbd4b791f815215959105a008515d1a2e0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/0e9db7f0b96b9f12dcf6f65bc34b72b1a30ea55a", - "reference": "0e9db7f0b96b9f12dcf6f65bc34b72b1a30ea55a", + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/d13c43dbd4b791f815215959105a008515d1a2e0", + "reference": "d13c43dbd4b791f815215959105a008515d1a2e0", "shasum": "" }, "require": { @@ -1173,7 +1466,7 @@ }, "require-dev": { "phpspec/phpspec": "^3.4", - "phpunit/phpunit": "^5.7.10" + "phpunit/phpunit": "^5.7.26" }, "suggest": { "ext-fileinfo": "Required for MimeType", @@ -1232,7 +1525,7 @@ "sftp", "storage" ], - "time": "2019-10-16T21:01:05+00:00" + "time": "2020-02-05T18:14:17+00:00" }, { "name": "league/oauth2-server", @@ -1313,16 +1606,16 @@ }, { "name": "monolog/monolog", - "version": "2.0.1", + "version": "2.0.2", "source": { "type": "git", "url": "https://github.com/Seldaek/monolog.git", - "reference": "f9d56fd2f5533322caccdfcddbb56aedd622ef1c" + "reference": "c861fcba2ca29404dc9e617eedd9eff4616986b8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/f9d56fd2f5533322caccdfcddbb56aedd622ef1c", - "reference": "f9d56fd2f5533322caccdfcddbb56aedd622ef1c", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/c861fcba2ca29404dc9e617eedd9eff4616986b8", + "reference": "c861fcba2ca29404dc9e617eedd9eff4616986b8", "shasum": "" }, "require": { @@ -1390,20 +1683,20 @@ "logging", "psr-3" ], - "time": "2019-11-13T10:27:43+00:00" + "time": "2019-12-20T14:22:59+00:00" }, { "name": "nesbot/carbon", - "version": "2.27.0", + "version": "2.31.0", "source": { "type": "git", "url": "https://github.com/briannesbitt/Carbon.git", - "reference": "13b8485a8690f103bf19cba64879c218b102b726" + "reference": "bbc0ab53f41a4c6f223c18efcdbd9bc725eb5d2d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/13b8485a8690f103bf19cba64879c218b102b726", - "reference": "13b8485a8690f103bf19cba64879c218b102b726", + "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/bbc0ab53f41a4c6f223c18efcdbd9bc725eb5d2d", + "reference": "bbc0ab53f41a4c6f223c18efcdbd9bc725eb5d2d", "shasum": "" }, "require": { @@ -1414,7 +1707,7 @@ "require-dev": { "friendsofphp/php-cs-fixer": "^2.14 || ^3.0", "kylekatarnls/multi-tester": "^1.1", - "phpmd/phpmd": "dev-php-7.1-compatibility", + "phpmd/phpmd": "^2.8", "phpstan/phpstan": "^0.11", "phpunit/phpunit": "^7.5 || ^8.0", "squizlabs/php_codesniffer": "^3.4" @@ -1460,7 +1753,7 @@ "datetime", "time" ], - "time": "2019-11-20T06:59:06+00:00" + "time": "2020-03-01T11:11:58+00:00" }, { "name": "nikic/php-parser", @@ -1514,18 +1807,80 @@ ], "time": "2019-11-08T13:50:10+00:00" }, + { + "name": "nyholm/psr7", + "version": "1.2.1", + "source": { + "type": "git", + "url": "https://github.com/Nyholm/psr7.git", + "reference": "55ff6b76573f5b242554c9775792bd59fb52e11c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Nyholm/psr7/zipball/55ff6b76573f5b242554c9775792bd59fb52e11c", + "reference": "55ff6b76573f5b242554c9775792bd59fb52e11c", + "shasum": "" + }, + "require": { + "php": "^7.1", + "php-http/message-factory": "^1.0", + "psr/http-factory": "^1.0", + "psr/http-message": "^1.0" + }, + "provide": { + "psr/http-factory-implementation": "1.0", + "psr/http-message-implementation": "1.0" + }, + "require-dev": { + "http-interop/http-factory-tests": "dev-master", + "php-http/psr7-integration-tests": "dev-master", + "phpunit/phpunit": "^7.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "psr-4": { + "Nyholm\\Psr7\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com" + }, + { + "name": "Martijn van der Ven", + "email": "martijn@vanderven.se" + } + ], + "description": "A fast PHP7 implementation of PSR-7", + "homepage": "http://tnyholm.se", + "keywords": [ + "psr-17", + "psr-7" + ], + "time": "2019-09-05T13:24:16+00:00" + }, { "name": "opis/closure", - "version": "3.4.1", + "version": "3.5.1", "source": { "type": "git", "url": "https://github.com/opis/closure.git", - "reference": "e79f851749c3caa836d7ccc01ede5828feb762c7" + "reference": "93ebc5712cdad8d5f489b500c59d122df2e53969" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/opis/closure/zipball/e79f851749c3caa836d7ccc01ede5828feb762c7", - "reference": "e79f851749c3caa836d7ccc01ede5828feb762c7", + "url": "https://api.github.com/repos/opis/closure/zipball/93ebc5712cdad8d5f489b500c59d122df2e53969", + "reference": "93ebc5712cdad8d5f489b500c59d122df2e53969", "shasum": "" }, "require": { @@ -1538,7 +1893,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "3.3.x-dev" + "dev-master": "3.5.x-dev" } }, "autoload": { @@ -1573,7 +1928,7 @@ "serialization", "serialize" ], - "time": "2019-10-19T18:38:51+00:00" + "time": "2019-11-29T22:36:02+00:00" }, { "name": "paragonie/random_compat", @@ -1620,35 +1975,86 @@ ], "time": "2018-07-02T15:55:56+00:00" }, + { + "name": "php-http/message-factory", + "version": "v1.0.2", + "source": { + "type": "git", + "url": "https://github.com/php-http/message-factory.git", + "reference": "a478cb11f66a6ac48d8954216cfed9aa06a501a1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-http/message-factory/zipball/a478cb11f66a6ac48d8954216cfed9aa06a501a1", + "reference": "a478cb11f66a6ac48d8954216cfed9aa06a501a1", + "shasum": "" + }, + "require": { + "php": ">=5.4", + "psr/http-message": "^1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "psr-4": { + "Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com" + } + ], + "description": "Factory interfaces for PSR-7 HTTP Message", + "homepage": "http://php-http.org", + "keywords": [ + "factory", + "http", + "message", + "stream", + "uri" + ], + "time": "2015-12-19T14:08:53+00:00" + }, { "name": "phpoption/phpoption", - "version": "1.5.2", + "version": "1.7.2", "source": { "type": "git", "url": "https://github.com/schmittjoh/php-option.git", - "reference": "2ba2586380f8d2b44ad1b9feb61c371020b27793" + "reference": "77f7c4d2e65413aff5b5a8cc8b3caf7a28d81959" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/2ba2586380f8d2b44ad1b9feb61c371020b27793", - "reference": "2ba2586380f8d2b44ad1b9feb61c371020b27793", + "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/77f7c4d2e65413aff5b5a8cc8b3caf7a28d81959", + "reference": "77f7c4d2e65413aff5b5a8cc8b3caf7a28d81959", "shasum": "" }, "require": { - "php": ">=5.3.0" + "php": "^5.5.9 || ^7.0" }, "require-dev": { - "phpunit/phpunit": "^4.7|^5.0" + "bamarni/composer-bin-plugin": "^1.3", + "phpunit/phpunit": "^4.8.35 || ^5.0 || ^6.0 || ^7.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.5-dev" + "dev-master": "1.7-dev" } }, "autoload": { - "psr-0": { - "PhpOption\\": "src/" + "psr-4": { + "PhpOption\\": "src/PhpOption/" } }, "notification-url": "https://packagist.org/downloads/", @@ -1659,6 +2065,10 @@ { "name": "Johannes M. Schmitt", "email": "schmittjoh@gmail.com" + }, + { + "name": "Graham Campbell", + "email": "graham@alt-three.com" } ], "description": "Option Type for PHP", @@ -1668,20 +2078,20 @@ "php", "type" ], - "time": "2019-11-06T22:27:00+00:00" + "time": "2019-12-15T19:35:24+00:00" }, { "name": "phpseclib/phpseclib", - "version": "2.0.23", + "version": "2.0.25", "source": { "type": "git", "url": "https://github.com/phpseclib/phpseclib.git", - "reference": "c78eb5058d5bb1a183133c36d4ba5b6675dfa099" + "reference": "c18159618ed7cd7ff721ac1a8fec7860a475d2f0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/c78eb5058d5bb1a183133c36d4ba5b6675dfa099", - "reference": "c78eb5058d5bb1a183133c36d4ba5b6675dfa099", + "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/c18159618ed7cd7ff721ac1a8fec7860a475d2f0", + "reference": "c18159618ed7cd7ff721ac1a8fec7860a475d2f0", "shasum": "" }, "require": { @@ -1760,7 +2170,7 @@ "x.509", "x509" ], - "time": "2019-09-17T03:41:22+00:00" + "time": "2020-02-25T04:16:50+00:00" }, { "name": "psr/container", @@ -1811,6 +2221,52 @@ ], "time": "2017-02-14T16:28:37+00:00" }, + { + "name": "psr/event-dispatcher", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/event-dispatcher.git", + "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0", + "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0", + "shasum": "" + }, + "require": { + "php": ">=7.2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\EventDispatcher\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Standard interfaces for event handling.", + "keywords": [ + "events", + "psr", + "psr-14" + ], + "time": "2019-01-08T18:20:26+00:00" + }, { "name": "psr/http-factory", "version": "1.0.1", @@ -2010,27 +2466,27 @@ }, { "name": "psy/psysh", - "version": "v0.9.9", + "version": "v0.9.12", "source": { "type": "git", "url": "https://github.com/bobthecow/psysh.git", - "reference": "9aaf29575bb8293206bb0420c1e1c87ff2ffa94e" + "reference": "90da7f37568aee36b116a030c5f99c915267edd4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/bobthecow/psysh/zipball/9aaf29575bb8293206bb0420c1e1c87ff2ffa94e", - "reference": "9aaf29575bb8293206bb0420c1e1c87ff2ffa94e", + "url": "https://api.github.com/repos/bobthecow/psysh/zipball/90da7f37568aee36b116a030c5f99c915267edd4", + "reference": "90da7f37568aee36b116a030c5f99c915267edd4", "shasum": "" }, "require": { - "dnoegel/php-xdg-base-dir": "0.1", + "dnoegel/php-xdg-base-dir": "0.1.*", "ext-json": "*", "ext-tokenizer": "*", "jakub-onderka/php-console-highlighter": "0.3.*|0.4.*", "nikic/php-parser": "~1.3|~2.0|~3.0|~4.0", "php": ">=5.4.0", - "symfony/console": "~2.3.10|^2.4.2|~3.0|~4.0", - "symfony/var-dumper": "~2.7|~3.0|~4.0" + "symfony/console": "~2.3.10|^2.4.2|~3.0|~4.0|~5.0", + "symfony/var-dumper": "~2.7|~3.0|~4.0|~5.0" }, "require-dev": { "bamarni/composer-bin-plugin": "^1.2", @@ -2080,7 +2536,7 @@ "interactive", "shell" ], - "time": "2018-10-13T15:16:03+00:00" + "time": "2019-12-06T14:19:43+00:00" }, { "name": "ralouphie/getallheaders", @@ -2124,44 +2580,46 @@ }, { "name": "ramsey/uuid", - "version": "3.8.0", + "version": "3.9.3", "source": { "type": "git", "url": "https://github.com/ramsey/uuid.git", - "reference": "d09ea80159c1929d75b3f9c60504d613aeb4a1e3" + "reference": "7e1633a6964b48589b142d60542f9ed31bd37a92" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ramsey/uuid/zipball/d09ea80159c1929d75b3f9c60504d613aeb4a1e3", - "reference": "d09ea80159c1929d75b3f9c60504d613aeb4a1e3", + "url": "https://api.github.com/repos/ramsey/uuid/zipball/7e1633a6964b48589b142d60542f9ed31bd37a92", + "reference": "7e1633a6964b48589b142d60542f9ed31bd37a92", "shasum": "" }, "require": { - "paragonie/random_compat": "^1.0|^2.0|9.99.99", - "php": "^5.4 || ^7.0", + "ext-json": "*", + "paragonie/random_compat": "^1 | ^2 | 9.99.99", + "php": "^5.4 | ^7 | ^8", "symfony/polyfill-ctype": "^1.8" }, "replace": { "rhumsaa/uuid": "self.version" }, "require-dev": { - "codeception/aspect-mock": "^1.0 | ~2.0.0", - "doctrine/annotations": "~1.2.0", - "goaop/framework": "1.0.0-alpha.2 | ^1.0 | ~2.1.0", - "ircmaxell/random-lib": "^1.1", - "jakub-onderka/php-parallel-lint": "^0.9.0", - "mockery/mockery": "^0.9.9", + "codeception/aspect-mock": "^1 | ^2", + "doctrine/annotations": "^1.2", + "goaop/framework": "1.0.0-alpha.2 | ^1 | ^2.1", + "jakub-onderka/php-parallel-lint": "^1", + "mockery/mockery": "^0.9.11 | ^1", "moontoast/math": "^1.1", - "php-mock/php-mock-phpunit": "^0.3|^1.1", - "phpunit/phpunit": "^4.7|^5.0|^6.5", - "squizlabs/php_codesniffer": "^2.3" + "paragonie/random-lib": "^2", + "php-mock/php-mock-phpunit": "^0.3 | ^1.1", + "phpunit/phpunit": "^4.8 | ^5.4 | ^6.5", + "squizlabs/php_codesniffer": "^3.5" }, "suggest": { "ext-ctype": "Provides support for PHP Ctype functions", "ext-libsodium": "Provides the PECL libsodium extension for use with the SodiumRandomGenerator", + "ext-openssl": "Provides the OpenSSL extension for use with the OpenSslGenerator", "ext-uuid": "Provides the PECL UUID extension for use with the PeclUuidTimeGenerator and PeclUuidRandomGenerator", - "ircmaxell/random-lib": "Provides RandomLib for use with the RandomLibAdapter", "moontoast/math": "Provides support for converting UUID to 128-bit integer (in string form).", + "paragonie/random-lib": "Provides RandomLib for use with the RandomLibAdapter", "ramsey/uuid-console": "A console application for generating UUIDs with ramsey/uuid", "ramsey/uuid-doctrine": "Allows the use of Ramsey\\Uuid\\Uuid as Doctrine field type." }, @@ -2174,13 +2632,21 @@ "autoload": { "psr-4": { "Ramsey\\Uuid\\": "src/" - } + }, + "files": [ + "src/functions.php" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ + { + "name": "Ben Ramsey", + "email": "ben@benramsey.com", + "homepage": "https://benramsey.com" + }, { "name": "Marijn Huizendveld", "email": "marijn.huizendveld@gmail.com" @@ -2188,11 +2654,6 @@ { "name": "Thibaud Fabre", "email": "thibaud@aztech.io" - }, - { - "name": "Ben Ramsey", - "email": "ben@benramsey.com", - "homepage": "https://benramsey.com" } ], "description": "Formerly rhumsaa/uuid. A PHP 5.4+ library for generating RFC 4122 version 1, 3, 4, and 5 universally unique identifiers (UUID).", @@ -2202,7 +2663,7 @@ "identifier", "uuid" ], - "time": "2018-07-19T23:38:55+00:00" + "time": "2020-02-21T04:36:14+00:00" }, { "name": "swiftmailer/swiftmailer", @@ -2268,41 +2729,41 @@ }, { "name": "symfony/console", - "version": "v4.4.0", + "version": "v5.0.5", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "35d9077f495c6d184d9930f7a7ecbd1ad13c7ab8" + "reference": "d29e2d36941de13600c399e393a60b8cfe59ac49" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/35d9077f495c6d184d9930f7a7ecbd1ad13c7ab8", - "reference": "35d9077f495c6d184d9930f7a7ecbd1ad13c7ab8", + "url": "https://api.github.com/repos/symfony/console/zipball/d29e2d36941de13600c399e393a60b8cfe59ac49", + "reference": "d29e2d36941de13600c399e393a60b8cfe59ac49", "shasum": "" }, "require": { - "php": "^7.1.3", + "php": "^7.2.5", "symfony/polyfill-mbstring": "~1.0", "symfony/polyfill-php73": "^1.8", "symfony/service-contracts": "^1.1|^2" }, "conflict": { - "symfony/dependency-injection": "<3.4", - "symfony/event-dispatcher": "<4.3|>=5", + "symfony/dependency-injection": "<4.4", + "symfony/event-dispatcher": "<4.4", "symfony/lock": "<4.4", - "symfony/process": "<3.3" + "symfony/process": "<4.4" }, "provide": { "psr/log-implementation": "1.0" }, "require-dev": { "psr/log": "~1.0", - "symfony/config": "^3.4|^4.0|^5.0", - "symfony/dependency-injection": "^3.4|^4.0|^5.0", - "symfony/event-dispatcher": "^4.3", + "symfony/config": "^4.4|^5.0", + "symfony/dependency-injection": "^4.4|^5.0", + "symfony/event-dispatcher": "^4.4|^5.0", "symfony/lock": "^4.4|^5.0", - "symfony/process": "^3.4|^4.0|^5.0", - "symfony/var-dumper": "^4.3|^5.0" + "symfony/process": "^4.4|^5.0", + "symfony/var-dumper": "^4.4|^5.0" }, "suggest": { "psr/log": "For using the console logger", @@ -2313,7 +2774,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.4-dev" + "dev-master": "5.0-dev" } }, "autoload": { @@ -2340,20 +2801,20 @@ ], "description": "Symfony Console Component", "homepage": "https://symfony.com", - "time": "2019-11-13T07:39:40+00:00" + "time": "2020-02-24T15:05:31+00:00" }, { "name": "symfony/css-selector", - "version": "v5.0.0", + "version": "v5.0.5", "source": { "type": "git", "url": "https://github.com/symfony/css-selector.git", - "reference": "19d29e7098b7b2c3313cb03902ca30f100dcb837" + "reference": "a0b51ba9938ccc206d9284de7eb527c2d4550b44" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/19d29e7098b7b2c3313cb03902ca30f100dcb837", - "reference": "19d29e7098b7b2c3313cb03902ca30f100dcb837", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/a0b51ba9938ccc206d9284de7eb527c2d4550b44", + "reference": "a0b51ba9938ccc206d9284de7eb527c2d4550b44", "shasum": "" }, "require": { @@ -2393,82 +2854,25 @@ ], "description": "Symfony CssSelector Component", "homepage": "https://symfony.com", - "time": "2019-11-18T17:27:11+00:00" - }, - { - "name": "symfony/debug", - "version": "v4.4.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/debug.git", - "reference": "b24b791f817116b29e52a63e8544884cf9a40757" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/b24b791f817116b29e52a63e8544884cf9a40757", - "reference": "b24b791f817116b29e52a63e8544884cf9a40757", - "shasum": "" - }, - "require": { - "php": "^7.1.3", - "psr/log": "~1.0" - }, - "conflict": { - "symfony/http-kernel": "<3.4" - }, - "require-dev": { - "symfony/http-kernel": "^3.4|^4.0|^5.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.4-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Debug\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Debug Component", - "homepage": "https://symfony.com", - "time": "2019-11-10T17:54:30+00:00" + "time": "2020-02-04T09:41:09+00:00" }, { "name": "symfony/error-handler", - "version": "v4.4.0", + "version": "v5.0.5", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "e1acb58dc6a8722617fe56565f742bcf7e8744bf" + "reference": "24a938d9913f42d006ee1ca0164ea1f29c1067ec" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/e1acb58dc6a8722617fe56565f742bcf7e8744bf", - "reference": "e1acb58dc6a8722617fe56565f742bcf7e8744bf", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/24a938d9913f42d006ee1ca0164ea1f29c1067ec", + "reference": "24a938d9913f42d006ee1ca0164ea1f29c1067ec", "shasum": "" }, "require": { - "php": "^7.1.3", - "psr/log": "~1.0", - "symfony/debug": "^4.4", + "php": "^7.2.5", + "psr/log": "^1.0", "symfony/var-dumper": "^4.4|^5.0" }, "require-dev": { @@ -2478,7 +2882,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.4-dev" + "dev-master": "5.0-dev" } }, "autoload": { @@ -2505,41 +2909,41 @@ ], "description": "Symfony ErrorHandler Component", "homepage": "https://symfony.com", - "time": "2019-11-17T22:49:13+00:00" + "time": "2020-02-29T10:07:09+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v4.4.0", + "version": "v5.0.5", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "ab1c43e17fff802bef0a898f3bc088ac33b8e0e1" + "reference": "b45ad88b253c5a9702ce218e201d89c85d148cea" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/ab1c43e17fff802bef0a898f3bc088ac33b8e0e1", - "reference": "ab1c43e17fff802bef0a898f3bc088ac33b8e0e1", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/b45ad88b253c5a9702ce218e201d89c85d148cea", + "reference": "b45ad88b253c5a9702ce218e201d89c85d148cea", "shasum": "" }, "require": { - "php": "^7.1.3", - "symfony/event-dispatcher-contracts": "^1.1" + "php": "^7.2.5", + "symfony/event-dispatcher-contracts": "^2" }, "conflict": { - "symfony/dependency-injection": "<3.4" + "symfony/dependency-injection": "<4.4" }, "provide": { "psr/event-dispatcher-implementation": "1.0", - "symfony/event-dispatcher-implementation": "1.1" + "symfony/event-dispatcher-implementation": "2.0" }, "require-dev": { "psr/log": "~1.0", - "symfony/config": "^3.4|^4.0|^5.0", - "symfony/dependency-injection": "^3.4|^4.0|^5.0", - "symfony/expression-language": "^3.4|^4.0|^5.0", - "symfony/http-foundation": "^3.4|^4.0|^5.0", + "symfony/config": "^4.4|^5.0", + "symfony/dependency-injection": "^4.4|^5.0", + "symfony/expression-language": "^4.4|^5.0", + "symfony/http-foundation": "^4.4|^5.0", "symfony/service-contracts": "^1.1|^2", - "symfony/stopwatch": "^3.4|^4.0|^5.0" + "symfony/stopwatch": "^4.4|^5.0" }, "suggest": { "symfony/dependency-injection": "", @@ -2548,7 +2952,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.4-dev" + "dev-master": "5.0-dev" } }, "autoload": { @@ -2575,33 +2979,33 @@ ], "description": "Symfony EventDispatcher Component", "homepage": "https://symfony.com", - "time": "2019-11-08T22:40:51+00:00" + "time": "2020-02-22T20:09:08+00:00" }, { "name": "symfony/event-dispatcher-contracts", - "version": "v1.1.7", + "version": "v2.0.1", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher-contracts.git", - "reference": "c43ab685673fb6c8d84220c77897b1d6cdbe1d18" + "reference": "af23c2584d4577d54661c434446fb8fbed6025dd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/c43ab685673fb6c8d84220c77897b1d6cdbe1d18", - "reference": "c43ab685673fb6c8d84220c77897b1d6cdbe1d18", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/af23c2584d4577d54661c434446fb8fbed6025dd", + "reference": "af23c2584d4577d54661c434446fb8fbed6025dd", "shasum": "" }, "require": { - "php": "^7.1.3" + "php": "^7.2.5", + "psr/event-dispatcher": "^1" }, "suggest": { - "psr/event-dispatcher": "", "symfony/event-dispatcher-implementation": "" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.1-dev" + "dev-master": "2.0-dev" } }, "autoload": { @@ -2633,29 +3037,29 @@ "interoperability", "standards" ], - "time": "2019-09-17T09:54:03+00:00" + "time": "2019-11-18T17:27:11+00:00" }, { "name": "symfony/finder", - "version": "v4.4.0", + "version": "v5.0.5", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "ce8743441da64c41e2a667b8eb66070444ed911e" + "reference": "6251f201187ca9d66f6b099d3de65d279e971138" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/ce8743441da64c41e2a667b8eb66070444ed911e", - "reference": "ce8743441da64c41e2a667b8eb66070444ed911e", + "url": "https://api.github.com/repos/symfony/finder/zipball/6251f201187ca9d66f6b099d3de65d279e971138", + "reference": "6251f201187ca9d66f6b099d3de65d279e971138", "shasum": "" }, "require": { - "php": "^7.1.3" + "php": "^7.2.5" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "4.4-dev" + "dev-master": "5.0-dev" } }, "autoload": { @@ -2682,35 +3086,35 @@ ], "description": "Symfony Finder Component", "homepage": "https://symfony.com", - "time": "2019-11-17T21:56:56+00:00" + "time": "2020-02-14T07:43:07+00:00" }, { "name": "symfony/http-foundation", - "version": "v4.4.0", + "version": "v5.0.5", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "502040dd2b0cf0a292defeb6145f4d7a4753c99c" + "reference": "6f9c2ba72f4295d7ce6cf9f79dbb18036291d335" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/502040dd2b0cf0a292defeb6145f4d7a4753c99c", - "reference": "502040dd2b0cf0a292defeb6145f4d7a4753c99c", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/6f9c2ba72f4295d7ce6cf9f79dbb18036291d335", + "reference": "6f9c2ba72f4295d7ce6cf9f79dbb18036291d335", "shasum": "" }, "require": { - "php": "^7.1.3", - "symfony/mime": "^4.3|^5.0", + "php": "^7.2.5", + "symfony/mime": "^4.4|^5.0", "symfony/polyfill-mbstring": "~1.1" }, "require-dev": { "predis/predis": "~1.0", - "symfony/expression-language": "^3.4|^4.0|^5.0" + "symfony/expression-language": "^4.4|^5.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "4.4-dev" + "dev-master": "5.0-dev" } }, "autoload": { @@ -2737,59 +3141,65 @@ ], "description": "Symfony HttpFoundation Component", "homepage": "https://symfony.com", - "time": "2019-11-17T10:10:42+00:00" + "time": "2020-02-14T07:43:07+00:00" }, { "name": "symfony/http-kernel", - "version": "v4.4.0", + "version": "v5.0.5", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "5a5e7237d928aa98ff8952050cbbf0135899b6b0" + "reference": "021d7d54e080405678f2d8c54cb31d0bb03b4520" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/5a5e7237d928aa98ff8952050cbbf0135899b6b0", - "reference": "5a5e7237d928aa98ff8952050cbbf0135899b6b0", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/021d7d54e080405678f2d8c54cb31d0bb03b4520", + "reference": "021d7d54e080405678f2d8c54cb31d0bb03b4520", "shasum": "" }, "require": { - "php": "^7.1.3", + "php": "^7.2.5", "psr/log": "~1.0", - "symfony/error-handler": "^4.4", - "symfony/event-dispatcher": "^4.4", + "symfony/error-handler": "^4.4|^5.0", + "symfony/event-dispatcher": "^5.0", "symfony/http-foundation": "^4.4|^5.0", "symfony/polyfill-ctype": "^1.8", "symfony/polyfill-php73": "^1.9" }, "conflict": { - "symfony/browser-kit": "<4.3", - "symfony/config": "<3.4", - "symfony/console": ">=5", - "symfony/dependency-injection": "<4.3", - "symfony/translation": "<4.2", - "twig/twig": "<1.34|<2.4,>=2" + "symfony/browser-kit": "<4.4", + "symfony/cache": "<5.0", + "symfony/config": "<5.0", + "symfony/dependency-injection": "<4.4", + "symfony/doctrine-bridge": "<5.0", + "symfony/form": "<5.0", + "symfony/http-client": "<5.0", + "symfony/mailer": "<5.0", + "symfony/messenger": "<5.0", + "symfony/translation": "<5.0", + "symfony/twig-bridge": "<5.0", + "symfony/validator": "<5.0", + "twig/twig": "<2.4" }, "provide": { "psr/log-implementation": "1.0" }, "require-dev": { "psr/cache": "~1.0", - "symfony/browser-kit": "^4.3|^5.0", - "symfony/config": "^3.4|^4.0|^5.0", - "symfony/console": "^3.4|^4.0", - "symfony/css-selector": "^3.4|^4.0|^5.0", - "symfony/dependency-injection": "^4.3|^5.0", - "symfony/dom-crawler": "^3.4|^4.0|^5.0", - "symfony/expression-language": "^3.4|^4.0|^5.0", - "symfony/finder": "^3.4|^4.0|^5.0", - "symfony/process": "^3.4|^4.0|^5.0", - "symfony/routing": "^3.4|^4.0|^5.0", - "symfony/stopwatch": "^3.4|^4.0|^5.0", - "symfony/templating": "^3.4|^4.0|^5.0", - "symfony/translation": "^4.2|^5.0", + "symfony/browser-kit": "^4.4|^5.0", + "symfony/config": "^5.0", + "symfony/console": "^4.4|^5.0", + "symfony/css-selector": "^4.4|^5.0", + "symfony/dependency-injection": "^4.4|^5.0", + "symfony/dom-crawler": "^4.4|^5.0", + "symfony/expression-language": "^4.4|^5.0", + "symfony/finder": "^4.4|^5.0", + "symfony/process": "^4.4|^5.0", + "symfony/routing": "^4.4|^5.0", + "symfony/stopwatch": "^4.4|^5.0", + "symfony/translation": "^4.4|^5.0", "symfony/translation-contracts": "^1.1|^2", - "twig/twig": "^1.34|^2.4|^3.0" + "twig/twig": "^2.4|^3.0" }, "suggest": { "symfony/browser-kit": "", @@ -2800,7 +3210,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.4-dev" + "dev-master": "5.0-dev" } }, "autoload": { @@ -2827,20 +3237,20 @@ ], "description": "Symfony HttpKernel Component", "homepage": "https://symfony.com", - "time": "2019-11-21T07:08:15+00:00" + "time": "2020-02-29T10:41:30+00:00" }, { "name": "symfony/mime", - "version": "v5.0.0", + "version": "v5.0.5", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "76f3c09b7382bf979af7bcd8e6f8033f1324285e" + "reference": "9b3e5b5e58c56bbd76628c952d2b78556d305f3c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/76f3c09b7382bf979af7bcd8e6f8033f1324285e", - "reference": "76f3c09b7382bf979af7bcd8e6f8033f1324285e", + "url": "https://api.github.com/repos/symfony/mime/zipball/9b3e5b5e58c56bbd76628c952d2b78556d305f3c", + "reference": "9b3e5b5e58c56bbd76628c952d2b78556d305f3c", "shasum": "" }, "require": { @@ -2889,20 +3299,20 @@ "mime", "mime-type" ], - "time": "2019-11-18T17:27:11+00:00" + "time": "2020-02-04T09:41:09+00:00" }, { "name": "symfony/polyfill-ctype", - "version": "v1.12.0", + "version": "v1.14.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "550ebaac289296ce228a706d0867afc34687e3f4" + "reference": "fbdeaec0df06cf3d51c93de80c7eb76e271f5a38" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/550ebaac289296ce228a706d0867afc34687e3f4", - "reference": "550ebaac289296ce228a706d0867afc34687e3f4", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/fbdeaec0df06cf3d51c93de80c7eb76e271f5a38", + "reference": "fbdeaec0df06cf3d51c93de80c7eb76e271f5a38", "shasum": "" }, "require": { @@ -2914,7 +3324,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.12-dev" + "dev-master": "1.14-dev" } }, "autoload": { @@ -2947,20 +3357,20 @@ "polyfill", "portable" ], - "time": "2019-08-06T08:03:45+00:00" + "time": "2020-01-13T11:15:53+00:00" }, { "name": "symfony/polyfill-iconv", - "version": "v1.12.0", + "version": "v1.14.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-iconv.git", - "reference": "685968b11e61a347c18bf25db32effa478be610f" + "reference": "926832ce51059bb58211b7b2080a88e0c3b5328e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/685968b11e61a347c18bf25db32effa478be610f", - "reference": "685968b11e61a347c18bf25db32effa478be610f", + "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/926832ce51059bb58211b7b2080a88e0c3b5328e", + "reference": "926832ce51059bb58211b7b2080a88e0c3b5328e", "shasum": "" }, "require": { @@ -2972,7 +3382,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.12-dev" + "dev-master": "1.14-dev" } }, "autoload": { @@ -3006,26 +3416,26 @@ "portable", "shim" ], - "time": "2019-08-06T08:03:45+00:00" + "time": "2020-01-13T11:15:53+00:00" }, { "name": "symfony/polyfill-intl-idn", - "version": "v1.12.0", + "version": "v1.14.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-idn.git", - "reference": "6af626ae6fa37d396dc90a399c0ff08e5cfc45b2" + "reference": "6842f1a39cf7d580655688069a03dd7cd83d244a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/6af626ae6fa37d396dc90a399c0ff08e5cfc45b2", - "reference": "6af626ae6fa37d396dc90a399c0ff08e5cfc45b2", + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/6842f1a39cf7d580655688069a03dd7cd83d244a", + "reference": "6842f1a39cf7d580655688069a03dd7cd83d244a", "shasum": "" }, "require": { "php": ">=5.3.3", "symfony/polyfill-mbstring": "^1.3", - "symfony/polyfill-php72": "^1.9" + "symfony/polyfill-php72": "^1.10" }, "suggest": { "ext-intl": "For best performance" @@ -3033,7 +3443,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.12-dev" + "dev-master": "1.14-dev" } }, "autoload": { @@ -3068,20 +3478,20 @@ "portable", "shim" ], - "time": "2019-08-06T08:03:45+00:00" + "time": "2020-01-17T12:01:36+00:00" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.12.0", + "version": "v1.14.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "b42a2f66e8f1b15ccf25652c3424265923eb4f17" + "reference": "34094cfa9abe1f0f14f48f490772db7a775559f2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/b42a2f66e8f1b15ccf25652c3424265923eb4f17", - "reference": "b42a2f66e8f1b15ccf25652c3424265923eb4f17", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/34094cfa9abe1f0f14f48f490772db7a775559f2", + "reference": "34094cfa9abe1f0f14f48f490772db7a775559f2", "shasum": "" }, "require": { @@ -3093,7 +3503,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.12-dev" + "dev-master": "1.14-dev" } }, "autoload": { @@ -3127,20 +3537,20 @@ "portable", "shim" ], - "time": "2019-08-06T08:03:45+00:00" + "time": "2020-01-13T11:15:53+00:00" }, { "name": "symfony/polyfill-php72", - "version": "v1.12.0", + "version": "v1.14.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php72.git", - "reference": "04ce3335667451138df4307d6a9b61565560199e" + "reference": "46ecacf4751dd0dc81e4f6bf01dbf9da1dc1dadf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/04ce3335667451138df4307d6a9b61565560199e", - "reference": "04ce3335667451138df4307d6a9b61565560199e", + "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/46ecacf4751dd0dc81e4f6bf01dbf9da1dc1dadf", + "reference": "46ecacf4751dd0dc81e4f6bf01dbf9da1dc1dadf", "shasum": "" }, "require": { @@ -3149,7 +3559,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.12-dev" + "dev-master": "1.14-dev" } }, "autoload": { @@ -3182,20 +3592,20 @@ "portable", "shim" ], - "time": "2019-08-06T08:03:45+00:00" + "time": "2020-01-13T11:15:53+00:00" }, { "name": "symfony/polyfill-php73", - "version": "v1.12.0", + "version": "v1.14.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php73.git", - "reference": "2ceb49eaccb9352bff54d22570276bb75ba4a188" + "reference": "5e66a0fa1070bf46bec4bea7962d285108edd675" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/2ceb49eaccb9352bff54d22570276bb75ba4a188", - "reference": "2ceb49eaccb9352bff54d22570276bb75ba4a188", + "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/5e66a0fa1070bf46bec4bea7962d285108edd675", + "reference": "5e66a0fa1070bf46bec4bea7962d285108edd675", "shasum": "" }, "require": { @@ -3204,7 +3614,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.12-dev" + "dev-master": "1.14-dev" } }, "autoload": { @@ -3240,29 +3650,29 @@ "portable", "shim" ], - "time": "2019-08-06T08:03:45+00:00" + "time": "2020-01-13T11:15:53+00:00" }, { "name": "symfony/process", - "version": "v4.4.0", + "version": "v5.0.5", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "75ad33d9b6f25325ebc396d68ad86fd74bcfbb06" + "reference": "fd4a86dd7e36437f2fc080d8c42c7415d828a0a8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/75ad33d9b6f25325ebc396d68ad86fd74bcfbb06", - "reference": "75ad33d9b6f25325ebc396d68ad86fd74bcfbb06", + "url": "https://api.github.com/repos/symfony/process/zipball/fd4a86dd7e36437f2fc080d8c42c7415d828a0a8", + "reference": "fd4a86dd7e36437f2fc080d8c42c7415d828a0a8", "shasum": "" }, "require": { - "php": "^7.1.3" + "php": "^7.2.5" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "4.4-dev" + "dev-master": "5.0-dev" } }, "autoload": { @@ -3289,20 +3699,20 @@ ], "description": "Symfony Process Component", "homepage": "https://symfony.com", - "time": "2019-10-28T20:30:34+00:00" + "time": "2020-02-08T17:00:58+00:00" }, { "name": "symfony/psr-http-message-bridge", - "version": "v1.3.0", + "version": "v2.0.0", "source": { "type": "git", "url": "https://github.com/symfony/psr-http-message-bridge.git", - "reference": "9d3e80d54d9ae747ad573cad796e8e247df7b796" + "reference": "ce709cd9c90872c08c2427b45739d5f3c781ab4f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/9d3e80d54d9ae747ad573cad796e8e247df7b796", - "reference": "9d3e80d54d9ae747ad573cad796e8e247df7b796", + "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/ce709cd9c90872c08c2427b45739d5f3c781ab4f", + "reference": "ce709cd9c90872c08c2427b45739d5f3c781ab4f", "shasum": "" }, "require": { @@ -3312,8 +3722,7 @@ }, "require-dev": { "nyholm/psr7": "^1.1", - "symfony/phpunit-bridge": "^4.4 || ^5.0", - "zendframework/zend-diactoros": "^1.4.1 || ^2.0" + "symfony/phpunit-bridge": "^4.4 || ^5.0" }, "suggest": { "nyholm/psr7": "For a super lightweight PSR-7/17 implementation" @@ -3321,7 +3730,7 @@ "type": "symfony-bridge", "extra": { "branch-alias": { - "dev-master": "1.3-dev" + "dev-master": "2.0-dev" } }, "autoload": { @@ -3354,38 +3763,38 @@ "psr-17", "psr-7" ], - "time": "2019-11-25T19:33:50+00:00" + "time": "2020-01-02T08:07:11+00:00" }, { "name": "symfony/routing", - "version": "v4.4.0", + "version": "v5.0.5", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "cf6d72cf0348775f5243b8389169a7096221ea40" + "reference": "d6ca39fd05c1902bf34d724ba06fb8044a0b46de" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/cf6d72cf0348775f5243b8389169a7096221ea40", - "reference": "cf6d72cf0348775f5243b8389169a7096221ea40", + "url": "https://api.github.com/repos/symfony/routing/zipball/d6ca39fd05c1902bf34d724ba06fb8044a0b46de", + "reference": "d6ca39fd05c1902bf34d724ba06fb8044a0b46de", "shasum": "" }, "require": { - "php": "^7.1.3" + "php": "^7.2.5" }, "conflict": { - "symfony/config": "<4.2", - "symfony/dependency-injection": "<3.4", - "symfony/yaml": "<3.4" + "symfony/config": "<5.0", + "symfony/dependency-injection": "<4.4", + "symfony/yaml": "<4.4" }, "require-dev": { "doctrine/annotations": "~1.2", "psr/log": "~1.0", - "symfony/config": "^4.2|^5.0", - "symfony/dependency-injection": "^3.4|^4.0|^5.0", - "symfony/expression-language": "^3.4|^4.0|^5.0", - "symfony/http-foundation": "^3.4|^4.0|^5.0", - "symfony/yaml": "^3.4|^4.0|^5.0" + "symfony/config": "^5.0", + "symfony/dependency-injection": "^4.4|^5.0", + "symfony/expression-language": "^4.4|^5.0", + "symfony/http-foundation": "^4.4|^5.0", + "symfony/yaml": "^4.4|^5.0" }, "suggest": { "doctrine/annotations": "For using the annotation loader", @@ -3397,7 +3806,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.4-dev" + "dev-master": "5.0-dev" } }, "autoload": { @@ -3430,24 +3839,24 @@ "uri", "url" ], - "time": "2019-11-20T13:44:34+00:00" + "time": "2020-02-25T14:24:11+00:00" }, { "name": "symfony/service-contracts", - "version": "v2.0.0", + "version": "v2.0.1", "source": { "type": "git", "url": "https://github.com/symfony/service-contracts.git", - "reference": "9d99e1556417bf227a62e14856d630672bf10eaf" + "reference": "144c5e51266b281231e947b51223ba14acf1a749" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/9d99e1556417bf227a62e14856d630672bf10eaf", - "reference": "9d99e1556417bf227a62e14856d630672bf10eaf", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/144c5e51266b281231e947b51223ba14acf1a749", + "reference": "144c5e51266b281231e947b51223ba14acf1a749", "shasum": "" }, "require": { - "php": "^7.2.9", + "php": "^7.2.5", "psr/container": "^1.0" }, "suggest": { @@ -3488,46 +3897,47 @@ "interoperability", "standards" ], - "time": "2019-11-09T09:18:34+00:00" + "time": "2019-11-18T17:27:11+00:00" }, { "name": "symfony/translation", - "version": "v4.4.0", + "version": "v5.0.5", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "897fb68ee7933372517b551d6f08c6d4bb0b8c40" + "reference": "e9b93f42a1fd6aec6a0872d59ee5c8219a7d584b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/897fb68ee7933372517b551d6f08c6d4bb0b8c40", - "reference": "897fb68ee7933372517b551d6f08c6d4bb0b8c40", + "url": "https://api.github.com/repos/symfony/translation/zipball/e9b93f42a1fd6aec6a0872d59ee5c8219a7d584b", + "reference": "e9b93f42a1fd6aec6a0872d59ee5c8219a7d584b", "shasum": "" }, "require": { - "php": "^7.1.3", + "php": "^7.2.5", "symfony/polyfill-mbstring": "~1.0", - "symfony/translation-contracts": "^1.1.6|^2" + "symfony/translation-contracts": "^2" }, "conflict": { - "symfony/config": "<3.4", - "symfony/dependency-injection": "<3.4", - "symfony/http-kernel": "<4.4", - "symfony/yaml": "<3.4" + "symfony/config": "<4.4", + "symfony/dependency-injection": "<5.0", + "symfony/http-kernel": "<5.0", + "symfony/twig-bundle": "<5.0", + "symfony/yaml": "<4.4" }, "provide": { - "symfony/translation-implementation": "1.0" + "symfony/translation-implementation": "2.0" }, "require-dev": { "psr/log": "~1.0", - "symfony/config": "^3.4|^4.0|^5.0", - "symfony/console": "^3.4|^4.0|^5.0", - "symfony/dependency-injection": "^3.4|^4.0|^5.0", - "symfony/finder": "~2.8|~3.0|~4.0|^5.0", - "symfony/http-kernel": "^4.4", - "symfony/intl": "^3.4|^4.0|^5.0", + "symfony/config": "^4.4|^5.0", + "symfony/console": "^4.4|^5.0", + "symfony/dependency-injection": "^5.0", + "symfony/finder": "^4.4|^5.0", + "symfony/http-kernel": "^5.0", + "symfony/intl": "^4.4|^5.0", "symfony/service-contracts": "^1.1.2|^2", - "symfony/yaml": "^3.4|^4.0|^5.0" + "symfony/yaml": "^4.4|^5.0" }, "suggest": { "psr/log-implementation": "To use logging capability in translator", @@ -3537,7 +3947,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.4-dev" + "dev-master": "5.0-dev" } }, "autoload": { @@ -3564,24 +3974,24 @@ ], "description": "Symfony Translation Component", "homepage": "https://symfony.com", - "time": "2019-11-12T17:18:47+00:00" + "time": "2020-02-04T07:41:34+00:00" }, { "name": "symfony/translation-contracts", - "version": "v2.0.0", + "version": "v2.0.1", "source": { "type": "git", "url": "https://github.com/symfony/translation-contracts.git", - "reference": "8feb81e6bb1a42d6a3b1429c751d291eb6d05297" + "reference": "8cc682ac458d75557203b2f2f14b0b92e1c744ed" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/8feb81e6bb1a42d6a3b1429c751d291eb6d05297", - "reference": "8feb81e6bb1a42d6a3b1429c751d291eb6d05297", + "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/8cc682ac458d75557203b2f2f14b0b92e1c744ed", + "reference": "8cc682ac458d75557203b2f2f14b0b92e1c744ed", "shasum": "" }, "require": { - "php": "^7.2.9" + "php": "^7.2.5" }, "suggest": { "symfony/translation-implementation": "" @@ -3621,36 +4031,35 @@ "interoperability", "standards" ], - "time": "2019-11-09T09:18:34+00:00" + "time": "2019-11-18T17:27:11+00:00" }, { "name": "symfony/var-dumper", - "version": "v4.4.0", + "version": "v5.0.5", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "eade2890f8b0eeb279b6cf41b50a10007294490f" + "reference": "3a37aeb1132d1035536d3d6aa9cb06c2ff9355e9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/eade2890f8b0eeb279b6cf41b50a10007294490f", - "reference": "eade2890f8b0eeb279b6cf41b50a10007294490f", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/3a37aeb1132d1035536d3d6aa9cb06c2ff9355e9", + "reference": "3a37aeb1132d1035536d3d6aa9cb06c2ff9355e9", "shasum": "" }, "require": { - "php": "^7.1.3", - "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php72": "~1.5" + "php": "^7.2.5", + "symfony/polyfill-mbstring": "~1.0" }, "conflict": { - "phpunit/phpunit": "<4.8.35|<5.4.3,>=5.0", - "symfony/console": "<3.4" + "phpunit/phpunit": "<5.4.3", + "symfony/console": "<4.4" }, "require-dev": { "ext-iconv": "*", - "symfony/console": "^3.4|^4.0|^5.0", + "symfony/console": "^4.4|^5.0", "symfony/process": "^4.4|^5.0", - "twig/twig": "^1.34|^2.4|^3.0" + "twig/twig": "^2.4|^3.0" }, "suggest": { "ext-iconv": "To convert non-UTF-8 strings to UTF-8 (or symfony/polyfill-iconv in case ext-iconv cannot be used).", @@ -3663,7 +4072,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.4-dev" + "dev-master": "5.0-dev" } }, "autoload": { @@ -3697,7 +4106,7 @@ "debug", "dump" ], - "time": "2019-11-12T14:51:11+00:00" + "time": "2020-02-26T22:30:10+00:00" }, { "name": "tijsverkoyen/css-to-inline-styles", @@ -3750,30 +4159,35 @@ }, { "name": "vlucas/phpdotenv", - "version": "v3.6.0", + "version": "v4.1.1", "source": { "type": "git", "url": "https://github.com/vlucas/phpdotenv.git", - "reference": "1bdf24f065975594f6a117f0f1f6cabf1333b156" + "reference": "32bd5ca5a4170f88e27073353013d210a3354ae9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/1bdf24f065975594f6a117f0f1f6cabf1333b156", - "reference": "1bdf24f065975594f6a117f0f1f6cabf1333b156", + "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/32bd5ca5a4170f88e27073353013d210a3354ae9", + "reference": "32bd5ca5a4170f88e27073353013d210a3354ae9", "shasum": "" }, "require": { - "php": "^5.4 || ^7.0", - "phpoption/phpoption": "^1.5", + "php": "^5.5.9 || ^7.0", + "phpoption/phpoption": "^1.7.2", "symfony/polyfill-ctype": "^1.9" }, "require-dev": { + "bamarni/composer-bin-plugin": "^1.3", + "ext-filter": "*", "phpunit/phpunit": "^4.8.35 || ^5.0 || ^6.0 || ^7.0" }, + "suggest": { + "ext-filter": "Required to use the boolean validator." + }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.6-dev" + "dev-master": "4.1-dev" } }, "autoload": { @@ -3803,117 +4217,95 @@ "env", "environment" ], - "time": "2019-09-10T21:37:39+00:00" + "time": "2020-03-01T23:56:01+00:00" }, { - "name": "zendframework/zend-diactoros", - "version": "2.2.1", + "name": "voku/portable-ascii", + "version": "1.4.9", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-diactoros.git", - "reference": "de5847b068362a88684a55b0dbb40d85986cfa52" + "url": "https://github.com/voku/portable-ascii.git", + "reference": "9fd2b224c71448b5f84aef9d499a1428d79776a2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-diactoros/zipball/de5847b068362a88684a55b0dbb40d85986cfa52", - "reference": "de5847b068362a88684a55b0dbb40d85986cfa52", + "url": "https://api.github.com/repos/voku/portable-ascii/zipball/9fd2b224c71448b5f84aef9d499a1428d79776a2", + "reference": "9fd2b224c71448b5f84aef9d499a1428d79776a2", "shasum": "" }, "require": { - "php": "^7.1", - "psr/http-factory": "^1.0", - "psr/http-message": "^1.0" - }, - "provide": { - "psr/http-factory-implementation": "1.0", - "psr/http-message-implementation": "1.0" + "php": ">=7.0.0" }, "require-dev": { - "ext-curl": "*", - "ext-dom": "*", - "ext-libxml": "*", - "http-interop/http-factory-tests": "^0.5.0", - "php-http/psr7-integration-tests": "dev-master", - "phpunit/phpunit": "^7.0.2", - "zendframework/zend-coding-standard": "~1.0.0" + "phpunit/phpunit": "~6.0 || ~7.0" }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.1.x-dev", - "dev-develop": "2.2.x-dev", - "dev-release-1.8": "1.8.x-dev" - } + "suggest": { + "ext-intl": "Use Intl for transliterator_transliterate() support" }, + "type": "library", "autoload": { - "files": [ - "src/functions/create_uploaded_file.php", - "src/functions/marshal_headers_from_sapi.php", - "src/functions/marshal_method_from_sapi.php", - "src/functions/marshal_protocol_version_from_sapi.php", - "src/functions/marshal_uri_from_sapi.php", - "src/functions/normalize_server.php", - "src/functions/normalize_uploaded_files.php", - "src/functions/parse_cookie_header.php" - ], "psr-4": { - "Zend\\Diactoros\\": "src/" + "voku\\": "src/voku/", + "voku\\tests\\": "tests/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], - "description": "PSR HTTP Message implementations", + "authors": [ + { + "name": "Lars Moelleken", + "homepage": "http://www.moelleken.org/" + } + ], + "description": "Portable ASCII library - performance optimized (ascii) string functions for php.", + "homepage": "https://github.com/voku/portable-ascii", "keywords": [ - "http", - "psr", - "psr-7" + "ascii", + "clean", + "php" ], - "time": "2019-11-13T19:16:13+00:00" + "time": "2020-03-06T02:47:42+00:00" } ], "packages-dev": [ { - "name": "beyondcode/laravel-dump-server", + "name": "doctrine/instantiator", "version": "1.3.0", "source": { "type": "git", - "url": "https://github.com/beyondcode/laravel-dump-server.git", - "reference": "fcc88fa66895f8c1ff83f6145a5eff5fa2a0739a" + "url": "https://github.com/doctrine/instantiator.git", + "reference": "ae466f726242e637cebdd526a7d991b9433bacf1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/beyondcode/laravel-dump-server/zipball/fcc88fa66895f8c1ff83f6145a5eff5fa2a0739a", - "reference": "fcc88fa66895f8c1ff83f6145a5eff5fa2a0739a", + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/ae466f726242e637cebdd526a7d991b9433bacf1", + "reference": "ae466f726242e637cebdd526a7d991b9433bacf1", "shasum": "" }, "require": { - "illuminate/console": "5.6.*|5.7.*|5.8.*|^6.0", - "illuminate/http": "5.6.*|5.7.*|5.8.*|^6.0", - "illuminate/support": "5.6.*|5.7.*|5.8.*|^6.0", - "php": "^7.1", - "symfony/var-dumper": "^4.1.1" + "php": "^7.1" }, "require-dev": { - "larapack/dd": "^1.0", + "doctrine/coding-standard": "^6.0", + "ext-pdo": "*", + "ext-phar": "*", + "phpbench/phpbench": "^0.13", + "phpstan/phpstan-phpunit": "^0.11", + "phpstan/phpstan-shim": "^0.11", "phpunit/phpunit": "^7.0" }, "type": "library", "extra": { - "laravel": { - "providers": [ - "BeyondCode\\DumpServer\\DumpServerServiceProvider" - ] + "branch-alias": { + "dev-master": "1.2.x-dev" } }, "autoload": { "psr-4": { - "BeyondCode\\DumpServer\\": "src" - }, - "files": [ - "helpers.php" - ] + "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -3921,55 +4313,165 @@ ], "authors": [ { - "name": "Marcel Pociot", - "email": "marcel@beyondco.de", - "homepage": "https://beyondco.de", - "role": "Developer" + "name": "Marco Pivetta", + "email": "ocramius@gmail.com", + "homepage": "http://ocramius.github.com/" } ], - "description": "Symfony Var-Dump Server for Laravel", - "homepage": "https://github.com/beyondcode/laravel-dump-server", + "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", + "homepage": "https://www.doctrine-project.org/projects/instantiator.html", "keywords": [ - "beyondcode", - "laravel-dump-server" + "constructor", + "instantiate" ], - "time": "2019-08-11T13:17:40+00:00" + "time": "2019-10-21T16:45:58+00:00" }, { - "name": "doctrine/instantiator", - "version": "1.3.0", + "name": "facade/flare-client-php", + "version": "1.3.2", "source": { "type": "git", - "url": "https://github.com/doctrine/instantiator.git", - "reference": "ae466f726242e637cebdd526a7d991b9433bacf1" + "url": "https://github.com/facade/flare-client-php.git", + "reference": "db1e03426e7f9472c9ecd1092aff00f56aa6c004" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/ae466f726242e637cebdd526a7d991b9433bacf1", - "reference": "ae466f726242e637cebdd526a7d991b9433bacf1", + "url": "https://api.github.com/repos/facade/flare-client-php/zipball/db1e03426e7f9472c9ecd1092aff00f56aa6c004", + "reference": "db1e03426e7f9472c9ecd1092aff00f56aa6c004", "shasum": "" }, "require": { - "php": "^7.1" + "facade/ignition-contracts": "~1.0", + "illuminate/pipeline": "^5.5|^6.0|^7.0", + "php": "^7.1", + "symfony/http-foundation": "^3.3|^4.1|^5.0", + "symfony/var-dumper": "^3.4|^4.0|^5.0" }, "require-dev": { - "doctrine/coding-standard": "^6.0", - "ext-pdo": "*", - "ext-phar": "*", - "phpbench/phpbench": "^0.13", - "phpstan/phpstan-phpunit": "^0.11", - "phpstan/phpstan-shim": "^0.11", - "phpunit/phpunit": "^7.0" + "larapack/dd": "^1.1", + "phpunit/phpunit": "^7.5.16", + "spatie/phpunit-snapshot-assertions": "^2.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.2.x-dev" + "dev-master": "1.0-dev" } }, "autoload": { "psr-4": { - "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" + "Facade\\FlareClient\\": "src" + }, + "files": [ + "src/helpers.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Send PHP errors to Flare", + "homepage": "https://github.com/facade/flare-client-php", + "keywords": [ + "exception", + "facade", + "flare", + "reporting" + ], + "time": "2020-03-02T15:52:04+00:00" + }, + { + "name": "facade/ignition", + "version": "2.0.1", + "source": { + "type": "git", + "url": "https://github.com/facade/ignition.git", + "reference": "b8dbf7791c81619161270d580a64a30bad41b832" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/facade/ignition/zipball/b8dbf7791c81619161270d580a64a30bad41b832", + "reference": "b8dbf7791c81619161270d580a64a30bad41b832", + "shasum": "" + }, + "require": { + "ext-json": "*", + "ext-mbstring": "*", + "facade/flare-client-php": "^1.0", + "facade/ignition-contracts": "^1.0", + "filp/whoops": "^2.4", + "illuminate/support": "^7.0", + "monolog/monolog": "^2.0", + "php": "^7.2.5", + "scrivo/highlight.php": "^9.15", + "symfony/console": "^5.0", + "symfony/var-dumper": "^5.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^2.14", + "mockery/mockery": "^1.3", + "orchestra/testbench": "5.0" + }, + "suggest": { + "laravel/telescope": "^2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.x-dev" + }, + "laravel": { + "providers": [ + "Facade\\Ignition\\IgnitionServiceProvider" + ], + "aliases": { + "Flare": "Facade\\Ignition\\Facades\\Flare" + } + } + }, + "autoload": { + "psr-4": { + "Facade\\Ignition\\": "src" + }, + "files": [ + "src/helpers.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A beautiful error page for Laravel applications.", + "homepage": "https://github.com/facade/ignition", + "keywords": [ + "error", + "flare", + "laravel", + "page" + ], + "time": "2020-03-05T12:32:22+00:00" + }, + { + "name": "facade/ignition-contracts", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/facade/ignition-contracts.git", + "reference": "f445db0fb86f48e205787b2592840dd9c80ded28" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/facade/ignition-contracts/zipball/f445db0fb86f48e205787b2592840dd9c80ded28", + "reference": "f445db0fb86f48e205787b2592840dd9c80ded28", + "shasum": "" + }, + "require": { + "php": "^7.1" + }, + "type": "library", + "autoload": { + "psr-4": { + "Facade\\IgnitionContracts\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -3978,31 +4480,33 @@ ], "authors": [ { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "homepage": "http://ocramius.github.com/" + "name": "Freek Van der Herten", + "email": "freek@spatie.be", + "homepage": "https://flareapp.io", + "role": "Developer" } ], - "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "homepage": "https://www.doctrine-project.org/projects/instantiator.html", + "description": "Solution contracts for Ignition", + "homepage": "https://github.com/facade/ignition-contracts", "keywords": [ - "constructor", - "instantiate" + "contracts", + "flare", + "ignition" ], - "time": "2019-10-21T16:45:58+00:00" + "time": "2019-08-30T14:06:08+00:00" }, { "name": "filp/whoops", - "version": "2.5.0", + "version": "2.7.1", "source": { "type": "git", "url": "https://github.com/filp/whoops.git", - "reference": "cde50e6720a39fdacb240159d3eea6865d51fd96" + "reference": "fff6f1e4f36be0e0d0b84d66b413d9dcb0c49130" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filp/whoops/zipball/cde50e6720a39fdacb240159d3eea6865d51fd96", - "reference": "cde50e6720a39fdacb240159d3eea6865d51fd96", + "url": "https://api.github.com/repos/filp/whoops/zipball/fff6f1e4f36be0e0d0b84d66b413d9dcb0c49130", + "reference": "fff6f1e4f36be0e0d0b84d66b413d9dcb0c49130", "shasum": "" }, "require": { @@ -4011,8 +4515,8 @@ }, "require-dev": { "mockery/mockery": "^0.9 || ^1.0", - "phpunit/phpunit": "^4.8.35 || ^5.7", - "symfony/var-dumper": "^2.6 || ^3.0 || ^4.0" + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0", + "symfony/var-dumper": "^2.6 || ^3.0 || ^4.0 || ^5.0" }, "suggest": { "symfony/var-dumper": "Pretty print complex values better with var-dumper available", @@ -4021,7 +4525,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.2-dev" + "dev-master": "2.6-dev" } }, "autoload": { @@ -4050,20 +4554,20 @@ "throwable", "whoops" ], - "time": "2019-08-07T09:00:00+00:00" + "time": "2020-01-15T10:00:00+00:00" }, { "name": "fzaninotto/faker", - "version": "v1.9.0", + "version": "v1.9.1", "source": { "type": "git", "url": "https://github.com/fzaninotto/Faker.git", - "reference": "27a216cbe72327b2d6369fab721a5843be71e57d" + "reference": "fc10d778e4b84d5bd315dad194661e091d307c6f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/fzaninotto/Faker/zipball/27a216cbe72327b2d6369fab721a5843be71e57d", - "reference": "27a216cbe72327b2d6369fab721a5843be71e57d", + "url": "https://api.github.com/repos/fzaninotto/Faker/zipball/fc10d778e4b84d5bd315dad194661e091d307c6f", + "reference": "fc10d778e4b84d5bd315dad194661e091d307c6f", "shasum": "" }, "require": { @@ -4076,7 +4580,9 @@ }, "type": "library", "extra": { - "branch-alias": [] + "branch-alias": { + "dev-master": "1.9-dev" + } }, "autoload": { "psr-4": { @@ -4098,7 +4604,7 @@ "faker", "fixtures" ], - "time": "2019-11-14T13:13:06+00:00" + "time": "2019-12-12T13:22:17+00:00" }, { "name": "hamcrest/hamcrest-php", @@ -4150,23 +4656,22 @@ }, { "name": "mockery/mockery", - "version": "1.3.0", + "version": "1.3.1", "source": { "type": "git", "url": "https://github.com/mockery/mockery.git", - "reference": "5571962a4f733fbb57bede39778f71647fae8e66" + "reference": "f69bbde7d7a75d6b2862d9ca8fab1cd28014b4be" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/mockery/mockery/zipball/5571962a4f733fbb57bede39778f71647fae8e66", - "reference": "5571962a4f733fbb57bede39778f71647fae8e66", + "url": "https://api.github.com/repos/mockery/mockery/zipball/f69bbde7d7a75d6b2862d9ca8fab1cd28014b4be", + "reference": "f69bbde7d7a75d6b2862d9ca8fab1cd28014b4be", "shasum": "" }, "require": { "hamcrest/hamcrest-php": "~2.0", "lib-pcre": ">=7.0", - "php": ">=5.6.0", - "sebastian/comparator": "^1.2.4|^3.0" + "php": ">=5.6.0" }, "require-dev": { "phpunit/phpunit": "~5.7.10|~6.5|~7.0|~8.0" @@ -4174,7 +4679,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.2.x-dev" + "dev-master": "1.3.x-dev" } }, "autoload": { @@ -4212,20 +4717,20 @@ "test double", "testing" ], - "time": "2019-11-24T07:54:50+00:00" + "time": "2019-12-26T09:49:15+00:00" }, { "name": "myclabs/deep-copy", - "version": "1.9.3", + "version": "1.9.5", "source": { "type": "git", "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "007c053ae6f31bba39dfa19a7726f56e9763bbea" + "reference": "b2c28789e80a97badd14145fda39b545d83ca3ef" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/007c053ae6f31bba39dfa19a7726f56e9763bbea", - "reference": "007c053ae6f31bba39dfa19a7726f56e9763bbea", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/b2c28789e80a97badd14145fda39b545d83ca3ef", + "reference": "b2c28789e80a97badd14145fda39b545d83ca3ef", "shasum": "" }, "require": { @@ -4260,33 +4765,39 @@ "object", "object graph" ], - "time": "2019-08-09T12:45:53+00:00" + "time": "2020-01-17T21:11:47+00:00" }, { "name": "nunomaduro/collision", - "version": "v3.0.1", + "version": "v4.1.2", "source": { "type": "git", "url": "https://github.com/nunomaduro/collision.git", - "reference": "af42d339fe2742295a54f6fdd42aaa6f8c4aca68" + "reference": "e81356da90969139c85709f8353e59f1e7d5e01c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nunomaduro/collision/zipball/af42d339fe2742295a54f6fdd42aaa6f8c4aca68", - "reference": "af42d339fe2742295a54f6fdd42aaa6f8c4aca68", + "url": "https://api.github.com/repos/nunomaduro/collision/zipball/e81356da90969139c85709f8353e59f1e7d5e01c", + "reference": "e81356da90969139c85709f8353e59f1e7d5e01c", "shasum": "" }, "require": { - "filp/whoops": "^2.1.4", - "jakub-onderka/php-console-highlighter": "0.3.*|0.4.*", - "php": "^7.1", - "symfony/console": "~2.8|~3.3|~4.0" + "facade/ignition-contracts": "^1.0", + "filp/whoops": "^2.4", + "jakub-onderka/php-console-highlighter": "^0.4", + "php": "^7.2.5", + "symfony/console": "^5.0" }, "require-dev": { - "laravel/framework": "5.8.*", - "nunomaduro/larastan": "^0.3.0", - "phpstan/phpstan": "^0.11", - "phpunit/phpunit": "~8.0" + "facade/ignition": "^2.0", + "fideloper/proxy": "^4.2", + "fruitcake/laravel-cors": "^1.0", + "laravel/framework": "^7.0", + "laravel/tinker": "^2.0", + "nunomaduro/larastan": "^0.5", + "orchestra/testbench": "^5.0", + "phpstan/phpstan": "^0.12.3", + "phpunit/phpunit": "^8.5.1 || ^9.0" }, "type": "library", "extra": { @@ -4324,7 +4835,7 @@ "php", "symfony" ], - "time": "2019-03-07T21:35:13+00:00" + "time": "2020-03-03T18:17:47+00:00" }, { "name": "phar-io/manifest", @@ -4482,40 +4993,38 @@ }, { "name": "phpdocumentor/reflection-docblock", - "version": "4.3.2", + "version": "5.1.0", "source": { "type": "git", "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "b83ff7cfcfee7827e1e78b637a5904fe6a96698e" + "reference": "cd72d394ca794d3466a3b2fc09d5a6c1dc86b47e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/b83ff7cfcfee7827e1e78b637a5904fe6a96698e", - "reference": "b83ff7cfcfee7827e1e78b637a5904fe6a96698e", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/cd72d394ca794d3466a3b2fc09d5a6c1dc86b47e", + "reference": "cd72d394ca794d3466a3b2fc09d5a6c1dc86b47e", "shasum": "" }, "require": { - "php": "^7.0", - "phpdocumentor/reflection-common": "^1.0.0 || ^2.0.0", - "phpdocumentor/type-resolver": "~0.4 || ^1.0.0", - "webmozart/assert": "^1.0" + "ext-filter": "^7.1", + "php": "^7.2", + "phpdocumentor/reflection-common": "^2.0", + "phpdocumentor/type-resolver": "^1.0", + "webmozart/assert": "^1" }, "require-dev": { - "doctrine/instantiator": "^1.0.5", - "mockery/mockery": "^1.0", - "phpunit/phpunit": "^6.4" + "doctrine/instantiator": "^1", + "mockery/mockery": "^1" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "4.x-dev" + "dev-master": "5.x-dev" } }, "autoload": { "psr-4": { - "phpDocumentor\\Reflection\\": [ - "src/" - ] + "phpDocumentor\\Reflection\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -4526,33 +5035,36 @@ { "name": "Mike van Riel", "email": "me@mikevanriel.com" + }, + { + "name": "Jaap van Otterdijk", + "email": "account@ijaap.nl" } ], "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", - "time": "2019-09-12T14:27:41+00:00" + "time": "2020-02-22T12:28:44+00:00" }, { "name": "phpdocumentor/type-resolver", - "version": "1.0.1", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "2e32a6d48972b2c1976ed5d8967145b6cec4a4a9" + "reference": "7462d5f123dfc080dfdf26897032a6513644fc95" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/2e32a6d48972b2c1976ed5d8967145b6cec4a4a9", - "reference": "2e32a6d48972b2c1976ed5d8967145b6cec4a4a9", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/7462d5f123dfc080dfdf26897032a6513644fc95", + "reference": "7462d5f123dfc080dfdf26897032a6513644fc95", "shasum": "" }, "require": { - "php": "^7.1", + "php": "^7.2", "phpdocumentor/reflection-common": "^2.0" }, "require-dev": { - "ext-tokenizer": "^7.1", - "mockery/mockery": "~1", - "phpunit/phpunit": "^7.0" + "ext-tokenizer": "^7.2", + "mockery/mockery": "~1" }, "type": "library", "extra": { @@ -4576,37 +5088,37 @@ } ], "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", - "time": "2019-08-22T18:11:29+00:00" + "time": "2020-02-18T18:59:58+00:00" }, { "name": "phpspec/prophecy", - "version": "1.9.0", + "version": "v1.10.3", "source": { "type": "git", "url": "https://github.com/phpspec/prophecy.git", - "reference": "f6811d96d97bdf400077a0cc100ae56aa32b9203" + "reference": "451c3cd1418cf640de218914901e51b064abb093" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/f6811d96d97bdf400077a0cc100ae56aa32b9203", - "reference": "f6811d96d97bdf400077a0cc100ae56aa32b9203", + "url": "https://api.github.com/repos/phpspec/prophecy/zipball/451c3cd1418cf640de218914901e51b064abb093", + "reference": "451c3cd1418cf640de218914901e51b064abb093", "shasum": "" }, "require": { "doctrine/instantiator": "^1.0.2", "php": "^5.3|^7.0", "phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0|^5.0", - "sebastian/comparator": "^1.1|^2.0|^3.0", - "sebastian/recursion-context": "^1.0|^2.0|^3.0" + "sebastian/comparator": "^1.2.3|^2.0|^3.0|^4.0", + "sebastian/recursion-context": "^1.0|^2.0|^3.0|^4.0" }, "require-dev": { - "phpspec/phpspec": "^2.5|^3.2", + "phpspec/phpspec": "^2.5 || ^3.2", "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5 || ^7.1" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.8.x-dev" + "dev-master": "1.10.x-dev" } }, "autoload": { @@ -4639,7 +5151,7 @@ "spy", "stub" ], - "time": "2019-10-03T11:07:50+00:00" + "time": "2020-03-05T15:02:03+00:00" }, { "name": "phpunit/php-code-coverage", @@ -4895,16 +5407,16 @@ }, { "name": "phpunit/phpunit", - "version": "8.4.3", + "version": "8.5.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "67f9e35bffc0dd52d55d565ddbe4230454fd6a4e" + "reference": "018b6ac3c8ab20916db85fa91bf6465acb64d1e0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/67f9e35bffc0dd52d55d565ddbe4230454fd6a4e", - "reference": "67f9e35bffc0dd52d55d565ddbe4230454fd6a4e", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/018b6ac3c8ab20916db85fa91bf6465acb64d1e0", + "reference": "018b6ac3c8ab20916db85fa91bf6465acb64d1e0", "shasum": "" }, "require": { @@ -4948,7 +5460,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "8.4-dev" + "dev-master": "8.5-dev" } }, "autoload": { @@ -4974,7 +5486,76 @@ "testing", "xunit" ], - "time": "2019-11-06T09:42:23+00:00" + "time": "2020-01-08T08:49:49+00:00" + }, + { + "name": "scrivo/highlight.php", + "version": "v9.18.1.1", + "source": { + "type": "git", + "url": "https://github.com/scrivo/highlight.php.git", + "reference": "52fc21c99fd888e33aed4879e55a3646f8d40558" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/scrivo/highlight.php/zipball/52fc21c99fd888e33aed4879e55a3646f8d40558", + "reference": "52fc21c99fd888e33aed4879e55a3646f8d40558", + "shasum": "" + }, + "require": { + "ext-json": "*", + "ext-mbstring": "*", + "php": ">=5.4" + }, + "require-dev": { + "phpunit/phpunit": "^4.8|^5.7", + "sabberworm/php-css-parser": "^8.3", + "symfony/finder": "^2.8|^3.4", + "symfony/var-dumper": "^2.8|^3.4" + }, + "suggest": { + "ext-dom": "Needed to make use of the features in the utilities namespace" + }, + "type": "library", + "autoload": { + "psr-0": { + "Highlight\\": "", + "HighlightUtilities\\": "" + }, + "files": [ + "HighlightUtilities/functions.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Geert Bergman", + "homepage": "http://www.scrivo.org/", + "role": "Project Author" + }, + { + "name": "Vladimir Jimenez", + "homepage": "https://allejo.io", + "role": "Maintainer" + }, + { + "name": "Martin Folkers", + "homepage": "https://twobrain.io", + "role": "Contributor" + } + ], + "description": "Server side syntax highlighter that supports 185 languages. It's a PHP port of highlight.js", + "keywords": [ + "code", + "highlight", + "highlight.js", + "highlight.php", + "syntax" + ], + "time": "2020-03-02T05:59:21+00:00" }, { "name": "sebastian/code-unit-reverse-lookup", @@ -5633,16 +6214,16 @@ }, { "name": "webmozart/assert", - "version": "1.6.0", + "version": "1.7.0", "source": { "type": "git", "url": "https://github.com/webmozart/assert.git", - "reference": "573381c0a64f155a0d9a23f4b0c797194805b925" + "reference": "aed98a490f9a8f78468232db345ab9cf606cf598" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/webmozart/assert/zipball/573381c0a64f155a0d9a23f4b0c797194805b925", - "reference": "573381c0a64f155a0d9a23f4b0c797194805b925", + "url": "https://api.github.com/repos/webmozart/assert/zipball/aed98a490f9a8f78468232db345ab9cf606cf598", + "reference": "aed98a490f9a8f78468232db345ab9cf606cf598", "shasum": "" }, "require": { @@ -5677,7 +6258,7 @@ "check", "validate" ], - "time": "2019-11-24T13:36:37+00:00" + "time": "2020-02-14T12:15:55+00:00" } ], "aliases": [], @@ -5686,7 +6267,7 @@ "prefer-stable": true, "prefer-lowest": false, "platform": { - "php": "^7.2.2", + "php": "^7.2.5", "ext-json": "*" }, "platform-dev": [] diff --git a/docker-compose.yml b/docker-compose.yml index 8517e316..3216d738 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -13,8 +13,8 @@ services: XDEBUG_CONFIG: "idekey=IDE_DEBUG" PHP_IDE_CONFIG: "serverName=laravel_react_app" ports: - - 9000:9000 - - 9001:9001 + - 9001:9000 + - 9002:9001 volumes: - .:/var/www/app depends_on: @@ -39,7 +39,7 @@ services: ports: - 3333:3306 volumes: - - ./.docker/db/dump.sql:/docker-entrypoint-initdb.d/dump.sql + - ./.docker/db/dump.sql:/docker-entrypoint-initdb.d/dump .sql command: --default-authentication-plugin=mysql_native_password networks: - laravel_react_network diff --git a/package-lock.json b/package-lock.json index 2f4822d7..f03c27c5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,29 +5,41 @@ "requires": true, "dependencies": { "@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==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", + "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", "dev": true, "requires": { - "@babel/highlight": "^7.0.0" + "@babel/highlight": "^7.8.3" + } + }, + "@babel/compat-data": { + "version": "7.8.6", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.8.6.tgz", + "integrity": "sha512-CurCIKPTkS25Mb8mz267vU95vy+TyUpnctEX2lV33xWNmHAfjruztgiPBbXZRh3xZZy1CYvGx6XfxyTVS+sk7Q==", + "dev": true, + "requires": { + "browserslist": "^4.8.5", + "invariant": "^2.2.4", + "semver": "^5.5.0" } }, "@babel/core": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.6.0.tgz", - "integrity": "sha512-FuRhDRtsd6IptKpHXAa+4WPZYY2ZzgowkbLBecEDDSje1X/apG7jQM33or3NdOmjXBKWGOg4JmSiRfUfuTtHXw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.5.5", - "@babel/generator": "^7.6.0", - "@babel/helpers": "^7.6.0", - "@babel/parser": "^7.6.0", - "@babel/template": "^7.6.0", - "@babel/traverse": "^7.6.0", - "@babel/types": "^7.6.0", - "convert-source-map": "^1.1.0", + "version": "7.8.7", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.8.7.tgz", + "integrity": "sha512-rBlqF3Yko9cynC5CCFy6+K/w2N+Sq/ff2BPy+Krp7rHlABIr5epbA7OxVeKoMHB39LZOp1UY5SuLjy6uWi35yA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.8.3", + "@babel/generator": "^7.8.7", + "@babel/helpers": "^7.8.4", + "@babel/parser": "^7.8.7", + "@babel/template": "^7.8.6", + "@babel/traverse": "^7.8.6", + "@babel/types": "^7.8.7", + "convert-source-map": "^1.7.0", "debug": "^4.1.0", + "gensync": "^1.0.0-beta.1", "json5": "^2.1.0", "lodash": "^4.17.13", "resolve": "^1.3.2", @@ -36,9 +48,9 @@ }, "dependencies": { "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==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.1.tgz", + "integrity": "sha512-l+3HXD0GEI3huGq1njuqtzYK8OYJyXMkOLtQ53pjWh89tvWS2h6l+1zMkYWqlb57+SiQodKZyvMEFb2X+KrFhQ==", "dev": true, "requires": { "minimist": "^1.2.0" @@ -53,964 +65,273 @@ } }, "@babel/generator": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.6.0.tgz", - "integrity": "sha512-Ms8Mo7YBdMMn1BYuNtKuP/z0TgEIhbcyB8HVR6PPNYp4P61lMsABiS4A3VG1qznjXVCf3r+fVHhm4efTYVsySA==", + "version": "7.8.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.7.tgz", + "integrity": "sha512-DQwjiKJqH4C3qGiyQCAExJHoZssn49JTMJgZ8SANGgVFdkupcUhLOdkAeoC6kmHZCPfoDG5M0b6cFlSN5wW7Ew==", "dev": true, "requires": { - "@babel/types": "^7.6.0", + "@babel/types": "^7.8.7", "jsesc": "^2.5.1", "lodash": "^4.17.13", - "source-map": "^0.5.0", - "trim-right": "^1.0.1" + "source-map": "^0.5.0" } }, "@babel/helper-annotate-as-pure": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.7.4.tgz", - "integrity": "sha512-2BQmQgECKzYKFPpiycoF9tlb5HA4lrVyAmLLVK177EcQAqjVLciUb2/R+n1boQ9y5ENV3uz2ZqiNw7QMBBw1Og==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.8.3.tgz", + "integrity": "sha512-6o+mJrZBxOoEX77Ezv9zwW7WV8DdluouRKNY/IR5u/YTMuKHgugHOzYWlYvYLpLA9nPsQCAAASpCIbjI9Mv+Uw==", "dev": true, "requires": { - "@babel/types": "^7.7.4" - }, - "dependencies": { - "@babel/types": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.7.4.tgz", - "integrity": "sha512-cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA==", - "dev": true, - "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - } + "@babel/types": "^7.8.3" } }, "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.7.4.tgz", - "integrity": "sha512-Biq/d/WtvfftWZ9Uf39hbPBYDUo986m5Bb4zhkeYDGUllF43D+nUe5M6Vuo6/8JDK/0YX/uBdeoQpyaNhNugZQ==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.8.3.tgz", + "integrity": "sha512-5eFOm2SyFPK4Rh3XMMRDjN7lBH0orh3ss0g3rTYZnBQ+r6YPj7lgDyCvPphynHvUrobJmeMignBr6Acw9mAPlw==", "dev": true, "requires": { - "@babel/helper-explode-assignable-expression": "^7.7.4", - "@babel/types": "^7.7.4" - }, - "dependencies": { - "@babel/types": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.7.4.tgz", - "integrity": "sha512-cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA==", - "dev": true, - "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - } + "@babel/helper-explode-assignable-expression": "^7.8.3", + "@babel/types": "^7.8.3" } }, "@babel/helper-builder-react-jsx": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.7.4.tgz", - "integrity": "sha512-kvbfHJNN9dg4rkEM4xn1s8d1/h6TYNvajy9L1wx4qLn9HFg0IkTsQi4rfBe92nxrPUFcMsHoMV+8rU7MJb3fCA==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.8.3.tgz", + "integrity": "sha512-JT8mfnpTkKNCboTqZsQTdGo3l3Ik3l7QIt9hh0O9DYiwVel37VoJpILKM4YFbP2euF32nkQSb+F9cUk9b7DDXQ==", "dev": true, "requires": { - "@babel/types": "^7.7.4", + "@babel/types": "^7.8.3", "esutils": "^2.0.0" - }, - "dependencies": { - "@babel/types": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.7.4.tgz", - "integrity": "sha512-cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA==", - "dev": true, - "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - } } }, "@babel/helper-call-delegate": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.7.4.tgz", - "integrity": "sha512-8JH9/B7J7tCYJ2PpWVpw9JhPuEVHztagNVuQAFBVFYluRMlpG7F1CgKEgGeL6KFqcsIa92ZYVj6DSc0XwmN1ZA==", + "version": "7.8.7", + "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.8.7.tgz", + "integrity": "sha512-doAA5LAKhsFCR0LAFIf+r2RSMmC+m8f/oQ+URnUET/rWeEzC0yTRmAGyWkD4sSu3xwbS7MYQ2u+xlt1V5R56KQ==", "dev": true, "requires": { - "@babel/helper-hoist-variables": "^7.7.4", - "@babel/traverse": "^7.7.4", - "@babel/types": "^7.7.4" - }, - "dependencies": { - "@babel/generator": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.7.4.tgz", - "integrity": "sha512-m5qo2WgdOJeyYngKImbkyQrnUN1mPceaG5BV+G0E3gWsa4l/jCSryWJdM2x8OuGAOyh+3d5pVYfZWCiNFtynxg==", - "dev": true, - "requires": { - "@babel/types": "^7.7.4", - "jsesc": "^2.5.1", - "lodash": "^4.17.13", - "source-map": "^0.5.0" - } - }, - "@babel/helper-function-name": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.7.4.tgz", - "integrity": "sha512-AnkGIdiBhEuiwdoMnKm7jfPfqItZhgRaZfMg1XX3bS25INOnLPjPG1Ppnajh8eqgt5kPJnfqrRHqFqmjKDZLzQ==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.7.4", - "@babel/template": "^7.7.4", - "@babel/types": "^7.7.4" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.7.4.tgz", - "integrity": "sha512-QTGKEdCkjgzgfJ3bAyRwF4yyT3pg+vDgan8DSivq1eS0gwi+KGKE5x8kRcbeFTb/673mkO5SN1IZfmCfA5o+EA==", - "dev": true, - "requires": { - "@babel/types": "^7.7.4" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.7.4.tgz", - "integrity": "sha512-guAg1SXFcVr04Guk9eq0S4/rWS++sbmyqosJzVs8+1fH5NI+ZcmkaSkc7dmtAFbHFva6yRJnjW3yAcGxjueDug==", - "dev": true, - "requires": { - "@babel/types": "^7.7.4" - } - }, - "@babel/parser": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.7.4.tgz", - "integrity": "sha512-jIwvLO0zCL+O/LmEJQjWA75MQTWwx3c3u2JOTDK5D3/9egrWRRA0/0hk9XXywYnXZVVpzrBYeIQTmhwUaePI9g==", - "dev": true - }, - "@babel/template": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.7.4.tgz", - "integrity": "sha512-qUzihgVPguAzXCK7WXw8pqs6cEwi54s3E+HrejlkuWO6ivMKx9hZl3Y2fSXp9i5HgyWmj7RKP+ulaYnKM4yYxw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.7.4", - "@babel/types": "^7.7.4" - } - }, - "@babel/traverse": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.7.4.tgz", - "integrity": "sha512-P1L58hQyupn8+ezVA2z5KBm4/Zr4lCC8dwKCMYzsa5jFMDMQAzaBNy9W5VjB+KAmBjb40U7a/H6ao+Xo+9saIw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.5.5", - "@babel/generator": "^7.7.4", - "@babel/helper-function-name": "^7.7.4", - "@babel/helper-split-export-declaration": "^7.7.4", - "@babel/parser": "^7.7.4", - "@babel/types": "^7.7.4", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.13" - } - }, - "@babel/types": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.7.4.tgz", - "integrity": "sha512-cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA==", - "dev": true, - "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - } + "@babel/helper-hoist-variables": "^7.8.3", + "@babel/traverse": "^7.8.3", + "@babel/types": "^7.8.7" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.8.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.8.7.tgz", + "integrity": "sha512-4mWm8DCK2LugIS+p1yArqvG1Pf162upsIsjE7cNBjez+NjliQpVhj20obE520nao0o14DaTnFJv+Fw5a0JpoUw==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.8.6", + "browserslist": "^4.9.1", + "invariant": "^2.2.4", + "levenary": "^1.1.1", + "semver": "^5.5.0" } }, "@babel/helper-create-class-features-plugin": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.7.4.tgz", - "integrity": "sha512-l+OnKACG4uiDHQ/aJT8dwpR+LhCJALxL0mJ6nzjB25e5IPwqV1VOsY7ah6UB1DG+VOXAIMtuC54rFJGiHkxjgA==", + "version": "7.8.6", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.8.6.tgz", + "integrity": "sha512-klTBDdsr+VFFqaDHm5rR69OpEQtO2Qv8ECxHS1mNhJJvaHArR6a1xTf5K/eZW7eZpJbhCx3NW1Yt/sKsLXLblg==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.7.4", - "@babel/helper-member-expression-to-functions": "^7.7.4", - "@babel/helper-optimise-call-expression": "^7.7.4", - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-replace-supers": "^7.7.4", - "@babel/helper-split-export-declaration": "^7.7.4" - }, - "dependencies": { - "@babel/helper-function-name": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.7.4.tgz", - "integrity": "sha512-AnkGIdiBhEuiwdoMnKm7jfPfqItZhgRaZfMg1XX3bS25INOnLPjPG1Ppnajh8eqgt5kPJnfqrRHqFqmjKDZLzQ==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.7.4", - "@babel/template": "^7.7.4", - "@babel/types": "^7.7.4" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.7.4.tgz", - "integrity": "sha512-QTGKEdCkjgzgfJ3bAyRwF4yyT3pg+vDgan8DSivq1eS0gwi+KGKE5x8kRcbeFTb/673mkO5SN1IZfmCfA5o+EA==", - "dev": true, - "requires": { - "@babel/types": "^7.7.4" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.7.4.tgz", - "integrity": "sha512-guAg1SXFcVr04Guk9eq0S4/rWS++sbmyqosJzVs8+1fH5NI+ZcmkaSkc7dmtAFbHFva6yRJnjW3yAcGxjueDug==", - "dev": true, - "requires": { - "@babel/types": "^7.7.4" - } - }, - "@babel/parser": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.7.4.tgz", - "integrity": "sha512-jIwvLO0zCL+O/LmEJQjWA75MQTWwx3c3u2JOTDK5D3/9egrWRRA0/0hk9XXywYnXZVVpzrBYeIQTmhwUaePI9g==", - "dev": true - }, - "@babel/template": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.7.4.tgz", - "integrity": "sha512-qUzihgVPguAzXCK7WXw8pqs6cEwi54s3E+HrejlkuWO6ivMKx9hZl3Y2fSXp9i5HgyWmj7RKP+ulaYnKM4yYxw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.7.4", - "@babel/types": "^7.7.4" - } - }, - "@babel/types": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.7.4.tgz", - "integrity": "sha512-cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA==", - "dev": true, - "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - } + "@babel/helper-function-name": "^7.8.3", + "@babel/helper-member-expression-to-functions": "^7.8.3", + "@babel/helper-optimise-call-expression": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/helper-replace-supers": "^7.8.6", + "@babel/helper-split-export-declaration": "^7.8.3" } }, "@babel/helper-create-regexp-features-plugin": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.7.4.tgz", - "integrity": "sha512-Mt+jBKaxL0zfOIWrfQpnfYCN7/rS6GKx6CCCfuoqVVd+17R8zNDlzVYmIi9qyb2wOk002NsmSTDymkIygDUH7A==", + "version": "7.8.6", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.8.6.tgz", + "integrity": "sha512-bPyujWfsHhV/ztUkwGHz/RPV1T1TDEsSZDsN42JPehndA+p1KKTh3npvTadux0ZhCrytx9tvjpWNowKby3tM6A==", "dev": true, "requires": { - "@babel/helper-regex": "^7.4.4", + "@babel/helper-annotate-as-pure": "^7.8.3", + "@babel/helper-regex": "^7.8.3", "regexpu-core": "^4.6.0" } }, "@babel/helper-define-map": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.7.4.tgz", - "integrity": "sha512-v5LorqOa0nVQUvAUTUF3KPastvUt/HzByXNamKQ6RdJRTV7j8rLL+WB5C/MzzWAwOomxDhYFb1wLLxHqox86lg==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.8.3.tgz", + "integrity": "sha512-PoeBYtxoZGtct3md6xZOCWPcKuMuk3IHhgxsRRNtnNShebf4C8YonTSblsK4tvDbm+eJAw2HAPOfCr+Q/YRG/g==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.7.4", - "@babel/types": "^7.7.4", + "@babel/helper-function-name": "^7.8.3", + "@babel/types": "^7.8.3", "lodash": "^4.17.13" - }, - "dependencies": { - "@babel/helper-function-name": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.7.4.tgz", - "integrity": "sha512-AnkGIdiBhEuiwdoMnKm7jfPfqItZhgRaZfMg1XX3bS25INOnLPjPG1Ppnajh8eqgt5kPJnfqrRHqFqmjKDZLzQ==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.7.4", - "@babel/template": "^7.7.4", - "@babel/types": "^7.7.4" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.7.4.tgz", - "integrity": "sha512-QTGKEdCkjgzgfJ3bAyRwF4yyT3pg+vDgan8DSivq1eS0gwi+KGKE5x8kRcbeFTb/673mkO5SN1IZfmCfA5o+EA==", - "dev": true, - "requires": { - "@babel/types": "^7.7.4" - } - }, - "@babel/parser": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.7.4.tgz", - "integrity": "sha512-jIwvLO0zCL+O/LmEJQjWA75MQTWwx3c3u2JOTDK5D3/9egrWRRA0/0hk9XXywYnXZVVpzrBYeIQTmhwUaePI9g==", - "dev": true - }, - "@babel/template": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.7.4.tgz", - "integrity": "sha512-qUzihgVPguAzXCK7WXw8pqs6cEwi54s3E+HrejlkuWO6ivMKx9hZl3Y2fSXp9i5HgyWmj7RKP+ulaYnKM4yYxw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.7.4", - "@babel/types": "^7.7.4" - } - }, - "@babel/types": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.7.4.tgz", - "integrity": "sha512-cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA==", - "dev": true, - "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - } } }, "@babel/helper-explode-assignable-expression": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.7.4.tgz", - "integrity": "sha512-2/SicuFrNSXsZNBxe5UGdLr+HZg+raWBLE9vC98bdYOKX/U6PY0mdGlYUJdtTDPSU0Lw0PNbKKDpwYHJLn2jLg==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.8.3.tgz", + "integrity": "sha512-N+8eW86/Kj147bO9G2uclsg5pwfs/fqqY5rwgIL7eTBklgXjcOJ3btzS5iM6AitJcftnY7pm2lGsrJVYLGjzIw==", "dev": true, "requires": { - "@babel/traverse": "^7.7.4", - "@babel/types": "^7.7.4" - }, - "dependencies": { - "@babel/generator": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.7.4.tgz", - "integrity": "sha512-m5qo2WgdOJeyYngKImbkyQrnUN1mPceaG5BV+G0E3gWsa4l/jCSryWJdM2x8OuGAOyh+3d5pVYfZWCiNFtynxg==", - "dev": true, - "requires": { - "@babel/types": "^7.7.4", - "jsesc": "^2.5.1", - "lodash": "^4.17.13", - "source-map": "^0.5.0" - } - }, - "@babel/helper-function-name": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.7.4.tgz", - "integrity": "sha512-AnkGIdiBhEuiwdoMnKm7jfPfqItZhgRaZfMg1XX3bS25INOnLPjPG1Ppnajh8eqgt5kPJnfqrRHqFqmjKDZLzQ==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.7.4", - "@babel/template": "^7.7.4", - "@babel/types": "^7.7.4" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.7.4.tgz", - "integrity": "sha512-QTGKEdCkjgzgfJ3bAyRwF4yyT3pg+vDgan8DSivq1eS0gwi+KGKE5x8kRcbeFTb/673mkO5SN1IZfmCfA5o+EA==", - "dev": true, - "requires": { - "@babel/types": "^7.7.4" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.7.4.tgz", - "integrity": "sha512-guAg1SXFcVr04Guk9eq0S4/rWS++sbmyqosJzVs8+1fH5NI+ZcmkaSkc7dmtAFbHFva6yRJnjW3yAcGxjueDug==", - "dev": true, - "requires": { - "@babel/types": "^7.7.4" - } - }, - "@babel/parser": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.7.4.tgz", - "integrity": "sha512-jIwvLO0zCL+O/LmEJQjWA75MQTWwx3c3u2JOTDK5D3/9egrWRRA0/0hk9XXywYnXZVVpzrBYeIQTmhwUaePI9g==", - "dev": true - }, - "@babel/template": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.7.4.tgz", - "integrity": "sha512-qUzihgVPguAzXCK7WXw8pqs6cEwi54s3E+HrejlkuWO6ivMKx9hZl3Y2fSXp9i5HgyWmj7RKP+ulaYnKM4yYxw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.7.4", - "@babel/types": "^7.7.4" - } - }, - "@babel/traverse": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.7.4.tgz", - "integrity": "sha512-P1L58hQyupn8+ezVA2z5KBm4/Zr4lCC8dwKCMYzsa5jFMDMQAzaBNy9W5VjB+KAmBjb40U7a/H6ao+Xo+9saIw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.5.5", - "@babel/generator": "^7.7.4", - "@babel/helper-function-name": "^7.7.4", - "@babel/helper-split-export-declaration": "^7.7.4", - "@babel/parser": "^7.7.4", - "@babel/types": "^7.7.4", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.13" - } - }, - "@babel/types": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.7.4.tgz", - "integrity": "sha512-cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA==", - "dev": true, - "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - } + "@babel/traverse": "^7.8.3", + "@babel/types": "^7.8.3" } }, "@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==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz", + "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==", "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": "^7.8.3", + "@babel/template": "^7.8.3", + "@babel/types": "^7.8.3" } }, "@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==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz", + "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==", "dev": true, "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "^7.8.3" } }, "@babel/helper-hoist-variables": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.7.4.tgz", - "integrity": "sha512-wQC4xyvc1Jo/FnLirL6CEgPgPCa8M74tOdjWpRhQYapz5JC7u3NYU1zCVoVAGCE3EaIP9T1A3iW0WLJ+reZlpQ==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.8.3.tgz", + "integrity": "sha512-ky1JLOjcDUtSc+xkt0xhYff7Z6ILTAHKmZLHPxAhOP0Nd77O+3nCsd6uSVYur6nJnCI029CrNbYlc0LoPfAPQg==", "dev": true, "requires": { - "@babel/types": "^7.7.4" - }, - "dependencies": { - "@babel/types": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.7.4.tgz", - "integrity": "sha512-cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA==", - "dev": true, - "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - } + "@babel/types": "^7.8.3" } }, "@babel/helper-member-expression-to-functions": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.7.4.tgz", - "integrity": "sha512-9KcA1X2E3OjXl/ykfMMInBK+uVdfIVakVe7W7Lg3wfXUNyS3Q1HWLFRwZIjhqiCGbslummPDnmb7vIekS0C1vw==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.8.3.tgz", + "integrity": "sha512-fO4Egq88utkQFjbPrSHGmGLFqmrshs11d46WI+WZDESt7Wu7wN2G2Iu+NMMZJFDOVRHAMIkB5SNh30NtwCA7RA==", "dev": true, "requires": { - "@babel/types": "^7.7.4" - }, - "dependencies": { - "@babel/types": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.7.4.tgz", - "integrity": "sha512-cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA==", - "dev": true, - "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - } + "@babel/types": "^7.8.3" } }, "@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==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.8.3.tgz", + "integrity": "sha512-R0Bx3jippsbAEtzkpZ/6FIiuzOURPcMjHp+Z6xPe6DtApDJx+w7UYyOLanZqO8+wKR9G10s/FmHXvxaMd9s6Kg==", "dev": true, "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "^7.8.3" } }, "@babel/helper-module-transforms": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.7.4.tgz", - "integrity": "sha512-ehGBu4mXrhs0FxAqN8tWkzF8GSIGAiEumu4ONZ/hD9M88uHcD+Yu2ttKfOCgwzoesJOJrtQh7trI5YPbRtMmnA==", + "version": "7.8.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.8.6.tgz", + "integrity": "sha512-RDnGJSR5EFBJjG3deY0NiL0K9TO8SXxS9n/MPsbPK/s9LbQymuLNtlzvDiNS7IpecuL45cMeLVkA+HfmlrnkRg==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.7.4", - "@babel/helper-simple-access": "^7.7.4", - "@babel/helper-split-export-declaration": "^7.7.4", - "@babel/template": "^7.7.4", - "@babel/types": "^7.7.4", + "@babel/helper-module-imports": "^7.8.3", + "@babel/helper-replace-supers": "^7.8.6", + "@babel/helper-simple-access": "^7.8.3", + "@babel/helper-split-export-declaration": "^7.8.3", + "@babel/template": "^7.8.6", + "@babel/types": "^7.8.6", "lodash": "^4.17.13" - }, - "dependencies": { - "@babel/helper-module-imports": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.7.4.tgz", - "integrity": "sha512-dGcrX6K9l8258WFjyDLJwuVKxR4XZfU0/vTUgOQYWEnRD8mgr+p4d6fCUMq/ys0h4CCt/S5JhbvtyErjWouAUQ==", - "dev": true, - "requires": { - "@babel/types": "^7.7.4" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.7.4.tgz", - "integrity": "sha512-guAg1SXFcVr04Guk9eq0S4/rWS++sbmyqosJzVs8+1fH5NI+ZcmkaSkc7dmtAFbHFva6yRJnjW3yAcGxjueDug==", - "dev": true, - "requires": { - "@babel/types": "^7.7.4" - } - }, - "@babel/parser": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.7.4.tgz", - "integrity": "sha512-jIwvLO0zCL+O/LmEJQjWA75MQTWwx3c3u2JOTDK5D3/9egrWRRA0/0hk9XXywYnXZVVpzrBYeIQTmhwUaePI9g==", - "dev": true - }, - "@babel/template": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.7.4.tgz", - "integrity": "sha512-qUzihgVPguAzXCK7WXw8pqs6cEwi54s3E+HrejlkuWO6ivMKx9hZl3Y2fSXp9i5HgyWmj7RKP+ulaYnKM4yYxw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.7.4", - "@babel/types": "^7.7.4" - } - }, - "@babel/types": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.7.4.tgz", - "integrity": "sha512-cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA==", - "dev": true, - "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - } } }, "@babel/helper-optimise-call-expression": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.7.4.tgz", - "integrity": "sha512-VB7gWZ2fDkSuqW6b1AKXkJWO5NyNI3bFL/kK79/30moK57blr6NbH8xcl2XcKCwOmJosftWunZqfO84IGq3ZZg==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.8.3.tgz", + "integrity": "sha512-Kag20n86cbO2AvHca6EJsvqAd82gc6VMGule4HwebwMlwkpXuVqrNRj6CkCV2sKxgi9MyAUnZVnZ6lJ1/vKhHQ==", "dev": true, "requires": { - "@babel/types": "^7.7.4" - }, - "dependencies": { - "@babel/types": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.7.4.tgz", - "integrity": "sha512-cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA==", - "dev": true, - "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - } + "@babel/types": "^7.8.3" } }, "@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==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", + "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==", "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==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.8.3.tgz", + "integrity": "sha512-BWt0QtYv/cg/NecOAZMdcn/waj/5P26DR4mVLXfFtDokSR6fyuG0Pj+e2FqtSME+MqED1khnSMulkmGl8qWiUQ==", "dev": true, "requires": { "lodash": "^4.17.13" } }, "@babel/helper-remap-async-to-generator": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.7.4.tgz", - "integrity": "sha512-Sk4xmtVdM9sA/jCI80f+KS+Md+ZHIpjuqmYPk1M7F/upHou5e4ReYmExAiu6PVe65BhJPZA2CY9x9k4BqE5klw==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.8.3.tgz", + "integrity": "sha512-kgwDmw4fCg7AVgS4DukQR/roGp+jP+XluJE5hsRZwxCYGg+Rv9wSGErDWhlI90FODdYfd4xG4AQRiMDjjN0GzA==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.7.4", - "@babel/helper-wrap-function": "^7.7.4", - "@babel/template": "^7.7.4", - "@babel/traverse": "^7.7.4", - "@babel/types": "^7.7.4" - }, - "dependencies": { - "@babel/generator": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.7.4.tgz", - "integrity": "sha512-m5qo2WgdOJeyYngKImbkyQrnUN1mPceaG5BV+G0E3gWsa4l/jCSryWJdM2x8OuGAOyh+3d5pVYfZWCiNFtynxg==", - "dev": true, - "requires": { - "@babel/types": "^7.7.4", - "jsesc": "^2.5.1", - "lodash": "^4.17.13", - "source-map": "^0.5.0" - } - }, - "@babel/helper-function-name": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.7.4.tgz", - "integrity": "sha512-AnkGIdiBhEuiwdoMnKm7jfPfqItZhgRaZfMg1XX3bS25INOnLPjPG1Ppnajh8eqgt5kPJnfqrRHqFqmjKDZLzQ==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.7.4", - "@babel/template": "^7.7.4", - "@babel/types": "^7.7.4" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.7.4.tgz", - "integrity": "sha512-QTGKEdCkjgzgfJ3bAyRwF4yyT3pg+vDgan8DSivq1eS0gwi+KGKE5x8kRcbeFTb/673mkO5SN1IZfmCfA5o+EA==", - "dev": true, - "requires": { - "@babel/types": "^7.7.4" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.7.4.tgz", - "integrity": "sha512-guAg1SXFcVr04Guk9eq0S4/rWS++sbmyqosJzVs8+1fH5NI+ZcmkaSkc7dmtAFbHFva6yRJnjW3yAcGxjueDug==", - "dev": true, - "requires": { - "@babel/types": "^7.7.4" - } - }, - "@babel/parser": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.7.4.tgz", - "integrity": "sha512-jIwvLO0zCL+O/LmEJQjWA75MQTWwx3c3u2JOTDK5D3/9egrWRRA0/0hk9XXywYnXZVVpzrBYeIQTmhwUaePI9g==", - "dev": true - }, - "@babel/template": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.7.4.tgz", - "integrity": "sha512-qUzihgVPguAzXCK7WXw8pqs6cEwi54s3E+HrejlkuWO6ivMKx9hZl3Y2fSXp9i5HgyWmj7RKP+ulaYnKM4yYxw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.7.4", - "@babel/types": "^7.7.4" - } - }, - "@babel/traverse": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.7.4.tgz", - "integrity": "sha512-P1L58hQyupn8+ezVA2z5KBm4/Zr4lCC8dwKCMYzsa5jFMDMQAzaBNy9W5VjB+KAmBjb40U7a/H6ao+Xo+9saIw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.5.5", - "@babel/generator": "^7.7.4", - "@babel/helper-function-name": "^7.7.4", - "@babel/helper-split-export-declaration": "^7.7.4", - "@babel/parser": "^7.7.4", - "@babel/types": "^7.7.4", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.13" - } - }, - "@babel/types": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.7.4.tgz", - "integrity": "sha512-cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA==", - "dev": true, - "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - } + "@babel/helper-annotate-as-pure": "^7.8.3", + "@babel/helper-wrap-function": "^7.8.3", + "@babel/template": "^7.8.3", + "@babel/traverse": "^7.8.3", + "@babel/types": "^7.8.3" } }, "@babel/helper-replace-supers": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.7.4.tgz", - "integrity": "sha512-pP0tfgg9hsZWo5ZboYGuBn/bbYT/hdLPVSS4NMmiRJdwWhP0IznPwN9AE1JwyGsjSPLC364I0Qh5p+EPkGPNpg==", + "version": "7.8.6", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.8.6.tgz", + "integrity": "sha512-PeMArdA4Sv/Wf4zXwBKPqVj7n9UF/xg6slNRtZW84FM7JpE1CbG8B612FyM4cxrf4fMAMGO0kR7voy1ForHHFA==", "dev": true, "requires": { - "@babel/helper-member-expression-to-functions": "^7.7.4", - "@babel/helper-optimise-call-expression": "^7.7.4", - "@babel/traverse": "^7.7.4", - "@babel/types": "^7.7.4" - }, - "dependencies": { - "@babel/generator": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.7.4.tgz", - "integrity": "sha512-m5qo2WgdOJeyYngKImbkyQrnUN1mPceaG5BV+G0E3gWsa4l/jCSryWJdM2x8OuGAOyh+3d5pVYfZWCiNFtynxg==", - "dev": true, - "requires": { - "@babel/types": "^7.7.4", - "jsesc": "^2.5.1", - "lodash": "^4.17.13", - "source-map": "^0.5.0" - } - }, - "@babel/helper-function-name": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.7.4.tgz", - "integrity": "sha512-AnkGIdiBhEuiwdoMnKm7jfPfqItZhgRaZfMg1XX3bS25INOnLPjPG1Ppnajh8eqgt5kPJnfqrRHqFqmjKDZLzQ==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.7.4", - "@babel/template": "^7.7.4", - "@babel/types": "^7.7.4" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.7.4.tgz", - "integrity": "sha512-QTGKEdCkjgzgfJ3bAyRwF4yyT3pg+vDgan8DSivq1eS0gwi+KGKE5x8kRcbeFTb/673mkO5SN1IZfmCfA5o+EA==", - "dev": true, - "requires": { - "@babel/types": "^7.7.4" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.7.4.tgz", - "integrity": "sha512-guAg1SXFcVr04Guk9eq0S4/rWS++sbmyqosJzVs8+1fH5NI+ZcmkaSkc7dmtAFbHFva6yRJnjW3yAcGxjueDug==", - "dev": true, - "requires": { - "@babel/types": "^7.7.4" - } - }, - "@babel/parser": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.7.4.tgz", - "integrity": "sha512-jIwvLO0zCL+O/LmEJQjWA75MQTWwx3c3u2JOTDK5D3/9egrWRRA0/0hk9XXywYnXZVVpzrBYeIQTmhwUaePI9g==", - "dev": true - }, - "@babel/template": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.7.4.tgz", - "integrity": "sha512-qUzihgVPguAzXCK7WXw8pqs6cEwi54s3E+HrejlkuWO6ivMKx9hZl3Y2fSXp9i5HgyWmj7RKP+ulaYnKM4yYxw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.7.4", - "@babel/types": "^7.7.4" - } - }, - "@babel/traverse": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.7.4.tgz", - "integrity": "sha512-P1L58hQyupn8+ezVA2z5KBm4/Zr4lCC8dwKCMYzsa5jFMDMQAzaBNy9W5VjB+KAmBjb40U7a/H6ao+Xo+9saIw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.5.5", - "@babel/generator": "^7.7.4", - "@babel/helper-function-name": "^7.7.4", - "@babel/helper-split-export-declaration": "^7.7.4", - "@babel/parser": "^7.7.4", - "@babel/types": "^7.7.4", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.13" - } - }, - "@babel/types": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.7.4.tgz", - "integrity": "sha512-cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA==", - "dev": true, - "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - } + "@babel/helper-member-expression-to-functions": "^7.8.3", + "@babel/helper-optimise-call-expression": "^7.8.3", + "@babel/traverse": "^7.8.6", + "@babel/types": "^7.8.6" } }, "@babel/helper-simple-access": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.7.4.tgz", - "integrity": "sha512-zK7THeEXfan7UlWsG2A6CI/L9jVnI5+xxKZOdej39Y0YtDYKx9raHk5F2EtK9K8DHRTihYwg20ADt9S36GR78A==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.8.3.tgz", + "integrity": "sha512-VNGUDjx5cCWg4vvCTR8qQ7YJYZ+HBjxOgXEl7ounz+4Sn7+LMD3CFrCTEU6/qXKbA2nKg21CwhhBzO0RpRbdCw==", "dev": true, "requires": { - "@babel/template": "^7.7.4", - "@babel/types": "^7.7.4" - }, - "dependencies": { - "@babel/parser": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.7.4.tgz", - "integrity": "sha512-jIwvLO0zCL+O/LmEJQjWA75MQTWwx3c3u2JOTDK5D3/9egrWRRA0/0hk9XXywYnXZVVpzrBYeIQTmhwUaePI9g==", - "dev": true - }, - "@babel/template": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.7.4.tgz", - "integrity": "sha512-qUzihgVPguAzXCK7WXw8pqs6cEwi54s3E+HrejlkuWO6ivMKx9hZl3Y2fSXp9i5HgyWmj7RKP+ulaYnKM4yYxw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.7.4", - "@babel/types": "^7.7.4" - } - }, - "@babel/types": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.7.4.tgz", - "integrity": "sha512-cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA==", - "dev": true, - "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - } + "@babel/template": "^7.8.3", + "@babel/types": "^7.8.3" } }, "@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==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz", + "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==", "dev": true, "requires": { - "@babel/types": "^7.4.4" + "@babel/types": "^7.8.3" } }, "@babel/helper-wrap-function": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.7.4.tgz", - "integrity": "sha512-VsfzZt6wmsocOaVU0OokwrIytHND55yvyT4BPB9AIIgwr8+x7617hetdJTsuGwygN5RC6mxA9EJztTjuwm2ofg==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.8.3.tgz", + "integrity": "sha512-LACJrbUET9cQDzb6kG7EeD7+7doC3JNvUgTEQOx2qaO1fKlzE/Bf05qs9w1oXQMmXlPO65lC3Tq9S6gZpTErEQ==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.7.4", - "@babel/template": "^7.7.4", - "@babel/traverse": "^7.7.4", - "@babel/types": "^7.7.4" - }, - "dependencies": { - "@babel/generator": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.7.4.tgz", - "integrity": "sha512-m5qo2WgdOJeyYngKImbkyQrnUN1mPceaG5BV+G0E3gWsa4l/jCSryWJdM2x8OuGAOyh+3d5pVYfZWCiNFtynxg==", - "dev": true, - "requires": { - "@babel/types": "^7.7.4", - "jsesc": "^2.5.1", - "lodash": "^4.17.13", - "source-map": "^0.5.0" - } - }, - "@babel/helper-function-name": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.7.4.tgz", - "integrity": "sha512-AnkGIdiBhEuiwdoMnKm7jfPfqItZhgRaZfMg1XX3bS25INOnLPjPG1Ppnajh8eqgt5kPJnfqrRHqFqmjKDZLzQ==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.7.4", - "@babel/template": "^7.7.4", - "@babel/types": "^7.7.4" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.7.4.tgz", - "integrity": "sha512-QTGKEdCkjgzgfJ3bAyRwF4yyT3pg+vDgan8DSivq1eS0gwi+KGKE5x8kRcbeFTb/673mkO5SN1IZfmCfA5o+EA==", - "dev": true, - "requires": { - "@babel/types": "^7.7.4" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.7.4.tgz", - "integrity": "sha512-guAg1SXFcVr04Guk9eq0S4/rWS++sbmyqosJzVs8+1fH5NI+ZcmkaSkc7dmtAFbHFva6yRJnjW3yAcGxjueDug==", - "dev": true, - "requires": { - "@babel/types": "^7.7.4" - } - }, - "@babel/parser": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.7.4.tgz", - "integrity": "sha512-jIwvLO0zCL+O/LmEJQjWA75MQTWwx3c3u2JOTDK5D3/9egrWRRA0/0hk9XXywYnXZVVpzrBYeIQTmhwUaePI9g==", - "dev": true - }, - "@babel/template": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.7.4.tgz", - "integrity": "sha512-qUzihgVPguAzXCK7WXw8pqs6cEwi54s3E+HrejlkuWO6ivMKx9hZl3Y2fSXp9i5HgyWmj7RKP+ulaYnKM4yYxw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.7.4", - "@babel/types": "^7.7.4" - } - }, - "@babel/traverse": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.7.4.tgz", - "integrity": "sha512-P1L58hQyupn8+ezVA2z5KBm4/Zr4lCC8dwKCMYzsa5jFMDMQAzaBNy9W5VjB+KAmBjb40U7a/H6ao+Xo+9saIw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.5.5", - "@babel/generator": "^7.7.4", - "@babel/helper-function-name": "^7.7.4", - "@babel/helper-split-export-declaration": "^7.7.4", - "@babel/parser": "^7.7.4", - "@babel/types": "^7.7.4", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.13" - } - }, - "@babel/types": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.7.4.tgz", - "integrity": "sha512-cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA==", - "dev": true, - "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - } + "@babel/helper-function-name": "^7.8.3", + "@babel/template": "^7.8.3", + "@babel/traverse": "^7.8.3", + "@babel/types": "^7.8.3" } }, "@babel/helpers": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.6.0.tgz", - "integrity": "sha512-W9kao7OBleOjfXtFGgArGRX6eCP0UEcA2ZWEWNkJdRZnHhW4eEbeswbG3EwaRsnQUAEGWYgMq1HsIXuNNNy2eQ==", + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.8.4.tgz", + "integrity": "sha512-VPbe7wcQ4chu4TDQjimHv/5tj73qz88o12EPkO2ValS2QiQS/1F2SsjyIGNnAD0vF/nZS6Cf9i+vW6HIlnaR8w==", "dev": true, "requires": { - "@babel/template": "^7.6.0", - "@babel/traverse": "^7.6.0", - "@babel/types": "^7.6.0" + "@babel/template": "^7.8.3", + "@babel/traverse": "^7.8.4", + "@babel/types": "^7.8.3" } }, "@babel/highlight": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz", - "integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz", + "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==", "dev": true, "requires": { "chalk": "^2.0.0", @@ -1019,829 +340,660 @@ } }, "@babel/parser": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.6.0.tgz", - "integrity": "sha512-+o2q111WEx4srBs7L9eJmcwi655eD8sXniLqMB93TBK9GrNzGrxDWSjiqz2hLU0Ha8MTXFIP0yd9fNdP+m43ZQ==", + "version": "7.8.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.7.tgz", + "integrity": "sha512-9JWls8WilDXFGxs0phaXAZgpxTZhSk/yOYH2hTHC0X1yC7Z78IJfvR1vJ+rmJKq3I35td2XzXzN6ZLYlna+r/A==", "dev": true }, "@babel/plugin-proposal-async-generator-functions": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.7.4.tgz", - "integrity": "sha512-1ypyZvGRXriY/QP668+s8sFr2mqinhkRDMPSQLNghCQE+GAkFtp+wkHVvg2+Hdki8gwP+NFzJBJ/N1BfzCCDEw==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.8.3.tgz", + "integrity": "sha512-NZ9zLv848JsV3hs8ryEh7Uaz/0KsmPLqv0+PdkDJL1cJy0K4kOCFa8zc1E3mp+RHPQcpdfb/6GovEsW4VDrOMw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-remap-async-to-generator": "^7.7.4", - "@babel/plugin-syntax-async-generators": "^7.7.4" + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/helper-remap-async-to-generator": "^7.8.3", + "@babel/plugin-syntax-async-generators": "^7.8.0" } }, "@babel/plugin-proposal-class-properties": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.7.4.tgz", - "integrity": "sha512-EcuXeV4Hv1X3+Q1TsuOmyyxeTRiSqurGJ26+I/FW1WbymmRRapVORm6x1Zl3iDIHyRxEs+VXWp6qnlcfcJSbbw==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.8.3.tgz", + "integrity": "sha512-EqFhbo7IosdgPgZggHaNObkmO1kNUe3slaKu54d5OWvy+p9QIKOzK1GAEpAIsZtWVtPXUHSMcT4smvDrCfY4AA==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.7.4", - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-create-class-features-plugin": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3" } }, "@babel/plugin-proposal-dynamic-import": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.7.4.tgz", - "integrity": "sha512-StH+nGAdO6qDB1l8sZ5UBV8AC3F2VW2I8Vfld73TMKyptMU9DY5YsJAS8U81+vEtxcH3Y/La0wG0btDrhpnhjQ==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.8.3.tgz", + "integrity": "sha512-NyaBbyLFXFLT9FP+zk0kYlUlA8XtCUbehs67F0nnEg7KICgMc2mNkIeu9TYhKzyXMkrapZFwAhXLdnt4IYHy1w==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-dynamic-import": "^7.7.4" - }, - "dependencies": { - "@babel/plugin-syntax-dynamic-import": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.7.4.tgz", - "integrity": "sha512-jHQW0vbRGvwQNgyVxwDh4yuXu4bH1f5/EICJLAhl1SblLs2CDhrsmCk+v5XLdE9wxtAFRyxx+P//Iw+a5L/tTg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - } + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-syntax-dynamic-import": "^7.8.0" } }, "@babel/plugin-proposal-json-strings": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.7.4.tgz", - "integrity": "sha512-wQvt3akcBTfLU/wYoqm/ws7YOAQKu8EVJEvHip/mzkNtjaclQoCCIqKXFP5/eyfnfbQCDV3OLRIK3mIVyXuZlw==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.8.3.tgz", + "integrity": "sha512-KGhQNZ3TVCQG/MjRbAUwuH+14y9q0tpxs1nWWs3pbSleRdDro9SAMMDyye8HhY1gqZ7/NqIc8SKhya0wRDgP1Q==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-json-strings": "^7.7.4" + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.0" + } + }, + "@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-TS9MlfzXpXKt6YYomudb/KU7nQI6/xnapG6in1uZxoxDghuSMZsPb6D2fyUwNYSAp4l1iR7QtFOjkqcRYcUsfw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.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==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-8qvuPwU/xxUCt78HocNlv0mXXo0wdh9VT1R04WU8HGOfaOob26pF+9P5/lYjN/q7DHOX1bvX60hnhOvuQUJdbA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-object-rest-spread": "^7.2.0" + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.0" } }, "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.7.4.tgz", - "integrity": "sha512-DyM7U2bnsQerCQ+sejcTNZh8KQEUuC3ufzdnVnSiUv/qoGJp2Z3hanKL18KDhsBT5Wj6a7CMT5mdyCNJsEaA9w==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-0gkX7J7E+AtAw9fcwlVQj8peP61qhdg/89D5swOkjYbkboA2CVckn3kiyum1DE0wskGb7KJJxBdyEBApDLLVdw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.0" + } + }, + "@babel/plugin-proposal-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.8.3.tgz", + "integrity": "sha512-QIoIR9abkVn+seDE3OjA08jWcs3eZ9+wJCKSRgo3WdEU2csFYgdScb+8qHB3+WXsGJD55u+5hWCISI7ejXS+kg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-optional-catch-binding": "^7.7.4" + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.0" } }, "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.7.4.tgz", - "integrity": "sha512-cHgqHgYvffluZk85dJ02vloErm3Y6xtH+2noOBOJ2kXOJH3aVCDnj5eR/lVNlTnYu4hndAPJD3rTFjW3qee0PA==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.8.3.tgz", + "integrity": "sha512-1/1/rEZv2XGweRwwSkLpY+s60za9OZ1hJs4YDqFHCw0kYWYwL5IFljVY1MYBL+weT1l9pokDO2uhSTLVxzoHkQ==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.7.4", - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-create-regexp-features-plugin": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3" } }, "@babel/plugin-syntax-async-generators": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.7.4.tgz", - "integrity": "sha512-Li4+EjSpBgxcsmeEF8IFcfV/+yJGxHXDirDkEoyFjumuwbmfCVHUt0HuowD/iGM7OhIRyXJH9YXxqiH6N815+g==", + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.8.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==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.8.0" } }, "@babel/plugin-syntax-json-strings": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.7.4.tgz", - "integrity": "sha512-QpGupahTQW1mHRXddMG5srgpHWqRLwJnJZKXTigB9RPFCCGbDGCgBeM/iC82ICXp414WeYx/tD54w7M2qRqTMg==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.8.0" } }, "@babel/plugin-syntax-jsx": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.7.4.tgz", - "integrity": "sha512-wuy6fiMe9y7HeZBWXYCGt2RGxZOj0BImZ9EyXJVnVGBKO/Br592rbR3rtIQn0eQhAk9vqaKP5n8tVqEFBQMfLg==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.8.3.tgz", + "integrity": "sha512-WxdW9xyLgBdefoo0Ynn3MRSkhe5tFVxxKNVdnZSh318WrG2e2jH+E9wd/++JsqcLJZPfz87njQJ8j2Upjm0M0A==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.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==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.8.0" } }, "@babel/plugin-syntax-optional-catch-binding": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.7.4.tgz", - "integrity": "sha512-4ZSuzWgFxqHRE31Glu+fEr/MirNZOMYmD/0BhBWyLyOOQz/gTAl7QmWm2hX1QxEIXsr2vkdlwxIzTyiYRC4xcQ==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" } }, "@babel/plugin-syntax-top-level-await": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.7.4.tgz", - "integrity": "sha512-wdsOw0MvkL1UIgiQ/IFr3ETcfv1xb8RMM0H9wbiDyLaJFyiDg5oZvDLCXosIXmFeIlweML5iOBXAkqddkYNizg==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.8.3.tgz", + "integrity": "sha512-kwj1j9lL/6Wd0hROD3b/OZZ7MSrZLqqn9RAZ5+cYYsflQ9HZBIKCUkr3+uL1MEJ1NePiUbf98jjiMQSv0NMR9g==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.8.3" } }, "@babel/plugin-transform-arrow-functions": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.7.4.tgz", - "integrity": "sha512-zUXy3e8jBNPiffmqkHRNDdZM2r8DWhCB7HhcoyZjiK1TxYEluLHAvQuYnTT+ARqRpabWqy/NHkO6e3MsYB5YfA==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.8.3.tgz", + "integrity": "sha512-0MRF+KC8EqH4dbuITCWwPSzsyO3HIWWlm30v8BbbpOrS1B++isGxPnnuq/IZvOX5J2D/p7DQalQm+/2PnlKGxg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.8.3" } }, "@babel/plugin-transform-async-to-generator": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.7.4.tgz", - "integrity": "sha512-zpUTZphp5nHokuy8yLlyafxCJ0rSlFoSHypTUWgpdwoDXWQcseaect7cJ8Ppk6nunOM6+5rPMkod4OYKPR5MUg==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.8.3.tgz", + "integrity": "sha512-imt9tFLD9ogt56Dd5CI/6XgpukMwd/fLGSrix2httihVe7LOGVPhyhMh1BU5kDM7iHD08i8uUtmV2sWaBFlHVQ==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.7.4", - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-remap-async-to-generator": "^7.7.4" - }, - "dependencies": { - "@babel/helper-module-imports": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.7.4.tgz", - "integrity": "sha512-dGcrX6K9l8258WFjyDLJwuVKxR4XZfU0/vTUgOQYWEnRD8mgr+p4d6fCUMq/ys0h4CCt/S5JhbvtyErjWouAUQ==", - "dev": true, - "requires": { - "@babel/types": "^7.7.4" - } - }, - "@babel/types": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.7.4.tgz", - "integrity": "sha512-cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA==", - "dev": true, - "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - } + "@babel/helper-module-imports": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/helper-remap-async-to-generator": "^7.8.3" } }, "@babel/plugin-transform-block-scoped-functions": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.7.4.tgz", - "integrity": "sha512-kqtQzwtKcpPclHYjLK//3lH8OFsCDuDJBaFhVwf8kqdnF6MN4l618UDlcA7TfRs3FayrHj+svYnSX8MC9zmUyQ==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.8.3.tgz", + "integrity": "sha512-vo4F2OewqjbB1+yaJ7k2EJFHlTP3jR634Z9Cj9itpqNjuLXvhlVxgnjsHsdRgASR8xYDrx6onw4vW5H6We0Jmg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.8.3" } }, "@babel/plugin-transform-block-scoping": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.7.4.tgz", - "integrity": "sha512-2VBe9u0G+fDt9B5OV5DQH4KBf5DoiNkwFKOz0TCvBWvdAN2rOykCTkrL+jTLxfCAm76l9Qo5OqL7HBOx2dWggg==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.8.3.tgz", + "integrity": "sha512-pGnYfm7RNRgYRi7bids5bHluENHqJhrV4bCZRwc5GamaWIIs07N4rZECcmJL6ZClwjDz1GbdMZFtPs27hTB06w==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-plugin-utils": "^7.8.3", "lodash": "^4.17.13" } }, "@babel/plugin-transform-classes": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.7.4.tgz", - "integrity": "sha512-sK1mjWat7K+buWRuImEzjNf68qrKcrddtpQo3swi9j7dUcG6y6R6+Di039QN2bD1dykeswlagupEmpOatFHHUg==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.7.4", - "@babel/helper-define-map": "^7.7.4", - "@babel/helper-function-name": "^7.7.4", - "@babel/helper-optimise-call-expression": "^7.7.4", - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-replace-supers": "^7.7.4", - "@babel/helper-split-export-declaration": "^7.7.4", + "version": "7.8.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.8.6.tgz", + "integrity": "sha512-k9r8qRay/R6v5aWZkrEclEhKO6mc1CCQr2dLsVHBmOQiMpN6I2bpjX3vgnldUWeEI1GHVNByULVxZ4BdP4Hmdg==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.8.3", + "@babel/helper-define-map": "^7.8.3", + "@babel/helper-function-name": "^7.8.3", + "@babel/helper-optimise-call-expression": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/helper-replace-supers": "^7.8.6", + "@babel/helper-split-export-declaration": "^7.8.3", "globals": "^11.1.0" - }, - "dependencies": { - "@babel/helper-function-name": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.7.4.tgz", - "integrity": "sha512-AnkGIdiBhEuiwdoMnKm7jfPfqItZhgRaZfMg1XX3bS25INOnLPjPG1Ppnajh8eqgt5kPJnfqrRHqFqmjKDZLzQ==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.7.4", - "@babel/template": "^7.7.4", - "@babel/types": "^7.7.4" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.7.4.tgz", - "integrity": "sha512-QTGKEdCkjgzgfJ3bAyRwF4yyT3pg+vDgan8DSivq1eS0gwi+KGKE5x8kRcbeFTb/673mkO5SN1IZfmCfA5o+EA==", - "dev": true, - "requires": { - "@babel/types": "^7.7.4" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.7.4.tgz", - "integrity": "sha512-guAg1SXFcVr04Guk9eq0S4/rWS++sbmyqosJzVs8+1fH5NI+ZcmkaSkc7dmtAFbHFva6yRJnjW3yAcGxjueDug==", - "dev": true, - "requires": { - "@babel/types": "^7.7.4" - } - }, - "@babel/parser": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.7.4.tgz", - "integrity": "sha512-jIwvLO0zCL+O/LmEJQjWA75MQTWwx3c3u2JOTDK5D3/9egrWRRA0/0hk9XXywYnXZVVpzrBYeIQTmhwUaePI9g==", - "dev": true - }, - "@babel/template": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.7.4.tgz", - "integrity": "sha512-qUzihgVPguAzXCK7WXw8pqs6cEwi54s3E+HrejlkuWO6ivMKx9hZl3Y2fSXp9i5HgyWmj7RKP+ulaYnKM4yYxw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.7.4", - "@babel/types": "^7.7.4" - } - }, - "@babel/types": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.7.4.tgz", - "integrity": "sha512-cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA==", - "dev": true, - "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - } } }, "@babel/plugin-transform-computed-properties": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.7.4.tgz", - "integrity": "sha512-bSNsOsZnlpLLyQew35rl4Fma3yKWqK3ImWMSC/Nc+6nGjC9s5NFWAer1YQ899/6s9HxO2zQC1WoFNfkOqRkqRQ==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.8.3.tgz", + "integrity": "sha512-O5hiIpSyOGdrQZRQ2ccwtTVkgUDBBiCuK//4RJ6UfePllUTCENOzKxfh6ulckXKc0DixTFLCfb2HVkNA7aDpzA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.8.3" } }, "@babel/plugin-transform-destructuring": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.7.4.tgz", - "integrity": "sha512-4jFMXI1Cu2aXbcXXl8Lr6YubCn6Oc7k9lLsu8v61TZh+1jny2BWmdtvY9zSUlLdGUvcy9DMAWyZEOqjsbeg/wA==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.8.3.tgz", + "integrity": "sha512-H4X646nCkiEcHZUZaRkhE2XVsoz0J/1x3VVujnn96pSoGCtKPA99ZZA+va+gK+92Zycd6OBKCD8tDb/731bhgQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.8.3" } }, "@babel/plugin-transform-dotall-regex": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.7.4.tgz", - "integrity": "sha512-mk0cH1zyMa/XHeb6LOTXTbG7uIJ8Rrjlzu91pUx/KS3JpcgaTDwMS8kM+ar8SLOvlL2Lofi4CGBAjCo3a2x+lw==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.8.3.tgz", + "integrity": "sha512-kLs1j9Nn4MQoBYdRXH6AeaXMbEJFaFu/v1nQkvib6QzTj8MZI5OQzqmD83/2jEM1z0DLilra5aWO5YpyC0ALIw==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.7.4", - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-create-regexp-features-plugin": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3" } }, "@babel/plugin-transform-duplicate-keys": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.7.4.tgz", - "integrity": "sha512-g1y4/G6xGWMD85Tlft5XedGaZBCIVN+/P0bs6eabmcPP9egFleMAo65OOjlhcz1njpwagyY3t0nsQC9oTFegJA==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.8.3.tgz", + "integrity": "sha512-s8dHiBUbcbSgipS4SMFuWGqCvyge5V2ZeAWzR6INTVC3Ltjig/Vw1G2Gztv0vU/hRG9X8IvKvYdoksnUfgXOEQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.8.3" } }, "@babel/plugin-transform-exponentiation-operator": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.7.4.tgz", - "integrity": "sha512-MCqiLfCKm6KEA1dglf6Uqq1ElDIZwFuzz1WH5mTf8k2uQSxEJMbOIEh7IZv7uichr7PMfi5YVSrr1vz+ipp7AQ==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.8.3.tgz", + "integrity": "sha512-zwIpuIymb3ACcInbksHaNcR12S++0MDLKkiqXHl3AzpgdKlFNhog+z/K0+TGW+b0w5pgTq4H6IwV/WhxbGYSjQ==", "dev": true, "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.7.4", - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3" } }, "@babel/plugin-transform-for-of": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.7.4.tgz", - "integrity": "sha512-zZ1fD1B8keYtEcKF+M1TROfeHTKnijcVQm0yO/Yu1f7qoDoxEIc/+GX6Go430Bg84eM/xwPFp0+h4EbZg7epAA==", + "version": "7.8.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.8.6.tgz", + "integrity": "sha512-M0pw4/1/KI5WAxPsdcUL/w2LJ7o89YHN3yLkzNjg7Yl15GlVGgzHyCU+FMeAxevHGsLVmUqbirlUIKTafPmzdw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.8.3" } }, "@babel/plugin-transform-function-name": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.7.4.tgz", - "integrity": "sha512-E/x09TvjHNhsULs2IusN+aJNRV5zKwxu1cpirZyRPw+FyyIKEHPXTsadj48bVpc1R5Qq1B5ZkzumuFLytnbT6g==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.8.3.tgz", + "integrity": "sha512-rO/OnDS78Eifbjn5Py9v8y0aR+aSYhDhqAwVfsTl0ERuMZyr05L1aFSCJnbv2mmsLkit/4ReeQ9N2BgLnOcPCQ==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.7.4", - "@babel/helper-plugin-utils": "^7.0.0" - }, - "dependencies": { - "@babel/helper-function-name": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.7.4.tgz", - "integrity": "sha512-AnkGIdiBhEuiwdoMnKm7jfPfqItZhgRaZfMg1XX3bS25INOnLPjPG1Ppnajh8eqgt5kPJnfqrRHqFqmjKDZLzQ==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.7.4", - "@babel/template": "^7.7.4", - "@babel/types": "^7.7.4" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.7.4.tgz", - "integrity": "sha512-QTGKEdCkjgzgfJ3bAyRwF4yyT3pg+vDgan8DSivq1eS0gwi+KGKE5x8kRcbeFTb/673mkO5SN1IZfmCfA5o+EA==", - "dev": true, - "requires": { - "@babel/types": "^7.7.4" - } - }, - "@babel/parser": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.7.4.tgz", - "integrity": "sha512-jIwvLO0zCL+O/LmEJQjWA75MQTWwx3c3u2JOTDK5D3/9egrWRRA0/0hk9XXywYnXZVVpzrBYeIQTmhwUaePI9g==", - "dev": true - }, - "@babel/template": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.7.4.tgz", - "integrity": "sha512-qUzihgVPguAzXCK7WXw8pqs6cEwi54s3E+HrejlkuWO6ivMKx9hZl3Y2fSXp9i5HgyWmj7RKP+ulaYnKM4yYxw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.7.4", - "@babel/types": "^7.7.4" - } - }, - "@babel/types": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.7.4.tgz", - "integrity": "sha512-cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA==", - "dev": true, - "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - } + "@babel/helper-function-name": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3" } }, "@babel/plugin-transform-literals": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.7.4.tgz", - "integrity": "sha512-X2MSV7LfJFm4aZfxd0yLVFrEXAgPqYoDG53Br/tCKiKYfX0MjVjQeWPIhPHHsCqzwQANq+FLN786fF5rgLS+gw==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.8.3.tgz", + "integrity": "sha512-3Tqf8JJ/qB7TeldGl+TT55+uQei9JfYaregDcEAyBZ7akutriFrt6C/wLYIer6OYhleVQvH/ntEhjE/xMmy10A==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.8.3" } }, "@babel/plugin-transform-member-expression-literals": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.7.4.tgz", - "integrity": "sha512-9VMwMO7i69LHTesL0RdGy93JU6a+qOPuvB4F4d0kR0zyVjJRVJRaoaGjhtki6SzQUu8yen/vxPKN6CWnCUw6bA==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.8.3.tgz", + "integrity": "sha512-3Wk2EXhnw+rP+IDkK6BdtPKsUE5IeZ6QOGrPYvw52NwBStw9V1ZVzxgK6fSKSxqUvH9eQPR3tm3cOq79HlsKYA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.8.3" } }, "@babel/plugin-transform-modules-amd": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.7.4.tgz", - "integrity": "sha512-/542/5LNA18YDtg1F+QHvvUSlxdvjZoD/aldQwkq+E3WCkbEjNSN9zdrOXaSlfg3IfGi22ijzecklF/A7kVZFQ==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.8.3.tgz", + "integrity": "sha512-MadJiU3rLKclzT5kBH4yxdry96odTUwuqrZM+GllFI/VhxfPz+k9MshJM+MwhfkCdxxclSbSBbUGciBngR+kEQ==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.7.4", - "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-module-transforms": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3", "babel-plugin-dynamic-import-node": "^2.3.0" } }, "@babel/plugin-transform-modules-commonjs": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.7.4.tgz", - "integrity": "sha512-k8iVS7Jhc367IcNF53KCwIXtKAH7czev866ThsTgy8CwlXjnKZna2VHwChglzLleYrcHz1eQEIJlGRQxB53nqA==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.8.3.tgz", + "integrity": "sha512-JpdMEfA15HZ/1gNuB9XEDlZM1h/gF/YOH7zaZzQu2xCFRfwc01NXBMHHSTT6hRjlXJJs5x/bfODM3LiCk94Sxg==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.7.4", - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-simple-access": "^7.7.4", + "@babel/helper-module-transforms": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/helper-simple-access": "^7.8.3", "babel-plugin-dynamic-import-node": "^2.3.0" } }, "@babel/plugin-transform-modules-systemjs": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.7.4.tgz", - "integrity": "sha512-y2c96hmcsUi6LrMqvmNDPBBiGCiQu0aYqpHatVVu6kD4mFEXKjyNxd/drc18XXAf9dv7UXjrZwBVmTTGaGP8iw==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.8.3.tgz", + "integrity": "sha512-8cESMCJjmArMYqa9AO5YuMEkE4ds28tMpZcGZB/jl3n0ZzlsxOAi3mC+SKypTfT8gjMupCnd3YiXCkMjj2jfOg==", "dev": true, "requires": { - "@babel/helper-hoist-variables": "^7.7.4", - "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-hoist-variables": "^7.8.3", + "@babel/helper-module-transforms": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3", "babel-plugin-dynamic-import-node": "^2.3.0" } }, "@babel/plugin-transform-modules-umd": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.7.4.tgz", - "integrity": "sha512-u2B8TIi0qZI4j8q4C51ktfO7E3cQ0qnaXFI1/OXITordD40tt17g/sXqgNNCcMTcBFKrUPcGDx+TBJuZxLx7tw==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.8.3.tgz", + "integrity": "sha512-evhTyWhbwbI3/U6dZAnx/ePoV7H6OUG+OjiJFHmhr9FPn0VShjwC2kdxqIuQ/+1P50TMrneGzMeyMTFOjKSnAw==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.7.4", - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-module-transforms": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3" } }, "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.7.4.tgz", - "integrity": "sha512-jBUkiqLKvUWpv9GLSuHUFYdmHg0ujC1JEYoZUfeOOfNydZXp1sXObgyPatpcwjWgsdBGsagWW0cdJpX/DO2jMw==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.8.3.tgz", + "integrity": "sha512-f+tF/8UVPU86TrCb06JoPWIdDpTNSGGcAtaD9mLP0aYGA0OS0j7j7DHJR0GTFrUZPUU6loZhbsVZgTh0N+Qdnw==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.7.4" + "@babel/helper-create-regexp-features-plugin": "^7.8.3" } }, "@babel/plugin-transform-new-target": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.7.4.tgz", - "integrity": "sha512-CnPRiNtOG1vRodnsyGX37bHQleHE14B9dnnlgSeEs3ek3fHN1A1SScglTCg1sfbe7sRQ2BUcpgpTpWSfMKz3gg==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.8.3.tgz", + "integrity": "sha512-QuSGysibQpyxexRyui2vca+Cmbljo8bcRckgzYV4kRIsHpVeyeC3JDO63pY+xFZ6bWOBn7pfKZTqV4o/ix9sFw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.8.3" } }, "@babel/plugin-transform-object-super": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.7.4.tgz", - "integrity": "sha512-ho+dAEhC2aRnff2JCA0SAK7V2R62zJd/7dmtoe7MHcso4C2mS+vZjn1Pb1pCVZvJs1mgsvv5+7sT+m3Bysb6eg==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.8.3.tgz", + "integrity": "sha512-57FXk+gItG/GejofIyLIgBKTas4+pEU47IXKDBWFTxdPd7F80H8zybyAY7UoblVfBhBGs2EKM+bJUu2+iUYPDQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-replace-supers": "^7.7.4" + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/helper-replace-supers": "^7.8.3" } }, "@babel/plugin-transform-parameters": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.7.4.tgz", - "integrity": "sha512-VJwhVePWPa0DqE9vcfptaJSzNDKrWU/4FbYCjZERtmqEs05g3UMXnYMZoXja7JAJ7Y7sPZipwm/pGApZt7wHlw==", + "version": "7.8.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.8.7.tgz", + "integrity": "sha512-brYWaEPTRimOctz2NDA3jnBbDi7SVN2T4wYuu0aqSzxC3nozFZngGaw29CJ9ZPweB7k+iFmZuoG3IVPIcXmD2g==", "dev": true, "requires": { - "@babel/helper-call-delegate": "^7.7.4", - "@babel/helper-get-function-arity": "^7.7.4", - "@babel/helper-plugin-utils": "^7.0.0" - }, - "dependencies": { - "@babel/helper-get-function-arity": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.7.4.tgz", - "integrity": "sha512-QTGKEdCkjgzgfJ3bAyRwF4yyT3pg+vDgan8DSivq1eS0gwi+KGKE5x8kRcbeFTb/673mkO5SN1IZfmCfA5o+EA==", - "dev": true, - "requires": { - "@babel/types": "^7.7.4" - } - }, - "@babel/types": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.7.4.tgz", - "integrity": "sha512-cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA==", - "dev": true, - "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - } + "@babel/helper-call-delegate": "^7.8.7", + "@babel/helper-get-function-arity": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3" } }, "@babel/plugin-transform-property-literals": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.7.4.tgz", - "integrity": "sha512-MatJhlC4iHsIskWYyawl53KuHrt+kALSADLQQ/HkhTjX954fkxIEh4q5slL4oRAnsm/eDoZ4q0CIZpcqBuxhJQ==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.8.3.tgz", + "integrity": "sha512-uGiiXAZMqEoQhRWMK17VospMZh5sXWg+dlh2soffpkAl96KAm+WZuJfa6lcELotSRmooLqg0MWdH6UUq85nmmg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.8.3" } }, "@babel/plugin-transform-react-display-name": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.7.4.tgz", - "integrity": "sha512-sBbIvqYkthai0X0vkD2xsAwluBp+LtNHH+/V4a5ydifmTtb8KOVOlrMIk/MYmIc4uTYDnjZUHQildYNo36SRJw==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.8.3.tgz", + "integrity": "sha512-3Jy/PCw8Fe6uBKtEgz3M82ljt+lTg+xJaM4og+eyu83qLT87ZUSckn0wy7r31jflURWLO83TW6Ylf7lyXj3m5A==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.8.3" } }, "@babel/plugin-transform-react-jsx": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.7.4.tgz", - "integrity": "sha512-LixU4BS95ZTEAZdPaIuyg/k8FiiqN9laQ0dMHB4MlpydHY53uQdWCUrwjLr5o6ilS6fAgZey4Q14XBjl5tL6xw==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.8.3.tgz", + "integrity": "sha512-r0h+mUiyL595ikykci+fbwm9YzmuOrUBi0b+FDIKmi3fPQyFokWVEMJnRWHJPPQEjyFJyna9WZC6Viv6UHSv1g==", "dev": true, "requires": { - "@babel/helper-builder-react-jsx": "^7.7.4", - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-jsx": "^7.7.4" + "@babel/helper-builder-react-jsx": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-syntax-jsx": "^7.8.3" } }, "@babel/plugin-transform-react-jsx-self": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.7.4.tgz", - "integrity": "sha512-PWYjSfqrO273mc1pKCRTIJXyqfc9vWYBax88yIhQb+bpw3XChVC7VWS4VwRVs63wFHKxizvGSd00XEr+YB9Q2A==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.8.3.tgz", + "integrity": "sha512-01OT7s5oa0XTLf2I8XGsL8+KqV9lx3EZV+jxn/L2LQ97CGKila2YMroTkCEIE0HV/FF7CMSRsIAybopdN9NTdg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-jsx": "^7.7.4" + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-syntax-jsx": "^7.8.3" } }, "@babel/plugin-transform-react-jsx-source": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.7.4.tgz", - "integrity": "sha512-5ZU9FnPhqtHsOXxutRtXZAzoEJwDaP32QcobbMP1/qt7NYcsCNK8XgzJcJfoEr/ZnzVvUNInNjIW22Z6I8p9mg==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.8.3.tgz", + "integrity": "sha512-PLMgdMGuVDtRS/SzjNEQYUT8f4z1xb2BAT54vM1X5efkVuYBf5WyGUMbpmARcfq3NaglIwz08UVQK4HHHbC6ag==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-jsx": "^7.7.4" + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-syntax-jsx": "^7.8.3" } }, "@babel/plugin-transform-regenerator": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.7.4.tgz", - "integrity": "sha512-e7MWl5UJvmPEwFJTwkBlPmqixCtr9yAASBqff4ggXTNicZiwbF8Eefzm6NVgfiBp7JdAGItecnctKTgH44q2Jw==", + "version": "7.8.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.8.7.tgz", + "integrity": "sha512-TIg+gAl4Z0a3WmD3mbYSk+J9ZUH6n/Yc57rtKRnlA/7rcCvpekHXe0CMZHP1gYp7/KLe9GHTuIba0vXmls6drA==", "dev": true, "requires": { - "regenerator-transform": "^0.14.0" + "regenerator-transform": "^0.14.2" } }, "@babel/plugin-transform-reserved-words": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.7.4.tgz", - "integrity": "sha512-OrPiUB5s5XvkCO1lS7D8ZtHcswIC57j62acAnJZKqGGnHP+TIc/ljQSrgdX/QyOTdEK5COAhuc820Hi1q2UgLQ==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.8.3.tgz", + "integrity": "sha512-mwMxcycN3omKFDjDQUl+8zyMsBfjRFr0Zn/64I41pmjv4NJuqcYlEtezwYtw9TFd9WR1vN5kiM+O0gMZzO6L0A==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.8.3" } }, "@babel/plugin-transform-runtime": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.6.0.tgz", - "integrity": "sha512-Da8tMf7uClzwUm/pnJ1S93m/aRXmoYNDD7TkHua8xBDdaAs54uZpTWvEt6NGwmoVMb9mZbntfTqmG2oSzN/7Vg==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.8.3.tgz", + "integrity": "sha512-/vqUt5Yh+cgPZXXjmaG9NT8aVfThKk7G4OqkVhrXqwsC5soMn/qTCxs36rZ2QFhpfTJcjw4SNDIZ4RUb8OL4jQ==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.0.0", - "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-module-imports": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3", "resolve": "^1.8.1", "semver": "^5.5.1" } }, "@babel/plugin-transform-shorthand-properties": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.7.4.tgz", - "integrity": "sha512-q+suddWRfIcnyG5YiDP58sT65AJDZSUhXQDZE3r04AuqD6d/XLaQPPXSBzP2zGerkgBivqtQm9XKGLuHqBID6Q==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.8.3.tgz", + "integrity": "sha512-I9DI6Odg0JJwxCHzbzW08ggMdCezoWcuQRz3ptdudgwaHxTjxw5HgdFJmZIkIMlRymL6YiZcped4TTCB0JcC8w==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.8.3" } }, "@babel/plugin-transform-spread": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.7.4.tgz", - "integrity": "sha512-8OSs0FLe5/80cndziPlg4R0K6HcWSM0zyNhHhLsmw/Nc5MaA49cAsnoJ/t/YZf8qkG7fD+UjTRaApVDB526d7Q==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.8.3.tgz", + "integrity": "sha512-CkuTU9mbmAoFOI1tklFWYYbzX5qCIZVXPVy0jpXgGwkplCndQAa58s2jr66fTeQnA64bDox0HL4U56CFYoyC7g==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.8.3" } }, "@babel/plugin-transform-sticky-regex": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.7.4.tgz", - "integrity": "sha512-Ls2NASyL6qtVe1H1hXts9yuEeONV2TJZmplLONkMPUG158CtmnrzW5Q5teibM5UVOFjG0D3IC5mzXR6pPpUY7A==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.8.3.tgz", + "integrity": "sha512-9Spq0vGCD5Bb4Z/ZXXSK5wbbLFMG085qd2vhL1JYu1WcQ5bXqZBAYRzU1d+p79GcHs2szYv5pVQCX13QgldaWw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-regex": "^7.0.0" + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/helper-regex": "^7.8.3" } }, "@babel/plugin-transform-template-literals": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.7.4.tgz", - "integrity": "sha512-sA+KxLwF3QwGj5abMHkHgshp9+rRz+oY9uoRil4CyLtgEuE/88dpkeWgNk5qKVsJE9iSfly3nvHapdRiIS2wnQ==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.8.3.tgz", + "integrity": "sha512-820QBtykIQOLFT8NZOcTRJ1UNuztIELe4p9DCgvj4NK+PwluSJ49we7s9FB1HIGNIYT7wFUJ0ar2QpCDj0escQ==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.7.4", - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-annotate-as-pure": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3" } }, "@babel/plugin-transform-typeof-symbol": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.7.4.tgz", - "integrity": "sha512-KQPUQ/7mqe2m0B8VecdyaW5XcQYaePyl9R7IsKd+irzj6jvbhoGnRE+M0aNkyAzI07VfUQ9266L5xMARitV3wg==", + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.8.4.tgz", + "integrity": "sha512-2QKyfjGdvuNfHsb7qnBBlKclbD4CfshH2KvDabiijLMGXPHJXGxtDzwIF7bQP+T0ysw8fYTtxPafgfs/c1Lrqg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.8.3" } }, "@babel/plugin-transform-unicode-regex": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.7.4.tgz", - "integrity": "sha512-N77UUIV+WCvE+5yHw+oks3m18/umd7y392Zv7mYTpFqHtkpcc+QUz+gLJNTWVlWROIWeLqY0f3OjZxV5TcXnRw==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.8.3.tgz", + "integrity": "sha512-+ufgJjYdmWfSQ+6NS9VGUR2ns8cjJjYbrbi11mZBTaWm+Fui/ncTLFF28Ei1okavY+xkojGr1eJxNsWYeA5aZw==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.7.4", - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-create-regexp-features-plugin": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3" } }, "@babel/preset-env": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.7.4.tgz", - "integrity": "sha512-Dg+ciGJjwvC1NIe/DGblMbcGq1HOtKbw8RLl4nIjlfcILKEOkWT/vRqPpumswABEBVudii6dnVwrBtzD7ibm4g==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.7.4", - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-async-generator-functions": "^7.7.4", - "@babel/plugin-proposal-dynamic-import": "^7.7.4", - "@babel/plugin-proposal-json-strings": "^7.7.4", - "@babel/plugin-proposal-object-rest-spread": "^7.7.4", - "@babel/plugin-proposal-optional-catch-binding": "^7.7.4", - "@babel/plugin-proposal-unicode-property-regex": "^7.7.4", - "@babel/plugin-syntax-async-generators": "^7.7.4", - "@babel/plugin-syntax-dynamic-import": "^7.7.4", - "@babel/plugin-syntax-json-strings": "^7.7.4", - "@babel/plugin-syntax-object-rest-spread": "^7.7.4", - "@babel/plugin-syntax-optional-catch-binding": "^7.7.4", - "@babel/plugin-syntax-top-level-await": "^7.7.4", - "@babel/plugin-transform-arrow-functions": "^7.7.4", - "@babel/plugin-transform-async-to-generator": "^7.7.4", - "@babel/plugin-transform-block-scoped-functions": "^7.7.4", - "@babel/plugin-transform-block-scoping": "^7.7.4", - "@babel/plugin-transform-classes": "^7.7.4", - "@babel/plugin-transform-computed-properties": "^7.7.4", - "@babel/plugin-transform-destructuring": "^7.7.4", - "@babel/plugin-transform-dotall-regex": "^7.7.4", - "@babel/plugin-transform-duplicate-keys": "^7.7.4", - "@babel/plugin-transform-exponentiation-operator": "^7.7.4", - "@babel/plugin-transform-for-of": "^7.7.4", - "@babel/plugin-transform-function-name": "^7.7.4", - "@babel/plugin-transform-literals": "^7.7.4", - "@babel/plugin-transform-member-expression-literals": "^7.7.4", - "@babel/plugin-transform-modules-amd": "^7.7.4", - "@babel/plugin-transform-modules-commonjs": "^7.7.4", - "@babel/plugin-transform-modules-systemjs": "^7.7.4", - "@babel/plugin-transform-modules-umd": "^7.7.4", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.7.4", - "@babel/plugin-transform-new-target": "^7.7.4", - "@babel/plugin-transform-object-super": "^7.7.4", - "@babel/plugin-transform-parameters": "^7.7.4", - "@babel/plugin-transform-property-literals": "^7.7.4", - "@babel/plugin-transform-regenerator": "^7.7.4", - "@babel/plugin-transform-reserved-words": "^7.7.4", - "@babel/plugin-transform-shorthand-properties": "^7.7.4", - "@babel/plugin-transform-spread": "^7.7.4", - "@babel/plugin-transform-sticky-regex": "^7.7.4", - "@babel/plugin-transform-template-literals": "^7.7.4", - "@babel/plugin-transform-typeof-symbol": "^7.7.4", - "@babel/plugin-transform-unicode-regex": "^7.7.4", - "@babel/types": "^7.7.4", - "browserslist": "^4.6.0", - "core-js-compat": "^3.1.1", + "version": "7.8.7", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.8.7.tgz", + "integrity": "sha512-BYftCVOdAYJk5ASsznKAUl53EMhfBbr8CJ1X+AJLfGPscQkwJFiaV/Wn9DPH/7fzm2v6iRYJKYHSqyynTGw0nw==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.8.6", + "@babel/helper-compilation-targets": "^7.8.7", + "@babel/helper-module-imports": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-proposal-async-generator-functions": "^7.8.3", + "@babel/plugin-proposal-dynamic-import": "^7.8.3", + "@babel/plugin-proposal-json-strings": "^7.8.3", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-proposal-object-rest-spread": "^7.8.3", + "@babel/plugin-proposal-optional-catch-binding": "^7.8.3", + "@babel/plugin-proposal-optional-chaining": "^7.8.3", + "@babel/plugin-proposal-unicode-property-regex": "^7.8.3", + "@babel/plugin-syntax-async-generators": "^7.8.0", + "@babel/plugin-syntax-dynamic-import": "^7.8.0", + "@babel/plugin-syntax-json-strings": "^7.8.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0", + "@babel/plugin-syntax-object-rest-spread": "^7.8.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.0", + "@babel/plugin-syntax-top-level-await": "^7.8.3", + "@babel/plugin-transform-arrow-functions": "^7.8.3", + "@babel/plugin-transform-async-to-generator": "^7.8.3", + "@babel/plugin-transform-block-scoped-functions": "^7.8.3", + "@babel/plugin-transform-block-scoping": "^7.8.3", + "@babel/plugin-transform-classes": "^7.8.6", + "@babel/plugin-transform-computed-properties": "^7.8.3", + "@babel/plugin-transform-destructuring": "^7.8.3", + "@babel/plugin-transform-dotall-regex": "^7.8.3", + "@babel/plugin-transform-duplicate-keys": "^7.8.3", + "@babel/plugin-transform-exponentiation-operator": "^7.8.3", + "@babel/plugin-transform-for-of": "^7.8.6", + "@babel/plugin-transform-function-name": "^7.8.3", + "@babel/plugin-transform-literals": "^7.8.3", + "@babel/plugin-transform-member-expression-literals": "^7.8.3", + "@babel/plugin-transform-modules-amd": "^7.8.3", + "@babel/plugin-transform-modules-commonjs": "^7.8.3", + "@babel/plugin-transform-modules-systemjs": "^7.8.3", + "@babel/plugin-transform-modules-umd": "^7.8.3", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.8.3", + "@babel/plugin-transform-new-target": "^7.8.3", + "@babel/plugin-transform-object-super": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.8.7", + "@babel/plugin-transform-property-literals": "^7.8.3", + "@babel/plugin-transform-regenerator": "^7.8.7", + "@babel/plugin-transform-reserved-words": "^7.8.3", + "@babel/plugin-transform-shorthand-properties": "^7.8.3", + "@babel/plugin-transform-spread": "^7.8.3", + "@babel/plugin-transform-sticky-regex": "^7.8.3", + "@babel/plugin-transform-template-literals": "^7.8.3", + "@babel/plugin-transform-typeof-symbol": "^7.8.4", + "@babel/plugin-transform-unicode-regex": "^7.8.3", + "@babel/types": "^7.8.7", + "browserslist": "^4.8.5", + "core-js-compat": "^3.6.2", "invariant": "^2.2.2", - "js-levenshtein": "^1.1.3", + "levenary": "^1.1.1", "semver": "^5.5.0" - }, - "dependencies": { - "@babel/helper-module-imports": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.7.4.tgz", - "integrity": "sha512-dGcrX6K9l8258WFjyDLJwuVKxR4XZfU0/vTUgOQYWEnRD8mgr+p4d6fCUMq/ys0h4CCt/S5JhbvtyErjWouAUQ==", - "dev": true, - "requires": { - "@babel/types": "^7.7.4" - } - }, - "@babel/plugin-proposal-object-rest-spread": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.7.4.tgz", - "integrity": "sha512-rnpnZR3/iWKmiQyJ3LKJpSwLDcX/nSXhdLk4Aq/tXOApIvyu7qoabrige0ylsAJffaUC51WiBu209Q0U+86OWQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-object-rest-spread": "^7.7.4" - } - }, - "@babel/plugin-syntax-dynamic-import": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.7.4.tgz", - "integrity": "sha512-jHQW0vbRGvwQNgyVxwDh4yuXu4bH1f5/EICJLAhl1SblLs2CDhrsmCk+v5XLdE9wxtAFRyxx+P//Iw+a5L/tTg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-syntax-object-rest-spread": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.7.4.tgz", - "integrity": "sha512-mObR+r+KZq0XhRVS2BrBKBpr5jqrqzlPvS9C9vuOf5ilSwzloAl7RPWLrgKdWS6IreaVrjHxTjtyqFiOisaCwg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/types": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.7.4.tgz", - "integrity": "sha512-cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA==", - "dev": true, - "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - } } }, "@babel/preset-react": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.7.4.tgz", - "integrity": "sha512-j+vZtg0/8pQr1H8wKoaJyGL2IEk3rG/GIvua7Sec7meXVIvGycihlGMx5xcU00kqCJbwzHs18xTu3YfREOqQ+g==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.8.3.tgz", + "integrity": "sha512-9hx0CwZg92jGb7iHYQVgi0tOEHP/kM60CtWJQnmbATSPIQQ2xYzfoCI3EdqAhFBeeJwYMdWQuDUHMsuDbH9hyQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-transform-react-display-name": "^7.7.4", - "@babel/plugin-transform-react-jsx": "^7.7.4", - "@babel/plugin-transform-react-jsx-self": "^7.7.4", - "@babel/plugin-transform-react-jsx-source": "^7.7.4" + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-transform-react-display-name": "^7.8.3", + "@babel/plugin-transform-react-jsx": "^7.8.3", + "@babel/plugin-transform-react-jsx-self": "^7.8.3", + "@babel/plugin-transform-react-jsx-source": "^7.8.3" } }, "@babel/runtime": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.6.0.tgz", - "integrity": "sha512-89eSBLJsxNxOERC0Op4vd+0Bqm6wRMqMbFtV3i0/fbaWw/mJ8Q3eBvgX0G4SyrOOLCtbu98HspF8o09MRT+KzQ==", + "version": "7.8.7", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.8.7.tgz", + "integrity": "sha512-+AATMUFppJDw6aiR5NVPHqIQBlV/Pj8wY/EZH+lmvRdUo9xBaz/rF3alAwFJQavvKfeOlPE7oaaDHVbcySbCsg==", "requires": { - "regenerator-runtime": "^0.13.2" + "regenerator-runtime": "^0.13.4" } }, "@babel/template": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.6.0.tgz", - "integrity": "sha512-5AEH2EXD8euCk446b7edmgFdub/qfH1SN6Nii3+fyXP807QRx9Q73A2N5hNwRRslC2H9sNzaFhsPubkS4L8oNQ==", + "version": "7.8.6", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz", + "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==", "dev": true, "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.6.0", - "@babel/types": "^7.6.0" + "@babel/code-frame": "^7.8.3", + "@babel/parser": "^7.8.6", + "@babel/types": "^7.8.6" } }, "@babel/traverse": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.6.0.tgz", - "integrity": "sha512-93t52SaOBgml/xY74lsmt7xOR4ufYvhb5c5qiM6lu4J/dWGMAfAh6eKw4PjLes6DI6nQgearoxnFJk60YchpvQ==", + "version": "7.8.6", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.6.tgz", + "integrity": "sha512-2B8l0db/DPi8iinITKuo7cbPznLCEk0kCxDoB9/N6gGNg/gxOXiR/IcymAFPiBwk5w6TtQ27w4wpElgp9btR9A==", "dev": true, "requires": { - "@babel/code-frame": "^7.5.5", - "@babel/generator": "^7.6.0", - "@babel/helper-function-name": "^7.1.0", - "@babel/helper-split-export-declaration": "^7.4.4", - "@babel/parser": "^7.6.0", - "@babel/types": "^7.6.0", + "@babel/code-frame": "^7.8.3", + "@babel/generator": "^7.8.6", + "@babel/helper-function-name": "^7.8.3", + "@babel/helper-split-export-declaration": "^7.8.3", + "@babel/parser": "^7.8.6", + "@babel/types": "^7.8.6", "debug": "^4.1.0", "globals": "^11.1.0", "lodash": "^4.17.13" } }, "@babel/types": { - "version": "7.6.1", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.6.1.tgz", - "integrity": "sha512-X7gdiuaCmA0uRjCmRtYJNAVCc/q+5xSgsfKJHqMN4iNLILX39677fJE1O40arPMh0TTtS9ItH67yre6c7k6t0g==", + "version": "7.8.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz", + "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==", "dev": true, "requires": { "esutils": "^2.0.2", @@ -1865,6 +1017,12 @@ "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==", "dev": true }, + "@types/color-name": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", + "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==", + "dev": true + }, "@types/events": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz", @@ -1889,9 +1047,9 @@ "dev": true }, "@types/node": { - "version": "12.7.5", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.7.5.tgz", - "integrity": "sha512-9fq4jZVhPNW8r+UYKnxF1e2HkDWOWKM5bC2/7c9wPV835I0aOrVbS/Hw/pWPk2uKrNXQqg9Z959Kz+IYDd5p3w==", + "version": "13.7.7", + "resolved": "https://registry.npmjs.org/@types/node/-/node-13.7.7.tgz", + "integrity": "sha512-Uo4chgKbnPNlxQwoFmYIwctkQVkMMmsAoGGU4JKwLuvBefF0pCq4FybNSnfkfRCpC7ZW7kttcC/TrRtAJsvGtg==", "dev": true }, "@types/q": { @@ -1901,9 +1059,9 @@ "dev": true }, "@vue/component-compiler-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-3.0.0.tgz", - "integrity": "sha512-am+04/0UX7ektcmvhYmrf84BDVAD8afFOf4asZjN84q8xzxFclbk5x0MtxuKGfp+zjN5WWPJn3fjFAWtDdIGSw==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-3.1.1.tgz", + "integrity": "sha512-+lN3nsfJJDGMNz7fCpcoYIORrXo0K3OTsdr8jCM7FuqdI4+70TY6gxY6viJ2Xi1clqyPg7LpeOWwjF31vSMmUw==", "dev": true, "requires": { "consolidate": "^0.15.1", @@ -1911,8 +1069,8 @@ "lru-cache": "^4.1.2", "merge-source-map": "^1.1.0", "postcss": "^7.0.14", - "postcss-selector-parser": "^5.0.0", - "prettier": "1.16.3", + "postcss-selector-parser": "^6.0.2", + "prettier": "^1.18.2", "source-map": "~0.6.1", "vue-template-es2015-compiler": "^1.9.0" }, @@ -1927,6 +1085,17 @@ "yallist": "^2.1.2" } }, + "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" + } + }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -2140,15 +1309,15 @@ } }, "acorn": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.0.tgz", - "integrity": "sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.1.tgz", + "integrity": "sha512-add7dgA5ppRPxCFJoAGfMDi7PIBXq1RtGo7BhbLaxwrXPOmw8gq48Y9ozT01hUKy9byMjlR20EJhu5zlkErEkg==", "dev": true }, "acorn-jsx": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.1.0.tgz", - "integrity": "sha512-tMUqwBWfLFbJbizRmEcWSLw6HnFzfdJs2sOJEOwwtVPMoH/0Ay+E703oZz78VSXZiiDcZrQ5XKjPIUQixhmgVw==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.2.0.tgz", + "integrity": "sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ==", "dev": true }, "adjust-sourcemap-loader": { @@ -2179,12 +1348,29 @@ "integrity": "sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA==", "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 + }, "inherits": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", "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" + } + }, "object-path": { "version": "0.11.4", "resolved": "https://registry.npmjs.org/object-path/-/object-path-0.11.4.tgz", @@ -2208,13 +1394,23 @@ "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=", "dev": true }, + "aggregate-error": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.0.1.tgz", + "integrity": "sha512-quoaXsZ9/BLNae5yiNoUz+Nhkwz83GhWwtYFglcjEQB2NDHCIpApbqXxIFnm4Pq/Nvhrsq5sYJFyohrrxnTGAA==", + "dev": true, + "requires": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + } + }, "ajv": { - "version": "6.10.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz", - "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==", + "version": "6.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz", + "integrity": "sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==", "dev": true, "requires": { - "fast-deep-equal": "^2.0.1", + "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" @@ -2245,12 +1441,20 @@ "dev": true }, "ansi-escapes": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.0.tgz", - "integrity": "sha512-EiYhwo0v255HUL6eDyuLrXEkTi7WwVCLAw+SeOQ7M7qdun1z1pum4DEm/nuqIVbPvi9RPPc9k9LbyBv6H0DwVg==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", + "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", "dev": true, "requires": { - "type-fest": "^0.8.1" + "type-fest": "^0.11.0" + }, + "dependencies": { + "type-fest": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", + "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", + "dev": true + } } }, "ansi-html": { @@ -2341,13 +1545,14 @@ "dev": true }, "array-includes": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.0.3.tgz", - "integrity": "sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0=", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.1.tgz", + "integrity": "sha512-c2VXaCHl7zPsvpkFsw4nxvFie4fh1ur9bpcgsVkIjqn0H/Xwdg+7fv3n2r/isyS8EBj5b06M9kHyZuIr4El6WQ==", "dev": true, "requires": { - "define-properties": "^1.1.2", - "es-abstract": "^1.7.0" + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0", + "is-string": "^1.0.5" } }, "array-union": { @@ -2371,6 +1576,16 @@ "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", "dev": true }, + "array.prototype.flat": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.3.tgz", + "integrity": "sha512-gBlRZV0VSmfPIeWfuuy56XZMvbVfbEUnOXUvt3F/eUUUSyzlgLxhEX4YAEpxNAogRGehPSnfXyPtYyKAhkzQhQ==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" + } + }, "arraybuffer.slice": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz", @@ -2475,34 +1690,26 @@ "dev": true }, "autoprefixer": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.6.1.tgz", - "integrity": "sha512-aVo5WxR3VyvyJxcJC3h4FKfwCQvQWb1tSI5VHNibddCVWrcD1NvlxEweg3TSgiPztMnWfjpy2FURKA2kvDE+Tw==", + "version": "9.7.4", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.7.4.tgz", + "integrity": "sha512-g0Ya30YrMBAEZk60lp+qfX5YQllG+S5W3GYCFvyHTvhOki0AEQJLPEcIuGRsqVwLi8FvXPVtwTGhfr38hVpm0g==", "dev": true, "requires": { - "browserslist": "^4.6.3", - "caniuse-lite": "^1.0.30000980", + "browserslist": "^4.8.3", + "caniuse-lite": "^1.0.30001020", "chalk": "^2.4.2", "normalize-range": "^0.1.2", "num2fraction": "^1.2.2", - "postcss": "^7.0.17", - "postcss-value-parser": "^4.0.0" + "postcss": "^7.0.26", + "postcss-value-parser": "^4.0.2" } }, "axios": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.19.0.tgz", - "integrity": "sha512-1uvKqKQta3KBxIz14F2v06AEHZ/dIoeKfbTRkK1E5oqjDnuEerLmYTgJB5AiQZHJcljpg1TuRzdjDR06qNk0DQ==", + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.19.2.tgz", + "integrity": "sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA==", "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==" - } + "follow-redirects": "1.5.10" } }, "babel-code-frame": { @@ -2550,15 +1757,15 @@ } }, "babel-eslint": { - "version": "10.0.3", - "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.0.3.tgz", - "integrity": "sha512-z3U7eMY6r/3f3/JB9mTsLjyxrv0Yb1zb8PCWCLpguxfCzBIZUwy23R1t/XKewP+8mEN2Ck8Dtr4q20z6ce6SoA==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz", + "integrity": "sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.0.0", - "@babel/traverse": "^7.0.0", - "@babel/types": "^7.0.0", + "@babel/parser": "^7.7.0", + "@babel/traverse": "^7.7.0", + "@babel/types": "^7.7.0", "eslint-visitor-keys": "^1.0.0", "resolve": "^1.12.0" } @@ -2606,9 +1813,9 @@ } }, "p-limit": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz", - "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.2.tgz", + "integrity": "sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ==", "dev": true, "requires": { "p-try": "^2.0.0" @@ -2701,11 +1908,6 @@ "regenerator-runtime": "^0.11.0" }, "dependencies": { - "core-js": { - "version": "2.6.10", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.10.tgz", - "integrity": "sha512-I39t74+4t+zau64EN1fE5v2W31Adtc/REhzWN+gWRRXg6WH5qAsZm62DHpQ1+Yhe4047T55jvzz7MUqF/dBBlA==" - }, "regenerator-runtime": { "version": "0.11.1", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", @@ -2825,6 +2027,16 @@ "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", "dev": true }, + "bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "dev": true, + "optional": true, + "requires": { + "file-uri-to-path": "1.0.0" + } + }, "blob": { "version": "0.0.5", "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.5.tgz", @@ -2832,9 +2044,9 @@ "dev": true }, "bluebird": { - "version": "3.5.5", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.5.tgz", - "integrity": "sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w==", + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", "dev": true }, "bn.js": { @@ -2889,6 +2101,12 @@ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", "dev": true }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, "qs": { "version": "6.7.0", "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", @@ -2936,9 +2154,9 @@ "dev": true }, "bootstrap": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.4.0.tgz", - "integrity": "sha512-dqCYJNs/Fxa3IVQ+v/lC694POCThUjZsA4wwqs8l+yk67B6ww2Ki++WaM6CVGe5+tArBBrknzjjh01/NT5rLjA==" + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.4.1.tgz", + "integrity": "sha512-tbx5cHubwE6e2ZG7nqM3g/FZ5PQEDMWmMGNrCUBVRPHXTJaH7CBDdsLeu3eCh3B1tzAxTnAbtmrzvWEvT2NNEA==" }, "brace-expansion": { "version": "1.1.11", @@ -3146,14 +2364,14 @@ } }, "browserslist": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.7.0.tgz", - "integrity": "sha512-9rGNDtnj+HaahxiVV38Gn8n8Lr8REKsel68v1sPFfIGEK6uSXTY3h9acgiT1dZVtOOUtifo/Dn8daDQ5dUgVsA==", + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.9.1.tgz", + "integrity": "sha512-Q0DnKq20End3raFulq6Vfp1ecB9fh8yUNV55s8sekaDDeqBaCtWlRHCUdaWyUeSSBJM7IbM6HcsyaeYqgeDhnw==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30000989", - "electron-to-chromium": "^1.3.247", - "node-releases": "^1.1.29" + "caniuse-lite": "^1.0.30001030", + "electron-to-chromium": "^1.3.363", + "node-releases": "^1.1.50" } }, "bs-recipes": { @@ -3169,9 +2387,9 @@ "dev": true }, "buffer": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", - "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", + "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", "dev": true, "requires": { "base64-js": "^1.0.2", @@ -3218,33 +2436,39 @@ "dev": true }, "cacache": { - "version": "12.0.3", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.3.tgz", - "integrity": "sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw==", + "version": "13.0.1", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-13.0.1.tgz", + "integrity": "sha512-5ZvAxd05HDDU+y9BVvcqYu2LLXmPnQ0hW62h32g4xBTgL/MppR4/04NHfj/ycM2y6lmTnbw6HVi+1eN0Psba6w==", "dev": true, "requires": { - "bluebird": "^3.5.5", - "chownr": "^1.1.1", + "chownr": "^1.1.2", "figgy-pudding": "^3.5.1", + "fs-minipass": "^2.0.0", "glob": "^7.1.4", - "graceful-fs": "^4.1.15", - "infer-owner": "^1.0.3", + "graceful-fs": "^4.2.2", + "infer-owner": "^1.0.4", "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", + "minipass": "^3.0.0", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.2", "mkdirp": "^0.5.1", "move-concurrently": "^1.0.1", + "p-map": "^3.0.0", "promise-inflight": "^1.0.1", - "rimraf": "^2.6.3", - "ssri": "^6.0.1", - "unique-filename": "^1.1.1", - "y18n": "^4.0.0" + "rimraf": "^2.7.1", + "ssri": "^7.0.0", + "unique-filename": "^1.1.1" }, "dependencies": { - "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 + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } } } }, @@ -3338,9 +2562,9 @@ } }, "caniuse-lite": { - "version": "1.0.30000989", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000989.tgz", - "integrity": "sha512-vrMcvSuMz16YY6GSVZ0dWDTJP8jqk3iFQ/Aq5iqblPwxSVVZI+zxDyTX0VPqtQsDnfdrBDcsmhgTEOh5R8Lbpw==", + "version": "1.0.30001032", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001032.tgz", + "integrity": "sha512-8joOm7BwcpEN4BfVHtfh0hBXSAPVYk+eUIcNntGtMkUWy/6AKRCDZINCLe3kB1vHhT2vBxBF85Hh9VlPXi/qjA==", "dev": true }, "chalk": { @@ -3387,9 +2611,9 @@ } }, "chownr": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.2.tgz", - "integrity": "sha512-GkfeAQh+QNy3wquu9oIZr6SS5x7wGdSgNQvD10X3r+AZr1Oys22HW8kAmDMvNg2+Dm0TeGaEuO8gFwdBXxwO8A==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", "dev": true }, "chrome-trace-event": { @@ -3440,9 +2664,9 @@ "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==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz", + "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==", "dev": true, "requires": { "source-map": "~0.6.0" @@ -3456,6 +2680,12 @@ } } }, + "clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true + }, "cli-cursor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", @@ -3517,9 +2747,9 @@ "dev": true }, "collect.js": { - "version": "4.16.6", - "resolved": "https://registry.npmjs.org/collect.js/-/collect.js-4.16.6.tgz", - "integrity": "sha512-Y0mR+JAWmUmA7HOByjdtc4dnQF/PRl4ap3jpG7RpC5vJjMmjDxBC8SFtp0s0vcRKoY+9WhJG0HUk1H2ze0Ao7A==", + "version": "4.20.3", + "resolved": "https://registry.npmjs.org/collect.js/-/collect.js-4.20.3.tgz", + "integrity": "sha512-sPNxjntNe7GHszjcH3zWdyLQVYMRlK9uWnRGtnUsuCpHM/iUbqKSDeUail06hmwgQP7otIJEZwrSJScGxZ5XEg==", "dev": true }, "collection-visit": { @@ -3568,9 +2798,9 @@ } }, "commander": { - "version": "2.20.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz", - "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==", + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "dev": true }, "commondir": { @@ -3607,12 +2837,12 @@ } }, "compressible": { - "version": "2.0.17", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.17.tgz", - "integrity": "sha512-BGHeLCK1GV7j1bSmQQAi26X+GgWcTjLr/0tzSvMCl3LH1w1IJ4PFSPoV5316b30cneTziC+B1a+3OjoSUcQYmw==", + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", "dev": true, "requires": { - "mime-db": ">= 1.40.0 < 2" + "mime-db": ">= 1.43.0 < 2" } }, "compression": { @@ -3644,6 +2874,12 @@ "requires": { "ms": "2.0.0" } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true } } }, @@ -3694,6 +2930,12 @@ "requires": { "ms": "2.0.0" } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true } } }, @@ -3704,13 +2946,10 @@ "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" - } + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", + "dev": true }, "consolidate": { "version": "0.15.1", @@ -3749,9 +2988,9 @@ "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==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", + "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", "dev": true, "requires": { "safe-buffer": "~5.1.1" @@ -3790,56 +3029,24 @@ "dev": true }, "core-js": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", - "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=" + "version": "2.6.11", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz", + "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==" }, "core-js-compat": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.4.2.tgz", - "integrity": "sha512-W0Aj+LM3EAxxjD0Kp2o4be8UlnxIZHNupBv2znqrheR4aY2nOn91794k/xoSp+SxqqriiZpTsSwBtZr60cbkwQ==", + "version": "3.6.4", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.6.4.tgz", + "integrity": "sha512-zAa3IZPvsJ0slViBQ2z+vgyyTuhd3MFn1rBQjZSKVEgB0UMYhUkCj9jJUVPgGTGqWvsBVmfnruXgTcNyTlEiSA==", "dev": true, "requires": { - "browserslist": "^4.7.3", - "semver": "^6.3.0" + "browserslist": "^4.8.3", + "semver": "7.0.0" }, "dependencies": { - "browserslist": { - "version": "4.7.3", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.7.3.tgz", - "integrity": "sha512-jWvmhqYpx+9EZm/FxcZSbUZyDEvDTLDi3nSAKbzEkyWvtI0mNSmUosey+5awDW1RUlrgXbQb5A6qY1xQH9U6MQ==", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001010", - "electron-to-chromium": "^1.3.306", - "node-releases": "^1.1.40" - } - }, - "caniuse-lite": { - "version": "1.0.30001012", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001012.tgz", - "integrity": "sha512-7RR4Uh04t9K1uYRWzOJmzplgEOAXbfK72oVNokCdMzA67trrhPzy93ahKk1AWHiA0c58tD2P+NHqxrA8FZ+Trg==", - "dev": true - }, - "electron-to-chromium": { - "version": "1.3.314", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.314.tgz", - "integrity": "sha512-IKDR/xCxKFhPts7h+VaSXS02Z1mznP3fli1BbXWXeN89i2gCzKraU8qLpEid8YzKcmZdZD3Mly3cn5/lY9xsBQ==", - "dev": true - }, - "node-releases": { - "version": "1.1.41", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.41.tgz", - "integrity": "sha512-+IctMa7wIs8Cfsa8iYzeaLTFwv5Y4r5jZud+4AnfymzeEXKBCavFX0KBgzVaPVqf0ywa6PrO8/b+bPqdwjGBSg==", - "dev": true, - "requires": { - "semver": "^6.3.0" - } - }, "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", + "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", "dev": true } } @@ -3937,25 +3144,23 @@ } }, "cross-env": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-5.2.1.tgz", - "integrity": "sha512-1yHhtcfAd1r4nwQgknowuUNfIT9E8dOMMspC36g45dN+iD1blloi7xp8X/xAIDnjHWyt1uQ8PHk2fkNaym7soQ==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.2.tgz", + "integrity": "sha512-KZP/bMEOJEDCkDQAyRhu3RL2ZO/SUVrxQVI0G3YEQ+OLbRA3c6zgixe8Mq8a/z7+HKlNEjo8oiLUs8iRijY2Rw==", "dev": true, "requires": { - "cross-spawn": "^6.0.5" + "cross-spawn": "^7.0.1" } }, "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.1.tgz", + "integrity": "sha512-u7v4o84SwFpD32Z8IIcPZ6z1/ie24O6RU3RbtL5Y316l3KuHVPx9ItBgWQ6VlfAFnRnTtMUrsQ9MUUTuEZjogg==", "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" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" } }, "crypt": { @@ -4065,13 +3270,13 @@ } }, "css-select": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.0.2.tgz", - "integrity": "sha512-dSpYaDVoWaELjvZ3mS6IKZM/y2PMPa/XYoEfYNZePL4U/XgyxZNroHEHReDx/d+VgXh9VbCTtFqLkFbmeqeaRQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", + "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", "dev": true, "requires": { "boolbase": "^1.0.0", - "css-what": "^2.1.2", + "css-what": "^3.2.1", "domutils": "^1.7.0", "nth-check": "^1.0.2" } @@ -4083,76 +3288,44 @@ "dev": true }, "css-selector-tokenizer": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.1.tgz", - "integrity": "sha512-xYL0AMZJ4gFzJQsHUKa5jiWWi2vH77WVNg7JYRyewwj6oPh4yb/y6Y9ZCw9dsj/9UauMhtuxR+ogQd//EdEVNA==", + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.2.tgz", + "integrity": "sha512-yj856NGuAymN6r8bn8/Jl46pR+OC3eEvAhfGYDUe7YPtTPAYrSSw4oAniZ9Y8T5B92hjhwTBLUen0/vKPxf6pw==", "dev": true, "requires": { - "cssesc": "^0.1.0", - "fastparse": "^1.1.1", - "regexpu-core": "^1.0.0" - }, - "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", - "dev": true - }, - "regexpu-core": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-1.0.0.tgz", - "integrity": "sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs=", - "dev": true, - "requires": { - "regenerate": "^1.2.1", - "regjsgen": "^0.2.0", - "regjsparser": "^0.1.4" - } - }, - "regjsgen": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", - "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=", - "dev": true - }, - "regjsparser": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", - "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", - "dev": true, - "requires": { - "jsesc": "~0.5.0" - } - } + "cssesc": "^3.0.0", + "fastparse": "^1.1.2", + "regexpu-core": "^4.6.0" } }, "css-tree": { - "version": "1.0.0-alpha.33", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.33.tgz", - "integrity": "sha512-SPt57bh5nQnpsTBsx/IXbO14sRc9xXu5MtMAVuo0BaQQmyf0NupNPPSoMaqiAF5tDFafYsTkfeH4Q/HCKXkg4w==", + "version": "1.0.0-alpha.37", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", + "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", "dev": true, "requires": { "mdn-data": "2.0.4", - "source-map": "^0.5.3" + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } } }, - "css-unit-converter": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/css-unit-converter/-/css-unit-converter-1.1.1.tgz", - "integrity": "sha1-2bkoGtz9jO2TW9urqDeGiX9k6ZY=", - "dev": true - }, "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==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.2.1.tgz", + "integrity": "sha512-WwOrosiQTvyms+Ti5ZC5vGEK0Vod3FTt1ca+payZqvKuGJF+dq7bG63DstxtN0dpm6FxY27a/zS3Wten+gEtGw==", "dev": true }, "cssesc": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-0.1.0.tgz", - "integrity": "sha1-yBSQPkViM3GgR3tAEJqq++6t27Q=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", "dev": true }, "cssnano": { @@ -4233,30 +3406,12 @@ "dev": true }, "csso": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/csso/-/csso-3.5.1.tgz", - "integrity": "sha512-vrqULLffYU1Q2tLdJvaCYbONStnfkfimRxXNaGjxMldI0C7JPBC4rB1RyjhfdZ4m1frm8pM9uRPKH3d2knZ8gg==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.0.2.tgz", + "integrity": "sha512-kS7/oeNVXkHWxby5tHVxlhjizRCSv8QdU7hB2FpdAibDU8FjTAolhNjKNTiLzXtUrKT6HwClE81yXwEk1309wg==", "dev": true, "requires": { - "css-tree": "1.0.0-alpha.29" - }, - "dependencies": { - "css-tree": { - "version": "1.0.0-alpha.29", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.29.tgz", - "integrity": "sha512-sRNb1XydwkW9IOci6iB2xmy8IGCj6r/fr+JWitvJ2JxQRPzN3T4AGGVWCMlVmVwM1gtgALJRmGIlWv5ppnGGkg==", - "dev": true, - "requires": { - "mdn-data": "~1.1.0", - "source-map": "^0.5.3" - } - }, - "mdn-data": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-1.1.4.tgz", - "integrity": "sha512-FSYbp3lyKjyj3E7fMl6rYvUdX0FBXaluGqlFoYESWQlyUTq8R+wp0rkFxoYFqZlHCvsUXGjyJmLQSnXToYhOSA==", - "dev": true - } + "css-tree": "1.0.0-alpha.37" } }, "cyclist": { @@ -4275,12 +3430,6 @@ "type": "^1.0.1" } }, - "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": "4.1.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", @@ -4288,14 +3437,6 @@ "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 - } } }, "decamelize": { @@ -4317,10 +3458,9 @@ "dev": true }, "deep-equal": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.0.tgz", - "integrity": "sha512-ZbfWJq/wN1Z273o7mUSjILYqehAktR2NVoSrOukDkU9kg2v/Uv89yU4Cvz8seJeAmtN5oqiefKq8FPuXOboqLw==", - "dev": true, + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", + "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", "requires": { "is-arguments": "^1.0.4", "is-date-object": "^1.0.1", @@ -4356,7 +3496,6 @@ "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" } @@ -4438,6 +3577,12 @@ } } }, + "p-map": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", + "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", + "dev": true + }, "pify": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", @@ -4453,9 +3598,9 @@ "dev": true }, "des.js": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", - "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", + "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", "dev": true, "requires": { "inherits": "^2.0.1", @@ -4567,9 +3712,9 @@ } }, "dom-serializer": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.1.tgz", - "integrity": "sha512-sK3ujri04WyjwQXVoK4PU3y8ula1stq10GJZpqHIUgoGZdsGzAGu65BnU3d08aTVSvO7mGPZUc0wTEDL+qGE0Q==", + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", "dev": true, "requires": { "domelementtype": "^2.0.1", @@ -4622,12 +3767,12 @@ } }, "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==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.2.0.tgz", + "integrity": "sha512-uEUyaDKoSQ1M4Oq8l45hSE26SnTxL6snNnqvK/VWx5wJhmff5z0FUVJDKDanor/6w3kzE3i7XZOk+7wC0EXr1A==", "dev": true, "requires": { - "is-obj": "^1.0.0" + "is-obj": "^2.0.0" } }, "dotenv": { @@ -4643,13 +3788,13 @@ "dev": true }, "draft-js": { - "version": "0.10.5", - "resolved": "https://registry.npmjs.org/draft-js/-/draft-js-0.10.5.tgz", - "integrity": "sha512-LE6jSCV9nkPhfVX2ggcRLA4FKs6zWq9ceuO/88BpXdNCS7mjRTgs0NsV6piUCJX9YxMsB9An33wnkMmU2sD2Zg==", + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/draft-js/-/draft-js-0.11.4.tgz", + "integrity": "sha512-BLZ59s0vkDj/zI8UPo9Nit/hPsl11ztDejxDCQlVbvEXJSWrTXqO6ZYgdw3hXLtuojq/URqq3wTrpnb3dvzvLA==", "requires": { - "fbjs": "^0.8.15", + "fbjs": "^1.0.0", "immutable": "~3.7.4", - "object-assign": "^4.1.0" + "object-assign": "^4.1.1" }, "dependencies": { "immutable": { @@ -4660,14 +3805,14 @@ } }, "draftjs-to-html": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/draftjs-to-html/-/draftjs-to-html-0.8.4.tgz", - "integrity": "sha512-+4hekxc8dTJvKk6usiEsFX9O1uOD9vLZZOs9ZI3RhTe89yNmtazYII/ILDXfbMPfzNaYfX7Gf3zjRm6UUFxqyg==" + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/draftjs-to-html/-/draftjs-to-html-0.9.1.tgz", + "integrity": "sha512-fFstE6+IayaVFBEvaFt/wN8vdj8FsTRzij7dy7LI9QIwf5LgfHFi9zSpvCg+feJ2tbYVqHxUkjcibwpsTpgFVQ==" }, "draftjs-utils": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/draftjs-utils/-/draftjs-utils-0.9.4.tgz", - "integrity": "sha512-KYjABSbGpJrwrwmxVj5UhfV37MF/p0QRxKIyL+/+QOaJ8J9z1FBKxkblThbpR0nJi9lxPQWGg+gh+v0dAsSCCg==" + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/draftjs-utils/-/draftjs-utils-0.10.2.tgz", + "integrity": "sha512-EstHqr3R3JVcilJrBaO/A+01GvwwKmC7e4TCjC7S94ZeMh4IVmf60OuQXtHHpwItK8C2JCi3iljgN5KHkJboUg==" }, "duplexify": { "version": "3.7.1", @@ -4706,15 +3851,15 @@ "dev": true }, "electron-to-chromium": { - "version": "1.3.260", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.260.tgz", - "integrity": "sha512-wGt+OivF1C1MPwaSv3LJ96ebNbLAWlx3HndivDDWqwIVSQxmhL17Y/YmwUdEMtS/bPyommELt47Dct0/VZNQBQ==", + "version": "1.3.368", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.368.tgz", + "integrity": "sha512-fqzDipW3p+uDkHUHFPrdW3wINRKcJsbnJwBD7hgaQEQwcuLSvNLw6SeUp5gKDpTbmTl7zri7IZfhsdTUTnygJg==", "dev": true }, "elliptic": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.1.tgz", - "integrity": "sha512-xvJINNLbTeWQjrl6X+7eQCrIy/YPv5XCpKW6kB5mKvtnGILoLDcySuwomfdzt0BMdLNVnuRNTuzKNHj0bva1Cg==", + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.2.tgz", + "integrity": "sha512-f4x70okzZbIQl/NSRLkI/+tteV/9WqL98zx+SQ69KbXxmVrmjwsNUPn/gYJJ0sHvEak24cZgHIPegRePAtA/xw==", "dev": true, "requires": { "bn.js": "^4.4.0", @@ -4727,15 +3872,15 @@ } }, "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, "emojis-list": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", - "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", "dev": true }, "encodeurl": { @@ -4753,9 +3898,9 @@ } }, "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==", + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", "dev": true, "requires": { "once": "^1.4.0" @@ -4784,6 +3929,25 @@ "ms": "2.0.0" } }, + "engine.io-parser": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.1.3.tgz", + "integrity": "sha512-6HXPre2O4Houl7c4g7Ic/XzPnHBvaEmN90vtRO9uLmwtRqQmTOw0QMevL1TOfL2Cpu1VzsaTmMotQgMdkzGkVA==", + "dev": true, + "requires": { + "after": "0.8.2", + "arraybuffer.slice": "~0.0.7", + "base64-arraybuffer": "0.1.5", + "blob": "0.0.5", + "has-binary2": "~1.0.2" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, "ws": { "version": "3.3.3", "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", @@ -4798,15 +3962,15 @@ } }, "engine.io-client": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.3.2.tgz", - "integrity": "sha512-y0CPINnhMvPuwtqXfsGuWE8BB66+B6wTtCofQDRecMQPYX3MYUZXFNKDhdrSe3EVjgOu4V3rxdeqN/Tr91IgbQ==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.4.0.tgz", + "integrity": "sha512-a4J5QO2k99CM2a0b12IznnyQndoEvtA4UAldhGzKqnHf42I3Qs2W5SPnDvatZRcMaNZs4IevVicBPayxYt6FwA==", "dev": true, "requires": { "component-emitter": "1.2.1", "component-inherit": "0.0.3", - "debug": "~3.1.0", - "engine.io-parser": "~2.1.1", + "debug": "~4.1.0", + "engine.io-parser": "~2.2.0", "has-cors": "1.1.0", "indexof": "0.0.1", "parseqs": "0.0.5", @@ -4814,23 +3978,12 @@ "ws": "~6.1.0", "xmlhttprequest-ssl": "~1.5.4", "yeast": "0.1.2" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - } } }, "engine.io-parser": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.1.3.tgz", - "integrity": "sha512-6HXPre2O4Houl7c4g7Ic/XzPnHBvaEmN90vtRO9uLmwtRqQmTOw0QMevL1TOfL2Cpu1VzsaTmMotQgMdkzGkVA==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.2.0.tgz", + "integrity": "sha512-6I3qD9iUxotsC5HEMuuGsKA0cXerGz+4uGcXQEkfBidgKf0amsjrrtwcbwK/nzpZBxclXlV7gGl9dgWvu4LF6w==", "dev": true, "requires": { "after": "0.8.2", @@ -4841,14 +3994,26 @@ } }, "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==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.1.tgz", + "integrity": "sha512-98p2zE+rL7/g/DzMHMTF4zZlCgeVdJ7yr6xzEpJRYwFYrGi9ANdn5DnJURg6RpBkyk60XYDnWIv51VfIhfNGuA==", "dev": true, "requires": { "graceful-fs": "^4.1.2", - "memory-fs": "^0.4.0", + "memory-fs": "^0.5.0", "tapable": "^1.0.0" + }, + "dependencies": { + "memory-fs": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", + "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", + "dev": true, + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + } } }, "entities": { @@ -4876,37 +4041,36 @@ } }, "error-stack-parser": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.3.tgz", - "integrity": "sha512-vRC4rKv87twMZy92X4+TmUdv3iYMsmePbpG/YguHsfzmZ8bYJZYYep7yrXH09yFUaCEPKgNK5X79+Yq7hwLVOA==", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.6.tgz", + "integrity": "sha512-d51brTeqC+BHlwF0BhPtcYgF5nlzf9ZZ0ZIUQNZpc9ZB9qw5IJ2diTrBY9jlCJkTLITYPjmiX6OWCwH+fuyNgQ==", "dev": true, "requires": { - "stackframe": "^1.0.4" + "stackframe": "^1.1.1" } }, "es-abstract": { - "version": "1.14.2", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.14.2.tgz", - "integrity": "sha512-DgoQmbpFNOofkjJtKwr87Ma5EW4Dc8fWhD0R+ndq7Oc456ivUfGOOP6oAZTTKl5/CcNMP+EN+e3/iUzgE0veZg==", - "dev": true, + "version": "1.17.4", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.4.tgz", + "integrity": "sha512-Ae3um/gb8F0mui/jPL+QiqmglkUsaQf7FwBEHYIFkztkneosu9imhqHpBzQ3h1vit8t5iQ74t6PEVvphBZiuiQ==", "requires": { - "es-to-primitive": "^1.2.0", + "es-to-primitive": "^1.2.1", "function-bind": "^1.1.1", "has": "^1.0.3", - "has-symbols": "^1.0.0", - "is-callable": "^1.1.4", - "is-regex": "^1.0.4", - "object-inspect": "^1.6.0", + "has-symbols": "^1.0.1", + "is-callable": "^1.1.5", + "is-regex": "^1.0.5", + "object-inspect": "^1.7.0", "object-keys": "^1.1.1", - "string.prototype.trimleft": "^2.0.0", - "string.prototype.trimright": "^2.0.0" + "object.assign": "^4.1.0", + "string.prototype.trimleft": "^2.1.1", + "string.prototype.trimright": "^2.1.1" } }, "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, + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", "requires": { "is-callable": "^1.1.4", "is-date-object": "^1.0.1", @@ -4968,9 +4132,9 @@ "dev": true }, "eslint": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.7.1.tgz", - "integrity": "sha512-UWzBS79pNcsDSxgxbdjkmzn/B6BhsXMfUaOHnNwyE8nD+Q6pyT96ow2MccVayUTV4yMid4qLhMiQaywctRkBLA==", + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz", + "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", @@ -5018,13 +4182,25 @@ "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", "dev": true }, - "eslint-utils": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", - "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", + "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": { - "eslint-visitor-keys": "^1.1.0" + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } } }, "glob-parent": { @@ -5045,12 +4221,33 @@ "type-fest": "^0.8.1" } }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, "semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "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=", + "dev": true + }, "strip-ansi": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", @@ -5059,13 +4256,22 @@ "requires": { "ansi-regex": "^4.1.0" } + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } } } }, "eslint-config-standard": { - "version": "12.0.0", - "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-12.0.0.tgz", - "integrity": "sha512-COUz8FnXhqFitYj4DTqHzidjIL/t4mumGZto5c7DrBpvWoie+Sn3P4sLEzUGeYhRElWuFEf8K1S1EfvD1vixCQ==", + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-14.1.0.tgz", + "integrity": "sha512-EF6XkrrGVbvv8hL/kYa/m6vnvmUT+K82pJJc4JJVMM6+Qgqh0pnwprSxdduDLB9p/7bIxD+YV5O0wfb8lmcPbA==", "dev": true }, "eslint-friendly-formatter": { @@ -5106,13 +4312,13 @@ } }, "eslint-import-resolver-node": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz", - "integrity": "sha512-sfmTqJfPSizWu4aymbPr4Iidp5yKm8yDkHp+Ir3YiTHiiDfxh69mOUsmiqW6RZ9zRXFaF64GtYmN7e+8GHBv6Q==", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.3.tgz", + "integrity": "sha512-b8crLDo0M5RSe5YG8Pu2DYBj71tSB6OvXkfzwbJU2w7y8P4/yo0MyF8jU26IEuEuHF2K5/gcAJE3LhQGqBBbVg==", "dev": true, "requires": { "debug": "^2.6.9", - "resolve": "^1.5.0" + "resolve": "^1.13.1" }, "dependencies": { "debug": { @@ -5121,31 +4327,59 @@ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { - "ms": "2.0.0" + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "eslint-loader": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/eslint-loader/-/eslint-loader-3.0.3.tgz", + "integrity": "sha512-+YRqB95PnNvxNp1HEjQmvf9KNvCin5HXYYseOXVC2U0KEcw4IkQ2IQEBG46j7+gW39bMzeu0GsUhVbBY3Votpw==", + "dev": true, + "requires": { + "fs-extra": "^8.1.0", + "loader-fs-cache": "^1.0.2", + "loader-utils": "^1.2.3", + "object-hash": "^2.0.1", + "schema-utils": "^2.6.1" + }, + "dependencies": { + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" } } } }, - "eslint-loader": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/eslint-loader/-/eslint-loader-2.2.1.tgz", - "integrity": "sha512-RLgV9hoCVsMLvOxCuNjdqOrUqIj9oJg8hF44vzJaYqsAHuY9G2YAeN3joQ9nxP0p5Th9iFSIpKo+SD8KISxXRg==", - "dev": true, - "requires": { - "loader-fs-cache": "^1.0.0", - "loader-utils": "^1.0.2", - "object-assign": "^4.0.1", - "object-hash": "^1.1.4", - "rimraf": "^2.6.1" - } - }, "eslint-module-utils": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.4.1.tgz", - "integrity": "sha512-H6DOj+ejw7Tesdgbfs4jeS4YMFrT8uI8xwd1gtQqXssaR0EQ26L+2O/w6wkYFy2MymON0fTwHmXBvvfLNZVZEw==", + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.5.2.tgz", + "integrity": "sha512-LGScZ/JSlqGKiT8OC+cYRxseMjyqt6QO54nl281CK93unD89ijSeRV6An8Ci/2nvWVKe8K/Tqdm75RQoIOCr+Q==", "dev": true, "requires": { - "debug": "^2.6.8", + "debug": "^2.6.9", "pkg-dir": "^2.0.0" }, "dependencies": { @@ -5167,6 +4401,12 @@ "locate-path": "^2.0.0" } }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, "pkg-dir": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", @@ -5179,13 +4419,30 @@ } }, "eslint-plugin-es": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-1.4.1.tgz", - "integrity": "sha512-5fa/gR2yR3NxQf+UXkeLeP8FBBl6tSgdrAz1+cF84v1FMM4twGwQoqTnn+QxFLcPOrF4pdKEJKDB/q9GoyJrCA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-3.0.0.tgz", + "integrity": "sha512-6/Jb/J/ZvSebydwbBJO1R9E5ky7YeElfK56Veh7e4QGFHCXoIXGH9HhVz+ibJLM3XJ1XjP+T7rKBLUa/Y7eIng==", "dev": true, "requires": { - "eslint-utils": "^1.4.2", - "regexpp": "^2.0.1" + "eslint-utils": "^2.0.0", + "regexpp": "^3.0.0" + }, + "dependencies": { + "eslint-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.0.0.tgz", + "integrity": "sha512-0HCPuJv+7Wv1bACm8y5/ECVfYdfsAm9xmVb7saeFlxjPYALefjhbYoCkBjPdPzGH8wWyTpAez82Fh3VKYEZ8OA==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^1.1.0" + } + }, + "regexpp": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.0.0.tgz", + "integrity": "sha512-Z+hNr7RAVWxznLPuA7DIh8UNX1j9CDrUQxskw9IrBE1Dxue2lyXT+shqEIeLUjrokxIP8CMy1WkjgG3rTsd5/g==", + "dev": true + } } }, "eslint-plugin-html": { @@ -5198,22 +4455,23 @@ } }, "eslint-plugin-import": { - "version": "2.18.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.18.2.tgz", - "integrity": "sha512-5ohpsHAiUBRNaBWAF08izwUGlbrJoJJ+W9/TBwsGoR1MnlgfwMIKrFeSjWbt6moabiXW9xNvtFz+97KHRfI4HQ==", + "version": "2.20.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.20.1.tgz", + "integrity": "sha512-qQHgFOTjguR+LnYRoToeZWT62XM55MBVXObHM6SKFd1VzDcX/vqT1kAz8ssqigh5eMj8qXcRoXXGZpPP6RfdCw==", "dev": true, "requires": { "array-includes": "^3.0.3", + "array.prototype.flat": "^1.2.1", "contains-path": "^0.1.0", "debug": "^2.6.9", "doctrine": "1.5.0", "eslint-import-resolver-node": "^0.3.2", - "eslint-module-utils": "^2.4.0", + "eslint-module-utils": "^2.4.1", "has": "^1.0.3", "minimatch": "^3.0.4", "object.values": "^1.1.0", "read-pkg-up": "^2.0.0", - "resolve": "^1.11.0" + "resolve": "^1.12.0" }, "dependencies": { "debug": { @@ -5262,6 +4520,12 @@ "strip-bom": "^3.0.0" } }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, "path-type": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", @@ -5301,19 +4565,28 @@ } }, "eslint-plugin-node": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-9.2.0.tgz", - "integrity": "sha512-2abNmzAH/JpxI4gEOwd6K8wZIodK3BmHbTxz4s79OIYwwIt2gkpEXlAouJXu4H1c9ySTnRso0tsuthSOZbUMlA==", + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-11.0.0.tgz", + "integrity": "sha512-chUs/NVID+sknFiJzxoN9lM7uKSOEta8GC8365hw1nDfwIPIjjpRSwwPvQanWv8dt/pDe9EV4anmVSwdiSndNg==", "dev": true, "requires": { - "eslint-plugin-es": "^1.4.1", - "eslint-utils": "^1.4.2", + "eslint-plugin-es": "^3.0.0", + "eslint-utils": "^2.0.0", "ignore": "^5.1.1", "minimatch": "^3.0.4", "resolve": "^1.10.1", "semver": "^6.1.0" }, "dependencies": { + "eslint-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.0.0.tgz", + "integrity": "sha512-0HCPuJv+7Wv1bACm8y5/ECVfYdfsAm9xmVb7saeFlxjPYALefjhbYoCkBjPdPzGH8wWyTpAez82Fh3VKYEZ8OA==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^1.1.0" + } + }, "ignore": { "version": "5.1.4", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.4.tgz", @@ -5335,20 +4608,21 @@ "dev": true }, "eslint-plugin-react": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.16.0.tgz", - "integrity": "sha512-GacBAATewhhptbK3/vTP09CbFrgUJmBSaaRcWdbQLFvUZy9yVcQxigBNHGPU/KE2AyHpzj3AWXpxoMTsIDiHug==", + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.18.3.tgz", + "integrity": "sha512-Bt56LNHAQCoou88s8ViKRjMB2+36XRejCQ1VoLj716KI1MoE99HpTVvIThJ0rvFmG4E4Gsq+UgToEjn+j044Bg==", "dev": true, "requires": { - "array-includes": "^3.0.3", + "array-includes": "^3.1.1", "doctrine": "^2.1.0", "has": "^1.0.3", - "jsx-ast-utils": "^2.2.1", - "object.entries": "^1.1.0", - "object.fromentries": "^2.0.0", - "object.values": "^1.1.0", + "jsx-ast-utils": "^2.2.3", + "object.entries": "^1.1.1", + "object.fromentries": "^2.0.2", + "object.values": "^1.1.1", "prop-types": "^15.7.2", - "resolve": "^1.12.0" + "resolve": "^1.14.2", + "string.prototype.matchall": "^4.0.2" }, "dependencies": { "doctrine": { @@ -5379,12 +4653,12 @@ } }, "eslint-utils": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.2.tgz", - "integrity": "sha512-eAZS2sEUMlIeCjBeubdj45dmBHQwPHWyBcT1VSYB7o9x9WRRqKxyUoiXlRjyAwzN7YEzHJlYg0NmzDRWx6GP4Q==", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", + "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", "dev": true, "requires": { - "eslint-visitor-keys": "^1.0.0" + "eslint-visitor-keys": "^1.1.0" } }, "eslint-visitor-keys": { @@ -5394,13 +4668,13 @@ "dev": true }, "espree": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/espree/-/espree-6.1.2.tgz", - "integrity": "sha512-2iUPuuPP+yW1PZaMSDM9eyVf8D5P0Hi8h83YtZ5bPc/zHYjII5khoixIUTMO794NOY8F/ThF1Bo8ncZILarUTA==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.0.tgz", + "integrity": "sha512-Xs8airJ7RQolnDIbLtRutmfvSsAe0xqMMAantCN/GMoqf81TFbeI1T7Jpd56qYu1uuh32dOG5W/X9uO+ghPXzA==", "dev": true, "requires": { "acorn": "^7.1.0", - "acorn-jsx": "^5.1.0", + "acorn-jsx": "^5.2.0", "eslint-visitor-keys": "^1.1.0" } }, @@ -5411,9 +4685,9 @@ "dev": true }, "esquery": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz", - "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.1.0.tgz", + "integrity": "sha512-MxYW9xKmROWF672KqjO75sszsA8Mxhw06YFeS5VHlB98KDHbOSurm3ArsjO60Eaf3QmGMCP1yn+0JQkNLo/97Q==", "dev": true, "requires": { "estraverse": "^4.0.0" @@ -5453,9 +4727,9 @@ "dev": true }, "events": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.0.0.tgz", - "integrity": "sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.1.0.tgz", + "integrity": "sha512-Rv+u8MLHNOdMjTAFeT3nCjHn2aGlx435FP/sDHNaRhDEMwyI/aB22Kj2qIN8R0cw3z28psEQLYwxVKLsKrMgWg==", "dev": true }, "eventsource": { @@ -5490,6 +4764,51 @@ "p-finally": "^1.0.0", "signal-exit": "^3.0.0", "strip-eof": "^1.0.0" + }, + "dependencies": { + "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" + } + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "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=", + "dev": true + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } } }, "expand-brackets": { @@ -5533,6 +4852,12 @@ "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=", + "dev": true } } }, @@ -5625,6 +4950,12 @@ "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", "dev": true }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, "path-to-regexp": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", @@ -5687,9 +5018,9 @@ } }, "ext": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ext/-/ext-1.2.1.tgz", - "integrity": "sha512-x+OKKC57tNiLhDW26UmWtvQBpvO+2wxdC/A0jP7RkmjAc4gze9/U98hQyIYJUzo9A+o9ntMHpC+LH3pWMSbrVQ==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.4.0.tgz", + "integrity": "sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==", "dev": true, "requires": { "type": "^2.0.0" @@ -5826,13 +5157,23 @@ "requires": { "lodash": "^4.17.14" } + }, + "schema-utils": { + "version": "0.4.7", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz", + "integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-keywords": "^3.1.0" + } } } }, "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=", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", + "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==", "dev": true }, "fast-glob": { @@ -5850,9 +5191,9 @@ } }, "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=", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", "dev": true }, "fast-levenshtein": { @@ -5877,11 +5218,12 @@ } }, "fbjs": { - "version": "0.8.17", - "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.17.tgz", - "integrity": "sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90=", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-1.0.0.tgz", + "integrity": "sha512-MUgcMEJaFhCaF1QtWGnmq9ZDRAzECTCRAF7O6UZIlAlkTs1SasiX9aP0Iw7wfD2mJ7wDTNfg2w7u5fSCwJk1OA==", "requires": { - "core-js": "^1.0.0", + "core-js": "^2.4.1", + "fbjs-css-vars": "^1.0.0", "isomorphic-fetch": "^2.1.1", "loose-envify": "^1.0.0", "object-assign": "^4.1.0", @@ -5891,12 +5233,17 @@ }, "dependencies": { "ua-parser-js": { - "version": "0.7.20", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.20.tgz", - "integrity": "sha512-8OaIKfzL5cpx8eCMAhhvTlft8GYF8b2eQr6JkCyVdrgjcytyOmPCXrqXFcUnhonRpLlh5yxEZVohm6mzaowUOw==" + "version": "0.7.21", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.21.tgz", + "integrity": "sha512-+O8/qh/Qj8CgC6eYBVBykMrNtp5Gebn4dlGD/kKXVkJNDwyrAwSIqwz8CDf+tsAIWVycKcku6gIXJ0qwx/ZXaQ==" } } }, + "fbjs-css-vars": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz", + "integrity": "sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ==" + }, "figgy-pudding": { "version": "3.5.1", "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz", @@ -5904,9 +5251,9 @@ "dev": true }, "figures": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.1.0.tgz", - "integrity": "sha512-ravh8VRXqHuMvZt/d8GblBeqDMkdJMBdv/2KntFH+ra5MXkO7nxNKpzQ3n6QD/2da1kH0aWmNISdvhM7gl2gVg==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", "dev": true, "requires": { "escape-string-regexp": "^1.0.5" @@ -5950,6 +5297,13 @@ "integrity": "sha512-uzk64HRpUZyTGZtVuvrjP0FYxzQrBf4rojot6J65YMEbwBLB0CWm0CLojVpwpmFmxcE/lkvYICgfcGozbBq6rw==", "dev": true }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "dev": true, + "optional": true + }, "fill-range": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", @@ -5996,6 +5350,12 @@ "requires": { "ms": "2.0.0" } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true } } }, @@ -6074,6 +5434,11 @@ "requires": { "ms": "2.0.0" } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" } } }, @@ -6201,6 +5566,15 @@ "universalify": "^0.1.0" } }, + "fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, "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", @@ -6220,14 +5594,15 @@ "dev": true }, "fsevents": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.9.tgz", - "integrity": "sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==", + "version": "1.2.11", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.11.tgz", + "integrity": "sha512-+ux3lx6peh0BpvY0JebGyZoiR4D+oYzdPZMKJwkZ+sFkNJzpL7tXc/wehS49gUAxg3tmMHPHZkA8JU2rhhgDHw==", "dev": true, "optional": true, "requires": { + "bindings": "^1.5.0", "nan": "^2.12.1", - "node-pre-gyp": "^0.12.0" + "node-pre-gyp": "*" }, "dependencies": { "abbrev": { @@ -6275,7 +5650,7 @@ } }, "chownr": { - "version": "1.1.1", + "version": "1.1.3", "bundled": true, "dev": true, "optional": true @@ -6305,7 +5680,7 @@ "optional": true }, "debug": { - "version": "4.1.1", + "version": "3.2.6", "bundled": true, "dev": true, "optional": true, @@ -6332,12 +5707,12 @@ "optional": true }, "fs-minipass": { - "version": "1.2.5", + "version": "1.2.7", "bundled": true, "dev": true, "optional": true, "requires": { - "minipass": "^2.2.1" + "minipass": "^2.6.0" } }, "fs.realpath": { @@ -6363,7 +5738,7 @@ } }, "glob": { - "version": "7.1.3", + "version": "7.1.6", "bundled": true, "dev": true, "optional": true, @@ -6392,7 +5767,7 @@ } }, "ignore-walk": { - "version": "3.0.1", + "version": "3.0.3", "bundled": true, "dev": true, "optional": true, @@ -6411,7 +5786,7 @@ } }, "inherits": { - "version": "2.0.3", + "version": "2.0.4", "bundled": true, "dev": true, "optional": true @@ -6453,7 +5828,7 @@ "optional": true }, "minipass": { - "version": "2.3.5", + "version": "2.9.0", "bundled": true, "dev": true, "optional": true, @@ -6463,12 +5838,12 @@ } }, "minizlib": { - "version": "1.2.1", + "version": "1.3.3", "bundled": true, "dev": true, "optional": true, "requires": { - "minipass": "^2.2.1" + "minipass": "^2.9.0" } }, "mkdirp": { @@ -6481,24 +5856,24 @@ } }, "ms": { - "version": "2.1.1", + "version": "2.1.2", "bundled": true, "dev": true, "optional": true }, "needle": { - "version": "2.3.0", + "version": "2.4.0", "bundled": true, "dev": true, "optional": true, "requires": { - "debug": "^4.1.0", + "debug": "^3.2.6", "iconv-lite": "^0.4.4", "sax": "^1.2.4" } }, "node-pre-gyp": { - "version": "0.12.0", + "version": "0.14.0", "bundled": true, "dev": true, "optional": true, @@ -6512,7 +5887,7 @@ "rc": "^1.2.7", "rimraf": "^2.6.1", "semver": "^5.3.0", - "tar": "^4" + "tar": "^4.4.2" } }, "nopt": { @@ -6526,13 +5901,22 @@ } }, "npm-bundled": { - "version": "1.0.6", + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "npm-normalize-package-bin": "^1.0.1" + } + }, + "npm-normalize-package-bin": { + "version": "1.0.1", "bundled": true, "dev": true, "optional": true }, "npm-packlist": { - "version": "1.4.1", + "version": "1.4.7", "bundled": true, "dev": true, "optional": true, @@ -6603,7 +5987,7 @@ "optional": true }, "process-nextick-args": { - "version": "2.0.0", + "version": "2.0.1", "bundled": true, "dev": true, "optional": true @@ -6644,7 +6028,7 @@ } }, "rimraf": { - "version": "2.6.3", + "version": "2.7.1", "bundled": true, "dev": true, "optional": true, @@ -6671,7 +6055,7 @@ "optional": true }, "semver": { - "version": "5.7.0", + "version": "5.7.1", "bundled": true, "dev": true, "optional": true @@ -6724,18 +6108,18 @@ "optional": true }, "tar": { - "version": "4.4.8", + "version": "4.4.13", "bundled": true, "dev": true, "optional": true, "requires": { "chownr": "^1.1.1", "fs-minipass": "^1.2.5", - "minipass": "^2.3.4", - "minizlib": "^1.1.1", + "minipass": "^2.8.6", + "minizlib": "^1.2.1", "mkdirp": "^0.5.0", "safe-buffer": "^5.1.2", - "yallist": "^3.0.2" + "yallist": "^3.0.3" } }, "util-deprecate": { @@ -6760,7 +6144,7 @@ "optional": true }, "yallist": { - "version": "3.0.3", + "version": "3.1.1", "bundled": true, "dev": true, "optional": true @@ -6770,8 +6154,7 @@ "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" }, "functional-red-black-tree": { "version": "1.0.1", @@ -6779,6 +6162,12 @@ "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", "dev": true }, + "gensync": { + "version": "1.0.0-beta.1", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz", + "integrity": "sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==", + "dev": true + }, "get-caller-file": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", @@ -6801,9 +6190,9 @@ "dev": true }, "glob": { - "version": "7.1.4", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", - "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -6860,6 +6249,15 @@ "kind-of": "^6.0.2", "which": "^1.3.1" } + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } } } }, @@ -6874,6 +6272,17 @@ "ini": "^1.3.4", "is-windows": "^1.0.1", "which": "^1.2.14" + }, + "dependencies": { + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } } }, "globals": { @@ -6921,9 +6330,9 @@ } }, "graceful-fs": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.2.tgz", - "integrity": "sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", + "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==", "dev": true }, "growly": { @@ -6947,7 +6356,6 @@ "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" } @@ -6983,10 +6391,9 @@ "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 + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==" }, "has-value": { "version": "1.0.0", @@ -7083,9 +6490,9 @@ } }, "hoist-non-react-statics": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz", - "integrity": "sha512-wbg3bpgA/ZqWrZuMOeJi8+SKMhr7X9TesL/rXMjTzh0p0JUBo3II8DHboYbuIXWRlttrUFxwcu/5kygrCw8fJw==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", "requires": { "react-is": "^16.7.0" } @@ -7100,9 +6507,9 @@ } }, "hosted-git-info": { - "version": "2.8.4", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.4.tgz", - "integrity": "sha512-pzXIvANXEFrc5oFFXRMkbLPQ2rXRoDERwDLyrcUxGhaZhgP54BBSl9Oheh7Vv0T090cszWBxPjkQQ5Sq1PbBRQ==", + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", + "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", "dev": true }, "hpack.js": { @@ -7178,9 +6585,9 @@ } }, "html-to-draftjs": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/html-to-draftjs/-/html-to-draftjs-1.4.0.tgz", - "integrity": "sha1-ijy7ultJ1QvozoXMCLES1b8A/B0=" + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/html-to-draftjs/-/html-to-draftjs-1.5.0.tgz", + "integrity": "sha512-kggLXBNciKDwKf+KYsuE+V5gw4dZ7nHyGMX9m0wy7urzWjKGWyNFetmArRLvRV0VrxKN70WylFsJvMTJx02OBQ==" }, "htmlparser2": { "version": "3.10.1", @@ -7197,9 +6604,9 @@ }, "dependencies": { "readable-stream": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz", - "integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", "dev": true, "requires": { "inherits": "^2.0.3", @@ -7265,18 +6672,18 @@ }, "dependencies": { "eventemitter3": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz", - "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.0.tgz", + "integrity": "sha512-qerSRB0p+UDEssxTtm6EDKcE7W4OaoisfIMl4CngyEhjpYglocpNg6UEqCvemdGhosAsg4sO2dXJOdyBifPGCg==", "dev": true }, "http-proxy": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.17.0.tgz", - "integrity": "sha512-Taqn+3nNvYRfJ3bGvKfBSRwy1v6eePlm3oc/aWVxZp57DQr5Eq3xhKJi7Z4hZpS8PC3H4qI+Yly5EmFacGuA/g==", + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.0.tgz", + "integrity": "sha512-84I2iJM/n1d4Hdgc6y2+qY5mDaz2PUVjlg9znE9byl+q0uC3DeByqBGReQu5tpLK0TAqTIXScRUV+dg7+bUPpQ==", "dev": true, "requires": { - "eventemitter3": "^3.0.0", + "eventemitter3": "^4.0.0", "follow-redirects": "^1.0.0", "requires-port": "^1.0.0" } @@ -7469,9 +6876,9 @@ } }, "p-limit": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz", - "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.2.tgz", + "integrity": "sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ==", "dev": true, "requires": { "p-try": "^2.0.0" @@ -7515,6 +6922,12 @@ "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", "dev": true }, + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true + }, "indexes-of": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", @@ -7556,23 +6969,23 @@ "dev": true }, "inquirer": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.0.0.tgz", - "integrity": "sha512-rSdC7zelHdRQFkWnhsMu2+2SO41mpv2oF2zy4tMhmiLWkcKbOAs87fWAJhVXttKVwhdZvymvnuM95EyEXg2/tQ==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.0.6.tgz", + "integrity": "sha512-7SVO4h+QIdMq6XcqIqrNte3gS5MzCCKZdsq9DO4PJziBFNYzP3PGFbDjgadDb//MCahzgjCxvQ/O2wa7kx9o4w==", "dev": true, "requires": { "ansi-escapes": "^4.2.1", - "chalk": "^2.4.2", + "chalk": "^3.0.0", "cli-cursor": "^3.1.0", "cli-width": "^2.0.0", "external-editor": "^3.0.3", "figures": "^3.0.0", "lodash": "^4.17.15", "mute-stream": "0.0.8", - "run-async": "^2.2.0", - "rxjs": "^6.4.0", + "run-async": "^2.4.0", + "rxjs": "^6.5.3", "string-width": "^4.1.0", - "strip-ansi": "^5.1.0", + "strip-ansi": "^6.0.0", "through": "^2.3.6" }, "dependencies": { @@ -7582,10 +6995,45 @@ "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", "dev": true }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, "is-fullwidth-code-point": { @@ -7595,9 +7043,9 @@ "dev": true }, "rxjs": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz", - "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==", + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz", + "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==", "dev": true, "requires": { "tslib": "^1.9.0" @@ -7612,34 +7060,24 @@ "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.0" - }, - "dependencies": { - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.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==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", "dev": true, "requires": { - "ansi-regex": "^4.1.0" - }, - "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-regex": "^5.0.0" + } + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" } } } @@ -7654,6 +7092,17 @@ "ipaddr.js": "^1.9.0" } }, + "internal-slot": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.2.tgz", + "integrity": "sha512-2cQNfwhAfJIkU4KZPkDI+Gj5yNNnbqi40W9Gge6dfnk4TocEVm00B3bdiL+JINrbGJil2TeHvM4rETGzk/f/0g==", + "dev": true, + "requires": { + "es-abstract": "^1.17.0-next.1", + "has": "^1.0.3", + "side-channel": "^1.0.2" + } + }, "interpret": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz", @@ -7664,6 +7113,7 @@ "version": "2.2.4", "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dev": true, "requires": { "loose-envify": "^1.0.0" } @@ -7687,9 +7137,9 @@ "dev": true }, "ipaddr.js": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.0.tgz", - "integrity": "sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA==", + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", "dev": true }, "is-absolute-url": { @@ -7721,8 +7171,7 @@ "is-arguments": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz", - "integrity": "sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA==", - "dev": true + "integrity": "sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA==" }, "is-arrayish": { "version": "0.2.1", @@ -7746,10 +7195,9 @@ "dev": true }, "is-callable": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", - "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==", - "dev": true + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz", + "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==" }, "is-color-stop": { "version": "1.1.0", @@ -7786,10 +7234,9 @@ } }, "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 + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", + "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==" }, "is-descriptor": { "version": "0.1.6", @@ -7876,9 +7323,9 @@ } }, "is-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", "dev": true }, "is-path-cwd": { @@ -7921,12 +7368,11 @@ "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, + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", + "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", "requires": { - "has": "^1.0.1" + "has": "^1.0.3" } }, "is-resolvable": { @@ -7940,6 +7386,12 @@ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" }, + "is-string": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", + "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==", + "dev": true + }, "is-svg": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-3.0.0.tgz", @@ -7950,12 +7402,11 @@ } }, "is-symbol": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz", - "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==", - "dev": true, + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", + "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", "requires": { - "has-symbols": "^1.0.0" + "has-symbols": "^1.0.1" } }, "is-utf8": { @@ -8003,16 +7454,37 @@ "whatwg-fetch": ">=0.10.0" } }, + "jest-worker": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.1.0.tgz", + "integrity": "sha512-ZHhHtlxOWSxCoNOKHGbiLzXnl42ga9CxDr27H36Qn+15pQZd3R/F24jrmjDelw9j/iHUIWMWs08/u2QN50HHOg==", + "dev": true, + "requires": { + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, "jquery": { "version": "3.4.1", "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.4.1.tgz", - "integrity": "sha512-36+AdBzCL+y6qjw5Tx7HgzeGCzC81MDDgaUP8ld2zhx58HdqXGoBd+tHdrBMiyjGQs0Hxs/MLZTu/eHNJJuWPw==" - }, - "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 + "integrity": "sha512-36+AdBzCL+y6qjw5Tx7HgzeGCzC81MDDgaUP8ld2zhx58HdqXGoBd+tHdrBMiyjGQs0Hxs/MLZTu/eHNJJuWPw==" }, "js-tokens": { "version": "4.0.0", @@ -8102,15 +7574,15 @@ "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==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true }, "laravel-mix": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/laravel-mix/-/laravel-mix-4.1.4.tgz", - "integrity": "sha512-fpFNpPyYAdeZ5mozlKbHpw+tCiRFUCCdSsK/D2+yYhlyIEbzPcAe4ar5cjeT33TnDNiKXSS42cB58yUSW5Y5tg==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/laravel-mix/-/laravel-mix-5.0.1.tgz", + "integrity": "sha512-Ccs+VcxJj+FJ6hiMVwboqP1LLLCUA4fa8BrgqFBwK9XJuf/4r+5LEPYurvRGhizjUEybCb4ty/2u+mfEY4YvtA==", "dev": true, "requires": { "@babel/core": "^7.2.0", @@ -8143,9 +7615,9 @@ "postcss-loader": "^3.0.0", "style-loader": "^0.23.1", "terser": "^3.11.0", - "terser-webpack-plugin": "^1.2.2", + "terser-webpack-plugin": "^2.2.3", "vue-loader": "^15.4.2", - "webpack": "^4.27.1", + "webpack": "^4.36.1", "webpack-cli": "^3.1.2", "webpack-dev-server": "^3.1.14", "webpack-merge": "^4.1.0", @@ -8248,9 +7720,9 @@ } }, "p-limit": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz", - "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.2.tgz", + "integrity": "sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ==", "dev": true, "requires": { "p-try": "^2.0.0" @@ -8353,6 +7825,21 @@ "invert-kv": "^1.0.0" } }, + "leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true + }, + "levenary": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/levenary/-/levenary-1.1.1.tgz", + "integrity": "sha512-mkAdOIt79FD6irqjYSs4rdbnlT5vRonMEvBVPVb3XmevfS8kgRXwfes0dhPdEtzTWD/1eNE/Bm/G1iRt6DcnQQ==", + "dev": true, + "requires": { + "leven": "^3.1.0" + } + }, "levn": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", @@ -8364,9 +7851,9 @@ } }, "limiter": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/limiter/-/limiter-1.1.4.tgz", - "integrity": "sha512-XCpr5bElgDI65vVgstP8TWjv6/QKWm9GU5UG0Pr5sLQ3QLo8NVKsioe+Jed5/3vFOe3IQuqE7DKwTvKQkjTHvg==", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/limiter/-/limiter-1.1.5.tgz", + "integrity": "sha512-FWWMIEOxz3GwUI4Ts/IvgVy6LPvoMPgjMdQ185nN6psJyBJ4yOpzqm695/h5umdLJg2vW3GR5iG11MAkR2AzJA==", "dev": true }, "linkify-it": { @@ -8407,13 +7894,13 @@ "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==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", "dev": true, "requires": { "big.js": "^5.2.2", - "emojis-list": "^2.0.0", + "emojis-list": "^3.0.0", "json5": "^1.0.1" } }, @@ -8429,6 +7916,22 @@ "yargs": "6.6.0" }, "dependencies": { + "axios": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.19.0.tgz", + "integrity": "sha512-1uvKqKQta3KBxIz14F2v06AEHZ/dIoeKfbTRkK1E5oqjDnuEerLmYTgJB5AiQZHJcljpg1TuRzdjDR06qNk0DQ==", + "dev": true, + "requires": { + "follow-redirects": "1.5.10", + "is-buffer": "^2.0.2" + } + }, + "is-buffer": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz", + "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==", + "dev": true + }, "yargs": { "version": "6.6.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz", @@ -8494,9 +7997,9 @@ "dev": true }, "loglevel": { - "version": "1.6.4", - "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.4.tgz", - "integrity": "sha512-p0b6mOGKcGa+7nnmKbpzR6qloPbrgLcnio++E+14Vo/XffOGwZtRpUhr8dTH/x2oCMmEoIU0Zwm3ZauhvYD17g==", + "version": "1.6.7", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.7.tgz", + "integrity": "sha512-cY2eLFrQSAfVPhCgH1s7JI73tMbg9YC3v3+ZHVW67sBS7UxWzNEk/ZBbSfLykBWHp33dqqtOv82gjhKEi81T/A==", "dev": true }, "loose-envify": { @@ -8520,6 +8023,14 @@ "dev": true, "requires": { "yallist": "^3.0.2" + }, + "dependencies": { + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + } } }, "make-dir": { @@ -8613,14 +8124,6 @@ "map-age-cleaner": "^0.1.1", "mimic-fn": "^2.0.0", "p-is-promise": "^2.0.0" - }, - "dependencies": { - "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 - } } }, "memory-fs": { @@ -8656,6 +8159,12 @@ } } }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, "merge2": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.3.0.tgz", @@ -8706,18 +8215,18 @@ "dev": true }, "mime-db": { - "version": "1.40.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz", - "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==", + "version": "1.43.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.43.0.tgz", + "integrity": "sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ==", "dev": true }, "mime-types": { - "version": "2.1.24", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz", - "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==", + "version": "2.1.26", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.26.tgz", + "integrity": "sha512-01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ==", "dev": true, "requires": { - "mime-db": "1.40.0" + "mime-db": "1.43.0" } }, "mimic-fn": { @@ -8763,6 +8272,42 @@ "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", "dev": true }, + "minipass": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.1.tgz", + "integrity": "sha512-UFqVihv6PQgwj8/yTGvl9kPz7xIAY+R5z6XYjRInD3Gk3qx6QGSD6zEcpeG4Dy/lQnv1J6zv8ejV90hyYIKf3w==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "minipass-collect": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", + "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "minipass-flush": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", + "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "minipass-pipeline": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.2.tgz", + "integrity": "sha512-3JS5A2DKhD2g0Gg8x3yamO0pj7YeKGwVlDS90pF++kxptwx/F+B//roxf9SqYil5tQo65bijy+dAuAFZmYOouA==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, "mississippi": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", @@ -8782,9 +8327,9 @@ } }, "mitt": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/mitt/-/mitt-1.1.3.tgz", - "integrity": "sha512-mUDCnVNsAi+eD6qA0HkRkwYczbLHJ49z17BGe2PYRhZL4wpZUFZGJHU7/5tmvohoma+Hdn0Vh/oJTiPEmgSruA==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mitt/-/mitt-1.2.0.tgz", + "integrity": "sha512-r6lj77KlwqLhIUku9UWYes7KJtsczvolZkzp8hbaDPPaE24OmWl5s539Mytlj22siEQKosZ26qCBgda2PKwoJw==", "dev": true }, "mixin-deep": { @@ -8837,9 +8382,10 @@ } }, "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true }, "multicast-dns": { "version": "6.2.3", @@ -8938,9 +8484,9 @@ } }, "node-forge": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.8.2.tgz", - "integrity": "sha512-mXQ9GBq1N3uDCyV1pdSzgIguwgtVpM7f5/5J4ipz12PKWElmPpVWLDuWl8iXmhysr21+WmX/OJ5UKx82wjomgg==", + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.9.0.tgz", + "integrity": "sha512-7ASaDa3pD+lJ3WvXFsxekJQelBKRpne+GOVbLbtHYdd7pFspyeuJHnWfLplGf3SwKGbfs/aYl5V/JCIaHVUKKQ==", "dev": true }, "node-libs-browser": { @@ -8993,15 +8539,34 @@ "semver": "^5.5.0", "shellwords": "^0.1.1", "which": "^1.3.0" + }, + "dependencies": { + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } } }, "node-releases": { - "version": "1.1.32", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.32.tgz", - "integrity": "sha512-VhVknkitq8dqtWoluagsGPn3dxTvN9fwgR59fV3D7sLBHe0JfDramsMI8n8mY//ccq/Kkrf8ZRHRpsyVZ3qw1A==", + "version": "1.1.50", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.50.tgz", + "integrity": "sha512-lgAmPv9eYZ0bGwUYAKlr8MG6K4CvWliWqnkcT2P8mMAgVrH3lqfBPorFlxiG1pHQnqmavJZ9vbMXUTNyMLbrgQ==", "dev": true, "requires": { - "semver": "^5.3.0" + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } } }, "normalize-package-data": { @@ -9041,6 +8606,14 @@ "dev": true, "requires": { "path-key": "^2.0.0" + }, + "dependencies": { + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + } } }, "nth-check": { @@ -9107,28 +8680,25 @@ } }, "object-hash": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-1.3.1.tgz", - "integrity": "sha512-OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.0.3.tgz", + "integrity": "sha512-JPKn0GMu+Fa3zt3Bmr66JhokJU5BaNBIh4ZeTlaCBzrBsOeXzwcKKAK1tbLiPKgvwmPXsDvvLHoWh5Bm7ofIYg==", "dev": true }, "object-inspect": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.6.0.tgz", - "integrity": "sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ==", - "dev": true + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz", + "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==" }, "object-is": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.0.1.tgz", - "integrity": "sha1-CqYOyZiaCz7Xlc9NBvYs8a1lObY=", - "dev": true + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.0.2.tgz", + "integrity": "sha512-Epah+btZd5wrrfjkJZq1AOB9O6OxUQto45hzFd7lXGrpHPGE0W1k+426yrZV+k6NJOzLNNW/nVsmZdIWsAqoOQ==" }, "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 + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" }, "object-path": { "version": "0.9.2", @@ -9149,7 +8719,6 @@ "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", @@ -9158,80 +8727,37 @@ } }, "object.entries": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.0.tgz", - "integrity": "sha512-l+H6EQ8qzGRxbkHOd5I/aHRhHDKoQXQ8g0BYt4uSweQU1/J6dZUOyWh9a2Vky35YCKjzmgxOzta2hH6kf9HuXA==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.1.tgz", + "integrity": "sha512-ilqR7BgdyZetJutmDPfXCDffGa0/Yzl2ivVNpbx/g4UeWrCdRnFDUBrKJGLhGieRHDATnyZXWBeCb29k9CJysQ==", "dev": true, "requires": { "define-properties": "^1.1.3", - "es-abstract": "^1.12.0", + "es-abstract": "^1.17.0-next.1", "function-bind": "^1.1.1", "has": "^1.0.3" } }, "object.fromentries": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.1.tgz", - "integrity": "sha512-PUQv8Hbg3j2QX0IQYv3iAGCbGcu4yY4KQ92/dhA4sFSixBmSmp13UpDLs6jGK8rBtbmhNNIK99LD2k293jpiGA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.2.tgz", + "integrity": "sha512-r3ZiBH7MQppDJVLx6fhD618GKNG40CZYH9wgwdhKxBDDbQgjeWGGd4AtkZad84d291YxvWe7bJGuE65Anh0dxQ==", "dev": true, "requires": { "define-properties": "^1.1.3", - "es-abstract": "^1.15.0", + "es-abstract": "^1.17.0-next.1", "function-bind": "^1.1.1", "has": "^1.0.3" - }, - "dependencies": { - "es-abstract": { - "version": "1.16.2", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.16.2.tgz", - "integrity": "sha512-jYo/J8XU2emLXl3OLwfwtuFfuF2w6DYPs+xy9ZfVyPkDcrauu6LYrw/q2TyCtrbc/KUdCiC5e9UajRhgNkVopA==", - "dev": true, - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.1.4", - "is-regex": "^1.0.4", - "object-inspect": "^1.7.0", - "object-keys": "^1.1.1", - "string.prototype.trimleft": "^2.1.0", - "string.prototype.trimright": "^2.1.0" - } - }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "has-symbols": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", - "dev": true - }, - "object-inspect": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz", - "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==", - "dev": true - } } }, "object.getownpropertydescriptors": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz", - "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz", + "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==", "dev": true, "requires": { - "define-properties": "^1.1.2", - "es-abstract": "^1.5.1" + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" } }, "object.omit": { @@ -9264,13 +8790,13 @@ } }, "object.values": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.0.tgz", - "integrity": "sha512-8mf0nKLAoFX6VlNVdhGj31SVYpaNFtUnuoOXWyFEstsWRgU837AK+JYM0iAxwkSzGRbwn8cbFmgbyxj1j4VbXg==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.1.tgz", + "integrity": "sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA==", "dev": true, "requires": { "define-properties": "^1.1.3", - "es-abstract": "^1.12.0", + "es-abstract": "^1.17.0-next.1", "function-bind": "^1.1.1", "has": "^1.0.3" } @@ -9420,10 +8946,13 @@ } }, "p-map": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", - "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", - "dev": true + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", + "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", + "dev": true, + "requires": { + "aggregate-error": "^3.0.0" + } }, "p-pipe": { "version": "1.2.0", @@ -9447,9 +8976,9 @@ "dev": true }, "pako": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.10.tgz", - "integrity": "sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw==", + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", "dev": true }, "parallel-transform": { @@ -9482,9 +9011,9 @@ } }, "parse-asn1": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.4.tgz", - "integrity": "sha512-Qs5duJcuvNExRfFZ99HDD3z4mAi3r9Wl/FOjEOijlxwCZs7E7mW2vjTpgQ4J8LpTF8x5v+1Vn5UQFejmWT11aw==", + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.5.tgz", + "integrity": "sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ==", "dev": true, "requires": { "asn1.js": "^4.0.0", @@ -9574,9 +9103,9 @@ "dev": true }, "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true }, "path-parse": { @@ -9655,28 +9184,37 @@ } }, "popper.js": { - "version": "1.16.0", - "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.0.tgz", - "integrity": "sha512-+G+EkOPoE5S/zChTpmBSSDYmhXJ5PsW8eMhH8cP/CQHMFPBG/kC9Y5IIw6qNYgdJ+/COf0ddY2li28iHaZRSjw==" + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1.tgz", + "integrity": "sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ==" }, "portfinder": { - "version": "1.0.24", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.24.tgz", - "integrity": "sha512-ekRl7zD2qxYndYflwiryJwMioBI7LI7rVXg3EnLK3sjkouT5eOuhS3gS255XxBksa30VG8UPZYZCdgfGOfkSUg==", + "version": "1.0.25", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.25.tgz", + "integrity": "sha512-6ElJnHBbxVA1XSLgBp7G1FiCkQdlqGzuF7DswL5tcea+E8UpuvPU7beVAjjRwCioTS9ZluNbu+ZyRvgTsmqEBg==", "dev": true, "requires": { - "async": "^1.5.2", - "debug": "^2.2.0", - "mkdirp": "0.5.x" + "async": "^2.6.2", + "debug": "^3.1.1", + "mkdirp": "^0.5.1" }, "dependencies": { + "async": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "dev": true, + "requires": { + "lodash": "^4.17.14" + } + }, "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "dev": true, "requires": { - "ms": "2.0.0" + "ms": "^2.1.1" } } } @@ -9698,9 +9236,9 @@ "dev": true }, "postcss": { - "version": "7.0.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.18.tgz", - "integrity": "sha512-/7g1QXXgegpF+9GJj4iN7ChGF40sYuGYJ8WZu8DZWnmhQ/G36hfdk3q9LBJmoK+lZ+yzZ5KYpOoxq7LF1BxE8g==", + "version": "7.0.27", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.27.tgz", + "integrity": "sha512-WuQETPMcW9Uf1/22HWUWP9lgsIC+KEHg2kozMflKjbeUtw9ujvFX6QmIfozaErDkmLWS9WEnEdEe6Uo9/BNTdQ==", "dev": true, "requires": { "chalk": "^2.4.2", @@ -9726,22 +9264,26 @@ } }, "postcss-calc": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.1.tgz", - "integrity": "sha512-oXqx0m6tb4N3JGdmeMSc/i91KppbYsFZKdH0xMOqK8V1rJlzrKlTdokz8ozUXLVejydRN6u2IddxpcijRj2FqQ==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.2.tgz", + "integrity": "sha512-rofZFHUg6ZIrvRwPeFktv06GdbDYLcGqh9EwiMutZg+a0oePCCw1zHOEiji6LCpyRcjTREtPASuUqeAvYlEVvQ==", "dev": true, "requires": { - "css-unit-converter": "^1.1.1", - "postcss": "^7.0.5", - "postcss-selector-parser": "^5.0.0-rc.4", - "postcss-value-parser": "^3.3.1" + "postcss": "^7.0.27", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.0.2" }, "dependencies": { - "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 + "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" + } } } }, @@ -9890,12 +9432,12 @@ }, "dependencies": { "postcss-selector-parser": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz", - "integrity": "sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU=", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", + "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", "dev": true, "requires": { - "dot-prop": "^4.1.1", + "dot-prop": "^5.2.0", "indexes-of": "^1.0.1", "uniq": "^1.0.1" } @@ -9975,12 +9517,12 @@ }, "dependencies": { "postcss-selector-parser": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz", - "integrity": "sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU=", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", + "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", "dev": true, "requires": { - "dot-prop": "^4.1.1", + "dot-prop": "^5.2.0", "indexes-of": "^1.0.1", "uniq": "^1.0.1" } @@ -10316,25 +9858,6 @@ } } }, - "postcss-selector-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", - "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", - "dev": true, - "requires": { - "cssesc": "^2.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - }, - "dependencies": { - "cssesc": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", - "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==", - "dev": true - } - } - }, "postcss-svgo": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.2.tgz", @@ -10367,9 +9890,9 @@ } }, "postcss-value-parser": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.0.2.tgz", - "integrity": "sha512-LmeoohTpp/K4UiyQCwuGWlONxXamGzCMtFxLq4W1nZVGIQLYvMCJx3yAF9qyyuFpflABI9yVdtJAqbihOsCsJQ==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.0.3.tgz", + "integrity": "sha512-N7h4pG+Nnu5BEIzyeaaIYWs0LI5XC40OrRh5L60z0QjFsqGWcHcbkBvpe1WYpcIS9yQ8sOi/vIPt1ejQCrMVrg==", "dev": true }, "prelude-ls": { @@ -10379,9 +9902,9 @@ "dev": true }, "prettier": { - "version": "1.16.3", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.16.3.tgz", - "integrity": "sha512-kn/GU6SMRYPxUakNXhpP0EedT/KmaPzr0H5lIsDogrykbaxOpOfAFfk5XA7DZrJyMAv1wlMV3CPcZruGXVVUZw==", + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", + "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==", "dev": true }, "private": { @@ -10433,13 +9956,13 @@ } }, "proxy-addr": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.5.tgz", - "integrity": "sha512-t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ==", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", + "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==", "dev": true, "requires": { "forwarded": "~0.1.2", - "ipaddr.js": "1.9.0" + "ipaddr.js": "1.9.1" } }, "prr": { @@ -10575,9 +10098,9 @@ } }, "react": { - "version": "16.12.0", - "resolved": "https://registry.npmjs.org/react/-/react-16.12.0.tgz", - "integrity": "sha512-fglqy3k5E+81pA8s+7K0/T3DBCF0ZDOher1elBFzF7O6arXJgzyu/FW+COxFvAWXJoJN9KIZbT2LXlukwphYTA==", + "version": "16.13.0", + "resolved": "https://registry.npmjs.org/react/-/react-16.13.0.tgz", + "integrity": "sha512-TSavZz2iSLkq5/oiE7gnFzmURKZMltmi193rm5HEoUDAXpzT9Kzw6oNZnGoai/4+fUnm7FqS5dwgUL34TujcWQ==", "requires": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1", @@ -10594,32 +10117,32 @@ } }, "react-dom": { - "version": "16.12.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.12.0.tgz", - "integrity": "sha512-LMxFfAGrcS3kETtQaCkTKjMiifahaMySFDn71fZUNpPHZQEzmk/GiAeIT8JSOrHB23fnuCOMruL2a8NYlw+8Gw==", + "version": "16.13.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.13.0.tgz", + "integrity": "sha512-y09d2c4cG220DzdlFkPTnVvGTszVvNpC73v+AaLGLHbkpy3SSgvYq8x0rNwPJ/Rk/CicTNgk0hbHNw1gMEZAXg==", "requires": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1", "prop-types": "^15.6.2", - "scheduler": "^0.18.0" + "scheduler": "^0.19.0" } }, "react-draft-wysiwyg": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/react-draft-wysiwyg/-/react-draft-wysiwyg-1.13.2.tgz", - "integrity": "sha512-qENNISR+bxO6G/ThTD6cai+LGrzkiGt6Fx9mqecJGPmyTIYVE5odsO7yEQVNBpZhgr5TvHAvwm3IoamcuFanDw==", + "version": "1.14.4", + "resolved": "https://registry.npmjs.org/react-draft-wysiwyg/-/react-draft-wysiwyg-1.14.4.tgz", + "integrity": "sha512-aV7pEc91tO4r0vv40f4NkWBZhC0PnmHvQBRVAo8egfHXOm5C6MvDhYysC4Aab219zir7GL79xIZh1hz0Z6sQLQ==", "requires": { - "classnames": "^2.2.5", - "draftjs-utils": "^0.9.3", - "html-to-draftjs": "^1.4.0", - "linkify-it": "^2.0.3", - "prop-types": "^15.6.0" + "classnames": "^2.2.6", + "draftjs-utils": "^0.10.2", + "html-to-draftjs": "^1.5.0", + "linkify-it": "^2.2.0", + "prop-types": "^15.7.2" } }, "react-is": { - "version": "16.9.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.9.0.tgz", - "integrity": "sha512-tJBzzzIgnnRfEm046qRcURvwQnZVXmuCbscxUO5RWrGTXpon2d4c8mI0D8WE6ydVIm29JiLB6+RslkIvym9Rjw==" + "version": "16.13.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.0.tgz", + "integrity": "sha512-GFMtL0vHkiBv9HluwNZTggSn/sCyEt9n02aM0dSAjGGyqyNlAyftYm4phPxdvCigG15JreC5biwxCgTAJZ7yAA==" }, "react-lifecycles-compat": { "version": "3.0.4", @@ -10635,12 +10158,13 @@ } }, "react-popper": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/react-popper/-/react-popper-1.3.6.tgz", - "integrity": "sha512-kLTfa9z8n+0jJvRVal9+vIuirg41rObg4Bbrvv/ZfsGPQDN9reyVVSxqnHF1ZNgXgV7x11PeUfd5ItF8DZnqhg==", + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/react-popper/-/react-popper-1.3.7.tgz", + "integrity": "sha512-nmqYTx7QVjCm3WUZLeuOomna138R1luC4EqkW3hxJUrAe+3eNz3oFCLYdnPwILfn0mX1Ew2c3wctrjlUMYYUww==", "requires": { "@babel/runtime": "^7.1.2", "create-react-context": "^0.3.0", + "deep-equal": "^1.1.1", "popper.js": "^1.14.4", "prop-types": "^15.6.1", "typed-styles": "^0.0.7", @@ -10648,13 +10172,12 @@ } }, "react-redux": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-7.1.3.tgz", - "integrity": "sha512-uI1wca+ECG9RoVkWQFF4jDMqmaw0/qnvaSvOoL/GA4dNxf6LoV8sUAcNDvE5NWKs4hFpn0t6wswNQnY3f7HT3w==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-7.2.0.tgz", + "integrity": "sha512-EvCAZYGfOLqwV7gh849xy9/pt55rJXPwmYvI4lilPM5rUT/1NxuuN59ipdBksRVSvz0KInbPnp4IfoXJXCqiDA==", "requires": { "@babel/runtime": "^7.5.5", "hoist-non-react-statics": "^3.3.0", - "invariant": "^2.2.4", "loose-envify": "^1.4.0", "prop-types": "^15.7.2", "react-is": "^16.9.0" @@ -10711,15 +10234,15 @@ } }, "reactstrap": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/reactstrap/-/reactstrap-8.1.1.tgz", - "integrity": "sha512-m4IIdTHBT5wtcPts4w4rYngKuqIUC1BpncVxCTeIj4BQDxwjdab0gGyKJKfgXgArn6iI6syiDyez/h2tLWFjsw==", + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/reactstrap/-/reactstrap-8.4.1.tgz", + "integrity": "sha512-oAjp9PYYUGKl7SLXwrQ1oRIrYw0MqfO2mUqYgGapFKHG2uwjEtLip5rYxtMujkGx3COjH5FX1WtcfNU4oqpH0Q==", "requires": { "@babel/runtime": "^7.2.0", "classnames": "^2.2.3", "prop-types": "^15.5.8", "react-lifecycles-compat": "^3.0.4", - "react-popper": "^1.3.3", + "react-popper": "^1.3.6", "react-transition-group": "^2.3.1" } }, @@ -10745,9 +10268,9 @@ } }, "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==", + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "dev": true, "requires": { "core-util-is": "~1.0.0", @@ -10799,9 +10322,9 @@ } }, "redux": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/redux/-/redux-4.0.4.tgz", - "integrity": "sha512-vKv4WdiJxOWKxK0yRoaK3Y4pxxB0ilzVx6dszU2W8wLxlb2yikRph4iV/ymtdJ6ZxpBLFbyrxklnT5yBbQSl3Q==", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/redux/-/redux-4.0.5.tgz", + "integrity": "sha512-VSz1uMAH24DM6MF72vcojpYPtrTUu3ByVWfPL1nPfVRb5mZVTve5GnNCUV53QM/BZ66xfWrm0CTWoM+Xlz8V1w==", "requires": { "loose-envify": "^1.4.0", "symbol-observable": "^1.2.0" @@ -10845,17 +10368,18 @@ } }, "regenerator-runtime": { - "version": "0.13.3", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz", - "integrity": "sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw==" + "version": "0.13.4", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.4.tgz", + "integrity": "sha512-plpwicqEzfEyTQohIKktWigcLzmNStMGwbOUbykx51/29Z3JOGYldaaNGK7ngNXV+UcoqvIMmloZ48Sr74sd+g==" }, "regenerator-transform": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.1.tgz", - "integrity": "sha512-flVuee02C3FKRISbxhXl9mGzdbWUVHubl1SMaknjxkFB1/iqpJhArQUvRxOOPEc/9tAiX0BaQ28FJH10E4isSQ==", + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.2.tgz", + "integrity": "sha512-V4+lGplCM/ikqi5/mkkpJ06e9Bujq1NFmNLvsCs56zg3ZbzrnUzAtizZ24TXxtRX/W2jcdScwQCnbL0CICTFkQ==", "dev": true, "requires": { - "private": "^0.1.6" + "@babel/runtime": "^7.8.4", + "private": "^0.1.8" } }, "regex-not": { @@ -10875,12 +10399,12 @@ "dev": true }, "regexp.prototype.flags": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.2.0.tgz", - "integrity": "sha512-ztaw4M1VqgMwl9HlPpOuiYgItcHlunW0He2fE6eNfT6E/CF2FtYi9ofOYe4mKntstYk0Fyh/rDRBdS3AnxjlrA==", - "dev": true, + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz", + "integrity": "sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ==", "requires": { - "define-properties": "^1.1.2" + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" } }, "regexpp": { @@ -10910,9 +10434,9 @@ "dev": true }, "regjsparser": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.0.tgz", - "integrity": "sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ==", + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.3.tgz", + "integrity": "sha512-8uZvYbnfAtEm9Ab8NTb3hdLwL4g/LQzEYP7Xs27T96abJCCE2d6r3cPZPQEsLKy0vRSGVNG+/zVGtLr86HQduA==", "dev": true, "requires": { "jsesc": "~0.5.0" @@ -10975,9 +10499,9 @@ "dev": true }, "resolve": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.12.0.tgz", - "integrity": "sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w==", + "version": "1.15.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.15.1.tgz", + "integrity": "sha512-84oo6ZTtoTUpjgNEr5SJyzQhzL72gaRodsSfyxC/AXRvwu0Yse9H8eF9IpGo7b8YetZhlI6v7ZQ6bKBFV/6S7w==", "dev": true, "requires": { "path-parse": "^1.0.6" @@ -11064,13 +10588,21 @@ "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true }, - "convert-source-map": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", - "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", + "emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", + "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": { - "safe-buffer": "~5.1.1" + "big.js": "^5.2.2", + "emojis-list": "^2.0.0", + "json5": "^1.0.1" } }, "postcss": { @@ -11119,6 +10651,12 @@ "requires": { "ms": "2.0.0" } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true } } }, @@ -11200,9 +10738,9 @@ } }, "run-async": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", - "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.0.tgz", + "integrity": "sha512-xJTbh/d7Lm7SBhc1tNvTpeCHaEzoyxPrqNlvSdMfBTYwaY++UJFyXUOxAtsRUXjlqOfj8luNaR9vjCh4KeV+pg==", "dev": true, "requires": { "is-promise": "^2.1.0" @@ -11261,33 +10799,27 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "sass": { - "version": "1.23.7", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.23.7.tgz", - "integrity": "sha512-cYgc0fanwIpi0rXisGxl+/wadVQ/HX3RhpdRcjLdj2o2ye/sxUTpAxIhbmJy3PLQgRFbf6Pn8Jsrta2vdXcoOQ==", + "version": "1.26.2", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.26.2.tgz", + "integrity": "sha512-9TRp1d1NH0mWH8rqaR/jCS05f/TFD1ykPF2zSYviprMhLb0EmXVqtKMUHsvDt3YIT/jbSK6qAvUlfCW/HJkdCw==", "dev": true, "requires": { "chokidar": ">=2.0.0 <4.0.0" } }, "sass-loader": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-7.3.1.tgz", - "integrity": "sha512-tuU7+zm0pTCynKYHpdqaPpe+MMTQ76I9TPZ7i4/5dZsigE350shQWe5EZNl5dBidM49TPET75tNqRbcsUZWeNA==", + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-8.0.2.tgz", + "integrity": "sha512-7o4dbSK8/Ol2KflEmSco4jTjQoV988bM82P9CZdmo9hR3RLnvNc0ufMNdMrB0caq38JQ/FgF4/7RcbcfKzxoFQ==", "dev": true, "requires": { "clone-deep": "^4.0.1", - "loader-utils": "^1.0.1", - "neo-async": "^2.5.0", - "pify": "^4.0.1", + "loader-utils": "^1.2.3", + "neo-async": "^2.6.1", + "schema-utils": "^2.6.1", "semver": "^6.3.0" }, "dependencies": { - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true - }, "semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", @@ -11303,22 +10835,22 @@ "dev": true }, "scheduler": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.18.0.tgz", - "integrity": "sha512-agTSHR1Nbfi6ulI0kYNK0203joW2Y5W4po4l+v03tOoiJKpTBbxpNhWDvqc/4IcOw+KLmSiQLTasZ4cab2/UWQ==", + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.19.0.tgz", + "integrity": "sha512-xowbVaTPe9r7y7RUejcK73/j8tt2jfiyTednOvHbA8JoClvMYCp+r8QegLwK/n8zWQAtZb1fFnER4XLBZXrCxA==", "requires": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1" } }, "schema-utils": { - "version": "0.4.7", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz", - "integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==", + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.6.4.tgz", + "integrity": "sha512-VNjcaUxVnEeun6B2fiiUDjXXBtD4ZSH7pdbfIu1pOFwgptDPLMo/z9jr4sUfsjFVPqDCEin/F7IYlq7/E6yDbQ==", "dev": true, "requires": { - "ajv": "^6.1.0", - "ajv-keywords": "^3.1.0" + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1" } }, "select-hose": { @@ -11328,12 +10860,12 @@ "dev": true }, "selfsigned": { - "version": "1.10.6", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.6.tgz", - "integrity": "sha512-i3+CeqxL7DpAazgVpAGdKMwHuL63B5nhJMh9NQ7xmChGkA3jNFflq6Jyo1LLJYcr3idWiNOPWHCrm4zMayLG4w==", + "version": "1.10.7", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.7.tgz", + "integrity": "sha512-8M3wBCzeWIJnQfl43IKwOmC4H/RAp50S8DF60znzjW5GVqTcSe2vWclt7hmYVPkKPlHWOu5EaWOMZ2Y6W8ZXTA==", "dev": true, "requires": { - "node-forge": "0.8.2" + "node-forge": "0.9.0" } }, "semver": { @@ -11390,6 +10922,12 @@ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", "dev": true }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, "setprototypeof": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", @@ -11405,9 +10943,9 @@ } }, "serialize-javascript": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.9.1.tgz", - "integrity": "sha512-0Vb/54WJ6k5v8sSWN09S0ora+Hnr+cX40r9F170nT+mSkaxltoE/7R3OrIdBSUv1OoiobH1QoWQbCnAO+e8J1A==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-2.1.2.tgz", + "integrity": "sha512-rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ==", "dev": true }, "serve-index": { @@ -11452,6 +10990,12 @@ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", "dev": true }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, "setprototypeof": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", @@ -11549,18 +11093,18 @@ "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=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, "requires": { - "shebang-regex": "^1.0.0" + "shebang-regex": "^3.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=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true }, "shellwords": { @@ -11569,6 +11113,16 @@ "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", "dev": true }, + "side-channel": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.2.tgz", + "integrity": "sha512-7rL9YlPHg7Ancea1S96Pa8/QWb4BtXL/TZvS6B8XFetGBeuhAsfmUspK6DokBeZ64+Kj9TCNRD/30pVz1BvQNA==", + "dev": true, + "requires": { + "es-abstract": "^1.17.0-next.1", + "object-inspect": "^1.7.0" + } + }, "signal-exit": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", @@ -11659,6 +11213,12 @@ "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=", + "dev": true } } }, @@ -11775,6 +11335,25 @@ "yeast": "0.1.2" } }, + "engine.io-parser": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.1.3.tgz", + "integrity": "sha512-6HXPre2O4Houl7c4g7Ic/XzPnHBvaEmN90vtRO9uLmwtRqQmTOw0QMevL1TOfL2Cpu1VzsaTmMotQgMdkzGkVA==", + "dev": true, + "requires": { + "after": "0.8.2", + "arraybuffer.slice": "~0.0.7", + "base64-arraybuffer": "0.1.5", + "blob": "0.0.5", + "has-binary2": "~1.0.2" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, "socket.io-client": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.1.1.tgz", @@ -11822,23 +11401,23 @@ } }, "socket.io-adapter": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-1.1.1.tgz", - "integrity": "sha1-KoBeihTWNyEk3ZFZrUUC+MsH8Gs=", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-1.1.2.tgz", + "integrity": "sha512-WzZRUj1kUjrTIrUKpZLEzFZ1OLj5FwLlAFQs9kuZJzJi5DKdU7FsWc36SNmA8iDOtwBQyT8FkrriRM8vXLYz8g==", "dev": true }, "socket.io-client": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.2.0.tgz", - "integrity": "sha512-56ZrkTDbdTLmBIyfFYesgOxsjcLnwAKoN4CiPyTVkMQj3zTUh0QAx3GbvIvLpFEOvQWu92yyWICxB0u7wkVbYA==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.3.0.tgz", + "integrity": "sha512-cEQQf24gET3rfhxZ2jJ5xzAOo/xhZwK+mOqtGRg5IowZsMgwvHwnf/mCRapAAkadhM26y+iydgwsXGObBB5ZdA==", "dev": true, "requires": { "backo2": "1.0.2", "base64-arraybuffer": "0.1.5", "component-bind": "1.0.0", "component-emitter": "1.2.1", - "debug": "~3.1.0", - "engine.io-client": "~3.3.1", + "debug": "~4.1.0", + "engine.io-client": "~3.4.0", "has-binary2": "~1.0.2", "has-cors": "1.1.0", "indexof": "0.0.1", @@ -11847,17 +11426,6 @@ "parseuri": "0.0.5", "socket.io-parser": "~3.3.0", "to-array": "0.1.4" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - } } }, "socket.io-parser": { @@ -11879,6 +11447,12 @@ "requires": { "ms": "2.0.0" } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true } } }, @@ -11893,9 +11467,9 @@ } }, "sockjs-client": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.3.0.tgz", - "integrity": "sha512-R9jxEzhnnrdxLCNln0xg5uGHqMnkhPSTzUZH2eXcR03S/On9Yvoq2wyUZILRUhZCNVu2PmwWVoyuiPz8th8zbg==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.4.0.tgz", + "integrity": "sha512-5zaLyO8/nri5cua0VtOrFXBPK1jbL4+1cebT/mmKA1E1ZXOvJrII75bPu0l0k843G/+iAbhEqzyKr0w/eCCj7g==", "dev": true, "requires": { "debug": "^3.2.5", @@ -11923,12 +11497,6 @@ "requires": { "websocket-driver": ">=0.5.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 } } }, @@ -11945,12 +11513,12 @@ "dev": true }, "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==", + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", "dev": true, "requires": { - "atob": "^2.1.1", + "atob": "^2.1.2", "decode-uri-component": "^0.2.0", "resolve-url": "^0.2.1", "source-map-url": "^0.4.0", @@ -11958,9 +11526,9 @@ } }, "source-map-support": { - "version": "0.5.13", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", - "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "version": "0.5.16", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.16.tgz", + "integrity": "sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ==", "dev": true, "requires": { "buffer-from": "^1.0.0", @@ -12041,9 +11609,9 @@ }, "dependencies": { "readable-stream": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz", - "integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", "dev": true, "requires": { "inherits": "^2.0.3", @@ -12069,12 +11637,13 @@ "dev": true }, "ssri": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", - "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-7.1.0.tgz", + "integrity": "sha512-77/WrDZUWocK0mvA5NTRQyveUf+wsrIc6vyrxpS8tVvYBcX215QbafrJR3KtkpskIzoFLqqNuuYQvxaMjXJ/0g==", "dev": true, "requires": { - "figgy-pudding": "^3.5.1" + "figgy-pudding": "^3.5.1", + "minipass": "^3.1.1" } }, "stable": { @@ -12084,9 +11653,9 @@ "dev": true }, "stackframe": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.0.4.tgz", - "integrity": "sha512-to7oADIniaYwS3MhtCa/sQhrxidCCQiF/qp4/m5iN3ipf0Y7Xlri0f6eG29r08aL7JYl8n32AF3Q5GYBZ7K8vw==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.1.1.tgz", + "integrity": "sha512-0PlYhdKh6AfFxRyK/v+6/k+/mMfyiEBbTM5L94D0ZytQnJ166wuwoTYLHFWGbs2dpA8Rgq763KGWmN1EQEYHRQ==", "dev": true }, "static-extend": { @@ -12150,9 +11719,9 @@ } }, "stream-shift": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", - "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", "dev": true }, "stream-throttle": { @@ -12176,21 +11745,33 @@ "strip-ansi": "^3.0.0" } }, - "string.prototype.trimleft": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz", - "integrity": "sha512-FJ6b7EgdKxxbDxc79cOlok6Afd++TTs5szo+zJTUyow3ycrRfJVE2pq3vcN53XexvKZu/DJMDfeI/qMiZTrjTw==", + "string.prototype.matchall": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.2.tgz", + "integrity": "sha512-N/jp6O5fMf9os0JU3E72Qhf590RSRZU/ungsL/qJUYVTNv7hTG0P/dbPjxINVN9jpscu3nzYwKESU3P3RY5tOg==", "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0", + "has-symbols": "^1.0.1", + "internal-slot": "^1.0.2", + "regexp.prototype.flags": "^1.3.0", + "side-channel": "^1.0.2" + } + }, + "string.prototype.trimleft": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz", + "integrity": "sha512-iu2AGd3PuP5Rp7x2kEZCrB2Nf41ehzh+goo8TV7z8/XDBbsvc6HQIlUl9RjkZ4oyrW1XM5UwlGl1oVEaDjg6Ag==", "requires": { "define-properties": "^1.1.3", "function-bind": "^1.1.1" } }, "string.prototype.trimright": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.0.tgz", - "integrity": "sha512-fXZTSV55dNBwv16uw+hh5jkghxSnc5oHq+5K/gXgizHwAvMetdAJlHqqoFC1FSDVPYWLkAKl2cxpUT41sV7nSg==", - "dev": true, + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.1.tgz", + "integrity": "sha512-qFvWL3/+QIgZXVmJBfpHmxLB7xsUXz6HsUmP8+5dRaC3Q7oKUv9Vo6aMCRZC1smrtyECFsIT30PqBJ1gTjAs+g==", "requires": { "define-properties": "^1.1.3", "function-bind": "^1.1.1" @@ -12270,12 +11851,12 @@ }, "dependencies": { "postcss-selector-parser": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz", - "integrity": "sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU=", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", + "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", "dev": true, "requires": { - "dot-prop": "^4.1.1", + "dot-prop": "^5.2.0", "indexes-of": "^1.0.1", "uniq": "^1.0.1" } @@ -12292,17 +11873,17 @@ } }, "svgo": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.0.tgz", - "integrity": "sha512-MLfUA6O+qauLDbym+mMZgtXCGRfIxyQoeH6IKVcFslyODEe/ElJNwr0FohQ3xG4C6HK6bk3KYPPXwHVJk3V5NQ==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", + "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", "dev": true, "requires": { "chalk": "^2.4.1", "coa": "^2.0.2", "css-select": "^2.0.0", "css-select-base-adapter": "^0.1.1", - "css-tree": "1.0.0-alpha.33", - "csso": "^3.5.1", + "css-tree": "1.0.0-alpha.37", + "csso": "^4.0.2", "js-yaml": "^3.13.1", "mkdirp": "~0.5.1", "object.values": "^1.1.0", @@ -12335,6 +11916,12 @@ "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", "dev": true }, + "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 + }, "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", @@ -12389,68 +11976,77 @@ } }, "terser-webpack-plugin": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.1.tgz", - "integrity": "sha512-ZXmmfiwtCLfz8WKZyYUuuHf3dMYEjg8NrjHMb0JqHVHVOSkzp3cW2/XG1fP3tRhqEqSzMwzzRQGtAPbs4Cncxg==", + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-2.3.5.tgz", + "integrity": "sha512-WlWksUoq+E4+JlJ+h+U+QUzXpcsMSSNXkDy9lBVkSqDn1w23Gg29L/ary9GeJVYCGiNJJX7LnVc4bwL1N3/g1w==", "dev": true, "requires": { - "cacache": "^12.0.2", - "find-cache-dir": "^2.1.0", - "is-wsl": "^1.1.0", - "schema-utils": "^1.0.0", - "serialize-javascript": "^1.7.0", + "cacache": "^13.0.1", + "find-cache-dir": "^3.2.0", + "jest-worker": "^25.1.0", + "p-limit": "^2.2.2", + "schema-utils": "^2.6.4", + "serialize-javascript": "^2.1.2", "source-map": "^0.6.1", - "terser": "^4.1.2", - "webpack-sources": "^1.4.0", - "worker-farm": "^1.7.0" + "terser": "^4.4.3", + "webpack-sources": "^1.4.3" }, "dependencies": { "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==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.0.tgz", + "integrity": "sha512-PtXtQb7IrD8O+h6Cq1dbpJH5NzD8+9keN1zZ0YlpDzl1PwXEJEBj6u1Xa92t1Hwluoozd9TNKul5Hi2iqpsWwg==", "dev": true, "requires": { "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.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==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, "requires": { - "locate-path": "^3.0.0" + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" } }, "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" + "p-locate": "^4.1.0" + } + }, + "make-dir": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.0.2.tgz", + "integrity": "sha512-rYKABKutXa6vXTXhoV18cBE7PaewPXHe/Bdq4v+ZLMhxbWApkFFplT0LcbMW+6BbjnQXzZ/sAvSE/JdguApG5w==", + "dev": true, + "requires": { + "semver": "^6.0.0" } }, "p-limit": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz", - "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.2.tgz", + "integrity": "sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ==", "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==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, "requires": { - "p-limit": "^2.0.0" + "p-limit": "^2.2.0" } }, "p-try": { @@ -12460,30 +12056,25 @@ "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=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true }, "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==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", "dev": true, "requires": { - "find-up": "^3.0.0" + "find-up": "^4.0.0" } }, - "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" - } + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true }, "source-map": { "version": "0.6.1", @@ -12492,9 +12083,9 @@ "dev": true }, "terser": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.3.1.tgz", - "integrity": "sha512-pnzH6dnFEsR2aa2SJaKb1uSCl3QmIsJ8dEkj0Fky+2AwMMcC9doMqLOQIH6wVTEKaVfKVvLSk5qxPBEZT9mywg==", + "version": "4.6.6", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.6.6.tgz", + "integrity": "sha512-4lYPyeNmstjIIESr/ysHg2vUPRGf2tzF9z2yYwnowXVuVzLEamPN1Gfrz7f8I9uEPuHcbFlW4PLIAsJoxXyJ1g==", "dev": true, "requires": { "commander": "^2.20.0", @@ -12564,9 +12155,9 @@ } }, "thunky": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.0.3.tgz", - "integrity": "sha512-YwT8pjmNcAXBZqrubu22P4FYsh2D4dxRmnWBOL8Jk8bUcRUtc5326kx32tuTmFDAZtLOGEVNl8POAR8j896Iow==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", "dev": true }, "timers-browserify": { @@ -12585,9 +12176,9 @@ "dev": true }, "tiny-invariant": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.0.6.tgz", - "integrity": "sha512-FOyLWWVjG+aC0UqG76V53yAWdXfH8bO6FNmyZOuUrzDzK8DI3/JRY25UD7+g49JWM1LXwymsKERB+DzI0dTEQA==" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.1.0.tgz", + "integrity": "sha512-ytxQvrb1cPc9WBEI/HSeYYoGD0kWnGEOR8RY6KomWLBVhqz0RgTwVO9dLrGz7dC+nN9llyI7OKAgRq8Vq4ZBSw==" }, "tiny-warning": { "version": "1.0.3", @@ -12669,16 +12260,10 @@ "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", "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 - }, "tslib": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", - "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.11.1.tgz", + "integrity": "sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA==", "dev": true }, "tty-browserify": { @@ -12989,13 +12574,15 @@ "dev": true }, "util.promisify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", - "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", + "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", "dev": true, "requires": { - "define-properties": "^1.1.2", - "object.getownpropertydescriptors": "^2.0.3" + "define-properties": "^1.1.3", + "es-abstract": "^1.17.2", + "has-symbols": "^1.0.1", + "object.getownpropertydescriptors": "^2.1.0" } }, "utils-merge": { @@ -13005,9 +12592,9 @@ "dev": true }, "uuid": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz", - "integrity": "sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", "dev": true }, "v8-compile-cache": { @@ -13038,15 +12625,15 @@ "dev": true }, "vendors": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.3.tgz", - "integrity": "sha512-fOi47nsJP5Wqefa43kyWSg80qF+Q3XA6MUkgi7Hp1HQaKDQW4cQrK2D0P7mmbFtsV1N89am55Yru/nyEwRubcw==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz", + "integrity": "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==", "dev": true }, "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==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", "dev": true }, "vue-hot-reload-api": { @@ -13056,12 +12643,12 @@ "dev": true }, "vue-loader": { - "version": "15.7.1", - "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-15.7.1.tgz", - "integrity": "sha512-fwIKtA23Pl/rqfYP5TSGK7gkEuLhoTvRYW+TU7ER3q9GpNLt/PjG5NLv3XHRDiTg7OPM1JcckBgds+VnAc+HbA==", + "version": "15.9.0", + "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-15.9.0.tgz", + "integrity": "sha512-FeDHvTSpwyLeF7LIV1PYkvqUQgTJ8UmOxhSlCyRSxaXCKk+M6NF4tDQsLsPPNeDPyR7TfRQ8MLg6v+8PsDV9xQ==", "dev": true, "requires": { - "@vue/component-compiler-utils": "^3.0.0", + "@vue/component-compiler-utils": "^3.1.0", "hash-sum": "^1.0.2", "loader-utils": "^1.1.0", "vue-hot-reload-api": "^2.3.0", @@ -13113,9 +12700,9 @@ } }, "webpack": { - "version": "4.40.2", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.40.2.tgz", - "integrity": "sha512-5nIvteTDCUws2DVvP9Qe+JPla7kWPPIDFZv55To7IycHWZ+Z5qBdaBYPyuXWdhggTufZkQwfIK+5rKQTVovm2A==", + "version": "4.42.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.42.0.tgz", + "integrity": "sha512-EzJRHvwQyBiYrYqhyjW9AqM90dE4+s1/XtCfn7uWg6cS72zH+2VPFAlsnW0+W0cDi0XRjNKUMoJtpSi50+Ph6w==", "dev": true, "requires": { "@webassemblyjs/ast": "1.8.5", @@ -13138,17 +12725,40 @@ "node-libs-browser": "^2.2.1", "schema-utils": "^1.0.0", "tapable": "^1.1.3", - "terser-webpack-plugin": "^1.4.1", + "terser-webpack-plugin": "^1.4.3", "watchpack": "^1.6.0", "webpack-sources": "^1.4.1" }, "dependencies": { "acorn": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.3.0.tgz", - "integrity": "sha512-/czfa8BwS88b9gWQVhc8eknunSA2DoJpJyTQkhheIf5E48u1N0R4q/YxxsAeqRrmK9TQ/uYfgLDfZo91UlANIA==", + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.0.tgz", + "integrity": "sha512-gac8OEcQ2Li1dxIEWGZzsp2BitJxwkwcOm0zHAJLcPJaVvm58FRnk6RkuLRpU1EujipU2ZFODv2P9DLMfnV8mw==", "dev": true }, + "cacache": { + "version": "12.0.3", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.3.tgz", + "integrity": "sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw==", + "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", + "infer-owner": "^1.0.3", + "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" + } + }, "eslint-scope": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", @@ -13159,6 +12769,75 @@ "estraverse": "^4.1.1" } }, + "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" + } + }, + "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" + } + }, + "p-limit": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.2.tgz", + "integrity": "sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ==", + "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 + }, + "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 + }, + "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" + } + }, "schema-utils": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", @@ -13169,13 +12848,62 @@ "ajv-errors": "^1.0.0", "ajv-keywords": "^3.1.0" } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "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" + } + }, + "terser": { + "version": "4.6.6", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.6.6.tgz", + "integrity": "sha512-4lYPyeNmstjIIESr/ysHg2vUPRGf2tzF9z2yYwnowXVuVzLEamPN1Gfrz7f8I9uEPuHcbFlW4PLIAsJoxXyJ1g==", + "dev": true, + "requires": { + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + } + }, + "terser-webpack-plugin": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.3.tgz", + "integrity": "sha512-QMxecFz/gHQwteWwSo5nTc6UaICqN1bMedC5sMtUc7y3Ha3Q8y6ZO0iCR8pq4RJC8Hjf0FEPEHZqcMB/+DFCrA==", + "dev": true, + "requires": { + "cacache": "^12.0.2", + "find-cache-dir": "^2.1.0", + "is-wsl": "^1.1.0", + "schema-utils": "^1.0.0", + "serialize-javascript": "^2.1.2", + "source-map": "^0.6.1", + "terser": "^4.1.2", + "webpack-sources": "^1.4.0", + "worker-farm": "^1.7.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 } } }, "webpack-cli": { - "version": "3.3.8", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.8.tgz", - "integrity": "sha512-RANYSXwikSWINjHMd/mtesblNSpjpDLoYTBtP99n1RhXqVI/wxN40Auqy42I7y4xrbmRBoA5Zy5E0JSBD5XRhw==", + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.11.tgz", + "integrity": "sha512-dXlfuml7xvAFwYUPsrtQAA9e4DOe58gnzSxhgrO/ZM/gyXTBowrsYeubyN4mqGhYdpXMFNyQ6emjJS9M7OBd4g==", "dev": true, "requires": { "chalk": "2.4.2", @@ -13214,6 +12942,42 @@ "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" + } + }, + "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 + }, + "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" + } + }, "find-up": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", @@ -13250,6 +13014,17 @@ "invert-kv": "^2.0.0" } }, + "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" + } + }, "locate-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", @@ -13272,9 +13047,9 @@ } }, "p-limit": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz", - "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.2.tgz", + "integrity": "sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ==", "dev": true, "requires": { "p-try": "^2.0.0" @@ -13301,12 +13076,33 @@ "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", "dev": true }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, "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 }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "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=", + "dev": true + }, "string-width": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", @@ -13342,6 +13138,15 @@ "integrity": "sha512-CNmdbwQMBjwr9Gsmohvm0pbL954tJrNzf6gWL3K+QMQf00PF7ERGrEiLgjuU3mKreLC2MeGhUsNV9ybTbLgd3w==", "dev": true }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, "which-module": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", @@ -13397,9 +13202,9 @@ } }, "webpack-dev-middleware": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.1.tgz", - "integrity": "sha512-5MWu9SH1z3hY7oHOV6Kbkz5x7hXbxK56mGHNqHTe6d+ewxOwKUxoUJBs7QIaJb33lPjl9bJZ3X0vCoooUzC36A==", + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz", + "integrity": "sha512-1xC42LxbYoqLNAhV6YzTYacicgMZQTqRd27Sim9wn5hJrX3I5nxYy1SxSd4+gjUFsz1dQFj+yEe6zEVmSkeJjw==", "dev": true, "requires": { "memory-fs": "^0.4.1", @@ -13418,41 +13223,41 @@ } }, "webpack-dev-server": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.8.0.tgz", - "integrity": "sha512-Hs8K9yI6pyMvGkaPTeTonhD6JXVsigXDApYk9JLW4M7viVBspQvb1WdAcWxqtmttxNW4zf2UFLsLNe0y87pIGQ==", + "version": "3.10.3", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.10.3.tgz", + "integrity": "sha512-e4nWev8YzEVNdOMcNzNeCN947sWJNd43E5XvsJzbAL08kGc2frm1tQ32hTJslRS+H65LCb/AaUCYU7fjHCpDeQ==", "dev": true, "requires": { "ansi-html": "0.0.7", "bonjour": "^3.5.0", - "chokidar": "^2.1.6", + "chokidar": "^2.1.8", "compression": "^1.7.4", "connect-history-api-fallback": "^1.6.0", "debug": "^4.1.1", "del": "^4.1.1", "express": "^4.17.1", "html-entities": "^1.2.1", - "http-proxy-middleware": "^0.19.1", + "http-proxy-middleware": "0.19.1", "import-local": "^2.0.0", "internal-ip": "^4.3.0", "ip": "^1.1.5", - "is-absolute-url": "^3.0.0", + "is-absolute-url": "^3.0.3", "killable": "^1.0.1", - "loglevel": "^1.6.3", + "loglevel": "^1.6.6", "opn": "^5.5.0", "p-retry": "^3.0.1", - "portfinder": "^1.0.21", + "portfinder": "^1.0.25", "schema-utils": "^1.0.0", - "selfsigned": "^1.10.4", + "selfsigned": "^1.10.7", "semver": "^6.3.0", "serve-index": "^1.9.1", "sockjs": "0.3.19", - "sockjs-client": "1.3.0", + "sockjs-client": "1.4.0", "spdy": "^4.0.1", "strip-ansi": "^3.0.1", "supports-color": "^6.1.0", "url": "^0.11.0", - "webpack-dev-middleware": "^3.7.0", + "webpack-dev-middleware": "^3.7.2", "webpack-log": "^2.0.0", "ws": "^6.2.1", "yargs": "12.0.5" @@ -13508,9 +13313,9 @@ "dev": true }, "is-absolute-url": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.2.tgz", - "integrity": "sha512-+5g/wLlcm1AcxSP7014m6GvbPHswDx980vD/3bZaap8aGV9Yfs7Q6y6tfaupgZ5O74Byzc8dGrSCJ+bFXx0KdA==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", + "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==", "dev": true }, "is-fullwidth-code-point": { @@ -13559,9 +13364,9 @@ } }, "p-limit": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz", - "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.2.tgz", + "integrity": "sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ==", "dev": true, "requires": { "p-try": "^2.0.0" @@ -13753,9 +13558,9 @@ "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==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, "requires": { "isexe": "^2.0.0" @@ -13841,9 +13646,9 @@ "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==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, "yargs": { diff --git a/package.json b/package.json index b26fddb5..1b331e8f 100644 --- a/package.json +++ b/package.json @@ -12,61 +12,61 @@ }, "author": "Moeen Basra", "license": "ISC", + "browserslist": [ + ">0.2%", + "not dead", + "not ie <= 11", + "not op_mini all" + ], "devDependencies": { - "@babel/plugin-proposal-class-properties": "^7.7.4", - "@babel/preset-env": "^7.7.4", - "@babel/preset-react": "^7.7.4", - "babel-eslint": "^10.0.2", + "@babel/plugin-proposal-class-properties": "^7.8.3", + "@babel/preset-env": "^7.8.7", + "@babel/preset-react": "^7.8.3", + "babel-eslint": "^10.1.0", "babel-plugin-syntax-dynamic-import": "^6.18.0", "browser-sync": "^2.26.7", "browser-sync-webpack-plugin": "^2.2.2", - "cross-env": "^5.2.0", - "eslint": "^6.7.1", - "eslint-config-standard": "^12.0.0", + "cross-env": "^7.0.2", + "eslint": "^6.8.0", + "eslint-config-standard": "^14.1.0", "eslint-friendly-formatter": "^4.0.1", - "eslint-loader": "^2.1.2", + "eslint-loader": "^3.0.3", "eslint-plugin-html": "^6.0.0", - "eslint-plugin-import": "^2.18.0", - "eslint-plugin-node": "^9.1.0", + "eslint-plugin-import": "^2.20.1", + "eslint-plugin-node": "^11.0.0", "eslint-plugin-promise": "^4.2.1", - "eslint-plugin-react": "^7.16.0", - "eslint-plugin-standard": "^4.0.0", + "eslint-plugin-react": "^7.18.3", + "eslint-plugin-standard": "^4.0.1", "immutable": "^4.0.0-rc.12", - "laravel-mix": "^4.0.16", + "laravel-mix": "^5.0.1", "redux-logger": "^3.0.6", "resolve-url-loader": "^3.1.1", - "sass": "^1.23.7", - "sass-loader": "^7.1.0" + "sass": "^1.26.2", + "sass-loader": "^8.0.2" }, "dependencies": { - "axios": "^0.19.0", - "bootstrap": "^4.4.0", + "axios": "^0.19.2", + "bootstrap": "^4.4.1", "classnames": "^2.2.6", - "draft-js": "^0.10.5", - "draftjs-to-html": "^0.8.4", + "draft-js": "^0.11.4", + "draftjs-to-html": "^0.9.1", "font-awesome": "^4.7.0", - "history": "^4.9.0", + "history": "^4.10.1", "jquery": "^3.4.1", - "lodash": "^4.17.11", + "lodash": "^4.17.15", "moment": "^2.24.0", - "popper.js": "^1.16.0", + "popper.js": "^1.16.1", "prop-types": "^15.7.2", - "react": "^16.12.0", + "react": "^16.13.0", "react-document-title": "^2.0.3", - "react-dom": "^16.12.0", - "react-draft-wysiwyg": "^1.13.2", + "react-dom": "^16.13.0", + "react-draft-wysiwyg": "^1.14.4", "react-loadable": "^5.5.0", - "react-redux": "^7.1.3", + "react-redux": "^7.2.0", "react-router-dom": "^5.1.2", - "reactstrap": "^8.1.1", - "redux": "^4.0.1", + "reactstrap": "^8.4.1", + "redux": "^4.0.5", "redux-thunk": "^2.3.0", "ree-validate": "^3.0.2" - }, - "browserslist": [ - ">0.2%", - "not dead", - "not ie <= 11", - "not op_mini all" - ] + } } diff --git a/public/1.js b/public/1.js index 28b403da..e4344e68 100644 --- a/public/1.js +++ b/public/1.js @@ -7,7 +7,18 @@ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { -eval("exports = module.exports = __webpack_require__(/*! ../../css-loader/lib/css-base.js */ \"./node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.i, \".rdw-option-wrapper {\\n border: 1px solid #F1F1F1;\\n padding: 5px;\\n min-width: 25px;\\n height: 20px;\\n border-radius: 2px;\\n margin: 0 4px;\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-pack: center;\\n justify-content: center;\\n -webkit-box-align: center;\\n align-items: center;\\n cursor: pointer;\\n background: white;\\n text-transform: capitalize;\\n}\\n.rdw-option-wrapper:hover {\\n box-shadow: 1px 1px 0px #BFBDBD;\\n}\\n.rdw-option-wrapper:active {\\n box-shadow: 1px 1px 0px #BFBDBD inset;\\n}\\n.rdw-option-active {\\n box-shadow: 1px 1px 0px #BFBDBD inset;\\n}\\n.rdw-option-disabled {\\n opacity: 0.3;\\n cursor: default;\\n}\\n.rdw-dropdown-wrapper {\\n height: 30px;\\n background: white;\\n cursor: pointer;\\n border: 1px solid #F1F1F1;\\n border-radius: 2px;\\n margin: 0 3px;\\n text-transform: capitalize;\\n background: white;\\n}\\n.rdw-dropdown-wrapper:focus {\\n outline: none;\\n}\\n.rdw-dropdown-wrapper:hover {\\n box-shadow: 1px 1px 0px #BFBDBD;\\n background-color: #FFFFFF;\\n}\\n.rdw-dropdown-wrapper:active {\\n box-shadow: 1px 1px 0px #BFBDBD inset;\\n}\\n.rdw-dropdown-carettoopen {\\n height: 0px;\\n width: 0px;\\n position: absolute;\\n top: 35%;\\n right: 10%;\\n border-top: 6px solid black;\\n border-left: 5px solid transparent;\\n border-right: 5px solid transparent;\\n}\\n.rdw-dropdown-carettoclose {\\n height: 0px;\\n width: 0px;\\n position: absolute;\\n top: 35%;\\n right: 10%;\\n border-bottom: 6px solid black;\\n border-left: 5px solid transparent;\\n border-right: 5px solid transparent;\\n}\\n.rdw-dropdown-selectedtext {\\n display: -webkit-box;\\n display: flex;\\n position: relative;\\n height: 100%;\\n -webkit-box-align: center;\\n align-items: center;\\n padding: 0 5px;\\n}\\n.rdw-dropdown-optionwrapper {\\n z-index: 100;\\n position: relative;\\n border: 1px solid #F1F1F1;\\n width: 98%;\\n background: white;\\n border-radius: 2px;\\n margin: 0;\\n padding: 0;\\n max-height: 250px;\\n overflow-y: scroll;\\n}\\n.rdw-dropdown-optionwrapper:hover {\\n box-shadow: 1px 1px 0px #BFBDBD;\\n background-color: #FFFFFF;\\n}\\n.rdw-dropdownoption-default {\\n min-height: 25px;\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-align: center;\\n align-items: center;\\n padding: 0 5px;\\n}\\n.rdw-dropdownoption-highlighted {\\n background: #F1F1F1;\\n}\\n.rdw-dropdownoption-active {\\n background: #f5f5f5;\\n}\\n.rdw-dropdownoption-disabled {\\n opacity: 0.3;\\n cursor: default;\\n}\\n.rdw-inline-wrapper {\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-align: center;\\n align-items: center;\\n margin-bottom: 6px;\\n flex-wrap: wrap\\n}\\n.rdw-inline-dropdown {\\n width: 50px;\\n}\\n.rdw-inline-dropdownoption {\\n height: 40px;\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-pack: center;\\n justify-content: center;\\n}\\n.rdw-block-wrapper {\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-align: center;\\n align-items: center;\\n margin-bottom: 6px;\\n flex-wrap: wrap\\n}\\n.rdw-block-dropdown {\\n width: 110px;\\n}\\n.rdw-fontsize-wrapper {\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-align: center;\\n align-items: center;\\n margin-bottom: 6px;\\n flex-wrap: wrap\\n}\\n.rdw-fontsize-dropdown {\\n min-width: 40px;\\n}\\n.rdw-fontsize-option {\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-pack: center;\\n justify-content: center;\\n}\\n.rdw-fontfamily-wrapper {\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-align: center;\\n align-items: center;\\n margin-bottom: 6px;\\n flex-wrap: wrap\\n}\\n.rdw-fontfamily-dropdown {\\n width: 115px;\\n}\\n.rdw-fontfamily-placeholder {\\n white-space: nowrap;\\n max-width: 90px;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n}\\n.rdw-fontfamily-optionwrapper {\\n width: 140px;\\n}\\n.rdw-list-wrapper {\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-align: center;\\n align-items: center;\\n margin-bottom: 6px;\\n flex-wrap: wrap\\n}\\n.rdw-list-dropdown {\\n width: 50px;\\n z-index: 90;\\n}\\n.rdw-list-dropdownOption {\\n height: 40px;\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-pack: center;\\n justify-content: center;\\n}\\n.rdw-text-align-wrapper {\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-align: center;\\n align-items: center;\\n margin-bottom: 6px;\\n flex-wrap: wrap\\n}\\n.rdw-text-align-dropdown {\\n width: 50px;\\n z-index: 90;\\n}\\n.rdw-text-align-dropdownOption {\\n height: 40px;\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-pack: center;\\n justify-content: center;\\n}\\n.rdw-right-aligned-block {\\n text-align: right;\\n}\\n.rdw-left-aligned-block {\\n text-align: left !important;\\n}\\n.rdw-center-aligned-block {\\n text-align: center !important;\\n}\\n.rdw-justify-aligned-block {\\n text-align: justify !important;\\n}\\n.rdw-right-aligned-block > div {\\n display: inline-block;\\n}\\n.rdw-left-aligned-block > div {\\n display: inline-block;\\n}\\n.rdw-center-aligned-block > div {\\n display: inline-block;\\n}\\n.rdw-justify-aligned-block > div {\\n display: inline-block;\\n}\\n.rdw-colorpicker-wrapper {\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-align: center;\\n align-items: center;\\n margin-bottom: 6px;\\n position: relative;\\n flex-wrap: wrap\\n}\\n.rdw-colorpicker-modal {\\n position: absolute;\\n top: 35px;\\n left: 5px;\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-orient: vertical;\\n -webkit-box-direction: normal;\\n flex-direction: column;\\n width: 175px;\\n height: 175px;\\n border: 1px solid #F1F1F1;\\n padding: 15px;\\n border-radius: 2px;\\n z-index: 100;\\n background: white;\\n box-shadow: 3px 3px 5px #BFBDBD;\\n}\\n.rdw-colorpicker-modal-header {\\n display: -webkit-box;\\n display: flex;\\n padding-bottom: 5px;\\n}\\n.rdw-colorpicker-modal-style-label {\\n font-size: 15px;\\n width: 50%;\\n text-align: center;\\n cursor: pointer;\\n padding: 0 10px 5px;\\n}\\n.rdw-colorpicker-modal-style-label-active {\\n border-bottom: 2px solid #0a66b7;\\n}\\n.rdw-colorpicker-modal-options {\\n margin: 5px auto;\\n display: -webkit-box;\\n display: flex;\\n width: 100%;\\n height: 100%;\\n flex-wrap: wrap;\\n overflow: scroll;\\n}\\n.rdw-colorpicker-cube {\\n width: 22px;\\n height: 22px;\\n border: 1px solid #F1F1F1;\\n}\\n.rdw-colorpicker-option {\\n margin: 3px;\\n padding: 0;\\n min-height: 20px;\\n border: none;\\n width: 22px;\\n height: 22px;\\n min-width: 22px;\\n box-shadow: 1px 2px 1px #BFBDBD inset;\\n}\\n.rdw-colorpicker-option:hover {\\n box-shadow: 1px 2px 1px #BFBDBD;\\n}\\n.rdw-colorpicker-option:active {\\n box-shadow: -1px -2px 1px #BFBDBD;\\n}\\n.rdw-colorpicker-option-active {\\n box-shadow: 0px 0px 2px 2px #BFBDBD;\\n}\\n.rdw-link-wrapper {\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-align: center;\\n align-items: center;\\n margin-bottom: 6px;\\n position: relative;\\n flex-wrap: wrap\\n}\\n.rdw-link-dropdown {\\n width: 50px;\\n}\\n.rdw-link-dropdownOption {\\n height: 40px;\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-pack: center;\\n justify-content: center;\\n}\\n.rdw-link-dropdownPlaceholder {\\n margin-left: 8px;\\n}\\n.rdw-link-modal {\\n position: absolute;\\n top: 35px;\\n left: 5px;\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-orient: vertical;\\n -webkit-box-direction: normal;\\n flex-direction: column;\\n width: 235px;\\n height: 205px;\\n border: 1px solid #F1F1F1;\\n padding: 15px;\\n border-radius: 2px;\\n z-index: 100;\\n background: white;\\n box-shadow: 3px 3px 5px #BFBDBD;\\n}\\n.rdw-link-modal-label {\\n font-size: 15px;\\n}\\n.rdw-link-modal-input {\\n margin-top: 5px;\\n border-radius: 2px;\\n border: 1px solid #F1F1F1;\\n height: 25px;\\n margin-bottom: 15px;\\n padding: 0 5px;\\n}\\n.rdw-link-modal-input:focus {\\n outline: none;\\n}\\n.rdw-link-modal-buttonsection {\\n margin: 0 auto;\\n}\\n.rdw-link-modal-target-option {\\n margin-bottom: 20px;\\n}\\n.rdw-link-modal-target-option > span {\\n margin-left: 5px;\\n}\\n.rdw-link-modal-btn {\\n margin-left: 10px;\\n width: 75px;\\n height: 30px;\\n border: 1px solid #F1F1F1;\\n border-radius: 2px;\\n cursor: pointer;\\n background: white;\\n text-transform: capitalize;\\n}\\n.rdw-link-modal-btn:hover {\\n box-shadow: 1px 1px 0px #BFBDBD;\\n}\\n.rdw-link-modal-btn:active {\\n box-shadow: 1px 1px 0px #BFBDBD inset;\\n}\\n.rdw-link-modal-btn:focus {\\n outline: none !important;\\n}\\n.rdw-link-modal-btn:disabled {\\n background: #ece9e9;\\n}\\n.rdw-link-dropdownoption {\\n height: 40px;\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-pack: center;\\n justify-content: center;\\n}\\n.rdw-history-dropdown {\\n width: 50px;\\n}\\n.rdw-embedded-wrapper {\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-align: center;\\n align-items: center;\\n margin-bottom: 6px;\\n position: relative;\\n flex-wrap: wrap\\n}\\n.rdw-embedded-modal {\\n position: absolute;\\n top: 35px;\\n left: 5px;\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-orient: vertical;\\n -webkit-box-direction: normal;\\n flex-direction: column;\\n width: 235px;\\n height: 180px;\\n border: 1px solid #F1F1F1;\\n padding: 15px;\\n border-radius: 2px;\\n z-index: 100;\\n background: white;\\n -webkit-box-pack: justify;\\n justify-content: space-between;\\n box-shadow: 3px 3px 5px #BFBDBD;\\n}\\n.rdw-embedded-modal-header {\\n font-size: 15px;\\n display: -webkit-box;\\n display: flex;\\n}\\n.rdw-embedded-modal-header-option {\\n width: 50%;\\n cursor: pointer;\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-pack: center;\\n justify-content: center;\\n -webkit-box-align: center;\\n align-items: center;\\n -webkit-box-orient: vertical;\\n -webkit-box-direction: normal;\\n flex-direction: column;\\n}\\n.rdw-embedded-modal-header-label {\\n width: 95px;\\n border: 1px solid #f1f1f1;\\n margin-top: 5px;\\n background: #6EB8D4;\\n border-bottom: 2px solid #0a66b7;\\n}\\n.rdw-embedded-modal-link-section {\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-orient: vertical;\\n -webkit-box-direction: normal;\\n flex-direction: column;\\n}\\n.rdw-embedded-modal-link-input {\\n width: 88%;\\n height: 35px;\\n margin: 10px 0;\\n border: 1px solid #F1F1F1;\\n border-radius: 2px;\\n font-size: 15px;\\n padding: 0 5px;\\n}\\n.rdw-embedded-modal-link-input-wrapper {\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-align: center;\\n align-items: center;\\n}\\n.rdw-embedded-modal-link-input:focus {\\n outline: none;\\n}\\n.rdw-embedded-modal-btn-section {\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-pack: center;\\n justify-content: center;\\n}\\n.rdw-embedded-modal-btn {\\n margin: 0 3px;\\n width: 75px;\\n height: 30px;\\n border: 1px solid #F1F1F1;\\n border-radius: 2px;\\n cursor: pointer;\\n background: white;\\n text-transform: capitalize;\\n}\\n.rdw-embedded-modal-btn:hover {\\n box-shadow: 1px 1px 0px #BFBDBD;\\n}\\n.rdw-embedded-modal-btn:active {\\n box-shadow: 1px 1px 0px #BFBDBD inset;\\n}\\n.rdw-embedded-modal-btn:focus {\\n outline: none !important;\\n}\\n.rdw-embedded-modal-btn:disabled {\\n background: #ece9e9;\\n}\\n.rdw-embedded-modal-size {\\n -webkit-box-align: center;\\n align-items: center;\\n display: -webkit-box;\\n display: flex;\\n margin: 8px 0;\\n -webkit-box-pack: justify;\\n justify-content: space-between;\\n}\\n.rdw-embedded-modal-size-input {\\n width: 80%;\\n height: 20px;\\n border: 1px solid #F1F1F1;\\n border-radius: 2px;\\n font-size: 12px;\\n}\\n.rdw-embedded-modal-size-input:focus {\\n outline: none;\\n}\\n.rdw-emoji-wrapper {\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-align: center;\\n align-items: center;\\n margin-bottom: 6px;\\n position: relative;\\n flex-wrap: wrap\\n}\\n.rdw-emoji-modal {\\n overflow: auto;\\n position: absolute;\\n top: 35px;\\n left: 5px;\\n display: -webkit-box;\\n display: flex;\\n flex-wrap: wrap;\\n width: 235px;\\n height: 180px;\\n border: 1px solid #F1F1F1;\\n padding: 15px;\\n border-radius: 2px;\\n z-index: 100;\\n background: white;\\n box-shadow: 3px 3px 5px #BFBDBD;\\n}\\n.rdw-emoji-icon {\\n margin: 2.5px;\\n height: 24px;\\n width: 24px;\\n cursor: pointer;\\n font-size: 22px;\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-pack: center;\\n justify-content: center;\\n -webkit-box-align: center;\\n align-items: center;\\n}\\n.rdw-spinner {\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-align: center;\\n align-items: center;\\n -webkit-box-pack: center;\\n justify-content: center;\\n height: 100%;\\n width: 100%;\\n}\\n.rdw-spinner > div {\\n width: 12px;\\n height: 12px;\\n background-color: #333;\\n\\n border-radius: 100%;\\n display: inline-block;\\n -webkit-animation: sk-bouncedelay 1.4s infinite ease-in-out both;\\n animation: sk-bouncedelay 1.4s infinite ease-in-out both;\\n}\\n.rdw-spinner .rdw-bounce1 {\\n -webkit-animation-delay: -0.32s;\\n animation-delay: -0.32s;\\n}\\n.rdw-spinner .rdw-bounce2 {\\n -webkit-animation-delay: -0.16s;\\n animation-delay: -0.16s;\\n}\\n@-webkit-keyframes sk-bouncedelay {\\n 0%, 80%, 100% { -webkit-transform: scale(0) }\\n 40% { -webkit-transform: scale(1.0) }\\n}\\n@keyframes sk-bouncedelay {\\n 0%, 80%, 100% {\\n -webkit-transform: scale(0);\\n transform: scale(0);\\n } 40% {\\n -webkit-transform: scale(1.0);\\n transform: scale(1.0);\\n }\\n}\\n.rdw-image-wrapper {\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-align: center;\\n align-items: center;\\n margin-bottom: 6px;\\n position: relative;\\n flex-wrap: wrap\\n}\\n.rdw-image-modal {\\n position: absolute;\\n top: 35px;\\n left: 5px;\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-orient: vertical;\\n -webkit-box-direction: normal;\\n flex-direction: column;\\n width: 235px;\\n border: 1px solid #F1F1F1;\\n padding: 15px;\\n border-radius: 2px;\\n z-index: 100;\\n background: white;\\n box-shadow: 3px 3px 5px #BFBDBD;\\n}\\n.rdw-image-modal-header {\\n font-size: 15px;\\n margin: 10px 0;\\n display: -webkit-box;\\n display: flex;\\n}\\n.rdw-image-modal-header-option {\\n width: 50%;\\n cursor: pointer;\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-pack: center;\\n justify-content: center;\\n -webkit-box-align: center;\\n align-items: center;\\n -webkit-box-orient: vertical;\\n -webkit-box-direction: normal;\\n flex-direction: column;\\n}\\n.rdw-image-modal-header-label {\\n width: 80px;\\n background: #f1f1f1;\\n border: 1px solid #f1f1f1;\\n margin-top: 5px;\\n}\\n.rdw-image-modal-header-label-highlighted {\\n background: #6EB8D4;\\n border-bottom: 2px solid #0a66b7;\\n}\\n.rdw-image-modal-upload-option {\\n width: 100%;\\n color: gray;\\n cursor: pointer;\\n display: -webkit-box;\\n display: flex;\\n border: none;\\n font-size: 15px;\\n -webkit-box-align: center;\\n align-items: center;\\n -webkit-box-pack: center;\\n justify-content: center;\\n background-color: #f1f1f1;\\n outline: 2px dashed gray;\\n outline-offset: -10px;\\n margin: 10px 0;\\n padding: 9px 0;\\n}\\n.rdw-image-modal-upload-option-highlighted {\\n outline: 2px dashed #0a66b7;\\n}\\n.rdw-image-modal-upload-option-label {\\n cursor: pointer;\\n height: 100%;\\n width: 100%;\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-pack: center;\\n justify-content: center;\\n -webkit-box-align: center;\\n align-items: center;\\n padding: 15px;\\n}\\n.rdw-image-modal-upload-option-label span{\\n padding: 0 20px;\\n}\\n.rdw-image-modal-upload-option-image-preview {\\n max-width: 100%;\\n max-height: 200px;\\n}\\n.rdw-image-modal-upload-option-input {\\n\\twidth: 0.1px;\\n\\theight: 0.1px;\\n\\topacity: 0;\\n\\toverflow: hidden;\\n\\tposition: absolute;\\n\\tz-index: -1;\\n}\\n.rdw-image-modal-url-section {\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-align: center;\\n align-items: center;\\n}\\n.rdw-image-modal-url-input {\\n width: 90%;\\n height: 35px;\\n margin: 15px 0 12px;\\n border: 1px solid #F1F1F1;\\n border-radius: 2px;\\n font-size: 15px;\\n padding: 0 5px;\\n}\\n.rdw-image-modal-btn-section {\\n margin: 10px auto 0;\\n}\\n.rdw-image-modal-url-input:focus {\\n outline: none;\\n}\\n.rdw-image-modal-btn {\\n margin: 0 5px;\\n width: 75px;\\n height: 30px;\\n border: 1px solid #F1F1F1;\\n border-radius: 2px;\\n cursor: pointer;\\n background: white;\\n text-transform: capitalize;\\n}\\n.rdw-image-modal-btn:hover {\\n box-shadow: 1px 1px 0px #BFBDBD;\\n}\\n.rdw-image-modal-btn:active {\\n box-shadow: 1px 1px 0px #BFBDBD inset;\\n}\\n.rdw-image-modal-btn:focus {\\n outline: none !important;\\n}\\n.rdw-image-modal-btn:disabled {\\n background: #ece9e9;\\n}\\n.rdw-image-modal-spinner {\\n position: absolute;\\n top: -3px;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n opacity: 0.5;\\n}\\n.rdw-image-modal-alt-input {\\n width: 70%;\\n height: 20px;\\n border: 1px solid #F1F1F1;\\n border-radius: 2px;\\n font-size: 12px;\\n margin-left: 5px;\\n}\\n.rdw-image-modal-alt-input:focus {\\n outline: none;\\n}\\n.rdw-image-modal-alt-lbl {\\n font-size: 12px;\\n}\\n.rdw-image-modal-size {\\n -webkit-box-align: center;\\n align-items: center;\\n display: -webkit-box;\\n display: flex;\\n margin: 8px 0;\\n -webkit-box-pack: justify;\\n justify-content: space-between;\\n}\\n.rdw-image-modal-size-input {\\n width: 40%;\\n height: 20px;\\n border: 1px solid #F1F1F1;\\n border-radius: 2px;\\n font-size: 12px;\\n}\\n.rdw-image-modal-size-input:focus {\\n outline: none;\\n}\\n.rdw-image-mandatory-sign {\\n color: red;\\n margin-left: 3px;\\n margin-right: 3px;\\n}\\n.rdw-remove-wrapper {\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-align: center;\\n align-items: center;\\n margin-bottom: 6px;\\n position: relative;\\n flex-wrap: wrap\\n}\\n.rdw-history-wrapper {\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-align: center;\\n align-items: center;\\n margin-bottom: 6px;\\n flex-wrap: wrap\\n}\\n.rdw-history-dropdownoption {\\n height: 40px;\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-pack: center;\\n justify-content: center;\\n}\\n.rdw-history-dropdown {\\n width: 50px;\\n}\\n.rdw-link-decorator-wrapper {\\n position: relative;\\n}\\n.rdw-link-decorator-icon {\\n position: absolute;\\n left: 40%;\\n top: 0;\\n cursor: pointer;\\n background-color: white;\\n}\\n.rdw-mention-link {\\n text-decoration: none;\\n color: #1236ff;\\n background-color: #f0fbff;\\n padding: 1px 2px;\\n border-radius: 2px;\\n}\\n.rdw-suggestion-wrapper {\\n position: relative;\\n}\\n.rdw-suggestion-dropdown {\\n position: absolute;\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-orient: vertical;\\n -webkit-box-direction: normal;\\n flex-direction: column;\\n border: 1px solid #F1F1F1;\\n min-width: 100px;\\n max-height: 150px;\\n overflow: auto;\\n background: white;\\n z-index: 100;\\n}\\n.rdw-suggestion-option {\\n padding: 7px 5px;\\n border-bottom: 1px solid #f1f1f1;\\n}\\n.rdw-suggestion-option-active {\\n background-color: #F1F1F1;\\n}\\n.rdw-hashtag-link {\\n text-decoration: none;\\n color: #1236ff;\\n background-color: #f0fbff;\\n padding: 1px 2px;\\n border-radius: 2px;\\n}\\n.rdw-image-alignment-options-popup {\\n position: absolute;\\n background: white;\\n display: -webkit-box;\\n display: flex;\\n padding: 5px 2px;\\n border-radius: 2px;\\n border: 1px solid #F1F1F1;\\n width: 105px;\\n cursor: pointer;\\n z-index: 100;\\n}\\n.rdw-alignment-option-left {\\n -webkit-box-pack: start;\\n justify-content: flex-start;\\n}\\n.rdw-image-alignment-option {\\n height: 15px;\\n width: 15px;\\n min-width: 15px;\\n}\\n.rdw-image-alignment {\\n position: relative;\\n}\\n.rdw-image-imagewrapper {\\n position: relative;\\n}\\n.rdw-image-center {\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-pack: center;\\n justify-content: center;\\n}\\n.rdw-image-left {\\n display: -webkit-box;\\n display: flex;\\n}\\n.rdw-image-right {\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-pack: end;\\n justify-content: flex-end;\\n}\\n.rdw-image-alignment-options-popup-right {\\n right: 0;\\n}\\n.rdw-editor-main {\\n height: 100%;\\n overflow: auto;\\n box-sizing: border-box;\\n}\\n.rdw-editor-toolbar {\\n padding: 6px 5px 0;\\n border-radius: 2px;\\n border: 1px solid #F1F1F1;\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-pack: start;\\n justify-content: flex-start;\\n background: white;\\n flex-wrap: wrap;\\n font-size: 15px;\\n margin-bottom: 5px;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n}\\n.public-DraftStyleDefault-block {\\n margin: 1em 0;\\n}\\n.rdw-editor-wrapper:focus {\\n outline: none;\\n}\\n.rdw-editor-wrapper {\\n box-sizing: content-box;\\n}\\n.rdw-editor-main blockquote {\\n border-left: 5px solid #f1f1f1;\\n padding-left: 5px;\\n}\\n.rdw-editor-main pre {\\n background: #f1f1f1;\\n border-radius: 3px;\\n padding: 1px 10px;\\n}/**\\n * Draft v0.9.1\\n *\\n * Copyright (c) 2013-present, Facebook, Inc.\\n * All rights reserved.\\n *\\n * This source code is licensed under the BSD-style license found in the\\n * LICENSE file in the root directory of this source tree. An additional grant\\n * of patent rights can be found in the PATENTS file in the same directory.\\n */\\n.DraftEditor-editorContainer,.DraftEditor-root,.public-DraftEditor-content{height:inherit;text-align:initial}.public-DraftEditor-content[contenteditable=true]{-webkit-user-modify:read-write-plaintext-only}.DraftEditor-root{position:relative}.DraftEditor-editorContainer{background-color:rgba(255,255,255,0);border-left:.1px solid transparent;position:relative;z-index:1}.public-DraftEditor-block{position:relative}.DraftEditor-alignLeft .public-DraftStyleDefault-block{text-align:left}.DraftEditor-alignLeft .public-DraftEditorPlaceholder-root{left:0;text-align:left}.DraftEditor-alignCenter .public-DraftStyleDefault-block{text-align:center}.DraftEditor-alignCenter .public-DraftEditorPlaceholder-root{margin:0 auto;text-align:center;width:100%}.DraftEditor-alignRight .public-DraftStyleDefault-block{text-align:right}.DraftEditor-alignRight .public-DraftEditorPlaceholder-root{right:0;text-align:right}.public-DraftEditorPlaceholder-root{color:#9197a3;position:absolute;z-index:0}.public-DraftEditorPlaceholder-hasFocus{color:#bdc1c9}.DraftEditorPlaceholder-hidden{display:none}.public-DraftStyleDefault-block{position:relative;white-space:pre-wrap}.public-DraftStyleDefault-ltr{direction:ltr;text-align:left}.public-DraftStyleDefault-rtl{direction:rtl;text-align:right}.public-DraftStyleDefault-listLTR{direction:ltr}.public-DraftStyleDefault-listRTL{direction:rtl}.public-DraftStyleDefault-ol,.public-DraftStyleDefault-ul{margin:16px 0;padding:0}.public-DraftStyleDefault-depth0.public-DraftStyleDefault-listLTR{margin-left:1.5em}.public-DraftStyleDefault-depth0.public-DraftStyleDefault-listRTL{margin-right:1.5em}.public-DraftStyleDefault-depth1.public-DraftStyleDefault-listLTR{margin-left:3em}.public-DraftStyleDefault-depth1.public-DraftStyleDefault-listRTL{margin-right:3em}.public-DraftStyleDefault-depth2.public-DraftStyleDefault-listLTR{margin-left:4.5em}.public-DraftStyleDefault-depth2.public-DraftStyleDefault-listRTL{margin-right:4.5em}.public-DraftStyleDefault-depth3.public-DraftStyleDefault-listLTR{margin-left:6em}.public-DraftStyleDefault-depth3.public-DraftStyleDefault-listRTL{margin-right:6em}.public-DraftStyleDefault-depth4.public-DraftStyleDefault-listLTR{margin-left:7.5em}.public-DraftStyleDefault-depth4.public-DraftStyleDefault-listRTL{margin-right:7.5em}.public-DraftStyleDefault-unorderedListItem{list-style-type:square;position:relative}.public-DraftStyleDefault-unorderedListItem.public-DraftStyleDefault-depth0{list-style-type:disc}.public-DraftStyleDefault-unorderedListItem.public-DraftStyleDefault-depth1{list-style-type:circle}.public-DraftStyleDefault-orderedListItem{list-style-type:none;position:relative}.public-DraftStyleDefault-orderedListItem.public-DraftStyleDefault-listLTR:before{left:-36px;position:absolute;text-align:right;width:30px}.public-DraftStyleDefault-orderedListItem.public-DraftStyleDefault-listRTL:before{position:absolute;right:-36px;text-align:left;width:30px}.public-DraftStyleDefault-orderedListItem:before{content:counter(ol0) \\\". \\\";counter-increment:ol0}.public-DraftStyleDefault-orderedListItem.public-DraftStyleDefault-depth1:before{content:counter(ol1) \\\". \\\";counter-increment:ol1}.public-DraftStyleDefault-orderedListItem.public-DraftStyleDefault-depth2:before{content:counter(ol2) \\\". \\\";counter-increment:ol2}.public-DraftStyleDefault-orderedListItem.public-DraftStyleDefault-depth3:before{content:counter(ol3) \\\". \\\";counter-increment:ol3}.public-DraftStyleDefault-orderedListItem.public-DraftStyleDefault-depth4:before{content:counter(ol4) \\\". \\\";counter-increment:ol4}.public-DraftStyleDefault-depth0.public-DraftStyleDefault-reset{counter-reset:ol0}.public-DraftStyleDefault-depth1.public-DraftStyleDefault-reset{counter-reset:ol1}.public-DraftStyleDefault-depth2.public-DraftStyleDefault-reset{counter-reset:ol2}.public-DraftStyleDefault-depth3.public-DraftStyleDefault-reset{counter-reset:ol3}.public-DraftStyleDefault-depth4.public-DraftStyleDefault-reset{counter-reset:ol4}\", \"\"]);\n\n// exports\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvcmVhY3QtZHJhZnQtd3lzaXd5Zy9kaXN0L3JlYWN0LWRyYWZ0LXd5c2l3eWcuY3NzP2JhYWMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMkJBQTJCLG1CQUFPLENBQUMsbUZBQWtDO0FBQ3JFOzs7QUFHQTtBQUNBLGNBQWMsUUFBUyx3QkFBd0IsOEJBQThCLGlCQUFpQixvQkFBb0IsaUJBQWlCLHVCQUF1QixrQkFBa0IseUJBQXlCLGtCQUFrQiw2QkFBNkIsb0NBQW9DLDhCQUE4QixnQ0FBZ0Msb0JBQW9CLHNCQUFzQiwrQkFBK0IsR0FBRyw2QkFBNkIsb0NBQW9DLEdBQUcsOEJBQThCLDBDQUEwQyxHQUFHLHNCQUFzQiwwQ0FBMEMsR0FBRyx3QkFBd0IsaUJBQWlCLG9CQUFvQixHQUFHLHlCQUF5QixpQkFBaUIsc0JBQXNCLG9CQUFvQiw4QkFBOEIsdUJBQXVCLGtCQUFrQiwrQkFBK0Isc0JBQXNCLEdBQUcsK0JBQStCLGtCQUFrQixHQUFHLCtCQUErQixvQ0FBb0MsOEJBQThCLEdBQUcsZ0NBQWdDLDBDQUEwQyxHQUFHLDZCQUE2QixnQkFBZ0IsZUFBZSx1QkFBdUIsYUFBYSxlQUFlLGdDQUFnQyx1Q0FBdUMsd0NBQXdDLEdBQUcsOEJBQThCLGdCQUFnQixlQUFlLHVCQUF1QixhQUFhLGVBQWUsbUNBQW1DLHVDQUF1Qyx3Q0FBd0MsR0FBRyw4QkFBOEIseUJBQXlCLGtCQUFrQix1QkFBdUIsaUJBQWlCLDhCQUE4QixnQ0FBZ0MsbUJBQW1CLEdBQUcsK0JBQStCLGlCQUFpQix1QkFBdUIsOEJBQThCLGVBQWUsc0JBQXNCLHVCQUF1QixjQUFjLGVBQWUsc0JBQXNCLHVCQUF1QixHQUFHLHFDQUFxQyxvQ0FBb0MsOEJBQThCLEdBQUcsK0JBQStCLHFCQUFxQix5QkFBeUIsa0JBQWtCLDhCQUE4QixnQ0FBZ0MsbUJBQW1CLEdBQUcsbUNBQW1DLHdCQUF3QixHQUFHLDhCQUE4Qix3QkFBd0IsR0FBRyxnQ0FBZ0MsaUJBQWlCLG9CQUFvQixHQUFHLHVCQUF1Qix5QkFBeUIsa0JBQWtCLDhCQUE4QixnQ0FBZ0MsdUJBQXVCLHNCQUFzQix3QkFBd0IsZ0JBQWdCLEdBQUcsOEJBQThCLGlCQUFpQix5QkFBeUIsa0JBQWtCLDZCQUE2QixvQ0FBb0MsR0FBRyxzQkFBc0IseUJBQXlCLGtCQUFrQiw4QkFBOEIsZ0NBQWdDLHVCQUF1QixzQkFBc0IsdUJBQXVCLGlCQUFpQixHQUFHLHlCQUF5Qix5QkFBeUIsa0JBQWtCLDhCQUE4QixnQ0FBZ0MsdUJBQXVCLHNCQUFzQiwwQkFBMEIsb0JBQW9CLEdBQUcsd0JBQXdCLHlCQUF5QixrQkFBa0IsNkJBQTZCLG9DQUFvQyxHQUFHLDJCQUEyQix5QkFBeUIsa0JBQWtCLDhCQUE4QixnQ0FBZ0MsdUJBQXVCLHNCQUFzQiw0QkFBNEIsaUJBQWlCLEdBQUcsK0JBQStCLHdCQUF3QixvQkFBb0IscUJBQXFCLDRCQUE0QixHQUFHLGlDQUFpQyxpQkFBaUIsR0FBRyxxQkFBcUIseUJBQXlCLGtCQUFrQiw4QkFBOEIsZ0NBQWdDLHVCQUF1QixzQkFBc0Isc0JBQXNCLGdCQUFnQixnQkFBZ0IsR0FBRyw0QkFBNEIsaUJBQWlCLHlCQUF5QixrQkFBa0IsNkJBQTZCLG9DQUFvQyxHQUFHLDJCQUEyQix5QkFBeUIsa0JBQWtCLDhCQUE4QixnQ0FBZ0MsdUJBQXVCLHNCQUFzQiw0QkFBNEIsZ0JBQWdCLGdCQUFnQixHQUFHLGtDQUFrQyxpQkFBaUIseUJBQXlCLGtCQUFrQiw2QkFBNkIsb0NBQW9DLEdBQUcsNEJBQTRCLHNCQUFzQixHQUFHLDJCQUEyQixnQ0FBZ0MsR0FBRyw2QkFBNkIsa0NBQWtDLEdBQUcsOEJBQThCLG1DQUFtQyxHQUFHLGtDQUFrQywwQkFBMEIsR0FBRyxpQ0FBaUMsMEJBQTBCLEdBQUcsbUNBQW1DLDBCQUEwQixHQUFHLG9DQUFvQywwQkFBMEIsR0FBRyw0QkFBNEIseUJBQXlCLGtCQUFrQiw4QkFBOEIsZ0NBQWdDLHVCQUF1Qix1QkFBdUIsc0JBQXNCLDBCQUEwQix1QkFBdUIsY0FBYyxjQUFjLHlCQUF5QixrQkFBa0IsaUNBQWlDLGtDQUFrQyxtQ0FBbUMsaUJBQWlCLGtCQUFrQiw4QkFBOEIsa0JBQWtCLHVCQUF1QixpQkFBaUIsc0JBQXNCLG9DQUFvQyxHQUFHLGlDQUFpQyx5QkFBeUIsa0JBQWtCLHdCQUF3QixHQUFHLHNDQUFzQyxvQkFBb0IsZUFBZSx1QkFBdUIsb0JBQW9CLHdCQUF3QixHQUFHLDZDQUE2QyxxQ0FBcUMsR0FBRyxrQ0FBa0MscUJBQXFCLHlCQUF5QixrQkFBa0IsZ0JBQWdCLGlCQUFpQixvQkFBb0IscUJBQXFCLEdBQUcseUJBQXlCLGdCQUFnQixpQkFBaUIsOEJBQThCLEdBQUcsMkJBQTJCLGdCQUFnQixlQUFlLHFCQUFxQixpQkFBaUIsZ0JBQWdCLGlCQUFpQixvQkFBb0IsMENBQTBDLEdBQUcsaUNBQWlDLG9DQUFvQyxHQUFHLGtDQUFrQyxzQ0FBc0MsR0FBRyxrQ0FBa0Msd0NBQXdDLEdBQUcscUJBQXFCLHlCQUF5QixrQkFBa0IsOEJBQThCLGdDQUFnQyx1QkFBdUIsdUJBQXVCLHNCQUFzQixzQkFBc0IsZ0JBQWdCLEdBQUcsNEJBQTRCLGlCQUFpQix5QkFBeUIsa0JBQWtCLDZCQUE2QixvQ0FBb0MsR0FBRyxpQ0FBaUMscUJBQXFCLEdBQUcsbUJBQW1CLHVCQUF1QixjQUFjLGNBQWMseUJBQXlCLGtCQUFrQixpQ0FBaUMsa0NBQWtDLG1DQUFtQyxpQkFBaUIsa0JBQWtCLDhCQUE4QixrQkFBa0IsdUJBQXVCLGlCQUFpQixzQkFBc0Isb0NBQW9DLEdBQUcseUJBQXlCLG9CQUFvQixHQUFHLHlCQUF5QixvQkFBb0IsdUJBQXVCLDhCQUE4QixpQkFBaUIsd0JBQXdCLG1CQUFtQixHQUFHLCtCQUErQixrQkFBa0IsR0FBRyxpQ0FBaUMsbUJBQW1CLEdBQUcsaUNBQWlDLHdCQUF3QixHQUFHLHdDQUF3QyxxQkFBcUIsR0FBRyx1QkFBdUIsc0JBQXNCLGdCQUFnQixpQkFBaUIsOEJBQThCLHVCQUF1QixvQkFBb0Isc0JBQXNCLCtCQUErQixHQUFHLDZCQUE2QixvQ0FBb0MsR0FBRyw4QkFBOEIsMENBQTBDLEdBQUcsNkJBQTZCLDZCQUE2QixHQUFHLGdDQUFnQyx3QkFBd0IsR0FBRyw0QkFBNEIsaUJBQWlCLHlCQUF5QixrQkFBa0IsNkJBQTZCLG9DQUFvQyxHQUFHLHlCQUF5QixnQkFBZ0IsR0FBRyx5QkFBeUIseUJBQXlCLGtCQUFrQiw4QkFBOEIsZ0NBQWdDLHVCQUF1Qix1QkFBdUIsc0JBQXNCLHVCQUF1Qix1QkFBdUIsY0FBYyxjQUFjLHlCQUF5QixrQkFBa0IsaUNBQWlDLGtDQUFrQyxtQ0FBbUMsaUJBQWlCLGtCQUFrQiw4QkFBOEIsa0JBQWtCLHVCQUF1QixpQkFBaUIsc0JBQXNCLDhCQUE4QiwyQ0FBMkMsb0NBQW9DLEdBQUcsOEJBQThCLG9CQUFvQix5QkFBeUIsa0JBQWtCLEdBQUcscUNBQXFDLGVBQWUsb0JBQW9CLHlCQUF5QixrQkFBa0IsNkJBQTZCLG9DQUFvQyw4QkFBOEIsZ0NBQWdDLGlDQUFpQyxrQ0FBa0MsbUNBQW1DLEdBQUcsb0NBQW9DLGdCQUFnQiw4QkFBOEIsb0JBQW9CLHdCQUF3QixxQ0FBcUMsR0FBRyxvQ0FBb0MseUJBQXlCLGtCQUFrQixpQ0FBaUMsa0NBQWtDLG1DQUFtQyxHQUFHLGtDQUFrQyxlQUFlLGlCQUFpQixtQkFBbUIsOEJBQThCLHVCQUF1QixvQkFBb0IsbUJBQW1CLEdBQUcsMENBQTBDLHlCQUF5QixrQkFBa0IsOEJBQThCLGdDQUFnQyxHQUFHLHdDQUF3QyxrQkFBa0IsR0FBRyxtQ0FBbUMseUJBQXlCLGtCQUFrQiw2QkFBNkIsb0NBQW9DLEdBQUcsMkJBQTJCLGtCQUFrQixnQkFBZ0IsaUJBQWlCLDhCQUE4Qix1QkFBdUIsb0JBQW9CLHNCQUFzQiwrQkFBK0IsR0FBRyxpQ0FBaUMsb0NBQW9DLEdBQUcsa0NBQWtDLDBDQUEwQyxHQUFHLGlDQUFpQyw2QkFBNkIsR0FBRyxvQ0FBb0Msd0JBQXdCLEdBQUcsNEJBQTRCLDhCQUE4QixnQ0FBZ0MseUJBQXlCLGtCQUFrQixrQkFBa0IsOEJBQThCLDJDQUEyQyxHQUFHLGtDQUFrQyxlQUFlLGlCQUFpQiw4QkFBOEIsdUJBQXVCLG9CQUFvQixHQUFHLHdDQUF3QyxrQkFBa0IsR0FBRyxzQkFBc0IseUJBQXlCLGtCQUFrQiw4QkFBOEIsZ0NBQWdDLHVCQUF1Qix1QkFBdUIsc0JBQXNCLG9CQUFvQixtQkFBbUIsdUJBQXVCLGNBQWMsY0FBYyx5QkFBeUIsa0JBQWtCLG9CQUFvQixpQkFBaUIsa0JBQWtCLDhCQUE4QixrQkFBa0IsdUJBQXVCLGlCQUFpQixzQkFBc0Isb0NBQW9DLEdBQUcsbUJBQW1CLGtCQUFrQixpQkFBaUIsZ0JBQWdCLG9CQUFvQixvQkFBb0IseUJBQXlCLGtCQUFrQiw2QkFBNkIsb0NBQW9DLDhCQUE4QixnQ0FBZ0MsR0FBRyxnQkFBZ0IseUJBQXlCLGtCQUFrQiw4QkFBOEIsZ0NBQWdDLDZCQUE2QixvQ0FBb0MsaUJBQWlCLGdCQUFnQixHQUFHLHNCQUFzQixnQkFBZ0IsaUJBQWlCLDJCQUEyQiwwQkFBMEIsMEJBQTBCLHFFQUFxRSw2REFBNkQsR0FBRyw2QkFBNkIsb0NBQW9DLDRCQUE0QixHQUFHLDZCQUE2QixvQ0FBb0MsNEJBQTRCLEdBQUcscUNBQXFDLG1CQUFtQiw4QkFBOEIsU0FBUyxnQ0FBZ0MsR0FBRyw2QkFBNkIsbUJBQW1CLGtDQUFrQywwQkFBMEIsS0FBSyxNQUFNLG9DQUFvQyw0QkFBNEIsS0FBSyxHQUFHLHNCQUFzQix5QkFBeUIsa0JBQWtCLDhCQUE4QixnQ0FBZ0MsdUJBQXVCLHVCQUF1QixzQkFBc0Isb0JBQW9CLHVCQUF1QixjQUFjLGNBQWMseUJBQXlCLGtCQUFrQixpQ0FBaUMsa0NBQWtDLG1DQUFtQyxpQkFBaUIsOEJBQThCLGtCQUFrQix1QkFBdUIsaUJBQWlCLHNCQUFzQixvQ0FBb0MsR0FBRywyQkFBMkIsb0JBQW9CLG1CQUFtQix5QkFBeUIsa0JBQWtCLEdBQUcsa0NBQWtDLGVBQWUsb0JBQW9CLHlCQUF5QixrQkFBa0IsNkJBQTZCLG9DQUFvQyw4QkFBOEIsZ0NBQWdDLGlDQUFpQyxrQ0FBa0MsbUNBQW1DLEdBQUcsaUNBQWlDLGdCQUFnQix3QkFBd0IsOEJBQThCLG9CQUFvQixHQUFHLDZDQUE2Qyx3QkFBd0IscUNBQXFDLEdBQUcsa0NBQWtDLGdCQUFnQixnQkFBZ0Isb0JBQW9CLHlCQUF5QixrQkFBa0IsaUJBQWlCLG9CQUFvQiw4QkFBOEIsZ0NBQWdDLDZCQUE2QixvQ0FBb0MsOEJBQThCLDZCQUE2QiwwQkFBMEIsbUJBQW1CLG1CQUFtQixHQUFHLDhDQUE4QyxnQ0FBZ0MsR0FBRyx3Q0FBd0Msb0JBQW9CLGlCQUFpQixnQkFBZ0IseUJBQXlCLGtCQUFrQiw2QkFBNkIsb0NBQW9DLDhCQUE4QixnQ0FBZ0Msa0JBQWtCLEdBQUcsNENBQTRDLG9CQUFvQixHQUFHLGdEQUFnRCxvQkFBb0Isc0JBQXNCLEdBQUcsd0NBQXdDLGlCQUFpQixrQkFBa0IsZUFBZSxxQkFBcUIsdUJBQXVCLGdCQUFnQixHQUFHLGdDQUFnQyx5QkFBeUIsa0JBQWtCLDhCQUE4QixnQ0FBZ0MsR0FBRyw4QkFBOEIsZUFBZSxpQkFBaUIsd0JBQXdCLDhCQUE4Qix1QkFBdUIsb0JBQW9CLG1CQUFtQixHQUFHLGdDQUFnQyx3QkFBd0IsR0FBRyxvQ0FBb0Msa0JBQWtCLEdBQUcsd0JBQXdCLGtCQUFrQixnQkFBZ0IsaUJBQWlCLDhCQUE4Qix1QkFBdUIsb0JBQW9CLHNCQUFzQiwrQkFBK0IsR0FBRyw4QkFBOEIsb0NBQW9DLEdBQUcsK0JBQStCLDBDQUEwQyxHQUFHLDhCQUE4Qiw2QkFBNkIsR0FBRyxpQ0FBaUMsd0JBQXdCLEdBQUcsNEJBQTRCLHVCQUF1QixjQUFjLFlBQVksZ0JBQWdCLGlCQUFpQixpQkFBaUIsR0FBRyw4QkFBOEIsZUFBZSxpQkFBaUIsOEJBQThCLHVCQUF1QixvQkFBb0IscUJBQXFCLEdBQUcsb0NBQW9DLGtCQUFrQixHQUFHLDRCQUE0QixvQkFBb0IsR0FBRyx5QkFBeUIsOEJBQThCLGdDQUFnQyx5QkFBeUIsa0JBQWtCLGtCQUFrQiw4QkFBOEIsMkNBQTJDLEdBQUcsK0JBQStCLGVBQWUsaUJBQWlCLDhCQUE4Qix1QkFBdUIsb0JBQW9CLEdBQUcscUNBQXFDLGtCQUFrQixHQUFHLDZCQUE2QixlQUFlLHFCQUFxQixzQkFBc0IsR0FBRyx1QkFBdUIseUJBQXlCLGtCQUFrQiw4QkFBOEIsZ0NBQWdDLHVCQUF1Qix1QkFBdUIsc0JBQXNCLHdCQUF3Qix5QkFBeUIsa0JBQWtCLDhCQUE4QixnQ0FBZ0MsdUJBQXVCLHNCQUFzQiwrQkFBK0IsaUJBQWlCLHlCQUF5QixrQkFBa0IsNkJBQTZCLG9DQUFvQyxHQUFHLHlCQUF5QixnQkFBZ0IsR0FBRywrQkFBK0IsdUJBQXVCLEdBQUcsNEJBQTRCLHVCQUF1QixjQUFjLFdBQVcsb0JBQW9CLDRCQUE0QixHQUFHLHFCQUFxQiwwQkFBMEIsbUJBQW1CLDhCQUE4QixxQkFBcUIsdUJBQXVCLEdBQUcsMkJBQTJCLHVCQUF1QixHQUFHLDRCQUE0Qix1QkFBdUIseUJBQXlCLGtCQUFrQixpQ0FBaUMsa0NBQWtDLG1DQUFtQyw4QkFBOEIscUJBQXFCLHNCQUFzQixtQkFBbUIsc0JBQXNCLGlCQUFpQixHQUFHLDBCQUEwQixxQkFBcUIscUNBQXFDLEdBQUcsaUNBQWlDLDhCQUE4QixHQUFHLHFCQUFxQiwwQkFBMEIsbUJBQW1CLDhCQUE4QixxQkFBcUIsdUJBQXVCLEdBQUcsc0NBQXNDLHVCQUF1QixzQkFBc0IseUJBQXlCLGtCQUFrQixxQkFBcUIsdUJBQXVCLDhCQUE4QixpQkFBaUIsb0JBQW9CLGlCQUFpQixHQUFHLDhCQUE4Qiw0QkFBNEIsd0NBQXdDLEdBQUcsK0JBQStCLGlCQUFpQixnQkFBZ0Isb0JBQW9CLEdBQUcsd0JBQXdCLHVCQUF1QixHQUFHLDJCQUEyQix1QkFBdUIsR0FBRyxxQkFBcUIseUJBQXlCLGtCQUFrQiw2QkFBNkIsb0NBQW9DLEdBQUcsbUJBQW1CLHlCQUF5QixrQkFBa0IsR0FBRyxvQkFBb0IseUJBQXlCLGtCQUFrQiwwQkFBMEIsc0NBQXNDLEdBQUcsNENBQTRDLGFBQWEsR0FBRyxvQkFBb0IsaUJBQWlCLG1CQUFtQiwyQkFBMkIsR0FBRyx1QkFBdUIsdUJBQXVCLHVCQUF1Qiw4QkFBOEIseUJBQXlCLGtCQUFrQiw0QkFBNEIsd0NBQXdDLHNCQUFzQixvQkFBb0Isb0JBQW9CLHVCQUF1Qiw4QkFBOEIsOEJBQThCLDhCQUE4Qiw4QkFBOEIsR0FBRyxtQ0FBbUMsa0JBQWtCLEdBQUcsNkJBQTZCLGtCQUFrQixHQUFHLHVCQUF1Qiw0QkFBNEIsR0FBRywrQkFBK0IsbUNBQW1DLHNCQUFzQixHQUFHLHdCQUF3Qix3QkFBd0IsdUJBQXVCLHNCQUFzQixHQUFHLDZaQUE2WixlQUFlLG1CQUFtQixrREFBa0QsOENBQThDLGtCQUFrQixrQkFBa0IsNkJBQTZCLHFDQUFxQyxtQ0FBbUMsa0JBQWtCLFVBQVUsMEJBQTBCLGtCQUFrQix1REFBdUQsZ0JBQWdCLDJEQUEyRCxPQUFPLGdCQUFnQix5REFBeUQsa0JBQWtCLDZEQUE2RCxjQUFjLGtCQUFrQixXQUFXLHdEQUF3RCxpQkFBaUIsNERBQTRELFFBQVEsaUJBQWlCLG9DQUFvQyxjQUFjLGtCQUFrQixVQUFVLHdDQUF3QyxjQUFjLCtCQUErQixhQUFhLGdDQUFnQyxrQkFBa0IscUJBQXFCLDhCQUE4QixjQUFjLGdCQUFnQiw4QkFBOEIsY0FBYyxpQkFBaUIsa0NBQWtDLGNBQWMsa0NBQWtDLGNBQWMsMERBQTBELGNBQWMsVUFBVSxrRUFBa0Usa0JBQWtCLGtFQUFrRSxtQkFBbUIsa0VBQWtFLGdCQUFnQixrRUFBa0UsaUJBQWlCLGtFQUFrRSxrQkFBa0Isa0VBQWtFLG1CQUFtQixrRUFBa0UsZ0JBQWdCLGtFQUFrRSxpQkFBaUIsa0VBQWtFLGtCQUFrQixrRUFBa0UsbUJBQW1CLDRDQUE0Qyx1QkFBdUIsa0JBQWtCLDRFQUE0RSxxQkFBcUIsNEVBQTRFLHVCQUF1QiwwQ0FBMEMscUJBQXFCLGtCQUFrQixrRkFBa0YsV0FBVyxrQkFBa0IsaUJBQWlCLFdBQVcsa0ZBQWtGLGtCQUFrQixZQUFZLGdCQUFnQixXQUFXLGlEQUFpRCw0QkFBNEIsc0JBQXNCLGlGQUFpRiw0QkFBNEIsc0JBQXNCLGlGQUFpRiw0QkFBNEIsc0JBQXNCLGlGQUFpRiw0QkFBNEIsc0JBQXNCLGlGQUFpRiw0QkFBNEIsc0JBQXNCLGdFQUFnRSxrQkFBa0IsZ0VBQWdFLGtCQUFrQixnRUFBZ0Usa0JBQWtCLGdFQUFnRSxrQkFBa0IsZ0VBQWdFLGtCQUFrQjs7QUFFbnR4QiIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzPyEuL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/IS4vbm9kZV9tb2R1bGVzL3JlYWN0LWRyYWZ0LXd5c2l3eWcvZGlzdC9yZWFjdC1kcmFmdC13eXNpd3lnLmNzcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCIuLi8uLi9jc3MtbG9hZGVyL2xpYi9jc3MtYmFzZS5qc1wiKShmYWxzZSk7XG4vLyBpbXBvcnRzXG5cblxuLy8gbW9kdWxlXG5leHBvcnRzLnB1c2goW21vZHVsZS5pZCwgXCIucmR3LW9wdGlvbi13cmFwcGVyIHtcXG4gIGJvcmRlcjogMXB4IHNvbGlkICNGMUYxRjE7XFxuICBwYWRkaW5nOiA1cHg7XFxuICBtaW4td2lkdGg6IDI1cHg7XFxuICBoZWlnaHQ6IDIwcHg7XFxuICBib3JkZXItcmFkaXVzOiAycHg7XFxuICBtYXJnaW46IDAgNHB4O1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG4gIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICBjdXJzb3I6IHBvaW50ZXI7XFxuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcXG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xcbn1cXG4ucmR3LW9wdGlvbi13cmFwcGVyOmhvdmVyIHtcXG4gIGJveC1zaGFkb3c6IDFweCAxcHggMHB4ICNCRkJEQkQ7XFxufVxcbi5yZHctb3B0aW9uLXdyYXBwZXI6YWN0aXZlIHtcXG4gIGJveC1zaGFkb3c6IDFweCAxcHggMHB4ICNCRkJEQkQgaW5zZXQ7XFxufVxcbi5yZHctb3B0aW9uLWFjdGl2ZSB7XFxuICBib3gtc2hhZG93OiAxcHggMXB4IDBweCAjQkZCREJEIGluc2V0O1xcbn1cXG4ucmR3LW9wdGlvbi1kaXNhYmxlZCB7XFxuICBvcGFjaXR5OiAwLjM7XFxuICBjdXJzb3I6IGRlZmF1bHQ7XFxufVxcbi5yZHctZHJvcGRvd24td3JhcHBlciB7XFxuICBoZWlnaHQ6IDMwcHg7XFxuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcXG4gIGN1cnNvcjogcG9pbnRlcjtcXG4gIGJvcmRlcjogMXB4IHNvbGlkICNGMUYxRjE7XFxuICBib3JkZXItcmFkaXVzOiAycHg7XFxuICBtYXJnaW46IDAgM3B4O1xcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XFxuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcXG59XFxuLnJkdy1kcm9wZG93bi13cmFwcGVyOmZvY3VzIHtcXG4gIG91dGxpbmU6IG5vbmU7XFxufVxcbi5yZHctZHJvcGRvd24td3JhcHBlcjpob3ZlciB7XFxuICBib3gtc2hhZG93OiAxcHggMXB4IDBweCAjQkZCREJEO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcXG59XFxuLnJkdy1kcm9wZG93bi13cmFwcGVyOmFjdGl2ZSB7XFxuICBib3gtc2hhZG93OiAxcHggMXB4IDBweCAjQkZCREJEIGluc2V0O1xcbn1cXG4ucmR3LWRyb3Bkb3duLWNhcmV0dG9vcGVuIHtcXG4gIGhlaWdodDogMHB4O1xcbiAgd2lkdGg6IDBweDtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHRvcDogMzUlO1xcbiAgcmlnaHQ6IDEwJTtcXG4gIGJvcmRlci10b3A6IDZweCBzb2xpZCBibGFjaztcXG4gIGJvcmRlci1sZWZ0OiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICBib3JkZXItcmlnaHQ6IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcXG59XFxuLnJkdy1kcm9wZG93bi1jYXJldHRvY2xvc2Uge1xcbiAgaGVpZ2h0OiAwcHg7XFxuICB3aWR0aDogMHB4O1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdG9wOiAzNSU7XFxuICByaWdodDogMTAlO1xcbiAgYm9yZGVyLWJvdHRvbTogNnB4IHNvbGlkIGJsYWNrO1xcbiAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gIGJvcmRlci1yaWdodDogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbn1cXG4ucmR3LWRyb3Bkb3duLXNlbGVjdGVkdGV4dCB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgcGFkZGluZzogMCA1cHg7XFxufVxcbi5yZHctZHJvcGRvd24tb3B0aW9ud3JhcHBlciB7XFxuICB6LWluZGV4OiAxMDA7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBib3JkZXI6IDFweCBzb2xpZCAjRjFGMUYxO1xcbiAgd2lkdGg6IDk4JTtcXG4gIGJhY2tncm91bmQ6IHdoaXRlO1xcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xcbiAgbWFyZ2luOiAwO1xcbiAgcGFkZGluZzogMDtcXG4gIG1heC1oZWlnaHQ6IDI1MHB4O1xcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xcbn1cXG4ucmR3LWRyb3Bkb3duLW9wdGlvbndyYXBwZXI6aG92ZXIge1xcbiAgYm94LXNoYWRvdzogMXB4IDFweCAwcHggI0JGQkRCRDtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XFxufVxcbi5yZHctZHJvcGRvd25vcHRpb24tZGVmYXVsdCB7XFxuICBtaW4taGVpZ2h0OiAyNXB4O1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIHBhZGRpbmc6IDAgNXB4O1xcbn1cXG4ucmR3LWRyb3Bkb3dub3B0aW9uLWhpZ2hsaWdodGVkIHtcXG4gIGJhY2tncm91bmQ6ICNGMUYxRjE7XFxufVxcbi5yZHctZHJvcGRvd25vcHRpb24tYWN0aXZlIHtcXG4gIGJhY2tncm91bmQ6ICNmNWY1ZjU7XFxufVxcbi5yZHctZHJvcGRvd25vcHRpb24tZGlzYWJsZWQge1xcbiAgb3BhY2l0eTogMC4zO1xcbiAgY3Vyc29yOiBkZWZhdWx0O1xcbn1cXG4ucmR3LWlubGluZS13cmFwcGVyIHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICBtYXJnaW4tYm90dG9tOiA2cHg7XFxuICBmbGV4LXdyYXA6IHdyYXBcXG59XFxuLnJkdy1pbmxpbmUtZHJvcGRvd24ge1xcbiAgd2lkdGg6IDUwcHg7XFxufVxcbi5yZHctaW5saW5lLWRyb3Bkb3dub3B0aW9uIHtcXG4gIGhlaWdodDogNDBweDtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcXG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxufVxcbi5yZHctYmxvY2std3JhcHBlciB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgbWFyZ2luLWJvdHRvbTogNnB4O1xcbiAgZmxleC13cmFwOiB3cmFwXFxufVxcbi5yZHctYmxvY2stZHJvcGRvd24ge1xcbiAgd2lkdGg6IDExMHB4O1xcbn1cXG4ucmR3LWZvbnRzaXplLXdyYXBwZXIge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIG1hcmdpbi1ib3R0b206IDZweDtcXG4gIGZsZXgtd3JhcDogd3JhcFxcbn1cXG4ucmR3LWZvbnRzaXplLWRyb3Bkb3duIHtcXG4gIG1pbi13aWR0aDogNDBweDtcXG59XFxuLnJkdy1mb250c2l6ZS1vcHRpb24ge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG59XFxuLnJkdy1mb250ZmFtaWx5LXdyYXBwZXIge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIG1hcmdpbi1ib3R0b206IDZweDtcXG4gIGZsZXgtd3JhcDogd3JhcFxcbn1cXG4ucmR3LWZvbnRmYW1pbHktZHJvcGRvd24ge1xcbiAgd2lkdGg6IDExNXB4O1xcbn1cXG4ucmR3LWZvbnRmYW1pbHktcGxhY2Vob2xkZXIge1xcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcXG4gIG1heC13aWR0aDogOTBweDtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcXG59XFxuLnJkdy1mb250ZmFtaWx5LW9wdGlvbndyYXBwZXIge1xcbiAgd2lkdGg6IDE0MHB4O1xcbn1cXG4ucmR3LWxpc3Qtd3JhcHBlciB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgbWFyZ2luLWJvdHRvbTogNnB4O1xcbiAgZmxleC13cmFwOiB3cmFwXFxufVxcbi5yZHctbGlzdC1kcm9wZG93biB7XFxuICB3aWR0aDogNTBweDtcXG4gIHotaW5kZXg6IDkwO1xcbn1cXG4ucmR3LWxpc3QtZHJvcGRvd25PcHRpb24ge1xcbiAgaGVpZ2h0OiA0MHB4O1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG59XFxuLnJkdy10ZXh0LWFsaWduLXdyYXBwZXIge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIG1hcmdpbi1ib3R0b206IDZweDtcXG4gIGZsZXgtd3JhcDogd3JhcFxcbn1cXG4ucmR3LXRleHQtYWxpZ24tZHJvcGRvd24ge1xcbiAgd2lkdGg6IDUwcHg7XFxuICB6LWluZGV4OiA5MDtcXG59XFxuLnJkdy10ZXh0LWFsaWduLWRyb3Bkb3duT3B0aW9uIHtcXG4gIGhlaWdodDogNDBweDtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcXG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxufVxcbi5yZHctcmlnaHQtYWxpZ25lZC1ibG9jayB7XFxuICB0ZXh0LWFsaWduOiByaWdodDtcXG59XFxuLnJkdy1sZWZ0LWFsaWduZWQtYmxvY2sge1xcbiAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xcbn1cXG4ucmR3LWNlbnRlci1hbGlnbmVkLWJsb2NrIHtcXG4gIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xcbn1cXG4ucmR3LWp1c3RpZnktYWxpZ25lZC1ibG9jayB7XFxuICB0ZXh0LWFsaWduOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7XFxufVxcbi5yZHctcmlnaHQtYWxpZ25lZC1ibG9jayA+IGRpdiB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxufVxcbi5yZHctbGVmdC1hbGlnbmVkLWJsb2NrID4gZGl2IHtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG59XFxuLnJkdy1jZW50ZXItYWxpZ25lZC1ibG9jayA+IGRpdiB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxufVxcbi5yZHctanVzdGlmeS1hbGlnbmVkLWJsb2NrID4gZGl2IHtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG59XFxuLnJkdy1jb2xvcnBpY2tlci13cmFwcGVyIHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICBtYXJnaW4tYm90dG9tOiA2cHg7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBmbGV4LXdyYXA6IHdyYXBcXG59XFxuLnJkdy1jb2xvcnBpY2tlci1tb2RhbCB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB0b3A6IDM1cHg7XFxuICBsZWZ0OiA1cHg7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICB3aWR0aDogMTc1cHg7XFxuICBoZWlnaHQ6IDE3NXB4O1xcbiAgYm9yZGVyOiAxcHggc29saWQgI0YxRjFGMTtcXG4gIHBhZGRpbmc6IDE1cHg7XFxuICBib3JkZXItcmFkaXVzOiAycHg7XFxuICB6LWluZGV4OiAxMDA7XFxuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcXG4gIGJveC1zaGFkb3c6IDNweCAzcHggNXB4ICNCRkJEQkQ7XFxufVxcbi5yZHctY29sb3JwaWNrZXItbW9kYWwtaGVhZGVyIHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIHBhZGRpbmctYm90dG9tOiA1cHg7XFxufVxcbi5yZHctY29sb3JwaWNrZXItbW9kYWwtc3R5bGUtbGFiZWwge1xcbiAgZm9udC1zaXplOiAxNXB4O1xcbiAgd2lkdGg6IDUwJTtcXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcXG4gIGN1cnNvcjogcG9pbnRlcjtcXG4gIHBhZGRpbmc6IDAgMTBweCA1cHg7XFxufVxcbi5yZHctY29sb3JwaWNrZXItbW9kYWwtc3R5bGUtbGFiZWwtYWN0aXZlIHtcXG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjMGE2NmI3O1xcbn1cXG4ucmR3LWNvbG9ycGlja2VyLW1vZGFsLW9wdGlvbnMge1xcbiAgbWFyZ2luOiA1cHggYXV0bztcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgZmxleC13cmFwOiB3cmFwO1xcbiAgb3ZlcmZsb3c6IHNjcm9sbDtcXG59XFxuLnJkdy1jb2xvcnBpY2tlci1jdWJlIHtcXG4gIHdpZHRoOiAyMnB4O1xcbiAgaGVpZ2h0OiAyMnB4O1xcbiAgYm9yZGVyOiAxcHggc29saWQgI0YxRjFGMTtcXG59XFxuLnJkdy1jb2xvcnBpY2tlci1vcHRpb24ge1xcbiAgbWFyZ2luOiAzcHg7XFxuICBwYWRkaW5nOiAwO1xcbiAgbWluLWhlaWdodDogMjBweDtcXG4gIGJvcmRlcjogbm9uZTtcXG4gIHdpZHRoOiAyMnB4O1xcbiAgaGVpZ2h0OiAyMnB4O1xcbiAgbWluLXdpZHRoOiAyMnB4O1xcbiAgYm94LXNoYWRvdzogMXB4IDJweCAxcHggI0JGQkRCRCBpbnNldDtcXG59XFxuLnJkdy1jb2xvcnBpY2tlci1vcHRpb246aG92ZXIge1xcbiAgYm94LXNoYWRvdzogMXB4IDJweCAxcHggI0JGQkRCRDtcXG59XFxuLnJkdy1jb2xvcnBpY2tlci1vcHRpb246YWN0aXZlIHtcXG4gIGJveC1zaGFkb3c6IC0xcHggLTJweCAxcHggI0JGQkRCRDtcXG59XFxuLnJkdy1jb2xvcnBpY2tlci1vcHRpb24tYWN0aXZlIHtcXG4gIGJveC1zaGFkb3c6IDBweCAwcHggMnB4IDJweCAjQkZCREJEO1xcbn1cXG4ucmR3LWxpbmstd3JhcHBlciB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgbWFyZ2luLWJvdHRvbTogNnB4O1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgZmxleC13cmFwOiB3cmFwXFxufVxcbi5yZHctbGluay1kcm9wZG93biB7XFxuICB3aWR0aDogNTBweDtcXG59XFxuLnJkdy1saW5rLWRyb3Bkb3duT3B0aW9uIHtcXG4gIGhlaWdodDogNDBweDtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcXG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxufVxcbi5yZHctbGluay1kcm9wZG93blBsYWNlaG9sZGVyIHtcXG4gIG1hcmdpbi1sZWZ0OiA4cHg7XFxufVxcbi5yZHctbGluay1tb2RhbCB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB0b3A6IDM1cHg7XFxuICBsZWZ0OiA1cHg7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICB3aWR0aDogMjM1cHg7XFxuICBoZWlnaHQ6IDIwNXB4O1xcbiAgYm9yZGVyOiAxcHggc29saWQgI0YxRjFGMTtcXG4gIHBhZGRpbmc6IDE1cHg7XFxuICBib3JkZXItcmFkaXVzOiAycHg7XFxuICB6LWluZGV4OiAxMDA7XFxuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcXG4gIGJveC1zaGFkb3c6IDNweCAzcHggNXB4ICNCRkJEQkQ7XFxufVxcbi5yZHctbGluay1tb2RhbC1sYWJlbCB7XFxuICBmb250LXNpemU6IDE1cHg7XFxufVxcbi5yZHctbGluay1tb2RhbC1pbnB1dCB7XFxuICBtYXJnaW4tdG9wOiA1cHg7XFxuICBib3JkZXItcmFkaXVzOiAycHg7XFxuICBib3JkZXI6IDFweCBzb2xpZCAjRjFGMUYxO1xcbiAgaGVpZ2h0OiAyNXB4O1xcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcXG4gIHBhZGRpbmc6IDAgNXB4O1xcbn1cXG4ucmR3LWxpbmstbW9kYWwtaW5wdXQ6Zm9jdXMge1xcbiAgb3V0bGluZTogbm9uZTtcXG59XFxuLnJkdy1saW5rLW1vZGFsLWJ1dHRvbnNlY3Rpb24ge1xcbiAgbWFyZ2luOiAwIGF1dG87XFxufVxcbi5yZHctbGluay1tb2RhbC10YXJnZXQtb3B0aW9uIHtcXG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XFxufVxcbi5yZHctbGluay1tb2RhbC10YXJnZXQtb3B0aW9uID4gc3BhbiB7XFxuICBtYXJnaW4tbGVmdDogNXB4O1xcbn1cXG4ucmR3LWxpbmstbW9kYWwtYnRuIHtcXG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xcbiAgd2lkdGg6IDc1cHg7XFxuICBoZWlnaHQ6IDMwcHg7XFxuICBib3JkZXI6IDFweCBzb2xpZCAjRjFGMUYxO1xcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xcbiAgY3Vyc29yOiBwb2ludGVyO1xcbiAgYmFja2dyb3VuZDogd2hpdGU7XFxuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcXG59XFxuLnJkdy1saW5rLW1vZGFsLWJ0bjpob3ZlciB7XFxuICBib3gtc2hhZG93OiAxcHggMXB4IDBweCAjQkZCREJEO1xcbn1cXG4ucmR3LWxpbmstbW9kYWwtYnRuOmFjdGl2ZSB7XFxuICBib3gtc2hhZG93OiAxcHggMXB4IDBweCAjQkZCREJEIGluc2V0O1xcbn1cXG4ucmR3LWxpbmstbW9kYWwtYnRuOmZvY3VzIHtcXG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcXG59XFxuLnJkdy1saW5rLW1vZGFsLWJ0bjpkaXNhYmxlZCB7XFxuICBiYWNrZ3JvdW5kOiAjZWNlOWU5O1xcbn1cXG4ucmR3LWxpbmstZHJvcGRvd25vcHRpb24ge1xcbiAgaGVpZ2h0OiA0MHB4O1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG59XFxuLnJkdy1oaXN0b3J5LWRyb3Bkb3duIHtcXG4gIHdpZHRoOiA1MHB4O1xcbn1cXG4ucmR3LWVtYmVkZGVkLXdyYXBwZXIge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIG1hcmdpbi1ib3R0b206IDZweDtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIGZsZXgtd3JhcDogd3JhcFxcbn1cXG4ucmR3LWVtYmVkZGVkLW1vZGFsIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHRvcDogMzVweDtcXG4gIGxlZnQ6IDVweDtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XFxuICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcXG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gIHdpZHRoOiAyMzVweDtcXG4gIGhlaWdodDogMTgwcHg7XFxuICBib3JkZXI6IDFweCBzb2xpZCAjRjFGMUYxO1xcbiAgcGFkZGluZzogMTVweDtcXG4gIGJvcmRlci1yYWRpdXM6IDJweDtcXG4gIHotaW5kZXg6IDEwMDtcXG4gIGJhY2tncm91bmQ6IHdoaXRlO1xcbiAgLXdlYmtpdC1ib3gtcGFjazoganVzdGlmeTtcXG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xcbiAgYm94LXNoYWRvdzogM3B4IDNweCA1cHggI0JGQkRCRDtcXG59XFxuLnJkdy1lbWJlZGRlZC1tb2RhbC1oZWFkZXIge1xcbiAgZm9udC1zaXplOiAxNXB4O1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbn1cXG4ucmR3LWVtYmVkZGVkLW1vZGFsLWhlYWRlci1vcHRpb24ge1xcbiAgd2lkdGg6IDUwJTtcXG4gIGN1cnNvcjogcG9pbnRlcjtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcXG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcXG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbn1cXG4ucmR3LWVtYmVkZGVkLW1vZGFsLWhlYWRlci1sYWJlbCB7XFxuICB3aWR0aDogOTVweDtcXG4gIGJvcmRlcjogMXB4IHNvbGlkICNmMWYxZjE7XFxuICBtYXJnaW4tdG9wOiA1cHg7XFxuICBiYWNrZ3JvdW5kOiAjNkVCOEQ0O1xcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMwYTY2Yjc7XFxufVxcbi5yZHctZW1iZWRkZWQtbW9kYWwtbGluay1zZWN0aW9uIHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XFxuICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcXG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG59XFxuLnJkdy1lbWJlZGRlZC1tb2RhbC1saW5rLWlucHV0IHtcXG4gIHdpZHRoOiA4OCU7XFxuICBoZWlnaHQ6IDM1cHg7XFxuICBtYXJnaW46IDEwcHggMDtcXG4gIGJvcmRlcjogMXB4IHNvbGlkICNGMUYxRjE7XFxuICBib3JkZXItcmFkaXVzOiAycHg7XFxuICBmb250LXNpemU6IDE1cHg7XFxuICBwYWRkaW5nOiAwIDVweDtcXG59XFxuLnJkdy1lbWJlZGRlZC1tb2RhbC1saW5rLWlucHV0LXdyYXBwZXIge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG59XFxuLnJkdy1lbWJlZGRlZC1tb2RhbC1saW5rLWlucHV0OmZvY3VzIHtcXG4gIG91dGxpbmU6IG5vbmU7XFxufVxcbi5yZHctZW1iZWRkZWQtbW9kYWwtYnRuLXNlY3Rpb24ge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG59XFxuLnJkdy1lbWJlZGRlZC1tb2RhbC1idG4ge1xcbiAgbWFyZ2luOiAwIDNweDtcXG4gIHdpZHRoOiA3NXB4O1xcbiAgaGVpZ2h0OiAzMHB4O1xcbiAgYm9yZGVyOiAxcHggc29saWQgI0YxRjFGMTtcXG4gIGJvcmRlci1yYWRpdXM6IDJweDtcXG4gIGN1cnNvcjogcG9pbnRlcjtcXG4gIGJhY2tncm91bmQ6IHdoaXRlO1xcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XFxufVxcbi5yZHctZW1iZWRkZWQtbW9kYWwtYnRuOmhvdmVyIHtcXG4gIGJveC1zaGFkb3c6IDFweCAxcHggMHB4ICNCRkJEQkQ7XFxufVxcbi5yZHctZW1iZWRkZWQtbW9kYWwtYnRuOmFjdGl2ZSB7XFxuICBib3gtc2hhZG93OiAxcHggMXB4IDBweCAjQkZCREJEIGluc2V0O1xcbn1cXG4ucmR3LWVtYmVkZGVkLW1vZGFsLWJ0bjpmb2N1cyB7XFxuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XFxufVxcbi5yZHctZW1iZWRkZWQtbW9kYWwtYnRuOmRpc2FibGVkIHtcXG4gIGJhY2tncm91bmQ6ICNlY2U5ZTk7XFxufVxcbi5yZHctZW1iZWRkZWQtbW9kYWwtc2l6ZSB7XFxuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgbWFyZ2luOiA4cHggMDtcXG4gIC13ZWJraXQtYm94LXBhY2s6IGp1c3RpZnk7XFxuICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcXG59XFxuLnJkdy1lbWJlZGRlZC1tb2RhbC1zaXplLWlucHV0IHtcXG4gIHdpZHRoOiA4MCU7XFxuICBoZWlnaHQ6IDIwcHg7XFxuICBib3JkZXI6IDFweCBzb2xpZCAjRjFGMUYxO1xcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xcbiAgZm9udC1zaXplOiAxMnB4O1xcbn1cXG4ucmR3LWVtYmVkZGVkLW1vZGFsLXNpemUtaW5wdXQ6Zm9jdXMge1xcbiAgb3V0bGluZTogbm9uZTtcXG59XFxuLnJkdy1lbW9qaS13cmFwcGVyIHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICBtYXJnaW4tYm90dG9tOiA2cHg7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBmbGV4LXdyYXA6IHdyYXBcXG59XFxuLnJkdy1lbW9qaS1tb2RhbCB7XFxuICBvdmVyZmxvdzogYXV0bztcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHRvcDogMzVweDtcXG4gIGxlZnQ6IDVweDtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIGZsZXgtd3JhcDogd3JhcDtcXG4gIHdpZHRoOiAyMzVweDtcXG4gIGhlaWdodDogMTgwcHg7XFxuICBib3JkZXI6IDFweCBzb2xpZCAjRjFGMUYxO1xcbiAgcGFkZGluZzogMTVweDtcXG4gIGJvcmRlci1yYWRpdXM6IDJweDtcXG4gIHotaW5kZXg6IDEwMDtcXG4gIGJhY2tncm91bmQ6IHdoaXRlO1xcbiAgYm94LXNoYWRvdzogM3B4IDNweCA1cHggI0JGQkRCRDtcXG59XFxuLnJkdy1lbW9qaS1pY29uIHtcXG4gIG1hcmdpbjogMi41cHg7XFxuICBoZWlnaHQ6IDI0cHg7XFxuICB3aWR0aDogMjRweDtcXG4gIGN1cnNvcjogcG9pbnRlcjtcXG4gIGZvbnQtc2l6ZTogMjJweDtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcXG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbn1cXG4ucmR3LXNwaW5uZXIge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcXG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICB3aWR0aDogMTAwJTtcXG59XFxuLnJkdy1zcGlubmVyID4gZGl2IHtcXG4gIHdpZHRoOiAxMnB4O1xcbiAgaGVpZ2h0OiAxMnB4O1xcbiAgYmFja2dyb3VuZC1jb2xvcjogIzMzMztcXG5cXG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICAtd2Via2l0LWFuaW1hdGlvbjogc2stYm91bmNlZGVsYXkgMS40cyBpbmZpbml0ZSBlYXNlLWluLW91dCBib3RoO1xcbiAgYW5pbWF0aW9uOiBzay1ib3VuY2VkZWxheSAxLjRzIGluZmluaXRlIGVhc2UtaW4tb3V0IGJvdGg7XFxufVxcbi5yZHctc3Bpbm5lciAucmR3LWJvdW5jZTEge1xcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IC0wLjMycztcXG4gIGFuaW1hdGlvbi1kZWxheTogLTAuMzJzO1xcbn1cXG4ucmR3LXNwaW5uZXIgLnJkdy1ib3VuY2UyIHtcXG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAtMC4xNnM7XFxuICBhbmltYXRpb24tZGVsYXk6IC0wLjE2cztcXG59XFxuQC13ZWJraXQta2V5ZnJhbWVzIHNrLWJvdW5jZWRlbGF5IHtcXG4gIDAlLCA4MCUsIDEwMCUgeyAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCkgfVxcbiAgNDAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMCkgfVxcbn1cXG5Aa2V5ZnJhbWVzIHNrLWJvdW5jZWRlbGF5IHtcXG4gIDAlLCA4MCUsIDEwMCUge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCk7XFxuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XFxuICB9IDQwJSB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjApO1xcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMCk7XFxuICB9XFxufVxcbi5yZHctaW1hZ2Utd3JhcHBlciB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgbWFyZ2luLWJvdHRvbTogNnB4O1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgZmxleC13cmFwOiB3cmFwXFxufVxcbi5yZHctaW1hZ2UtbW9kYWwge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdG9wOiAzNXB4O1xcbiAgbGVmdDogNXB4O1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcXG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgd2lkdGg6IDIzNXB4O1xcbiAgYm9yZGVyOiAxcHggc29saWQgI0YxRjFGMTtcXG4gIHBhZGRpbmc6IDE1cHg7XFxuICBib3JkZXItcmFkaXVzOiAycHg7XFxuICB6LWluZGV4OiAxMDA7XFxuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcXG4gIGJveC1zaGFkb3c6IDNweCAzcHggNXB4ICNCRkJEQkQ7XFxufVxcbi5yZHctaW1hZ2UtbW9kYWwtaGVhZGVyIHtcXG4gIGZvbnQtc2l6ZTogMTVweDtcXG4gIG1hcmdpbjogMTBweCAwO1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbn1cXG4ucmR3LWltYWdlLW1vZGFsLWhlYWRlci1vcHRpb24ge1xcbiAgd2lkdGg6IDUwJTtcXG4gIGN1cnNvcjogcG9pbnRlcjtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcXG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcXG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbn1cXG4ucmR3LWltYWdlLW1vZGFsLWhlYWRlci1sYWJlbCB7XFxuICB3aWR0aDogODBweDtcXG4gIGJhY2tncm91bmQ6ICNmMWYxZjE7XFxuICBib3JkZXI6IDFweCBzb2xpZCAjZjFmMWYxO1xcbiAgbWFyZ2luLXRvcDogNXB4O1xcbn1cXG4ucmR3LWltYWdlLW1vZGFsLWhlYWRlci1sYWJlbC1oaWdobGlnaHRlZCB7XFxuICBiYWNrZ3JvdW5kOiAjNkVCOEQ0O1xcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMwYTY2Yjc7XFxufVxcbi5yZHctaW1hZ2UtbW9kYWwtdXBsb2FkLW9wdGlvbiB7XFxuICB3aWR0aDogMTAwJTtcXG4gIGNvbG9yOiBncmF5O1xcbiAgY3Vyc29yOiBwb2ludGVyO1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgYm9yZGVyOiBub25lO1xcbiAgZm9udC1zaXplOiAxNXB4O1xcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcXG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxO1xcbiAgb3V0bGluZTogMnB4IGRhc2hlZCBncmF5O1xcbiAgb3V0bGluZS1vZmZzZXQ6IC0xMHB4O1xcbiAgbWFyZ2luOiAxMHB4IDA7XFxuICBwYWRkaW5nOiA5cHggMDtcXG59XFxuLnJkdy1pbWFnZS1tb2RhbC11cGxvYWQtb3B0aW9uLWhpZ2hsaWdodGVkIHtcXG4gIG91dGxpbmU6IDJweCBkYXNoZWQgIzBhNjZiNztcXG59XFxuLnJkdy1pbWFnZS1tb2RhbC11cGxvYWQtb3B0aW9uLWxhYmVsIHtcXG4gIGN1cnNvcjogcG9pbnRlcjtcXG4gIGhlaWdodDogMTAwJTtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG4gIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICBwYWRkaW5nOiAxNXB4O1xcbn1cXG4ucmR3LWltYWdlLW1vZGFsLXVwbG9hZC1vcHRpb24tbGFiZWwgc3BhbntcXG4gIHBhZGRpbmc6IDAgMjBweDtcXG59XFxuLnJkdy1pbWFnZS1tb2RhbC11cGxvYWQtb3B0aW9uLWltYWdlLXByZXZpZXcge1xcbiAgbWF4LXdpZHRoOiAxMDAlO1xcbiAgbWF4LWhlaWdodDogMjAwcHg7XFxufVxcbi5yZHctaW1hZ2UtbW9kYWwtdXBsb2FkLW9wdGlvbi1pbnB1dCB7XFxuXFx0d2lkdGg6IDAuMXB4O1xcblxcdGhlaWdodDogMC4xcHg7XFxuXFx0b3BhY2l0eTogMDtcXG5cXHRvdmVyZmxvdzogaGlkZGVuO1xcblxcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG5cXHR6LWluZGV4OiAtMTtcXG59XFxuLnJkdy1pbWFnZS1tb2RhbC11cmwtc2VjdGlvbiB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbn1cXG4ucmR3LWltYWdlLW1vZGFsLXVybC1pbnB1dCB7XFxuICB3aWR0aDogOTAlO1xcbiAgaGVpZ2h0OiAzNXB4O1xcbiAgbWFyZ2luOiAxNXB4IDAgMTJweDtcXG4gIGJvcmRlcjogMXB4IHNvbGlkICNGMUYxRjE7XFxuICBib3JkZXItcmFkaXVzOiAycHg7XFxuICBmb250LXNpemU6IDE1cHg7XFxuICBwYWRkaW5nOiAwIDVweDtcXG59XFxuLnJkdy1pbWFnZS1tb2RhbC1idG4tc2VjdGlvbiB7XFxuICBtYXJnaW46IDEwcHggYXV0byAwO1xcbn1cXG4ucmR3LWltYWdlLW1vZGFsLXVybC1pbnB1dDpmb2N1cyB7XFxuICBvdXRsaW5lOiBub25lO1xcbn1cXG4ucmR3LWltYWdlLW1vZGFsLWJ0biB7XFxuICBtYXJnaW46IDAgNXB4O1xcbiAgd2lkdGg6IDc1cHg7XFxuICBoZWlnaHQ6IDMwcHg7XFxuICBib3JkZXI6IDFweCBzb2xpZCAjRjFGMUYxO1xcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xcbiAgY3Vyc29yOiBwb2ludGVyO1xcbiAgYmFja2dyb3VuZDogd2hpdGU7XFxuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcXG59XFxuLnJkdy1pbWFnZS1tb2RhbC1idG46aG92ZXIge1xcbiAgYm94LXNoYWRvdzogMXB4IDFweCAwcHggI0JGQkRCRDtcXG59XFxuLnJkdy1pbWFnZS1tb2RhbC1idG46YWN0aXZlIHtcXG4gIGJveC1zaGFkb3c6IDFweCAxcHggMHB4ICNCRkJEQkQgaW5zZXQ7XFxufVxcbi5yZHctaW1hZ2UtbW9kYWwtYnRuOmZvY3VzIHtcXG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcXG59XFxuLnJkdy1pbWFnZS1tb2RhbC1idG46ZGlzYWJsZWQge1xcbiAgYmFja2dyb3VuZDogI2VjZTllOTtcXG59XFxuLnJkdy1pbWFnZS1tb2RhbC1zcGlubmVyIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHRvcDogLTNweDtcXG4gIGxlZnQ6IDA7XFxuICB3aWR0aDogMTAwJTtcXG4gIGhlaWdodDogMTAwJTtcXG4gIG9wYWNpdHk6IDAuNTtcXG59XFxuLnJkdy1pbWFnZS1tb2RhbC1hbHQtaW5wdXQge1xcbiAgd2lkdGg6IDcwJTtcXG4gIGhlaWdodDogMjBweDtcXG4gIGJvcmRlcjogMXB4IHNvbGlkICNGMUYxRjE7XFxuICBib3JkZXItcmFkaXVzOiAycHg7XFxuICBmb250LXNpemU6IDEycHg7XFxuICBtYXJnaW4tbGVmdDogNXB4O1xcbn1cXG4ucmR3LWltYWdlLW1vZGFsLWFsdC1pbnB1dDpmb2N1cyB7XFxuICBvdXRsaW5lOiBub25lO1xcbn1cXG4ucmR3LWltYWdlLW1vZGFsLWFsdC1sYmwge1xcbiAgZm9udC1zaXplOiAxMnB4O1xcbn1cXG4ucmR3LWltYWdlLW1vZGFsLXNpemUge1xcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIG1hcmdpbjogOHB4IDA7XFxuICAtd2Via2l0LWJveC1wYWNrOiBqdXN0aWZ5O1xcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XFxufVxcbi5yZHctaW1hZ2UtbW9kYWwtc2l6ZS1pbnB1dCB7XFxuICB3aWR0aDogNDAlO1xcbiAgaGVpZ2h0OiAyMHB4O1xcbiAgYm9yZGVyOiAxcHggc29saWQgI0YxRjFGMTtcXG4gIGJvcmRlci1yYWRpdXM6IDJweDtcXG4gIGZvbnQtc2l6ZTogMTJweDtcXG59XFxuLnJkdy1pbWFnZS1tb2RhbC1zaXplLWlucHV0OmZvY3VzIHtcXG4gIG91dGxpbmU6IG5vbmU7XFxufVxcbi5yZHctaW1hZ2UtbWFuZGF0b3J5LXNpZ24ge1xcbiAgY29sb3I6IHJlZDtcXG4gIG1hcmdpbi1sZWZ0OiAzcHg7XFxuICBtYXJnaW4tcmlnaHQ6IDNweDtcXG59XFxuLnJkdy1yZW1vdmUtd3JhcHBlciB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgbWFyZ2luLWJvdHRvbTogNnB4O1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgZmxleC13cmFwOiB3cmFwXFxufVxcbi5yZHctaGlzdG9yeS13cmFwcGVyIHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICBtYXJnaW4tYm90dG9tOiA2cHg7XFxuICBmbGV4LXdyYXA6IHdyYXBcXG59XFxuLnJkdy1oaXN0b3J5LWRyb3Bkb3dub3B0aW9uIHtcXG4gIGhlaWdodDogNDBweDtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcXG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxufVxcbi5yZHctaGlzdG9yeS1kcm9wZG93biB7XFxuICB3aWR0aDogNTBweDtcXG59XFxuLnJkdy1saW5rLWRlY29yYXRvci13cmFwcGVyIHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG59XFxuLnJkdy1saW5rLWRlY29yYXRvci1pY29uIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIGxlZnQ6IDQwJTtcXG4gIHRvcDogMDtcXG4gIGN1cnNvcjogcG9pbnRlcjtcXG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xcbn1cXG4ucmR3LW1lbnRpb24tbGluayB7XFxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XFxuICBjb2xvcjogIzEyMzZmZjtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNmMGZiZmY7XFxuICBwYWRkaW5nOiAxcHggMnB4O1xcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xcbn1cXG4ucmR3LXN1Z2dlc3Rpb24td3JhcHBlciB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxufVxcbi5yZHctc3VnZ2VzdGlvbi1kcm9wZG93biB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICBib3JkZXI6IDFweCBzb2xpZCAjRjFGMUYxO1xcbiAgbWluLXdpZHRoOiAxMDBweDtcXG4gIG1heC1oZWlnaHQ6IDE1MHB4O1xcbiAgb3ZlcmZsb3c6IGF1dG87XFxuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcXG4gIHotaW5kZXg6IDEwMDtcXG59XFxuLnJkdy1zdWdnZXN0aW9uLW9wdGlvbiB7XFxuICBwYWRkaW5nOiA3cHggNXB4O1xcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmMWYxZjE7XFxufVxcbi5yZHctc3VnZ2VzdGlvbi1vcHRpb24tYWN0aXZlIHtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNGMUYxRjE7XFxufVxcbi5yZHctaGFzaHRhZy1saW5rIHtcXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcXG4gIGNvbG9yOiAjMTIzNmZmO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YwZmJmZjtcXG4gIHBhZGRpbmc6IDFweCAycHg7XFxuICBib3JkZXItcmFkaXVzOiAycHg7XFxufVxcbi5yZHctaW1hZ2UtYWxpZ25tZW50LW9wdGlvbnMtcG9wdXAge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgYmFja2dyb3VuZDogd2hpdGU7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBwYWRkaW5nOiA1cHggMnB4O1xcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xcbiAgYm9yZGVyOiAxcHggc29saWQgI0YxRjFGMTtcXG4gIHdpZHRoOiAxMDVweDtcXG4gIGN1cnNvcjogcG9pbnRlcjtcXG4gIHotaW5kZXg6IDEwMDtcXG59XFxuLnJkdy1hbGlnbm1lbnQtb3B0aW9uLWxlZnQge1xcbiAgLXdlYmtpdC1ib3gtcGFjazogc3RhcnQ7XFxuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcXG59XFxuLnJkdy1pbWFnZS1hbGlnbm1lbnQtb3B0aW9uIHtcXG4gIGhlaWdodDogMTVweDtcXG4gIHdpZHRoOiAxNXB4O1xcbiAgbWluLXdpZHRoOiAxNXB4O1xcbn1cXG4ucmR3LWltYWdlLWFsaWdubWVudCB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxufVxcbi5yZHctaW1hZ2UtaW1hZ2V3cmFwcGVyIHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG59XFxuLnJkdy1pbWFnZS1jZW50ZXIge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG59XFxuLnJkdy1pbWFnZS1sZWZ0IHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogZmxleDtcXG59XFxuLnJkdy1pbWFnZS1yaWdodCB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1wYWNrOiBlbmQ7XFxuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XFxufVxcbi5yZHctaW1hZ2UtYWxpZ25tZW50LW9wdGlvbnMtcG9wdXAtcmlnaHQge1xcbiAgcmlnaHQ6IDA7XFxufVxcbi5yZHctZWRpdG9yLW1haW4ge1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgb3ZlcmZsb3c6IGF1dG87XFxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbn1cXG4ucmR3LWVkaXRvci10b29sYmFyIHtcXG4gIHBhZGRpbmc6IDZweCA1cHggMDtcXG4gIGJvcmRlci1yYWRpdXM6IDJweDtcXG4gIGJvcmRlcjogMXB4IHNvbGlkICNGMUYxRjE7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1wYWNrOiBzdGFydDtcXG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xcbiAgYmFja2dyb3VuZDogd2hpdGU7XFxuICBmbGV4LXdyYXA6IHdyYXA7XFxuICBmb250LXNpemU6IDE1cHg7XFxuICBtYXJnaW4tYm90dG9tOiA1cHg7XFxuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xcbiAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcXG4gICAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XFxuICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xcbn1cXG4ucHVibGljLURyYWZ0U3R5bGVEZWZhdWx0LWJsb2NrIHtcXG4gIG1hcmdpbjogMWVtIDA7XFxufVxcbi5yZHctZWRpdG9yLXdyYXBwZXI6Zm9jdXMge1xcbiAgb3V0bGluZTogbm9uZTtcXG59XFxuLnJkdy1lZGl0b3Itd3JhcHBlciB7XFxuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcXG59XFxuLnJkdy1lZGl0b3ItbWFpbiBibG9ja3F1b3RlIHtcXG4gIGJvcmRlci1sZWZ0OiA1cHggc29saWQgI2YxZjFmMTtcXG4gIHBhZGRpbmctbGVmdDogNXB4O1xcbn1cXG4ucmR3LWVkaXRvci1tYWluIHByZSB7XFxuICBiYWNrZ3JvdW5kOiAjZjFmMWYxO1xcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xcbiAgcGFkZGluZzogMXB4IDEwcHg7XFxufS8qKlxcbiAqIERyYWZ0IHYwLjkuMVxcbiAqXFxuICogQ29weXJpZ2h0IChjKSAyMDEzLXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXFxuICogQWxsIHJpZ2h0cyByZXNlcnZlZC5cXG4gKlxcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEJTRC1zdHlsZSBsaWNlbnNlIGZvdW5kIGluIHRoZVxcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS4gQW4gYWRkaXRpb25hbCBncmFudFxcbiAqIG9mIHBhdGVudCByaWdodHMgY2FuIGJlIGZvdW5kIGluIHRoZSBQQVRFTlRTIGZpbGUgaW4gdGhlIHNhbWUgZGlyZWN0b3J5LlxcbiAqL1xcbi5EcmFmdEVkaXRvci1lZGl0b3JDb250YWluZXIsLkRyYWZ0RWRpdG9yLXJvb3QsLnB1YmxpYy1EcmFmdEVkaXRvci1jb250ZW50e2hlaWdodDppbmhlcml0O3RleHQtYWxpZ246aW5pdGlhbH0ucHVibGljLURyYWZ0RWRpdG9yLWNvbnRlbnRbY29udGVudGVkaXRhYmxlPXRydWVdey13ZWJraXQtdXNlci1tb2RpZnk6cmVhZC13cml0ZS1wbGFpbnRleHQtb25seX0uRHJhZnRFZGl0b3Itcm9vdHtwb3NpdGlvbjpyZWxhdGl2ZX0uRHJhZnRFZGl0b3ItZWRpdG9yQ29udGFpbmVye2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwKTtib3JkZXItbGVmdDouMXB4IHNvbGlkIHRyYW5zcGFyZW50O3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MX0ucHVibGljLURyYWZ0RWRpdG9yLWJsb2Nre3Bvc2l0aW9uOnJlbGF0aXZlfS5EcmFmdEVkaXRvci1hbGlnbkxlZnQgLnB1YmxpYy1EcmFmdFN0eWxlRGVmYXVsdC1ibG9ja3t0ZXh0LWFsaWduOmxlZnR9LkRyYWZ0RWRpdG9yLWFsaWduTGVmdCAucHVibGljLURyYWZ0RWRpdG9yUGxhY2Vob2xkZXItcm9vdHtsZWZ0OjA7dGV4dC1hbGlnbjpsZWZ0fS5EcmFmdEVkaXRvci1hbGlnbkNlbnRlciAucHVibGljLURyYWZ0U3R5bGVEZWZhdWx0LWJsb2Nre3RleHQtYWxpZ246Y2VudGVyfS5EcmFmdEVkaXRvci1hbGlnbkNlbnRlciAucHVibGljLURyYWZ0RWRpdG9yUGxhY2Vob2xkZXItcm9vdHttYXJnaW46MCBhdXRvO3RleHQtYWxpZ246Y2VudGVyO3dpZHRoOjEwMCV9LkRyYWZ0RWRpdG9yLWFsaWduUmlnaHQgLnB1YmxpYy1EcmFmdFN0eWxlRGVmYXVsdC1ibG9ja3t0ZXh0LWFsaWduOnJpZ2h0fS5EcmFmdEVkaXRvci1hbGlnblJpZ2h0IC5wdWJsaWMtRHJhZnRFZGl0b3JQbGFjZWhvbGRlci1yb290e3JpZ2h0OjA7dGV4dC1hbGlnbjpyaWdodH0ucHVibGljLURyYWZ0RWRpdG9yUGxhY2Vob2xkZXItcm9vdHtjb2xvcjojOTE5N2EzO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MH0ucHVibGljLURyYWZ0RWRpdG9yUGxhY2Vob2xkZXItaGFzRm9jdXN7Y29sb3I6I2JkYzFjOX0uRHJhZnRFZGl0b3JQbGFjZWhvbGRlci1oaWRkZW57ZGlzcGxheTpub25lfS5wdWJsaWMtRHJhZnRTdHlsZURlZmF1bHQtYmxvY2t7cG9zaXRpb246cmVsYXRpdmU7d2hpdGUtc3BhY2U6cHJlLXdyYXB9LnB1YmxpYy1EcmFmdFN0eWxlRGVmYXVsdC1sdHJ7ZGlyZWN0aW9uOmx0cjt0ZXh0LWFsaWduOmxlZnR9LnB1YmxpYy1EcmFmdFN0eWxlRGVmYXVsdC1ydGx7ZGlyZWN0aW9uOnJ0bDt0ZXh0LWFsaWduOnJpZ2h0fS5wdWJsaWMtRHJhZnRTdHlsZURlZmF1bHQtbGlzdExUUntkaXJlY3Rpb246bHRyfS5wdWJsaWMtRHJhZnRTdHlsZURlZmF1bHQtbGlzdFJUTHtkaXJlY3Rpb246cnRsfS5wdWJsaWMtRHJhZnRTdHlsZURlZmF1bHQtb2wsLnB1YmxpYy1EcmFmdFN0eWxlRGVmYXVsdC11bHttYXJnaW46MTZweCAwO3BhZGRpbmc6MH0ucHVibGljLURyYWZ0U3R5bGVEZWZhdWx0LWRlcHRoMC5wdWJsaWMtRHJhZnRTdHlsZURlZmF1bHQtbGlzdExUUnttYXJnaW4tbGVmdDoxLjVlbX0ucHVibGljLURyYWZ0U3R5bGVEZWZhdWx0LWRlcHRoMC5wdWJsaWMtRHJhZnRTdHlsZURlZmF1bHQtbGlzdFJUTHttYXJnaW4tcmlnaHQ6MS41ZW19LnB1YmxpYy1EcmFmdFN0eWxlRGVmYXVsdC1kZXB0aDEucHVibGljLURyYWZ0U3R5bGVEZWZhdWx0LWxpc3RMVFJ7bWFyZ2luLWxlZnQ6M2VtfS5wdWJsaWMtRHJhZnRTdHlsZURlZmF1bHQtZGVwdGgxLnB1YmxpYy1EcmFmdFN0eWxlRGVmYXVsdC1saXN0UlRMe21hcmdpbi1yaWdodDozZW19LnB1YmxpYy1EcmFmdFN0eWxlRGVmYXVsdC1kZXB0aDIucHVibGljLURyYWZ0U3R5bGVEZWZhdWx0LWxpc3RMVFJ7bWFyZ2luLWxlZnQ6NC41ZW19LnB1YmxpYy1EcmFmdFN0eWxlRGVmYXVsdC1kZXB0aDIucHVibGljLURyYWZ0U3R5bGVEZWZhdWx0LWxpc3RSVEx7bWFyZ2luLXJpZ2h0OjQuNWVtfS5wdWJsaWMtRHJhZnRTdHlsZURlZmF1bHQtZGVwdGgzLnB1YmxpYy1EcmFmdFN0eWxlRGVmYXVsdC1saXN0TFRSe21hcmdpbi1sZWZ0OjZlbX0ucHVibGljLURyYWZ0U3R5bGVEZWZhdWx0LWRlcHRoMy5wdWJsaWMtRHJhZnRTdHlsZURlZmF1bHQtbGlzdFJUTHttYXJnaW4tcmlnaHQ6NmVtfS5wdWJsaWMtRHJhZnRTdHlsZURlZmF1bHQtZGVwdGg0LnB1YmxpYy1EcmFmdFN0eWxlRGVmYXVsdC1saXN0TFRSe21hcmdpbi1sZWZ0OjcuNWVtfS5wdWJsaWMtRHJhZnRTdHlsZURlZmF1bHQtZGVwdGg0LnB1YmxpYy1EcmFmdFN0eWxlRGVmYXVsdC1saXN0UlRMe21hcmdpbi1yaWdodDo3LjVlbX0ucHVibGljLURyYWZ0U3R5bGVEZWZhdWx0LXVub3JkZXJlZExpc3RJdGVte2xpc3Qtc3R5bGUtdHlwZTpzcXVhcmU7cG9zaXRpb246cmVsYXRpdmV9LnB1YmxpYy1EcmFmdFN0eWxlRGVmYXVsdC11bm9yZGVyZWRMaXN0SXRlbS5wdWJsaWMtRHJhZnRTdHlsZURlZmF1bHQtZGVwdGgwe2xpc3Qtc3R5bGUtdHlwZTpkaXNjfS5wdWJsaWMtRHJhZnRTdHlsZURlZmF1bHQtdW5vcmRlcmVkTGlzdEl0ZW0ucHVibGljLURyYWZ0U3R5bGVEZWZhdWx0LWRlcHRoMXtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlfS5wdWJsaWMtRHJhZnRTdHlsZURlZmF1bHQtb3JkZXJlZExpc3RJdGVte2xpc3Qtc3R5bGUtdHlwZTpub25lO3Bvc2l0aW9uOnJlbGF0aXZlfS5wdWJsaWMtRHJhZnRTdHlsZURlZmF1bHQtb3JkZXJlZExpc3RJdGVtLnB1YmxpYy1EcmFmdFN0eWxlRGVmYXVsdC1saXN0TFRSOmJlZm9yZXtsZWZ0Oi0zNnB4O3Bvc2l0aW9uOmFic29sdXRlO3RleHQtYWxpZ246cmlnaHQ7d2lkdGg6MzBweH0ucHVibGljLURyYWZ0U3R5bGVEZWZhdWx0LW9yZGVyZWRMaXN0SXRlbS5wdWJsaWMtRHJhZnRTdHlsZURlZmF1bHQtbGlzdFJUTDpiZWZvcmV7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6LTM2cHg7dGV4dC1hbGlnbjpsZWZ0O3dpZHRoOjMwcHh9LnB1YmxpYy1EcmFmdFN0eWxlRGVmYXVsdC1vcmRlcmVkTGlzdEl0ZW06YmVmb3Jle2NvbnRlbnQ6Y291bnRlcihvbDApIFxcXCIuIFxcXCI7Y291bnRlci1pbmNyZW1lbnQ6b2wwfS5wdWJsaWMtRHJhZnRTdHlsZURlZmF1bHQtb3JkZXJlZExpc3RJdGVtLnB1YmxpYy1EcmFmdFN0eWxlRGVmYXVsdC1kZXB0aDE6YmVmb3Jle2NvbnRlbnQ6Y291bnRlcihvbDEpIFxcXCIuIFxcXCI7Y291bnRlci1pbmNyZW1lbnQ6b2wxfS5wdWJsaWMtRHJhZnRTdHlsZURlZmF1bHQtb3JkZXJlZExpc3RJdGVtLnB1YmxpYy1EcmFmdFN0eWxlRGVmYXVsdC1kZXB0aDI6YmVmb3Jle2NvbnRlbnQ6Y291bnRlcihvbDIpIFxcXCIuIFxcXCI7Y291bnRlci1pbmNyZW1lbnQ6b2wyfS5wdWJsaWMtRHJhZnRTdHlsZURlZmF1bHQtb3JkZXJlZExpc3RJdGVtLnB1YmxpYy1EcmFmdFN0eWxlRGVmYXVsdC1kZXB0aDM6YmVmb3Jle2NvbnRlbnQ6Y291bnRlcihvbDMpIFxcXCIuIFxcXCI7Y291bnRlci1pbmNyZW1lbnQ6b2wzfS5wdWJsaWMtRHJhZnRTdHlsZURlZmF1bHQtb3JkZXJlZExpc3RJdGVtLnB1YmxpYy1EcmFmdFN0eWxlRGVmYXVsdC1kZXB0aDQ6YmVmb3Jle2NvbnRlbnQ6Y291bnRlcihvbDQpIFxcXCIuIFxcXCI7Y291bnRlci1pbmNyZW1lbnQ6b2w0fS5wdWJsaWMtRHJhZnRTdHlsZURlZmF1bHQtZGVwdGgwLnB1YmxpYy1EcmFmdFN0eWxlRGVmYXVsdC1yZXNldHtjb3VudGVyLXJlc2V0Om9sMH0ucHVibGljLURyYWZ0U3R5bGVEZWZhdWx0LWRlcHRoMS5wdWJsaWMtRHJhZnRTdHlsZURlZmF1bHQtcmVzZXR7Y291bnRlci1yZXNldDpvbDF9LnB1YmxpYy1EcmFmdFN0eWxlRGVmYXVsdC1kZXB0aDIucHVibGljLURyYWZ0U3R5bGVEZWZhdWx0LXJlc2V0e2NvdW50ZXItcmVzZXQ6b2wyfS5wdWJsaWMtRHJhZnRTdHlsZURlZmF1bHQtZGVwdGgzLnB1YmxpYy1EcmFmdFN0eWxlRGVmYXVsdC1yZXNldHtjb3VudGVyLXJlc2V0Om9sM30ucHVibGljLURyYWZ0U3R5bGVEZWZhdWx0LWRlcHRoNC5wdWJsaWMtRHJhZnRTdHlsZURlZmF1bHQtcmVzZXR7Y291bnRlci1yZXNldDpvbDR9XCIsIFwiXCJdKTtcblxuLy8gZXhwb3J0c1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/css-loader/index.js?!./node_modules/postcss-loader/src/index.js?!./node_modules/react-draft-wysiwyg/dist/react-draft-wysiwyg.css\n"); +eval("exports = module.exports = __webpack_require__(/*! ../../css-loader/lib/css-base.js */ \"./node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.i, \".rdw-option-wrapper {\\n border: 1px solid #F1F1F1;\\n padding: 5px;\\n min-width: 25px;\\n height: 20px;\\n border-radius: 2px;\\n margin: 0 4px;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n cursor: pointer;\\n background: white;\\n text-transform: capitalize;\\n}\\n.rdw-option-wrapper:hover {\\n box-shadow: 1px 1px 0px #BFBDBD;\\n}\\n.rdw-option-wrapper:active {\\n box-shadow: 1px 1px 0px #BFBDBD inset;\\n}\\n.rdw-option-active {\\n box-shadow: 1px 1px 0px #BFBDBD inset;\\n}\\n.rdw-option-disabled {\\n opacity: 0.3;\\n cursor: default;\\n}\\n\\n.rdw-dropdown-wrapper {\\n height: 30px;\\n background: white;\\n cursor: pointer;\\n border: 1px solid #F1F1F1;\\n border-radius: 2px;\\n margin: 0 3px;\\n text-transform: capitalize;\\n background: white;\\n}\\n.rdw-dropdown-wrapper:focus {\\n outline: none;\\n}\\n.rdw-dropdown-wrapper:hover {\\n box-shadow: 1px 1px 0px #BFBDBD;\\n background-color: #FFFFFF;\\n}\\n.rdw-dropdown-wrapper:active {\\n box-shadow: 1px 1px 0px #BFBDBD inset;\\n}\\n.rdw-dropdown-carettoopen {\\n height: 0px;\\n width: 0px;\\n position: absolute;\\n top: 35%;\\n right: 10%;\\n border-top: 6px solid black;\\n border-left: 5px solid transparent;\\n border-right: 5px solid transparent;\\n}\\n.rdw-dropdown-carettoclose {\\n height: 0px;\\n width: 0px;\\n position: absolute;\\n top: 35%;\\n right: 10%;\\n border-bottom: 6px solid black;\\n border-left: 5px solid transparent;\\n border-right: 5px solid transparent;\\n}\\n.rdw-dropdown-selectedtext {\\n display: flex;\\n position: relative;\\n height: 100%;\\n align-items: center;\\n padding: 0 5px;\\n}\\n.rdw-dropdown-optionwrapper {\\n z-index: 100;\\n position: relative;\\n border: 1px solid #F1F1F1;\\n width: 98%;\\n background: white;\\n border-radius: 2px;\\n margin: 0;\\n padding: 0;\\n max-height: 250px;\\n overflow-y: scroll;\\n}\\n.rdw-dropdown-optionwrapper:hover {\\n box-shadow: 1px 1px 0px #BFBDBD;\\n background-color: #FFFFFF;\\n}\\n\\n.rdw-dropdownoption-default {\\n min-height: 25px;\\n display: flex;\\n align-items: center;\\n padding: 0 5px;\\n}\\n.rdw-dropdownoption-highlighted {\\n background: #F1F1F1;\\n}\\n.rdw-dropdownoption-active {\\n background: #f5f5f5;\\n}\\n.rdw-dropdownoption-disabled {\\n opacity: 0.3;\\n cursor: default;\\n}\\n\\n.rdw-inline-wrapper {\\n display: flex;\\n align-items: center;\\n margin-bottom: 6px;\\n flex-wrap: wrap\\n}\\n.rdw-inline-dropdown {\\n width: 50px;\\n}\\n.rdw-inline-dropdownoption {\\n height: 40px;\\n display: flex;\\n justify-content: center;\\n}\\n\\n.rdw-block-wrapper {\\n display: flex;\\n align-items: center;\\n margin-bottom: 6px;\\n flex-wrap: wrap\\n}\\n.rdw-block-dropdown {\\n width: 110px;\\n}\\n\\n.rdw-fontsize-wrapper {\\n display: flex;\\n align-items: center;\\n margin-bottom: 6px;\\n flex-wrap: wrap\\n}\\n.rdw-fontsize-dropdown {\\n min-width: 40px;\\n}\\n.rdw-fontsize-option {\\n display: flex;\\n justify-content: center;\\n}\\n\\n.rdw-fontfamily-wrapper {\\n display: flex;\\n align-items: center;\\n margin-bottom: 6px;\\n flex-wrap: wrap\\n}\\n.rdw-fontfamily-dropdown {\\n width: 115px;\\n}\\n.rdw-fontfamily-placeholder {\\n white-space: nowrap;\\n max-width: 90px;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n}\\n.rdw-fontfamily-optionwrapper {\\n width: 140px;\\n}\\n\\n.rdw-list-wrapper {\\n display: flex;\\n align-items: center;\\n margin-bottom: 6px;\\n flex-wrap: wrap\\n}\\n.rdw-list-dropdown {\\n width: 50px;\\n z-index: 90;\\n}\\n.rdw-list-dropdownOption {\\n height: 40px;\\n display: flex;\\n justify-content: center;\\n}\\n\\n.rdw-text-align-wrapper {\\n display: flex;\\n align-items: center;\\n margin-bottom: 6px;\\n flex-wrap: wrap\\n}\\n.rdw-text-align-dropdown {\\n width: 50px;\\n z-index: 90;\\n}\\n.rdw-text-align-dropdownOption {\\n height: 40px;\\n display: flex;\\n justify-content: center;\\n}\\n.rdw-right-aligned-block {\\n text-align: right;\\n}\\n.rdw-left-aligned-block {\\n text-align: left !important;\\n}\\n.rdw-center-aligned-block {\\n text-align: center !important;\\n}\\n.rdw-justify-aligned-block {\\n text-align: justify !important;\\n}\\n.rdw-right-aligned-block > div {\\n display: inline-block;\\n}\\n.rdw-left-aligned-block > div {\\n display: inline-block;\\n}\\n.rdw-center-aligned-block > div {\\n display: inline-block;\\n}\\n.rdw-justify-aligned-block > div {\\n display: inline-block;\\n}\\n\\n.rdw-colorpicker-wrapper {\\n display: flex;\\n align-items: center;\\n margin-bottom: 6px;\\n position: relative;\\n flex-wrap: wrap\\n}\\n.rdw-colorpicker-modal {\\n position: absolute;\\n top: 35px;\\n left: 5px;\\n display: flex;\\n flex-direction: column;\\n width: 175px;\\n height: 175px;\\n border: 1px solid #F1F1F1;\\n padding: 15px;\\n border-radius: 2px;\\n z-index: 100;\\n background: white;\\n box-shadow: 3px 3px 5px #BFBDBD;\\n}\\n.rdw-colorpicker-modal-header {\\n display: flex;\\n padding-bottom: 5px;\\n}\\n.rdw-colorpicker-modal-style-label {\\n font-size: 15px;\\n width: 50%;\\n text-align: center;\\n cursor: pointer;\\n padding: 0 10px 5px;\\n}\\n.rdw-colorpicker-modal-style-label-active {\\n border-bottom: 2px solid #0a66b7;\\n}\\n.rdw-colorpicker-modal-options {\\n margin: 5px auto;\\n display: flex;\\n width: 100%;\\n height: 100%;\\n flex-wrap: wrap;\\n overflow: scroll;\\n}\\n.rdw-colorpicker-cube {\\n width: 22px;\\n height: 22px;\\n border: 1px solid #F1F1F1;\\n}\\n.rdw-colorpicker-option {\\n margin: 3px;\\n padding: 0;\\n min-height: 20px;\\n border: none;\\n width: 22px;\\n height: 22px;\\n min-width: 22px;\\n box-shadow: 1px 2px 1px #BFBDBD inset;\\n}\\n.rdw-colorpicker-option:hover {\\n box-shadow: 1px 2px 1px #BFBDBD;\\n}\\n.rdw-colorpicker-option:active {\\n box-shadow: -1px -2px 1px #BFBDBD;\\n}\\n.rdw-colorpicker-option-active {\\n box-shadow: 0px 0px 2px 2px #BFBDBD;\\n}\\n\\n.rdw-link-wrapper {\\n display: flex;\\n align-items: center;\\n margin-bottom: 6px;\\n position: relative;\\n flex-wrap: wrap\\n}\\n.rdw-link-dropdown {\\n width: 50px;\\n}\\n.rdw-link-dropdownOption {\\n height: 40px;\\n display: flex;\\n justify-content: center;\\n}\\n.rdw-link-dropdownPlaceholder {\\n margin-left: 8px;\\n}\\n.rdw-link-modal {\\n position: absolute;\\n top: 35px;\\n left: 5px;\\n display: flex;\\n flex-direction: column;\\n width: 235px;\\n height: 205px;\\n border: 1px solid #F1F1F1;\\n padding: 15px;\\n border-radius: 2px;\\n z-index: 100;\\n background: white;\\n box-shadow: 3px 3px 5px #BFBDBD;\\n}\\n.rdw-link-modal-label {\\n font-size: 15px;\\n}\\n.rdw-link-modal-input {\\n margin-top: 5px;\\n border-radius: 2px;\\n border: 1px solid #F1F1F1;\\n height: 25px;\\n margin-bottom: 15px;\\n padding: 0 5px;\\n}\\n.rdw-link-modal-input:focus {\\n outline: none;\\n}\\n.rdw-link-modal-buttonsection {\\n margin: 0 auto;\\n}\\n.rdw-link-modal-target-option {\\n margin-bottom: 20px;\\n}\\n.rdw-link-modal-target-option > span {\\n margin-left: 5px;\\n}\\n.rdw-link-modal-btn {\\n margin-left: 10px;\\n width: 75px;\\n height: 30px;\\n border: 1px solid #F1F1F1;\\n border-radius: 2px;\\n cursor: pointer;\\n background: white;\\n text-transform: capitalize;\\n}\\n.rdw-link-modal-btn:hover {\\n box-shadow: 1px 1px 0px #BFBDBD;\\n}\\n.rdw-link-modal-btn:active {\\n box-shadow: 1px 1px 0px #BFBDBD inset;\\n}\\n.rdw-link-modal-btn:focus {\\n outline: none !important;\\n}\\n.rdw-link-modal-btn:disabled {\\n background: #ece9e9;\\n}\\n.rdw-link-dropdownoption {\\n height: 40px;\\n display: flex;\\n justify-content: center;\\n}\\n.rdw-history-dropdown {\\n width: 50px;\\n}\\n\\n.rdw-embedded-wrapper {\\n display: flex;\\n align-items: center;\\n margin-bottom: 6px;\\n position: relative;\\n flex-wrap: wrap\\n}\\n.rdw-embedded-modal {\\n position: absolute;\\n top: 35px;\\n left: 5px;\\n display: flex;\\n flex-direction: column;\\n width: 235px;\\n height: 180px;\\n border: 1px solid #F1F1F1;\\n padding: 15px;\\n border-radius: 2px;\\n z-index: 100;\\n background: white;\\n justify-content: space-between;\\n box-shadow: 3px 3px 5px #BFBDBD;\\n}\\n.rdw-embedded-modal-header {\\n font-size: 15px;\\n display: flex;\\n}\\n.rdw-embedded-modal-header-option {\\n width: 50%;\\n cursor: pointer;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n flex-direction: column;\\n}\\n.rdw-embedded-modal-header-label {\\n width: 95px;\\n border: 1px solid #f1f1f1;\\n margin-top: 5px;\\n background: #6EB8D4;\\n border-bottom: 2px solid #0a66b7;\\n}\\n.rdw-embedded-modal-link-section {\\n display: flex;\\n flex-direction: column;\\n}\\n.rdw-embedded-modal-link-input {\\n width: 88%;\\n height: 35px;\\n margin: 10px 0;\\n border: 1px solid #F1F1F1;\\n border-radius: 2px;\\n font-size: 15px;\\n padding: 0 5px;\\n}\\n.rdw-embedded-modal-link-input-wrapper {\\n display: flex;\\n align-items: center;\\n}\\n.rdw-embedded-modal-link-input:focus {\\n outline: none;\\n}\\n.rdw-embedded-modal-btn-section {\\n display: flex;\\n justify-content: center;\\n}\\n.rdw-embedded-modal-btn {\\n margin: 0 3px;\\n width: 75px;\\n height: 30px;\\n border: 1px solid #F1F1F1;\\n border-radius: 2px;\\n cursor: pointer;\\n background: white;\\n text-transform: capitalize;\\n}\\n.rdw-embedded-modal-btn:hover {\\n box-shadow: 1px 1px 0px #BFBDBD;\\n}\\n.rdw-embedded-modal-btn:active {\\n box-shadow: 1px 1px 0px #BFBDBD inset;\\n}\\n.rdw-embedded-modal-btn:focus {\\n outline: none !important;\\n}\\n.rdw-embedded-modal-btn:disabled {\\n background: #ece9e9;\\n}\\n.rdw-embedded-modal-size {\\n align-items: center;\\n display: flex;\\n margin: 8px 0;\\n justify-content: space-between;\\n}\\n.rdw-embedded-modal-size-input {\\n width: 80%;\\n height: 20px;\\n border: 1px solid #F1F1F1;\\n border-radius: 2px;\\n font-size: 12px;\\n}\\n.rdw-embedded-modal-size-input:focus {\\n outline: none;\\n}\\n\\n.rdw-emoji-wrapper {\\n display: flex;\\n align-items: center;\\n margin-bottom: 6px;\\n position: relative;\\n flex-wrap: wrap\\n}\\n.rdw-emoji-modal {\\n overflow: auto;\\n position: absolute;\\n top: 35px;\\n left: 5px;\\n display: flex;\\n flex-wrap: wrap;\\n width: 235px;\\n height: 180px;\\n border: 1px solid #F1F1F1;\\n padding: 15px;\\n border-radius: 2px;\\n z-index: 100;\\n background: white;\\n box-shadow: 3px 3px 5px #BFBDBD;\\n}\\n.rdw-emoji-icon {\\n margin: 2.5px;\\n height: 24px;\\n width: 24px;\\n cursor: pointer;\\n font-size: 22px;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n}\\n\\n.rdw-spinner {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n height: 100%;\\n width: 100%;\\n}\\n.rdw-spinner > div {\\n width: 12px;\\n height: 12px;\\n background-color: #333;\\n\\n border-radius: 100%;\\n display: inline-block;\\n -webkit-animation: sk-bouncedelay 1.4s infinite ease-in-out both;\\n animation: sk-bouncedelay 1.4s infinite ease-in-out both;\\n}\\n.rdw-spinner .rdw-bounce1 {\\n -webkit-animation-delay: -0.32s;\\n animation-delay: -0.32s;\\n}\\n.rdw-spinner .rdw-bounce2 {\\n -webkit-animation-delay: -0.16s;\\n animation-delay: -0.16s;\\n}\\n@-webkit-keyframes sk-bouncedelay {\\n 0%, 80%, 100% { -webkit-transform: scale(0) }\\n 40% { -webkit-transform: scale(1.0) }\\n}\\n@keyframes sk-bouncedelay {\\n 0%, 80%, 100% {\\n transform: scale(0);\\n } 40% {\\n transform: scale(1.0);\\n }\\n}\\n\\n.rdw-image-wrapper {\\n display: flex;\\n align-items: center;\\n margin-bottom: 6px;\\n position: relative;\\n flex-wrap: wrap\\n}\\n.rdw-image-modal {\\n position: absolute;\\n top: 35px;\\n left: 5px;\\n display: flex;\\n flex-direction: column;\\n width: 235px;\\n border: 1px solid #F1F1F1;\\n padding: 15px;\\n border-radius: 2px;\\n z-index: 100;\\n background: white;\\n box-shadow: 3px 3px 5px #BFBDBD;\\n}\\n.rdw-image-modal-header {\\n font-size: 15px;\\n margin: 10px 0;\\n display: flex;\\n}\\n.rdw-image-modal-header-option {\\n width: 50%;\\n cursor: pointer;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n flex-direction: column;\\n}\\n.rdw-image-modal-header-label {\\n width: 80px;\\n background: #f1f1f1;\\n border: 1px solid #f1f1f1;\\n margin-top: 5px;\\n}\\n.rdw-image-modal-header-label-highlighted {\\n background: #6EB8D4;\\n border-bottom: 2px solid #0a66b7;\\n}\\n.rdw-image-modal-upload-option {\\n width: 100%;\\n color: gray;\\n cursor: pointer;\\n display: flex;\\n border: none;\\n font-size: 15px;\\n align-items: center;\\n justify-content: center;\\n background-color: #f1f1f1;\\n outline: 2px dashed gray;\\n outline-offset: -10px;\\n margin: 10px 0;\\n padding: 9px 0;\\n}\\n.rdw-image-modal-upload-option-highlighted {\\n outline: 2px dashed #0a66b7;\\n}\\n.rdw-image-modal-upload-option-label {\\n cursor: pointer;\\n height: 100%;\\n width: 100%;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n padding: 15px;\\n}\\n.rdw-image-modal-upload-option-label span{\\n padding: 0 20px;\\n}\\n.rdw-image-modal-upload-option-image-preview {\\n max-width: 100%;\\n max-height: 200px;\\n}\\n.rdw-image-modal-upload-option-input {\\n\\twidth: 0.1px;\\n\\theight: 0.1px;\\n\\topacity: 0;\\n\\toverflow: hidden;\\n\\tposition: absolute;\\n\\tz-index: -1;\\n}\\n.rdw-image-modal-url-section {\\n display: flex;\\n align-items: center;\\n}\\n.rdw-image-modal-url-input {\\n width: 90%;\\n height: 35px;\\n margin: 15px 0 12px;\\n border: 1px solid #F1F1F1;\\n border-radius: 2px;\\n font-size: 15px;\\n padding: 0 5px;\\n}\\n.rdw-image-modal-btn-section {\\n margin: 10px auto 0;\\n}\\n.rdw-image-modal-url-input:focus {\\n outline: none;\\n}\\n.rdw-image-modal-btn {\\n margin: 0 5px;\\n width: 75px;\\n height: 30px;\\n border: 1px solid #F1F1F1;\\n border-radius: 2px;\\n cursor: pointer;\\n background: white;\\n text-transform: capitalize;\\n}\\n.rdw-image-modal-btn:hover {\\n box-shadow: 1px 1px 0px #BFBDBD;\\n}\\n.rdw-image-modal-btn:active {\\n box-shadow: 1px 1px 0px #BFBDBD inset;\\n}\\n.rdw-image-modal-btn:focus {\\n outline: none !important;\\n}\\n.rdw-image-modal-btn:disabled {\\n background: #ece9e9;\\n}\\n.rdw-image-modal-spinner {\\n position: absolute;\\n top: -3px;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n opacity: 0.5;\\n}\\n.rdw-image-modal-alt-input {\\n width: 70%;\\n height: 20px;\\n border: 1px solid #F1F1F1;\\n border-radius: 2px;\\n font-size: 12px;\\n margin-left: 5px;\\n}\\n.rdw-image-modal-alt-input:focus {\\n outline: none;\\n}\\n.rdw-image-modal-alt-lbl {\\n font-size: 12px;\\n}\\n.rdw-image-modal-size {\\n align-items: center;\\n display: flex;\\n margin: 8px 0;\\n justify-content: space-between;\\n}\\n.rdw-image-modal-size-input {\\n width: 40%;\\n height: 20px;\\n border: 1px solid #F1F1F1;\\n border-radius: 2px;\\n font-size: 12px;\\n}\\n.rdw-image-modal-size-input:focus {\\n outline: none;\\n}\\n.rdw-image-mandatory-sign {\\n color: red;\\n margin-left: 3px;\\n margin-right: 3px;\\n}\\n\\n.rdw-remove-wrapper {\\n display: flex;\\n align-items: center;\\n margin-bottom: 6px;\\n position: relative;\\n flex-wrap: wrap\\n}\\n\\n.rdw-history-wrapper {\\n display: flex;\\n align-items: center;\\n margin-bottom: 6px;\\n flex-wrap: wrap\\n}\\n.rdw-history-dropdownoption {\\n height: 40px;\\n display: flex;\\n justify-content: center;\\n}\\n.rdw-history-dropdown {\\n width: 50px;\\n}\\n\\n.rdw-link-decorator-wrapper {\\n position: relative;\\n}\\n.rdw-link-decorator-icon {\\n position: absolute;\\n left: 40%;\\n top: 0;\\n cursor: pointer;\\n background-color: white;\\n}\\n\\n.rdw-mention-link {\\n text-decoration: none;\\n color: #1236ff;\\n background-color: #f0fbff;\\n padding: 1px 2px;\\n border-radius: 2px;\\n}\\n\\n.rdw-suggestion-wrapper {\\n position: relative;\\n}\\n.rdw-suggestion-dropdown {\\n position: absolute;\\n display: flex;\\n flex-direction: column;\\n border: 1px solid #F1F1F1;\\n min-width: 100px;\\n max-height: 150px;\\n overflow: auto;\\n background: white;\\n z-index: 100;\\n}\\n.rdw-suggestion-option {\\n padding: 7px 5px;\\n border-bottom: 1px solid #f1f1f1;\\n}\\n.rdw-suggestion-option-active {\\n background-color: #F1F1F1;\\n}\\n\\n.rdw-hashtag-link {\\n text-decoration: none;\\n color: #1236ff;\\n background-color: #f0fbff;\\n padding: 1px 2px;\\n border-radius: 2px;\\n}\\n\\n.rdw-image-alignment-options-popup {\\n position: absolute;\\n background: white;\\n display: flex;\\n padding: 5px 2px;\\n border-radius: 2px;\\n border: 1px solid #F1F1F1;\\n width: 105px;\\n cursor: pointer;\\n z-index: 100;\\n}\\n.rdw-alignment-option-left {\\n justify-content: flex-start;\\n}\\n.rdw-image-alignment-option {\\n height: 15px;\\n width: 15px;\\n min-width: 15px;\\n}\\n.rdw-image-alignment {\\n position: relative;\\n}\\n.rdw-image-imagewrapper {\\n position: relative;\\n}\\n.rdw-image-center {\\n display: flex;\\n justify-content: center;\\n}\\n.rdw-image-left {\\n display: flex;\\n}\\n.rdw-image-right {\\n display: flex;\\n justify-content: flex-end;\\n}\\n.rdw-image-alignment-options-popup-right {\\n right: 0;\\n}\\n\\n.rdw-editor-main {\\n height: 100%;\\n overflow: auto;\\n box-sizing: border-box;\\n}\\n.rdw-editor-toolbar {\\n padding: 6px 5px 0;\\n border-radius: 2px;\\n border: 1px solid #F1F1F1;\\n display: flex;\\n justify-content: flex-start;\\n background: white;\\n flex-wrap: wrap;\\n font-size: 15px;\\n margin-bottom: 5px;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n}\\n.public-DraftStyleDefault-block {\\n margin: 1em 0;\\n}\\n.rdw-editor-wrapper:focus {\\n outline: none;\\n}\\n.rdw-editor-wrapper {\\n box-sizing: content-box;\\n}\\n.rdw-editor-main blockquote {\\n border-left: 5px solid #f1f1f1;\\n padding-left: 5px;\\n}\\n.rdw-editor-main pre {\\n background: #f1f1f1;\\n border-radius: 3px;\\n padding: 1px 10px;\\n}\\n/**\\n * Draft v0.9.1\\n *\\n * Copyright (c) 2013-present, Facebook, Inc.\\n * All rights reserved.\\n *\\n * This source code is licensed under the BSD-style license found in the\\n * LICENSE file in the root directory of this source tree. An additional grant\\n * of patent rights can be found in the PATENTS file in the same directory.\\n */\\n.DraftEditor-editorContainer,.DraftEditor-root,.public-DraftEditor-content{height:inherit;text-align:initial}.public-DraftEditor-content[contenteditable=true]{-webkit-user-modify:read-write-plaintext-only}.DraftEditor-root{position:relative}.DraftEditor-editorContainer{background-color:rgba(255,255,255,0);border-left:.1px solid transparent;position:relative;z-index:1}.public-DraftEditor-block{position:relative}.DraftEditor-alignLeft .public-DraftStyleDefault-block{text-align:left}.DraftEditor-alignLeft .public-DraftEditorPlaceholder-root{left:0;text-align:left}.DraftEditor-alignCenter .public-DraftStyleDefault-block{text-align:center}.DraftEditor-alignCenter .public-DraftEditorPlaceholder-root{margin:0 auto;text-align:center;width:100%}.DraftEditor-alignRight .public-DraftStyleDefault-block{text-align:right}.DraftEditor-alignRight .public-DraftEditorPlaceholder-root{right:0;text-align:right}.public-DraftEditorPlaceholder-root{color:#9197a3;position:absolute;z-index:0}.public-DraftEditorPlaceholder-hasFocus{color:#bdc1c9}.DraftEditorPlaceholder-hidden{display:none}.public-DraftStyleDefault-block{position:relative;white-space:pre-wrap}.public-DraftStyleDefault-ltr{direction:ltr;text-align:left}.public-DraftStyleDefault-rtl{direction:rtl;text-align:right}.public-DraftStyleDefault-listLTR{direction:ltr}.public-DraftStyleDefault-listRTL{direction:rtl}.public-DraftStyleDefault-ol,.public-DraftStyleDefault-ul{margin:16px 0;padding:0}.public-DraftStyleDefault-depth0.public-DraftStyleDefault-listLTR{margin-left:1.5em}.public-DraftStyleDefault-depth0.public-DraftStyleDefault-listRTL{margin-right:1.5em}.public-DraftStyleDefault-depth1.public-DraftStyleDefault-listLTR{margin-left:3em}.public-DraftStyleDefault-depth1.public-DraftStyleDefault-listRTL{margin-right:3em}.public-DraftStyleDefault-depth2.public-DraftStyleDefault-listLTR{margin-left:4.5em}.public-DraftStyleDefault-depth2.public-DraftStyleDefault-listRTL{margin-right:4.5em}.public-DraftStyleDefault-depth3.public-DraftStyleDefault-listLTR{margin-left:6em}.public-DraftStyleDefault-depth3.public-DraftStyleDefault-listRTL{margin-right:6em}.public-DraftStyleDefault-depth4.public-DraftStyleDefault-listLTR{margin-left:7.5em}.public-DraftStyleDefault-depth4.public-DraftStyleDefault-listRTL{margin-right:7.5em}.public-DraftStyleDefault-unorderedListItem{list-style-type:square;position:relative}.public-DraftStyleDefault-unorderedListItem.public-DraftStyleDefault-depth0{list-style-type:disc}.public-DraftStyleDefault-unorderedListItem.public-DraftStyleDefault-depth1{list-style-type:circle}.public-DraftStyleDefault-orderedListItem{list-style-type:none;position:relative}.public-DraftStyleDefault-orderedListItem.public-DraftStyleDefault-listLTR:before{left:-36px;position:absolute;text-align:right;width:30px}.public-DraftStyleDefault-orderedListItem.public-DraftStyleDefault-listRTL:before{position:absolute;right:-36px;text-align:left;width:30px}.public-DraftStyleDefault-orderedListItem:before{content:counter(ol0) \\\". \\\";counter-increment:ol0}.public-DraftStyleDefault-orderedListItem.public-DraftStyleDefault-depth1:before{content:counter(ol1) \\\". \\\";counter-increment:ol1}.public-DraftStyleDefault-orderedListItem.public-DraftStyleDefault-depth2:before{content:counter(ol2) \\\". \\\";counter-increment:ol2}.public-DraftStyleDefault-orderedListItem.public-DraftStyleDefault-depth3:before{content:counter(ol3) \\\". \\\";counter-increment:ol3}.public-DraftStyleDefault-orderedListItem.public-DraftStyleDefault-depth4:before{content:counter(ol4) \\\". \\\";counter-increment:ol4}.public-DraftStyleDefault-depth0.public-DraftStyleDefault-reset{counter-reset:ol0}.public-DraftStyleDefault-depth1.public-DraftStyleDefault-reset{counter-reset:ol1}.public-DraftStyleDefault-depth2.public-DraftStyleDefault-reset{counter-reset:ol2}.public-DraftStyleDefault-depth3.public-DraftStyleDefault-reset{counter-reset:ol3}.public-DraftStyleDefault-depth4.public-DraftStyleDefault-reset{counter-reset:ol4}\", \"\"]);\n\n// exports\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvcmVhY3QtZHJhZnQtd3lzaXd5Zy9kaXN0L3JlYWN0LWRyYWZ0LXd5c2l3eWcuY3NzP2JhYWMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMkJBQTJCLG1CQUFPLENBQUMsbUZBQWtDO0FBQ3JFOzs7QUFHQTtBQUNBLGNBQWMsUUFBUyx3QkFBd0IsOEJBQThCLGlCQUFpQixvQkFBb0IsaUJBQWlCLHVCQUF1QixrQkFBa0Isa0JBQWtCLDRCQUE0Qix3QkFBd0Isb0JBQW9CLHNCQUFzQiwrQkFBK0IsR0FBRyw2QkFBNkIsb0NBQW9DLEdBQUcsOEJBQThCLDBDQUEwQyxHQUFHLHNCQUFzQiwwQ0FBMEMsR0FBRyx3QkFBd0IsaUJBQWlCLG9CQUFvQixHQUFHLDJCQUEyQixpQkFBaUIsc0JBQXNCLG9CQUFvQiw4QkFBOEIsdUJBQXVCLGtCQUFrQiwrQkFBK0Isc0JBQXNCLEdBQUcsK0JBQStCLGtCQUFrQixHQUFHLCtCQUErQixvQ0FBb0MsOEJBQThCLEdBQUcsZ0NBQWdDLDBDQUEwQyxHQUFHLDZCQUE2QixnQkFBZ0IsZUFBZSx1QkFBdUIsYUFBYSxlQUFlLGdDQUFnQyx1Q0FBdUMsd0NBQXdDLEdBQUcsOEJBQThCLGdCQUFnQixlQUFlLHVCQUF1QixhQUFhLGVBQWUsbUNBQW1DLHVDQUF1Qyx3Q0FBd0MsR0FBRyw4QkFBOEIsa0JBQWtCLHVCQUF1QixpQkFBaUIsd0JBQXdCLG1CQUFtQixHQUFHLCtCQUErQixpQkFBaUIsdUJBQXVCLDhCQUE4QixlQUFlLHNCQUFzQix1QkFBdUIsY0FBYyxlQUFlLHNCQUFzQix1QkFBdUIsR0FBRyxxQ0FBcUMsb0NBQW9DLDhCQUE4QixHQUFHLGlDQUFpQyxxQkFBcUIsa0JBQWtCLHdCQUF3QixtQkFBbUIsR0FBRyxtQ0FBbUMsd0JBQXdCLEdBQUcsOEJBQThCLHdCQUF3QixHQUFHLGdDQUFnQyxpQkFBaUIsb0JBQW9CLEdBQUcseUJBQXlCLGtCQUFrQix3QkFBd0IsdUJBQXVCLHNCQUFzQix3QkFBd0IsZ0JBQWdCLEdBQUcsOEJBQThCLGlCQUFpQixrQkFBa0IsNEJBQTRCLEdBQUcsd0JBQXdCLGtCQUFrQix3QkFBd0IsdUJBQXVCLHNCQUFzQix1QkFBdUIsaUJBQWlCLEdBQUcsMkJBQTJCLGtCQUFrQix3QkFBd0IsdUJBQXVCLHNCQUFzQiwwQkFBMEIsb0JBQW9CLEdBQUcsd0JBQXdCLGtCQUFrQiw0QkFBNEIsR0FBRyw2QkFBNkIsa0JBQWtCLHdCQUF3Qix1QkFBdUIsc0JBQXNCLDRCQUE0QixpQkFBaUIsR0FBRywrQkFBK0Isd0JBQXdCLG9CQUFvQixxQkFBcUIsNEJBQTRCLEdBQUcsaUNBQWlDLGlCQUFpQixHQUFHLHVCQUF1QixrQkFBa0Isd0JBQXdCLHVCQUF1QixzQkFBc0Isc0JBQXNCLGdCQUFnQixnQkFBZ0IsR0FBRyw0QkFBNEIsaUJBQWlCLGtCQUFrQiw0QkFBNEIsR0FBRyw2QkFBNkIsa0JBQWtCLHdCQUF3Qix1QkFBdUIsc0JBQXNCLDRCQUE0QixnQkFBZ0IsZ0JBQWdCLEdBQUcsa0NBQWtDLGlCQUFpQixrQkFBa0IsNEJBQTRCLEdBQUcsNEJBQTRCLHNCQUFzQixHQUFHLDJCQUEyQixnQ0FBZ0MsR0FBRyw2QkFBNkIsa0NBQWtDLEdBQUcsOEJBQThCLG1DQUFtQyxHQUFHLGtDQUFrQywwQkFBMEIsR0FBRyxpQ0FBaUMsMEJBQTBCLEdBQUcsbUNBQW1DLDBCQUEwQixHQUFHLG9DQUFvQywwQkFBMEIsR0FBRyw4QkFBOEIsa0JBQWtCLHdCQUF3Qix1QkFBdUIsdUJBQXVCLHNCQUFzQiwwQkFBMEIsdUJBQXVCLGNBQWMsY0FBYyxrQkFBa0IsMkJBQTJCLGlCQUFpQixrQkFBa0IsOEJBQThCLGtCQUFrQix1QkFBdUIsaUJBQWlCLHNCQUFzQixvQ0FBb0MsR0FBRyxpQ0FBaUMsa0JBQWtCLHdCQUF3QixHQUFHLHNDQUFzQyxvQkFBb0IsZUFBZSx1QkFBdUIsb0JBQW9CLHdCQUF3QixHQUFHLDZDQUE2QyxxQ0FBcUMsR0FBRyxrQ0FBa0MscUJBQXFCLGtCQUFrQixnQkFBZ0IsaUJBQWlCLG9CQUFvQixxQkFBcUIsR0FBRyx5QkFBeUIsZ0JBQWdCLGlCQUFpQiw4QkFBOEIsR0FBRywyQkFBMkIsZ0JBQWdCLGVBQWUscUJBQXFCLGlCQUFpQixnQkFBZ0IsaUJBQWlCLG9CQUFvQiwwQ0FBMEMsR0FBRyxpQ0FBaUMsb0NBQW9DLEdBQUcsa0NBQWtDLHNDQUFzQyxHQUFHLGtDQUFrQyx3Q0FBd0MsR0FBRyx1QkFBdUIsa0JBQWtCLHdCQUF3Qix1QkFBdUIsdUJBQXVCLHNCQUFzQixzQkFBc0IsZ0JBQWdCLEdBQUcsNEJBQTRCLGlCQUFpQixrQkFBa0IsNEJBQTRCLEdBQUcsaUNBQWlDLHFCQUFxQixHQUFHLG1CQUFtQix1QkFBdUIsY0FBYyxjQUFjLGtCQUFrQiwyQkFBMkIsaUJBQWlCLGtCQUFrQiw4QkFBOEIsa0JBQWtCLHVCQUF1QixpQkFBaUIsc0JBQXNCLG9DQUFvQyxHQUFHLHlCQUF5QixvQkFBb0IsR0FBRyx5QkFBeUIsb0JBQW9CLHVCQUF1Qiw4QkFBOEIsaUJBQWlCLHdCQUF3QixtQkFBbUIsR0FBRywrQkFBK0Isa0JBQWtCLEdBQUcsaUNBQWlDLG1CQUFtQixHQUFHLGlDQUFpQyx3QkFBd0IsR0FBRyx3Q0FBd0MscUJBQXFCLEdBQUcsdUJBQXVCLHNCQUFzQixnQkFBZ0IsaUJBQWlCLDhCQUE4Qix1QkFBdUIsb0JBQW9CLHNCQUFzQiwrQkFBK0IsR0FBRyw2QkFBNkIsb0NBQW9DLEdBQUcsOEJBQThCLDBDQUEwQyxHQUFHLDZCQUE2Qiw2QkFBNkIsR0FBRyxnQ0FBZ0Msd0JBQXdCLEdBQUcsNEJBQTRCLGlCQUFpQixrQkFBa0IsNEJBQTRCLEdBQUcseUJBQXlCLGdCQUFnQixHQUFHLDJCQUEyQixrQkFBa0Isd0JBQXdCLHVCQUF1Qix1QkFBdUIsc0JBQXNCLHVCQUF1Qix1QkFBdUIsY0FBYyxjQUFjLGtCQUFrQiwyQkFBMkIsaUJBQWlCLGtCQUFrQiw4QkFBOEIsa0JBQWtCLHVCQUF1QixpQkFBaUIsc0JBQXNCLG1DQUFtQyxvQ0FBb0MsR0FBRyw4QkFBOEIsb0JBQW9CLGtCQUFrQixHQUFHLHFDQUFxQyxlQUFlLG9CQUFvQixrQkFBa0IsNEJBQTRCLHdCQUF3QiwyQkFBMkIsR0FBRyxvQ0FBb0MsZ0JBQWdCLDhCQUE4QixvQkFBb0Isd0JBQXdCLHFDQUFxQyxHQUFHLG9DQUFvQyxrQkFBa0IsMkJBQTJCLEdBQUcsa0NBQWtDLGVBQWUsaUJBQWlCLG1CQUFtQiw4QkFBOEIsdUJBQXVCLG9CQUFvQixtQkFBbUIsR0FBRywwQ0FBMEMsa0JBQWtCLHdCQUF3QixHQUFHLHdDQUF3QyxrQkFBa0IsR0FBRyxtQ0FBbUMsa0JBQWtCLDRCQUE0QixHQUFHLDJCQUEyQixrQkFBa0IsZ0JBQWdCLGlCQUFpQiw4QkFBOEIsdUJBQXVCLG9CQUFvQixzQkFBc0IsK0JBQStCLEdBQUcsaUNBQWlDLG9DQUFvQyxHQUFHLGtDQUFrQywwQ0FBMEMsR0FBRyxpQ0FBaUMsNkJBQTZCLEdBQUcsb0NBQW9DLHdCQUF3QixHQUFHLDRCQUE0Qix3QkFBd0Isa0JBQWtCLGtCQUFrQixtQ0FBbUMsR0FBRyxrQ0FBa0MsZUFBZSxpQkFBaUIsOEJBQThCLHVCQUF1QixvQkFBb0IsR0FBRyx3Q0FBd0Msa0JBQWtCLEdBQUcsd0JBQXdCLGtCQUFrQix3QkFBd0IsdUJBQXVCLHVCQUF1QixzQkFBc0Isb0JBQW9CLG1CQUFtQix1QkFBdUIsY0FBYyxjQUFjLGtCQUFrQixvQkFBb0IsaUJBQWlCLGtCQUFrQiw4QkFBOEIsa0JBQWtCLHVCQUF1QixpQkFBaUIsc0JBQXNCLG9DQUFvQyxHQUFHLG1CQUFtQixrQkFBa0IsaUJBQWlCLGdCQUFnQixvQkFBb0Isb0JBQW9CLGtCQUFrQiw0QkFBNEIsd0JBQXdCLEdBQUcsa0JBQWtCLGtCQUFrQix3QkFBd0IsNEJBQTRCLGlCQUFpQixnQkFBZ0IsR0FBRyxzQkFBc0IsZ0JBQWdCLGlCQUFpQiwyQkFBMkIsMEJBQTBCLDBCQUEwQixxRUFBcUUsNkRBQTZELEdBQUcsNkJBQTZCLG9DQUFvQyw0QkFBNEIsR0FBRyw2QkFBNkIsb0NBQW9DLDRCQUE0QixHQUFHLHFDQUFxQyxtQkFBbUIsOEJBQThCLFNBQVMsZ0NBQWdDLEdBQUcsNkJBQTZCLG1CQUFtQiwwQkFBMEIsS0FBSyxNQUFNLDRCQUE0QixLQUFLLEdBQUcsd0JBQXdCLGtCQUFrQix3QkFBd0IsdUJBQXVCLHVCQUF1QixzQkFBc0Isb0JBQW9CLHVCQUF1QixjQUFjLGNBQWMsa0JBQWtCLDJCQUEyQixpQkFBaUIsOEJBQThCLGtCQUFrQix1QkFBdUIsaUJBQWlCLHNCQUFzQixvQ0FBb0MsR0FBRywyQkFBMkIsb0JBQW9CLG1CQUFtQixrQkFBa0IsR0FBRyxrQ0FBa0MsZUFBZSxvQkFBb0Isa0JBQWtCLDRCQUE0Qix3QkFBd0IsMkJBQTJCLEdBQUcsaUNBQWlDLGdCQUFnQix3QkFBd0IsOEJBQThCLG9CQUFvQixHQUFHLDZDQUE2Qyx3QkFBd0IscUNBQXFDLEdBQUcsa0NBQWtDLGdCQUFnQixnQkFBZ0Isb0JBQW9CLGtCQUFrQixpQkFBaUIsb0JBQW9CLHdCQUF3Qiw0QkFBNEIsOEJBQThCLDZCQUE2QiwwQkFBMEIsbUJBQW1CLG1CQUFtQixHQUFHLDhDQUE4QyxnQ0FBZ0MsR0FBRyx3Q0FBd0Msb0JBQW9CLGlCQUFpQixnQkFBZ0Isa0JBQWtCLDRCQUE0Qix3QkFBd0Isa0JBQWtCLEdBQUcsNENBQTRDLG9CQUFvQixHQUFHLGdEQUFnRCxvQkFBb0Isc0JBQXNCLEdBQUcsd0NBQXdDLGlCQUFpQixrQkFBa0IsZUFBZSxxQkFBcUIsdUJBQXVCLGdCQUFnQixHQUFHLGdDQUFnQyxrQkFBa0Isd0JBQXdCLEdBQUcsOEJBQThCLGVBQWUsaUJBQWlCLHdCQUF3Qiw4QkFBOEIsdUJBQXVCLG9CQUFvQixtQkFBbUIsR0FBRyxnQ0FBZ0Msd0JBQXdCLEdBQUcsb0NBQW9DLGtCQUFrQixHQUFHLHdCQUF3QixrQkFBa0IsZ0JBQWdCLGlCQUFpQiw4QkFBOEIsdUJBQXVCLG9CQUFvQixzQkFBc0IsK0JBQStCLEdBQUcsOEJBQThCLG9DQUFvQyxHQUFHLCtCQUErQiwwQ0FBMEMsR0FBRyw4QkFBOEIsNkJBQTZCLEdBQUcsaUNBQWlDLHdCQUF3QixHQUFHLDRCQUE0Qix1QkFBdUIsY0FBYyxZQUFZLGdCQUFnQixpQkFBaUIsaUJBQWlCLEdBQUcsOEJBQThCLGVBQWUsaUJBQWlCLDhCQUE4Qix1QkFBdUIsb0JBQW9CLHFCQUFxQixHQUFHLG9DQUFvQyxrQkFBa0IsR0FBRyw0QkFBNEIsb0JBQW9CLEdBQUcseUJBQXlCLHdCQUF3QixrQkFBa0Isa0JBQWtCLG1DQUFtQyxHQUFHLCtCQUErQixlQUFlLGlCQUFpQiw4QkFBOEIsdUJBQXVCLG9CQUFvQixHQUFHLHFDQUFxQyxrQkFBa0IsR0FBRyw2QkFBNkIsZUFBZSxxQkFBcUIsc0JBQXNCLEdBQUcseUJBQXlCLGtCQUFrQix3QkFBd0IsdUJBQXVCLHVCQUF1QixzQkFBc0IsMEJBQTBCLGtCQUFrQix3QkFBd0IsdUJBQXVCLHNCQUFzQiwrQkFBK0IsaUJBQWlCLGtCQUFrQiw0QkFBNEIsR0FBRyx5QkFBeUIsZ0JBQWdCLEdBQUcsaUNBQWlDLHVCQUF1QixHQUFHLDRCQUE0Qix1QkFBdUIsY0FBYyxXQUFXLG9CQUFvQiw0QkFBNEIsR0FBRyx1QkFBdUIsMEJBQTBCLG1CQUFtQiw4QkFBOEIscUJBQXFCLHVCQUF1QixHQUFHLDZCQUE2Qix1QkFBdUIsR0FBRyw0QkFBNEIsdUJBQXVCLGtCQUFrQiwyQkFBMkIsOEJBQThCLHFCQUFxQixzQkFBc0IsbUJBQW1CLHNCQUFzQixpQkFBaUIsR0FBRywwQkFBMEIscUJBQXFCLHFDQUFxQyxHQUFHLGlDQUFpQyw4QkFBOEIsR0FBRyx1QkFBdUIsMEJBQTBCLG1CQUFtQiw4QkFBOEIscUJBQXFCLHVCQUF1QixHQUFHLHdDQUF3Qyx1QkFBdUIsc0JBQXNCLGtCQUFrQixxQkFBcUIsdUJBQXVCLDhCQUE4QixpQkFBaUIsb0JBQW9CLGlCQUFpQixHQUFHLDhCQUE4QixnQ0FBZ0MsR0FBRywrQkFBK0IsaUJBQWlCLGdCQUFnQixvQkFBb0IsR0FBRyx3QkFBd0IsdUJBQXVCLEdBQUcsMkJBQTJCLHVCQUF1QixHQUFHLHFCQUFxQixrQkFBa0IsNEJBQTRCLEdBQUcsbUJBQW1CLGtCQUFrQixHQUFHLG9CQUFvQixrQkFBa0IsOEJBQThCLEdBQUcsNENBQTRDLGFBQWEsR0FBRyxzQkFBc0IsaUJBQWlCLG1CQUFtQiwyQkFBMkIsR0FBRyx1QkFBdUIsdUJBQXVCLHVCQUF1Qiw4QkFBOEIsa0JBQWtCLGdDQUFnQyxzQkFBc0Isb0JBQW9CLG9CQUFvQix1QkFBdUIsOEJBQThCLDhCQUE4Qiw4QkFBOEIsOEJBQThCLEdBQUcsbUNBQW1DLGtCQUFrQixHQUFHLDZCQUE2QixrQkFBa0IsR0FBRyx1QkFBdUIsNEJBQTRCLEdBQUcsK0JBQStCLG1DQUFtQyxzQkFBc0IsR0FBRyx3QkFBd0Isd0JBQXdCLHVCQUF1QixzQkFBc0IsR0FBRywrWkFBK1osZUFBZSxtQkFBbUIsa0RBQWtELDhDQUE4QyxrQkFBa0Isa0JBQWtCLDZCQUE2QixxQ0FBcUMsbUNBQW1DLGtCQUFrQixVQUFVLDBCQUEwQixrQkFBa0IsdURBQXVELGdCQUFnQiwyREFBMkQsT0FBTyxnQkFBZ0IseURBQXlELGtCQUFrQiw2REFBNkQsY0FBYyxrQkFBa0IsV0FBVyx3REFBd0QsaUJBQWlCLDREQUE0RCxRQUFRLGlCQUFpQixvQ0FBb0MsY0FBYyxrQkFBa0IsVUFBVSx3Q0FBd0MsY0FBYywrQkFBK0IsYUFBYSxnQ0FBZ0Msa0JBQWtCLHFCQUFxQiw4QkFBOEIsY0FBYyxnQkFBZ0IsOEJBQThCLGNBQWMsaUJBQWlCLGtDQUFrQyxjQUFjLGtDQUFrQyxjQUFjLDBEQUEwRCxjQUFjLFVBQVUsa0VBQWtFLGtCQUFrQixrRUFBa0UsbUJBQW1CLGtFQUFrRSxnQkFBZ0Isa0VBQWtFLGlCQUFpQixrRUFBa0Usa0JBQWtCLGtFQUFrRSxtQkFBbUIsa0VBQWtFLGdCQUFnQixrRUFBa0UsaUJBQWlCLGtFQUFrRSxrQkFBa0Isa0VBQWtFLG1CQUFtQiw0Q0FBNEMsdUJBQXVCLGtCQUFrQiw0RUFBNEUscUJBQXFCLDRFQUE0RSx1QkFBdUIsMENBQTBDLHFCQUFxQixrQkFBa0Isa0ZBQWtGLFdBQVcsa0JBQWtCLGlCQUFpQixXQUFXLGtGQUFrRixrQkFBa0IsWUFBWSxnQkFBZ0IsV0FBVyxpREFBaUQsNEJBQTRCLHNCQUFzQixpRkFBaUYsNEJBQTRCLHNCQUFzQixpRkFBaUYsNEJBQTRCLHNCQUFzQixpRkFBaUYsNEJBQTRCLHNCQUFzQixpRkFBaUYsNEJBQTRCLHNCQUFzQixnRUFBZ0Usa0JBQWtCLGdFQUFnRSxrQkFBa0IsZ0VBQWdFLGtCQUFrQixnRUFBZ0Usa0JBQWtCLGdFQUFnRSxrQkFBa0I7O0FBRXpucUIiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcz8hLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPyEuL25vZGVfbW9kdWxlcy9yZWFjdC1kcmFmdC13eXNpd3lnL2Rpc3QvcmVhY3QtZHJhZnQtd3lzaXd5Zy5jc3MuanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vY3NzLWxvYWRlci9saWIvY3NzLWJhc2UuanNcIikoZmFsc2UpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaWQsIFwiLnJkdy1vcHRpb24td3JhcHBlciB7XFxuICBib3JkZXI6IDFweCBzb2xpZCAjRjFGMUYxO1xcbiAgcGFkZGluZzogNXB4O1xcbiAgbWluLXdpZHRoOiAyNXB4O1xcbiAgaGVpZ2h0OiAyMHB4O1xcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xcbiAgbWFyZ2luOiAwIDRweDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICBjdXJzb3I6IHBvaW50ZXI7XFxuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcXG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xcbn1cXG4ucmR3LW9wdGlvbi13cmFwcGVyOmhvdmVyIHtcXG4gIGJveC1zaGFkb3c6IDFweCAxcHggMHB4ICNCRkJEQkQ7XFxufVxcbi5yZHctb3B0aW9uLXdyYXBwZXI6YWN0aXZlIHtcXG4gIGJveC1zaGFkb3c6IDFweCAxcHggMHB4ICNCRkJEQkQgaW5zZXQ7XFxufVxcbi5yZHctb3B0aW9uLWFjdGl2ZSB7XFxuICBib3gtc2hhZG93OiAxcHggMXB4IDBweCAjQkZCREJEIGluc2V0O1xcbn1cXG4ucmR3LW9wdGlvbi1kaXNhYmxlZCB7XFxuICBvcGFjaXR5OiAwLjM7XFxuICBjdXJzb3I6IGRlZmF1bHQ7XFxufVxcblxcbi5yZHctZHJvcGRvd24td3JhcHBlciB7XFxuICBoZWlnaHQ6IDMwcHg7XFxuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcXG4gIGN1cnNvcjogcG9pbnRlcjtcXG4gIGJvcmRlcjogMXB4IHNvbGlkICNGMUYxRjE7XFxuICBib3JkZXItcmFkaXVzOiAycHg7XFxuICBtYXJnaW46IDAgM3B4O1xcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XFxuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcXG59XFxuLnJkdy1kcm9wZG93bi13cmFwcGVyOmZvY3VzIHtcXG4gIG91dGxpbmU6IG5vbmU7XFxufVxcbi5yZHctZHJvcGRvd24td3JhcHBlcjpob3ZlciB7XFxuICBib3gtc2hhZG93OiAxcHggMXB4IDBweCAjQkZCREJEO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcXG59XFxuLnJkdy1kcm9wZG93bi13cmFwcGVyOmFjdGl2ZSB7XFxuICBib3gtc2hhZG93OiAxcHggMXB4IDBweCAjQkZCREJEIGluc2V0O1xcbn1cXG4ucmR3LWRyb3Bkb3duLWNhcmV0dG9vcGVuIHtcXG4gIGhlaWdodDogMHB4O1xcbiAgd2lkdGg6IDBweDtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHRvcDogMzUlO1xcbiAgcmlnaHQ6IDEwJTtcXG4gIGJvcmRlci10b3A6IDZweCBzb2xpZCBibGFjaztcXG4gIGJvcmRlci1sZWZ0OiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICBib3JkZXItcmlnaHQ6IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcXG59XFxuLnJkdy1kcm9wZG93bi1jYXJldHRvY2xvc2Uge1xcbiAgaGVpZ2h0OiAwcHg7XFxuICB3aWR0aDogMHB4O1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdG9wOiAzNSU7XFxuICByaWdodDogMTAlO1xcbiAgYm9yZGVyLWJvdHRvbTogNnB4IHNvbGlkIGJsYWNrO1xcbiAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gIGJvcmRlci1yaWdodDogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbn1cXG4ucmR3LWRyb3Bkb3duLXNlbGVjdGVkdGV4dCB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIHBhZGRpbmc6IDAgNXB4O1xcbn1cXG4ucmR3LWRyb3Bkb3duLW9wdGlvbndyYXBwZXIge1xcbiAgei1pbmRleDogMTAwO1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgYm9yZGVyOiAxcHggc29saWQgI0YxRjFGMTtcXG4gIHdpZHRoOiA5OCU7XFxuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcXG4gIGJvcmRlci1yYWRpdXM6IDJweDtcXG4gIG1hcmdpbjogMDtcXG4gIHBhZGRpbmc6IDA7XFxuICBtYXgtaGVpZ2h0OiAyNTBweDtcXG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcXG59XFxuLnJkdy1kcm9wZG93bi1vcHRpb253cmFwcGVyOmhvdmVyIHtcXG4gIGJveC1zaGFkb3c6IDFweCAxcHggMHB4ICNCRkJEQkQ7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xcbn1cXG5cXG4ucmR3LWRyb3Bkb3dub3B0aW9uLWRlZmF1bHQge1xcbiAgbWluLWhlaWdodDogMjVweDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgcGFkZGluZzogMCA1cHg7XFxufVxcbi5yZHctZHJvcGRvd25vcHRpb24taGlnaGxpZ2h0ZWQge1xcbiAgYmFja2dyb3VuZDogI0YxRjFGMTtcXG59XFxuLnJkdy1kcm9wZG93bm9wdGlvbi1hY3RpdmUge1xcbiAgYmFja2dyb3VuZDogI2Y1ZjVmNTtcXG59XFxuLnJkdy1kcm9wZG93bm9wdGlvbi1kaXNhYmxlZCB7XFxuICBvcGFjaXR5OiAwLjM7XFxuICBjdXJzb3I6IGRlZmF1bHQ7XFxufVxcblxcbi5yZHctaW5saW5lLXdyYXBwZXIge1xcbiAgZGlzcGxheTogZmxleDtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICBtYXJnaW4tYm90dG9tOiA2cHg7XFxuICBmbGV4LXdyYXA6IHdyYXBcXG59XFxuLnJkdy1pbmxpbmUtZHJvcGRvd24ge1xcbiAgd2lkdGg6IDUwcHg7XFxufVxcbi5yZHctaW5saW5lLWRyb3Bkb3dub3B0aW9uIHtcXG4gIGhlaWdodDogNDBweDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG59XFxuXFxuLnJkdy1ibG9jay13cmFwcGVyIHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgbWFyZ2luLWJvdHRvbTogNnB4O1xcbiAgZmxleC13cmFwOiB3cmFwXFxufVxcbi5yZHctYmxvY2stZHJvcGRvd24ge1xcbiAgd2lkdGg6IDExMHB4O1xcbn1cXG5cXG4ucmR3LWZvbnRzaXplLXdyYXBwZXIge1xcbiAgZGlzcGxheTogZmxleDtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICBtYXJnaW4tYm90dG9tOiA2cHg7XFxuICBmbGV4LXdyYXA6IHdyYXBcXG59XFxuLnJkdy1mb250c2l6ZS1kcm9wZG93biB7XFxuICBtaW4td2lkdGg6IDQwcHg7XFxufVxcbi5yZHctZm9udHNpemUtb3B0aW9uIHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG59XFxuXFxuLnJkdy1mb250ZmFtaWx5LXdyYXBwZXIge1xcbiAgZGlzcGxheTogZmxleDtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICBtYXJnaW4tYm90dG9tOiA2cHg7XFxuICBmbGV4LXdyYXA6IHdyYXBcXG59XFxuLnJkdy1mb250ZmFtaWx5LWRyb3Bkb3duIHtcXG4gIHdpZHRoOiAxMTVweDtcXG59XFxuLnJkdy1mb250ZmFtaWx5LXBsYWNlaG9sZGVyIHtcXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XFxuICBtYXgtd2lkdGg6IDkwcHg7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XFxufVxcbi5yZHctZm9udGZhbWlseS1vcHRpb253cmFwcGVyIHtcXG4gIHdpZHRoOiAxNDBweDtcXG59XFxuXFxuLnJkdy1saXN0LXdyYXBwZXIge1xcbiAgZGlzcGxheTogZmxleDtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICBtYXJnaW4tYm90dG9tOiA2cHg7XFxuICBmbGV4LXdyYXA6IHdyYXBcXG59XFxuLnJkdy1saXN0LWRyb3Bkb3duIHtcXG4gIHdpZHRoOiA1MHB4O1xcbiAgei1pbmRleDogOTA7XFxufVxcbi5yZHctbGlzdC1kcm9wZG93bk9wdGlvbiB7XFxuICBoZWlnaHQ6IDQwcHg7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxufVxcblxcbi5yZHctdGV4dC1hbGlnbi13cmFwcGVyIHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgbWFyZ2luLWJvdHRvbTogNnB4O1xcbiAgZmxleC13cmFwOiB3cmFwXFxufVxcbi5yZHctdGV4dC1hbGlnbi1kcm9wZG93biB7XFxuICB3aWR0aDogNTBweDtcXG4gIHotaW5kZXg6IDkwO1xcbn1cXG4ucmR3LXRleHQtYWxpZ24tZHJvcGRvd25PcHRpb24ge1xcbiAgaGVpZ2h0OiA0MHB4O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xcbn1cXG4ucmR3LXJpZ2h0LWFsaWduZWQtYmxvY2sge1xcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XFxufVxcbi5yZHctbGVmdC1hbGlnbmVkLWJsb2NrIHtcXG4gIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcXG59XFxuLnJkdy1jZW50ZXItYWxpZ25lZC1ibG9jayB7XFxuICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcXG59XFxuLnJkdy1qdXN0aWZ5LWFsaWduZWQtYmxvY2sge1xcbiAgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50O1xcbn1cXG4ucmR3LXJpZ2h0LWFsaWduZWQtYmxvY2sgPiBkaXYge1xcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbn1cXG4ucmR3LWxlZnQtYWxpZ25lZC1ibG9jayA+IGRpdiB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxufVxcbi5yZHctY2VudGVyLWFsaWduZWQtYmxvY2sgPiBkaXYge1xcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbn1cXG4ucmR3LWp1c3RpZnktYWxpZ25lZC1ibG9jayA+IGRpdiB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxufVxcblxcbi5yZHctY29sb3JwaWNrZXItd3JhcHBlciB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIG1hcmdpbi1ib3R0b206IDZweDtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIGZsZXgtd3JhcDogd3JhcFxcbn1cXG4ucmR3LWNvbG9ycGlja2VyLW1vZGFsIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHRvcDogMzVweDtcXG4gIGxlZnQ6IDVweDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgd2lkdGg6IDE3NXB4O1xcbiAgaGVpZ2h0OiAxNzVweDtcXG4gIGJvcmRlcjogMXB4IHNvbGlkICNGMUYxRjE7XFxuICBwYWRkaW5nOiAxNXB4O1xcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xcbiAgei1pbmRleDogMTAwO1xcbiAgYmFja2dyb3VuZDogd2hpdGU7XFxuICBib3gtc2hhZG93OiAzcHggM3B4IDVweCAjQkZCREJEO1xcbn1cXG4ucmR3LWNvbG9ycGlja2VyLW1vZGFsLWhlYWRlciB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgcGFkZGluZy1ib3R0b206IDVweDtcXG59XFxuLnJkdy1jb2xvcnBpY2tlci1tb2RhbC1zdHlsZS1sYWJlbCB7XFxuICBmb250LXNpemU6IDE1cHg7XFxuICB3aWR0aDogNTAlO1xcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xcbiAgY3Vyc29yOiBwb2ludGVyO1xcbiAgcGFkZGluZzogMCAxMHB4IDVweDtcXG59XFxuLnJkdy1jb2xvcnBpY2tlci1tb2RhbC1zdHlsZS1sYWJlbC1hY3RpdmUge1xcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMwYTY2Yjc7XFxufVxcbi5yZHctY29sb3JwaWNrZXItbW9kYWwtb3B0aW9ucyB7XFxuICBtYXJnaW46IDVweCBhdXRvO1xcbiAgZGlzcGxheTogZmxleDtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgZmxleC13cmFwOiB3cmFwO1xcbiAgb3ZlcmZsb3c6IHNjcm9sbDtcXG59XFxuLnJkdy1jb2xvcnBpY2tlci1jdWJlIHtcXG4gIHdpZHRoOiAyMnB4O1xcbiAgaGVpZ2h0OiAyMnB4O1xcbiAgYm9yZGVyOiAxcHggc29saWQgI0YxRjFGMTtcXG59XFxuLnJkdy1jb2xvcnBpY2tlci1vcHRpb24ge1xcbiAgbWFyZ2luOiAzcHg7XFxuICBwYWRkaW5nOiAwO1xcbiAgbWluLWhlaWdodDogMjBweDtcXG4gIGJvcmRlcjogbm9uZTtcXG4gIHdpZHRoOiAyMnB4O1xcbiAgaGVpZ2h0OiAyMnB4O1xcbiAgbWluLXdpZHRoOiAyMnB4O1xcbiAgYm94LXNoYWRvdzogMXB4IDJweCAxcHggI0JGQkRCRCBpbnNldDtcXG59XFxuLnJkdy1jb2xvcnBpY2tlci1vcHRpb246aG92ZXIge1xcbiAgYm94LXNoYWRvdzogMXB4IDJweCAxcHggI0JGQkRCRDtcXG59XFxuLnJkdy1jb2xvcnBpY2tlci1vcHRpb246YWN0aXZlIHtcXG4gIGJveC1zaGFkb3c6IC0xcHggLTJweCAxcHggI0JGQkRCRDtcXG59XFxuLnJkdy1jb2xvcnBpY2tlci1vcHRpb24tYWN0aXZlIHtcXG4gIGJveC1zaGFkb3c6IDBweCAwcHggMnB4IDJweCAjQkZCREJEO1xcbn1cXG5cXG4ucmR3LWxpbmstd3JhcHBlciB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIG1hcmdpbi1ib3R0b206IDZweDtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIGZsZXgtd3JhcDogd3JhcFxcbn1cXG4ucmR3LWxpbmstZHJvcGRvd24ge1xcbiAgd2lkdGg6IDUwcHg7XFxufVxcbi5yZHctbGluay1kcm9wZG93bk9wdGlvbiB7XFxuICBoZWlnaHQ6IDQwcHg7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxufVxcbi5yZHctbGluay1kcm9wZG93blBsYWNlaG9sZGVyIHtcXG4gIG1hcmdpbi1sZWZ0OiA4cHg7XFxufVxcbi5yZHctbGluay1tb2RhbCB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB0b3A6IDM1cHg7XFxuICBsZWZ0OiA1cHg7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gIHdpZHRoOiAyMzVweDtcXG4gIGhlaWdodDogMjA1cHg7XFxuICBib3JkZXI6IDFweCBzb2xpZCAjRjFGMUYxO1xcbiAgcGFkZGluZzogMTVweDtcXG4gIGJvcmRlci1yYWRpdXM6IDJweDtcXG4gIHotaW5kZXg6IDEwMDtcXG4gIGJhY2tncm91bmQ6IHdoaXRlO1xcbiAgYm94LXNoYWRvdzogM3B4IDNweCA1cHggI0JGQkRCRDtcXG59XFxuLnJkdy1saW5rLW1vZGFsLWxhYmVsIHtcXG4gIGZvbnQtc2l6ZTogMTVweDtcXG59XFxuLnJkdy1saW5rLW1vZGFsLWlucHV0IHtcXG4gIG1hcmdpbi10b3A6IDVweDtcXG4gIGJvcmRlci1yYWRpdXM6IDJweDtcXG4gIGJvcmRlcjogMXB4IHNvbGlkICNGMUYxRjE7XFxuICBoZWlnaHQ6IDI1cHg7XFxuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xcbiAgcGFkZGluZzogMCA1cHg7XFxufVxcbi5yZHctbGluay1tb2RhbC1pbnB1dDpmb2N1cyB7XFxuICBvdXRsaW5lOiBub25lO1xcbn1cXG4ucmR3LWxpbmstbW9kYWwtYnV0dG9uc2VjdGlvbiB7XFxuICBtYXJnaW46IDAgYXV0bztcXG59XFxuLnJkdy1saW5rLW1vZGFsLXRhcmdldC1vcHRpb24ge1xcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcXG59XFxuLnJkdy1saW5rLW1vZGFsLXRhcmdldC1vcHRpb24gPiBzcGFuIHtcXG4gIG1hcmdpbi1sZWZ0OiA1cHg7XFxufVxcbi5yZHctbGluay1tb2RhbC1idG4ge1xcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XFxuICB3aWR0aDogNzVweDtcXG4gIGhlaWdodDogMzBweDtcXG4gIGJvcmRlcjogMXB4IHNvbGlkICNGMUYxRjE7XFxuICBib3JkZXItcmFkaXVzOiAycHg7XFxuICBjdXJzb3I6IHBvaW50ZXI7XFxuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcXG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xcbn1cXG4ucmR3LWxpbmstbW9kYWwtYnRuOmhvdmVyIHtcXG4gIGJveC1zaGFkb3c6IDFweCAxcHggMHB4ICNCRkJEQkQ7XFxufVxcbi5yZHctbGluay1tb2RhbC1idG46YWN0aXZlIHtcXG4gIGJveC1zaGFkb3c6IDFweCAxcHggMHB4ICNCRkJEQkQgaW5zZXQ7XFxufVxcbi5yZHctbGluay1tb2RhbC1idG46Zm9jdXMge1xcbiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xcbn1cXG4ucmR3LWxpbmstbW9kYWwtYnRuOmRpc2FibGVkIHtcXG4gIGJhY2tncm91bmQ6ICNlY2U5ZTk7XFxufVxcbi5yZHctbGluay1kcm9wZG93bm9wdGlvbiB7XFxuICBoZWlnaHQ6IDQwcHg7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxufVxcbi5yZHctaGlzdG9yeS1kcm9wZG93biB7XFxuICB3aWR0aDogNTBweDtcXG59XFxuXFxuLnJkdy1lbWJlZGRlZC13cmFwcGVyIHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgbWFyZ2luLWJvdHRvbTogNnB4O1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgZmxleC13cmFwOiB3cmFwXFxufVxcbi5yZHctZW1iZWRkZWQtbW9kYWwge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdG9wOiAzNXB4O1xcbiAgbGVmdDogNXB4O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICB3aWR0aDogMjM1cHg7XFxuICBoZWlnaHQ6IDE4MHB4O1xcbiAgYm9yZGVyOiAxcHggc29saWQgI0YxRjFGMTtcXG4gIHBhZGRpbmc6IDE1cHg7XFxuICBib3JkZXItcmFkaXVzOiAycHg7XFxuICB6LWluZGV4OiAxMDA7XFxuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcXG4gIGJveC1zaGFkb3c6IDNweCAzcHggNXB4ICNCRkJEQkQ7XFxufVxcbi5yZHctZW1iZWRkZWQtbW9kYWwtaGVhZGVyIHtcXG4gIGZvbnQtc2l6ZTogMTVweDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxufVxcbi5yZHctZW1iZWRkZWQtbW9kYWwtaGVhZGVyLW9wdGlvbiB7XFxuICB3aWR0aDogNTAlO1xcbiAgY3Vyc29yOiBwb2ludGVyO1xcbiAgZGlzcGxheTogZmxleDtcXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxufVxcbi5yZHctZW1iZWRkZWQtbW9kYWwtaGVhZGVyLWxhYmVsIHtcXG4gIHdpZHRoOiA5NXB4O1xcbiAgYm9yZGVyOiAxcHggc29saWQgI2YxZjFmMTtcXG4gIG1hcmdpbi10b3A6IDVweDtcXG4gIGJhY2tncm91bmQ6ICM2RUI4RDQ7XFxuICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzBhNjZiNztcXG59XFxuLnJkdy1lbWJlZGRlZC1tb2RhbC1saW5rLXNlY3Rpb24ge1xcbiAgZGlzcGxheTogZmxleDtcXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxufVxcbi5yZHctZW1iZWRkZWQtbW9kYWwtbGluay1pbnB1dCB7XFxuICB3aWR0aDogODglO1xcbiAgaGVpZ2h0OiAzNXB4O1xcbiAgbWFyZ2luOiAxMHB4IDA7XFxuICBib3JkZXI6IDFweCBzb2xpZCAjRjFGMUYxO1xcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xcbiAgZm9udC1zaXplOiAxNXB4O1xcbiAgcGFkZGluZzogMCA1cHg7XFxufVxcbi5yZHctZW1iZWRkZWQtbW9kYWwtbGluay1pbnB1dC13cmFwcGVyIHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbn1cXG4ucmR3LWVtYmVkZGVkLW1vZGFsLWxpbmstaW5wdXQ6Zm9jdXMge1xcbiAgb3V0bGluZTogbm9uZTtcXG59XFxuLnJkdy1lbWJlZGRlZC1tb2RhbC1idG4tc2VjdGlvbiB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxufVxcbi5yZHctZW1iZWRkZWQtbW9kYWwtYnRuIHtcXG4gIG1hcmdpbjogMCAzcHg7XFxuICB3aWR0aDogNzVweDtcXG4gIGhlaWdodDogMzBweDtcXG4gIGJvcmRlcjogMXB4IHNvbGlkICNGMUYxRjE7XFxuICBib3JkZXItcmFkaXVzOiAycHg7XFxuICBjdXJzb3I6IHBvaW50ZXI7XFxuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcXG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xcbn1cXG4ucmR3LWVtYmVkZGVkLW1vZGFsLWJ0bjpob3ZlciB7XFxuICBib3gtc2hhZG93OiAxcHggMXB4IDBweCAjQkZCREJEO1xcbn1cXG4ucmR3LWVtYmVkZGVkLW1vZGFsLWJ0bjphY3RpdmUge1xcbiAgYm94LXNoYWRvdzogMXB4IDFweCAwcHggI0JGQkRCRCBpbnNldDtcXG59XFxuLnJkdy1lbWJlZGRlZC1tb2RhbC1idG46Zm9jdXMge1xcbiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xcbn1cXG4ucmR3LWVtYmVkZGVkLW1vZGFsLWJ0bjpkaXNhYmxlZCB7XFxuICBiYWNrZ3JvdW5kOiAjZWNlOWU5O1xcbn1cXG4ucmR3LWVtYmVkZGVkLW1vZGFsLXNpemUge1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBtYXJnaW46IDhweCAwO1xcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xcbn1cXG4ucmR3LWVtYmVkZGVkLW1vZGFsLXNpemUtaW5wdXQge1xcbiAgd2lkdGg6IDgwJTtcXG4gIGhlaWdodDogMjBweDtcXG4gIGJvcmRlcjogMXB4IHNvbGlkICNGMUYxRjE7XFxuICBib3JkZXItcmFkaXVzOiAycHg7XFxuICBmb250LXNpemU6IDEycHg7XFxufVxcbi5yZHctZW1iZWRkZWQtbW9kYWwtc2l6ZS1pbnB1dDpmb2N1cyB7XFxuICBvdXRsaW5lOiBub25lO1xcbn1cXG5cXG4ucmR3LWVtb2ppLXdyYXBwZXIge1xcbiAgZGlzcGxheTogZmxleDtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICBtYXJnaW4tYm90dG9tOiA2cHg7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBmbGV4LXdyYXA6IHdyYXBcXG59XFxuLnJkdy1lbW9qaS1tb2RhbCB7XFxuICBvdmVyZmxvdzogYXV0bztcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHRvcDogMzVweDtcXG4gIGxlZnQ6IDVweDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBmbGV4LXdyYXA6IHdyYXA7XFxuICB3aWR0aDogMjM1cHg7XFxuICBoZWlnaHQ6IDE4MHB4O1xcbiAgYm9yZGVyOiAxcHggc29saWQgI0YxRjFGMTtcXG4gIHBhZGRpbmc6IDE1cHg7XFxuICBib3JkZXItcmFkaXVzOiAycHg7XFxuICB6LWluZGV4OiAxMDA7XFxuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcXG4gIGJveC1zaGFkb3c6IDNweCAzcHggNXB4ICNCRkJEQkQ7XFxufVxcbi5yZHctZW1vamktaWNvbiB7XFxuICBtYXJnaW46IDIuNXB4O1xcbiAgaGVpZ2h0OiAyNHB4O1xcbiAgd2lkdGg6IDI0cHg7XFxuICBjdXJzb3I6IHBvaW50ZXI7XFxuICBmb250LXNpemU6IDIycHg7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbn1cXG5cXG4ucmR3LXNwaW5uZXIge1xcbiAgZGlzcGxheTogZmxleDtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG4gIGhlaWdodDogMTAwJTtcXG4gIHdpZHRoOiAxMDAlO1xcbn1cXG4ucmR3LXNwaW5uZXIgPiBkaXYge1xcbiAgd2lkdGg6IDEycHg7XFxuICBoZWlnaHQ6IDEycHg7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzO1xcblxcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gIC13ZWJraXQtYW5pbWF0aW9uOiBzay1ib3VuY2VkZWxheSAxLjRzIGluZmluaXRlIGVhc2UtaW4tb3V0IGJvdGg7XFxuICBhbmltYXRpb246IHNrLWJvdW5jZWRlbGF5IDEuNHMgaW5maW5pdGUgZWFzZS1pbi1vdXQgYm90aDtcXG59XFxuLnJkdy1zcGlubmVyIC5yZHctYm91bmNlMSB7XFxuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogLTAuMzJzO1xcbiAgYW5pbWF0aW9uLWRlbGF5OiAtMC4zMnM7XFxufVxcbi5yZHctc3Bpbm5lciAucmR3LWJvdW5jZTIge1xcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IC0wLjE2cztcXG4gIGFuaW1hdGlvbi1kZWxheTogLTAuMTZzO1xcbn1cXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2stYm91bmNlZGVsYXkge1xcbiAgMCUsIDgwJSwgMTAwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKSB9XFxuICA0MCUgeyAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4wKSB9XFxufVxcbkBrZXlmcmFtZXMgc2stYm91bmNlZGVsYXkge1xcbiAgMCUsIDgwJSwgMTAwJSB7XFxuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XFxuICB9IDQwJSB7XFxuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wKTtcXG4gIH1cXG59XFxuXFxuLnJkdy1pbWFnZS13cmFwcGVyIHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgbWFyZ2luLWJvdHRvbTogNnB4O1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgZmxleC13cmFwOiB3cmFwXFxufVxcbi5yZHctaW1hZ2UtbW9kYWwge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdG9wOiAzNXB4O1xcbiAgbGVmdDogNXB4O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICB3aWR0aDogMjM1cHg7XFxuICBib3JkZXI6IDFweCBzb2xpZCAjRjFGMUYxO1xcbiAgcGFkZGluZzogMTVweDtcXG4gIGJvcmRlci1yYWRpdXM6IDJweDtcXG4gIHotaW5kZXg6IDEwMDtcXG4gIGJhY2tncm91bmQ6IHdoaXRlO1xcbiAgYm94LXNoYWRvdzogM3B4IDNweCA1cHggI0JGQkRCRDtcXG59XFxuLnJkdy1pbWFnZS1tb2RhbC1oZWFkZXIge1xcbiAgZm9udC1zaXplOiAxNXB4O1xcbiAgbWFyZ2luOiAxMHB4IDA7XFxuICBkaXNwbGF5OiBmbGV4O1xcbn1cXG4ucmR3LWltYWdlLW1vZGFsLWhlYWRlci1vcHRpb24ge1xcbiAgd2lkdGg6IDUwJTtcXG4gIGN1cnNvcjogcG9pbnRlcjtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbn1cXG4ucmR3LWltYWdlLW1vZGFsLWhlYWRlci1sYWJlbCB7XFxuICB3aWR0aDogODBweDtcXG4gIGJhY2tncm91bmQ6ICNmMWYxZjE7XFxuICBib3JkZXI6IDFweCBzb2xpZCAjZjFmMWYxO1xcbiAgbWFyZ2luLXRvcDogNXB4O1xcbn1cXG4ucmR3LWltYWdlLW1vZGFsLWhlYWRlci1sYWJlbC1oaWdobGlnaHRlZCB7XFxuICBiYWNrZ3JvdW5kOiAjNkVCOEQ0O1xcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMwYTY2Yjc7XFxufVxcbi5yZHctaW1hZ2UtbW9kYWwtdXBsb2FkLW9wdGlvbiB7XFxuICB3aWR0aDogMTAwJTtcXG4gIGNvbG9yOiBncmF5O1xcbiAgY3Vyc29yOiBwb2ludGVyO1xcbiAgZGlzcGxheTogZmxleDtcXG4gIGJvcmRlcjogbm9uZTtcXG4gIGZvbnQtc2l6ZTogMTVweDtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNmMWYxZjE7XFxuICBvdXRsaW5lOiAycHggZGFzaGVkIGdyYXk7XFxuICBvdXRsaW5lLW9mZnNldDogLTEwcHg7XFxuICBtYXJnaW46IDEwcHggMDtcXG4gIHBhZGRpbmc6IDlweCAwO1xcbn1cXG4ucmR3LWltYWdlLW1vZGFsLXVwbG9hZC1vcHRpb24taGlnaGxpZ2h0ZWQge1xcbiAgb3V0bGluZTogMnB4IGRhc2hlZCAjMGE2NmI3O1xcbn1cXG4ucmR3LWltYWdlLW1vZGFsLXVwbG9hZC1vcHRpb24tbGFiZWwge1xcbiAgY3Vyc29yOiBwb2ludGVyO1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgd2lkdGg6IDEwMCU7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgcGFkZGluZzogMTVweDtcXG59XFxuLnJkdy1pbWFnZS1tb2RhbC11cGxvYWQtb3B0aW9uLWxhYmVsIHNwYW57XFxuICBwYWRkaW5nOiAwIDIwcHg7XFxufVxcbi5yZHctaW1hZ2UtbW9kYWwtdXBsb2FkLW9wdGlvbi1pbWFnZS1wcmV2aWV3IHtcXG4gIG1heC13aWR0aDogMTAwJTtcXG4gIG1heC1oZWlnaHQ6IDIwMHB4O1xcbn1cXG4ucmR3LWltYWdlLW1vZGFsLXVwbG9hZC1vcHRpb24taW5wdXQge1xcblxcdHdpZHRoOiAwLjFweDtcXG5cXHRoZWlnaHQ6IDAuMXB4O1xcblxcdG9wYWNpdHk6IDA7XFxuXFx0b3ZlcmZsb3c6IGhpZGRlbjtcXG5cXHRwb3NpdGlvbjogYWJzb2x1dGU7XFxuXFx0ei1pbmRleDogLTE7XFxufVxcbi5yZHctaW1hZ2UtbW9kYWwtdXJsLXNlY3Rpb24ge1xcbiAgZGlzcGxheTogZmxleDtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxufVxcbi5yZHctaW1hZ2UtbW9kYWwtdXJsLWlucHV0IHtcXG4gIHdpZHRoOiA5MCU7XFxuICBoZWlnaHQ6IDM1cHg7XFxuICBtYXJnaW46IDE1cHggMCAxMnB4O1xcbiAgYm9yZGVyOiAxcHggc29saWQgI0YxRjFGMTtcXG4gIGJvcmRlci1yYWRpdXM6IDJweDtcXG4gIGZvbnQtc2l6ZTogMTVweDtcXG4gIHBhZGRpbmc6IDAgNXB4O1xcbn1cXG4ucmR3LWltYWdlLW1vZGFsLWJ0bi1zZWN0aW9uIHtcXG4gIG1hcmdpbjogMTBweCBhdXRvIDA7XFxufVxcbi5yZHctaW1hZ2UtbW9kYWwtdXJsLWlucHV0OmZvY3VzIHtcXG4gIG91dGxpbmU6IG5vbmU7XFxufVxcbi5yZHctaW1hZ2UtbW9kYWwtYnRuIHtcXG4gIG1hcmdpbjogMCA1cHg7XFxuICB3aWR0aDogNzVweDtcXG4gIGhlaWdodDogMzBweDtcXG4gIGJvcmRlcjogMXB4IHNvbGlkICNGMUYxRjE7XFxuICBib3JkZXItcmFkaXVzOiAycHg7XFxuICBjdXJzb3I6IHBvaW50ZXI7XFxuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcXG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xcbn1cXG4ucmR3LWltYWdlLW1vZGFsLWJ0bjpob3ZlciB7XFxuICBib3gtc2hhZG93OiAxcHggMXB4IDBweCAjQkZCREJEO1xcbn1cXG4ucmR3LWltYWdlLW1vZGFsLWJ0bjphY3RpdmUge1xcbiAgYm94LXNoYWRvdzogMXB4IDFweCAwcHggI0JGQkRCRCBpbnNldDtcXG59XFxuLnJkdy1pbWFnZS1tb2RhbC1idG46Zm9jdXMge1xcbiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xcbn1cXG4ucmR3LWltYWdlLW1vZGFsLWJ0bjpkaXNhYmxlZCB7XFxuICBiYWNrZ3JvdW5kOiAjZWNlOWU5O1xcbn1cXG4ucmR3LWltYWdlLW1vZGFsLXNwaW5uZXIge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdG9wOiAtM3B4O1xcbiAgbGVmdDogMDtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgb3BhY2l0eTogMC41O1xcbn1cXG4ucmR3LWltYWdlLW1vZGFsLWFsdC1pbnB1dCB7XFxuICB3aWR0aDogNzAlO1xcbiAgaGVpZ2h0OiAyMHB4O1xcbiAgYm9yZGVyOiAxcHggc29saWQgI0YxRjFGMTtcXG4gIGJvcmRlci1yYWRpdXM6IDJweDtcXG4gIGZvbnQtc2l6ZTogMTJweDtcXG4gIG1hcmdpbi1sZWZ0OiA1cHg7XFxufVxcbi5yZHctaW1hZ2UtbW9kYWwtYWx0LWlucHV0OmZvY3VzIHtcXG4gIG91dGxpbmU6IG5vbmU7XFxufVxcbi5yZHctaW1hZ2UtbW9kYWwtYWx0LWxibCB7XFxuICBmb250LXNpemU6IDEycHg7XFxufVxcbi5yZHctaW1hZ2UtbW9kYWwtc2l6ZSB7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgZGlzcGxheTogZmxleDtcXG4gIG1hcmdpbjogOHB4IDA7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XFxufVxcbi5yZHctaW1hZ2UtbW9kYWwtc2l6ZS1pbnB1dCB7XFxuICB3aWR0aDogNDAlO1xcbiAgaGVpZ2h0OiAyMHB4O1xcbiAgYm9yZGVyOiAxcHggc29saWQgI0YxRjFGMTtcXG4gIGJvcmRlci1yYWRpdXM6IDJweDtcXG4gIGZvbnQtc2l6ZTogMTJweDtcXG59XFxuLnJkdy1pbWFnZS1tb2RhbC1zaXplLWlucHV0OmZvY3VzIHtcXG4gIG91dGxpbmU6IG5vbmU7XFxufVxcbi5yZHctaW1hZ2UtbWFuZGF0b3J5LXNpZ24ge1xcbiAgY29sb3I6IHJlZDtcXG4gIG1hcmdpbi1sZWZ0OiAzcHg7XFxuICBtYXJnaW4tcmlnaHQ6IDNweDtcXG59XFxuXFxuLnJkdy1yZW1vdmUtd3JhcHBlciB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIG1hcmdpbi1ib3R0b206IDZweDtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIGZsZXgtd3JhcDogd3JhcFxcbn1cXG5cXG4ucmR3LWhpc3Rvcnktd3JhcHBlciB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIG1hcmdpbi1ib3R0b206IDZweDtcXG4gIGZsZXgtd3JhcDogd3JhcFxcbn1cXG4ucmR3LWhpc3RvcnktZHJvcGRvd25vcHRpb24ge1xcbiAgaGVpZ2h0OiA0MHB4O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xcbn1cXG4ucmR3LWhpc3RvcnktZHJvcGRvd24ge1xcbiAgd2lkdGg6IDUwcHg7XFxufVxcblxcbi5yZHctbGluay1kZWNvcmF0b3Itd3JhcHBlciB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxufVxcbi5yZHctbGluay1kZWNvcmF0b3ItaWNvbiB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICBsZWZ0OiA0MCU7XFxuICB0b3A6IDA7XFxuICBjdXJzb3I6IHBvaW50ZXI7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcXG59XFxuXFxuLnJkdy1tZW50aW9uLWxpbmsge1xcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xcbiAgY29sb3I6ICMxMjM2ZmY7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmYmZmO1xcbiAgcGFkZGluZzogMXB4IDJweDtcXG4gIGJvcmRlci1yYWRpdXM6IDJweDtcXG59XFxuXFxuLnJkdy1zdWdnZXN0aW9uLXdyYXBwZXIge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbn1cXG4ucmR3LXN1Z2dlc3Rpb24tZHJvcGRvd24ge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgZGlzcGxheTogZmxleDtcXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICBib3JkZXI6IDFweCBzb2xpZCAjRjFGMUYxO1xcbiAgbWluLXdpZHRoOiAxMDBweDtcXG4gIG1heC1oZWlnaHQ6IDE1MHB4O1xcbiAgb3ZlcmZsb3c6IGF1dG87XFxuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcXG4gIHotaW5kZXg6IDEwMDtcXG59XFxuLnJkdy1zdWdnZXN0aW9uLW9wdGlvbiB7XFxuICBwYWRkaW5nOiA3cHggNXB4O1xcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmMWYxZjE7XFxufVxcbi5yZHctc3VnZ2VzdGlvbi1vcHRpb24tYWN0aXZlIHtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNGMUYxRjE7XFxufVxcblxcbi5yZHctaGFzaHRhZy1saW5rIHtcXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcXG4gIGNvbG9yOiAjMTIzNmZmO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YwZmJmZjtcXG4gIHBhZGRpbmc6IDFweCAycHg7XFxuICBib3JkZXItcmFkaXVzOiAycHg7XFxufVxcblxcbi5yZHctaW1hZ2UtYWxpZ25tZW50LW9wdGlvbnMtcG9wdXAge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgYmFja2dyb3VuZDogd2hpdGU7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgcGFkZGluZzogNXB4IDJweDtcXG4gIGJvcmRlci1yYWRpdXM6IDJweDtcXG4gIGJvcmRlcjogMXB4IHNvbGlkICNGMUYxRjE7XFxuICB3aWR0aDogMTA1cHg7XFxuICBjdXJzb3I6IHBvaW50ZXI7XFxuICB6LWluZGV4OiAxMDA7XFxufVxcbi5yZHctYWxpZ25tZW50LW9wdGlvbi1sZWZ0IHtcXG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcXG59XFxuLnJkdy1pbWFnZS1hbGlnbm1lbnQtb3B0aW9uIHtcXG4gIGhlaWdodDogMTVweDtcXG4gIHdpZHRoOiAxNXB4O1xcbiAgbWluLXdpZHRoOiAxNXB4O1xcbn1cXG4ucmR3LWltYWdlLWFsaWdubWVudCB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxufVxcbi5yZHctaW1hZ2UtaW1hZ2V3cmFwcGVyIHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG59XFxuLnJkdy1pbWFnZS1jZW50ZXIge1xcbiAgZGlzcGxheTogZmxleDtcXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xcbn1cXG4ucmR3LWltYWdlLWxlZnQge1xcbiAgZGlzcGxheTogZmxleDtcXG59XFxuLnJkdy1pbWFnZS1yaWdodCB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcXG59XFxuLnJkdy1pbWFnZS1hbGlnbm1lbnQtb3B0aW9ucy1wb3B1cC1yaWdodCB7XFxuICByaWdodDogMDtcXG59XFxuXFxuLnJkdy1lZGl0b3ItbWFpbiB7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICBvdmVyZmxvdzogYXV0bztcXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxufVxcbi5yZHctZWRpdG9yLXRvb2xiYXIge1xcbiAgcGFkZGluZzogNnB4IDVweCAwO1xcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xcbiAgYm9yZGVyOiAxcHggc29saWQgI0YxRjFGMTtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XFxuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcXG4gIGZsZXgtd3JhcDogd3JhcDtcXG4gIGZvbnQtc2l6ZTogMTVweDtcXG4gIG1hcmdpbi1ib3R0b206IDVweDtcXG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XFxuICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcXG4gICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XFxufVxcbi5wdWJsaWMtRHJhZnRTdHlsZURlZmF1bHQtYmxvY2sge1xcbiAgbWFyZ2luOiAxZW0gMDtcXG59XFxuLnJkdy1lZGl0b3Itd3JhcHBlcjpmb2N1cyB7XFxuICBvdXRsaW5lOiBub25lO1xcbn1cXG4ucmR3LWVkaXRvci13cmFwcGVyIHtcXG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xcbn1cXG4ucmR3LWVkaXRvci1tYWluIGJsb2NrcXVvdGUge1xcbiAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCAjZjFmMWYxO1xcbiAgcGFkZGluZy1sZWZ0OiA1cHg7XFxufVxcbi5yZHctZWRpdG9yLW1haW4gcHJlIHtcXG4gIGJhY2tncm91bmQ6ICNmMWYxZjE7XFxuICBib3JkZXItcmFkaXVzOiAzcHg7XFxuICBwYWRkaW5nOiAxcHggMTBweDtcXG59XFxuLyoqXFxuICogRHJhZnQgdjAuOS4xXFxuICpcXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cXG4gKiBBbGwgcmlnaHRzIHJlc2VydmVkLlxcbiAqXFxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQlNELXN0eWxlIGxpY2Vuc2UgZm91bmQgaW4gdGhlXFxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLiBBbiBhZGRpdGlvbmFsIGdyYW50XFxuICogb2YgcGF0ZW50IHJpZ2h0cyBjYW4gYmUgZm91bmQgaW4gdGhlIFBBVEVOVFMgZmlsZSBpbiB0aGUgc2FtZSBkaXJlY3RvcnkuXFxuICovXFxuLkRyYWZ0RWRpdG9yLWVkaXRvckNvbnRhaW5lciwuRHJhZnRFZGl0b3Itcm9vdCwucHVibGljLURyYWZ0RWRpdG9yLWNvbnRlbnR7aGVpZ2h0OmluaGVyaXQ7dGV4dC1hbGlnbjppbml0aWFsfS5wdWJsaWMtRHJhZnRFZGl0b3ItY29udGVudFtjb250ZW50ZWRpdGFibGU9dHJ1ZV17LXdlYmtpdC11c2VyLW1vZGlmeTpyZWFkLXdyaXRlLXBsYWludGV4dC1vbmx5fS5EcmFmdEVkaXRvci1yb290e3Bvc2l0aW9uOnJlbGF0aXZlfS5EcmFmdEVkaXRvci1lZGl0b3JDb250YWluZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDApO2JvcmRlci1sZWZ0Oi4xcHggc29saWQgdHJhbnNwYXJlbnQ7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoxfS5wdWJsaWMtRHJhZnRFZGl0b3ItYmxvY2t7cG9zaXRpb246cmVsYXRpdmV9LkRyYWZ0RWRpdG9yLWFsaWduTGVmdCAucHVibGljLURyYWZ0U3R5bGVEZWZhdWx0LWJsb2Nre3RleHQtYWxpZ246bGVmdH0uRHJhZnRFZGl0b3ItYWxpZ25MZWZ0IC5wdWJsaWMtRHJhZnRFZGl0b3JQbGFjZWhvbGRlci1yb290e2xlZnQ6MDt0ZXh0LWFsaWduOmxlZnR9LkRyYWZ0RWRpdG9yLWFsaWduQ2VudGVyIC5wdWJsaWMtRHJhZnRTdHlsZURlZmF1bHQtYmxvY2t7dGV4dC1hbGlnbjpjZW50ZXJ9LkRyYWZ0RWRpdG9yLWFsaWduQ2VudGVyIC5wdWJsaWMtRHJhZnRFZGl0b3JQbGFjZWhvbGRlci1yb290e21hcmdpbjowIGF1dG87dGV4dC1hbGlnbjpjZW50ZXI7d2lkdGg6MTAwJX0uRHJhZnRFZGl0b3ItYWxpZ25SaWdodCAucHVibGljLURyYWZ0U3R5bGVEZWZhdWx0LWJsb2Nre3RleHQtYWxpZ246cmlnaHR9LkRyYWZ0RWRpdG9yLWFsaWduUmlnaHQgLnB1YmxpYy1EcmFmdEVkaXRvclBsYWNlaG9sZGVyLXJvb3R7cmlnaHQ6MDt0ZXh0LWFsaWduOnJpZ2h0fS5wdWJsaWMtRHJhZnRFZGl0b3JQbGFjZWhvbGRlci1yb290e2NvbG9yOiM5MTk3YTM7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDowfS5wdWJsaWMtRHJhZnRFZGl0b3JQbGFjZWhvbGRlci1oYXNGb2N1c3tjb2xvcjojYmRjMWM5fS5EcmFmdEVkaXRvclBsYWNlaG9sZGVyLWhpZGRlbntkaXNwbGF5Om5vbmV9LnB1YmxpYy1EcmFmdFN0eWxlRGVmYXVsdC1ibG9ja3twb3NpdGlvbjpyZWxhdGl2ZTt3aGl0ZS1zcGFjZTpwcmUtd3JhcH0ucHVibGljLURyYWZ0U3R5bGVEZWZhdWx0LWx0cntkaXJlY3Rpb246bHRyO3RleHQtYWxpZ246bGVmdH0ucHVibGljLURyYWZ0U3R5bGVEZWZhdWx0LXJ0bHtkaXJlY3Rpb246cnRsO3RleHQtYWxpZ246cmlnaHR9LnB1YmxpYy1EcmFmdFN0eWxlRGVmYXVsdC1saXN0TFRSe2RpcmVjdGlvbjpsdHJ9LnB1YmxpYy1EcmFmdFN0eWxlRGVmYXVsdC1saXN0UlRMe2RpcmVjdGlvbjpydGx9LnB1YmxpYy1EcmFmdFN0eWxlRGVmYXVsdC1vbCwucHVibGljLURyYWZ0U3R5bGVEZWZhdWx0LXVse21hcmdpbjoxNnB4IDA7cGFkZGluZzowfS5wdWJsaWMtRHJhZnRTdHlsZURlZmF1bHQtZGVwdGgwLnB1YmxpYy1EcmFmdFN0eWxlRGVmYXVsdC1saXN0TFRSe21hcmdpbi1sZWZ0OjEuNWVtfS5wdWJsaWMtRHJhZnRTdHlsZURlZmF1bHQtZGVwdGgwLnB1YmxpYy1EcmFmdFN0eWxlRGVmYXVsdC1saXN0UlRMe21hcmdpbi1yaWdodDoxLjVlbX0ucHVibGljLURyYWZ0U3R5bGVEZWZhdWx0LWRlcHRoMS5wdWJsaWMtRHJhZnRTdHlsZURlZmF1bHQtbGlzdExUUnttYXJnaW4tbGVmdDozZW19LnB1YmxpYy1EcmFmdFN0eWxlRGVmYXVsdC1kZXB0aDEucHVibGljLURyYWZ0U3R5bGVEZWZhdWx0LWxpc3RSVEx7bWFyZ2luLXJpZ2h0OjNlbX0ucHVibGljLURyYWZ0U3R5bGVEZWZhdWx0LWRlcHRoMi5wdWJsaWMtRHJhZnRTdHlsZURlZmF1bHQtbGlzdExUUnttYXJnaW4tbGVmdDo0LjVlbX0ucHVibGljLURyYWZ0U3R5bGVEZWZhdWx0LWRlcHRoMi5wdWJsaWMtRHJhZnRTdHlsZURlZmF1bHQtbGlzdFJUTHttYXJnaW4tcmlnaHQ6NC41ZW19LnB1YmxpYy1EcmFmdFN0eWxlRGVmYXVsdC1kZXB0aDMucHVibGljLURyYWZ0U3R5bGVEZWZhdWx0LWxpc3RMVFJ7bWFyZ2luLWxlZnQ6NmVtfS5wdWJsaWMtRHJhZnRTdHlsZURlZmF1bHQtZGVwdGgzLnB1YmxpYy1EcmFmdFN0eWxlRGVmYXVsdC1saXN0UlRMe21hcmdpbi1yaWdodDo2ZW19LnB1YmxpYy1EcmFmdFN0eWxlRGVmYXVsdC1kZXB0aDQucHVibGljLURyYWZ0U3R5bGVEZWZhdWx0LWxpc3RMVFJ7bWFyZ2luLWxlZnQ6Ny41ZW19LnB1YmxpYy1EcmFmdFN0eWxlRGVmYXVsdC1kZXB0aDQucHVibGljLURyYWZ0U3R5bGVEZWZhdWx0LWxpc3RSVEx7bWFyZ2luLXJpZ2h0OjcuNWVtfS5wdWJsaWMtRHJhZnRTdHlsZURlZmF1bHQtdW5vcmRlcmVkTGlzdEl0ZW17bGlzdC1zdHlsZS10eXBlOnNxdWFyZTtwb3NpdGlvbjpyZWxhdGl2ZX0ucHVibGljLURyYWZ0U3R5bGVEZWZhdWx0LXVub3JkZXJlZExpc3RJdGVtLnB1YmxpYy1EcmFmdFN0eWxlRGVmYXVsdC1kZXB0aDB7bGlzdC1zdHlsZS10eXBlOmRpc2N9LnB1YmxpYy1EcmFmdFN0eWxlRGVmYXVsdC11bm9yZGVyZWRMaXN0SXRlbS5wdWJsaWMtRHJhZnRTdHlsZURlZmF1bHQtZGVwdGgxe2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGV9LnB1YmxpYy1EcmFmdFN0eWxlRGVmYXVsdC1vcmRlcmVkTGlzdEl0ZW17bGlzdC1zdHlsZS10eXBlOm5vbmU7cG9zaXRpb246cmVsYXRpdmV9LnB1YmxpYy1EcmFmdFN0eWxlRGVmYXVsdC1vcmRlcmVkTGlzdEl0ZW0ucHVibGljLURyYWZ0U3R5bGVEZWZhdWx0LWxpc3RMVFI6YmVmb3Jle2xlZnQ6LTM2cHg7cG9zaXRpb246YWJzb2x1dGU7dGV4dC1hbGlnbjpyaWdodDt3aWR0aDozMHB4fS5wdWJsaWMtRHJhZnRTdHlsZURlZmF1bHQtb3JkZXJlZExpc3RJdGVtLnB1YmxpYy1EcmFmdFN0eWxlRGVmYXVsdC1saXN0UlRMOmJlZm9yZXtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDotMzZweDt0ZXh0LWFsaWduOmxlZnQ7d2lkdGg6MzBweH0ucHVibGljLURyYWZ0U3R5bGVEZWZhdWx0LW9yZGVyZWRMaXN0SXRlbTpiZWZvcmV7Y29udGVudDpjb3VudGVyKG9sMCkgXFxcIi4gXFxcIjtjb3VudGVyLWluY3JlbWVudDpvbDB9LnB1YmxpYy1EcmFmdFN0eWxlRGVmYXVsdC1vcmRlcmVkTGlzdEl0ZW0ucHVibGljLURyYWZ0U3R5bGVEZWZhdWx0LWRlcHRoMTpiZWZvcmV7Y29udGVudDpjb3VudGVyKG9sMSkgXFxcIi4gXFxcIjtjb3VudGVyLWluY3JlbWVudDpvbDF9LnB1YmxpYy1EcmFmdFN0eWxlRGVmYXVsdC1vcmRlcmVkTGlzdEl0ZW0ucHVibGljLURyYWZ0U3R5bGVEZWZhdWx0LWRlcHRoMjpiZWZvcmV7Y29udGVudDpjb3VudGVyKG9sMikgXFxcIi4gXFxcIjtjb3VudGVyLWluY3JlbWVudDpvbDJ9LnB1YmxpYy1EcmFmdFN0eWxlRGVmYXVsdC1vcmRlcmVkTGlzdEl0ZW0ucHVibGljLURyYWZ0U3R5bGVEZWZhdWx0LWRlcHRoMzpiZWZvcmV7Y29udGVudDpjb3VudGVyKG9sMykgXFxcIi4gXFxcIjtjb3VudGVyLWluY3JlbWVudDpvbDN9LnB1YmxpYy1EcmFmdFN0eWxlRGVmYXVsdC1vcmRlcmVkTGlzdEl0ZW0ucHVibGljLURyYWZ0U3R5bGVEZWZhdWx0LWRlcHRoNDpiZWZvcmV7Y29udGVudDpjb3VudGVyKG9sNCkgXFxcIi4gXFxcIjtjb3VudGVyLWluY3JlbWVudDpvbDR9LnB1YmxpYy1EcmFmdFN0eWxlRGVmYXVsdC1kZXB0aDAucHVibGljLURyYWZ0U3R5bGVEZWZhdWx0LXJlc2V0e2NvdW50ZXItcmVzZXQ6b2wwfS5wdWJsaWMtRHJhZnRTdHlsZURlZmF1bHQtZGVwdGgxLnB1YmxpYy1EcmFmdFN0eWxlRGVmYXVsdC1yZXNldHtjb3VudGVyLXJlc2V0Om9sMX0ucHVibGljLURyYWZ0U3R5bGVEZWZhdWx0LWRlcHRoMi5wdWJsaWMtRHJhZnRTdHlsZURlZmF1bHQtcmVzZXR7Y291bnRlci1yZXNldDpvbDJ9LnB1YmxpYy1EcmFmdFN0eWxlRGVmYXVsdC1kZXB0aDMucHVibGljLURyYWZ0U3R5bGVEZWZhdWx0LXJlc2V0e2NvdW50ZXItcmVzZXQ6b2wzfS5wdWJsaWMtRHJhZnRTdHlsZURlZmF1bHQtZGVwdGg0LnB1YmxpYy1EcmFmdFN0eWxlRGVmYXVsdC1yZXNldHtjb3VudGVyLXJlc2V0Om9sNH1cIiwgXCJcIl0pO1xuXG4vLyBleHBvcnRzXG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/css-loader/index.js?!./node_modules/postcss-loader/src/index.js?!./node_modules/react-draft-wysiwyg/dist/react-draft-wysiwyg.css\n"); + +/***/ }), + +/***/ "./node_modules/css-loader/lib/css-base.js": +/*!*************************************************!*\ + !*** ./node_modules/css-loader/lib/css-base.js ***! + \*************************************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +eval("/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\nmodule.exports = function(useSourceMap) {\n\tvar list = [];\n\n\t// return the list of modules as css string\n\tlist.toString = function toString() {\n\t\treturn this.map(function (item) {\n\t\t\tvar content = cssWithMappingToString(item, useSourceMap);\n\t\t\tif(item[2]) {\n\t\t\t\treturn \"@media \" + item[2] + \"{\" + content + \"}\";\n\t\t\t} else {\n\t\t\t\treturn content;\n\t\t\t}\n\t\t}).join(\"\");\n\t};\n\n\t// import a list of modules into the list\n\tlist.i = function(modules, mediaQuery) {\n\t\tif(typeof modules === \"string\")\n\t\t\tmodules = [[null, modules, \"\"]];\n\t\tvar alreadyImportedModules = {};\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar id = this[i][0];\n\t\t\tif(typeof id === \"number\")\n\t\t\t\talreadyImportedModules[id] = true;\n\t\t}\n\t\tfor(i = 0; i < modules.length; i++) {\n\t\t\tvar item = modules[i];\n\t\t\t// skip already imported module\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\n\t\t\t// when a module is imported multiple times with different media queries.\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n\t\t\t\tif(mediaQuery && !item[2]) {\n\t\t\t\t\titem[2] = mediaQuery;\n\t\t\t\t} else if(mediaQuery) {\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n\t\t\t\t}\n\t\t\t\tlist.push(item);\n\t\t\t}\n\t\t}\n\t};\n\treturn list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n\tvar content = item[1] || '';\n\tvar cssMapping = item[3];\n\tif (!cssMapping) {\n\t\treturn content;\n\t}\n\n\tif (useSourceMap && typeof btoa === 'function') {\n\t\tvar sourceMapping = toComment(cssMapping);\n\t\tvar sourceURLs = cssMapping.sources.map(function (source) {\n\t\t\treturn '/*# sourceURL=' + cssMapping.sourceRoot + source + ' */'\n\t\t});\n\n\t\treturn [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n\t}\n\n\treturn [content].join('\\n');\n}\n\n// Adapted from convert-source-map (MIT)\nfunction toComment(sourceMap) {\n\t// eslint-disable-next-line no-undef\n\tvar base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n\tvar data = 'sourceMappingURL=data:application/json;charset=utf-8;base64,' + base64;\n\n\treturn '/*# ' + data + ' */';\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9saWIvY3NzLWJhc2UuanM/MjM1MCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUNBQW1DLGdCQUFnQjtBQUNuRCxJQUFJO0FBQ0o7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCLGlCQUFpQjtBQUNqQztBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVksb0JBQW9CO0FBQ2hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9EQUFvRCxjQUFjOztBQUVsRTtBQUNBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvbGliL2Nzcy1iYXNlLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcblx0TUlUIExpY2Vuc2UgaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9taXQtbGljZW5zZS5waHBcblx0QXV0aG9yIFRvYmlhcyBLb3BwZXJzIEBzb2tyYVxuKi9cbi8vIGNzcyBiYXNlIGNvZGUsIGluamVjdGVkIGJ5IHRoZSBjc3MtbG9hZGVyXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uKHVzZVNvdXJjZU1hcCkge1xuXHR2YXIgbGlzdCA9IFtdO1xuXG5cdC8vIHJldHVybiB0aGUgbGlzdCBvZiBtb2R1bGVzIGFzIGNzcyBzdHJpbmdcblx0bGlzdC50b1N0cmluZyA9IGZ1bmN0aW9uIHRvU3RyaW5nKCkge1xuXHRcdHJldHVybiB0aGlzLm1hcChmdW5jdGlvbiAoaXRlbSkge1xuXHRcdFx0dmFyIGNvbnRlbnQgPSBjc3NXaXRoTWFwcGluZ1RvU3RyaW5nKGl0ZW0sIHVzZVNvdXJjZU1hcCk7XG5cdFx0XHRpZihpdGVtWzJdKSB7XG5cdFx0XHRcdHJldHVybiBcIkBtZWRpYSBcIiArIGl0ZW1bMl0gKyBcIntcIiArIGNvbnRlbnQgKyBcIn1cIjtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHJldHVybiBjb250ZW50O1xuXHRcdFx0fVxuXHRcdH0pLmpvaW4oXCJcIik7XG5cdH07XG5cblx0Ly8gaW1wb3J0IGEgbGlzdCBvZiBtb2R1bGVzIGludG8gdGhlIGxpc3Rcblx0bGlzdC5pID0gZnVuY3Rpb24obW9kdWxlcywgbWVkaWFRdWVyeSkge1xuXHRcdGlmKHR5cGVvZiBtb2R1bGVzID09PSBcInN0cmluZ1wiKVxuXHRcdFx0bW9kdWxlcyA9IFtbbnVsbCwgbW9kdWxlcywgXCJcIl1dO1xuXHRcdHZhciBhbHJlYWR5SW1wb3J0ZWRNb2R1bGVzID0ge307XG5cdFx0Zm9yKHZhciBpID0gMDsgaSA8IHRoaXMubGVuZ3RoOyBpKyspIHtcblx0XHRcdHZhciBpZCA9IHRoaXNbaV1bMF07XG5cdFx0XHRpZih0eXBlb2YgaWQgPT09IFwibnVtYmVyXCIpXG5cdFx0XHRcdGFscmVhZHlJbXBvcnRlZE1vZHVsZXNbaWRdID0gdHJ1ZTtcblx0XHR9XG5cdFx0Zm9yKGkgPSAwOyBpIDwgbW9kdWxlcy5sZW5ndGg7IGkrKykge1xuXHRcdFx0dmFyIGl0ZW0gPSBtb2R1bGVzW2ldO1xuXHRcdFx0Ly8gc2tpcCBhbHJlYWR5IGltcG9ydGVkIG1vZHVsZVxuXHRcdFx0Ly8gdGhpcyBpbXBsZW1lbnRhdGlvbiBpcyBub3QgMTAwJSBwZXJmZWN0IGZvciB3ZWlyZCBtZWRpYSBxdWVyeSBjb21iaW5hdGlvbnNcblx0XHRcdC8vICB3aGVuIGEgbW9kdWxlIGlzIGltcG9ydGVkIG11bHRpcGxlIHRpbWVzIHdpdGggZGlmZmVyZW50IG1lZGlhIHF1ZXJpZXMuXG5cdFx0XHQvLyAgSSBob3BlIHRoaXMgd2lsbCBuZXZlciBvY2N1ciAoSGV5IHRoaXMgd2F5IHdlIGhhdmUgc21hbGxlciBidW5kbGVzKVxuXHRcdFx0aWYodHlwZW9mIGl0ZW1bMF0gIT09IFwibnVtYmVyXCIgfHwgIWFscmVhZHlJbXBvcnRlZE1vZHVsZXNbaXRlbVswXV0pIHtcblx0XHRcdFx0aWYobWVkaWFRdWVyeSAmJiAhaXRlbVsyXSkge1xuXHRcdFx0XHRcdGl0ZW1bMl0gPSBtZWRpYVF1ZXJ5O1xuXHRcdFx0XHR9IGVsc2UgaWYobWVkaWFRdWVyeSkge1xuXHRcdFx0XHRcdGl0ZW1bMl0gPSBcIihcIiArIGl0ZW1bMl0gKyBcIikgYW5kIChcIiArIG1lZGlhUXVlcnkgKyBcIilcIjtcblx0XHRcdFx0fVxuXHRcdFx0XHRsaXN0LnB1c2goaXRlbSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9O1xuXHRyZXR1cm4gbGlzdDtcbn07XG5cbmZ1bmN0aW9uIGNzc1dpdGhNYXBwaW5nVG9TdHJpbmcoaXRlbSwgdXNlU291cmNlTWFwKSB7XG5cdHZhciBjb250ZW50ID0gaXRlbVsxXSB8fCAnJztcblx0dmFyIGNzc01hcHBpbmcgPSBpdGVtWzNdO1xuXHRpZiAoIWNzc01hcHBpbmcpIHtcblx0XHRyZXR1cm4gY29udGVudDtcblx0fVxuXG5cdGlmICh1c2VTb3VyY2VNYXAgJiYgdHlwZW9mIGJ0b2EgPT09ICdmdW5jdGlvbicpIHtcblx0XHR2YXIgc291cmNlTWFwcGluZyA9IHRvQ29tbWVudChjc3NNYXBwaW5nKTtcblx0XHR2YXIgc291cmNlVVJMcyA9IGNzc01hcHBpbmcuc291cmNlcy5tYXAoZnVuY3Rpb24gKHNvdXJjZSkge1xuXHRcdFx0cmV0dXJuICcvKiMgc291cmNlVVJMPScgKyBjc3NNYXBwaW5nLnNvdXJjZVJvb3QgKyBzb3VyY2UgKyAnICovJ1xuXHRcdH0pO1xuXG5cdFx0cmV0dXJuIFtjb250ZW50XS5jb25jYXQoc291cmNlVVJMcykuY29uY2F0KFtzb3VyY2VNYXBwaW5nXSkuam9pbignXFxuJyk7XG5cdH1cblxuXHRyZXR1cm4gW2NvbnRlbnRdLmpvaW4oJ1xcbicpO1xufVxuXG4vLyBBZGFwdGVkIGZyb20gY29udmVydC1zb3VyY2UtbWFwIChNSVQpXG5mdW5jdGlvbiB0b0NvbW1lbnQoc291cmNlTWFwKSB7XG5cdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bmRlZlxuXHR2YXIgYmFzZTY0ID0gYnRvYSh1bmVzY2FwZShlbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkoc291cmNlTWFwKSkpKTtcblx0dmFyIGRhdGEgPSAnc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsJyArIGJhc2U2NDtcblxuXHRyZXR1cm4gJy8qIyAnICsgZGF0YSArICcgKi8nO1xufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/css-loader/lib/css-base.js\n"); /***/ }), @@ -19,7 +30,7 @@ eval("exports = module.exports = __webpack_require__(/*! ../../css-loader/lib/cs /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule AtomicBlockUtils\n * @format\n * \n */\n\n\n\nvar _assign = __webpack_require__(/*! object-assign */ \"./node_modules/object-assign/index.js\");\n\nvar _extends = _assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar BlockMapBuilder = __webpack_require__(/*! ./BlockMapBuilder */ \"./node_modules/draft-js/lib/BlockMapBuilder.js\");\nvar CharacterMetadata = __webpack_require__(/*! ./CharacterMetadata */ \"./node_modules/draft-js/lib/CharacterMetadata.js\");\nvar ContentBlock = __webpack_require__(/*! ./ContentBlock */ \"./node_modules/draft-js/lib/ContentBlock.js\");\nvar ContentBlockNode = __webpack_require__(/*! ./ContentBlockNode */ \"./node_modules/draft-js/lib/ContentBlockNode.js\");\nvar DraftFeatureFlags = __webpack_require__(/*! ./DraftFeatureFlags */ \"./node_modules/draft-js/lib/DraftFeatureFlags.js\");\nvar DraftModifier = __webpack_require__(/*! ./DraftModifier */ \"./node_modules/draft-js/lib/DraftModifier.js\");\nvar EditorState = __webpack_require__(/*! ./EditorState */ \"./node_modules/draft-js/lib/EditorState.js\");\nvar Immutable = __webpack_require__(/*! immutable */ \"./node_modules/draft-js/node_modules/immutable/dist/immutable.js\");\nvar SelectionState = __webpack_require__(/*! ./SelectionState */ \"./node_modules/draft-js/lib/SelectionState.js\");\n\nvar generateRandomKey = __webpack_require__(/*! ./generateRandomKey */ \"./node_modules/draft-js/lib/generateRandomKey.js\");\nvar moveBlockInContentState = __webpack_require__(/*! ./moveBlockInContentState */ \"./node_modules/draft-js/lib/moveBlockInContentState.js\");\n\nvar experimentalTreeDataSupport = DraftFeatureFlags.draft_tree_data_support;\nvar ContentBlockRecord = experimentalTreeDataSupport ? ContentBlockNode : ContentBlock;\n\nvar List = Immutable.List,\n Repeat = Immutable.Repeat;\n\n\nvar AtomicBlockUtils = {\n insertAtomicBlock: function insertAtomicBlock(editorState, entityKey, character) {\n var contentState = editorState.getCurrentContent();\n var selectionState = editorState.getSelection();\n\n var afterRemoval = DraftModifier.removeRange(contentState, selectionState, 'backward');\n\n var targetSelection = afterRemoval.getSelectionAfter();\n var afterSplit = DraftModifier.splitBlock(afterRemoval, targetSelection);\n var insertionTarget = afterSplit.getSelectionAfter();\n\n var asAtomicBlock = DraftModifier.setBlockType(afterSplit, insertionTarget, 'atomic');\n\n var charData = CharacterMetadata.create({ entity: entityKey });\n\n var atomicBlockConfig = {\n key: generateRandomKey(),\n type: 'atomic',\n text: character,\n characterList: List(Repeat(charData, character.length))\n };\n\n var atomicDividerBlockConfig = {\n key: generateRandomKey(),\n type: 'unstyled'\n };\n\n if (experimentalTreeDataSupport) {\n atomicBlockConfig = _extends({}, atomicBlockConfig, {\n nextSibling: atomicDividerBlockConfig.key\n });\n atomicDividerBlockConfig = _extends({}, atomicDividerBlockConfig, {\n prevSibling: atomicBlockConfig.key\n });\n }\n\n var fragmentArray = [new ContentBlockRecord(atomicBlockConfig), new ContentBlockRecord(atomicDividerBlockConfig)];\n\n var fragment = BlockMapBuilder.createFromArray(fragmentArray);\n\n var withAtomicBlock = DraftModifier.replaceWithFragment(asAtomicBlock, insertionTarget, fragment);\n\n var newContent = withAtomicBlock.merge({\n selectionBefore: selectionState,\n selectionAfter: withAtomicBlock.getSelectionAfter().set('hasFocus', true)\n });\n\n return EditorState.push(editorState, newContent, 'insert-fragment');\n },\n\n moveAtomicBlock: function moveAtomicBlock(editorState, atomicBlock, targetRange, insertionMode) {\n var contentState = editorState.getCurrentContent();\n var selectionState = editorState.getSelection();\n\n var withMovedAtomicBlock = void 0;\n\n if (insertionMode === 'before' || insertionMode === 'after') {\n var targetBlock = contentState.getBlockForKey(insertionMode === 'before' ? targetRange.getStartKey() : targetRange.getEndKey());\n\n withMovedAtomicBlock = moveBlockInContentState(contentState, atomicBlock, targetBlock, insertionMode);\n } else {\n var afterRemoval = DraftModifier.removeRange(contentState, targetRange, 'backward');\n\n var selectionAfterRemoval = afterRemoval.getSelectionAfter();\n var _targetBlock = afterRemoval.getBlockForKey(selectionAfterRemoval.getFocusKey());\n\n if (selectionAfterRemoval.getStartOffset() === 0) {\n withMovedAtomicBlock = moveBlockInContentState(afterRemoval, atomicBlock, _targetBlock, 'before');\n } else if (selectionAfterRemoval.getEndOffset() === _targetBlock.getLength()) {\n withMovedAtomicBlock = moveBlockInContentState(afterRemoval, atomicBlock, _targetBlock, 'after');\n } else {\n var afterSplit = DraftModifier.splitBlock(afterRemoval, selectionAfterRemoval);\n\n var selectionAfterSplit = afterSplit.getSelectionAfter();\n var _targetBlock2 = afterSplit.getBlockForKey(selectionAfterSplit.getFocusKey());\n\n withMovedAtomicBlock = moveBlockInContentState(afterSplit, atomicBlock, _targetBlock2, 'before');\n }\n }\n\n var newContent = withMovedAtomicBlock.merge({\n selectionBefore: selectionState,\n selectionAfter: withMovedAtomicBlock.getSelectionAfter().set('hasFocus', true)\n });\n\n return EditorState.push(editorState, newContent, 'move-block');\n }\n};\n\nmodule.exports = AtomicBlockUtils;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0F0b21pY0Jsb2NrVXRpbHMuanM/N2YyNCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWE7O0FBRWIsY0FBYyxtQkFBTyxDQUFDLDREQUFlOztBQUVyQyw2Q0FBNkMsZ0JBQWdCLHNCQUFzQixPQUFPLDJCQUEyQiwwQkFBMEIseURBQXlELDJCQUEyQixFQUFFLEVBQUUsRUFBRSxlQUFlOztBQUV4UCxzQkFBc0IsbUJBQU8sQ0FBQyx5RUFBbUI7QUFDakQsd0JBQXdCLG1CQUFPLENBQUMsNkVBQXFCO0FBQ3JELG1CQUFtQixtQkFBTyxDQUFDLG1FQUFnQjtBQUMzQyx1QkFBdUIsbUJBQU8sQ0FBQywyRUFBb0I7QUFDbkQsd0JBQXdCLG1CQUFPLENBQUMsNkVBQXFCO0FBQ3JELG9CQUFvQixtQkFBTyxDQUFDLHFFQUFpQjtBQUM3QyxrQkFBa0IsbUJBQU8sQ0FBQyxpRUFBZTtBQUN6QyxnQkFBZ0IsbUJBQU8sQ0FBQyxtRkFBVztBQUNuQyxxQkFBcUIsbUJBQU8sQ0FBQyx1RUFBa0I7O0FBRS9DLHdCQUF3QixtQkFBTyxDQUFDLDZFQUFxQjtBQUNyRCw4QkFBOEIsbUJBQU8sQ0FBQyx5RkFBMkI7O0FBRWpFO0FBQ0E7O0FBRUE7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBLDZDQUE2QyxvQkFBb0I7O0FBRWpFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHFDQUFxQztBQUNyQztBQUNBLE9BQU87QUFDUCw0Q0FBNEM7QUFDNUM7QUFDQSxPQUFPO0FBQ1A7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsT0FBTztBQUNQOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBOztBQUVBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2RyYWZ0LWpzL2xpYi9BdG9taWNCbG9ja1V0aWxzLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQlNELXN0eWxlIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuIEFuIGFkZGl0aW9uYWwgZ3JhbnRcbiAqIG9mIHBhdGVudCByaWdodHMgY2FuIGJlIGZvdW5kIGluIHRoZSBQQVRFTlRTIGZpbGUgaW4gdGhlIHNhbWUgZGlyZWN0b3J5LlxuICpcbiAqIEBwcm92aWRlc01vZHVsZSBBdG9taWNCbG9ja1V0aWxzXG4gKiBAZm9ybWF0XG4gKiBcbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbnZhciBfYXNzaWduID0gcmVxdWlyZSgnb2JqZWN0LWFzc2lnbicpO1xuXG52YXIgX2V4dGVuZHMgPSBfYXNzaWduIHx8IGZ1bmN0aW9uICh0YXJnZXQpIHsgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHsgdmFyIHNvdXJjZSA9IGFyZ3VtZW50c1tpXTsgZm9yICh2YXIga2V5IGluIHNvdXJjZSkgeyBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHNvdXJjZSwga2V5KSkgeyB0YXJnZXRba2V5XSA9IHNvdXJjZVtrZXldOyB9IH0gfSByZXR1cm4gdGFyZ2V0OyB9O1xuXG52YXIgQmxvY2tNYXBCdWlsZGVyID0gcmVxdWlyZSgnLi9CbG9ja01hcEJ1aWxkZXInKTtcbnZhciBDaGFyYWN0ZXJNZXRhZGF0YSA9IHJlcXVpcmUoJy4vQ2hhcmFjdGVyTWV0YWRhdGEnKTtcbnZhciBDb250ZW50QmxvY2sgPSByZXF1aXJlKCcuL0NvbnRlbnRCbG9jaycpO1xudmFyIENvbnRlbnRCbG9ja05vZGUgPSByZXF1aXJlKCcuL0NvbnRlbnRCbG9ja05vZGUnKTtcbnZhciBEcmFmdEZlYXR1cmVGbGFncyA9IHJlcXVpcmUoJy4vRHJhZnRGZWF0dXJlRmxhZ3MnKTtcbnZhciBEcmFmdE1vZGlmaWVyID0gcmVxdWlyZSgnLi9EcmFmdE1vZGlmaWVyJyk7XG52YXIgRWRpdG9yU3RhdGUgPSByZXF1aXJlKCcuL0VkaXRvclN0YXRlJyk7XG52YXIgSW1tdXRhYmxlID0gcmVxdWlyZSgnaW1tdXRhYmxlJyk7XG52YXIgU2VsZWN0aW9uU3RhdGUgPSByZXF1aXJlKCcuL1NlbGVjdGlvblN0YXRlJyk7XG5cbnZhciBnZW5lcmF0ZVJhbmRvbUtleSA9IHJlcXVpcmUoJy4vZ2VuZXJhdGVSYW5kb21LZXknKTtcbnZhciBtb3ZlQmxvY2tJbkNvbnRlbnRTdGF0ZSA9IHJlcXVpcmUoJy4vbW92ZUJsb2NrSW5Db250ZW50U3RhdGUnKTtcblxudmFyIGV4cGVyaW1lbnRhbFRyZWVEYXRhU3VwcG9ydCA9IERyYWZ0RmVhdHVyZUZsYWdzLmRyYWZ0X3RyZWVfZGF0YV9zdXBwb3J0O1xudmFyIENvbnRlbnRCbG9ja1JlY29yZCA9IGV4cGVyaW1lbnRhbFRyZWVEYXRhU3VwcG9ydCA/IENvbnRlbnRCbG9ja05vZGUgOiBDb250ZW50QmxvY2s7XG5cbnZhciBMaXN0ID0gSW1tdXRhYmxlLkxpc3QsXG4gICAgUmVwZWF0ID0gSW1tdXRhYmxlLlJlcGVhdDtcblxuXG52YXIgQXRvbWljQmxvY2tVdGlscyA9IHtcbiAgaW5zZXJ0QXRvbWljQmxvY2s6IGZ1bmN0aW9uIGluc2VydEF0b21pY0Jsb2NrKGVkaXRvclN0YXRlLCBlbnRpdHlLZXksIGNoYXJhY3Rlcikge1xuICAgIHZhciBjb250ZW50U3RhdGUgPSBlZGl0b3JTdGF0ZS5nZXRDdXJyZW50Q29udGVudCgpO1xuICAgIHZhciBzZWxlY3Rpb25TdGF0ZSA9IGVkaXRvclN0YXRlLmdldFNlbGVjdGlvbigpO1xuXG4gICAgdmFyIGFmdGVyUmVtb3ZhbCA9IERyYWZ0TW9kaWZpZXIucmVtb3ZlUmFuZ2UoY29udGVudFN0YXRlLCBzZWxlY3Rpb25TdGF0ZSwgJ2JhY2t3YXJkJyk7XG5cbiAgICB2YXIgdGFyZ2V0U2VsZWN0aW9uID0gYWZ0ZXJSZW1vdmFsLmdldFNlbGVjdGlvbkFmdGVyKCk7XG4gICAgdmFyIGFmdGVyU3BsaXQgPSBEcmFmdE1vZGlmaWVyLnNwbGl0QmxvY2soYWZ0ZXJSZW1vdmFsLCB0YXJnZXRTZWxlY3Rpb24pO1xuICAgIHZhciBpbnNlcnRpb25UYXJnZXQgPSBhZnRlclNwbGl0LmdldFNlbGVjdGlvbkFmdGVyKCk7XG5cbiAgICB2YXIgYXNBdG9taWNCbG9jayA9IERyYWZ0TW9kaWZpZXIuc2V0QmxvY2tUeXBlKGFmdGVyU3BsaXQsIGluc2VydGlvblRhcmdldCwgJ2F0b21pYycpO1xuXG4gICAgdmFyIGNoYXJEYXRhID0gQ2hhcmFjdGVyTWV0YWRhdGEuY3JlYXRlKHsgZW50aXR5OiBlbnRpdHlLZXkgfSk7XG5cbiAgICB2YXIgYXRvbWljQmxvY2tDb25maWcgPSB7XG4gICAgICBrZXk6IGdlbmVyYXRlUmFuZG9tS2V5KCksXG4gICAgICB0eXBlOiAnYXRvbWljJyxcbiAgICAgIHRleHQ6IGNoYXJhY3RlcixcbiAgICAgIGNoYXJhY3Rlckxpc3Q6IExpc3QoUmVwZWF0KGNoYXJEYXRhLCBjaGFyYWN0ZXIubGVuZ3RoKSlcbiAgICB9O1xuXG4gICAgdmFyIGF0b21pY0RpdmlkZXJCbG9ja0NvbmZpZyA9IHtcbiAgICAgIGtleTogZ2VuZXJhdGVSYW5kb21LZXkoKSxcbiAgICAgIHR5cGU6ICd1bnN0eWxlZCdcbiAgICB9O1xuXG4gICAgaWYgKGV4cGVyaW1lbnRhbFRyZWVEYXRhU3VwcG9ydCkge1xuICAgICAgYXRvbWljQmxvY2tDb25maWcgPSBfZXh0ZW5kcyh7fSwgYXRvbWljQmxvY2tDb25maWcsIHtcbiAgICAgICAgbmV4dFNpYmxpbmc6IGF0b21pY0RpdmlkZXJCbG9ja0NvbmZpZy5rZXlcbiAgICAgIH0pO1xuICAgICAgYXRvbWljRGl2aWRlckJsb2NrQ29uZmlnID0gX2V4dGVuZHMoe30sIGF0b21pY0RpdmlkZXJCbG9ja0NvbmZpZywge1xuICAgICAgICBwcmV2U2libGluZzogYXRvbWljQmxvY2tDb25maWcua2V5XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICB2YXIgZnJhZ21lbnRBcnJheSA9IFtuZXcgQ29udGVudEJsb2NrUmVjb3JkKGF0b21pY0Jsb2NrQ29uZmlnKSwgbmV3IENvbnRlbnRCbG9ja1JlY29yZChhdG9taWNEaXZpZGVyQmxvY2tDb25maWcpXTtcblxuICAgIHZhciBmcmFnbWVudCA9IEJsb2NrTWFwQnVpbGRlci5jcmVhdGVGcm9tQXJyYXkoZnJhZ21lbnRBcnJheSk7XG5cbiAgICB2YXIgd2l0aEF0b21pY0Jsb2NrID0gRHJhZnRNb2RpZmllci5yZXBsYWNlV2l0aEZyYWdtZW50KGFzQXRvbWljQmxvY2ssIGluc2VydGlvblRhcmdldCwgZnJhZ21lbnQpO1xuXG4gICAgdmFyIG5ld0NvbnRlbnQgPSB3aXRoQXRvbWljQmxvY2subWVyZ2Uoe1xuICAgICAgc2VsZWN0aW9uQmVmb3JlOiBzZWxlY3Rpb25TdGF0ZSxcbiAgICAgIHNlbGVjdGlvbkFmdGVyOiB3aXRoQXRvbWljQmxvY2suZ2V0U2VsZWN0aW9uQWZ0ZXIoKS5zZXQoJ2hhc0ZvY3VzJywgdHJ1ZSlcbiAgICB9KTtcblxuICAgIHJldHVybiBFZGl0b3JTdGF0ZS5wdXNoKGVkaXRvclN0YXRlLCBuZXdDb250ZW50LCAnaW5zZXJ0LWZyYWdtZW50Jyk7XG4gIH0sXG5cbiAgbW92ZUF0b21pY0Jsb2NrOiBmdW5jdGlvbiBtb3ZlQXRvbWljQmxvY2soZWRpdG9yU3RhdGUsIGF0b21pY0Jsb2NrLCB0YXJnZXRSYW5nZSwgaW5zZXJ0aW9uTW9kZSkge1xuICAgIHZhciBjb250ZW50U3RhdGUgPSBlZGl0b3JTdGF0ZS5nZXRDdXJyZW50Q29udGVudCgpO1xuICAgIHZhciBzZWxlY3Rpb25TdGF0ZSA9IGVkaXRvclN0YXRlLmdldFNlbGVjdGlvbigpO1xuXG4gICAgdmFyIHdpdGhNb3ZlZEF0b21pY0Jsb2NrID0gdm9pZCAwO1xuXG4gICAgaWYgKGluc2VydGlvbk1vZGUgPT09ICdiZWZvcmUnIHx8IGluc2VydGlvbk1vZGUgPT09ICdhZnRlcicpIHtcbiAgICAgIHZhciB0YXJnZXRCbG9jayA9IGNvbnRlbnRTdGF0ZS5nZXRCbG9ja0ZvcktleShpbnNlcnRpb25Nb2RlID09PSAnYmVmb3JlJyA/IHRhcmdldFJhbmdlLmdldFN0YXJ0S2V5KCkgOiB0YXJnZXRSYW5nZS5nZXRFbmRLZXkoKSk7XG5cbiAgICAgIHdpdGhNb3ZlZEF0b21pY0Jsb2NrID0gbW92ZUJsb2NrSW5Db250ZW50U3RhdGUoY29udGVudFN0YXRlLCBhdG9taWNCbG9jaywgdGFyZ2V0QmxvY2ssIGluc2VydGlvbk1vZGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB2YXIgYWZ0ZXJSZW1vdmFsID0gRHJhZnRNb2RpZmllci5yZW1vdmVSYW5nZShjb250ZW50U3RhdGUsIHRhcmdldFJhbmdlLCAnYmFja3dhcmQnKTtcblxuICAgICAgdmFyIHNlbGVjdGlvbkFmdGVyUmVtb3ZhbCA9IGFmdGVyUmVtb3ZhbC5nZXRTZWxlY3Rpb25BZnRlcigpO1xuICAgICAgdmFyIF90YXJnZXRCbG9jayA9IGFmdGVyUmVtb3ZhbC5nZXRCbG9ja0ZvcktleShzZWxlY3Rpb25BZnRlclJlbW92YWwuZ2V0Rm9jdXNLZXkoKSk7XG5cbiAgICAgIGlmIChzZWxlY3Rpb25BZnRlclJlbW92YWwuZ2V0U3RhcnRPZmZzZXQoKSA9PT0gMCkge1xuICAgICAgICB3aXRoTW92ZWRBdG9taWNCbG9jayA9IG1vdmVCbG9ja0luQ29udGVudFN0YXRlKGFmdGVyUmVtb3ZhbCwgYXRvbWljQmxvY2ssIF90YXJnZXRCbG9jaywgJ2JlZm9yZScpO1xuICAgICAgfSBlbHNlIGlmIChzZWxlY3Rpb25BZnRlclJlbW92YWwuZ2V0RW5kT2Zmc2V0KCkgPT09IF90YXJnZXRCbG9jay5nZXRMZW5ndGgoKSkge1xuICAgICAgICB3aXRoTW92ZWRBdG9taWNCbG9jayA9IG1vdmVCbG9ja0luQ29udGVudFN0YXRlKGFmdGVyUmVtb3ZhbCwgYXRvbWljQmxvY2ssIF90YXJnZXRCbG9jaywgJ2FmdGVyJyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB2YXIgYWZ0ZXJTcGxpdCA9IERyYWZ0TW9kaWZpZXIuc3BsaXRCbG9jayhhZnRlclJlbW92YWwsIHNlbGVjdGlvbkFmdGVyUmVtb3ZhbCk7XG5cbiAgICAgICAgdmFyIHNlbGVjdGlvbkFmdGVyU3BsaXQgPSBhZnRlclNwbGl0LmdldFNlbGVjdGlvbkFmdGVyKCk7XG4gICAgICAgIHZhciBfdGFyZ2V0QmxvY2syID0gYWZ0ZXJTcGxpdC5nZXRCbG9ja0ZvcktleShzZWxlY3Rpb25BZnRlclNwbGl0LmdldEZvY3VzS2V5KCkpO1xuXG4gICAgICAgIHdpdGhNb3ZlZEF0b21pY0Jsb2NrID0gbW92ZUJsb2NrSW5Db250ZW50U3RhdGUoYWZ0ZXJTcGxpdCwgYXRvbWljQmxvY2ssIF90YXJnZXRCbG9jazIsICdiZWZvcmUnKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB2YXIgbmV3Q29udGVudCA9IHdpdGhNb3ZlZEF0b21pY0Jsb2NrLm1lcmdlKHtcbiAgICAgIHNlbGVjdGlvbkJlZm9yZTogc2VsZWN0aW9uU3RhdGUsXG4gICAgICBzZWxlY3Rpb25BZnRlcjogd2l0aE1vdmVkQXRvbWljQmxvY2suZ2V0U2VsZWN0aW9uQWZ0ZXIoKS5zZXQoJ2hhc0ZvY3VzJywgdHJ1ZSlcbiAgICB9KTtcblxuICAgIHJldHVybiBFZGl0b3JTdGF0ZS5wdXNoKGVkaXRvclN0YXRlLCBuZXdDb250ZW50LCAnbW92ZS1ibG9jaycpO1xuICB9XG59O1xuXG5tb2R1bGUuZXhwb3J0cyA9IEF0b21pY0Jsb2NrVXRpbHM7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/AtomicBlockUtils.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar BlockMapBuilder = __webpack_require__(/*! ./BlockMapBuilder */ \"./node_modules/draft-js/lib/BlockMapBuilder.js\");\n\nvar CharacterMetadata = __webpack_require__(/*! ./CharacterMetadata */ \"./node_modules/draft-js/lib/CharacterMetadata.js\");\n\nvar ContentBlock = __webpack_require__(/*! ./ContentBlock */ \"./node_modules/draft-js/lib/ContentBlock.js\");\n\nvar ContentBlockNode = __webpack_require__(/*! ./ContentBlockNode */ \"./node_modules/draft-js/lib/ContentBlockNode.js\");\n\nvar DraftModifier = __webpack_require__(/*! ./DraftModifier */ \"./node_modules/draft-js/lib/DraftModifier.js\");\n\nvar EditorState = __webpack_require__(/*! ./EditorState */ \"./node_modules/draft-js/lib/EditorState.js\");\n\nvar generateRandomKey = __webpack_require__(/*! ./generateRandomKey */ \"./node_modules/draft-js/lib/generateRandomKey.js\");\n\nvar gkx = __webpack_require__(/*! ./gkx */ \"./node_modules/draft-js/lib/gkx.js\");\n\nvar Immutable = __webpack_require__(/*! immutable */ \"./node_modules/draft-js/node_modules/immutable/dist/immutable.js\");\n\nvar moveBlockInContentState = __webpack_require__(/*! ./moveBlockInContentState */ \"./node_modules/draft-js/lib/moveBlockInContentState.js\");\n\nvar experimentalTreeDataSupport = gkx('draft_tree_data_support');\nvar ContentBlockRecord = experimentalTreeDataSupport ? ContentBlockNode : ContentBlock;\nvar List = Immutable.List,\n Repeat = Immutable.Repeat;\nvar AtomicBlockUtils = {\n insertAtomicBlock: function insertAtomicBlock(editorState, entityKey, character) {\n var contentState = editorState.getCurrentContent();\n var selectionState = editorState.getSelection();\n var afterRemoval = DraftModifier.removeRange(contentState, selectionState, 'backward');\n var targetSelection = afterRemoval.getSelectionAfter();\n var afterSplit = DraftModifier.splitBlock(afterRemoval, targetSelection);\n var insertionTarget = afterSplit.getSelectionAfter();\n var asAtomicBlock = DraftModifier.setBlockType(afterSplit, insertionTarget, 'atomic');\n var charData = CharacterMetadata.create({\n entity: entityKey\n });\n var atomicBlockConfig = {\n key: generateRandomKey(),\n type: 'atomic',\n text: character,\n characterList: List(Repeat(charData, character.length))\n };\n var atomicDividerBlockConfig = {\n key: generateRandomKey(),\n type: 'unstyled'\n };\n\n if (experimentalTreeDataSupport) {\n atomicBlockConfig = _objectSpread({}, atomicBlockConfig, {\n nextSibling: atomicDividerBlockConfig.key\n });\n atomicDividerBlockConfig = _objectSpread({}, atomicDividerBlockConfig, {\n prevSibling: atomicBlockConfig.key\n });\n }\n\n var fragmentArray = [new ContentBlockRecord(atomicBlockConfig), new ContentBlockRecord(atomicDividerBlockConfig)];\n var fragment = BlockMapBuilder.createFromArray(fragmentArray);\n var withAtomicBlock = DraftModifier.replaceWithFragment(asAtomicBlock, insertionTarget, fragment);\n var newContent = withAtomicBlock.merge({\n selectionBefore: selectionState,\n selectionAfter: withAtomicBlock.getSelectionAfter().set('hasFocus', true)\n });\n return EditorState.push(editorState, newContent, 'insert-fragment');\n },\n moveAtomicBlock: function moveAtomicBlock(editorState, atomicBlock, targetRange, insertionMode) {\n var contentState = editorState.getCurrentContent();\n var selectionState = editorState.getSelection();\n var withMovedAtomicBlock;\n\n if (insertionMode === 'before' || insertionMode === 'after') {\n var targetBlock = contentState.getBlockForKey(insertionMode === 'before' ? targetRange.getStartKey() : targetRange.getEndKey());\n withMovedAtomicBlock = moveBlockInContentState(contentState, atomicBlock, targetBlock, insertionMode);\n } else {\n var afterRemoval = DraftModifier.removeRange(contentState, targetRange, 'backward');\n var selectionAfterRemoval = afterRemoval.getSelectionAfter();\n\n var _targetBlock = afterRemoval.getBlockForKey(selectionAfterRemoval.getFocusKey());\n\n if (selectionAfterRemoval.getStartOffset() === 0) {\n withMovedAtomicBlock = moveBlockInContentState(afterRemoval, atomicBlock, _targetBlock, 'before');\n } else if (selectionAfterRemoval.getEndOffset() === _targetBlock.getLength()) {\n withMovedAtomicBlock = moveBlockInContentState(afterRemoval, atomicBlock, _targetBlock, 'after');\n } else {\n var afterSplit = DraftModifier.splitBlock(afterRemoval, selectionAfterRemoval);\n var selectionAfterSplit = afterSplit.getSelectionAfter();\n\n var _targetBlock2 = afterSplit.getBlockForKey(selectionAfterSplit.getFocusKey());\n\n withMovedAtomicBlock = moveBlockInContentState(afterSplit, atomicBlock, _targetBlock2, 'before');\n }\n }\n\n var newContent = withMovedAtomicBlock.merge({\n selectionBefore: selectionState,\n selectionAfter: withMovedAtomicBlock.getSelectionAfter().set('hasFocus', true)\n });\n return EditorState.push(editorState, newContent, 'move-block');\n }\n};\nmodule.exports = AtomicBlockUtils;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0F0b21pY0Jsb2NrVXRpbHMuanM/N2YyNCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNhOztBQUViLGdDQUFnQyxnQkFBZ0Isc0JBQXNCLE9BQU8sdURBQXVELG1DQUFtQywwREFBMEQsc0ZBQXNGLGdFQUFnRSxFQUFFLEdBQUcsRUFBRSxpQ0FBaUMsMkNBQTJDLEVBQUUsRUFBRSxFQUFFLGVBQWU7O0FBRS9kLDJDQUEyQyxrQkFBa0Isa0NBQWtDLHFFQUFxRSxFQUFFLEVBQUUsT0FBTyxrQkFBa0IsRUFBRSxZQUFZOztBQUUvTSxzQkFBc0IsbUJBQU8sQ0FBQyx5RUFBbUI7O0FBRWpELHdCQUF3QixtQkFBTyxDQUFDLDZFQUFxQjs7QUFFckQsbUJBQW1CLG1CQUFPLENBQUMsbUVBQWdCOztBQUUzQyx1QkFBdUIsbUJBQU8sQ0FBQywyRUFBb0I7O0FBRW5ELG9CQUFvQixtQkFBTyxDQUFDLHFFQUFpQjs7QUFFN0Msa0JBQWtCLG1CQUFPLENBQUMsaUVBQWU7O0FBRXpDLHdCQUF3QixtQkFBTyxDQUFDLDZFQUFxQjs7QUFFckQsVUFBVSxtQkFBTyxDQUFDLGlEQUFPOztBQUV6QixnQkFBZ0IsbUJBQU8sQ0FBQyxtRkFBVzs7QUFFbkMsOEJBQThCLG1CQUFPLENBQUMseUZBQTJCOztBQUVqRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSwwQ0FBMEM7QUFDMUM7QUFDQSxPQUFPO0FBQ1AsaURBQWlEO0FBQ2pEO0FBQ0EsT0FBTztBQUNQOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsT0FBTztBQUNQO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvQXRvbWljQmxvY2tVdGlscy5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSBGYWNlYm9vaywgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICogQGZvcm1hdFxuICogXG4gKiBAZW1haWxzIG9uY2FsbCtkcmFmdF9qc1xuICovXG4ndXNlIHN0cmljdCc7XG5cbmZ1bmN0aW9uIF9vYmplY3RTcHJlYWQodGFyZ2V0KSB7IGZvciAodmFyIGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7IHZhciBzb3VyY2UgPSBhcmd1bWVudHNbaV0gIT0gbnVsbCA/IGFyZ3VtZW50c1tpXSA6IHt9OyB2YXIgb3duS2V5cyA9IE9iamVjdC5rZXlzKHNvdXJjZSk7IGlmICh0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyA9PT0gJ2Z1bmN0aW9uJykgeyBvd25LZXlzID0gb3duS2V5cy5jb25jYXQoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhzb3VyY2UpLmZpbHRlcihmdW5jdGlvbiAoc3ltKSB7IHJldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHNvdXJjZSwgc3ltKS5lbnVtZXJhYmxlOyB9KSk7IH0gb3duS2V5cy5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHsgX2RlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBzb3VyY2Vba2V5XSk7IH0pOyB9IHJldHVybiB0YXJnZXQ7IH1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnR5KG9iaiwga2V5LCB2YWx1ZSkgeyBpZiAoa2V5IGluIG9iaikgeyBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHsgdmFsdWU6IHZhbHVlLCBlbnVtZXJhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIHdyaXRhYmxlOiB0cnVlIH0pOyB9IGVsc2UgeyBvYmpba2V5XSA9IHZhbHVlOyB9IHJldHVybiBvYmo7IH1cblxudmFyIEJsb2NrTWFwQnVpbGRlciA9IHJlcXVpcmUoXCIuL0Jsb2NrTWFwQnVpbGRlclwiKTtcblxudmFyIENoYXJhY3Rlck1ldGFkYXRhID0gcmVxdWlyZShcIi4vQ2hhcmFjdGVyTWV0YWRhdGFcIik7XG5cbnZhciBDb250ZW50QmxvY2sgPSByZXF1aXJlKFwiLi9Db250ZW50QmxvY2tcIik7XG5cbnZhciBDb250ZW50QmxvY2tOb2RlID0gcmVxdWlyZShcIi4vQ29udGVudEJsb2NrTm9kZVwiKTtcblxudmFyIERyYWZ0TW9kaWZpZXIgPSByZXF1aXJlKFwiLi9EcmFmdE1vZGlmaWVyXCIpO1xuXG52YXIgRWRpdG9yU3RhdGUgPSByZXF1aXJlKFwiLi9FZGl0b3JTdGF0ZVwiKTtcblxudmFyIGdlbmVyYXRlUmFuZG9tS2V5ID0gcmVxdWlyZShcIi4vZ2VuZXJhdGVSYW5kb21LZXlcIik7XG5cbnZhciBna3ggPSByZXF1aXJlKFwiLi9na3hcIik7XG5cbnZhciBJbW11dGFibGUgPSByZXF1aXJlKFwiaW1tdXRhYmxlXCIpO1xuXG52YXIgbW92ZUJsb2NrSW5Db250ZW50U3RhdGUgPSByZXF1aXJlKFwiLi9tb3ZlQmxvY2tJbkNvbnRlbnRTdGF0ZVwiKTtcblxudmFyIGV4cGVyaW1lbnRhbFRyZWVEYXRhU3VwcG9ydCA9IGdreCgnZHJhZnRfdHJlZV9kYXRhX3N1cHBvcnQnKTtcbnZhciBDb250ZW50QmxvY2tSZWNvcmQgPSBleHBlcmltZW50YWxUcmVlRGF0YVN1cHBvcnQgPyBDb250ZW50QmxvY2tOb2RlIDogQ29udGVudEJsb2NrO1xudmFyIExpc3QgPSBJbW11dGFibGUuTGlzdCxcbiAgICBSZXBlYXQgPSBJbW11dGFibGUuUmVwZWF0O1xudmFyIEF0b21pY0Jsb2NrVXRpbHMgPSB7XG4gIGluc2VydEF0b21pY0Jsb2NrOiBmdW5jdGlvbiBpbnNlcnRBdG9taWNCbG9jayhlZGl0b3JTdGF0ZSwgZW50aXR5S2V5LCBjaGFyYWN0ZXIpIHtcbiAgICB2YXIgY29udGVudFN0YXRlID0gZWRpdG9yU3RhdGUuZ2V0Q3VycmVudENvbnRlbnQoKTtcbiAgICB2YXIgc2VsZWN0aW9uU3RhdGUgPSBlZGl0b3JTdGF0ZS5nZXRTZWxlY3Rpb24oKTtcbiAgICB2YXIgYWZ0ZXJSZW1vdmFsID0gRHJhZnRNb2RpZmllci5yZW1vdmVSYW5nZShjb250ZW50U3RhdGUsIHNlbGVjdGlvblN0YXRlLCAnYmFja3dhcmQnKTtcbiAgICB2YXIgdGFyZ2V0U2VsZWN0aW9uID0gYWZ0ZXJSZW1vdmFsLmdldFNlbGVjdGlvbkFmdGVyKCk7XG4gICAgdmFyIGFmdGVyU3BsaXQgPSBEcmFmdE1vZGlmaWVyLnNwbGl0QmxvY2soYWZ0ZXJSZW1vdmFsLCB0YXJnZXRTZWxlY3Rpb24pO1xuICAgIHZhciBpbnNlcnRpb25UYXJnZXQgPSBhZnRlclNwbGl0LmdldFNlbGVjdGlvbkFmdGVyKCk7XG4gICAgdmFyIGFzQXRvbWljQmxvY2sgPSBEcmFmdE1vZGlmaWVyLnNldEJsb2NrVHlwZShhZnRlclNwbGl0LCBpbnNlcnRpb25UYXJnZXQsICdhdG9taWMnKTtcbiAgICB2YXIgY2hhckRhdGEgPSBDaGFyYWN0ZXJNZXRhZGF0YS5jcmVhdGUoe1xuICAgICAgZW50aXR5OiBlbnRpdHlLZXlcbiAgICB9KTtcbiAgICB2YXIgYXRvbWljQmxvY2tDb25maWcgPSB7XG4gICAgICBrZXk6IGdlbmVyYXRlUmFuZG9tS2V5KCksXG4gICAgICB0eXBlOiAnYXRvbWljJyxcbiAgICAgIHRleHQ6IGNoYXJhY3RlcixcbiAgICAgIGNoYXJhY3Rlckxpc3Q6IExpc3QoUmVwZWF0KGNoYXJEYXRhLCBjaGFyYWN0ZXIubGVuZ3RoKSlcbiAgICB9O1xuICAgIHZhciBhdG9taWNEaXZpZGVyQmxvY2tDb25maWcgPSB7XG4gICAgICBrZXk6IGdlbmVyYXRlUmFuZG9tS2V5KCksXG4gICAgICB0eXBlOiAndW5zdHlsZWQnXG4gICAgfTtcblxuICAgIGlmIChleHBlcmltZW50YWxUcmVlRGF0YVN1cHBvcnQpIHtcbiAgICAgIGF0b21pY0Jsb2NrQ29uZmlnID0gX29iamVjdFNwcmVhZCh7fSwgYXRvbWljQmxvY2tDb25maWcsIHtcbiAgICAgICAgbmV4dFNpYmxpbmc6IGF0b21pY0RpdmlkZXJCbG9ja0NvbmZpZy5rZXlcbiAgICAgIH0pO1xuICAgICAgYXRvbWljRGl2aWRlckJsb2NrQ29uZmlnID0gX29iamVjdFNwcmVhZCh7fSwgYXRvbWljRGl2aWRlckJsb2NrQ29uZmlnLCB7XG4gICAgICAgIHByZXZTaWJsaW5nOiBhdG9taWNCbG9ja0NvbmZpZy5rZXlcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHZhciBmcmFnbWVudEFycmF5ID0gW25ldyBDb250ZW50QmxvY2tSZWNvcmQoYXRvbWljQmxvY2tDb25maWcpLCBuZXcgQ29udGVudEJsb2NrUmVjb3JkKGF0b21pY0RpdmlkZXJCbG9ja0NvbmZpZyldO1xuICAgIHZhciBmcmFnbWVudCA9IEJsb2NrTWFwQnVpbGRlci5jcmVhdGVGcm9tQXJyYXkoZnJhZ21lbnRBcnJheSk7XG4gICAgdmFyIHdpdGhBdG9taWNCbG9jayA9IERyYWZ0TW9kaWZpZXIucmVwbGFjZVdpdGhGcmFnbWVudChhc0F0b21pY0Jsb2NrLCBpbnNlcnRpb25UYXJnZXQsIGZyYWdtZW50KTtcbiAgICB2YXIgbmV3Q29udGVudCA9IHdpdGhBdG9taWNCbG9jay5tZXJnZSh7XG4gICAgICBzZWxlY3Rpb25CZWZvcmU6IHNlbGVjdGlvblN0YXRlLFxuICAgICAgc2VsZWN0aW9uQWZ0ZXI6IHdpdGhBdG9taWNCbG9jay5nZXRTZWxlY3Rpb25BZnRlcigpLnNldCgnaGFzRm9jdXMnLCB0cnVlKVxuICAgIH0pO1xuICAgIHJldHVybiBFZGl0b3JTdGF0ZS5wdXNoKGVkaXRvclN0YXRlLCBuZXdDb250ZW50LCAnaW5zZXJ0LWZyYWdtZW50Jyk7XG4gIH0sXG4gIG1vdmVBdG9taWNCbG9jazogZnVuY3Rpb24gbW92ZUF0b21pY0Jsb2NrKGVkaXRvclN0YXRlLCBhdG9taWNCbG9jaywgdGFyZ2V0UmFuZ2UsIGluc2VydGlvbk1vZGUpIHtcbiAgICB2YXIgY29udGVudFN0YXRlID0gZWRpdG9yU3RhdGUuZ2V0Q3VycmVudENvbnRlbnQoKTtcbiAgICB2YXIgc2VsZWN0aW9uU3RhdGUgPSBlZGl0b3JTdGF0ZS5nZXRTZWxlY3Rpb24oKTtcbiAgICB2YXIgd2l0aE1vdmVkQXRvbWljQmxvY2s7XG5cbiAgICBpZiAoaW5zZXJ0aW9uTW9kZSA9PT0gJ2JlZm9yZScgfHwgaW5zZXJ0aW9uTW9kZSA9PT0gJ2FmdGVyJykge1xuICAgICAgdmFyIHRhcmdldEJsb2NrID0gY29udGVudFN0YXRlLmdldEJsb2NrRm9yS2V5KGluc2VydGlvbk1vZGUgPT09ICdiZWZvcmUnID8gdGFyZ2V0UmFuZ2UuZ2V0U3RhcnRLZXkoKSA6IHRhcmdldFJhbmdlLmdldEVuZEtleSgpKTtcbiAgICAgIHdpdGhNb3ZlZEF0b21pY0Jsb2NrID0gbW92ZUJsb2NrSW5Db250ZW50U3RhdGUoY29udGVudFN0YXRlLCBhdG9taWNCbG9jaywgdGFyZ2V0QmxvY2ssIGluc2VydGlvbk1vZGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB2YXIgYWZ0ZXJSZW1vdmFsID0gRHJhZnRNb2RpZmllci5yZW1vdmVSYW5nZShjb250ZW50U3RhdGUsIHRhcmdldFJhbmdlLCAnYmFja3dhcmQnKTtcbiAgICAgIHZhciBzZWxlY3Rpb25BZnRlclJlbW92YWwgPSBhZnRlclJlbW92YWwuZ2V0U2VsZWN0aW9uQWZ0ZXIoKTtcblxuICAgICAgdmFyIF90YXJnZXRCbG9jayA9IGFmdGVyUmVtb3ZhbC5nZXRCbG9ja0ZvcktleShzZWxlY3Rpb25BZnRlclJlbW92YWwuZ2V0Rm9jdXNLZXkoKSk7XG5cbiAgICAgIGlmIChzZWxlY3Rpb25BZnRlclJlbW92YWwuZ2V0U3RhcnRPZmZzZXQoKSA9PT0gMCkge1xuICAgICAgICB3aXRoTW92ZWRBdG9taWNCbG9jayA9IG1vdmVCbG9ja0luQ29udGVudFN0YXRlKGFmdGVyUmVtb3ZhbCwgYXRvbWljQmxvY2ssIF90YXJnZXRCbG9jaywgJ2JlZm9yZScpO1xuICAgICAgfSBlbHNlIGlmIChzZWxlY3Rpb25BZnRlclJlbW92YWwuZ2V0RW5kT2Zmc2V0KCkgPT09IF90YXJnZXRCbG9jay5nZXRMZW5ndGgoKSkge1xuICAgICAgICB3aXRoTW92ZWRBdG9taWNCbG9jayA9IG1vdmVCbG9ja0luQ29udGVudFN0YXRlKGFmdGVyUmVtb3ZhbCwgYXRvbWljQmxvY2ssIF90YXJnZXRCbG9jaywgJ2FmdGVyJyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB2YXIgYWZ0ZXJTcGxpdCA9IERyYWZ0TW9kaWZpZXIuc3BsaXRCbG9jayhhZnRlclJlbW92YWwsIHNlbGVjdGlvbkFmdGVyUmVtb3ZhbCk7XG4gICAgICAgIHZhciBzZWxlY3Rpb25BZnRlclNwbGl0ID0gYWZ0ZXJTcGxpdC5nZXRTZWxlY3Rpb25BZnRlcigpO1xuXG4gICAgICAgIHZhciBfdGFyZ2V0QmxvY2syID0gYWZ0ZXJTcGxpdC5nZXRCbG9ja0ZvcktleShzZWxlY3Rpb25BZnRlclNwbGl0LmdldEZvY3VzS2V5KCkpO1xuXG4gICAgICAgIHdpdGhNb3ZlZEF0b21pY0Jsb2NrID0gbW92ZUJsb2NrSW5Db250ZW50U3RhdGUoYWZ0ZXJTcGxpdCwgYXRvbWljQmxvY2ssIF90YXJnZXRCbG9jazIsICdiZWZvcmUnKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB2YXIgbmV3Q29udGVudCA9IHdpdGhNb3ZlZEF0b21pY0Jsb2NrLm1lcmdlKHtcbiAgICAgIHNlbGVjdGlvbkJlZm9yZTogc2VsZWN0aW9uU3RhdGUsXG4gICAgICBzZWxlY3Rpb25BZnRlcjogd2l0aE1vdmVkQXRvbWljQmxvY2suZ2V0U2VsZWN0aW9uQWZ0ZXIoKS5zZXQoJ2hhc0ZvY3VzJywgdHJ1ZSlcbiAgICB9KTtcbiAgICByZXR1cm4gRWRpdG9yU3RhdGUucHVzaChlZGl0b3JTdGF0ZSwgbmV3Q29udGVudCwgJ21vdmUtYmxvY2snKTtcbiAgfVxufTtcbm1vZHVsZS5leHBvcnRzID0gQXRvbWljQmxvY2tVdGlsczsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/AtomicBlockUtils.js\n"); /***/ }), @@ -31,7 +42,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule BlockMapBuilder\n * @format\n * \n */\n\n\n\nvar Immutable = __webpack_require__(/*! immutable */ \"./node_modules/draft-js/node_modules/immutable/dist/immutable.js\");\n\nvar OrderedMap = Immutable.OrderedMap;\n\n\nvar BlockMapBuilder = {\n createFromArray: function createFromArray(blocks) {\n return OrderedMap(blocks.map(function (block) {\n return [block.getKey(), block];\n }));\n }\n};\n\nmodule.exports = BlockMapBuilder;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0Jsb2NrTWFwQnVpbGRlci5qcz82MWU1Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFYTs7QUFFYixnQkFBZ0IsbUJBQU8sQ0FBQyxtRkFBVzs7QUFFbkM7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUEiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0Jsb2NrTWFwQnVpbGRlci5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXG4gKiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEJTRC1zdHlsZSBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLiBBbiBhZGRpdGlvbmFsIGdyYW50XG4gKiBvZiBwYXRlbnQgcmlnaHRzIGNhbiBiZSBmb3VuZCBpbiB0aGUgUEFURU5UUyBmaWxlIGluIHRoZSBzYW1lIGRpcmVjdG9yeS5cbiAqXG4gKiBAcHJvdmlkZXNNb2R1bGUgQmxvY2tNYXBCdWlsZGVyXG4gKiBAZm9ybWF0XG4gKiBcbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbnZhciBJbW11dGFibGUgPSByZXF1aXJlKCdpbW11dGFibGUnKTtcblxudmFyIE9yZGVyZWRNYXAgPSBJbW11dGFibGUuT3JkZXJlZE1hcDtcblxuXG52YXIgQmxvY2tNYXBCdWlsZGVyID0ge1xuICBjcmVhdGVGcm9tQXJyYXk6IGZ1bmN0aW9uIGNyZWF0ZUZyb21BcnJheShibG9ja3MpIHtcbiAgICByZXR1cm4gT3JkZXJlZE1hcChibG9ja3MubWFwKGZ1bmN0aW9uIChibG9jaykge1xuICAgICAgcmV0dXJuIFtibG9jay5nZXRLZXkoKSwgYmxvY2tdO1xuICAgIH0pKTtcbiAgfVxufTtcblxubW9kdWxlLmV4cG9ydHMgPSBCbG9ja01hcEJ1aWxkZXI7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/BlockMapBuilder.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nvar Immutable = __webpack_require__(/*! immutable */ \"./node_modules/draft-js/node_modules/immutable/dist/immutable.js\");\n\nvar OrderedMap = Immutable.OrderedMap;\nvar BlockMapBuilder = {\n createFromArray: function createFromArray(blocks) {\n return OrderedMap(blocks.map(function (block) {\n return [block.getKey(), block];\n }));\n }\n};\nmodule.exports = BlockMapBuilder;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0Jsb2NrTWFwQnVpbGRlci5qcz82MWU1Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ2E7O0FBRWIsZ0JBQWdCLG1CQUFPLENBQUMsbUZBQVc7O0FBRW5DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2RyYWZ0LWpzL2xpYi9CbG9ja01hcEJ1aWxkZXIuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgRmFjZWJvb2ssIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIEBmb3JtYXRcbiAqIFxuICogQGVtYWlscyBvbmNhbGwrZHJhZnRfanNcbiAqL1xuJ3VzZSBzdHJpY3QnO1xuXG52YXIgSW1tdXRhYmxlID0gcmVxdWlyZShcImltbXV0YWJsZVwiKTtcblxudmFyIE9yZGVyZWRNYXAgPSBJbW11dGFibGUuT3JkZXJlZE1hcDtcbnZhciBCbG9ja01hcEJ1aWxkZXIgPSB7XG4gIGNyZWF0ZUZyb21BcnJheTogZnVuY3Rpb24gY3JlYXRlRnJvbUFycmF5KGJsb2Nrcykge1xuICAgIHJldHVybiBPcmRlcmVkTWFwKGJsb2Nrcy5tYXAoZnVuY3Rpb24gKGJsb2NrKSB7XG4gICAgICByZXR1cm4gW2Jsb2NrLmdldEtleSgpLCBibG9ja107XG4gICAgfSkpO1xuICB9XG59O1xubW9kdWxlLmV4cG9ydHMgPSBCbG9ja01hcEJ1aWxkZXI7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/BlockMapBuilder.js\n"); /***/ }), @@ -43,7 +54,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule BlockTree\n * @format\n * \n */\n\n\n\nvar Immutable = __webpack_require__(/*! immutable */ \"./node_modules/draft-js/node_modules/immutable/dist/immutable.js\");\n\nvar emptyFunction = __webpack_require__(/*! fbjs/lib/emptyFunction */ \"./node_modules/fbjs/lib/emptyFunction.js\");\nvar findRangesImmutable = __webpack_require__(/*! ./findRangesImmutable */ \"./node_modules/draft-js/lib/findRangesImmutable.js\");\n\nvar List = Immutable.List,\n Repeat = Immutable.Repeat,\n Record = Immutable.Record;\n\n\nvar returnTrue = emptyFunction.thatReturnsTrue;\n\nvar FINGERPRINT_DELIMITER = '-';\n\nvar defaultLeafRange = {\n start: null,\n end: null\n};\n\nvar LeafRange = Record(defaultLeafRange);\n\nvar defaultDecoratorRange = {\n start: null,\n end: null,\n decoratorKey: null,\n leaves: null\n};\n\nvar DecoratorRange = Record(defaultDecoratorRange);\n\nvar BlockTree = {\n /**\n * Generate a block tree for a given ContentBlock/decorator pair.\n */\n generate: function generate(contentState, block, decorator) {\n var textLength = block.getLength();\n if (!textLength) {\n return List.of(new DecoratorRange({\n start: 0,\n end: 0,\n decoratorKey: null,\n leaves: List.of(new LeafRange({ start: 0, end: 0 }))\n }));\n }\n\n var leafSets = [];\n var decorations = decorator ? decorator.getDecorations(block, contentState) : List(Repeat(null, textLength));\n\n var chars = block.getCharacterList();\n\n findRangesImmutable(decorations, areEqual, returnTrue, function (start, end) {\n leafSets.push(new DecoratorRange({\n start: start,\n end: end,\n decoratorKey: decorations.get(start),\n leaves: generateLeaves(chars.slice(start, end).toList(), start)\n }));\n });\n\n return List(leafSets);\n },\n\n /**\n * Create a string representation of the given tree map. This allows us\n * to rapidly determine whether a tree has undergone a significant\n * structural change.\n */\n getFingerprint: function getFingerprint(tree) {\n return tree.map(function (leafSet) {\n var decoratorKey = leafSet.get('decoratorKey');\n var fingerprintString = decoratorKey !== null ? decoratorKey + '.' + (leafSet.get('end') - leafSet.get('start')) : '';\n return '' + fingerprintString + '.' + leafSet.get('leaves').size;\n }).join(FINGERPRINT_DELIMITER);\n }\n};\n\n/**\n * Generate LeafRange records for a given character list.\n */\nfunction generateLeaves(characters, offset) {\n var leaves = [];\n var inlineStyles = characters.map(function (c) {\n return c.getStyle();\n }).toList();\n findRangesImmutable(inlineStyles, areEqual, returnTrue, function (start, end) {\n leaves.push(new LeafRange({\n start: start + offset,\n end: end + offset\n }));\n });\n return List(leaves);\n}\n\nfunction areEqual(a, b) {\n return a === b;\n}\n\nmodule.exports = BlockTree;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0Jsb2NrVHJlZS5qcz8yZjRhIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFYTs7QUFFYixnQkFBZ0IsbUJBQU8sQ0FBQyxtRkFBVzs7QUFFbkMsb0JBQW9CLG1CQUFPLENBQUMsd0VBQXdCO0FBQ3BELDBCQUEwQixtQkFBTyxDQUFDLGlGQUF1Qjs7QUFFekQ7QUFDQTtBQUNBOzs7QUFHQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVDQUF1QyxtQkFBbUI7QUFDMUQsT0FBTztBQUNQOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQLEtBQUs7O0FBRUw7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2RyYWZ0LWpzL2xpYi9CbG9ja1RyZWUuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxMy1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuICogQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBCU0Qtc3R5bGUgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS4gQW4gYWRkaXRpb25hbCBncmFudFxuICogb2YgcGF0ZW50IHJpZ2h0cyBjYW4gYmUgZm91bmQgaW4gdGhlIFBBVEVOVFMgZmlsZSBpbiB0aGUgc2FtZSBkaXJlY3RvcnkuXG4gKlxuICogQHByb3ZpZGVzTW9kdWxlIEJsb2NrVHJlZVxuICogQGZvcm1hdFxuICogXG4gKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG52YXIgSW1tdXRhYmxlID0gcmVxdWlyZSgnaW1tdXRhYmxlJyk7XG5cbnZhciBlbXB0eUZ1bmN0aW9uID0gcmVxdWlyZSgnZmJqcy9saWIvZW1wdHlGdW5jdGlvbicpO1xudmFyIGZpbmRSYW5nZXNJbW11dGFibGUgPSByZXF1aXJlKCcuL2ZpbmRSYW5nZXNJbW11dGFibGUnKTtcblxudmFyIExpc3QgPSBJbW11dGFibGUuTGlzdCxcbiAgICBSZXBlYXQgPSBJbW11dGFibGUuUmVwZWF0LFxuICAgIFJlY29yZCA9IEltbXV0YWJsZS5SZWNvcmQ7XG5cblxudmFyIHJldHVyblRydWUgPSBlbXB0eUZ1bmN0aW9uLnRoYXRSZXR1cm5zVHJ1ZTtcblxudmFyIEZJTkdFUlBSSU5UX0RFTElNSVRFUiA9ICctJztcblxudmFyIGRlZmF1bHRMZWFmUmFuZ2UgPSB7XG4gIHN0YXJ0OiBudWxsLFxuICBlbmQ6IG51bGxcbn07XG5cbnZhciBMZWFmUmFuZ2UgPSBSZWNvcmQoZGVmYXVsdExlYWZSYW5nZSk7XG5cbnZhciBkZWZhdWx0RGVjb3JhdG9yUmFuZ2UgPSB7XG4gIHN0YXJ0OiBudWxsLFxuICBlbmQ6IG51bGwsXG4gIGRlY29yYXRvcktleTogbnVsbCxcbiAgbGVhdmVzOiBudWxsXG59O1xuXG52YXIgRGVjb3JhdG9yUmFuZ2UgPSBSZWNvcmQoZGVmYXVsdERlY29yYXRvclJhbmdlKTtcblxudmFyIEJsb2NrVHJlZSA9IHtcbiAgLyoqXG4gICAqIEdlbmVyYXRlIGEgYmxvY2sgdHJlZSBmb3IgYSBnaXZlbiBDb250ZW50QmxvY2svZGVjb3JhdG9yIHBhaXIuXG4gICAqL1xuICBnZW5lcmF0ZTogZnVuY3Rpb24gZ2VuZXJhdGUoY29udGVudFN0YXRlLCBibG9jaywgZGVjb3JhdG9yKSB7XG4gICAgdmFyIHRleHRMZW5ndGggPSBibG9jay5nZXRMZW5ndGgoKTtcbiAgICBpZiAoIXRleHRMZW5ndGgpIHtcbiAgICAgIHJldHVybiBMaXN0Lm9mKG5ldyBEZWNvcmF0b3JSYW5nZSh7XG4gICAgICAgIHN0YXJ0OiAwLFxuICAgICAgICBlbmQ6IDAsXG4gICAgICAgIGRlY29yYXRvcktleTogbnVsbCxcbiAgICAgICAgbGVhdmVzOiBMaXN0Lm9mKG5ldyBMZWFmUmFuZ2UoeyBzdGFydDogMCwgZW5kOiAwIH0pKVxuICAgICAgfSkpO1xuICAgIH1cblxuICAgIHZhciBsZWFmU2V0cyA9IFtdO1xuICAgIHZhciBkZWNvcmF0aW9ucyA9IGRlY29yYXRvciA/IGRlY29yYXRvci5nZXREZWNvcmF0aW9ucyhibG9jaywgY29udGVudFN0YXRlKSA6IExpc3QoUmVwZWF0KG51bGwsIHRleHRMZW5ndGgpKTtcblxuICAgIHZhciBjaGFycyA9IGJsb2NrLmdldENoYXJhY3Rlckxpc3QoKTtcblxuICAgIGZpbmRSYW5nZXNJbW11dGFibGUoZGVjb3JhdGlvbnMsIGFyZUVxdWFsLCByZXR1cm5UcnVlLCBmdW5jdGlvbiAoc3RhcnQsIGVuZCkge1xuICAgICAgbGVhZlNldHMucHVzaChuZXcgRGVjb3JhdG9yUmFuZ2Uoe1xuICAgICAgICBzdGFydDogc3RhcnQsXG4gICAgICAgIGVuZDogZW5kLFxuICAgICAgICBkZWNvcmF0b3JLZXk6IGRlY29yYXRpb25zLmdldChzdGFydCksXG4gICAgICAgIGxlYXZlczogZ2VuZXJhdGVMZWF2ZXMoY2hhcnMuc2xpY2Uoc3RhcnQsIGVuZCkudG9MaXN0KCksIHN0YXJ0KVxuICAgICAgfSkpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIExpc3QobGVhZlNldHMpO1xuICB9LFxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIGdpdmVuIHRyZWUgbWFwLiBUaGlzIGFsbG93cyB1c1xuICAgKiB0byByYXBpZGx5IGRldGVybWluZSB3aGV0aGVyIGEgdHJlZSBoYXMgdW5kZXJnb25lIGEgc2lnbmlmaWNhbnRcbiAgICogc3RydWN0dXJhbCBjaGFuZ2UuXG4gICAqL1xuICBnZXRGaW5nZXJwcmludDogZnVuY3Rpb24gZ2V0RmluZ2VycHJpbnQodHJlZSkge1xuICAgIHJldHVybiB0cmVlLm1hcChmdW5jdGlvbiAobGVhZlNldCkge1xuICAgICAgdmFyIGRlY29yYXRvcktleSA9IGxlYWZTZXQuZ2V0KCdkZWNvcmF0b3JLZXknKTtcbiAgICAgIHZhciBmaW5nZXJwcmludFN0cmluZyA9IGRlY29yYXRvcktleSAhPT0gbnVsbCA/IGRlY29yYXRvcktleSArICcuJyArIChsZWFmU2V0LmdldCgnZW5kJykgLSBsZWFmU2V0LmdldCgnc3RhcnQnKSkgOiAnJztcbiAgICAgIHJldHVybiAnJyArIGZpbmdlcnByaW50U3RyaW5nICsgJy4nICsgbGVhZlNldC5nZXQoJ2xlYXZlcycpLnNpemU7XG4gICAgfSkuam9pbihGSU5HRVJQUklOVF9ERUxJTUlURVIpO1xuICB9XG59O1xuXG4vKipcbiAqIEdlbmVyYXRlIExlYWZSYW5nZSByZWNvcmRzIGZvciBhIGdpdmVuIGNoYXJhY3RlciBsaXN0LlxuICovXG5mdW5jdGlvbiBnZW5lcmF0ZUxlYXZlcyhjaGFyYWN0ZXJzLCBvZmZzZXQpIHtcbiAgdmFyIGxlYXZlcyA9IFtdO1xuICB2YXIgaW5saW5lU3R5bGVzID0gY2hhcmFjdGVycy5tYXAoZnVuY3Rpb24gKGMpIHtcbiAgICByZXR1cm4gYy5nZXRTdHlsZSgpO1xuICB9KS50b0xpc3QoKTtcbiAgZmluZFJhbmdlc0ltbXV0YWJsZShpbmxpbmVTdHlsZXMsIGFyZUVxdWFsLCByZXR1cm5UcnVlLCBmdW5jdGlvbiAoc3RhcnQsIGVuZCkge1xuICAgIGxlYXZlcy5wdXNoKG5ldyBMZWFmUmFuZ2Uoe1xuICAgICAgc3RhcnQ6IHN0YXJ0ICsgb2Zmc2V0LFxuICAgICAgZW5kOiBlbmQgKyBvZmZzZXRcbiAgICB9KSk7XG4gIH0pO1xuICByZXR1cm4gTGlzdChsZWF2ZXMpO1xufVxuXG5mdW5jdGlvbiBhcmVFcXVhbChhLCBiKSB7XG4gIHJldHVybiBhID09PSBiO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IEJsb2NrVHJlZTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/BlockTree.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nvar findRangesImmutable = __webpack_require__(/*! ./findRangesImmutable */ \"./node_modules/draft-js/lib/findRangesImmutable.js\");\n\nvar Immutable = __webpack_require__(/*! immutable */ \"./node_modules/draft-js/node_modules/immutable/dist/immutable.js\");\n\nvar List = Immutable.List,\n Repeat = Immutable.Repeat,\n Record = Immutable.Record;\n\nvar returnTrue = function returnTrue() {\n return true;\n};\n\nvar defaultLeafRange = {\n start: null,\n end: null\n};\nvar LeafRange = Record(defaultLeafRange);\nvar defaultDecoratorRange = {\n start: null,\n end: null,\n decoratorKey: null,\n leaves: null\n};\nvar DecoratorRange = Record(defaultDecoratorRange);\nvar BlockTree = {\n /**\n * Generate a block tree for a given ContentBlock/decorator pair.\n */\n generate: function generate(contentState, block, decorator) {\n var textLength = block.getLength();\n\n if (!textLength) {\n return List.of(new DecoratorRange({\n start: 0,\n end: 0,\n decoratorKey: null,\n leaves: List.of(new LeafRange({\n start: 0,\n end: 0\n }))\n }));\n }\n\n var leafSets = [];\n var decorations = decorator ? decorator.getDecorations(block, contentState) : List(Repeat(null, textLength));\n var chars = block.getCharacterList();\n findRangesImmutable(decorations, areEqual, returnTrue, function (start, end) {\n leafSets.push(new DecoratorRange({\n start: start,\n end: end,\n decoratorKey: decorations.get(start),\n leaves: generateLeaves(chars.slice(start, end).toList(), start)\n }));\n });\n return List(leafSets);\n }\n};\n/**\n * Generate LeafRange records for a given character list.\n */\n\nfunction generateLeaves(characters, offset) {\n var leaves = [];\n var inlineStyles = characters.map(function (c) {\n return c.getStyle();\n }).toList();\n findRangesImmutable(inlineStyles, areEqual, returnTrue, function (start, end) {\n leaves.push(new LeafRange({\n start: start + offset,\n end: end + offset\n }));\n });\n return List(leaves);\n}\n\nfunction areEqual(a, b) {\n return a === b;\n}\n\nmodule.exports = BlockTree;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0Jsb2NrVHJlZS5qcz8yZjRhIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ2E7O0FBRWIsMEJBQTBCLG1CQUFPLENBQUMsaUZBQXVCOztBQUV6RCxnQkFBZ0IsbUJBQU8sQ0FBQyxtRkFBVzs7QUFFbkM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVCxPQUFPO0FBQ1A7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2RyYWZ0LWpzL2xpYi9CbG9ja1RyZWUuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgRmFjZWJvb2ssIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIEBmb3JtYXRcbiAqIFxuICogQGVtYWlscyBvbmNhbGwrZHJhZnRfanNcbiAqL1xuJ3VzZSBzdHJpY3QnO1xuXG52YXIgZmluZFJhbmdlc0ltbXV0YWJsZSA9IHJlcXVpcmUoXCIuL2ZpbmRSYW5nZXNJbW11dGFibGVcIik7XG5cbnZhciBJbW11dGFibGUgPSByZXF1aXJlKFwiaW1tdXRhYmxlXCIpO1xuXG52YXIgTGlzdCA9IEltbXV0YWJsZS5MaXN0LFxuICAgIFJlcGVhdCA9IEltbXV0YWJsZS5SZXBlYXQsXG4gICAgUmVjb3JkID0gSW1tdXRhYmxlLlJlY29yZDtcblxudmFyIHJldHVyblRydWUgPSBmdW5jdGlvbiByZXR1cm5UcnVlKCkge1xuICByZXR1cm4gdHJ1ZTtcbn07XG5cbnZhciBkZWZhdWx0TGVhZlJhbmdlID0ge1xuICBzdGFydDogbnVsbCxcbiAgZW5kOiBudWxsXG59O1xudmFyIExlYWZSYW5nZSA9IFJlY29yZChkZWZhdWx0TGVhZlJhbmdlKTtcbnZhciBkZWZhdWx0RGVjb3JhdG9yUmFuZ2UgPSB7XG4gIHN0YXJ0OiBudWxsLFxuICBlbmQ6IG51bGwsXG4gIGRlY29yYXRvcktleTogbnVsbCxcbiAgbGVhdmVzOiBudWxsXG59O1xudmFyIERlY29yYXRvclJhbmdlID0gUmVjb3JkKGRlZmF1bHREZWNvcmF0b3JSYW5nZSk7XG52YXIgQmxvY2tUcmVlID0ge1xuICAvKipcbiAgICogR2VuZXJhdGUgYSBibG9jayB0cmVlIGZvciBhIGdpdmVuIENvbnRlbnRCbG9jay9kZWNvcmF0b3IgcGFpci5cbiAgICovXG4gIGdlbmVyYXRlOiBmdW5jdGlvbiBnZW5lcmF0ZShjb250ZW50U3RhdGUsIGJsb2NrLCBkZWNvcmF0b3IpIHtcbiAgICB2YXIgdGV4dExlbmd0aCA9IGJsb2NrLmdldExlbmd0aCgpO1xuXG4gICAgaWYgKCF0ZXh0TGVuZ3RoKSB7XG4gICAgICByZXR1cm4gTGlzdC5vZihuZXcgRGVjb3JhdG9yUmFuZ2Uoe1xuICAgICAgICBzdGFydDogMCxcbiAgICAgICAgZW5kOiAwLFxuICAgICAgICBkZWNvcmF0b3JLZXk6IG51bGwsXG4gICAgICAgIGxlYXZlczogTGlzdC5vZihuZXcgTGVhZlJhbmdlKHtcbiAgICAgICAgICBzdGFydDogMCxcbiAgICAgICAgICBlbmQ6IDBcbiAgICAgICAgfSkpXG4gICAgICB9KSk7XG4gICAgfVxuXG4gICAgdmFyIGxlYWZTZXRzID0gW107XG4gICAgdmFyIGRlY29yYXRpb25zID0gZGVjb3JhdG9yID8gZGVjb3JhdG9yLmdldERlY29yYXRpb25zKGJsb2NrLCBjb250ZW50U3RhdGUpIDogTGlzdChSZXBlYXQobnVsbCwgdGV4dExlbmd0aCkpO1xuICAgIHZhciBjaGFycyA9IGJsb2NrLmdldENoYXJhY3Rlckxpc3QoKTtcbiAgICBmaW5kUmFuZ2VzSW1tdXRhYmxlKGRlY29yYXRpb25zLCBhcmVFcXVhbCwgcmV0dXJuVHJ1ZSwgZnVuY3Rpb24gKHN0YXJ0LCBlbmQpIHtcbiAgICAgIGxlYWZTZXRzLnB1c2gobmV3IERlY29yYXRvclJhbmdlKHtcbiAgICAgICAgc3RhcnQ6IHN0YXJ0LFxuICAgICAgICBlbmQ6IGVuZCxcbiAgICAgICAgZGVjb3JhdG9yS2V5OiBkZWNvcmF0aW9ucy5nZXQoc3RhcnQpLFxuICAgICAgICBsZWF2ZXM6IGdlbmVyYXRlTGVhdmVzKGNoYXJzLnNsaWNlKHN0YXJ0LCBlbmQpLnRvTGlzdCgpLCBzdGFydClcbiAgICAgIH0pKTtcbiAgICB9KTtcbiAgICByZXR1cm4gTGlzdChsZWFmU2V0cyk7XG4gIH1cbn07XG4vKipcbiAqIEdlbmVyYXRlIExlYWZSYW5nZSByZWNvcmRzIGZvciBhIGdpdmVuIGNoYXJhY3RlciBsaXN0LlxuICovXG5cbmZ1bmN0aW9uIGdlbmVyYXRlTGVhdmVzKGNoYXJhY3RlcnMsIG9mZnNldCkge1xuICB2YXIgbGVhdmVzID0gW107XG4gIHZhciBpbmxpbmVTdHlsZXMgPSBjaGFyYWN0ZXJzLm1hcChmdW5jdGlvbiAoYykge1xuICAgIHJldHVybiBjLmdldFN0eWxlKCk7XG4gIH0pLnRvTGlzdCgpO1xuICBmaW5kUmFuZ2VzSW1tdXRhYmxlKGlubGluZVN0eWxlcywgYXJlRXF1YWwsIHJldHVyblRydWUsIGZ1bmN0aW9uIChzdGFydCwgZW5kKSB7XG4gICAgbGVhdmVzLnB1c2gobmV3IExlYWZSYW5nZSh7XG4gICAgICBzdGFydDogc3RhcnQgKyBvZmZzZXQsXG4gICAgICBlbmQ6IGVuZCArIG9mZnNldFxuICAgIH0pKTtcbiAgfSk7XG4gIHJldHVybiBMaXN0KGxlYXZlcyk7XG59XG5cbmZ1bmN0aW9uIGFyZUVxdWFsKGEsIGIpIHtcbiAgcmV0dXJuIGEgPT09IGI7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gQmxvY2tUcmVlOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/BlockTree.js\n"); /***/ }), @@ -55,7 +66,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule CharacterMetadata\n * @format\n * \n */\n\n\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar _require = __webpack_require__(/*! immutable */ \"./node_modules/draft-js/node_modules/immutable/dist/immutable.js\"),\n Map = _require.Map,\n OrderedSet = _require.OrderedSet,\n Record = _require.Record;\n\n// Immutable.map is typed such that the value for every key in the map\n// must be the same type\n\n\nvar EMPTY_SET = OrderedSet();\n\nvar defaultRecord = {\n style: EMPTY_SET,\n entity: null\n};\n\nvar CharacterMetadataRecord = Record(defaultRecord);\n\nvar CharacterMetadata = function (_CharacterMetadataRec) {\n _inherits(CharacterMetadata, _CharacterMetadataRec);\n\n function CharacterMetadata() {\n _classCallCheck(this, CharacterMetadata);\n\n return _possibleConstructorReturn(this, _CharacterMetadataRec.apply(this, arguments));\n }\n\n CharacterMetadata.prototype.getStyle = function getStyle() {\n return this.get('style');\n };\n\n CharacterMetadata.prototype.getEntity = function getEntity() {\n return this.get('entity');\n };\n\n CharacterMetadata.prototype.hasStyle = function hasStyle(style) {\n return this.getStyle().includes(style);\n };\n\n CharacterMetadata.applyStyle = function applyStyle(record, style) {\n var withStyle = record.set('style', record.getStyle().add(style));\n return CharacterMetadata.create(withStyle);\n };\n\n CharacterMetadata.removeStyle = function removeStyle(record, style) {\n var withoutStyle = record.set('style', record.getStyle().remove(style));\n return CharacterMetadata.create(withoutStyle);\n };\n\n CharacterMetadata.applyEntity = function applyEntity(record, entityKey) {\n var withEntity = record.getEntity() === entityKey ? record : record.set('entity', entityKey);\n return CharacterMetadata.create(withEntity);\n };\n\n /**\n * Use this function instead of the `CharacterMetadata` constructor.\n * Since most content generally uses only a very small number of\n * style/entity permutations, we can reuse these objects as often as\n * possible.\n */\n\n\n CharacterMetadata.create = function create(config) {\n if (!config) {\n return EMPTY;\n }\n\n var defaultConfig = {\n style: EMPTY_SET,\n entity: null\n };\n\n // Fill in unspecified properties, if necessary.\n var configMap = Map(defaultConfig).merge(config);\n\n var existing = pool.get(configMap);\n if (existing) {\n return existing;\n }\n\n var newCharacter = new CharacterMetadata(configMap);\n pool = pool.set(configMap, newCharacter);\n return newCharacter;\n };\n\n return CharacterMetadata;\n}(CharacterMetadataRecord);\n\nvar EMPTY = new CharacterMetadata();\nvar pool = Map([[Map(defaultRecord), EMPTY]]);\n\nCharacterMetadata.EMPTY = EMPTY;\n\nmodule.exports = CharacterMetadata;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0NoYXJhY3Rlck1ldGFkYXRhLmpzPzk0NTIiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVhOztBQUViLGlEQUFpRCwwQ0FBMEMsMERBQTBELEVBQUU7O0FBRXZKLGlEQUFpRCxhQUFhLHVGQUF1RixFQUFFLHVGQUF1Rjs7QUFFOU8sMENBQTBDLCtEQUErRCxxR0FBcUcsRUFBRSx5RUFBeUUsZUFBZSx5RUFBeUUsRUFBRSxFQUFFLHVIQUF1SDs7QUFFNWUsZUFBZSxtQkFBTyxDQUFDLG1GQUFXO0FBQ2xDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxDQUFDOztBQUVEO0FBQ0E7O0FBRUE7O0FBRUEiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0NoYXJhY3Rlck1ldGFkYXRhLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQlNELXN0eWxlIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuIEFuIGFkZGl0aW9uYWwgZ3JhbnRcbiAqIG9mIHBhdGVudCByaWdodHMgY2FuIGJlIGZvdW5kIGluIHRoZSBQQVRFTlRTIGZpbGUgaW4gdGhlIHNhbWUgZGlyZWN0b3J5LlxuICpcbiAqIEBwcm92aWRlc01vZHVsZSBDaGFyYWN0ZXJNZXRhZGF0YVxuICogQGZvcm1hdFxuICogXG4gKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG5mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7IGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7IH0gfVxuXG5mdW5jdGlvbiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybihzZWxmLCBjYWxsKSB7IGlmICghc2VsZikgeyB0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoXCJ0aGlzIGhhc24ndCBiZWVuIGluaXRpYWxpc2VkIC0gc3VwZXIoKSBoYXNuJ3QgYmVlbiBjYWxsZWRcIik7IH0gcmV0dXJuIGNhbGwgJiYgKHR5cGVvZiBjYWxsID09PSBcIm9iamVjdFwiIHx8IHR5cGVvZiBjYWxsID09PSBcImZ1bmN0aW9uXCIpID8gY2FsbCA6IHNlbGY7IH1cblxuZnVuY3Rpb24gX2luaGVyaXRzKHN1YkNsYXNzLCBzdXBlckNsYXNzKSB7IGlmICh0eXBlb2Ygc3VwZXJDbGFzcyAhPT0gXCJmdW5jdGlvblwiICYmIHN1cGVyQ2xhc3MgIT09IG51bGwpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN1cGVyIGV4cHJlc3Npb24gbXVzdCBlaXRoZXIgYmUgbnVsbCBvciBhIGZ1bmN0aW9uLCBub3QgXCIgKyB0eXBlb2Ygc3VwZXJDbGFzcyk7IH0gc3ViQ2xhc3MucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShzdXBlckNsYXNzICYmIHN1cGVyQ2xhc3MucHJvdG90eXBlLCB7IGNvbnN0cnVjdG9yOiB7IHZhbHVlOiBzdWJDbGFzcywgZW51bWVyYWJsZTogZmFsc2UsIHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUgfSB9KTsgaWYgKHN1cGVyQ2xhc3MpIE9iamVjdC5zZXRQcm90b3R5cGVPZiA/IE9iamVjdC5zZXRQcm90b3R5cGVPZihzdWJDbGFzcywgc3VwZXJDbGFzcykgOiBzdWJDbGFzcy5fX3Byb3RvX18gPSBzdXBlckNsYXNzOyB9XG5cbnZhciBfcmVxdWlyZSA9IHJlcXVpcmUoJ2ltbXV0YWJsZScpLFxuICAgIE1hcCA9IF9yZXF1aXJlLk1hcCxcbiAgICBPcmRlcmVkU2V0ID0gX3JlcXVpcmUuT3JkZXJlZFNldCxcbiAgICBSZWNvcmQgPSBfcmVxdWlyZS5SZWNvcmQ7XG5cbi8vIEltbXV0YWJsZS5tYXAgaXMgdHlwZWQgc3VjaCB0aGF0IHRoZSB2YWx1ZSBmb3IgZXZlcnkga2V5IGluIHRoZSBtYXBcbi8vIG11c3QgYmUgdGhlIHNhbWUgdHlwZVxuXG5cbnZhciBFTVBUWV9TRVQgPSBPcmRlcmVkU2V0KCk7XG5cbnZhciBkZWZhdWx0UmVjb3JkID0ge1xuICBzdHlsZTogRU1QVFlfU0VULFxuICBlbnRpdHk6IG51bGxcbn07XG5cbnZhciBDaGFyYWN0ZXJNZXRhZGF0YVJlY29yZCA9IFJlY29yZChkZWZhdWx0UmVjb3JkKTtcblxudmFyIENoYXJhY3Rlck1ldGFkYXRhID0gZnVuY3Rpb24gKF9DaGFyYWN0ZXJNZXRhZGF0YVJlYykge1xuICBfaW5oZXJpdHMoQ2hhcmFjdGVyTWV0YWRhdGEsIF9DaGFyYWN0ZXJNZXRhZGF0YVJlYyk7XG5cbiAgZnVuY3Rpb24gQ2hhcmFjdGVyTWV0YWRhdGEoKSB7XG4gICAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIENoYXJhY3Rlck1ldGFkYXRhKTtcblxuICAgIHJldHVybiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybih0aGlzLCBfQ2hhcmFjdGVyTWV0YWRhdGFSZWMuYXBwbHkodGhpcywgYXJndW1lbnRzKSk7XG4gIH1cblxuICBDaGFyYWN0ZXJNZXRhZGF0YS5wcm90b3R5cGUuZ2V0U3R5bGUgPSBmdW5jdGlvbiBnZXRTdHlsZSgpIHtcbiAgICByZXR1cm4gdGhpcy5nZXQoJ3N0eWxlJyk7XG4gIH07XG5cbiAgQ2hhcmFjdGVyTWV0YWRhdGEucHJvdG90eXBlLmdldEVudGl0eSA9IGZ1bmN0aW9uIGdldEVudGl0eSgpIHtcbiAgICByZXR1cm4gdGhpcy5nZXQoJ2VudGl0eScpO1xuICB9O1xuXG4gIENoYXJhY3Rlck1ldGFkYXRhLnByb3RvdHlwZS5oYXNTdHlsZSA9IGZ1bmN0aW9uIGhhc1N0eWxlKHN0eWxlKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0U3R5bGUoKS5pbmNsdWRlcyhzdHlsZSk7XG4gIH07XG5cbiAgQ2hhcmFjdGVyTWV0YWRhdGEuYXBwbHlTdHlsZSA9IGZ1bmN0aW9uIGFwcGx5U3R5bGUocmVjb3JkLCBzdHlsZSkge1xuICAgIHZhciB3aXRoU3R5bGUgPSByZWNvcmQuc2V0KCdzdHlsZScsIHJlY29yZC5nZXRTdHlsZSgpLmFkZChzdHlsZSkpO1xuICAgIHJldHVybiBDaGFyYWN0ZXJNZXRhZGF0YS5jcmVhdGUod2l0aFN0eWxlKTtcbiAgfTtcblxuICBDaGFyYWN0ZXJNZXRhZGF0YS5yZW1vdmVTdHlsZSA9IGZ1bmN0aW9uIHJlbW92ZVN0eWxlKHJlY29yZCwgc3R5bGUpIHtcbiAgICB2YXIgd2l0aG91dFN0eWxlID0gcmVjb3JkLnNldCgnc3R5bGUnLCByZWNvcmQuZ2V0U3R5bGUoKS5yZW1vdmUoc3R5bGUpKTtcbiAgICByZXR1cm4gQ2hhcmFjdGVyTWV0YWRhdGEuY3JlYXRlKHdpdGhvdXRTdHlsZSk7XG4gIH07XG5cbiAgQ2hhcmFjdGVyTWV0YWRhdGEuYXBwbHlFbnRpdHkgPSBmdW5jdGlvbiBhcHBseUVudGl0eShyZWNvcmQsIGVudGl0eUtleSkge1xuICAgIHZhciB3aXRoRW50aXR5ID0gcmVjb3JkLmdldEVudGl0eSgpID09PSBlbnRpdHlLZXkgPyByZWNvcmQgOiByZWNvcmQuc2V0KCdlbnRpdHknLCBlbnRpdHlLZXkpO1xuICAgIHJldHVybiBDaGFyYWN0ZXJNZXRhZGF0YS5jcmVhdGUod2l0aEVudGl0eSk7XG4gIH07XG5cbiAgLyoqXG4gICAqIFVzZSB0aGlzIGZ1bmN0aW9uIGluc3RlYWQgb2YgdGhlIGBDaGFyYWN0ZXJNZXRhZGF0YWAgY29uc3RydWN0b3IuXG4gICAqIFNpbmNlIG1vc3QgY29udGVudCBnZW5lcmFsbHkgdXNlcyBvbmx5IGEgdmVyeSBzbWFsbCBudW1iZXIgb2ZcbiAgICogc3R5bGUvZW50aXR5IHBlcm11dGF0aW9ucywgd2UgY2FuIHJldXNlIHRoZXNlIG9iamVjdHMgYXMgb2Z0ZW4gYXNcbiAgICogcG9zc2libGUuXG4gICAqL1xuXG5cbiAgQ2hhcmFjdGVyTWV0YWRhdGEuY3JlYXRlID0gZnVuY3Rpb24gY3JlYXRlKGNvbmZpZykge1xuICAgIGlmICghY29uZmlnKSB7XG4gICAgICByZXR1cm4gRU1QVFk7XG4gICAgfVxuXG4gICAgdmFyIGRlZmF1bHRDb25maWcgPSB7XG4gICAgICBzdHlsZTogRU1QVFlfU0VULFxuICAgICAgZW50aXR5OiBudWxsXG4gICAgfTtcblxuICAgIC8vIEZpbGwgaW4gdW5zcGVjaWZpZWQgcHJvcGVydGllcywgaWYgbmVjZXNzYXJ5LlxuICAgIHZhciBjb25maWdNYXAgPSBNYXAoZGVmYXVsdENvbmZpZykubWVyZ2UoY29uZmlnKTtcblxuICAgIHZhciBleGlzdGluZyA9IHBvb2wuZ2V0KGNvbmZpZ01hcCk7XG4gICAgaWYgKGV4aXN0aW5nKSB7XG4gICAgICByZXR1cm4gZXhpc3Rpbmc7XG4gICAgfVxuXG4gICAgdmFyIG5ld0NoYXJhY3RlciA9IG5ldyBDaGFyYWN0ZXJNZXRhZGF0YShjb25maWdNYXApO1xuICAgIHBvb2wgPSBwb29sLnNldChjb25maWdNYXAsIG5ld0NoYXJhY3Rlcik7XG4gICAgcmV0dXJuIG5ld0NoYXJhY3RlcjtcbiAgfTtcblxuICByZXR1cm4gQ2hhcmFjdGVyTWV0YWRhdGE7XG59KENoYXJhY3Rlck1ldGFkYXRhUmVjb3JkKTtcblxudmFyIEVNUFRZID0gbmV3IENoYXJhY3Rlck1ldGFkYXRhKCk7XG52YXIgcG9vbCA9IE1hcChbW01hcChkZWZhdWx0UmVjb3JkKSwgRU1QVFldXSk7XG5cbkNoYXJhY3Rlck1ldGFkYXRhLkVNUFRZID0gRU1QVFk7XG5cbm1vZHVsZS5leHBvcnRzID0gQ2hhcmFjdGVyTWV0YWRhdGE7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/CharacterMetadata.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar _require = __webpack_require__(/*! immutable */ \"./node_modules/draft-js/node_modules/immutable/dist/immutable.js\"),\n Map = _require.Map,\n OrderedSet = _require.OrderedSet,\n Record = _require.Record; // Immutable.map is typed such that the value for every key in the map\n// must be the same type\n\n\nvar EMPTY_SET = OrderedSet();\nvar defaultRecord = {\n style: EMPTY_SET,\n entity: null\n};\nvar CharacterMetadataRecord = Record(defaultRecord);\n\nvar CharacterMetadata =\n/*#__PURE__*/\nfunction (_CharacterMetadataRec) {\n _inheritsLoose(CharacterMetadata, _CharacterMetadataRec);\n\n function CharacterMetadata() {\n return _CharacterMetadataRec.apply(this, arguments) || this;\n }\n\n var _proto = CharacterMetadata.prototype;\n\n _proto.getStyle = function getStyle() {\n return this.get('style');\n };\n\n _proto.getEntity = function getEntity() {\n return this.get('entity');\n };\n\n _proto.hasStyle = function hasStyle(style) {\n return this.getStyle().includes(style);\n };\n\n CharacterMetadata.applyStyle = function applyStyle(record, style) {\n var withStyle = record.set('style', record.getStyle().add(style));\n return CharacterMetadata.create(withStyle);\n };\n\n CharacterMetadata.removeStyle = function removeStyle(record, style) {\n var withoutStyle = record.set('style', record.getStyle().remove(style));\n return CharacterMetadata.create(withoutStyle);\n };\n\n CharacterMetadata.applyEntity = function applyEntity(record, entityKey) {\n var withEntity = record.getEntity() === entityKey ? record : record.set('entity', entityKey);\n return CharacterMetadata.create(withEntity);\n }\n /**\n * Use this function instead of the `CharacterMetadata` constructor.\n * Since most content generally uses only a very small number of\n * style/entity permutations, we can reuse these objects as often as\n * possible.\n */\n ;\n\n CharacterMetadata.create = function create(config) {\n if (!config) {\n return EMPTY;\n }\n\n var defaultConfig = {\n style: EMPTY_SET,\n entity: null\n }; // Fill in unspecified properties, if necessary.\n\n var configMap = Map(defaultConfig).merge(config);\n var existing = pool.get(configMap);\n\n if (existing) {\n return existing;\n }\n\n var newCharacter = new CharacterMetadata(configMap);\n pool = pool.set(configMap, newCharacter);\n return newCharacter;\n };\n\n return CharacterMetadata;\n}(CharacterMetadataRecord);\n\nvar EMPTY = new CharacterMetadata();\nvar pool = Map([[Map(defaultRecord), EMPTY]]);\nCharacterMetadata.EMPTY = EMPTY;\nmodule.exports = CharacterMetadata;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0NoYXJhY3Rlck1ldGFkYXRhLmpzPzk0NTIiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDYTs7QUFFYiwrQ0FBK0MsMERBQTBELDJDQUEyQyxpQ0FBaUM7O0FBRXJMLGVBQWUsbUJBQU8sQ0FBQyxtRkFBVztBQUNsQztBQUNBO0FBQ0EsNkJBQTZCO0FBQzdCOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTs7QUFFTjtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0NoYXJhY3Rlck1ldGFkYXRhLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIEZhY2Vib29rLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKiBAZm9ybWF0XG4gKiBcbiAqIEBlbWFpbHMgb25jYWxsK2RyYWZ0X2pzXG4gKi9cbid1c2Ugc3RyaWN0JztcblxuZnVuY3Rpb24gX2luaGVyaXRzTG9vc2Uoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpIHsgc3ViQ2xhc3MucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShzdXBlckNsYXNzLnByb3RvdHlwZSk7IHN1YkNsYXNzLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IHN1YkNsYXNzOyBzdWJDbGFzcy5fX3Byb3RvX18gPSBzdXBlckNsYXNzOyB9XG5cbnZhciBfcmVxdWlyZSA9IHJlcXVpcmUoXCJpbW11dGFibGVcIiksXG4gICAgTWFwID0gX3JlcXVpcmUuTWFwLFxuICAgIE9yZGVyZWRTZXQgPSBfcmVxdWlyZS5PcmRlcmVkU2V0LFxuICAgIFJlY29yZCA9IF9yZXF1aXJlLlJlY29yZDsgLy8gSW1tdXRhYmxlLm1hcCBpcyB0eXBlZCBzdWNoIHRoYXQgdGhlIHZhbHVlIGZvciBldmVyeSBrZXkgaW4gdGhlIG1hcFxuLy8gbXVzdCBiZSB0aGUgc2FtZSB0eXBlXG5cblxudmFyIEVNUFRZX1NFVCA9IE9yZGVyZWRTZXQoKTtcbnZhciBkZWZhdWx0UmVjb3JkID0ge1xuICBzdHlsZTogRU1QVFlfU0VULFxuICBlbnRpdHk6IG51bGxcbn07XG52YXIgQ2hhcmFjdGVyTWV0YWRhdGFSZWNvcmQgPSBSZWNvcmQoZGVmYXVsdFJlY29yZCk7XG5cbnZhciBDaGFyYWN0ZXJNZXRhZGF0YSA9XG4vKiNfX1BVUkVfXyovXG5mdW5jdGlvbiAoX0NoYXJhY3Rlck1ldGFkYXRhUmVjKSB7XG4gIF9pbmhlcml0c0xvb3NlKENoYXJhY3Rlck1ldGFkYXRhLCBfQ2hhcmFjdGVyTWV0YWRhdGFSZWMpO1xuXG4gIGZ1bmN0aW9uIENoYXJhY3Rlck1ldGFkYXRhKCkge1xuICAgIHJldHVybiBfQ2hhcmFjdGVyTWV0YWRhdGFSZWMuYXBwbHkodGhpcywgYXJndW1lbnRzKSB8fCB0aGlzO1xuICB9XG5cbiAgdmFyIF9wcm90byA9IENoYXJhY3Rlck1ldGFkYXRhLnByb3RvdHlwZTtcblxuICBfcHJvdG8uZ2V0U3R5bGUgPSBmdW5jdGlvbiBnZXRTdHlsZSgpIHtcbiAgICByZXR1cm4gdGhpcy5nZXQoJ3N0eWxlJyk7XG4gIH07XG5cbiAgX3Byb3RvLmdldEVudGl0eSA9IGZ1bmN0aW9uIGdldEVudGl0eSgpIHtcbiAgICByZXR1cm4gdGhpcy5nZXQoJ2VudGl0eScpO1xuICB9O1xuXG4gIF9wcm90by5oYXNTdHlsZSA9IGZ1bmN0aW9uIGhhc1N0eWxlKHN0eWxlKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0U3R5bGUoKS5pbmNsdWRlcyhzdHlsZSk7XG4gIH07XG5cbiAgQ2hhcmFjdGVyTWV0YWRhdGEuYXBwbHlTdHlsZSA9IGZ1bmN0aW9uIGFwcGx5U3R5bGUocmVjb3JkLCBzdHlsZSkge1xuICAgIHZhciB3aXRoU3R5bGUgPSByZWNvcmQuc2V0KCdzdHlsZScsIHJlY29yZC5nZXRTdHlsZSgpLmFkZChzdHlsZSkpO1xuICAgIHJldHVybiBDaGFyYWN0ZXJNZXRhZGF0YS5jcmVhdGUod2l0aFN0eWxlKTtcbiAgfTtcblxuICBDaGFyYWN0ZXJNZXRhZGF0YS5yZW1vdmVTdHlsZSA9IGZ1bmN0aW9uIHJlbW92ZVN0eWxlKHJlY29yZCwgc3R5bGUpIHtcbiAgICB2YXIgd2l0aG91dFN0eWxlID0gcmVjb3JkLnNldCgnc3R5bGUnLCByZWNvcmQuZ2V0U3R5bGUoKS5yZW1vdmUoc3R5bGUpKTtcbiAgICByZXR1cm4gQ2hhcmFjdGVyTWV0YWRhdGEuY3JlYXRlKHdpdGhvdXRTdHlsZSk7XG4gIH07XG5cbiAgQ2hhcmFjdGVyTWV0YWRhdGEuYXBwbHlFbnRpdHkgPSBmdW5jdGlvbiBhcHBseUVudGl0eShyZWNvcmQsIGVudGl0eUtleSkge1xuICAgIHZhciB3aXRoRW50aXR5ID0gcmVjb3JkLmdldEVudGl0eSgpID09PSBlbnRpdHlLZXkgPyByZWNvcmQgOiByZWNvcmQuc2V0KCdlbnRpdHknLCBlbnRpdHlLZXkpO1xuICAgIHJldHVybiBDaGFyYWN0ZXJNZXRhZGF0YS5jcmVhdGUod2l0aEVudGl0eSk7XG4gIH1cbiAgLyoqXG4gICAqIFVzZSB0aGlzIGZ1bmN0aW9uIGluc3RlYWQgb2YgdGhlIGBDaGFyYWN0ZXJNZXRhZGF0YWAgY29uc3RydWN0b3IuXG4gICAqIFNpbmNlIG1vc3QgY29udGVudCBnZW5lcmFsbHkgdXNlcyBvbmx5IGEgdmVyeSBzbWFsbCBudW1iZXIgb2ZcbiAgICogc3R5bGUvZW50aXR5IHBlcm11dGF0aW9ucywgd2UgY2FuIHJldXNlIHRoZXNlIG9iamVjdHMgYXMgb2Z0ZW4gYXNcbiAgICogcG9zc2libGUuXG4gICAqL1xuICA7XG5cbiAgQ2hhcmFjdGVyTWV0YWRhdGEuY3JlYXRlID0gZnVuY3Rpb24gY3JlYXRlKGNvbmZpZykge1xuICAgIGlmICghY29uZmlnKSB7XG4gICAgICByZXR1cm4gRU1QVFk7XG4gICAgfVxuXG4gICAgdmFyIGRlZmF1bHRDb25maWcgPSB7XG4gICAgICBzdHlsZTogRU1QVFlfU0VULFxuICAgICAgZW50aXR5OiBudWxsXG4gICAgfTsgLy8gRmlsbCBpbiB1bnNwZWNpZmllZCBwcm9wZXJ0aWVzLCBpZiBuZWNlc3NhcnkuXG5cbiAgICB2YXIgY29uZmlnTWFwID0gTWFwKGRlZmF1bHRDb25maWcpLm1lcmdlKGNvbmZpZyk7XG4gICAgdmFyIGV4aXN0aW5nID0gcG9vbC5nZXQoY29uZmlnTWFwKTtcblxuICAgIGlmIChleGlzdGluZykge1xuICAgICAgcmV0dXJuIGV4aXN0aW5nO1xuICAgIH1cblxuICAgIHZhciBuZXdDaGFyYWN0ZXIgPSBuZXcgQ2hhcmFjdGVyTWV0YWRhdGEoY29uZmlnTWFwKTtcbiAgICBwb29sID0gcG9vbC5zZXQoY29uZmlnTWFwLCBuZXdDaGFyYWN0ZXIpO1xuICAgIHJldHVybiBuZXdDaGFyYWN0ZXI7XG4gIH07XG5cbiAgcmV0dXJuIENoYXJhY3Rlck1ldGFkYXRhO1xufShDaGFyYWN0ZXJNZXRhZGF0YVJlY29yZCk7XG5cbnZhciBFTVBUWSA9IG5ldyBDaGFyYWN0ZXJNZXRhZGF0YSgpO1xudmFyIHBvb2wgPSBNYXAoW1tNYXAoZGVmYXVsdFJlY29yZCksIEVNUFRZXV0pO1xuQ2hhcmFjdGVyTWV0YWRhdGEuRU1QVFkgPSBFTVBUWTtcbm1vZHVsZS5leHBvcnRzID0gQ2hhcmFjdGVyTWV0YWRhdGE7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/CharacterMetadata.js\n"); /***/ }), @@ -67,7 +78,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule CompositeDraftDecorator\n * @format\n * \n */\n\n\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Immutable = __webpack_require__(/*! immutable */ \"./node_modules/draft-js/node_modules/immutable/dist/immutable.js\");\n\nvar List = Immutable.List;\n\n\nvar DELIMITER = '.';\n\n/**\n * A CompositeDraftDecorator traverses through a list of DraftDecorator\n * instances to identify sections of a ContentBlock that should be rendered\n * in a \"decorated\" manner. For example, hashtags, mentions, and links may\n * be intended to stand out visually, be rendered as anchors, etc.\n *\n * The list of decorators supplied to the constructor will be used in the\n * order they are provided. This allows the caller to specify a priority for\n * string matching, in case of match collisions among decorators.\n *\n * For instance, I may have a link with a `#` in its text. Though this section\n * of text may match our hashtag decorator, it should not be treated as a\n * hashtag. I should therefore list my link DraftDecorator\n * before my hashtag DraftDecorator when constructing this composite\n * decorator instance.\n *\n * Thus, when a collision like this is encountered, the earlier match is\n * preserved and the new match is discarded.\n */\n\nvar CompositeDraftDecorator = function () {\n function CompositeDraftDecorator(decorators) {\n _classCallCheck(this, CompositeDraftDecorator);\n\n // Copy the decorator array, since we use this array order to determine\n // precedence of decoration matching. If the array is mutated externally,\n // we don't want to be affected here.\n this._decorators = decorators.slice();\n }\n\n CompositeDraftDecorator.prototype.getDecorations = function getDecorations(block, contentState) {\n var decorations = Array(block.getText().length).fill(null);\n\n this._decorators.forEach(function ( /*object*/decorator, /*number*/ii) {\n var counter = 0;\n var strategy = decorator.strategy;\n var callback = function callback( /*number*/start, /*number*/end) {\n // Find out if any of our matching range is already occupied\n // by another decorator. If so, discard the match. Otherwise, store\n // the component key for rendering.\n if (canOccupySlice(decorations, start, end)) {\n occupySlice(decorations, start, end, ii + DELIMITER + counter);\n counter++;\n }\n };\n strategy(block, callback, contentState);\n });\n\n return List(decorations);\n };\n\n CompositeDraftDecorator.prototype.getComponentForKey = function getComponentForKey(key) {\n var componentKey = parseInt(key.split(DELIMITER)[0], 10);\n return this._decorators[componentKey].component;\n };\n\n CompositeDraftDecorator.prototype.getPropsForKey = function getPropsForKey(key) {\n var componentKey = parseInt(key.split(DELIMITER)[0], 10);\n return this._decorators[componentKey].props;\n };\n\n return CompositeDraftDecorator;\n}();\n\n/**\n * Determine whether we can occupy the specified slice of the decorations\n * array.\n */\n\n\nfunction canOccupySlice(decorations, start, end) {\n for (var ii = start; ii < end; ii++) {\n if (decorations[ii] != null) {\n return false;\n }\n }\n return true;\n}\n\n/**\n * Splice the specified component into our decoration array at the desired\n * range.\n */\nfunction occupySlice(targetArr, start, end, componentKey) {\n for (var ii = start; ii < end; ii++) {\n targetArr[ii] = componentKey;\n }\n}\n\nmodule.exports = CompositeDraftDecorator;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0NvbXBvc2l0ZURyYWZ0RGVjb3JhdG9yLmpzP2YzODkiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVhOztBQUViLGlEQUFpRCwwQ0FBMEMsMERBQTBELEVBQUU7O0FBRXZKLGdCQUFnQixtQkFBTyxDQUFDLG1GQUFXOztBQUVuQzs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0Esc0JBQXNCLFVBQVU7QUFDaEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0IsVUFBVTtBQUNoQztBQUNBO0FBQ0E7O0FBRUEiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0NvbXBvc2l0ZURyYWZ0RGVjb3JhdG9yLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQlNELXN0eWxlIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuIEFuIGFkZGl0aW9uYWwgZ3JhbnRcbiAqIG9mIHBhdGVudCByaWdodHMgY2FuIGJlIGZvdW5kIGluIHRoZSBQQVRFTlRTIGZpbGUgaW4gdGhlIHNhbWUgZGlyZWN0b3J5LlxuICpcbiAqIEBwcm92aWRlc01vZHVsZSBDb21wb3NpdGVEcmFmdERlY29yYXRvclxuICogQGZvcm1hdFxuICogXG4gKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG5mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7IGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7IH0gfVxuXG52YXIgSW1tdXRhYmxlID0gcmVxdWlyZSgnaW1tdXRhYmxlJyk7XG5cbnZhciBMaXN0ID0gSW1tdXRhYmxlLkxpc3Q7XG5cblxudmFyIERFTElNSVRFUiA9ICcuJztcblxuLyoqXG4gKiBBIENvbXBvc2l0ZURyYWZ0RGVjb3JhdG9yIHRyYXZlcnNlcyB0aHJvdWdoIGEgbGlzdCBvZiBEcmFmdERlY29yYXRvclxuICogaW5zdGFuY2VzIHRvIGlkZW50aWZ5IHNlY3Rpb25zIG9mIGEgQ29udGVudEJsb2NrIHRoYXQgc2hvdWxkIGJlIHJlbmRlcmVkXG4gKiBpbiBhIFwiZGVjb3JhdGVkXCIgbWFubmVyLiBGb3IgZXhhbXBsZSwgaGFzaHRhZ3MsIG1lbnRpb25zLCBhbmQgbGlua3MgbWF5XG4gKiBiZSBpbnRlbmRlZCB0byBzdGFuZCBvdXQgdmlzdWFsbHksIGJlIHJlbmRlcmVkIGFzIGFuY2hvcnMsIGV0Yy5cbiAqXG4gKiBUaGUgbGlzdCBvZiBkZWNvcmF0b3JzIHN1cHBsaWVkIHRvIHRoZSBjb25zdHJ1Y3RvciB3aWxsIGJlIHVzZWQgaW4gdGhlXG4gKiBvcmRlciB0aGV5IGFyZSBwcm92aWRlZC4gVGhpcyBhbGxvd3MgdGhlIGNhbGxlciB0byBzcGVjaWZ5IGEgcHJpb3JpdHkgZm9yXG4gKiBzdHJpbmcgbWF0Y2hpbmcsIGluIGNhc2Ugb2YgbWF0Y2ggY29sbGlzaW9ucyBhbW9uZyBkZWNvcmF0b3JzLlxuICpcbiAqIEZvciBpbnN0YW5jZSwgSSBtYXkgaGF2ZSBhIGxpbmsgd2l0aCBhIGAjYCBpbiBpdHMgdGV4dC4gVGhvdWdoIHRoaXMgc2VjdGlvblxuICogb2YgdGV4dCBtYXkgbWF0Y2ggb3VyIGhhc2h0YWcgZGVjb3JhdG9yLCBpdCBzaG91bGQgbm90IGJlIHRyZWF0ZWQgYXMgYVxuICogaGFzaHRhZy4gSSBzaG91bGQgdGhlcmVmb3JlIGxpc3QgbXkgbGluayBEcmFmdERlY29yYXRvclxuICogYmVmb3JlIG15IGhhc2h0YWcgRHJhZnREZWNvcmF0b3Igd2hlbiBjb25zdHJ1Y3RpbmcgdGhpcyBjb21wb3NpdGVcbiAqIGRlY29yYXRvciBpbnN0YW5jZS5cbiAqXG4gKiBUaHVzLCB3aGVuIGEgY29sbGlzaW9uIGxpa2UgdGhpcyBpcyBlbmNvdW50ZXJlZCwgdGhlIGVhcmxpZXIgbWF0Y2ggaXNcbiAqIHByZXNlcnZlZCBhbmQgdGhlIG5ldyBtYXRjaCBpcyBkaXNjYXJkZWQuXG4gKi9cblxudmFyIENvbXBvc2l0ZURyYWZ0RGVjb3JhdG9yID0gZnVuY3Rpb24gKCkge1xuICBmdW5jdGlvbiBDb21wb3NpdGVEcmFmdERlY29yYXRvcihkZWNvcmF0b3JzKSB7XG4gICAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIENvbXBvc2l0ZURyYWZ0RGVjb3JhdG9yKTtcblxuICAgIC8vIENvcHkgdGhlIGRlY29yYXRvciBhcnJheSwgc2luY2Ugd2UgdXNlIHRoaXMgYXJyYXkgb3JkZXIgdG8gZGV0ZXJtaW5lXG4gICAgLy8gcHJlY2VkZW5jZSBvZiBkZWNvcmF0aW9uIG1hdGNoaW5nLiBJZiB0aGUgYXJyYXkgaXMgbXV0YXRlZCBleHRlcm5hbGx5LFxuICAgIC8vIHdlIGRvbid0IHdhbnQgdG8gYmUgYWZmZWN0ZWQgaGVyZS5cbiAgICB0aGlzLl9kZWNvcmF0b3JzID0gZGVjb3JhdG9ycy5zbGljZSgpO1xuICB9XG5cbiAgQ29tcG9zaXRlRHJhZnREZWNvcmF0b3IucHJvdG90eXBlLmdldERlY29yYXRpb25zID0gZnVuY3Rpb24gZ2V0RGVjb3JhdGlvbnMoYmxvY2ssIGNvbnRlbnRTdGF0ZSkge1xuICAgIHZhciBkZWNvcmF0aW9ucyA9IEFycmF5KGJsb2NrLmdldFRleHQoKS5sZW5ndGgpLmZpbGwobnVsbCk7XG5cbiAgICB0aGlzLl9kZWNvcmF0b3JzLmZvckVhY2goZnVuY3Rpb24gKCAvKm9iamVjdCovZGVjb3JhdG9yLCAvKm51bWJlciovaWkpIHtcbiAgICAgIHZhciBjb3VudGVyID0gMDtcbiAgICAgIHZhciBzdHJhdGVneSA9IGRlY29yYXRvci5zdHJhdGVneTtcbiAgICAgIHZhciBjYWxsYmFjayA9IGZ1bmN0aW9uIGNhbGxiYWNrKCAvKm51bWJlciovc3RhcnQsIC8qbnVtYmVyKi9lbmQpIHtcbiAgICAgICAgLy8gRmluZCBvdXQgaWYgYW55IG9mIG91ciBtYXRjaGluZyByYW5nZSBpcyBhbHJlYWR5IG9jY3VwaWVkXG4gICAgICAgIC8vIGJ5IGFub3RoZXIgZGVjb3JhdG9yLiBJZiBzbywgZGlzY2FyZCB0aGUgbWF0Y2guIE90aGVyd2lzZSwgc3RvcmVcbiAgICAgICAgLy8gdGhlIGNvbXBvbmVudCBrZXkgZm9yIHJlbmRlcmluZy5cbiAgICAgICAgaWYgKGNhbk9jY3VweVNsaWNlKGRlY29yYXRpb25zLCBzdGFydCwgZW5kKSkge1xuICAgICAgICAgIG9jY3VweVNsaWNlKGRlY29yYXRpb25zLCBzdGFydCwgZW5kLCBpaSArIERFTElNSVRFUiArIGNvdW50ZXIpO1xuICAgICAgICAgIGNvdW50ZXIrKztcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICAgIHN0cmF0ZWd5KGJsb2NrLCBjYWxsYmFjaywgY29udGVudFN0YXRlKTtcbiAgICB9KTtcblxuICAgIHJldHVybiBMaXN0KGRlY29yYXRpb25zKTtcbiAgfTtcblxuICBDb21wb3NpdGVEcmFmdERlY29yYXRvci5wcm90b3R5cGUuZ2V0Q29tcG9uZW50Rm9yS2V5ID0gZnVuY3Rpb24gZ2V0Q29tcG9uZW50Rm9yS2V5KGtleSkge1xuICAgIHZhciBjb21wb25lbnRLZXkgPSBwYXJzZUludChrZXkuc3BsaXQoREVMSU1JVEVSKVswXSwgMTApO1xuICAgIHJldHVybiB0aGlzLl9kZWNvcmF0b3JzW2NvbXBvbmVudEtleV0uY29tcG9uZW50O1xuICB9O1xuXG4gIENvbXBvc2l0ZURyYWZ0RGVjb3JhdG9yLnByb3RvdHlwZS5nZXRQcm9wc0ZvcktleSA9IGZ1bmN0aW9uIGdldFByb3BzRm9yS2V5KGtleSkge1xuICAgIHZhciBjb21wb25lbnRLZXkgPSBwYXJzZUludChrZXkuc3BsaXQoREVMSU1JVEVSKVswXSwgMTApO1xuICAgIHJldHVybiB0aGlzLl9kZWNvcmF0b3JzW2NvbXBvbmVudEtleV0ucHJvcHM7XG4gIH07XG5cbiAgcmV0dXJuIENvbXBvc2l0ZURyYWZ0RGVjb3JhdG9yO1xufSgpO1xuXG4vKipcbiAqIERldGVybWluZSB3aGV0aGVyIHdlIGNhbiBvY2N1cHkgdGhlIHNwZWNpZmllZCBzbGljZSBvZiB0aGUgZGVjb3JhdGlvbnNcbiAqIGFycmF5LlxuICovXG5cblxuZnVuY3Rpb24gY2FuT2NjdXB5U2xpY2UoZGVjb3JhdGlvbnMsIHN0YXJ0LCBlbmQpIHtcbiAgZm9yICh2YXIgaWkgPSBzdGFydDsgaWkgPCBlbmQ7IGlpKyspIHtcbiAgICBpZiAoZGVjb3JhdGlvbnNbaWldICE9IG51bGwpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHRydWU7XG59XG5cbi8qKlxuICogU3BsaWNlIHRoZSBzcGVjaWZpZWQgY29tcG9uZW50IGludG8gb3VyIGRlY29yYXRpb24gYXJyYXkgYXQgdGhlIGRlc2lyZWRcbiAqIHJhbmdlLlxuICovXG5mdW5jdGlvbiBvY2N1cHlTbGljZSh0YXJnZXRBcnIsIHN0YXJ0LCBlbmQsIGNvbXBvbmVudEtleSkge1xuICBmb3IgKHZhciBpaSA9IHN0YXJ0OyBpaSA8IGVuZDsgaWkrKykge1xuICAgIHRhcmdldEFycltpaV0gPSBjb21wb25lbnRLZXk7XG4gIH1cbn1cblxubW9kdWxlLmV4cG9ydHMgPSBDb21wb3NpdGVEcmFmdERlY29yYXRvcjsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/CompositeDraftDecorator.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar Immutable = __webpack_require__(/*! immutable */ \"./node_modules/draft-js/node_modules/immutable/dist/immutable.js\");\n\nvar List = Immutable.List;\nvar DELIMITER = '.';\n/**\n * A CompositeDraftDecorator traverses through a list of DraftDecorator\n * instances to identify sections of a ContentBlock that should be rendered\n * in a \"decorated\" manner. For example, hashtags, mentions, and links may\n * be intended to stand out visually, be rendered as anchors, etc.\n *\n * The list of decorators supplied to the constructor will be used in the\n * order they are provided. This allows the caller to specify a priority for\n * string matching, in case of match collisions among decorators.\n *\n * For instance, I may have a link with a `#` in its text. Though this section\n * of text may match our hashtag decorator, it should not be treated as a\n * hashtag. I should therefore list my link DraftDecorator\n * before my hashtag DraftDecorator when constructing this composite\n * decorator instance.\n *\n * Thus, when a collision like this is encountered, the earlier match is\n * preserved and the new match is discarded.\n */\n\nvar CompositeDraftDecorator =\n/*#__PURE__*/\nfunction () {\n function CompositeDraftDecorator(decorators) {\n _defineProperty(this, \"_decorators\", void 0);\n\n // Copy the decorator array, since we use this array order to determine\n // precedence of decoration matching. If the array is mutated externally,\n // we don't want to be affected here.\n this._decorators = decorators.slice();\n }\n\n var _proto = CompositeDraftDecorator.prototype;\n\n _proto.getDecorations = function getDecorations(block, contentState) {\n var decorations = Array(block.getText().length).fill(null);\n\n this._decorators.forEach(function (\n /*object*/\n decorator,\n /*number*/\n ii) {\n var counter = 0;\n var strategy = decorator.strategy;\n\n var callback = function callback(\n /*number*/\n start,\n /*number*/\n end) {\n // Find out if any of our matching range is already occupied\n // by another decorator. If so, discard the match. Otherwise, store\n // the component key for rendering.\n if (canOccupySlice(decorations, start, end)) {\n occupySlice(decorations, start, end, ii + DELIMITER + counter);\n counter++;\n }\n };\n\n strategy(block, callback, contentState);\n });\n\n return List(decorations);\n };\n\n _proto.getComponentForKey = function getComponentForKey(key) {\n var componentKey = parseInt(key.split(DELIMITER)[0], 10);\n return this._decorators[componentKey].component;\n };\n\n _proto.getPropsForKey = function getPropsForKey(key) {\n var componentKey = parseInt(key.split(DELIMITER)[0], 10);\n return this._decorators[componentKey].props;\n };\n\n return CompositeDraftDecorator;\n}();\n/**\n * Determine whether we can occupy the specified slice of the decorations\n * array.\n */\n\n\nfunction canOccupySlice(decorations, start, end) {\n for (var ii = start; ii < end; ii++) {\n if (decorations[ii] != null) {\n return false;\n }\n }\n\n return true;\n}\n/**\n * Splice the specified component into our decoration array at the desired\n * range.\n */\n\n\nfunction occupySlice(targetArr, start, end, componentKey) {\n for (var ii = start; ii < end; ii++) {\n targetArr[ii] = componentKey;\n }\n}\n\nmodule.exports = CompositeDraftDecorator;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0NvbXBvc2l0ZURyYWZ0RGVjb3JhdG9yLmpzP2YzODkiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDYTs7QUFFYiwyQ0FBMkMsa0JBQWtCLGtDQUFrQyxxRUFBcUUsRUFBRSxFQUFFLE9BQU8sa0JBQWtCLEVBQUUsWUFBWTs7QUFFL00sZ0JBQWdCLG1CQUFPLENBQUMsbUZBQVc7O0FBRW5DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQSxzQkFBc0IsVUFBVTtBQUNoQztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0Esc0JBQXNCLFVBQVU7QUFDaEM7QUFDQTtBQUNBOztBQUVBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2RyYWZ0LWpzL2xpYi9Db21wb3NpdGVEcmFmdERlY29yYXRvci5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSBGYWNlYm9vaywgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICogQGZvcm1hdFxuICogXG4gKiBAZW1haWxzIG9uY2FsbCtkcmFmdF9qc1xuICovXG4ndXNlIHN0cmljdCc7XG5cbmZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgdmFsdWUpIHsgaWYgKGtleSBpbiBvYmopIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwga2V5LCB7IHZhbHVlOiB2YWx1ZSwgZW51bWVyYWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCB3cml0YWJsZTogdHJ1ZSB9KTsgfSBlbHNlIHsgb2JqW2tleV0gPSB2YWx1ZTsgfSByZXR1cm4gb2JqOyB9XG5cbnZhciBJbW11dGFibGUgPSByZXF1aXJlKFwiaW1tdXRhYmxlXCIpO1xuXG52YXIgTGlzdCA9IEltbXV0YWJsZS5MaXN0O1xudmFyIERFTElNSVRFUiA9ICcuJztcbi8qKlxuICogQSBDb21wb3NpdGVEcmFmdERlY29yYXRvciB0cmF2ZXJzZXMgdGhyb3VnaCBhIGxpc3Qgb2YgRHJhZnREZWNvcmF0b3JcbiAqIGluc3RhbmNlcyB0byBpZGVudGlmeSBzZWN0aW9ucyBvZiBhIENvbnRlbnRCbG9jayB0aGF0IHNob3VsZCBiZSByZW5kZXJlZFxuICogaW4gYSBcImRlY29yYXRlZFwiIG1hbm5lci4gRm9yIGV4YW1wbGUsIGhhc2h0YWdzLCBtZW50aW9ucywgYW5kIGxpbmtzIG1heVxuICogYmUgaW50ZW5kZWQgdG8gc3RhbmQgb3V0IHZpc3VhbGx5LCBiZSByZW5kZXJlZCBhcyBhbmNob3JzLCBldGMuXG4gKlxuICogVGhlIGxpc3Qgb2YgZGVjb3JhdG9ycyBzdXBwbGllZCB0byB0aGUgY29uc3RydWN0b3Igd2lsbCBiZSB1c2VkIGluIHRoZVxuICogb3JkZXIgdGhleSBhcmUgcHJvdmlkZWQuIFRoaXMgYWxsb3dzIHRoZSBjYWxsZXIgdG8gc3BlY2lmeSBhIHByaW9yaXR5IGZvclxuICogc3RyaW5nIG1hdGNoaW5nLCBpbiBjYXNlIG9mIG1hdGNoIGNvbGxpc2lvbnMgYW1vbmcgZGVjb3JhdG9ycy5cbiAqXG4gKiBGb3IgaW5zdGFuY2UsIEkgbWF5IGhhdmUgYSBsaW5rIHdpdGggYSBgI2AgaW4gaXRzIHRleHQuIFRob3VnaCB0aGlzIHNlY3Rpb25cbiAqIG9mIHRleHQgbWF5IG1hdGNoIG91ciBoYXNodGFnIGRlY29yYXRvciwgaXQgc2hvdWxkIG5vdCBiZSB0cmVhdGVkIGFzIGFcbiAqIGhhc2h0YWcuIEkgc2hvdWxkIHRoZXJlZm9yZSBsaXN0IG15IGxpbmsgRHJhZnREZWNvcmF0b3JcbiAqIGJlZm9yZSBteSBoYXNodGFnIERyYWZ0RGVjb3JhdG9yIHdoZW4gY29uc3RydWN0aW5nIHRoaXMgY29tcG9zaXRlXG4gKiBkZWNvcmF0b3IgaW5zdGFuY2UuXG4gKlxuICogVGh1cywgd2hlbiBhIGNvbGxpc2lvbiBsaWtlIHRoaXMgaXMgZW5jb3VudGVyZWQsIHRoZSBlYXJsaWVyIG1hdGNoIGlzXG4gKiBwcmVzZXJ2ZWQgYW5kIHRoZSBuZXcgbWF0Y2ggaXMgZGlzY2FyZGVkLlxuICovXG5cbnZhciBDb21wb3NpdGVEcmFmdERlY29yYXRvciA9XG4vKiNfX1BVUkVfXyovXG5mdW5jdGlvbiAoKSB7XG4gIGZ1bmN0aW9uIENvbXBvc2l0ZURyYWZ0RGVjb3JhdG9yKGRlY29yYXRvcnMpIHtcbiAgICBfZGVmaW5lUHJvcGVydHkodGhpcywgXCJfZGVjb3JhdG9yc1wiLCB2b2lkIDApO1xuXG4gICAgLy8gQ29weSB0aGUgZGVjb3JhdG9yIGFycmF5LCBzaW5jZSB3ZSB1c2UgdGhpcyBhcnJheSBvcmRlciB0byBkZXRlcm1pbmVcbiAgICAvLyBwcmVjZWRlbmNlIG9mIGRlY29yYXRpb24gbWF0Y2hpbmcuIElmIHRoZSBhcnJheSBpcyBtdXRhdGVkIGV4dGVybmFsbHksXG4gICAgLy8gd2UgZG9uJ3Qgd2FudCB0byBiZSBhZmZlY3RlZCBoZXJlLlxuICAgIHRoaXMuX2RlY29yYXRvcnMgPSBkZWNvcmF0b3JzLnNsaWNlKCk7XG4gIH1cblxuICB2YXIgX3Byb3RvID0gQ29tcG9zaXRlRHJhZnREZWNvcmF0b3IucHJvdG90eXBlO1xuXG4gIF9wcm90by5nZXREZWNvcmF0aW9ucyA9IGZ1bmN0aW9uIGdldERlY29yYXRpb25zKGJsb2NrLCBjb250ZW50U3RhdGUpIHtcbiAgICB2YXIgZGVjb3JhdGlvbnMgPSBBcnJheShibG9jay5nZXRUZXh0KCkubGVuZ3RoKS5maWxsKG51bGwpO1xuXG4gICAgdGhpcy5fZGVjb3JhdG9ycy5mb3JFYWNoKGZ1bmN0aW9uIChcbiAgICAvKm9iamVjdCovXG4gICAgZGVjb3JhdG9yLFxuICAgIC8qbnVtYmVyKi9cbiAgICBpaSkge1xuICAgICAgdmFyIGNvdW50ZXIgPSAwO1xuICAgICAgdmFyIHN0cmF0ZWd5ID0gZGVjb3JhdG9yLnN0cmF0ZWd5O1xuXG4gICAgICB2YXIgY2FsbGJhY2sgPSBmdW5jdGlvbiBjYWxsYmFjayhcbiAgICAgIC8qbnVtYmVyKi9cbiAgICAgIHN0YXJ0LFxuICAgICAgLypudW1iZXIqL1xuICAgICAgZW5kKSB7XG4gICAgICAgIC8vIEZpbmQgb3V0IGlmIGFueSBvZiBvdXIgbWF0Y2hpbmcgcmFuZ2UgaXMgYWxyZWFkeSBvY2N1cGllZFxuICAgICAgICAvLyBieSBhbm90aGVyIGRlY29yYXRvci4gSWYgc28sIGRpc2NhcmQgdGhlIG1hdGNoLiBPdGhlcndpc2UsIHN0b3JlXG4gICAgICAgIC8vIHRoZSBjb21wb25lbnQga2V5IGZvciByZW5kZXJpbmcuXG4gICAgICAgIGlmIChjYW5PY2N1cHlTbGljZShkZWNvcmF0aW9ucywgc3RhcnQsIGVuZCkpIHtcbiAgICAgICAgICBvY2N1cHlTbGljZShkZWNvcmF0aW9ucywgc3RhcnQsIGVuZCwgaWkgKyBERUxJTUlURVIgKyBjb3VudGVyKTtcbiAgICAgICAgICBjb3VudGVyKys7XG4gICAgICAgIH1cbiAgICAgIH07XG5cbiAgICAgIHN0cmF0ZWd5KGJsb2NrLCBjYWxsYmFjaywgY29udGVudFN0YXRlKTtcbiAgICB9KTtcblxuICAgIHJldHVybiBMaXN0KGRlY29yYXRpb25zKTtcbiAgfTtcblxuICBfcHJvdG8uZ2V0Q29tcG9uZW50Rm9yS2V5ID0gZnVuY3Rpb24gZ2V0Q29tcG9uZW50Rm9yS2V5KGtleSkge1xuICAgIHZhciBjb21wb25lbnRLZXkgPSBwYXJzZUludChrZXkuc3BsaXQoREVMSU1JVEVSKVswXSwgMTApO1xuICAgIHJldHVybiB0aGlzLl9kZWNvcmF0b3JzW2NvbXBvbmVudEtleV0uY29tcG9uZW50O1xuICB9O1xuXG4gIF9wcm90by5nZXRQcm9wc0ZvcktleSA9IGZ1bmN0aW9uIGdldFByb3BzRm9yS2V5KGtleSkge1xuICAgIHZhciBjb21wb25lbnRLZXkgPSBwYXJzZUludChrZXkuc3BsaXQoREVMSU1JVEVSKVswXSwgMTApO1xuICAgIHJldHVybiB0aGlzLl9kZWNvcmF0b3JzW2NvbXBvbmVudEtleV0ucHJvcHM7XG4gIH07XG5cbiAgcmV0dXJuIENvbXBvc2l0ZURyYWZ0RGVjb3JhdG9yO1xufSgpO1xuLyoqXG4gKiBEZXRlcm1pbmUgd2hldGhlciB3ZSBjYW4gb2NjdXB5IHRoZSBzcGVjaWZpZWQgc2xpY2Ugb2YgdGhlIGRlY29yYXRpb25zXG4gKiBhcnJheS5cbiAqL1xuXG5cbmZ1bmN0aW9uIGNhbk9jY3VweVNsaWNlKGRlY29yYXRpb25zLCBzdGFydCwgZW5kKSB7XG4gIGZvciAodmFyIGlpID0gc3RhcnQ7IGlpIDwgZW5kOyBpaSsrKSB7XG4gICAgaWYgKGRlY29yYXRpb25zW2lpXSAhPSBudWxsKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRydWU7XG59XG4vKipcbiAqIFNwbGljZSB0aGUgc3BlY2lmaWVkIGNvbXBvbmVudCBpbnRvIG91ciBkZWNvcmF0aW9uIGFycmF5IGF0IHRoZSBkZXNpcmVkXG4gKiByYW5nZS5cbiAqL1xuXG5cbmZ1bmN0aW9uIG9jY3VweVNsaWNlKHRhcmdldEFyciwgc3RhcnQsIGVuZCwgY29tcG9uZW50S2V5KSB7XG4gIGZvciAodmFyIGlpID0gc3RhcnQ7IGlpIDwgZW5kOyBpaSsrKSB7XG4gICAgdGFyZ2V0QXJyW2lpXSA9IGNvbXBvbmVudEtleTtcbiAgfVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IENvbXBvc2l0ZURyYWZ0RGVjb3JhdG9yOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/CompositeDraftDecorator.js\n"); /***/ }), @@ -79,7 +90,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ContentBlock\n * @format\n * \n */\n\n\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar CharacterMetadata = __webpack_require__(/*! ./CharacterMetadata */ \"./node_modules/draft-js/lib/CharacterMetadata.js\");\nvar Immutable = __webpack_require__(/*! immutable */ \"./node_modules/draft-js/node_modules/immutable/dist/immutable.js\");\n\nvar findRangesImmutable = __webpack_require__(/*! ./findRangesImmutable */ \"./node_modules/draft-js/lib/findRangesImmutable.js\");\n\nvar List = Immutable.List,\n Map = Immutable.Map,\n OrderedSet = Immutable.OrderedSet,\n Record = Immutable.Record,\n Repeat = Immutable.Repeat;\n\n\nvar EMPTY_SET = OrderedSet();\n\nvar defaultRecord = {\n key: '',\n type: 'unstyled',\n text: '',\n characterList: List(),\n depth: 0,\n data: Map()\n};\n\nvar ContentBlockRecord = Record(defaultRecord);\n\nvar decorateCharacterList = function decorateCharacterList(config) {\n if (!config) {\n return config;\n }\n\n var characterList = config.characterList,\n text = config.text;\n\n\n if (text && !characterList) {\n config.characterList = List(Repeat(CharacterMetadata.EMPTY, text.length));\n }\n\n return config;\n};\n\nvar ContentBlock = function (_ContentBlockRecord) {\n _inherits(ContentBlock, _ContentBlockRecord);\n\n function ContentBlock(config) {\n _classCallCheck(this, ContentBlock);\n\n return _possibleConstructorReturn(this, _ContentBlockRecord.call(this, decorateCharacterList(config)));\n }\n\n ContentBlock.prototype.getKey = function getKey() {\n return this.get('key');\n };\n\n ContentBlock.prototype.getType = function getType() {\n return this.get('type');\n };\n\n ContentBlock.prototype.getText = function getText() {\n return this.get('text');\n };\n\n ContentBlock.prototype.getCharacterList = function getCharacterList() {\n return this.get('characterList');\n };\n\n ContentBlock.prototype.getLength = function getLength() {\n return this.getText().length;\n };\n\n ContentBlock.prototype.getDepth = function getDepth() {\n return this.get('depth');\n };\n\n ContentBlock.prototype.getData = function getData() {\n return this.get('data');\n };\n\n ContentBlock.prototype.getInlineStyleAt = function getInlineStyleAt(offset) {\n var character = this.getCharacterList().get(offset);\n return character ? character.getStyle() : EMPTY_SET;\n };\n\n ContentBlock.prototype.getEntityAt = function getEntityAt(offset) {\n var character = this.getCharacterList().get(offset);\n return character ? character.getEntity() : null;\n };\n\n /**\n * Execute a callback for every contiguous range of styles within the block.\n */\n\n\n ContentBlock.prototype.findStyleRanges = function findStyleRanges(filterFn, callback) {\n findRangesImmutable(this.getCharacterList(), haveEqualStyle, filterFn, callback);\n };\n\n /**\n * Execute a callback for every contiguous range of entities within the block.\n */\n\n\n ContentBlock.prototype.findEntityRanges = function findEntityRanges(filterFn, callback) {\n findRangesImmutable(this.getCharacterList(), haveEqualEntity, filterFn, callback);\n };\n\n return ContentBlock;\n}(ContentBlockRecord);\n\nfunction haveEqualStyle(charA, charB) {\n return charA.getStyle() === charB.getStyle();\n}\n\nfunction haveEqualEntity(charA, charB) {\n return charA.getEntity() === charB.getEntity();\n}\n\nmodule.exports = ContentBlock;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0NvbnRlbnRCbG9jay5qcz9mMmU0Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFYTs7QUFFYixpREFBaUQsMENBQTBDLDBEQUEwRCxFQUFFOztBQUV2SixpREFBaUQsYUFBYSx1RkFBdUYsRUFBRSx1RkFBdUY7O0FBRTlPLDBDQUEwQywrREFBK0QscUdBQXFHLEVBQUUseUVBQXlFLGVBQWUseUVBQXlFLEVBQUUsRUFBRSx1SEFBdUg7O0FBRTVlLHdCQUF3QixtQkFBTyxDQUFDLDZFQUFxQjtBQUNyRCxnQkFBZ0IsbUJBQU8sQ0FBQyxtRkFBVzs7QUFFbkMsMEJBQTBCLG1CQUFPLENBQUMsaUZBQXVCOztBQUV6RDtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvQ29udGVudEJsb2NrLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQlNELXN0eWxlIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuIEFuIGFkZGl0aW9uYWwgZ3JhbnRcbiAqIG9mIHBhdGVudCByaWdodHMgY2FuIGJlIGZvdW5kIGluIHRoZSBQQVRFTlRTIGZpbGUgaW4gdGhlIHNhbWUgZGlyZWN0b3J5LlxuICpcbiAqIEBwcm92aWRlc01vZHVsZSBDb250ZW50QmxvY2tcbiAqIEBmb3JtYXRcbiAqIFxuICovXG5cbid1c2Ugc3RyaWN0JztcblxuZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGluc3RhbmNlLCBDb25zdHJ1Y3RvcikgeyBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpOyB9IH1cblxuZnVuY3Rpb24gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4oc2VsZiwgY2FsbCkgeyBpZiAoIXNlbGYpIHsgdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKFwidGhpcyBoYXNuJ3QgYmVlbiBpbml0aWFsaXNlZCAtIHN1cGVyKCkgaGFzbid0IGJlZW4gY2FsbGVkXCIpOyB9IHJldHVybiBjYWxsICYmICh0eXBlb2YgY2FsbCA9PT0gXCJvYmplY3RcIiB8fCB0eXBlb2YgY2FsbCA9PT0gXCJmdW5jdGlvblwiKSA/IGNhbGwgOiBzZWxmOyB9XG5cbmZ1bmN0aW9uIF9pbmhlcml0cyhzdWJDbGFzcywgc3VwZXJDbGFzcykgeyBpZiAodHlwZW9mIHN1cGVyQ2xhc3MgIT09IFwiZnVuY3Rpb25cIiAmJiBzdXBlckNsYXNzICE9PSBudWxsKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJTdXBlciBleHByZXNzaW9uIG11c3QgZWl0aGVyIGJlIG51bGwgb3IgYSBmdW5jdGlvbiwgbm90IFwiICsgdHlwZW9mIHN1cGVyQ2xhc3MpOyB9IHN1YkNsYXNzLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoc3VwZXJDbGFzcyAmJiBzdXBlckNsYXNzLnByb3RvdHlwZSwgeyBjb25zdHJ1Y3RvcjogeyB2YWx1ZTogc3ViQ2xhc3MsIGVudW1lcmFibGU6IGZhbHNlLCB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlIH0gfSk7IGlmIChzdXBlckNsYXNzKSBPYmplY3Quc2V0UHJvdG90eXBlT2YgPyBPYmplY3Quc2V0UHJvdG90eXBlT2Yoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpIDogc3ViQ2xhc3MuX19wcm90b19fID0gc3VwZXJDbGFzczsgfVxuXG52YXIgQ2hhcmFjdGVyTWV0YWRhdGEgPSByZXF1aXJlKCcuL0NoYXJhY3Rlck1ldGFkYXRhJyk7XG52YXIgSW1tdXRhYmxlID0gcmVxdWlyZSgnaW1tdXRhYmxlJyk7XG5cbnZhciBmaW5kUmFuZ2VzSW1tdXRhYmxlID0gcmVxdWlyZSgnLi9maW5kUmFuZ2VzSW1tdXRhYmxlJyk7XG5cbnZhciBMaXN0ID0gSW1tdXRhYmxlLkxpc3QsXG4gICAgTWFwID0gSW1tdXRhYmxlLk1hcCxcbiAgICBPcmRlcmVkU2V0ID0gSW1tdXRhYmxlLk9yZGVyZWRTZXQsXG4gICAgUmVjb3JkID0gSW1tdXRhYmxlLlJlY29yZCxcbiAgICBSZXBlYXQgPSBJbW11dGFibGUuUmVwZWF0O1xuXG5cbnZhciBFTVBUWV9TRVQgPSBPcmRlcmVkU2V0KCk7XG5cbnZhciBkZWZhdWx0UmVjb3JkID0ge1xuICBrZXk6ICcnLFxuICB0eXBlOiAndW5zdHlsZWQnLFxuICB0ZXh0OiAnJyxcbiAgY2hhcmFjdGVyTGlzdDogTGlzdCgpLFxuICBkZXB0aDogMCxcbiAgZGF0YTogTWFwKClcbn07XG5cbnZhciBDb250ZW50QmxvY2tSZWNvcmQgPSBSZWNvcmQoZGVmYXVsdFJlY29yZCk7XG5cbnZhciBkZWNvcmF0ZUNoYXJhY3Rlckxpc3QgPSBmdW5jdGlvbiBkZWNvcmF0ZUNoYXJhY3Rlckxpc3QoY29uZmlnKSB7XG4gIGlmICghY29uZmlnKSB7XG4gICAgcmV0dXJuIGNvbmZpZztcbiAgfVxuXG4gIHZhciBjaGFyYWN0ZXJMaXN0ID0gY29uZmlnLmNoYXJhY3Rlckxpc3QsXG4gICAgICB0ZXh0ID0gY29uZmlnLnRleHQ7XG5cblxuICBpZiAodGV4dCAmJiAhY2hhcmFjdGVyTGlzdCkge1xuICAgIGNvbmZpZy5jaGFyYWN0ZXJMaXN0ID0gTGlzdChSZXBlYXQoQ2hhcmFjdGVyTWV0YWRhdGEuRU1QVFksIHRleHQubGVuZ3RoKSk7XG4gIH1cblxuICByZXR1cm4gY29uZmlnO1xufTtcblxudmFyIENvbnRlbnRCbG9jayA9IGZ1bmN0aW9uIChfQ29udGVudEJsb2NrUmVjb3JkKSB7XG4gIF9pbmhlcml0cyhDb250ZW50QmxvY2ssIF9Db250ZW50QmxvY2tSZWNvcmQpO1xuXG4gIGZ1bmN0aW9uIENvbnRlbnRCbG9jayhjb25maWcpIHtcbiAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgQ29udGVudEJsb2NrKTtcblxuICAgIHJldHVybiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybih0aGlzLCBfQ29udGVudEJsb2NrUmVjb3JkLmNhbGwodGhpcywgZGVjb3JhdGVDaGFyYWN0ZXJMaXN0KGNvbmZpZykpKTtcbiAgfVxuXG4gIENvbnRlbnRCbG9jay5wcm90b3R5cGUuZ2V0S2V5ID0gZnVuY3Rpb24gZ2V0S2V5KCkge1xuICAgIHJldHVybiB0aGlzLmdldCgna2V5Jyk7XG4gIH07XG5cbiAgQ29udGVudEJsb2NrLnByb3RvdHlwZS5nZXRUeXBlID0gZnVuY3Rpb24gZ2V0VHlwZSgpIHtcbiAgICByZXR1cm4gdGhpcy5nZXQoJ3R5cGUnKTtcbiAgfTtcblxuICBDb250ZW50QmxvY2sucHJvdG90eXBlLmdldFRleHQgPSBmdW5jdGlvbiBnZXRUZXh0KCkge1xuICAgIHJldHVybiB0aGlzLmdldCgndGV4dCcpO1xuICB9O1xuXG4gIENvbnRlbnRCbG9jay5wcm90b3R5cGUuZ2V0Q2hhcmFjdGVyTGlzdCA9IGZ1bmN0aW9uIGdldENoYXJhY3Rlckxpc3QoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KCdjaGFyYWN0ZXJMaXN0Jyk7XG4gIH07XG5cbiAgQ29udGVudEJsb2NrLnByb3RvdHlwZS5nZXRMZW5ndGggPSBmdW5jdGlvbiBnZXRMZW5ndGgoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0VGV4dCgpLmxlbmd0aDtcbiAgfTtcblxuICBDb250ZW50QmxvY2sucHJvdG90eXBlLmdldERlcHRoID0gZnVuY3Rpb24gZ2V0RGVwdGgoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KCdkZXB0aCcpO1xuICB9O1xuXG4gIENvbnRlbnRCbG9jay5wcm90b3R5cGUuZ2V0RGF0YSA9IGZ1bmN0aW9uIGdldERhdGEoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KCdkYXRhJyk7XG4gIH07XG5cbiAgQ29udGVudEJsb2NrLnByb3RvdHlwZS5nZXRJbmxpbmVTdHlsZUF0ID0gZnVuY3Rpb24gZ2V0SW5saW5lU3R5bGVBdChvZmZzZXQpIHtcbiAgICB2YXIgY2hhcmFjdGVyID0gdGhpcy5nZXRDaGFyYWN0ZXJMaXN0KCkuZ2V0KG9mZnNldCk7XG4gICAgcmV0dXJuIGNoYXJhY3RlciA/IGNoYXJhY3Rlci5nZXRTdHlsZSgpIDogRU1QVFlfU0VUO1xuICB9O1xuXG4gIENvbnRlbnRCbG9jay5wcm90b3R5cGUuZ2V0RW50aXR5QXQgPSBmdW5jdGlvbiBnZXRFbnRpdHlBdChvZmZzZXQpIHtcbiAgICB2YXIgY2hhcmFjdGVyID0gdGhpcy5nZXRDaGFyYWN0ZXJMaXN0KCkuZ2V0KG9mZnNldCk7XG4gICAgcmV0dXJuIGNoYXJhY3RlciA/IGNoYXJhY3Rlci5nZXRFbnRpdHkoKSA6IG51bGw7XG4gIH07XG5cbiAgLyoqXG4gICAqIEV4ZWN1dGUgYSBjYWxsYmFjayBmb3IgZXZlcnkgY29udGlndW91cyByYW5nZSBvZiBzdHlsZXMgd2l0aGluIHRoZSBibG9jay5cbiAgICovXG5cblxuICBDb250ZW50QmxvY2sucHJvdG90eXBlLmZpbmRTdHlsZVJhbmdlcyA9IGZ1bmN0aW9uIGZpbmRTdHlsZVJhbmdlcyhmaWx0ZXJGbiwgY2FsbGJhY2spIHtcbiAgICBmaW5kUmFuZ2VzSW1tdXRhYmxlKHRoaXMuZ2V0Q2hhcmFjdGVyTGlzdCgpLCBoYXZlRXF1YWxTdHlsZSwgZmlsdGVyRm4sIGNhbGxiYWNrKTtcbiAgfTtcblxuICAvKipcbiAgICogRXhlY3V0ZSBhIGNhbGxiYWNrIGZvciBldmVyeSBjb250aWd1b3VzIHJhbmdlIG9mIGVudGl0aWVzIHdpdGhpbiB0aGUgYmxvY2suXG4gICAqL1xuXG5cbiAgQ29udGVudEJsb2NrLnByb3RvdHlwZS5maW5kRW50aXR5UmFuZ2VzID0gZnVuY3Rpb24gZmluZEVudGl0eVJhbmdlcyhmaWx0ZXJGbiwgY2FsbGJhY2spIHtcbiAgICBmaW5kUmFuZ2VzSW1tdXRhYmxlKHRoaXMuZ2V0Q2hhcmFjdGVyTGlzdCgpLCBoYXZlRXF1YWxFbnRpdHksIGZpbHRlckZuLCBjYWxsYmFjayk7XG4gIH07XG5cbiAgcmV0dXJuIENvbnRlbnRCbG9jaztcbn0oQ29udGVudEJsb2NrUmVjb3JkKTtcblxuZnVuY3Rpb24gaGF2ZUVxdWFsU3R5bGUoY2hhckEsIGNoYXJCKSB7XG4gIHJldHVybiBjaGFyQS5nZXRTdHlsZSgpID09PSBjaGFyQi5nZXRTdHlsZSgpO1xufVxuXG5mdW5jdGlvbiBoYXZlRXF1YWxFbnRpdHkoY2hhckEsIGNoYXJCKSB7XG4gIHJldHVybiBjaGFyQS5nZXRFbnRpdHkoKSA9PT0gY2hhckIuZ2V0RW50aXR5KCk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gQ29udGVudEJsb2NrOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/ContentBlock.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar CharacterMetadata = __webpack_require__(/*! ./CharacterMetadata */ \"./node_modules/draft-js/lib/CharacterMetadata.js\");\n\nvar findRangesImmutable = __webpack_require__(/*! ./findRangesImmutable */ \"./node_modules/draft-js/lib/findRangesImmutable.js\");\n\nvar Immutable = __webpack_require__(/*! immutable */ \"./node_modules/draft-js/node_modules/immutable/dist/immutable.js\");\n\nvar List = Immutable.List,\n Map = Immutable.Map,\n OrderedSet = Immutable.OrderedSet,\n Record = Immutable.Record,\n Repeat = Immutable.Repeat;\nvar EMPTY_SET = OrderedSet();\nvar defaultRecord = {\n key: '',\n type: 'unstyled',\n text: '',\n characterList: List(),\n depth: 0,\n data: Map()\n};\nvar ContentBlockRecord = Record(defaultRecord);\n\nvar decorateCharacterList = function decorateCharacterList(config) {\n if (!config) {\n return config;\n }\n\n var characterList = config.characterList,\n text = config.text;\n\n if (text && !characterList) {\n config.characterList = List(Repeat(CharacterMetadata.EMPTY, text.length));\n }\n\n return config;\n};\n\nvar ContentBlock =\n/*#__PURE__*/\nfunction (_ContentBlockRecord) {\n _inheritsLoose(ContentBlock, _ContentBlockRecord);\n\n function ContentBlock(config) {\n return _ContentBlockRecord.call(this, decorateCharacterList(config)) || this;\n }\n\n var _proto = ContentBlock.prototype;\n\n _proto.getKey = function getKey() {\n return this.get('key');\n };\n\n _proto.getType = function getType() {\n return this.get('type');\n };\n\n _proto.getText = function getText() {\n return this.get('text');\n };\n\n _proto.getCharacterList = function getCharacterList() {\n return this.get('characterList');\n };\n\n _proto.getLength = function getLength() {\n return this.getText().length;\n };\n\n _proto.getDepth = function getDepth() {\n return this.get('depth');\n };\n\n _proto.getData = function getData() {\n return this.get('data');\n };\n\n _proto.getInlineStyleAt = function getInlineStyleAt(offset) {\n var character = this.getCharacterList().get(offset);\n return character ? character.getStyle() : EMPTY_SET;\n };\n\n _proto.getEntityAt = function getEntityAt(offset) {\n var character = this.getCharacterList().get(offset);\n return character ? character.getEntity() : null;\n }\n /**\n * Execute a callback for every contiguous range of styles within the block.\n */\n ;\n\n _proto.findStyleRanges = function findStyleRanges(filterFn, callback) {\n findRangesImmutable(this.getCharacterList(), haveEqualStyle, filterFn, callback);\n }\n /**\n * Execute a callback for every contiguous range of entities within the block.\n */\n ;\n\n _proto.findEntityRanges = function findEntityRanges(filterFn, callback) {\n findRangesImmutable(this.getCharacterList(), haveEqualEntity, filterFn, callback);\n };\n\n return ContentBlock;\n}(ContentBlockRecord);\n\nfunction haveEqualStyle(charA, charB) {\n return charA.getStyle() === charB.getStyle();\n}\n\nfunction haveEqualEntity(charA, charB) {\n return charA.getEntity() === charB.getEntity();\n}\n\nmodule.exports = ContentBlock;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0NvbnRlbnRCbG9jay5qcz9mMmU0Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ2E7O0FBRWIsK0NBQStDLDBEQUEwRCwyQ0FBMkMsaUNBQWlDOztBQUVyTCx3QkFBd0IsbUJBQU8sQ0FBQyw2RUFBcUI7O0FBRXJELDBCQUEwQixtQkFBTyxDQUFDLGlGQUF1Qjs7QUFFekQsZ0JBQWdCLG1CQUFPLENBQUMsbUZBQVc7O0FBRW5DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0NvbnRlbnRCbG9jay5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSBGYWNlYm9vaywgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICogQGZvcm1hdFxuICogXG4gKiBAZW1haWxzIG9uY2FsbCtkcmFmdF9qc1xuICovXG4ndXNlIHN0cmljdCc7XG5cbmZ1bmN0aW9uIF9pbmhlcml0c0xvb3NlKHN1YkNsYXNzLCBzdXBlckNsYXNzKSB7IHN1YkNsYXNzLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoc3VwZXJDbGFzcy5wcm90b3R5cGUpOyBzdWJDbGFzcy5wcm90b3R5cGUuY29uc3RydWN0b3IgPSBzdWJDbGFzczsgc3ViQ2xhc3MuX19wcm90b19fID0gc3VwZXJDbGFzczsgfVxuXG52YXIgQ2hhcmFjdGVyTWV0YWRhdGEgPSByZXF1aXJlKFwiLi9DaGFyYWN0ZXJNZXRhZGF0YVwiKTtcblxudmFyIGZpbmRSYW5nZXNJbW11dGFibGUgPSByZXF1aXJlKFwiLi9maW5kUmFuZ2VzSW1tdXRhYmxlXCIpO1xuXG52YXIgSW1tdXRhYmxlID0gcmVxdWlyZShcImltbXV0YWJsZVwiKTtcblxudmFyIExpc3QgPSBJbW11dGFibGUuTGlzdCxcbiAgICBNYXAgPSBJbW11dGFibGUuTWFwLFxuICAgIE9yZGVyZWRTZXQgPSBJbW11dGFibGUuT3JkZXJlZFNldCxcbiAgICBSZWNvcmQgPSBJbW11dGFibGUuUmVjb3JkLFxuICAgIFJlcGVhdCA9IEltbXV0YWJsZS5SZXBlYXQ7XG52YXIgRU1QVFlfU0VUID0gT3JkZXJlZFNldCgpO1xudmFyIGRlZmF1bHRSZWNvcmQgPSB7XG4gIGtleTogJycsXG4gIHR5cGU6ICd1bnN0eWxlZCcsXG4gIHRleHQ6ICcnLFxuICBjaGFyYWN0ZXJMaXN0OiBMaXN0KCksXG4gIGRlcHRoOiAwLFxuICBkYXRhOiBNYXAoKVxufTtcbnZhciBDb250ZW50QmxvY2tSZWNvcmQgPSBSZWNvcmQoZGVmYXVsdFJlY29yZCk7XG5cbnZhciBkZWNvcmF0ZUNoYXJhY3Rlckxpc3QgPSBmdW5jdGlvbiBkZWNvcmF0ZUNoYXJhY3Rlckxpc3QoY29uZmlnKSB7XG4gIGlmICghY29uZmlnKSB7XG4gICAgcmV0dXJuIGNvbmZpZztcbiAgfVxuXG4gIHZhciBjaGFyYWN0ZXJMaXN0ID0gY29uZmlnLmNoYXJhY3Rlckxpc3QsXG4gICAgICB0ZXh0ID0gY29uZmlnLnRleHQ7XG5cbiAgaWYgKHRleHQgJiYgIWNoYXJhY3Rlckxpc3QpIHtcbiAgICBjb25maWcuY2hhcmFjdGVyTGlzdCA9IExpc3QoUmVwZWF0KENoYXJhY3Rlck1ldGFkYXRhLkVNUFRZLCB0ZXh0Lmxlbmd0aCkpO1xuICB9XG5cbiAgcmV0dXJuIGNvbmZpZztcbn07XG5cbnZhciBDb250ZW50QmxvY2sgPVxuLyojX19QVVJFX18qL1xuZnVuY3Rpb24gKF9Db250ZW50QmxvY2tSZWNvcmQpIHtcbiAgX2luaGVyaXRzTG9vc2UoQ29udGVudEJsb2NrLCBfQ29udGVudEJsb2NrUmVjb3JkKTtcblxuICBmdW5jdGlvbiBDb250ZW50QmxvY2soY29uZmlnKSB7XG4gICAgcmV0dXJuIF9Db250ZW50QmxvY2tSZWNvcmQuY2FsbCh0aGlzLCBkZWNvcmF0ZUNoYXJhY3Rlckxpc3QoY29uZmlnKSkgfHwgdGhpcztcbiAgfVxuXG4gIHZhciBfcHJvdG8gPSBDb250ZW50QmxvY2sucHJvdG90eXBlO1xuXG4gIF9wcm90by5nZXRLZXkgPSBmdW5jdGlvbiBnZXRLZXkoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KCdrZXknKTtcbiAgfTtcblxuICBfcHJvdG8uZ2V0VHlwZSA9IGZ1bmN0aW9uIGdldFR5cGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KCd0eXBlJyk7XG4gIH07XG5cbiAgX3Byb3RvLmdldFRleHQgPSBmdW5jdGlvbiBnZXRUZXh0KCkge1xuICAgIHJldHVybiB0aGlzLmdldCgndGV4dCcpO1xuICB9O1xuXG4gIF9wcm90by5nZXRDaGFyYWN0ZXJMaXN0ID0gZnVuY3Rpb24gZ2V0Q2hhcmFjdGVyTGlzdCgpIHtcbiAgICByZXR1cm4gdGhpcy5nZXQoJ2NoYXJhY3Rlckxpc3QnKTtcbiAgfTtcblxuICBfcHJvdG8uZ2V0TGVuZ3RoID0gZnVuY3Rpb24gZ2V0TGVuZ3RoKCkge1xuICAgIHJldHVybiB0aGlzLmdldFRleHQoKS5sZW5ndGg7XG4gIH07XG5cbiAgX3Byb3RvLmdldERlcHRoID0gZnVuY3Rpb24gZ2V0RGVwdGgoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KCdkZXB0aCcpO1xuICB9O1xuXG4gIF9wcm90by5nZXREYXRhID0gZnVuY3Rpb24gZ2V0RGF0YSgpIHtcbiAgICByZXR1cm4gdGhpcy5nZXQoJ2RhdGEnKTtcbiAgfTtcblxuICBfcHJvdG8uZ2V0SW5saW5lU3R5bGVBdCA9IGZ1bmN0aW9uIGdldElubGluZVN0eWxlQXQob2Zmc2V0KSB7XG4gICAgdmFyIGNoYXJhY3RlciA9IHRoaXMuZ2V0Q2hhcmFjdGVyTGlzdCgpLmdldChvZmZzZXQpO1xuICAgIHJldHVybiBjaGFyYWN0ZXIgPyBjaGFyYWN0ZXIuZ2V0U3R5bGUoKSA6IEVNUFRZX1NFVDtcbiAgfTtcblxuICBfcHJvdG8uZ2V0RW50aXR5QXQgPSBmdW5jdGlvbiBnZXRFbnRpdHlBdChvZmZzZXQpIHtcbiAgICB2YXIgY2hhcmFjdGVyID0gdGhpcy5nZXRDaGFyYWN0ZXJMaXN0KCkuZ2V0KG9mZnNldCk7XG4gICAgcmV0dXJuIGNoYXJhY3RlciA/IGNoYXJhY3Rlci5nZXRFbnRpdHkoKSA6IG51bGw7XG4gIH1cbiAgLyoqXG4gICAqIEV4ZWN1dGUgYSBjYWxsYmFjayBmb3IgZXZlcnkgY29udGlndW91cyByYW5nZSBvZiBzdHlsZXMgd2l0aGluIHRoZSBibG9jay5cbiAgICovXG4gIDtcblxuICBfcHJvdG8uZmluZFN0eWxlUmFuZ2VzID0gZnVuY3Rpb24gZmluZFN0eWxlUmFuZ2VzKGZpbHRlckZuLCBjYWxsYmFjaykge1xuICAgIGZpbmRSYW5nZXNJbW11dGFibGUodGhpcy5nZXRDaGFyYWN0ZXJMaXN0KCksIGhhdmVFcXVhbFN0eWxlLCBmaWx0ZXJGbiwgY2FsbGJhY2spO1xuICB9XG4gIC8qKlxuICAgKiBFeGVjdXRlIGEgY2FsbGJhY2sgZm9yIGV2ZXJ5IGNvbnRpZ3VvdXMgcmFuZ2Ugb2YgZW50aXRpZXMgd2l0aGluIHRoZSBibG9jay5cbiAgICovXG4gIDtcblxuICBfcHJvdG8uZmluZEVudGl0eVJhbmdlcyA9IGZ1bmN0aW9uIGZpbmRFbnRpdHlSYW5nZXMoZmlsdGVyRm4sIGNhbGxiYWNrKSB7XG4gICAgZmluZFJhbmdlc0ltbXV0YWJsZSh0aGlzLmdldENoYXJhY3Rlckxpc3QoKSwgaGF2ZUVxdWFsRW50aXR5LCBmaWx0ZXJGbiwgY2FsbGJhY2spO1xuICB9O1xuXG4gIHJldHVybiBDb250ZW50QmxvY2s7XG59KENvbnRlbnRCbG9ja1JlY29yZCk7XG5cbmZ1bmN0aW9uIGhhdmVFcXVhbFN0eWxlKGNoYXJBLCBjaGFyQikge1xuICByZXR1cm4gY2hhckEuZ2V0U3R5bGUoKSA9PT0gY2hhckIuZ2V0U3R5bGUoKTtcbn1cblxuZnVuY3Rpb24gaGF2ZUVxdWFsRW50aXR5KGNoYXJBLCBjaGFyQikge1xuICByZXR1cm4gY2hhckEuZ2V0RW50aXR5KCkgPT09IGNoYXJCLmdldEVudGl0eSgpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IENvbnRlbnRCbG9jazsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/ContentBlock.js\n"); /***/ }), @@ -91,7 +102,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ContentBlockNode\n * @format\n * \n *\n * This file is a fork of ContentBlock adding support for nesting references by\n * providing links to children, parent, prevSibling, and nextSibling.\n *\n * This is unstable and not part of the public API and should not be used by\n * production systems. This file may be update/removed without notice.\n */\n\n\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar CharacterMetadata = __webpack_require__(/*! ./CharacterMetadata */ \"./node_modules/draft-js/lib/CharacterMetadata.js\");\nvar Immutable = __webpack_require__(/*! immutable */ \"./node_modules/draft-js/node_modules/immutable/dist/immutable.js\");\n\nvar findRangesImmutable = __webpack_require__(/*! ./findRangesImmutable */ \"./node_modules/draft-js/lib/findRangesImmutable.js\");\n\nvar List = Immutable.List,\n Map = Immutable.Map,\n OrderedSet = Immutable.OrderedSet,\n Record = Immutable.Record,\n Repeat = Immutable.Repeat;\n\n\nvar EMPTY_SET = OrderedSet();\n\nvar defaultRecord = {\n parent: null,\n characterList: List(),\n data: Map(),\n depth: 0,\n key: '',\n text: '',\n type: 'unstyled',\n children: List(),\n prevSibling: null,\n nextSibling: null\n};\n\nvar haveEqualStyle = function haveEqualStyle(charA, charB) {\n return charA.getStyle() === charB.getStyle();\n};\n\nvar haveEqualEntity = function haveEqualEntity(charA, charB) {\n return charA.getEntity() === charB.getEntity();\n};\n\nvar decorateCharacterList = function decorateCharacterList(config) {\n if (!config) {\n return config;\n }\n\n var characterList = config.characterList,\n text = config.text;\n\n\n if (text && !characterList) {\n config.characterList = List(Repeat(CharacterMetadata.EMPTY, text.length));\n }\n\n return config;\n};\n\nvar ContentBlockNode = function (_Record) {\n _inherits(ContentBlockNode, _Record);\n\n function ContentBlockNode() {\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : defaultRecord;\n\n _classCallCheck(this, ContentBlockNode);\n\n return _possibleConstructorReturn(this, _Record.call(this, decorateCharacterList(props)));\n }\n\n ContentBlockNode.prototype.getKey = function getKey() {\n return this.get('key');\n };\n\n ContentBlockNode.prototype.getType = function getType() {\n return this.get('type');\n };\n\n ContentBlockNode.prototype.getText = function getText() {\n return this.get('text');\n };\n\n ContentBlockNode.prototype.getCharacterList = function getCharacterList() {\n return this.get('characterList');\n };\n\n ContentBlockNode.prototype.getLength = function getLength() {\n return this.getText().length;\n };\n\n ContentBlockNode.prototype.getDepth = function getDepth() {\n return this.get('depth');\n };\n\n ContentBlockNode.prototype.getData = function getData() {\n return this.get('data');\n };\n\n ContentBlockNode.prototype.getInlineStyleAt = function getInlineStyleAt(offset) {\n var character = this.getCharacterList().get(offset);\n return character ? character.getStyle() : EMPTY_SET;\n };\n\n ContentBlockNode.prototype.getEntityAt = function getEntityAt(offset) {\n var character = this.getCharacterList().get(offset);\n return character ? character.getEntity() : null;\n };\n\n ContentBlockNode.prototype.getChildKeys = function getChildKeys() {\n return this.get('children');\n };\n\n ContentBlockNode.prototype.getParentKey = function getParentKey() {\n return this.get('parent');\n };\n\n ContentBlockNode.prototype.getPrevSiblingKey = function getPrevSiblingKey() {\n return this.get('prevSibling');\n };\n\n ContentBlockNode.prototype.getNextSiblingKey = function getNextSiblingKey() {\n return this.get('nextSibling');\n };\n\n ContentBlockNode.prototype.findStyleRanges = function findStyleRanges(filterFn, callback) {\n findRangesImmutable(this.getCharacterList(), haveEqualStyle, filterFn, callback);\n };\n\n ContentBlockNode.prototype.findEntityRanges = function findEntityRanges(filterFn, callback) {\n findRangesImmutable(this.getCharacterList(), haveEqualEntity, filterFn, callback);\n };\n\n return ContentBlockNode;\n}(Record(defaultRecord));\n\nmodule.exports = ContentBlockNode;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0NvbnRlbnRCbG9ja05vZGUuanM/MjRiZSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWE7O0FBRWIsaURBQWlELDBDQUEwQywwREFBMEQsRUFBRTs7QUFFdkosaURBQWlELGFBQWEsdUZBQXVGLEVBQUUsdUZBQXVGOztBQUU5TywwQ0FBMEMsK0RBQStELHFHQUFxRyxFQUFFLHlFQUF5RSxlQUFlLHlFQUF5RSxFQUFFLEVBQUUsdUhBQXVIOztBQUU1ZSx3QkFBd0IsbUJBQU8sQ0FBQyw2RUFBcUI7QUFDckQsZ0JBQWdCLG1CQUFPLENBQUMsbUZBQVc7O0FBRW5DLDBCQUEwQixtQkFBTyxDQUFDLGlGQUF1Qjs7QUFFekQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7O0FBR0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsQ0FBQzs7QUFFRCIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvQ29udGVudEJsb2NrTm9kZS5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXG4gKiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEJTRC1zdHlsZSBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLiBBbiBhZGRpdGlvbmFsIGdyYW50XG4gKiBvZiBwYXRlbnQgcmlnaHRzIGNhbiBiZSBmb3VuZCBpbiB0aGUgUEFURU5UUyBmaWxlIGluIHRoZSBzYW1lIGRpcmVjdG9yeS5cbiAqXG4gKiBAcHJvdmlkZXNNb2R1bGUgQ29udGVudEJsb2NrTm9kZVxuICogQGZvcm1hdFxuICogXG4gKlxuICogVGhpcyBmaWxlIGlzIGEgZm9yayBvZiBDb250ZW50QmxvY2sgYWRkaW5nIHN1cHBvcnQgZm9yIG5lc3RpbmcgcmVmZXJlbmNlcyBieVxuICogcHJvdmlkaW5nIGxpbmtzIHRvIGNoaWxkcmVuLCBwYXJlbnQsIHByZXZTaWJsaW5nLCBhbmQgbmV4dFNpYmxpbmcuXG4gKlxuICogVGhpcyBpcyB1bnN0YWJsZSBhbmQgbm90IHBhcnQgb2YgdGhlIHB1YmxpYyBBUEkgYW5kIHNob3VsZCBub3QgYmUgdXNlZCBieVxuICogcHJvZHVjdGlvbiBzeXN0ZW1zLiBUaGlzIGZpbGUgbWF5IGJlIHVwZGF0ZS9yZW1vdmVkIHdpdGhvdXQgbm90aWNlLlxuICovXG5cbid1c2Ugc3RyaWN0JztcblxuZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGluc3RhbmNlLCBDb25zdHJ1Y3RvcikgeyBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpOyB9IH1cblxuZnVuY3Rpb24gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4oc2VsZiwgY2FsbCkgeyBpZiAoIXNlbGYpIHsgdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKFwidGhpcyBoYXNuJ3QgYmVlbiBpbml0aWFsaXNlZCAtIHN1cGVyKCkgaGFzbid0IGJlZW4gY2FsbGVkXCIpOyB9IHJldHVybiBjYWxsICYmICh0eXBlb2YgY2FsbCA9PT0gXCJvYmplY3RcIiB8fCB0eXBlb2YgY2FsbCA9PT0gXCJmdW5jdGlvblwiKSA/IGNhbGwgOiBzZWxmOyB9XG5cbmZ1bmN0aW9uIF9pbmhlcml0cyhzdWJDbGFzcywgc3VwZXJDbGFzcykgeyBpZiAodHlwZW9mIHN1cGVyQ2xhc3MgIT09IFwiZnVuY3Rpb25cIiAmJiBzdXBlckNsYXNzICE9PSBudWxsKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJTdXBlciBleHByZXNzaW9uIG11c3QgZWl0aGVyIGJlIG51bGwgb3IgYSBmdW5jdGlvbiwgbm90IFwiICsgdHlwZW9mIHN1cGVyQ2xhc3MpOyB9IHN1YkNsYXNzLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoc3VwZXJDbGFzcyAmJiBzdXBlckNsYXNzLnByb3RvdHlwZSwgeyBjb25zdHJ1Y3RvcjogeyB2YWx1ZTogc3ViQ2xhc3MsIGVudW1lcmFibGU6IGZhbHNlLCB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlIH0gfSk7IGlmIChzdXBlckNsYXNzKSBPYmplY3Quc2V0UHJvdG90eXBlT2YgPyBPYmplY3Quc2V0UHJvdG90eXBlT2Yoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpIDogc3ViQ2xhc3MuX19wcm90b19fID0gc3VwZXJDbGFzczsgfVxuXG52YXIgQ2hhcmFjdGVyTWV0YWRhdGEgPSByZXF1aXJlKCcuL0NoYXJhY3Rlck1ldGFkYXRhJyk7XG52YXIgSW1tdXRhYmxlID0gcmVxdWlyZSgnaW1tdXRhYmxlJyk7XG5cbnZhciBmaW5kUmFuZ2VzSW1tdXRhYmxlID0gcmVxdWlyZSgnLi9maW5kUmFuZ2VzSW1tdXRhYmxlJyk7XG5cbnZhciBMaXN0ID0gSW1tdXRhYmxlLkxpc3QsXG4gICAgTWFwID0gSW1tdXRhYmxlLk1hcCxcbiAgICBPcmRlcmVkU2V0ID0gSW1tdXRhYmxlLk9yZGVyZWRTZXQsXG4gICAgUmVjb3JkID0gSW1tdXRhYmxlLlJlY29yZCxcbiAgICBSZXBlYXQgPSBJbW11dGFibGUuUmVwZWF0O1xuXG5cbnZhciBFTVBUWV9TRVQgPSBPcmRlcmVkU2V0KCk7XG5cbnZhciBkZWZhdWx0UmVjb3JkID0ge1xuICBwYXJlbnQ6IG51bGwsXG4gIGNoYXJhY3Rlckxpc3Q6IExpc3QoKSxcbiAgZGF0YTogTWFwKCksXG4gIGRlcHRoOiAwLFxuICBrZXk6ICcnLFxuICB0ZXh0OiAnJyxcbiAgdHlwZTogJ3Vuc3R5bGVkJyxcbiAgY2hpbGRyZW46IExpc3QoKSxcbiAgcHJldlNpYmxpbmc6IG51bGwsXG4gIG5leHRTaWJsaW5nOiBudWxsXG59O1xuXG52YXIgaGF2ZUVxdWFsU3R5bGUgPSBmdW5jdGlvbiBoYXZlRXF1YWxTdHlsZShjaGFyQSwgY2hhckIpIHtcbiAgcmV0dXJuIGNoYXJBLmdldFN0eWxlKCkgPT09IGNoYXJCLmdldFN0eWxlKCk7XG59O1xuXG52YXIgaGF2ZUVxdWFsRW50aXR5ID0gZnVuY3Rpb24gaGF2ZUVxdWFsRW50aXR5KGNoYXJBLCBjaGFyQikge1xuICByZXR1cm4gY2hhckEuZ2V0RW50aXR5KCkgPT09IGNoYXJCLmdldEVudGl0eSgpO1xufTtcblxudmFyIGRlY29yYXRlQ2hhcmFjdGVyTGlzdCA9IGZ1bmN0aW9uIGRlY29yYXRlQ2hhcmFjdGVyTGlzdChjb25maWcpIHtcbiAgaWYgKCFjb25maWcpIHtcbiAgICByZXR1cm4gY29uZmlnO1xuICB9XG5cbiAgdmFyIGNoYXJhY3Rlckxpc3QgPSBjb25maWcuY2hhcmFjdGVyTGlzdCxcbiAgICAgIHRleHQgPSBjb25maWcudGV4dDtcblxuXG4gIGlmICh0ZXh0ICYmICFjaGFyYWN0ZXJMaXN0KSB7XG4gICAgY29uZmlnLmNoYXJhY3Rlckxpc3QgPSBMaXN0KFJlcGVhdChDaGFyYWN0ZXJNZXRhZGF0YS5FTVBUWSwgdGV4dC5sZW5ndGgpKTtcbiAgfVxuXG4gIHJldHVybiBjb25maWc7XG59O1xuXG52YXIgQ29udGVudEJsb2NrTm9kZSA9IGZ1bmN0aW9uIChfUmVjb3JkKSB7XG4gIF9pbmhlcml0cyhDb250ZW50QmxvY2tOb2RlLCBfUmVjb3JkKTtcblxuICBmdW5jdGlvbiBDb250ZW50QmxvY2tOb2RlKCkge1xuICAgIHZhciBwcm9wcyA9IGFyZ3VtZW50cy5sZW5ndGggPiAwICYmIGFyZ3VtZW50c1swXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzBdIDogZGVmYXVsdFJlY29yZDtcblxuICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBDb250ZW50QmxvY2tOb2RlKTtcblxuICAgIHJldHVybiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybih0aGlzLCBfUmVjb3JkLmNhbGwodGhpcywgZGVjb3JhdGVDaGFyYWN0ZXJMaXN0KHByb3BzKSkpO1xuICB9XG5cbiAgQ29udGVudEJsb2NrTm9kZS5wcm90b3R5cGUuZ2V0S2V5ID0gZnVuY3Rpb24gZ2V0S2V5KCkge1xuICAgIHJldHVybiB0aGlzLmdldCgna2V5Jyk7XG4gIH07XG5cbiAgQ29udGVudEJsb2NrTm9kZS5wcm90b3R5cGUuZ2V0VHlwZSA9IGZ1bmN0aW9uIGdldFR5cGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KCd0eXBlJyk7XG4gIH07XG5cbiAgQ29udGVudEJsb2NrTm9kZS5wcm90b3R5cGUuZ2V0VGV4dCA9IGZ1bmN0aW9uIGdldFRleHQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KCd0ZXh0Jyk7XG4gIH07XG5cbiAgQ29udGVudEJsb2NrTm9kZS5wcm90b3R5cGUuZ2V0Q2hhcmFjdGVyTGlzdCA9IGZ1bmN0aW9uIGdldENoYXJhY3Rlckxpc3QoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KCdjaGFyYWN0ZXJMaXN0Jyk7XG4gIH07XG5cbiAgQ29udGVudEJsb2NrTm9kZS5wcm90b3R5cGUuZ2V0TGVuZ3RoID0gZnVuY3Rpb24gZ2V0TGVuZ3RoKCkge1xuICAgIHJldHVybiB0aGlzLmdldFRleHQoKS5sZW5ndGg7XG4gIH07XG5cbiAgQ29udGVudEJsb2NrTm9kZS5wcm90b3R5cGUuZ2V0RGVwdGggPSBmdW5jdGlvbiBnZXREZXB0aCgpIHtcbiAgICByZXR1cm4gdGhpcy5nZXQoJ2RlcHRoJyk7XG4gIH07XG5cbiAgQ29udGVudEJsb2NrTm9kZS5wcm90b3R5cGUuZ2V0RGF0YSA9IGZ1bmN0aW9uIGdldERhdGEoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KCdkYXRhJyk7XG4gIH07XG5cbiAgQ29udGVudEJsb2NrTm9kZS5wcm90b3R5cGUuZ2V0SW5saW5lU3R5bGVBdCA9IGZ1bmN0aW9uIGdldElubGluZVN0eWxlQXQob2Zmc2V0KSB7XG4gICAgdmFyIGNoYXJhY3RlciA9IHRoaXMuZ2V0Q2hhcmFjdGVyTGlzdCgpLmdldChvZmZzZXQpO1xuICAgIHJldHVybiBjaGFyYWN0ZXIgPyBjaGFyYWN0ZXIuZ2V0U3R5bGUoKSA6IEVNUFRZX1NFVDtcbiAgfTtcblxuICBDb250ZW50QmxvY2tOb2RlLnByb3RvdHlwZS5nZXRFbnRpdHlBdCA9IGZ1bmN0aW9uIGdldEVudGl0eUF0KG9mZnNldCkge1xuICAgIHZhciBjaGFyYWN0ZXIgPSB0aGlzLmdldENoYXJhY3Rlckxpc3QoKS5nZXQob2Zmc2V0KTtcbiAgICByZXR1cm4gY2hhcmFjdGVyID8gY2hhcmFjdGVyLmdldEVudGl0eSgpIDogbnVsbDtcbiAgfTtcblxuICBDb250ZW50QmxvY2tOb2RlLnByb3RvdHlwZS5nZXRDaGlsZEtleXMgPSBmdW5jdGlvbiBnZXRDaGlsZEtleXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KCdjaGlsZHJlbicpO1xuICB9O1xuXG4gIENvbnRlbnRCbG9ja05vZGUucHJvdG90eXBlLmdldFBhcmVudEtleSA9IGZ1bmN0aW9uIGdldFBhcmVudEtleSgpIHtcbiAgICByZXR1cm4gdGhpcy5nZXQoJ3BhcmVudCcpO1xuICB9O1xuXG4gIENvbnRlbnRCbG9ja05vZGUucHJvdG90eXBlLmdldFByZXZTaWJsaW5nS2V5ID0gZnVuY3Rpb24gZ2V0UHJldlNpYmxpbmdLZXkoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KCdwcmV2U2libGluZycpO1xuICB9O1xuXG4gIENvbnRlbnRCbG9ja05vZGUucHJvdG90eXBlLmdldE5leHRTaWJsaW5nS2V5ID0gZnVuY3Rpb24gZ2V0TmV4dFNpYmxpbmdLZXkoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KCduZXh0U2libGluZycpO1xuICB9O1xuXG4gIENvbnRlbnRCbG9ja05vZGUucHJvdG90eXBlLmZpbmRTdHlsZVJhbmdlcyA9IGZ1bmN0aW9uIGZpbmRTdHlsZVJhbmdlcyhmaWx0ZXJGbiwgY2FsbGJhY2spIHtcbiAgICBmaW5kUmFuZ2VzSW1tdXRhYmxlKHRoaXMuZ2V0Q2hhcmFjdGVyTGlzdCgpLCBoYXZlRXF1YWxTdHlsZSwgZmlsdGVyRm4sIGNhbGxiYWNrKTtcbiAgfTtcblxuICBDb250ZW50QmxvY2tOb2RlLnByb3RvdHlwZS5maW5kRW50aXR5UmFuZ2VzID0gZnVuY3Rpb24gZmluZEVudGl0eVJhbmdlcyhmaWx0ZXJGbiwgY2FsbGJhY2spIHtcbiAgICBmaW5kUmFuZ2VzSW1tdXRhYmxlKHRoaXMuZ2V0Q2hhcmFjdGVyTGlzdCgpLCBoYXZlRXF1YWxFbnRpdHksIGZpbHRlckZuLCBjYWxsYmFjayk7XG4gIH07XG5cbiAgcmV0dXJuIENvbnRlbnRCbG9ja05vZGU7XG59KFJlY29yZChkZWZhdWx0UmVjb3JkKSk7XG5cbm1vZHVsZS5leHBvcnRzID0gQ29udGVudEJsb2NrTm9kZTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/ContentBlockNode.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n *\n * This file is a fork of ContentBlock adding support for nesting references by\n * providing links to children, parent, prevSibling, and nextSibling.\n *\n * This is unstable and not part of the public API and should not be used by\n * production systems. This file may be update/removed without notice.\n */\n\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar CharacterMetadata = __webpack_require__(/*! ./CharacterMetadata */ \"./node_modules/draft-js/lib/CharacterMetadata.js\");\n\nvar findRangesImmutable = __webpack_require__(/*! ./findRangesImmutable */ \"./node_modules/draft-js/lib/findRangesImmutable.js\");\n\nvar Immutable = __webpack_require__(/*! immutable */ \"./node_modules/draft-js/node_modules/immutable/dist/immutable.js\");\n\nvar List = Immutable.List,\n Map = Immutable.Map,\n OrderedSet = Immutable.OrderedSet,\n Record = Immutable.Record,\n Repeat = Immutable.Repeat;\nvar EMPTY_SET = OrderedSet();\nvar defaultRecord = {\n parent: null,\n characterList: List(),\n data: Map(),\n depth: 0,\n key: '',\n text: '',\n type: 'unstyled',\n children: List(),\n prevSibling: null,\n nextSibling: null\n};\n\nvar haveEqualStyle = function haveEqualStyle(charA, charB) {\n return charA.getStyle() === charB.getStyle();\n};\n\nvar haveEqualEntity = function haveEqualEntity(charA, charB) {\n return charA.getEntity() === charB.getEntity();\n};\n\nvar decorateCharacterList = function decorateCharacterList(config) {\n if (!config) {\n return config;\n }\n\n var characterList = config.characterList,\n text = config.text;\n\n if (text && !characterList) {\n config.characterList = List(Repeat(CharacterMetadata.EMPTY, text.length));\n }\n\n return config;\n};\n\nvar ContentBlockNode =\n/*#__PURE__*/\nfunction (_ref) {\n _inheritsLoose(ContentBlockNode, _ref);\n\n function ContentBlockNode() {\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : defaultRecord;\n\n /* eslint-disable-next-line constructor-super */\n return _ref.call(this, decorateCharacterList(props)) || this;\n }\n\n var _proto = ContentBlockNode.prototype;\n\n _proto.getKey = function getKey() {\n return this.get('key');\n };\n\n _proto.getType = function getType() {\n return this.get('type');\n };\n\n _proto.getText = function getText() {\n return this.get('text');\n };\n\n _proto.getCharacterList = function getCharacterList() {\n return this.get('characterList');\n };\n\n _proto.getLength = function getLength() {\n return this.getText().length;\n };\n\n _proto.getDepth = function getDepth() {\n return this.get('depth');\n };\n\n _proto.getData = function getData() {\n return this.get('data');\n };\n\n _proto.getInlineStyleAt = function getInlineStyleAt(offset) {\n var character = this.getCharacterList().get(offset);\n return character ? character.getStyle() : EMPTY_SET;\n };\n\n _proto.getEntityAt = function getEntityAt(offset) {\n var character = this.getCharacterList().get(offset);\n return character ? character.getEntity() : null;\n };\n\n _proto.getChildKeys = function getChildKeys() {\n return this.get('children');\n };\n\n _proto.getParentKey = function getParentKey() {\n return this.get('parent');\n };\n\n _proto.getPrevSiblingKey = function getPrevSiblingKey() {\n return this.get('prevSibling');\n };\n\n _proto.getNextSiblingKey = function getNextSiblingKey() {\n return this.get('nextSibling');\n };\n\n _proto.findStyleRanges = function findStyleRanges(filterFn, callback) {\n findRangesImmutable(this.getCharacterList(), haveEqualStyle, filterFn, callback);\n };\n\n _proto.findEntityRanges = function findEntityRanges(filterFn, callback) {\n findRangesImmutable(this.getCharacterList(), haveEqualEntity, filterFn, callback);\n };\n\n return ContentBlockNode;\n}(Record(defaultRecord));\n\nmodule.exports = ContentBlockNode;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0NvbnRlbnRCbG9ja05vZGUuanM/MjRiZSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNhOztBQUViLCtDQUErQywwREFBMEQsMkNBQTJDLGlDQUFpQzs7QUFFckwsd0JBQXdCLG1CQUFPLENBQUMsNkVBQXFCOztBQUVyRCwwQkFBMEIsbUJBQU8sQ0FBQyxpRkFBdUI7O0FBRXpELGdCQUFnQixtQkFBTyxDQUFDLG1GQUFXOztBQUVuQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLENBQUM7O0FBRUQiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0NvbnRlbnRCbG9ja05vZGUuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgRmFjZWJvb2ssIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIEBmb3JtYXRcbiAqIFxuICogQGVtYWlscyBvbmNhbGwrZHJhZnRfanNcbiAqXG4gKiBUaGlzIGZpbGUgaXMgYSBmb3JrIG9mIENvbnRlbnRCbG9jayBhZGRpbmcgc3VwcG9ydCBmb3IgbmVzdGluZyByZWZlcmVuY2VzIGJ5XG4gKiBwcm92aWRpbmcgbGlua3MgdG8gY2hpbGRyZW4sIHBhcmVudCwgcHJldlNpYmxpbmcsIGFuZCBuZXh0U2libGluZy5cbiAqXG4gKiBUaGlzIGlzIHVuc3RhYmxlIGFuZCBub3QgcGFydCBvZiB0aGUgcHVibGljIEFQSSBhbmQgc2hvdWxkIG5vdCBiZSB1c2VkIGJ5XG4gKiBwcm9kdWN0aW9uIHN5c3RlbXMuIFRoaXMgZmlsZSBtYXkgYmUgdXBkYXRlL3JlbW92ZWQgd2l0aG91dCBub3RpY2UuXG4gKi9cbid1c2Ugc3RyaWN0JztcblxuZnVuY3Rpb24gX2luaGVyaXRzTG9vc2Uoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpIHsgc3ViQ2xhc3MucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShzdXBlckNsYXNzLnByb3RvdHlwZSk7IHN1YkNsYXNzLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IHN1YkNsYXNzOyBzdWJDbGFzcy5fX3Byb3RvX18gPSBzdXBlckNsYXNzOyB9XG5cbnZhciBDaGFyYWN0ZXJNZXRhZGF0YSA9IHJlcXVpcmUoXCIuL0NoYXJhY3Rlck1ldGFkYXRhXCIpO1xuXG52YXIgZmluZFJhbmdlc0ltbXV0YWJsZSA9IHJlcXVpcmUoXCIuL2ZpbmRSYW5nZXNJbW11dGFibGVcIik7XG5cbnZhciBJbW11dGFibGUgPSByZXF1aXJlKFwiaW1tdXRhYmxlXCIpO1xuXG52YXIgTGlzdCA9IEltbXV0YWJsZS5MaXN0LFxuICAgIE1hcCA9IEltbXV0YWJsZS5NYXAsXG4gICAgT3JkZXJlZFNldCA9IEltbXV0YWJsZS5PcmRlcmVkU2V0LFxuICAgIFJlY29yZCA9IEltbXV0YWJsZS5SZWNvcmQsXG4gICAgUmVwZWF0ID0gSW1tdXRhYmxlLlJlcGVhdDtcbnZhciBFTVBUWV9TRVQgPSBPcmRlcmVkU2V0KCk7XG52YXIgZGVmYXVsdFJlY29yZCA9IHtcbiAgcGFyZW50OiBudWxsLFxuICBjaGFyYWN0ZXJMaXN0OiBMaXN0KCksXG4gIGRhdGE6IE1hcCgpLFxuICBkZXB0aDogMCxcbiAga2V5OiAnJyxcbiAgdGV4dDogJycsXG4gIHR5cGU6ICd1bnN0eWxlZCcsXG4gIGNoaWxkcmVuOiBMaXN0KCksXG4gIHByZXZTaWJsaW5nOiBudWxsLFxuICBuZXh0U2libGluZzogbnVsbFxufTtcblxudmFyIGhhdmVFcXVhbFN0eWxlID0gZnVuY3Rpb24gaGF2ZUVxdWFsU3R5bGUoY2hhckEsIGNoYXJCKSB7XG4gIHJldHVybiBjaGFyQS5nZXRTdHlsZSgpID09PSBjaGFyQi5nZXRTdHlsZSgpO1xufTtcblxudmFyIGhhdmVFcXVhbEVudGl0eSA9IGZ1bmN0aW9uIGhhdmVFcXVhbEVudGl0eShjaGFyQSwgY2hhckIpIHtcbiAgcmV0dXJuIGNoYXJBLmdldEVudGl0eSgpID09PSBjaGFyQi5nZXRFbnRpdHkoKTtcbn07XG5cbnZhciBkZWNvcmF0ZUNoYXJhY3Rlckxpc3QgPSBmdW5jdGlvbiBkZWNvcmF0ZUNoYXJhY3Rlckxpc3QoY29uZmlnKSB7XG4gIGlmICghY29uZmlnKSB7XG4gICAgcmV0dXJuIGNvbmZpZztcbiAgfVxuXG4gIHZhciBjaGFyYWN0ZXJMaXN0ID0gY29uZmlnLmNoYXJhY3Rlckxpc3QsXG4gICAgICB0ZXh0ID0gY29uZmlnLnRleHQ7XG5cbiAgaWYgKHRleHQgJiYgIWNoYXJhY3Rlckxpc3QpIHtcbiAgICBjb25maWcuY2hhcmFjdGVyTGlzdCA9IExpc3QoUmVwZWF0KENoYXJhY3Rlck1ldGFkYXRhLkVNUFRZLCB0ZXh0Lmxlbmd0aCkpO1xuICB9XG5cbiAgcmV0dXJuIGNvbmZpZztcbn07XG5cbnZhciBDb250ZW50QmxvY2tOb2RlID1cbi8qI19fUFVSRV9fKi9cbmZ1bmN0aW9uIChfcmVmKSB7XG4gIF9pbmhlcml0c0xvb3NlKENvbnRlbnRCbG9ja05vZGUsIF9yZWYpO1xuXG4gIGZ1bmN0aW9uIENvbnRlbnRCbG9ja05vZGUoKSB7XG4gICAgdmFyIHByb3BzID0gYXJndW1lbnRzLmxlbmd0aCA+IDAgJiYgYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMF0gOiBkZWZhdWx0UmVjb3JkO1xuXG4gICAgLyogZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGNvbnN0cnVjdG9yLXN1cGVyICovXG4gICAgcmV0dXJuIF9yZWYuY2FsbCh0aGlzLCBkZWNvcmF0ZUNoYXJhY3Rlckxpc3QocHJvcHMpKSB8fCB0aGlzO1xuICB9XG5cbiAgdmFyIF9wcm90byA9IENvbnRlbnRCbG9ja05vZGUucHJvdG90eXBlO1xuXG4gIF9wcm90by5nZXRLZXkgPSBmdW5jdGlvbiBnZXRLZXkoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KCdrZXknKTtcbiAgfTtcblxuICBfcHJvdG8uZ2V0VHlwZSA9IGZ1bmN0aW9uIGdldFR5cGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KCd0eXBlJyk7XG4gIH07XG5cbiAgX3Byb3RvLmdldFRleHQgPSBmdW5jdGlvbiBnZXRUZXh0KCkge1xuICAgIHJldHVybiB0aGlzLmdldCgndGV4dCcpO1xuICB9O1xuXG4gIF9wcm90by5nZXRDaGFyYWN0ZXJMaXN0ID0gZnVuY3Rpb24gZ2V0Q2hhcmFjdGVyTGlzdCgpIHtcbiAgICByZXR1cm4gdGhpcy5nZXQoJ2NoYXJhY3Rlckxpc3QnKTtcbiAgfTtcblxuICBfcHJvdG8uZ2V0TGVuZ3RoID0gZnVuY3Rpb24gZ2V0TGVuZ3RoKCkge1xuICAgIHJldHVybiB0aGlzLmdldFRleHQoKS5sZW5ndGg7XG4gIH07XG5cbiAgX3Byb3RvLmdldERlcHRoID0gZnVuY3Rpb24gZ2V0RGVwdGgoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KCdkZXB0aCcpO1xuICB9O1xuXG4gIF9wcm90by5nZXREYXRhID0gZnVuY3Rpb24gZ2V0RGF0YSgpIHtcbiAgICByZXR1cm4gdGhpcy5nZXQoJ2RhdGEnKTtcbiAgfTtcblxuICBfcHJvdG8uZ2V0SW5saW5lU3R5bGVBdCA9IGZ1bmN0aW9uIGdldElubGluZVN0eWxlQXQob2Zmc2V0KSB7XG4gICAgdmFyIGNoYXJhY3RlciA9IHRoaXMuZ2V0Q2hhcmFjdGVyTGlzdCgpLmdldChvZmZzZXQpO1xuICAgIHJldHVybiBjaGFyYWN0ZXIgPyBjaGFyYWN0ZXIuZ2V0U3R5bGUoKSA6IEVNUFRZX1NFVDtcbiAgfTtcblxuICBfcHJvdG8uZ2V0RW50aXR5QXQgPSBmdW5jdGlvbiBnZXRFbnRpdHlBdChvZmZzZXQpIHtcbiAgICB2YXIgY2hhcmFjdGVyID0gdGhpcy5nZXRDaGFyYWN0ZXJMaXN0KCkuZ2V0KG9mZnNldCk7XG4gICAgcmV0dXJuIGNoYXJhY3RlciA/IGNoYXJhY3Rlci5nZXRFbnRpdHkoKSA6IG51bGw7XG4gIH07XG5cbiAgX3Byb3RvLmdldENoaWxkS2V5cyA9IGZ1bmN0aW9uIGdldENoaWxkS2V5cygpIHtcbiAgICByZXR1cm4gdGhpcy5nZXQoJ2NoaWxkcmVuJyk7XG4gIH07XG5cbiAgX3Byb3RvLmdldFBhcmVudEtleSA9IGZ1bmN0aW9uIGdldFBhcmVudEtleSgpIHtcbiAgICByZXR1cm4gdGhpcy5nZXQoJ3BhcmVudCcpO1xuICB9O1xuXG4gIF9wcm90by5nZXRQcmV2U2libGluZ0tleSA9IGZ1bmN0aW9uIGdldFByZXZTaWJsaW5nS2V5KCkge1xuICAgIHJldHVybiB0aGlzLmdldCgncHJldlNpYmxpbmcnKTtcbiAgfTtcblxuICBfcHJvdG8uZ2V0TmV4dFNpYmxpbmdLZXkgPSBmdW5jdGlvbiBnZXROZXh0U2libGluZ0tleSgpIHtcbiAgICByZXR1cm4gdGhpcy5nZXQoJ25leHRTaWJsaW5nJyk7XG4gIH07XG5cbiAgX3Byb3RvLmZpbmRTdHlsZVJhbmdlcyA9IGZ1bmN0aW9uIGZpbmRTdHlsZVJhbmdlcyhmaWx0ZXJGbiwgY2FsbGJhY2spIHtcbiAgICBmaW5kUmFuZ2VzSW1tdXRhYmxlKHRoaXMuZ2V0Q2hhcmFjdGVyTGlzdCgpLCBoYXZlRXF1YWxTdHlsZSwgZmlsdGVyRm4sIGNhbGxiYWNrKTtcbiAgfTtcblxuICBfcHJvdG8uZmluZEVudGl0eVJhbmdlcyA9IGZ1bmN0aW9uIGZpbmRFbnRpdHlSYW5nZXMoZmlsdGVyRm4sIGNhbGxiYWNrKSB7XG4gICAgZmluZFJhbmdlc0ltbXV0YWJsZSh0aGlzLmdldENoYXJhY3Rlckxpc3QoKSwgaGF2ZUVxdWFsRW50aXR5LCBmaWx0ZXJGbiwgY2FsbGJhY2spO1xuICB9O1xuXG4gIHJldHVybiBDb250ZW50QmxvY2tOb2RlO1xufShSZWNvcmQoZGVmYXVsdFJlY29yZCkpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IENvbnRlbnRCbG9ja05vZGU7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/ContentBlockNode.js\n"); /***/ }), @@ -103,7 +114,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ContentState\n * @format\n * \n */\n\n\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar BlockMapBuilder = __webpack_require__(/*! ./BlockMapBuilder */ \"./node_modules/draft-js/lib/BlockMapBuilder.js\");\nvar CharacterMetadata = __webpack_require__(/*! ./CharacterMetadata */ \"./node_modules/draft-js/lib/CharacterMetadata.js\");\nvar ContentBlock = __webpack_require__(/*! ./ContentBlock */ \"./node_modules/draft-js/lib/ContentBlock.js\");\nvar ContentBlockNode = __webpack_require__(/*! ./ContentBlockNode */ \"./node_modules/draft-js/lib/ContentBlockNode.js\");\nvar DraftEntity = __webpack_require__(/*! ./DraftEntity */ \"./node_modules/draft-js/lib/DraftEntity.js\");\nvar DraftFeatureFlags = __webpack_require__(/*! ./DraftFeatureFlags */ \"./node_modules/draft-js/lib/DraftFeatureFlags.js\");\nvar Immutable = __webpack_require__(/*! immutable */ \"./node_modules/draft-js/node_modules/immutable/dist/immutable.js\");\nvar SelectionState = __webpack_require__(/*! ./SelectionState */ \"./node_modules/draft-js/lib/SelectionState.js\");\n\nvar generateRandomKey = __webpack_require__(/*! ./generateRandomKey */ \"./node_modules/draft-js/lib/generateRandomKey.js\");\nvar sanitizeDraftText = __webpack_require__(/*! ./sanitizeDraftText */ \"./node_modules/draft-js/lib/sanitizeDraftText.js\");\n\nvar List = Immutable.List,\n Record = Immutable.Record,\n Repeat = Immutable.Repeat;\n\n\nvar experimentalTreeDataSupport = DraftFeatureFlags.draft_tree_data_support;\n\nvar defaultRecord = {\n entityMap: null,\n blockMap: null,\n selectionBefore: null,\n selectionAfter: null\n};\n\nvar ContentBlockNodeRecord = experimentalTreeDataSupport ? ContentBlockNode : ContentBlock;\n\nvar ContentStateRecord = Record(defaultRecord);\n\nvar ContentState = function (_ContentStateRecord) {\n _inherits(ContentState, _ContentStateRecord);\n\n function ContentState() {\n _classCallCheck(this, ContentState);\n\n return _possibleConstructorReturn(this, _ContentStateRecord.apply(this, arguments));\n }\n\n ContentState.prototype.getEntityMap = function getEntityMap() {\n // TODO: update this when we fully remove DraftEntity\n return DraftEntity;\n };\n\n ContentState.prototype.getBlockMap = function getBlockMap() {\n return this.get('blockMap');\n };\n\n ContentState.prototype.getSelectionBefore = function getSelectionBefore() {\n return this.get('selectionBefore');\n };\n\n ContentState.prototype.getSelectionAfter = function getSelectionAfter() {\n return this.get('selectionAfter');\n };\n\n ContentState.prototype.getBlockForKey = function getBlockForKey(key) {\n var block = this.getBlockMap().get(key);\n return block;\n };\n\n ContentState.prototype.getKeyBefore = function getKeyBefore(key) {\n return this.getBlockMap().reverse().keySeq().skipUntil(function (v) {\n return v === key;\n }).skip(1).first();\n };\n\n ContentState.prototype.getKeyAfter = function getKeyAfter(key) {\n return this.getBlockMap().keySeq().skipUntil(function (v) {\n return v === key;\n }).skip(1).first();\n };\n\n ContentState.prototype.getBlockAfter = function getBlockAfter(key) {\n return this.getBlockMap().skipUntil(function (_, k) {\n return k === key;\n }).skip(1).first();\n };\n\n ContentState.prototype.getBlockBefore = function getBlockBefore(key) {\n return this.getBlockMap().reverse().skipUntil(function (_, k) {\n return k === key;\n }).skip(1).first();\n };\n\n ContentState.prototype.getBlocksAsArray = function getBlocksAsArray() {\n return this.getBlockMap().toArray();\n };\n\n ContentState.prototype.getFirstBlock = function getFirstBlock() {\n return this.getBlockMap().first();\n };\n\n ContentState.prototype.getLastBlock = function getLastBlock() {\n return this.getBlockMap().last();\n };\n\n ContentState.prototype.getPlainText = function getPlainText(delimiter) {\n return this.getBlockMap().map(function (block) {\n return block ? block.getText() : '';\n }).join(delimiter || '\\n');\n };\n\n ContentState.prototype.getLastCreatedEntityKey = function getLastCreatedEntityKey() {\n // TODO: update this when we fully remove DraftEntity\n return DraftEntity.__getLastCreatedEntityKey();\n };\n\n ContentState.prototype.hasText = function hasText() {\n var blockMap = this.getBlockMap();\n return blockMap.size > 1 || blockMap.first().getLength() > 0;\n };\n\n ContentState.prototype.createEntity = function createEntity(type, mutability, data) {\n // TODO: update this when we fully remove DraftEntity\n DraftEntity.__create(type, mutability, data);\n return this;\n };\n\n ContentState.prototype.mergeEntityData = function mergeEntityData(key, toMerge) {\n // TODO: update this when we fully remove DraftEntity\n DraftEntity.__mergeData(key, toMerge);\n return this;\n };\n\n ContentState.prototype.replaceEntityData = function replaceEntityData(key, newData) {\n // TODO: update this when we fully remove DraftEntity\n DraftEntity.__replaceData(key, newData);\n return this;\n };\n\n ContentState.prototype.addEntity = function addEntity(instance) {\n // TODO: update this when we fully remove DraftEntity\n DraftEntity.__add(instance);\n return this;\n };\n\n ContentState.prototype.getEntity = function getEntity(key) {\n // TODO: update this when we fully remove DraftEntity\n return DraftEntity.__get(key);\n };\n\n ContentState.createFromBlockArray = function createFromBlockArray(\n // TODO: update flow type when we completely deprecate the old entity API\n blocks, entityMap) {\n // TODO: remove this when we completely deprecate the old entity API\n var theBlocks = Array.isArray(blocks) ? blocks : blocks.contentBlocks;\n var blockMap = BlockMapBuilder.createFromArray(theBlocks);\n var selectionState = blockMap.isEmpty() ? new SelectionState() : SelectionState.createEmpty(blockMap.first().getKey());\n return new ContentState({\n blockMap: blockMap,\n entityMap: entityMap || DraftEntity,\n selectionBefore: selectionState,\n selectionAfter: selectionState\n });\n };\n\n ContentState.createFromText = function createFromText(text) {\n var delimiter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : /\\r\\n?|\\n/g;\n\n var strings = text.split(delimiter);\n var blocks = strings.map(function (block) {\n block = sanitizeDraftText(block);\n return new ContentBlockNodeRecord({\n key: generateRandomKey(),\n text: block,\n type: 'unstyled',\n characterList: List(Repeat(CharacterMetadata.EMPTY, block.length))\n });\n });\n return ContentState.createFromBlockArray(blocks);\n };\n\n return ContentState;\n}(ContentStateRecord);\n\nmodule.exports = ContentState;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0NvbnRlbnRTdGF0ZS5qcz8yZTk0Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFYTs7QUFFYixpREFBaUQsMENBQTBDLDBEQUEwRCxFQUFFOztBQUV2SixpREFBaUQsYUFBYSx1RkFBdUYsRUFBRSx1RkFBdUY7O0FBRTlPLDBDQUEwQywrREFBK0QscUdBQXFHLEVBQUUseUVBQXlFLGVBQWUseUVBQXlFLEVBQUUsRUFBRSx1SEFBdUg7O0FBRTVlLHNCQUFzQixtQkFBTyxDQUFDLHlFQUFtQjtBQUNqRCx3QkFBd0IsbUJBQU8sQ0FBQyw2RUFBcUI7QUFDckQsbUJBQW1CLG1CQUFPLENBQUMsbUVBQWdCO0FBQzNDLHVCQUF1QixtQkFBTyxDQUFDLDJFQUFvQjtBQUNuRCxrQkFBa0IsbUJBQU8sQ0FBQyxpRUFBZTtBQUN6Qyx3QkFBd0IsbUJBQU8sQ0FBQyw2RUFBcUI7QUFDckQsZ0JBQWdCLG1CQUFPLENBQUMsbUZBQVc7QUFDbkMscUJBQXFCLG1CQUFPLENBQUMsdUVBQWtCOztBQUUvQyx3QkFBd0IsbUJBQU8sQ0FBQyw2RUFBcUI7QUFDckQsd0JBQXdCLG1CQUFPLENBQUMsNkVBQXFCOztBQUVyRDtBQUNBO0FBQ0E7OztBQUdBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUCxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBLENBQUM7O0FBRUQiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0NvbnRlbnRTdGF0ZS5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXG4gKiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEJTRC1zdHlsZSBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLiBBbiBhZGRpdGlvbmFsIGdyYW50XG4gKiBvZiBwYXRlbnQgcmlnaHRzIGNhbiBiZSBmb3VuZCBpbiB0aGUgUEFURU5UUyBmaWxlIGluIHRoZSBzYW1lIGRpcmVjdG9yeS5cbiAqXG4gKiBAcHJvdmlkZXNNb2R1bGUgQ29udGVudFN0YXRlXG4gKiBAZm9ybWF0XG4gKiBcbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbmZ1bmN0aW9uIF9jbGFzc0NhbGxDaGVjayhpbnN0YW5jZSwgQ29uc3RydWN0b3IpIHsgaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBDb25zdHJ1Y3RvcikpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKTsgfSB9XG5cbmZ1bmN0aW9uIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHNlbGYsIGNhbGwpIHsgaWYgKCFzZWxmKSB7IHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcihcInRoaXMgaGFzbid0IGJlZW4gaW5pdGlhbGlzZWQgLSBzdXBlcigpIGhhc24ndCBiZWVuIGNhbGxlZFwiKTsgfSByZXR1cm4gY2FsbCAmJiAodHlwZW9mIGNhbGwgPT09IFwib2JqZWN0XCIgfHwgdHlwZW9mIGNhbGwgPT09IFwiZnVuY3Rpb25cIikgPyBjYWxsIDogc2VsZjsgfVxuXG5mdW5jdGlvbiBfaW5oZXJpdHMoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpIHsgaWYgKHR5cGVvZiBzdXBlckNsYXNzICE9PSBcImZ1bmN0aW9uXCIgJiYgc3VwZXJDbGFzcyAhPT0gbnVsbCkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3VwZXIgZXhwcmVzc2lvbiBtdXN0IGVpdGhlciBiZSBudWxsIG9yIGEgZnVuY3Rpb24sIG5vdCBcIiArIHR5cGVvZiBzdXBlckNsYXNzKTsgfSBzdWJDbGFzcy5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKHN1cGVyQ2xhc3MgJiYgc3VwZXJDbGFzcy5wcm90b3R5cGUsIHsgY29uc3RydWN0b3I6IHsgdmFsdWU6IHN1YkNsYXNzLCBlbnVtZXJhYmxlOiBmYWxzZSwgd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9IH0pOyBpZiAoc3VwZXJDbGFzcykgT2JqZWN0LnNldFByb3RvdHlwZU9mID8gT2JqZWN0LnNldFByb3RvdHlwZU9mKHN1YkNsYXNzLCBzdXBlckNsYXNzKSA6IHN1YkNsYXNzLl9fcHJvdG9fXyA9IHN1cGVyQ2xhc3M7IH1cblxudmFyIEJsb2NrTWFwQnVpbGRlciA9IHJlcXVpcmUoJy4vQmxvY2tNYXBCdWlsZGVyJyk7XG52YXIgQ2hhcmFjdGVyTWV0YWRhdGEgPSByZXF1aXJlKCcuL0NoYXJhY3Rlck1ldGFkYXRhJyk7XG52YXIgQ29udGVudEJsb2NrID0gcmVxdWlyZSgnLi9Db250ZW50QmxvY2snKTtcbnZhciBDb250ZW50QmxvY2tOb2RlID0gcmVxdWlyZSgnLi9Db250ZW50QmxvY2tOb2RlJyk7XG52YXIgRHJhZnRFbnRpdHkgPSByZXF1aXJlKCcuL0RyYWZ0RW50aXR5Jyk7XG52YXIgRHJhZnRGZWF0dXJlRmxhZ3MgPSByZXF1aXJlKCcuL0RyYWZ0RmVhdHVyZUZsYWdzJyk7XG52YXIgSW1tdXRhYmxlID0gcmVxdWlyZSgnaW1tdXRhYmxlJyk7XG52YXIgU2VsZWN0aW9uU3RhdGUgPSByZXF1aXJlKCcuL1NlbGVjdGlvblN0YXRlJyk7XG5cbnZhciBnZW5lcmF0ZVJhbmRvbUtleSA9IHJlcXVpcmUoJy4vZ2VuZXJhdGVSYW5kb21LZXknKTtcbnZhciBzYW5pdGl6ZURyYWZ0VGV4dCA9IHJlcXVpcmUoJy4vc2FuaXRpemVEcmFmdFRleHQnKTtcblxudmFyIExpc3QgPSBJbW11dGFibGUuTGlzdCxcbiAgICBSZWNvcmQgPSBJbW11dGFibGUuUmVjb3JkLFxuICAgIFJlcGVhdCA9IEltbXV0YWJsZS5SZXBlYXQ7XG5cblxudmFyIGV4cGVyaW1lbnRhbFRyZWVEYXRhU3VwcG9ydCA9IERyYWZ0RmVhdHVyZUZsYWdzLmRyYWZ0X3RyZWVfZGF0YV9zdXBwb3J0O1xuXG52YXIgZGVmYXVsdFJlY29yZCA9IHtcbiAgZW50aXR5TWFwOiBudWxsLFxuICBibG9ja01hcDogbnVsbCxcbiAgc2VsZWN0aW9uQmVmb3JlOiBudWxsLFxuICBzZWxlY3Rpb25BZnRlcjogbnVsbFxufTtcblxudmFyIENvbnRlbnRCbG9ja05vZGVSZWNvcmQgPSBleHBlcmltZW50YWxUcmVlRGF0YVN1cHBvcnQgPyBDb250ZW50QmxvY2tOb2RlIDogQ29udGVudEJsb2NrO1xuXG52YXIgQ29udGVudFN0YXRlUmVjb3JkID0gUmVjb3JkKGRlZmF1bHRSZWNvcmQpO1xuXG52YXIgQ29udGVudFN0YXRlID0gZnVuY3Rpb24gKF9Db250ZW50U3RhdGVSZWNvcmQpIHtcbiAgX2luaGVyaXRzKENvbnRlbnRTdGF0ZSwgX0NvbnRlbnRTdGF0ZVJlY29yZCk7XG5cbiAgZnVuY3Rpb24gQ29udGVudFN0YXRlKCkge1xuICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBDb250ZW50U3RhdGUpO1xuXG4gICAgcmV0dXJuIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHRoaXMsIF9Db250ZW50U3RhdGVSZWNvcmQuYXBwbHkodGhpcywgYXJndW1lbnRzKSk7XG4gIH1cblxuICBDb250ZW50U3RhdGUucHJvdG90eXBlLmdldEVudGl0eU1hcCA9IGZ1bmN0aW9uIGdldEVudGl0eU1hcCgpIHtcbiAgICAvLyBUT0RPOiB1cGRhdGUgdGhpcyB3aGVuIHdlIGZ1bGx5IHJlbW92ZSBEcmFmdEVudGl0eVxuICAgIHJldHVybiBEcmFmdEVudGl0eTtcbiAgfTtcblxuICBDb250ZW50U3RhdGUucHJvdG90eXBlLmdldEJsb2NrTWFwID0gZnVuY3Rpb24gZ2V0QmxvY2tNYXAoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KCdibG9ja01hcCcpO1xuICB9O1xuXG4gIENvbnRlbnRTdGF0ZS5wcm90b3R5cGUuZ2V0U2VsZWN0aW9uQmVmb3JlID0gZnVuY3Rpb24gZ2V0U2VsZWN0aW9uQmVmb3JlKCkge1xuICAgIHJldHVybiB0aGlzLmdldCgnc2VsZWN0aW9uQmVmb3JlJyk7XG4gIH07XG5cbiAgQ29udGVudFN0YXRlLnByb3RvdHlwZS5nZXRTZWxlY3Rpb25BZnRlciA9IGZ1bmN0aW9uIGdldFNlbGVjdGlvbkFmdGVyKCkge1xuICAgIHJldHVybiB0aGlzLmdldCgnc2VsZWN0aW9uQWZ0ZXInKTtcbiAgfTtcblxuICBDb250ZW50U3RhdGUucHJvdG90eXBlLmdldEJsb2NrRm9yS2V5ID0gZnVuY3Rpb24gZ2V0QmxvY2tGb3JLZXkoa2V5KSB7XG4gICAgdmFyIGJsb2NrID0gdGhpcy5nZXRCbG9ja01hcCgpLmdldChrZXkpO1xuICAgIHJldHVybiBibG9jaztcbiAgfTtcblxuICBDb250ZW50U3RhdGUucHJvdG90eXBlLmdldEtleUJlZm9yZSA9IGZ1bmN0aW9uIGdldEtleUJlZm9yZShrZXkpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRCbG9ja01hcCgpLnJldmVyc2UoKS5rZXlTZXEoKS5za2lwVW50aWwoZnVuY3Rpb24gKHYpIHtcbiAgICAgIHJldHVybiB2ID09PSBrZXk7XG4gICAgfSkuc2tpcCgxKS5maXJzdCgpO1xuICB9O1xuXG4gIENvbnRlbnRTdGF0ZS5wcm90b3R5cGUuZ2V0S2V5QWZ0ZXIgPSBmdW5jdGlvbiBnZXRLZXlBZnRlcihrZXkpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRCbG9ja01hcCgpLmtleVNlcSgpLnNraXBVbnRpbChmdW5jdGlvbiAodikge1xuICAgICAgcmV0dXJuIHYgPT09IGtleTtcbiAgICB9KS5za2lwKDEpLmZpcnN0KCk7XG4gIH07XG5cbiAgQ29udGVudFN0YXRlLnByb3RvdHlwZS5nZXRCbG9ja0FmdGVyID0gZnVuY3Rpb24gZ2V0QmxvY2tBZnRlcihrZXkpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRCbG9ja01hcCgpLnNraXBVbnRpbChmdW5jdGlvbiAoXywgaykge1xuICAgICAgcmV0dXJuIGsgPT09IGtleTtcbiAgICB9KS5za2lwKDEpLmZpcnN0KCk7XG4gIH07XG5cbiAgQ29udGVudFN0YXRlLnByb3RvdHlwZS5nZXRCbG9ja0JlZm9yZSA9IGZ1bmN0aW9uIGdldEJsb2NrQmVmb3JlKGtleSkge1xuICAgIHJldHVybiB0aGlzLmdldEJsb2NrTWFwKCkucmV2ZXJzZSgpLnNraXBVbnRpbChmdW5jdGlvbiAoXywgaykge1xuICAgICAgcmV0dXJuIGsgPT09IGtleTtcbiAgICB9KS5za2lwKDEpLmZpcnN0KCk7XG4gIH07XG5cbiAgQ29udGVudFN0YXRlLnByb3RvdHlwZS5nZXRCbG9ja3NBc0FycmF5ID0gZnVuY3Rpb24gZ2V0QmxvY2tzQXNBcnJheSgpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRCbG9ja01hcCgpLnRvQXJyYXkoKTtcbiAgfTtcblxuICBDb250ZW50U3RhdGUucHJvdG90eXBlLmdldEZpcnN0QmxvY2sgPSBmdW5jdGlvbiBnZXRGaXJzdEJsb2NrKCkge1xuICAgIHJldHVybiB0aGlzLmdldEJsb2NrTWFwKCkuZmlyc3QoKTtcbiAgfTtcblxuICBDb250ZW50U3RhdGUucHJvdG90eXBlLmdldExhc3RCbG9jayA9IGZ1bmN0aW9uIGdldExhc3RCbG9jaygpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRCbG9ja01hcCgpLmxhc3QoKTtcbiAgfTtcblxuICBDb250ZW50U3RhdGUucHJvdG90eXBlLmdldFBsYWluVGV4dCA9IGZ1bmN0aW9uIGdldFBsYWluVGV4dChkZWxpbWl0ZXIpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRCbG9ja01hcCgpLm1hcChmdW5jdGlvbiAoYmxvY2spIHtcbiAgICAgIHJldHVybiBibG9jayA/IGJsb2NrLmdldFRleHQoKSA6ICcnO1xuICAgIH0pLmpvaW4oZGVsaW1pdGVyIHx8ICdcXG4nKTtcbiAgfTtcblxuICBDb250ZW50U3RhdGUucHJvdG90eXBlLmdldExhc3RDcmVhdGVkRW50aXR5S2V5ID0gZnVuY3Rpb24gZ2V0TGFzdENyZWF0ZWRFbnRpdHlLZXkoKSB7XG4gICAgLy8gVE9ETzogdXBkYXRlIHRoaXMgd2hlbiB3ZSBmdWxseSByZW1vdmUgRHJhZnRFbnRpdHlcbiAgICByZXR1cm4gRHJhZnRFbnRpdHkuX19nZXRMYXN0Q3JlYXRlZEVudGl0eUtleSgpO1xuICB9O1xuXG4gIENvbnRlbnRTdGF0ZS5wcm90b3R5cGUuaGFzVGV4dCA9IGZ1bmN0aW9uIGhhc1RleHQoKSB7XG4gICAgdmFyIGJsb2NrTWFwID0gdGhpcy5nZXRCbG9ja01hcCgpO1xuICAgIHJldHVybiBibG9ja01hcC5zaXplID4gMSB8fCBibG9ja01hcC5maXJzdCgpLmdldExlbmd0aCgpID4gMDtcbiAgfTtcblxuICBDb250ZW50U3RhdGUucHJvdG90eXBlLmNyZWF0ZUVudGl0eSA9IGZ1bmN0aW9uIGNyZWF0ZUVudGl0eSh0eXBlLCBtdXRhYmlsaXR5LCBkYXRhKSB7XG4gICAgLy8gVE9ETzogdXBkYXRlIHRoaXMgd2hlbiB3ZSBmdWxseSByZW1vdmUgRHJhZnRFbnRpdHlcbiAgICBEcmFmdEVudGl0eS5fX2NyZWF0ZSh0eXBlLCBtdXRhYmlsaXR5LCBkYXRhKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfTtcblxuICBDb250ZW50U3RhdGUucHJvdG90eXBlLm1lcmdlRW50aXR5RGF0YSA9IGZ1bmN0aW9uIG1lcmdlRW50aXR5RGF0YShrZXksIHRvTWVyZ2UpIHtcbiAgICAvLyBUT0RPOiB1cGRhdGUgdGhpcyB3aGVuIHdlIGZ1bGx5IHJlbW92ZSBEcmFmdEVudGl0eVxuICAgIERyYWZ0RW50aXR5Ll9fbWVyZ2VEYXRhKGtleSwgdG9NZXJnZSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH07XG5cbiAgQ29udGVudFN0YXRlLnByb3RvdHlwZS5yZXBsYWNlRW50aXR5RGF0YSA9IGZ1bmN0aW9uIHJlcGxhY2VFbnRpdHlEYXRhKGtleSwgbmV3RGF0YSkge1xuICAgIC8vIFRPRE86IHVwZGF0ZSB0aGlzIHdoZW4gd2UgZnVsbHkgcmVtb3ZlIERyYWZ0RW50aXR5XG4gICAgRHJhZnRFbnRpdHkuX19yZXBsYWNlRGF0YShrZXksIG5ld0RhdGEpO1xuICAgIHJldHVybiB0aGlzO1xuICB9O1xuXG4gIENvbnRlbnRTdGF0ZS5wcm90b3R5cGUuYWRkRW50aXR5ID0gZnVuY3Rpb24gYWRkRW50aXR5KGluc3RhbmNlKSB7XG4gICAgLy8gVE9ETzogdXBkYXRlIHRoaXMgd2hlbiB3ZSBmdWxseSByZW1vdmUgRHJhZnRFbnRpdHlcbiAgICBEcmFmdEVudGl0eS5fX2FkZChpbnN0YW5jZSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH07XG5cbiAgQ29udGVudFN0YXRlLnByb3RvdHlwZS5nZXRFbnRpdHkgPSBmdW5jdGlvbiBnZXRFbnRpdHkoa2V5KSB7XG4gICAgLy8gVE9ETzogdXBkYXRlIHRoaXMgd2hlbiB3ZSBmdWxseSByZW1vdmUgRHJhZnRFbnRpdHlcbiAgICByZXR1cm4gRHJhZnRFbnRpdHkuX19nZXQoa2V5KTtcbiAgfTtcblxuICBDb250ZW50U3RhdGUuY3JlYXRlRnJvbUJsb2NrQXJyYXkgPSBmdW5jdGlvbiBjcmVhdGVGcm9tQmxvY2tBcnJheShcbiAgLy8gVE9ETzogdXBkYXRlIGZsb3cgdHlwZSB3aGVuIHdlIGNvbXBsZXRlbHkgZGVwcmVjYXRlIHRoZSBvbGQgZW50aXR5IEFQSVxuICBibG9ja3MsIGVudGl0eU1hcCkge1xuICAgIC8vIFRPRE86IHJlbW92ZSB0aGlzIHdoZW4gd2UgY29tcGxldGVseSBkZXByZWNhdGUgdGhlIG9sZCBlbnRpdHkgQVBJXG4gICAgdmFyIHRoZUJsb2NrcyA9IEFycmF5LmlzQXJyYXkoYmxvY2tzKSA/IGJsb2NrcyA6IGJsb2Nrcy5jb250ZW50QmxvY2tzO1xuICAgIHZhciBibG9ja01hcCA9IEJsb2NrTWFwQnVpbGRlci5jcmVhdGVGcm9tQXJyYXkodGhlQmxvY2tzKTtcbiAgICB2YXIgc2VsZWN0aW9uU3RhdGUgPSBibG9ja01hcC5pc0VtcHR5KCkgPyBuZXcgU2VsZWN0aW9uU3RhdGUoKSA6IFNlbGVjdGlvblN0YXRlLmNyZWF0ZUVtcHR5KGJsb2NrTWFwLmZpcnN0KCkuZ2V0S2V5KCkpO1xuICAgIHJldHVybiBuZXcgQ29udGVudFN0YXRlKHtcbiAgICAgIGJsb2NrTWFwOiBibG9ja01hcCxcbiAgICAgIGVudGl0eU1hcDogZW50aXR5TWFwIHx8IERyYWZ0RW50aXR5LFxuICAgICAgc2VsZWN0aW9uQmVmb3JlOiBzZWxlY3Rpb25TdGF0ZSxcbiAgICAgIHNlbGVjdGlvbkFmdGVyOiBzZWxlY3Rpb25TdGF0ZVxuICAgIH0pO1xuICB9O1xuXG4gIENvbnRlbnRTdGF0ZS5jcmVhdGVGcm9tVGV4dCA9IGZ1bmN0aW9uIGNyZWF0ZUZyb21UZXh0KHRleHQpIHtcbiAgICB2YXIgZGVsaW1pdGVyID0gYXJndW1lbnRzLmxlbmd0aCA+IDEgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMV0gOiAvXFxyXFxuP3xcXG4vZztcblxuICAgIHZhciBzdHJpbmdzID0gdGV4dC5zcGxpdChkZWxpbWl0ZXIpO1xuICAgIHZhciBibG9ja3MgPSBzdHJpbmdzLm1hcChmdW5jdGlvbiAoYmxvY2spIHtcbiAgICAgIGJsb2NrID0gc2FuaXRpemVEcmFmdFRleHQoYmxvY2spO1xuICAgICAgcmV0dXJuIG5ldyBDb250ZW50QmxvY2tOb2RlUmVjb3JkKHtcbiAgICAgICAga2V5OiBnZW5lcmF0ZVJhbmRvbUtleSgpLFxuICAgICAgICB0ZXh0OiBibG9jayxcbiAgICAgICAgdHlwZTogJ3Vuc3R5bGVkJyxcbiAgICAgICAgY2hhcmFjdGVyTGlzdDogTGlzdChSZXBlYXQoQ2hhcmFjdGVyTWV0YWRhdGEuRU1QVFksIGJsb2NrLmxlbmd0aCkpXG4gICAgICB9KTtcbiAgICB9KTtcbiAgICByZXR1cm4gQ29udGVudFN0YXRlLmNyZWF0ZUZyb21CbG9ja0FycmF5KGJsb2Nrcyk7XG4gIH07XG5cbiAgcmV0dXJuIENvbnRlbnRTdGF0ZTtcbn0oQ29udGVudFN0YXRlUmVjb3JkKTtcblxubW9kdWxlLmV4cG9ydHMgPSBDb250ZW50U3RhdGU7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/ContentState.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar BlockMapBuilder = __webpack_require__(/*! ./BlockMapBuilder */ \"./node_modules/draft-js/lib/BlockMapBuilder.js\");\n\nvar CharacterMetadata = __webpack_require__(/*! ./CharacterMetadata */ \"./node_modules/draft-js/lib/CharacterMetadata.js\");\n\nvar ContentBlock = __webpack_require__(/*! ./ContentBlock */ \"./node_modules/draft-js/lib/ContentBlock.js\");\n\nvar ContentBlockNode = __webpack_require__(/*! ./ContentBlockNode */ \"./node_modules/draft-js/lib/ContentBlockNode.js\");\n\nvar DraftEntity = __webpack_require__(/*! ./DraftEntity */ \"./node_modules/draft-js/lib/DraftEntity.js\");\n\nvar SelectionState = __webpack_require__(/*! ./SelectionState */ \"./node_modules/draft-js/lib/SelectionState.js\");\n\nvar generateRandomKey = __webpack_require__(/*! ./generateRandomKey */ \"./node_modules/draft-js/lib/generateRandomKey.js\");\n\nvar gkx = __webpack_require__(/*! ./gkx */ \"./node_modules/draft-js/lib/gkx.js\");\n\nvar Immutable = __webpack_require__(/*! immutable */ \"./node_modules/draft-js/node_modules/immutable/dist/immutable.js\");\n\nvar sanitizeDraftText = __webpack_require__(/*! ./sanitizeDraftText */ \"./node_modules/draft-js/lib/sanitizeDraftText.js\");\n\nvar List = Immutable.List,\n Record = Immutable.Record,\n Repeat = Immutable.Repeat;\nvar defaultRecord = {\n entityMap: null,\n blockMap: null,\n selectionBefore: null,\n selectionAfter: null\n};\nvar ContentStateRecord = Record(defaultRecord);\n\nvar ContentState =\n/*#__PURE__*/\nfunction (_ContentStateRecord) {\n _inheritsLoose(ContentState, _ContentStateRecord);\n\n function ContentState() {\n return _ContentStateRecord.apply(this, arguments) || this;\n }\n\n var _proto = ContentState.prototype;\n\n _proto.getEntityMap = function getEntityMap() {\n // TODO: update this when we fully remove DraftEntity\n return DraftEntity;\n };\n\n _proto.getBlockMap = function getBlockMap() {\n return this.get('blockMap');\n };\n\n _proto.getSelectionBefore = function getSelectionBefore() {\n return this.get('selectionBefore');\n };\n\n _proto.getSelectionAfter = function getSelectionAfter() {\n return this.get('selectionAfter');\n };\n\n _proto.getBlockForKey = function getBlockForKey(key) {\n var block = this.getBlockMap().get(key);\n return block;\n };\n\n _proto.getKeyBefore = function getKeyBefore(key) {\n return this.getBlockMap().reverse().keySeq().skipUntil(function (v) {\n return v === key;\n }).skip(1).first();\n };\n\n _proto.getKeyAfter = function getKeyAfter(key) {\n return this.getBlockMap().keySeq().skipUntil(function (v) {\n return v === key;\n }).skip(1).first();\n };\n\n _proto.getBlockAfter = function getBlockAfter(key) {\n return this.getBlockMap().skipUntil(function (_, k) {\n return k === key;\n }).skip(1).first();\n };\n\n _proto.getBlockBefore = function getBlockBefore(key) {\n return this.getBlockMap().reverse().skipUntil(function (_, k) {\n return k === key;\n }).skip(1).first();\n };\n\n _proto.getBlocksAsArray = function getBlocksAsArray() {\n return this.getBlockMap().toArray();\n };\n\n _proto.getFirstBlock = function getFirstBlock() {\n return this.getBlockMap().first();\n };\n\n _proto.getLastBlock = function getLastBlock() {\n return this.getBlockMap().last();\n };\n\n _proto.getPlainText = function getPlainText(delimiter) {\n return this.getBlockMap().map(function (block) {\n return block ? block.getText() : '';\n }).join(delimiter || '\\n');\n };\n\n _proto.getLastCreatedEntityKey = function getLastCreatedEntityKey() {\n // TODO: update this when we fully remove DraftEntity\n return DraftEntity.__getLastCreatedEntityKey();\n };\n\n _proto.hasText = function hasText() {\n var blockMap = this.getBlockMap();\n return blockMap.size > 1 || // make sure that there are no zero width space chars\n escape(blockMap.first().getText()).replace(/%u200B/g, '').length > 0;\n };\n\n _proto.createEntity = function createEntity(type, mutability, data) {\n // TODO: update this when we fully remove DraftEntity\n DraftEntity.__create(type, mutability, data);\n\n return this;\n };\n\n _proto.mergeEntityData = function mergeEntityData(key, toMerge) {\n // TODO: update this when we fully remove DraftEntity\n DraftEntity.__mergeData(key, toMerge);\n\n return this;\n };\n\n _proto.replaceEntityData = function replaceEntityData(key, newData) {\n // TODO: update this when we fully remove DraftEntity\n DraftEntity.__replaceData(key, newData);\n\n return this;\n };\n\n _proto.addEntity = function addEntity(instance) {\n // TODO: update this when we fully remove DraftEntity\n DraftEntity.__add(instance);\n\n return this;\n };\n\n _proto.getEntity = function getEntity(key) {\n // TODO: update this when we fully remove DraftEntity\n return DraftEntity.__get(key);\n };\n\n ContentState.createFromBlockArray = function createFromBlockArray( // TODO: update flow type when we completely deprecate the old entity API\n blocks, entityMap) {\n // TODO: remove this when we completely deprecate the old entity API\n var theBlocks = Array.isArray(blocks) ? blocks : blocks.contentBlocks;\n var blockMap = BlockMapBuilder.createFromArray(theBlocks);\n var selectionState = blockMap.isEmpty() ? new SelectionState() : SelectionState.createEmpty(blockMap.first().getKey());\n return new ContentState({\n blockMap: blockMap,\n entityMap: entityMap || DraftEntity,\n selectionBefore: selectionState,\n selectionAfter: selectionState\n });\n };\n\n ContentState.createFromText = function createFromText(text) {\n var delimiter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : /\\r\\n?|\\n/g;\n var strings = text.split(delimiter);\n var blocks = strings.map(function (block) {\n block = sanitizeDraftText(block);\n var ContentBlockNodeRecord = gkx('draft_tree_data_support') ? ContentBlockNode : ContentBlock;\n return new ContentBlockNodeRecord({\n key: generateRandomKey(),\n text: block,\n type: 'unstyled',\n characterList: List(Repeat(CharacterMetadata.EMPTY, block.length))\n });\n });\n return ContentState.createFromBlockArray(blocks);\n };\n\n return ContentState;\n}(ContentStateRecord);\n\nmodule.exports = ContentState;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0NvbnRlbnRTdGF0ZS5qcz8yZTk0Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ2E7O0FBRWIsK0NBQStDLDBEQUEwRCwyQ0FBMkMsaUNBQWlDOztBQUVyTCxzQkFBc0IsbUJBQU8sQ0FBQyx5RUFBbUI7O0FBRWpELHdCQUF3QixtQkFBTyxDQUFDLDZFQUFxQjs7QUFFckQsbUJBQW1CLG1CQUFPLENBQUMsbUVBQWdCOztBQUUzQyx1QkFBdUIsbUJBQU8sQ0FBQywyRUFBb0I7O0FBRW5ELGtCQUFrQixtQkFBTyxDQUFDLGlFQUFlOztBQUV6QyxxQkFBcUIsbUJBQU8sQ0FBQyx1RUFBa0I7O0FBRS9DLHdCQUF3QixtQkFBTyxDQUFDLDZFQUFxQjs7QUFFckQsVUFBVSxtQkFBTyxDQUFDLGlEQUFPOztBQUV6QixnQkFBZ0IsbUJBQU8sQ0FBQyxtRkFBVzs7QUFFbkMsd0JBQXdCLG1CQUFPLENBQUMsNkVBQXFCOztBQUVyRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUCxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBLENBQUM7O0FBRUQiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0NvbnRlbnRTdGF0ZS5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSBGYWNlYm9vaywgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICogQGZvcm1hdFxuICogXG4gKiBAZW1haWxzIG9uY2FsbCtkcmFmdF9qc1xuICovXG4ndXNlIHN0cmljdCc7XG5cbmZ1bmN0aW9uIF9pbmhlcml0c0xvb3NlKHN1YkNsYXNzLCBzdXBlckNsYXNzKSB7IHN1YkNsYXNzLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoc3VwZXJDbGFzcy5wcm90b3R5cGUpOyBzdWJDbGFzcy5wcm90b3R5cGUuY29uc3RydWN0b3IgPSBzdWJDbGFzczsgc3ViQ2xhc3MuX19wcm90b19fID0gc3VwZXJDbGFzczsgfVxuXG52YXIgQmxvY2tNYXBCdWlsZGVyID0gcmVxdWlyZShcIi4vQmxvY2tNYXBCdWlsZGVyXCIpO1xuXG52YXIgQ2hhcmFjdGVyTWV0YWRhdGEgPSByZXF1aXJlKFwiLi9DaGFyYWN0ZXJNZXRhZGF0YVwiKTtcblxudmFyIENvbnRlbnRCbG9jayA9IHJlcXVpcmUoXCIuL0NvbnRlbnRCbG9ja1wiKTtcblxudmFyIENvbnRlbnRCbG9ja05vZGUgPSByZXF1aXJlKFwiLi9Db250ZW50QmxvY2tOb2RlXCIpO1xuXG52YXIgRHJhZnRFbnRpdHkgPSByZXF1aXJlKFwiLi9EcmFmdEVudGl0eVwiKTtcblxudmFyIFNlbGVjdGlvblN0YXRlID0gcmVxdWlyZShcIi4vU2VsZWN0aW9uU3RhdGVcIik7XG5cbnZhciBnZW5lcmF0ZVJhbmRvbUtleSA9IHJlcXVpcmUoXCIuL2dlbmVyYXRlUmFuZG9tS2V5XCIpO1xuXG52YXIgZ2t4ID0gcmVxdWlyZShcIi4vZ2t4XCIpO1xuXG52YXIgSW1tdXRhYmxlID0gcmVxdWlyZShcImltbXV0YWJsZVwiKTtcblxudmFyIHNhbml0aXplRHJhZnRUZXh0ID0gcmVxdWlyZShcIi4vc2FuaXRpemVEcmFmdFRleHRcIik7XG5cbnZhciBMaXN0ID0gSW1tdXRhYmxlLkxpc3QsXG4gICAgUmVjb3JkID0gSW1tdXRhYmxlLlJlY29yZCxcbiAgICBSZXBlYXQgPSBJbW11dGFibGUuUmVwZWF0O1xudmFyIGRlZmF1bHRSZWNvcmQgPSB7XG4gIGVudGl0eU1hcDogbnVsbCxcbiAgYmxvY2tNYXA6IG51bGwsXG4gIHNlbGVjdGlvbkJlZm9yZTogbnVsbCxcbiAgc2VsZWN0aW9uQWZ0ZXI6IG51bGxcbn07XG52YXIgQ29udGVudFN0YXRlUmVjb3JkID0gUmVjb3JkKGRlZmF1bHRSZWNvcmQpO1xuXG52YXIgQ29udGVudFN0YXRlID1cbi8qI19fUFVSRV9fKi9cbmZ1bmN0aW9uIChfQ29udGVudFN0YXRlUmVjb3JkKSB7XG4gIF9pbmhlcml0c0xvb3NlKENvbnRlbnRTdGF0ZSwgX0NvbnRlbnRTdGF0ZVJlY29yZCk7XG5cbiAgZnVuY3Rpb24gQ29udGVudFN0YXRlKCkge1xuICAgIHJldHVybiBfQ29udGVudFN0YXRlUmVjb3JkLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykgfHwgdGhpcztcbiAgfVxuXG4gIHZhciBfcHJvdG8gPSBDb250ZW50U3RhdGUucHJvdG90eXBlO1xuXG4gIF9wcm90by5nZXRFbnRpdHlNYXAgPSBmdW5jdGlvbiBnZXRFbnRpdHlNYXAoKSB7XG4gICAgLy8gVE9ETzogdXBkYXRlIHRoaXMgd2hlbiB3ZSBmdWxseSByZW1vdmUgRHJhZnRFbnRpdHlcbiAgICByZXR1cm4gRHJhZnRFbnRpdHk7XG4gIH07XG5cbiAgX3Byb3RvLmdldEJsb2NrTWFwID0gZnVuY3Rpb24gZ2V0QmxvY2tNYXAoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KCdibG9ja01hcCcpO1xuICB9O1xuXG4gIF9wcm90by5nZXRTZWxlY3Rpb25CZWZvcmUgPSBmdW5jdGlvbiBnZXRTZWxlY3Rpb25CZWZvcmUoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KCdzZWxlY3Rpb25CZWZvcmUnKTtcbiAgfTtcblxuICBfcHJvdG8uZ2V0U2VsZWN0aW9uQWZ0ZXIgPSBmdW5jdGlvbiBnZXRTZWxlY3Rpb25BZnRlcigpIHtcbiAgICByZXR1cm4gdGhpcy5nZXQoJ3NlbGVjdGlvbkFmdGVyJyk7XG4gIH07XG5cbiAgX3Byb3RvLmdldEJsb2NrRm9yS2V5ID0gZnVuY3Rpb24gZ2V0QmxvY2tGb3JLZXkoa2V5KSB7XG4gICAgdmFyIGJsb2NrID0gdGhpcy5nZXRCbG9ja01hcCgpLmdldChrZXkpO1xuICAgIHJldHVybiBibG9jaztcbiAgfTtcblxuICBfcHJvdG8uZ2V0S2V5QmVmb3JlID0gZnVuY3Rpb24gZ2V0S2V5QmVmb3JlKGtleSkge1xuICAgIHJldHVybiB0aGlzLmdldEJsb2NrTWFwKCkucmV2ZXJzZSgpLmtleVNlcSgpLnNraXBVbnRpbChmdW5jdGlvbiAodikge1xuICAgICAgcmV0dXJuIHYgPT09IGtleTtcbiAgICB9KS5za2lwKDEpLmZpcnN0KCk7XG4gIH07XG5cbiAgX3Byb3RvLmdldEtleUFmdGVyID0gZnVuY3Rpb24gZ2V0S2V5QWZ0ZXIoa2V5KSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QmxvY2tNYXAoKS5rZXlTZXEoKS5za2lwVW50aWwoZnVuY3Rpb24gKHYpIHtcbiAgICAgIHJldHVybiB2ID09PSBrZXk7XG4gICAgfSkuc2tpcCgxKS5maXJzdCgpO1xuICB9O1xuXG4gIF9wcm90by5nZXRCbG9ja0FmdGVyID0gZnVuY3Rpb24gZ2V0QmxvY2tBZnRlcihrZXkpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRCbG9ja01hcCgpLnNraXBVbnRpbChmdW5jdGlvbiAoXywgaykge1xuICAgICAgcmV0dXJuIGsgPT09IGtleTtcbiAgICB9KS5za2lwKDEpLmZpcnN0KCk7XG4gIH07XG5cbiAgX3Byb3RvLmdldEJsb2NrQmVmb3JlID0gZnVuY3Rpb24gZ2V0QmxvY2tCZWZvcmUoa2V5KSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QmxvY2tNYXAoKS5yZXZlcnNlKCkuc2tpcFVudGlsKGZ1bmN0aW9uIChfLCBrKSB7XG4gICAgICByZXR1cm4gayA9PT0ga2V5O1xuICAgIH0pLnNraXAoMSkuZmlyc3QoKTtcbiAgfTtcblxuICBfcHJvdG8uZ2V0QmxvY2tzQXNBcnJheSA9IGZ1bmN0aW9uIGdldEJsb2Nrc0FzQXJyYXkoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QmxvY2tNYXAoKS50b0FycmF5KCk7XG4gIH07XG5cbiAgX3Byb3RvLmdldEZpcnN0QmxvY2sgPSBmdW5jdGlvbiBnZXRGaXJzdEJsb2NrKCkge1xuICAgIHJldHVybiB0aGlzLmdldEJsb2NrTWFwKCkuZmlyc3QoKTtcbiAgfTtcblxuICBfcHJvdG8uZ2V0TGFzdEJsb2NrID0gZnVuY3Rpb24gZ2V0TGFzdEJsb2NrKCkge1xuICAgIHJldHVybiB0aGlzLmdldEJsb2NrTWFwKCkubGFzdCgpO1xuICB9O1xuXG4gIF9wcm90by5nZXRQbGFpblRleHQgPSBmdW5jdGlvbiBnZXRQbGFpblRleHQoZGVsaW1pdGVyKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QmxvY2tNYXAoKS5tYXAoZnVuY3Rpb24gKGJsb2NrKSB7XG4gICAgICByZXR1cm4gYmxvY2sgPyBibG9jay5nZXRUZXh0KCkgOiAnJztcbiAgICB9KS5qb2luKGRlbGltaXRlciB8fCAnXFxuJyk7XG4gIH07XG5cbiAgX3Byb3RvLmdldExhc3RDcmVhdGVkRW50aXR5S2V5ID0gZnVuY3Rpb24gZ2V0TGFzdENyZWF0ZWRFbnRpdHlLZXkoKSB7XG4gICAgLy8gVE9ETzogdXBkYXRlIHRoaXMgd2hlbiB3ZSBmdWxseSByZW1vdmUgRHJhZnRFbnRpdHlcbiAgICByZXR1cm4gRHJhZnRFbnRpdHkuX19nZXRMYXN0Q3JlYXRlZEVudGl0eUtleSgpO1xuICB9O1xuXG4gIF9wcm90by5oYXNUZXh0ID0gZnVuY3Rpb24gaGFzVGV4dCgpIHtcbiAgICB2YXIgYmxvY2tNYXAgPSB0aGlzLmdldEJsb2NrTWFwKCk7XG4gICAgcmV0dXJuIGJsb2NrTWFwLnNpemUgPiAxIHx8IC8vIG1ha2Ugc3VyZSB0aGF0IHRoZXJlIGFyZSBubyB6ZXJvIHdpZHRoIHNwYWNlIGNoYXJzXG4gICAgZXNjYXBlKGJsb2NrTWFwLmZpcnN0KCkuZ2V0VGV4dCgpKS5yZXBsYWNlKC8ldTIwMEIvZywgJycpLmxlbmd0aCA+IDA7XG4gIH07XG5cbiAgX3Byb3RvLmNyZWF0ZUVudGl0eSA9IGZ1bmN0aW9uIGNyZWF0ZUVudGl0eSh0eXBlLCBtdXRhYmlsaXR5LCBkYXRhKSB7XG4gICAgLy8gVE9ETzogdXBkYXRlIHRoaXMgd2hlbiB3ZSBmdWxseSByZW1vdmUgRHJhZnRFbnRpdHlcbiAgICBEcmFmdEVudGl0eS5fX2NyZWF0ZSh0eXBlLCBtdXRhYmlsaXR5LCBkYXRhKTtcblxuICAgIHJldHVybiB0aGlzO1xuICB9O1xuXG4gIF9wcm90by5tZXJnZUVudGl0eURhdGEgPSBmdW5jdGlvbiBtZXJnZUVudGl0eURhdGEoa2V5LCB0b01lcmdlKSB7XG4gICAgLy8gVE9ETzogdXBkYXRlIHRoaXMgd2hlbiB3ZSBmdWxseSByZW1vdmUgRHJhZnRFbnRpdHlcbiAgICBEcmFmdEVudGl0eS5fX21lcmdlRGF0YShrZXksIHRvTWVyZ2UpO1xuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH07XG5cbiAgX3Byb3RvLnJlcGxhY2VFbnRpdHlEYXRhID0gZnVuY3Rpb24gcmVwbGFjZUVudGl0eURhdGEoa2V5LCBuZXdEYXRhKSB7XG4gICAgLy8gVE9ETzogdXBkYXRlIHRoaXMgd2hlbiB3ZSBmdWxseSByZW1vdmUgRHJhZnRFbnRpdHlcbiAgICBEcmFmdEVudGl0eS5fX3JlcGxhY2VEYXRhKGtleSwgbmV3RGF0YSk7XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfTtcblxuICBfcHJvdG8uYWRkRW50aXR5ID0gZnVuY3Rpb24gYWRkRW50aXR5KGluc3RhbmNlKSB7XG4gICAgLy8gVE9ETzogdXBkYXRlIHRoaXMgd2hlbiB3ZSBmdWxseSByZW1vdmUgRHJhZnRFbnRpdHlcbiAgICBEcmFmdEVudGl0eS5fX2FkZChpbnN0YW5jZSk7XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfTtcblxuICBfcHJvdG8uZ2V0RW50aXR5ID0gZnVuY3Rpb24gZ2V0RW50aXR5KGtleSkge1xuICAgIC8vIFRPRE86IHVwZGF0ZSB0aGlzIHdoZW4gd2UgZnVsbHkgcmVtb3ZlIERyYWZ0RW50aXR5XG4gICAgcmV0dXJuIERyYWZ0RW50aXR5Ll9fZ2V0KGtleSk7XG4gIH07XG5cbiAgQ29udGVudFN0YXRlLmNyZWF0ZUZyb21CbG9ja0FycmF5ID0gZnVuY3Rpb24gY3JlYXRlRnJvbUJsb2NrQXJyYXkoIC8vIFRPRE86IHVwZGF0ZSBmbG93IHR5cGUgd2hlbiB3ZSBjb21wbGV0ZWx5IGRlcHJlY2F0ZSB0aGUgb2xkIGVudGl0eSBBUElcbiAgYmxvY2tzLCBlbnRpdHlNYXApIHtcbiAgICAvLyBUT0RPOiByZW1vdmUgdGhpcyB3aGVuIHdlIGNvbXBsZXRlbHkgZGVwcmVjYXRlIHRoZSBvbGQgZW50aXR5IEFQSVxuICAgIHZhciB0aGVCbG9ja3MgPSBBcnJheS5pc0FycmF5KGJsb2NrcykgPyBibG9ja3MgOiBibG9ja3MuY29udGVudEJsb2NrcztcbiAgICB2YXIgYmxvY2tNYXAgPSBCbG9ja01hcEJ1aWxkZXIuY3JlYXRlRnJvbUFycmF5KHRoZUJsb2Nrcyk7XG4gICAgdmFyIHNlbGVjdGlvblN0YXRlID0gYmxvY2tNYXAuaXNFbXB0eSgpID8gbmV3IFNlbGVjdGlvblN0YXRlKCkgOiBTZWxlY3Rpb25TdGF0ZS5jcmVhdGVFbXB0eShibG9ja01hcC5maXJzdCgpLmdldEtleSgpKTtcbiAgICByZXR1cm4gbmV3IENvbnRlbnRTdGF0ZSh7XG4gICAgICBibG9ja01hcDogYmxvY2tNYXAsXG4gICAgICBlbnRpdHlNYXA6IGVudGl0eU1hcCB8fCBEcmFmdEVudGl0eSxcbiAgICAgIHNlbGVjdGlvbkJlZm9yZTogc2VsZWN0aW9uU3RhdGUsXG4gICAgICBzZWxlY3Rpb25BZnRlcjogc2VsZWN0aW9uU3RhdGVcbiAgICB9KTtcbiAgfTtcblxuICBDb250ZW50U3RhdGUuY3JlYXRlRnJvbVRleHQgPSBmdW5jdGlvbiBjcmVhdGVGcm9tVGV4dCh0ZXh0KSB7XG4gICAgdmFyIGRlbGltaXRlciA9IGFyZ3VtZW50cy5sZW5ndGggPiAxICYmIGFyZ3VtZW50c1sxXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzFdIDogL1xcclxcbj98XFxuL2c7XG4gICAgdmFyIHN0cmluZ3MgPSB0ZXh0LnNwbGl0KGRlbGltaXRlcik7XG4gICAgdmFyIGJsb2NrcyA9IHN0cmluZ3MubWFwKGZ1bmN0aW9uIChibG9jaykge1xuICAgICAgYmxvY2sgPSBzYW5pdGl6ZURyYWZ0VGV4dChibG9jayk7XG4gICAgICB2YXIgQ29udGVudEJsb2NrTm9kZVJlY29yZCA9IGdreCgnZHJhZnRfdHJlZV9kYXRhX3N1cHBvcnQnKSA/IENvbnRlbnRCbG9ja05vZGUgOiBDb250ZW50QmxvY2s7XG4gICAgICByZXR1cm4gbmV3IENvbnRlbnRCbG9ja05vZGVSZWNvcmQoe1xuICAgICAgICBrZXk6IGdlbmVyYXRlUmFuZG9tS2V5KCksXG4gICAgICAgIHRleHQ6IGJsb2NrLFxuICAgICAgICB0eXBlOiAndW5zdHlsZWQnLFxuICAgICAgICBjaGFyYWN0ZXJMaXN0OiBMaXN0KFJlcGVhdChDaGFyYWN0ZXJNZXRhZGF0YS5FTVBUWSwgYmxvY2subGVuZ3RoKSlcbiAgICAgIH0pO1xuICAgIH0pO1xuICAgIHJldHVybiBDb250ZW50U3RhdGUuY3JlYXRlRnJvbUJsb2NrQXJyYXkoYmxvY2tzKTtcbiAgfTtcblxuICByZXR1cm4gQ29udGVudFN0YXRlO1xufShDb250ZW50U3RhdGVSZWNvcmQpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IENvbnRlbnRTdGF0ZTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/ContentState.js\n"); /***/ }), @@ -115,7 +126,19 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ContentStateInlineStyle\n * @format\n * \n */\n\n\n\nvar CharacterMetadata = __webpack_require__(/*! ./CharacterMetadata */ \"./node_modules/draft-js/lib/CharacterMetadata.js\");\n\nvar _require = __webpack_require__(/*! immutable */ \"./node_modules/draft-js/node_modules/immutable/dist/immutable.js\"),\n Map = _require.Map;\n\nvar ContentStateInlineStyle = {\n add: function add(contentState, selectionState, inlineStyle) {\n return modifyInlineStyle(contentState, selectionState, inlineStyle, true);\n },\n\n remove: function remove(contentState, selectionState, inlineStyle) {\n return modifyInlineStyle(contentState, selectionState, inlineStyle, false);\n }\n};\n\nfunction modifyInlineStyle(contentState, selectionState, inlineStyle, addOrRemove) {\n var blockMap = contentState.getBlockMap();\n var startKey = selectionState.getStartKey();\n var startOffset = selectionState.getStartOffset();\n var endKey = selectionState.getEndKey();\n var endOffset = selectionState.getEndOffset();\n\n var newBlocks = blockMap.skipUntil(function (_, k) {\n return k === startKey;\n }).takeUntil(function (_, k) {\n return k === endKey;\n }).concat(Map([[endKey, blockMap.get(endKey)]])).map(function (block, blockKey) {\n var sliceStart;\n var sliceEnd;\n\n if (startKey === endKey) {\n sliceStart = startOffset;\n sliceEnd = endOffset;\n } else {\n sliceStart = blockKey === startKey ? startOffset : 0;\n sliceEnd = blockKey === endKey ? endOffset : block.getLength();\n }\n\n var chars = block.getCharacterList();\n var current;\n while (sliceStart < sliceEnd) {\n current = chars.get(sliceStart);\n chars = chars.set(sliceStart, addOrRemove ? CharacterMetadata.applyStyle(current, inlineStyle) : CharacterMetadata.removeStyle(current, inlineStyle));\n sliceStart++;\n }\n\n return block.set('characterList', chars);\n });\n\n return contentState.merge({\n blockMap: blockMap.merge(newBlocks),\n selectionBefore: selectionState,\n selectionAfter: selectionState\n });\n}\n\nmodule.exports = ContentStateInlineStyle;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0NvbnRlbnRTdGF0ZUlubGluZVN0eWxlLmpzPzMzYWEiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVhOztBQUViLHdCQUF3QixtQkFBTyxDQUFDLDZFQUFxQjs7QUFFckQsZUFBZSxtQkFBTyxDQUFDLG1GQUFXO0FBQ2xDOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvQ29udGVudFN0YXRlSW5saW5lU3R5bGUuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxMy1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuICogQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBCU0Qtc3R5bGUgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS4gQW4gYWRkaXRpb25hbCBncmFudFxuICogb2YgcGF0ZW50IHJpZ2h0cyBjYW4gYmUgZm91bmQgaW4gdGhlIFBBVEVOVFMgZmlsZSBpbiB0aGUgc2FtZSBkaXJlY3RvcnkuXG4gKlxuICogQHByb3ZpZGVzTW9kdWxlIENvbnRlbnRTdGF0ZUlubGluZVN0eWxlXG4gKiBAZm9ybWF0XG4gKiBcbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbnZhciBDaGFyYWN0ZXJNZXRhZGF0YSA9IHJlcXVpcmUoJy4vQ2hhcmFjdGVyTWV0YWRhdGEnKTtcblxudmFyIF9yZXF1aXJlID0gcmVxdWlyZSgnaW1tdXRhYmxlJyksXG4gICAgTWFwID0gX3JlcXVpcmUuTWFwO1xuXG52YXIgQ29udGVudFN0YXRlSW5saW5lU3R5bGUgPSB7XG4gIGFkZDogZnVuY3Rpb24gYWRkKGNvbnRlbnRTdGF0ZSwgc2VsZWN0aW9uU3RhdGUsIGlubGluZVN0eWxlKSB7XG4gICAgcmV0dXJuIG1vZGlmeUlubGluZVN0eWxlKGNvbnRlbnRTdGF0ZSwgc2VsZWN0aW9uU3RhdGUsIGlubGluZVN0eWxlLCB0cnVlKTtcbiAgfSxcblxuICByZW1vdmU6IGZ1bmN0aW9uIHJlbW92ZShjb250ZW50U3RhdGUsIHNlbGVjdGlvblN0YXRlLCBpbmxpbmVTdHlsZSkge1xuICAgIHJldHVybiBtb2RpZnlJbmxpbmVTdHlsZShjb250ZW50U3RhdGUsIHNlbGVjdGlvblN0YXRlLCBpbmxpbmVTdHlsZSwgZmFsc2UpO1xuICB9XG59O1xuXG5mdW5jdGlvbiBtb2RpZnlJbmxpbmVTdHlsZShjb250ZW50U3RhdGUsIHNlbGVjdGlvblN0YXRlLCBpbmxpbmVTdHlsZSwgYWRkT3JSZW1vdmUpIHtcbiAgdmFyIGJsb2NrTWFwID0gY29udGVudFN0YXRlLmdldEJsb2NrTWFwKCk7XG4gIHZhciBzdGFydEtleSA9IHNlbGVjdGlvblN0YXRlLmdldFN0YXJ0S2V5KCk7XG4gIHZhciBzdGFydE9mZnNldCA9IHNlbGVjdGlvblN0YXRlLmdldFN0YXJ0T2Zmc2V0KCk7XG4gIHZhciBlbmRLZXkgPSBzZWxlY3Rpb25TdGF0ZS5nZXRFbmRLZXkoKTtcbiAgdmFyIGVuZE9mZnNldCA9IHNlbGVjdGlvblN0YXRlLmdldEVuZE9mZnNldCgpO1xuXG4gIHZhciBuZXdCbG9ja3MgPSBibG9ja01hcC5za2lwVW50aWwoZnVuY3Rpb24gKF8sIGspIHtcbiAgICByZXR1cm4gayA9PT0gc3RhcnRLZXk7XG4gIH0pLnRha2VVbnRpbChmdW5jdGlvbiAoXywgaykge1xuICAgIHJldHVybiBrID09PSBlbmRLZXk7XG4gIH0pLmNvbmNhdChNYXAoW1tlbmRLZXksIGJsb2NrTWFwLmdldChlbmRLZXkpXV0pKS5tYXAoZnVuY3Rpb24gKGJsb2NrLCBibG9ja0tleSkge1xuICAgIHZhciBzbGljZVN0YXJ0O1xuICAgIHZhciBzbGljZUVuZDtcblxuICAgIGlmIChzdGFydEtleSA9PT0gZW5kS2V5KSB7XG4gICAgICBzbGljZVN0YXJ0ID0gc3RhcnRPZmZzZXQ7XG4gICAgICBzbGljZUVuZCA9IGVuZE9mZnNldDtcbiAgICB9IGVsc2Uge1xuICAgICAgc2xpY2VTdGFydCA9IGJsb2NrS2V5ID09PSBzdGFydEtleSA/IHN0YXJ0T2Zmc2V0IDogMDtcbiAgICAgIHNsaWNlRW5kID0gYmxvY2tLZXkgPT09IGVuZEtleSA/IGVuZE9mZnNldCA6IGJsb2NrLmdldExlbmd0aCgpO1xuICAgIH1cblxuICAgIHZhciBjaGFycyA9IGJsb2NrLmdldENoYXJhY3Rlckxpc3QoKTtcbiAgICB2YXIgY3VycmVudDtcbiAgICB3aGlsZSAoc2xpY2VTdGFydCA8IHNsaWNlRW5kKSB7XG4gICAgICBjdXJyZW50ID0gY2hhcnMuZ2V0KHNsaWNlU3RhcnQpO1xuICAgICAgY2hhcnMgPSBjaGFycy5zZXQoc2xpY2VTdGFydCwgYWRkT3JSZW1vdmUgPyBDaGFyYWN0ZXJNZXRhZGF0YS5hcHBseVN0eWxlKGN1cnJlbnQsIGlubGluZVN0eWxlKSA6IENoYXJhY3Rlck1ldGFkYXRhLnJlbW92ZVN0eWxlKGN1cnJlbnQsIGlubGluZVN0eWxlKSk7XG4gICAgICBzbGljZVN0YXJ0Kys7XG4gICAgfVxuXG4gICAgcmV0dXJuIGJsb2NrLnNldCgnY2hhcmFjdGVyTGlzdCcsIGNoYXJzKTtcbiAgfSk7XG5cbiAgcmV0dXJuIGNvbnRlbnRTdGF0ZS5tZXJnZSh7XG4gICAgYmxvY2tNYXA6IGJsb2NrTWFwLm1lcmdlKG5ld0Jsb2NrcyksXG4gICAgc2VsZWN0aW9uQmVmb3JlOiBzZWxlY3Rpb25TdGF0ZSxcbiAgICBzZWxlY3Rpb25BZnRlcjogc2VsZWN0aW9uU3RhdGVcbiAgfSk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gQ29udGVudFN0YXRlSW5saW5lU3R5bGU7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/ContentStateInlineStyle.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nvar CharacterMetadata = __webpack_require__(/*! ./CharacterMetadata */ \"./node_modules/draft-js/lib/CharacterMetadata.js\");\n\nvar _require = __webpack_require__(/*! immutable */ \"./node_modules/draft-js/node_modules/immutable/dist/immutable.js\"),\n Map = _require.Map;\n\nvar ContentStateInlineStyle = {\n add: function add(contentState, selectionState, inlineStyle) {\n return modifyInlineStyle(contentState, selectionState, inlineStyle, true);\n },\n remove: function remove(contentState, selectionState, inlineStyle) {\n return modifyInlineStyle(contentState, selectionState, inlineStyle, false);\n }\n};\n\nfunction modifyInlineStyle(contentState, selectionState, inlineStyle, addOrRemove) {\n var blockMap = contentState.getBlockMap();\n var startKey = selectionState.getStartKey();\n var startOffset = selectionState.getStartOffset();\n var endKey = selectionState.getEndKey();\n var endOffset = selectionState.getEndOffset();\n var newBlocks = blockMap.skipUntil(function (_, k) {\n return k === startKey;\n }).takeUntil(function (_, k) {\n return k === endKey;\n }).concat(Map([[endKey, blockMap.get(endKey)]])).map(function (block, blockKey) {\n var sliceStart;\n var sliceEnd;\n\n if (startKey === endKey) {\n sliceStart = startOffset;\n sliceEnd = endOffset;\n } else {\n sliceStart = blockKey === startKey ? startOffset : 0;\n sliceEnd = blockKey === endKey ? endOffset : block.getLength();\n }\n\n var chars = block.getCharacterList();\n var current;\n\n while (sliceStart < sliceEnd) {\n current = chars.get(sliceStart);\n chars = chars.set(sliceStart, addOrRemove ? CharacterMetadata.applyStyle(current, inlineStyle) : CharacterMetadata.removeStyle(current, inlineStyle));\n sliceStart++;\n }\n\n return block.set('characterList', chars);\n });\n return contentState.merge({\n blockMap: blockMap.merge(newBlocks),\n selectionBefore: selectionState,\n selectionAfter: selectionState\n });\n}\n\nmodule.exports = ContentStateInlineStyle;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0NvbnRlbnRTdGF0ZUlubGluZVN0eWxlLmpzPzMzYWEiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDYTs7QUFFYix3QkFBd0IsbUJBQU8sQ0FBQyw2RUFBcUI7O0FBRXJELGVBQWUsbUJBQU8sQ0FBQyxtRkFBVztBQUNsQzs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUVBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2RyYWZ0LWpzL2xpYi9Db250ZW50U3RhdGVJbmxpbmVTdHlsZS5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSBGYWNlYm9vaywgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICogQGZvcm1hdFxuICogXG4gKiBAZW1haWxzIG9uY2FsbCtkcmFmdF9qc1xuICovXG4ndXNlIHN0cmljdCc7XG5cbnZhciBDaGFyYWN0ZXJNZXRhZGF0YSA9IHJlcXVpcmUoXCIuL0NoYXJhY3Rlck1ldGFkYXRhXCIpO1xuXG52YXIgX3JlcXVpcmUgPSByZXF1aXJlKFwiaW1tdXRhYmxlXCIpLFxuICAgIE1hcCA9IF9yZXF1aXJlLk1hcDtcblxudmFyIENvbnRlbnRTdGF0ZUlubGluZVN0eWxlID0ge1xuICBhZGQ6IGZ1bmN0aW9uIGFkZChjb250ZW50U3RhdGUsIHNlbGVjdGlvblN0YXRlLCBpbmxpbmVTdHlsZSkge1xuICAgIHJldHVybiBtb2RpZnlJbmxpbmVTdHlsZShjb250ZW50U3RhdGUsIHNlbGVjdGlvblN0YXRlLCBpbmxpbmVTdHlsZSwgdHJ1ZSk7XG4gIH0sXG4gIHJlbW92ZTogZnVuY3Rpb24gcmVtb3ZlKGNvbnRlbnRTdGF0ZSwgc2VsZWN0aW9uU3RhdGUsIGlubGluZVN0eWxlKSB7XG4gICAgcmV0dXJuIG1vZGlmeUlubGluZVN0eWxlKGNvbnRlbnRTdGF0ZSwgc2VsZWN0aW9uU3RhdGUsIGlubGluZVN0eWxlLCBmYWxzZSk7XG4gIH1cbn07XG5cbmZ1bmN0aW9uIG1vZGlmeUlubGluZVN0eWxlKGNvbnRlbnRTdGF0ZSwgc2VsZWN0aW9uU3RhdGUsIGlubGluZVN0eWxlLCBhZGRPclJlbW92ZSkge1xuICB2YXIgYmxvY2tNYXAgPSBjb250ZW50U3RhdGUuZ2V0QmxvY2tNYXAoKTtcbiAgdmFyIHN0YXJ0S2V5ID0gc2VsZWN0aW9uU3RhdGUuZ2V0U3RhcnRLZXkoKTtcbiAgdmFyIHN0YXJ0T2Zmc2V0ID0gc2VsZWN0aW9uU3RhdGUuZ2V0U3RhcnRPZmZzZXQoKTtcbiAgdmFyIGVuZEtleSA9IHNlbGVjdGlvblN0YXRlLmdldEVuZEtleSgpO1xuICB2YXIgZW5kT2Zmc2V0ID0gc2VsZWN0aW9uU3RhdGUuZ2V0RW5kT2Zmc2V0KCk7XG4gIHZhciBuZXdCbG9ja3MgPSBibG9ja01hcC5za2lwVW50aWwoZnVuY3Rpb24gKF8sIGspIHtcbiAgICByZXR1cm4gayA9PT0gc3RhcnRLZXk7XG4gIH0pLnRha2VVbnRpbChmdW5jdGlvbiAoXywgaykge1xuICAgIHJldHVybiBrID09PSBlbmRLZXk7XG4gIH0pLmNvbmNhdChNYXAoW1tlbmRLZXksIGJsb2NrTWFwLmdldChlbmRLZXkpXV0pKS5tYXAoZnVuY3Rpb24gKGJsb2NrLCBibG9ja0tleSkge1xuICAgIHZhciBzbGljZVN0YXJ0O1xuICAgIHZhciBzbGljZUVuZDtcblxuICAgIGlmIChzdGFydEtleSA9PT0gZW5kS2V5KSB7XG4gICAgICBzbGljZVN0YXJ0ID0gc3RhcnRPZmZzZXQ7XG4gICAgICBzbGljZUVuZCA9IGVuZE9mZnNldDtcbiAgICB9IGVsc2Uge1xuICAgICAgc2xpY2VTdGFydCA9IGJsb2NrS2V5ID09PSBzdGFydEtleSA/IHN0YXJ0T2Zmc2V0IDogMDtcbiAgICAgIHNsaWNlRW5kID0gYmxvY2tLZXkgPT09IGVuZEtleSA/IGVuZE9mZnNldCA6IGJsb2NrLmdldExlbmd0aCgpO1xuICAgIH1cblxuICAgIHZhciBjaGFycyA9IGJsb2NrLmdldENoYXJhY3Rlckxpc3QoKTtcbiAgICB2YXIgY3VycmVudDtcblxuICAgIHdoaWxlIChzbGljZVN0YXJ0IDwgc2xpY2VFbmQpIHtcbiAgICAgIGN1cnJlbnQgPSBjaGFycy5nZXQoc2xpY2VTdGFydCk7XG4gICAgICBjaGFycyA9IGNoYXJzLnNldChzbGljZVN0YXJ0LCBhZGRPclJlbW92ZSA/IENoYXJhY3Rlck1ldGFkYXRhLmFwcGx5U3R5bGUoY3VycmVudCwgaW5saW5lU3R5bGUpIDogQ2hhcmFjdGVyTWV0YWRhdGEucmVtb3ZlU3R5bGUoY3VycmVudCwgaW5saW5lU3R5bGUpKTtcbiAgICAgIHNsaWNlU3RhcnQrKztcbiAgICB9XG5cbiAgICByZXR1cm4gYmxvY2suc2V0KCdjaGFyYWN0ZXJMaXN0JywgY2hhcnMpO1xuICB9KTtcbiAgcmV0dXJuIGNvbnRlbnRTdGF0ZS5tZXJnZSh7XG4gICAgYmxvY2tNYXA6IGJsb2NrTWFwLm1lcmdlKG5ld0Jsb2NrcyksXG4gICAgc2VsZWN0aW9uQmVmb3JlOiBzZWxlY3Rpb25TdGF0ZSxcbiAgICBzZWxlY3Rpb25BZnRlcjogc2VsZWN0aW9uU3RhdGVcbiAgfSk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gQ29udGVudFN0YXRlSW5saW5lU3R5bGU7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/ContentStateInlineStyle.js\n"); + +/***/ }), + +/***/ "./node_modules/draft-js/lib/DOMObserver.js": +/*!**************************************************!*\ + !*** ./node_modules/draft-js/lib/DOMObserver.js ***! + \**************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar UserAgent = __webpack_require__(/*! fbjs/lib/UserAgent */ \"./node_modules/fbjs/lib/UserAgent.js\");\n\nvar findAncestorOffsetKey = __webpack_require__(/*! ./findAncestorOffsetKey */ \"./node_modules/draft-js/lib/findAncestorOffsetKey.js\");\n\nvar getWindowForNode = __webpack_require__(/*! ./getWindowForNode */ \"./node_modules/draft-js/lib/getWindowForNode.js\");\n\nvar Immutable = __webpack_require__(/*! immutable */ \"./node_modules/draft-js/node_modules/immutable/dist/immutable.js\");\n\nvar invariant = __webpack_require__(/*! fbjs/lib/invariant */ \"./node_modules/fbjs/lib/invariant.js\");\n\nvar nullthrows = __webpack_require__(/*! fbjs/lib/nullthrows */ \"./node_modules/fbjs/lib/nullthrows.js\");\n\nvar Map = Immutable.Map;\n// Heavily based on Prosemirror's DOMObserver https://github.com/ProseMirror/prosemirror-view/blob/master/src/domobserver.js\nvar DOM_OBSERVER_OPTIONS = {\n subtree: true,\n characterData: true,\n childList: true,\n characterDataOldValue: false,\n attributes: false\n}; // IE11 has very broken mutation observers, so we also listen to DOMCharacterDataModified\n\nvar USE_CHAR_DATA = UserAgent.isBrowser('IE <= 11');\n\nvar DOMObserver =\n/*#__PURE__*/\nfunction () {\n function DOMObserver(container) {\n var _this = this;\n\n _defineProperty(this, \"observer\", void 0);\n\n _defineProperty(this, \"container\", void 0);\n\n _defineProperty(this, \"mutations\", void 0);\n\n _defineProperty(this, \"onCharData\", void 0);\n\n this.container = container;\n this.mutations = Map();\n var containerWindow = getWindowForNode(container);\n\n if (containerWindow.MutationObserver && !USE_CHAR_DATA) {\n this.observer = new containerWindow.MutationObserver(function (mutations) {\n return _this.registerMutations(mutations);\n });\n } else {\n this.onCharData = function (e) {\n !(e.target instanceof Node) ? true ? invariant(false, 'Expected target to be an instance of Node') : undefined : void 0;\n\n _this.registerMutation({\n type: 'characterData',\n target: e.target\n });\n };\n }\n }\n\n var _proto = DOMObserver.prototype;\n\n _proto.start = function start() {\n if (this.observer) {\n this.observer.observe(this.container, DOM_OBSERVER_OPTIONS);\n } else {\n /* $FlowFixMe(>=0.68.0 site=www,mobile) This event type is not defined\n * by Flow's standard library */\n this.container.addEventListener('DOMCharacterDataModified', this.onCharData);\n }\n };\n\n _proto.stopAndFlushMutations = function stopAndFlushMutations() {\n var observer = this.observer;\n\n if (observer) {\n this.registerMutations(observer.takeRecords());\n observer.disconnect();\n } else {\n /* $FlowFixMe(>=0.68.0 site=www,mobile) This event type is not defined\n * by Flow's standard library */\n this.container.removeEventListener('DOMCharacterDataModified', this.onCharData);\n }\n\n var mutations = this.mutations;\n this.mutations = Map();\n return mutations;\n };\n\n _proto.registerMutations = function registerMutations(mutations) {\n for (var i = 0; i < mutations.length; i++) {\n this.registerMutation(mutations[i]);\n }\n };\n\n _proto.getMutationTextContent = function getMutationTextContent(mutation) {\n var type = mutation.type,\n target = mutation.target,\n removedNodes = mutation.removedNodes;\n\n if (type === 'characterData') {\n // When `textContent` is '', there is a race condition that makes\n // getting the offsetKey from the target not possible.\n // These events are also followed by a `childList`, which is the one\n // we are able to retrieve the offsetKey and apply the '' text.\n if (target.textContent !== '') {\n // IE 11 considers the enter keypress that concludes the composition\n // as an input char. This strips that newline character so the draft\n // state does not receive spurious newlines.\n if (USE_CHAR_DATA) {\n return target.textContent.replace('\\n', '');\n }\n\n return target.textContent;\n }\n } else if (type === 'childList') {\n if (removedNodes && removedNodes.length) {\n // `characterData` events won't happen or are ignored when\n // removing the last character of a leaf node, what happens\n // instead is a `childList` event with a `removedNodes` array.\n // For this case the textContent should be '' and\n // `DraftModifier.replaceText` will make sure the content is\n // updated properly.\n return '';\n } else if (target.textContent !== '') {\n // Typing Chinese in an empty block in MS Edge results in a\n // `childList` event with non-empty textContent.\n // See https://github.com/facebook/draft-js/issues/2082\n return target.textContent;\n }\n }\n\n return null;\n };\n\n _proto.registerMutation = function registerMutation(mutation) {\n var textContent = this.getMutationTextContent(mutation);\n\n if (textContent != null) {\n var offsetKey = nullthrows(findAncestorOffsetKey(mutation.target));\n this.mutations = this.mutations.set(offsetKey, textContent);\n }\n };\n\n return DOMObserver;\n}();\n\nmodule.exports = DOMObserver;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0RPTU9ic2VydmVyLmpzP2UxN2EiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDYTs7QUFFYiwyQ0FBMkMsa0JBQWtCLGtDQUFrQyxxRUFBcUUsRUFBRSxFQUFFLE9BQU8sa0JBQWtCLEVBQUUsWUFBWTs7QUFFL00sZ0JBQWdCLG1CQUFPLENBQUMsZ0VBQW9COztBQUU1Qyw0QkFBNEIsbUJBQU8sQ0FBQyxxRkFBeUI7O0FBRTdELHVCQUF1QixtQkFBTyxDQUFDLDJFQUFvQjs7QUFFbkQsZ0JBQWdCLG1CQUFPLENBQUMsbUZBQVc7O0FBRW5DLGdCQUFnQixtQkFBTyxDQUFDLGdFQUFvQjs7QUFFNUMsaUJBQWlCLG1CQUFPLENBQUMsa0VBQXFCOztBQUU5QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTs7QUFFRjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1AsS0FBSztBQUNMO0FBQ0Esc0NBQXNDLEtBQXFDLG1FQUFtRSxTQUFnQjs7QUFFOUo7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLG1CQUFtQixzQkFBc0I7QUFDekM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsQ0FBQzs7QUFFRCIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvRE9NT2JzZXJ2ZXIuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgRmFjZWJvb2ssIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIEBmb3JtYXRcbiAqIFxuICogQGVtYWlscyBvbmNhbGwrZHJhZnRfanNcbiAqL1xuJ3VzZSBzdHJpY3QnO1xuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHZhbHVlKSB7IGlmIChrZXkgaW4gb2JqKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgeyB2YWx1ZTogdmFsdWUsIGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgd3JpdGFibGU6IHRydWUgfSk7IH0gZWxzZSB7IG9ialtrZXldID0gdmFsdWU7IH0gcmV0dXJuIG9iajsgfVxuXG52YXIgVXNlckFnZW50ID0gcmVxdWlyZShcImZianMvbGliL1VzZXJBZ2VudFwiKTtcblxudmFyIGZpbmRBbmNlc3Rvck9mZnNldEtleSA9IHJlcXVpcmUoXCIuL2ZpbmRBbmNlc3Rvck9mZnNldEtleVwiKTtcblxudmFyIGdldFdpbmRvd0Zvck5vZGUgPSByZXF1aXJlKFwiLi9nZXRXaW5kb3dGb3JOb2RlXCIpO1xuXG52YXIgSW1tdXRhYmxlID0gcmVxdWlyZShcImltbXV0YWJsZVwiKTtcblxudmFyIGludmFyaWFudCA9IHJlcXVpcmUoXCJmYmpzL2xpYi9pbnZhcmlhbnRcIik7XG5cbnZhciBudWxsdGhyb3dzID0gcmVxdWlyZShcImZianMvbGliL251bGx0aHJvd3NcIik7XG5cbnZhciBNYXAgPSBJbW11dGFibGUuTWFwO1xuLy8gSGVhdmlseSBiYXNlZCBvbiBQcm9zZW1pcnJvcidzIERPTU9ic2VydmVyIGh0dHBzOi8vZ2l0aHViLmNvbS9Qcm9zZU1pcnJvci9wcm9zZW1pcnJvci12aWV3L2Jsb2IvbWFzdGVyL3NyYy9kb21vYnNlcnZlci5qc1xudmFyIERPTV9PQlNFUlZFUl9PUFRJT05TID0ge1xuICBzdWJ0cmVlOiB0cnVlLFxuICBjaGFyYWN0ZXJEYXRhOiB0cnVlLFxuICBjaGlsZExpc3Q6IHRydWUsXG4gIGNoYXJhY3RlckRhdGFPbGRWYWx1ZTogZmFsc2UsXG4gIGF0dHJpYnV0ZXM6IGZhbHNlXG59OyAvLyBJRTExIGhhcyB2ZXJ5IGJyb2tlbiBtdXRhdGlvbiBvYnNlcnZlcnMsIHNvIHdlIGFsc28gbGlzdGVuIHRvIERPTUNoYXJhY3RlckRhdGFNb2RpZmllZFxuXG52YXIgVVNFX0NIQVJfREFUQSA9IFVzZXJBZ2VudC5pc0Jyb3dzZXIoJ0lFIDw9IDExJyk7XG5cbnZhciBET01PYnNlcnZlciA9XG4vKiNfX1BVUkVfXyovXG5mdW5jdGlvbiAoKSB7XG4gIGZ1bmN0aW9uIERPTU9ic2VydmVyKGNvbnRhaW5lcikge1xuICAgIHZhciBfdGhpcyA9IHRoaXM7XG5cbiAgICBfZGVmaW5lUHJvcGVydHkodGhpcywgXCJvYnNlcnZlclwiLCB2b2lkIDApO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KHRoaXMsIFwiY29udGFpbmVyXCIsIHZvaWQgMCk7XG5cbiAgICBfZGVmaW5lUHJvcGVydHkodGhpcywgXCJtdXRhdGlvbnNcIiwgdm9pZCAwKTtcblxuICAgIF9kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm9uQ2hhckRhdGFcIiwgdm9pZCAwKTtcblxuICAgIHRoaXMuY29udGFpbmVyID0gY29udGFpbmVyO1xuICAgIHRoaXMubXV0YXRpb25zID0gTWFwKCk7XG4gICAgdmFyIGNvbnRhaW5lcldpbmRvdyA9IGdldFdpbmRvd0Zvck5vZGUoY29udGFpbmVyKTtcblxuICAgIGlmIChjb250YWluZXJXaW5kb3cuTXV0YXRpb25PYnNlcnZlciAmJiAhVVNFX0NIQVJfREFUQSkge1xuICAgICAgdGhpcy5vYnNlcnZlciA9IG5ldyBjb250YWluZXJXaW5kb3cuTXV0YXRpb25PYnNlcnZlcihmdW5jdGlvbiAobXV0YXRpb25zKSB7XG4gICAgICAgIHJldHVybiBfdGhpcy5yZWdpc3Rlck11dGF0aW9ucyhtdXRhdGlvbnMpO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMub25DaGFyRGF0YSA9IGZ1bmN0aW9uIChlKSB7XG4gICAgICAgICEoZS50YXJnZXQgaW5zdGFuY2VvZiBOb2RlKSA/IHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIiA/IGludmFyaWFudChmYWxzZSwgJ0V4cGVjdGVkIHRhcmdldCB0byBiZSBhbiBpbnN0YW5jZSBvZiBOb2RlJykgOiBpbnZhcmlhbnQoZmFsc2UpIDogdm9pZCAwO1xuXG4gICAgICAgIF90aGlzLnJlZ2lzdGVyTXV0YXRpb24oe1xuICAgICAgICAgIHR5cGU6ICdjaGFyYWN0ZXJEYXRhJyxcbiAgICAgICAgICB0YXJnZXQ6IGUudGFyZ2V0XG4gICAgICAgIH0pO1xuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICB2YXIgX3Byb3RvID0gRE9NT2JzZXJ2ZXIucHJvdG90eXBlO1xuXG4gIF9wcm90by5zdGFydCA9IGZ1bmN0aW9uIHN0YXJ0KCkge1xuICAgIGlmICh0aGlzLm9ic2VydmVyKSB7XG4gICAgICB0aGlzLm9ic2VydmVyLm9ic2VydmUodGhpcy5jb250YWluZXIsIERPTV9PQlNFUlZFUl9PUFRJT05TKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLyogJEZsb3dGaXhNZSg+PTAuNjguMCBzaXRlPXd3dyxtb2JpbGUpIFRoaXMgZXZlbnQgdHlwZSBpcyBub3QgZGVmaW5lZFxuICAgICAgICogYnkgRmxvdydzIHN0YW5kYXJkIGxpYnJhcnkgKi9cbiAgICAgIHRoaXMuY29udGFpbmVyLmFkZEV2ZW50TGlzdGVuZXIoJ0RPTUNoYXJhY3RlckRhdGFNb2RpZmllZCcsIHRoaXMub25DaGFyRGF0YSk7XG4gICAgfVxuICB9O1xuXG4gIF9wcm90by5zdG9wQW5kRmx1c2hNdXRhdGlvbnMgPSBmdW5jdGlvbiBzdG9wQW5kRmx1c2hNdXRhdGlvbnMoKSB7XG4gICAgdmFyIG9ic2VydmVyID0gdGhpcy5vYnNlcnZlcjtcblxuICAgIGlmIChvYnNlcnZlcikge1xuICAgICAgdGhpcy5yZWdpc3Rlck11dGF0aW9ucyhvYnNlcnZlci50YWtlUmVjb3JkcygpKTtcbiAgICAgIG9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLyogJEZsb3dGaXhNZSg+PTAuNjguMCBzaXRlPXd3dyxtb2JpbGUpIFRoaXMgZXZlbnQgdHlwZSBpcyBub3QgZGVmaW5lZFxuICAgICAgICogYnkgRmxvdydzIHN0YW5kYXJkIGxpYnJhcnkgKi9cbiAgICAgIHRoaXMuY29udGFpbmVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ0RPTUNoYXJhY3RlckRhdGFNb2RpZmllZCcsIHRoaXMub25DaGFyRGF0YSk7XG4gICAgfVxuXG4gICAgdmFyIG11dGF0aW9ucyA9IHRoaXMubXV0YXRpb25zO1xuICAgIHRoaXMubXV0YXRpb25zID0gTWFwKCk7XG4gICAgcmV0dXJuIG11dGF0aW9ucztcbiAgfTtcblxuICBfcHJvdG8ucmVnaXN0ZXJNdXRhdGlvbnMgPSBmdW5jdGlvbiByZWdpc3Rlck11dGF0aW9ucyhtdXRhdGlvbnMpIHtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IG11dGF0aW9ucy5sZW5ndGg7IGkrKykge1xuICAgICAgdGhpcy5yZWdpc3Rlck11dGF0aW9uKG11dGF0aW9uc1tpXSk7XG4gICAgfVxuICB9O1xuXG4gIF9wcm90by5nZXRNdXRhdGlvblRleHRDb250ZW50ID0gZnVuY3Rpb24gZ2V0TXV0YXRpb25UZXh0Q29udGVudChtdXRhdGlvbikge1xuICAgIHZhciB0eXBlID0gbXV0YXRpb24udHlwZSxcbiAgICAgICAgdGFyZ2V0ID0gbXV0YXRpb24udGFyZ2V0LFxuICAgICAgICByZW1vdmVkTm9kZXMgPSBtdXRhdGlvbi5yZW1vdmVkTm9kZXM7XG5cbiAgICBpZiAodHlwZSA9PT0gJ2NoYXJhY3RlckRhdGEnKSB7XG4gICAgICAvLyBXaGVuIGB0ZXh0Q29udGVudGAgaXMgJycsIHRoZXJlIGlzIGEgcmFjZSBjb25kaXRpb24gdGhhdCBtYWtlc1xuICAgICAgLy8gZ2V0dGluZyB0aGUgb2Zmc2V0S2V5IGZyb20gdGhlIHRhcmdldCBub3QgcG9zc2libGUuXG4gICAgICAvLyBUaGVzZSBldmVudHMgYXJlIGFsc28gZm9sbG93ZWQgYnkgYSBgY2hpbGRMaXN0YCwgd2hpY2ggaXMgdGhlIG9uZVxuICAgICAgLy8gd2UgYXJlIGFibGUgdG8gcmV0cmlldmUgdGhlIG9mZnNldEtleSBhbmQgYXBwbHkgdGhlICcnIHRleHQuXG4gICAgICBpZiAodGFyZ2V0LnRleHRDb250ZW50ICE9PSAnJykge1xuICAgICAgICAvLyBJRSAxMSBjb25zaWRlcnMgdGhlIGVudGVyIGtleXByZXNzIHRoYXQgY29uY2x1ZGVzIHRoZSBjb21wb3NpdGlvblxuICAgICAgICAvLyBhcyBhbiBpbnB1dCBjaGFyLiBUaGlzIHN0cmlwcyB0aGF0IG5ld2xpbmUgY2hhcmFjdGVyIHNvIHRoZSBkcmFmdFxuICAgICAgICAvLyBzdGF0ZSBkb2VzIG5vdCByZWNlaXZlIHNwdXJpb3VzIG5ld2xpbmVzLlxuICAgICAgICBpZiAoVVNFX0NIQVJfREFUQSkge1xuICAgICAgICAgIHJldHVybiB0YXJnZXQudGV4dENvbnRlbnQucmVwbGFjZSgnXFxuJywgJycpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRhcmdldC50ZXh0Q29udGVudDtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdjaGlsZExpc3QnKSB7XG4gICAgICBpZiAocmVtb3ZlZE5vZGVzICYmIHJlbW92ZWROb2Rlcy5sZW5ndGgpIHtcbiAgICAgICAgLy8gYGNoYXJhY3RlckRhdGFgIGV2ZW50cyB3b24ndCBoYXBwZW4gb3IgYXJlIGlnbm9yZWQgd2hlblxuICAgICAgICAvLyByZW1vdmluZyB0aGUgbGFzdCBjaGFyYWN0ZXIgb2YgYSBsZWFmIG5vZGUsIHdoYXQgaGFwcGVuc1xuICAgICAgICAvLyBpbnN0ZWFkIGlzIGEgYGNoaWxkTGlzdGAgZXZlbnQgd2l0aCBhIGByZW1vdmVkTm9kZXNgIGFycmF5LlxuICAgICAgICAvLyBGb3IgdGhpcyBjYXNlIHRoZSB0ZXh0Q29udGVudCBzaG91bGQgYmUgJycgYW5kXG4gICAgICAgIC8vIGBEcmFmdE1vZGlmaWVyLnJlcGxhY2VUZXh0YCB3aWxsIG1ha2Ugc3VyZSB0aGUgY29udGVudCBpc1xuICAgICAgICAvLyB1cGRhdGVkIHByb3Blcmx5LlxuICAgICAgICByZXR1cm4gJyc7XG4gICAgICB9IGVsc2UgaWYgKHRhcmdldC50ZXh0Q29udGVudCAhPT0gJycpIHtcbiAgICAgICAgLy8gVHlwaW5nIENoaW5lc2UgaW4gYW4gZW1wdHkgYmxvY2sgaW4gTVMgRWRnZSByZXN1bHRzIGluIGFcbiAgICAgICAgLy8gYGNoaWxkTGlzdGAgZXZlbnQgd2l0aCBub24tZW1wdHkgdGV4dENvbnRlbnQuXG4gICAgICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svZHJhZnQtanMvaXNzdWVzLzIwODJcbiAgICAgICAgcmV0dXJuIHRhcmdldC50ZXh0Q29udGVudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfTtcblxuICBfcHJvdG8ucmVnaXN0ZXJNdXRhdGlvbiA9IGZ1bmN0aW9uIHJlZ2lzdGVyTXV0YXRpb24obXV0YXRpb24pIHtcbiAgICB2YXIgdGV4dENvbnRlbnQgPSB0aGlzLmdldE11dGF0aW9uVGV4dENvbnRlbnQobXV0YXRpb24pO1xuXG4gICAgaWYgKHRleHRDb250ZW50ICE9IG51bGwpIHtcbiAgICAgIHZhciBvZmZzZXRLZXkgPSBudWxsdGhyb3dzKGZpbmRBbmNlc3Rvck9mZnNldEtleShtdXRhdGlvbi50YXJnZXQpKTtcbiAgICAgIHRoaXMubXV0YXRpb25zID0gdGhpcy5tdXRhdGlvbnMuc2V0KG9mZnNldEtleSwgdGV4dENvbnRlbnQpO1xuICAgIH1cbiAgfTtcblxuICByZXR1cm4gRE9NT2JzZXJ2ZXI7XG59KCk7XG5cbm1vZHVsZS5leHBvcnRzID0gRE9NT2JzZXJ2ZXI7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/DOMObserver.js\n"); /***/ }), @@ -127,7 +150,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule DefaultDraftBlockRenderMap\n * @format\n * \n */\n\n\n\nvar _require = __webpack_require__(/*! immutable */ \"./node_modules/draft-js/node_modules/immutable/dist/immutable.js\"),\n Map = _require.Map;\n\nvar React = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n\nvar cx = __webpack_require__(/*! fbjs/lib/cx */ \"./node_modules/fbjs/lib/cx.js\");\n\nvar UL_WRAP = React.createElement('ul', { className: cx('public/DraftStyleDefault/ul') });\nvar OL_WRAP = React.createElement('ol', { className: cx('public/DraftStyleDefault/ol') });\nvar PRE_WRAP = React.createElement('pre', { className: cx('public/DraftStyleDefault/pre') });\n\nvar DefaultDraftBlockRenderMap = Map({\n 'header-one': {\n element: 'h1'\n },\n 'header-two': {\n element: 'h2'\n },\n 'header-three': {\n element: 'h3'\n },\n 'header-four': {\n element: 'h4'\n },\n 'header-five': {\n element: 'h5'\n },\n 'header-six': {\n element: 'h6'\n },\n 'unordered-list-item': {\n element: 'li',\n wrapper: UL_WRAP\n },\n 'ordered-list-item': {\n element: 'li',\n wrapper: OL_WRAP\n },\n blockquote: {\n element: 'blockquote'\n },\n atomic: {\n element: 'figure'\n },\n 'code-block': {\n element: 'pre',\n wrapper: PRE_WRAP\n },\n unstyled: {\n element: 'div',\n aliasedElements: ['p']\n }\n});\n\nmodule.exports = DefaultDraftBlockRenderMap;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0RlZmF1bHREcmFmdEJsb2NrUmVuZGVyTWFwLmpzP2FjMDUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVhOztBQUViLGVBQWUsbUJBQU8sQ0FBQyxtRkFBVztBQUNsQzs7QUFFQSxZQUFZLG1CQUFPLENBQUMsNENBQU87O0FBRTNCLFNBQVMsbUJBQU8sQ0FBQyxrREFBYTs7QUFFOUIseUNBQXlDLCtDQUErQztBQUN4Rix5Q0FBeUMsK0NBQStDO0FBQ3hGLDJDQUEyQyxnREFBZ0Q7O0FBRTNGO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRCIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvRGVmYXVsdERyYWZ0QmxvY2tSZW5kZXJNYXAuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxMy1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuICogQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBCU0Qtc3R5bGUgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS4gQW4gYWRkaXRpb25hbCBncmFudFxuICogb2YgcGF0ZW50IHJpZ2h0cyBjYW4gYmUgZm91bmQgaW4gdGhlIFBBVEVOVFMgZmlsZSBpbiB0aGUgc2FtZSBkaXJlY3RvcnkuXG4gKlxuICogQHByb3ZpZGVzTW9kdWxlIERlZmF1bHREcmFmdEJsb2NrUmVuZGVyTWFwXG4gKiBAZm9ybWF0XG4gKiBcbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbnZhciBfcmVxdWlyZSA9IHJlcXVpcmUoJ2ltbXV0YWJsZScpLFxuICAgIE1hcCA9IF9yZXF1aXJlLk1hcDtcblxudmFyIFJlYWN0ID0gcmVxdWlyZSgncmVhY3QnKTtcblxudmFyIGN4ID0gcmVxdWlyZSgnZmJqcy9saWIvY3gnKTtcblxudmFyIFVMX1dSQVAgPSBSZWFjdC5jcmVhdGVFbGVtZW50KCd1bCcsIHsgY2xhc3NOYW1lOiBjeCgncHVibGljL0RyYWZ0U3R5bGVEZWZhdWx0L3VsJykgfSk7XG52YXIgT0xfV1JBUCA9IFJlYWN0LmNyZWF0ZUVsZW1lbnQoJ29sJywgeyBjbGFzc05hbWU6IGN4KCdwdWJsaWMvRHJhZnRTdHlsZURlZmF1bHQvb2wnKSB9KTtcbnZhciBQUkVfV1JBUCA9IFJlYWN0LmNyZWF0ZUVsZW1lbnQoJ3ByZScsIHsgY2xhc3NOYW1lOiBjeCgncHVibGljL0RyYWZ0U3R5bGVEZWZhdWx0L3ByZScpIH0pO1xuXG52YXIgRGVmYXVsdERyYWZ0QmxvY2tSZW5kZXJNYXAgPSBNYXAoe1xuICAnaGVhZGVyLW9uZSc6IHtcbiAgICBlbGVtZW50OiAnaDEnXG4gIH0sXG4gICdoZWFkZXItdHdvJzoge1xuICAgIGVsZW1lbnQ6ICdoMidcbiAgfSxcbiAgJ2hlYWRlci10aHJlZSc6IHtcbiAgICBlbGVtZW50OiAnaDMnXG4gIH0sXG4gICdoZWFkZXItZm91cic6IHtcbiAgICBlbGVtZW50OiAnaDQnXG4gIH0sXG4gICdoZWFkZXItZml2ZSc6IHtcbiAgICBlbGVtZW50OiAnaDUnXG4gIH0sXG4gICdoZWFkZXItc2l4Jzoge1xuICAgIGVsZW1lbnQ6ICdoNidcbiAgfSxcbiAgJ3Vub3JkZXJlZC1saXN0LWl0ZW0nOiB7XG4gICAgZWxlbWVudDogJ2xpJyxcbiAgICB3cmFwcGVyOiBVTF9XUkFQXG4gIH0sXG4gICdvcmRlcmVkLWxpc3QtaXRlbSc6IHtcbiAgICBlbGVtZW50OiAnbGknLFxuICAgIHdyYXBwZXI6IE9MX1dSQVBcbiAgfSxcbiAgYmxvY2txdW90ZToge1xuICAgIGVsZW1lbnQ6ICdibG9ja3F1b3RlJ1xuICB9LFxuICBhdG9taWM6IHtcbiAgICBlbGVtZW50OiAnZmlndXJlJ1xuICB9LFxuICAnY29kZS1ibG9jayc6IHtcbiAgICBlbGVtZW50OiAncHJlJyxcbiAgICB3cmFwcGVyOiBQUkVfV1JBUFxuICB9LFxuICB1bnN0eWxlZDoge1xuICAgIGVsZW1lbnQ6ICdkaXYnLFxuICAgIGFsaWFzZWRFbGVtZW50czogWydwJ11cbiAgfVxufSk7XG5cbm1vZHVsZS5leHBvcnRzID0gRGVmYXVsdERyYWZ0QmxvY2tSZW5kZXJNYXA7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/DefaultDraftBlockRenderMap.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nvar React = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n\nvar cx = __webpack_require__(/*! fbjs/lib/cx */ \"./node_modules/fbjs/lib/cx.js\");\n\nvar _require = __webpack_require__(/*! immutable */ \"./node_modules/draft-js/node_modules/immutable/dist/immutable.js\"),\n Map = _require.Map;\n\nvar UL_WRAP = React.createElement(\"ul\", {\n className: cx('public/DraftStyleDefault/ul')\n});\nvar OL_WRAP = React.createElement(\"ol\", {\n className: cx('public/DraftStyleDefault/ol')\n});\nvar PRE_WRAP = React.createElement(\"pre\", {\n className: cx('public/DraftStyleDefault/pre')\n});\nvar DefaultDraftBlockRenderMap = Map({\n 'header-one': {\n element: 'h1'\n },\n 'header-two': {\n element: 'h2'\n },\n 'header-three': {\n element: 'h3'\n },\n 'header-four': {\n element: 'h4'\n },\n 'header-five': {\n element: 'h5'\n },\n 'header-six': {\n element: 'h6'\n },\n section: {\n element: 'section'\n },\n article: {\n element: 'article'\n },\n 'unordered-list-item': {\n element: 'li',\n wrapper: UL_WRAP\n },\n 'ordered-list-item': {\n element: 'li',\n wrapper: OL_WRAP\n },\n blockquote: {\n element: 'blockquote'\n },\n atomic: {\n element: 'figure'\n },\n 'code-block': {\n element: 'pre',\n wrapper: PRE_WRAP\n },\n unstyled: {\n element: 'div',\n aliasedElements: ['p']\n }\n});\nmodule.exports = DefaultDraftBlockRenderMap;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0RlZmF1bHREcmFmdEJsb2NrUmVuZGVyTWFwLmpzP2FjMDUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDYTs7QUFFYixZQUFZLG1CQUFPLENBQUMsNENBQU87O0FBRTNCLFNBQVMsbUJBQU8sQ0FBQyxrREFBYTs7QUFFOUIsZUFBZSxtQkFBTyxDQUFDLG1GQUFXO0FBQ2xDOztBQUVBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRCIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvRGVmYXVsdERyYWZ0QmxvY2tSZW5kZXJNYXAuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgRmFjZWJvb2ssIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIEBmb3JtYXRcbiAqIFxuICogQGVtYWlscyBvbmNhbGwrZHJhZnRfanNcbiAqL1xuJ3VzZSBzdHJpY3QnO1xuXG52YXIgUmVhY3QgPSByZXF1aXJlKFwicmVhY3RcIik7XG5cbnZhciBjeCA9IHJlcXVpcmUoXCJmYmpzL2xpYi9jeFwiKTtcblxudmFyIF9yZXF1aXJlID0gcmVxdWlyZShcImltbXV0YWJsZVwiKSxcbiAgICBNYXAgPSBfcmVxdWlyZS5NYXA7XG5cbnZhciBVTF9XUkFQID0gUmVhY3QuY3JlYXRlRWxlbWVudChcInVsXCIsIHtcbiAgY2xhc3NOYW1lOiBjeCgncHVibGljL0RyYWZ0U3R5bGVEZWZhdWx0L3VsJylcbn0pO1xudmFyIE9MX1dSQVAgPSBSZWFjdC5jcmVhdGVFbGVtZW50KFwib2xcIiwge1xuICBjbGFzc05hbWU6IGN4KCdwdWJsaWMvRHJhZnRTdHlsZURlZmF1bHQvb2wnKVxufSk7XG52YXIgUFJFX1dSQVAgPSBSZWFjdC5jcmVhdGVFbGVtZW50KFwicHJlXCIsIHtcbiAgY2xhc3NOYW1lOiBjeCgncHVibGljL0RyYWZ0U3R5bGVEZWZhdWx0L3ByZScpXG59KTtcbnZhciBEZWZhdWx0RHJhZnRCbG9ja1JlbmRlck1hcCA9IE1hcCh7XG4gICdoZWFkZXItb25lJzoge1xuICAgIGVsZW1lbnQ6ICdoMSdcbiAgfSxcbiAgJ2hlYWRlci10d28nOiB7XG4gICAgZWxlbWVudDogJ2gyJ1xuICB9LFxuICAnaGVhZGVyLXRocmVlJzoge1xuICAgIGVsZW1lbnQ6ICdoMydcbiAgfSxcbiAgJ2hlYWRlci1mb3VyJzoge1xuICAgIGVsZW1lbnQ6ICdoNCdcbiAgfSxcbiAgJ2hlYWRlci1maXZlJzoge1xuICAgIGVsZW1lbnQ6ICdoNSdcbiAgfSxcbiAgJ2hlYWRlci1zaXgnOiB7XG4gICAgZWxlbWVudDogJ2g2J1xuICB9LFxuICBzZWN0aW9uOiB7XG4gICAgZWxlbWVudDogJ3NlY3Rpb24nXG4gIH0sXG4gIGFydGljbGU6IHtcbiAgICBlbGVtZW50OiAnYXJ0aWNsZSdcbiAgfSxcbiAgJ3Vub3JkZXJlZC1saXN0LWl0ZW0nOiB7XG4gICAgZWxlbWVudDogJ2xpJyxcbiAgICB3cmFwcGVyOiBVTF9XUkFQXG4gIH0sXG4gICdvcmRlcmVkLWxpc3QtaXRlbSc6IHtcbiAgICBlbGVtZW50OiAnbGknLFxuICAgIHdyYXBwZXI6IE9MX1dSQVBcbiAgfSxcbiAgYmxvY2txdW90ZToge1xuICAgIGVsZW1lbnQ6ICdibG9ja3F1b3RlJ1xuICB9LFxuICBhdG9taWM6IHtcbiAgICBlbGVtZW50OiAnZmlndXJlJ1xuICB9LFxuICAnY29kZS1ibG9jayc6IHtcbiAgICBlbGVtZW50OiAncHJlJyxcbiAgICB3cmFwcGVyOiBQUkVfV1JBUFxuICB9LFxuICB1bnN0eWxlZDoge1xuICAgIGVsZW1lbnQ6ICdkaXYnLFxuICAgIGFsaWFzZWRFbGVtZW50czogWydwJ11cbiAgfVxufSk7XG5tb2R1bGUuZXhwb3J0cyA9IERlZmF1bHREcmFmdEJsb2NrUmVuZGVyTWFwOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/DefaultDraftBlockRenderMap.js\n"); /***/ }), @@ -139,7 +162,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule DefaultDraftInlineStyle\n * @format\n * \n */\n\n\n\nmodule.exports = {\n BOLD: {\n fontWeight: 'bold'\n },\n\n CODE: {\n fontFamily: 'monospace',\n wordWrap: 'break-word'\n },\n\n ITALIC: {\n fontStyle: 'italic'\n },\n\n STRIKETHROUGH: {\n textDecoration: 'line-through'\n },\n\n UNDERLINE: {\n textDecoration: 'underline'\n }\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0RlZmF1bHREcmFmdElubGluZVN0eWxlLmpzP2QxMzQiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVhOztBQUViO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvRGVmYXVsdERyYWZ0SW5saW5lU3R5bGUuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxMy1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuICogQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBCU0Qtc3R5bGUgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS4gQW4gYWRkaXRpb25hbCBncmFudFxuICogb2YgcGF0ZW50IHJpZ2h0cyBjYW4gYmUgZm91bmQgaW4gdGhlIFBBVEVOVFMgZmlsZSBpbiB0aGUgc2FtZSBkaXJlY3RvcnkuXG4gKlxuICogQHByb3ZpZGVzTW9kdWxlIERlZmF1bHREcmFmdElubGluZVN0eWxlXG4gKiBAZm9ybWF0XG4gKiBcbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbm1vZHVsZS5leHBvcnRzID0ge1xuICBCT0xEOiB7XG4gICAgZm9udFdlaWdodDogJ2JvbGQnXG4gIH0sXG5cbiAgQ09ERToge1xuICAgIGZvbnRGYW1pbHk6ICdtb25vc3BhY2UnLFxuICAgIHdvcmRXcmFwOiAnYnJlYWstd29yZCdcbiAgfSxcblxuICBJVEFMSUM6IHtcbiAgICBmb250U3R5bGU6ICdpdGFsaWMnXG4gIH0sXG5cbiAgU1RSSUtFVEhST1VHSDoge1xuICAgIHRleHREZWNvcmF0aW9uOiAnbGluZS10aHJvdWdoJ1xuICB9LFxuXG4gIFVOREVSTElORToge1xuICAgIHRleHREZWNvcmF0aW9uOiAndW5kZXJsaW5lJ1xuICB9XG59OyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/DefaultDraftInlineStyle.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nmodule.exports = {\n BOLD: {\n fontWeight: 'bold'\n },\n CODE: {\n fontFamily: 'monospace',\n wordWrap: 'break-word'\n },\n ITALIC: {\n fontStyle: 'italic'\n },\n STRIKETHROUGH: {\n textDecoration: 'line-through'\n },\n UNDERLINE: {\n textDecoration: 'underline'\n }\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0RlZmF1bHREcmFmdElubGluZVN0eWxlLmpzP2QxMzQiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDYTs7QUFFYjtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvRGVmYXVsdERyYWZ0SW5saW5lU3R5bGUuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgRmFjZWJvb2ssIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIEBmb3JtYXRcbiAqIFxuICogQGVtYWlscyBvbmNhbGwrZHJhZnRfanNcbiAqL1xuJ3VzZSBzdHJpY3QnO1xuXG5tb2R1bGUuZXhwb3J0cyA9IHtcbiAgQk9MRDoge1xuICAgIGZvbnRXZWlnaHQ6ICdib2xkJ1xuICB9LFxuICBDT0RFOiB7XG4gICAgZm9udEZhbWlseTogJ21vbm9zcGFjZScsXG4gICAgd29yZFdyYXA6ICdicmVhay13b3JkJ1xuICB9LFxuICBJVEFMSUM6IHtcbiAgICBmb250U3R5bGU6ICdpdGFsaWMnXG4gIH0sXG4gIFNUUklLRVRIUk9VR0g6IHtcbiAgICB0ZXh0RGVjb3JhdGlvbjogJ2xpbmUtdGhyb3VnaCdcbiAgfSxcbiAgVU5ERVJMSU5FOiB7XG4gICAgdGV4dERlY29yYXRpb246ICd1bmRlcmxpbmUnXG4gIH1cbn07Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/DefaultDraftInlineStyle.js\n"); /***/ }), @@ -151,7 +174,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule Draft\n * @format\n * \n */\n\n\n\nvar AtomicBlockUtils = __webpack_require__(/*! ./AtomicBlockUtils */ \"./node_modules/draft-js/lib/AtomicBlockUtils.js\");\nvar BlockMapBuilder = __webpack_require__(/*! ./BlockMapBuilder */ \"./node_modules/draft-js/lib/BlockMapBuilder.js\");\nvar CharacterMetadata = __webpack_require__(/*! ./CharacterMetadata */ \"./node_modules/draft-js/lib/CharacterMetadata.js\");\nvar CompositeDraftDecorator = __webpack_require__(/*! ./CompositeDraftDecorator */ \"./node_modules/draft-js/lib/CompositeDraftDecorator.js\");\nvar ContentBlock = __webpack_require__(/*! ./ContentBlock */ \"./node_modules/draft-js/lib/ContentBlock.js\");\nvar ContentState = __webpack_require__(/*! ./ContentState */ \"./node_modules/draft-js/lib/ContentState.js\");\nvar DefaultDraftBlockRenderMap = __webpack_require__(/*! ./DefaultDraftBlockRenderMap */ \"./node_modules/draft-js/lib/DefaultDraftBlockRenderMap.js\");\nvar DefaultDraftInlineStyle = __webpack_require__(/*! ./DefaultDraftInlineStyle */ \"./node_modules/draft-js/lib/DefaultDraftInlineStyle.js\");\nvar DraftEditor = __webpack_require__(/*! ./DraftEditor.react */ \"./node_modules/draft-js/lib/DraftEditor.react.js\");\nvar DraftEditorBlock = __webpack_require__(/*! ./DraftEditorBlock.react */ \"./node_modules/draft-js/lib/DraftEditorBlock.react.js\");\nvar DraftEntity = __webpack_require__(/*! ./DraftEntity */ \"./node_modules/draft-js/lib/DraftEntity.js\");\nvar DraftModifier = __webpack_require__(/*! ./DraftModifier */ \"./node_modules/draft-js/lib/DraftModifier.js\");\nvar DraftEntityInstance = __webpack_require__(/*! ./DraftEntityInstance */ \"./node_modules/draft-js/lib/DraftEntityInstance.js\");\nvar EditorState = __webpack_require__(/*! ./EditorState */ \"./node_modules/draft-js/lib/EditorState.js\");\nvar KeyBindingUtil = __webpack_require__(/*! ./KeyBindingUtil */ \"./node_modules/draft-js/lib/KeyBindingUtil.js\");\nvar RichTextEditorUtil = __webpack_require__(/*! ./RichTextEditorUtil */ \"./node_modules/draft-js/lib/RichTextEditorUtil.js\");\nvar SelectionState = __webpack_require__(/*! ./SelectionState */ \"./node_modules/draft-js/lib/SelectionState.js\");\n\nvar convertFromDraftStateToRaw = __webpack_require__(/*! ./convertFromDraftStateToRaw */ \"./node_modules/draft-js/lib/convertFromDraftStateToRaw.js\");\nvar convertFromHTMLToContentBlocks = __webpack_require__(/*! ./convertFromHTMLToContentBlocks */ \"./node_modules/draft-js/lib/convertFromHTMLToContentBlocks.js\");\nvar convertFromRawToDraftState = __webpack_require__(/*! ./convertFromRawToDraftState */ \"./node_modules/draft-js/lib/convertFromRawToDraftState.js\");\nvar generateRandomKey = __webpack_require__(/*! ./generateRandomKey */ \"./node_modules/draft-js/lib/generateRandomKey.js\");\nvar getDefaultKeyBinding = __webpack_require__(/*! ./getDefaultKeyBinding */ \"./node_modules/draft-js/lib/getDefaultKeyBinding.js\");\nvar getVisibleSelectionRect = __webpack_require__(/*! ./getVisibleSelectionRect */ \"./node_modules/draft-js/lib/getVisibleSelectionRect.js\");\n\nvar DraftPublic = {\n Editor: DraftEditor,\n EditorBlock: DraftEditorBlock,\n EditorState: EditorState,\n\n CompositeDecorator: CompositeDraftDecorator,\n Entity: DraftEntity,\n EntityInstance: DraftEntityInstance,\n\n BlockMapBuilder: BlockMapBuilder,\n CharacterMetadata: CharacterMetadata,\n ContentBlock: ContentBlock,\n ContentState: ContentState,\n SelectionState: SelectionState,\n\n AtomicBlockUtils: AtomicBlockUtils,\n KeyBindingUtil: KeyBindingUtil,\n Modifier: DraftModifier,\n RichUtils: RichTextEditorUtil,\n\n DefaultDraftBlockRenderMap: DefaultDraftBlockRenderMap,\n DefaultDraftInlineStyle: DefaultDraftInlineStyle,\n\n convertFromHTML: convertFromHTMLToContentBlocks,\n convertFromRaw: convertFromRawToDraftState,\n convertToRaw: convertFromDraftStateToRaw,\n genKey: generateRandomKey,\n getDefaultKeyBinding: getDefaultKeyBinding,\n getVisibleSelectionRect: getVisibleSelectionRect\n};\n\nmodule.exports = DraftPublic;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0RyYWZ0LmpzP2JmY2QiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVhOztBQUViLHVCQUF1QixtQkFBTyxDQUFDLDJFQUFvQjtBQUNuRCxzQkFBc0IsbUJBQU8sQ0FBQyx5RUFBbUI7QUFDakQsd0JBQXdCLG1CQUFPLENBQUMsNkVBQXFCO0FBQ3JELDhCQUE4QixtQkFBTyxDQUFDLHlGQUEyQjtBQUNqRSxtQkFBbUIsbUJBQU8sQ0FBQyxtRUFBZ0I7QUFDM0MsbUJBQW1CLG1CQUFPLENBQUMsbUVBQWdCO0FBQzNDLGlDQUFpQyxtQkFBTyxDQUFDLCtGQUE4QjtBQUN2RSw4QkFBOEIsbUJBQU8sQ0FBQyx5RkFBMkI7QUFDakUsa0JBQWtCLG1CQUFPLENBQUMsNkVBQXFCO0FBQy9DLHVCQUF1QixtQkFBTyxDQUFDLHVGQUEwQjtBQUN6RCxrQkFBa0IsbUJBQU8sQ0FBQyxpRUFBZTtBQUN6QyxvQkFBb0IsbUJBQU8sQ0FBQyxxRUFBaUI7QUFDN0MsMEJBQTBCLG1CQUFPLENBQUMsaUZBQXVCO0FBQ3pELGtCQUFrQixtQkFBTyxDQUFDLGlFQUFlO0FBQ3pDLHFCQUFxQixtQkFBTyxDQUFDLHVFQUFrQjtBQUMvQyx5QkFBeUIsbUJBQU8sQ0FBQywrRUFBc0I7QUFDdkQscUJBQXFCLG1CQUFPLENBQUMsdUVBQWtCOztBQUUvQyxpQ0FBaUMsbUJBQU8sQ0FBQywrRkFBOEI7QUFDdkUscUNBQXFDLG1CQUFPLENBQUMsdUdBQWtDO0FBQy9FLGlDQUFpQyxtQkFBTyxDQUFDLCtGQUE4QjtBQUN2RSx3QkFBd0IsbUJBQU8sQ0FBQyw2RUFBcUI7QUFDckQsMkJBQTJCLG1CQUFPLENBQUMsbUZBQXdCO0FBQzNELDhCQUE4QixtQkFBTyxDQUFDLHlGQUEyQjs7QUFFakU7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvRHJhZnQuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxMy1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuICogQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBCU0Qtc3R5bGUgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS4gQW4gYWRkaXRpb25hbCBncmFudFxuICogb2YgcGF0ZW50IHJpZ2h0cyBjYW4gYmUgZm91bmQgaW4gdGhlIFBBVEVOVFMgZmlsZSBpbiB0aGUgc2FtZSBkaXJlY3RvcnkuXG4gKlxuICogQHByb3ZpZGVzTW9kdWxlIERyYWZ0XG4gKiBAZm9ybWF0XG4gKiBcbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbnZhciBBdG9taWNCbG9ja1V0aWxzID0gcmVxdWlyZSgnLi9BdG9taWNCbG9ja1V0aWxzJyk7XG52YXIgQmxvY2tNYXBCdWlsZGVyID0gcmVxdWlyZSgnLi9CbG9ja01hcEJ1aWxkZXInKTtcbnZhciBDaGFyYWN0ZXJNZXRhZGF0YSA9IHJlcXVpcmUoJy4vQ2hhcmFjdGVyTWV0YWRhdGEnKTtcbnZhciBDb21wb3NpdGVEcmFmdERlY29yYXRvciA9IHJlcXVpcmUoJy4vQ29tcG9zaXRlRHJhZnREZWNvcmF0b3InKTtcbnZhciBDb250ZW50QmxvY2sgPSByZXF1aXJlKCcuL0NvbnRlbnRCbG9jaycpO1xudmFyIENvbnRlbnRTdGF0ZSA9IHJlcXVpcmUoJy4vQ29udGVudFN0YXRlJyk7XG52YXIgRGVmYXVsdERyYWZ0QmxvY2tSZW5kZXJNYXAgPSByZXF1aXJlKCcuL0RlZmF1bHREcmFmdEJsb2NrUmVuZGVyTWFwJyk7XG52YXIgRGVmYXVsdERyYWZ0SW5saW5lU3R5bGUgPSByZXF1aXJlKCcuL0RlZmF1bHREcmFmdElubGluZVN0eWxlJyk7XG52YXIgRHJhZnRFZGl0b3IgPSByZXF1aXJlKCcuL0RyYWZ0RWRpdG9yLnJlYWN0Jyk7XG52YXIgRHJhZnRFZGl0b3JCbG9jayA9IHJlcXVpcmUoJy4vRHJhZnRFZGl0b3JCbG9jay5yZWFjdCcpO1xudmFyIERyYWZ0RW50aXR5ID0gcmVxdWlyZSgnLi9EcmFmdEVudGl0eScpO1xudmFyIERyYWZ0TW9kaWZpZXIgPSByZXF1aXJlKCcuL0RyYWZ0TW9kaWZpZXInKTtcbnZhciBEcmFmdEVudGl0eUluc3RhbmNlID0gcmVxdWlyZSgnLi9EcmFmdEVudGl0eUluc3RhbmNlJyk7XG52YXIgRWRpdG9yU3RhdGUgPSByZXF1aXJlKCcuL0VkaXRvclN0YXRlJyk7XG52YXIgS2V5QmluZGluZ1V0aWwgPSByZXF1aXJlKCcuL0tleUJpbmRpbmdVdGlsJyk7XG52YXIgUmljaFRleHRFZGl0b3JVdGlsID0gcmVxdWlyZSgnLi9SaWNoVGV4dEVkaXRvclV0aWwnKTtcbnZhciBTZWxlY3Rpb25TdGF0ZSA9IHJlcXVpcmUoJy4vU2VsZWN0aW9uU3RhdGUnKTtcblxudmFyIGNvbnZlcnRGcm9tRHJhZnRTdGF0ZVRvUmF3ID0gcmVxdWlyZSgnLi9jb252ZXJ0RnJvbURyYWZ0U3RhdGVUb1JhdycpO1xudmFyIGNvbnZlcnRGcm9tSFRNTFRvQ29udGVudEJsb2NrcyA9IHJlcXVpcmUoJy4vY29udmVydEZyb21IVE1MVG9Db250ZW50QmxvY2tzJyk7XG52YXIgY29udmVydEZyb21SYXdUb0RyYWZ0U3RhdGUgPSByZXF1aXJlKCcuL2NvbnZlcnRGcm9tUmF3VG9EcmFmdFN0YXRlJyk7XG52YXIgZ2VuZXJhdGVSYW5kb21LZXkgPSByZXF1aXJlKCcuL2dlbmVyYXRlUmFuZG9tS2V5Jyk7XG52YXIgZ2V0RGVmYXVsdEtleUJpbmRpbmcgPSByZXF1aXJlKCcuL2dldERlZmF1bHRLZXlCaW5kaW5nJyk7XG52YXIgZ2V0VmlzaWJsZVNlbGVjdGlvblJlY3QgPSByZXF1aXJlKCcuL2dldFZpc2libGVTZWxlY3Rpb25SZWN0Jyk7XG5cbnZhciBEcmFmdFB1YmxpYyA9IHtcbiAgRWRpdG9yOiBEcmFmdEVkaXRvcixcbiAgRWRpdG9yQmxvY2s6IERyYWZ0RWRpdG9yQmxvY2ssXG4gIEVkaXRvclN0YXRlOiBFZGl0b3JTdGF0ZSxcblxuICBDb21wb3NpdGVEZWNvcmF0b3I6IENvbXBvc2l0ZURyYWZ0RGVjb3JhdG9yLFxuICBFbnRpdHk6IERyYWZ0RW50aXR5LFxuICBFbnRpdHlJbnN0YW5jZTogRHJhZnRFbnRpdHlJbnN0YW5jZSxcblxuICBCbG9ja01hcEJ1aWxkZXI6IEJsb2NrTWFwQnVpbGRlcixcbiAgQ2hhcmFjdGVyTWV0YWRhdGE6IENoYXJhY3Rlck1ldGFkYXRhLFxuICBDb250ZW50QmxvY2s6IENvbnRlbnRCbG9jayxcbiAgQ29udGVudFN0YXRlOiBDb250ZW50U3RhdGUsXG4gIFNlbGVjdGlvblN0YXRlOiBTZWxlY3Rpb25TdGF0ZSxcblxuICBBdG9taWNCbG9ja1V0aWxzOiBBdG9taWNCbG9ja1V0aWxzLFxuICBLZXlCaW5kaW5nVXRpbDogS2V5QmluZGluZ1V0aWwsXG4gIE1vZGlmaWVyOiBEcmFmdE1vZGlmaWVyLFxuICBSaWNoVXRpbHM6IFJpY2hUZXh0RWRpdG9yVXRpbCxcblxuICBEZWZhdWx0RHJhZnRCbG9ja1JlbmRlck1hcDogRGVmYXVsdERyYWZ0QmxvY2tSZW5kZXJNYXAsXG4gIERlZmF1bHREcmFmdElubGluZVN0eWxlOiBEZWZhdWx0RHJhZnRJbmxpbmVTdHlsZSxcblxuICBjb252ZXJ0RnJvbUhUTUw6IGNvbnZlcnRGcm9tSFRNTFRvQ29udGVudEJsb2NrcyxcbiAgY29udmVydEZyb21SYXc6IGNvbnZlcnRGcm9tUmF3VG9EcmFmdFN0YXRlLFxuICBjb252ZXJ0VG9SYXc6IGNvbnZlcnRGcm9tRHJhZnRTdGF0ZVRvUmF3LFxuICBnZW5LZXk6IGdlbmVyYXRlUmFuZG9tS2V5LFxuICBnZXREZWZhdWx0S2V5QmluZGluZzogZ2V0RGVmYXVsdEtleUJpbmRpbmcsXG4gIGdldFZpc2libGVTZWxlY3Rpb25SZWN0OiBnZXRWaXNpYmxlU2VsZWN0aW9uUmVjdFxufTtcblxubW9kdWxlLmV4cG9ydHMgPSBEcmFmdFB1YmxpYzsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/Draft.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n */\n\n\nvar AtomicBlockUtils = __webpack_require__(/*! ./AtomicBlockUtils */ \"./node_modules/draft-js/lib/AtomicBlockUtils.js\");\n\nvar BlockMapBuilder = __webpack_require__(/*! ./BlockMapBuilder */ \"./node_modules/draft-js/lib/BlockMapBuilder.js\");\n\nvar CharacterMetadata = __webpack_require__(/*! ./CharacterMetadata */ \"./node_modules/draft-js/lib/CharacterMetadata.js\");\n\nvar CompositeDraftDecorator = __webpack_require__(/*! ./CompositeDraftDecorator */ \"./node_modules/draft-js/lib/CompositeDraftDecorator.js\");\n\nvar ContentBlock = __webpack_require__(/*! ./ContentBlock */ \"./node_modules/draft-js/lib/ContentBlock.js\");\n\nvar ContentState = __webpack_require__(/*! ./ContentState */ \"./node_modules/draft-js/lib/ContentState.js\");\n\nvar DefaultDraftBlockRenderMap = __webpack_require__(/*! ./DefaultDraftBlockRenderMap */ \"./node_modules/draft-js/lib/DefaultDraftBlockRenderMap.js\");\n\nvar DefaultDraftInlineStyle = __webpack_require__(/*! ./DefaultDraftInlineStyle */ \"./node_modules/draft-js/lib/DefaultDraftInlineStyle.js\");\n\nvar DraftEditor = __webpack_require__(/*! ./DraftEditor.react */ \"./node_modules/draft-js/lib/DraftEditor.react.js\");\n\nvar DraftEditorBlock = __webpack_require__(/*! ./DraftEditorBlock.react */ \"./node_modules/draft-js/lib/DraftEditorBlock.react.js\");\n\nvar DraftEntity = __webpack_require__(/*! ./DraftEntity */ \"./node_modules/draft-js/lib/DraftEntity.js\");\n\nvar DraftModifier = __webpack_require__(/*! ./DraftModifier */ \"./node_modules/draft-js/lib/DraftModifier.js\");\n\nvar DraftEntityInstance = __webpack_require__(/*! ./DraftEntityInstance */ \"./node_modules/draft-js/lib/DraftEntityInstance.js\");\n\nvar EditorState = __webpack_require__(/*! ./EditorState */ \"./node_modules/draft-js/lib/EditorState.js\");\n\nvar KeyBindingUtil = __webpack_require__(/*! ./KeyBindingUtil */ \"./node_modules/draft-js/lib/KeyBindingUtil.js\");\n\nvar RawDraftContentState = __webpack_require__(/*! ./RawDraftContentState */ \"./node_modules/draft-js/lib/RawDraftContentState.js\");\n\nvar RichTextEditorUtil = __webpack_require__(/*! ./RichTextEditorUtil */ \"./node_modules/draft-js/lib/RichTextEditorUtil.js\");\n\nvar SelectionState = __webpack_require__(/*! ./SelectionState */ \"./node_modules/draft-js/lib/SelectionState.js\");\n\nvar convertFromDraftStateToRaw = __webpack_require__(/*! ./convertFromDraftStateToRaw */ \"./node_modules/draft-js/lib/convertFromDraftStateToRaw.js\");\n\nvar convertFromRawToDraftState = __webpack_require__(/*! ./convertFromRawToDraftState */ \"./node_modules/draft-js/lib/convertFromRawToDraftState.js\");\n\nvar generateRandomKey = __webpack_require__(/*! ./generateRandomKey */ \"./node_modules/draft-js/lib/generateRandomKey.js\");\n\nvar getDefaultKeyBinding = __webpack_require__(/*! ./getDefaultKeyBinding */ \"./node_modules/draft-js/lib/getDefaultKeyBinding.js\");\n\nvar getVisibleSelectionRect = __webpack_require__(/*! ./getVisibleSelectionRect */ \"./node_modules/draft-js/lib/getVisibleSelectionRect.js\");\n\nvar convertFromHTML = __webpack_require__(/*! ./convertFromHTMLToContentBlocks */ \"./node_modules/draft-js/lib/convertFromHTMLToContentBlocks.js\");\n\nvar DraftPublic = {\n Editor: DraftEditor,\n EditorBlock: DraftEditorBlock,\n EditorState: EditorState,\n CompositeDecorator: CompositeDraftDecorator,\n Entity: DraftEntity,\n EntityInstance: DraftEntityInstance,\n BlockMapBuilder: BlockMapBuilder,\n CharacterMetadata: CharacterMetadata,\n ContentBlock: ContentBlock,\n ContentState: ContentState,\n RawDraftContentState: RawDraftContentState,\n SelectionState: SelectionState,\n AtomicBlockUtils: AtomicBlockUtils,\n KeyBindingUtil: KeyBindingUtil,\n Modifier: DraftModifier,\n RichUtils: RichTextEditorUtil,\n DefaultDraftBlockRenderMap: DefaultDraftBlockRenderMap,\n DefaultDraftInlineStyle: DefaultDraftInlineStyle,\n convertFromHTML: convertFromHTML,\n convertFromRaw: convertFromRawToDraftState,\n convertToRaw: convertFromDraftStateToRaw,\n genKey: generateRandomKey,\n getDefaultKeyBinding: getDefaultKeyBinding,\n getVisibleSelectionRect: getVisibleSelectionRect\n};\nmodule.exports = DraftPublic;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0RyYWZ0LmpzP2JmY2QiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ2E7O0FBRWIsdUJBQXVCLG1CQUFPLENBQUMsMkVBQW9COztBQUVuRCxzQkFBc0IsbUJBQU8sQ0FBQyx5RUFBbUI7O0FBRWpELHdCQUF3QixtQkFBTyxDQUFDLDZFQUFxQjs7QUFFckQsOEJBQThCLG1CQUFPLENBQUMseUZBQTJCOztBQUVqRSxtQkFBbUIsbUJBQU8sQ0FBQyxtRUFBZ0I7O0FBRTNDLG1CQUFtQixtQkFBTyxDQUFDLG1FQUFnQjs7QUFFM0MsaUNBQWlDLG1CQUFPLENBQUMsK0ZBQThCOztBQUV2RSw4QkFBOEIsbUJBQU8sQ0FBQyx5RkFBMkI7O0FBRWpFLGtCQUFrQixtQkFBTyxDQUFDLDZFQUFxQjs7QUFFL0MsdUJBQXVCLG1CQUFPLENBQUMsdUZBQTBCOztBQUV6RCxrQkFBa0IsbUJBQU8sQ0FBQyxpRUFBZTs7QUFFekMsb0JBQW9CLG1CQUFPLENBQUMscUVBQWlCOztBQUU3QywwQkFBMEIsbUJBQU8sQ0FBQyxpRkFBdUI7O0FBRXpELGtCQUFrQixtQkFBTyxDQUFDLGlFQUFlOztBQUV6QyxxQkFBcUIsbUJBQU8sQ0FBQyx1RUFBa0I7O0FBRS9DLDJCQUEyQixtQkFBTyxDQUFDLG1GQUF3Qjs7QUFFM0QseUJBQXlCLG1CQUFPLENBQUMsK0VBQXNCOztBQUV2RCxxQkFBcUIsbUJBQU8sQ0FBQyx1RUFBa0I7O0FBRS9DLGlDQUFpQyxtQkFBTyxDQUFDLCtGQUE4Qjs7QUFFdkUsaUNBQWlDLG1CQUFPLENBQUMsK0ZBQThCOztBQUV2RSx3QkFBd0IsbUJBQU8sQ0FBQyw2RUFBcUI7O0FBRXJELDJCQUEyQixtQkFBTyxDQUFDLG1GQUF3Qjs7QUFFM0QsOEJBQThCLG1CQUFPLENBQUMseUZBQTJCOztBQUVqRSxzQkFBc0IsbUJBQU8sQ0FBQyx1R0FBa0M7O0FBRWhFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvRHJhZnQuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgRmFjZWJvb2ssIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIEBmb3JtYXRcbiAqIFxuICovXG4ndXNlIHN0cmljdCc7XG5cbnZhciBBdG9taWNCbG9ja1V0aWxzID0gcmVxdWlyZShcIi4vQXRvbWljQmxvY2tVdGlsc1wiKTtcblxudmFyIEJsb2NrTWFwQnVpbGRlciA9IHJlcXVpcmUoXCIuL0Jsb2NrTWFwQnVpbGRlclwiKTtcblxudmFyIENoYXJhY3Rlck1ldGFkYXRhID0gcmVxdWlyZShcIi4vQ2hhcmFjdGVyTWV0YWRhdGFcIik7XG5cbnZhciBDb21wb3NpdGVEcmFmdERlY29yYXRvciA9IHJlcXVpcmUoXCIuL0NvbXBvc2l0ZURyYWZ0RGVjb3JhdG9yXCIpO1xuXG52YXIgQ29udGVudEJsb2NrID0gcmVxdWlyZShcIi4vQ29udGVudEJsb2NrXCIpO1xuXG52YXIgQ29udGVudFN0YXRlID0gcmVxdWlyZShcIi4vQ29udGVudFN0YXRlXCIpO1xuXG52YXIgRGVmYXVsdERyYWZ0QmxvY2tSZW5kZXJNYXAgPSByZXF1aXJlKFwiLi9EZWZhdWx0RHJhZnRCbG9ja1JlbmRlck1hcFwiKTtcblxudmFyIERlZmF1bHREcmFmdElubGluZVN0eWxlID0gcmVxdWlyZShcIi4vRGVmYXVsdERyYWZ0SW5saW5lU3R5bGVcIik7XG5cbnZhciBEcmFmdEVkaXRvciA9IHJlcXVpcmUoXCIuL0RyYWZ0RWRpdG9yLnJlYWN0XCIpO1xuXG52YXIgRHJhZnRFZGl0b3JCbG9jayA9IHJlcXVpcmUoXCIuL0RyYWZ0RWRpdG9yQmxvY2sucmVhY3RcIik7XG5cbnZhciBEcmFmdEVudGl0eSA9IHJlcXVpcmUoXCIuL0RyYWZ0RW50aXR5XCIpO1xuXG52YXIgRHJhZnRNb2RpZmllciA9IHJlcXVpcmUoXCIuL0RyYWZ0TW9kaWZpZXJcIik7XG5cbnZhciBEcmFmdEVudGl0eUluc3RhbmNlID0gcmVxdWlyZShcIi4vRHJhZnRFbnRpdHlJbnN0YW5jZVwiKTtcblxudmFyIEVkaXRvclN0YXRlID0gcmVxdWlyZShcIi4vRWRpdG9yU3RhdGVcIik7XG5cbnZhciBLZXlCaW5kaW5nVXRpbCA9IHJlcXVpcmUoXCIuL0tleUJpbmRpbmdVdGlsXCIpO1xuXG52YXIgUmF3RHJhZnRDb250ZW50U3RhdGUgPSByZXF1aXJlKFwiLi9SYXdEcmFmdENvbnRlbnRTdGF0ZVwiKTtcblxudmFyIFJpY2hUZXh0RWRpdG9yVXRpbCA9IHJlcXVpcmUoXCIuL1JpY2hUZXh0RWRpdG9yVXRpbFwiKTtcblxudmFyIFNlbGVjdGlvblN0YXRlID0gcmVxdWlyZShcIi4vU2VsZWN0aW9uU3RhdGVcIik7XG5cbnZhciBjb252ZXJ0RnJvbURyYWZ0U3RhdGVUb1JhdyA9IHJlcXVpcmUoXCIuL2NvbnZlcnRGcm9tRHJhZnRTdGF0ZVRvUmF3XCIpO1xuXG52YXIgY29udmVydEZyb21SYXdUb0RyYWZ0U3RhdGUgPSByZXF1aXJlKFwiLi9jb252ZXJ0RnJvbVJhd1RvRHJhZnRTdGF0ZVwiKTtcblxudmFyIGdlbmVyYXRlUmFuZG9tS2V5ID0gcmVxdWlyZShcIi4vZ2VuZXJhdGVSYW5kb21LZXlcIik7XG5cbnZhciBnZXREZWZhdWx0S2V5QmluZGluZyA9IHJlcXVpcmUoXCIuL2dldERlZmF1bHRLZXlCaW5kaW5nXCIpO1xuXG52YXIgZ2V0VmlzaWJsZVNlbGVjdGlvblJlY3QgPSByZXF1aXJlKFwiLi9nZXRWaXNpYmxlU2VsZWN0aW9uUmVjdFwiKTtcblxudmFyIGNvbnZlcnRGcm9tSFRNTCA9IHJlcXVpcmUoXCIuL2NvbnZlcnRGcm9tSFRNTFRvQ29udGVudEJsb2Nrc1wiKTtcblxudmFyIERyYWZ0UHVibGljID0ge1xuICBFZGl0b3I6IERyYWZ0RWRpdG9yLFxuICBFZGl0b3JCbG9jazogRHJhZnRFZGl0b3JCbG9jayxcbiAgRWRpdG9yU3RhdGU6IEVkaXRvclN0YXRlLFxuICBDb21wb3NpdGVEZWNvcmF0b3I6IENvbXBvc2l0ZURyYWZ0RGVjb3JhdG9yLFxuICBFbnRpdHk6IERyYWZ0RW50aXR5LFxuICBFbnRpdHlJbnN0YW5jZTogRHJhZnRFbnRpdHlJbnN0YW5jZSxcbiAgQmxvY2tNYXBCdWlsZGVyOiBCbG9ja01hcEJ1aWxkZXIsXG4gIENoYXJhY3Rlck1ldGFkYXRhOiBDaGFyYWN0ZXJNZXRhZGF0YSxcbiAgQ29udGVudEJsb2NrOiBDb250ZW50QmxvY2ssXG4gIENvbnRlbnRTdGF0ZTogQ29udGVudFN0YXRlLFxuICBSYXdEcmFmdENvbnRlbnRTdGF0ZTogUmF3RHJhZnRDb250ZW50U3RhdGUsXG4gIFNlbGVjdGlvblN0YXRlOiBTZWxlY3Rpb25TdGF0ZSxcbiAgQXRvbWljQmxvY2tVdGlsczogQXRvbWljQmxvY2tVdGlscyxcbiAgS2V5QmluZGluZ1V0aWw6IEtleUJpbmRpbmdVdGlsLFxuICBNb2RpZmllcjogRHJhZnRNb2RpZmllcixcbiAgUmljaFV0aWxzOiBSaWNoVGV4dEVkaXRvclV0aWwsXG4gIERlZmF1bHREcmFmdEJsb2NrUmVuZGVyTWFwOiBEZWZhdWx0RHJhZnRCbG9ja1JlbmRlck1hcCxcbiAgRGVmYXVsdERyYWZ0SW5saW5lU3R5bGU6IERlZmF1bHREcmFmdElubGluZVN0eWxlLFxuICBjb252ZXJ0RnJvbUhUTUw6IGNvbnZlcnRGcm9tSFRNTCxcbiAgY29udmVydEZyb21SYXc6IGNvbnZlcnRGcm9tUmF3VG9EcmFmdFN0YXRlLFxuICBjb252ZXJ0VG9SYXc6IGNvbnZlcnRGcm9tRHJhZnRTdGF0ZVRvUmF3LFxuICBnZW5LZXk6IGdlbmVyYXRlUmFuZG9tS2V5LFxuICBnZXREZWZhdWx0S2V5QmluZGluZzogZ2V0RGVmYXVsdEtleUJpbmRpbmcsXG4gIGdldFZpc2libGVTZWxlY3Rpb25SZWN0OiBnZXRWaXNpYmxlU2VsZWN0aW9uUmVjdFxufTtcbm1vZHVsZS5leHBvcnRzID0gRHJhZnRQdWJsaWM7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/Draft.js\n"); /***/ }), @@ -163,7 +186,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule DraftEditor.react\n * @format\n * \n * @preventMunge\n */\n\n\n\nvar _assign = __webpack_require__(/*! object-assign */ \"./node_modules/object-assign/index.js\");\n\nvar _extends = _assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar DefaultDraftBlockRenderMap = __webpack_require__(/*! ./DefaultDraftBlockRenderMap */ \"./node_modules/draft-js/lib/DefaultDraftBlockRenderMap.js\");\nvar DefaultDraftInlineStyle = __webpack_require__(/*! ./DefaultDraftInlineStyle */ \"./node_modules/draft-js/lib/DefaultDraftInlineStyle.js\");\nvar DraftEditorCompositionHandler = __webpack_require__(/*! ./DraftEditorCompositionHandler */ \"./node_modules/draft-js/lib/DraftEditorCompositionHandler.js\");\nvar DraftEditorContents = __webpack_require__(/*! ./DraftEditorContents.react */ \"./node_modules/draft-js/lib/DraftEditorContents.react.js\");\nvar DraftEditorDragHandler = __webpack_require__(/*! ./DraftEditorDragHandler */ \"./node_modules/draft-js/lib/DraftEditorDragHandler.js\");\nvar DraftEditorEditHandler = __webpack_require__(/*! ./DraftEditorEditHandler */ \"./node_modules/draft-js/lib/DraftEditorEditHandler.js\");\nvar DraftEditorPlaceholder = __webpack_require__(/*! ./DraftEditorPlaceholder.react */ \"./node_modules/draft-js/lib/DraftEditorPlaceholder.react.js\");\nvar EditorState = __webpack_require__(/*! ./EditorState */ \"./node_modules/draft-js/lib/EditorState.js\");\nvar React = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\nvar ReactDOM = __webpack_require__(/*! react-dom */ \"./node_modules/react-dom/index.js\");\nvar Scroll = __webpack_require__(/*! fbjs/lib/Scroll */ \"./node_modules/fbjs/lib/Scroll.js\");\nvar Style = __webpack_require__(/*! fbjs/lib/Style */ \"./node_modules/fbjs/lib/Style.js\");\nvar UserAgent = __webpack_require__(/*! fbjs/lib/UserAgent */ \"./node_modules/fbjs/lib/UserAgent.js\");\n\nvar cx = __webpack_require__(/*! fbjs/lib/cx */ \"./node_modules/fbjs/lib/cx.js\");\nvar emptyFunction = __webpack_require__(/*! fbjs/lib/emptyFunction */ \"./node_modules/fbjs/lib/emptyFunction.js\");\nvar generateRandomKey = __webpack_require__(/*! ./generateRandomKey */ \"./node_modules/draft-js/lib/generateRandomKey.js\");\nvar getDefaultKeyBinding = __webpack_require__(/*! ./getDefaultKeyBinding */ \"./node_modules/draft-js/lib/getDefaultKeyBinding.js\");\nvar getScrollPosition = __webpack_require__(/*! fbjs/lib/getScrollPosition */ \"./node_modules/fbjs/lib/getScrollPosition.js\");\nvar invariant = __webpack_require__(/*! fbjs/lib/invariant */ \"./node_modules/fbjs/lib/invariant.js\");\nvar nullthrows = __webpack_require__(/*! fbjs/lib/nullthrows */ \"./node_modules/fbjs/lib/nullthrows.js\");\n\nvar isIE = UserAgent.isBrowser('IE');\n\n// IE does not support the `input` event on contentEditable, so we can't\n// observe spellcheck behavior.\nvar allowSpellCheck = !isIE;\n\n// Define a set of handler objects to correspond to each possible `mode`\n// of editor behavior.\nvar handlerMap = {\n edit: DraftEditorEditHandler,\n composite: DraftEditorCompositionHandler,\n drag: DraftEditorDragHandler,\n cut: null,\n render: null\n};\n\n/**\n * `DraftEditor` is the root editor component. It composes a `contentEditable`\n * div, and provides a wide variety of useful function props for managing the\n * state of the editor. See `DraftEditorProps` for details.\n */\nvar DraftEditor = function (_React$Component) {\n _inherits(DraftEditor, _React$Component);\n\n function DraftEditor(props) {\n _classCallCheck(this, DraftEditor);\n\n var _this = _possibleConstructorReturn(this, _React$Component.call(this, props));\n\n _this.focus = function (scrollPosition) {\n var editorState = _this.props.editorState;\n\n var alreadyHasFocus = editorState.getSelection().getHasFocus();\n var editorNode = ReactDOM.findDOMNode(_this.editor);\n\n if (!editorNode) {\n // once in a while people call 'focus' in a setTimeout, and the node has\n // been deleted, so it can be null in that case.\n return;\n }\n\n var scrollParent = Style.getScrollParent(editorNode);\n\n var _ref = scrollPosition || getScrollPosition(scrollParent),\n x = _ref.x,\n y = _ref.y;\n\n !(editorNode instanceof HTMLElement) ? true ? invariant(false, 'editorNode is not an HTMLElement') : undefined : void 0;\n editorNode.focus();\n\n // Restore scroll position\n if (scrollParent === window) {\n window.scrollTo(x, y);\n } else {\n Scroll.setTop(scrollParent, y);\n }\n\n // On Chrome and Safari, calling focus on contenteditable focuses the\n // cursor at the first character. This is something you don't expect when\n // you're clicking on an input element but not directly on a character.\n // Put the cursor back where it was before the blur.\n if (!alreadyHasFocus) {\n _this.update(EditorState.forceSelection(editorState, editorState.getSelection()));\n }\n };\n\n _this.blur = function () {\n var editorNode = ReactDOM.findDOMNode(_this.editor);\n !(editorNode instanceof HTMLElement) ? true ? invariant(false, 'editorNode is not an HTMLElement') : undefined : void 0;\n editorNode.blur();\n };\n\n _this.setMode = function (mode) {\n _this._handler = handlerMap[mode];\n };\n\n _this.exitCurrentMode = function () {\n _this.setMode('edit');\n };\n\n _this.restoreEditorDOM = function (scrollPosition) {\n _this.setState({ contentsKey: _this.state.contentsKey + 1 }, function () {\n _this.focus(scrollPosition);\n });\n };\n\n _this.setClipboard = function (clipboard) {\n _this._clipboard = clipboard;\n };\n\n _this.getClipboard = function () {\n return _this._clipboard;\n };\n\n _this.update = function (editorState) {\n _this._latestEditorState = editorState;\n _this.props.onChange(editorState);\n };\n\n _this.onDragEnter = function () {\n _this._dragCount++;\n };\n\n _this.onDragLeave = function () {\n _this._dragCount--;\n if (_this._dragCount === 0) {\n _this.exitCurrentMode();\n }\n };\n\n _this._blockSelectEvents = false;\n _this._clipboard = null;\n _this._handler = null;\n _this._dragCount = 0;\n _this._editorKey = props.editorKey || generateRandomKey();\n _this._placeholderAccessibilityID = 'placeholder-' + _this._editorKey;\n _this._latestEditorState = props.editorState;\n _this._latestCommittedEditorState = props.editorState;\n\n _this._onBeforeInput = _this._buildHandler('onBeforeInput');\n _this._onBlur = _this._buildHandler('onBlur');\n _this._onCharacterData = _this._buildHandler('onCharacterData');\n _this._onCompositionEnd = _this._buildHandler('onCompositionEnd');\n _this._onCompositionStart = _this._buildHandler('onCompositionStart');\n _this._onCopy = _this._buildHandler('onCopy');\n _this._onCut = _this._buildHandler('onCut');\n _this._onDragEnd = _this._buildHandler('onDragEnd');\n _this._onDragOver = _this._buildHandler('onDragOver');\n _this._onDragStart = _this._buildHandler('onDragStart');\n _this._onDrop = _this._buildHandler('onDrop');\n _this._onInput = _this._buildHandler('onInput');\n _this._onFocus = _this._buildHandler('onFocus');\n _this._onKeyDown = _this._buildHandler('onKeyDown');\n _this._onKeyPress = _this._buildHandler('onKeyPress');\n _this._onKeyUp = _this._buildHandler('onKeyUp');\n _this._onMouseDown = _this._buildHandler('onMouseDown');\n _this._onMouseUp = _this._buildHandler('onMouseUp');\n _this._onPaste = _this._buildHandler('onPaste');\n _this._onSelect = _this._buildHandler('onSelect');\n\n _this.getEditorKey = function () {\n return _this._editorKey;\n };\n\n // See `restoreEditorDOM()`.\n _this.state = { contentsKey: 0 };\n return _this;\n }\n\n /**\n * Build a method that will pass the event to the specified handler method.\n * This allows us to look up the correct handler function for the current\n * editor mode, if any has been specified.\n */\n\n\n /**\n * Define proxies that can route events to the current handler.\n */\n\n\n DraftEditor.prototype._buildHandler = function _buildHandler(eventName) {\n var _this2 = this;\n\n return function (e) {\n if (!_this2.props.readOnly) {\n var method = _this2._handler && _this2._handler[eventName];\n method && method(_this2, e);\n }\n };\n };\n\n DraftEditor.prototype._showPlaceholder = function _showPlaceholder() {\n return !!this.props.placeholder && !this.props.editorState.isInCompositionMode() && !this.props.editorState.getCurrentContent().hasText();\n };\n\n DraftEditor.prototype._renderPlaceholder = function _renderPlaceholder() {\n if (this._showPlaceholder()) {\n var placeHolderProps = {\n text: nullthrows(this.props.placeholder),\n editorState: this.props.editorState,\n textAlignment: this.props.textAlignment,\n accessibilityID: this._placeholderAccessibilityID\n };\n\n return React.createElement(DraftEditorPlaceholder, placeHolderProps);\n }\n return null;\n };\n\n DraftEditor.prototype.render = function render() {\n var _this3 = this;\n\n var _props = this.props,\n blockRenderMap = _props.blockRenderMap,\n blockRendererFn = _props.blockRendererFn,\n blockStyleFn = _props.blockStyleFn,\n customStyleFn = _props.customStyleFn,\n customStyleMap = _props.customStyleMap,\n editorState = _props.editorState,\n readOnly = _props.readOnly,\n textAlignment = _props.textAlignment,\n textDirectionality = _props.textDirectionality;\n\n\n var rootClass = cx({\n 'DraftEditor/root': true,\n 'DraftEditor/alignLeft': textAlignment === 'left',\n 'DraftEditor/alignRight': textAlignment === 'right',\n 'DraftEditor/alignCenter': textAlignment === 'center'\n });\n\n var contentStyle = {\n outline: 'none',\n // fix parent-draggable Safari bug. #1326\n userSelect: 'text',\n WebkitUserSelect: 'text',\n whiteSpace: 'pre-wrap',\n wordWrap: 'break-word'\n };\n\n // The aria-expanded and aria-haspopup properties should only be rendered\n // for a combobox.\n var ariaRole = this.props.role || 'textbox';\n var ariaExpanded = ariaRole === 'combobox' ? !!this.props.ariaExpanded : null;\n\n var editorContentsProps = {\n blockRenderMap: blockRenderMap,\n blockRendererFn: blockRendererFn,\n blockStyleFn: blockStyleFn,\n customStyleMap: _extends({}, DefaultDraftInlineStyle, customStyleMap),\n customStyleFn: customStyleFn,\n editorKey: this._editorKey,\n editorState: editorState,\n key: 'contents' + this.state.contentsKey,\n textDirectionality: textDirectionality\n };\n\n return React.createElement(\n 'div',\n { className: rootClass },\n this._renderPlaceholder(),\n React.createElement(\n 'div',\n {\n className: cx('DraftEditor/editorContainer'),\n ref: function ref(_ref3) {\n return _this3.editorContainer = _ref3;\n } },\n React.createElement(\n 'div',\n {\n 'aria-activedescendant': readOnly ? null : this.props.ariaActiveDescendantID,\n 'aria-autocomplete': readOnly ? null : this.props.ariaAutoComplete,\n 'aria-controls': readOnly ? null : this.props.ariaControls,\n 'aria-describedby': this.props.ariaDescribedBy || this._placeholderAccessibilityID,\n 'aria-expanded': readOnly ? null : ariaExpanded,\n 'aria-label': this.props.ariaLabel,\n 'aria-labelledby': this.props.ariaLabelledBy,\n 'aria-multiline': this.props.ariaMultiline,\n autoCapitalize: this.props.autoCapitalize,\n autoComplete: this.props.autoComplete,\n autoCorrect: this.props.autoCorrect,\n className: cx({\n // Chrome's built-in translation feature mutates the DOM in ways\n // that Draft doesn't expect (ex: adding tags inside\n // DraftEditorLeaf spans) and causes problems. We add notranslate\n // here which makes its autotranslation skip over this subtree.\n notranslate: !readOnly,\n 'public/DraftEditor/content': true\n }),\n contentEditable: !readOnly,\n 'data-testid': this.props.webDriverTestID,\n onBeforeInput: this._onBeforeInput,\n onBlur: this._onBlur,\n onCompositionEnd: this._onCompositionEnd,\n onCompositionStart: this._onCompositionStart,\n onCopy: this._onCopy,\n onCut: this._onCut,\n onDragEnd: this._onDragEnd,\n onDragEnter: this.onDragEnter,\n onDragLeave: this.onDragLeave,\n onDragOver: this._onDragOver,\n onDragStart: this._onDragStart,\n onDrop: this._onDrop,\n onFocus: this._onFocus,\n onInput: this._onInput,\n onKeyDown: this._onKeyDown,\n onKeyPress: this._onKeyPress,\n onKeyUp: this._onKeyUp,\n onMouseUp: this._onMouseUp,\n onPaste: this._onPaste,\n onSelect: this._onSelect,\n ref: function ref(_ref2) {\n return _this3.editor = _ref2;\n },\n role: readOnly ? null : ariaRole,\n spellCheck: allowSpellCheck && this.props.spellCheck,\n style: contentStyle,\n suppressContentEditableWarning: true,\n tabIndex: this.props.tabIndex },\n React.createElement(DraftEditorContents, editorContentsProps)\n )\n )\n );\n };\n\n DraftEditor.prototype.componentDidMount = function componentDidMount() {\n this.setMode('edit');\n\n /**\n * IE has a hardcoded \"feature\" that attempts to convert link text into\n * anchors in contentEditable DOM. This breaks the editor's expectations of\n * the DOM, and control is lost. Disable it to make IE behave.\n * See: http://blogs.msdn.com/b/ieinternals/archive/2010/09/15/\n * ie9-beta-minor-change-list.aspx\n */\n if (isIE) {\n document.execCommand('AutoUrlDetect', false, false);\n }\n };\n\n /**\n * Prevent selection events from affecting the current editor state. This\n * is mostly intended to defend against IE, which fires off `selectionchange`\n * events regardless of whether the selection is set via the browser or\n * programmatically. We only care about selection events that occur because\n * of browser interaction, not re-renders and forced selections.\n */\n\n\n DraftEditor.prototype.componentWillUpdate = function componentWillUpdate(nextProps) {\n this._blockSelectEvents = true;\n this._latestEditorState = nextProps.editorState;\n };\n\n DraftEditor.prototype.componentDidUpdate = function componentDidUpdate() {\n this._blockSelectEvents = false;\n this._latestCommittedEditorState = this.props.editorState;\n };\n\n /**\n * Used via `this.focus()`.\n *\n * Force focus back onto the editor node.\n *\n * We attempt to preserve scroll position when focusing. You can also pass\n * a specified scroll position (for cases like `cut` behavior where it should\n * be restored to a known position).\n */\n\n\n /**\n * Used via `this.setMode(...)`.\n *\n * Set the behavior mode for the editor component. This switches the current\n * handler module to ensure that DOM events are managed appropriately for\n * the active mode.\n */\n\n\n /**\n * Used via `this.restoreEditorDOM()`.\n *\n * Force a complete re-render of the DraftEditorContents based on the current\n * EditorState. This is useful when we know we are going to lose control of\n * the DOM state (cut command, IME) and we want to make sure that\n * reconciliation occurs on a version of the DOM that is synchronized with\n * our EditorState.\n */\n\n\n /**\n * Used via `this.setClipboard(...)`.\n *\n * Set the clipboard state for a cut/copy event.\n */\n\n\n /**\n * Used via `this.getClipboard()`.\n *\n * Retrieve the clipboard state for a cut/copy event.\n */\n\n\n /**\n * Used via `this.update(...)`.\n *\n * Propagate a new `EditorState` object to higher-level components. This is\n * the method by which event handlers inform the `DraftEditor` component of\n * state changes. A component that composes a `DraftEditor` **must** provide\n * an `onChange` prop to receive state updates passed along from this\n * function.\n */\n\n\n /**\n * Used in conjunction with `onDragLeave()`, by counting the number of times\n * a dragged element enters and leaves the editor (or any of its children),\n * to determine when the dragged element absolutely leaves the editor.\n */\n\n\n /**\n * See `onDragEnter()`.\n */\n\n\n return DraftEditor;\n}(React.Component);\n\nDraftEditor.defaultProps = {\n blockRenderMap: DefaultDraftBlockRenderMap,\n blockRendererFn: emptyFunction.thatReturnsNull,\n blockStyleFn: emptyFunction.thatReturns(''),\n keyBindingFn: getDefaultKeyBinding,\n readOnly: false,\n spellCheck: false,\n stripPastedStyles: false\n};\n\n\nmodule.exports = DraftEditor;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0RyYWZ0RWRpdG9yLnJlYWN0LmpzP2VhZGMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWE7O0FBRWIsY0FBYyxtQkFBTyxDQUFDLDREQUFlOztBQUVyQyw2Q0FBNkMsZ0JBQWdCLHNCQUFzQixPQUFPLDJCQUEyQiwwQkFBMEIseURBQXlELDJCQUEyQixFQUFFLEVBQUUsRUFBRSxlQUFlOztBQUV4UCxpREFBaUQsMENBQTBDLDBEQUEwRCxFQUFFOztBQUV2SixpREFBaUQsYUFBYSx1RkFBdUYsRUFBRSx1RkFBdUY7O0FBRTlPLDBDQUEwQywrREFBK0QscUdBQXFHLEVBQUUseUVBQXlFLGVBQWUseUVBQXlFLEVBQUUsRUFBRSx1SEFBdUg7O0FBRTVlLGlDQUFpQyxtQkFBTyxDQUFDLCtGQUE4QjtBQUN2RSw4QkFBOEIsbUJBQU8sQ0FBQyx5RkFBMkI7QUFDakUsb0NBQW9DLG1CQUFPLENBQUMscUdBQWlDO0FBQzdFLDBCQUEwQixtQkFBTyxDQUFDLDZGQUE2QjtBQUMvRCw2QkFBNkIsbUJBQU8sQ0FBQyx1RkFBMEI7QUFDL0QsNkJBQTZCLG1CQUFPLENBQUMsdUZBQTBCO0FBQy9ELDZCQUE2QixtQkFBTyxDQUFDLG1HQUFnQztBQUNyRSxrQkFBa0IsbUJBQU8sQ0FBQyxpRUFBZTtBQUN6QyxZQUFZLG1CQUFPLENBQUMsNENBQU87QUFDM0IsZUFBZSxtQkFBTyxDQUFDLG9EQUFXO0FBQ2xDLGFBQWEsbUJBQU8sQ0FBQywwREFBaUI7QUFDdEMsWUFBWSxtQkFBTyxDQUFDLHdEQUFnQjtBQUNwQyxnQkFBZ0IsbUJBQU8sQ0FBQyxnRUFBb0I7O0FBRTVDLFNBQVMsbUJBQU8sQ0FBQyxrREFBYTtBQUM5QixvQkFBb0IsbUJBQU8sQ0FBQyx3RUFBd0I7QUFDcEQsd0JBQXdCLG1CQUFPLENBQUMsNkVBQXFCO0FBQ3JELDJCQUEyQixtQkFBTyxDQUFDLG1GQUF3QjtBQUMzRCx3QkFBd0IsbUJBQU8sQ0FBQyxnRkFBNEI7QUFDNUQsZ0JBQWdCLG1CQUFPLENBQUMsZ0VBQW9CO0FBQzVDLGlCQUFpQixtQkFBTyxDQUFDLGtFQUFxQjs7QUFFOUM7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSw2Q0FBNkMsS0FBcUMsMERBQTBELFNBQWdCO0FBQzVKOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLDZDQUE2QyxLQUFxQywwREFBMEQsU0FBZ0I7QUFDNUo7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0Esc0JBQXNCLDJDQUEyQztBQUNqRTtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLG1CQUFtQjtBQUNuQjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUNBQWlDO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsT0FBTyx1QkFBdUI7QUFDOUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLEVBQUU7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkNBQTJDO0FBQzNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvRHJhZnRFZGl0b3IucmVhY3QuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxMy1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuICogQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBCU0Qtc3R5bGUgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS4gQW4gYWRkaXRpb25hbCBncmFudFxuICogb2YgcGF0ZW50IHJpZ2h0cyBjYW4gYmUgZm91bmQgaW4gdGhlIFBBVEVOVFMgZmlsZSBpbiB0aGUgc2FtZSBkaXJlY3RvcnkuXG4gKlxuICogQHByb3ZpZGVzTW9kdWxlIERyYWZ0RWRpdG9yLnJlYWN0XG4gKiBAZm9ybWF0XG4gKiBcbiAqIEBwcmV2ZW50TXVuZ2VcbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbnZhciBfYXNzaWduID0gcmVxdWlyZSgnb2JqZWN0LWFzc2lnbicpO1xuXG52YXIgX2V4dGVuZHMgPSBfYXNzaWduIHx8IGZ1bmN0aW9uICh0YXJnZXQpIHsgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHsgdmFyIHNvdXJjZSA9IGFyZ3VtZW50c1tpXTsgZm9yICh2YXIga2V5IGluIHNvdXJjZSkgeyBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHNvdXJjZSwga2V5KSkgeyB0YXJnZXRba2V5XSA9IHNvdXJjZVtrZXldOyB9IH0gfSByZXR1cm4gdGFyZ2V0OyB9O1xuXG5mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7IGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7IH0gfVxuXG5mdW5jdGlvbiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybihzZWxmLCBjYWxsKSB7IGlmICghc2VsZikgeyB0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoXCJ0aGlzIGhhc24ndCBiZWVuIGluaXRpYWxpc2VkIC0gc3VwZXIoKSBoYXNuJ3QgYmVlbiBjYWxsZWRcIik7IH0gcmV0dXJuIGNhbGwgJiYgKHR5cGVvZiBjYWxsID09PSBcIm9iamVjdFwiIHx8IHR5cGVvZiBjYWxsID09PSBcImZ1bmN0aW9uXCIpID8gY2FsbCA6IHNlbGY7IH1cblxuZnVuY3Rpb24gX2luaGVyaXRzKHN1YkNsYXNzLCBzdXBlckNsYXNzKSB7IGlmICh0eXBlb2Ygc3VwZXJDbGFzcyAhPT0gXCJmdW5jdGlvblwiICYmIHN1cGVyQ2xhc3MgIT09IG51bGwpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN1cGVyIGV4cHJlc3Npb24gbXVzdCBlaXRoZXIgYmUgbnVsbCBvciBhIGZ1bmN0aW9uLCBub3QgXCIgKyB0eXBlb2Ygc3VwZXJDbGFzcyk7IH0gc3ViQ2xhc3MucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShzdXBlckNsYXNzICYmIHN1cGVyQ2xhc3MucHJvdG90eXBlLCB7IGNvbnN0cnVjdG9yOiB7IHZhbHVlOiBzdWJDbGFzcywgZW51bWVyYWJsZTogZmFsc2UsIHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUgfSB9KTsgaWYgKHN1cGVyQ2xhc3MpIE9iamVjdC5zZXRQcm90b3R5cGVPZiA/IE9iamVjdC5zZXRQcm90b3R5cGVPZihzdWJDbGFzcywgc3VwZXJDbGFzcykgOiBzdWJDbGFzcy5fX3Byb3RvX18gPSBzdXBlckNsYXNzOyB9XG5cbnZhciBEZWZhdWx0RHJhZnRCbG9ja1JlbmRlck1hcCA9IHJlcXVpcmUoJy4vRGVmYXVsdERyYWZ0QmxvY2tSZW5kZXJNYXAnKTtcbnZhciBEZWZhdWx0RHJhZnRJbmxpbmVTdHlsZSA9IHJlcXVpcmUoJy4vRGVmYXVsdERyYWZ0SW5saW5lU3R5bGUnKTtcbnZhciBEcmFmdEVkaXRvckNvbXBvc2l0aW9uSGFuZGxlciA9IHJlcXVpcmUoJy4vRHJhZnRFZGl0b3JDb21wb3NpdGlvbkhhbmRsZXInKTtcbnZhciBEcmFmdEVkaXRvckNvbnRlbnRzID0gcmVxdWlyZSgnLi9EcmFmdEVkaXRvckNvbnRlbnRzLnJlYWN0Jyk7XG52YXIgRHJhZnRFZGl0b3JEcmFnSGFuZGxlciA9IHJlcXVpcmUoJy4vRHJhZnRFZGl0b3JEcmFnSGFuZGxlcicpO1xudmFyIERyYWZ0RWRpdG9yRWRpdEhhbmRsZXIgPSByZXF1aXJlKCcuL0RyYWZ0RWRpdG9yRWRpdEhhbmRsZXInKTtcbnZhciBEcmFmdEVkaXRvclBsYWNlaG9sZGVyID0gcmVxdWlyZSgnLi9EcmFmdEVkaXRvclBsYWNlaG9sZGVyLnJlYWN0Jyk7XG52YXIgRWRpdG9yU3RhdGUgPSByZXF1aXJlKCcuL0VkaXRvclN0YXRlJyk7XG52YXIgUmVhY3QgPSByZXF1aXJlKCdyZWFjdCcpO1xudmFyIFJlYWN0RE9NID0gcmVxdWlyZSgncmVhY3QtZG9tJyk7XG52YXIgU2Nyb2xsID0gcmVxdWlyZSgnZmJqcy9saWIvU2Nyb2xsJyk7XG52YXIgU3R5bGUgPSByZXF1aXJlKCdmYmpzL2xpYi9TdHlsZScpO1xudmFyIFVzZXJBZ2VudCA9IHJlcXVpcmUoJ2ZianMvbGliL1VzZXJBZ2VudCcpO1xuXG52YXIgY3ggPSByZXF1aXJlKCdmYmpzL2xpYi9jeCcpO1xudmFyIGVtcHR5RnVuY3Rpb24gPSByZXF1aXJlKCdmYmpzL2xpYi9lbXB0eUZ1bmN0aW9uJyk7XG52YXIgZ2VuZXJhdGVSYW5kb21LZXkgPSByZXF1aXJlKCcuL2dlbmVyYXRlUmFuZG9tS2V5Jyk7XG52YXIgZ2V0RGVmYXVsdEtleUJpbmRpbmcgPSByZXF1aXJlKCcuL2dldERlZmF1bHRLZXlCaW5kaW5nJyk7XG52YXIgZ2V0U2Nyb2xsUG9zaXRpb24gPSByZXF1aXJlKCdmYmpzL2xpYi9nZXRTY3JvbGxQb3NpdGlvbicpO1xudmFyIGludmFyaWFudCA9IHJlcXVpcmUoJ2ZianMvbGliL2ludmFyaWFudCcpO1xudmFyIG51bGx0aHJvd3MgPSByZXF1aXJlKCdmYmpzL2xpYi9udWxsdGhyb3dzJyk7XG5cbnZhciBpc0lFID0gVXNlckFnZW50LmlzQnJvd3NlcignSUUnKTtcblxuLy8gSUUgZG9lcyBub3Qgc3VwcG9ydCB0aGUgYGlucHV0YCBldmVudCBvbiBjb250ZW50RWRpdGFibGUsIHNvIHdlIGNhbid0XG4vLyBvYnNlcnZlIHNwZWxsY2hlY2sgYmVoYXZpb3IuXG52YXIgYWxsb3dTcGVsbENoZWNrID0gIWlzSUU7XG5cbi8vIERlZmluZSBhIHNldCBvZiBoYW5kbGVyIG9iamVjdHMgdG8gY29ycmVzcG9uZCB0byBlYWNoIHBvc3NpYmxlIGBtb2RlYFxuLy8gb2YgZWRpdG9yIGJlaGF2aW9yLlxudmFyIGhhbmRsZXJNYXAgPSB7XG4gIGVkaXQ6IERyYWZ0RWRpdG9yRWRpdEhhbmRsZXIsXG4gIGNvbXBvc2l0ZTogRHJhZnRFZGl0b3JDb21wb3NpdGlvbkhhbmRsZXIsXG4gIGRyYWc6IERyYWZ0RWRpdG9yRHJhZ0hhbmRsZXIsXG4gIGN1dDogbnVsbCxcbiAgcmVuZGVyOiBudWxsXG59O1xuXG4vKipcbiAqIGBEcmFmdEVkaXRvcmAgaXMgdGhlIHJvb3QgZWRpdG9yIGNvbXBvbmVudC4gSXQgY29tcG9zZXMgYSBgY29udGVudEVkaXRhYmxlYFxuICogZGl2LCBhbmQgcHJvdmlkZXMgYSB3aWRlIHZhcmlldHkgb2YgdXNlZnVsIGZ1bmN0aW9uIHByb3BzIGZvciBtYW5hZ2luZyB0aGVcbiAqIHN0YXRlIG9mIHRoZSBlZGl0b3IuIFNlZSBgRHJhZnRFZGl0b3JQcm9wc2AgZm9yIGRldGFpbHMuXG4gKi9cbnZhciBEcmFmdEVkaXRvciA9IGZ1bmN0aW9uIChfUmVhY3QkQ29tcG9uZW50KSB7XG4gIF9pbmhlcml0cyhEcmFmdEVkaXRvciwgX1JlYWN0JENvbXBvbmVudCk7XG5cbiAgZnVuY3Rpb24gRHJhZnRFZGl0b3IocHJvcHMpIHtcbiAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgRHJhZnRFZGl0b3IpO1xuXG4gICAgdmFyIF90aGlzID0gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4odGhpcywgX1JlYWN0JENvbXBvbmVudC5jYWxsKHRoaXMsIHByb3BzKSk7XG5cbiAgICBfdGhpcy5mb2N1cyA9IGZ1bmN0aW9uIChzY3JvbGxQb3NpdGlvbikge1xuICAgICAgdmFyIGVkaXRvclN0YXRlID0gX3RoaXMucHJvcHMuZWRpdG9yU3RhdGU7XG5cbiAgICAgIHZhciBhbHJlYWR5SGFzRm9jdXMgPSBlZGl0b3JTdGF0ZS5nZXRTZWxlY3Rpb24oKS5nZXRIYXNGb2N1cygpO1xuICAgICAgdmFyIGVkaXRvck5vZGUgPSBSZWFjdERPTS5maW5kRE9NTm9kZShfdGhpcy5lZGl0b3IpO1xuXG4gICAgICBpZiAoIWVkaXRvck5vZGUpIHtcbiAgICAgICAgLy8gb25jZSBpbiBhIHdoaWxlIHBlb3BsZSBjYWxsICdmb2N1cycgaW4gYSBzZXRUaW1lb3V0LCBhbmQgdGhlIG5vZGUgaGFzXG4gICAgICAgIC8vIGJlZW4gZGVsZXRlZCwgc28gaXQgY2FuIGJlIG51bGwgaW4gdGhhdCBjYXNlLlxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHZhciBzY3JvbGxQYXJlbnQgPSBTdHlsZS5nZXRTY3JvbGxQYXJlbnQoZWRpdG9yTm9kZSk7XG5cbiAgICAgIHZhciBfcmVmID0gc2Nyb2xsUG9zaXRpb24gfHwgZ2V0U2Nyb2xsUG9zaXRpb24oc2Nyb2xsUGFyZW50KSxcbiAgICAgICAgICB4ID0gX3JlZi54LFxuICAgICAgICAgIHkgPSBfcmVmLnk7XG5cbiAgICAgICEoZWRpdG9yTm9kZSBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSA/IHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgPyBpbnZhcmlhbnQoZmFsc2UsICdlZGl0b3JOb2RlIGlzIG5vdCBhbiBIVE1MRWxlbWVudCcpIDogaW52YXJpYW50KGZhbHNlKSA6IHZvaWQgMDtcbiAgICAgIGVkaXRvck5vZGUuZm9jdXMoKTtcblxuICAgICAgLy8gUmVzdG9yZSBzY3JvbGwgcG9zaXRpb25cbiAgICAgIGlmIChzY3JvbGxQYXJlbnQgPT09IHdpbmRvdykge1xuICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oeCwgeSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBTY3JvbGwuc2V0VG9wKHNjcm9sbFBhcmVudCwgeSk7XG4gICAgICB9XG5cbiAgICAgIC8vIE9uIENocm9tZSBhbmQgU2FmYXJpLCBjYWxsaW5nIGZvY3VzIG9uIGNvbnRlbnRlZGl0YWJsZSBmb2N1c2VzIHRoZVxuICAgICAgLy8gY3Vyc29yIGF0IHRoZSBmaXJzdCBjaGFyYWN0ZXIuIFRoaXMgaXMgc29tZXRoaW5nIHlvdSBkb24ndCBleHBlY3Qgd2hlblxuICAgICAgLy8geW91J3JlIGNsaWNraW5nIG9uIGFuIGlucHV0IGVsZW1lbnQgYnV0IG5vdCBkaXJlY3RseSBvbiBhIGNoYXJhY3Rlci5cbiAgICAgIC8vIFB1dCB0aGUgY3Vyc29yIGJhY2sgd2hlcmUgaXQgd2FzIGJlZm9yZSB0aGUgYmx1ci5cbiAgICAgIGlmICghYWxyZWFkeUhhc0ZvY3VzKSB7XG4gICAgICAgIF90aGlzLnVwZGF0ZShFZGl0b3JTdGF0ZS5mb3JjZVNlbGVjdGlvbihlZGl0b3JTdGF0ZSwgZWRpdG9yU3RhdGUuZ2V0U2VsZWN0aW9uKCkpKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgX3RoaXMuYmx1ciA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIHZhciBlZGl0b3JOb2RlID0gUmVhY3RET00uZmluZERPTU5vZGUoX3RoaXMuZWRpdG9yKTtcbiAgICAgICEoZWRpdG9yTm9kZSBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSA/IHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgPyBpbnZhcmlhbnQoZmFsc2UsICdlZGl0b3JOb2RlIGlzIG5vdCBhbiBIVE1MRWxlbWVudCcpIDogaW52YXJpYW50KGZhbHNlKSA6IHZvaWQgMDtcbiAgICAgIGVkaXRvck5vZGUuYmx1cigpO1xuICAgIH07XG5cbiAgICBfdGhpcy5zZXRNb2RlID0gZnVuY3Rpb24gKG1vZGUpIHtcbiAgICAgIF90aGlzLl9oYW5kbGVyID0gaGFuZGxlck1hcFttb2RlXTtcbiAgICB9O1xuXG4gICAgX3RoaXMuZXhpdEN1cnJlbnRNb2RlID0gZnVuY3Rpb24gKCkge1xuICAgICAgX3RoaXMuc2V0TW9kZSgnZWRpdCcpO1xuICAgIH07XG5cbiAgICBfdGhpcy5yZXN0b3JlRWRpdG9yRE9NID0gZnVuY3Rpb24gKHNjcm9sbFBvc2l0aW9uKSB7XG4gICAgICBfdGhpcy5zZXRTdGF0ZSh7IGNvbnRlbnRzS2V5OiBfdGhpcy5zdGF0ZS5jb250ZW50c0tleSArIDEgfSwgZnVuY3Rpb24gKCkge1xuICAgICAgICBfdGhpcy5mb2N1cyhzY3JvbGxQb3NpdGlvbik7XG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgX3RoaXMuc2V0Q2xpcGJvYXJkID0gZnVuY3Rpb24gKGNsaXBib2FyZCkge1xuICAgICAgX3RoaXMuX2NsaXBib2FyZCA9IGNsaXBib2FyZDtcbiAgICB9O1xuXG4gICAgX3RoaXMuZ2V0Q2xpcGJvYXJkID0gZnVuY3Rpb24gKCkge1xuICAgICAgcmV0dXJuIF90aGlzLl9jbGlwYm9hcmQ7XG4gICAgfTtcblxuICAgIF90aGlzLnVwZGF0ZSA9IGZ1bmN0aW9uIChlZGl0b3JTdGF0ZSkge1xuICAgICAgX3RoaXMuX2xhdGVzdEVkaXRvclN0YXRlID0gZWRpdG9yU3RhdGU7XG4gICAgICBfdGhpcy5wcm9wcy5vbkNoYW5nZShlZGl0b3JTdGF0ZSk7XG4gICAgfTtcblxuICAgIF90aGlzLm9uRHJhZ0VudGVyID0gZnVuY3Rpb24gKCkge1xuICAgICAgX3RoaXMuX2RyYWdDb3VudCsrO1xuICAgIH07XG5cbiAgICBfdGhpcy5vbkRyYWdMZWF2ZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIF90aGlzLl9kcmFnQ291bnQtLTtcbiAgICAgIGlmIChfdGhpcy5fZHJhZ0NvdW50ID09PSAwKSB7XG4gICAgICAgIF90aGlzLmV4aXRDdXJyZW50TW9kZSgpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBfdGhpcy5fYmxvY2tTZWxlY3RFdmVudHMgPSBmYWxzZTtcbiAgICBfdGhpcy5fY2xpcGJvYXJkID0gbnVsbDtcbiAgICBfdGhpcy5faGFuZGxlciA9IG51bGw7XG4gICAgX3RoaXMuX2RyYWdDb3VudCA9IDA7XG4gICAgX3RoaXMuX2VkaXRvcktleSA9IHByb3BzLmVkaXRvcktleSB8fCBnZW5lcmF0ZVJhbmRvbUtleSgpO1xuICAgIF90aGlzLl9wbGFjZWhvbGRlckFjY2Vzc2liaWxpdHlJRCA9ICdwbGFjZWhvbGRlci0nICsgX3RoaXMuX2VkaXRvcktleTtcbiAgICBfdGhpcy5fbGF0ZXN0RWRpdG9yU3RhdGUgPSBwcm9wcy5lZGl0b3JTdGF0ZTtcbiAgICBfdGhpcy5fbGF0ZXN0Q29tbWl0dGVkRWRpdG9yU3RhdGUgPSBwcm9wcy5lZGl0b3JTdGF0ZTtcblxuICAgIF90aGlzLl9vbkJlZm9yZUlucHV0ID0gX3RoaXMuX2J1aWxkSGFuZGxlcignb25CZWZvcmVJbnB1dCcpO1xuICAgIF90aGlzLl9vbkJsdXIgPSBfdGhpcy5fYnVpbGRIYW5kbGVyKCdvbkJsdXInKTtcbiAgICBfdGhpcy5fb25DaGFyYWN0ZXJEYXRhID0gX3RoaXMuX2J1aWxkSGFuZGxlcignb25DaGFyYWN0ZXJEYXRhJyk7XG4gICAgX3RoaXMuX29uQ29tcG9zaXRpb25FbmQgPSBfdGhpcy5fYnVpbGRIYW5kbGVyKCdvbkNvbXBvc2l0aW9uRW5kJyk7XG4gICAgX3RoaXMuX29uQ29tcG9zaXRpb25TdGFydCA9IF90aGlzLl9idWlsZEhhbmRsZXIoJ29uQ29tcG9zaXRpb25TdGFydCcpO1xuICAgIF90aGlzLl9vbkNvcHkgPSBfdGhpcy5fYnVpbGRIYW5kbGVyKCdvbkNvcHknKTtcbiAgICBfdGhpcy5fb25DdXQgPSBfdGhpcy5fYnVpbGRIYW5kbGVyKCdvbkN1dCcpO1xuICAgIF90aGlzLl9vbkRyYWdFbmQgPSBfdGhpcy5fYnVpbGRIYW5kbGVyKCdvbkRyYWdFbmQnKTtcbiAgICBfdGhpcy5fb25EcmFnT3ZlciA9IF90aGlzLl9idWlsZEhhbmRsZXIoJ29uRHJhZ092ZXInKTtcbiAgICBfdGhpcy5fb25EcmFnU3RhcnQgPSBfdGhpcy5fYnVpbGRIYW5kbGVyKCdvbkRyYWdTdGFydCcpO1xuICAgIF90aGlzLl9vbkRyb3AgPSBfdGhpcy5fYnVpbGRIYW5kbGVyKCdvbkRyb3AnKTtcbiAgICBfdGhpcy5fb25JbnB1dCA9IF90aGlzLl9idWlsZEhhbmRsZXIoJ29uSW5wdXQnKTtcbiAgICBfdGhpcy5fb25Gb2N1cyA9IF90aGlzLl9idWlsZEhhbmRsZXIoJ29uRm9jdXMnKTtcbiAgICBfdGhpcy5fb25LZXlEb3duID0gX3RoaXMuX2J1aWxkSGFuZGxlcignb25LZXlEb3duJyk7XG4gICAgX3RoaXMuX29uS2V5UHJlc3MgPSBfdGhpcy5fYnVpbGRIYW5kbGVyKCdvbktleVByZXNzJyk7XG4gICAgX3RoaXMuX29uS2V5VXAgPSBfdGhpcy5fYnVpbGRIYW5kbGVyKCdvbktleVVwJyk7XG4gICAgX3RoaXMuX29uTW91c2VEb3duID0gX3RoaXMuX2J1aWxkSGFuZGxlcignb25Nb3VzZURvd24nKTtcbiAgICBfdGhpcy5fb25Nb3VzZVVwID0gX3RoaXMuX2J1aWxkSGFuZGxlcignb25Nb3VzZVVwJyk7XG4gICAgX3RoaXMuX29uUGFzdGUgPSBfdGhpcy5fYnVpbGRIYW5kbGVyKCdvblBhc3RlJyk7XG4gICAgX3RoaXMuX29uU2VsZWN0ID0gX3RoaXMuX2J1aWxkSGFuZGxlcignb25TZWxlY3QnKTtcblxuICAgIF90aGlzLmdldEVkaXRvcktleSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIHJldHVybiBfdGhpcy5fZWRpdG9yS2V5O1xuICAgIH07XG5cbiAgICAvLyBTZWUgYHJlc3RvcmVFZGl0b3JET00oKWAuXG4gICAgX3RoaXMuc3RhdGUgPSB7IGNvbnRlbnRzS2V5OiAwIH07XG4gICAgcmV0dXJuIF90aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIEJ1aWxkIGEgbWV0aG9kIHRoYXQgd2lsbCBwYXNzIHRoZSBldmVudCB0byB0aGUgc3BlY2lmaWVkIGhhbmRsZXIgbWV0aG9kLlxuICAgKiBUaGlzIGFsbG93cyB1cyB0byBsb29rIHVwIHRoZSBjb3JyZWN0IGhhbmRsZXIgZnVuY3Rpb24gZm9yIHRoZSBjdXJyZW50XG4gICAqIGVkaXRvciBtb2RlLCBpZiBhbnkgaGFzIGJlZW4gc3BlY2lmaWVkLlxuICAgKi9cblxuXG4gIC8qKlxuICAgKiBEZWZpbmUgcHJveGllcyB0aGF0IGNhbiByb3V0ZSBldmVudHMgdG8gdGhlIGN1cnJlbnQgaGFuZGxlci5cbiAgICovXG5cblxuICBEcmFmdEVkaXRvci5wcm90b3R5cGUuX2J1aWxkSGFuZGxlciA9IGZ1bmN0aW9uIF9idWlsZEhhbmRsZXIoZXZlbnROYW1lKSB7XG4gICAgdmFyIF90aGlzMiA9IHRoaXM7XG5cbiAgICByZXR1cm4gZnVuY3Rpb24gKGUpIHtcbiAgICAgIGlmICghX3RoaXMyLnByb3BzLnJlYWRPbmx5KSB7XG4gICAgICAgIHZhciBtZXRob2QgPSBfdGhpczIuX2hhbmRsZXIgJiYgX3RoaXMyLl9oYW5kbGVyW2V2ZW50TmFtZV07XG4gICAgICAgIG1ldGhvZCAmJiBtZXRob2QoX3RoaXMyLCBlKTtcbiAgICAgIH1cbiAgICB9O1xuICB9O1xuXG4gIERyYWZ0RWRpdG9yLnByb3RvdHlwZS5fc2hvd1BsYWNlaG9sZGVyID0gZnVuY3Rpb24gX3Nob3dQbGFjZWhvbGRlcigpIHtcbiAgICByZXR1cm4gISF0aGlzLnByb3BzLnBsYWNlaG9sZGVyICYmICF0aGlzLnByb3BzLmVkaXRvclN0YXRlLmlzSW5Db21wb3NpdGlvbk1vZGUoKSAmJiAhdGhpcy5wcm9wcy5lZGl0b3JTdGF0ZS5nZXRDdXJyZW50Q29udGVudCgpLmhhc1RleHQoKTtcbiAgfTtcblxuICBEcmFmdEVkaXRvci5wcm90b3R5cGUuX3JlbmRlclBsYWNlaG9sZGVyID0gZnVuY3Rpb24gX3JlbmRlclBsYWNlaG9sZGVyKCkge1xuICAgIGlmICh0aGlzLl9zaG93UGxhY2Vob2xkZXIoKSkge1xuICAgICAgdmFyIHBsYWNlSG9sZGVyUHJvcHMgPSB7XG4gICAgICAgIHRleHQ6IG51bGx0aHJvd3ModGhpcy5wcm9wcy5wbGFjZWhvbGRlciksXG4gICAgICAgIGVkaXRvclN0YXRlOiB0aGlzLnByb3BzLmVkaXRvclN0YXRlLFxuICAgICAgICB0ZXh0QWxpZ25tZW50OiB0aGlzLnByb3BzLnRleHRBbGlnbm1lbnQsXG4gICAgICAgIGFjY2Vzc2liaWxpdHlJRDogdGhpcy5fcGxhY2Vob2xkZXJBY2Nlc3NpYmlsaXR5SURcbiAgICAgIH07XG5cbiAgICAgIHJldHVybiBSZWFjdC5jcmVhdGVFbGVtZW50KERyYWZ0RWRpdG9yUGxhY2Vob2xkZXIsIHBsYWNlSG9sZGVyUHJvcHMpO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfTtcblxuICBEcmFmdEVkaXRvci5wcm90b3R5cGUucmVuZGVyID0gZnVuY3Rpb24gcmVuZGVyKCkge1xuICAgIHZhciBfdGhpczMgPSB0aGlzO1xuXG4gICAgdmFyIF9wcm9wcyA9IHRoaXMucHJvcHMsXG4gICAgICAgIGJsb2NrUmVuZGVyTWFwID0gX3Byb3BzLmJsb2NrUmVuZGVyTWFwLFxuICAgICAgICBibG9ja1JlbmRlcmVyRm4gPSBfcHJvcHMuYmxvY2tSZW5kZXJlckZuLFxuICAgICAgICBibG9ja1N0eWxlRm4gPSBfcHJvcHMuYmxvY2tTdHlsZUZuLFxuICAgICAgICBjdXN0b21TdHlsZUZuID0gX3Byb3BzLmN1c3RvbVN0eWxlRm4sXG4gICAgICAgIGN1c3RvbVN0eWxlTWFwID0gX3Byb3BzLmN1c3RvbVN0eWxlTWFwLFxuICAgICAgICBlZGl0b3JTdGF0ZSA9IF9wcm9wcy5lZGl0b3JTdGF0ZSxcbiAgICAgICAgcmVhZE9ubHkgPSBfcHJvcHMucmVhZE9ubHksXG4gICAgICAgIHRleHRBbGlnbm1lbnQgPSBfcHJvcHMudGV4dEFsaWdubWVudCxcbiAgICAgICAgdGV4dERpcmVjdGlvbmFsaXR5ID0gX3Byb3BzLnRleHREaXJlY3Rpb25hbGl0eTtcblxuXG4gICAgdmFyIHJvb3RDbGFzcyA9IGN4KHtcbiAgICAgICdEcmFmdEVkaXRvci9yb290JzogdHJ1ZSxcbiAgICAgICdEcmFmdEVkaXRvci9hbGlnbkxlZnQnOiB0ZXh0QWxpZ25tZW50ID09PSAnbGVmdCcsXG4gICAgICAnRHJhZnRFZGl0b3IvYWxpZ25SaWdodCc6IHRleHRBbGlnbm1lbnQgPT09ICdyaWdodCcsXG4gICAgICAnRHJhZnRFZGl0b3IvYWxpZ25DZW50ZXInOiB0ZXh0QWxpZ25tZW50ID09PSAnY2VudGVyJ1xuICAgIH0pO1xuXG4gICAgdmFyIGNvbnRlbnRTdHlsZSA9IHtcbiAgICAgIG91dGxpbmU6ICdub25lJyxcbiAgICAgIC8vIGZpeCBwYXJlbnQtZHJhZ2dhYmxlIFNhZmFyaSBidWcuICMxMzI2XG4gICAgICB1c2VyU2VsZWN0OiAndGV4dCcsXG4gICAgICBXZWJraXRVc2VyU2VsZWN0OiAndGV4dCcsXG4gICAgICB3aGl0ZVNwYWNlOiAncHJlLXdyYXAnLFxuICAgICAgd29yZFdyYXA6ICdicmVhay13b3JkJ1xuICAgIH07XG5cbiAgICAvLyBUaGUgYXJpYS1leHBhbmRlZCBhbmQgYXJpYS1oYXNwb3B1cCBwcm9wZXJ0aWVzIHNob3VsZCBvbmx5IGJlIHJlbmRlcmVkXG4gICAgLy8gZm9yIGEgY29tYm9ib3guXG4gICAgdmFyIGFyaWFSb2xlID0gdGhpcy5wcm9wcy5yb2xlIHx8ICd0ZXh0Ym94JztcbiAgICB2YXIgYXJpYUV4cGFuZGVkID0gYXJpYVJvbGUgPT09ICdjb21ib2JveCcgPyAhIXRoaXMucHJvcHMuYXJpYUV4cGFuZGVkIDogbnVsbDtcblxuICAgIHZhciBlZGl0b3JDb250ZW50c1Byb3BzID0ge1xuICAgICAgYmxvY2tSZW5kZXJNYXA6IGJsb2NrUmVuZGVyTWFwLFxuICAgICAgYmxvY2tSZW5kZXJlckZuOiBibG9ja1JlbmRlcmVyRm4sXG4gICAgICBibG9ja1N0eWxlRm46IGJsb2NrU3R5bGVGbixcbiAgICAgIGN1c3RvbVN0eWxlTWFwOiBfZXh0ZW5kcyh7fSwgRGVmYXVsdERyYWZ0SW5saW5lU3R5bGUsIGN1c3RvbVN0eWxlTWFwKSxcbiAgICAgIGN1c3RvbVN0eWxlRm46IGN1c3RvbVN0eWxlRm4sXG4gICAgICBlZGl0b3JLZXk6IHRoaXMuX2VkaXRvcktleSxcbiAgICAgIGVkaXRvclN0YXRlOiBlZGl0b3JTdGF0ZSxcbiAgICAgIGtleTogJ2NvbnRlbnRzJyArIHRoaXMuc3RhdGUuY29udGVudHNLZXksXG4gICAgICB0ZXh0RGlyZWN0aW9uYWxpdHk6IHRleHREaXJlY3Rpb25hbGl0eVxuICAgIH07XG5cbiAgICByZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChcbiAgICAgICdkaXYnLFxuICAgICAgeyBjbGFzc05hbWU6IHJvb3RDbGFzcyB9LFxuICAgICAgdGhpcy5fcmVuZGVyUGxhY2Vob2xkZXIoKSxcbiAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXG4gICAgICAgICdkaXYnLFxuICAgICAgICB7XG4gICAgICAgICAgY2xhc3NOYW1lOiBjeCgnRHJhZnRFZGl0b3IvZWRpdG9yQ29udGFpbmVyJyksXG4gICAgICAgICAgcmVmOiBmdW5jdGlvbiByZWYoX3JlZjMpIHtcbiAgICAgICAgICAgIHJldHVybiBfdGhpczMuZWRpdG9yQ29udGFpbmVyID0gX3JlZjM7XG4gICAgICAgICAgfSB9LFxuICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFxuICAgICAgICAgICdkaXYnLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgICdhcmlhLWFjdGl2ZWRlc2NlbmRhbnQnOiByZWFkT25seSA/IG51bGwgOiB0aGlzLnByb3BzLmFyaWFBY3RpdmVEZXNjZW5kYW50SUQsXG4gICAgICAgICAgICAnYXJpYS1hdXRvY29tcGxldGUnOiByZWFkT25seSA/IG51bGwgOiB0aGlzLnByb3BzLmFyaWFBdXRvQ29tcGxldGUsXG4gICAgICAgICAgICAnYXJpYS1jb250cm9scyc6IHJlYWRPbmx5ID8gbnVsbCA6IHRoaXMucHJvcHMuYXJpYUNvbnRyb2xzLFxuICAgICAgICAgICAgJ2FyaWEtZGVzY3JpYmVkYnknOiB0aGlzLnByb3BzLmFyaWFEZXNjcmliZWRCeSB8fCB0aGlzLl9wbGFjZWhvbGRlckFjY2Vzc2liaWxpdHlJRCxcbiAgICAgICAgICAgICdhcmlhLWV4cGFuZGVkJzogcmVhZE9ubHkgPyBudWxsIDogYXJpYUV4cGFuZGVkLFxuICAgICAgICAgICAgJ2FyaWEtbGFiZWwnOiB0aGlzLnByb3BzLmFyaWFMYWJlbCxcbiAgICAgICAgICAgICdhcmlhLWxhYmVsbGVkYnknOiB0aGlzLnByb3BzLmFyaWFMYWJlbGxlZEJ5LFxuICAgICAgICAgICAgJ2FyaWEtbXVsdGlsaW5lJzogdGhpcy5wcm9wcy5hcmlhTXVsdGlsaW5lLFxuICAgICAgICAgICAgYXV0b0NhcGl0YWxpemU6IHRoaXMucHJvcHMuYXV0b0NhcGl0YWxpemUsXG4gICAgICAgICAgICBhdXRvQ29tcGxldGU6IHRoaXMucHJvcHMuYXV0b0NvbXBsZXRlLFxuICAgICAgICAgICAgYXV0b0NvcnJlY3Q6IHRoaXMucHJvcHMuYXV0b0NvcnJlY3QsXG4gICAgICAgICAgICBjbGFzc05hbWU6IGN4KHtcbiAgICAgICAgICAgICAgLy8gQ2hyb21lJ3MgYnVpbHQtaW4gdHJhbnNsYXRpb24gZmVhdHVyZSBtdXRhdGVzIHRoZSBET00gaW4gd2F5c1xuICAgICAgICAgICAgICAvLyB0aGF0IERyYWZ0IGRvZXNuJ3QgZXhwZWN0IChleDogYWRkaW5nIDxmb250PiB0YWdzIGluc2lkZVxuICAgICAgICAgICAgICAvLyBEcmFmdEVkaXRvckxlYWYgc3BhbnMpIGFuZCBjYXVzZXMgcHJvYmxlbXMuIFdlIGFkZCBub3RyYW5zbGF0ZVxuICAgICAgICAgICAgICAvLyBoZXJlIHdoaWNoIG1ha2VzIGl0cyBhdXRvdHJhbnNsYXRpb24gc2tpcCBvdmVyIHRoaXMgc3VidHJlZS5cbiAgICAgICAgICAgICAgbm90cmFuc2xhdGU6ICFyZWFkT25seSxcbiAgICAgICAgICAgICAgJ3B1YmxpYy9EcmFmdEVkaXRvci9jb250ZW50JzogdHJ1ZVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBjb250ZW50RWRpdGFibGU6ICFyZWFkT25seSxcbiAgICAgICAgICAgICdkYXRhLXRlc3RpZCc6IHRoaXMucHJvcHMud2ViRHJpdmVyVGVzdElELFxuICAgICAgICAgICAgb25CZWZvcmVJbnB1dDogdGhpcy5fb25CZWZvcmVJbnB1dCxcbiAgICAgICAgICAgIG9uQmx1cjogdGhpcy5fb25CbHVyLFxuICAgICAgICAgICAgb25Db21wb3NpdGlvbkVuZDogdGhpcy5fb25Db21wb3NpdGlvbkVuZCxcbiAgICAgICAgICAgIG9uQ29tcG9zaXRpb25TdGFydDogdGhpcy5fb25Db21wb3NpdGlvblN0YXJ0LFxuICAgICAgICAgICAgb25Db3B5OiB0aGlzLl9vbkNvcHksXG4gICAgICAgICAgICBvbkN1dDogdGhpcy5fb25DdXQsXG4gICAgICAgICAgICBvbkRyYWdFbmQ6IHRoaXMuX29uRHJhZ0VuZCxcbiAgICAgICAgICAgIG9uRHJhZ0VudGVyOiB0aGlzLm9uRHJhZ0VudGVyLFxuICAgICAgICAgICAgb25EcmFnTGVhdmU6IHRoaXMub25EcmFnTGVhdmUsXG4gICAgICAgICAgICBvbkRyYWdPdmVyOiB0aGlzLl9vbkRyYWdPdmVyLFxuICAgICAgICAgICAgb25EcmFnU3RhcnQ6IHRoaXMuX29uRHJhZ1N0YXJ0LFxuICAgICAgICAgICAgb25Ecm9wOiB0aGlzLl9vbkRyb3AsXG4gICAgICAgICAgICBvbkZvY3VzOiB0aGlzLl9vbkZvY3VzLFxuICAgICAgICAgICAgb25JbnB1dDogdGhpcy5fb25JbnB1dCxcbiAgICAgICAgICAgIG9uS2V5RG93bjogdGhpcy5fb25LZXlEb3duLFxuICAgICAgICAgICAgb25LZXlQcmVzczogdGhpcy5fb25LZXlQcmVzcyxcbiAgICAgICAgICAgIG9uS2V5VXA6IHRoaXMuX29uS2V5VXAsXG4gICAgICAgICAgICBvbk1vdXNlVXA6IHRoaXMuX29uTW91c2VVcCxcbiAgICAgICAgICAgIG9uUGFzdGU6IHRoaXMuX29uUGFzdGUsXG4gICAgICAgICAgICBvblNlbGVjdDogdGhpcy5fb25TZWxlY3QsXG4gICAgICAgICAgICByZWY6IGZ1bmN0aW9uIHJlZihfcmVmMikge1xuICAgICAgICAgICAgICByZXR1cm4gX3RoaXMzLmVkaXRvciA9IF9yZWYyO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHJvbGU6IHJlYWRPbmx5ID8gbnVsbCA6IGFyaWFSb2xlLFxuICAgICAgICAgICAgc3BlbGxDaGVjazogYWxsb3dTcGVsbENoZWNrICYmIHRoaXMucHJvcHMuc3BlbGxDaGVjayxcbiAgICAgICAgICAgIHN0eWxlOiBjb250ZW50U3R5bGUsXG4gICAgICAgICAgICBzdXBwcmVzc0NvbnRlbnRFZGl0YWJsZVdhcm5pbmc6IHRydWUsXG4gICAgICAgICAgICB0YWJJbmRleDogdGhpcy5wcm9wcy50YWJJbmRleCB9LFxuICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoRHJhZnRFZGl0b3JDb250ZW50cywgZWRpdG9yQ29udGVudHNQcm9wcylcbiAgICAgICAgKVxuICAgICAgKVxuICAgICk7XG4gIH07XG5cbiAgRHJhZnRFZGl0b3IucHJvdG90eXBlLmNvbXBvbmVudERpZE1vdW50ID0gZnVuY3Rpb24gY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgdGhpcy5zZXRNb2RlKCdlZGl0Jyk7XG5cbiAgICAvKipcbiAgICAgKiBJRSBoYXMgYSBoYXJkY29kZWQgXCJmZWF0dXJlXCIgdGhhdCBhdHRlbXB0cyB0byBjb252ZXJ0IGxpbmsgdGV4dCBpbnRvXG4gICAgICogYW5jaG9ycyBpbiBjb250ZW50RWRpdGFibGUgRE9NLiBUaGlzIGJyZWFrcyB0aGUgZWRpdG9yJ3MgZXhwZWN0YXRpb25zIG9mXG4gICAgICogdGhlIERPTSwgYW5kIGNvbnRyb2wgaXMgbG9zdC4gRGlzYWJsZSBpdCB0byBtYWtlIElFIGJlaGF2ZS5cbiAgICAgKiBTZWU6IGh0dHA6Ly9ibG9ncy5tc2RuLmNvbS9iL2llaW50ZXJuYWxzL2FyY2hpdmUvMjAxMC8wOS8xNS9cbiAgICAgKiBpZTktYmV0YS1taW5vci1jaGFuZ2UtbGlzdC5hc3B4XG4gICAgICovXG4gICAgaWYgKGlzSUUpIHtcbiAgICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCdBdXRvVXJsRGV0ZWN0JywgZmFsc2UsIGZhbHNlKTtcbiAgICB9XG4gIH07XG5cbiAgLyoqXG4gICAqIFByZXZlbnQgc2VsZWN0aW9uIGV2ZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgY3VycmVudCBlZGl0b3Igc3RhdGUuIFRoaXNcbiAgICogaXMgbW9zdGx5IGludGVuZGVkIHRvIGRlZmVuZCBhZ2FpbnN0IElFLCB3aGljaCBmaXJlcyBvZmYgYHNlbGVjdGlvbmNoYW5nZWBcbiAgICogZXZlbnRzIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciB0aGUgc2VsZWN0aW9uIGlzIHNldCB2aWEgdGhlIGJyb3dzZXIgb3JcbiAgICogcHJvZ3JhbW1hdGljYWxseS4gV2Ugb25seSBjYXJlIGFib3V0IHNlbGVjdGlvbiBldmVudHMgdGhhdCBvY2N1ciBiZWNhdXNlXG4gICAqIG9mIGJyb3dzZXIgaW50ZXJhY3Rpb24sIG5vdCByZS1yZW5kZXJzIGFuZCBmb3JjZWQgc2VsZWN0aW9ucy5cbiAgICovXG5cblxuICBEcmFmdEVkaXRvci5wcm90b3R5cGUuY29tcG9uZW50V2lsbFVwZGF0ZSA9IGZ1bmN0aW9uIGNvbXBvbmVudFdpbGxVcGRhdGUobmV4dFByb3BzKSB7XG4gICAgdGhpcy5fYmxvY2tTZWxlY3RFdmVudHMgPSB0cnVlO1xuICAgIHRoaXMuX2xhdGVzdEVkaXRvclN0YXRlID0gbmV4dFByb3BzLmVkaXRvclN0YXRlO1xuICB9O1xuXG4gIERyYWZ0RWRpdG9yLnByb3RvdHlwZS5jb21wb25lbnREaWRVcGRhdGUgPSBmdW5jdGlvbiBjb21wb25lbnREaWRVcGRhdGUoKSB7XG4gICAgdGhpcy5fYmxvY2tTZWxlY3RFdmVudHMgPSBmYWxzZTtcbiAgICB0aGlzLl9sYXRlc3RDb21taXR0ZWRFZGl0b3JTdGF0ZSA9IHRoaXMucHJvcHMuZWRpdG9yU3RhdGU7XG4gIH07XG5cbiAgLyoqXG4gICAqIFVzZWQgdmlhIGB0aGlzLmZvY3VzKClgLlxuICAgKlxuICAgKiBGb3JjZSBmb2N1cyBiYWNrIG9udG8gdGhlIGVkaXRvciBub2RlLlxuICAgKlxuICAgKiBXZSBhdHRlbXB0IHRvIHByZXNlcnZlIHNjcm9sbCBwb3NpdGlvbiB3aGVuIGZvY3VzaW5nLiBZb3UgY2FuIGFsc28gcGFzc1xuICAgKiBhIHNwZWNpZmllZCBzY3JvbGwgcG9zaXRpb24gKGZvciBjYXNlcyBsaWtlIGBjdXRgIGJlaGF2aW9yIHdoZXJlIGl0IHNob3VsZFxuICAgKiBiZSByZXN0b3JlZCB0byBhIGtub3duIHBvc2l0aW9uKS5cbiAgICovXG5cblxuICAvKipcbiAgICogVXNlZCB2aWEgYHRoaXMuc2V0TW9kZSguLi4pYC5cbiAgICpcbiAgICogU2V0IHRoZSBiZWhhdmlvciBtb2RlIGZvciB0aGUgZWRpdG9yIGNvbXBvbmVudC4gVGhpcyBzd2l0Y2hlcyB0aGUgY3VycmVudFxuICAgKiBoYW5kbGVyIG1vZHVsZSB0byBlbnN1cmUgdGhhdCBET00gZXZlbnRzIGFyZSBtYW5hZ2VkIGFwcHJvcHJpYXRlbHkgZm9yXG4gICAqIHRoZSBhY3RpdmUgbW9kZS5cbiAgICovXG5cblxuICAvKipcbiAgICogVXNlZCB2aWEgYHRoaXMucmVzdG9yZUVkaXRvckRPTSgpYC5cbiAgICpcbiAgICogRm9yY2UgYSBjb21wbGV0ZSByZS1yZW5kZXIgb2YgdGhlIERyYWZ0RWRpdG9yQ29udGVudHMgYmFzZWQgb24gdGhlIGN1cnJlbnRcbiAgICogRWRpdG9yU3RhdGUuIFRoaXMgaXMgdXNlZnVsIHdoZW4gd2Uga25vdyB3ZSBhcmUgZ29pbmcgdG8gbG9zZSBjb250cm9sIG9mXG4gICAqIHRoZSBET00gc3RhdGUgKGN1dCBjb21tYW5kLCBJTUUpIGFuZCB3ZSB3YW50IHRvIG1ha2Ugc3VyZSB0aGF0XG4gICAqIHJlY29uY2lsaWF0aW9uIG9jY3VycyBvbiBhIHZlcnNpb24gb2YgdGhlIERPTSB0aGF0IGlzIHN5bmNocm9uaXplZCB3aXRoXG4gICAqIG91ciBFZGl0b3JTdGF0ZS5cbiAgICovXG5cblxuICAvKipcbiAgICogVXNlZCB2aWEgYHRoaXMuc2V0Q2xpcGJvYXJkKC4uLilgLlxuICAgKlxuICAgKiBTZXQgdGhlIGNsaXBib2FyZCBzdGF0ZSBmb3IgYSBjdXQvY29weSBldmVudC5cbiAgICovXG5cblxuICAvKipcbiAgICogVXNlZCB2aWEgYHRoaXMuZ2V0Q2xpcGJvYXJkKClgLlxuICAgKlxuICAgKiBSZXRyaWV2ZSB0aGUgY2xpcGJvYXJkIHN0YXRlIGZvciBhIGN1dC9jb3B5IGV2ZW50LlxuICAgKi9cblxuXG4gIC8qKlxuICAgKiBVc2VkIHZpYSBgdGhpcy51cGRhdGUoLi4uKWAuXG4gICAqXG4gICAqIFByb3BhZ2F0ZSBhIG5ldyBgRWRpdG9yU3RhdGVgIG9iamVjdCB0byBoaWdoZXItbGV2ZWwgY29tcG9uZW50cy4gVGhpcyBpc1xuICAgKiB0aGUgbWV0aG9kIGJ5IHdoaWNoIGV2ZW50IGhhbmRsZXJzIGluZm9ybSB0aGUgYERyYWZ0RWRpdG9yYCBjb21wb25lbnQgb2ZcbiAgICogc3RhdGUgY2hhbmdlcy4gQSBjb21wb25lbnQgdGhhdCBjb21wb3NlcyBhIGBEcmFmdEVkaXRvcmAgKiptdXN0KiogcHJvdmlkZVxuICAgKiBhbiBgb25DaGFuZ2VgIHByb3AgdG8gcmVjZWl2ZSBzdGF0ZSB1cGRhdGVzIHBhc3NlZCBhbG9uZyBmcm9tIHRoaXNcbiAgICogZnVuY3Rpb24uXG4gICAqL1xuXG5cbiAgLyoqXG4gICAqIFVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCBgb25EcmFnTGVhdmUoKWAsIGJ5IGNvdW50aW5nIHRoZSBudW1iZXIgb2YgdGltZXNcbiAgICogYSBkcmFnZ2VkIGVsZW1lbnQgZW50ZXJzIGFuZCBsZWF2ZXMgdGhlIGVkaXRvciAob3IgYW55IG9mIGl0cyBjaGlsZHJlbiksXG4gICAqIHRvIGRldGVybWluZSB3aGVuIHRoZSBkcmFnZ2VkIGVsZW1lbnQgYWJzb2x1dGVseSBsZWF2ZXMgdGhlIGVkaXRvci5cbiAgICovXG5cblxuICAvKipcbiAgICogU2VlIGBvbkRyYWdFbnRlcigpYC5cbiAgICovXG5cblxuICByZXR1cm4gRHJhZnRFZGl0b3I7XG59KFJlYWN0LkNvbXBvbmVudCk7XG5cbkRyYWZ0RWRpdG9yLmRlZmF1bHRQcm9wcyA9IHtcbiAgYmxvY2tSZW5kZXJNYXA6IERlZmF1bHREcmFmdEJsb2NrUmVuZGVyTWFwLFxuICBibG9ja1JlbmRlcmVyRm46IGVtcHR5RnVuY3Rpb24udGhhdFJldHVybnNOdWxsLFxuICBibG9ja1N0eWxlRm46IGVtcHR5RnVuY3Rpb24udGhhdFJldHVybnMoJycpLFxuICBrZXlCaW5kaW5nRm46IGdldERlZmF1bHRLZXlCaW5kaW5nLFxuICByZWFkT25seTogZmFsc2UsXG4gIHNwZWxsQ2hlY2s6IGZhbHNlLFxuICBzdHJpcFBhc3RlZFN0eWxlczogZmFsc2Vcbn07XG5cblxubW9kdWxlLmV4cG9ydHMgPSBEcmFmdEVkaXRvcjsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/DraftEditor.react.js\n"); +eval("/* WEBPACK VAR INJECTION */(function(global) {/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @preventMunge\n * @emails oncall+draft_js\n */\n\n\nvar _assign = __webpack_require__(/*! object-assign */ \"./node_modules/object-assign/index.js\");\n\nfunction _extends() { _extends = _assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar DefaultDraftBlockRenderMap = __webpack_require__(/*! ./DefaultDraftBlockRenderMap */ \"./node_modules/draft-js/lib/DefaultDraftBlockRenderMap.js\");\n\nvar DefaultDraftInlineStyle = __webpack_require__(/*! ./DefaultDraftInlineStyle */ \"./node_modules/draft-js/lib/DefaultDraftInlineStyle.js\");\n\nvar DraftEditorCompositionHandler = __webpack_require__(/*! ./DraftEditorCompositionHandler */ \"./node_modules/draft-js/lib/DraftEditorCompositionHandler.js\");\n\nvar DraftEditorContents = __webpack_require__(/*! ./DraftEditorContents.react */ \"./node_modules/draft-js/lib/DraftEditorContents.react.js\");\n\nvar DraftEditorDragHandler = __webpack_require__(/*! ./DraftEditorDragHandler */ \"./node_modules/draft-js/lib/DraftEditorDragHandler.js\");\n\nvar DraftEditorEditHandler = __webpack_require__(/*! ./DraftEditorEditHandler */ \"./node_modules/draft-js/lib/DraftEditorEditHandler.js\");\n\nvar DraftEditorPlaceholder = __webpack_require__(/*! ./DraftEditorPlaceholder.react */ \"./node_modules/draft-js/lib/DraftEditorPlaceholder.react.js\");\n\nvar DraftEffects = __webpack_require__(/*! ./DraftEffects */ \"./node_modules/draft-js/lib/DraftEffects.js\");\n\nvar EditorState = __webpack_require__(/*! ./EditorState */ \"./node_modules/draft-js/lib/EditorState.js\");\n\nvar React = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n\nvar ReactDOM = __webpack_require__(/*! react-dom */ \"./node_modules/react-dom/index.js\");\n\nvar Scroll = __webpack_require__(/*! fbjs/lib/Scroll */ \"./node_modules/fbjs/lib/Scroll.js\");\n\nvar Style = __webpack_require__(/*! fbjs/lib/Style */ \"./node_modules/fbjs/lib/Style.js\");\n\nvar UserAgent = __webpack_require__(/*! fbjs/lib/UserAgent */ \"./node_modules/fbjs/lib/UserAgent.js\");\n\nvar cx = __webpack_require__(/*! fbjs/lib/cx */ \"./node_modules/fbjs/lib/cx.js\");\n\nvar generateRandomKey = __webpack_require__(/*! ./generateRandomKey */ \"./node_modules/draft-js/lib/generateRandomKey.js\");\n\nvar getDefaultKeyBinding = __webpack_require__(/*! ./getDefaultKeyBinding */ \"./node_modules/draft-js/lib/getDefaultKeyBinding.js\");\n\nvar getScrollPosition = __webpack_require__(/*! fbjs/lib/getScrollPosition */ \"./node_modules/fbjs/lib/getScrollPosition.js\");\n\nvar gkx = __webpack_require__(/*! ./gkx */ \"./node_modules/draft-js/lib/gkx.js\");\n\nvar invariant = __webpack_require__(/*! fbjs/lib/invariant */ \"./node_modules/fbjs/lib/invariant.js\");\n\nvar isHTMLElement = __webpack_require__(/*! ./isHTMLElement */ \"./node_modules/draft-js/lib/isHTMLElement.js\");\n\nvar nullthrows = __webpack_require__(/*! fbjs/lib/nullthrows */ \"./node_modules/fbjs/lib/nullthrows.js\");\n\nvar isIE = UserAgent.isBrowser('IE'); // IE does not support the `input` event on contentEditable, so we can't\n// observe spellcheck behavior.\n\nvar allowSpellCheck = !isIE; // Define a set of handler objects to correspond to each possible `mode`\n// of editor behavior.\n\nvar handlerMap = {\n edit: DraftEditorEditHandler,\n composite: DraftEditorCompositionHandler,\n drag: DraftEditorDragHandler,\n cut: null,\n render: null\n};\nvar didInitODS = false;\n\nvar UpdateDraftEditorFlags =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(UpdateDraftEditorFlags, _React$Component);\n\n function UpdateDraftEditorFlags() {\n return _React$Component.apply(this, arguments) || this;\n }\n\n var _proto = UpdateDraftEditorFlags.prototype;\n\n _proto.render = function render() {\n return null;\n };\n\n _proto.componentDidMount = function componentDidMount() {\n this._update();\n };\n\n _proto.componentDidUpdate = function componentDidUpdate() {\n this._update();\n };\n\n _proto._update = function _update() {\n var editor = this.props.editor;\n /**\n * Sometimes a render triggers a 'focus' or other event, and that will\n * schedule a second render pass.\n * In order to make sure the second render pass gets the latest editor\n * state, we update it here.\n * Example:\n * render #1\n * +\n * |\n * | cWU -> Nothing ... latestEditorState = STALE_STATE :(\n * |\n * | render -> this.props.editorState = FRESH_STATE\n * | + *and* set latestEditorState = FRESH_STATE\n * |\n * | |\n * | +--> triggers 'focus' event, calling 'handleFocus' with latestEditorState\n * | +\n * | |\n * +>cdU -> latestEditorState = FRESH_STATE | the 'handleFocus' call schedules render #2\n * | with latestEditorState, which is FRESH_STATE\n * |\n * render #2 <--------------------------------------+\n * +\n * |\n * | cwU -> nothing updates\n * |\n * | render -> this.props.editorState = FRESH_STATE which was passed in above\n * |\n * +>cdU fires and resets latestEditorState = FRESH_STATE\n * ---\n * Note that if we don't set latestEditorState in 'render' in the above\n * diagram, then STALE_STATE gets passed to render #2.\n */\n\n editor._latestEditorState = this.props.editorState;\n /**\n * The reason we set this 'blockSelectEvents' flag is that IE will fire a\n * 'selectionChange' event when we programmatically change the selection,\n * meaning it would trigger a new select event while we are in the middle\n * of updating.\n * We found that the 'selection.addRange' was what triggered the stray\n * selectionchange event in IE.\n * To be clear - we have not been able to reproduce specific bugs related\n * to this stray selection event, but have recorded logs that some\n * conditions do cause it to get bumped into during editOnSelect.\n */\n\n editor._blockSelectEvents = true;\n };\n\n return UpdateDraftEditorFlags;\n}(React.Component);\n/**\n * `DraftEditor` is the root editor component. It composes a `contentEditable`\n * div, and provides a wide variety of useful function props for managing the\n * state of the editor. See `DraftEditorProps` for details.\n */\n\n\nvar DraftEditor =\n/*#__PURE__*/\nfunction (_React$Component2) {\n _inheritsLoose(DraftEditor, _React$Component2);\n\n /**\n * Define proxies that can route events to the current handler.\n */\n function DraftEditor(props) {\n var _this;\n\n _this = _React$Component2.call(this, props) || this;\n\n _defineProperty(_assertThisInitialized(_this), \"_blockSelectEvents\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"_clipboard\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"_handler\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"_dragCount\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"_internalDrag\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"_editorKey\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"_placeholderAccessibilityID\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"_latestEditorState\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"_latestCommittedEditorState\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"_pendingStateFromBeforeInput\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"_onBeforeInput\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"_onBlur\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"_onCharacterData\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"_onCompositionEnd\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"_onCompositionStart\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"_onCopy\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"_onCut\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"_onDragEnd\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"_onDragOver\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"_onDragStart\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"_onDrop\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"_onInput\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"_onFocus\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"_onKeyDown\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"_onKeyPress\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"_onKeyUp\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"_onMouseDown\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"_onMouseUp\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"_onPaste\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"_onSelect\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"editor\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"editorContainer\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"focus\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"blur\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"setMode\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"exitCurrentMode\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"restoreEditorDOM\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"setClipboard\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"getClipboard\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"getEditorKey\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"update\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"onDragEnter\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"onDragLeave\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"focus\", function (scrollPosition) {\n var editorState = _this.props.editorState;\n var alreadyHasFocus = editorState.getSelection().getHasFocus();\n var editorNode = _this.editor;\n\n if (!editorNode) {\n // once in a while people call 'focus' in a setTimeout, and the node has\n // been deleted, so it can be null in that case.\n return;\n }\n\n var scrollParent = Style.getScrollParent(editorNode);\n\n var _ref = scrollPosition || getScrollPosition(scrollParent),\n x = _ref.x,\n y = _ref.y;\n\n !isHTMLElement(editorNode) ? true ? invariant(false, 'editorNode is not an HTMLElement') : undefined : void 0;\n editorNode.focus(); // Restore scroll position\n\n if (scrollParent === window) {\n window.scrollTo(x, y);\n } else {\n Scroll.setTop(scrollParent, y);\n } // On Chrome and Safari, calling focus on contenteditable focuses the\n // cursor at the first character. This is something you don't expect when\n // you're clicking on an input element but not directly on a character.\n // Put the cursor back where it was before the blur.\n\n\n if (!alreadyHasFocus) {\n _this.update(EditorState.forceSelection(editorState, editorState.getSelection()));\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"blur\", function () {\n var editorNode = _this.editor;\n\n if (!editorNode) {\n return;\n }\n\n !isHTMLElement(editorNode) ? true ? invariant(false, 'editorNode is not an HTMLElement') : undefined : void 0;\n editorNode.blur();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"setMode\", function (mode) {\n var _this$props = _this.props,\n onPaste = _this$props.onPaste,\n onCut = _this$props.onCut,\n onCopy = _this$props.onCopy;\n\n var editHandler = _objectSpread({}, handlerMap.edit);\n\n if (onPaste) {\n /* $FlowFixMe(>=0.111.0) This comment suppresses an error found when Flow\n * v0.111.0 was deployed. To see the error, delete this comment and run\n * Flow. */\n editHandler.onPaste = onPaste;\n }\n\n if (onCut) {\n editHandler.onCut = onCut;\n }\n\n if (onCopy) {\n editHandler.onCopy = onCopy;\n }\n\n var handler = _objectSpread({}, handlerMap, {\n edit: editHandler\n });\n\n _this._handler = handler[mode];\n });\n\n _defineProperty(_assertThisInitialized(_this), \"exitCurrentMode\", function () {\n _this.setMode('edit');\n });\n\n _defineProperty(_assertThisInitialized(_this), \"restoreEditorDOM\", function (scrollPosition) {\n _this.setState({\n contentsKey: _this.state.contentsKey + 1\n }, function () {\n _this.focus(scrollPosition);\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"setClipboard\", function (clipboard) {\n _this._clipboard = clipboard;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getClipboard\", function () {\n return _this._clipboard;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"update\", function (editorState) {\n _this._latestEditorState = editorState;\n\n _this.props.onChange(editorState);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onDragEnter\", function () {\n _this._dragCount++;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onDragLeave\", function () {\n _this._dragCount--;\n\n if (_this._dragCount === 0) {\n _this.exitCurrentMode();\n }\n });\n\n _this._blockSelectEvents = false;\n _this._clipboard = null;\n _this._handler = null;\n _this._dragCount = 0;\n _this._editorKey = props.editorKey || generateRandomKey();\n _this._placeholderAccessibilityID = 'placeholder-' + _this._editorKey;\n _this._latestEditorState = props.editorState;\n _this._latestCommittedEditorState = props.editorState;\n _this._onBeforeInput = _this._buildHandler('onBeforeInput');\n _this._onBlur = _this._buildHandler('onBlur');\n _this._onCharacterData = _this._buildHandler('onCharacterData');\n _this._onCompositionEnd = _this._buildHandler('onCompositionEnd');\n _this._onCompositionStart = _this._buildHandler('onCompositionStart');\n _this._onCopy = _this._buildHandler('onCopy');\n _this._onCut = _this._buildHandler('onCut');\n _this._onDragEnd = _this._buildHandler('onDragEnd');\n _this._onDragOver = _this._buildHandler('onDragOver');\n _this._onDragStart = _this._buildHandler('onDragStart');\n _this._onDrop = _this._buildHandler('onDrop');\n _this._onInput = _this._buildHandler('onInput');\n _this._onFocus = _this._buildHandler('onFocus');\n _this._onKeyDown = _this._buildHandler('onKeyDown');\n _this._onKeyPress = _this._buildHandler('onKeyPress');\n _this._onKeyUp = _this._buildHandler('onKeyUp');\n _this._onMouseDown = _this._buildHandler('onMouseDown');\n _this._onMouseUp = _this._buildHandler('onMouseUp');\n _this._onPaste = _this._buildHandler('onPaste');\n _this._onSelect = _this._buildHandler('onSelect');\n\n _this.getEditorKey = function () {\n return _this._editorKey;\n };\n\n if (true) {\n ['onDownArrow', 'onEscape', 'onLeftArrow', 'onRightArrow', 'onTab', 'onUpArrow'].forEach(function (propName) {\n if (props.hasOwnProperty(propName)) {\n // eslint-disable-next-line no-console\n console.warn(\"Supplying an `\".concat(propName, \"` prop to `DraftEditor` has \") + 'been deprecated. If your handler needs access to the keyboard ' + 'event, supply a custom `keyBindingFn` prop that falls back to ' + 'the default one (eg. https://is.gd/RG31RJ).');\n }\n });\n } // See `restoreEditorDOM()`.\n\n\n _this.state = {\n contentsKey: 0\n };\n return _this;\n }\n /**\n * Build a method that will pass the event to the specified handler method.\n * This allows us to look up the correct handler function for the current\n * editor mode, if any has been specified.\n */\n\n\n var _proto2 = DraftEditor.prototype;\n\n _proto2._buildHandler = function _buildHandler(eventName) {\n var _this2 = this;\n\n var flushControlled =\n /* $FlowFixMe(>=0.79.1 site=www) This comment suppresses an error found\n * when Flow v0.79 was deployed. To see the error delete this comment and\n * run Flow. */\n ReactDOM.unstable_flushControlled; // Wrap event handlers in `flushControlled`. In sync mode, this is\n // effectively a no-op. In async mode, this ensures all updates scheduled\n // inside the handler are flushed before React yields to the browser.\n\n return function (e) {\n if (!_this2.props.readOnly) {\n var method = _this2._handler && _this2._handler[eventName];\n\n if (method) {\n if (flushControlled) {\n flushControlled(function () {\n return method(_this2, e);\n });\n } else {\n method(_this2, e);\n }\n }\n }\n };\n };\n\n _proto2._showPlaceholder = function _showPlaceholder() {\n return !!this.props.placeholder && !this.props.editorState.isInCompositionMode() && !this.props.editorState.getCurrentContent().hasText();\n };\n\n _proto2._renderPlaceholder = function _renderPlaceholder() {\n if (this._showPlaceholder()) {\n var placeHolderProps = {\n text: nullthrows(this.props.placeholder),\n editorState: this.props.editorState,\n textAlignment: this.props.textAlignment,\n accessibilityID: this._placeholderAccessibilityID\n };\n /* $FlowFixMe(>=0.112.0 site=mobile) This comment suppresses an error\n * found when Flow v0.112 was deployed. To see the error delete this\n * comment and run Flow. */\n\n /* $FlowFixMe(>=0.112.0 site=www) This comment suppresses an error found\n * when Flow v0.112 was deployed. To see the error delete this comment\n * and run Flow. */\n\n /* $FlowFixMe(>=0.112.0 site=www,mobile) This comment suppresses an error\n * found when Flow v0.112 was deployed. To see the error delete this\n * comment and run Flow. */\n\n return React.createElement(DraftEditorPlaceholder, placeHolderProps);\n }\n\n return null;\n };\n\n _proto2.render = function render() {\n var _this3 = this;\n\n var _this$props2 = this.props,\n blockRenderMap = _this$props2.blockRenderMap,\n blockRendererFn = _this$props2.blockRendererFn,\n blockStyleFn = _this$props2.blockStyleFn,\n customStyleFn = _this$props2.customStyleFn,\n customStyleMap = _this$props2.customStyleMap,\n editorState = _this$props2.editorState,\n readOnly = _this$props2.readOnly,\n textAlignment = _this$props2.textAlignment,\n textDirectionality = _this$props2.textDirectionality;\n var rootClass = cx({\n 'DraftEditor/root': true,\n 'DraftEditor/alignLeft': textAlignment === 'left',\n 'DraftEditor/alignRight': textAlignment === 'right',\n 'DraftEditor/alignCenter': textAlignment === 'center'\n });\n var contentStyle = {\n outline: 'none',\n // fix parent-draggable Safari bug. #1326\n userSelect: 'text',\n WebkitUserSelect: 'text',\n whiteSpace: 'pre-wrap',\n wordWrap: 'break-word'\n }; // The aria-expanded and aria-haspopup properties should only be rendered\n // for a combobox.\n\n /* $FlowFixMe(>=0.68.0 site=www,mobile) This comment suppresses an error\n * found when Flow v0.68 was deployed. To see the error delete this comment\n * and run Flow. */\n\n var ariaRole = this.props.role || 'textbox';\n var ariaExpanded = ariaRole === 'combobox' ? !!this.props.ariaExpanded : null;\n var editorContentsProps = {\n blockRenderMap: blockRenderMap,\n blockRendererFn: blockRendererFn,\n blockStyleFn: blockStyleFn,\n customStyleMap: _objectSpread({}, DefaultDraftInlineStyle, customStyleMap),\n customStyleFn: customStyleFn,\n editorKey: this._editorKey,\n editorState: editorState,\n textDirectionality: textDirectionality\n };\n return React.createElement(\"div\", {\n className: rootClass\n }, this._renderPlaceholder(), React.createElement(\"div\", {\n className: cx('DraftEditor/editorContainer'),\n ref: function ref(_ref3) {\n return _this3.editorContainer = _ref3;\n }\n }, React.createElement(\"div\", {\n \"aria-activedescendant\": readOnly ? null : this.props.ariaActiveDescendantID,\n \"aria-autocomplete\": readOnly ? null : this.props.ariaAutoComplete,\n \"aria-controls\": readOnly ? null : this.props.ariaControls,\n \"aria-describedby\": this.props.ariaDescribedBy || this._placeholderAccessibilityID,\n \"aria-expanded\": readOnly ? null : ariaExpanded,\n \"aria-label\": this.props.ariaLabel,\n \"aria-labelledby\": this.props.ariaLabelledBy,\n \"aria-multiline\": this.props.ariaMultiline,\n \"aria-owns\": readOnly ? null : this.props.ariaOwneeID,\n autoCapitalize: this.props.autoCapitalize,\n autoComplete: this.props.autoComplete,\n autoCorrect: this.props.autoCorrect,\n className: cx({\n // Chrome's built-in translation feature mutates the DOM in ways\n // that Draft doesn't expect (ex: adding tags inside\n // DraftEditorLeaf spans) and causes problems. We add notranslate\n // here which makes its autotranslation skip over this subtree.\n notranslate: !readOnly,\n 'public/DraftEditor/content': true\n }),\n contentEditable: !readOnly,\n \"data-testid\": this.props.webDriverTestID,\n onBeforeInput: this._onBeforeInput,\n onBlur: this._onBlur,\n onCompositionEnd: this._onCompositionEnd,\n onCompositionStart: this._onCompositionStart,\n onCopy: this._onCopy,\n onCut: this._onCut,\n onDragEnd: this._onDragEnd,\n onDragEnter: this.onDragEnter,\n onDragLeave: this.onDragLeave,\n onDragOver: this._onDragOver,\n onDragStart: this._onDragStart,\n onDrop: this._onDrop,\n onFocus: this._onFocus,\n onInput: this._onInput,\n onKeyDown: this._onKeyDown,\n onKeyPress: this._onKeyPress,\n onKeyUp: this._onKeyUp,\n onMouseUp: this._onMouseUp,\n onPaste: this._onPaste,\n onSelect: this._onSelect,\n ref: function ref(_ref2) {\n return _this3.editor = _ref2;\n },\n role: readOnly ? null : ariaRole,\n spellCheck: allowSpellCheck && this.props.spellCheck,\n style: contentStyle,\n suppressContentEditableWarning: true,\n tabIndex: this.props.tabIndex\n }, React.createElement(UpdateDraftEditorFlags, {\n editor: this,\n editorState: editorState\n }), React.createElement(DraftEditorContents, _extends({}, editorContentsProps, {\n key: 'contents' + this.state.contentsKey\n })))));\n };\n\n _proto2.componentDidMount = function componentDidMount() {\n this._blockSelectEvents = false;\n\n if (!didInitODS && gkx('draft_ods_enabled')) {\n didInitODS = true;\n DraftEffects.initODS();\n }\n\n this.setMode('edit');\n /**\n * IE has a hardcoded \"feature\" that attempts to convert link text into\n * anchors in contentEditable DOM. This breaks the editor's expectations of\n * the DOM, and control is lost. Disable it to make IE behave.\n * See: http://blogs.msdn.com/b/ieinternals/archive/2010/09/15/\n * ie9-beta-minor-change-list.aspx\n */\n\n if (isIE) {\n // editor can be null after mounting\n // https://stackoverflow.com/questions/44074747/componentdidmount-called-before-ref-callback\n if (!this.editor) {\n global.execCommand('AutoUrlDetect', false, false);\n } else {\n this.editor.ownerDocument.execCommand('AutoUrlDetect', false, false);\n }\n }\n };\n\n _proto2.componentDidUpdate = function componentDidUpdate() {\n this._blockSelectEvents = false;\n this._latestEditorState = this.props.editorState;\n this._latestCommittedEditorState = this.props.editorState;\n }\n /**\n * Used via `this.focus()`.\n *\n * Force focus back onto the editor node.\n *\n * We attempt to preserve scroll position when focusing. You can also pass\n * a specified scroll position (for cases like `cut` behavior where it should\n * be restored to a known position).\n */\n ;\n\n return DraftEditor;\n}(React.Component);\n\n_defineProperty(DraftEditor, \"defaultProps\", {\n blockRenderMap: DefaultDraftBlockRenderMap,\n blockRendererFn: function blockRendererFn() {\n return null;\n },\n blockStyleFn: function blockStyleFn() {\n return '';\n },\n keyBindingFn: getDefaultKeyBinding,\n readOnly: false,\n spellCheck: false,\n stripPastedStyles: false\n});\n\nmodule.exports = DraftEditor;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0RyYWZ0RWRpdG9yLnJlYWN0LmpzP2VhZGMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNhOztBQUViLGNBQWMsbUJBQU8sQ0FBQyw0REFBZTs7QUFFckMscUJBQXFCLDBDQUEwQyxnQkFBZ0Isc0JBQXNCLE9BQU8sMkJBQTJCLDBCQUEwQix5REFBeUQsMkJBQTJCLEVBQUUsRUFBRSxFQUFFLGVBQWUsR0FBRyx3Q0FBd0M7O0FBRXJULGdDQUFnQyxnQkFBZ0Isc0JBQXNCLE9BQU8sdURBQXVELG1DQUFtQywwREFBMEQsc0ZBQXNGLGdFQUFnRSxFQUFFLEdBQUcsRUFBRSxpQ0FBaUMsMkNBQTJDLEVBQUUsRUFBRSxFQUFFLGVBQWU7O0FBRS9kLHVDQUF1Qyx1QkFBdUIsdUZBQXVGLEVBQUUsYUFBYTs7QUFFcEssMkNBQTJDLGtCQUFrQixrQ0FBa0MscUVBQXFFLEVBQUUsRUFBRSxPQUFPLGtCQUFrQixFQUFFLFlBQVk7O0FBRS9NLCtDQUErQywwREFBMEQsMkNBQTJDLGlDQUFpQzs7QUFFckwsaUNBQWlDLG1CQUFPLENBQUMsK0ZBQThCOztBQUV2RSw4QkFBOEIsbUJBQU8sQ0FBQyx5RkFBMkI7O0FBRWpFLG9DQUFvQyxtQkFBTyxDQUFDLHFHQUFpQzs7QUFFN0UsMEJBQTBCLG1CQUFPLENBQUMsNkZBQTZCOztBQUUvRCw2QkFBNkIsbUJBQU8sQ0FBQyx1RkFBMEI7O0FBRS9ELDZCQUE2QixtQkFBTyxDQUFDLHVGQUEwQjs7QUFFL0QsNkJBQTZCLG1CQUFPLENBQUMsbUdBQWdDOztBQUVyRSxtQkFBbUIsbUJBQU8sQ0FBQyxtRUFBZ0I7O0FBRTNDLGtCQUFrQixtQkFBTyxDQUFDLGlFQUFlOztBQUV6QyxZQUFZLG1CQUFPLENBQUMsNENBQU87O0FBRTNCLGVBQWUsbUJBQU8sQ0FBQyxvREFBVzs7QUFFbEMsYUFBYSxtQkFBTyxDQUFDLDBEQUFpQjs7QUFFdEMsWUFBWSxtQkFBTyxDQUFDLHdEQUFnQjs7QUFFcEMsZ0JBQWdCLG1CQUFPLENBQUMsZ0VBQW9COztBQUU1QyxTQUFTLG1CQUFPLENBQUMsa0RBQWE7O0FBRTlCLHdCQUF3QixtQkFBTyxDQUFDLDZFQUFxQjs7QUFFckQsMkJBQTJCLG1CQUFPLENBQUMsbUZBQXdCOztBQUUzRCx3QkFBd0IsbUJBQU8sQ0FBQyxnRkFBNEI7O0FBRTVELFVBQVUsbUJBQU8sQ0FBQyxpREFBTzs7QUFFekIsZ0JBQWdCLG1CQUFPLENBQUMsZ0VBQW9COztBQUU1QyxvQkFBb0IsbUJBQU8sQ0FBQyxxRUFBaUI7O0FBRTdDLGlCQUFpQixtQkFBTyxDQUFDLGtFQUFxQjs7QUFFOUMscUNBQXFDO0FBQ3JDOztBQUVBLDRCQUE0QjtBQUM1Qjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsbUNBQW1DLEtBQXFDLDBEQUEwRCxTQUFnQjtBQUNsSix5QkFBeUI7O0FBRXpCO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBLG1DQUFtQyxLQUFxQywwREFBMEQsU0FBZ0I7QUFDbEo7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsd0NBQXdDOztBQUV4QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSxvQ0FBb0M7QUFDcEM7QUFDQSxPQUFPOztBQUVQO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQSxPQUFPO0FBQ1AsS0FBSzs7QUFFTDtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBOztBQUVBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBLFFBQVEsSUFBcUM7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUCxLQUFLOzs7QUFHTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNDQUFzQztBQUN0QztBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYixXQUFXO0FBQ1g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQ0FBc0M7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUssdURBQXVEO0FBQzVEO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQsNkIiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0RyYWZ0RWRpdG9yLnJlYWN0LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIEZhY2Vib29rLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKiBAZm9ybWF0XG4gKiBcbiAqIEBwcmV2ZW50TXVuZ2VcbiAqIEBlbWFpbHMgb25jYWxsK2RyYWZ0X2pzXG4gKi9cbid1c2Ugc3RyaWN0JztcblxudmFyIF9hc3NpZ24gPSByZXF1aXJlKFwib2JqZWN0LWFzc2lnblwiKTtcblxuZnVuY3Rpb24gX2V4dGVuZHMoKSB7IF9leHRlbmRzID0gX2Fzc2lnbiB8fCBmdW5jdGlvbiAodGFyZ2V0KSB7IGZvciAodmFyIGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7IHZhciBzb3VyY2UgPSBhcmd1bWVudHNbaV07IGZvciAodmFyIGtleSBpbiBzb3VyY2UpIHsgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzb3VyY2UsIGtleSkpIHsgdGFyZ2V0W2tleV0gPSBzb3VyY2Vba2V5XTsgfSB9IH0gcmV0dXJuIHRhcmdldDsgfTsgcmV0dXJuIF9leHRlbmRzLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7IH1cblxuZnVuY3Rpb24gX29iamVjdFNwcmVhZCh0YXJnZXQpIHsgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHsgdmFyIHNvdXJjZSA9IGFyZ3VtZW50c1tpXSAhPSBudWxsID8gYXJndW1lbnRzW2ldIDoge307IHZhciBvd25LZXlzID0gT2JqZWN0LmtleXMoc291cmNlKTsgaWYgKHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzID09PSAnZnVuY3Rpb24nKSB7IG93bktleXMgPSBvd25LZXlzLmNvbmNhdChPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHNvdXJjZSkuZmlsdGVyKGZ1bmN0aW9uIChzeW0pIHsgcmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Ioc291cmNlLCBzeW0pLmVudW1lcmFibGU7IH0pKTsgfSBvd25LZXlzLmZvckVhY2goZnVuY3Rpb24gKGtleSkgeyBfZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIHNvdXJjZVtrZXldKTsgfSk7IH0gcmV0dXJuIHRhcmdldDsgfVxuXG5mdW5jdGlvbiBfYXNzZXJ0VGhpc0luaXRpYWxpemVkKHNlbGYpIHsgaWYgKHNlbGYgPT09IHZvaWQgMCkgeyB0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoXCJ0aGlzIGhhc24ndCBiZWVuIGluaXRpYWxpc2VkIC0gc3VwZXIoKSBoYXNuJ3QgYmVlbiBjYWxsZWRcIik7IH0gcmV0dXJuIHNlbGY7IH1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnR5KG9iaiwga2V5LCB2YWx1ZSkgeyBpZiAoa2V5IGluIG9iaikgeyBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHsgdmFsdWU6IHZhbHVlLCBlbnVtZXJhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIHdyaXRhYmxlOiB0cnVlIH0pOyB9IGVsc2UgeyBvYmpba2V5XSA9IHZhbHVlOyB9IHJldHVybiBvYmo7IH1cblxuZnVuY3Rpb24gX2luaGVyaXRzTG9vc2Uoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpIHsgc3ViQ2xhc3MucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShzdXBlckNsYXNzLnByb3RvdHlwZSk7IHN1YkNsYXNzLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IHN1YkNsYXNzOyBzdWJDbGFzcy5fX3Byb3RvX18gPSBzdXBlckNsYXNzOyB9XG5cbnZhciBEZWZhdWx0RHJhZnRCbG9ja1JlbmRlck1hcCA9IHJlcXVpcmUoXCIuL0RlZmF1bHREcmFmdEJsb2NrUmVuZGVyTWFwXCIpO1xuXG52YXIgRGVmYXVsdERyYWZ0SW5saW5lU3R5bGUgPSByZXF1aXJlKFwiLi9EZWZhdWx0RHJhZnRJbmxpbmVTdHlsZVwiKTtcblxudmFyIERyYWZ0RWRpdG9yQ29tcG9zaXRpb25IYW5kbGVyID0gcmVxdWlyZShcIi4vRHJhZnRFZGl0b3JDb21wb3NpdGlvbkhhbmRsZXJcIik7XG5cbnZhciBEcmFmdEVkaXRvckNvbnRlbnRzID0gcmVxdWlyZShcIi4vRHJhZnRFZGl0b3JDb250ZW50cy5yZWFjdFwiKTtcblxudmFyIERyYWZ0RWRpdG9yRHJhZ0hhbmRsZXIgPSByZXF1aXJlKFwiLi9EcmFmdEVkaXRvckRyYWdIYW5kbGVyXCIpO1xuXG52YXIgRHJhZnRFZGl0b3JFZGl0SGFuZGxlciA9IHJlcXVpcmUoXCIuL0RyYWZ0RWRpdG9yRWRpdEhhbmRsZXJcIik7XG5cbnZhciBEcmFmdEVkaXRvclBsYWNlaG9sZGVyID0gcmVxdWlyZShcIi4vRHJhZnRFZGl0b3JQbGFjZWhvbGRlci5yZWFjdFwiKTtcblxudmFyIERyYWZ0RWZmZWN0cyA9IHJlcXVpcmUoXCIuL0RyYWZ0RWZmZWN0c1wiKTtcblxudmFyIEVkaXRvclN0YXRlID0gcmVxdWlyZShcIi4vRWRpdG9yU3RhdGVcIik7XG5cbnZhciBSZWFjdCA9IHJlcXVpcmUoXCJyZWFjdFwiKTtcblxudmFyIFJlYWN0RE9NID0gcmVxdWlyZShcInJlYWN0LWRvbVwiKTtcblxudmFyIFNjcm9sbCA9IHJlcXVpcmUoXCJmYmpzL2xpYi9TY3JvbGxcIik7XG5cbnZhciBTdHlsZSA9IHJlcXVpcmUoXCJmYmpzL2xpYi9TdHlsZVwiKTtcblxudmFyIFVzZXJBZ2VudCA9IHJlcXVpcmUoXCJmYmpzL2xpYi9Vc2VyQWdlbnRcIik7XG5cbnZhciBjeCA9IHJlcXVpcmUoXCJmYmpzL2xpYi9jeFwiKTtcblxudmFyIGdlbmVyYXRlUmFuZG9tS2V5ID0gcmVxdWlyZShcIi4vZ2VuZXJhdGVSYW5kb21LZXlcIik7XG5cbnZhciBnZXREZWZhdWx0S2V5QmluZGluZyA9IHJlcXVpcmUoXCIuL2dldERlZmF1bHRLZXlCaW5kaW5nXCIpO1xuXG52YXIgZ2V0U2Nyb2xsUG9zaXRpb24gPSByZXF1aXJlKFwiZmJqcy9saWIvZ2V0U2Nyb2xsUG9zaXRpb25cIik7XG5cbnZhciBna3ggPSByZXF1aXJlKFwiLi9na3hcIik7XG5cbnZhciBpbnZhcmlhbnQgPSByZXF1aXJlKFwiZmJqcy9saWIvaW52YXJpYW50XCIpO1xuXG52YXIgaXNIVE1MRWxlbWVudCA9IHJlcXVpcmUoXCIuL2lzSFRNTEVsZW1lbnRcIik7XG5cbnZhciBudWxsdGhyb3dzID0gcmVxdWlyZShcImZianMvbGliL251bGx0aHJvd3NcIik7XG5cbnZhciBpc0lFID0gVXNlckFnZW50LmlzQnJvd3NlcignSUUnKTsgLy8gSUUgZG9lcyBub3Qgc3VwcG9ydCB0aGUgYGlucHV0YCBldmVudCBvbiBjb250ZW50RWRpdGFibGUsIHNvIHdlIGNhbid0XG4vLyBvYnNlcnZlIHNwZWxsY2hlY2sgYmVoYXZpb3IuXG5cbnZhciBhbGxvd1NwZWxsQ2hlY2sgPSAhaXNJRTsgLy8gRGVmaW5lIGEgc2V0IG9mIGhhbmRsZXIgb2JqZWN0cyB0byBjb3JyZXNwb25kIHRvIGVhY2ggcG9zc2libGUgYG1vZGVgXG4vLyBvZiBlZGl0b3IgYmVoYXZpb3IuXG5cbnZhciBoYW5kbGVyTWFwID0ge1xuICBlZGl0OiBEcmFmdEVkaXRvckVkaXRIYW5kbGVyLFxuICBjb21wb3NpdGU6IERyYWZ0RWRpdG9yQ29tcG9zaXRpb25IYW5kbGVyLFxuICBkcmFnOiBEcmFmdEVkaXRvckRyYWdIYW5kbGVyLFxuICBjdXQ6IG51bGwsXG4gIHJlbmRlcjogbnVsbFxufTtcbnZhciBkaWRJbml0T0RTID0gZmFsc2U7XG5cbnZhciBVcGRhdGVEcmFmdEVkaXRvckZsYWdzID1cbi8qI19fUFVSRV9fKi9cbmZ1bmN0aW9uIChfUmVhY3QkQ29tcG9uZW50KSB7XG4gIF9pbmhlcml0c0xvb3NlKFVwZGF0ZURyYWZ0RWRpdG9yRmxhZ3MsIF9SZWFjdCRDb21wb25lbnQpO1xuXG4gIGZ1bmN0aW9uIFVwZGF0ZURyYWZ0RWRpdG9yRmxhZ3MoKSB7XG4gICAgcmV0dXJuIF9SZWFjdCRDb21wb25lbnQuYXBwbHkodGhpcywgYXJndW1lbnRzKSB8fCB0aGlzO1xuICB9XG5cbiAgdmFyIF9wcm90byA9IFVwZGF0ZURyYWZ0RWRpdG9yRmxhZ3MucHJvdG90eXBlO1xuXG4gIF9wcm90by5yZW5kZXIgPSBmdW5jdGlvbiByZW5kZXIoKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH07XG5cbiAgX3Byb3RvLmNvbXBvbmVudERpZE1vdW50ID0gZnVuY3Rpb24gY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgdGhpcy5fdXBkYXRlKCk7XG4gIH07XG5cbiAgX3Byb3RvLmNvbXBvbmVudERpZFVwZGF0ZSA9IGZ1bmN0aW9uIGNvbXBvbmVudERpZFVwZGF0ZSgpIHtcbiAgICB0aGlzLl91cGRhdGUoKTtcbiAgfTtcblxuICBfcHJvdG8uX3VwZGF0ZSA9IGZ1bmN0aW9uIF91cGRhdGUoKSB7XG4gICAgdmFyIGVkaXRvciA9IHRoaXMucHJvcHMuZWRpdG9yO1xuICAgIC8qKlxuICAgICAqIFNvbWV0aW1lcyBhIHJlbmRlciB0cmlnZ2VycyBhICdmb2N1cycgb3Igb3RoZXIgZXZlbnQsIGFuZCB0aGF0IHdpbGxcbiAgICAgKiBzY2hlZHVsZSBhIHNlY29uZCByZW5kZXIgcGFzcy5cbiAgICAgKiBJbiBvcmRlciB0byBtYWtlIHN1cmUgdGhlIHNlY29uZCByZW5kZXIgcGFzcyBnZXRzIHRoZSBsYXRlc3QgZWRpdG9yXG4gICAgICogc3RhdGUsIHdlIHVwZGF0ZSBpdCBoZXJlLlxuICAgICAqIEV4YW1wbGU6XG4gICAgICogcmVuZGVyICMxXG4gICAgICogK1xuICAgICAqIHxcbiAgICAgKiB8IGNXVSAtPiBOb3RoaW5nIC4uLiBsYXRlc3RFZGl0b3JTdGF0ZSA9IFNUQUxFX1NUQVRFIDooXG4gICAgICogfFxuICAgICAqIHwgcmVuZGVyIC0+IHRoaXMucHJvcHMuZWRpdG9yU3RhdGUgPSBGUkVTSF9TVEFURVxuICAgICAqIHwgKyAgICAgICAgICphbmQqIHNldCBsYXRlc3RFZGl0b3JTdGF0ZSA9IEZSRVNIX1NUQVRFXG4gICAgICogICB8XG4gICAgICogfCB8XG4gICAgICogfCArLS0+IHRyaWdnZXJzICdmb2N1cycgZXZlbnQsIGNhbGxpbmcgJ2hhbmRsZUZvY3VzJyB3aXRoIGxhdGVzdEVkaXRvclN0YXRlXG4gICAgICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICtcbiAgICAgKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxuICAgICAqICs+Y2RVIC0+IGxhdGVzdEVkaXRvclN0YXRlID0gRlJFU0hfU1RBVEUgICAgICAgICB8IHRoZSAnaGFuZGxlRm9jdXMnIGNhbGwgc2NoZWR1bGVzIHJlbmRlciAjMlxuICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IHdpdGggbGF0ZXN0RWRpdG9yU3RhdGUsIHdoaWNoIGlzIEZSRVNIX1NUQVRFXG4gICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbiAgICAgKiByZW5kZXIgIzIgPC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xuICAgICAqICtcbiAgICAgKiB8XG4gICAgICogfCBjd1UgLT4gbm90aGluZyB1cGRhdGVzXG4gICAgICogfFxuICAgICAqIHwgcmVuZGVyIC0+IHRoaXMucHJvcHMuZWRpdG9yU3RhdGUgPSBGUkVTSF9TVEFURSB3aGljaCB3YXMgcGFzc2VkIGluIGFib3ZlXG4gICAgICogfFxuICAgICAqICs+Y2RVIGZpcmVzIGFuZCByZXNldHMgbGF0ZXN0RWRpdG9yU3RhdGUgPSBGUkVTSF9TVEFURVxuICAgICAqIC0tLVxuICAgICAqIE5vdGUgdGhhdCBpZiB3ZSBkb24ndCBzZXQgbGF0ZXN0RWRpdG9yU3RhdGUgaW4gJ3JlbmRlcicgaW4gdGhlIGFib3ZlXG4gICAgICogZGlhZ3JhbSwgdGhlbiBTVEFMRV9TVEFURSBnZXRzIHBhc3NlZCB0byByZW5kZXIgIzIuXG4gICAgICovXG5cbiAgICBlZGl0b3IuX2xhdGVzdEVkaXRvclN0YXRlID0gdGhpcy5wcm9wcy5lZGl0b3JTdGF0ZTtcbiAgICAvKipcbiAgICAgKiBUaGUgcmVhc29uIHdlIHNldCB0aGlzICdibG9ja1NlbGVjdEV2ZW50cycgZmxhZyBpcyB0aGF0ICBJRSB3aWxsIGZpcmUgYVxuICAgICAqICdzZWxlY3Rpb25DaGFuZ2UnIGV2ZW50IHdoZW4gd2UgcHJvZ3JhbW1hdGljYWxseSBjaGFuZ2UgdGhlIHNlbGVjdGlvbixcbiAgICAgKiBtZWFuaW5nIGl0IHdvdWxkIHRyaWdnZXIgYSBuZXcgc2VsZWN0IGV2ZW50IHdoaWxlIHdlIGFyZSBpbiB0aGUgbWlkZGxlXG4gICAgICogb2YgdXBkYXRpbmcuXG4gICAgICogV2UgZm91bmQgdGhhdCB0aGUgJ3NlbGVjdGlvbi5hZGRSYW5nZScgd2FzIHdoYXQgdHJpZ2dlcmVkIHRoZSBzdHJheVxuICAgICAqIHNlbGVjdGlvbmNoYW5nZSBldmVudCBpbiBJRS5cbiAgICAgKiBUbyBiZSBjbGVhciAtIHdlIGhhdmUgbm90IGJlZW4gYWJsZSB0byByZXByb2R1Y2Ugc3BlY2lmaWMgYnVncyByZWxhdGVkXG4gICAgICogdG8gdGhpcyBzdHJheSBzZWxlY3Rpb24gZXZlbnQsIGJ1dCBoYXZlIHJlY29yZGVkIGxvZ3MgdGhhdCBzb21lXG4gICAgICogY29uZGl0aW9ucyBkbyBjYXVzZSBpdCB0byBnZXQgYnVtcGVkIGludG8gZHVyaW5nIGVkaXRPblNlbGVjdC5cbiAgICAgKi9cblxuICAgIGVkaXRvci5fYmxvY2tTZWxlY3RFdmVudHMgPSB0cnVlO1xuICB9O1xuXG4gIHJldHVybiBVcGRhdGVEcmFmdEVkaXRvckZsYWdzO1xufShSZWFjdC5Db21wb25lbnQpO1xuLyoqXG4gKiBgRHJhZnRFZGl0b3JgIGlzIHRoZSByb290IGVkaXRvciBjb21wb25lbnQuIEl0IGNvbXBvc2VzIGEgYGNvbnRlbnRFZGl0YWJsZWBcbiAqIGRpdiwgYW5kIHByb3ZpZGVzIGEgd2lkZSB2YXJpZXR5IG9mIHVzZWZ1bCBmdW5jdGlvbiBwcm9wcyBmb3IgbWFuYWdpbmcgdGhlXG4gKiBzdGF0ZSBvZiB0aGUgZWRpdG9yLiBTZWUgYERyYWZ0RWRpdG9yUHJvcHNgIGZvciBkZXRhaWxzLlxuICovXG5cblxudmFyIERyYWZ0RWRpdG9yID1cbi8qI19fUFVSRV9fKi9cbmZ1bmN0aW9uIChfUmVhY3QkQ29tcG9uZW50Mikge1xuICBfaW5oZXJpdHNMb29zZShEcmFmdEVkaXRvciwgX1JlYWN0JENvbXBvbmVudDIpO1xuXG4gIC8qKlxuICAgKiBEZWZpbmUgcHJveGllcyB0aGF0IGNhbiByb3V0ZSBldmVudHMgdG8gdGhlIGN1cnJlbnQgaGFuZGxlci5cbiAgICovXG4gIGZ1bmN0aW9uIERyYWZ0RWRpdG9yKHByb3BzKSB7XG4gICAgdmFyIF90aGlzO1xuXG4gICAgX3RoaXMgPSBfUmVhY3QkQ29tcG9uZW50Mi5jYWxsKHRoaXMsIHByb3BzKSB8fCB0aGlzO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpLCBcIl9ibG9ja1NlbGVjdEV2ZW50c1wiLCB2b2lkIDApO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpLCBcIl9jbGlwYm9hcmRcIiwgdm9pZCAwKTtcblxuICAgIF9kZWZpbmVQcm9wZXJ0eShfYXNzZXJ0VGhpc0luaXRpYWxpemVkKF90aGlzKSwgXCJfaGFuZGxlclwiLCB2b2lkIDApO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpLCBcIl9kcmFnQ291bnRcIiwgdm9pZCAwKTtcblxuICAgIF9kZWZpbmVQcm9wZXJ0eShfYXNzZXJ0VGhpc0luaXRpYWxpemVkKF90aGlzKSwgXCJfaW50ZXJuYWxEcmFnXCIsIHZvaWQgMCk7XG5cbiAgICBfZGVmaW5lUHJvcGVydHkoX2Fzc2VydFRoaXNJbml0aWFsaXplZChfdGhpcyksIFwiX2VkaXRvcktleVwiLCB2b2lkIDApO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpLCBcIl9wbGFjZWhvbGRlckFjY2Vzc2liaWxpdHlJRFwiLCB2b2lkIDApO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpLCBcIl9sYXRlc3RFZGl0b3JTdGF0ZVwiLCB2b2lkIDApO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpLCBcIl9sYXRlc3RDb21taXR0ZWRFZGl0b3JTdGF0ZVwiLCB2b2lkIDApO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpLCBcIl9wZW5kaW5nU3RhdGVGcm9tQmVmb3JlSW5wdXRcIiwgdm9pZCAwKTtcblxuICAgIF9kZWZpbmVQcm9wZXJ0eShfYXNzZXJ0VGhpc0luaXRpYWxpemVkKF90aGlzKSwgXCJfb25CZWZvcmVJbnB1dFwiLCB2b2lkIDApO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpLCBcIl9vbkJsdXJcIiwgdm9pZCAwKTtcblxuICAgIF9kZWZpbmVQcm9wZXJ0eShfYXNzZXJ0VGhpc0luaXRpYWxpemVkKF90aGlzKSwgXCJfb25DaGFyYWN0ZXJEYXRhXCIsIHZvaWQgMCk7XG5cbiAgICBfZGVmaW5lUHJvcGVydHkoX2Fzc2VydFRoaXNJbml0aWFsaXplZChfdGhpcyksIFwiX29uQ29tcG9zaXRpb25FbmRcIiwgdm9pZCAwKTtcblxuICAgIF9kZWZpbmVQcm9wZXJ0eShfYXNzZXJ0VGhpc0luaXRpYWxpemVkKF90aGlzKSwgXCJfb25Db21wb3NpdGlvblN0YXJ0XCIsIHZvaWQgMCk7XG5cbiAgICBfZGVmaW5lUHJvcGVydHkoX2Fzc2VydFRoaXNJbml0aWFsaXplZChfdGhpcyksIFwiX29uQ29weVwiLCB2b2lkIDApO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpLCBcIl9vbkN1dFwiLCB2b2lkIDApO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpLCBcIl9vbkRyYWdFbmRcIiwgdm9pZCAwKTtcblxuICAgIF9kZWZpbmVQcm9wZXJ0eShfYXNzZXJ0VGhpc0luaXRpYWxpemVkKF90aGlzKSwgXCJfb25EcmFnT3ZlclwiLCB2b2lkIDApO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpLCBcIl9vbkRyYWdTdGFydFwiLCB2b2lkIDApO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpLCBcIl9vbkRyb3BcIiwgdm9pZCAwKTtcblxuICAgIF9kZWZpbmVQcm9wZXJ0eShfYXNzZXJ0VGhpc0luaXRpYWxpemVkKF90aGlzKSwgXCJfb25JbnB1dFwiLCB2b2lkIDApO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpLCBcIl9vbkZvY3VzXCIsIHZvaWQgMCk7XG5cbiAgICBfZGVmaW5lUHJvcGVydHkoX2Fzc2VydFRoaXNJbml0aWFsaXplZChfdGhpcyksIFwiX29uS2V5RG93blwiLCB2b2lkIDApO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpLCBcIl9vbktleVByZXNzXCIsIHZvaWQgMCk7XG5cbiAgICBfZGVmaW5lUHJvcGVydHkoX2Fzc2VydFRoaXNJbml0aWFsaXplZChfdGhpcyksIFwiX29uS2V5VXBcIiwgdm9pZCAwKTtcblxuICAgIF9kZWZpbmVQcm9wZXJ0eShfYXNzZXJ0VGhpc0luaXRpYWxpemVkKF90aGlzKSwgXCJfb25Nb3VzZURvd25cIiwgdm9pZCAwKTtcblxuICAgIF9kZWZpbmVQcm9wZXJ0eShfYXNzZXJ0VGhpc0luaXRpYWxpemVkKF90aGlzKSwgXCJfb25Nb3VzZVVwXCIsIHZvaWQgMCk7XG5cbiAgICBfZGVmaW5lUHJvcGVydHkoX2Fzc2VydFRoaXNJbml0aWFsaXplZChfdGhpcyksIFwiX29uUGFzdGVcIiwgdm9pZCAwKTtcblxuICAgIF9kZWZpbmVQcm9wZXJ0eShfYXNzZXJ0VGhpc0luaXRpYWxpemVkKF90aGlzKSwgXCJfb25TZWxlY3RcIiwgdm9pZCAwKTtcblxuICAgIF9kZWZpbmVQcm9wZXJ0eShfYXNzZXJ0VGhpc0luaXRpYWxpemVkKF90aGlzKSwgXCJlZGl0b3JcIiwgdm9pZCAwKTtcblxuICAgIF9kZWZpbmVQcm9wZXJ0eShfYXNzZXJ0VGhpc0luaXRpYWxpemVkKF90aGlzKSwgXCJlZGl0b3JDb250YWluZXJcIiwgdm9pZCAwKTtcblxuICAgIF9kZWZpbmVQcm9wZXJ0eShfYXNzZXJ0VGhpc0luaXRpYWxpemVkKF90aGlzKSwgXCJmb2N1c1wiLCB2b2lkIDApO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpLCBcImJsdXJcIiwgdm9pZCAwKTtcblxuICAgIF9kZWZpbmVQcm9wZXJ0eShfYXNzZXJ0VGhpc0luaXRpYWxpemVkKF90aGlzKSwgXCJzZXRNb2RlXCIsIHZvaWQgMCk7XG5cbiAgICBfZGVmaW5lUHJvcGVydHkoX2Fzc2VydFRoaXNJbml0aWFsaXplZChfdGhpcyksIFwiZXhpdEN1cnJlbnRNb2RlXCIsIHZvaWQgMCk7XG5cbiAgICBfZGVmaW5lUHJvcGVydHkoX2Fzc2VydFRoaXNJbml0aWFsaXplZChfdGhpcyksIFwicmVzdG9yZUVkaXRvckRPTVwiLCB2b2lkIDApO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpLCBcInNldENsaXBib2FyZFwiLCB2b2lkIDApO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpLCBcImdldENsaXBib2FyZFwiLCB2b2lkIDApO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpLCBcImdldEVkaXRvcktleVwiLCB2b2lkIDApO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpLCBcInVwZGF0ZVwiLCB2b2lkIDApO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpLCBcIm9uRHJhZ0VudGVyXCIsIHZvaWQgMCk7XG5cbiAgICBfZGVmaW5lUHJvcGVydHkoX2Fzc2VydFRoaXNJbml0aWFsaXplZChfdGhpcyksIFwib25EcmFnTGVhdmVcIiwgdm9pZCAwKTtcblxuICAgIF9kZWZpbmVQcm9wZXJ0eShfYXNzZXJ0VGhpc0luaXRpYWxpemVkKF90aGlzKSwgXCJmb2N1c1wiLCBmdW5jdGlvbiAoc2Nyb2xsUG9zaXRpb24pIHtcbiAgICAgIHZhciBlZGl0b3JTdGF0ZSA9IF90aGlzLnByb3BzLmVkaXRvclN0YXRlO1xuICAgICAgdmFyIGFscmVhZHlIYXNGb2N1cyA9IGVkaXRvclN0YXRlLmdldFNlbGVjdGlvbigpLmdldEhhc0ZvY3VzKCk7XG4gICAgICB2YXIgZWRpdG9yTm9kZSA9IF90aGlzLmVkaXRvcjtcblxuICAgICAgaWYgKCFlZGl0b3JOb2RlKSB7XG4gICAgICAgIC8vIG9uY2UgaW4gYSB3aGlsZSBwZW9wbGUgY2FsbCAnZm9jdXMnIGluIGEgc2V0VGltZW91dCwgYW5kIHRoZSBub2RlIGhhc1xuICAgICAgICAvLyBiZWVuIGRlbGV0ZWQsIHNvIGl0IGNhbiBiZSBudWxsIGluIHRoYXQgY2FzZS5cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB2YXIgc2Nyb2xsUGFyZW50ID0gU3R5bGUuZ2V0U2Nyb2xsUGFyZW50KGVkaXRvck5vZGUpO1xuXG4gICAgICB2YXIgX3JlZiA9IHNjcm9sbFBvc2l0aW9uIHx8IGdldFNjcm9sbFBvc2l0aW9uKHNjcm9sbFBhcmVudCksXG4gICAgICAgICAgeCA9IF9yZWYueCxcbiAgICAgICAgICB5ID0gX3JlZi55O1xuXG4gICAgICAhaXNIVE1MRWxlbWVudChlZGl0b3JOb2RlKSA/IHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIiA/IGludmFyaWFudChmYWxzZSwgJ2VkaXRvck5vZGUgaXMgbm90IGFuIEhUTUxFbGVtZW50JykgOiBpbnZhcmlhbnQoZmFsc2UpIDogdm9pZCAwO1xuICAgICAgZWRpdG9yTm9kZS5mb2N1cygpOyAvLyBSZXN0b3JlIHNjcm9sbCBwb3NpdGlvblxuXG4gICAgICBpZiAoc2Nyb2xsUGFyZW50ID09PSB3aW5kb3cpIHtcbiAgICAgICAgd2luZG93LnNjcm9sbFRvKHgsIHkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgU2Nyb2xsLnNldFRvcChzY3JvbGxQYXJlbnQsIHkpO1xuICAgICAgfSAvLyBPbiBDaHJvbWUgYW5kIFNhZmFyaSwgY2FsbGluZyBmb2N1cyBvbiBjb250ZW50ZWRpdGFibGUgZm9jdXNlcyB0aGVcbiAgICAgIC8vIGN1cnNvciBhdCB0aGUgZmlyc3QgY2hhcmFjdGVyLiBUaGlzIGlzIHNvbWV0aGluZyB5b3UgZG9uJ3QgZXhwZWN0IHdoZW5cbiAgICAgIC8vIHlvdSdyZSBjbGlja2luZyBvbiBhbiBpbnB1dCBlbGVtZW50IGJ1dCBub3QgZGlyZWN0bHkgb24gYSBjaGFyYWN0ZXIuXG4gICAgICAvLyBQdXQgdGhlIGN1cnNvciBiYWNrIHdoZXJlIGl0IHdhcyBiZWZvcmUgdGhlIGJsdXIuXG5cblxuICAgICAgaWYgKCFhbHJlYWR5SGFzRm9jdXMpIHtcbiAgICAgICAgX3RoaXMudXBkYXRlKEVkaXRvclN0YXRlLmZvcmNlU2VsZWN0aW9uKGVkaXRvclN0YXRlLCBlZGl0b3JTdGF0ZS5nZXRTZWxlY3Rpb24oKSkpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpLCBcImJsdXJcIiwgZnVuY3Rpb24gKCkge1xuICAgICAgdmFyIGVkaXRvck5vZGUgPSBfdGhpcy5lZGl0b3I7XG5cbiAgICAgIGlmICghZWRpdG9yTm9kZSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgICFpc0hUTUxFbGVtZW50KGVkaXRvck5vZGUpID8gcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiID8gaW52YXJpYW50KGZhbHNlLCAnZWRpdG9yTm9kZSBpcyBub3QgYW4gSFRNTEVsZW1lbnQnKSA6IGludmFyaWFudChmYWxzZSkgOiB2b2lkIDA7XG4gICAgICBlZGl0b3JOb2RlLmJsdXIoKTtcbiAgICB9KTtcblxuICAgIF9kZWZpbmVQcm9wZXJ0eShfYXNzZXJ0VGhpc0luaXRpYWxpemVkKF90aGlzKSwgXCJzZXRNb2RlXCIsIGZ1bmN0aW9uIChtb2RlKSB7XG4gICAgICB2YXIgX3RoaXMkcHJvcHMgPSBfdGhpcy5wcm9wcyxcbiAgICAgICAgICBvblBhc3RlID0gX3RoaXMkcHJvcHMub25QYXN0ZSxcbiAgICAgICAgICBvbkN1dCA9IF90aGlzJHByb3BzLm9uQ3V0LFxuICAgICAgICAgIG9uQ29weSA9IF90aGlzJHByb3BzLm9uQ29weTtcblxuICAgICAgdmFyIGVkaXRIYW5kbGVyID0gX29iamVjdFNwcmVhZCh7fSwgaGFuZGxlck1hcC5lZGl0KTtcblxuICAgICAgaWYgKG9uUGFzdGUpIHtcbiAgICAgICAgLyogJEZsb3dGaXhNZSg+PTAuMTExLjApIFRoaXMgY29tbWVudCBzdXBwcmVzc2VzIGFuIGVycm9yIGZvdW5kIHdoZW4gRmxvd1xuICAgICAgICAgKiB2MC4xMTEuMCB3YXMgZGVwbG95ZWQuIFRvIHNlZSB0aGUgZXJyb3IsIGRlbGV0ZSB0aGlzIGNvbW1lbnQgYW5kIHJ1blxuICAgICAgICAgKiBGbG93LiAqL1xuICAgICAgICBlZGl0SGFuZGxlci5vblBhc3RlID0gb25QYXN0ZTtcbiAgICAgIH1cblxuICAgICAgaWYgKG9uQ3V0KSB7XG4gICAgICAgIGVkaXRIYW5kbGVyLm9uQ3V0ID0gb25DdXQ7XG4gICAgICB9XG5cbiAgICAgIGlmIChvbkNvcHkpIHtcbiAgICAgICAgZWRpdEhhbmRsZXIub25Db3B5ID0gb25Db3B5O1xuICAgICAgfVxuXG4gICAgICB2YXIgaGFuZGxlciA9IF9vYmplY3RTcHJlYWQoe30sIGhhbmRsZXJNYXAsIHtcbiAgICAgICAgZWRpdDogZWRpdEhhbmRsZXJcbiAgICAgIH0pO1xuXG4gICAgICBfdGhpcy5faGFuZGxlciA9IGhhbmRsZXJbbW9kZV07XG4gICAgfSk7XG5cbiAgICBfZGVmaW5lUHJvcGVydHkoX2Fzc2VydFRoaXNJbml0aWFsaXplZChfdGhpcyksIFwiZXhpdEN1cnJlbnRNb2RlXCIsIGZ1bmN0aW9uICgpIHtcbiAgICAgIF90aGlzLnNldE1vZGUoJ2VkaXQnKTtcbiAgICB9KTtcblxuICAgIF9kZWZpbmVQcm9wZXJ0eShfYXNzZXJ0VGhpc0luaXRpYWxpemVkKF90aGlzKSwgXCJyZXN0b3JlRWRpdG9yRE9NXCIsIGZ1bmN0aW9uIChzY3JvbGxQb3NpdGlvbikge1xuICAgICAgX3RoaXMuc2V0U3RhdGUoe1xuICAgICAgICBjb250ZW50c0tleTogX3RoaXMuc3RhdGUuY29udGVudHNLZXkgKyAxXG4gICAgICB9LCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIF90aGlzLmZvY3VzKHNjcm9sbFBvc2l0aW9uKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpLCBcInNldENsaXBib2FyZFwiLCBmdW5jdGlvbiAoY2xpcGJvYXJkKSB7XG4gICAgICBfdGhpcy5fY2xpcGJvYXJkID0gY2xpcGJvYXJkO1xuICAgIH0pO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpLCBcImdldENsaXBib2FyZFwiLCBmdW5jdGlvbiAoKSB7XG4gICAgICByZXR1cm4gX3RoaXMuX2NsaXBib2FyZDtcbiAgICB9KTtcblxuICAgIF9kZWZpbmVQcm9wZXJ0eShfYXNzZXJ0VGhpc0luaXRpYWxpemVkKF90aGlzKSwgXCJ1cGRhdGVcIiwgZnVuY3Rpb24gKGVkaXRvclN0YXRlKSB7XG4gICAgICBfdGhpcy5fbGF0ZXN0RWRpdG9yU3RhdGUgPSBlZGl0b3JTdGF0ZTtcblxuICAgICAgX3RoaXMucHJvcHMub25DaGFuZ2UoZWRpdG9yU3RhdGUpO1xuICAgIH0pO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpLCBcIm9uRHJhZ0VudGVyXCIsIGZ1bmN0aW9uICgpIHtcbiAgICAgIF90aGlzLl9kcmFnQ291bnQrKztcbiAgICB9KTtcblxuICAgIF9kZWZpbmVQcm9wZXJ0eShfYXNzZXJ0VGhpc0luaXRpYWxpemVkKF90aGlzKSwgXCJvbkRyYWdMZWF2ZVwiLCBmdW5jdGlvbiAoKSB7XG4gICAgICBfdGhpcy5fZHJhZ0NvdW50LS07XG5cbiAgICAgIGlmIChfdGhpcy5fZHJhZ0NvdW50ID09PSAwKSB7XG4gICAgICAgIF90aGlzLmV4aXRDdXJyZW50TW9kZSgpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgX3RoaXMuX2Jsb2NrU2VsZWN0RXZlbnRzID0gZmFsc2U7XG4gICAgX3RoaXMuX2NsaXBib2FyZCA9IG51bGw7XG4gICAgX3RoaXMuX2hhbmRsZXIgPSBudWxsO1xuICAgIF90aGlzLl9kcmFnQ291bnQgPSAwO1xuICAgIF90aGlzLl9lZGl0b3JLZXkgPSBwcm9wcy5lZGl0b3JLZXkgfHwgZ2VuZXJhdGVSYW5kb21LZXkoKTtcbiAgICBfdGhpcy5fcGxhY2Vob2xkZXJBY2Nlc3NpYmlsaXR5SUQgPSAncGxhY2Vob2xkZXItJyArIF90aGlzLl9lZGl0b3JLZXk7XG4gICAgX3RoaXMuX2xhdGVzdEVkaXRvclN0YXRlID0gcHJvcHMuZWRpdG9yU3RhdGU7XG4gICAgX3RoaXMuX2xhdGVzdENvbW1pdHRlZEVkaXRvclN0YXRlID0gcHJvcHMuZWRpdG9yU3RhdGU7XG4gICAgX3RoaXMuX29uQmVmb3JlSW5wdXQgPSBfdGhpcy5fYnVpbGRIYW5kbGVyKCdvbkJlZm9yZUlucHV0Jyk7XG4gICAgX3RoaXMuX29uQmx1ciA9IF90aGlzLl9idWlsZEhhbmRsZXIoJ29uQmx1cicpO1xuICAgIF90aGlzLl9vbkNoYXJhY3RlckRhdGEgPSBfdGhpcy5fYnVpbGRIYW5kbGVyKCdvbkNoYXJhY3RlckRhdGEnKTtcbiAgICBfdGhpcy5fb25Db21wb3NpdGlvbkVuZCA9IF90aGlzLl9idWlsZEhhbmRsZXIoJ29uQ29tcG9zaXRpb25FbmQnKTtcbiAgICBfdGhpcy5fb25Db21wb3NpdGlvblN0YXJ0ID0gX3RoaXMuX2J1aWxkSGFuZGxlcignb25Db21wb3NpdGlvblN0YXJ0Jyk7XG4gICAgX3RoaXMuX29uQ29weSA9IF90aGlzLl9idWlsZEhhbmRsZXIoJ29uQ29weScpO1xuICAgIF90aGlzLl9vbkN1dCA9IF90aGlzLl9idWlsZEhhbmRsZXIoJ29uQ3V0Jyk7XG4gICAgX3RoaXMuX29uRHJhZ0VuZCA9IF90aGlzLl9idWlsZEhhbmRsZXIoJ29uRHJhZ0VuZCcpO1xuICAgIF90aGlzLl9vbkRyYWdPdmVyID0gX3RoaXMuX2J1aWxkSGFuZGxlcignb25EcmFnT3ZlcicpO1xuICAgIF90aGlzLl9vbkRyYWdTdGFydCA9IF90aGlzLl9idWlsZEhhbmRsZXIoJ29uRHJhZ1N0YXJ0Jyk7XG4gICAgX3RoaXMuX29uRHJvcCA9IF90aGlzLl9idWlsZEhhbmRsZXIoJ29uRHJvcCcpO1xuICAgIF90aGlzLl9vbklucHV0ID0gX3RoaXMuX2J1aWxkSGFuZGxlcignb25JbnB1dCcpO1xuICAgIF90aGlzLl9vbkZvY3VzID0gX3RoaXMuX2J1aWxkSGFuZGxlcignb25Gb2N1cycpO1xuICAgIF90aGlzLl9vbktleURvd24gPSBfdGhpcy5fYnVpbGRIYW5kbGVyKCdvbktleURvd24nKTtcbiAgICBfdGhpcy5fb25LZXlQcmVzcyA9IF90aGlzLl9idWlsZEhhbmRsZXIoJ29uS2V5UHJlc3MnKTtcbiAgICBfdGhpcy5fb25LZXlVcCA9IF90aGlzLl9idWlsZEhhbmRsZXIoJ29uS2V5VXAnKTtcbiAgICBfdGhpcy5fb25Nb3VzZURvd24gPSBfdGhpcy5fYnVpbGRIYW5kbGVyKCdvbk1vdXNlRG93bicpO1xuICAgIF90aGlzLl9vbk1vdXNlVXAgPSBfdGhpcy5fYnVpbGRIYW5kbGVyKCdvbk1vdXNlVXAnKTtcbiAgICBfdGhpcy5fb25QYXN0ZSA9IF90aGlzLl9idWlsZEhhbmRsZXIoJ29uUGFzdGUnKTtcbiAgICBfdGhpcy5fb25TZWxlY3QgPSBfdGhpcy5fYnVpbGRIYW5kbGVyKCdvblNlbGVjdCcpO1xuXG4gICAgX3RoaXMuZ2V0RWRpdG9yS2V5ID0gZnVuY3Rpb24gKCkge1xuICAgICAgcmV0dXJuIF90aGlzLl9lZGl0b3JLZXk7XG4gICAgfTtcblxuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgICAgIFsnb25Eb3duQXJyb3cnLCAnb25Fc2NhcGUnLCAnb25MZWZ0QXJyb3cnLCAnb25SaWdodEFycm93JywgJ29uVGFiJywgJ29uVXBBcnJvdyddLmZvckVhY2goZnVuY3Rpb24gKHByb3BOYW1lKSB7XG4gICAgICAgIGlmIChwcm9wcy5oYXNPd25Qcm9wZXJ0eShwcm9wTmFtZSkpIHtcbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICAgICAgICAgIGNvbnNvbGUud2FybihcIlN1cHBseWluZyBhbiBgXCIuY29uY2F0KHByb3BOYW1lLCBcImAgcHJvcCB0byBgRHJhZnRFZGl0b3JgIGhhcyBcIikgKyAnYmVlbiBkZXByZWNhdGVkLiBJZiB5b3VyIGhhbmRsZXIgbmVlZHMgYWNjZXNzIHRvIHRoZSBrZXlib2FyZCAnICsgJ2V2ZW50LCBzdXBwbHkgYSBjdXN0b20gYGtleUJpbmRpbmdGbmAgcHJvcCB0aGF0IGZhbGxzIGJhY2sgdG8gJyArICd0aGUgZGVmYXVsdCBvbmUgKGVnLiBodHRwczovL2lzLmdkL1JHMzFSSikuJyk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0gLy8gU2VlIGByZXN0b3JlRWRpdG9yRE9NKClgLlxuXG5cbiAgICBfdGhpcy5zdGF0ZSA9IHtcbiAgICAgIGNvbnRlbnRzS2V5OiAwXG4gICAgfTtcbiAgICByZXR1cm4gX3RoaXM7XG4gIH1cbiAgLyoqXG4gICAqIEJ1aWxkIGEgbWV0aG9kIHRoYXQgd2lsbCBwYXNzIHRoZSBldmVudCB0byB0aGUgc3BlY2lmaWVkIGhhbmRsZXIgbWV0aG9kLlxuICAgKiBUaGlzIGFsbG93cyB1cyB0byBsb29rIHVwIHRoZSBjb3JyZWN0IGhhbmRsZXIgZnVuY3Rpb24gZm9yIHRoZSBjdXJyZW50XG4gICAqIGVkaXRvciBtb2RlLCBpZiBhbnkgaGFzIGJlZW4gc3BlY2lmaWVkLlxuICAgKi9cblxuXG4gIHZhciBfcHJvdG8yID0gRHJhZnRFZGl0b3IucHJvdG90eXBlO1xuXG4gIF9wcm90bzIuX2J1aWxkSGFuZGxlciA9IGZ1bmN0aW9uIF9idWlsZEhhbmRsZXIoZXZlbnROYW1lKSB7XG4gICAgdmFyIF90aGlzMiA9IHRoaXM7XG5cbiAgICB2YXIgZmx1c2hDb250cm9sbGVkID1cbiAgICAvKiAkRmxvd0ZpeE1lKD49MC43OS4xIHNpdGU9d3d3KSBUaGlzIGNvbW1lbnQgc3VwcHJlc3NlcyBhbiBlcnJvciBmb3VuZFxuICAgICAqIHdoZW4gRmxvdyB2MC43OSB3YXMgZGVwbG95ZWQuIFRvIHNlZSB0aGUgZXJyb3IgZGVsZXRlIHRoaXMgY29tbWVudCBhbmRcbiAgICAgKiBydW4gRmxvdy4gKi9cbiAgICBSZWFjdERPTS51bnN0YWJsZV9mbHVzaENvbnRyb2xsZWQ7IC8vIFdyYXAgZXZlbnQgaGFuZGxlcnMgaW4gYGZsdXNoQ29udHJvbGxlZGAuIEluIHN5bmMgbW9kZSwgdGhpcyBpc1xuICAgIC8vIGVmZmVjdGl2ZWx5IGEgbm8tb3AuIEluIGFzeW5jIG1vZGUsIHRoaXMgZW5zdXJlcyBhbGwgdXBkYXRlcyBzY2hlZHVsZWRcbiAgICAvLyBpbnNpZGUgdGhlIGhhbmRsZXIgYXJlIGZsdXNoZWQgYmVmb3JlIFJlYWN0IHlpZWxkcyB0byB0aGUgYnJvd3Nlci5cblxuICAgIHJldHVybiBmdW5jdGlvbiAoZSkge1xuICAgICAgaWYgKCFfdGhpczIucHJvcHMucmVhZE9ubHkpIHtcbiAgICAgICAgdmFyIG1ldGhvZCA9IF90aGlzMi5faGFuZGxlciAmJiBfdGhpczIuX2hhbmRsZXJbZXZlbnROYW1lXTtcblxuICAgICAgICBpZiAobWV0aG9kKSB7XG4gICAgICAgICAgaWYgKGZsdXNoQ29udHJvbGxlZCkge1xuICAgICAgICAgICAgZmx1c2hDb250cm9sbGVkKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIG1ldGhvZChfdGhpczIsIGUpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG1ldGhvZChfdGhpczIsIGUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG4gIH07XG5cbiAgX3Byb3RvMi5fc2hvd1BsYWNlaG9sZGVyID0gZnVuY3Rpb24gX3Nob3dQbGFjZWhvbGRlcigpIHtcbiAgICByZXR1cm4gISF0aGlzLnByb3BzLnBsYWNlaG9sZGVyICYmICF0aGlzLnByb3BzLmVkaXRvclN0YXRlLmlzSW5Db21wb3NpdGlvbk1vZGUoKSAmJiAhdGhpcy5wcm9wcy5lZGl0b3JTdGF0ZS5nZXRDdXJyZW50Q29udGVudCgpLmhhc1RleHQoKTtcbiAgfTtcblxuICBfcHJvdG8yLl9yZW5kZXJQbGFjZWhvbGRlciA9IGZ1bmN0aW9uIF9yZW5kZXJQbGFjZWhvbGRlcigpIHtcbiAgICBpZiAodGhpcy5fc2hvd1BsYWNlaG9sZGVyKCkpIHtcbiAgICAgIHZhciBwbGFjZUhvbGRlclByb3BzID0ge1xuICAgICAgICB0ZXh0OiBudWxsdGhyb3dzKHRoaXMucHJvcHMucGxhY2Vob2xkZXIpLFxuICAgICAgICBlZGl0b3JTdGF0ZTogdGhpcy5wcm9wcy5lZGl0b3JTdGF0ZSxcbiAgICAgICAgdGV4dEFsaWdubWVudDogdGhpcy5wcm9wcy50ZXh0QWxpZ25tZW50LFxuICAgICAgICBhY2Nlc3NpYmlsaXR5SUQ6IHRoaXMuX3BsYWNlaG9sZGVyQWNjZXNzaWJpbGl0eUlEXG4gICAgICB9O1xuICAgICAgLyogJEZsb3dGaXhNZSg+PTAuMTEyLjAgc2l0ZT1tb2JpbGUpIFRoaXMgY29tbWVudCBzdXBwcmVzc2VzIGFuIGVycm9yXG4gICAgICAgKiBmb3VuZCB3aGVuIEZsb3cgdjAuMTEyIHdhcyBkZXBsb3llZC4gVG8gc2VlIHRoZSBlcnJvciBkZWxldGUgdGhpc1xuICAgICAgICogY29tbWVudCBhbmQgcnVuIEZsb3cuICovXG5cbiAgICAgIC8qICRGbG93Rml4TWUoPj0wLjExMi4wIHNpdGU9d3d3KSBUaGlzIGNvbW1lbnQgc3VwcHJlc3NlcyBhbiBlcnJvciBmb3VuZFxuICAgICAgICogd2hlbiBGbG93IHYwLjExMiB3YXMgZGVwbG95ZWQuIFRvIHNlZSB0aGUgZXJyb3IgZGVsZXRlIHRoaXMgY29tbWVudFxuICAgICAgICogYW5kIHJ1biBGbG93LiAqL1xuXG4gICAgICAvKiAkRmxvd0ZpeE1lKD49MC4xMTIuMCBzaXRlPXd3dyxtb2JpbGUpIFRoaXMgY29tbWVudCBzdXBwcmVzc2VzIGFuIGVycm9yXG4gICAgICAgKiBmb3VuZCB3aGVuIEZsb3cgdjAuMTEyIHdhcyBkZXBsb3llZC4gVG8gc2VlIHRoZSBlcnJvciBkZWxldGUgdGhpc1xuICAgICAgICogY29tbWVudCBhbmQgcnVuIEZsb3cuICovXG5cbiAgICAgIHJldHVybiBSZWFjdC5jcmVhdGVFbGVtZW50KERyYWZ0RWRpdG9yUGxhY2Vob2xkZXIsIHBsYWNlSG9sZGVyUHJvcHMpO1xuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9O1xuXG4gIF9wcm90bzIucmVuZGVyID0gZnVuY3Rpb24gcmVuZGVyKCkge1xuICAgIHZhciBfdGhpczMgPSB0aGlzO1xuXG4gICAgdmFyIF90aGlzJHByb3BzMiA9IHRoaXMucHJvcHMsXG4gICAgICAgIGJsb2NrUmVuZGVyTWFwID0gX3RoaXMkcHJvcHMyLmJsb2NrUmVuZGVyTWFwLFxuICAgICAgICBibG9ja1JlbmRlcmVyRm4gPSBfdGhpcyRwcm9wczIuYmxvY2tSZW5kZXJlckZuLFxuICAgICAgICBibG9ja1N0eWxlRm4gPSBfdGhpcyRwcm9wczIuYmxvY2tTdHlsZUZuLFxuICAgICAgICBjdXN0b21TdHlsZUZuID0gX3RoaXMkcHJvcHMyLmN1c3RvbVN0eWxlRm4sXG4gICAgICAgIGN1c3RvbVN0eWxlTWFwID0gX3RoaXMkcHJvcHMyLmN1c3RvbVN0eWxlTWFwLFxuICAgICAgICBlZGl0b3JTdGF0ZSA9IF90aGlzJHByb3BzMi5lZGl0b3JTdGF0ZSxcbiAgICAgICAgcmVhZE9ubHkgPSBfdGhpcyRwcm9wczIucmVhZE9ubHksXG4gICAgICAgIHRleHRBbGlnbm1lbnQgPSBfdGhpcyRwcm9wczIudGV4dEFsaWdubWVudCxcbiAgICAgICAgdGV4dERpcmVjdGlvbmFsaXR5ID0gX3RoaXMkcHJvcHMyLnRleHREaXJlY3Rpb25hbGl0eTtcbiAgICB2YXIgcm9vdENsYXNzID0gY3goe1xuICAgICAgJ0RyYWZ0RWRpdG9yL3Jvb3QnOiB0cnVlLFxuICAgICAgJ0RyYWZ0RWRpdG9yL2FsaWduTGVmdCc6IHRleHRBbGlnbm1lbnQgPT09ICdsZWZ0JyxcbiAgICAgICdEcmFmdEVkaXRvci9hbGlnblJpZ2h0JzogdGV4dEFsaWdubWVudCA9PT0gJ3JpZ2h0JyxcbiAgICAgICdEcmFmdEVkaXRvci9hbGlnbkNlbnRlcic6IHRleHRBbGlnbm1lbnQgPT09ICdjZW50ZXInXG4gICAgfSk7XG4gICAgdmFyIGNvbnRlbnRTdHlsZSA9IHtcbiAgICAgIG91dGxpbmU6ICdub25lJyxcbiAgICAgIC8vIGZpeCBwYXJlbnQtZHJhZ2dhYmxlIFNhZmFyaSBidWcuICMxMzI2XG4gICAgICB1c2VyU2VsZWN0OiAndGV4dCcsXG4gICAgICBXZWJraXRVc2VyU2VsZWN0OiAndGV4dCcsXG4gICAgICB3aGl0ZVNwYWNlOiAncHJlLXdyYXAnLFxuICAgICAgd29yZFdyYXA6ICdicmVhay13b3JkJ1xuICAgIH07IC8vIFRoZSBhcmlhLWV4cGFuZGVkIGFuZCBhcmlhLWhhc3BvcHVwIHByb3BlcnRpZXMgc2hvdWxkIG9ubHkgYmUgcmVuZGVyZWRcbiAgICAvLyBmb3IgYSBjb21ib2JveC5cblxuICAgIC8qICRGbG93Rml4TWUoPj0wLjY4LjAgc2l0ZT13d3csbW9iaWxlKSBUaGlzIGNvbW1lbnQgc3VwcHJlc3NlcyBhbiBlcnJvclxuICAgICAqIGZvdW5kIHdoZW4gRmxvdyB2MC42OCB3YXMgZGVwbG95ZWQuIFRvIHNlZSB0aGUgZXJyb3IgZGVsZXRlIHRoaXMgY29tbWVudFxuICAgICAqIGFuZCBydW4gRmxvdy4gKi9cblxuICAgIHZhciBhcmlhUm9sZSA9IHRoaXMucHJvcHMucm9sZSB8fCAndGV4dGJveCc7XG4gICAgdmFyIGFyaWFFeHBhbmRlZCA9IGFyaWFSb2xlID09PSAnY29tYm9ib3gnID8gISF0aGlzLnByb3BzLmFyaWFFeHBhbmRlZCA6IG51bGw7XG4gICAgdmFyIGVkaXRvckNvbnRlbnRzUHJvcHMgPSB7XG4gICAgICBibG9ja1JlbmRlck1hcDogYmxvY2tSZW5kZXJNYXAsXG4gICAgICBibG9ja1JlbmRlcmVyRm46IGJsb2NrUmVuZGVyZXJGbixcbiAgICAgIGJsb2NrU3R5bGVGbjogYmxvY2tTdHlsZUZuLFxuICAgICAgY3VzdG9tU3R5bGVNYXA6IF9vYmplY3RTcHJlYWQoe30sIERlZmF1bHREcmFmdElubGluZVN0eWxlLCBjdXN0b21TdHlsZU1hcCksXG4gICAgICBjdXN0b21TdHlsZUZuOiBjdXN0b21TdHlsZUZuLFxuICAgICAgZWRpdG9yS2V5OiB0aGlzLl9lZGl0b3JLZXksXG4gICAgICBlZGl0b3JTdGF0ZTogZWRpdG9yU3RhdGUsXG4gICAgICB0ZXh0RGlyZWN0aW9uYWxpdHk6IHRleHREaXJlY3Rpb25hbGl0eVxuICAgIH07XG4gICAgcmV0dXJuIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwge1xuICAgICAgY2xhc3NOYW1lOiByb290Q2xhc3NcbiAgICB9LCB0aGlzLl9yZW5kZXJQbGFjZWhvbGRlcigpLCBSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHtcbiAgICAgIGNsYXNzTmFtZTogY3goJ0RyYWZ0RWRpdG9yL2VkaXRvckNvbnRhaW5lcicpLFxuICAgICAgcmVmOiBmdW5jdGlvbiByZWYoX3JlZjMpIHtcbiAgICAgICAgcmV0dXJuIF90aGlzMy5lZGl0b3JDb250YWluZXIgPSBfcmVmMztcbiAgICAgIH1cbiAgICB9LCBSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHtcbiAgICAgIFwiYXJpYS1hY3RpdmVkZXNjZW5kYW50XCI6IHJlYWRPbmx5ID8gbnVsbCA6IHRoaXMucHJvcHMuYXJpYUFjdGl2ZURlc2NlbmRhbnRJRCxcbiAgICAgIFwiYXJpYS1hdXRvY29tcGxldGVcIjogcmVhZE9ubHkgPyBudWxsIDogdGhpcy5wcm9wcy5hcmlhQXV0b0NvbXBsZXRlLFxuICAgICAgXCJhcmlhLWNvbnRyb2xzXCI6IHJlYWRPbmx5ID8gbnVsbCA6IHRoaXMucHJvcHMuYXJpYUNvbnRyb2xzLFxuICAgICAgXCJhcmlhLWRlc2NyaWJlZGJ5XCI6IHRoaXMucHJvcHMuYXJpYURlc2NyaWJlZEJ5IHx8IHRoaXMuX3BsYWNlaG9sZGVyQWNjZXNzaWJpbGl0eUlELFxuICAgICAgXCJhcmlhLWV4cGFuZGVkXCI6IHJlYWRPbmx5ID8gbnVsbCA6IGFyaWFFeHBhbmRlZCxcbiAgICAgIFwiYXJpYS1sYWJlbFwiOiB0aGlzLnByb3BzLmFyaWFMYWJlbCxcbiAgICAgIFwiYXJpYS1sYWJlbGxlZGJ5XCI6IHRoaXMucHJvcHMuYXJpYUxhYmVsbGVkQnksXG4gICAgICBcImFyaWEtbXVsdGlsaW5lXCI6IHRoaXMucHJvcHMuYXJpYU11bHRpbGluZSxcbiAgICAgIFwiYXJpYS1vd25zXCI6IHJlYWRPbmx5ID8gbnVsbCA6IHRoaXMucHJvcHMuYXJpYU93bmVlSUQsXG4gICAgICBhdXRvQ2FwaXRhbGl6ZTogdGhpcy5wcm9wcy5hdXRvQ2FwaXRhbGl6ZSxcbiAgICAgIGF1dG9Db21wbGV0ZTogdGhpcy5wcm9wcy5hdXRvQ29tcGxldGUsXG4gICAgICBhdXRvQ29ycmVjdDogdGhpcy5wcm9wcy5hdXRvQ29ycmVjdCxcbiAgICAgIGNsYXNzTmFtZTogY3goe1xuICAgICAgICAvLyBDaHJvbWUncyBidWlsdC1pbiB0cmFuc2xhdGlvbiBmZWF0dXJlIG11dGF0ZXMgdGhlIERPTSBpbiB3YXlzXG4gICAgICAgIC8vIHRoYXQgRHJhZnQgZG9lc24ndCBleHBlY3QgKGV4OiBhZGRpbmcgPGZvbnQ+IHRhZ3MgaW5zaWRlXG4gICAgICAgIC8vIERyYWZ0RWRpdG9yTGVhZiBzcGFucykgYW5kIGNhdXNlcyBwcm9ibGVtcy4gV2UgYWRkIG5vdHJhbnNsYXRlXG4gICAgICAgIC8vIGhlcmUgd2hpY2ggbWFrZXMgaXRzIGF1dG90cmFuc2xhdGlvbiBza2lwIG92ZXIgdGhpcyBzdWJ0cmVlLlxuICAgICAgICBub3RyYW5zbGF0ZTogIXJlYWRPbmx5LFxuICAgICAgICAncHVibGljL0RyYWZ0RWRpdG9yL2NvbnRlbnQnOiB0cnVlXG4gICAgICB9KSxcbiAgICAgIGNvbnRlbnRFZGl0YWJsZTogIXJlYWRPbmx5LFxuICAgICAgXCJkYXRhLXRlc3RpZFwiOiB0aGlzLnByb3BzLndlYkRyaXZlclRlc3RJRCxcbiAgICAgIG9uQmVmb3JlSW5wdXQ6IHRoaXMuX29uQmVmb3JlSW5wdXQsXG4gICAgICBvbkJsdXI6IHRoaXMuX29uQmx1cixcbiAgICAgIG9uQ29tcG9zaXRpb25FbmQ6IHRoaXMuX29uQ29tcG9zaXRpb25FbmQsXG4gICAgICBvbkNvbXBvc2l0aW9uU3RhcnQ6IHRoaXMuX29uQ29tcG9zaXRpb25TdGFydCxcbiAgICAgIG9uQ29weTogdGhpcy5fb25Db3B5LFxuICAgICAgb25DdXQ6IHRoaXMuX29uQ3V0LFxuICAgICAgb25EcmFnRW5kOiB0aGlzLl9vbkRyYWdFbmQsXG4gICAgICBvbkRyYWdFbnRlcjogdGhpcy5vbkRyYWdFbnRlcixcbiAgICAgIG9uRHJhZ0xlYXZlOiB0aGlzLm9uRHJhZ0xlYXZlLFxuICAgICAgb25EcmFnT3ZlcjogdGhpcy5fb25EcmFnT3ZlcixcbiAgICAgIG9uRHJhZ1N0YXJ0OiB0aGlzLl9vbkRyYWdTdGFydCxcbiAgICAgIG9uRHJvcDogdGhpcy5fb25Ecm9wLFxuICAgICAgb25Gb2N1czogdGhpcy5fb25Gb2N1cyxcbiAgICAgIG9uSW5wdXQ6IHRoaXMuX29uSW5wdXQsXG4gICAgICBvbktleURvd246IHRoaXMuX29uS2V5RG93bixcbiAgICAgIG9uS2V5UHJlc3M6IHRoaXMuX29uS2V5UHJlc3MsXG4gICAgICBvbktleVVwOiB0aGlzLl9vbktleVVwLFxuICAgICAgb25Nb3VzZVVwOiB0aGlzLl9vbk1vdXNlVXAsXG4gICAgICBvblBhc3RlOiB0aGlzLl9vblBhc3RlLFxuICAgICAgb25TZWxlY3Q6IHRoaXMuX29uU2VsZWN0LFxuICAgICAgcmVmOiBmdW5jdGlvbiByZWYoX3JlZjIpIHtcbiAgICAgICAgcmV0dXJuIF90aGlzMy5lZGl0b3IgPSBfcmVmMjtcbiAgICAgIH0sXG4gICAgICByb2xlOiByZWFkT25seSA/IG51bGwgOiBhcmlhUm9sZSxcbiAgICAgIHNwZWxsQ2hlY2s6IGFsbG93U3BlbGxDaGVjayAmJiB0aGlzLnByb3BzLnNwZWxsQ2hlY2ssXG4gICAgICBzdHlsZTogY29udGVudFN0eWxlLFxuICAgICAgc3VwcHJlc3NDb250ZW50RWRpdGFibGVXYXJuaW5nOiB0cnVlLFxuICAgICAgdGFiSW5kZXg6IHRoaXMucHJvcHMudGFiSW5kZXhcbiAgICB9LCBSZWFjdC5jcmVhdGVFbGVtZW50KFVwZGF0ZURyYWZ0RWRpdG9yRmxhZ3MsIHtcbiAgICAgIGVkaXRvcjogdGhpcyxcbiAgICAgIGVkaXRvclN0YXRlOiBlZGl0b3JTdGF0ZVxuICAgIH0pLCBSZWFjdC5jcmVhdGVFbGVtZW50KERyYWZ0RWRpdG9yQ29udGVudHMsIF9leHRlbmRzKHt9LCBlZGl0b3JDb250ZW50c1Byb3BzLCB7XG4gICAgICBrZXk6ICdjb250ZW50cycgKyB0aGlzLnN0YXRlLmNvbnRlbnRzS2V5XG4gICAgfSkpKSkpO1xuICB9O1xuXG4gIF9wcm90bzIuY29tcG9uZW50RGlkTW91bnQgPSBmdW5jdGlvbiBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICB0aGlzLl9ibG9ja1NlbGVjdEV2ZW50cyA9IGZhbHNlO1xuXG4gICAgaWYgKCFkaWRJbml0T0RTICYmIGdreCgnZHJhZnRfb2RzX2VuYWJsZWQnKSkge1xuICAgICAgZGlkSW5pdE9EUyA9IHRydWU7XG4gICAgICBEcmFmdEVmZmVjdHMuaW5pdE9EUygpO1xuICAgIH1cblxuICAgIHRoaXMuc2V0TW9kZSgnZWRpdCcpO1xuICAgIC8qKlxuICAgICAqIElFIGhhcyBhIGhhcmRjb2RlZCBcImZlYXR1cmVcIiB0aGF0IGF0dGVtcHRzIHRvIGNvbnZlcnQgbGluayB0ZXh0IGludG9cbiAgICAgKiBhbmNob3JzIGluIGNvbnRlbnRFZGl0YWJsZSBET00uIFRoaXMgYnJlYWtzIHRoZSBlZGl0b3IncyBleHBlY3RhdGlvbnMgb2ZcbiAgICAgKiB0aGUgRE9NLCBhbmQgY29udHJvbCBpcyBsb3N0LiBEaXNhYmxlIGl0IHRvIG1ha2UgSUUgYmVoYXZlLlxuICAgICAqIFNlZTogaHR0cDovL2Jsb2dzLm1zZG4uY29tL2IvaWVpbnRlcm5hbHMvYXJjaGl2ZS8yMDEwLzA5LzE1L1xuICAgICAqIGllOS1iZXRhLW1pbm9yLWNoYW5nZS1saXN0LmFzcHhcbiAgICAgKi9cblxuICAgIGlmIChpc0lFKSB7XG4gICAgICAvLyBlZGl0b3IgY2FuIGJlIG51bGwgYWZ0ZXIgbW91bnRpbmdcbiAgICAgIC8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzQ0MDc0NzQ3L2NvbXBvbmVudGRpZG1vdW50LWNhbGxlZC1iZWZvcmUtcmVmLWNhbGxiYWNrXG4gICAgICBpZiAoIXRoaXMuZWRpdG9yKSB7XG4gICAgICAgIGdsb2JhbC5leGVjQ29tbWFuZCgnQXV0b1VybERldGVjdCcsIGZhbHNlLCBmYWxzZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmVkaXRvci5vd25lckRvY3VtZW50LmV4ZWNDb21tYW5kKCdBdXRvVXJsRGV0ZWN0JywgZmFsc2UsIGZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgX3Byb3RvMi5jb21wb25lbnREaWRVcGRhdGUgPSBmdW5jdGlvbiBjb21wb25lbnREaWRVcGRhdGUoKSB7XG4gICAgdGhpcy5fYmxvY2tTZWxlY3RFdmVudHMgPSBmYWxzZTtcbiAgICB0aGlzLl9sYXRlc3RFZGl0b3JTdGF0ZSA9IHRoaXMucHJvcHMuZWRpdG9yU3RhdGU7XG4gICAgdGhpcy5fbGF0ZXN0Q29tbWl0dGVkRWRpdG9yU3RhdGUgPSB0aGlzLnByb3BzLmVkaXRvclN0YXRlO1xuICB9XG4gIC8qKlxuICAgKiBVc2VkIHZpYSBgdGhpcy5mb2N1cygpYC5cbiAgICpcbiAgICogRm9yY2UgZm9jdXMgYmFjayBvbnRvIHRoZSBlZGl0b3Igbm9kZS5cbiAgICpcbiAgICogV2UgYXR0ZW1wdCB0byBwcmVzZXJ2ZSBzY3JvbGwgcG9zaXRpb24gd2hlbiBmb2N1c2luZy4gWW91IGNhbiBhbHNvIHBhc3NcbiAgICogYSBzcGVjaWZpZWQgc2Nyb2xsIHBvc2l0aW9uIChmb3IgY2FzZXMgbGlrZSBgY3V0YCBiZWhhdmlvciB3aGVyZSBpdCBzaG91bGRcbiAgICogYmUgcmVzdG9yZWQgdG8gYSBrbm93biBwb3NpdGlvbikuXG4gICAqL1xuICA7XG5cbiAgcmV0dXJuIERyYWZ0RWRpdG9yO1xufShSZWFjdC5Db21wb25lbnQpO1xuXG5fZGVmaW5lUHJvcGVydHkoRHJhZnRFZGl0b3IsIFwiZGVmYXVsdFByb3BzXCIsIHtcbiAgYmxvY2tSZW5kZXJNYXA6IERlZmF1bHREcmFmdEJsb2NrUmVuZGVyTWFwLFxuICBibG9ja1JlbmRlcmVyRm46IGZ1bmN0aW9uIGJsb2NrUmVuZGVyZXJGbigpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfSxcbiAgYmxvY2tTdHlsZUZuOiBmdW5jdGlvbiBibG9ja1N0eWxlRm4oKSB7XG4gICAgcmV0dXJuICcnO1xuICB9LFxuICBrZXlCaW5kaW5nRm46IGdldERlZmF1bHRLZXlCaW5kaW5nLFxuICByZWFkT25seTogZmFsc2UsXG4gIHNwZWxsQ2hlY2s6IGZhbHNlLFxuICBzdHJpcFBhc3RlZFN0eWxlczogZmFsc2Vcbn0pO1xuXG5tb2R1bGUuZXhwb3J0cyA9IERyYWZ0RWRpdG9yOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/DraftEditor.react.js\n"); /***/ }), @@ -175,7 +198,19 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule DraftEditorBlock.react\n * @format\n * \n */\n\n\n\nvar _assign = __webpack_require__(/*! object-assign */ \"./node_modules/object-assign/index.js\");\n\nvar _extends = _assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar DraftEditorLeaf = __webpack_require__(/*! ./DraftEditorLeaf.react */ \"./node_modules/draft-js/lib/DraftEditorLeaf.react.js\");\nvar DraftOffsetKey = __webpack_require__(/*! ./DraftOffsetKey */ \"./node_modules/draft-js/lib/DraftOffsetKey.js\");\nvar React = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\nvar ReactDOM = __webpack_require__(/*! react-dom */ \"./node_modules/react-dom/index.js\");\nvar Scroll = __webpack_require__(/*! fbjs/lib/Scroll */ \"./node_modules/fbjs/lib/Scroll.js\");\nvar Style = __webpack_require__(/*! fbjs/lib/Style */ \"./node_modules/fbjs/lib/Style.js\");\nvar UnicodeBidi = __webpack_require__(/*! fbjs/lib/UnicodeBidi */ \"./node_modules/fbjs/lib/UnicodeBidi.js\");\nvar UnicodeBidiDirection = __webpack_require__(/*! fbjs/lib/UnicodeBidiDirection */ \"./node_modules/fbjs/lib/UnicodeBidiDirection.js\");\n\nvar cx = __webpack_require__(/*! fbjs/lib/cx */ \"./node_modules/fbjs/lib/cx.js\");\nvar getElementPosition = __webpack_require__(/*! fbjs/lib/getElementPosition */ \"./node_modules/fbjs/lib/getElementPosition.js\");\nvar getScrollPosition = __webpack_require__(/*! fbjs/lib/getScrollPosition */ \"./node_modules/fbjs/lib/getScrollPosition.js\");\nvar getViewportDimensions = __webpack_require__(/*! fbjs/lib/getViewportDimensions */ \"./node_modules/fbjs/lib/getViewportDimensions.js\");\nvar invariant = __webpack_require__(/*! fbjs/lib/invariant */ \"./node_modules/fbjs/lib/invariant.js\");\nvar nullthrows = __webpack_require__(/*! fbjs/lib/nullthrows */ \"./node_modules/fbjs/lib/nullthrows.js\");\n\nvar SCROLL_BUFFER = 10;\n\n/**\n * Return whether a block overlaps with either edge of the `SelectionState`.\n */\nvar isBlockOnSelectionEdge = function isBlockOnSelectionEdge(selection, key) {\n return selection.getAnchorKey() === key || selection.getFocusKey() === key;\n};\n\n/**\n * The default block renderer for a `DraftEditor` component.\n *\n * A `DraftEditorBlock` is able to render a given `ContentBlock` to its\n * appropriate decorator and inline style components.\n */\n\nvar DraftEditorBlock = function (_React$Component) {\n _inherits(DraftEditorBlock, _React$Component);\n\n function DraftEditorBlock() {\n _classCallCheck(this, DraftEditorBlock);\n\n return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n }\n\n DraftEditorBlock.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {\n return this.props.block !== nextProps.block || this.props.tree !== nextProps.tree || this.props.direction !== nextProps.direction || isBlockOnSelectionEdge(nextProps.selection, nextProps.block.getKey()) && nextProps.forceSelection;\n };\n\n /**\n * When a block is mounted and overlaps the selection state, we need to make\n * sure that the cursor is visible to match native behavior. This may not\n * be the case if the user has pressed `RETURN` or pasted some content, since\n * programatically creating these new blocks and setting the DOM selection\n * will miss out on the browser natively scrolling to that position.\n *\n * To replicate native behavior, if the block overlaps the selection state\n * on mount, force the scroll position. Check the scroll state of the scroll\n * parent, and adjust it to align the entire block to the bottom of the\n * scroll parent.\n */\n\n\n DraftEditorBlock.prototype.componentDidMount = function componentDidMount() {\n var selection = this.props.selection;\n var endKey = selection.getEndKey();\n if (!selection.getHasFocus() || endKey !== this.props.block.getKey()) {\n return;\n }\n\n var blockNode = ReactDOM.findDOMNode(this);\n var scrollParent = Style.getScrollParent(blockNode);\n var scrollPosition = getScrollPosition(scrollParent);\n var scrollDelta = void 0;\n\n if (scrollParent === window) {\n var nodePosition = getElementPosition(blockNode);\n var nodeBottom = nodePosition.y + nodePosition.height;\n var viewportHeight = getViewportDimensions().height;\n scrollDelta = nodeBottom - viewportHeight;\n if (scrollDelta > 0) {\n window.scrollTo(scrollPosition.x, scrollPosition.y + scrollDelta + SCROLL_BUFFER);\n }\n } else {\n !(blockNode instanceof HTMLElement) ? true ? invariant(false, 'blockNode is not an HTMLElement') : undefined : void 0;\n var blockBottom = blockNode.offsetHeight + blockNode.offsetTop;\n var scrollBottom = scrollParent.offsetHeight + scrollPosition.y;\n scrollDelta = blockBottom - scrollBottom;\n if (scrollDelta > 0) {\n Scroll.setTop(scrollParent, Scroll.getTop(scrollParent) + scrollDelta + SCROLL_BUFFER);\n }\n }\n };\n\n DraftEditorBlock.prototype._renderChildren = function _renderChildren() {\n var _this2 = this;\n\n var block = this.props.block;\n var blockKey = block.getKey();\n var text = block.getText();\n var lastLeafSet = this.props.tree.size - 1;\n var hasSelection = isBlockOnSelectionEdge(this.props.selection, blockKey);\n\n return this.props.tree.map(function (leafSet, ii) {\n var leavesForLeafSet = leafSet.get('leaves');\n var lastLeaf = leavesForLeafSet.size - 1;\n var leaves = leavesForLeafSet.map(function (leaf, jj) {\n var offsetKey = DraftOffsetKey.encode(blockKey, ii, jj);\n var start = leaf.get('start');\n var end = leaf.get('end');\n return React.createElement(DraftEditorLeaf, {\n key: offsetKey,\n offsetKey: offsetKey,\n block: block,\n start: start,\n selection: hasSelection ? _this2.props.selection : null,\n forceSelection: _this2.props.forceSelection,\n text: text.slice(start, end),\n styleSet: block.getInlineStyleAt(start),\n customStyleMap: _this2.props.customStyleMap,\n customStyleFn: _this2.props.customStyleFn,\n isLast: ii === lastLeafSet && jj === lastLeaf\n });\n }).toArray();\n\n var decoratorKey = leafSet.get('decoratorKey');\n if (decoratorKey == null) {\n return leaves;\n }\n\n if (!_this2.props.decorator) {\n return leaves;\n }\n\n var decorator = nullthrows(_this2.props.decorator);\n\n var DecoratorComponent = decorator.getComponentForKey(decoratorKey);\n if (!DecoratorComponent) {\n return leaves;\n }\n\n var decoratorProps = decorator.getPropsForKey(decoratorKey);\n var decoratorOffsetKey = DraftOffsetKey.encode(blockKey, ii, 0);\n var decoratedText = text.slice(leavesForLeafSet.first().get('start'), leavesForLeafSet.last().get('end'));\n\n // Resetting dir to the same value on a child node makes Chrome/Firefox\n // confused on cursor movement. See http://jsfiddle.net/d157kLck/3/\n var dir = UnicodeBidiDirection.getHTMLDirIfDifferent(UnicodeBidi.getDirection(decoratedText), _this2.props.direction);\n\n return React.createElement(\n DecoratorComponent,\n _extends({}, decoratorProps, {\n contentState: _this2.props.contentState,\n decoratedText: decoratedText,\n dir: dir,\n key: decoratorOffsetKey,\n entityKey: block.getEntityAt(leafSet.get('start')),\n offsetKey: decoratorOffsetKey }),\n leaves\n );\n }).toArray();\n };\n\n DraftEditorBlock.prototype.render = function render() {\n var _props = this.props,\n direction = _props.direction,\n offsetKey = _props.offsetKey;\n\n var className = cx({\n 'public/DraftStyleDefault/block': true,\n 'public/DraftStyleDefault/ltr': direction === 'LTR',\n 'public/DraftStyleDefault/rtl': direction === 'RTL'\n });\n\n return React.createElement(\n 'div',\n { 'data-offset-key': offsetKey, className: className },\n this._renderChildren()\n );\n };\n\n return DraftEditorBlock;\n}(React.Component);\n\nmodule.exports = DraftEditorBlock;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0RyYWZ0RWRpdG9yQmxvY2sucmVhY3QuanM/MGVkOCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWE7O0FBRWIsY0FBYyxtQkFBTyxDQUFDLDREQUFlOztBQUVyQyw2Q0FBNkMsZ0JBQWdCLHNCQUFzQixPQUFPLDJCQUEyQiwwQkFBMEIseURBQXlELDJCQUEyQixFQUFFLEVBQUUsRUFBRSxlQUFlOztBQUV4UCxpREFBaUQsMENBQTBDLDBEQUEwRCxFQUFFOztBQUV2SixpREFBaUQsYUFBYSx1RkFBdUYsRUFBRSx1RkFBdUY7O0FBRTlPLDBDQUEwQywrREFBK0QscUdBQXFHLEVBQUUseUVBQXlFLGVBQWUseUVBQXlFLEVBQUUsRUFBRSx1SEFBdUg7O0FBRTVlLHNCQUFzQixtQkFBTyxDQUFDLHFGQUF5QjtBQUN2RCxxQkFBcUIsbUJBQU8sQ0FBQyx1RUFBa0I7QUFDL0MsWUFBWSxtQkFBTyxDQUFDLDRDQUFPO0FBQzNCLGVBQWUsbUJBQU8sQ0FBQyxvREFBVztBQUNsQyxhQUFhLG1CQUFPLENBQUMsMERBQWlCO0FBQ3RDLFlBQVksbUJBQU8sQ0FBQyx3REFBZ0I7QUFDcEMsa0JBQWtCLG1CQUFPLENBQUMsb0VBQXNCO0FBQ2hELDJCQUEyQixtQkFBTyxDQUFDLHNGQUErQjs7QUFFbEUsU0FBUyxtQkFBTyxDQUFDLGtEQUFhO0FBQzlCLHlCQUF5QixtQkFBTyxDQUFDLGtGQUE2QjtBQUM5RCx3QkFBd0IsbUJBQU8sQ0FBQyxnRkFBNEI7QUFDNUQsNEJBQTRCLG1CQUFPLENBQUMsd0ZBQWdDO0FBQ3BFLGdCQUFnQixtQkFBTyxDQUFDLGdFQUFvQjtBQUM1QyxpQkFBaUIsbUJBQU8sQ0FBQyxrRUFBcUI7O0FBRTlDOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsNENBQTRDLEtBQXFDLHlEQUF5RCxTQUFnQjtBQUMxSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVCxPQUFPOztBQUVQO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxtQkFBbUI7QUFDbkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlDQUF5QztBQUN6QztBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0EsT0FBTyxxREFBcUQ7QUFDNUQ7QUFDQTtBQUNBOztBQUVBO0FBQ0EsQ0FBQzs7QUFFRCIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvRHJhZnRFZGl0b3JCbG9jay5yZWFjdC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXG4gKiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEJTRC1zdHlsZSBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLiBBbiBhZGRpdGlvbmFsIGdyYW50XG4gKiBvZiBwYXRlbnQgcmlnaHRzIGNhbiBiZSBmb3VuZCBpbiB0aGUgUEFURU5UUyBmaWxlIGluIHRoZSBzYW1lIGRpcmVjdG9yeS5cbiAqXG4gKiBAcHJvdmlkZXNNb2R1bGUgRHJhZnRFZGl0b3JCbG9jay5yZWFjdFxuICogQGZvcm1hdFxuICogXG4gKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG52YXIgX2Fzc2lnbiA9IHJlcXVpcmUoJ29iamVjdC1hc3NpZ24nKTtcblxudmFyIF9leHRlbmRzID0gX2Fzc2lnbiB8fCBmdW5jdGlvbiAodGFyZ2V0KSB7IGZvciAodmFyIGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7IHZhciBzb3VyY2UgPSBhcmd1bWVudHNbaV07IGZvciAodmFyIGtleSBpbiBzb3VyY2UpIHsgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzb3VyY2UsIGtleSkpIHsgdGFyZ2V0W2tleV0gPSBzb3VyY2Vba2V5XTsgfSB9IH0gcmV0dXJuIHRhcmdldDsgfTtcblxuZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGluc3RhbmNlLCBDb25zdHJ1Y3RvcikgeyBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpOyB9IH1cblxuZnVuY3Rpb24gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4oc2VsZiwgY2FsbCkgeyBpZiAoIXNlbGYpIHsgdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKFwidGhpcyBoYXNuJ3QgYmVlbiBpbml0aWFsaXNlZCAtIHN1cGVyKCkgaGFzbid0IGJlZW4gY2FsbGVkXCIpOyB9IHJldHVybiBjYWxsICYmICh0eXBlb2YgY2FsbCA9PT0gXCJvYmplY3RcIiB8fCB0eXBlb2YgY2FsbCA9PT0gXCJmdW5jdGlvblwiKSA/IGNhbGwgOiBzZWxmOyB9XG5cbmZ1bmN0aW9uIF9pbmhlcml0cyhzdWJDbGFzcywgc3VwZXJDbGFzcykgeyBpZiAodHlwZW9mIHN1cGVyQ2xhc3MgIT09IFwiZnVuY3Rpb25cIiAmJiBzdXBlckNsYXNzICE9PSBudWxsKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJTdXBlciBleHByZXNzaW9uIG11c3QgZWl0aGVyIGJlIG51bGwgb3IgYSBmdW5jdGlvbiwgbm90IFwiICsgdHlwZW9mIHN1cGVyQ2xhc3MpOyB9IHN1YkNsYXNzLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoc3VwZXJDbGFzcyAmJiBzdXBlckNsYXNzLnByb3RvdHlwZSwgeyBjb25zdHJ1Y3RvcjogeyB2YWx1ZTogc3ViQ2xhc3MsIGVudW1lcmFibGU6IGZhbHNlLCB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlIH0gfSk7IGlmIChzdXBlckNsYXNzKSBPYmplY3Quc2V0UHJvdG90eXBlT2YgPyBPYmplY3Quc2V0UHJvdG90eXBlT2Yoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpIDogc3ViQ2xhc3MuX19wcm90b19fID0gc3VwZXJDbGFzczsgfVxuXG52YXIgRHJhZnRFZGl0b3JMZWFmID0gcmVxdWlyZSgnLi9EcmFmdEVkaXRvckxlYWYucmVhY3QnKTtcbnZhciBEcmFmdE9mZnNldEtleSA9IHJlcXVpcmUoJy4vRHJhZnRPZmZzZXRLZXknKTtcbnZhciBSZWFjdCA9IHJlcXVpcmUoJ3JlYWN0Jyk7XG52YXIgUmVhY3RET00gPSByZXF1aXJlKCdyZWFjdC1kb20nKTtcbnZhciBTY3JvbGwgPSByZXF1aXJlKCdmYmpzL2xpYi9TY3JvbGwnKTtcbnZhciBTdHlsZSA9IHJlcXVpcmUoJ2ZianMvbGliL1N0eWxlJyk7XG52YXIgVW5pY29kZUJpZGkgPSByZXF1aXJlKCdmYmpzL2xpYi9Vbmljb2RlQmlkaScpO1xudmFyIFVuaWNvZGVCaWRpRGlyZWN0aW9uID0gcmVxdWlyZSgnZmJqcy9saWIvVW5pY29kZUJpZGlEaXJlY3Rpb24nKTtcblxudmFyIGN4ID0gcmVxdWlyZSgnZmJqcy9saWIvY3gnKTtcbnZhciBnZXRFbGVtZW50UG9zaXRpb24gPSByZXF1aXJlKCdmYmpzL2xpYi9nZXRFbGVtZW50UG9zaXRpb24nKTtcbnZhciBnZXRTY3JvbGxQb3NpdGlvbiA9IHJlcXVpcmUoJ2ZianMvbGliL2dldFNjcm9sbFBvc2l0aW9uJyk7XG52YXIgZ2V0Vmlld3BvcnREaW1lbnNpb25zID0gcmVxdWlyZSgnZmJqcy9saWIvZ2V0Vmlld3BvcnREaW1lbnNpb25zJyk7XG52YXIgaW52YXJpYW50ID0gcmVxdWlyZSgnZmJqcy9saWIvaW52YXJpYW50Jyk7XG52YXIgbnVsbHRocm93cyA9IHJlcXVpcmUoJ2ZianMvbGliL251bGx0aHJvd3MnKTtcblxudmFyIFNDUk9MTF9CVUZGRVIgPSAxMDtcblxuLyoqXG4gKiBSZXR1cm4gd2hldGhlciBhIGJsb2NrIG92ZXJsYXBzIHdpdGggZWl0aGVyIGVkZ2Ugb2YgdGhlIGBTZWxlY3Rpb25TdGF0ZWAuXG4gKi9cbnZhciBpc0Jsb2NrT25TZWxlY3Rpb25FZGdlID0gZnVuY3Rpb24gaXNCbG9ja09uU2VsZWN0aW9uRWRnZShzZWxlY3Rpb24sIGtleSkge1xuICByZXR1cm4gc2VsZWN0aW9uLmdldEFuY2hvcktleSgpID09PSBrZXkgfHwgc2VsZWN0aW9uLmdldEZvY3VzS2V5KCkgPT09IGtleTtcbn07XG5cbi8qKlxuICogVGhlIGRlZmF1bHQgYmxvY2sgcmVuZGVyZXIgZm9yIGEgYERyYWZ0RWRpdG9yYCBjb21wb25lbnQuXG4gKlxuICogQSBgRHJhZnRFZGl0b3JCbG9ja2AgaXMgYWJsZSB0byByZW5kZXIgYSBnaXZlbiBgQ29udGVudEJsb2NrYCB0byBpdHNcbiAqIGFwcHJvcHJpYXRlIGRlY29yYXRvciBhbmQgaW5saW5lIHN0eWxlIGNvbXBvbmVudHMuXG4gKi9cblxudmFyIERyYWZ0RWRpdG9yQmxvY2sgPSBmdW5jdGlvbiAoX1JlYWN0JENvbXBvbmVudCkge1xuICBfaW5oZXJpdHMoRHJhZnRFZGl0b3JCbG9jaywgX1JlYWN0JENvbXBvbmVudCk7XG5cbiAgZnVuY3Rpb24gRHJhZnRFZGl0b3JCbG9jaygpIHtcbiAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgRHJhZnRFZGl0b3JCbG9jayk7XG5cbiAgICByZXR1cm4gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4odGhpcywgX1JlYWN0JENvbXBvbmVudC5hcHBseSh0aGlzLCBhcmd1bWVudHMpKTtcbiAgfVxuXG4gIERyYWZ0RWRpdG9yQmxvY2sucHJvdG90eXBlLnNob3VsZENvbXBvbmVudFVwZGF0ZSA9IGZ1bmN0aW9uIHNob3VsZENvbXBvbmVudFVwZGF0ZShuZXh0UHJvcHMpIHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy5ibG9jayAhPT0gbmV4dFByb3BzLmJsb2NrIHx8IHRoaXMucHJvcHMudHJlZSAhPT0gbmV4dFByb3BzLnRyZWUgfHwgdGhpcy5wcm9wcy5kaXJlY3Rpb24gIT09IG5leHRQcm9wcy5kaXJlY3Rpb24gfHwgaXNCbG9ja09uU2VsZWN0aW9uRWRnZShuZXh0UHJvcHMuc2VsZWN0aW9uLCBuZXh0UHJvcHMuYmxvY2suZ2V0S2V5KCkpICYmIG5leHRQcm9wcy5mb3JjZVNlbGVjdGlvbjtcbiAgfTtcblxuICAvKipcbiAgICogV2hlbiBhIGJsb2NrIGlzIG1vdW50ZWQgYW5kIG92ZXJsYXBzIHRoZSBzZWxlY3Rpb24gc3RhdGUsIHdlIG5lZWQgdG8gbWFrZVxuICAgKiBzdXJlIHRoYXQgdGhlIGN1cnNvciBpcyB2aXNpYmxlIHRvIG1hdGNoIG5hdGl2ZSBiZWhhdmlvci4gVGhpcyBtYXkgbm90XG4gICAqIGJlIHRoZSBjYXNlIGlmIHRoZSB1c2VyIGhhcyBwcmVzc2VkIGBSRVRVUk5gIG9yIHBhc3RlZCBzb21lIGNvbnRlbnQsIHNpbmNlXG4gICAqIHByb2dyYW1hdGljYWxseSBjcmVhdGluZyB0aGVzZSBuZXcgYmxvY2tzIGFuZCBzZXR0aW5nIHRoZSBET00gc2VsZWN0aW9uXG4gICAqIHdpbGwgbWlzcyBvdXQgb24gdGhlIGJyb3dzZXIgbmF0aXZlbHkgc2Nyb2xsaW5nIHRvIHRoYXQgcG9zaXRpb24uXG4gICAqXG4gICAqIFRvIHJlcGxpY2F0ZSBuYXRpdmUgYmVoYXZpb3IsIGlmIHRoZSBibG9jayBvdmVybGFwcyB0aGUgc2VsZWN0aW9uIHN0YXRlXG4gICAqIG9uIG1vdW50LCBmb3JjZSB0aGUgc2Nyb2xsIHBvc2l0aW9uLiBDaGVjayB0aGUgc2Nyb2xsIHN0YXRlIG9mIHRoZSBzY3JvbGxcbiAgICogcGFyZW50LCBhbmQgYWRqdXN0IGl0IHRvIGFsaWduIHRoZSBlbnRpcmUgYmxvY2sgdG8gdGhlIGJvdHRvbSBvZiB0aGVcbiAgICogc2Nyb2xsIHBhcmVudC5cbiAgICovXG5cblxuICBEcmFmdEVkaXRvckJsb2NrLnByb3RvdHlwZS5jb21wb25lbnREaWRNb3VudCA9IGZ1bmN0aW9uIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIHZhciBzZWxlY3Rpb24gPSB0aGlzLnByb3BzLnNlbGVjdGlvbjtcbiAgICB2YXIgZW5kS2V5ID0gc2VsZWN0aW9uLmdldEVuZEtleSgpO1xuICAgIGlmICghc2VsZWN0aW9uLmdldEhhc0ZvY3VzKCkgfHwgZW5kS2V5ICE9PSB0aGlzLnByb3BzLmJsb2NrLmdldEtleSgpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdmFyIGJsb2NrTm9kZSA9IFJlYWN0RE9NLmZpbmRET01Ob2RlKHRoaXMpO1xuICAgIHZhciBzY3JvbGxQYXJlbnQgPSBTdHlsZS5nZXRTY3JvbGxQYXJlbnQoYmxvY2tOb2RlKTtcbiAgICB2YXIgc2Nyb2xsUG9zaXRpb24gPSBnZXRTY3JvbGxQb3NpdGlvbihzY3JvbGxQYXJlbnQpO1xuICAgIHZhciBzY3JvbGxEZWx0YSA9IHZvaWQgMDtcblxuICAgIGlmIChzY3JvbGxQYXJlbnQgPT09IHdpbmRvdykge1xuICAgICAgdmFyIG5vZGVQb3NpdGlvbiA9IGdldEVsZW1lbnRQb3NpdGlvbihibG9ja05vZGUpO1xuICAgICAgdmFyIG5vZGVCb3R0b20gPSBub2RlUG9zaXRpb24ueSArIG5vZGVQb3NpdGlvbi5oZWlnaHQ7XG4gICAgICB2YXIgdmlld3BvcnRIZWlnaHQgPSBnZXRWaWV3cG9ydERpbWVuc2lvbnMoKS5oZWlnaHQ7XG4gICAgICBzY3JvbGxEZWx0YSA9IG5vZGVCb3R0b20gLSB2aWV3cG9ydEhlaWdodDtcbiAgICAgIGlmIChzY3JvbGxEZWx0YSA+IDApIHtcbiAgICAgICAgd2luZG93LnNjcm9sbFRvKHNjcm9sbFBvc2l0aW9uLngsIHNjcm9sbFBvc2l0aW9uLnkgKyBzY3JvbGxEZWx0YSArIFNDUk9MTF9CVUZGRVIpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAhKGJsb2NrTm9kZSBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSA/IHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgPyBpbnZhcmlhbnQoZmFsc2UsICdibG9ja05vZGUgaXMgbm90IGFuIEhUTUxFbGVtZW50JykgOiBpbnZhcmlhbnQoZmFsc2UpIDogdm9pZCAwO1xuICAgICAgdmFyIGJsb2NrQm90dG9tID0gYmxvY2tOb2RlLm9mZnNldEhlaWdodCArIGJsb2NrTm9kZS5vZmZzZXRUb3A7XG4gICAgICB2YXIgc2Nyb2xsQm90dG9tID0gc2Nyb2xsUGFyZW50Lm9mZnNldEhlaWdodCArIHNjcm9sbFBvc2l0aW9uLnk7XG4gICAgICBzY3JvbGxEZWx0YSA9IGJsb2NrQm90dG9tIC0gc2Nyb2xsQm90dG9tO1xuICAgICAgaWYgKHNjcm9sbERlbHRhID4gMCkge1xuICAgICAgICBTY3JvbGwuc2V0VG9wKHNjcm9sbFBhcmVudCwgU2Nyb2xsLmdldFRvcChzY3JvbGxQYXJlbnQpICsgc2Nyb2xsRGVsdGEgKyBTQ1JPTExfQlVGRkVSKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgRHJhZnRFZGl0b3JCbG9jay5wcm90b3R5cGUuX3JlbmRlckNoaWxkcmVuID0gZnVuY3Rpb24gX3JlbmRlckNoaWxkcmVuKCkge1xuICAgIHZhciBfdGhpczIgPSB0aGlzO1xuXG4gICAgdmFyIGJsb2NrID0gdGhpcy5wcm9wcy5ibG9jaztcbiAgICB2YXIgYmxvY2tLZXkgPSBibG9jay5nZXRLZXkoKTtcbiAgICB2YXIgdGV4dCA9IGJsb2NrLmdldFRleHQoKTtcbiAgICB2YXIgbGFzdExlYWZTZXQgPSB0aGlzLnByb3BzLnRyZWUuc2l6ZSAtIDE7XG4gICAgdmFyIGhhc1NlbGVjdGlvbiA9IGlzQmxvY2tPblNlbGVjdGlvbkVkZ2UodGhpcy5wcm9wcy5zZWxlY3Rpb24sIGJsb2NrS2V5KTtcblxuICAgIHJldHVybiB0aGlzLnByb3BzLnRyZWUubWFwKGZ1bmN0aW9uIChsZWFmU2V0LCBpaSkge1xuICAgICAgdmFyIGxlYXZlc0ZvckxlYWZTZXQgPSBsZWFmU2V0LmdldCgnbGVhdmVzJyk7XG4gICAgICB2YXIgbGFzdExlYWYgPSBsZWF2ZXNGb3JMZWFmU2V0LnNpemUgLSAxO1xuICAgICAgdmFyIGxlYXZlcyA9IGxlYXZlc0ZvckxlYWZTZXQubWFwKGZ1bmN0aW9uIChsZWFmLCBqaikge1xuICAgICAgICB2YXIgb2Zmc2V0S2V5ID0gRHJhZnRPZmZzZXRLZXkuZW5jb2RlKGJsb2NrS2V5LCBpaSwgamopO1xuICAgICAgICB2YXIgc3RhcnQgPSBsZWFmLmdldCgnc3RhcnQnKTtcbiAgICAgICAgdmFyIGVuZCA9IGxlYWYuZ2V0KCdlbmQnKTtcbiAgICAgICAgcmV0dXJuIFJlYWN0LmNyZWF0ZUVsZW1lbnQoRHJhZnRFZGl0b3JMZWFmLCB7XG4gICAgICAgICAga2V5OiBvZmZzZXRLZXksXG4gICAgICAgICAgb2Zmc2V0S2V5OiBvZmZzZXRLZXksXG4gICAgICAgICAgYmxvY2s6IGJsb2NrLFxuICAgICAgICAgIHN0YXJ0OiBzdGFydCxcbiAgICAgICAgICBzZWxlY3Rpb246IGhhc1NlbGVjdGlvbiA/IF90aGlzMi5wcm9wcy5zZWxlY3Rpb24gOiBudWxsLFxuICAgICAgICAgIGZvcmNlU2VsZWN0aW9uOiBfdGhpczIucHJvcHMuZm9yY2VTZWxlY3Rpb24sXG4gICAgICAgICAgdGV4dDogdGV4dC5zbGljZShzdGFydCwgZW5kKSxcbiAgICAgICAgICBzdHlsZVNldDogYmxvY2suZ2V0SW5saW5lU3R5bGVBdChzdGFydCksXG4gICAgICAgICAgY3VzdG9tU3R5bGVNYXA6IF90aGlzMi5wcm9wcy5jdXN0b21TdHlsZU1hcCxcbiAgICAgICAgICBjdXN0b21TdHlsZUZuOiBfdGhpczIucHJvcHMuY3VzdG9tU3R5bGVGbixcbiAgICAgICAgICBpc0xhc3Q6IGlpID09PSBsYXN0TGVhZlNldCAmJiBqaiA9PT0gbGFzdExlYWZcbiAgICAgICAgfSk7XG4gICAgICB9KS50b0FycmF5KCk7XG5cbiAgICAgIHZhciBkZWNvcmF0b3JLZXkgPSBsZWFmU2V0LmdldCgnZGVjb3JhdG9yS2V5Jyk7XG4gICAgICBpZiAoZGVjb3JhdG9yS2V5ID09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIGxlYXZlcztcbiAgICAgIH1cblxuICAgICAgaWYgKCFfdGhpczIucHJvcHMuZGVjb3JhdG9yKSB7XG4gICAgICAgIHJldHVybiBsZWF2ZXM7XG4gICAgICB9XG5cbiAgICAgIHZhciBkZWNvcmF0b3IgPSBudWxsdGhyb3dzKF90aGlzMi5wcm9wcy5kZWNvcmF0b3IpO1xuXG4gICAgICB2YXIgRGVjb3JhdG9yQ29tcG9uZW50ID0gZGVjb3JhdG9yLmdldENvbXBvbmVudEZvcktleShkZWNvcmF0b3JLZXkpO1xuICAgICAgaWYgKCFEZWNvcmF0b3JDb21wb25lbnQpIHtcbiAgICAgICAgcmV0dXJuIGxlYXZlcztcbiAgICAgIH1cblxuICAgICAgdmFyIGRlY29yYXRvclByb3BzID0gZGVjb3JhdG9yLmdldFByb3BzRm9yS2V5KGRlY29yYXRvcktleSk7XG4gICAgICB2YXIgZGVjb3JhdG9yT2Zmc2V0S2V5ID0gRHJhZnRPZmZzZXRLZXkuZW5jb2RlKGJsb2NrS2V5LCBpaSwgMCk7XG4gICAgICB2YXIgZGVjb3JhdGVkVGV4dCA9IHRleHQuc2xpY2UobGVhdmVzRm9yTGVhZlNldC5maXJzdCgpLmdldCgnc3RhcnQnKSwgbGVhdmVzRm9yTGVhZlNldC5sYXN0KCkuZ2V0KCdlbmQnKSk7XG5cbiAgICAgIC8vIFJlc2V0dGluZyBkaXIgdG8gdGhlIHNhbWUgdmFsdWUgb24gYSBjaGlsZCBub2RlIG1ha2VzIENocm9tZS9GaXJlZm94XG4gICAgICAvLyBjb25mdXNlZCBvbiBjdXJzb3IgbW92ZW1lbnQuIFNlZSBodHRwOi8vanNmaWRkbGUubmV0L2QxNTdrTGNrLzMvXG4gICAgICB2YXIgZGlyID0gVW5pY29kZUJpZGlEaXJlY3Rpb24uZ2V0SFRNTERpcklmRGlmZmVyZW50KFVuaWNvZGVCaWRpLmdldERpcmVjdGlvbihkZWNvcmF0ZWRUZXh0KSwgX3RoaXMyLnByb3BzLmRpcmVjdGlvbik7XG5cbiAgICAgIHJldHVybiBSZWFjdC5jcmVhdGVFbGVtZW50KFxuICAgICAgICBEZWNvcmF0b3JDb21wb25lbnQsXG4gICAgICAgIF9leHRlbmRzKHt9LCBkZWNvcmF0b3JQcm9wcywge1xuICAgICAgICAgIGNvbnRlbnRTdGF0ZTogX3RoaXMyLnByb3BzLmNvbnRlbnRTdGF0ZSxcbiAgICAgICAgICBkZWNvcmF0ZWRUZXh0OiBkZWNvcmF0ZWRUZXh0LFxuICAgICAgICAgIGRpcjogZGlyLFxuICAgICAgICAgIGtleTogZGVjb3JhdG9yT2Zmc2V0S2V5LFxuICAgICAgICAgIGVudGl0eUtleTogYmxvY2suZ2V0RW50aXR5QXQobGVhZlNldC5nZXQoJ3N0YXJ0JykpLFxuICAgICAgICAgIG9mZnNldEtleTogZGVjb3JhdG9yT2Zmc2V0S2V5IH0pLFxuICAgICAgICBsZWF2ZXNcbiAgICAgICk7XG4gICAgfSkudG9BcnJheSgpO1xuICB9O1xuXG4gIERyYWZ0RWRpdG9yQmxvY2sucHJvdG90eXBlLnJlbmRlciA9IGZ1bmN0aW9uIHJlbmRlcigpIHtcbiAgICB2YXIgX3Byb3BzID0gdGhpcy5wcm9wcyxcbiAgICAgICAgZGlyZWN0aW9uID0gX3Byb3BzLmRpcmVjdGlvbixcbiAgICAgICAgb2Zmc2V0S2V5ID0gX3Byb3BzLm9mZnNldEtleTtcblxuICAgIHZhciBjbGFzc05hbWUgPSBjeCh7XG4gICAgICAncHVibGljL0RyYWZ0U3R5bGVEZWZhdWx0L2Jsb2NrJzogdHJ1ZSxcbiAgICAgICdwdWJsaWMvRHJhZnRTdHlsZURlZmF1bHQvbHRyJzogZGlyZWN0aW9uID09PSAnTFRSJyxcbiAgICAgICdwdWJsaWMvRHJhZnRTdHlsZURlZmF1bHQvcnRsJzogZGlyZWN0aW9uID09PSAnUlRMJ1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXG4gICAgICAnZGl2JyxcbiAgICAgIHsgJ2RhdGEtb2Zmc2V0LWtleSc6IG9mZnNldEtleSwgY2xhc3NOYW1lOiBjbGFzc05hbWUgfSxcbiAgICAgIHRoaXMuX3JlbmRlckNoaWxkcmVuKClcbiAgICApO1xuICB9O1xuXG4gIHJldHVybiBEcmFmdEVkaXRvckJsb2NrO1xufShSZWFjdC5Db21wb25lbnQpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IERyYWZ0RWRpdG9yQmxvY2s7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/DraftEditorBlock.react.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nvar _assign = __webpack_require__(/*! object-assign */ \"./node_modules/object-assign/index.js\");\n\nfunction _extends() { _extends = _assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar DraftEditorLeaf = __webpack_require__(/*! ./DraftEditorLeaf.react */ \"./node_modules/draft-js/lib/DraftEditorLeaf.react.js\");\n\nvar DraftOffsetKey = __webpack_require__(/*! ./DraftOffsetKey */ \"./node_modules/draft-js/lib/DraftOffsetKey.js\");\n\nvar React = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n\nvar Scroll = __webpack_require__(/*! fbjs/lib/Scroll */ \"./node_modules/fbjs/lib/Scroll.js\");\n\nvar Style = __webpack_require__(/*! fbjs/lib/Style */ \"./node_modules/fbjs/lib/Style.js\");\n\nvar UnicodeBidi = __webpack_require__(/*! fbjs/lib/UnicodeBidi */ \"./node_modules/fbjs/lib/UnicodeBidi.js\");\n\nvar UnicodeBidiDirection = __webpack_require__(/*! fbjs/lib/UnicodeBidiDirection */ \"./node_modules/fbjs/lib/UnicodeBidiDirection.js\");\n\nvar cx = __webpack_require__(/*! fbjs/lib/cx */ \"./node_modules/fbjs/lib/cx.js\");\n\nvar getElementPosition = __webpack_require__(/*! fbjs/lib/getElementPosition */ \"./node_modules/fbjs/lib/getElementPosition.js\");\n\nvar getScrollPosition = __webpack_require__(/*! fbjs/lib/getScrollPosition */ \"./node_modules/fbjs/lib/getScrollPosition.js\");\n\nvar getViewportDimensions = __webpack_require__(/*! fbjs/lib/getViewportDimensions */ \"./node_modules/fbjs/lib/getViewportDimensions.js\");\n\nvar invariant = __webpack_require__(/*! fbjs/lib/invariant */ \"./node_modules/fbjs/lib/invariant.js\");\n\nvar isHTMLElement = __webpack_require__(/*! ./isHTMLElement */ \"./node_modules/draft-js/lib/isHTMLElement.js\");\n\nvar nullthrows = __webpack_require__(/*! fbjs/lib/nullthrows */ \"./node_modules/fbjs/lib/nullthrows.js\");\n\nvar SCROLL_BUFFER = 10;\n\n/**\n * Return whether a block overlaps with either edge of the `SelectionState`.\n */\nvar isBlockOnSelectionEdge = function isBlockOnSelectionEdge(selection, key) {\n return selection.getAnchorKey() === key || selection.getFocusKey() === key;\n};\n/**\n * The default block renderer for a `DraftEditor` component.\n *\n * A `DraftEditorBlock` is able to render a given `ContentBlock` to its\n * appropriate decorator and inline style components.\n */\n\n\nvar DraftEditorBlock =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(DraftEditorBlock, _React$Component);\n\n function DraftEditorBlock() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n\n _defineProperty(_assertThisInitialized(_this), \"_node\", void 0);\n\n return _this;\n }\n\n var _proto = DraftEditorBlock.prototype;\n\n _proto.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {\n return this.props.block !== nextProps.block || this.props.tree !== nextProps.tree || this.props.direction !== nextProps.direction || isBlockOnSelectionEdge(nextProps.selection, nextProps.block.getKey()) && nextProps.forceSelection;\n }\n /**\n * When a block is mounted and overlaps the selection state, we need to make\n * sure that the cursor is visible to match native behavior. This may not\n * be the case if the user has pressed `RETURN` or pasted some content, since\n * programmatically creating these new blocks and setting the DOM selection\n * will miss out on the browser natively scrolling to that position.\n *\n * To replicate native behavior, if the block overlaps the selection state\n * on mount, force the scroll position. Check the scroll state of the scroll\n * parent, and adjust it to align the entire block to the bottom of the\n * scroll parent.\n */\n ;\n\n _proto.componentDidMount = function componentDidMount() {\n var selection = this.props.selection;\n var endKey = selection.getEndKey();\n\n if (!selection.getHasFocus() || endKey !== this.props.block.getKey()) {\n return;\n }\n\n var blockNode = this._node;\n\n if (blockNode == null) {\n return;\n }\n\n var scrollParent = Style.getScrollParent(blockNode);\n var scrollPosition = getScrollPosition(scrollParent);\n var scrollDelta;\n\n if (scrollParent === window) {\n var nodePosition = getElementPosition(blockNode);\n var nodeBottom = nodePosition.y + nodePosition.height;\n var viewportHeight = getViewportDimensions().height;\n scrollDelta = nodeBottom - viewportHeight;\n\n if (scrollDelta > 0) {\n window.scrollTo(scrollPosition.x, scrollPosition.y + scrollDelta + SCROLL_BUFFER);\n }\n } else {\n !isHTMLElement(blockNode) ? true ? invariant(false, 'blockNode is not an HTMLElement') : undefined : void 0;\n var blockBottom = blockNode.offsetHeight + blockNode.offsetTop;\n var pOffset = scrollParent.offsetTop + scrollParent.offsetHeight;\n var scrollBottom = pOffset + scrollPosition.y;\n scrollDelta = blockBottom - scrollBottom;\n\n if (scrollDelta > 0) {\n Scroll.setTop(scrollParent, Scroll.getTop(scrollParent) + scrollDelta + SCROLL_BUFFER);\n }\n }\n };\n\n _proto._renderChildren = function _renderChildren() {\n var _this2 = this;\n\n var block = this.props.block;\n var blockKey = block.getKey();\n var text = block.getText();\n var lastLeafSet = this.props.tree.size - 1;\n var hasSelection = isBlockOnSelectionEdge(this.props.selection, blockKey);\n return this.props.tree.map(function (leafSet, ii) {\n var leavesForLeafSet = leafSet.get('leaves'); // T44088704\n\n if (leavesForLeafSet.size === 0) {\n return null;\n }\n\n var lastLeaf = leavesForLeafSet.size - 1;\n var leaves = leavesForLeafSet.map(function (leaf, jj) {\n var offsetKey = DraftOffsetKey.encode(blockKey, ii, jj);\n var start = leaf.get('start');\n var end = leaf.get('end');\n return React.createElement(DraftEditorLeaf, {\n key: offsetKey,\n offsetKey: offsetKey,\n block: block,\n start: start,\n selection: hasSelection ? _this2.props.selection : null,\n forceSelection: _this2.props.forceSelection,\n text: text.slice(start, end),\n styleSet: block.getInlineStyleAt(start),\n customStyleMap: _this2.props.customStyleMap,\n customStyleFn: _this2.props.customStyleFn,\n isLast: ii === lastLeafSet && jj === lastLeaf\n });\n }).toArray();\n var decoratorKey = leafSet.get('decoratorKey');\n\n if (decoratorKey == null) {\n return leaves;\n }\n\n if (!_this2.props.decorator) {\n return leaves;\n }\n\n var decorator = nullthrows(_this2.props.decorator);\n var DecoratorComponent = decorator.getComponentForKey(decoratorKey);\n\n if (!DecoratorComponent) {\n return leaves;\n }\n\n var decoratorProps = decorator.getPropsForKey(decoratorKey);\n var decoratorOffsetKey = DraftOffsetKey.encode(blockKey, ii, 0);\n var start = leavesForLeafSet.first().get('start');\n var end = leavesForLeafSet.last().get('end');\n var decoratedText = text.slice(start, end);\n var entityKey = block.getEntityAt(leafSet.get('start')); // Resetting dir to the same value on a child node makes Chrome/Firefox\n // confused on cursor movement. See http://jsfiddle.net/d157kLck/3/\n\n var dir = UnicodeBidiDirection.getHTMLDirIfDifferent(UnicodeBidi.getDirection(decoratedText), _this2.props.direction);\n var commonProps = {\n contentState: _this2.props.contentState,\n decoratedText: decoratedText,\n dir: dir,\n key: decoratorOffsetKey,\n start: start,\n end: end,\n blockKey: blockKey,\n entityKey: entityKey,\n offsetKey: decoratorOffsetKey\n };\n return React.createElement(DecoratorComponent, _extends({}, decoratorProps, commonProps), leaves);\n }).toArray();\n };\n\n _proto.render = function render() {\n var _this3 = this;\n\n var _this$props = this.props,\n direction = _this$props.direction,\n offsetKey = _this$props.offsetKey;\n var className = cx({\n 'public/DraftStyleDefault/block': true,\n 'public/DraftStyleDefault/ltr': direction === 'LTR',\n 'public/DraftStyleDefault/rtl': direction === 'RTL'\n });\n return React.createElement(\"div\", {\n \"data-offset-key\": offsetKey,\n className: className,\n ref: function ref(_ref) {\n return _this3._node = _ref;\n }\n }, this._renderChildren());\n };\n\n return DraftEditorBlock;\n}(React.Component);\n\nmodule.exports = DraftEditorBlock;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0RyYWZ0RWRpdG9yQmxvY2sucmVhY3QuanM/MGVkOCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNhOztBQUViLGNBQWMsbUJBQU8sQ0FBQyw0REFBZTs7QUFFckMscUJBQXFCLDBDQUEwQyxnQkFBZ0Isc0JBQXNCLE9BQU8sMkJBQTJCLDBCQUEwQix5REFBeUQsMkJBQTJCLEVBQUUsRUFBRSxFQUFFLGVBQWUsR0FBRyx3Q0FBd0M7O0FBRXJULHVDQUF1Qyx1QkFBdUIsdUZBQXVGLEVBQUUsYUFBYTs7QUFFcEssK0NBQStDLDBEQUEwRCwyQ0FBMkMsaUNBQWlDOztBQUVyTCwyQ0FBMkMsa0JBQWtCLGtDQUFrQyxxRUFBcUUsRUFBRSxFQUFFLE9BQU8sa0JBQWtCLEVBQUUsWUFBWTs7QUFFL00sc0JBQXNCLG1CQUFPLENBQUMscUZBQXlCOztBQUV2RCxxQkFBcUIsbUJBQU8sQ0FBQyx1RUFBa0I7O0FBRS9DLFlBQVksbUJBQU8sQ0FBQyw0Q0FBTzs7QUFFM0IsYUFBYSxtQkFBTyxDQUFDLDBEQUFpQjs7QUFFdEMsWUFBWSxtQkFBTyxDQUFDLHdEQUFnQjs7QUFFcEMsa0JBQWtCLG1CQUFPLENBQUMsb0VBQXNCOztBQUVoRCwyQkFBMkIsbUJBQU8sQ0FBQyxzRkFBK0I7O0FBRWxFLFNBQVMsbUJBQU8sQ0FBQyxrREFBYTs7QUFFOUIseUJBQXlCLG1CQUFPLENBQUMsa0ZBQTZCOztBQUU5RCx3QkFBd0IsbUJBQU8sQ0FBQyxnRkFBNEI7O0FBRTVELDRCQUE0QixtQkFBTyxDQUFDLHdGQUFnQzs7QUFFcEUsZ0JBQWdCLG1CQUFPLENBQUMsZ0VBQW9COztBQUU1QyxvQkFBb0IsbUJBQU8sQ0FBQyxxRUFBaUI7O0FBRTdDLGlCQUFpQixtQkFBTyxDQUFDLGtFQUFxQjs7QUFFOUM7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBLHVFQUF1RSxhQUFhO0FBQ3BGO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsa0NBQWtDLEtBQXFDLHlEQUF5RCxTQUFnQjtBQUNoSjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbURBQW1EOztBQUVuRDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVCxPQUFPO0FBQ1A7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOERBQThEO0FBQzlEOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdFQUFnRTtBQUNoRSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQSxDQUFDOztBQUVEIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2RyYWZ0LWpzL2xpYi9EcmFmdEVkaXRvckJsb2NrLnJlYWN0LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIEZhY2Vib29rLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKiBAZm9ybWF0XG4gKiBcbiAqIEBlbWFpbHMgb25jYWxsK2RyYWZ0X2pzXG4gKi9cbid1c2Ugc3RyaWN0JztcblxudmFyIF9hc3NpZ24gPSByZXF1aXJlKFwib2JqZWN0LWFzc2lnblwiKTtcblxuZnVuY3Rpb24gX2V4dGVuZHMoKSB7IF9leHRlbmRzID0gX2Fzc2lnbiB8fCBmdW5jdGlvbiAodGFyZ2V0KSB7IGZvciAodmFyIGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7IHZhciBzb3VyY2UgPSBhcmd1bWVudHNbaV07IGZvciAodmFyIGtleSBpbiBzb3VyY2UpIHsgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzb3VyY2UsIGtleSkpIHsgdGFyZ2V0W2tleV0gPSBzb3VyY2Vba2V5XTsgfSB9IH0gcmV0dXJuIHRhcmdldDsgfTsgcmV0dXJuIF9leHRlbmRzLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7IH1cblxuZnVuY3Rpb24gX2Fzc2VydFRoaXNJbml0aWFsaXplZChzZWxmKSB7IGlmIChzZWxmID09PSB2b2lkIDApIHsgdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKFwidGhpcyBoYXNuJ3QgYmVlbiBpbml0aWFsaXNlZCAtIHN1cGVyKCkgaGFzbid0IGJlZW4gY2FsbGVkXCIpOyB9IHJldHVybiBzZWxmOyB9XG5cbmZ1bmN0aW9uIF9pbmhlcml0c0xvb3NlKHN1YkNsYXNzLCBzdXBlckNsYXNzKSB7IHN1YkNsYXNzLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoc3VwZXJDbGFzcy5wcm90b3R5cGUpOyBzdWJDbGFzcy5wcm90b3R5cGUuY29uc3RydWN0b3IgPSBzdWJDbGFzczsgc3ViQ2xhc3MuX19wcm90b19fID0gc3VwZXJDbGFzczsgfVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHZhbHVlKSB7IGlmIChrZXkgaW4gb2JqKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgeyB2YWx1ZTogdmFsdWUsIGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgd3JpdGFibGU6IHRydWUgfSk7IH0gZWxzZSB7IG9ialtrZXldID0gdmFsdWU7IH0gcmV0dXJuIG9iajsgfVxuXG52YXIgRHJhZnRFZGl0b3JMZWFmID0gcmVxdWlyZShcIi4vRHJhZnRFZGl0b3JMZWFmLnJlYWN0XCIpO1xuXG52YXIgRHJhZnRPZmZzZXRLZXkgPSByZXF1aXJlKFwiLi9EcmFmdE9mZnNldEtleVwiKTtcblxudmFyIFJlYWN0ID0gcmVxdWlyZShcInJlYWN0XCIpO1xuXG52YXIgU2Nyb2xsID0gcmVxdWlyZShcImZianMvbGliL1Njcm9sbFwiKTtcblxudmFyIFN0eWxlID0gcmVxdWlyZShcImZianMvbGliL1N0eWxlXCIpO1xuXG52YXIgVW5pY29kZUJpZGkgPSByZXF1aXJlKFwiZmJqcy9saWIvVW5pY29kZUJpZGlcIik7XG5cbnZhciBVbmljb2RlQmlkaURpcmVjdGlvbiA9IHJlcXVpcmUoXCJmYmpzL2xpYi9Vbmljb2RlQmlkaURpcmVjdGlvblwiKTtcblxudmFyIGN4ID0gcmVxdWlyZShcImZianMvbGliL2N4XCIpO1xuXG52YXIgZ2V0RWxlbWVudFBvc2l0aW9uID0gcmVxdWlyZShcImZianMvbGliL2dldEVsZW1lbnRQb3NpdGlvblwiKTtcblxudmFyIGdldFNjcm9sbFBvc2l0aW9uID0gcmVxdWlyZShcImZianMvbGliL2dldFNjcm9sbFBvc2l0aW9uXCIpO1xuXG52YXIgZ2V0Vmlld3BvcnREaW1lbnNpb25zID0gcmVxdWlyZShcImZianMvbGliL2dldFZpZXdwb3J0RGltZW5zaW9uc1wiKTtcblxudmFyIGludmFyaWFudCA9IHJlcXVpcmUoXCJmYmpzL2xpYi9pbnZhcmlhbnRcIik7XG5cbnZhciBpc0hUTUxFbGVtZW50ID0gcmVxdWlyZShcIi4vaXNIVE1MRWxlbWVudFwiKTtcblxudmFyIG51bGx0aHJvd3MgPSByZXF1aXJlKFwiZmJqcy9saWIvbnVsbHRocm93c1wiKTtcblxudmFyIFNDUk9MTF9CVUZGRVIgPSAxMDtcblxuLyoqXG4gKiBSZXR1cm4gd2hldGhlciBhIGJsb2NrIG92ZXJsYXBzIHdpdGggZWl0aGVyIGVkZ2Ugb2YgdGhlIGBTZWxlY3Rpb25TdGF0ZWAuXG4gKi9cbnZhciBpc0Jsb2NrT25TZWxlY3Rpb25FZGdlID0gZnVuY3Rpb24gaXNCbG9ja09uU2VsZWN0aW9uRWRnZShzZWxlY3Rpb24sIGtleSkge1xuICByZXR1cm4gc2VsZWN0aW9uLmdldEFuY2hvcktleSgpID09PSBrZXkgfHwgc2VsZWN0aW9uLmdldEZvY3VzS2V5KCkgPT09IGtleTtcbn07XG4vKipcbiAqIFRoZSBkZWZhdWx0IGJsb2NrIHJlbmRlcmVyIGZvciBhIGBEcmFmdEVkaXRvcmAgY29tcG9uZW50LlxuICpcbiAqIEEgYERyYWZ0RWRpdG9yQmxvY2tgIGlzIGFibGUgdG8gcmVuZGVyIGEgZ2l2ZW4gYENvbnRlbnRCbG9ja2AgdG8gaXRzXG4gKiBhcHByb3ByaWF0ZSBkZWNvcmF0b3IgYW5kIGlubGluZSBzdHlsZSBjb21wb25lbnRzLlxuICovXG5cblxudmFyIERyYWZ0RWRpdG9yQmxvY2sgPVxuLyojX19QVVJFX18qL1xuZnVuY3Rpb24gKF9SZWFjdCRDb21wb25lbnQpIHtcbiAgX2luaGVyaXRzTG9vc2UoRHJhZnRFZGl0b3JCbG9jaywgX1JlYWN0JENvbXBvbmVudCk7XG5cbiAgZnVuY3Rpb24gRHJhZnRFZGl0b3JCbG9jaygpIHtcbiAgICB2YXIgX3RoaXM7XG5cbiAgICBmb3IgKHZhciBfbGVuID0gYXJndW1lbnRzLmxlbmd0aCwgYXJncyA9IG5ldyBBcnJheShfbGVuKSwgX2tleSA9IDA7IF9rZXkgPCBfbGVuOyBfa2V5KyspIHtcbiAgICAgIGFyZ3NbX2tleV0gPSBhcmd1bWVudHNbX2tleV07XG4gICAgfVxuXG4gICAgX3RoaXMgPSBfUmVhY3QkQ29tcG9uZW50LmNhbGwuYXBwbHkoX1JlYWN0JENvbXBvbmVudCwgW3RoaXNdLmNvbmNhdChhcmdzKSkgfHwgdGhpcztcblxuICAgIF9kZWZpbmVQcm9wZXJ0eShfYXNzZXJ0VGhpc0luaXRpYWxpemVkKF90aGlzKSwgXCJfbm9kZVwiLCB2b2lkIDApO1xuXG4gICAgcmV0dXJuIF90aGlzO1xuICB9XG5cbiAgdmFyIF9wcm90byA9IERyYWZ0RWRpdG9yQmxvY2sucHJvdG90eXBlO1xuXG4gIF9wcm90by5zaG91bGRDb21wb25lbnRVcGRhdGUgPSBmdW5jdGlvbiBzaG91bGRDb21wb25lbnRVcGRhdGUobmV4dFByb3BzKSB7XG4gICAgcmV0dXJuIHRoaXMucHJvcHMuYmxvY2sgIT09IG5leHRQcm9wcy5ibG9jayB8fCB0aGlzLnByb3BzLnRyZWUgIT09IG5leHRQcm9wcy50cmVlIHx8IHRoaXMucHJvcHMuZGlyZWN0aW9uICE9PSBuZXh0UHJvcHMuZGlyZWN0aW9uIHx8IGlzQmxvY2tPblNlbGVjdGlvbkVkZ2UobmV4dFByb3BzLnNlbGVjdGlvbiwgbmV4dFByb3BzLmJsb2NrLmdldEtleSgpKSAmJiBuZXh0UHJvcHMuZm9yY2VTZWxlY3Rpb247XG4gIH1cbiAgLyoqXG4gICAqIFdoZW4gYSBibG9jayBpcyBtb3VudGVkIGFuZCBvdmVybGFwcyB0aGUgc2VsZWN0aW9uIHN0YXRlLCB3ZSBuZWVkIHRvIG1ha2VcbiAgICogc3VyZSB0aGF0IHRoZSBjdXJzb3IgaXMgdmlzaWJsZSB0byBtYXRjaCBuYXRpdmUgYmVoYXZpb3IuIFRoaXMgbWF5IG5vdFxuICAgKiBiZSB0aGUgY2FzZSBpZiB0aGUgdXNlciBoYXMgcHJlc3NlZCBgUkVUVVJOYCBvciBwYXN0ZWQgc29tZSBjb250ZW50LCBzaW5jZVxuICAgKiBwcm9ncmFtbWF0aWNhbGx5IGNyZWF0aW5nIHRoZXNlIG5ldyBibG9ja3MgYW5kIHNldHRpbmcgdGhlIERPTSBzZWxlY3Rpb25cbiAgICogd2lsbCBtaXNzIG91dCBvbiB0aGUgYnJvd3NlciBuYXRpdmVseSBzY3JvbGxpbmcgdG8gdGhhdCBwb3NpdGlvbi5cbiAgICpcbiAgICogVG8gcmVwbGljYXRlIG5hdGl2ZSBiZWhhdmlvciwgaWYgdGhlIGJsb2NrIG92ZXJsYXBzIHRoZSBzZWxlY3Rpb24gc3RhdGVcbiAgICogb24gbW91bnQsIGZvcmNlIHRoZSBzY3JvbGwgcG9zaXRpb24uIENoZWNrIHRoZSBzY3JvbGwgc3RhdGUgb2YgdGhlIHNjcm9sbFxuICAgKiBwYXJlbnQsIGFuZCBhZGp1c3QgaXQgdG8gYWxpZ24gdGhlIGVudGlyZSBibG9jayB0byB0aGUgYm90dG9tIG9mIHRoZVxuICAgKiBzY3JvbGwgcGFyZW50LlxuICAgKi9cbiAgO1xuXG4gIF9wcm90by5jb21wb25lbnREaWRNb3VudCA9IGZ1bmN0aW9uIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIHZhciBzZWxlY3Rpb24gPSB0aGlzLnByb3BzLnNlbGVjdGlvbjtcbiAgICB2YXIgZW5kS2V5ID0gc2VsZWN0aW9uLmdldEVuZEtleSgpO1xuXG4gICAgaWYgKCFzZWxlY3Rpb24uZ2V0SGFzRm9jdXMoKSB8fCBlbmRLZXkgIT09IHRoaXMucHJvcHMuYmxvY2suZ2V0S2V5KCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB2YXIgYmxvY2tOb2RlID0gdGhpcy5fbm9kZTtcblxuICAgIGlmIChibG9ja05vZGUgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHZhciBzY3JvbGxQYXJlbnQgPSBTdHlsZS5nZXRTY3JvbGxQYXJlbnQoYmxvY2tOb2RlKTtcbiAgICB2YXIgc2Nyb2xsUG9zaXRpb24gPSBnZXRTY3JvbGxQb3NpdGlvbihzY3JvbGxQYXJlbnQpO1xuICAgIHZhciBzY3JvbGxEZWx0YTtcblxuICAgIGlmIChzY3JvbGxQYXJlbnQgPT09IHdpbmRvdykge1xuICAgICAgdmFyIG5vZGVQb3NpdGlvbiA9IGdldEVsZW1lbnRQb3NpdGlvbihibG9ja05vZGUpO1xuICAgICAgdmFyIG5vZGVCb3R0b20gPSBub2RlUG9zaXRpb24ueSArIG5vZGVQb3NpdGlvbi5oZWlnaHQ7XG4gICAgICB2YXIgdmlld3BvcnRIZWlnaHQgPSBnZXRWaWV3cG9ydERpbWVuc2lvbnMoKS5oZWlnaHQ7XG4gICAgICBzY3JvbGxEZWx0YSA9IG5vZGVCb3R0b20gLSB2aWV3cG9ydEhlaWdodDtcblxuICAgICAgaWYgKHNjcm9sbERlbHRhID4gMCkge1xuICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oc2Nyb2xsUG9zaXRpb24ueCwgc2Nyb2xsUG9zaXRpb24ueSArIHNjcm9sbERlbHRhICsgU0NST0xMX0JVRkZFUik7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgICFpc0hUTUxFbGVtZW50KGJsb2NrTm9kZSkgPyBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIgPyBpbnZhcmlhbnQoZmFsc2UsICdibG9ja05vZGUgaXMgbm90IGFuIEhUTUxFbGVtZW50JykgOiBpbnZhcmlhbnQoZmFsc2UpIDogdm9pZCAwO1xuICAgICAgdmFyIGJsb2NrQm90dG9tID0gYmxvY2tOb2RlLm9mZnNldEhlaWdodCArIGJsb2NrTm9kZS5vZmZzZXRUb3A7XG4gICAgICB2YXIgcE9mZnNldCA9IHNjcm9sbFBhcmVudC5vZmZzZXRUb3AgKyBzY3JvbGxQYXJlbnQub2Zmc2V0SGVpZ2h0O1xuICAgICAgdmFyIHNjcm9sbEJvdHRvbSA9IHBPZmZzZXQgKyBzY3JvbGxQb3NpdGlvbi55O1xuICAgICAgc2Nyb2xsRGVsdGEgPSBibG9ja0JvdHRvbSAtIHNjcm9sbEJvdHRvbTtcblxuICAgICAgaWYgKHNjcm9sbERlbHRhID4gMCkge1xuICAgICAgICBTY3JvbGwuc2V0VG9wKHNjcm9sbFBhcmVudCwgU2Nyb2xsLmdldFRvcChzY3JvbGxQYXJlbnQpICsgc2Nyb2xsRGVsdGEgKyBTQ1JPTExfQlVGRkVSKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgX3Byb3RvLl9yZW5kZXJDaGlsZHJlbiA9IGZ1bmN0aW9uIF9yZW5kZXJDaGlsZHJlbigpIHtcbiAgICB2YXIgX3RoaXMyID0gdGhpcztcblxuICAgIHZhciBibG9jayA9IHRoaXMucHJvcHMuYmxvY2s7XG4gICAgdmFyIGJsb2NrS2V5ID0gYmxvY2suZ2V0S2V5KCk7XG4gICAgdmFyIHRleHQgPSBibG9jay5nZXRUZXh0KCk7XG4gICAgdmFyIGxhc3RMZWFmU2V0ID0gdGhpcy5wcm9wcy50cmVlLnNpemUgLSAxO1xuICAgIHZhciBoYXNTZWxlY3Rpb24gPSBpc0Jsb2NrT25TZWxlY3Rpb25FZGdlKHRoaXMucHJvcHMuc2VsZWN0aW9uLCBibG9ja0tleSk7XG4gICAgcmV0dXJuIHRoaXMucHJvcHMudHJlZS5tYXAoZnVuY3Rpb24gKGxlYWZTZXQsIGlpKSB7XG4gICAgICB2YXIgbGVhdmVzRm9yTGVhZlNldCA9IGxlYWZTZXQuZ2V0KCdsZWF2ZXMnKTsgLy8gVDQ0MDg4NzA0XG5cbiAgICAgIGlmIChsZWF2ZXNGb3JMZWFmU2V0LnNpemUgPT09IDApIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICAgIHZhciBsYXN0TGVhZiA9IGxlYXZlc0ZvckxlYWZTZXQuc2l6ZSAtIDE7XG4gICAgICB2YXIgbGVhdmVzID0gbGVhdmVzRm9yTGVhZlNldC5tYXAoZnVuY3Rpb24gKGxlYWYsIGpqKSB7XG4gICAgICAgIHZhciBvZmZzZXRLZXkgPSBEcmFmdE9mZnNldEtleS5lbmNvZGUoYmxvY2tLZXksIGlpLCBqaik7XG4gICAgICAgIHZhciBzdGFydCA9IGxlYWYuZ2V0KCdzdGFydCcpO1xuICAgICAgICB2YXIgZW5kID0gbGVhZi5nZXQoJ2VuZCcpO1xuICAgICAgICByZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChEcmFmdEVkaXRvckxlYWYsIHtcbiAgICAgICAgICBrZXk6IG9mZnNldEtleSxcbiAgICAgICAgICBvZmZzZXRLZXk6IG9mZnNldEtleSxcbiAgICAgICAgICBibG9jazogYmxvY2ssXG4gICAgICAgICAgc3RhcnQ6IHN0YXJ0LFxuICAgICAgICAgIHNlbGVjdGlvbjogaGFzU2VsZWN0aW9uID8gX3RoaXMyLnByb3BzLnNlbGVjdGlvbiA6IG51bGwsXG4gICAgICAgICAgZm9yY2VTZWxlY3Rpb246IF90aGlzMi5wcm9wcy5mb3JjZVNlbGVjdGlvbixcbiAgICAgICAgICB0ZXh0OiB0ZXh0LnNsaWNlKHN0YXJ0LCBlbmQpLFxuICAgICAgICAgIHN0eWxlU2V0OiBibG9jay5nZXRJbmxpbmVTdHlsZUF0KHN0YXJ0KSxcbiAgICAgICAgICBjdXN0b21TdHlsZU1hcDogX3RoaXMyLnByb3BzLmN1c3RvbVN0eWxlTWFwLFxuICAgICAgICAgIGN1c3RvbVN0eWxlRm46IF90aGlzMi5wcm9wcy5jdXN0b21TdHlsZUZuLFxuICAgICAgICAgIGlzTGFzdDogaWkgPT09IGxhc3RMZWFmU2V0ICYmIGpqID09PSBsYXN0TGVhZlxuICAgICAgICB9KTtcbiAgICAgIH0pLnRvQXJyYXkoKTtcbiAgICAgIHZhciBkZWNvcmF0b3JLZXkgPSBsZWFmU2V0LmdldCgnZGVjb3JhdG9yS2V5Jyk7XG5cbiAgICAgIGlmIChkZWNvcmF0b3JLZXkgPT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gbGVhdmVzO1xuICAgICAgfVxuXG4gICAgICBpZiAoIV90aGlzMi5wcm9wcy5kZWNvcmF0b3IpIHtcbiAgICAgICAgcmV0dXJuIGxlYXZlcztcbiAgICAgIH1cblxuICAgICAgdmFyIGRlY29yYXRvciA9IG51bGx0aHJvd3MoX3RoaXMyLnByb3BzLmRlY29yYXRvcik7XG4gICAgICB2YXIgRGVjb3JhdG9yQ29tcG9uZW50ID0gZGVjb3JhdG9yLmdldENvbXBvbmVudEZvcktleShkZWNvcmF0b3JLZXkpO1xuXG4gICAgICBpZiAoIURlY29yYXRvckNvbXBvbmVudCkge1xuICAgICAgICByZXR1cm4gbGVhdmVzO1xuICAgICAgfVxuXG4gICAgICB2YXIgZGVjb3JhdG9yUHJvcHMgPSBkZWNvcmF0b3IuZ2V0UHJvcHNGb3JLZXkoZGVjb3JhdG9yS2V5KTtcbiAgICAgIHZhciBkZWNvcmF0b3JPZmZzZXRLZXkgPSBEcmFmdE9mZnNldEtleS5lbmNvZGUoYmxvY2tLZXksIGlpLCAwKTtcbiAgICAgIHZhciBzdGFydCA9IGxlYXZlc0ZvckxlYWZTZXQuZmlyc3QoKS5nZXQoJ3N0YXJ0Jyk7XG4gICAgICB2YXIgZW5kID0gbGVhdmVzRm9yTGVhZlNldC5sYXN0KCkuZ2V0KCdlbmQnKTtcbiAgICAgIHZhciBkZWNvcmF0ZWRUZXh0ID0gdGV4dC5zbGljZShzdGFydCwgZW5kKTtcbiAgICAgIHZhciBlbnRpdHlLZXkgPSBibG9jay5nZXRFbnRpdHlBdChsZWFmU2V0LmdldCgnc3RhcnQnKSk7IC8vIFJlc2V0dGluZyBkaXIgdG8gdGhlIHNhbWUgdmFsdWUgb24gYSBjaGlsZCBub2RlIG1ha2VzIENocm9tZS9GaXJlZm94XG4gICAgICAvLyBjb25mdXNlZCBvbiBjdXJzb3IgbW92ZW1lbnQuIFNlZSBodHRwOi8vanNmaWRkbGUubmV0L2QxNTdrTGNrLzMvXG5cbiAgICAgIHZhciBkaXIgPSBVbmljb2RlQmlkaURpcmVjdGlvbi5nZXRIVE1MRGlySWZEaWZmZXJlbnQoVW5pY29kZUJpZGkuZ2V0RGlyZWN0aW9uKGRlY29yYXRlZFRleHQpLCBfdGhpczIucHJvcHMuZGlyZWN0aW9uKTtcbiAgICAgIHZhciBjb21tb25Qcm9wcyA9IHtcbiAgICAgICAgY29udGVudFN0YXRlOiBfdGhpczIucHJvcHMuY29udGVudFN0YXRlLFxuICAgICAgICBkZWNvcmF0ZWRUZXh0OiBkZWNvcmF0ZWRUZXh0LFxuICAgICAgICBkaXI6IGRpcixcbiAgICAgICAga2V5OiBkZWNvcmF0b3JPZmZzZXRLZXksXG4gICAgICAgIHN0YXJ0OiBzdGFydCxcbiAgICAgICAgZW5kOiBlbmQsXG4gICAgICAgIGJsb2NrS2V5OiBibG9ja0tleSxcbiAgICAgICAgZW50aXR5S2V5OiBlbnRpdHlLZXksXG4gICAgICAgIG9mZnNldEtleTogZGVjb3JhdG9yT2Zmc2V0S2V5XG4gICAgICB9O1xuICAgICAgcmV0dXJuIFJlYWN0LmNyZWF0ZUVsZW1lbnQoRGVjb3JhdG9yQ29tcG9uZW50LCBfZXh0ZW5kcyh7fSwgZGVjb3JhdG9yUHJvcHMsIGNvbW1vblByb3BzKSwgbGVhdmVzKTtcbiAgICB9KS50b0FycmF5KCk7XG4gIH07XG5cbiAgX3Byb3RvLnJlbmRlciA9IGZ1bmN0aW9uIHJlbmRlcigpIHtcbiAgICB2YXIgX3RoaXMzID0gdGhpcztcblxuICAgIHZhciBfdGhpcyRwcm9wcyA9IHRoaXMucHJvcHMsXG4gICAgICAgIGRpcmVjdGlvbiA9IF90aGlzJHByb3BzLmRpcmVjdGlvbixcbiAgICAgICAgb2Zmc2V0S2V5ID0gX3RoaXMkcHJvcHMub2Zmc2V0S2V5O1xuICAgIHZhciBjbGFzc05hbWUgPSBjeCh7XG4gICAgICAncHVibGljL0RyYWZ0U3R5bGVEZWZhdWx0L2Jsb2NrJzogdHJ1ZSxcbiAgICAgICdwdWJsaWMvRHJhZnRTdHlsZURlZmF1bHQvbHRyJzogZGlyZWN0aW9uID09PSAnTFRSJyxcbiAgICAgICdwdWJsaWMvRHJhZnRTdHlsZURlZmF1bHQvcnRsJzogZGlyZWN0aW9uID09PSAnUlRMJ1xuICAgIH0pO1xuICAgIHJldHVybiBSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHtcbiAgICAgIFwiZGF0YS1vZmZzZXQta2V5XCI6IG9mZnNldEtleSxcbiAgICAgIGNsYXNzTmFtZTogY2xhc3NOYW1lLFxuICAgICAgcmVmOiBmdW5jdGlvbiByZWYoX3JlZikge1xuICAgICAgICByZXR1cm4gX3RoaXMzLl9ub2RlID0gX3JlZjtcbiAgICAgIH1cbiAgICB9LCB0aGlzLl9yZW5kZXJDaGlsZHJlbigpKTtcbiAgfTtcblxuICByZXR1cm4gRHJhZnRFZGl0b3JCbG9jaztcbn0oUmVhY3QuQ29tcG9uZW50KTtcblxubW9kdWxlLmV4cG9ydHMgPSBEcmFmdEVkaXRvckJsb2NrOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/DraftEditorBlock.react.js\n"); + +/***/ }), + +/***/ "./node_modules/draft-js/lib/DraftEditorBlockNode.react.js": +/*!*****************************************************************!*\ + !*** ./node_modules/draft-js/lib/DraftEditorBlockNode.react.js ***! + \*****************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n *\n * This file is a fork of DraftEditorBlock.react.js and DraftEditorContents.react.js\n *\n * This is unstable and not part of the public API and should not be used by\n * production systems. This file may be update/removed without notice.\n */\n\n\nvar _assign = __webpack_require__(/*! object-assign */ \"./node_modules/object-assign/index.js\");\n\nfunction _extends() { _extends = _assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar DraftEditorNode = __webpack_require__(/*! ./DraftEditorNode.react */ \"./node_modules/draft-js/lib/DraftEditorNode.react.js\");\n\nvar DraftOffsetKey = __webpack_require__(/*! ./DraftOffsetKey */ \"./node_modules/draft-js/lib/DraftOffsetKey.js\");\n\nvar React = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n\nvar ReactDOM = __webpack_require__(/*! react-dom */ \"./node_modules/react-dom/index.js\");\n\nvar Scroll = __webpack_require__(/*! fbjs/lib/Scroll */ \"./node_modules/fbjs/lib/Scroll.js\");\n\nvar Style = __webpack_require__(/*! fbjs/lib/Style */ \"./node_modules/fbjs/lib/Style.js\");\n\nvar getElementPosition = __webpack_require__(/*! fbjs/lib/getElementPosition */ \"./node_modules/fbjs/lib/getElementPosition.js\");\n\nvar getScrollPosition = __webpack_require__(/*! fbjs/lib/getScrollPosition */ \"./node_modules/fbjs/lib/getScrollPosition.js\");\n\nvar getViewportDimensions = __webpack_require__(/*! fbjs/lib/getViewportDimensions */ \"./node_modules/fbjs/lib/getViewportDimensions.js\");\n\nvar Immutable = __webpack_require__(/*! immutable */ \"./node_modules/draft-js/node_modules/immutable/dist/immutable.js\");\n\nvar invariant = __webpack_require__(/*! fbjs/lib/invariant */ \"./node_modules/fbjs/lib/invariant.js\");\n\nvar isHTMLElement = __webpack_require__(/*! ./isHTMLElement */ \"./node_modules/draft-js/lib/isHTMLElement.js\");\n\nvar SCROLL_BUFFER = 10;\nvar List = Immutable.List; // we should harden up the bellow flow types to make them more strict\n\n/**\n * Return whether a block overlaps with either edge of the `SelectionState`.\n */\nvar isBlockOnSelectionEdge = function isBlockOnSelectionEdge(selection, key) {\n return selection.getAnchorKey() === key || selection.getFocusKey() === key;\n};\n/**\n * We will use this helper to identify blocks that need to be wrapped but have siblings that\n * also share the same wrapper element, this way we can do the wrapping once the last sibling\n * is added.\n */\n\n\nvar shouldNotAddWrapperElement = function shouldNotAddWrapperElement(block, contentState) {\n var nextSiblingKey = block.getNextSiblingKey();\n return nextSiblingKey ? contentState.getBlockForKey(nextSiblingKey).getType() === block.getType() : false;\n};\n\nvar applyWrapperElementToSiblings = function applyWrapperElementToSiblings(wrapperTemplate, Element, nodes) {\n var wrappedSiblings = []; // we check back until we find a sibbling that does not have same wrapper\n\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = nodes.reverse()[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var sibling = _step.value;\n\n if (sibling.type !== Element) {\n break;\n }\n\n wrappedSiblings.push(sibling);\n } // we now should remove from acc the wrappedSiblings and add them back under same wrap\n\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator[\"return\"] != null) {\n _iterator[\"return\"]();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n nodes.splice(nodes.indexOf(wrappedSiblings[0]), wrappedSiblings.length + 1);\n var childrenIs = wrappedSiblings.reverse();\n var key = childrenIs[0].key;\n nodes.push(React.cloneElement(wrapperTemplate, {\n key: \"\".concat(key, \"-wrap\"),\n 'data-offset-key': DraftOffsetKey.encode(key, 0, 0)\n }, childrenIs));\n return nodes;\n};\n\nvar getDraftRenderConfig = function getDraftRenderConfig(block, blockRenderMap) {\n var configForType = blockRenderMap.get(block.getType()) || blockRenderMap.get('unstyled');\n var wrapperTemplate = configForType.wrapper;\n var Element = configForType.element || blockRenderMap.get('unstyled').element;\n return {\n Element: Element,\n wrapperTemplate: wrapperTemplate\n };\n};\n\nvar getCustomRenderConfig = function getCustomRenderConfig(block, blockRendererFn) {\n var customRenderer = blockRendererFn(block);\n\n if (!customRenderer) {\n return {};\n }\n\n var CustomComponent = customRenderer.component,\n customProps = customRenderer.props,\n customEditable = customRenderer.editable;\n return {\n CustomComponent: CustomComponent,\n customProps: customProps,\n customEditable: customEditable\n };\n};\n\nvar getElementPropsConfig = function getElementPropsConfig(block, editorKey, offsetKey, blockStyleFn, customConfig) {\n var elementProps = {\n 'data-block': true,\n 'data-editor': editorKey,\n 'data-offset-key': offsetKey,\n key: block.getKey()\n };\n var customClass = blockStyleFn(block);\n\n if (customClass) {\n elementProps.className = customClass;\n }\n\n if (customConfig.customEditable !== undefined) {\n elementProps = _objectSpread({}, elementProps, {\n contentEditable: customConfig.customEditable,\n suppressContentEditableWarning: true\n });\n }\n\n return elementProps;\n};\n\nvar DraftEditorBlockNode =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(DraftEditorBlockNode, _React$Component);\n\n function DraftEditorBlockNode() {\n return _React$Component.apply(this, arguments) || this;\n }\n\n var _proto = DraftEditorBlockNode.prototype;\n\n _proto.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {\n var _this$props = this.props,\n block = _this$props.block,\n direction = _this$props.direction,\n tree = _this$props.tree;\n var isContainerNode = !block.getChildKeys().isEmpty();\n var blockHasChanged = block !== nextProps.block || tree !== nextProps.tree || direction !== nextProps.direction || isBlockOnSelectionEdge(nextProps.selection, nextProps.block.getKey()) && nextProps.forceSelection; // if we have children at this stage we always re-render container nodes\n // else if its a root node we avoid re-rendering by checking for block updates\n\n return isContainerNode || blockHasChanged;\n }\n /**\n * When a block is mounted and overlaps the selection state, we need to make\n * sure that the cursor is visible to match native behavior. This may not\n * be the case if the user has pressed `RETURN` or pasted some content, since\n * programatically creating these new blocks and setting the DOM selection\n * will miss out on the browser natively scrolling to that position.\n *\n * To replicate native behavior, if the block overlaps the selection state\n * on mount, force the scroll position. Check the scroll state of the scroll\n * parent, and adjust it to align the entire block to the bottom of the\n * scroll parent.\n */\n ;\n\n _proto.componentDidMount = function componentDidMount() {\n var selection = this.props.selection;\n var endKey = selection.getEndKey();\n\n if (!selection.getHasFocus() || endKey !== this.props.block.getKey()) {\n return;\n }\n\n var blockNode = ReactDOM.findDOMNode(this);\n var scrollParent = Style.getScrollParent(blockNode);\n var scrollPosition = getScrollPosition(scrollParent);\n var scrollDelta;\n\n if (scrollParent === window) {\n var nodePosition = getElementPosition(blockNode);\n var nodeBottom = nodePosition.y + nodePosition.height;\n var viewportHeight = getViewportDimensions().height;\n scrollDelta = nodeBottom - viewportHeight;\n\n if (scrollDelta > 0) {\n window.scrollTo(scrollPosition.x, scrollPosition.y + scrollDelta + SCROLL_BUFFER);\n }\n } else {\n !isHTMLElement(blockNode) ? true ? invariant(false, 'blockNode is not an HTMLElement') : undefined : void 0;\n var htmlBlockNode = blockNode;\n var blockBottom = htmlBlockNode.offsetHeight + htmlBlockNode.offsetTop;\n var scrollBottom = scrollParent.offsetHeight + scrollPosition.y;\n scrollDelta = blockBottom - scrollBottom;\n\n if (scrollDelta > 0) {\n Scroll.setTop(scrollParent, Scroll.getTop(scrollParent) + scrollDelta + SCROLL_BUFFER);\n }\n }\n };\n\n _proto.render = function render() {\n var _this = this;\n\n var _this$props2 = this.props,\n block = _this$props2.block,\n blockRenderMap = _this$props2.blockRenderMap,\n blockRendererFn = _this$props2.blockRendererFn,\n blockStyleFn = _this$props2.blockStyleFn,\n contentState = _this$props2.contentState,\n decorator = _this$props2.decorator,\n editorKey = _this$props2.editorKey,\n editorState = _this$props2.editorState,\n customStyleFn = _this$props2.customStyleFn,\n customStyleMap = _this$props2.customStyleMap,\n direction = _this$props2.direction,\n forceSelection = _this$props2.forceSelection,\n selection = _this$props2.selection,\n tree = _this$props2.tree;\n var children = null;\n\n if (block.children.size) {\n children = block.children.reduce(function (acc, key) {\n var offsetKey = DraftOffsetKey.encode(key, 0, 0);\n var child = contentState.getBlockForKey(key);\n var customConfig = getCustomRenderConfig(child, blockRendererFn);\n var Component = customConfig.CustomComponent || DraftEditorBlockNode;\n\n var _getDraftRenderConfig = getDraftRenderConfig(child, blockRenderMap),\n Element = _getDraftRenderConfig.Element,\n wrapperTemplate = _getDraftRenderConfig.wrapperTemplate;\n\n var elementProps = getElementPropsConfig(child, editorKey, offsetKey, blockStyleFn, customConfig);\n\n var childProps = _objectSpread({}, _this.props, {\n tree: editorState.getBlockTree(key),\n blockProps: customConfig.customProps,\n offsetKey: offsetKey,\n block: child\n });\n\n acc.push(React.createElement(Element, elementProps, React.createElement(Component, childProps)));\n\n if (!wrapperTemplate || shouldNotAddWrapperElement(child, contentState)) {\n return acc;\n } // if we are here it means we are the last block\n // that has a wrapperTemplate so we should wrap itself\n // and all other previous siblings that share the same wrapper\n\n\n applyWrapperElementToSiblings(wrapperTemplate, Element, acc);\n return acc;\n }, []);\n }\n\n var blockKey = block.getKey();\n var offsetKey = DraftOffsetKey.encode(blockKey, 0, 0);\n var customConfig = getCustomRenderConfig(block, blockRendererFn);\n var Component = customConfig.CustomComponent;\n var blockNode = Component != null ? React.createElement(Component, _extends({}, this.props, {\n tree: editorState.getBlockTree(blockKey),\n blockProps: customConfig.customProps,\n offsetKey: offsetKey,\n block: block\n })) : React.createElement(DraftEditorNode, {\n block: block,\n children: children,\n contentState: contentState,\n customStyleFn: customStyleFn,\n customStyleMap: customStyleMap,\n decorator: decorator,\n direction: direction,\n forceSelection: forceSelection,\n hasSelection: isBlockOnSelectionEdge(selection, blockKey),\n selection: selection,\n tree: tree\n });\n\n if (block.getParentKey()) {\n return blockNode;\n }\n\n var _getDraftRenderConfig2 = getDraftRenderConfig(block, blockRenderMap),\n Element = _getDraftRenderConfig2.Element;\n\n var elementProps = getElementPropsConfig(block, editorKey, offsetKey, blockStyleFn, customConfig); // root block nodes needs to be wrapped\n\n return React.createElement(Element, elementProps, blockNode);\n };\n\n return DraftEditorBlockNode;\n}(React.Component);\n\nmodule.exports = DraftEditorBlockNode;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0RyYWZ0RWRpdG9yQmxvY2tOb2RlLnJlYWN0LmpzPzBiY2EiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ2E7O0FBRWIsY0FBYyxtQkFBTyxDQUFDLDREQUFlOztBQUVyQyxxQkFBcUIsMENBQTBDLGdCQUFnQixzQkFBc0IsT0FBTywyQkFBMkIsMEJBQTBCLHlEQUF5RCwyQkFBMkIsRUFBRSxFQUFFLEVBQUUsZUFBZSxHQUFHLHdDQUF3Qzs7QUFFclQsK0NBQStDLDBEQUEwRCwyQ0FBMkMsaUNBQWlDOztBQUVyTCxnQ0FBZ0MsZ0JBQWdCLHNCQUFzQixPQUFPLHVEQUF1RCxtQ0FBbUMsMERBQTBELHNGQUFzRixnRUFBZ0UsRUFBRSxHQUFHLEVBQUUsaUNBQWlDLDJDQUEyQyxFQUFFLEVBQUUsRUFBRSxlQUFlOztBQUUvZCwyQ0FBMkMsa0JBQWtCLGtDQUFrQyxxRUFBcUUsRUFBRSxFQUFFLE9BQU8sa0JBQWtCLEVBQUUsWUFBWTs7QUFFL00sc0JBQXNCLG1CQUFPLENBQUMscUZBQXlCOztBQUV2RCxxQkFBcUIsbUJBQU8sQ0FBQyx1RUFBa0I7O0FBRS9DLFlBQVksbUJBQU8sQ0FBQyw0Q0FBTzs7QUFFM0IsZUFBZSxtQkFBTyxDQUFDLG9EQUFXOztBQUVsQyxhQUFhLG1CQUFPLENBQUMsMERBQWlCOztBQUV0QyxZQUFZLG1CQUFPLENBQUMsd0RBQWdCOztBQUVwQyx5QkFBeUIsbUJBQU8sQ0FBQyxrRkFBNkI7O0FBRTlELHdCQUF3QixtQkFBTyxDQUFDLGdGQUE0Qjs7QUFFNUQsNEJBQTRCLG1CQUFPLENBQUMsd0ZBQWdDOztBQUVwRSxnQkFBZ0IsbUJBQU8sQ0FBQyxtRkFBVzs7QUFFbkMsZ0JBQWdCLG1CQUFPLENBQUMsZ0VBQW9COztBQUU1QyxvQkFBb0IsbUJBQU8sQ0FBQyxxRUFBaUI7O0FBRTdDO0FBQ0EsMEJBQTBCOztBQUUxQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLDJCQUEyQjs7QUFFM0I7QUFDQTtBQUNBOztBQUVBO0FBQ0EsbUVBQW1FLGdFQUFnRTtBQUNuSTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxLQUFLOztBQUVMLEdBQUc7QUFDSDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLG1DQUFtQztBQUNuQztBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlOQUF5TjtBQUN6Tjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTCxrQ0FBa0MsS0FBcUMseURBQXlELFNBQWdCO0FBQ2hKO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBLHlDQUF5QztBQUN6QztBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7O0FBRVQ7O0FBRUE7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBOzs7QUFHQTtBQUNBO0FBQ0EsT0FBTztBQUNQOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0ZBQWtGO0FBQ2xGO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBLHNHQUFzRzs7QUFFdEc7QUFDQTs7QUFFQTtBQUNBLENBQUM7O0FBRUQiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0RyYWZ0RWRpdG9yQmxvY2tOb2RlLnJlYWN0LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIEZhY2Vib29rLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKiBAZm9ybWF0XG4gKiBcbiAqIEBlbWFpbHMgb25jYWxsK2RyYWZ0X2pzXG4gKlxuICogVGhpcyBmaWxlIGlzIGEgZm9yayBvZiBEcmFmdEVkaXRvckJsb2NrLnJlYWN0LmpzIGFuZCBEcmFmdEVkaXRvckNvbnRlbnRzLnJlYWN0LmpzXG4gKlxuICogVGhpcyBpcyB1bnN0YWJsZSBhbmQgbm90IHBhcnQgb2YgdGhlIHB1YmxpYyBBUEkgYW5kIHNob3VsZCBub3QgYmUgdXNlZCBieVxuICogcHJvZHVjdGlvbiBzeXN0ZW1zLiBUaGlzIGZpbGUgbWF5IGJlIHVwZGF0ZS9yZW1vdmVkIHdpdGhvdXQgbm90aWNlLlxuICovXG4ndXNlIHN0cmljdCc7XG5cbnZhciBfYXNzaWduID0gcmVxdWlyZShcIm9iamVjdC1hc3NpZ25cIik7XG5cbmZ1bmN0aW9uIF9leHRlbmRzKCkgeyBfZXh0ZW5kcyA9IF9hc3NpZ24gfHwgZnVuY3Rpb24gKHRhcmdldCkgeyBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykgeyB2YXIgc291cmNlID0gYXJndW1lbnRzW2ldOyBmb3IgKHZhciBrZXkgaW4gc291cmNlKSB7IGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoc291cmNlLCBrZXkpKSB7IHRhcmdldFtrZXldID0gc291cmNlW2tleV07IH0gfSB9IHJldHVybiB0YXJnZXQ7IH07IHJldHVybiBfZXh0ZW5kcy5hcHBseSh0aGlzLCBhcmd1bWVudHMpOyB9XG5cbmZ1bmN0aW9uIF9pbmhlcml0c0xvb3NlKHN1YkNsYXNzLCBzdXBlckNsYXNzKSB7IHN1YkNsYXNzLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoc3VwZXJDbGFzcy5wcm90b3R5cGUpOyBzdWJDbGFzcy5wcm90b3R5cGUuY29uc3RydWN0b3IgPSBzdWJDbGFzczsgc3ViQ2xhc3MuX19wcm90b19fID0gc3VwZXJDbGFzczsgfVxuXG5mdW5jdGlvbiBfb2JqZWN0U3ByZWFkKHRhcmdldCkgeyBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykgeyB2YXIgc291cmNlID0gYXJndW1lbnRzW2ldICE9IG51bGwgPyBhcmd1bWVudHNbaV0gOiB7fTsgdmFyIG93bktleXMgPSBPYmplY3Qua2V5cyhzb3VyY2UpOyBpZiAodHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPT09ICdmdW5jdGlvbicpIHsgb3duS2V5cyA9IG93bktleXMuY29uY2F0KE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoc291cmNlKS5maWx0ZXIoZnVuY3Rpb24gKHN5bSkgeyByZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihzb3VyY2UsIHN5bSkuZW51bWVyYWJsZTsgfSkpOyB9IG93bktleXMuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7IF9kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgc291cmNlW2tleV0pOyB9KTsgfSByZXR1cm4gdGFyZ2V0OyB9XG5cbmZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgdmFsdWUpIHsgaWYgKGtleSBpbiBvYmopIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwga2V5LCB7IHZhbHVlOiB2YWx1ZSwgZW51bWVyYWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCB3cml0YWJsZTogdHJ1ZSB9KTsgfSBlbHNlIHsgb2JqW2tleV0gPSB2YWx1ZTsgfSByZXR1cm4gb2JqOyB9XG5cbnZhciBEcmFmdEVkaXRvck5vZGUgPSByZXF1aXJlKFwiLi9EcmFmdEVkaXRvck5vZGUucmVhY3RcIik7XG5cbnZhciBEcmFmdE9mZnNldEtleSA9IHJlcXVpcmUoXCIuL0RyYWZ0T2Zmc2V0S2V5XCIpO1xuXG52YXIgUmVhY3QgPSByZXF1aXJlKFwicmVhY3RcIik7XG5cbnZhciBSZWFjdERPTSA9IHJlcXVpcmUoXCJyZWFjdC1kb21cIik7XG5cbnZhciBTY3JvbGwgPSByZXF1aXJlKFwiZmJqcy9saWIvU2Nyb2xsXCIpO1xuXG52YXIgU3R5bGUgPSByZXF1aXJlKFwiZmJqcy9saWIvU3R5bGVcIik7XG5cbnZhciBnZXRFbGVtZW50UG9zaXRpb24gPSByZXF1aXJlKFwiZmJqcy9saWIvZ2V0RWxlbWVudFBvc2l0aW9uXCIpO1xuXG52YXIgZ2V0U2Nyb2xsUG9zaXRpb24gPSByZXF1aXJlKFwiZmJqcy9saWIvZ2V0U2Nyb2xsUG9zaXRpb25cIik7XG5cbnZhciBnZXRWaWV3cG9ydERpbWVuc2lvbnMgPSByZXF1aXJlKFwiZmJqcy9saWIvZ2V0Vmlld3BvcnREaW1lbnNpb25zXCIpO1xuXG52YXIgSW1tdXRhYmxlID0gcmVxdWlyZShcImltbXV0YWJsZVwiKTtcblxudmFyIGludmFyaWFudCA9IHJlcXVpcmUoXCJmYmpzL2xpYi9pbnZhcmlhbnRcIik7XG5cbnZhciBpc0hUTUxFbGVtZW50ID0gcmVxdWlyZShcIi4vaXNIVE1MRWxlbWVudFwiKTtcblxudmFyIFNDUk9MTF9CVUZGRVIgPSAxMDtcbnZhciBMaXN0ID0gSW1tdXRhYmxlLkxpc3Q7IC8vIHdlIHNob3VsZCBoYXJkZW4gdXAgdGhlIGJlbGxvdyBmbG93IHR5cGVzIHRvIG1ha2UgdGhlbSBtb3JlIHN0cmljdFxuXG4vKipcbiAqIFJldHVybiB3aGV0aGVyIGEgYmxvY2sgb3ZlcmxhcHMgd2l0aCBlaXRoZXIgZWRnZSBvZiB0aGUgYFNlbGVjdGlvblN0YXRlYC5cbiAqL1xudmFyIGlzQmxvY2tPblNlbGVjdGlvbkVkZ2UgPSBmdW5jdGlvbiBpc0Jsb2NrT25TZWxlY3Rpb25FZGdlKHNlbGVjdGlvbiwga2V5KSB7XG4gIHJldHVybiBzZWxlY3Rpb24uZ2V0QW5jaG9yS2V5KCkgPT09IGtleSB8fCBzZWxlY3Rpb24uZ2V0Rm9jdXNLZXkoKSA9PT0ga2V5O1xufTtcbi8qKlxuICogV2Ugd2lsbCB1c2UgdGhpcyBoZWxwZXIgdG8gaWRlbnRpZnkgYmxvY2tzIHRoYXQgbmVlZCB0byBiZSB3cmFwcGVkIGJ1dCBoYXZlIHNpYmxpbmdzIHRoYXRcbiAqIGFsc28gc2hhcmUgdGhlIHNhbWUgd3JhcHBlciBlbGVtZW50LCB0aGlzIHdheSB3ZSBjYW4gZG8gdGhlIHdyYXBwaW5nIG9uY2UgdGhlIGxhc3Qgc2libGluZ1xuICogaXMgYWRkZWQuXG4gKi9cblxuXG52YXIgc2hvdWxkTm90QWRkV3JhcHBlckVsZW1lbnQgPSBmdW5jdGlvbiBzaG91bGROb3RBZGRXcmFwcGVyRWxlbWVudChibG9jaywgY29udGVudFN0YXRlKSB7XG4gIHZhciBuZXh0U2libGluZ0tleSA9IGJsb2NrLmdldE5leHRTaWJsaW5nS2V5KCk7XG4gIHJldHVybiBuZXh0U2libGluZ0tleSA/IGNvbnRlbnRTdGF0ZS5nZXRCbG9ja0ZvcktleShuZXh0U2libGluZ0tleSkuZ2V0VHlwZSgpID09PSBibG9jay5nZXRUeXBlKCkgOiBmYWxzZTtcbn07XG5cbnZhciBhcHBseVdyYXBwZXJFbGVtZW50VG9TaWJsaW5ncyA9IGZ1bmN0aW9uIGFwcGx5V3JhcHBlckVsZW1lbnRUb1NpYmxpbmdzKHdyYXBwZXJUZW1wbGF0ZSwgRWxlbWVudCwgbm9kZXMpIHtcbiAgdmFyIHdyYXBwZWRTaWJsaW5ncyA9IFtdOyAvLyB3ZSBjaGVjayBiYWNrIHVudGlsIHdlIGZpbmQgYSBzaWJibGluZyB0aGF0IGRvZXMgbm90IGhhdmUgc2FtZSB3cmFwcGVyXG5cbiAgdmFyIF9pdGVyYXRvck5vcm1hbENvbXBsZXRpb24gPSB0cnVlO1xuICB2YXIgX2RpZEl0ZXJhdG9yRXJyb3IgPSBmYWxzZTtcbiAgdmFyIF9pdGVyYXRvckVycm9yID0gdW5kZWZpbmVkO1xuXG4gIHRyeSB7XG4gICAgZm9yICh2YXIgX2l0ZXJhdG9yID0gbm9kZXMucmV2ZXJzZSgpW1N5bWJvbC5pdGVyYXRvcl0oKSwgX3N0ZXA7ICEoX2l0ZXJhdG9yTm9ybWFsQ29tcGxldGlvbiA9IChfc3RlcCA9IF9pdGVyYXRvci5uZXh0KCkpLmRvbmUpOyBfaXRlcmF0b3JOb3JtYWxDb21wbGV0aW9uID0gdHJ1ZSkge1xuICAgICAgdmFyIHNpYmxpbmcgPSBfc3RlcC52YWx1ZTtcblxuICAgICAgaWYgKHNpYmxpbmcudHlwZSAhPT0gRWxlbWVudCkge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgd3JhcHBlZFNpYmxpbmdzLnB1c2goc2libGluZyk7XG4gICAgfSAvLyB3ZSBub3cgc2hvdWxkIHJlbW92ZSBmcm9tIGFjYyB0aGUgd3JhcHBlZFNpYmxpbmdzIGFuZCBhZGQgdGhlbSBiYWNrIHVuZGVyIHNhbWUgd3JhcFxuXG4gIH0gY2F0Y2ggKGVycikge1xuICAgIF9kaWRJdGVyYXRvckVycm9yID0gdHJ1ZTtcbiAgICBfaXRlcmF0b3JFcnJvciA9IGVycjtcbiAgfSBmaW5hbGx5IHtcbiAgICB0cnkge1xuICAgICAgaWYgKCFfaXRlcmF0b3JOb3JtYWxDb21wbGV0aW9uICYmIF9pdGVyYXRvcltcInJldHVyblwiXSAhPSBudWxsKSB7XG4gICAgICAgIF9pdGVyYXRvcltcInJldHVyblwiXSgpO1xuICAgICAgfVxuICAgIH0gZmluYWxseSB7XG4gICAgICBpZiAoX2RpZEl0ZXJhdG9yRXJyb3IpIHtcbiAgICAgICAgdGhyb3cgX2l0ZXJhdG9yRXJyb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbm9kZXMuc3BsaWNlKG5vZGVzLmluZGV4T2Yod3JhcHBlZFNpYmxpbmdzWzBdKSwgd3JhcHBlZFNpYmxpbmdzLmxlbmd0aCArIDEpO1xuICB2YXIgY2hpbGRyZW5JcyA9IHdyYXBwZWRTaWJsaW5ncy5yZXZlcnNlKCk7XG4gIHZhciBrZXkgPSBjaGlsZHJlbklzWzBdLmtleTtcbiAgbm9kZXMucHVzaChSZWFjdC5jbG9uZUVsZW1lbnQod3JhcHBlclRlbXBsYXRlLCB7XG4gICAga2V5OiBcIlwiLmNvbmNhdChrZXksIFwiLXdyYXBcIiksXG4gICAgJ2RhdGEtb2Zmc2V0LWtleSc6IERyYWZ0T2Zmc2V0S2V5LmVuY29kZShrZXksIDAsIDApXG4gIH0sIGNoaWxkcmVuSXMpKTtcbiAgcmV0dXJuIG5vZGVzO1xufTtcblxudmFyIGdldERyYWZ0UmVuZGVyQ29uZmlnID0gZnVuY3Rpb24gZ2V0RHJhZnRSZW5kZXJDb25maWcoYmxvY2ssIGJsb2NrUmVuZGVyTWFwKSB7XG4gIHZhciBjb25maWdGb3JUeXBlID0gYmxvY2tSZW5kZXJNYXAuZ2V0KGJsb2NrLmdldFR5cGUoKSkgfHwgYmxvY2tSZW5kZXJNYXAuZ2V0KCd1bnN0eWxlZCcpO1xuICB2YXIgd3JhcHBlclRlbXBsYXRlID0gY29uZmlnRm9yVHlwZS53cmFwcGVyO1xuICB2YXIgRWxlbWVudCA9IGNvbmZpZ0ZvclR5cGUuZWxlbWVudCB8fCBibG9ja1JlbmRlck1hcC5nZXQoJ3Vuc3R5bGVkJykuZWxlbWVudDtcbiAgcmV0dXJuIHtcbiAgICBFbGVtZW50OiBFbGVtZW50LFxuICAgIHdyYXBwZXJUZW1wbGF0ZTogd3JhcHBlclRlbXBsYXRlXG4gIH07XG59O1xuXG52YXIgZ2V0Q3VzdG9tUmVuZGVyQ29uZmlnID0gZnVuY3Rpb24gZ2V0Q3VzdG9tUmVuZGVyQ29uZmlnKGJsb2NrLCBibG9ja1JlbmRlcmVyRm4pIHtcbiAgdmFyIGN1c3RvbVJlbmRlcmVyID0gYmxvY2tSZW5kZXJlckZuKGJsb2NrKTtcblxuICBpZiAoIWN1c3RvbVJlbmRlcmVyKSB7XG4gICAgcmV0dXJuIHt9O1xuICB9XG5cbiAgdmFyIEN1c3RvbUNvbXBvbmVudCA9IGN1c3RvbVJlbmRlcmVyLmNvbXBvbmVudCxcbiAgICAgIGN1c3RvbVByb3BzID0gY3VzdG9tUmVuZGVyZXIucHJvcHMsXG4gICAgICBjdXN0b21FZGl0YWJsZSA9IGN1c3RvbVJlbmRlcmVyLmVkaXRhYmxlO1xuICByZXR1cm4ge1xuICAgIEN1c3RvbUNvbXBvbmVudDogQ3VzdG9tQ29tcG9uZW50LFxuICAgIGN1c3RvbVByb3BzOiBjdXN0b21Qcm9wcyxcbiAgICBjdXN0b21FZGl0YWJsZTogY3VzdG9tRWRpdGFibGVcbiAgfTtcbn07XG5cbnZhciBnZXRFbGVtZW50UHJvcHNDb25maWcgPSBmdW5jdGlvbiBnZXRFbGVtZW50UHJvcHNDb25maWcoYmxvY2ssIGVkaXRvcktleSwgb2Zmc2V0S2V5LCBibG9ja1N0eWxlRm4sIGN1c3RvbUNvbmZpZykge1xuICB2YXIgZWxlbWVudFByb3BzID0ge1xuICAgICdkYXRhLWJsb2NrJzogdHJ1ZSxcbiAgICAnZGF0YS1lZGl0b3InOiBlZGl0b3JLZXksXG4gICAgJ2RhdGEtb2Zmc2V0LWtleSc6IG9mZnNldEtleSxcbiAgICBrZXk6IGJsb2NrLmdldEtleSgpXG4gIH07XG4gIHZhciBjdXN0b21DbGFzcyA9IGJsb2NrU3R5bGVGbihibG9jayk7XG5cbiAgaWYgKGN1c3RvbUNsYXNzKSB7XG4gICAgZWxlbWVudFByb3BzLmNsYXNzTmFtZSA9IGN1c3RvbUNsYXNzO1xuICB9XG5cbiAgaWYgKGN1c3RvbUNvbmZpZy5jdXN0b21FZGl0YWJsZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgZWxlbWVudFByb3BzID0gX29iamVjdFNwcmVhZCh7fSwgZWxlbWVudFByb3BzLCB7XG4gICAgICBjb250ZW50RWRpdGFibGU6IGN1c3RvbUNvbmZpZy5jdXN0b21FZGl0YWJsZSxcbiAgICAgIHN1cHByZXNzQ29udGVudEVkaXRhYmxlV2FybmluZzogdHJ1ZVxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIGVsZW1lbnRQcm9wcztcbn07XG5cbnZhciBEcmFmdEVkaXRvckJsb2NrTm9kZSA9XG4vKiNfX1BVUkVfXyovXG5mdW5jdGlvbiAoX1JlYWN0JENvbXBvbmVudCkge1xuICBfaW5oZXJpdHNMb29zZShEcmFmdEVkaXRvckJsb2NrTm9kZSwgX1JlYWN0JENvbXBvbmVudCk7XG5cbiAgZnVuY3Rpb24gRHJhZnRFZGl0b3JCbG9ja05vZGUoKSB7XG4gICAgcmV0dXJuIF9SZWFjdCRDb21wb25lbnQuYXBwbHkodGhpcywgYXJndW1lbnRzKSB8fCB0aGlzO1xuICB9XG5cbiAgdmFyIF9wcm90byA9IERyYWZ0RWRpdG9yQmxvY2tOb2RlLnByb3RvdHlwZTtcblxuICBfcHJvdG8uc2hvdWxkQ29tcG9uZW50VXBkYXRlID0gZnVuY3Rpb24gc2hvdWxkQ29tcG9uZW50VXBkYXRlKG5leHRQcm9wcykge1xuICAgIHZhciBfdGhpcyRwcm9wcyA9IHRoaXMucHJvcHMsXG4gICAgICAgIGJsb2NrID0gX3RoaXMkcHJvcHMuYmxvY2ssXG4gICAgICAgIGRpcmVjdGlvbiA9IF90aGlzJHByb3BzLmRpcmVjdGlvbixcbiAgICAgICAgdHJlZSA9IF90aGlzJHByb3BzLnRyZWU7XG4gICAgdmFyIGlzQ29udGFpbmVyTm9kZSA9ICFibG9jay5nZXRDaGlsZEtleXMoKS5pc0VtcHR5KCk7XG4gICAgdmFyIGJsb2NrSGFzQ2hhbmdlZCA9IGJsb2NrICE9PSBuZXh0UHJvcHMuYmxvY2sgfHwgdHJlZSAhPT0gbmV4dFByb3BzLnRyZWUgfHwgZGlyZWN0aW9uICE9PSBuZXh0UHJvcHMuZGlyZWN0aW9uIHx8IGlzQmxvY2tPblNlbGVjdGlvbkVkZ2UobmV4dFByb3BzLnNlbGVjdGlvbiwgbmV4dFByb3BzLmJsb2NrLmdldEtleSgpKSAmJiBuZXh0UHJvcHMuZm9yY2VTZWxlY3Rpb247IC8vIGlmIHdlIGhhdmUgY2hpbGRyZW4gYXQgdGhpcyBzdGFnZSB3ZSBhbHdheXMgcmUtcmVuZGVyIGNvbnRhaW5lciBub2Rlc1xuICAgIC8vIGVsc2UgaWYgaXRzIGEgcm9vdCBub2RlIHdlIGF2b2lkIHJlLXJlbmRlcmluZyBieSBjaGVja2luZyBmb3IgYmxvY2sgdXBkYXRlc1xuXG4gICAgcmV0dXJuIGlzQ29udGFpbmVyTm9kZSB8fCBibG9ja0hhc0NoYW5nZWQ7XG4gIH1cbiAgLyoqXG4gICAqIFdoZW4gYSBibG9jayBpcyBtb3VudGVkIGFuZCBvdmVybGFwcyB0aGUgc2VsZWN0aW9uIHN0YXRlLCB3ZSBuZWVkIHRvIG1ha2VcbiAgICogc3VyZSB0aGF0IHRoZSBjdXJzb3IgaXMgdmlzaWJsZSB0byBtYXRjaCBuYXRpdmUgYmVoYXZpb3IuIFRoaXMgbWF5IG5vdFxuICAgKiBiZSB0aGUgY2FzZSBpZiB0aGUgdXNlciBoYXMgcHJlc3NlZCBgUkVUVVJOYCBvciBwYXN0ZWQgc29tZSBjb250ZW50LCBzaW5jZVxuICAgKiBwcm9ncmFtYXRpY2FsbHkgY3JlYXRpbmcgdGhlc2UgbmV3IGJsb2NrcyBhbmQgc2V0dGluZyB0aGUgRE9NIHNlbGVjdGlvblxuICAgKiB3aWxsIG1pc3Mgb3V0IG9uIHRoZSBicm93c2VyIG5hdGl2ZWx5IHNjcm9sbGluZyB0byB0aGF0IHBvc2l0aW9uLlxuICAgKlxuICAgKiBUbyByZXBsaWNhdGUgbmF0aXZlIGJlaGF2aW9yLCBpZiB0aGUgYmxvY2sgb3ZlcmxhcHMgdGhlIHNlbGVjdGlvbiBzdGF0ZVxuICAgKiBvbiBtb3VudCwgZm9yY2UgdGhlIHNjcm9sbCBwb3NpdGlvbi4gQ2hlY2sgdGhlIHNjcm9sbCBzdGF0ZSBvZiB0aGUgc2Nyb2xsXG4gICAqIHBhcmVudCwgYW5kIGFkanVzdCBpdCB0byBhbGlnbiB0aGUgZW50aXJlIGJsb2NrIHRvIHRoZSBib3R0b20gb2YgdGhlXG4gICAqIHNjcm9sbCBwYXJlbnQuXG4gICAqL1xuICA7XG5cbiAgX3Byb3RvLmNvbXBvbmVudERpZE1vdW50ID0gZnVuY3Rpb24gY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgdmFyIHNlbGVjdGlvbiA9IHRoaXMucHJvcHMuc2VsZWN0aW9uO1xuICAgIHZhciBlbmRLZXkgPSBzZWxlY3Rpb24uZ2V0RW5kS2V5KCk7XG5cbiAgICBpZiAoIXNlbGVjdGlvbi5nZXRIYXNGb2N1cygpIHx8IGVuZEtleSAhPT0gdGhpcy5wcm9wcy5ibG9jay5nZXRLZXkoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHZhciBibG9ja05vZGUgPSBSZWFjdERPTS5maW5kRE9NTm9kZSh0aGlzKTtcbiAgICB2YXIgc2Nyb2xsUGFyZW50ID0gU3R5bGUuZ2V0U2Nyb2xsUGFyZW50KGJsb2NrTm9kZSk7XG4gICAgdmFyIHNjcm9sbFBvc2l0aW9uID0gZ2V0U2Nyb2xsUG9zaXRpb24oc2Nyb2xsUGFyZW50KTtcbiAgICB2YXIgc2Nyb2xsRGVsdGE7XG5cbiAgICBpZiAoc2Nyb2xsUGFyZW50ID09PSB3aW5kb3cpIHtcbiAgICAgIHZhciBub2RlUG9zaXRpb24gPSBnZXRFbGVtZW50UG9zaXRpb24oYmxvY2tOb2RlKTtcbiAgICAgIHZhciBub2RlQm90dG9tID0gbm9kZVBvc2l0aW9uLnkgKyBub2RlUG9zaXRpb24uaGVpZ2h0O1xuICAgICAgdmFyIHZpZXdwb3J0SGVpZ2h0ID0gZ2V0Vmlld3BvcnREaW1lbnNpb25zKCkuaGVpZ2h0O1xuICAgICAgc2Nyb2xsRGVsdGEgPSBub2RlQm90dG9tIC0gdmlld3BvcnRIZWlnaHQ7XG5cbiAgICAgIGlmIChzY3JvbGxEZWx0YSA+IDApIHtcbiAgICAgICAgd2luZG93LnNjcm9sbFRvKHNjcm9sbFBvc2l0aW9uLngsIHNjcm9sbFBvc2l0aW9uLnkgKyBzY3JvbGxEZWx0YSArIFNDUk9MTF9CVUZGRVIpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAhaXNIVE1MRWxlbWVudChibG9ja05vZGUpID8gcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiID8gaW52YXJpYW50KGZhbHNlLCAnYmxvY2tOb2RlIGlzIG5vdCBhbiBIVE1MRWxlbWVudCcpIDogaW52YXJpYW50KGZhbHNlKSA6IHZvaWQgMDtcbiAgICAgIHZhciBodG1sQmxvY2tOb2RlID0gYmxvY2tOb2RlO1xuICAgICAgdmFyIGJsb2NrQm90dG9tID0gaHRtbEJsb2NrTm9kZS5vZmZzZXRIZWlnaHQgKyBodG1sQmxvY2tOb2RlLm9mZnNldFRvcDtcbiAgICAgIHZhciBzY3JvbGxCb3R0b20gPSBzY3JvbGxQYXJlbnQub2Zmc2V0SGVpZ2h0ICsgc2Nyb2xsUG9zaXRpb24ueTtcbiAgICAgIHNjcm9sbERlbHRhID0gYmxvY2tCb3R0b20gLSBzY3JvbGxCb3R0b207XG5cbiAgICAgIGlmIChzY3JvbGxEZWx0YSA+IDApIHtcbiAgICAgICAgU2Nyb2xsLnNldFRvcChzY3JvbGxQYXJlbnQsIFNjcm9sbC5nZXRUb3Aoc2Nyb2xsUGFyZW50KSArIHNjcm9sbERlbHRhICsgU0NST0xMX0JVRkZFUik7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIF9wcm90by5yZW5kZXIgPSBmdW5jdGlvbiByZW5kZXIoKSB7XG4gICAgdmFyIF90aGlzID0gdGhpcztcblxuICAgIHZhciBfdGhpcyRwcm9wczIgPSB0aGlzLnByb3BzLFxuICAgICAgICBibG9jayA9IF90aGlzJHByb3BzMi5ibG9jayxcbiAgICAgICAgYmxvY2tSZW5kZXJNYXAgPSBfdGhpcyRwcm9wczIuYmxvY2tSZW5kZXJNYXAsXG4gICAgICAgIGJsb2NrUmVuZGVyZXJGbiA9IF90aGlzJHByb3BzMi5ibG9ja1JlbmRlcmVyRm4sXG4gICAgICAgIGJsb2NrU3R5bGVGbiA9IF90aGlzJHByb3BzMi5ibG9ja1N0eWxlRm4sXG4gICAgICAgIGNvbnRlbnRTdGF0ZSA9IF90aGlzJHByb3BzMi5jb250ZW50U3RhdGUsXG4gICAgICAgIGRlY29yYXRvciA9IF90aGlzJHByb3BzMi5kZWNvcmF0b3IsXG4gICAgICAgIGVkaXRvcktleSA9IF90aGlzJHByb3BzMi5lZGl0b3JLZXksXG4gICAgICAgIGVkaXRvclN0YXRlID0gX3RoaXMkcHJvcHMyLmVkaXRvclN0YXRlLFxuICAgICAgICBjdXN0b21TdHlsZUZuID0gX3RoaXMkcHJvcHMyLmN1c3RvbVN0eWxlRm4sXG4gICAgICAgIGN1c3RvbVN0eWxlTWFwID0gX3RoaXMkcHJvcHMyLmN1c3RvbVN0eWxlTWFwLFxuICAgICAgICBkaXJlY3Rpb24gPSBfdGhpcyRwcm9wczIuZGlyZWN0aW9uLFxuICAgICAgICBmb3JjZVNlbGVjdGlvbiA9IF90aGlzJHByb3BzMi5mb3JjZVNlbGVjdGlvbixcbiAgICAgICAgc2VsZWN0aW9uID0gX3RoaXMkcHJvcHMyLnNlbGVjdGlvbixcbiAgICAgICAgdHJlZSA9IF90aGlzJHByb3BzMi50cmVlO1xuICAgIHZhciBjaGlsZHJlbiA9IG51bGw7XG5cbiAgICBpZiAoYmxvY2suY2hpbGRyZW4uc2l6ZSkge1xuICAgICAgY2hpbGRyZW4gPSBibG9jay5jaGlsZHJlbi5yZWR1Y2UoZnVuY3Rpb24gKGFjYywga2V5KSB7XG4gICAgICAgIHZhciBvZmZzZXRLZXkgPSBEcmFmdE9mZnNldEtleS5lbmNvZGUoa2V5LCAwLCAwKTtcbiAgICAgICAgdmFyIGNoaWxkID0gY29udGVudFN0YXRlLmdldEJsb2NrRm9yS2V5KGtleSk7XG4gICAgICAgIHZhciBjdXN0b21Db25maWcgPSBnZXRDdXN0b21SZW5kZXJDb25maWcoY2hpbGQsIGJsb2NrUmVuZGVyZXJGbik7XG4gICAgICAgIHZhciBDb21wb25lbnQgPSBjdXN0b21Db25maWcuQ3VzdG9tQ29tcG9uZW50IHx8IERyYWZ0RWRpdG9yQmxvY2tOb2RlO1xuXG4gICAgICAgIHZhciBfZ2V0RHJhZnRSZW5kZXJDb25maWcgPSBnZXREcmFmdFJlbmRlckNvbmZpZyhjaGlsZCwgYmxvY2tSZW5kZXJNYXApLFxuICAgICAgICAgICAgRWxlbWVudCA9IF9nZXREcmFmdFJlbmRlckNvbmZpZy5FbGVtZW50LFxuICAgICAgICAgICAgd3JhcHBlclRlbXBsYXRlID0gX2dldERyYWZ0UmVuZGVyQ29uZmlnLndyYXBwZXJUZW1wbGF0ZTtcblxuICAgICAgICB2YXIgZWxlbWVudFByb3BzID0gZ2V0RWxlbWVudFByb3BzQ29uZmlnKGNoaWxkLCBlZGl0b3JLZXksIG9mZnNldEtleSwgYmxvY2tTdHlsZUZuLCBjdXN0b21Db25maWcpO1xuXG4gICAgICAgIHZhciBjaGlsZFByb3BzID0gX29iamVjdFNwcmVhZCh7fSwgX3RoaXMucHJvcHMsIHtcbiAgICAgICAgICB0cmVlOiBlZGl0b3JTdGF0ZS5nZXRCbG9ja1RyZWUoa2V5KSxcbiAgICAgICAgICBibG9ja1Byb3BzOiBjdXN0b21Db25maWcuY3VzdG9tUHJvcHMsXG4gICAgICAgICAgb2Zmc2V0S2V5OiBvZmZzZXRLZXksXG4gICAgICAgICAgYmxvY2s6IGNoaWxkXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGFjYy5wdXNoKFJlYWN0LmNyZWF0ZUVsZW1lbnQoRWxlbWVudCwgZWxlbWVudFByb3BzLCBSZWFjdC5jcmVhdGVFbGVtZW50KENvbXBvbmVudCwgY2hpbGRQcm9wcykpKTtcblxuICAgICAgICBpZiAoIXdyYXBwZXJUZW1wbGF0ZSB8fCBzaG91bGROb3RBZGRXcmFwcGVyRWxlbWVudChjaGlsZCwgY29udGVudFN0YXRlKSkge1xuICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgIH0gLy8gaWYgd2UgYXJlIGhlcmUgaXQgbWVhbnMgd2UgYXJlIHRoZSBsYXN0IGJsb2NrXG4gICAgICAgIC8vIHRoYXQgaGFzIGEgd3JhcHBlclRlbXBsYXRlIHNvIHdlIHNob3VsZCB3cmFwIGl0c2VsZlxuICAgICAgICAvLyBhbmQgYWxsIG90aGVyIHByZXZpb3VzIHNpYmxpbmdzIHRoYXQgc2hhcmUgdGhlIHNhbWUgd3JhcHBlclxuXG5cbiAgICAgICAgYXBwbHlXcmFwcGVyRWxlbWVudFRvU2libGluZ3Mod3JhcHBlclRlbXBsYXRlLCBFbGVtZW50LCBhY2MpO1xuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfSwgW10pO1xuICAgIH1cblxuICAgIHZhciBibG9ja0tleSA9IGJsb2NrLmdldEtleSgpO1xuICAgIHZhciBvZmZzZXRLZXkgPSBEcmFmdE9mZnNldEtleS5lbmNvZGUoYmxvY2tLZXksIDAsIDApO1xuICAgIHZhciBjdXN0b21Db25maWcgPSBnZXRDdXN0b21SZW5kZXJDb25maWcoYmxvY2ssIGJsb2NrUmVuZGVyZXJGbik7XG4gICAgdmFyIENvbXBvbmVudCA9IGN1c3RvbUNvbmZpZy5DdXN0b21Db21wb25lbnQ7XG4gICAgdmFyIGJsb2NrTm9kZSA9IENvbXBvbmVudCAhPSBudWxsID8gUmVhY3QuY3JlYXRlRWxlbWVudChDb21wb25lbnQsIF9leHRlbmRzKHt9LCB0aGlzLnByb3BzLCB7XG4gICAgICB0cmVlOiBlZGl0b3JTdGF0ZS5nZXRCbG9ja1RyZWUoYmxvY2tLZXkpLFxuICAgICAgYmxvY2tQcm9wczogY3VzdG9tQ29uZmlnLmN1c3RvbVByb3BzLFxuICAgICAgb2Zmc2V0S2V5OiBvZmZzZXRLZXksXG4gICAgICBibG9jazogYmxvY2tcbiAgICB9KSkgOiBSZWFjdC5jcmVhdGVFbGVtZW50KERyYWZ0RWRpdG9yTm9kZSwge1xuICAgICAgYmxvY2s6IGJsb2NrLFxuICAgICAgY2hpbGRyZW46IGNoaWxkcmVuLFxuICAgICAgY29udGVudFN0YXRlOiBjb250ZW50U3RhdGUsXG4gICAgICBjdXN0b21TdHlsZUZuOiBjdXN0b21TdHlsZUZuLFxuICAgICAgY3VzdG9tU3R5bGVNYXA6IGN1c3RvbVN0eWxlTWFwLFxuICAgICAgZGVjb3JhdG9yOiBkZWNvcmF0b3IsXG4gICAgICBkaXJlY3Rpb246IGRpcmVjdGlvbixcbiAgICAgIGZvcmNlU2VsZWN0aW9uOiBmb3JjZVNlbGVjdGlvbixcbiAgICAgIGhhc1NlbGVjdGlvbjogaXNCbG9ja09uU2VsZWN0aW9uRWRnZShzZWxlY3Rpb24sIGJsb2NrS2V5KSxcbiAgICAgIHNlbGVjdGlvbjogc2VsZWN0aW9uLFxuICAgICAgdHJlZTogdHJlZVxuICAgIH0pO1xuXG4gICAgaWYgKGJsb2NrLmdldFBhcmVudEtleSgpKSB7XG4gICAgICByZXR1cm4gYmxvY2tOb2RlO1xuICAgIH1cblxuICAgIHZhciBfZ2V0RHJhZnRSZW5kZXJDb25maWcyID0gZ2V0RHJhZnRSZW5kZXJDb25maWcoYmxvY2ssIGJsb2NrUmVuZGVyTWFwKSxcbiAgICAgICAgRWxlbWVudCA9IF9nZXREcmFmdFJlbmRlckNvbmZpZzIuRWxlbWVudDtcblxuICAgIHZhciBlbGVtZW50UHJvcHMgPSBnZXRFbGVtZW50UHJvcHNDb25maWcoYmxvY2ssIGVkaXRvcktleSwgb2Zmc2V0S2V5LCBibG9ja1N0eWxlRm4sIGN1c3RvbUNvbmZpZyk7IC8vIHJvb3QgYmxvY2sgbm9kZXMgbmVlZHMgdG8gYmUgd3JhcHBlZFxuXG4gICAgcmV0dXJuIFJlYWN0LmNyZWF0ZUVsZW1lbnQoRWxlbWVudCwgZWxlbWVudFByb3BzLCBibG9ja05vZGUpO1xuICB9O1xuXG4gIHJldHVybiBEcmFmdEVkaXRvckJsb2NrTm9kZTtcbn0oUmVhY3QuQ29tcG9uZW50KTtcblxubW9kdWxlLmV4cG9ydHMgPSBEcmFmdEVkaXRvckJsb2NrTm9kZTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/DraftEditorBlockNode.react.js\n"); /***/ }), @@ -187,7 +222,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule DraftEditorCompositionHandler\n * @format\n * \n */\n\n\n\nvar DraftFeatureFlags = __webpack_require__(/*! ./DraftFeatureFlags */ \"./node_modules/draft-js/lib/DraftFeatureFlags.js\");\nvar DraftModifier = __webpack_require__(/*! ./DraftModifier */ \"./node_modules/draft-js/lib/DraftModifier.js\");\nvar EditorState = __webpack_require__(/*! ./EditorState */ \"./node_modules/draft-js/lib/EditorState.js\");\nvar Keys = __webpack_require__(/*! fbjs/lib/Keys */ \"./node_modules/fbjs/lib/Keys.js\");\n\nvar getEntityKeyForSelection = __webpack_require__(/*! ./getEntityKeyForSelection */ \"./node_modules/draft-js/lib/getEntityKeyForSelection.js\");\nvar isEventHandled = __webpack_require__(/*! ./isEventHandled */ \"./node_modules/draft-js/lib/isEventHandled.js\");\nvar isSelectionAtLeafStart = __webpack_require__(/*! ./isSelectionAtLeafStart */ \"./node_modules/draft-js/lib/isSelectionAtLeafStart.js\");\n\n/**\n * Millisecond delay to allow `compositionstart` to fire again upon\n * `compositionend`.\n *\n * This is used for Korean input to ensure that typing can continue without\n * the editor trying to render too quickly. More specifically, Safari 7.1+\n * triggers `compositionstart` a little slower than Chrome/FF, which\n * leads to composed characters being resolved and re-render occurring\n * sooner than we want.\n */\nvar RESOLVE_DELAY = 20;\n\n/**\n * A handful of variables used to track the current composition and its\n * resolution status. These exist at the module level because it is not\n * possible to have compositions occurring in multiple editors simultaneously,\n * and it simplifies state management with respect to the DraftEditor component.\n */\nvar resolved = false;\nvar stillComposing = false;\nvar textInputData = '';\n\nvar DraftEditorCompositionHandler = {\n onBeforeInput: function onBeforeInput(editor, e) {\n textInputData = (textInputData || '') + e.data;\n },\n\n /**\n * A `compositionstart` event has fired while we're still in composition\n * mode. Continue the current composition session to prevent a re-render.\n */\n onCompositionStart: function onCompositionStart(editor) {\n stillComposing = true;\n },\n\n /**\n * Attempt to end the current composition session.\n *\n * Defer handling because browser will still insert the chars into active\n * element after `compositionend`. If a `compositionstart` event fires\n * before `resolveComposition` executes, our composition session will\n * continue.\n *\n * The `resolved` flag is useful because certain IME interfaces fire the\n * `compositionend` event multiple times, thus queueing up multiple attempts\n * at handling the composition. Since handling the same composition event\n * twice could break the DOM, we only use the first event. Example: Arabic\n * Google Input Tools on Windows 8.1 fires `compositionend` three times.\n */\n onCompositionEnd: function onCompositionEnd(editor) {\n resolved = false;\n stillComposing = false;\n setTimeout(function () {\n if (!resolved) {\n DraftEditorCompositionHandler.resolveComposition(editor);\n }\n }, RESOLVE_DELAY);\n },\n\n /**\n * In Safari, keydown events may fire when committing compositions. If\n * the arrow keys are used to commit, prevent default so that the cursor\n * doesn't move, otherwise it will jump back noticeably on re-render.\n */\n onKeyDown: function onKeyDown(editor, e) {\n if (!stillComposing) {\n // If a keydown event is received after compositionend but before the\n // 20ms timer expires (ex: type option-E then backspace, or type A then\n // backspace in 2-Set Korean), we should immediately resolve the\n // composition and reinterpret the key press in edit mode.\n DraftEditorCompositionHandler.resolveComposition(editor);\n editor._onKeyDown(e);\n return;\n }\n if (e.which === Keys.RIGHT || e.which === Keys.LEFT) {\n e.preventDefault();\n }\n },\n\n /**\n * Keypress events may fire when committing compositions. In Firefox,\n * pressing RETURN commits the composition and inserts extra newline\n * characters that we do not want. `preventDefault` allows the composition\n * to be committed while preventing the extra characters.\n */\n onKeyPress: function onKeyPress(editor, e) {\n if (e.which === Keys.RETURN) {\n e.preventDefault();\n }\n },\n\n /**\n * Attempt to insert composed characters into the document.\n *\n * If we are still in a composition session, do nothing. Otherwise, insert\n * the characters into the document and terminate the composition session.\n *\n * If no characters were composed -- for instance, the user\n * deleted all composed characters and committed nothing new --\n * force a re-render. We also re-render when the composition occurs\n * at the beginning of a leaf, to ensure that if the browser has\n * created a new text node for the composition, we will discard it.\n *\n * Resetting innerHTML will move focus to the beginning of the editor,\n * so we update to force it back to the correct place.\n */\n resolveComposition: function resolveComposition(editor) {\n if (stillComposing) {\n return;\n }\n\n resolved = true;\n var composedChars = textInputData;\n textInputData = '';\n\n var editorState = EditorState.set(editor._latestEditorState, {\n inCompositionMode: false\n });\n\n var currentStyle = editorState.getCurrentInlineStyle();\n var entityKey = getEntityKeyForSelection(editorState.getCurrentContent(), editorState.getSelection());\n\n var mustReset = !composedChars || isSelectionAtLeafStart(editorState) || currentStyle.size > 0 || entityKey !== null;\n\n if (mustReset) {\n editor.restoreEditorDOM();\n }\n\n editor.exitCurrentMode();\n\n if (composedChars) {\n if (DraftFeatureFlags.draft_handlebeforeinput_composed_text && editor.props.handleBeforeInput && isEventHandled(editor.props.handleBeforeInput(composedChars, editorState))) {\n return;\n }\n // If characters have been composed, re-rendering with the update\n // is sufficient to reset the editor.\n var contentState = DraftModifier.replaceText(editorState.getCurrentContent(), editorState.getSelection(), composedChars, currentStyle, entityKey);\n editor.update(EditorState.push(editorState, contentState, 'insert-characters'));\n return;\n }\n\n if (mustReset) {\n editor.update(EditorState.set(editorState, {\n nativelyRenderedContent: null,\n forceSelection: true\n }));\n }\n }\n};\n\nmodule.exports = DraftEditorCompositionHandler;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0RyYWZ0RWRpdG9yQ29tcG9zaXRpb25IYW5kbGVyLmpzPzhlNWQiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVhOztBQUViLHdCQUF3QixtQkFBTyxDQUFDLDZFQUFxQjtBQUNyRCxvQkFBb0IsbUJBQU8sQ0FBQyxxRUFBaUI7QUFDN0Msa0JBQWtCLG1CQUFPLENBQUMsaUVBQWU7QUFDekMsV0FBVyxtQkFBTyxDQUFDLHNEQUFlOztBQUVsQywrQkFBK0IsbUJBQU8sQ0FBQywyRkFBNEI7QUFDbkUscUJBQXFCLG1CQUFPLENBQUMsdUVBQWtCO0FBQy9DLDZCQUE2QixtQkFBTyxDQUFDLHVGQUEwQjs7QUFFL0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTCxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7O0FBRUEiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0RyYWZ0RWRpdG9yQ29tcG9zaXRpb25IYW5kbGVyLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQlNELXN0eWxlIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuIEFuIGFkZGl0aW9uYWwgZ3JhbnRcbiAqIG9mIHBhdGVudCByaWdodHMgY2FuIGJlIGZvdW5kIGluIHRoZSBQQVRFTlRTIGZpbGUgaW4gdGhlIHNhbWUgZGlyZWN0b3J5LlxuICpcbiAqIEBwcm92aWRlc01vZHVsZSBEcmFmdEVkaXRvckNvbXBvc2l0aW9uSGFuZGxlclxuICogQGZvcm1hdFxuICogXG4gKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG52YXIgRHJhZnRGZWF0dXJlRmxhZ3MgPSByZXF1aXJlKCcuL0RyYWZ0RmVhdHVyZUZsYWdzJyk7XG52YXIgRHJhZnRNb2RpZmllciA9IHJlcXVpcmUoJy4vRHJhZnRNb2RpZmllcicpO1xudmFyIEVkaXRvclN0YXRlID0gcmVxdWlyZSgnLi9FZGl0b3JTdGF0ZScpO1xudmFyIEtleXMgPSByZXF1aXJlKCdmYmpzL2xpYi9LZXlzJyk7XG5cbnZhciBnZXRFbnRpdHlLZXlGb3JTZWxlY3Rpb24gPSByZXF1aXJlKCcuL2dldEVudGl0eUtleUZvclNlbGVjdGlvbicpO1xudmFyIGlzRXZlbnRIYW5kbGVkID0gcmVxdWlyZSgnLi9pc0V2ZW50SGFuZGxlZCcpO1xudmFyIGlzU2VsZWN0aW9uQXRMZWFmU3RhcnQgPSByZXF1aXJlKCcuL2lzU2VsZWN0aW9uQXRMZWFmU3RhcnQnKTtcblxuLyoqXG4gKiBNaWxsaXNlY29uZCBkZWxheSB0byBhbGxvdyBgY29tcG9zaXRpb25zdGFydGAgdG8gZmlyZSBhZ2FpbiB1cG9uXG4gKiBgY29tcG9zaXRpb25lbmRgLlxuICpcbiAqIFRoaXMgaXMgdXNlZCBmb3IgS29yZWFuIGlucHV0IHRvIGVuc3VyZSB0aGF0IHR5cGluZyBjYW4gY29udGludWUgd2l0aG91dFxuICogdGhlIGVkaXRvciB0cnlpbmcgdG8gcmVuZGVyIHRvbyBxdWlja2x5LiBNb3JlIHNwZWNpZmljYWxseSwgU2FmYXJpIDcuMStcbiAqIHRyaWdnZXJzIGBjb21wb3NpdGlvbnN0YXJ0YCBhIGxpdHRsZSBzbG93ZXIgdGhhbiBDaHJvbWUvRkYsIHdoaWNoXG4gKiBsZWFkcyB0byBjb21wb3NlZCBjaGFyYWN0ZXJzIGJlaW5nIHJlc29sdmVkIGFuZCByZS1yZW5kZXIgb2NjdXJyaW5nXG4gKiBzb29uZXIgdGhhbiB3ZSB3YW50LlxuICovXG52YXIgUkVTT0xWRV9ERUxBWSA9IDIwO1xuXG4vKipcbiAqIEEgaGFuZGZ1bCBvZiB2YXJpYWJsZXMgdXNlZCB0byB0cmFjayB0aGUgY3VycmVudCBjb21wb3NpdGlvbiBhbmQgaXRzXG4gKiByZXNvbHV0aW9uIHN0YXR1cy4gVGhlc2UgZXhpc3QgYXQgdGhlIG1vZHVsZSBsZXZlbCBiZWNhdXNlIGl0IGlzIG5vdFxuICogcG9zc2libGUgdG8gaGF2ZSBjb21wb3NpdGlvbnMgb2NjdXJyaW5nIGluIG11bHRpcGxlIGVkaXRvcnMgc2ltdWx0YW5lb3VzbHksXG4gKiBhbmQgaXQgc2ltcGxpZmllcyBzdGF0ZSBtYW5hZ2VtZW50IHdpdGggcmVzcGVjdCB0byB0aGUgRHJhZnRFZGl0b3IgY29tcG9uZW50LlxuICovXG52YXIgcmVzb2x2ZWQgPSBmYWxzZTtcbnZhciBzdGlsbENvbXBvc2luZyA9IGZhbHNlO1xudmFyIHRleHRJbnB1dERhdGEgPSAnJztcblxudmFyIERyYWZ0RWRpdG9yQ29tcG9zaXRpb25IYW5kbGVyID0ge1xuICBvbkJlZm9yZUlucHV0OiBmdW5jdGlvbiBvbkJlZm9yZUlucHV0KGVkaXRvciwgZSkge1xuICAgIHRleHRJbnB1dERhdGEgPSAodGV4dElucHV0RGF0YSB8fCAnJykgKyBlLmRhdGE7XG4gIH0sXG5cbiAgLyoqXG4gICAqIEEgYGNvbXBvc2l0aW9uc3RhcnRgIGV2ZW50IGhhcyBmaXJlZCB3aGlsZSB3ZSdyZSBzdGlsbCBpbiBjb21wb3NpdGlvblxuICAgKiBtb2RlLiBDb250aW51ZSB0aGUgY3VycmVudCBjb21wb3NpdGlvbiBzZXNzaW9uIHRvIHByZXZlbnQgYSByZS1yZW5kZXIuXG4gICAqL1xuICBvbkNvbXBvc2l0aW9uU3RhcnQ6IGZ1bmN0aW9uIG9uQ29tcG9zaXRpb25TdGFydChlZGl0b3IpIHtcbiAgICBzdGlsbENvbXBvc2luZyA9IHRydWU7XG4gIH0sXG5cbiAgLyoqXG4gICAqIEF0dGVtcHQgdG8gZW5kIHRoZSBjdXJyZW50IGNvbXBvc2l0aW9uIHNlc3Npb24uXG4gICAqXG4gICAqIERlZmVyIGhhbmRsaW5nIGJlY2F1c2UgYnJvd3NlciB3aWxsIHN0aWxsIGluc2VydCB0aGUgY2hhcnMgaW50byBhY3RpdmVcbiAgICogZWxlbWVudCBhZnRlciBgY29tcG9zaXRpb25lbmRgLiBJZiBhIGBjb21wb3NpdGlvbnN0YXJ0YCBldmVudCBmaXJlc1xuICAgKiBiZWZvcmUgYHJlc29sdmVDb21wb3NpdGlvbmAgZXhlY3V0ZXMsIG91ciBjb21wb3NpdGlvbiBzZXNzaW9uIHdpbGxcbiAgICogY29udGludWUuXG4gICAqXG4gICAqIFRoZSBgcmVzb2x2ZWRgIGZsYWcgaXMgdXNlZnVsIGJlY2F1c2UgY2VydGFpbiBJTUUgaW50ZXJmYWNlcyBmaXJlIHRoZVxuICAgKiBgY29tcG9zaXRpb25lbmRgIGV2ZW50IG11bHRpcGxlIHRpbWVzLCB0aHVzIHF1ZXVlaW5nIHVwIG11bHRpcGxlIGF0dGVtcHRzXG4gICAqIGF0IGhhbmRsaW5nIHRoZSBjb21wb3NpdGlvbi4gU2luY2UgaGFuZGxpbmcgdGhlIHNhbWUgY29tcG9zaXRpb24gZXZlbnRcbiAgICogdHdpY2UgY291bGQgYnJlYWsgdGhlIERPTSwgd2Ugb25seSB1c2UgdGhlIGZpcnN0IGV2ZW50LiBFeGFtcGxlOiBBcmFiaWNcbiAgICogR29vZ2xlIElucHV0IFRvb2xzIG9uIFdpbmRvd3MgOC4xIGZpcmVzIGBjb21wb3NpdGlvbmVuZGAgdGhyZWUgdGltZXMuXG4gICAqL1xuICBvbkNvbXBvc2l0aW9uRW5kOiBmdW5jdGlvbiBvbkNvbXBvc2l0aW9uRW5kKGVkaXRvcikge1xuICAgIHJlc29sdmVkID0gZmFsc2U7XG4gICAgc3RpbGxDb21wb3NpbmcgPSBmYWxzZTtcbiAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgIGlmICghcmVzb2x2ZWQpIHtcbiAgICAgICAgRHJhZnRFZGl0b3JDb21wb3NpdGlvbkhhbmRsZXIucmVzb2x2ZUNvbXBvc2l0aW9uKGVkaXRvcik7XG4gICAgICB9XG4gICAgfSwgUkVTT0xWRV9ERUxBWSk7XG4gIH0sXG5cbiAgLyoqXG4gICAqIEluIFNhZmFyaSwga2V5ZG93biBldmVudHMgbWF5IGZpcmUgd2hlbiBjb21taXR0aW5nIGNvbXBvc2l0aW9ucy4gSWZcbiAgICogdGhlIGFycm93IGtleXMgYXJlIHVzZWQgdG8gY29tbWl0LCBwcmV2ZW50IGRlZmF1bHQgc28gdGhhdCB0aGUgY3Vyc29yXG4gICAqIGRvZXNuJ3QgbW92ZSwgb3RoZXJ3aXNlIGl0IHdpbGwganVtcCBiYWNrIG5vdGljZWFibHkgb24gcmUtcmVuZGVyLlxuICAgKi9cbiAgb25LZXlEb3duOiBmdW5jdGlvbiBvbktleURvd24oZWRpdG9yLCBlKSB7XG4gICAgaWYgKCFzdGlsbENvbXBvc2luZykge1xuICAgICAgLy8gSWYgYSBrZXlkb3duIGV2ZW50IGlzIHJlY2VpdmVkIGFmdGVyIGNvbXBvc2l0aW9uZW5kIGJ1dCBiZWZvcmUgdGhlXG4gICAgICAvLyAyMG1zIHRpbWVyIGV4cGlyZXMgKGV4OiB0eXBlIG9wdGlvbi1FIHRoZW4gYmFja3NwYWNlLCBvciB0eXBlIEEgdGhlblxuICAgICAgLy8gYmFja3NwYWNlIGluIDItU2V0IEtvcmVhbiksIHdlIHNob3VsZCBpbW1lZGlhdGVseSByZXNvbHZlIHRoZVxuICAgICAgLy8gY29tcG9zaXRpb24gYW5kIHJlaW50ZXJwcmV0IHRoZSBrZXkgcHJlc3MgaW4gZWRpdCBtb2RlLlxuICAgICAgRHJhZnRFZGl0b3JDb21wb3NpdGlvbkhhbmRsZXIucmVzb2x2ZUNvbXBvc2l0aW9uKGVkaXRvcik7XG4gICAgICBlZGl0b3IuX29uS2V5RG93bihlKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKGUud2hpY2ggPT09IEtleXMuUklHSFQgfHwgZS53aGljaCA9PT0gS2V5cy5MRUZUKSB7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuICB9LFxuXG4gIC8qKlxuICAgKiBLZXlwcmVzcyBldmVudHMgbWF5IGZpcmUgd2hlbiBjb21taXR0aW5nIGNvbXBvc2l0aW9ucy4gSW4gRmlyZWZveCxcbiAgICogcHJlc3NpbmcgUkVUVVJOIGNvbW1pdHMgdGhlIGNvbXBvc2l0aW9uIGFuZCBpbnNlcnRzIGV4dHJhIG5ld2xpbmVcbiAgICogY2hhcmFjdGVycyB0aGF0IHdlIGRvIG5vdCB3YW50LiBgcHJldmVudERlZmF1bHRgIGFsbG93cyB0aGUgY29tcG9zaXRpb25cbiAgICogdG8gYmUgY29tbWl0dGVkIHdoaWxlIHByZXZlbnRpbmcgdGhlIGV4dHJhIGNoYXJhY3RlcnMuXG4gICAqL1xuICBvbktleVByZXNzOiBmdW5jdGlvbiBvbktleVByZXNzKGVkaXRvciwgZSkge1xuICAgIGlmIChlLndoaWNoID09PSBLZXlzLlJFVFVSTikge1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbiAgfSxcblxuICAvKipcbiAgICogQXR0ZW1wdCB0byBpbnNlcnQgY29tcG9zZWQgY2hhcmFjdGVycyBpbnRvIHRoZSBkb2N1bWVudC5cbiAgICpcbiAgICogSWYgd2UgYXJlIHN0aWxsIGluIGEgY29tcG9zaXRpb24gc2Vzc2lvbiwgZG8gbm90aGluZy4gT3RoZXJ3aXNlLCBpbnNlcnRcbiAgICogdGhlIGNoYXJhY3RlcnMgaW50byB0aGUgZG9jdW1lbnQgYW5kIHRlcm1pbmF0ZSB0aGUgY29tcG9zaXRpb24gc2Vzc2lvbi5cbiAgICpcbiAgICogSWYgbm8gY2hhcmFjdGVycyB3ZXJlIGNvbXBvc2VkIC0tIGZvciBpbnN0YW5jZSwgdGhlIHVzZXJcbiAgICogZGVsZXRlZCBhbGwgY29tcG9zZWQgY2hhcmFjdGVycyBhbmQgY29tbWl0dGVkIG5vdGhpbmcgbmV3IC0tXG4gICAqIGZvcmNlIGEgcmUtcmVuZGVyLiBXZSBhbHNvIHJlLXJlbmRlciB3aGVuIHRoZSBjb21wb3NpdGlvbiBvY2N1cnNcbiAgICogYXQgdGhlIGJlZ2lubmluZyBvZiBhIGxlYWYsIHRvIGVuc3VyZSB0aGF0IGlmIHRoZSBicm93c2VyIGhhc1xuICAgKiBjcmVhdGVkIGEgbmV3IHRleHQgbm9kZSBmb3IgdGhlIGNvbXBvc2l0aW9uLCB3ZSB3aWxsIGRpc2NhcmQgaXQuXG4gICAqXG4gICAqIFJlc2V0dGluZyBpbm5lckhUTUwgd2lsbCBtb3ZlIGZvY3VzIHRvIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGVkaXRvcixcbiAgICogc28gd2UgdXBkYXRlIHRvIGZvcmNlIGl0IGJhY2sgdG8gdGhlIGNvcnJlY3QgcGxhY2UuXG4gICAqL1xuICByZXNvbHZlQ29tcG9zaXRpb246IGZ1bmN0aW9uIHJlc29sdmVDb21wb3NpdGlvbihlZGl0b3IpIHtcbiAgICBpZiAoc3RpbGxDb21wb3NpbmcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICByZXNvbHZlZCA9IHRydWU7XG4gICAgdmFyIGNvbXBvc2VkQ2hhcnMgPSB0ZXh0SW5wdXREYXRhO1xuICAgIHRleHRJbnB1dERhdGEgPSAnJztcblxuICAgIHZhciBlZGl0b3JTdGF0ZSA9IEVkaXRvclN0YXRlLnNldChlZGl0b3IuX2xhdGVzdEVkaXRvclN0YXRlLCB7XG4gICAgICBpbkNvbXBvc2l0aW9uTW9kZTogZmFsc2VcbiAgICB9KTtcblxuICAgIHZhciBjdXJyZW50U3R5bGUgPSBlZGl0b3JTdGF0ZS5nZXRDdXJyZW50SW5saW5lU3R5bGUoKTtcbiAgICB2YXIgZW50aXR5S2V5ID0gZ2V0RW50aXR5S2V5Rm9yU2VsZWN0aW9uKGVkaXRvclN0YXRlLmdldEN1cnJlbnRDb250ZW50KCksIGVkaXRvclN0YXRlLmdldFNlbGVjdGlvbigpKTtcblxuICAgIHZhciBtdXN0UmVzZXQgPSAhY29tcG9zZWRDaGFycyB8fCBpc1NlbGVjdGlvbkF0TGVhZlN0YXJ0KGVkaXRvclN0YXRlKSB8fCBjdXJyZW50U3R5bGUuc2l6ZSA+IDAgfHwgZW50aXR5S2V5ICE9PSBudWxsO1xuXG4gICAgaWYgKG11c3RSZXNldCkge1xuICAgICAgZWRpdG9yLnJlc3RvcmVFZGl0b3JET00oKTtcbiAgICB9XG5cbiAgICBlZGl0b3IuZXhpdEN1cnJlbnRNb2RlKCk7XG5cbiAgICBpZiAoY29tcG9zZWRDaGFycykge1xuICAgICAgaWYgKERyYWZ0RmVhdHVyZUZsYWdzLmRyYWZ0X2hhbmRsZWJlZm9yZWlucHV0X2NvbXBvc2VkX3RleHQgJiYgZWRpdG9yLnByb3BzLmhhbmRsZUJlZm9yZUlucHV0ICYmIGlzRXZlbnRIYW5kbGVkKGVkaXRvci5wcm9wcy5oYW5kbGVCZWZvcmVJbnB1dChjb21wb3NlZENoYXJzLCBlZGl0b3JTdGF0ZSkpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIC8vIElmIGNoYXJhY3RlcnMgaGF2ZSBiZWVuIGNvbXBvc2VkLCByZS1yZW5kZXJpbmcgd2l0aCB0aGUgdXBkYXRlXG4gICAgICAvLyBpcyBzdWZmaWNpZW50IHRvIHJlc2V0IHRoZSBlZGl0b3IuXG4gICAgICB2YXIgY29udGVudFN0YXRlID0gRHJhZnRNb2RpZmllci5yZXBsYWNlVGV4dChlZGl0b3JTdGF0ZS5nZXRDdXJyZW50Q29udGVudCgpLCBlZGl0b3JTdGF0ZS5nZXRTZWxlY3Rpb24oKSwgY29tcG9zZWRDaGFycywgY3VycmVudFN0eWxlLCBlbnRpdHlLZXkpO1xuICAgICAgZWRpdG9yLnVwZGF0ZShFZGl0b3JTdGF0ZS5wdXNoKGVkaXRvclN0YXRlLCBjb250ZW50U3RhdGUsICdpbnNlcnQtY2hhcmFjdGVycycpKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAobXVzdFJlc2V0KSB7XG4gICAgICBlZGl0b3IudXBkYXRlKEVkaXRvclN0YXRlLnNldChlZGl0b3JTdGF0ZSwge1xuICAgICAgICBuYXRpdmVseVJlbmRlcmVkQ29udGVudDogbnVsbCxcbiAgICAgICAgZm9yY2VTZWxlY3Rpb246IHRydWVcbiAgICAgIH0pKTtcbiAgICB9XG4gIH1cbn07XG5cbm1vZHVsZS5leHBvcnRzID0gRHJhZnRFZGl0b3JDb21wb3NpdGlvbkhhbmRsZXI7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/DraftEditorCompositionHandler.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nvar DOMObserver = __webpack_require__(/*! ./DOMObserver */ \"./node_modules/draft-js/lib/DOMObserver.js\");\n\nvar DraftModifier = __webpack_require__(/*! ./DraftModifier */ \"./node_modules/draft-js/lib/DraftModifier.js\");\n\nvar DraftOffsetKey = __webpack_require__(/*! ./DraftOffsetKey */ \"./node_modules/draft-js/lib/DraftOffsetKey.js\");\n\nvar EditorState = __webpack_require__(/*! ./EditorState */ \"./node_modules/draft-js/lib/EditorState.js\");\n\nvar Keys = __webpack_require__(/*! fbjs/lib/Keys */ \"./node_modules/fbjs/lib/Keys.js\");\n\nvar editOnSelect = __webpack_require__(/*! ./editOnSelect */ \"./node_modules/draft-js/lib/editOnSelect.js\");\n\nvar getContentEditableContainer = __webpack_require__(/*! ./getContentEditableContainer */ \"./node_modules/draft-js/lib/getContentEditableContainer.js\");\n\nvar getDraftEditorSelection = __webpack_require__(/*! ./getDraftEditorSelection */ \"./node_modules/draft-js/lib/getDraftEditorSelection.js\");\n\nvar getEntityKeyForSelection = __webpack_require__(/*! ./getEntityKeyForSelection */ \"./node_modules/draft-js/lib/getEntityKeyForSelection.js\");\n\nvar nullthrows = __webpack_require__(/*! fbjs/lib/nullthrows */ \"./node_modules/fbjs/lib/nullthrows.js\");\n/**\n * Millisecond delay to allow `compositionstart` to fire again upon\n * `compositionend`.\n *\n * This is used for Korean input to ensure that typing can continue without\n * the editor trying to render too quickly. More specifically, Safari 7.1+\n * triggers `compositionstart` a little slower than Chrome/FF, which\n * leads to composed characters being resolved and re-render occurring\n * sooner than we want.\n */\n\n\nvar RESOLVE_DELAY = 20;\n/**\n * A handful of variables used to track the current composition and its\n * resolution status. These exist at the module level because it is not\n * possible to have compositions occurring in multiple editors simultaneously,\n * and it simplifies state management with respect to the DraftEditor component.\n */\n\nvar resolved = false;\nvar stillComposing = false;\nvar domObserver = null;\n\nfunction startDOMObserver(editor) {\n if (!domObserver) {\n domObserver = new DOMObserver(getContentEditableContainer(editor));\n domObserver.start();\n }\n}\n\nvar DraftEditorCompositionHandler = {\n /**\n * A `compositionstart` event has fired while we're still in composition\n * mode. Continue the current composition session to prevent a re-render.\n */\n onCompositionStart: function onCompositionStart(editor) {\n stillComposing = true;\n startDOMObserver(editor);\n },\n\n /**\n * Attempt to end the current composition session.\n *\n * Defer handling because browser will still insert the chars into active\n * element after `compositionend`. If a `compositionstart` event fires\n * before `resolveComposition` executes, our composition session will\n * continue.\n *\n * The `resolved` flag is useful because certain IME interfaces fire the\n * `compositionend` event multiple times, thus queueing up multiple attempts\n * at handling the composition. Since handling the same composition event\n * twice could break the DOM, we only use the first event. Example: Arabic\n * Google Input Tools on Windows 8.1 fires `compositionend` three times.\n */\n onCompositionEnd: function onCompositionEnd(editor) {\n resolved = false;\n stillComposing = false;\n setTimeout(function () {\n if (!resolved) {\n DraftEditorCompositionHandler.resolveComposition(editor);\n }\n }, RESOLVE_DELAY);\n },\n onSelect: editOnSelect,\n\n /**\n * In Safari, keydown events may fire when committing compositions. If\n * the arrow keys are used to commit, prevent default so that the cursor\n * doesn't move, otherwise it will jump back noticeably on re-render.\n */\n onKeyDown: function onKeyDown(editor, e) {\n if (!stillComposing) {\n // If a keydown event is received after compositionend but before the\n // 20ms timer expires (ex: type option-E then backspace, or type A then\n // backspace in 2-Set Korean), we should immediately resolve the\n // composition and reinterpret the key press in edit mode.\n DraftEditorCompositionHandler.resolveComposition(editor);\n\n editor._onKeyDown(e);\n\n return;\n }\n\n if (e.which === Keys.RIGHT || e.which === Keys.LEFT) {\n e.preventDefault();\n }\n },\n\n /**\n * Keypress events may fire when committing compositions. In Firefox,\n * pressing RETURN commits the composition and inserts extra newline\n * characters that we do not want. `preventDefault` allows the composition\n * to be committed while preventing the extra characters.\n */\n onKeyPress: function onKeyPress(editor, e) {\n if (e.which === Keys.RETURN) {\n e.preventDefault();\n }\n },\n\n /**\n * Attempt to insert composed characters into the document.\n *\n * If we are still in a composition session, do nothing. Otherwise, insert\n * the characters into the document and terminate the composition session.\n *\n * If no characters were composed -- for instance, the user\n * deleted all composed characters and committed nothing new --\n * force a re-render. We also re-render when the composition occurs\n * at the beginning of a leaf, to ensure that if the browser has\n * created a new text node for the composition, we will discard it.\n *\n * Resetting innerHTML will move focus to the beginning of the editor,\n * so we update to force it back to the correct place.\n */\n resolveComposition: function resolveComposition(editor) {\n if (stillComposing) {\n return;\n }\n\n var mutations = nullthrows(domObserver).stopAndFlushMutations();\n domObserver = null;\n resolved = true;\n var editorState = EditorState.set(editor._latestEditorState, {\n inCompositionMode: false\n });\n editor.exitCurrentMode();\n\n if (!mutations.size) {\n editor.update(editorState);\n return;\n } // TODO, check if Facebook still needs this flag or if it could be removed.\n // Since there can be multiple mutations providing a `composedChars` doesn't\n // apply well on this new model.\n // if (\n // gkx('draft_handlebeforeinput_composed_text') &&\n // editor.props.handleBeforeInput &&\n // isEventHandled(\n // editor.props.handleBeforeInput(\n // composedChars,\n // editorState,\n // event.timeStamp,\n // ),\n // )\n // ) {\n // return;\n // }\n\n\n var contentState = editorState.getCurrentContent();\n mutations.forEach(function (composedChars, offsetKey) {\n var _DraftOffsetKey$decod = DraftOffsetKey.decode(offsetKey),\n blockKey = _DraftOffsetKey$decod.blockKey,\n decoratorKey = _DraftOffsetKey$decod.decoratorKey,\n leafKey = _DraftOffsetKey$decod.leafKey;\n\n var _editorState$getBlock = editorState.getBlockTree(blockKey).getIn([decoratorKey, 'leaves', leafKey]),\n start = _editorState$getBlock.start,\n end = _editorState$getBlock.end;\n\n var replacementRange = editorState.getSelection().merge({\n anchorKey: blockKey,\n focusKey: blockKey,\n anchorOffset: start,\n focusOffset: end,\n isBackward: false\n });\n var entityKey = getEntityKeyForSelection(contentState, replacementRange);\n var currentStyle = contentState.getBlockForKey(blockKey).getInlineStyleAt(start);\n contentState = DraftModifier.replaceText(contentState, replacementRange, composedChars, currentStyle, entityKey); // We need to update the editorState so the leaf node ranges are properly\n // updated and multiple mutations are correctly applied.\n\n editorState = EditorState.set(editorState, {\n currentContent: contentState\n });\n }); // When we apply the text changes to the ContentState, the selection always\n // goes to the end of the field, but it should just stay where it is\n // after compositionEnd.\n\n var documentSelection = getDraftEditorSelection(editorState, getContentEditableContainer(editor));\n var compositionEndSelectionState = documentSelection.selectionState;\n editor.restoreEditorDOM();\n var editorStateWithUpdatedSelection = EditorState.acceptSelection(editorState, compositionEndSelectionState);\n editor.update(EditorState.push(editorStateWithUpdatedSelection, contentState, 'insert-characters'));\n }\n};\nmodule.exports = DraftEditorCompositionHandler;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0RyYWZ0RWRpdG9yQ29tcG9zaXRpb25IYW5kbGVyLmpzPzhlNWQiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDYTs7QUFFYixrQkFBa0IsbUJBQU8sQ0FBQyxpRUFBZTs7QUFFekMsb0JBQW9CLG1CQUFPLENBQUMscUVBQWlCOztBQUU3QyxxQkFBcUIsbUJBQU8sQ0FBQyx1RUFBa0I7O0FBRS9DLGtCQUFrQixtQkFBTyxDQUFDLGlFQUFlOztBQUV6QyxXQUFXLG1CQUFPLENBQUMsc0RBQWU7O0FBRWxDLG1CQUFtQixtQkFBTyxDQUFDLG1FQUFnQjs7QUFFM0Msa0NBQWtDLG1CQUFPLENBQUMsaUdBQStCOztBQUV6RSw4QkFBOEIsbUJBQU8sQ0FBQyx5RkFBMkI7O0FBRWpFLCtCQUErQixtQkFBTyxDQUFDLDJGQUE0Qjs7QUFFbkUsaUJBQWlCLG1CQUFPLENBQUMsa0VBQXFCO0FBQzlDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTCxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsdUhBQXVIO0FBQ3ZIOztBQUVBO0FBQ0E7QUFDQSxPQUFPO0FBQ1AsS0FBSyxFQUFFO0FBQ1A7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2RyYWZ0LWpzL2xpYi9EcmFmdEVkaXRvckNvbXBvc2l0aW9uSGFuZGxlci5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSBGYWNlYm9vaywgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICogQGZvcm1hdFxuICogXG4gKiBAZW1haWxzIG9uY2FsbCtkcmFmdF9qc1xuICovXG4ndXNlIHN0cmljdCc7XG5cbnZhciBET01PYnNlcnZlciA9IHJlcXVpcmUoXCIuL0RPTU9ic2VydmVyXCIpO1xuXG52YXIgRHJhZnRNb2RpZmllciA9IHJlcXVpcmUoXCIuL0RyYWZ0TW9kaWZpZXJcIik7XG5cbnZhciBEcmFmdE9mZnNldEtleSA9IHJlcXVpcmUoXCIuL0RyYWZ0T2Zmc2V0S2V5XCIpO1xuXG52YXIgRWRpdG9yU3RhdGUgPSByZXF1aXJlKFwiLi9FZGl0b3JTdGF0ZVwiKTtcblxudmFyIEtleXMgPSByZXF1aXJlKFwiZmJqcy9saWIvS2V5c1wiKTtcblxudmFyIGVkaXRPblNlbGVjdCA9IHJlcXVpcmUoXCIuL2VkaXRPblNlbGVjdFwiKTtcblxudmFyIGdldENvbnRlbnRFZGl0YWJsZUNvbnRhaW5lciA9IHJlcXVpcmUoXCIuL2dldENvbnRlbnRFZGl0YWJsZUNvbnRhaW5lclwiKTtcblxudmFyIGdldERyYWZ0RWRpdG9yU2VsZWN0aW9uID0gcmVxdWlyZShcIi4vZ2V0RHJhZnRFZGl0b3JTZWxlY3Rpb25cIik7XG5cbnZhciBnZXRFbnRpdHlLZXlGb3JTZWxlY3Rpb24gPSByZXF1aXJlKFwiLi9nZXRFbnRpdHlLZXlGb3JTZWxlY3Rpb25cIik7XG5cbnZhciBudWxsdGhyb3dzID0gcmVxdWlyZShcImZianMvbGliL251bGx0aHJvd3NcIik7XG4vKipcbiAqIE1pbGxpc2Vjb25kIGRlbGF5IHRvIGFsbG93IGBjb21wb3NpdGlvbnN0YXJ0YCB0byBmaXJlIGFnYWluIHVwb25cbiAqIGBjb21wb3NpdGlvbmVuZGAuXG4gKlxuICogVGhpcyBpcyB1c2VkIGZvciBLb3JlYW4gaW5wdXQgdG8gZW5zdXJlIHRoYXQgdHlwaW5nIGNhbiBjb250aW51ZSB3aXRob3V0XG4gKiB0aGUgZWRpdG9yIHRyeWluZyB0byByZW5kZXIgdG9vIHF1aWNrbHkuIE1vcmUgc3BlY2lmaWNhbGx5LCBTYWZhcmkgNy4xK1xuICogdHJpZ2dlcnMgYGNvbXBvc2l0aW9uc3RhcnRgIGEgbGl0dGxlIHNsb3dlciB0aGFuIENocm9tZS9GRiwgd2hpY2hcbiAqIGxlYWRzIHRvIGNvbXBvc2VkIGNoYXJhY3RlcnMgYmVpbmcgcmVzb2x2ZWQgYW5kIHJlLXJlbmRlciBvY2N1cnJpbmdcbiAqIHNvb25lciB0aGFuIHdlIHdhbnQuXG4gKi9cblxuXG52YXIgUkVTT0xWRV9ERUxBWSA9IDIwO1xuLyoqXG4gKiBBIGhhbmRmdWwgb2YgdmFyaWFibGVzIHVzZWQgdG8gdHJhY2sgdGhlIGN1cnJlbnQgY29tcG9zaXRpb24gYW5kIGl0c1xuICogcmVzb2x1dGlvbiBzdGF0dXMuIFRoZXNlIGV4aXN0IGF0IHRoZSBtb2R1bGUgbGV2ZWwgYmVjYXVzZSBpdCBpcyBub3RcbiAqIHBvc3NpYmxlIHRvIGhhdmUgY29tcG9zaXRpb25zIG9jY3VycmluZyBpbiBtdWx0aXBsZSBlZGl0b3JzIHNpbXVsdGFuZW91c2x5LFxuICogYW5kIGl0IHNpbXBsaWZpZXMgc3RhdGUgbWFuYWdlbWVudCB3aXRoIHJlc3BlY3QgdG8gdGhlIERyYWZ0RWRpdG9yIGNvbXBvbmVudC5cbiAqL1xuXG52YXIgcmVzb2x2ZWQgPSBmYWxzZTtcbnZhciBzdGlsbENvbXBvc2luZyA9IGZhbHNlO1xudmFyIGRvbU9ic2VydmVyID0gbnVsbDtcblxuZnVuY3Rpb24gc3RhcnRET01PYnNlcnZlcihlZGl0b3IpIHtcbiAgaWYgKCFkb21PYnNlcnZlcikge1xuICAgIGRvbU9ic2VydmVyID0gbmV3IERPTU9ic2VydmVyKGdldENvbnRlbnRFZGl0YWJsZUNvbnRhaW5lcihlZGl0b3IpKTtcbiAgICBkb21PYnNlcnZlci5zdGFydCgpO1xuICB9XG59XG5cbnZhciBEcmFmdEVkaXRvckNvbXBvc2l0aW9uSGFuZGxlciA9IHtcbiAgLyoqXG4gICAqIEEgYGNvbXBvc2l0aW9uc3RhcnRgIGV2ZW50IGhhcyBmaXJlZCB3aGlsZSB3ZSdyZSBzdGlsbCBpbiBjb21wb3NpdGlvblxuICAgKiBtb2RlLiBDb250aW51ZSB0aGUgY3VycmVudCBjb21wb3NpdGlvbiBzZXNzaW9uIHRvIHByZXZlbnQgYSByZS1yZW5kZXIuXG4gICAqL1xuICBvbkNvbXBvc2l0aW9uU3RhcnQ6IGZ1bmN0aW9uIG9uQ29tcG9zaXRpb25TdGFydChlZGl0b3IpIHtcbiAgICBzdGlsbENvbXBvc2luZyA9IHRydWU7XG4gICAgc3RhcnRET01PYnNlcnZlcihlZGl0b3IpO1xuICB9LFxuXG4gIC8qKlxuICAgKiBBdHRlbXB0IHRvIGVuZCB0aGUgY3VycmVudCBjb21wb3NpdGlvbiBzZXNzaW9uLlxuICAgKlxuICAgKiBEZWZlciBoYW5kbGluZyBiZWNhdXNlIGJyb3dzZXIgd2lsbCBzdGlsbCBpbnNlcnQgdGhlIGNoYXJzIGludG8gYWN0aXZlXG4gICAqIGVsZW1lbnQgYWZ0ZXIgYGNvbXBvc2l0aW9uZW5kYC4gSWYgYSBgY29tcG9zaXRpb25zdGFydGAgZXZlbnQgZmlyZXNcbiAgICogYmVmb3JlIGByZXNvbHZlQ29tcG9zaXRpb25gIGV4ZWN1dGVzLCBvdXIgY29tcG9zaXRpb24gc2Vzc2lvbiB3aWxsXG4gICAqIGNvbnRpbnVlLlxuICAgKlxuICAgKiBUaGUgYHJlc29sdmVkYCBmbGFnIGlzIHVzZWZ1bCBiZWNhdXNlIGNlcnRhaW4gSU1FIGludGVyZmFjZXMgZmlyZSB0aGVcbiAgICogYGNvbXBvc2l0aW9uZW5kYCBldmVudCBtdWx0aXBsZSB0aW1lcywgdGh1cyBxdWV1ZWluZyB1cCBtdWx0aXBsZSBhdHRlbXB0c1xuICAgKiBhdCBoYW5kbGluZyB0aGUgY29tcG9zaXRpb24uIFNpbmNlIGhhbmRsaW5nIHRoZSBzYW1lIGNvbXBvc2l0aW9uIGV2ZW50XG4gICAqIHR3aWNlIGNvdWxkIGJyZWFrIHRoZSBET00sIHdlIG9ubHkgdXNlIHRoZSBmaXJzdCBldmVudC4gRXhhbXBsZTogQXJhYmljXG4gICAqIEdvb2dsZSBJbnB1dCBUb29scyBvbiBXaW5kb3dzIDguMSBmaXJlcyBgY29tcG9zaXRpb25lbmRgIHRocmVlIHRpbWVzLlxuICAgKi9cbiAgb25Db21wb3NpdGlvbkVuZDogZnVuY3Rpb24gb25Db21wb3NpdGlvbkVuZChlZGl0b3IpIHtcbiAgICByZXNvbHZlZCA9IGZhbHNlO1xuICAgIHN0aWxsQ29tcG9zaW5nID0gZmFsc2U7XG4gICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgICBpZiAoIXJlc29sdmVkKSB7XG4gICAgICAgIERyYWZ0RWRpdG9yQ29tcG9zaXRpb25IYW5kbGVyLnJlc29sdmVDb21wb3NpdGlvbihlZGl0b3IpO1xuICAgICAgfVxuICAgIH0sIFJFU09MVkVfREVMQVkpO1xuICB9LFxuICBvblNlbGVjdDogZWRpdE9uU2VsZWN0LFxuXG4gIC8qKlxuICAgKiBJbiBTYWZhcmksIGtleWRvd24gZXZlbnRzIG1heSBmaXJlIHdoZW4gY29tbWl0dGluZyBjb21wb3NpdGlvbnMuIElmXG4gICAqIHRoZSBhcnJvdyBrZXlzIGFyZSB1c2VkIHRvIGNvbW1pdCwgcHJldmVudCBkZWZhdWx0IHNvIHRoYXQgdGhlIGN1cnNvclxuICAgKiBkb2Vzbid0IG1vdmUsIG90aGVyd2lzZSBpdCB3aWxsIGp1bXAgYmFjayBub3RpY2VhYmx5IG9uIHJlLXJlbmRlci5cbiAgICovXG4gIG9uS2V5RG93bjogZnVuY3Rpb24gb25LZXlEb3duKGVkaXRvciwgZSkge1xuICAgIGlmICghc3RpbGxDb21wb3NpbmcpIHtcbiAgICAgIC8vIElmIGEga2V5ZG93biBldmVudCBpcyByZWNlaXZlZCBhZnRlciBjb21wb3NpdGlvbmVuZCBidXQgYmVmb3JlIHRoZVxuICAgICAgLy8gMjBtcyB0aW1lciBleHBpcmVzIChleDogdHlwZSBvcHRpb24tRSB0aGVuIGJhY2tzcGFjZSwgb3IgdHlwZSBBIHRoZW5cbiAgICAgIC8vIGJhY2tzcGFjZSBpbiAyLVNldCBLb3JlYW4pLCB3ZSBzaG91bGQgaW1tZWRpYXRlbHkgcmVzb2x2ZSB0aGVcbiAgICAgIC8vIGNvbXBvc2l0aW9uIGFuZCByZWludGVycHJldCB0aGUga2V5IHByZXNzIGluIGVkaXQgbW9kZS5cbiAgICAgIERyYWZ0RWRpdG9yQ29tcG9zaXRpb25IYW5kbGVyLnJlc29sdmVDb21wb3NpdGlvbihlZGl0b3IpO1xuXG4gICAgICBlZGl0b3IuX29uS2V5RG93bihlKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChlLndoaWNoID09PSBLZXlzLlJJR0hUIHx8IGUud2hpY2ggPT09IEtleXMuTEVGVCkge1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbiAgfSxcblxuICAvKipcbiAgICogS2V5cHJlc3MgZXZlbnRzIG1heSBmaXJlIHdoZW4gY29tbWl0dGluZyBjb21wb3NpdGlvbnMuIEluIEZpcmVmb3gsXG4gICAqIHByZXNzaW5nIFJFVFVSTiBjb21taXRzIHRoZSBjb21wb3NpdGlvbiBhbmQgaW5zZXJ0cyBleHRyYSBuZXdsaW5lXG4gICAqIGNoYXJhY3RlcnMgdGhhdCB3ZSBkbyBub3Qgd2FudC4gYHByZXZlbnREZWZhdWx0YCBhbGxvd3MgdGhlIGNvbXBvc2l0aW9uXG4gICAqIHRvIGJlIGNvbW1pdHRlZCB3aGlsZSBwcmV2ZW50aW5nIHRoZSBleHRyYSBjaGFyYWN0ZXJzLlxuICAgKi9cbiAgb25LZXlQcmVzczogZnVuY3Rpb24gb25LZXlQcmVzcyhlZGl0b3IsIGUpIHtcbiAgICBpZiAoZS53aGljaCA9PT0gS2V5cy5SRVRVUk4pIHtcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG4gIH0sXG5cbiAgLyoqXG4gICAqIEF0dGVtcHQgdG8gaW5zZXJ0IGNvbXBvc2VkIGNoYXJhY3RlcnMgaW50byB0aGUgZG9jdW1lbnQuXG4gICAqXG4gICAqIElmIHdlIGFyZSBzdGlsbCBpbiBhIGNvbXBvc2l0aW9uIHNlc3Npb24sIGRvIG5vdGhpbmcuIE90aGVyd2lzZSwgaW5zZXJ0XG4gICAqIHRoZSBjaGFyYWN0ZXJzIGludG8gdGhlIGRvY3VtZW50IGFuZCB0ZXJtaW5hdGUgdGhlIGNvbXBvc2l0aW9uIHNlc3Npb24uXG4gICAqXG4gICAqIElmIG5vIGNoYXJhY3RlcnMgd2VyZSBjb21wb3NlZCAtLSBmb3IgaW5zdGFuY2UsIHRoZSB1c2VyXG4gICAqIGRlbGV0ZWQgYWxsIGNvbXBvc2VkIGNoYXJhY3RlcnMgYW5kIGNvbW1pdHRlZCBub3RoaW5nIG5ldyAtLVxuICAgKiBmb3JjZSBhIHJlLXJlbmRlci4gV2UgYWxzbyByZS1yZW5kZXIgd2hlbiB0aGUgY29tcG9zaXRpb24gb2NjdXJzXG4gICAqIGF0IHRoZSBiZWdpbm5pbmcgb2YgYSBsZWFmLCB0byBlbnN1cmUgdGhhdCBpZiB0aGUgYnJvd3NlciBoYXNcbiAgICogY3JlYXRlZCBhIG5ldyB0ZXh0IG5vZGUgZm9yIHRoZSBjb21wb3NpdGlvbiwgd2Ugd2lsbCBkaXNjYXJkIGl0LlxuICAgKlxuICAgKiBSZXNldHRpbmcgaW5uZXJIVE1MIHdpbGwgbW92ZSBmb2N1cyB0byB0aGUgYmVnaW5uaW5nIG9mIHRoZSBlZGl0b3IsXG4gICAqIHNvIHdlIHVwZGF0ZSB0byBmb3JjZSBpdCBiYWNrIHRvIHRoZSBjb3JyZWN0IHBsYWNlLlxuICAgKi9cbiAgcmVzb2x2ZUNvbXBvc2l0aW9uOiBmdW5jdGlvbiByZXNvbHZlQ29tcG9zaXRpb24oZWRpdG9yKSB7XG4gICAgaWYgKHN0aWxsQ29tcG9zaW5nKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdmFyIG11dGF0aW9ucyA9IG51bGx0aHJvd3MoZG9tT2JzZXJ2ZXIpLnN0b3BBbmRGbHVzaE11dGF0aW9ucygpO1xuICAgIGRvbU9ic2VydmVyID0gbnVsbDtcbiAgICByZXNvbHZlZCA9IHRydWU7XG4gICAgdmFyIGVkaXRvclN0YXRlID0gRWRpdG9yU3RhdGUuc2V0KGVkaXRvci5fbGF0ZXN0RWRpdG9yU3RhdGUsIHtcbiAgICAgIGluQ29tcG9zaXRpb25Nb2RlOiBmYWxzZVxuICAgIH0pO1xuICAgIGVkaXRvci5leGl0Q3VycmVudE1vZGUoKTtcblxuICAgIGlmICghbXV0YXRpb25zLnNpemUpIHtcbiAgICAgIGVkaXRvci51cGRhdGUoZWRpdG9yU3RhdGUpO1xuICAgICAgcmV0dXJuO1xuICAgIH0gLy8gVE9ETywgY2hlY2sgaWYgRmFjZWJvb2sgc3RpbGwgbmVlZHMgdGhpcyBmbGFnIG9yIGlmIGl0IGNvdWxkIGJlIHJlbW92ZWQuXG4gICAgLy8gU2luY2UgdGhlcmUgY2FuIGJlIG11bHRpcGxlIG11dGF0aW9ucyBwcm92aWRpbmcgYSBgY29tcG9zZWRDaGFyc2AgZG9lc24ndFxuICAgIC8vIGFwcGx5IHdlbGwgb24gdGhpcyBuZXcgbW9kZWwuXG4gICAgLy8gaWYgKFxuICAgIC8vICAgZ2t4KCdkcmFmdF9oYW5kbGViZWZvcmVpbnB1dF9jb21wb3NlZF90ZXh0JykgJiZcbiAgICAvLyAgIGVkaXRvci5wcm9wcy5oYW5kbGVCZWZvcmVJbnB1dCAmJlxuICAgIC8vICAgaXNFdmVudEhhbmRsZWQoXG4gICAgLy8gICAgIGVkaXRvci5wcm9wcy5oYW5kbGVCZWZvcmVJbnB1dChcbiAgICAvLyAgICAgICBjb21wb3NlZENoYXJzLFxuICAgIC8vICAgICAgIGVkaXRvclN0YXRlLFxuICAgIC8vICAgICAgIGV2ZW50LnRpbWVTdGFtcCxcbiAgICAvLyAgICAgKSxcbiAgICAvLyAgIClcbiAgICAvLyApIHtcbiAgICAvLyAgIHJldHVybjtcbiAgICAvLyB9XG5cblxuICAgIHZhciBjb250ZW50U3RhdGUgPSBlZGl0b3JTdGF0ZS5nZXRDdXJyZW50Q29udGVudCgpO1xuICAgIG11dGF0aW9ucy5mb3JFYWNoKGZ1bmN0aW9uIChjb21wb3NlZENoYXJzLCBvZmZzZXRLZXkpIHtcbiAgICAgIHZhciBfRHJhZnRPZmZzZXRLZXkkZGVjb2QgPSBEcmFmdE9mZnNldEtleS5kZWNvZGUob2Zmc2V0S2V5KSxcbiAgICAgICAgICBibG9ja0tleSA9IF9EcmFmdE9mZnNldEtleSRkZWNvZC5ibG9ja0tleSxcbiAgICAgICAgICBkZWNvcmF0b3JLZXkgPSBfRHJhZnRPZmZzZXRLZXkkZGVjb2QuZGVjb3JhdG9yS2V5LFxuICAgICAgICAgIGxlYWZLZXkgPSBfRHJhZnRPZmZzZXRLZXkkZGVjb2QubGVhZktleTtcblxuICAgICAgdmFyIF9lZGl0b3JTdGF0ZSRnZXRCbG9jayA9IGVkaXRvclN0YXRlLmdldEJsb2NrVHJlZShibG9ja0tleSkuZ2V0SW4oW2RlY29yYXRvcktleSwgJ2xlYXZlcycsIGxlYWZLZXldKSxcbiAgICAgICAgICBzdGFydCA9IF9lZGl0b3JTdGF0ZSRnZXRCbG9jay5zdGFydCxcbiAgICAgICAgICBlbmQgPSBfZWRpdG9yU3RhdGUkZ2V0QmxvY2suZW5kO1xuXG4gICAgICB2YXIgcmVwbGFjZW1lbnRSYW5nZSA9IGVkaXRvclN0YXRlLmdldFNlbGVjdGlvbigpLm1lcmdlKHtcbiAgICAgICAgYW5jaG9yS2V5OiBibG9ja0tleSxcbiAgICAgICAgZm9jdXNLZXk6IGJsb2NrS2V5LFxuICAgICAgICBhbmNob3JPZmZzZXQ6IHN0YXJ0LFxuICAgICAgICBmb2N1c09mZnNldDogZW5kLFxuICAgICAgICBpc0JhY2t3YXJkOiBmYWxzZVxuICAgICAgfSk7XG4gICAgICB2YXIgZW50aXR5S2V5ID0gZ2V0RW50aXR5S2V5Rm9yU2VsZWN0aW9uKGNvbnRlbnRTdGF0ZSwgcmVwbGFjZW1lbnRSYW5nZSk7XG4gICAgICB2YXIgY3VycmVudFN0eWxlID0gY29udGVudFN0YXRlLmdldEJsb2NrRm9yS2V5KGJsb2NrS2V5KS5nZXRJbmxpbmVTdHlsZUF0KHN0YXJ0KTtcbiAgICAgIGNvbnRlbnRTdGF0ZSA9IERyYWZ0TW9kaWZpZXIucmVwbGFjZVRleHQoY29udGVudFN0YXRlLCByZXBsYWNlbWVudFJhbmdlLCBjb21wb3NlZENoYXJzLCBjdXJyZW50U3R5bGUsIGVudGl0eUtleSk7IC8vIFdlIG5lZWQgdG8gdXBkYXRlIHRoZSBlZGl0b3JTdGF0ZSBzbyB0aGUgbGVhZiBub2RlIHJhbmdlcyBhcmUgcHJvcGVybHlcbiAgICAgIC8vIHVwZGF0ZWQgYW5kIG11bHRpcGxlIG11dGF0aW9ucyBhcmUgY29ycmVjdGx5IGFwcGxpZWQuXG5cbiAgICAgIGVkaXRvclN0YXRlID0gRWRpdG9yU3RhdGUuc2V0KGVkaXRvclN0YXRlLCB7XG4gICAgICAgIGN1cnJlbnRDb250ZW50OiBjb250ZW50U3RhdGVcbiAgICAgIH0pO1xuICAgIH0pOyAvLyBXaGVuIHdlIGFwcGx5IHRoZSB0ZXh0IGNoYW5nZXMgdG8gdGhlIENvbnRlbnRTdGF0ZSwgdGhlIHNlbGVjdGlvbiBhbHdheXNcbiAgICAvLyBnb2VzIHRvIHRoZSBlbmQgb2YgdGhlIGZpZWxkLCBidXQgaXQgc2hvdWxkIGp1c3Qgc3RheSB3aGVyZSBpdCBpc1xuICAgIC8vIGFmdGVyIGNvbXBvc2l0aW9uRW5kLlxuXG4gICAgdmFyIGRvY3VtZW50U2VsZWN0aW9uID0gZ2V0RHJhZnRFZGl0b3JTZWxlY3Rpb24oZWRpdG9yU3RhdGUsIGdldENvbnRlbnRFZGl0YWJsZUNvbnRhaW5lcihlZGl0b3IpKTtcbiAgICB2YXIgY29tcG9zaXRpb25FbmRTZWxlY3Rpb25TdGF0ZSA9IGRvY3VtZW50U2VsZWN0aW9uLnNlbGVjdGlvblN0YXRlO1xuICAgIGVkaXRvci5yZXN0b3JlRWRpdG9yRE9NKCk7XG4gICAgdmFyIGVkaXRvclN0YXRlV2l0aFVwZGF0ZWRTZWxlY3Rpb24gPSBFZGl0b3JTdGF0ZS5hY2NlcHRTZWxlY3Rpb24oZWRpdG9yU3RhdGUsIGNvbXBvc2l0aW9uRW5kU2VsZWN0aW9uU3RhdGUpO1xuICAgIGVkaXRvci51cGRhdGUoRWRpdG9yU3RhdGUucHVzaChlZGl0b3JTdGF0ZVdpdGhVcGRhdGVkU2VsZWN0aW9uLCBjb250ZW50U3RhdGUsICdpbnNlcnQtY2hhcmFjdGVycycpKTtcbiAgfVxufTtcbm1vZHVsZS5leHBvcnRzID0gRHJhZnRFZGl0b3JDb21wb3NpdGlvbkhhbmRsZXI7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/DraftEditorCompositionHandler.js\n"); /***/ }), @@ -199,7 +234,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule DraftEditorContents-core.react\n * @format\n * \n */\n\n\n\nvar _assign = __webpack_require__(/*! object-assign */ \"./node_modules/object-assign/index.js\");\n\nvar _extends = _assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar DraftEditorBlock = __webpack_require__(/*! ./DraftEditorBlock.react */ \"./node_modules/draft-js/lib/DraftEditorBlock.react.js\");\nvar DraftOffsetKey = __webpack_require__(/*! ./DraftOffsetKey */ \"./node_modules/draft-js/lib/DraftOffsetKey.js\");\nvar EditorState = __webpack_require__(/*! ./EditorState */ \"./node_modules/draft-js/lib/EditorState.js\");\nvar React = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n\nvar cx = __webpack_require__(/*! fbjs/lib/cx */ \"./node_modules/fbjs/lib/cx.js\");\nvar joinClasses = __webpack_require__(/*! fbjs/lib/joinClasses */ \"./node_modules/fbjs/lib/joinClasses.js\");\nvar nullthrows = __webpack_require__(/*! fbjs/lib/nullthrows */ \"./node_modules/fbjs/lib/nullthrows.js\");\n\n/**\n * Provide default styling for list items. This way, lists will be styled with\n * proper counters and indentation even if the caller does not specify\n * their own styling at all. If more than five levels of nesting are needed,\n * the necessary CSS classes can be provided via `blockStyleFn` configuration.\n */\nvar getListItemClasses = function getListItemClasses(type, depth, shouldResetCount, direction) {\n return cx({\n 'public/DraftStyleDefault/unorderedListItem': type === 'unordered-list-item',\n 'public/DraftStyleDefault/orderedListItem': type === 'ordered-list-item',\n 'public/DraftStyleDefault/reset': shouldResetCount,\n 'public/DraftStyleDefault/depth0': depth === 0,\n 'public/DraftStyleDefault/depth1': depth === 1,\n 'public/DraftStyleDefault/depth2': depth === 2,\n 'public/DraftStyleDefault/depth3': depth === 3,\n 'public/DraftStyleDefault/depth4': depth === 4,\n 'public/DraftStyleDefault/listLTR': direction === 'LTR',\n 'public/DraftStyleDefault/listRTL': direction === 'RTL'\n });\n};\n\n/**\n * `DraftEditorContents` is the container component for all block components\n * rendered for a `DraftEditor`. It is optimized to aggressively avoid\n * re-rendering blocks whenever possible.\n *\n * This component is separate from `DraftEditor` because certain props\n * (for instance, ARIA props) must be allowed to update without affecting\n * the contents of the editor.\n */\n\nvar DraftEditorContents = function (_React$Component) {\n _inherits(DraftEditorContents, _React$Component);\n\n function DraftEditorContents() {\n _classCallCheck(this, DraftEditorContents);\n\n return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n }\n\n DraftEditorContents.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {\n var prevEditorState = this.props.editorState;\n var nextEditorState = nextProps.editorState;\n\n var prevDirectionMap = prevEditorState.getDirectionMap();\n var nextDirectionMap = nextEditorState.getDirectionMap();\n\n // Text direction has changed for one or more blocks. We must re-render.\n if (prevDirectionMap !== nextDirectionMap) {\n return true;\n }\n\n var didHaveFocus = prevEditorState.getSelection().getHasFocus();\n var nowHasFocus = nextEditorState.getSelection().getHasFocus();\n\n if (didHaveFocus !== nowHasFocus) {\n return true;\n }\n\n var nextNativeContent = nextEditorState.getNativelyRenderedContent();\n\n var wasComposing = prevEditorState.isInCompositionMode();\n var nowComposing = nextEditorState.isInCompositionMode();\n\n // If the state is unchanged or we're currently rendering a natively\n // rendered state, there's nothing new to be done.\n if (prevEditorState === nextEditorState || nextNativeContent !== null && nextEditorState.getCurrentContent() === nextNativeContent || wasComposing && nowComposing) {\n return false;\n }\n\n var prevContent = prevEditorState.getCurrentContent();\n var nextContent = nextEditorState.getCurrentContent();\n var prevDecorator = prevEditorState.getDecorator();\n var nextDecorator = nextEditorState.getDecorator();\n return wasComposing !== nowComposing || prevContent !== nextContent || prevDecorator !== nextDecorator || nextEditorState.mustForceSelection();\n };\n\n DraftEditorContents.prototype.render = function render() {\n var _props = this.props,\n blockRenderMap = _props.blockRenderMap,\n blockRendererFn = _props.blockRendererFn,\n blockStyleFn = _props.blockStyleFn,\n customStyleMap = _props.customStyleMap,\n customStyleFn = _props.customStyleFn,\n editorState = _props.editorState,\n editorKey = _props.editorKey,\n textDirectionality = _props.textDirectionality;\n\n\n var content = editorState.getCurrentContent();\n var selection = editorState.getSelection();\n var forceSelection = editorState.mustForceSelection();\n var decorator = editorState.getDecorator();\n var directionMap = nullthrows(editorState.getDirectionMap());\n\n var blocksAsArray = content.getBlocksAsArray();\n var processedBlocks = [];\n\n var currentDepth = null;\n var lastWrapperTemplate = null;\n\n for (var ii = 0; ii < blocksAsArray.length; ii++) {\n var _block = blocksAsArray[ii];\n var key = _block.getKey();\n var blockType = _block.getType();\n\n var customRenderer = blockRendererFn(_block);\n var CustomComponent = void 0,\n customProps = void 0,\n customEditable = void 0;\n if (customRenderer) {\n CustomComponent = customRenderer.component;\n customProps = customRenderer.props;\n customEditable = customRenderer.editable;\n }\n\n var direction = textDirectionality ? textDirectionality : directionMap.get(key);\n var offsetKey = DraftOffsetKey.encode(key, 0, 0);\n var componentProps = {\n contentState: content,\n block: _block,\n blockProps: customProps,\n blockStyleFn: blockStyleFn,\n customStyleMap: customStyleMap,\n customStyleFn: customStyleFn,\n decorator: decorator,\n direction: direction,\n forceSelection: forceSelection,\n key: key,\n offsetKey: offsetKey,\n selection: selection,\n tree: editorState.getBlockTree(key)\n };\n\n var configForType = blockRenderMap.get(blockType) || blockRenderMap.get('unstyled');\n var wrapperTemplate = configForType.wrapper;\n\n var Element = configForType.element || blockRenderMap.get('unstyled').element;\n\n var depth = _block.getDepth();\n var className = '';\n if (blockStyleFn) {\n className = blockStyleFn(_block);\n }\n\n // List items are special snowflakes, since we handle nesting and\n // counters manually.\n if (Element === 'li') {\n var shouldResetCount = lastWrapperTemplate !== wrapperTemplate || currentDepth === null || depth > currentDepth;\n className = joinClasses(className, getListItemClasses(blockType, depth, shouldResetCount, direction));\n }\n\n var Component = CustomComponent || DraftEditorBlock;\n var childProps = {\n className: className,\n 'data-block': true,\n 'data-editor': editorKey,\n 'data-offset-key': offsetKey,\n key: key\n };\n if (customEditable !== undefined) {\n childProps = _extends({}, childProps, {\n contentEditable: customEditable,\n suppressContentEditableWarning: true\n });\n }\n\n var child = React.createElement(Element, childProps, React.createElement(Component, componentProps));\n\n processedBlocks.push({\n block: child,\n wrapperTemplate: wrapperTemplate,\n key: key,\n offsetKey: offsetKey\n });\n\n if (wrapperTemplate) {\n currentDepth = _block.getDepth();\n } else {\n currentDepth = null;\n }\n lastWrapperTemplate = wrapperTemplate;\n }\n\n // Group contiguous runs of blocks that have the same wrapperTemplate\n var outputBlocks = [];\n for (var _ii = 0; _ii < processedBlocks.length;) {\n var info = processedBlocks[_ii];\n if (info.wrapperTemplate) {\n var blocks = [];\n do {\n blocks.push(processedBlocks[_ii].block);\n _ii++;\n } while (_ii < processedBlocks.length && processedBlocks[_ii].wrapperTemplate === info.wrapperTemplate);\n var wrapperElement = React.cloneElement(info.wrapperTemplate, {\n key: info.key + '-wrap',\n 'data-offset-key': info.offsetKey\n }, blocks);\n outputBlocks.push(wrapperElement);\n } else {\n outputBlocks.push(info.block);\n _ii++;\n }\n }\n\n return React.createElement(\n 'div',\n { 'data-contents': 'true' },\n outputBlocks\n );\n };\n\n return DraftEditorContents;\n}(React.Component);\n\nmodule.exports = DraftEditorContents;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0RyYWZ0RWRpdG9yQ29udGVudHMtY29yZS5yZWFjdC5qcz82MzczIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFYTs7QUFFYixjQUFjLG1CQUFPLENBQUMsNERBQWU7O0FBRXJDLDZDQUE2QyxnQkFBZ0Isc0JBQXNCLE9BQU8sMkJBQTJCLDBCQUEwQix5REFBeUQsMkJBQTJCLEVBQUUsRUFBRSxFQUFFLGVBQWU7O0FBRXhQLGlEQUFpRCwwQ0FBMEMsMERBQTBELEVBQUU7O0FBRXZKLGlEQUFpRCxhQUFhLHVGQUF1RixFQUFFLHVGQUF1Rjs7QUFFOU8sMENBQTBDLCtEQUErRCxxR0FBcUcsRUFBRSx5RUFBeUUsZUFBZSx5RUFBeUUsRUFBRSxFQUFFLHVIQUF1SDs7QUFFNWUsdUJBQXVCLG1CQUFPLENBQUMsdUZBQTBCO0FBQ3pELHFCQUFxQixtQkFBTyxDQUFDLHVFQUFrQjtBQUMvQyxrQkFBa0IsbUJBQU8sQ0FBQyxpRUFBZTtBQUN6QyxZQUFZLG1CQUFPLENBQUMsNENBQU87O0FBRTNCLFNBQVMsbUJBQU8sQ0FBQyxrREFBYTtBQUM5QixrQkFBa0IsbUJBQU8sQ0FBQyxvRUFBc0I7QUFDaEQsaUJBQWlCLG1CQUFPLENBQUMsa0VBQXFCOztBQUU5QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBLG9CQUFvQiwyQkFBMkI7QUFDL0M7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0NBQWdDO0FBQ2hDO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87O0FBRVA7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EscUJBQXFCLDhCQUE4QjtBQUNuRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxPQUFPLDBCQUEwQjtBQUNqQztBQUNBO0FBQ0E7O0FBRUE7QUFDQSxDQUFDOztBQUVEIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2RyYWZ0LWpzL2xpYi9EcmFmdEVkaXRvckNvbnRlbnRzLWNvcmUucmVhY3QuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxMy1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuICogQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBCU0Qtc3R5bGUgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS4gQW4gYWRkaXRpb25hbCBncmFudFxuICogb2YgcGF0ZW50IHJpZ2h0cyBjYW4gYmUgZm91bmQgaW4gdGhlIFBBVEVOVFMgZmlsZSBpbiB0aGUgc2FtZSBkaXJlY3RvcnkuXG4gKlxuICogQHByb3ZpZGVzTW9kdWxlIERyYWZ0RWRpdG9yQ29udGVudHMtY29yZS5yZWFjdFxuICogQGZvcm1hdFxuICogXG4gKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG52YXIgX2Fzc2lnbiA9IHJlcXVpcmUoJ29iamVjdC1hc3NpZ24nKTtcblxudmFyIF9leHRlbmRzID0gX2Fzc2lnbiB8fCBmdW5jdGlvbiAodGFyZ2V0KSB7IGZvciAodmFyIGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7IHZhciBzb3VyY2UgPSBhcmd1bWVudHNbaV07IGZvciAodmFyIGtleSBpbiBzb3VyY2UpIHsgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzb3VyY2UsIGtleSkpIHsgdGFyZ2V0W2tleV0gPSBzb3VyY2Vba2V5XTsgfSB9IH0gcmV0dXJuIHRhcmdldDsgfTtcblxuZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGluc3RhbmNlLCBDb25zdHJ1Y3RvcikgeyBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpOyB9IH1cblxuZnVuY3Rpb24gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4oc2VsZiwgY2FsbCkgeyBpZiAoIXNlbGYpIHsgdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKFwidGhpcyBoYXNuJ3QgYmVlbiBpbml0aWFsaXNlZCAtIHN1cGVyKCkgaGFzbid0IGJlZW4gY2FsbGVkXCIpOyB9IHJldHVybiBjYWxsICYmICh0eXBlb2YgY2FsbCA9PT0gXCJvYmplY3RcIiB8fCB0eXBlb2YgY2FsbCA9PT0gXCJmdW5jdGlvblwiKSA/IGNhbGwgOiBzZWxmOyB9XG5cbmZ1bmN0aW9uIF9pbmhlcml0cyhzdWJDbGFzcywgc3VwZXJDbGFzcykgeyBpZiAodHlwZW9mIHN1cGVyQ2xhc3MgIT09IFwiZnVuY3Rpb25cIiAmJiBzdXBlckNsYXNzICE9PSBudWxsKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJTdXBlciBleHByZXNzaW9uIG11c3QgZWl0aGVyIGJlIG51bGwgb3IgYSBmdW5jdGlvbiwgbm90IFwiICsgdHlwZW9mIHN1cGVyQ2xhc3MpOyB9IHN1YkNsYXNzLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoc3VwZXJDbGFzcyAmJiBzdXBlckNsYXNzLnByb3RvdHlwZSwgeyBjb25zdHJ1Y3RvcjogeyB2YWx1ZTogc3ViQ2xhc3MsIGVudW1lcmFibGU6IGZhbHNlLCB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlIH0gfSk7IGlmIChzdXBlckNsYXNzKSBPYmplY3Quc2V0UHJvdG90eXBlT2YgPyBPYmplY3Quc2V0UHJvdG90eXBlT2Yoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpIDogc3ViQ2xhc3MuX19wcm90b19fID0gc3VwZXJDbGFzczsgfVxuXG52YXIgRHJhZnRFZGl0b3JCbG9jayA9IHJlcXVpcmUoJy4vRHJhZnRFZGl0b3JCbG9jay5yZWFjdCcpO1xudmFyIERyYWZ0T2Zmc2V0S2V5ID0gcmVxdWlyZSgnLi9EcmFmdE9mZnNldEtleScpO1xudmFyIEVkaXRvclN0YXRlID0gcmVxdWlyZSgnLi9FZGl0b3JTdGF0ZScpO1xudmFyIFJlYWN0ID0gcmVxdWlyZSgncmVhY3QnKTtcblxudmFyIGN4ID0gcmVxdWlyZSgnZmJqcy9saWIvY3gnKTtcbnZhciBqb2luQ2xhc3NlcyA9IHJlcXVpcmUoJ2ZianMvbGliL2pvaW5DbGFzc2VzJyk7XG52YXIgbnVsbHRocm93cyA9IHJlcXVpcmUoJ2ZianMvbGliL251bGx0aHJvd3MnKTtcblxuLyoqXG4gKiBQcm92aWRlIGRlZmF1bHQgc3R5bGluZyBmb3IgbGlzdCBpdGVtcy4gVGhpcyB3YXksIGxpc3RzIHdpbGwgYmUgc3R5bGVkIHdpdGhcbiAqIHByb3BlciBjb3VudGVycyBhbmQgaW5kZW50YXRpb24gZXZlbiBpZiB0aGUgY2FsbGVyIGRvZXMgbm90IHNwZWNpZnlcbiAqIHRoZWlyIG93biBzdHlsaW5nIGF0IGFsbC4gSWYgbW9yZSB0aGFuIGZpdmUgbGV2ZWxzIG9mIG5lc3RpbmcgYXJlIG5lZWRlZCxcbiAqIHRoZSBuZWNlc3NhcnkgQ1NTIGNsYXNzZXMgY2FuIGJlIHByb3ZpZGVkIHZpYSBgYmxvY2tTdHlsZUZuYCBjb25maWd1cmF0aW9uLlxuICovXG52YXIgZ2V0TGlzdEl0ZW1DbGFzc2VzID0gZnVuY3Rpb24gZ2V0TGlzdEl0ZW1DbGFzc2VzKHR5cGUsIGRlcHRoLCBzaG91bGRSZXNldENvdW50LCBkaXJlY3Rpb24pIHtcbiAgcmV0dXJuIGN4KHtcbiAgICAncHVibGljL0RyYWZ0U3R5bGVEZWZhdWx0L3Vub3JkZXJlZExpc3RJdGVtJzogdHlwZSA9PT0gJ3Vub3JkZXJlZC1saXN0LWl0ZW0nLFxuICAgICdwdWJsaWMvRHJhZnRTdHlsZURlZmF1bHQvb3JkZXJlZExpc3RJdGVtJzogdHlwZSA9PT0gJ29yZGVyZWQtbGlzdC1pdGVtJyxcbiAgICAncHVibGljL0RyYWZ0U3R5bGVEZWZhdWx0L3Jlc2V0Jzogc2hvdWxkUmVzZXRDb3VudCxcbiAgICAncHVibGljL0RyYWZ0U3R5bGVEZWZhdWx0L2RlcHRoMCc6IGRlcHRoID09PSAwLFxuICAgICdwdWJsaWMvRHJhZnRTdHlsZURlZmF1bHQvZGVwdGgxJzogZGVwdGggPT09IDEsXG4gICAgJ3B1YmxpYy9EcmFmdFN0eWxlRGVmYXVsdC9kZXB0aDInOiBkZXB0aCA9PT0gMixcbiAgICAncHVibGljL0RyYWZ0U3R5bGVEZWZhdWx0L2RlcHRoMyc6IGRlcHRoID09PSAzLFxuICAgICdwdWJsaWMvRHJhZnRTdHlsZURlZmF1bHQvZGVwdGg0JzogZGVwdGggPT09IDQsXG4gICAgJ3B1YmxpYy9EcmFmdFN0eWxlRGVmYXVsdC9saXN0TFRSJzogZGlyZWN0aW9uID09PSAnTFRSJyxcbiAgICAncHVibGljL0RyYWZ0U3R5bGVEZWZhdWx0L2xpc3RSVEwnOiBkaXJlY3Rpb24gPT09ICdSVEwnXG4gIH0pO1xufTtcblxuLyoqXG4gKiBgRHJhZnRFZGl0b3JDb250ZW50c2AgaXMgdGhlIGNvbnRhaW5lciBjb21wb25lbnQgZm9yIGFsbCBibG9jayBjb21wb25lbnRzXG4gKiByZW5kZXJlZCBmb3IgYSBgRHJhZnRFZGl0b3JgLiBJdCBpcyBvcHRpbWl6ZWQgdG8gYWdncmVzc2l2ZWx5IGF2b2lkXG4gKiByZS1yZW5kZXJpbmcgYmxvY2tzIHdoZW5ldmVyIHBvc3NpYmxlLlxuICpcbiAqIFRoaXMgY29tcG9uZW50IGlzIHNlcGFyYXRlIGZyb20gYERyYWZ0RWRpdG9yYCBiZWNhdXNlIGNlcnRhaW4gcHJvcHNcbiAqIChmb3IgaW5zdGFuY2UsIEFSSUEgcHJvcHMpIG11c3QgYmUgYWxsb3dlZCB0byB1cGRhdGUgd2l0aG91dCBhZmZlY3RpbmdcbiAqIHRoZSBjb250ZW50cyBvZiB0aGUgZWRpdG9yLlxuICovXG5cbnZhciBEcmFmdEVkaXRvckNvbnRlbnRzID0gZnVuY3Rpb24gKF9SZWFjdCRDb21wb25lbnQpIHtcbiAgX2luaGVyaXRzKERyYWZ0RWRpdG9yQ29udGVudHMsIF9SZWFjdCRDb21wb25lbnQpO1xuXG4gIGZ1bmN0aW9uIERyYWZ0RWRpdG9yQ29udGVudHMoKSB7XG4gICAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIERyYWZ0RWRpdG9yQ29udGVudHMpO1xuXG4gICAgcmV0dXJuIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHRoaXMsIF9SZWFjdCRDb21wb25lbnQuYXBwbHkodGhpcywgYXJndW1lbnRzKSk7XG4gIH1cblxuICBEcmFmdEVkaXRvckNvbnRlbnRzLnByb3RvdHlwZS5zaG91bGRDb21wb25lbnRVcGRhdGUgPSBmdW5jdGlvbiBzaG91bGRDb21wb25lbnRVcGRhdGUobmV4dFByb3BzKSB7XG4gICAgdmFyIHByZXZFZGl0b3JTdGF0ZSA9IHRoaXMucHJvcHMuZWRpdG9yU3RhdGU7XG4gICAgdmFyIG5leHRFZGl0b3JTdGF0ZSA9IG5leHRQcm9wcy5lZGl0b3JTdGF0ZTtcblxuICAgIHZhciBwcmV2RGlyZWN0aW9uTWFwID0gcHJldkVkaXRvclN0YXRlLmdldERpcmVjdGlvbk1hcCgpO1xuICAgIHZhciBuZXh0RGlyZWN0aW9uTWFwID0gbmV4dEVkaXRvclN0YXRlLmdldERpcmVjdGlvbk1hcCgpO1xuXG4gICAgLy8gVGV4dCBkaXJlY3Rpb24gaGFzIGNoYW5nZWQgZm9yIG9uZSBvciBtb3JlIGJsb2Nrcy4gV2UgbXVzdCByZS1yZW5kZXIuXG4gICAgaWYgKHByZXZEaXJlY3Rpb25NYXAgIT09IG5leHREaXJlY3Rpb25NYXApIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHZhciBkaWRIYXZlRm9jdXMgPSBwcmV2RWRpdG9yU3RhdGUuZ2V0U2VsZWN0aW9uKCkuZ2V0SGFzRm9jdXMoKTtcbiAgICB2YXIgbm93SGFzRm9jdXMgPSBuZXh0RWRpdG9yU3RhdGUuZ2V0U2VsZWN0aW9uKCkuZ2V0SGFzRm9jdXMoKTtcblxuICAgIGlmIChkaWRIYXZlRm9jdXMgIT09IG5vd0hhc0ZvY3VzKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICB2YXIgbmV4dE5hdGl2ZUNvbnRlbnQgPSBuZXh0RWRpdG9yU3RhdGUuZ2V0TmF0aXZlbHlSZW5kZXJlZENvbnRlbnQoKTtcblxuICAgIHZhciB3YXNDb21wb3NpbmcgPSBwcmV2RWRpdG9yU3RhdGUuaXNJbkNvbXBvc2l0aW9uTW9kZSgpO1xuICAgIHZhciBub3dDb21wb3NpbmcgPSBuZXh0RWRpdG9yU3RhdGUuaXNJbkNvbXBvc2l0aW9uTW9kZSgpO1xuXG4gICAgLy8gSWYgdGhlIHN0YXRlIGlzIHVuY2hhbmdlZCBvciB3ZSdyZSBjdXJyZW50bHkgcmVuZGVyaW5nIGEgbmF0aXZlbHlcbiAgICAvLyByZW5kZXJlZCBzdGF0ZSwgdGhlcmUncyBub3RoaW5nIG5ldyB0byBiZSBkb25lLlxuICAgIGlmIChwcmV2RWRpdG9yU3RhdGUgPT09IG5leHRFZGl0b3JTdGF0ZSB8fCBuZXh0TmF0aXZlQ29udGVudCAhPT0gbnVsbCAmJiBuZXh0RWRpdG9yU3RhdGUuZ2V0Q3VycmVudENvbnRlbnQoKSA9PT0gbmV4dE5hdGl2ZUNvbnRlbnQgfHwgd2FzQ29tcG9zaW5nICYmIG5vd0NvbXBvc2luZykge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHZhciBwcmV2Q29udGVudCA9IHByZXZFZGl0b3JTdGF0ZS5nZXRDdXJyZW50Q29udGVudCgpO1xuICAgIHZhciBuZXh0Q29udGVudCA9IG5leHRFZGl0b3JTdGF0ZS5nZXRDdXJyZW50Q29udGVudCgpO1xuICAgIHZhciBwcmV2RGVjb3JhdG9yID0gcHJldkVkaXRvclN0YXRlLmdldERlY29yYXRvcigpO1xuICAgIHZhciBuZXh0RGVjb3JhdG9yID0gbmV4dEVkaXRvclN0YXRlLmdldERlY29yYXRvcigpO1xuICAgIHJldHVybiB3YXNDb21wb3NpbmcgIT09IG5vd0NvbXBvc2luZyB8fCBwcmV2Q29udGVudCAhPT0gbmV4dENvbnRlbnQgfHwgcHJldkRlY29yYXRvciAhPT0gbmV4dERlY29yYXRvciB8fCBuZXh0RWRpdG9yU3RhdGUubXVzdEZvcmNlU2VsZWN0aW9uKCk7XG4gIH07XG5cbiAgRHJhZnRFZGl0b3JDb250ZW50cy5wcm90b3R5cGUucmVuZGVyID0gZnVuY3Rpb24gcmVuZGVyKCkge1xuICAgIHZhciBfcHJvcHMgPSB0aGlzLnByb3BzLFxuICAgICAgICBibG9ja1JlbmRlck1hcCA9IF9wcm9wcy5ibG9ja1JlbmRlck1hcCxcbiAgICAgICAgYmxvY2tSZW5kZXJlckZuID0gX3Byb3BzLmJsb2NrUmVuZGVyZXJGbixcbiAgICAgICAgYmxvY2tTdHlsZUZuID0gX3Byb3BzLmJsb2NrU3R5bGVGbixcbiAgICAgICAgY3VzdG9tU3R5bGVNYXAgPSBfcHJvcHMuY3VzdG9tU3R5bGVNYXAsXG4gICAgICAgIGN1c3RvbVN0eWxlRm4gPSBfcHJvcHMuY3VzdG9tU3R5bGVGbixcbiAgICAgICAgZWRpdG9yU3RhdGUgPSBfcHJvcHMuZWRpdG9yU3RhdGUsXG4gICAgICAgIGVkaXRvcktleSA9IF9wcm9wcy5lZGl0b3JLZXksXG4gICAgICAgIHRleHREaXJlY3Rpb25hbGl0eSA9IF9wcm9wcy50ZXh0RGlyZWN0aW9uYWxpdHk7XG5cblxuICAgIHZhciBjb250ZW50ID0gZWRpdG9yU3RhdGUuZ2V0Q3VycmVudENvbnRlbnQoKTtcbiAgICB2YXIgc2VsZWN0aW9uID0gZWRpdG9yU3RhdGUuZ2V0U2VsZWN0aW9uKCk7XG4gICAgdmFyIGZvcmNlU2VsZWN0aW9uID0gZWRpdG9yU3RhdGUubXVzdEZvcmNlU2VsZWN0aW9uKCk7XG4gICAgdmFyIGRlY29yYXRvciA9IGVkaXRvclN0YXRlLmdldERlY29yYXRvcigpO1xuICAgIHZhciBkaXJlY3Rpb25NYXAgPSBudWxsdGhyb3dzKGVkaXRvclN0YXRlLmdldERpcmVjdGlvbk1hcCgpKTtcblxuICAgIHZhciBibG9ja3NBc0FycmF5ID0gY29udGVudC5nZXRCbG9ja3NBc0FycmF5KCk7XG4gICAgdmFyIHByb2Nlc3NlZEJsb2NrcyA9IFtdO1xuXG4gICAgdmFyIGN1cnJlbnREZXB0aCA9IG51bGw7XG4gICAgdmFyIGxhc3RXcmFwcGVyVGVtcGxhdGUgPSBudWxsO1xuXG4gICAgZm9yICh2YXIgaWkgPSAwOyBpaSA8IGJsb2Nrc0FzQXJyYXkubGVuZ3RoOyBpaSsrKSB7XG4gICAgICB2YXIgX2Jsb2NrID0gYmxvY2tzQXNBcnJheVtpaV07XG4gICAgICB2YXIga2V5ID0gX2Jsb2NrLmdldEtleSgpO1xuICAgICAgdmFyIGJsb2NrVHlwZSA9IF9ibG9jay5nZXRUeXBlKCk7XG5cbiAgICAgIHZhciBjdXN0b21SZW5kZXJlciA9IGJsb2NrUmVuZGVyZXJGbihfYmxvY2spO1xuICAgICAgdmFyIEN1c3RvbUNvbXBvbmVudCA9IHZvaWQgMCxcbiAgICAgICAgICBjdXN0b21Qcm9wcyA9IHZvaWQgMCxcbiAgICAgICAgICBjdXN0b21FZGl0YWJsZSA9IHZvaWQgMDtcbiAgICAgIGlmIChjdXN0b21SZW5kZXJlcikge1xuICAgICAgICBDdXN0b21Db21wb25lbnQgPSBjdXN0b21SZW5kZXJlci5jb21wb25lbnQ7XG4gICAgICAgIGN1c3RvbVByb3BzID0gY3VzdG9tUmVuZGVyZXIucHJvcHM7XG4gICAgICAgIGN1c3RvbUVkaXRhYmxlID0gY3VzdG9tUmVuZGVyZXIuZWRpdGFibGU7XG4gICAgICB9XG5cbiAgICAgIHZhciBkaXJlY3Rpb24gPSB0ZXh0RGlyZWN0aW9uYWxpdHkgPyB0ZXh0RGlyZWN0aW9uYWxpdHkgOiBkaXJlY3Rpb25NYXAuZ2V0KGtleSk7XG4gICAgICB2YXIgb2Zmc2V0S2V5ID0gRHJhZnRPZmZzZXRLZXkuZW5jb2RlKGtleSwgMCwgMCk7XG4gICAgICB2YXIgY29tcG9uZW50UHJvcHMgPSB7XG4gICAgICAgIGNvbnRlbnRTdGF0ZTogY29udGVudCxcbiAgICAgICAgYmxvY2s6IF9ibG9jayxcbiAgICAgICAgYmxvY2tQcm9wczogY3VzdG9tUHJvcHMsXG4gICAgICAgIGJsb2NrU3R5bGVGbjogYmxvY2tTdHlsZUZuLFxuICAgICAgICBjdXN0b21TdHlsZU1hcDogY3VzdG9tU3R5bGVNYXAsXG4gICAgICAgIGN1c3RvbVN0eWxlRm46IGN1c3RvbVN0eWxlRm4sXG4gICAgICAgIGRlY29yYXRvcjogZGVjb3JhdG9yLFxuICAgICAgICBkaXJlY3Rpb246IGRpcmVjdGlvbixcbiAgICAgICAgZm9yY2VTZWxlY3Rpb246IGZvcmNlU2VsZWN0aW9uLFxuICAgICAgICBrZXk6IGtleSxcbiAgICAgICAgb2Zmc2V0S2V5OiBvZmZzZXRLZXksXG4gICAgICAgIHNlbGVjdGlvbjogc2VsZWN0aW9uLFxuICAgICAgICB0cmVlOiBlZGl0b3JTdGF0ZS5nZXRCbG9ja1RyZWUoa2V5KVxuICAgICAgfTtcblxuICAgICAgdmFyIGNvbmZpZ0ZvclR5cGUgPSBibG9ja1JlbmRlck1hcC5nZXQoYmxvY2tUeXBlKSB8fCBibG9ja1JlbmRlck1hcC5nZXQoJ3Vuc3R5bGVkJyk7XG4gICAgICB2YXIgd3JhcHBlclRlbXBsYXRlID0gY29uZmlnRm9yVHlwZS53cmFwcGVyO1xuXG4gICAgICB2YXIgRWxlbWVudCA9IGNvbmZpZ0ZvclR5cGUuZWxlbWVudCB8fCBibG9ja1JlbmRlck1hcC5nZXQoJ3Vuc3R5bGVkJykuZWxlbWVudDtcblxuICAgICAgdmFyIGRlcHRoID0gX2Jsb2NrLmdldERlcHRoKCk7XG4gICAgICB2YXIgY2xhc3NOYW1lID0gJyc7XG4gICAgICBpZiAoYmxvY2tTdHlsZUZuKSB7XG4gICAgICAgIGNsYXNzTmFtZSA9IGJsb2NrU3R5bGVGbihfYmxvY2spO1xuICAgICAgfVxuXG4gICAgICAvLyBMaXN0IGl0ZW1zIGFyZSBzcGVjaWFsIHNub3dmbGFrZXMsIHNpbmNlIHdlIGhhbmRsZSBuZXN0aW5nIGFuZFxuICAgICAgLy8gY291bnRlcnMgbWFudWFsbHkuXG4gICAgICBpZiAoRWxlbWVudCA9PT0gJ2xpJykge1xuICAgICAgICB2YXIgc2hvdWxkUmVzZXRDb3VudCA9IGxhc3RXcmFwcGVyVGVtcGxhdGUgIT09IHdyYXBwZXJUZW1wbGF0ZSB8fCBjdXJyZW50RGVwdGggPT09IG51bGwgfHwgZGVwdGggPiBjdXJyZW50RGVwdGg7XG4gICAgICAgIGNsYXNzTmFtZSA9IGpvaW5DbGFzc2VzKGNsYXNzTmFtZSwgZ2V0TGlzdEl0ZW1DbGFzc2VzKGJsb2NrVHlwZSwgZGVwdGgsIHNob3VsZFJlc2V0Q291bnQsIGRpcmVjdGlvbikpO1xuICAgICAgfVxuXG4gICAgICB2YXIgQ29tcG9uZW50ID0gQ3VzdG9tQ29tcG9uZW50IHx8IERyYWZ0RWRpdG9yQmxvY2s7XG4gICAgICB2YXIgY2hpbGRQcm9wcyA9IHtcbiAgICAgICAgY2xhc3NOYW1lOiBjbGFzc05hbWUsXG4gICAgICAgICdkYXRhLWJsb2NrJzogdHJ1ZSxcbiAgICAgICAgJ2RhdGEtZWRpdG9yJzogZWRpdG9yS2V5LFxuICAgICAgICAnZGF0YS1vZmZzZXQta2V5Jzogb2Zmc2V0S2V5LFxuICAgICAgICBrZXk6IGtleVxuICAgICAgfTtcbiAgICAgIGlmIChjdXN0b21FZGl0YWJsZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGNoaWxkUHJvcHMgPSBfZXh0ZW5kcyh7fSwgY2hpbGRQcm9wcywge1xuICAgICAgICAgIGNvbnRlbnRFZGl0YWJsZTogY3VzdG9tRWRpdGFibGUsXG4gICAgICAgICAgc3VwcHJlc3NDb250ZW50RWRpdGFibGVXYXJuaW5nOiB0cnVlXG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICB2YXIgY2hpbGQgPSBSZWFjdC5jcmVhdGVFbGVtZW50KEVsZW1lbnQsIGNoaWxkUHJvcHMsIFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ29tcG9uZW50LCBjb21wb25lbnRQcm9wcykpO1xuXG4gICAgICBwcm9jZXNzZWRCbG9ja3MucHVzaCh7XG4gICAgICAgIGJsb2NrOiBjaGlsZCxcbiAgICAgICAgd3JhcHBlclRlbXBsYXRlOiB3cmFwcGVyVGVtcGxhdGUsXG4gICAgICAgIGtleToga2V5LFxuICAgICAgICBvZmZzZXRLZXk6IG9mZnNldEtleVxuICAgICAgfSk7XG5cbiAgICAgIGlmICh3cmFwcGVyVGVtcGxhdGUpIHtcbiAgICAgICAgY3VycmVudERlcHRoID0gX2Jsb2NrLmdldERlcHRoKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjdXJyZW50RGVwdGggPSBudWxsO1xuICAgICAgfVxuICAgICAgbGFzdFdyYXBwZXJUZW1wbGF0ZSA9IHdyYXBwZXJUZW1wbGF0ZTtcbiAgICB9XG5cbiAgICAvLyBHcm91cCBjb250aWd1b3VzIHJ1bnMgb2YgYmxvY2tzIHRoYXQgaGF2ZSB0aGUgc2FtZSB3cmFwcGVyVGVtcGxhdGVcbiAgICB2YXIgb3V0cHV0QmxvY2tzID0gW107XG4gICAgZm9yICh2YXIgX2lpID0gMDsgX2lpIDwgcHJvY2Vzc2VkQmxvY2tzLmxlbmd0aDspIHtcbiAgICAgIHZhciBpbmZvID0gcHJvY2Vzc2VkQmxvY2tzW19paV07XG4gICAgICBpZiAoaW5mby53cmFwcGVyVGVtcGxhdGUpIHtcbiAgICAgICAgdmFyIGJsb2NrcyA9IFtdO1xuICAgICAgICBkbyB7XG4gICAgICAgICAgYmxvY2tzLnB1c2gocHJvY2Vzc2VkQmxvY2tzW19paV0uYmxvY2spO1xuICAgICAgICAgIF9paSsrO1xuICAgICAgICB9IHdoaWxlIChfaWkgPCBwcm9jZXNzZWRCbG9ja3MubGVuZ3RoICYmIHByb2Nlc3NlZEJsb2Nrc1tfaWldLndyYXBwZXJUZW1wbGF0ZSA9PT0gaW5mby53cmFwcGVyVGVtcGxhdGUpO1xuICAgICAgICB2YXIgd3JhcHBlckVsZW1lbnQgPSBSZWFjdC5jbG9uZUVsZW1lbnQoaW5mby53cmFwcGVyVGVtcGxhdGUsIHtcbiAgICAgICAgICBrZXk6IGluZm8ua2V5ICsgJy13cmFwJyxcbiAgICAgICAgICAnZGF0YS1vZmZzZXQta2V5JzogaW5mby5vZmZzZXRLZXlcbiAgICAgICAgfSwgYmxvY2tzKTtcbiAgICAgICAgb3V0cHV0QmxvY2tzLnB1c2god3JhcHBlckVsZW1lbnQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgb3V0cHV0QmxvY2tzLnB1c2goaW5mby5ibG9jayk7XG4gICAgICAgIF9paSsrO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBSZWFjdC5jcmVhdGVFbGVtZW50KFxuICAgICAgJ2RpdicsXG4gICAgICB7ICdkYXRhLWNvbnRlbnRzJzogJ3RydWUnIH0sXG4gICAgICBvdXRwdXRCbG9ja3NcbiAgICApO1xuICB9O1xuXG4gIHJldHVybiBEcmFmdEVkaXRvckNvbnRlbnRzO1xufShSZWFjdC5Db21wb25lbnQpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IERyYWZ0RWRpdG9yQ29udGVudHM7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/DraftEditorContents-core.react.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nvar _assign = __webpack_require__(/*! object-assign */ \"./node_modules/object-assign/index.js\");\n\nfunction _extends() { _extends = _assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar DraftEditorBlock = __webpack_require__(/*! ./DraftEditorBlock.react */ \"./node_modules/draft-js/lib/DraftEditorBlock.react.js\");\n\nvar DraftOffsetKey = __webpack_require__(/*! ./DraftOffsetKey */ \"./node_modules/draft-js/lib/DraftOffsetKey.js\");\n\nvar React = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n\nvar cx = __webpack_require__(/*! fbjs/lib/cx */ \"./node_modules/fbjs/lib/cx.js\");\n\nvar joinClasses = __webpack_require__(/*! fbjs/lib/joinClasses */ \"./node_modules/fbjs/lib/joinClasses.js\");\n\nvar nullthrows = __webpack_require__(/*! fbjs/lib/nullthrows */ \"./node_modules/fbjs/lib/nullthrows.js\");\n\n/**\n * Provide default styling for list items. This way, lists will be styled with\n * proper counters and indentation even if the caller does not specify\n * their own styling at all. If more than five levels of nesting are needed,\n * the necessary CSS classes can be provided via `blockStyleFn` configuration.\n */\nvar getListItemClasses = function getListItemClasses(type, depth, shouldResetCount, direction) {\n return cx({\n 'public/DraftStyleDefault/unorderedListItem': type === 'unordered-list-item',\n 'public/DraftStyleDefault/orderedListItem': type === 'ordered-list-item',\n 'public/DraftStyleDefault/reset': shouldResetCount,\n 'public/DraftStyleDefault/depth0': depth === 0,\n 'public/DraftStyleDefault/depth1': depth === 1,\n 'public/DraftStyleDefault/depth2': depth === 2,\n 'public/DraftStyleDefault/depth3': depth === 3,\n 'public/DraftStyleDefault/depth4': depth >= 4,\n 'public/DraftStyleDefault/listLTR': direction === 'LTR',\n 'public/DraftStyleDefault/listRTL': direction === 'RTL'\n });\n};\n/**\n * `DraftEditorContents` is the container component for all block components\n * rendered for a `DraftEditor`. It is optimized to aggressively avoid\n * re-rendering blocks whenever possible.\n *\n * This component is separate from `DraftEditor` because certain props\n * (for instance, ARIA props) must be allowed to update without affecting\n * the contents of the editor.\n */\n\n\nvar DraftEditorContents =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(DraftEditorContents, _React$Component);\n\n function DraftEditorContents() {\n return _React$Component.apply(this, arguments) || this;\n }\n\n var _proto = DraftEditorContents.prototype;\n\n _proto.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {\n var prevEditorState = this.props.editorState;\n var nextEditorState = nextProps.editorState;\n var prevDirectionMap = prevEditorState.getDirectionMap();\n var nextDirectionMap = nextEditorState.getDirectionMap(); // Text direction has changed for one or more blocks. We must re-render.\n\n if (prevDirectionMap !== nextDirectionMap) {\n return true;\n }\n\n var didHaveFocus = prevEditorState.getSelection().getHasFocus();\n var nowHasFocus = nextEditorState.getSelection().getHasFocus();\n\n if (didHaveFocus !== nowHasFocus) {\n return true;\n }\n\n var nextNativeContent = nextEditorState.getNativelyRenderedContent();\n var wasComposing = prevEditorState.isInCompositionMode();\n var nowComposing = nextEditorState.isInCompositionMode(); // If the state is unchanged or we're currently rendering a natively\n // rendered state, there's nothing new to be done.\n\n if (prevEditorState === nextEditorState || nextNativeContent !== null && nextEditorState.getCurrentContent() === nextNativeContent || wasComposing && nowComposing) {\n return false;\n }\n\n var prevContent = prevEditorState.getCurrentContent();\n var nextContent = nextEditorState.getCurrentContent();\n var prevDecorator = prevEditorState.getDecorator();\n var nextDecorator = nextEditorState.getDecorator();\n return wasComposing !== nowComposing || prevContent !== nextContent || prevDecorator !== nextDecorator || nextEditorState.mustForceSelection();\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n blockRenderMap = _this$props.blockRenderMap,\n blockRendererFn = _this$props.blockRendererFn,\n blockStyleFn = _this$props.blockStyleFn,\n customStyleMap = _this$props.customStyleMap,\n customStyleFn = _this$props.customStyleFn,\n editorState = _this$props.editorState,\n editorKey = _this$props.editorKey,\n textDirectionality = _this$props.textDirectionality;\n var content = editorState.getCurrentContent();\n var selection = editorState.getSelection();\n var forceSelection = editorState.mustForceSelection();\n var decorator = editorState.getDecorator();\n var directionMap = nullthrows(editorState.getDirectionMap());\n var blocksAsArray = content.getBlocksAsArray();\n var processedBlocks = [];\n var currentDepth = null;\n var lastWrapperTemplate = null;\n\n for (var ii = 0; ii < blocksAsArray.length; ii++) {\n var _block = blocksAsArray[ii];\n\n var key = _block.getKey();\n\n var blockType = _block.getType();\n\n var customRenderer = blockRendererFn(_block);\n var CustomComponent = void 0,\n customProps = void 0,\n customEditable = void 0;\n\n if (customRenderer) {\n CustomComponent = customRenderer.component;\n customProps = customRenderer.props;\n customEditable = customRenderer.editable;\n }\n\n var direction = textDirectionality ? textDirectionality : directionMap.get(key);\n var offsetKey = DraftOffsetKey.encode(key, 0, 0);\n var componentProps = {\n contentState: content,\n block: _block,\n blockProps: customProps,\n blockStyleFn: blockStyleFn,\n customStyleMap: customStyleMap,\n customStyleFn: customStyleFn,\n decorator: decorator,\n direction: direction,\n forceSelection: forceSelection,\n offsetKey: offsetKey,\n selection: selection,\n tree: editorState.getBlockTree(key)\n };\n var configForType = blockRenderMap.get(blockType) || blockRenderMap.get('unstyled');\n var wrapperTemplate = configForType.wrapper;\n var Element = configForType.element || blockRenderMap.get('unstyled').element;\n\n var depth = _block.getDepth();\n\n var _className = '';\n\n if (blockStyleFn) {\n _className = blockStyleFn(_block);\n } // List items are special snowflakes, since we handle nesting and\n // counters manually.\n\n\n if (Element === 'li') {\n var shouldResetCount = lastWrapperTemplate !== wrapperTemplate || currentDepth === null || depth > currentDepth;\n _className = joinClasses(_className, getListItemClasses(blockType, depth, shouldResetCount, direction));\n }\n\n var Component = CustomComponent || DraftEditorBlock;\n var childProps = {\n className: _className,\n 'data-block': true,\n 'data-editor': editorKey,\n 'data-offset-key': offsetKey,\n key: key\n };\n\n if (customEditable !== undefined) {\n childProps = _objectSpread({}, childProps, {\n contentEditable: customEditable,\n suppressContentEditableWarning: true\n });\n }\n\n var child = React.createElement(Element, childProps,\n /* $FlowFixMe(>=0.112.0 site=mobile) This comment suppresses an error\n * found when Flow v0.112 was deployed. To see the error delete this\n * comment and run Flow. */\n\n /* $FlowFixMe(>=0.112.0 site=www) This comment suppresses an error\n * found when Flow v0.112 was deployed. To see the error delete this\n * comment and run Flow. */\n\n /* $FlowFixMe(>=0.112.0 site=www,mobile) This comment suppresses an\n * error found when Flow v0.112 was deployed. To see the error delete\n * this comment and run Flow. */\n React.createElement(Component, _extends({}, componentProps, {\n key: key\n })));\n processedBlocks.push({\n block: child,\n wrapperTemplate: wrapperTemplate,\n key: key,\n offsetKey: offsetKey\n });\n\n if (wrapperTemplate) {\n currentDepth = _block.getDepth();\n } else {\n currentDepth = null;\n }\n\n lastWrapperTemplate = wrapperTemplate;\n } // Group contiguous runs of blocks that have the same wrapperTemplate\n\n\n var outputBlocks = [];\n\n for (var _ii = 0; _ii < processedBlocks.length;) {\n var info = processedBlocks[_ii];\n\n if (info.wrapperTemplate) {\n var blocks = [];\n\n do {\n blocks.push(processedBlocks[_ii].block);\n _ii++;\n } while (_ii < processedBlocks.length && processedBlocks[_ii].wrapperTemplate === info.wrapperTemplate);\n\n var wrapperElement = React.cloneElement(info.wrapperTemplate, {\n key: info.key + '-wrap',\n 'data-offset-key': info.offsetKey\n }, blocks);\n outputBlocks.push(wrapperElement);\n } else {\n outputBlocks.push(info.block);\n _ii++;\n }\n }\n\n return React.createElement(\"div\", {\n \"data-contents\": \"true\"\n }, outputBlocks);\n };\n\n return DraftEditorContents;\n}(React.Component);\n\nmodule.exports = DraftEditorContents;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0RyYWZ0RWRpdG9yQ29udGVudHMtY29yZS5yZWFjdC5qcz82MzczIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ2E7O0FBRWIsY0FBYyxtQkFBTyxDQUFDLDREQUFlOztBQUVyQyxxQkFBcUIsMENBQTBDLGdCQUFnQixzQkFBc0IsT0FBTywyQkFBMkIsMEJBQTBCLHlEQUF5RCwyQkFBMkIsRUFBRSxFQUFFLEVBQUUsZUFBZSxHQUFHLHdDQUF3Qzs7QUFFclQsZ0NBQWdDLGdCQUFnQixzQkFBc0IsT0FBTyx1REFBdUQsbUNBQW1DLDBEQUEwRCxzRkFBc0YsZ0VBQWdFLEVBQUUsR0FBRyxFQUFFLGlDQUFpQywyQ0FBMkMsRUFBRSxFQUFFLEVBQUUsZUFBZTs7QUFFL2QsMkNBQTJDLGtCQUFrQixrQ0FBa0MscUVBQXFFLEVBQUUsRUFBRSxPQUFPLGtCQUFrQixFQUFFLFlBQVk7O0FBRS9NLCtDQUErQywwREFBMEQsMkNBQTJDLGlDQUFpQzs7QUFFckwsdUJBQXVCLG1CQUFPLENBQUMsdUZBQTBCOztBQUV6RCxxQkFBcUIsbUJBQU8sQ0FBQyx1RUFBa0I7O0FBRS9DLFlBQVksbUJBQU8sQ0FBQyw0Q0FBTzs7QUFFM0IsU0FBUyxtQkFBTyxDQUFDLGtEQUFhOztBQUU5QixrQkFBa0IsbUJBQU8sQ0FBQyxvRUFBc0I7O0FBRWhELGlCQUFpQixtQkFBTyxDQUFDLGtFQUFxQjs7QUFFOUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2REFBNkQ7O0FBRTdEO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsNkRBQTZEO0FBQzdEOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsb0JBQW9CLDJCQUEyQjtBQUMvQzs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxxQ0FBcUM7QUFDckM7QUFDQTtBQUNBLFNBQVM7QUFDVDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsZ0RBQWdEO0FBQ2hEO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPOztBQUVQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTs7QUFFQTtBQUNBLEtBQUs7OztBQUdMOztBQUVBLHFCQUFxQiw4QkFBOEI7QUFDbkQ7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxTQUFTOztBQUVUO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0EsQ0FBQzs7QUFFRCIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvRHJhZnRFZGl0b3JDb250ZW50cy1jb3JlLnJlYWN0LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIEZhY2Vib29rLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKiBAZm9ybWF0XG4gKiBcbiAqIEBlbWFpbHMgb25jYWxsK2RyYWZ0X2pzXG4gKi9cbid1c2Ugc3RyaWN0JztcblxudmFyIF9hc3NpZ24gPSByZXF1aXJlKFwib2JqZWN0LWFzc2lnblwiKTtcblxuZnVuY3Rpb24gX2V4dGVuZHMoKSB7IF9leHRlbmRzID0gX2Fzc2lnbiB8fCBmdW5jdGlvbiAodGFyZ2V0KSB7IGZvciAodmFyIGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7IHZhciBzb3VyY2UgPSBhcmd1bWVudHNbaV07IGZvciAodmFyIGtleSBpbiBzb3VyY2UpIHsgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzb3VyY2UsIGtleSkpIHsgdGFyZ2V0W2tleV0gPSBzb3VyY2Vba2V5XTsgfSB9IH0gcmV0dXJuIHRhcmdldDsgfTsgcmV0dXJuIF9leHRlbmRzLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7IH1cblxuZnVuY3Rpb24gX29iamVjdFNwcmVhZCh0YXJnZXQpIHsgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHsgdmFyIHNvdXJjZSA9IGFyZ3VtZW50c1tpXSAhPSBudWxsID8gYXJndW1lbnRzW2ldIDoge307IHZhciBvd25LZXlzID0gT2JqZWN0LmtleXMoc291cmNlKTsgaWYgKHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzID09PSAnZnVuY3Rpb24nKSB7IG93bktleXMgPSBvd25LZXlzLmNvbmNhdChPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHNvdXJjZSkuZmlsdGVyKGZ1bmN0aW9uIChzeW0pIHsgcmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Ioc291cmNlLCBzeW0pLmVudW1lcmFibGU7IH0pKTsgfSBvd25LZXlzLmZvckVhY2goZnVuY3Rpb24gKGtleSkgeyBfZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIHNvdXJjZVtrZXldKTsgfSk7IH0gcmV0dXJuIHRhcmdldDsgfVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHZhbHVlKSB7IGlmIChrZXkgaW4gb2JqKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgeyB2YWx1ZTogdmFsdWUsIGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgd3JpdGFibGU6IHRydWUgfSk7IH0gZWxzZSB7IG9ialtrZXldID0gdmFsdWU7IH0gcmV0dXJuIG9iajsgfVxuXG5mdW5jdGlvbiBfaW5oZXJpdHNMb29zZShzdWJDbGFzcywgc3VwZXJDbGFzcykgeyBzdWJDbGFzcy5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKHN1cGVyQ2xhc3MucHJvdG90eXBlKTsgc3ViQ2xhc3MucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gc3ViQ2xhc3M7IHN1YkNsYXNzLl9fcHJvdG9fXyA9IHN1cGVyQ2xhc3M7IH1cblxudmFyIERyYWZ0RWRpdG9yQmxvY2sgPSByZXF1aXJlKFwiLi9EcmFmdEVkaXRvckJsb2NrLnJlYWN0XCIpO1xuXG52YXIgRHJhZnRPZmZzZXRLZXkgPSByZXF1aXJlKFwiLi9EcmFmdE9mZnNldEtleVwiKTtcblxudmFyIFJlYWN0ID0gcmVxdWlyZShcInJlYWN0XCIpO1xuXG52YXIgY3ggPSByZXF1aXJlKFwiZmJqcy9saWIvY3hcIik7XG5cbnZhciBqb2luQ2xhc3NlcyA9IHJlcXVpcmUoXCJmYmpzL2xpYi9qb2luQ2xhc3Nlc1wiKTtcblxudmFyIG51bGx0aHJvd3MgPSByZXF1aXJlKFwiZmJqcy9saWIvbnVsbHRocm93c1wiKTtcblxuLyoqXG4gKiBQcm92aWRlIGRlZmF1bHQgc3R5bGluZyBmb3IgbGlzdCBpdGVtcy4gVGhpcyB3YXksIGxpc3RzIHdpbGwgYmUgc3R5bGVkIHdpdGhcbiAqIHByb3BlciBjb3VudGVycyBhbmQgaW5kZW50YXRpb24gZXZlbiBpZiB0aGUgY2FsbGVyIGRvZXMgbm90IHNwZWNpZnlcbiAqIHRoZWlyIG93biBzdHlsaW5nIGF0IGFsbC4gSWYgbW9yZSB0aGFuIGZpdmUgbGV2ZWxzIG9mIG5lc3RpbmcgYXJlIG5lZWRlZCxcbiAqIHRoZSBuZWNlc3NhcnkgQ1NTIGNsYXNzZXMgY2FuIGJlIHByb3ZpZGVkIHZpYSBgYmxvY2tTdHlsZUZuYCBjb25maWd1cmF0aW9uLlxuICovXG52YXIgZ2V0TGlzdEl0ZW1DbGFzc2VzID0gZnVuY3Rpb24gZ2V0TGlzdEl0ZW1DbGFzc2VzKHR5cGUsIGRlcHRoLCBzaG91bGRSZXNldENvdW50LCBkaXJlY3Rpb24pIHtcbiAgcmV0dXJuIGN4KHtcbiAgICAncHVibGljL0RyYWZ0U3R5bGVEZWZhdWx0L3Vub3JkZXJlZExpc3RJdGVtJzogdHlwZSA9PT0gJ3Vub3JkZXJlZC1saXN0LWl0ZW0nLFxuICAgICdwdWJsaWMvRHJhZnRTdHlsZURlZmF1bHQvb3JkZXJlZExpc3RJdGVtJzogdHlwZSA9PT0gJ29yZGVyZWQtbGlzdC1pdGVtJyxcbiAgICAncHVibGljL0RyYWZ0U3R5bGVEZWZhdWx0L3Jlc2V0Jzogc2hvdWxkUmVzZXRDb3VudCxcbiAgICAncHVibGljL0RyYWZ0U3R5bGVEZWZhdWx0L2RlcHRoMCc6IGRlcHRoID09PSAwLFxuICAgICdwdWJsaWMvRHJhZnRTdHlsZURlZmF1bHQvZGVwdGgxJzogZGVwdGggPT09IDEsXG4gICAgJ3B1YmxpYy9EcmFmdFN0eWxlRGVmYXVsdC9kZXB0aDInOiBkZXB0aCA9PT0gMixcbiAgICAncHVibGljL0RyYWZ0U3R5bGVEZWZhdWx0L2RlcHRoMyc6IGRlcHRoID09PSAzLFxuICAgICdwdWJsaWMvRHJhZnRTdHlsZURlZmF1bHQvZGVwdGg0JzogZGVwdGggPj0gNCxcbiAgICAncHVibGljL0RyYWZ0U3R5bGVEZWZhdWx0L2xpc3RMVFInOiBkaXJlY3Rpb24gPT09ICdMVFInLFxuICAgICdwdWJsaWMvRHJhZnRTdHlsZURlZmF1bHQvbGlzdFJUTCc6IGRpcmVjdGlvbiA9PT0gJ1JUTCdcbiAgfSk7XG59O1xuLyoqXG4gKiBgRHJhZnRFZGl0b3JDb250ZW50c2AgaXMgdGhlIGNvbnRhaW5lciBjb21wb25lbnQgZm9yIGFsbCBibG9jayBjb21wb25lbnRzXG4gKiByZW5kZXJlZCBmb3IgYSBgRHJhZnRFZGl0b3JgLiBJdCBpcyBvcHRpbWl6ZWQgdG8gYWdncmVzc2l2ZWx5IGF2b2lkXG4gKiByZS1yZW5kZXJpbmcgYmxvY2tzIHdoZW5ldmVyIHBvc3NpYmxlLlxuICpcbiAqIFRoaXMgY29tcG9uZW50IGlzIHNlcGFyYXRlIGZyb20gYERyYWZ0RWRpdG9yYCBiZWNhdXNlIGNlcnRhaW4gcHJvcHNcbiAqIChmb3IgaW5zdGFuY2UsIEFSSUEgcHJvcHMpIG11c3QgYmUgYWxsb3dlZCB0byB1cGRhdGUgd2l0aG91dCBhZmZlY3RpbmdcbiAqIHRoZSBjb250ZW50cyBvZiB0aGUgZWRpdG9yLlxuICovXG5cblxudmFyIERyYWZ0RWRpdG9yQ29udGVudHMgPVxuLyojX19QVVJFX18qL1xuZnVuY3Rpb24gKF9SZWFjdCRDb21wb25lbnQpIHtcbiAgX2luaGVyaXRzTG9vc2UoRHJhZnRFZGl0b3JDb250ZW50cywgX1JlYWN0JENvbXBvbmVudCk7XG5cbiAgZnVuY3Rpb24gRHJhZnRFZGl0b3JDb250ZW50cygpIHtcbiAgICByZXR1cm4gX1JlYWN0JENvbXBvbmVudC5hcHBseSh0aGlzLCBhcmd1bWVudHMpIHx8IHRoaXM7XG4gIH1cblxuICB2YXIgX3Byb3RvID0gRHJhZnRFZGl0b3JDb250ZW50cy5wcm90b3R5cGU7XG5cbiAgX3Byb3RvLnNob3VsZENvbXBvbmVudFVwZGF0ZSA9IGZ1bmN0aW9uIHNob3VsZENvbXBvbmVudFVwZGF0ZShuZXh0UHJvcHMpIHtcbiAgICB2YXIgcHJldkVkaXRvclN0YXRlID0gdGhpcy5wcm9wcy5lZGl0b3JTdGF0ZTtcbiAgICB2YXIgbmV4dEVkaXRvclN0YXRlID0gbmV4dFByb3BzLmVkaXRvclN0YXRlO1xuICAgIHZhciBwcmV2RGlyZWN0aW9uTWFwID0gcHJldkVkaXRvclN0YXRlLmdldERpcmVjdGlvbk1hcCgpO1xuICAgIHZhciBuZXh0RGlyZWN0aW9uTWFwID0gbmV4dEVkaXRvclN0YXRlLmdldERpcmVjdGlvbk1hcCgpOyAvLyBUZXh0IGRpcmVjdGlvbiBoYXMgY2hhbmdlZCBmb3Igb25lIG9yIG1vcmUgYmxvY2tzLiBXZSBtdXN0IHJlLXJlbmRlci5cblxuICAgIGlmIChwcmV2RGlyZWN0aW9uTWFwICE9PSBuZXh0RGlyZWN0aW9uTWFwKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICB2YXIgZGlkSGF2ZUZvY3VzID0gcHJldkVkaXRvclN0YXRlLmdldFNlbGVjdGlvbigpLmdldEhhc0ZvY3VzKCk7XG4gICAgdmFyIG5vd0hhc0ZvY3VzID0gbmV4dEVkaXRvclN0YXRlLmdldFNlbGVjdGlvbigpLmdldEhhc0ZvY3VzKCk7XG5cbiAgICBpZiAoZGlkSGF2ZUZvY3VzICE9PSBub3dIYXNGb2N1cykge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgdmFyIG5leHROYXRpdmVDb250ZW50ID0gbmV4dEVkaXRvclN0YXRlLmdldE5hdGl2ZWx5UmVuZGVyZWRDb250ZW50KCk7XG4gICAgdmFyIHdhc0NvbXBvc2luZyA9IHByZXZFZGl0b3JTdGF0ZS5pc0luQ29tcG9zaXRpb25Nb2RlKCk7XG4gICAgdmFyIG5vd0NvbXBvc2luZyA9IG5leHRFZGl0b3JTdGF0ZS5pc0luQ29tcG9zaXRpb25Nb2RlKCk7IC8vIElmIHRoZSBzdGF0ZSBpcyB1bmNoYW5nZWQgb3Igd2UncmUgY3VycmVudGx5IHJlbmRlcmluZyBhIG5hdGl2ZWx5XG4gICAgLy8gcmVuZGVyZWQgc3RhdGUsIHRoZXJlJ3Mgbm90aGluZyBuZXcgdG8gYmUgZG9uZS5cblxuICAgIGlmIChwcmV2RWRpdG9yU3RhdGUgPT09IG5leHRFZGl0b3JTdGF0ZSB8fCBuZXh0TmF0aXZlQ29udGVudCAhPT0gbnVsbCAmJiBuZXh0RWRpdG9yU3RhdGUuZ2V0Q3VycmVudENvbnRlbnQoKSA9PT0gbmV4dE5hdGl2ZUNvbnRlbnQgfHwgd2FzQ29tcG9zaW5nICYmIG5vd0NvbXBvc2luZykge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHZhciBwcmV2Q29udGVudCA9IHByZXZFZGl0b3JTdGF0ZS5nZXRDdXJyZW50Q29udGVudCgpO1xuICAgIHZhciBuZXh0Q29udGVudCA9IG5leHRFZGl0b3JTdGF0ZS5nZXRDdXJyZW50Q29udGVudCgpO1xuICAgIHZhciBwcmV2RGVjb3JhdG9yID0gcHJldkVkaXRvclN0YXRlLmdldERlY29yYXRvcigpO1xuICAgIHZhciBuZXh0RGVjb3JhdG9yID0gbmV4dEVkaXRvclN0YXRlLmdldERlY29yYXRvcigpO1xuICAgIHJldHVybiB3YXNDb21wb3NpbmcgIT09IG5vd0NvbXBvc2luZyB8fCBwcmV2Q29udGVudCAhPT0gbmV4dENvbnRlbnQgfHwgcHJldkRlY29yYXRvciAhPT0gbmV4dERlY29yYXRvciB8fCBuZXh0RWRpdG9yU3RhdGUubXVzdEZvcmNlU2VsZWN0aW9uKCk7XG4gIH07XG5cbiAgX3Byb3RvLnJlbmRlciA9IGZ1bmN0aW9uIHJlbmRlcigpIHtcbiAgICB2YXIgX3RoaXMkcHJvcHMgPSB0aGlzLnByb3BzLFxuICAgICAgICBibG9ja1JlbmRlck1hcCA9IF90aGlzJHByb3BzLmJsb2NrUmVuZGVyTWFwLFxuICAgICAgICBibG9ja1JlbmRlcmVyRm4gPSBfdGhpcyRwcm9wcy5ibG9ja1JlbmRlcmVyRm4sXG4gICAgICAgIGJsb2NrU3R5bGVGbiA9IF90aGlzJHByb3BzLmJsb2NrU3R5bGVGbixcbiAgICAgICAgY3VzdG9tU3R5bGVNYXAgPSBfdGhpcyRwcm9wcy5jdXN0b21TdHlsZU1hcCxcbiAgICAgICAgY3VzdG9tU3R5bGVGbiA9IF90aGlzJHByb3BzLmN1c3RvbVN0eWxlRm4sXG4gICAgICAgIGVkaXRvclN0YXRlID0gX3RoaXMkcHJvcHMuZWRpdG9yU3RhdGUsXG4gICAgICAgIGVkaXRvcktleSA9IF90aGlzJHByb3BzLmVkaXRvcktleSxcbiAgICAgICAgdGV4dERpcmVjdGlvbmFsaXR5ID0gX3RoaXMkcHJvcHMudGV4dERpcmVjdGlvbmFsaXR5O1xuICAgIHZhciBjb250ZW50ID0gZWRpdG9yU3RhdGUuZ2V0Q3VycmVudENvbnRlbnQoKTtcbiAgICB2YXIgc2VsZWN0aW9uID0gZWRpdG9yU3RhdGUuZ2V0U2VsZWN0aW9uKCk7XG4gICAgdmFyIGZvcmNlU2VsZWN0aW9uID0gZWRpdG9yU3RhdGUubXVzdEZvcmNlU2VsZWN0aW9uKCk7XG4gICAgdmFyIGRlY29yYXRvciA9IGVkaXRvclN0YXRlLmdldERlY29yYXRvcigpO1xuICAgIHZhciBkaXJlY3Rpb25NYXAgPSBudWxsdGhyb3dzKGVkaXRvclN0YXRlLmdldERpcmVjdGlvbk1hcCgpKTtcbiAgICB2YXIgYmxvY2tzQXNBcnJheSA9IGNvbnRlbnQuZ2V0QmxvY2tzQXNBcnJheSgpO1xuICAgIHZhciBwcm9jZXNzZWRCbG9ja3MgPSBbXTtcbiAgICB2YXIgY3VycmVudERlcHRoID0gbnVsbDtcbiAgICB2YXIgbGFzdFdyYXBwZXJUZW1wbGF0ZSA9IG51bGw7XG5cbiAgICBmb3IgKHZhciBpaSA9IDA7IGlpIDwgYmxvY2tzQXNBcnJheS5sZW5ndGg7IGlpKyspIHtcbiAgICAgIHZhciBfYmxvY2sgPSBibG9ja3NBc0FycmF5W2lpXTtcblxuICAgICAgdmFyIGtleSA9IF9ibG9jay5nZXRLZXkoKTtcblxuICAgICAgdmFyIGJsb2NrVHlwZSA9IF9ibG9jay5nZXRUeXBlKCk7XG5cbiAgICAgIHZhciBjdXN0b21SZW5kZXJlciA9IGJsb2NrUmVuZGVyZXJGbihfYmxvY2spO1xuICAgICAgdmFyIEN1c3RvbUNvbXBvbmVudCA9IHZvaWQgMCxcbiAgICAgICAgICBjdXN0b21Qcm9wcyA9IHZvaWQgMCxcbiAgICAgICAgICBjdXN0b21FZGl0YWJsZSA9IHZvaWQgMDtcblxuICAgICAgaWYgKGN1c3RvbVJlbmRlcmVyKSB7XG4gICAgICAgIEN1c3RvbUNvbXBvbmVudCA9IGN1c3RvbVJlbmRlcmVyLmNvbXBvbmVudDtcbiAgICAgICAgY3VzdG9tUHJvcHMgPSBjdXN0b21SZW5kZXJlci5wcm9wcztcbiAgICAgICAgY3VzdG9tRWRpdGFibGUgPSBjdXN0b21SZW5kZXJlci5lZGl0YWJsZTtcbiAgICAgIH1cblxuICAgICAgdmFyIGRpcmVjdGlvbiA9IHRleHREaXJlY3Rpb25hbGl0eSA/IHRleHREaXJlY3Rpb25hbGl0eSA6IGRpcmVjdGlvbk1hcC5nZXQoa2V5KTtcbiAgICAgIHZhciBvZmZzZXRLZXkgPSBEcmFmdE9mZnNldEtleS5lbmNvZGUoa2V5LCAwLCAwKTtcbiAgICAgIHZhciBjb21wb25lbnRQcm9wcyA9IHtcbiAgICAgICAgY29udGVudFN0YXRlOiBjb250ZW50LFxuICAgICAgICBibG9jazogX2Jsb2NrLFxuICAgICAgICBibG9ja1Byb3BzOiBjdXN0b21Qcm9wcyxcbiAgICAgICAgYmxvY2tTdHlsZUZuOiBibG9ja1N0eWxlRm4sXG4gICAgICAgIGN1c3RvbVN0eWxlTWFwOiBjdXN0b21TdHlsZU1hcCxcbiAgICAgICAgY3VzdG9tU3R5bGVGbjogY3VzdG9tU3R5bGVGbixcbiAgICAgICAgZGVjb3JhdG9yOiBkZWNvcmF0b3IsXG4gICAgICAgIGRpcmVjdGlvbjogZGlyZWN0aW9uLFxuICAgICAgICBmb3JjZVNlbGVjdGlvbjogZm9yY2VTZWxlY3Rpb24sXG4gICAgICAgIG9mZnNldEtleTogb2Zmc2V0S2V5LFxuICAgICAgICBzZWxlY3Rpb246IHNlbGVjdGlvbixcbiAgICAgICAgdHJlZTogZWRpdG9yU3RhdGUuZ2V0QmxvY2tUcmVlKGtleSlcbiAgICAgIH07XG4gICAgICB2YXIgY29uZmlnRm9yVHlwZSA9IGJsb2NrUmVuZGVyTWFwLmdldChibG9ja1R5cGUpIHx8IGJsb2NrUmVuZGVyTWFwLmdldCgndW5zdHlsZWQnKTtcbiAgICAgIHZhciB3cmFwcGVyVGVtcGxhdGUgPSBjb25maWdGb3JUeXBlLndyYXBwZXI7XG4gICAgICB2YXIgRWxlbWVudCA9IGNvbmZpZ0ZvclR5cGUuZWxlbWVudCB8fCBibG9ja1JlbmRlck1hcC5nZXQoJ3Vuc3R5bGVkJykuZWxlbWVudDtcblxuICAgICAgdmFyIGRlcHRoID0gX2Jsb2NrLmdldERlcHRoKCk7XG5cbiAgICAgIHZhciBfY2xhc3NOYW1lID0gJyc7XG5cbiAgICAgIGlmIChibG9ja1N0eWxlRm4pIHtcbiAgICAgICAgX2NsYXNzTmFtZSA9IGJsb2NrU3R5bGVGbihfYmxvY2spO1xuICAgICAgfSAvLyBMaXN0IGl0ZW1zIGFyZSBzcGVjaWFsIHNub3dmbGFrZXMsIHNpbmNlIHdlIGhhbmRsZSBuZXN0aW5nIGFuZFxuICAgICAgLy8gY291bnRlcnMgbWFudWFsbHkuXG5cblxuICAgICAgaWYgKEVsZW1lbnQgPT09ICdsaScpIHtcbiAgICAgICAgdmFyIHNob3VsZFJlc2V0Q291bnQgPSBsYXN0V3JhcHBlclRlbXBsYXRlICE9PSB3cmFwcGVyVGVtcGxhdGUgfHwgY3VycmVudERlcHRoID09PSBudWxsIHx8IGRlcHRoID4gY3VycmVudERlcHRoO1xuICAgICAgICBfY2xhc3NOYW1lID0gam9pbkNsYXNzZXMoX2NsYXNzTmFtZSwgZ2V0TGlzdEl0ZW1DbGFzc2VzKGJsb2NrVHlwZSwgZGVwdGgsIHNob3VsZFJlc2V0Q291bnQsIGRpcmVjdGlvbikpO1xuICAgICAgfVxuXG4gICAgICB2YXIgQ29tcG9uZW50ID0gQ3VzdG9tQ29tcG9uZW50IHx8IERyYWZ0RWRpdG9yQmxvY2s7XG4gICAgICB2YXIgY2hpbGRQcm9wcyA9IHtcbiAgICAgICAgY2xhc3NOYW1lOiBfY2xhc3NOYW1lLFxuICAgICAgICAnZGF0YS1ibG9jayc6IHRydWUsXG4gICAgICAgICdkYXRhLWVkaXRvcic6IGVkaXRvcktleSxcbiAgICAgICAgJ2RhdGEtb2Zmc2V0LWtleSc6IG9mZnNldEtleSxcbiAgICAgICAga2V5OiBrZXlcbiAgICAgIH07XG5cbiAgICAgIGlmIChjdXN0b21FZGl0YWJsZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGNoaWxkUHJvcHMgPSBfb2JqZWN0U3ByZWFkKHt9LCBjaGlsZFByb3BzLCB7XG4gICAgICAgICAgY29udGVudEVkaXRhYmxlOiBjdXN0b21FZGl0YWJsZSxcbiAgICAgICAgICBzdXBwcmVzc0NvbnRlbnRFZGl0YWJsZVdhcm5pbmc6IHRydWVcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIHZhciBjaGlsZCA9IFJlYWN0LmNyZWF0ZUVsZW1lbnQoRWxlbWVudCwgY2hpbGRQcm9wcyxcbiAgICAgIC8qICRGbG93Rml4TWUoPj0wLjExMi4wIHNpdGU9bW9iaWxlKSBUaGlzIGNvbW1lbnQgc3VwcHJlc3NlcyBhbiBlcnJvclxuICAgICAgICogZm91bmQgd2hlbiBGbG93IHYwLjExMiB3YXMgZGVwbG95ZWQuIFRvIHNlZSB0aGUgZXJyb3IgZGVsZXRlIHRoaXNcbiAgICAgICAqIGNvbW1lbnQgYW5kIHJ1biBGbG93LiAqL1xuXG4gICAgICAvKiAkRmxvd0ZpeE1lKD49MC4xMTIuMCBzaXRlPXd3dykgVGhpcyBjb21tZW50IHN1cHByZXNzZXMgYW4gZXJyb3JcbiAgICAgICAqIGZvdW5kIHdoZW4gRmxvdyB2MC4xMTIgd2FzIGRlcGxveWVkLiBUbyBzZWUgdGhlIGVycm9yIGRlbGV0ZSB0aGlzXG4gICAgICAgKiBjb21tZW50IGFuZCBydW4gRmxvdy4gKi9cblxuICAgICAgLyogJEZsb3dGaXhNZSg+PTAuMTEyLjAgc2l0ZT13d3csbW9iaWxlKSBUaGlzIGNvbW1lbnQgc3VwcHJlc3NlcyBhblxuICAgICAgICogZXJyb3IgZm91bmQgd2hlbiBGbG93IHYwLjExMiB3YXMgZGVwbG95ZWQuIFRvIHNlZSB0aGUgZXJyb3IgZGVsZXRlXG4gICAgICAgKiB0aGlzIGNvbW1lbnQgYW5kIHJ1biBGbG93LiAqL1xuICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChDb21wb25lbnQsIF9leHRlbmRzKHt9LCBjb21wb25lbnRQcm9wcywge1xuICAgICAgICBrZXk6IGtleVxuICAgICAgfSkpKTtcbiAgICAgIHByb2Nlc3NlZEJsb2Nrcy5wdXNoKHtcbiAgICAgICAgYmxvY2s6IGNoaWxkLFxuICAgICAgICB3cmFwcGVyVGVtcGxhdGU6IHdyYXBwZXJUZW1wbGF0ZSxcbiAgICAgICAga2V5OiBrZXksXG4gICAgICAgIG9mZnNldEtleTogb2Zmc2V0S2V5XG4gICAgICB9KTtcblxuICAgICAgaWYgKHdyYXBwZXJUZW1wbGF0ZSkge1xuICAgICAgICBjdXJyZW50RGVwdGggPSBfYmxvY2suZ2V0RGVwdGgoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGN1cnJlbnREZXB0aCA9IG51bGw7XG4gICAgICB9XG5cbiAgICAgIGxhc3RXcmFwcGVyVGVtcGxhdGUgPSB3cmFwcGVyVGVtcGxhdGU7XG4gICAgfSAvLyBHcm91cCBjb250aWd1b3VzIHJ1bnMgb2YgYmxvY2tzIHRoYXQgaGF2ZSB0aGUgc2FtZSB3cmFwcGVyVGVtcGxhdGVcblxuXG4gICAgdmFyIG91dHB1dEJsb2NrcyA9IFtdO1xuXG4gICAgZm9yICh2YXIgX2lpID0gMDsgX2lpIDwgcHJvY2Vzc2VkQmxvY2tzLmxlbmd0aDspIHtcbiAgICAgIHZhciBpbmZvID0gcHJvY2Vzc2VkQmxvY2tzW19paV07XG5cbiAgICAgIGlmIChpbmZvLndyYXBwZXJUZW1wbGF0ZSkge1xuICAgICAgICB2YXIgYmxvY2tzID0gW107XG5cbiAgICAgICAgZG8ge1xuICAgICAgICAgIGJsb2Nrcy5wdXNoKHByb2Nlc3NlZEJsb2Nrc1tfaWldLmJsb2NrKTtcbiAgICAgICAgICBfaWkrKztcbiAgICAgICAgfSB3aGlsZSAoX2lpIDwgcHJvY2Vzc2VkQmxvY2tzLmxlbmd0aCAmJiBwcm9jZXNzZWRCbG9ja3NbX2lpXS53cmFwcGVyVGVtcGxhdGUgPT09IGluZm8ud3JhcHBlclRlbXBsYXRlKTtcblxuICAgICAgICB2YXIgd3JhcHBlckVsZW1lbnQgPSBSZWFjdC5jbG9uZUVsZW1lbnQoaW5mby53cmFwcGVyVGVtcGxhdGUsIHtcbiAgICAgICAgICBrZXk6IGluZm8ua2V5ICsgJy13cmFwJyxcbiAgICAgICAgICAnZGF0YS1vZmZzZXQta2V5JzogaW5mby5vZmZzZXRLZXlcbiAgICAgICAgfSwgYmxvY2tzKTtcbiAgICAgICAgb3V0cHV0QmxvY2tzLnB1c2god3JhcHBlckVsZW1lbnQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgb3V0cHV0QmxvY2tzLnB1c2goaW5mby5ibG9jayk7XG4gICAgICAgIF9paSsrO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHtcbiAgICAgIFwiZGF0YS1jb250ZW50c1wiOiBcInRydWVcIlxuICAgIH0sIG91dHB1dEJsb2Nrcyk7XG4gIH07XG5cbiAgcmV0dXJuIERyYWZ0RWRpdG9yQ29udGVudHM7XG59KFJlYWN0LkNvbXBvbmVudCk7XG5cbm1vZHVsZS5leHBvcnRzID0gRHJhZnRFZGl0b3JDb250ZW50czsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/DraftEditorContents-core.react.js\n"); /***/ }), @@ -211,7 +246,31 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule DraftEditorContents.react\n * @format\n * \n */\n\n\n\nvar DraftEditorContents = __webpack_require__(/*! ./DraftEditorContents-core.react */ \"./node_modules/draft-js/lib/DraftEditorContents-core.react.js\");\n\nmodule.exports = DraftEditorContents;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0RyYWZ0RWRpdG9yQ29udGVudHMucmVhY3QuanM/MjFkYiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWE7O0FBRWIsMEJBQTBCLG1CQUFPLENBQUMsdUdBQWtDOztBQUVwRSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvRHJhZnRFZGl0b3JDb250ZW50cy5yZWFjdC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQlNELXN0eWxlIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuIEFuIGFkZGl0aW9uYWwgZ3JhbnRcbiAqIG9mIHBhdGVudCByaWdodHMgY2FuIGJlIGZvdW5kIGluIHRoZSBQQVRFTlRTIGZpbGUgaW4gdGhlIHNhbWUgZGlyZWN0b3J5LlxuICpcbiAqIEBwcm92aWRlc01vZHVsZSBEcmFmdEVkaXRvckNvbnRlbnRzLnJlYWN0XG4gKiBAZm9ybWF0XG4gKiBcbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbnZhciBEcmFmdEVkaXRvckNvbnRlbnRzID0gcmVxdWlyZSgnLi9EcmFmdEVkaXRvckNvbnRlbnRzLWNvcmUucmVhY3QnKTtcblxubW9kdWxlLmV4cG9ydHMgPSBEcmFmdEVkaXRvckNvbnRlbnRzOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/DraftEditorContents.react.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n */\n\n\nvar gkx = __webpack_require__(/*! ./gkx */ \"./node_modules/draft-js/lib/gkx.js\");\n\nvar experimentalTreeDataSupport = gkx('draft_tree_data_support');\nmodule.exports = experimentalTreeDataSupport ? __webpack_require__(/*! ./DraftEditorContentsExperimental.react */ \"./node_modules/draft-js/lib/DraftEditorContentsExperimental.react.js\") : __webpack_require__(/*! ./DraftEditorContents-core.react */ \"./node_modules/draft-js/lib/DraftEditorContents-core.react.js\");//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0RyYWZ0RWRpdG9yQ29udGVudHMucmVhY3QuanM/MjFkYiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDYTs7QUFFYixVQUFVLG1CQUFPLENBQUMsaURBQU87O0FBRXpCO0FBQ0EsK0NBQStDLG1CQUFPLENBQUMscUhBQXlDLElBQUksbUJBQU8sQ0FBQyx1R0FBa0MiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0RyYWZ0RWRpdG9yQ29udGVudHMucmVhY3QuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgRmFjZWJvb2ssIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIEBmb3JtYXRcbiAqIFxuICovXG4ndXNlIHN0cmljdCc7XG5cbnZhciBna3ggPSByZXF1aXJlKFwiLi9na3hcIik7XG5cbnZhciBleHBlcmltZW50YWxUcmVlRGF0YVN1cHBvcnQgPSBna3goJ2RyYWZ0X3RyZWVfZGF0YV9zdXBwb3J0Jyk7XG5tb2R1bGUuZXhwb3J0cyA9IGV4cGVyaW1lbnRhbFRyZWVEYXRhU3VwcG9ydCA/IHJlcXVpcmUoXCIuL0RyYWZ0RWRpdG9yQ29udGVudHNFeHBlcmltZW50YWwucmVhY3RcIikgOiByZXF1aXJlKFwiLi9EcmFmdEVkaXRvckNvbnRlbnRzLWNvcmUucmVhY3RcIik7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/DraftEditorContents.react.js\n"); + +/***/ }), + +/***/ "./node_modules/draft-js/lib/DraftEditorContentsExperimental.react.js": +/*!****************************************************************************!*\ + !*** ./node_modules/draft-js/lib/DraftEditorContentsExperimental.react.js ***! + \****************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n *\n * This file is a fork of DraftEditorContents.react.js for tree nodes\n *\n * This is unstable and not part of the public API and should not be used by\n * production systems. This file may be update/removed without notice.\n */\n\n\nvar _assign = __webpack_require__(/*! object-assign */ \"./node_modules/object-assign/index.js\");\n\nfunction _extends() { _extends = _assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar DraftEditorBlockNode = __webpack_require__(/*! ./DraftEditorBlockNode.react */ \"./node_modules/draft-js/lib/DraftEditorBlockNode.react.js\");\n\nvar DraftOffsetKey = __webpack_require__(/*! ./DraftOffsetKey */ \"./node_modules/draft-js/lib/DraftOffsetKey.js\");\n\nvar React = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n\nvar nullthrows = __webpack_require__(/*! fbjs/lib/nullthrows */ \"./node_modules/fbjs/lib/nullthrows.js\");\n\n/**\n * `DraftEditorContents` is the container component for all block components\n * rendered for a `DraftEditor`. It is optimized to aggressively avoid\n * re-rendering blocks whenever possible.\n *\n * This component is separate from `DraftEditor` because certain props\n * (for instance, ARIA props) must be allowed to update without affecting\n * the contents of the editor.\n */\nvar DraftEditorContentsExperimental =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(DraftEditorContentsExperimental, _React$Component);\n\n function DraftEditorContentsExperimental() {\n return _React$Component.apply(this, arguments) || this;\n }\n\n var _proto = DraftEditorContentsExperimental.prototype;\n\n _proto.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {\n var prevEditorState = this.props.editorState;\n var nextEditorState = nextProps.editorState;\n var prevDirectionMap = prevEditorState.getDirectionMap();\n var nextDirectionMap = nextEditorState.getDirectionMap(); // Text direction has changed for one or more blocks. We must re-render.\n\n if (prevDirectionMap !== nextDirectionMap) {\n return true;\n }\n\n var didHaveFocus = prevEditorState.getSelection().getHasFocus();\n var nowHasFocus = nextEditorState.getSelection().getHasFocus();\n\n if (didHaveFocus !== nowHasFocus) {\n return true;\n }\n\n var nextNativeContent = nextEditorState.getNativelyRenderedContent();\n var wasComposing = prevEditorState.isInCompositionMode();\n var nowComposing = nextEditorState.isInCompositionMode(); // If the state is unchanged or we're currently rendering a natively\n // rendered state, there's nothing new to be done.\n\n if (prevEditorState === nextEditorState || nextNativeContent !== null && nextEditorState.getCurrentContent() === nextNativeContent || wasComposing && nowComposing) {\n return false;\n }\n\n var prevContent = prevEditorState.getCurrentContent();\n var nextContent = nextEditorState.getCurrentContent();\n var prevDecorator = prevEditorState.getDecorator();\n var nextDecorator = nextEditorState.getDecorator();\n return wasComposing !== nowComposing || prevContent !== nextContent || prevDecorator !== nextDecorator || nextEditorState.mustForceSelection();\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n blockRenderMap = _this$props.blockRenderMap,\n blockRendererFn = _this$props.blockRendererFn,\n blockStyleFn = _this$props.blockStyleFn,\n customStyleMap = _this$props.customStyleMap,\n customStyleFn = _this$props.customStyleFn,\n editorState = _this$props.editorState,\n editorKey = _this$props.editorKey,\n textDirectionality = _this$props.textDirectionality;\n var content = editorState.getCurrentContent();\n var selection = editorState.getSelection();\n var forceSelection = editorState.mustForceSelection();\n var decorator = editorState.getDecorator();\n var directionMap = nullthrows(editorState.getDirectionMap());\n var blocksAsArray = content.getBlocksAsArray();\n var rootBlock = blocksAsArray[0];\n var processedBlocks = [];\n var nodeBlock = rootBlock;\n\n while (nodeBlock) {\n var blockKey = nodeBlock.getKey();\n var blockProps = {\n blockRenderMap: blockRenderMap,\n blockRendererFn: blockRendererFn,\n blockStyleFn: blockStyleFn,\n contentState: content,\n customStyleFn: customStyleFn,\n customStyleMap: customStyleMap,\n decorator: decorator,\n editorKey: editorKey,\n editorState: editorState,\n forceSelection: forceSelection,\n selection: selection,\n block: nodeBlock,\n direction: textDirectionality ? textDirectionality : directionMap.get(blockKey),\n tree: editorState.getBlockTree(blockKey)\n };\n var configForType = blockRenderMap.get(nodeBlock.getType()) || blockRenderMap.get('unstyled');\n var wrapperTemplate = configForType.wrapper;\n processedBlocks.push({\n /* $FlowFixMe(>=0.112.0 site=mobile) This comment suppresses an error\n * found when Flow v0.112 was deployed. To see the error delete this\n * comment and run Flow. */\n\n /* $FlowFixMe(>=0.112.0 site=www) This comment suppresses an error\n * found when Flow v0.112 was deployed. To see the error delete this\n * comment and run Flow. */\n\n /* $FlowFixMe(>=0.112.0 site=www,mobile) This comment suppresses an\n * error found when Flow v0.112 was deployed. To see the error delete\n * this comment and run Flow. */\n block: React.createElement(DraftEditorBlockNode, _extends({\n key: blockKey\n }, blockProps)),\n wrapperTemplate: wrapperTemplate,\n key: blockKey,\n offsetKey: DraftOffsetKey.encode(blockKey, 0, 0)\n });\n var nextBlockKey = nodeBlock.getNextSiblingKey();\n nodeBlock = nextBlockKey ? content.getBlockForKey(nextBlockKey) : null;\n } // Group contiguous runs of blocks that have the same wrapperTemplate\n\n\n var outputBlocks = [];\n\n for (var ii = 0; ii < processedBlocks.length;) {\n var info = processedBlocks[ii];\n\n if (info.wrapperTemplate) {\n var blocks = [];\n\n do {\n blocks.push(processedBlocks[ii].block);\n ii++;\n } while (ii < processedBlocks.length && processedBlocks[ii].wrapperTemplate === info.wrapperTemplate);\n\n var wrapperElement = React.cloneElement(info.wrapperTemplate, {\n key: info.key + '-wrap',\n 'data-offset-key': info.offsetKey\n }, blocks);\n outputBlocks.push(wrapperElement);\n } else {\n outputBlocks.push(info.block);\n ii++;\n }\n }\n\n return React.createElement(\"div\", {\n \"data-contents\": \"true\"\n }, outputBlocks);\n };\n\n return DraftEditorContentsExperimental;\n}(React.Component);\n\nmodule.exports = DraftEditorContentsExperimental;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0RyYWZ0RWRpdG9yQ29udGVudHNFeHBlcmltZW50YWwucmVhY3QuanM/NjJiMSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDYTs7QUFFYixjQUFjLG1CQUFPLENBQUMsNERBQWU7O0FBRXJDLHFCQUFxQiwwQ0FBMEMsZ0JBQWdCLHNCQUFzQixPQUFPLDJCQUEyQiwwQkFBMEIseURBQXlELDJCQUEyQixFQUFFLEVBQUUsRUFBRSxlQUFlLEdBQUcsd0NBQXdDOztBQUVyVCwrQ0FBK0MsMERBQTBELDJDQUEyQyxpQ0FBaUM7O0FBRXJMLDJCQUEyQixtQkFBTyxDQUFDLCtGQUE4Qjs7QUFFakUscUJBQXFCLG1CQUFPLENBQUMsdUVBQWtCOztBQUUvQyxZQUFZLG1CQUFPLENBQUMsNENBQU87O0FBRTNCLGlCQUFpQixtQkFBTyxDQUFDLGtFQUFxQjs7QUFFOUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkRBQTZEOztBQUU3RDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLDZEQUE2RDtBQUM3RDs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLEtBQUs7OztBQUdMOztBQUVBLG9CQUFvQiw2QkFBNkI7QUFDakQ7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxTQUFTOztBQUVUO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0EsQ0FBQzs7QUFFRCIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvRHJhZnRFZGl0b3JDb250ZW50c0V4cGVyaW1lbnRhbC5yZWFjdC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSBGYWNlYm9vaywgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICogQGZvcm1hdFxuICogXG4gKiBAZW1haWxzIG9uY2FsbCtkcmFmdF9qc1xuICpcbiAqIFRoaXMgZmlsZSBpcyBhIGZvcmsgb2YgRHJhZnRFZGl0b3JDb250ZW50cy5yZWFjdC5qcyBmb3IgdHJlZSBub2Rlc1xuICpcbiAqIFRoaXMgaXMgdW5zdGFibGUgYW5kIG5vdCBwYXJ0IG9mIHRoZSBwdWJsaWMgQVBJIGFuZCBzaG91bGQgbm90IGJlIHVzZWQgYnlcbiAqIHByb2R1Y3Rpb24gc3lzdGVtcy4gVGhpcyBmaWxlIG1heSBiZSB1cGRhdGUvcmVtb3ZlZCB3aXRob3V0IG5vdGljZS5cbiAqL1xuJ3VzZSBzdHJpY3QnO1xuXG52YXIgX2Fzc2lnbiA9IHJlcXVpcmUoXCJvYmplY3QtYXNzaWduXCIpO1xuXG5mdW5jdGlvbiBfZXh0ZW5kcygpIHsgX2V4dGVuZHMgPSBfYXNzaWduIHx8IGZ1bmN0aW9uICh0YXJnZXQpIHsgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHsgdmFyIHNvdXJjZSA9IGFyZ3VtZW50c1tpXTsgZm9yICh2YXIga2V5IGluIHNvdXJjZSkgeyBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHNvdXJjZSwga2V5KSkgeyB0YXJnZXRba2V5XSA9IHNvdXJjZVtrZXldOyB9IH0gfSByZXR1cm4gdGFyZ2V0OyB9OyByZXR1cm4gX2V4dGVuZHMuYXBwbHkodGhpcywgYXJndW1lbnRzKTsgfVxuXG5mdW5jdGlvbiBfaW5oZXJpdHNMb29zZShzdWJDbGFzcywgc3VwZXJDbGFzcykgeyBzdWJDbGFzcy5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKHN1cGVyQ2xhc3MucHJvdG90eXBlKTsgc3ViQ2xhc3MucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gc3ViQ2xhc3M7IHN1YkNsYXNzLl9fcHJvdG9fXyA9IHN1cGVyQ2xhc3M7IH1cblxudmFyIERyYWZ0RWRpdG9yQmxvY2tOb2RlID0gcmVxdWlyZShcIi4vRHJhZnRFZGl0b3JCbG9ja05vZGUucmVhY3RcIik7XG5cbnZhciBEcmFmdE9mZnNldEtleSA9IHJlcXVpcmUoXCIuL0RyYWZ0T2Zmc2V0S2V5XCIpO1xuXG52YXIgUmVhY3QgPSByZXF1aXJlKFwicmVhY3RcIik7XG5cbnZhciBudWxsdGhyb3dzID0gcmVxdWlyZShcImZianMvbGliL251bGx0aHJvd3NcIik7XG5cbi8qKlxuICogYERyYWZ0RWRpdG9yQ29udGVudHNgIGlzIHRoZSBjb250YWluZXIgY29tcG9uZW50IGZvciBhbGwgYmxvY2sgY29tcG9uZW50c1xuICogcmVuZGVyZWQgZm9yIGEgYERyYWZ0RWRpdG9yYC4gSXQgaXMgb3B0aW1pemVkIHRvIGFnZ3Jlc3NpdmVseSBhdm9pZFxuICogcmUtcmVuZGVyaW5nIGJsb2NrcyB3aGVuZXZlciBwb3NzaWJsZS5cbiAqXG4gKiBUaGlzIGNvbXBvbmVudCBpcyBzZXBhcmF0ZSBmcm9tIGBEcmFmdEVkaXRvcmAgYmVjYXVzZSBjZXJ0YWluIHByb3BzXG4gKiAoZm9yIGluc3RhbmNlLCBBUklBIHByb3BzKSBtdXN0IGJlIGFsbG93ZWQgdG8gdXBkYXRlIHdpdGhvdXQgYWZmZWN0aW5nXG4gKiB0aGUgY29udGVudHMgb2YgdGhlIGVkaXRvci5cbiAqL1xudmFyIERyYWZ0RWRpdG9yQ29udGVudHNFeHBlcmltZW50YWwgPVxuLyojX19QVVJFX18qL1xuZnVuY3Rpb24gKF9SZWFjdCRDb21wb25lbnQpIHtcbiAgX2luaGVyaXRzTG9vc2UoRHJhZnRFZGl0b3JDb250ZW50c0V4cGVyaW1lbnRhbCwgX1JlYWN0JENvbXBvbmVudCk7XG5cbiAgZnVuY3Rpb24gRHJhZnRFZGl0b3JDb250ZW50c0V4cGVyaW1lbnRhbCgpIHtcbiAgICByZXR1cm4gX1JlYWN0JENvbXBvbmVudC5hcHBseSh0aGlzLCBhcmd1bWVudHMpIHx8IHRoaXM7XG4gIH1cblxuICB2YXIgX3Byb3RvID0gRHJhZnRFZGl0b3JDb250ZW50c0V4cGVyaW1lbnRhbC5wcm90b3R5cGU7XG5cbiAgX3Byb3RvLnNob3VsZENvbXBvbmVudFVwZGF0ZSA9IGZ1bmN0aW9uIHNob3VsZENvbXBvbmVudFVwZGF0ZShuZXh0UHJvcHMpIHtcbiAgICB2YXIgcHJldkVkaXRvclN0YXRlID0gdGhpcy5wcm9wcy5lZGl0b3JTdGF0ZTtcbiAgICB2YXIgbmV4dEVkaXRvclN0YXRlID0gbmV4dFByb3BzLmVkaXRvclN0YXRlO1xuICAgIHZhciBwcmV2RGlyZWN0aW9uTWFwID0gcHJldkVkaXRvclN0YXRlLmdldERpcmVjdGlvbk1hcCgpO1xuICAgIHZhciBuZXh0RGlyZWN0aW9uTWFwID0gbmV4dEVkaXRvclN0YXRlLmdldERpcmVjdGlvbk1hcCgpOyAvLyBUZXh0IGRpcmVjdGlvbiBoYXMgY2hhbmdlZCBmb3Igb25lIG9yIG1vcmUgYmxvY2tzLiBXZSBtdXN0IHJlLXJlbmRlci5cblxuICAgIGlmIChwcmV2RGlyZWN0aW9uTWFwICE9PSBuZXh0RGlyZWN0aW9uTWFwKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICB2YXIgZGlkSGF2ZUZvY3VzID0gcHJldkVkaXRvclN0YXRlLmdldFNlbGVjdGlvbigpLmdldEhhc0ZvY3VzKCk7XG4gICAgdmFyIG5vd0hhc0ZvY3VzID0gbmV4dEVkaXRvclN0YXRlLmdldFNlbGVjdGlvbigpLmdldEhhc0ZvY3VzKCk7XG5cbiAgICBpZiAoZGlkSGF2ZUZvY3VzICE9PSBub3dIYXNGb2N1cykge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgdmFyIG5leHROYXRpdmVDb250ZW50ID0gbmV4dEVkaXRvclN0YXRlLmdldE5hdGl2ZWx5UmVuZGVyZWRDb250ZW50KCk7XG4gICAgdmFyIHdhc0NvbXBvc2luZyA9IHByZXZFZGl0b3JTdGF0ZS5pc0luQ29tcG9zaXRpb25Nb2RlKCk7XG4gICAgdmFyIG5vd0NvbXBvc2luZyA9IG5leHRFZGl0b3JTdGF0ZS5pc0luQ29tcG9zaXRpb25Nb2RlKCk7IC8vIElmIHRoZSBzdGF0ZSBpcyB1bmNoYW5nZWQgb3Igd2UncmUgY3VycmVudGx5IHJlbmRlcmluZyBhIG5hdGl2ZWx5XG4gICAgLy8gcmVuZGVyZWQgc3RhdGUsIHRoZXJlJ3Mgbm90aGluZyBuZXcgdG8gYmUgZG9uZS5cblxuICAgIGlmIChwcmV2RWRpdG9yU3RhdGUgPT09IG5leHRFZGl0b3JTdGF0ZSB8fCBuZXh0TmF0aXZlQ29udGVudCAhPT0gbnVsbCAmJiBuZXh0RWRpdG9yU3RhdGUuZ2V0Q3VycmVudENvbnRlbnQoKSA9PT0gbmV4dE5hdGl2ZUNvbnRlbnQgfHwgd2FzQ29tcG9zaW5nICYmIG5vd0NvbXBvc2luZykge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHZhciBwcmV2Q29udGVudCA9IHByZXZFZGl0b3JTdGF0ZS5nZXRDdXJyZW50Q29udGVudCgpO1xuICAgIHZhciBuZXh0Q29udGVudCA9IG5leHRFZGl0b3JTdGF0ZS5nZXRDdXJyZW50Q29udGVudCgpO1xuICAgIHZhciBwcmV2RGVjb3JhdG9yID0gcHJldkVkaXRvclN0YXRlLmdldERlY29yYXRvcigpO1xuICAgIHZhciBuZXh0RGVjb3JhdG9yID0gbmV4dEVkaXRvclN0YXRlLmdldERlY29yYXRvcigpO1xuICAgIHJldHVybiB3YXNDb21wb3NpbmcgIT09IG5vd0NvbXBvc2luZyB8fCBwcmV2Q29udGVudCAhPT0gbmV4dENvbnRlbnQgfHwgcHJldkRlY29yYXRvciAhPT0gbmV4dERlY29yYXRvciB8fCBuZXh0RWRpdG9yU3RhdGUubXVzdEZvcmNlU2VsZWN0aW9uKCk7XG4gIH07XG5cbiAgX3Byb3RvLnJlbmRlciA9IGZ1bmN0aW9uIHJlbmRlcigpIHtcbiAgICB2YXIgX3RoaXMkcHJvcHMgPSB0aGlzLnByb3BzLFxuICAgICAgICBibG9ja1JlbmRlck1hcCA9IF90aGlzJHByb3BzLmJsb2NrUmVuZGVyTWFwLFxuICAgICAgICBibG9ja1JlbmRlcmVyRm4gPSBfdGhpcyRwcm9wcy5ibG9ja1JlbmRlcmVyRm4sXG4gICAgICAgIGJsb2NrU3R5bGVGbiA9IF90aGlzJHByb3BzLmJsb2NrU3R5bGVGbixcbiAgICAgICAgY3VzdG9tU3R5bGVNYXAgPSBfdGhpcyRwcm9wcy5jdXN0b21TdHlsZU1hcCxcbiAgICAgICAgY3VzdG9tU3R5bGVGbiA9IF90aGlzJHByb3BzLmN1c3RvbVN0eWxlRm4sXG4gICAgICAgIGVkaXRvclN0YXRlID0gX3RoaXMkcHJvcHMuZWRpdG9yU3RhdGUsXG4gICAgICAgIGVkaXRvcktleSA9IF90aGlzJHByb3BzLmVkaXRvcktleSxcbiAgICAgICAgdGV4dERpcmVjdGlvbmFsaXR5ID0gX3RoaXMkcHJvcHMudGV4dERpcmVjdGlvbmFsaXR5O1xuICAgIHZhciBjb250ZW50ID0gZWRpdG9yU3RhdGUuZ2V0Q3VycmVudENvbnRlbnQoKTtcbiAgICB2YXIgc2VsZWN0aW9uID0gZWRpdG9yU3RhdGUuZ2V0U2VsZWN0aW9uKCk7XG4gICAgdmFyIGZvcmNlU2VsZWN0aW9uID0gZWRpdG9yU3RhdGUubXVzdEZvcmNlU2VsZWN0aW9uKCk7XG4gICAgdmFyIGRlY29yYXRvciA9IGVkaXRvclN0YXRlLmdldERlY29yYXRvcigpO1xuICAgIHZhciBkaXJlY3Rpb25NYXAgPSBudWxsdGhyb3dzKGVkaXRvclN0YXRlLmdldERpcmVjdGlvbk1hcCgpKTtcbiAgICB2YXIgYmxvY2tzQXNBcnJheSA9IGNvbnRlbnQuZ2V0QmxvY2tzQXNBcnJheSgpO1xuICAgIHZhciByb290QmxvY2sgPSBibG9ja3NBc0FycmF5WzBdO1xuICAgIHZhciBwcm9jZXNzZWRCbG9ja3MgPSBbXTtcbiAgICB2YXIgbm9kZUJsb2NrID0gcm9vdEJsb2NrO1xuXG4gICAgd2hpbGUgKG5vZGVCbG9jaykge1xuICAgICAgdmFyIGJsb2NrS2V5ID0gbm9kZUJsb2NrLmdldEtleSgpO1xuICAgICAgdmFyIGJsb2NrUHJvcHMgPSB7XG4gICAgICAgIGJsb2NrUmVuZGVyTWFwOiBibG9ja1JlbmRlck1hcCxcbiAgICAgICAgYmxvY2tSZW5kZXJlckZuOiBibG9ja1JlbmRlcmVyRm4sXG4gICAgICAgIGJsb2NrU3R5bGVGbjogYmxvY2tTdHlsZUZuLFxuICAgICAgICBjb250ZW50U3RhdGU6IGNvbnRlbnQsXG4gICAgICAgIGN1c3RvbVN0eWxlRm46IGN1c3RvbVN0eWxlRm4sXG4gICAgICAgIGN1c3RvbVN0eWxlTWFwOiBjdXN0b21TdHlsZU1hcCxcbiAgICAgICAgZGVjb3JhdG9yOiBkZWNvcmF0b3IsXG4gICAgICAgIGVkaXRvcktleTogZWRpdG9yS2V5LFxuICAgICAgICBlZGl0b3JTdGF0ZTogZWRpdG9yU3RhdGUsXG4gICAgICAgIGZvcmNlU2VsZWN0aW9uOiBmb3JjZVNlbGVjdGlvbixcbiAgICAgICAgc2VsZWN0aW9uOiBzZWxlY3Rpb24sXG4gICAgICAgIGJsb2NrOiBub2RlQmxvY2ssXG4gICAgICAgIGRpcmVjdGlvbjogdGV4dERpcmVjdGlvbmFsaXR5ID8gdGV4dERpcmVjdGlvbmFsaXR5IDogZGlyZWN0aW9uTWFwLmdldChibG9ja0tleSksXG4gICAgICAgIHRyZWU6IGVkaXRvclN0YXRlLmdldEJsb2NrVHJlZShibG9ja0tleSlcbiAgICAgIH07XG4gICAgICB2YXIgY29uZmlnRm9yVHlwZSA9IGJsb2NrUmVuZGVyTWFwLmdldChub2RlQmxvY2suZ2V0VHlwZSgpKSB8fCBibG9ja1JlbmRlck1hcC5nZXQoJ3Vuc3R5bGVkJyk7XG4gICAgICB2YXIgd3JhcHBlclRlbXBsYXRlID0gY29uZmlnRm9yVHlwZS53cmFwcGVyO1xuICAgICAgcHJvY2Vzc2VkQmxvY2tzLnB1c2goe1xuICAgICAgICAvKiAkRmxvd0ZpeE1lKD49MC4xMTIuMCBzaXRlPW1vYmlsZSkgVGhpcyBjb21tZW50IHN1cHByZXNzZXMgYW4gZXJyb3JcbiAgICAgICAgICogZm91bmQgd2hlbiBGbG93IHYwLjExMiB3YXMgZGVwbG95ZWQuIFRvIHNlZSB0aGUgZXJyb3IgZGVsZXRlIHRoaXNcbiAgICAgICAgICogY29tbWVudCBhbmQgcnVuIEZsb3cuICovXG5cbiAgICAgICAgLyogJEZsb3dGaXhNZSg+PTAuMTEyLjAgc2l0ZT13d3cpIFRoaXMgY29tbWVudCBzdXBwcmVzc2VzIGFuIGVycm9yXG4gICAgICAgICAqIGZvdW5kIHdoZW4gRmxvdyB2MC4xMTIgd2FzIGRlcGxveWVkLiBUbyBzZWUgdGhlIGVycm9yIGRlbGV0ZSB0aGlzXG4gICAgICAgICAqIGNvbW1lbnQgYW5kIHJ1biBGbG93LiAqL1xuXG4gICAgICAgIC8qICRGbG93Rml4TWUoPj0wLjExMi4wIHNpdGU9d3d3LG1vYmlsZSkgVGhpcyBjb21tZW50IHN1cHByZXNzZXMgYW5cbiAgICAgICAgICogZXJyb3IgZm91bmQgd2hlbiBGbG93IHYwLjExMiB3YXMgZGVwbG95ZWQuIFRvIHNlZSB0aGUgZXJyb3IgZGVsZXRlXG4gICAgICAgICAqIHRoaXMgY29tbWVudCBhbmQgcnVuIEZsb3cuICovXG4gICAgICAgIGJsb2NrOiBSZWFjdC5jcmVhdGVFbGVtZW50KERyYWZ0RWRpdG9yQmxvY2tOb2RlLCBfZXh0ZW5kcyh7XG4gICAgICAgICAga2V5OiBibG9ja0tleVxuICAgICAgICB9LCBibG9ja1Byb3BzKSksXG4gICAgICAgIHdyYXBwZXJUZW1wbGF0ZTogd3JhcHBlclRlbXBsYXRlLFxuICAgICAgICBrZXk6IGJsb2NrS2V5LFxuICAgICAgICBvZmZzZXRLZXk6IERyYWZ0T2Zmc2V0S2V5LmVuY29kZShibG9ja0tleSwgMCwgMClcbiAgICAgIH0pO1xuICAgICAgdmFyIG5leHRCbG9ja0tleSA9IG5vZGVCbG9jay5nZXROZXh0U2libGluZ0tleSgpO1xuICAgICAgbm9kZUJsb2NrID0gbmV4dEJsb2NrS2V5ID8gY29udGVudC5nZXRCbG9ja0ZvcktleShuZXh0QmxvY2tLZXkpIDogbnVsbDtcbiAgICB9IC8vIEdyb3VwIGNvbnRpZ3VvdXMgcnVucyBvZiBibG9ja3MgdGhhdCBoYXZlIHRoZSBzYW1lIHdyYXBwZXJUZW1wbGF0ZVxuXG5cbiAgICB2YXIgb3V0cHV0QmxvY2tzID0gW107XG5cbiAgICBmb3IgKHZhciBpaSA9IDA7IGlpIDwgcHJvY2Vzc2VkQmxvY2tzLmxlbmd0aDspIHtcbiAgICAgIHZhciBpbmZvID0gcHJvY2Vzc2VkQmxvY2tzW2lpXTtcblxuICAgICAgaWYgKGluZm8ud3JhcHBlclRlbXBsYXRlKSB7XG4gICAgICAgIHZhciBibG9ja3MgPSBbXTtcblxuICAgICAgICBkbyB7XG4gICAgICAgICAgYmxvY2tzLnB1c2gocHJvY2Vzc2VkQmxvY2tzW2lpXS5ibG9jayk7XG4gICAgICAgICAgaWkrKztcbiAgICAgICAgfSB3aGlsZSAoaWkgPCBwcm9jZXNzZWRCbG9ja3MubGVuZ3RoICYmIHByb2Nlc3NlZEJsb2Nrc1tpaV0ud3JhcHBlclRlbXBsYXRlID09PSBpbmZvLndyYXBwZXJUZW1wbGF0ZSk7XG5cbiAgICAgICAgdmFyIHdyYXBwZXJFbGVtZW50ID0gUmVhY3QuY2xvbmVFbGVtZW50KGluZm8ud3JhcHBlclRlbXBsYXRlLCB7XG4gICAgICAgICAga2V5OiBpbmZvLmtleSArICctd3JhcCcsXG4gICAgICAgICAgJ2RhdGEtb2Zmc2V0LWtleSc6IGluZm8ub2Zmc2V0S2V5XG4gICAgICAgIH0sIGJsb2Nrcyk7XG4gICAgICAgIG91dHB1dEJsb2Nrcy5wdXNoKHdyYXBwZXJFbGVtZW50KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG91dHB1dEJsb2Nrcy5wdXNoKGluZm8uYmxvY2spO1xuICAgICAgICBpaSsrO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHtcbiAgICAgIFwiZGF0YS1jb250ZW50c1wiOiBcInRydWVcIlxuICAgIH0sIG91dHB1dEJsb2Nrcyk7XG4gIH07XG5cbiAgcmV0dXJuIERyYWZ0RWRpdG9yQ29udGVudHNFeHBlcmltZW50YWw7XG59KFJlYWN0LkNvbXBvbmVudCk7XG5cbm1vZHVsZS5leHBvcnRzID0gRHJhZnRFZGl0b3JDb250ZW50c0V4cGVyaW1lbnRhbDsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/DraftEditorContentsExperimental.react.js\n"); + +/***/ }), + +/***/ "./node_modules/draft-js/lib/DraftEditorDecoratedLeaves.react.js": +/*!***********************************************************************!*\ + !*** ./node_modules/draft-js/lib/DraftEditorDecoratedLeaves.react.js ***! + \***********************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n *\n * This is unstable and not part of the public API and should not be used by\n * production systems. This file may be update/removed without notice.\n */\n\n\nvar _assign = __webpack_require__(/*! object-assign */ \"./node_modules/object-assign/index.js\");\n\nfunction _extends() { _extends = _assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar DraftOffsetKey = __webpack_require__(/*! ./DraftOffsetKey */ \"./node_modules/draft-js/lib/DraftOffsetKey.js\");\n\nvar React = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n\nvar UnicodeBidi = __webpack_require__(/*! fbjs/lib/UnicodeBidi */ \"./node_modules/fbjs/lib/UnicodeBidi.js\");\n\nvar UnicodeBidiDirection = __webpack_require__(/*! fbjs/lib/UnicodeBidiDirection */ \"./node_modules/fbjs/lib/UnicodeBidiDirection.js\");\n\nvar DraftEditorDecoratedLeaves =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(DraftEditorDecoratedLeaves, _React$Component);\n\n function DraftEditorDecoratedLeaves() {\n return _React$Component.apply(this, arguments) || this;\n }\n\n var _proto = DraftEditorDecoratedLeaves.prototype;\n\n _proto.render = function render() {\n var _this$props = this.props,\n block = _this$props.block,\n children = _this$props.children,\n contentState = _this$props.contentState,\n decorator = _this$props.decorator,\n decoratorKey = _this$props.decoratorKey,\n direction = _this$props.direction,\n leafSet = _this$props.leafSet,\n text = _this$props.text;\n var blockKey = block.getKey();\n var leavesForLeafSet = leafSet.get('leaves');\n var DecoratorComponent = decorator.getComponentForKey(decoratorKey);\n var decoratorProps = decorator.getPropsForKey(decoratorKey);\n var decoratorOffsetKey = DraftOffsetKey.encode(blockKey, parseInt(decoratorKey, 10), 0);\n var decoratedText = text.slice(leavesForLeafSet.first().get('start'), leavesForLeafSet.last().get('end')); // Resetting dir to the same value on a child node makes Chrome/Firefox\n // confused on cursor movement. See http://jsfiddle.net/d157kLck/3/\n\n var dir = UnicodeBidiDirection.getHTMLDirIfDifferent(UnicodeBidi.getDirection(decoratedText), direction);\n return React.createElement(DecoratorComponent, _extends({}, decoratorProps, {\n contentState: contentState,\n decoratedText: decoratedText,\n dir: dir,\n key: decoratorOffsetKey,\n entityKey: block.getEntityAt(leafSet.get('start')),\n offsetKey: decoratorOffsetKey\n }), children);\n };\n\n return DraftEditorDecoratedLeaves;\n}(React.Component);\n\nmodule.exports = DraftEditorDecoratedLeaves;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0RyYWZ0RWRpdG9yRGVjb3JhdGVkTGVhdmVzLnJlYWN0LmpzPzQwMzEiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDYTs7QUFFYixjQUFjLG1CQUFPLENBQUMsNERBQWU7O0FBRXJDLHFCQUFxQiwwQ0FBMEMsZ0JBQWdCLHNCQUFzQixPQUFPLDJCQUEyQiwwQkFBMEIseURBQXlELDJCQUEyQixFQUFFLEVBQUUsRUFBRSxlQUFlLEdBQUcsd0NBQXdDOztBQUVyVCwrQ0FBK0MsMERBQTBELDJDQUEyQyxpQ0FBaUM7O0FBRXJMLHFCQUFxQixtQkFBTyxDQUFDLHVFQUFrQjs7QUFFL0MsWUFBWSxtQkFBTyxDQUFDLDRDQUFPOztBQUUzQixrQkFBa0IsbUJBQU8sQ0FBQyxvRUFBc0I7O0FBRWhELDJCQUEyQixtQkFBTyxDQUFDLHNGQUErQjs7QUFFbEU7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDhHQUE4RztBQUM5Rzs7QUFFQTtBQUNBLDhEQUE4RDtBQUM5RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQSxDQUFDOztBQUVEIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2RyYWZ0LWpzL2xpYi9EcmFmdEVkaXRvckRlY29yYXRlZExlYXZlcy5yZWFjdC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSBGYWNlYm9vaywgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICogQGZvcm1hdFxuICogXG4gKiBAZW1haWxzIG9uY2FsbCtkcmFmdF9qc1xuICpcbiAqIFRoaXMgaXMgdW5zdGFibGUgYW5kIG5vdCBwYXJ0IG9mIHRoZSBwdWJsaWMgQVBJIGFuZCBzaG91bGQgbm90IGJlIHVzZWQgYnlcbiAqIHByb2R1Y3Rpb24gc3lzdGVtcy4gVGhpcyBmaWxlIG1heSBiZSB1cGRhdGUvcmVtb3ZlZCB3aXRob3V0IG5vdGljZS5cbiAqL1xuJ3VzZSBzdHJpY3QnO1xuXG52YXIgX2Fzc2lnbiA9IHJlcXVpcmUoXCJvYmplY3QtYXNzaWduXCIpO1xuXG5mdW5jdGlvbiBfZXh0ZW5kcygpIHsgX2V4dGVuZHMgPSBfYXNzaWduIHx8IGZ1bmN0aW9uICh0YXJnZXQpIHsgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHsgdmFyIHNvdXJjZSA9IGFyZ3VtZW50c1tpXTsgZm9yICh2YXIga2V5IGluIHNvdXJjZSkgeyBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHNvdXJjZSwga2V5KSkgeyB0YXJnZXRba2V5XSA9IHNvdXJjZVtrZXldOyB9IH0gfSByZXR1cm4gdGFyZ2V0OyB9OyByZXR1cm4gX2V4dGVuZHMuYXBwbHkodGhpcywgYXJndW1lbnRzKTsgfVxuXG5mdW5jdGlvbiBfaW5oZXJpdHNMb29zZShzdWJDbGFzcywgc3VwZXJDbGFzcykgeyBzdWJDbGFzcy5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKHN1cGVyQ2xhc3MucHJvdG90eXBlKTsgc3ViQ2xhc3MucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gc3ViQ2xhc3M7IHN1YkNsYXNzLl9fcHJvdG9fXyA9IHN1cGVyQ2xhc3M7IH1cblxudmFyIERyYWZ0T2Zmc2V0S2V5ID0gcmVxdWlyZShcIi4vRHJhZnRPZmZzZXRLZXlcIik7XG5cbnZhciBSZWFjdCA9IHJlcXVpcmUoXCJyZWFjdFwiKTtcblxudmFyIFVuaWNvZGVCaWRpID0gcmVxdWlyZShcImZianMvbGliL1VuaWNvZGVCaWRpXCIpO1xuXG52YXIgVW5pY29kZUJpZGlEaXJlY3Rpb24gPSByZXF1aXJlKFwiZmJqcy9saWIvVW5pY29kZUJpZGlEaXJlY3Rpb25cIik7XG5cbnZhciBEcmFmdEVkaXRvckRlY29yYXRlZExlYXZlcyA9XG4vKiNfX1BVUkVfXyovXG5mdW5jdGlvbiAoX1JlYWN0JENvbXBvbmVudCkge1xuICBfaW5oZXJpdHNMb29zZShEcmFmdEVkaXRvckRlY29yYXRlZExlYXZlcywgX1JlYWN0JENvbXBvbmVudCk7XG5cbiAgZnVuY3Rpb24gRHJhZnRFZGl0b3JEZWNvcmF0ZWRMZWF2ZXMoKSB7XG4gICAgcmV0dXJuIF9SZWFjdCRDb21wb25lbnQuYXBwbHkodGhpcywgYXJndW1lbnRzKSB8fCB0aGlzO1xuICB9XG5cbiAgdmFyIF9wcm90byA9IERyYWZ0RWRpdG9yRGVjb3JhdGVkTGVhdmVzLnByb3RvdHlwZTtcblxuICBfcHJvdG8ucmVuZGVyID0gZnVuY3Rpb24gcmVuZGVyKCkge1xuICAgIHZhciBfdGhpcyRwcm9wcyA9IHRoaXMucHJvcHMsXG4gICAgICAgIGJsb2NrID0gX3RoaXMkcHJvcHMuYmxvY2ssXG4gICAgICAgIGNoaWxkcmVuID0gX3RoaXMkcHJvcHMuY2hpbGRyZW4sXG4gICAgICAgIGNvbnRlbnRTdGF0ZSA9IF90aGlzJHByb3BzLmNvbnRlbnRTdGF0ZSxcbiAgICAgICAgZGVjb3JhdG9yID0gX3RoaXMkcHJvcHMuZGVjb3JhdG9yLFxuICAgICAgICBkZWNvcmF0b3JLZXkgPSBfdGhpcyRwcm9wcy5kZWNvcmF0b3JLZXksXG4gICAgICAgIGRpcmVjdGlvbiA9IF90aGlzJHByb3BzLmRpcmVjdGlvbixcbiAgICAgICAgbGVhZlNldCA9IF90aGlzJHByb3BzLmxlYWZTZXQsXG4gICAgICAgIHRleHQgPSBfdGhpcyRwcm9wcy50ZXh0O1xuICAgIHZhciBibG9ja0tleSA9IGJsb2NrLmdldEtleSgpO1xuICAgIHZhciBsZWF2ZXNGb3JMZWFmU2V0ID0gbGVhZlNldC5nZXQoJ2xlYXZlcycpO1xuICAgIHZhciBEZWNvcmF0b3JDb21wb25lbnQgPSBkZWNvcmF0b3IuZ2V0Q29tcG9uZW50Rm9yS2V5KGRlY29yYXRvcktleSk7XG4gICAgdmFyIGRlY29yYXRvclByb3BzID0gZGVjb3JhdG9yLmdldFByb3BzRm9yS2V5KGRlY29yYXRvcktleSk7XG4gICAgdmFyIGRlY29yYXRvck9mZnNldEtleSA9IERyYWZ0T2Zmc2V0S2V5LmVuY29kZShibG9ja0tleSwgcGFyc2VJbnQoZGVjb3JhdG9yS2V5LCAxMCksIDApO1xuICAgIHZhciBkZWNvcmF0ZWRUZXh0ID0gdGV4dC5zbGljZShsZWF2ZXNGb3JMZWFmU2V0LmZpcnN0KCkuZ2V0KCdzdGFydCcpLCBsZWF2ZXNGb3JMZWFmU2V0Lmxhc3QoKS5nZXQoJ2VuZCcpKTsgLy8gUmVzZXR0aW5nIGRpciB0byB0aGUgc2FtZSB2YWx1ZSBvbiBhIGNoaWxkIG5vZGUgbWFrZXMgQ2hyb21lL0ZpcmVmb3hcbiAgICAvLyBjb25mdXNlZCBvbiBjdXJzb3IgbW92ZW1lbnQuIFNlZSBodHRwOi8vanNmaWRkbGUubmV0L2QxNTdrTGNrLzMvXG5cbiAgICB2YXIgZGlyID0gVW5pY29kZUJpZGlEaXJlY3Rpb24uZ2V0SFRNTERpcklmRGlmZmVyZW50KFVuaWNvZGVCaWRpLmdldERpcmVjdGlvbihkZWNvcmF0ZWRUZXh0KSwgZGlyZWN0aW9uKTtcbiAgICByZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChEZWNvcmF0b3JDb21wb25lbnQsIF9leHRlbmRzKHt9LCBkZWNvcmF0b3JQcm9wcywge1xuICAgICAgY29udGVudFN0YXRlOiBjb250ZW50U3RhdGUsXG4gICAgICBkZWNvcmF0ZWRUZXh0OiBkZWNvcmF0ZWRUZXh0LFxuICAgICAgZGlyOiBkaXIsXG4gICAgICBrZXk6IGRlY29yYXRvck9mZnNldEtleSxcbiAgICAgIGVudGl0eUtleTogYmxvY2suZ2V0RW50aXR5QXQobGVhZlNldC5nZXQoJ3N0YXJ0JykpLFxuICAgICAgb2Zmc2V0S2V5OiBkZWNvcmF0b3JPZmZzZXRLZXlcbiAgICB9KSwgY2hpbGRyZW4pO1xuICB9O1xuXG4gIHJldHVybiBEcmFmdEVkaXRvckRlY29yYXRlZExlYXZlcztcbn0oUmVhY3QuQ29tcG9uZW50KTtcblxubW9kdWxlLmV4cG9ydHMgPSBEcmFmdEVkaXRvckRlY29yYXRlZExlYXZlczsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/DraftEditorDecoratedLeaves.react.js\n"); /***/ }), @@ -223,7 +282,7 @@ eval("/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule DraftEditorDragHandler\n * @format\n * \n */\n\n\n\nvar DataTransfer = __webpack_require__(/*! fbjs/lib/DataTransfer */ \"./node_modules/fbjs/lib/DataTransfer.js\");\nvar DraftModifier = __webpack_require__(/*! ./DraftModifier */ \"./node_modules/draft-js/lib/DraftModifier.js\");\nvar EditorState = __webpack_require__(/*! ./EditorState */ \"./node_modules/draft-js/lib/EditorState.js\");\n\nvar findAncestorOffsetKey = __webpack_require__(/*! ./findAncestorOffsetKey */ \"./node_modules/draft-js/lib/findAncestorOffsetKey.js\");\nvar getTextContentFromFiles = __webpack_require__(/*! ./getTextContentFromFiles */ \"./node_modules/draft-js/lib/getTextContentFromFiles.js\");\nvar getUpdatedSelectionState = __webpack_require__(/*! ./getUpdatedSelectionState */ \"./node_modules/draft-js/lib/getUpdatedSelectionState.js\");\nvar isEventHandled = __webpack_require__(/*! ./isEventHandled */ \"./node_modules/draft-js/lib/isEventHandled.js\");\nvar nullthrows = __webpack_require__(/*! fbjs/lib/nullthrows */ \"./node_modules/fbjs/lib/nullthrows.js\");\n\n/**\n * Get a SelectionState for the supplied mouse event.\n */\nfunction getSelectionForEvent(event, editorState) {\n var node = null;\n var offset = null;\n\n if (typeof document.caretRangeFromPoint === 'function') {\n var dropRange = document.caretRangeFromPoint(event.x, event.y);\n node = dropRange.startContainer;\n offset = dropRange.startOffset;\n } else if (event.rangeParent) {\n node = event.rangeParent;\n offset = event.rangeOffset;\n } else {\n return null;\n }\n\n node = nullthrows(node);\n offset = nullthrows(offset);\n var offsetKey = nullthrows(findAncestorOffsetKey(node));\n\n return getUpdatedSelectionState(editorState, offsetKey, offset, offsetKey, offset);\n}\n\nvar DraftEditorDragHandler = {\n /**\n * Drag originating from input terminated.\n */\n onDragEnd: function onDragEnd(editor) {\n editor.exitCurrentMode();\n },\n\n /**\n * Handle data being dropped.\n */\n onDrop: function onDrop(editor, e) {\n var data = new DataTransfer(e.nativeEvent.dataTransfer);\n\n var editorState = editor._latestEditorState;\n var dropSelection = getSelectionForEvent(e.nativeEvent, editorState);\n\n e.preventDefault();\n editor.exitCurrentMode();\n\n if (dropSelection == null) {\n return;\n }\n\n var files = data.getFiles();\n if (files.length > 0) {\n if (editor.props.handleDroppedFiles && isEventHandled(editor.props.handleDroppedFiles(dropSelection, files))) {\n return;\n }\n\n getTextContentFromFiles(files, function (fileText) {\n fileText && editor.update(insertTextAtSelection(editorState, dropSelection, fileText));\n });\n return;\n }\n\n var dragType = editor._internalDrag ? 'internal' : 'external';\n if (editor.props.handleDrop && isEventHandled(editor.props.handleDrop(dropSelection, data, dragType))) {\n return;\n }\n\n if (editor._internalDrag) {\n editor.update(moveText(editorState, dropSelection));\n return;\n }\n\n editor.update(insertTextAtSelection(editorState, dropSelection, data.getText()));\n }\n};\n\nfunction moveText(editorState, targetSelection) {\n var newContentState = DraftModifier.moveText(editorState.getCurrentContent(), editorState.getSelection(), targetSelection);\n return EditorState.push(editorState, newContentState, 'insert-fragment');\n}\n\n/**\n * Insert text at a specified selection.\n */\nfunction insertTextAtSelection(editorState, selection, text) {\n var newContentState = DraftModifier.insertText(editorState.getCurrentContent(), selection, text, editorState.getCurrentInlineStyle());\n return EditorState.push(editorState, newContentState, 'insert-fragment');\n}\n\nmodule.exports = DraftEditorDragHandler;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0RyYWZ0RWRpdG9yRHJhZ0hhbmRsZXIuanM/MjEyNCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWE7O0FBRWIsbUJBQW1CLG1CQUFPLENBQUMsc0VBQXVCO0FBQ2xELG9CQUFvQixtQkFBTyxDQUFDLHFFQUFpQjtBQUM3QyxrQkFBa0IsbUJBQU8sQ0FBQyxpRUFBZTs7QUFFekMsNEJBQTRCLG1CQUFPLENBQUMscUZBQXlCO0FBQzdELDhCQUE4QixtQkFBTyxDQUFDLHlGQUEyQjtBQUNqRSwrQkFBK0IsbUJBQU8sQ0FBQywyRkFBNEI7QUFDbkUscUJBQXFCLG1CQUFPLENBQUMsdUVBQWtCO0FBQy9DLGlCQUFpQixtQkFBTyxDQUFDLGtFQUFxQjs7QUFFOUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0RyYWZ0RWRpdG9yRHJhZ0hhbmRsZXIuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxMy1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuICogQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBCU0Qtc3R5bGUgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS4gQW4gYWRkaXRpb25hbCBncmFudFxuICogb2YgcGF0ZW50IHJpZ2h0cyBjYW4gYmUgZm91bmQgaW4gdGhlIFBBVEVOVFMgZmlsZSBpbiB0aGUgc2FtZSBkaXJlY3RvcnkuXG4gKlxuICogQHByb3ZpZGVzTW9kdWxlIERyYWZ0RWRpdG9yRHJhZ0hhbmRsZXJcbiAqIEBmb3JtYXRcbiAqIFxuICovXG5cbid1c2Ugc3RyaWN0JztcblxudmFyIERhdGFUcmFuc2ZlciA9IHJlcXVpcmUoJ2ZianMvbGliL0RhdGFUcmFuc2ZlcicpO1xudmFyIERyYWZ0TW9kaWZpZXIgPSByZXF1aXJlKCcuL0RyYWZ0TW9kaWZpZXInKTtcbnZhciBFZGl0b3JTdGF0ZSA9IHJlcXVpcmUoJy4vRWRpdG9yU3RhdGUnKTtcblxudmFyIGZpbmRBbmNlc3Rvck9mZnNldEtleSA9IHJlcXVpcmUoJy4vZmluZEFuY2VzdG9yT2Zmc2V0S2V5Jyk7XG52YXIgZ2V0VGV4dENvbnRlbnRGcm9tRmlsZXMgPSByZXF1aXJlKCcuL2dldFRleHRDb250ZW50RnJvbUZpbGVzJyk7XG52YXIgZ2V0VXBkYXRlZFNlbGVjdGlvblN0YXRlID0gcmVxdWlyZSgnLi9nZXRVcGRhdGVkU2VsZWN0aW9uU3RhdGUnKTtcbnZhciBpc0V2ZW50SGFuZGxlZCA9IHJlcXVpcmUoJy4vaXNFdmVudEhhbmRsZWQnKTtcbnZhciBudWxsdGhyb3dzID0gcmVxdWlyZSgnZmJqcy9saWIvbnVsbHRocm93cycpO1xuXG4vKipcbiAqIEdldCBhIFNlbGVjdGlvblN0YXRlIGZvciB0aGUgc3VwcGxpZWQgbW91c2UgZXZlbnQuXG4gKi9cbmZ1bmN0aW9uIGdldFNlbGVjdGlvbkZvckV2ZW50KGV2ZW50LCBlZGl0b3JTdGF0ZSkge1xuICB2YXIgbm9kZSA9IG51bGw7XG4gIHZhciBvZmZzZXQgPSBudWxsO1xuXG4gIGlmICh0eXBlb2YgZG9jdW1lbnQuY2FyZXRSYW5nZUZyb21Qb2ludCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHZhciBkcm9wUmFuZ2UgPSBkb2N1bWVudC5jYXJldFJhbmdlRnJvbVBvaW50KGV2ZW50LngsIGV2ZW50LnkpO1xuICAgIG5vZGUgPSBkcm9wUmFuZ2Uuc3RhcnRDb250YWluZXI7XG4gICAgb2Zmc2V0ID0gZHJvcFJhbmdlLnN0YXJ0T2Zmc2V0O1xuICB9IGVsc2UgaWYgKGV2ZW50LnJhbmdlUGFyZW50KSB7XG4gICAgbm9kZSA9IGV2ZW50LnJhbmdlUGFyZW50O1xuICAgIG9mZnNldCA9IGV2ZW50LnJhbmdlT2Zmc2V0O1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgbm9kZSA9IG51bGx0aHJvd3Mobm9kZSk7XG4gIG9mZnNldCA9IG51bGx0aHJvd3Mob2Zmc2V0KTtcbiAgdmFyIG9mZnNldEtleSA9IG51bGx0aHJvd3MoZmluZEFuY2VzdG9yT2Zmc2V0S2V5KG5vZGUpKTtcblxuICByZXR1cm4gZ2V0VXBkYXRlZFNlbGVjdGlvblN0YXRlKGVkaXRvclN0YXRlLCBvZmZzZXRLZXksIG9mZnNldCwgb2Zmc2V0S2V5LCBvZmZzZXQpO1xufVxuXG52YXIgRHJhZnRFZGl0b3JEcmFnSGFuZGxlciA9IHtcbiAgLyoqXG4gICAqIERyYWcgb3JpZ2luYXRpbmcgZnJvbSBpbnB1dCB0ZXJtaW5hdGVkLlxuICAgKi9cbiAgb25EcmFnRW5kOiBmdW5jdGlvbiBvbkRyYWdFbmQoZWRpdG9yKSB7XG4gICAgZWRpdG9yLmV4aXRDdXJyZW50TW9kZSgpO1xuICB9LFxuXG4gIC8qKlxuICAgKiBIYW5kbGUgZGF0YSBiZWluZyBkcm9wcGVkLlxuICAgKi9cbiAgb25Ecm9wOiBmdW5jdGlvbiBvbkRyb3AoZWRpdG9yLCBlKSB7XG4gICAgdmFyIGRhdGEgPSBuZXcgRGF0YVRyYW5zZmVyKGUubmF0aXZlRXZlbnQuZGF0YVRyYW5zZmVyKTtcblxuICAgIHZhciBlZGl0b3JTdGF0ZSA9IGVkaXRvci5fbGF0ZXN0RWRpdG9yU3RhdGU7XG4gICAgdmFyIGRyb3BTZWxlY3Rpb24gPSBnZXRTZWxlY3Rpb25Gb3JFdmVudChlLm5hdGl2ZUV2ZW50LCBlZGl0b3JTdGF0ZSk7XG5cbiAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgZWRpdG9yLmV4aXRDdXJyZW50TW9kZSgpO1xuXG4gICAgaWYgKGRyb3BTZWxlY3Rpb24gPT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHZhciBmaWxlcyA9IGRhdGEuZ2V0RmlsZXMoKTtcbiAgICBpZiAoZmlsZXMubGVuZ3RoID4gMCkge1xuICAgICAgaWYgKGVkaXRvci5wcm9wcy5oYW5kbGVEcm9wcGVkRmlsZXMgJiYgaXNFdmVudEhhbmRsZWQoZWRpdG9yLnByb3BzLmhhbmRsZURyb3BwZWRGaWxlcyhkcm9wU2VsZWN0aW9uLCBmaWxlcykpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgZ2V0VGV4dENvbnRlbnRGcm9tRmlsZXMoZmlsZXMsIGZ1bmN0aW9uIChmaWxlVGV4dCkge1xuICAgICAgICBmaWxlVGV4dCAmJiBlZGl0b3IudXBkYXRlKGluc2VydFRleHRBdFNlbGVjdGlvbihlZGl0b3JTdGF0ZSwgZHJvcFNlbGVjdGlvbiwgZmlsZVRleHQpKTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHZhciBkcmFnVHlwZSA9IGVkaXRvci5faW50ZXJuYWxEcmFnID8gJ2ludGVybmFsJyA6ICdleHRlcm5hbCc7XG4gICAgaWYgKGVkaXRvci5wcm9wcy5oYW5kbGVEcm9wICYmIGlzRXZlbnRIYW5kbGVkKGVkaXRvci5wcm9wcy5oYW5kbGVEcm9wKGRyb3BTZWxlY3Rpb24sIGRhdGEsIGRyYWdUeXBlKSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoZWRpdG9yLl9pbnRlcm5hbERyYWcpIHtcbiAgICAgIGVkaXRvci51cGRhdGUobW92ZVRleHQoZWRpdG9yU3RhdGUsIGRyb3BTZWxlY3Rpb24pKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBlZGl0b3IudXBkYXRlKGluc2VydFRleHRBdFNlbGVjdGlvbihlZGl0b3JTdGF0ZSwgZHJvcFNlbGVjdGlvbiwgZGF0YS5nZXRUZXh0KCkpKTtcbiAgfVxufTtcblxuZnVuY3Rpb24gbW92ZVRleHQoZWRpdG9yU3RhdGUsIHRhcmdldFNlbGVjdGlvbikge1xuICB2YXIgbmV3Q29udGVudFN0YXRlID0gRHJhZnRNb2RpZmllci5tb3ZlVGV4dChlZGl0b3JTdGF0ZS5nZXRDdXJyZW50Q29udGVudCgpLCBlZGl0b3JTdGF0ZS5nZXRTZWxlY3Rpb24oKSwgdGFyZ2V0U2VsZWN0aW9uKTtcbiAgcmV0dXJuIEVkaXRvclN0YXRlLnB1c2goZWRpdG9yU3RhdGUsIG5ld0NvbnRlbnRTdGF0ZSwgJ2luc2VydC1mcmFnbWVudCcpO1xufVxuXG4vKipcbiAqIEluc2VydCB0ZXh0IGF0IGEgc3BlY2lmaWVkIHNlbGVjdGlvbi5cbiAqL1xuZnVuY3Rpb24gaW5zZXJ0VGV4dEF0U2VsZWN0aW9uKGVkaXRvclN0YXRlLCBzZWxlY3Rpb24sIHRleHQpIHtcbiAgdmFyIG5ld0NvbnRlbnRTdGF0ZSA9IERyYWZ0TW9kaWZpZXIuaW5zZXJ0VGV4dChlZGl0b3JTdGF0ZS5nZXRDdXJyZW50Q29udGVudCgpLCBzZWxlY3Rpb24sIHRleHQsIGVkaXRvclN0YXRlLmdldEN1cnJlbnRJbmxpbmVTdHlsZSgpKTtcbiAgcmV0dXJuIEVkaXRvclN0YXRlLnB1c2goZWRpdG9yU3RhdGUsIG5ld0NvbnRlbnRTdGF0ZSwgJ2luc2VydC1mcmFnbWVudCcpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IERyYWZ0RWRpdG9yRHJhZ0hhbmRsZXI7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/DraftEditorDragHandler.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nvar DataTransfer = __webpack_require__(/*! fbjs/lib/DataTransfer */ \"./node_modules/fbjs/lib/DataTransfer.js\");\n\nvar DraftModifier = __webpack_require__(/*! ./DraftModifier */ \"./node_modules/draft-js/lib/DraftModifier.js\");\n\nvar EditorState = __webpack_require__(/*! ./EditorState */ \"./node_modules/draft-js/lib/EditorState.js\");\n\nvar ReactDOM = __webpack_require__(/*! react-dom */ \"./node_modules/react-dom/index.js\");\n\nvar findAncestorOffsetKey = __webpack_require__(/*! ./findAncestorOffsetKey */ \"./node_modules/draft-js/lib/findAncestorOffsetKey.js\");\n\nvar getCorrectDocumentFromNode = __webpack_require__(/*! ./getCorrectDocumentFromNode */ \"./node_modules/draft-js/lib/getCorrectDocumentFromNode.js\");\n\nvar getTextContentFromFiles = __webpack_require__(/*! ./getTextContentFromFiles */ \"./node_modules/draft-js/lib/getTextContentFromFiles.js\");\n\nvar getUpdatedSelectionState = __webpack_require__(/*! ./getUpdatedSelectionState */ \"./node_modules/draft-js/lib/getUpdatedSelectionState.js\");\n\nvar getWindowForNode = __webpack_require__(/*! ./getWindowForNode */ \"./node_modules/draft-js/lib/getWindowForNode.js\");\n\nvar isEventHandled = __webpack_require__(/*! ./isEventHandled */ \"./node_modules/draft-js/lib/isEventHandled.js\");\n\nvar nullthrows = __webpack_require__(/*! fbjs/lib/nullthrows */ \"./node_modules/fbjs/lib/nullthrows.js\");\n/**\n * Get a SelectionState for the supplied mouse event.\n */\n\n\nfunction getSelectionForEvent(event, editorState) {\n var node = null;\n var offset = null;\n var eventTargetDocument = getCorrectDocumentFromNode(event.currentTarget);\n /* $FlowFixMe(>=0.68.0 site=www,mobile) This comment suppresses an error\n * found when Flow v0.68 was deployed. To see the error delete this comment\n * and run Flow. */\n\n if (typeof eventTargetDocument.caretRangeFromPoint === 'function') {\n var dropRange = eventTargetDocument.caretRangeFromPoint(event.x, event.y);\n node = dropRange.startContainer;\n offset = dropRange.startOffset;\n } else if (event.rangeParent) {\n node = event.rangeParent;\n offset = event.rangeOffset;\n } else {\n return null;\n }\n\n node = nullthrows(node);\n offset = nullthrows(offset);\n var offsetKey = nullthrows(findAncestorOffsetKey(node));\n return getUpdatedSelectionState(editorState, offsetKey, offset, offsetKey, offset);\n}\n\nvar DraftEditorDragHandler = {\n /**\n * Drag originating from input terminated.\n */\n onDragEnd: function onDragEnd(editor) {\n editor.exitCurrentMode();\n endDrag(editor);\n },\n\n /**\n * Handle data being dropped.\n */\n onDrop: function onDrop(editor, e) {\n var data = new DataTransfer(e.nativeEvent.dataTransfer);\n var editorState = editor._latestEditorState;\n var dropSelection = getSelectionForEvent(e.nativeEvent, editorState);\n e.preventDefault();\n editor._dragCount = 0;\n editor.exitCurrentMode();\n\n if (dropSelection == null) {\n return;\n }\n /* $FlowFixMe This comment suppresses an error found DataTransfer was typed.\n * getFiles() returns an array of , not Blob */\n\n\n var files = data.getFiles();\n\n if (files.length > 0) {\n if (editor.props.handleDroppedFiles && isEventHandled(editor.props.handleDroppedFiles(dropSelection, files))) {\n return;\n }\n\n getTextContentFromFiles(files, function (fileText) {\n fileText && editor.update(insertTextAtSelection(editorState, dropSelection, fileText));\n });\n return;\n }\n\n var dragType = editor._internalDrag ? 'internal' : 'external';\n\n if (editor.props.handleDrop && isEventHandled(editor.props.handleDrop(dropSelection, data, dragType))) {// handled\n } else if (editor._internalDrag) {\n editor.update(moveText(editorState, dropSelection));\n } else {\n editor.update(insertTextAtSelection(editorState, dropSelection, data.getText()));\n }\n\n endDrag(editor);\n }\n};\n\nfunction endDrag(editor) {\n editor._internalDrag = false; // Fix issue #1383\n // Prior to React v16.5.0 onDrop breaks onSelect event:\n // https://github.com/facebook/react/issues/11379.\n // Dispatching a mouseup event on DOM node will make it go back to normal.\n\n var editorNode = ReactDOM.findDOMNode(editor);\n\n if (editorNode) {\n var mouseUpEvent = new MouseEvent('mouseup', {\n view: getWindowForNode(editorNode),\n bubbles: true,\n cancelable: true\n });\n editorNode.dispatchEvent(mouseUpEvent);\n }\n}\n\nfunction moveText(editorState, targetSelection) {\n var newContentState = DraftModifier.moveText(editorState.getCurrentContent(), editorState.getSelection(), targetSelection);\n return EditorState.push(editorState, newContentState, 'insert-fragment');\n}\n/**\n * Insert text at a specified selection.\n */\n\n\nfunction insertTextAtSelection(editorState, selection, text) {\n var newContentState = DraftModifier.insertText(editorState.getCurrentContent(), selection, text, editorState.getCurrentInlineStyle());\n return EditorState.push(editorState, newContentState, 'insert-fragment');\n}\n\nmodule.exports = DraftEditorDragHandler;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0RyYWZ0RWRpdG9yRHJhZ0hhbmRsZXIuanM/MjEyNCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNhOztBQUViLG1CQUFtQixtQkFBTyxDQUFDLHNFQUF1Qjs7QUFFbEQsb0JBQW9CLG1CQUFPLENBQUMscUVBQWlCOztBQUU3QyxrQkFBa0IsbUJBQU8sQ0FBQyxpRUFBZTs7QUFFekMsZUFBZSxtQkFBTyxDQUFDLG9EQUFXOztBQUVsQyw0QkFBNEIsbUJBQU8sQ0FBQyxxRkFBeUI7O0FBRTdELGlDQUFpQyxtQkFBTyxDQUFDLCtGQUE4Qjs7QUFFdkUsOEJBQThCLG1CQUFPLENBQUMseUZBQTJCOztBQUVqRSwrQkFBK0IsbUJBQU8sQ0FBQywyRkFBNEI7O0FBRW5FLHVCQUF1QixtQkFBTyxDQUFDLDJFQUFvQjs7QUFFbkQscUJBQXFCLG1CQUFPLENBQUMsdUVBQWtCOztBQUUvQyxpQkFBaUIsbUJBQU8sQ0FBQyxrRUFBcUI7QUFDOUM7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBOztBQUVBOztBQUVBLDRHQUE0RztBQUM1RyxLQUFLO0FBQ0w7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSwrQkFBK0I7QUFDL0I7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvRHJhZnRFZGl0b3JEcmFnSGFuZGxlci5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSBGYWNlYm9vaywgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICogQGZvcm1hdFxuICogXG4gKiBAZW1haWxzIG9uY2FsbCtkcmFmdF9qc1xuICovXG4ndXNlIHN0cmljdCc7XG5cbnZhciBEYXRhVHJhbnNmZXIgPSByZXF1aXJlKFwiZmJqcy9saWIvRGF0YVRyYW5zZmVyXCIpO1xuXG52YXIgRHJhZnRNb2RpZmllciA9IHJlcXVpcmUoXCIuL0RyYWZ0TW9kaWZpZXJcIik7XG5cbnZhciBFZGl0b3JTdGF0ZSA9IHJlcXVpcmUoXCIuL0VkaXRvclN0YXRlXCIpO1xuXG52YXIgUmVhY3RET00gPSByZXF1aXJlKFwicmVhY3QtZG9tXCIpO1xuXG52YXIgZmluZEFuY2VzdG9yT2Zmc2V0S2V5ID0gcmVxdWlyZShcIi4vZmluZEFuY2VzdG9yT2Zmc2V0S2V5XCIpO1xuXG52YXIgZ2V0Q29ycmVjdERvY3VtZW50RnJvbU5vZGUgPSByZXF1aXJlKFwiLi9nZXRDb3JyZWN0RG9jdW1lbnRGcm9tTm9kZVwiKTtcblxudmFyIGdldFRleHRDb250ZW50RnJvbUZpbGVzID0gcmVxdWlyZShcIi4vZ2V0VGV4dENvbnRlbnRGcm9tRmlsZXNcIik7XG5cbnZhciBnZXRVcGRhdGVkU2VsZWN0aW9uU3RhdGUgPSByZXF1aXJlKFwiLi9nZXRVcGRhdGVkU2VsZWN0aW9uU3RhdGVcIik7XG5cbnZhciBnZXRXaW5kb3dGb3JOb2RlID0gcmVxdWlyZShcIi4vZ2V0V2luZG93Rm9yTm9kZVwiKTtcblxudmFyIGlzRXZlbnRIYW5kbGVkID0gcmVxdWlyZShcIi4vaXNFdmVudEhhbmRsZWRcIik7XG5cbnZhciBudWxsdGhyb3dzID0gcmVxdWlyZShcImZianMvbGliL251bGx0aHJvd3NcIik7XG4vKipcbiAqIEdldCBhIFNlbGVjdGlvblN0YXRlIGZvciB0aGUgc3VwcGxpZWQgbW91c2UgZXZlbnQuXG4gKi9cblxuXG5mdW5jdGlvbiBnZXRTZWxlY3Rpb25Gb3JFdmVudChldmVudCwgZWRpdG9yU3RhdGUpIHtcbiAgdmFyIG5vZGUgPSBudWxsO1xuICB2YXIgb2Zmc2V0ID0gbnVsbDtcbiAgdmFyIGV2ZW50VGFyZ2V0RG9jdW1lbnQgPSBnZXRDb3JyZWN0RG9jdW1lbnRGcm9tTm9kZShldmVudC5jdXJyZW50VGFyZ2V0KTtcbiAgLyogJEZsb3dGaXhNZSg+PTAuNjguMCBzaXRlPXd3dyxtb2JpbGUpIFRoaXMgY29tbWVudCBzdXBwcmVzc2VzIGFuIGVycm9yXG4gICAqIGZvdW5kIHdoZW4gRmxvdyB2MC42OCB3YXMgZGVwbG95ZWQuIFRvIHNlZSB0aGUgZXJyb3IgZGVsZXRlIHRoaXMgY29tbWVudFxuICAgKiBhbmQgcnVuIEZsb3cuICovXG5cbiAgaWYgKHR5cGVvZiBldmVudFRhcmdldERvY3VtZW50LmNhcmV0UmFuZ2VGcm9tUG9pbnQgPT09ICdmdW5jdGlvbicpIHtcbiAgICB2YXIgZHJvcFJhbmdlID0gZXZlbnRUYXJnZXREb2N1bWVudC5jYXJldFJhbmdlRnJvbVBvaW50KGV2ZW50LngsIGV2ZW50LnkpO1xuICAgIG5vZGUgPSBkcm9wUmFuZ2Uuc3RhcnRDb250YWluZXI7XG4gICAgb2Zmc2V0ID0gZHJvcFJhbmdlLnN0YXJ0T2Zmc2V0O1xuICB9IGVsc2UgaWYgKGV2ZW50LnJhbmdlUGFyZW50KSB7XG4gICAgbm9kZSA9IGV2ZW50LnJhbmdlUGFyZW50O1xuICAgIG9mZnNldCA9IGV2ZW50LnJhbmdlT2Zmc2V0O1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgbm9kZSA9IG51bGx0aHJvd3Mobm9kZSk7XG4gIG9mZnNldCA9IG51bGx0aHJvd3Mob2Zmc2V0KTtcbiAgdmFyIG9mZnNldEtleSA9IG51bGx0aHJvd3MoZmluZEFuY2VzdG9yT2Zmc2V0S2V5KG5vZGUpKTtcbiAgcmV0dXJuIGdldFVwZGF0ZWRTZWxlY3Rpb25TdGF0ZShlZGl0b3JTdGF0ZSwgb2Zmc2V0S2V5LCBvZmZzZXQsIG9mZnNldEtleSwgb2Zmc2V0KTtcbn1cblxudmFyIERyYWZ0RWRpdG9yRHJhZ0hhbmRsZXIgPSB7XG4gIC8qKlxuICAgKiBEcmFnIG9yaWdpbmF0aW5nIGZyb20gaW5wdXQgdGVybWluYXRlZC5cbiAgICovXG4gIG9uRHJhZ0VuZDogZnVuY3Rpb24gb25EcmFnRW5kKGVkaXRvcikge1xuICAgIGVkaXRvci5leGl0Q3VycmVudE1vZGUoKTtcbiAgICBlbmREcmFnKGVkaXRvcik7XG4gIH0sXG5cbiAgLyoqXG4gICAqIEhhbmRsZSBkYXRhIGJlaW5nIGRyb3BwZWQuXG4gICAqL1xuICBvbkRyb3A6IGZ1bmN0aW9uIG9uRHJvcChlZGl0b3IsIGUpIHtcbiAgICB2YXIgZGF0YSA9IG5ldyBEYXRhVHJhbnNmZXIoZS5uYXRpdmVFdmVudC5kYXRhVHJhbnNmZXIpO1xuICAgIHZhciBlZGl0b3JTdGF0ZSA9IGVkaXRvci5fbGF0ZXN0RWRpdG9yU3RhdGU7XG4gICAgdmFyIGRyb3BTZWxlY3Rpb24gPSBnZXRTZWxlY3Rpb25Gb3JFdmVudChlLm5hdGl2ZUV2ZW50LCBlZGl0b3JTdGF0ZSk7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGVkaXRvci5fZHJhZ0NvdW50ID0gMDtcbiAgICBlZGl0b3IuZXhpdEN1cnJlbnRNb2RlKCk7XG5cbiAgICBpZiAoZHJvcFNlbGVjdGlvbiA9PSBudWxsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIC8qICRGbG93Rml4TWUgVGhpcyBjb21tZW50IHN1cHByZXNzZXMgYW4gZXJyb3IgZm91bmQgRGF0YVRyYW5zZmVyIHdhcyB0eXBlZC5cbiAgICAgKiBnZXRGaWxlcygpIHJldHVybnMgYW4gYXJyYXkgb2YgPEZpbGVzIGV4dGVuZHMgQmxvYj4sIG5vdCBCbG9iICovXG5cblxuICAgIHZhciBmaWxlcyA9IGRhdGEuZ2V0RmlsZXMoKTtcblxuICAgIGlmIChmaWxlcy5sZW5ndGggPiAwKSB7XG4gICAgICBpZiAoZWRpdG9yLnByb3BzLmhhbmRsZURyb3BwZWRGaWxlcyAmJiBpc0V2ZW50SGFuZGxlZChlZGl0b3IucHJvcHMuaGFuZGxlRHJvcHBlZEZpbGVzKGRyb3BTZWxlY3Rpb24sIGZpbGVzKSkpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBnZXRUZXh0Q29udGVudEZyb21GaWxlcyhmaWxlcywgZnVuY3Rpb24gKGZpbGVUZXh0KSB7XG4gICAgICAgIGZpbGVUZXh0ICYmIGVkaXRvci51cGRhdGUoaW5zZXJ0VGV4dEF0U2VsZWN0aW9uKGVkaXRvclN0YXRlLCBkcm9wU2VsZWN0aW9uLCBmaWxlVGV4dCkpO1xuICAgICAgfSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdmFyIGRyYWdUeXBlID0gZWRpdG9yLl9pbnRlcm5hbERyYWcgPyAnaW50ZXJuYWwnIDogJ2V4dGVybmFsJztcblxuICAgIGlmIChlZGl0b3IucHJvcHMuaGFuZGxlRHJvcCAmJiBpc0V2ZW50SGFuZGxlZChlZGl0b3IucHJvcHMuaGFuZGxlRHJvcChkcm9wU2VsZWN0aW9uLCBkYXRhLCBkcmFnVHlwZSkpKSB7Ly8gaGFuZGxlZFxuICAgIH0gZWxzZSBpZiAoZWRpdG9yLl9pbnRlcm5hbERyYWcpIHtcbiAgICAgIGVkaXRvci51cGRhdGUobW92ZVRleHQoZWRpdG9yU3RhdGUsIGRyb3BTZWxlY3Rpb24pKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZWRpdG9yLnVwZGF0ZShpbnNlcnRUZXh0QXRTZWxlY3Rpb24oZWRpdG9yU3RhdGUsIGRyb3BTZWxlY3Rpb24sIGRhdGEuZ2V0VGV4dCgpKSk7XG4gICAgfVxuXG4gICAgZW5kRHJhZyhlZGl0b3IpO1xuICB9XG59O1xuXG5mdW5jdGlvbiBlbmREcmFnKGVkaXRvcikge1xuICBlZGl0b3IuX2ludGVybmFsRHJhZyA9IGZhbHNlOyAvLyBGaXggaXNzdWUgIzEzODNcbiAgLy8gUHJpb3IgdG8gUmVhY3QgdjE2LjUuMCBvbkRyb3AgYnJlYWtzIG9uU2VsZWN0IGV2ZW50OlxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzExMzc5LlxuICAvLyBEaXNwYXRjaGluZyBhIG1vdXNldXAgZXZlbnQgb24gRE9NIG5vZGUgd2lsbCBtYWtlIGl0IGdvIGJhY2sgdG8gbm9ybWFsLlxuXG4gIHZhciBlZGl0b3JOb2RlID0gUmVhY3RET00uZmluZERPTU5vZGUoZWRpdG9yKTtcblxuICBpZiAoZWRpdG9yTm9kZSkge1xuICAgIHZhciBtb3VzZVVwRXZlbnQgPSBuZXcgTW91c2VFdmVudCgnbW91c2V1cCcsIHtcbiAgICAgIHZpZXc6IGdldFdpbmRvd0Zvck5vZGUoZWRpdG9yTm9kZSksXG4gICAgICBidWJibGVzOiB0cnVlLFxuICAgICAgY2FuY2VsYWJsZTogdHJ1ZVxuICAgIH0pO1xuICAgIGVkaXRvck5vZGUuZGlzcGF0Y2hFdmVudChtb3VzZVVwRXZlbnQpO1xuICB9XG59XG5cbmZ1bmN0aW9uIG1vdmVUZXh0KGVkaXRvclN0YXRlLCB0YXJnZXRTZWxlY3Rpb24pIHtcbiAgdmFyIG5ld0NvbnRlbnRTdGF0ZSA9IERyYWZ0TW9kaWZpZXIubW92ZVRleHQoZWRpdG9yU3RhdGUuZ2V0Q3VycmVudENvbnRlbnQoKSwgZWRpdG9yU3RhdGUuZ2V0U2VsZWN0aW9uKCksIHRhcmdldFNlbGVjdGlvbik7XG4gIHJldHVybiBFZGl0b3JTdGF0ZS5wdXNoKGVkaXRvclN0YXRlLCBuZXdDb250ZW50U3RhdGUsICdpbnNlcnQtZnJhZ21lbnQnKTtcbn1cbi8qKlxuICogSW5zZXJ0IHRleHQgYXQgYSBzcGVjaWZpZWQgc2VsZWN0aW9uLlxuICovXG5cblxuZnVuY3Rpb24gaW5zZXJ0VGV4dEF0U2VsZWN0aW9uKGVkaXRvclN0YXRlLCBzZWxlY3Rpb24sIHRleHQpIHtcbiAgdmFyIG5ld0NvbnRlbnRTdGF0ZSA9IERyYWZ0TW9kaWZpZXIuaW5zZXJ0VGV4dChlZGl0b3JTdGF0ZS5nZXRDdXJyZW50Q29udGVudCgpLCBzZWxlY3Rpb24sIHRleHQsIGVkaXRvclN0YXRlLmdldEN1cnJlbnRJbmxpbmVTdHlsZSgpKTtcbiAgcmV0dXJuIEVkaXRvclN0YXRlLnB1c2goZWRpdG9yU3RhdGUsIG5ld0NvbnRlbnRTdGF0ZSwgJ2luc2VydC1mcmFnbWVudCcpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IERyYWZ0RWRpdG9yRHJhZ0hhbmRsZXI7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/DraftEditorDragHandler.js\n"); /***/ }), @@ -235,7 +294,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule DraftEditorEditHandler\n * @format\n * \n */\n\n\n\nvar onBeforeInput = __webpack_require__(/*! ./editOnBeforeInput */ \"./node_modules/draft-js/lib/editOnBeforeInput.js\");\nvar onBlur = __webpack_require__(/*! ./editOnBlur */ \"./node_modules/draft-js/lib/editOnBlur.js\");\nvar onCompositionStart = __webpack_require__(/*! ./editOnCompositionStart */ \"./node_modules/draft-js/lib/editOnCompositionStart.js\");\nvar onCopy = __webpack_require__(/*! ./editOnCopy */ \"./node_modules/draft-js/lib/editOnCopy.js\");\nvar onCut = __webpack_require__(/*! ./editOnCut */ \"./node_modules/draft-js/lib/editOnCut.js\");\nvar onDragOver = __webpack_require__(/*! ./editOnDragOver */ \"./node_modules/draft-js/lib/editOnDragOver.js\");\nvar onDragStart = __webpack_require__(/*! ./editOnDragStart */ \"./node_modules/draft-js/lib/editOnDragStart.js\");\nvar onFocus = __webpack_require__(/*! ./editOnFocus */ \"./node_modules/draft-js/lib/editOnFocus.js\");\nvar onInput = __webpack_require__(/*! ./editOnInput */ \"./node_modules/draft-js/lib/editOnInput.js\");\nvar onKeyDown = __webpack_require__(/*! ./editOnKeyDown */ \"./node_modules/draft-js/lib/editOnKeyDown.js\");\nvar onPaste = __webpack_require__(/*! ./editOnPaste */ \"./node_modules/draft-js/lib/editOnPaste.js\");\nvar onSelect = __webpack_require__(/*! ./editOnSelect */ \"./node_modules/draft-js/lib/editOnSelect.js\");\n\nvar DraftEditorEditHandler = {\n onBeforeInput: onBeforeInput,\n onBlur: onBlur,\n onCompositionStart: onCompositionStart,\n onCopy: onCopy,\n onCut: onCut,\n onDragOver: onDragOver,\n onDragStart: onDragStart,\n onFocus: onFocus,\n onInput: onInput,\n onKeyDown: onKeyDown,\n onPaste: onPaste,\n onSelect: onSelect\n};\n\nmodule.exports = DraftEditorEditHandler;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0RyYWZ0RWRpdG9yRWRpdEhhbmRsZXIuanM/ZDQ5NiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWE7O0FBRWIsb0JBQW9CLG1CQUFPLENBQUMsNkVBQXFCO0FBQ2pELGFBQWEsbUJBQU8sQ0FBQywrREFBYztBQUNuQyx5QkFBeUIsbUJBQU8sQ0FBQyx1RkFBMEI7QUFDM0QsYUFBYSxtQkFBTyxDQUFDLCtEQUFjO0FBQ25DLFlBQVksbUJBQU8sQ0FBQyw2REFBYTtBQUNqQyxpQkFBaUIsbUJBQU8sQ0FBQyx1RUFBa0I7QUFDM0Msa0JBQWtCLG1CQUFPLENBQUMseUVBQW1CO0FBQzdDLGNBQWMsbUJBQU8sQ0FBQyxpRUFBZTtBQUNyQyxjQUFjLG1CQUFPLENBQUMsaUVBQWU7QUFDckMsZ0JBQWdCLG1CQUFPLENBQUMscUVBQWlCO0FBQ3pDLGNBQWMsbUJBQU8sQ0FBQyxpRUFBZTtBQUNyQyxlQUFlLG1CQUFPLENBQUMsbUVBQWdCOztBQUV2QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2RyYWZ0LWpzL2xpYi9EcmFmdEVkaXRvckVkaXRIYW5kbGVyLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQlNELXN0eWxlIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuIEFuIGFkZGl0aW9uYWwgZ3JhbnRcbiAqIG9mIHBhdGVudCByaWdodHMgY2FuIGJlIGZvdW5kIGluIHRoZSBQQVRFTlRTIGZpbGUgaW4gdGhlIHNhbWUgZGlyZWN0b3J5LlxuICpcbiAqIEBwcm92aWRlc01vZHVsZSBEcmFmdEVkaXRvckVkaXRIYW5kbGVyXG4gKiBAZm9ybWF0XG4gKiBcbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbnZhciBvbkJlZm9yZUlucHV0ID0gcmVxdWlyZSgnLi9lZGl0T25CZWZvcmVJbnB1dCcpO1xudmFyIG9uQmx1ciA9IHJlcXVpcmUoJy4vZWRpdE9uQmx1cicpO1xudmFyIG9uQ29tcG9zaXRpb25TdGFydCA9IHJlcXVpcmUoJy4vZWRpdE9uQ29tcG9zaXRpb25TdGFydCcpO1xudmFyIG9uQ29weSA9IHJlcXVpcmUoJy4vZWRpdE9uQ29weScpO1xudmFyIG9uQ3V0ID0gcmVxdWlyZSgnLi9lZGl0T25DdXQnKTtcbnZhciBvbkRyYWdPdmVyID0gcmVxdWlyZSgnLi9lZGl0T25EcmFnT3ZlcicpO1xudmFyIG9uRHJhZ1N0YXJ0ID0gcmVxdWlyZSgnLi9lZGl0T25EcmFnU3RhcnQnKTtcbnZhciBvbkZvY3VzID0gcmVxdWlyZSgnLi9lZGl0T25Gb2N1cycpO1xudmFyIG9uSW5wdXQgPSByZXF1aXJlKCcuL2VkaXRPbklucHV0Jyk7XG52YXIgb25LZXlEb3duID0gcmVxdWlyZSgnLi9lZGl0T25LZXlEb3duJyk7XG52YXIgb25QYXN0ZSA9IHJlcXVpcmUoJy4vZWRpdE9uUGFzdGUnKTtcbnZhciBvblNlbGVjdCA9IHJlcXVpcmUoJy4vZWRpdE9uU2VsZWN0Jyk7XG5cbnZhciBEcmFmdEVkaXRvckVkaXRIYW5kbGVyID0ge1xuICBvbkJlZm9yZUlucHV0OiBvbkJlZm9yZUlucHV0LFxuICBvbkJsdXI6IG9uQmx1cixcbiAgb25Db21wb3NpdGlvblN0YXJ0OiBvbkNvbXBvc2l0aW9uU3RhcnQsXG4gIG9uQ29weTogb25Db3B5LFxuICBvbkN1dDogb25DdXQsXG4gIG9uRHJhZ092ZXI6IG9uRHJhZ092ZXIsXG4gIG9uRHJhZ1N0YXJ0OiBvbkRyYWdTdGFydCxcbiAgb25Gb2N1czogb25Gb2N1cyxcbiAgb25JbnB1dDogb25JbnB1dCxcbiAgb25LZXlEb3duOiBvbktleURvd24sXG4gIG9uUGFzdGU6IG9uUGFzdGUsXG4gIG9uU2VsZWN0OiBvblNlbGVjdFxufTtcblxubW9kdWxlLmV4cG9ydHMgPSBEcmFmdEVkaXRvckVkaXRIYW5kbGVyOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/DraftEditorEditHandler.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nvar UserAgent = __webpack_require__(/*! fbjs/lib/UserAgent */ \"./node_modules/fbjs/lib/UserAgent.js\");\n\nvar onBeforeInput = __webpack_require__(/*! ./editOnBeforeInput */ \"./node_modules/draft-js/lib/editOnBeforeInput.js\");\n\nvar onBlur = __webpack_require__(/*! ./editOnBlur */ \"./node_modules/draft-js/lib/editOnBlur.js\");\n\nvar onCompositionStart = __webpack_require__(/*! ./editOnCompositionStart */ \"./node_modules/draft-js/lib/editOnCompositionStart.js\");\n\nvar onCopy = __webpack_require__(/*! ./editOnCopy */ \"./node_modules/draft-js/lib/editOnCopy.js\");\n\nvar onCut = __webpack_require__(/*! ./editOnCut */ \"./node_modules/draft-js/lib/editOnCut.js\");\n\nvar onDragOver = __webpack_require__(/*! ./editOnDragOver */ \"./node_modules/draft-js/lib/editOnDragOver.js\");\n\nvar onDragStart = __webpack_require__(/*! ./editOnDragStart */ \"./node_modules/draft-js/lib/editOnDragStart.js\");\n\nvar onFocus = __webpack_require__(/*! ./editOnFocus */ \"./node_modules/draft-js/lib/editOnFocus.js\");\n\nvar onInput = __webpack_require__(/*! ./editOnInput */ \"./node_modules/draft-js/lib/editOnInput.js\");\n\nvar onKeyDown = __webpack_require__(/*! ./editOnKeyDown */ \"./node_modules/draft-js/lib/editOnKeyDown.js\");\n\nvar onPaste = __webpack_require__(/*! ./editOnPaste */ \"./node_modules/draft-js/lib/editOnPaste.js\");\n\nvar onSelect = __webpack_require__(/*! ./editOnSelect */ \"./node_modules/draft-js/lib/editOnSelect.js\");\n\nvar isChrome = UserAgent.isBrowser('Chrome');\nvar selectionHandler = isChrome ? onSelect : function (e) {};\nvar DraftEditorEditHandler = {\n onBeforeInput: onBeforeInput,\n onBlur: onBlur,\n onCompositionStart: onCompositionStart,\n onCopy: onCopy,\n onCut: onCut,\n onDragOver: onDragOver,\n onDragStart: onDragStart,\n onFocus: onFocus,\n onInput: onInput,\n onKeyDown: onKeyDown,\n onPaste: onPaste,\n onSelect: onSelect,\n // In certain cases, contenteditable on chrome does not fire the onSelect\n // event, causing problems with cursor positioning. Therefore, the selection\n // state update handler is added to more events to ensure that the selection\n // state is always synced with the actual cursor positions.\n onMouseUp: selectionHandler,\n onKeyUp: selectionHandler\n};\nmodule.exports = DraftEditorEditHandler;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0RyYWZ0RWRpdG9yRWRpdEhhbmRsZXIuanM/ZDQ5NiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNhOztBQUViLGdCQUFnQixtQkFBTyxDQUFDLGdFQUFvQjs7QUFFNUMsb0JBQW9CLG1CQUFPLENBQUMsNkVBQXFCOztBQUVqRCxhQUFhLG1CQUFPLENBQUMsK0RBQWM7O0FBRW5DLHlCQUF5QixtQkFBTyxDQUFDLHVGQUEwQjs7QUFFM0QsYUFBYSxtQkFBTyxDQUFDLCtEQUFjOztBQUVuQyxZQUFZLG1CQUFPLENBQUMsNkRBQWE7O0FBRWpDLGlCQUFpQixtQkFBTyxDQUFDLHVFQUFrQjs7QUFFM0Msa0JBQWtCLG1CQUFPLENBQUMseUVBQW1COztBQUU3QyxjQUFjLG1CQUFPLENBQUMsaUVBQWU7O0FBRXJDLGNBQWMsbUJBQU8sQ0FBQyxpRUFBZTs7QUFFckMsZ0JBQWdCLG1CQUFPLENBQUMscUVBQWlCOztBQUV6QyxjQUFjLG1CQUFPLENBQUMsaUVBQWU7O0FBRXJDLGVBQWUsbUJBQU8sQ0FBQyxtRUFBZ0I7O0FBRXZDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0RyYWZ0RWRpdG9yRWRpdEhhbmRsZXIuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgRmFjZWJvb2ssIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIEBmb3JtYXRcbiAqIFxuICogQGVtYWlscyBvbmNhbGwrZHJhZnRfanNcbiAqL1xuJ3VzZSBzdHJpY3QnO1xuXG52YXIgVXNlckFnZW50ID0gcmVxdWlyZShcImZianMvbGliL1VzZXJBZ2VudFwiKTtcblxudmFyIG9uQmVmb3JlSW5wdXQgPSByZXF1aXJlKFwiLi9lZGl0T25CZWZvcmVJbnB1dFwiKTtcblxudmFyIG9uQmx1ciA9IHJlcXVpcmUoXCIuL2VkaXRPbkJsdXJcIik7XG5cbnZhciBvbkNvbXBvc2l0aW9uU3RhcnQgPSByZXF1aXJlKFwiLi9lZGl0T25Db21wb3NpdGlvblN0YXJ0XCIpO1xuXG52YXIgb25Db3B5ID0gcmVxdWlyZShcIi4vZWRpdE9uQ29weVwiKTtcblxudmFyIG9uQ3V0ID0gcmVxdWlyZShcIi4vZWRpdE9uQ3V0XCIpO1xuXG52YXIgb25EcmFnT3ZlciA9IHJlcXVpcmUoXCIuL2VkaXRPbkRyYWdPdmVyXCIpO1xuXG52YXIgb25EcmFnU3RhcnQgPSByZXF1aXJlKFwiLi9lZGl0T25EcmFnU3RhcnRcIik7XG5cbnZhciBvbkZvY3VzID0gcmVxdWlyZShcIi4vZWRpdE9uRm9jdXNcIik7XG5cbnZhciBvbklucHV0ID0gcmVxdWlyZShcIi4vZWRpdE9uSW5wdXRcIik7XG5cbnZhciBvbktleURvd24gPSByZXF1aXJlKFwiLi9lZGl0T25LZXlEb3duXCIpO1xuXG52YXIgb25QYXN0ZSA9IHJlcXVpcmUoXCIuL2VkaXRPblBhc3RlXCIpO1xuXG52YXIgb25TZWxlY3QgPSByZXF1aXJlKFwiLi9lZGl0T25TZWxlY3RcIik7XG5cbnZhciBpc0Nocm9tZSA9IFVzZXJBZ2VudC5pc0Jyb3dzZXIoJ0Nocm9tZScpO1xudmFyIHNlbGVjdGlvbkhhbmRsZXIgPSBpc0Nocm9tZSA/IG9uU2VsZWN0IDogZnVuY3Rpb24gKGUpIHt9O1xudmFyIERyYWZ0RWRpdG9yRWRpdEhhbmRsZXIgPSB7XG4gIG9uQmVmb3JlSW5wdXQ6IG9uQmVmb3JlSW5wdXQsXG4gIG9uQmx1cjogb25CbHVyLFxuICBvbkNvbXBvc2l0aW9uU3RhcnQ6IG9uQ29tcG9zaXRpb25TdGFydCxcbiAgb25Db3B5OiBvbkNvcHksXG4gIG9uQ3V0OiBvbkN1dCxcbiAgb25EcmFnT3Zlcjogb25EcmFnT3ZlcixcbiAgb25EcmFnU3RhcnQ6IG9uRHJhZ1N0YXJ0LFxuICBvbkZvY3VzOiBvbkZvY3VzLFxuICBvbklucHV0OiBvbklucHV0LFxuICBvbktleURvd246IG9uS2V5RG93bixcbiAgb25QYXN0ZTogb25QYXN0ZSxcbiAgb25TZWxlY3Q6IG9uU2VsZWN0LFxuICAvLyBJbiBjZXJ0YWluIGNhc2VzLCBjb250ZW50ZWRpdGFibGUgb24gY2hyb21lIGRvZXMgbm90IGZpcmUgdGhlIG9uU2VsZWN0XG4gIC8vIGV2ZW50LCBjYXVzaW5nIHByb2JsZW1zIHdpdGggY3Vyc29yIHBvc2l0aW9uaW5nLiBUaGVyZWZvcmUsIHRoZSBzZWxlY3Rpb25cbiAgLy8gc3RhdGUgdXBkYXRlIGhhbmRsZXIgaXMgYWRkZWQgdG8gbW9yZSBldmVudHMgdG8gZW5zdXJlIHRoYXQgdGhlIHNlbGVjdGlvblxuICAvLyBzdGF0ZSBpcyBhbHdheXMgc3luY2VkIHdpdGggdGhlIGFjdHVhbCBjdXJzb3IgcG9zaXRpb25zLlxuICBvbk1vdXNlVXA6IHNlbGVjdGlvbkhhbmRsZXIsXG4gIG9uS2V5VXA6IHNlbGVjdGlvbkhhbmRsZXJcbn07XG5tb2R1bGUuZXhwb3J0cyA9IERyYWZ0RWRpdG9yRWRpdEhhbmRsZXI7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/DraftEditorEditHandler.js\n"); /***/ }), @@ -247,7 +306,19 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule DraftEditorLeaf.react\n * @format\n * \n */\n\n\n\nvar _assign = __webpack_require__(/*! object-assign */ \"./node_modules/object-assign/index.js\");\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar DraftEditorTextNode = __webpack_require__(/*! ./DraftEditorTextNode.react */ \"./node_modules/draft-js/lib/DraftEditorTextNode.react.js\");\nvar React = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\nvar ReactDOM = __webpack_require__(/*! react-dom */ \"./node_modules/react-dom/index.js\");\n\nvar invariant = __webpack_require__(/*! fbjs/lib/invariant */ \"./node_modules/fbjs/lib/invariant.js\");\nvar setDraftEditorSelection = __webpack_require__(/*! ./setDraftEditorSelection */ \"./node_modules/draft-js/lib/setDraftEditorSelection.js\");\n\n/**\n * All leaf nodes in the editor are spans with single text nodes. Leaf\n * elements are styled based on the merging of an optional custom style map\n * and a default style map.\n *\n * `DraftEditorLeaf` also provides a wrapper for calling into the imperative\n * DOM Selection API. In this way, top-level components can declaratively\n * maintain the selection state.\n */\nvar DraftEditorLeaf = function (_React$Component) {\n _inherits(DraftEditorLeaf, _React$Component);\n\n function DraftEditorLeaf() {\n _classCallCheck(this, DraftEditorLeaf);\n\n return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n }\n\n DraftEditorLeaf.prototype._setSelection = function _setSelection() {\n var selection = this.props.selection;\n\n // If selection state is irrelevant to the parent block, no-op.\n\n if (selection == null || !selection.getHasFocus()) {\n return;\n }\n\n var _props = this.props,\n block = _props.block,\n start = _props.start,\n text = _props.text;\n\n var blockKey = block.getKey();\n var end = start + text.length;\n if (!selection.hasEdgeWithin(blockKey, start, end)) {\n return;\n }\n\n // Determine the appropriate target node for selection. If the child\n // is not a text node, it is a
spacer. In this case, use the\n // itself as the selection target.\n var node = ReactDOM.findDOMNode(this);\n !node ? true ? invariant(false, 'Missing node') : undefined : void 0;\n var child = node.firstChild;\n !child ? true ? invariant(false, 'Missing child') : undefined : void 0;\n var targetNode = void 0;\n\n if (child.nodeType === Node.TEXT_NODE) {\n targetNode = child;\n } else if (child.tagName === 'BR') {\n targetNode = node;\n } else {\n targetNode = child.firstChild;\n !targetNode ? true ? invariant(false, 'Missing targetNode') : undefined : void 0;\n }\n\n setDraftEditorSelection(selection, targetNode, blockKey, start, end);\n };\n /**\n * By making individual leaf instances aware of their context within\n * the text of the editor, we can set our selection range more\n * easily than we could in the non-React world.\n *\n * Note that this depends on our maintaining tight control over the\n * DOM structure of the DraftEditor component. If leaves had multiple\n * text nodes, this would be harder.\n */\n\n DraftEditorLeaf.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {\n var leafNode = ReactDOM.findDOMNode(this.leaf);\n !leafNode ? true ? invariant(false, 'Missing leafNode') : undefined : void 0;\n return leafNode.textContent !== nextProps.text || nextProps.styleSet !== this.props.styleSet || nextProps.forceSelection;\n };\n\n DraftEditorLeaf.prototype.componentDidUpdate = function componentDidUpdate() {\n this._setSelection();\n };\n\n DraftEditorLeaf.prototype.componentDidMount = function componentDidMount() {\n this._setSelection();\n };\n\n DraftEditorLeaf.prototype.render = function render() {\n var _this2 = this;\n\n var block = this.props.block;\n var text = this.props.text;\n\n // If the leaf is at the end of its block and ends in a soft newline, append\n // an extra line feed character. Browsers collapse trailing newline\n // characters, which leaves the cursor in the wrong place after a\n // shift+enter. The extra character repairs this.\n\n if (text.endsWith('\\n') && this.props.isLast) {\n text += '\\n';\n }\n\n var _props2 = this.props,\n customStyleMap = _props2.customStyleMap,\n customStyleFn = _props2.customStyleFn,\n offsetKey = _props2.offsetKey,\n styleSet = _props2.styleSet;\n\n var styleObj = styleSet.reduce(function (map, styleName) {\n var mergedStyles = {};\n var style = customStyleMap[styleName];\n\n if (style !== undefined && map.textDecoration !== style.textDecoration) {\n // .trim() is necessary for IE9/10/11 and Edge\n mergedStyles.textDecoration = [map.textDecoration, style.textDecoration].join(' ').trim();\n }\n\n return _assign(map, style, mergedStyles);\n }, {});\n\n if (customStyleFn) {\n var newStyles = customStyleFn(styleSet, block);\n styleObj = _assign(styleObj, newStyles);\n }\n\n return React.createElement(\n 'span',\n {\n 'data-offset-key': offsetKey,\n ref: function ref(_ref) {\n return _this2.leaf = _ref;\n },\n style: styleObj },\n React.createElement(\n DraftEditorTextNode,\n null,\n text\n )\n );\n };\n\n return DraftEditorLeaf;\n}(React.Component);\n\nmodule.exports = DraftEditorLeaf;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0RyYWZ0RWRpdG9yTGVhZi5yZWFjdC5qcz8wODk1Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFYTs7QUFFYixjQUFjLG1CQUFPLENBQUMsNERBQWU7O0FBRXJDLGlEQUFpRCwwQ0FBMEMsMERBQTBELEVBQUU7O0FBRXZKLGlEQUFpRCxhQUFhLHVGQUF1RixFQUFFLHVGQUF1Rjs7QUFFOU8sMENBQTBDLCtEQUErRCxxR0FBcUcsRUFBRSx5RUFBeUUsZUFBZSx5RUFBeUUsRUFBRSxFQUFFLHVIQUF1SDs7QUFFNWUsMEJBQTBCLG1CQUFPLENBQUMsNkZBQTZCO0FBQy9ELFlBQVksbUJBQU8sQ0FBQyw0Q0FBTztBQUMzQixlQUFlLG1CQUFPLENBQUMsb0RBQVc7O0FBRWxDLGdCQUFnQixtQkFBTyxDQUFDLGdFQUFvQjtBQUM1Qyw4QkFBOEIsbUJBQU8sQ0FBQyx5RkFBMkI7O0FBRWpFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLEtBQXFDLHNDQUFzQyxTQUFnQjtBQUN2RztBQUNBLGFBQWEsS0FBcUMsdUNBQXVDLFNBQWdCO0FBQ3pHOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxLQUFLO0FBQ0w7QUFDQSxvQkFBb0IsS0FBcUMsNENBQTRDLFNBQWdCO0FBQ3JIOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGdCQUFnQixLQUFxQywwQ0FBMEMsU0FBZ0I7QUFDL0c7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxLQUFLLElBQUk7O0FBRVQ7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNULHlCQUF5QjtBQUN6QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLENBQUM7O0FBRUQiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0RyYWZ0RWRpdG9yTGVhZi5yZWFjdC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXG4gKiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEJTRC1zdHlsZSBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLiBBbiBhZGRpdGlvbmFsIGdyYW50XG4gKiBvZiBwYXRlbnQgcmlnaHRzIGNhbiBiZSBmb3VuZCBpbiB0aGUgUEFURU5UUyBmaWxlIGluIHRoZSBzYW1lIGRpcmVjdG9yeS5cbiAqXG4gKiBAcHJvdmlkZXNNb2R1bGUgRHJhZnRFZGl0b3JMZWFmLnJlYWN0XG4gKiBAZm9ybWF0XG4gKiBcbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbnZhciBfYXNzaWduID0gcmVxdWlyZSgnb2JqZWN0LWFzc2lnbicpO1xuXG5mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7IGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7IH0gfVxuXG5mdW5jdGlvbiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybihzZWxmLCBjYWxsKSB7IGlmICghc2VsZikgeyB0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoXCJ0aGlzIGhhc24ndCBiZWVuIGluaXRpYWxpc2VkIC0gc3VwZXIoKSBoYXNuJ3QgYmVlbiBjYWxsZWRcIik7IH0gcmV0dXJuIGNhbGwgJiYgKHR5cGVvZiBjYWxsID09PSBcIm9iamVjdFwiIHx8IHR5cGVvZiBjYWxsID09PSBcImZ1bmN0aW9uXCIpID8gY2FsbCA6IHNlbGY7IH1cblxuZnVuY3Rpb24gX2luaGVyaXRzKHN1YkNsYXNzLCBzdXBlckNsYXNzKSB7IGlmICh0eXBlb2Ygc3VwZXJDbGFzcyAhPT0gXCJmdW5jdGlvblwiICYmIHN1cGVyQ2xhc3MgIT09IG51bGwpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN1cGVyIGV4cHJlc3Npb24gbXVzdCBlaXRoZXIgYmUgbnVsbCBvciBhIGZ1bmN0aW9uLCBub3QgXCIgKyB0eXBlb2Ygc3VwZXJDbGFzcyk7IH0gc3ViQ2xhc3MucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShzdXBlckNsYXNzICYmIHN1cGVyQ2xhc3MucHJvdG90eXBlLCB7IGNvbnN0cnVjdG9yOiB7IHZhbHVlOiBzdWJDbGFzcywgZW51bWVyYWJsZTogZmFsc2UsIHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUgfSB9KTsgaWYgKHN1cGVyQ2xhc3MpIE9iamVjdC5zZXRQcm90b3R5cGVPZiA/IE9iamVjdC5zZXRQcm90b3R5cGVPZihzdWJDbGFzcywgc3VwZXJDbGFzcykgOiBzdWJDbGFzcy5fX3Byb3RvX18gPSBzdXBlckNsYXNzOyB9XG5cbnZhciBEcmFmdEVkaXRvclRleHROb2RlID0gcmVxdWlyZSgnLi9EcmFmdEVkaXRvclRleHROb2RlLnJlYWN0Jyk7XG52YXIgUmVhY3QgPSByZXF1aXJlKCdyZWFjdCcpO1xudmFyIFJlYWN0RE9NID0gcmVxdWlyZSgncmVhY3QtZG9tJyk7XG5cbnZhciBpbnZhcmlhbnQgPSByZXF1aXJlKCdmYmpzL2xpYi9pbnZhcmlhbnQnKTtcbnZhciBzZXREcmFmdEVkaXRvclNlbGVjdGlvbiA9IHJlcXVpcmUoJy4vc2V0RHJhZnRFZGl0b3JTZWxlY3Rpb24nKTtcblxuLyoqXG4gKiBBbGwgbGVhZiBub2RlcyBpbiB0aGUgZWRpdG9yIGFyZSBzcGFucyB3aXRoIHNpbmdsZSB0ZXh0IG5vZGVzLiBMZWFmXG4gKiBlbGVtZW50cyBhcmUgc3R5bGVkIGJhc2VkIG9uIHRoZSBtZXJnaW5nIG9mIGFuIG9wdGlvbmFsIGN1c3RvbSBzdHlsZSBtYXBcbiAqIGFuZCBhIGRlZmF1bHQgc3R5bGUgbWFwLlxuICpcbiAqIGBEcmFmdEVkaXRvckxlYWZgIGFsc28gcHJvdmlkZXMgYSB3cmFwcGVyIGZvciBjYWxsaW5nIGludG8gdGhlIGltcGVyYXRpdmVcbiAqIERPTSBTZWxlY3Rpb24gQVBJLiBJbiB0aGlzIHdheSwgdG9wLWxldmVsIGNvbXBvbmVudHMgY2FuIGRlY2xhcmF0aXZlbHlcbiAqIG1haW50YWluIHRoZSBzZWxlY3Rpb24gc3RhdGUuXG4gKi9cbnZhciBEcmFmdEVkaXRvckxlYWYgPSBmdW5jdGlvbiAoX1JlYWN0JENvbXBvbmVudCkge1xuICBfaW5oZXJpdHMoRHJhZnRFZGl0b3JMZWFmLCBfUmVhY3QkQ29tcG9uZW50KTtcblxuICBmdW5jdGlvbiBEcmFmdEVkaXRvckxlYWYoKSB7XG4gICAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIERyYWZ0RWRpdG9yTGVhZik7XG5cbiAgICByZXR1cm4gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4odGhpcywgX1JlYWN0JENvbXBvbmVudC5hcHBseSh0aGlzLCBhcmd1bWVudHMpKTtcbiAgfVxuXG4gIERyYWZ0RWRpdG9yTGVhZi5wcm90b3R5cGUuX3NldFNlbGVjdGlvbiA9IGZ1bmN0aW9uIF9zZXRTZWxlY3Rpb24oKSB7XG4gICAgdmFyIHNlbGVjdGlvbiA9IHRoaXMucHJvcHMuc2VsZWN0aW9uO1xuXG4gICAgLy8gSWYgc2VsZWN0aW9uIHN0YXRlIGlzIGlycmVsZXZhbnQgdG8gdGhlIHBhcmVudCBibG9jaywgbm8tb3AuXG5cbiAgICBpZiAoc2VsZWN0aW9uID09IG51bGwgfHwgIXNlbGVjdGlvbi5nZXRIYXNGb2N1cygpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdmFyIF9wcm9wcyA9IHRoaXMucHJvcHMsXG4gICAgICAgIGJsb2NrID0gX3Byb3BzLmJsb2NrLFxuICAgICAgICBzdGFydCA9IF9wcm9wcy5zdGFydCxcbiAgICAgICAgdGV4dCA9IF9wcm9wcy50ZXh0O1xuXG4gICAgdmFyIGJsb2NrS2V5ID0gYmxvY2suZ2V0S2V5KCk7XG4gICAgdmFyIGVuZCA9IHN0YXJ0ICsgdGV4dC5sZW5ndGg7XG4gICAgaWYgKCFzZWxlY3Rpb24uaGFzRWRnZVdpdGhpbihibG9ja0tleSwgc3RhcnQsIGVuZCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBEZXRlcm1pbmUgdGhlIGFwcHJvcHJpYXRlIHRhcmdldCBub2RlIGZvciBzZWxlY3Rpb24uIElmIHRoZSBjaGlsZFxuICAgIC8vIGlzIG5vdCBhIHRleHQgbm9kZSwgaXQgaXMgYSA8YnIgLz4gc3BhY2VyLiBJbiB0aGlzIGNhc2UsIHVzZSB0aGVcbiAgICAvLyA8c3Bhbj4gaXRzZWxmIGFzIHRoZSBzZWxlY3Rpb24gdGFyZ2V0LlxuICAgIHZhciBub2RlID0gUmVhY3RET00uZmluZERPTU5vZGUodGhpcyk7XG4gICAgIW5vZGUgPyBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nID8gaW52YXJpYW50KGZhbHNlLCAnTWlzc2luZyBub2RlJykgOiBpbnZhcmlhbnQoZmFsc2UpIDogdm9pZCAwO1xuICAgIHZhciBjaGlsZCA9IG5vZGUuZmlyc3RDaGlsZDtcbiAgICAhY2hpbGQgPyBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nID8gaW52YXJpYW50KGZhbHNlLCAnTWlzc2luZyBjaGlsZCcpIDogaW52YXJpYW50KGZhbHNlKSA6IHZvaWQgMDtcbiAgICB2YXIgdGFyZ2V0Tm9kZSA9IHZvaWQgMDtcblxuICAgIGlmIChjaGlsZC5ub2RlVHlwZSA9PT0gTm9kZS5URVhUX05PREUpIHtcbiAgICAgIHRhcmdldE5vZGUgPSBjaGlsZDtcbiAgICB9IGVsc2UgaWYgKGNoaWxkLnRhZ05hbWUgPT09ICdCUicpIHtcbiAgICAgIHRhcmdldE5vZGUgPSBub2RlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0YXJnZXROb2RlID0gY2hpbGQuZmlyc3RDaGlsZDtcbiAgICAgICF0YXJnZXROb2RlID8gcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyA/IGludmFyaWFudChmYWxzZSwgJ01pc3NpbmcgdGFyZ2V0Tm9kZScpIDogaW52YXJpYW50KGZhbHNlKSA6IHZvaWQgMDtcbiAgICB9XG5cbiAgICBzZXREcmFmdEVkaXRvclNlbGVjdGlvbihzZWxlY3Rpb24sIHRhcmdldE5vZGUsIGJsb2NrS2V5LCBzdGFydCwgZW5kKTtcbiAgfTtcbiAgLyoqXG4gICAqIEJ5IG1ha2luZyBpbmRpdmlkdWFsIGxlYWYgaW5zdGFuY2VzIGF3YXJlIG9mIHRoZWlyIGNvbnRleHQgd2l0aGluXG4gICAqIHRoZSB0ZXh0IG9mIHRoZSBlZGl0b3IsIHdlIGNhbiBzZXQgb3VyIHNlbGVjdGlvbiByYW5nZSBtb3JlXG4gICAqIGVhc2lseSB0aGFuIHdlIGNvdWxkIGluIHRoZSBub24tUmVhY3Qgd29ybGQuXG4gICAqXG4gICAqIE5vdGUgdGhhdCB0aGlzIGRlcGVuZHMgb24gb3VyIG1haW50YWluaW5nIHRpZ2h0IGNvbnRyb2wgb3ZlciB0aGVcbiAgICogRE9NIHN0cnVjdHVyZSBvZiB0aGUgRHJhZnRFZGl0b3IgY29tcG9uZW50LiBJZiBsZWF2ZXMgaGFkIG11bHRpcGxlXG4gICAqIHRleHQgbm9kZXMsIHRoaXMgd291bGQgYmUgaGFyZGVyLlxuICAgKi9cblxuICBEcmFmdEVkaXRvckxlYWYucHJvdG90eXBlLnNob3VsZENvbXBvbmVudFVwZGF0ZSA9IGZ1bmN0aW9uIHNob3VsZENvbXBvbmVudFVwZGF0ZShuZXh0UHJvcHMpIHtcbiAgICB2YXIgbGVhZk5vZGUgPSBSZWFjdERPTS5maW5kRE9NTm9kZSh0aGlzLmxlYWYpO1xuICAgICFsZWFmTm9kZSA/IHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgPyBpbnZhcmlhbnQoZmFsc2UsICdNaXNzaW5nIGxlYWZOb2RlJykgOiBpbnZhcmlhbnQoZmFsc2UpIDogdm9pZCAwO1xuICAgIHJldHVybiBsZWFmTm9kZS50ZXh0Q29udGVudCAhPT0gbmV4dFByb3BzLnRleHQgfHwgbmV4dFByb3BzLnN0eWxlU2V0ICE9PSB0aGlzLnByb3BzLnN0eWxlU2V0IHx8IG5leHRQcm9wcy5mb3JjZVNlbGVjdGlvbjtcbiAgfTtcblxuICBEcmFmdEVkaXRvckxlYWYucHJvdG90eXBlLmNvbXBvbmVudERpZFVwZGF0ZSA9IGZ1bmN0aW9uIGNvbXBvbmVudERpZFVwZGF0ZSgpIHtcbiAgICB0aGlzLl9zZXRTZWxlY3Rpb24oKTtcbiAgfTtcblxuICBEcmFmdEVkaXRvckxlYWYucHJvdG90eXBlLmNvbXBvbmVudERpZE1vdW50ID0gZnVuY3Rpb24gY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgdGhpcy5fc2V0U2VsZWN0aW9uKCk7XG4gIH07XG5cbiAgRHJhZnRFZGl0b3JMZWFmLnByb3RvdHlwZS5yZW5kZXIgPSBmdW5jdGlvbiByZW5kZXIoKSB7XG4gICAgdmFyIF90aGlzMiA9IHRoaXM7XG5cbiAgICB2YXIgYmxvY2sgPSB0aGlzLnByb3BzLmJsb2NrO1xuICAgIHZhciB0ZXh0ID0gdGhpcy5wcm9wcy50ZXh0O1xuXG4gICAgLy8gSWYgdGhlIGxlYWYgaXMgYXQgdGhlIGVuZCBvZiBpdHMgYmxvY2sgYW5kIGVuZHMgaW4gYSBzb2Z0IG5ld2xpbmUsIGFwcGVuZFxuICAgIC8vIGFuIGV4dHJhIGxpbmUgZmVlZCBjaGFyYWN0ZXIuIEJyb3dzZXJzIGNvbGxhcHNlIHRyYWlsaW5nIG5ld2xpbmVcbiAgICAvLyBjaGFyYWN0ZXJzLCB3aGljaCBsZWF2ZXMgdGhlIGN1cnNvciBpbiB0aGUgd3JvbmcgcGxhY2UgYWZ0ZXIgYVxuICAgIC8vIHNoaWZ0K2VudGVyLiBUaGUgZXh0cmEgY2hhcmFjdGVyIHJlcGFpcnMgdGhpcy5cblxuICAgIGlmICh0ZXh0LmVuZHNXaXRoKCdcXG4nKSAmJiB0aGlzLnByb3BzLmlzTGFzdCkge1xuICAgICAgdGV4dCArPSAnXFxuJztcbiAgICB9XG5cbiAgICB2YXIgX3Byb3BzMiA9IHRoaXMucHJvcHMsXG4gICAgICAgIGN1c3RvbVN0eWxlTWFwID0gX3Byb3BzMi5jdXN0b21TdHlsZU1hcCxcbiAgICAgICAgY3VzdG9tU3R5bGVGbiA9IF9wcm9wczIuY3VzdG9tU3R5bGVGbixcbiAgICAgICAgb2Zmc2V0S2V5ID0gX3Byb3BzMi5vZmZzZXRLZXksXG4gICAgICAgIHN0eWxlU2V0ID0gX3Byb3BzMi5zdHlsZVNldDtcblxuICAgIHZhciBzdHlsZU9iaiA9IHN0eWxlU2V0LnJlZHVjZShmdW5jdGlvbiAobWFwLCBzdHlsZU5hbWUpIHtcbiAgICAgIHZhciBtZXJnZWRTdHlsZXMgPSB7fTtcbiAgICAgIHZhciBzdHlsZSA9IGN1c3RvbVN0eWxlTWFwW3N0eWxlTmFtZV07XG5cbiAgICAgIGlmIChzdHlsZSAhPT0gdW5kZWZpbmVkICYmIG1hcC50ZXh0RGVjb3JhdGlvbiAhPT0gc3R5bGUudGV4dERlY29yYXRpb24pIHtcbiAgICAgICAgLy8gLnRyaW0oKSBpcyBuZWNlc3NhcnkgZm9yIElFOS8xMC8xMSBhbmQgRWRnZVxuICAgICAgICBtZXJnZWRTdHlsZXMudGV4dERlY29yYXRpb24gPSBbbWFwLnRleHREZWNvcmF0aW9uLCBzdHlsZS50ZXh0RGVjb3JhdGlvbl0uam9pbignICcpLnRyaW0oKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIF9hc3NpZ24obWFwLCBzdHlsZSwgbWVyZ2VkU3R5bGVzKTtcbiAgICB9LCB7fSk7XG5cbiAgICBpZiAoY3VzdG9tU3R5bGVGbikge1xuICAgICAgdmFyIG5ld1N0eWxlcyA9IGN1c3RvbVN0eWxlRm4oc3R5bGVTZXQsIGJsb2NrKTtcbiAgICAgIHN0eWxlT2JqID0gX2Fzc2lnbihzdHlsZU9iaiwgbmV3U3R5bGVzKTtcbiAgICB9XG5cbiAgICByZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChcbiAgICAgICdzcGFuJyxcbiAgICAgIHtcbiAgICAgICAgJ2RhdGEtb2Zmc2V0LWtleSc6IG9mZnNldEtleSxcbiAgICAgICAgcmVmOiBmdW5jdGlvbiByZWYoX3JlZikge1xuICAgICAgICAgIHJldHVybiBfdGhpczIubGVhZiA9IF9yZWY7XG4gICAgICAgIH0sXG4gICAgICAgIHN0eWxlOiBzdHlsZU9iaiB9LFxuICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcbiAgICAgICAgRHJhZnRFZGl0b3JUZXh0Tm9kZSxcbiAgICAgICAgbnVsbCxcbiAgICAgICAgdGV4dFxuICAgICAgKVxuICAgICk7XG4gIH07XG5cbiAgcmV0dXJuIERyYWZ0RWRpdG9yTGVhZjtcbn0oUmVhY3QuQ29tcG9uZW50KTtcblxubW9kdWxlLmV4cG9ydHMgPSBEcmFmdEVkaXRvckxlYWY7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/DraftEditorLeaf.react.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nvar _assign = __webpack_require__(/*! object-assign */ \"./node_modules/object-assign/index.js\");\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar DraftEditorTextNode = __webpack_require__(/*! ./DraftEditorTextNode.react */ \"./node_modules/draft-js/lib/DraftEditorTextNode.react.js\");\n\nvar React = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n\nvar invariant = __webpack_require__(/*! fbjs/lib/invariant */ \"./node_modules/fbjs/lib/invariant.js\");\n\nvar isHTMLBRElement = __webpack_require__(/*! ./isHTMLBRElement */ \"./node_modules/draft-js/lib/isHTMLBRElement.js\");\n\nvar setDraftEditorSelection = __webpack_require__(/*! ./setDraftEditorSelection */ \"./node_modules/draft-js/lib/setDraftEditorSelection.js\").setDraftEditorSelection;\n\n/**\n * All leaf nodes in the editor are spans with single text nodes. Leaf\n * elements are styled based on the merging of an optional custom style map\n * and a default style map.\n *\n * `DraftEditorLeaf` also provides a wrapper for calling into the imperative\n * DOM Selection API. In this way, top-level components can declaratively\n * maintain the selection state.\n */\nvar DraftEditorLeaf =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(DraftEditorLeaf, _React$Component);\n\n function DraftEditorLeaf() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n\n _defineProperty(_assertThisInitialized(_this), \"leaf\", void 0);\n\n return _this;\n }\n\n var _proto = DraftEditorLeaf.prototype;\n\n _proto._setSelection = function _setSelection() {\n var selection = this.props.selection; // If selection state is irrelevant to the parent block, no-op.\n\n if (selection == null || !selection.getHasFocus()) {\n return;\n }\n\n var _this$props = this.props,\n block = _this$props.block,\n start = _this$props.start,\n text = _this$props.text;\n var blockKey = block.getKey();\n var end = start + text.length;\n\n if (!selection.hasEdgeWithin(blockKey, start, end)) {\n return;\n } // Determine the appropriate target node for selection. If the child\n // is not a text node, it is a
spacer. In this case, use the\n // itself as the selection target.\n\n\n var node = this.leaf;\n !node ? true ? invariant(false, 'Missing node') : undefined : void 0;\n var child = node.firstChild;\n !child ? true ? invariant(false, 'Missing child') : undefined : void 0;\n var targetNode;\n\n if (child.nodeType === Node.TEXT_NODE) {\n targetNode = child;\n } else if (isHTMLBRElement(child)) {\n targetNode = node;\n } else {\n targetNode = child.firstChild;\n !targetNode ? true ? invariant(false, 'Missing targetNode') : undefined : void 0;\n }\n\n setDraftEditorSelection(selection, targetNode, blockKey, start, end);\n };\n\n _proto.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {\n var leafNode = this.leaf;\n !leafNode ? true ? invariant(false, 'Missing leafNode') : undefined : void 0;\n var shouldUpdate = leafNode.textContent !== nextProps.text || nextProps.styleSet !== this.props.styleSet || nextProps.forceSelection;\n return shouldUpdate;\n };\n\n _proto.componentDidUpdate = function componentDidUpdate() {\n this._setSelection();\n };\n\n _proto.componentDidMount = function componentDidMount() {\n this._setSelection();\n };\n\n _proto.render = function render() {\n var _this2 = this;\n\n var block = this.props.block;\n var text = this.props.text; // If the leaf is at the end of its block and ends in a soft newline, append\n // an extra line feed character. Browsers collapse trailing newline\n // characters, which leaves the cursor in the wrong place after a\n // shift+enter. The extra character repairs this.\n\n if (text.endsWith('\\n') && this.props.isLast) {\n text += '\\n';\n }\n\n var _this$props2 = this.props,\n customStyleMap = _this$props2.customStyleMap,\n customStyleFn = _this$props2.customStyleFn,\n offsetKey = _this$props2.offsetKey,\n styleSet = _this$props2.styleSet;\n var styleObj = styleSet.reduce(function (map, styleName) {\n var mergedStyles = {};\n var style = customStyleMap[styleName];\n\n if (style !== undefined && map.textDecoration !== style.textDecoration) {\n // .trim() is necessary for IE9/10/11 and Edge\n mergedStyles.textDecoration = [map.textDecoration, style.textDecoration].join(' ').trim();\n }\n\n return _assign(map, style, mergedStyles);\n }, {});\n\n if (customStyleFn) {\n var newStyles = customStyleFn(styleSet, block);\n styleObj = _assign(styleObj, newStyles);\n }\n\n return React.createElement(\"span\", {\n \"data-offset-key\": offsetKey,\n ref: function ref(_ref) {\n return _this2.leaf = _ref;\n },\n style: styleObj\n }, React.createElement(DraftEditorTextNode, null, text));\n };\n\n return DraftEditorLeaf;\n}(React.Component);\n\nmodule.exports = DraftEditorLeaf;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0RyYWZ0RWRpdG9yTGVhZi5yZWFjdC5qcz8wODk1Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ2E7O0FBRWIsY0FBYyxtQkFBTyxDQUFDLDREQUFlOztBQUVyQyx1Q0FBdUMsdUJBQXVCLHVGQUF1RixFQUFFLGFBQWE7O0FBRXBLLCtDQUErQywwREFBMEQsMkNBQTJDLGlDQUFpQzs7QUFFckwsMkNBQTJDLGtCQUFrQixrQ0FBa0MscUVBQXFFLEVBQUUsRUFBRSxPQUFPLGtCQUFrQixFQUFFLFlBQVk7O0FBRS9NLDBCQUEwQixtQkFBTyxDQUFDLDZGQUE2Qjs7QUFFL0QsWUFBWSxtQkFBTyxDQUFDLDRDQUFPOztBQUUzQixnQkFBZ0IsbUJBQU8sQ0FBQyxnRUFBb0I7O0FBRTVDLHNCQUFzQixtQkFBTyxDQUFDLHlFQUFtQjs7QUFFakQsOEJBQThCLG1CQUFPLENBQUMseUZBQTJCOztBQUVqRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBLHVFQUF1RSxhQUFhO0FBQ3BGO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBLHlDQUF5Qzs7QUFFekM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7OztBQUdBO0FBQ0EsWUFBWSxLQUFxQyxzQ0FBc0MsU0FBZ0I7QUFDdkc7QUFDQSxhQUFhLEtBQXFDLHVDQUF1QyxTQUFnQjtBQUN6Rzs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsS0FBSztBQUNMO0FBQ0Esb0JBQW9CLEtBQXFDLDRDQUE0QyxTQUFnQjtBQUNySDs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxnQkFBZ0IsS0FBcUMsMENBQTBDLFNBQWdCO0FBQy9HO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSwrQkFBK0I7QUFDL0I7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsS0FBSyxJQUFJOztBQUVUO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0EsQ0FBQzs7QUFFRCIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvRHJhZnRFZGl0b3JMZWFmLnJlYWN0LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIEZhY2Vib29rLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKiBAZm9ybWF0XG4gKiBcbiAqIEBlbWFpbHMgb25jYWxsK2RyYWZ0X2pzXG4gKi9cbid1c2Ugc3RyaWN0JztcblxudmFyIF9hc3NpZ24gPSByZXF1aXJlKFwib2JqZWN0LWFzc2lnblwiKTtcblxuZnVuY3Rpb24gX2Fzc2VydFRoaXNJbml0aWFsaXplZChzZWxmKSB7IGlmIChzZWxmID09PSB2b2lkIDApIHsgdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKFwidGhpcyBoYXNuJ3QgYmVlbiBpbml0aWFsaXNlZCAtIHN1cGVyKCkgaGFzbid0IGJlZW4gY2FsbGVkXCIpOyB9IHJldHVybiBzZWxmOyB9XG5cbmZ1bmN0aW9uIF9pbmhlcml0c0xvb3NlKHN1YkNsYXNzLCBzdXBlckNsYXNzKSB7IHN1YkNsYXNzLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoc3VwZXJDbGFzcy5wcm90b3R5cGUpOyBzdWJDbGFzcy5wcm90b3R5cGUuY29uc3RydWN0b3IgPSBzdWJDbGFzczsgc3ViQ2xhc3MuX19wcm90b19fID0gc3VwZXJDbGFzczsgfVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHZhbHVlKSB7IGlmIChrZXkgaW4gb2JqKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgeyB2YWx1ZTogdmFsdWUsIGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgd3JpdGFibGU6IHRydWUgfSk7IH0gZWxzZSB7IG9ialtrZXldID0gdmFsdWU7IH0gcmV0dXJuIG9iajsgfVxuXG52YXIgRHJhZnRFZGl0b3JUZXh0Tm9kZSA9IHJlcXVpcmUoXCIuL0RyYWZ0RWRpdG9yVGV4dE5vZGUucmVhY3RcIik7XG5cbnZhciBSZWFjdCA9IHJlcXVpcmUoXCJyZWFjdFwiKTtcblxudmFyIGludmFyaWFudCA9IHJlcXVpcmUoXCJmYmpzL2xpYi9pbnZhcmlhbnRcIik7XG5cbnZhciBpc0hUTUxCUkVsZW1lbnQgPSByZXF1aXJlKFwiLi9pc0hUTUxCUkVsZW1lbnRcIik7XG5cbnZhciBzZXREcmFmdEVkaXRvclNlbGVjdGlvbiA9IHJlcXVpcmUoXCIuL3NldERyYWZ0RWRpdG9yU2VsZWN0aW9uXCIpLnNldERyYWZ0RWRpdG9yU2VsZWN0aW9uO1xuXG4vKipcbiAqIEFsbCBsZWFmIG5vZGVzIGluIHRoZSBlZGl0b3IgYXJlIHNwYW5zIHdpdGggc2luZ2xlIHRleHQgbm9kZXMuIExlYWZcbiAqIGVsZW1lbnRzIGFyZSBzdHlsZWQgYmFzZWQgb24gdGhlIG1lcmdpbmcgb2YgYW4gb3B0aW9uYWwgY3VzdG9tIHN0eWxlIG1hcFxuICogYW5kIGEgZGVmYXVsdCBzdHlsZSBtYXAuXG4gKlxuICogYERyYWZ0RWRpdG9yTGVhZmAgYWxzbyBwcm92aWRlcyBhIHdyYXBwZXIgZm9yIGNhbGxpbmcgaW50byB0aGUgaW1wZXJhdGl2ZVxuICogRE9NIFNlbGVjdGlvbiBBUEkuIEluIHRoaXMgd2F5LCB0b3AtbGV2ZWwgY29tcG9uZW50cyBjYW4gZGVjbGFyYXRpdmVseVxuICogbWFpbnRhaW4gdGhlIHNlbGVjdGlvbiBzdGF0ZS5cbiAqL1xudmFyIERyYWZ0RWRpdG9yTGVhZiA9XG4vKiNfX1BVUkVfXyovXG5mdW5jdGlvbiAoX1JlYWN0JENvbXBvbmVudCkge1xuICBfaW5oZXJpdHNMb29zZShEcmFmdEVkaXRvckxlYWYsIF9SZWFjdCRDb21wb25lbnQpO1xuXG4gIGZ1bmN0aW9uIERyYWZ0RWRpdG9yTGVhZigpIHtcbiAgICB2YXIgX3RoaXM7XG5cbiAgICBmb3IgKHZhciBfbGVuID0gYXJndW1lbnRzLmxlbmd0aCwgYXJncyA9IG5ldyBBcnJheShfbGVuKSwgX2tleSA9IDA7IF9rZXkgPCBfbGVuOyBfa2V5KyspIHtcbiAgICAgIGFyZ3NbX2tleV0gPSBhcmd1bWVudHNbX2tleV07XG4gICAgfVxuXG4gICAgX3RoaXMgPSBfUmVhY3QkQ29tcG9uZW50LmNhbGwuYXBwbHkoX1JlYWN0JENvbXBvbmVudCwgW3RoaXNdLmNvbmNhdChhcmdzKSkgfHwgdGhpcztcblxuICAgIF9kZWZpbmVQcm9wZXJ0eShfYXNzZXJ0VGhpc0luaXRpYWxpemVkKF90aGlzKSwgXCJsZWFmXCIsIHZvaWQgMCk7XG5cbiAgICByZXR1cm4gX3RoaXM7XG4gIH1cblxuICB2YXIgX3Byb3RvID0gRHJhZnRFZGl0b3JMZWFmLnByb3RvdHlwZTtcblxuICBfcHJvdG8uX3NldFNlbGVjdGlvbiA9IGZ1bmN0aW9uIF9zZXRTZWxlY3Rpb24oKSB7XG4gICAgdmFyIHNlbGVjdGlvbiA9IHRoaXMucHJvcHMuc2VsZWN0aW9uOyAvLyBJZiBzZWxlY3Rpb24gc3RhdGUgaXMgaXJyZWxldmFudCB0byB0aGUgcGFyZW50IGJsb2NrLCBuby1vcC5cblxuICAgIGlmIChzZWxlY3Rpb24gPT0gbnVsbCB8fCAhc2VsZWN0aW9uLmdldEhhc0ZvY3VzKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB2YXIgX3RoaXMkcHJvcHMgPSB0aGlzLnByb3BzLFxuICAgICAgICBibG9jayA9IF90aGlzJHByb3BzLmJsb2NrLFxuICAgICAgICBzdGFydCA9IF90aGlzJHByb3BzLnN0YXJ0LFxuICAgICAgICB0ZXh0ID0gX3RoaXMkcHJvcHMudGV4dDtcbiAgICB2YXIgYmxvY2tLZXkgPSBibG9jay5nZXRLZXkoKTtcbiAgICB2YXIgZW5kID0gc3RhcnQgKyB0ZXh0Lmxlbmd0aDtcblxuICAgIGlmICghc2VsZWN0aW9uLmhhc0VkZ2VXaXRoaW4oYmxvY2tLZXksIHN0YXJ0LCBlbmQpKSB7XG4gICAgICByZXR1cm47XG4gICAgfSAvLyBEZXRlcm1pbmUgdGhlIGFwcHJvcHJpYXRlIHRhcmdldCBub2RlIGZvciBzZWxlY3Rpb24uIElmIHRoZSBjaGlsZFxuICAgIC8vIGlzIG5vdCBhIHRleHQgbm9kZSwgaXQgaXMgYSA8YnIgLz4gc3BhY2VyLiBJbiB0aGlzIGNhc2UsIHVzZSB0aGVcbiAgICAvLyA8c3Bhbj4gaXRzZWxmIGFzIHRoZSBzZWxlY3Rpb24gdGFyZ2V0LlxuXG5cbiAgICB2YXIgbm9kZSA9IHRoaXMubGVhZjtcbiAgICAhbm9kZSA/IHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIiA/IGludmFyaWFudChmYWxzZSwgJ01pc3Npbmcgbm9kZScpIDogaW52YXJpYW50KGZhbHNlKSA6IHZvaWQgMDtcbiAgICB2YXIgY2hpbGQgPSBub2RlLmZpcnN0Q2hpbGQ7XG4gICAgIWNoaWxkID8gcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiID8gaW52YXJpYW50KGZhbHNlLCAnTWlzc2luZyBjaGlsZCcpIDogaW52YXJpYW50KGZhbHNlKSA6IHZvaWQgMDtcbiAgICB2YXIgdGFyZ2V0Tm9kZTtcblxuICAgIGlmIChjaGlsZC5ub2RlVHlwZSA9PT0gTm9kZS5URVhUX05PREUpIHtcbiAgICAgIHRhcmdldE5vZGUgPSBjaGlsZDtcbiAgICB9IGVsc2UgaWYgKGlzSFRNTEJSRWxlbWVudChjaGlsZCkpIHtcbiAgICAgIHRhcmdldE5vZGUgPSBub2RlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0YXJnZXROb2RlID0gY2hpbGQuZmlyc3RDaGlsZDtcbiAgICAgICF0YXJnZXROb2RlID8gcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiID8gaW52YXJpYW50KGZhbHNlLCAnTWlzc2luZyB0YXJnZXROb2RlJykgOiBpbnZhcmlhbnQoZmFsc2UpIDogdm9pZCAwO1xuICAgIH1cblxuICAgIHNldERyYWZ0RWRpdG9yU2VsZWN0aW9uKHNlbGVjdGlvbiwgdGFyZ2V0Tm9kZSwgYmxvY2tLZXksIHN0YXJ0LCBlbmQpO1xuICB9O1xuXG4gIF9wcm90by5zaG91bGRDb21wb25lbnRVcGRhdGUgPSBmdW5jdGlvbiBzaG91bGRDb21wb25lbnRVcGRhdGUobmV4dFByb3BzKSB7XG4gICAgdmFyIGxlYWZOb2RlID0gdGhpcy5sZWFmO1xuICAgICFsZWFmTm9kZSA/IHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIiA/IGludmFyaWFudChmYWxzZSwgJ01pc3NpbmcgbGVhZk5vZGUnKSA6IGludmFyaWFudChmYWxzZSkgOiB2b2lkIDA7XG4gICAgdmFyIHNob3VsZFVwZGF0ZSA9IGxlYWZOb2RlLnRleHRDb250ZW50ICE9PSBuZXh0UHJvcHMudGV4dCB8fCBuZXh0UHJvcHMuc3R5bGVTZXQgIT09IHRoaXMucHJvcHMuc3R5bGVTZXQgfHwgbmV4dFByb3BzLmZvcmNlU2VsZWN0aW9uO1xuICAgIHJldHVybiBzaG91bGRVcGRhdGU7XG4gIH07XG5cbiAgX3Byb3RvLmNvbXBvbmVudERpZFVwZGF0ZSA9IGZ1bmN0aW9uIGNvbXBvbmVudERpZFVwZGF0ZSgpIHtcbiAgICB0aGlzLl9zZXRTZWxlY3Rpb24oKTtcbiAgfTtcblxuICBfcHJvdG8uY29tcG9uZW50RGlkTW91bnQgPSBmdW5jdGlvbiBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICB0aGlzLl9zZXRTZWxlY3Rpb24oKTtcbiAgfTtcblxuICBfcHJvdG8ucmVuZGVyID0gZnVuY3Rpb24gcmVuZGVyKCkge1xuICAgIHZhciBfdGhpczIgPSB0aGlzO1xuXG4gICAgdmFyIGJsb2NrID0gdGhpcy5wcm9wcy5ibG9jaztcbiAgICB2YXIgdGV4dCA9IHRoaXMucHJvcHMudGV4dDsgLy8gSWYgdGhlIGxlYWYgaXMgYXQgdGhlIGVuZCBvZiBpdHMgYmxvY2sgYW5kIGVuZHMgaW4gYSBzb2Z0IG5ld2xpbmUsIGFwcGVuZFxuICAgIC8vIGFuIGV4dHJhIGxpbmUgZmVlZCBjaGFyYWN0ZXIuIEJyb3dzZXJzIGNvbGxhcHNlIHRyYWlsaW5nIG5ld2xpbmVcbiAgICAvLyBjaGFyYWN0ZXJzLCB3aGljaCBsZWF2ZXMgdGhlIGN1cnNvciBpbiB0aGUgd3JvbmcgcGxhY2UgYWZ0ZXIgYVxuICAgIC8vIHNoaWZ0K2VudGVyLiBUaGUgZXh0cmEgY2hhcmFjdGVyIHJlcGFpcnMgdGhpcy5cblxuICAgIGlmICh0ZXh0LmVuZHNXaXRoKCdcXG4nKSAmJiB0aGlzLnByb3BzLmlzTGFzdCkge1xuICAgICAgdGV4dCArPSAnXFxuJztcbiAgICB9XG5cbiAgICB2YXIgX3RoaXMkcHJvcHMyID0gdGhpcy5wcm9wcyxcbiAgICAgICAgY3VzdG9tU3R5bGVNYXAgPSBfdGhpcyRwcm9wczIuY3VzdG9tU3R5bGVNYXAsXG4gICAgICAgIGN1c3RvbVN0eWxlRm4gPSBfdGhpcyRwcm9wczIuY3VzdG9tU3R5bGVGbixcbiAgICAgICAgb2Zmc2V0S2V5ID0gX3RoaXMkcHJvcHMyLm9mZnNldEtleSxcbiAgICAgICAgc3R5bGVTZXQgPSBfdGhpcyRwcm9wczIuc3R5bGVTZXQ7XG4gICAgdmFyIHN0eWxlT2JqID0gc3R5bGVTZXQucmVkdWNlKGZ1bmN0aW9uIChtYXAsIHN0eWxlTmFtZSkge1xuICAgICAgdmFyIG1lcmdlZFN0eWxlcyA9IHt9O1xuICAgICAgdmFyIHN0eWxlID0gY3VzdG9tU3R5bGVNYXBbc3R5bGVOYW1lXTtcblxuICAgICAgaWYgKHN0eWxlICE9PSB1bmRlZmluZWQgJiYgbWFwLnRleHREZWNvcmF0aW9uICE9PSBzdHlsZS50ZXh0RGVjb3JhdGlvbikge1xuICAgICAgICAvLyAudHJpbSgpIGlzIG5lY2Vzc2FyeSBmb3IgSUU5LzEwLzExIGFuZCBFZGdlXG4gICAgICAgIG1lcmdlZFN0eWxlcy50ZXh0RGVjb3JhdGlvbiA9IFttYXAudGV4dERlY29yYXRpb24sIHN0eWxlLnRleHREZWNvcmF0aW9uXS5qb2luKCcgJykudHJpbSgpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gX2Fzc2lnbihtYXAsIHN0eWxlLCBtZXJnZWRTdHlsZXMpO1xuICAgIH0sIHt9KTtcblxuICAgIGlmIChjdXN0b21TdHlsZUZuKSB7XG4gICAgICB2YXIgbmV3U3R5bGVzID0gY3VzdG9tU3R5bGVGbihzdHlsZVNldCwgYmxvY2spO1xuICAgICAgc3R5bGVPYmogPSBfYXNzaWduKHN0eWxlT2JqLCBuZXdTdHlsZXMpO1xuICAgIH1cblxuICAgIHJldHVybiBSZWFjdC5jcmVhdGVFbGVtZW50KFwic3BhblwiLCB7XG4gICAgICBcImRhdGEtb2Zmc2V0LWtleVwiOiBvZmZzZXRLZXksXG4gICAgICByZWY6IGZ1bmN0aW9uIHJlZihfcmVmKSB7XG4gICAgICAgIHJldHVybiBfdGhpczIubGVhZiA9IF9yZWY7XG4gICAgICB9LFxuICAgICAgc3R5bGU6IHN0eWxlT2JqXG4gICAgfSwgUmVhY3QuY3JlYXRlRWxlbWVudChEcmFmdEVkaXRvclRleHROb2RlLCBudWxsLCB0ZXh0KSk7XG4gIH07XG5cbiAgcmV0dXJuIERyYWZ0RWRpdG9yTGVhZjtcbn0oUmVhY3QuQ29tcG9uZW50KTtcblxubW9kdWxlLmV4cG9ydHMgPSBEcmFmdEVkaXRvckxlYWY7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/DraftEditorLeaf.react.js\n"); + +/***/ }), + +/***/ "./node_modules/draft-js/lib/DraftEditorNode.react.js": +/*!************************************************************!*\ + !*** ./node_modules/draft-js/lib/DraftEditorNode.react.js ***! + \************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n *\n * This is unstable and not part of the public API and should not be used by\n * production systems. This file may be update/removed without notice.\n */\n\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar DraftEditorDecoratedLeaves = __webpack_require__(/*! ./DraftEditorDecoratedLeaves.react */ \"./node_modules/draft-js/lib/DraftEditorDecoratedLeaves.react.js\");\n\nvar DraftEditorLeaf = __webpack_require__(/*! ./DraftEditorLeaf.react */ \"./node_modules/draft-js/lib/DraftEditorLeaf.react.js\");\n\nvar DraftOffsetKey = __webpack_require__(/*! ./DraftOffsetKey */ \"./node_modules/draft-js/lib/DraftOffsetKey.js\");\n\nvar Immutable = __webpack_require__(/*! immutable */ \"./node_modules/draft-js/node_modules/immutable/dist/immutable.js\");\n\nvar React = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n\nvar cx = __webpack_require__(/*! fbjs/lib/cx */ \"./node_modules/fbjs/lib/cx.js\");\n\nvar List = Immutable.List;\n\nvar DraftEditorNode =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(DraftEditorNode, _React$Component);\n\n function DraftEditorNode() {\n return _React$Component.apply(this, arguments) || this;\n }\n\n var _proto = DraftEditorNode.prototype;\n\n _proto.render = function render() {\n var _this$props = this.props,\n block = _this$props.block,\n contentState = _this$props.contentState,\n customStyleFn = _this$props.customStyleFn,\n customStyleMap = _this$props.customStyleMap,\n decorator = _this$props.decorator,\n direction = _this$props.direction,\n forceSelection = _this$props.forceSelection,\n hasSelection = _this$props.hasSelection,\n selection = _this$props.selection,\n tree = _this$props.tree;\n var blockKey = block.getKey();\n var text = block.getText();\n var lastLeafSet = tree.size - 1;\n var children = this.props.children || tree.map(function (leafSet, ii) {\n var decoratorKey = leafSet.get('decoratorKey');\n var leavesForLeafSet = leafSet.get('leaves');\n var lastLeaf = leavesForLeafSet.size - 1;\n var Leaves = leavesForLeafSet.map(function (leaf, jj) {\n var offsetKey = DraftOffsetKey.encode(blockKey, ii, jj);\n var start = leaf.get('start');\n var end = leaf.get('end');\n return React.createElement(DraftEditorLeaf, {\n key: offsetKey,\n offsetKey: offsetKey,\n block: block,\n start: start,\n selection: hasSelection ? selection : null,\n forceSelection: forceSelection,\n text: text.slice(start, end),\n styleSet: block.getInlineStyleAt(start),\n customStyleMap: customStyleMap,\n customStyleFn: customStyleFn,\n isLast: decoratorKey === lastLeafSet && jj === lastLeaf\n });\n }).toArray();\n\n if (!decoratorKey || !decorator) {\n return Leaves;\n }\n\n return React.createElement(DraftEditorDecoratedLeaves, {\n block: block,\n children: Leaves,\n contentState: contentState,\n decorator: decorator,\n decoratorKey: decoratorKey,\n direction: direction,\n leafSet: leafSet,\n text: text,\n key: ii\n });\n }).toArray();\n return React.createElement(\"div\", {\n \"data-offset-key\": DraftOffsetKey.encode(blockKey, 0, 0),\n className: cx({\n 'public/DraftStyleDefault/block': true,\n 'public/DraftStyleDefault/ltr': direction === 'LTR',\n 'public/DraftStyleDefault/rtl': direction === 'RTL'\n })\n }, children);\n };\n\n return DraftEditorNode;\n}(React.Component);\n\nmodule.exports = DraftEditorNode;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0RyYWZ0RWRpdG9yTm9kZS5yZWFjdC5qcz9jYjQ5Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ2E7O0FBRWIsK0NBQStDLDBEQUEwRCwyQ0FBMkMsaUNBQWlDOztBQUVyTCxpQ0FBaUMsbUJBQU8sQ0FBQywyR0FBb0M7O0FBRTdFLHNCQUFzQixtQkFBTyxDQUFDLHFGQUF5Qjs7QUFFdkQscUJBQXFCLG1CQUFPLENBQUMsdUVBQWtCOztBQUUvQyxnQkFBZ0IsbUJBQU8sQ0FBQyxtRkFBVzs7QUFFbkMsWUFBWSxtQkFBTyxDQUFDLDRDQUFPOztBQUUzQixTQUFTLG1CQUFPLENBQUMsa0RBQWE7O0FBRTlCOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNULE9BQU87O0FBRVA7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1AsS0FBSztBQUNMOztBQUVBO0FBQ0EsQ0FBQzs7QUFFRCIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvRHJhZnRFZGl0b3JOb2RlLnJlYWN0LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIEZhY2Vib29rLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKiBAZm9ybWF0XG4gKiBcbiAqIEBlbWFpbHMgb25jYWxsK2RyYWZ0X2pzXG4gKlxuICogVGhpcyBpcyB1bnN0YWJsZSBhbmQgbm90IHBhcnQgb2YgdGhlIHB1YmxpYyBBUEkgYW5kIHNob3VsZCBub3QgYmUgdXNlZCBieVxuICogcHJvZHVjdGlvbiBzeXN0ZW1zLiBUaGlzIGZpbGUgbWF5IGJlIHVwZGF0ZS9yZW1vdmVkIHdpdGhvdXQgbm90aWNlLlxuICovXG4ndXNlIHN0cmljdCc7XG5cbmZ1bmN0aW9uIF9pbmhlcml0c0xvb3NlKHN1YkNsYXNzLCBzdXBlckNsYXNzKSB7IHN1YkNsYXNzLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoc3VwZXJDbGFzcy5wcm90b3R5cGUpOyBzdWJDbGFzcy5wcm90b3R5cGUuY29uc3RydWN0b3IgPSBzdWJDbGFzczsgc3ViQ2xhc3MuX19wcm90b19fID0gc3VwZXJDbGFzczsgfVxuXG52YXIgRHJhZnRFZGl0b3JEZWNvcmF0ZWRMZWF2ZXMgPSByZXF1aXJlKFwiLi9EcmFmdEVkaXRvckRlY29yYXRlZExlYXZlcy5yZWFjdFwiKTtcblxudmFyIERyYWZ0RWRpdG9yTGVhZiA9IHJlcXVpcmUoXCIuL0RyYWZ0RWRpdG9yTGVhZi5yZWFjdFwiKTtcblxudmFyIERyYWZ0T2Zmc2V0S2V5ID0gcmVxdWlyZShcIi4vRHJhZnRPZmZzZXRLZXlcIik7XG5cbnZhciBJbW11dGFibGUgPSByZXF1aXJlKFwiaW1tdXRhYmxlXCIpO1xuXG52YXIgUmVhY3QgPSByZXF1aXJlKFwicmVhY3RcIik7XG5cbnZhciBjeCA9IHJlcXVpcmUoXCJmYmpzL2xpYi9jeFwiKTtcblxudmFyIExpc3QgPSBJbW11dGFibGUuTGlzdDtcblxudmFyIERyYWZ0RWRpdG9yTm9kZSA9XG4vKiNfX1BVUkVfXyovXG5mdW5jdGlvbiAoX1JlYWN0JENvbXBvbmVudCkge1xuICBfaW5oZXJpdHNMb29zZShEcmFmdEVkaXRvck5vZGUsIF9SZWFjdCRDb21wb25lbnQpO1xuXG4gIGZ1bmN0aW9uIERyYWZ0RWRpdG9yTm9kZSgpIHtcbiAgICByZXR1cm4gX1JlYWN0JENvbXBvbmVudC5hcHBseSh0aGlzLCBhcmd1bWVudHMpIHx8IHRoaXM7XG4gIH1cblxuICB2YXIgX3Byb3RvID0gRHJhZnRFZGl0b3JOb2RlLnByb3RvdHlwZTtcblxuICBfcHJvdG8ucmVuZGVyID0gZnVuY3Rpb24gcmVuZGVyKCkge1xuICAgIHZhciBfdGhpcyRwcm9wcyA9IHRoaXMucHJvcHMsXG4gICAgICAgIGJsb2NrID0gX3RoaXMkcHJvcHMuYmxvY2ssXG4gICAgICAgIGNvbnRlbnRTdGF0ZSA9IF90aGlzJHByb3BzLmNvbnRlbnRTdGF0ZSxcbiAgICAgICAgY3VzdG9tU3R5bGVGbiA9IF90aGlzJHByb3BzLmN1c3RvbVN0eWxlRm4sXG4gICAgICAgIGN1c3RvbVN0eWxlTWFwID0gX3RoaXMkcHJvcHMuY3VzdG9tU3R5bGVNYXAsXG4gICAgICAgIGRlY29yYXRvciA9IF90aGlzJHByb3BzLmRlY29yYXRvcixcbiAgICAgICAgZGlyZWN0aW9uID0gX3RoaXMkcHJvcHMuZGlyZWN0aW9uLFxuICAgICAgICBmb3JjZVNlbGVjdGlvbiA9IF90aGlzJHByb3BzLmZvcmNlU2VsZWN0aW9uLFxuICAgICAgICBoYXNTZWxlY3Rpb24gPSBfdGhpcyRwcm9wcy5oYXNTZWxlY3Rpb24sXG4gICAgICAgIHNlbGVjdGlvbiA9IF90aGlzJHByb3BzLnNlbGVjdGlvbixcbiAgICAgICAgdHJlZSA9IF90aGlzJHByb3BzLnRyZWU7XG4gICAgdmFyIGJsb2NrS2V5ID0gYmxvY2suZ2V0S2V5KCk7XG4gICAgdmFyIHRleHQgPSBibG9jay5nZXRUZXh0KCk7XG4gICAgdmFyIGxhc3RMZWFmU2V0ID0gdHJlZS5zaXplIC0gMTtcbiAgICB2YXIgY2hpbGRyZW4gPSB0aGlzLnByb3BzLmNoaWxkcmVuIHx8IHRyZWUubWFwKGZ1bmN0aW9uIChsZWFmU2V0LCBpaSkge1xuICAgICAgdmFyIGRlY29yYXRvcktleSA9IGxlYWZTZXQuZ2V0KCdkZWNvcmF0b3JLZXknKTtcbiAgICAgIHZhciBsZWF2ZXNGb3JMZWFmU2V0ID0gbGVhZlNldC5nZXQoJ2xlYXZlcycpO1xuICAgICAgdmFyIGxhc3RMZWFmID0gbGVhdmVzRm9yTGVhZlNldC5zaXplIC0gMTtcbiAgICAgIHZhciBMZWF2ZXMgPSBsZWF2ZXNGb3JMZWFmU2V0Lm1hcChmdW5jdGlvbiAobGVhZiwgamopIHtcbiAgICAgICAgdmFyIG9mZnNldEtleSA9IERyYWZ0T2Zmc2V0S2V5LmVuY29kZShibG9ja0tleSwgaWksIGpqKTtcbiAgICAgICAgdmFyIHN0YXJ0ID0gbGVhZi5nZXQoJ3N0YXJ0Jyk7XG4gICAgICAgIHZhciBlbmQgPSBsZWFmLmdldCgnZW5kJyk7XG4gICAgICAgIHJldHVybiBSZWFjdC5jcmVhdGVFbGVtZW50KERyYWZ0RWRpdG9yTGVhZiwge1xuICAgICAgICAgIGtleTogb2Zmc2V0S2V5LFxuICAgICAgICAgIG9mZnNldEtleTogb2Zmc2V0S2V5LFxuICAgICAgICAgIGJsb2NrOiBibG9jayxcbiAgICAgICAgICBzdGFydDogc3RhcnQsXG4gICAgICAgICAgc2VsZWN0aW9uOiBoYXNTZWxlY3Rpb24gPyBzZWxlY3Rpb24gOiBudWxsLFxuICAgICAgICAgIGZvcmNlU2VsZWN0aW9uOiBmb3JjZVNlbGVjdGlvbixcbiAgICAgICAgICB0ZXh0OiB0ZXh0LnNsaWNlKHN0YXJ0LCBlbmQpLFxuICAgICAgICAgIHN0eWxlU2V0OiBibG9jay5nZXRJbmxpbmVTdHlsZUF0KHN0YXJ0KSxcbiAgICAgICAgICBjdXN0b21TdHlsZU1hcDogY3VzdG9tU3R5bGVNYXAsXG4gICAgICAgICAgY3VzdG9tU3R5bGVGbjogY3VzdG9tU3R5bGVGbixcbiAgICAgICAgICBpc0xhc3Q6IGRlY29yYXRvcktleSA9PT0gbGFzdExlYWZTZXQgJiYgamogPT09IGxhc3RMZWFmXG4gICAgICAgIH0pO1xuICAgICAgfSkudG9BcnJheSgpO1xuXG4gICAgICBpZiAoIWRlY29yYXRvcktleSB8fCAhZGVjb3JhdG9yKSB7XG4gICAgICAgIHJldHVybiBMZWF2ZXM7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBSZWFjdC5jcmVhdGVFbGVtZW50KERyYWZ0RWRpdG9yRGVjb3JhdGVkTGVhdmVzLCB7XG4gICAgICAgIGJsb2NrOiBibG9jayxcbiAgICAgICAgY2hpbGRyZW46IExlYXZlcyxcbiAgICAgICAgY29udGVudFN0YXRlOiBjb250ZW50U3RhdGUsXG4gICAgICAgIGRlY29yYXRvcjogZGVjb3JhdG9yLFxuICAgICAgICBkZWNvcmF0b3JLZXk6IGRlY29yYXRvcktleSxcbiAgICAgICAgZGlyZWN0aW9uOiBkaXJlY3Rpb24sXG4gICAgICAgIGxlYWZTZXQ6IGxlYWZTZXQsXG4gICAgICAgIHRleHQ6IHRleHQsXG4gICAgICAgIGtleTogaWlcbiAgICAgIH0pO1xuICAgIH0pLnRvQXJyYXkoKTtcbiAgICByZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7XG4gICAgICBcImRhdGEtb2Zmc2V0LWtleVwiOiBEcmFmdE9mZnNldEtleS5lbmNvZGUoYmxvY2tLZXksIDAsIDApLFxuICAgICAgY2xhc3NOYW1lOiBjeCh7XG4gICAgICAgICdwdWJsaWMvRHJhZnRTdHlsZURlZmF1bHQvYmxvY2snOiB0cnVlLFxuICAgICAgICAncHVibGljL0RyYWZ0U3R5bGVEZWZhdWx0L2x0cic6IGRpcmVjdGlvbiA9PT0gJ0xUUicsXG4gICAgICAgICdwdWJsaWMvRHJhZnRTdHlsZURlZmF1bHQvcnRsJzogZGlyZWN0aW9uID09PSAnUlRMJ1xuICAgICAgfSlcbiAgICB9LCBjaGlsZHJlbik7XG4gIH07XG5cbiAgcmV0dXJuIERyYWZ0RWRpdG9yTm9kZTtcbn0oUmVhY3QuQ29tcG9uZW50KTtcblxubW9kdWxlLmV4cG9ydHMgPSBEcmFmdEVkaXRvck5vZGU7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/DraftEditorNode.react.js\n"); /***/ }), @@ -259,7 +330,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule DraftEditorPlaceholder.react\n * @format\n * \n */\n\n\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar React = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n\nvar cx = __webpack_require__(/*! fbjs/lib/cx */ \"./node_modules/fbjs/lib/cx.js\");\n\n/**\n * This component is responsible for rendering placeholder text for the\n * `DraftEditor` component.\n *\n * Override placeholder style via CSS.\n */\nvar DraftEditorPlaceholder = function (_React$Component) {\n _inherits(DraftEditorPlaceholder, _React$Component);\n\n function DraftEditorPlaceholder() {\n _classCallCheck(this, DraftEditorPlaceholder);\n\n return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n }\n\n DraftEditorPlaceholder.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {\n return this.props.text !== nextProps.text || this.props.editorState.getSelection().getHasFocus() !== nextProps.editorState.getSelection().getHasFocus();\n };\n\n DraftEditorPlaceholder.prototype.render = function render() {\n var hasFocus = this.props.editorState.getSelection().getHasFocus();\n\n var className = cx({\n 'public/DraftEditorPlaceholder/root': true,\n 'public/DraftEditorPlaceholder/hasFocus': hasFocus\n });\n\n var contentStyle = {\n whiteSpace: 'pre-wrap'\n };\n\n return React.createElement(\n 'div',\n { className: className },\n React.createElement(\n 'div',\n {\n className: cx('public/DraftEditorPlaceholder/inner'),\n id: this.props.accessibilityID,\n style: contentStyle },\n this.props.text\n )\n );\n };\n\n return DraftEditorPlaceholder;\n}(React.Component);\n\nmodule.exports = DraftEditorPlaceholder;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0RyYWZ0RWRpdG9yUGxhY2Vob2xkZXIucmVhY3QuanM/MWRkOSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWE7O0FBRWIsaURBQWlELDBDQUEwQywwREFBMEQsRUFBRTs7QUFFdkosaURBQWlELGFBQWEsdUZBQXVGLEVBQUUsdUZBQXVGOztBQUU5TywwQ0FBMEMsK0RBQStELHFHQUFxRyxFQUFFLHlFQUF5RSxlQUFlLHlFQUF5RSxFQUFFLEVBQUUsdUhBQXVIOztBQUU1ZSxZQUFZLG1CQUFPLENBQUMsNENBQU87O0FBRTNCLFNBQVMsbUJBQU8sQ0FBQyxrREFBYTs7QUFFOUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE9BQU8sdUJBQXVCO0FBQzlCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrQkFBK0I7QUFDL0I7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxDQUFDOztBQUVEIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2RyYWZ0LWpzL2xpYi9EcmFmdEVkaXRvclBsYWNlaG9sZGVyLnJlYWN0LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQlNELXN0eWxlIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuIEFuIGFkZGl0aW9uYWwgZ3JhbnRcbiAqIG9mIHBhdGVudCByaWdodHMgY2FuIGJlIGZvdW5kIGluIHRoZSBQQVRFTlRTIGZpbGUgaW4gdGhlIHNhbWUgZGlyZWN0b3J5LlxuICpcbiAqIEBwcm92aWRlc01vZHVsZSBEcmFmdEVkaXRvclBsYWNlaG9sZGVyLnJlYWN0XG4gKiBAZm9ybWF0XG4gKiBcbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbmZ1bmN0aW9uIF9jbGFzc0NhbGxDaGVjayhpbnN0YW5jZSwgQ29uc3RydWN0b3IpIHsgaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBDb25zdHJ1Y3RvcikpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKTsgfSB9XG5cbmZ1bmN0aW9uIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHNlbGYsIGNhbGwpIHsgaWYgKCFzZWxmKSB7IHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcihcInRoaXMgaGFzbid0IGJlZW4gaW5pdGlhbGlzZWQgLSBzdXBlcigpIGhhc24ndCBiZWVuIGNhbGxlZFwiKTsgfSByZXR1cm4gY2FsbCAmJiAodHlwZW9mIGNhbGwgPT09IFwib2JqZWN0XCIgfHwgdHlwZW9mIGNhbGwgPT09IFwiZnVuY3Rpb25cIikgPyBjYWxsIDogc2VsZjsgfVxuXG5mdW5jdGlvbiBfaW5oZXJpdHMoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpIHsgaWYgKHR5cGVvZiBzdXBlckNsYXNzICE9PSBcImZ1bmN0aW9uXCIgJiYgc3VwZXJDbGFzcyAhPT0gbnVsbCkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3VwZXIgZXhwcmVzc2lvbiBtdXN0IGVpdGhlciBiZSBudWxsIG9yIGEgZnVuY3Rpb24sIG5vdCBcIiArIHR5cGVvZiBzdXBlckNsYXNzKTsgfSBzdWJDbGFzcy5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKHN1cGVyQ2xhc3MgJiYgc3VwZXJDbGFzcy5wcm90b3R5cGUsIHsgY29uc3RydWN0b3I6IHsgdmFsdWU6IHN1YkNsYXNzLCBlbnVtZXJhYmxlOiBmYWxzZSwgd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9IH0pOyBpZiAoc3VwZXJDbGFzcykgT2JqZWN0LnNldFByb3RvdHlwZU9mID8gT2JqZWN0LnNldFByb3RvdHlwZU9mKHN1YkNsYXNzLCBzdXBlckNsYXNzKSA6IHN1YkNsYXNzLl9fcHJvdG9fXyA9IHN1cGVyQ2xhc3M7IH1cblxudmFyIFJlYWN0ID0gcmVxdWlyZSgncmVhY3QnKTtcblxudmFyIGN4ID0gcmVxdWlyZSgnZmJqcy9saWIvY3gnKTtcblxuLyoqXG4gKiBUaGlzIGNvbXBvbmVudCBpcyByZXNwb25zaWJsZSBmb3IgcmVuZGVyaW5nIHBsYWNlaG9sZGVyIHRleHQgZm9yIHRoZVxuICogYERyYWZ0RWRpdG9yYCBjb21wb25lbnQuXG4gKlxuICogT3ZlcnJpZGUgcGxhY2Vob2xkZXIgc3R5bGUgdmlhIENTUy5cbiAqL1xudmFyIERyYWZ0RWRpdG9yUGxhY2Vob2xkZXIgPSBmdW5jdGlvbiAoX1JlYWN0JENvbXBvbmVudCkge1xuICBfaW5oZXJpdHMoRHJhZnRFZGl0b3JQbGFjZWhvbGRlciwgX1JlYWN0JENvbXBvbmVudCk7XG5cbiAgZnVuY3Rpb24gRHJhZnRFZGl0b3JQbGFjZWhvbGRlcigpIHtcbiAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgRHJhZnRFZGl0b3JQbGFjZWhvbGRlcik7XG5cbiAgICByZXR1cm4gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4odGhpcywgX1JlYWN0JENvbXBvbmVudC5hcHBseSh0aGlzLCBhcmd1bWVudHMpKTtcbiAgfVxuXG4gIERyYWZ0RWRpdG9yUGxhY2Vob2xkZXIucHJvdG90eXBlLnNob3VsZENvbXBvbmVudFVwZGF0ZSA9IGZ1bmN0aW9uIHNob3VsZENvbXBvbmVudFVwZGF0ZShuZXh0UHJvcHMpIHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy50ZXh0ICE9PSBuZXh0UHJvcHMudGV4dCB8fCB0aGlzLnByb3BzLmVkaXRvclN0YXRlLmdldFNlbGVjdGlvbigpLmdldEhhc0ZvY3VzKCkgIT09IG5leHRQcm9wcy5lZGl0b3JTdGF0ZS5nZXRTZWxlY3Rpb24oKS5nZXRIYXNGb2N1cygpO1xuICB9O1xuXG4gIERyYWZ0RWRpdG9yUGxhY2Vob2xkZXIucHJvdG90eXBlLnJlbmRlciA9IGZ1bmN0aW9uIHJlbmRlcigpIHtcbiAgICB2YXIgaGFzRm9jdXMgPSB0aGlzLnByb3BzLmVkaXRvclN0YXRlLmdldFNlbGVjdGlvbigpLmdldEhhc0ZvY3VzKCk7XG5cbiAgICB2YXIgY2xhc3NOYW1lID0gY3goe1xuICAgICAgJ3B1YmxpYy9EcmFmdEVkaXRvclBsYWNlaG9sZGVyL3Jvb3QnOiB0cnVlLFxuICAgICAgJ3B1YmxpYy9EcmFmdEVkaXRvclBsYWNlaG9sZGVyL2hhc0ZvY3VzJzogaGFzRm9jdXNcbiAgICB9KTtcblxuICAgIHZhciBjb250ZW50U3R5bGUgPSB7XG4gICAgICB3aGl0ZVNwYWNlOiAncHJlLXdyYXAnXG4gICAgfTtcblxuICAgIHJldHVybiBSZWFjdC5jcmVhdGVFbGVtZW50KFxuICAgICAgJ2RpdicsXG4gICAgICB7IGNsYXNzTmFtZTogY2xhc3NOYW1lIH0sXG4gICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFxuICAgICAgICAnZGl2JyxcbiAgICAgICAge1xuICAgICAgICAgIGNsYXNzTmFtZTogY3goJ3B1YmxpYy9EcmFmdEVkaXRvclBsYWNlaG9sZGVyL2lubmVyJyksXG4gICAgICAgICAgaWQ6IHRoaXMucHJvcHMuYWNjZXNzaWJpbGl0eUlELFxuICAgICAgICAgIHN0eWxlOiBjb250ZW50U3R5bGUgfSxcbiAgICAgICAgdGhpcy5wcm9wcy50ZXh0XG4gICAgICApXG4gICAgKTtcbiAgfTtcblxuICByZXR1cm4gRHJhZnRFZGl0b3JQbGFjZWhvbGRlcjtcbn0oUmVhY3QuQ29tcG9uZW50KTtcblxubW9kdWxlLmV4cG9ydHMgPSBEcmFmdEVkaXRvclBsYWNlaG9sZGVyOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/DraftEditorPlaceholder.react.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar React = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n\nvar cx = __webpack_require__(/*! fbjs/lib/cx */ \"./node_modules/fbjs/lib/cx.js\");\n\n/**\n * This component is responsible for rendering placeholder text for the\n * `DraftEditor` component.\n *\n * Override placeholder style via CSS.\n */\nvar DraftEditorPlaceholder =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(DraftEditorPlaceholder, _React$Component);\n\n function DraftEditorPlaceholder() {\n return _React$Component.apply(this, arguments) || this;\n }\n\n var _proto = DraftEditorPlaceholder.prototype;\n\n _proto.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {\n return this.props.text !== nextProps.text || this.props.editorState.getSelection().getHasFocus() !== nextProps.editorState.getSelection().getHasFocus();\n };\n\n _proto.render = function render() {\n var hasFocus = this.props.editorState.getSelection().getHasFocus();\n var className = cx({\n 'public/DraftEditorPlaceholder/root': true,\n 'public/DraftEditorPlaceholder/hasFocus': hasFocus\n });\n var contentStyle = {\n whiteSpace: 'pre-wrap'\n };\n return React.createElement(\"div\", {\n className: className\n }, React.createElement(\"div\", {\n className: cx('public/DraftEditorPlaceholder/inner'),\n id: this.props.accessibilityID,\n style: contentStyle\n }, this.props.text));\n };\n\n return DraftEditorPlaceholder;\n}(React.Component);\n\nmodule.exports = DraftEditorPlaceholder;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0RyYWZ0RWRpdG9yUGxhY2Vob2xkZXIucmVhY3QuanM/MWRkOSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNhOztBQUViLCtDQUErQywwREFBMEQsMkNBQTJDLGlDQUFpQzs7QUFFckwsWUFBWSxtQkFBTyxDQUFDLDRDQUFPOztBQUUzQixTQUFTLG1CQUFPLENBQUMsa0RBQWE7O0FBRTlCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBLENBQUM7O0FBRUQiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0RyYWZ0RWRpdG9yUGxhY2Vob2xkZXIucmVhY3QuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgRmFjZWJvb2ssIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIEBmb3JtYXRcbiAqIFxuICogQGVtYWlscyBvbmNhbGwrZHJhZnRfanNcbiAqL1xuJ3VzZSBzdHJpY3QnO1xuXG5mdW5jdGlvbiBfaW5oZXJpdHNMb29zZShzdWJDbGFzcywgc3VwZXJDbGFzcykgeyBzdWJDbGFzcy5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKHN1cGVyQ2xhc3MucHJvdG90eXBlKTsgc3ViQ2xhc3MucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gc3ViQ2xhc3M7IHN1YkNsYXNzLl9fcHJvdG9fXyA9IHN1cGVyQ2xhc3M7IH1cblxudmFyIFJlYWN0ID0gcmVxdWlyZShcInJlYWN0XCIpO1xuXG52YXIgY3ggPSByZXF1aXJlKFwiZmJqcy9saWIvY3hcIik7XG5cbi8qKlxuICogVGhpcyBjb21wb25lbnQgaXMgcmVzcG9uc2libGUgZm9yIHJlbmRlcmluZyBwbGFjZWhvbGRlciB0ZXh0IGZvciB0aGVcbiAqIGBEcmFmdEVkaXRvcmAgY29tcG9uZW50LlxuICpcbiAqIE92ZXJyaWRlIHBsYWNlaG9sZGVyIHN0eWxlIHZpYSBDU1MuXG4gKi9cbnZhciBEcmFmdEVkaXRvclBsYWNlaG9sZGVyID1cbi8qI19fUFVSRV9fKi9cbmZ1bmN0aW9uIChfUmVhY3QkQ29tcG9uZW50KSB7XG4gIF9pbmhlcml0c0xvb3NlKERyYWZ0RWRpdG9yUGxhY2Vob2xkZXIsIF9SZWFjdCRDb21wb25lbnQpO1xuXG4gIGZ1bmN0aW9uIERyYWZ0RWRpdG9yUGxhY2Vob2xkZXIoKSB7XG4gICAgcmV0dXJuIF9SZWFjdCRDb21wb25lbnQuYXBwbHkodGhpcywgYXJndW1lbnRzKSB8fCB0aGlzO1xuICB9XG5cbiAgdmFyIF9wcm90byA9IERyYWZ0RWRpdG9yUGxhY2Vob2xkZXIucHJvdG90eXBlO1xuXG4gIF9wcm90by5zaG91bGRDb21wb25lbnRVcGRhdGUgPSBmdW5jdGlvbiBzaG91bGRDb21wb25lbnRVcGRhdGUobmV4dFByb3BzKSB7XG4gICAgcmV0dXJuIHRoaXMucHJvcHMudGV4dCAhPT0gbmV4dFByb3BzLnRleHQgfHwgdGhpcy5wcm9wcy5lZGl0b3JTdGF0ZS5nZXRTZWxlY3Rpb24oKS5nZXRIYXNGb2N1cygpICE9PSBuZXh0UHJvcHMuZWRpdG9yU3RhdGUuZ2V0U2VsZWN0aW9uKCkuZ2V0SGFzRm9jdXMoKTtcbiAgfTtcblxuICBfcHJvdG8ucmVuZGVyID0gZnVuY3Rpb24gcmVuZGVyKCkge1xuICAgIHZhciBoYXNGb2N1cyA9IHRoaXMucHJvcHMuZWRpdG9yU3RhdGUuZ2V0U2VsZWN0aW9uKCkuZ2V0SGFzRm9jdXMoKTtcbiAgICB2YXIgY2xhc3NOYW1lID0gY3goe1xuICAgICAgJ3B1YmxpYy9EcmFmdEVkaXRvclBsYWNlaG9sZGVyL3Jvb3QnOiB0cnVlLFxuICAgICAgJ3B1YmxpYy9EcmFmdEVkaXRvclBsYWNlaG9sZGVyL2hhc0ZvY3VzJzogaGFzRm9jdXNcbiAgICB9KTtcbiAgICB2YXIgY29udGVudFN0eWxlID0ge1xuICAgICAgd2hpdGVTcGFjZTogJ3ByZS13cmFwJ1xuICAgIH07XG4gICAgcmV0dXJuIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwge1xuICAgICAgY2xhc3NOYW1lOiBjbGFzc05hbWVcbiAgICB9LCBSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHtcbiAgICAgIGNsYXNzTmFtZTogY3goJ3B1YmxpYy9EcmFmdEVkaXRvclBsYWNlaG9sZGVyL2lubmVyJyksXG4gICAgICBpZDogdGhpcy5wcm9wcy5hY2Nlc3NpYmlsaXR5SUQsXG4gICAgICBzdHlsZTogY29udGVudFN0eWxlXG4gICAgfSwgdGhpcy5wcm9wcy50ZXh0KSk7XG4gIH07XG5cbiAgcmV0dXJuIERyYWZ0RWRpdG9yUGxhY2Vob2xkZXI7XG59KFJlYWN0LkNvbXBvbmVudCk7XG5cbm1vZHVsZS5leHBvcnRzID0gRHJhZnRFZGl0b3JQbGFjZWhvbGRlcjsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/DraftEditorPlaceholder.react.js\n"); /***/ }), @@ -271,7 +342,19 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule DraftEditorTextNode.react\n * @format\n * \n */\n\n\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar React = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\nvar ReactDOM = __webpack_require__(/*! react-dom */ \"./node_modules/react-dom/index.js\");\nvar UserAgent = __webpack_require__(/*! fbjs/lib/UserAgent */ \"./node_modules/fbjs/lib/UserAgent.js\");\n\nvar invariant = __webpack_require__(/*! fbjs/lib/invariant */ \"./node_modules/fbjs/lib/invariant.js\");\n\n// In IE, spans with
tags render as two newlines. By rendering a span\n// with only a newline character, we can be sure to render a single line.\nvar useNewlineChar = UserAgent.isBrowser('IE <= 11');\n\n/**\n * Check whether the node should be considered a newline.\n */\nfunction isNewline(node) {\n return useNewlineChar ? node.textContent === '\\n' : node.tagName === 'BR';\n}\n\n/**\n * Placeholder elements for empty text content.\n *\n * What is this `data-text` attribute, anyway? It turns out that we need to\n * put an attribute on the lowest-level text node in order to preserve correct\n * spellcheck handling. If the is naked, Chrome and Safari may do\n * bizarre things to do the DOM -- split text nodes, create extra spans, etc.\n * If the has an attribute, this appears not to happen.\n * See http://jsfiddle.net/9khdavod/ for the failure case, and\n * http://jsfiddle.net/7pg143f7/ for the fixed case.\n */\nvar NEWLINE_A = useNewlineChar ? React.createElement(\n 'span',\n { key: 'A', 'data-text': 'true' },\n '\\n'\n) : React.createElement('br', { key: 'A', 'data-text': 'true' });\n\nvar NEWLINE_B = useNewlineChar ? React.createElement(\n 'span',\n { key: 'B', 'data-text': 'true' },\n '\\n'\n) : React.createElement('br', { key: 'B', 'data-text': 'true' });\n\n/**\n * The lowest-level component in a `DraftEditor`, the text node component\n * replaces the default React text node implementation. This allows us to\n * perform custom handling of newline behavior and avoid re-rendering text\n * nodes with DOM state that already matches the expectations of our immutable\n * editor state.\n */\nvar DraftEditorTextNode = function (_React$Component) {\n _inherits(DraftEditorTextNode, _React$Component);\n\n function DraftEditorTextNode(props) {\n _classCallCheck(this, DraftEditorTextNode);\n\n // By flipping this flag, we also keep flipping keys which forces\n // React to remount this node every time it rerenders.\n var _this = _possibleConstructorReturn(this, _React$Component.call(this, props));\n\n _this._forceFlag = false;\n return _this;\n }\n\n DraftEditorTextNode.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {\n var node = ReactDOM.findDOMNode(this);\n var shouldBeNewline = nextProps.children === '';\n !(node instanceof Element) ? true ? invariant(false, 'node is not an Element') : undefined : void 0;\n if (shouldBeNewline) {\n return !isNewline(node);\n }\n return node.textContent !== nextProps.children;\n };\n\n DraftEditorTextNode.prototype.componentDidMount = function componentDidMount() {\n this._forceFlag = !this._forceFlag;\n };\n\n DraftEditorTextNode.prototype.componentDidUpdate = function componentDidUpdate() {\n this._forceFlag = !this._forceFlag;\n };\n\n DraftEditorTextNode.prototype.render = function render() {\n if (this.props.children === '') {\n return this._forceFlag ? NEWLINE_A : NEWLINE_B;\n }\n return React.createElement(\n 'span',\n { key: this._forceFlag ? 'A' : 'B', 'data-text': 'true' },\n this.props.children\n );\n };\n\n return DraftEditorTextNode;\n}(React.Component);\n\nmodule.exports = DraftEditorTextNode;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0RyYWZ0RWRpdG9yVGV4dE5vZGUucmVhY3QuanM/NThiMSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWE7O0FBRWIsaURBQWlELDBDQUEwQywwREFBMEQsRUFBRTs7QUFFdkosaURBQWlELGFBQWEsdUZBQXVGLEVBQUUsdUZBQXVGOztBQUU5TywwQ0FBMEMsK0RBQStELHFHQUFxRyxFQUFFLHlFQUF5RSxlQUFlLHlFQUF5RSxFQUFFLEVBQUUsdUhBQXVIOztBQUU1ZSxZQUFZLG1CQUFPLENBQUMsNENBQU87QUFDM0IsZUFBZSxtQkFBTyxDQUFDLG9EQUFXO0FBQ2xDLGdCQUFnQixtQkFBTyxDQUFDLGdFQUFvQjs7QUFFNUMsZ0JBQWdCLG1CQUFPLENBQUMsZ0VBQW9COztBQUU1QztBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRyxnQ0FBZ0M7QUFDbkM7QUFDQSwrQkFBK0IsZ0NBQWdDOztBQUUvRDtBQUNBO0FBQ0EsR0FBRyxnQ0FBZ0M7QUFDbkM7QUFDQSwrQkFBK0IsZ0NBQWdDOztBQUUvRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGlDQUFpQyxLQUFxQyxnREFBZ0QsU0FBZ0I7QUFDdEk7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU8sd0RBQXdEO0FBQy9EO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLENBQUM7O0FBRUQiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0RyYWZ0RWRpdG9yVGV4dE5vZGUucmVhY3QuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxMy1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuICogQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBCU0Qtc3R5bGUgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS4gQW4gYWRkaXRpb25hbCBncmFudFxuICogb2YgcGF0ZW50IHJpZ2h0cyBjYW4gYmUgZm91bmQgaW4gdGhlIFBBVEVOVFMgZmlsZSBpbiB0aGUgc2FtZSBkaXJlY3RvcnkuXG4gKlxuICogQHByb3ZpZGVzTW9kdWxlIERyYWZ0RWRpdG9yVGV4dE5vZGUucmVhY3RcbiAqIEBmb3JtYXRcbiAqIFxuICovXG5cbid1c2Ugc3RyaWN0JztcblxuZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGluc3RhbmNlLCBDb25zdHJ1Y3RvcikgeyBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpOyB9IH1cblxuZnVuY3Rpb24gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4oc2VsZiwgY2FsbCkgeyBpZiAoIXNlbGYpIHsgdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKFwidGhpcyBoYXNuJ3QgYmVlbiBpbml0aWFsaXNlZCAtIHN1cGVyKCkgaGFzbid0IGJlZW4gY2FsbGVkXCIpOyB9IHJldHVybiBjYWxsICYmICh0eXBlb2YgY2FsbCA9PT0gXCJvYmplY3RcIiB8fCB0eXBlb2YgY2FsbCA9PT0gXCJmdW5jdGlvblwiKSA/IGNhbGwgOiBzZWxmOyB9XG5cbmZ1bmN0aW9uIF9pbmhlcml0cyhzdWJDbGFzcywgc3VwZXJDbGFzcykgeyBpZiAodHlwZW9mIHN1cGVyQ2xhc3MgIT09IFwiZnVuY3Rpb25cIiAmJiBzdXBlckNsYXNzICE9PSBudWxsKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJTdXBlciBleHByZXNzaW9uIG11c3QgZWl0aGVyIGJlIG51bGwgb3IgYSBmdW5jdGlvbiwgbm90IFwiICsgdHlwZW9mIHN1cGVyQ2xhc3MpOyB9IHN1YkNsYXNzLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoc3VwZXJDbGFzcyAmJiBzdXBlckNsYXNzLnByb3RvdHlwZSwgeyBjb25zdHJ1Y3RvcjogeyB2YWx1ZTogc3ViQ2xhc3MsIGVudW1lcmFibGU6IGZhbHNlLCB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlIH0gfSk7IGlmIChzdXBlckNsYXNzKSBPYmplY3Quc2V0UHJvdG90eXBlT2YgPyBPYmplY3Quc2V0UHJvdG90eXBlT2Yoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpIDogc3ViQ2xhc3MuX19wcm90b19fID0gc3VwZXJDbGFzczsgfVxuXG52YXIgUmVhY3QgPSByZXF1aXJlKCdyZWFjdCcpO1xudmFyIFJlYWN0RE9NID0gcmVxdWlyZSgncmVhY3QtZG9tJyk7XG52YXIgVXNlckFnZW50ID0gcmVxdWlyZSgnZmJqcy9saWIvVXNlckFnZW50Jyk7XG5cbnZhciBpbnZhcmlhbnQgPSByZXF1aXJlKCdmYmpzL2xpYi9pbnZhcmlhbnQnKTtcblxuLy8gSW4gSUUsIHNwYW5zIHdpdGggPGJyPiB0YWdzIHJlbmRlciBhcyB0d28gbmV3bGluZXMuIEJ5IHJlbmRlcmluZyBhIHNwYW5cbi8vIHdpdGggb25seSBhIG5ld2xpbmUgY2hhcmFjdGVyLCB3ZSBjYW4gYmUgc3VyZSB0byByZW5kZXIgYSBzaW5nbGUgbGluZS5cbnZhciB1c2VOZXdsaW5lQ2hhciA9IFVzZXJBZ2VudC5pc0Jyb3dzZXIoJ0lFIDw9IDExJyk7XG5cbi8qKlxuICogQ2hlY2sgd2hldGhlciB0aGUgbm9kZSBzaG91bGQgYmUgY29uc2lkZXJlZCBhIG5ld2xpbmUuXG4gKi9cbmZ1bmN0aW9uIGlzTmV3bGluZShub2RlKSB7XG4gIHJldHVybiB1c2VOZXdsaW5lQ2hhciA/IG5vZGUudGV4dENvbnRlbnQgPT09ICdcXG4nIDogbm9kZS50YWdOYW1lID09PSAnQlInO1xufVxuXG4vKipcbiAqIFBsYWNlaG9sZGVyIGVsZW1lbnRzIGZvciBlbXB0eSB0ZXh0IGNvbnRlbnQuXG4gKlxuICogV2hhdCBpcyB0aGlzIGBkYXRhLXRleHRgIGF0dHJpYnV0ZSwgYW55d2F5PyBJdCB0dXJucyBvdXQgdGhhdCB3ZSBuZWVkIHRvXG4gKiBwdXQgYW4gYXR0cmlidXRlIG9uIHRoZSBsb3dlc3QtbGV2ZWwgdGV4dCBub2RlIGluIG9yZGVyIHRvIHByZXNlcnZlIGNvcnJlY3RcbiAqIHNwZWxsY2hlY2sgaGFuZGxpbmcuIElmIHRoZSA8c3Bhbj4gaXMgbmFrZWQsIENocm9tZSBhbmQgU2FmYXJpIG1heSBkb1xuICogYml6YXJyZSB0aGluZ3MgdG8gZG8gdGhlIERPTSAtLSBzcGxpdCB0ZXh0IG5vZGVzLCBjcmVhdGUgZXh0cmEgc3BhbnMsIGV0Yy5cbiAqIElmIHRoZSA8c3Bhbj4gaGFzIGFuIGF0dHJpYnV0ZSwgdGhpcyBhcHBlYXJzIG5vdCB0byBoYXBwZW4uXG4gKiBTZWUgaHR0cDovL2pzZmlkZGxlLm5ldC85a2hkYXZvZC8gZm9yIHRoZSBmYWlsdXJlIGNhc2UsIGFuZFxuICogaHR0cDovL2pzZmlkZGxlLm5ldC83cGcxNDNmNy8gZm9yIHRoZSBmaXhlZCBjYXNlLlxuICovXG52YXIgTkVXTElORV9BID0gdXNlTmV3bGluZUNoYXIgPyBSZWFjdC5jcmVhdGVFbGVtZW50KFxuICAnc3BhbicsXG4gIHsga2V5OiAnQScsICdkYXRhLXRleHQnOiAndHJ1ZScgfSxcbiAgJ1xcbidcbikgOiBSZWFjdC5jcmVhdGVFbGVtZW50KCdicicsIHsga2V5OiAnQScsICdkYXRhLXRleHQnOiAndHJ1ZScgfSk7XG5cbnZhciBORVdMSU5FX0IgPSB1c2VOZXdsaW5lQ2hhciA/IFJlYWN0LmNyZWF0ZUVsZW1lbnQoXG4gICdzcGFuJyxcbiAgeyBrZXk6ICdCJywgJ2RhdGEtdGV4dCc6ICd0cnVlJyB9LFxuICAnXFxuJ1xuKSA6IFJlYWN0LmNyZWF0ZUVsZW1lbnQoJ2JyJywgeyBrZXk6ICdCJywgJ2RhdGEtdGV4dCc6ICd0cnVlJyB9KTtcblxuLyoqXG4gKiBUaGUgbG93ZXN0LWxldmVsIGNvbXBvbmVudCBpbiBhIGBEcmFmdEVkaXRvcmAsIHRoZSB0ZXh0IG5vZGUgY29tcG9uZW50XG4gKiByZXBsYWNlcyB0aGUgZGVmYXVsdCBSZWFjdCB0ZXh0IG5vZGUgaW1wbGVtZW50YXRpb24uIFRoaXMgYWxsb3dzIHVzIHRvXG4gKiBwZXJmb3JtIGN1c3RvbSBoYW5kbGluZyBvZiBuZXdsaW5lIGJlaGF2aW9yIGFuZCBhdm9pZCByZS1yZW5kZXJpbmcgdGV4dFxuICogbm9kZXMgd2l0aCBET00gc3RhdGUgdGhhdCBhbHJlYWR5IG1hdGNoZXMgdGhlIGV4cGVjdGF0aW9ucyBvZiBvdXIgaW1tdXRhYmxlXG4gKiBlZGl0b3Igc3RhdGUuXG4gKi9cbnZhciBEcmFmdEVkaXRvclRleHROb2RlID0gZnVuY3Rpb24gKF9SZWFjdCRDb21wb25lbnQpIHtcbiAgX2luaGVyaXRzKERyYWZ0RWRpdG9yVGV4dE5vZGUsIF9SZWFjdCRDb21wb25lbnQpO1xuXG4gIGZ1bmN0aW9uIERyYWZ0RWRpdG9yVGV4dE5vZGUocHJvcHMpIHtcbiAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgRHJhZnRFZGl0b3JUZXh0Tm9kZSk7XG5cbiAgICAvLyBCeSBmbGlwcGluZyB0aGlzIGZsYWcsIHdlIGFsc28ga2VlcCBmbGlwcGluZyBrZXlzIHdoaWNoIGZvcmNlc1xuICAgIC8vIFJlYWN0IHRvIHJlbW91bnQgdGhpcyBub2RlIGV2ZXJ5IHRpbWUgaXQgcmVyZW5kZXJzLlxuICAgIHZhciBfdGhpcyA9IF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHRoaXMsIF9SZWFjdCRDb21wb25lbnQuY2FsbCh0aGlzLCBwcm9wcykpO1xuXG4gICAgX3RoaXMuX2ZvcmNlRmxhZyA9IGZhbHNlO1xuICAgIHJldHVybiBfdGhpcztcbiAgfVxuXG4gIERyYWZ0RWRpdG9yVGV4dE5vZGUucHJvdG90eXBlLnNob3VsZENvbXBvbmVudFVwZGF0ZSA9IGZ1bmN0aW9uIHNob3VsZENvbXBvbmVudFVwZGF0ZShuZXh0UHJvcHMpIHtcbiAgICB2YXIgbm9kZSA9IFJlYWN0RE9NLmZpbmRET01Ob2RlKHRoaXMpO1xuICAgIHZhciBzaG91bGRCZU5ld2xpbmUgPSBuZXh0UHJvcHMuY2hpbGRyZW4gPT09ICcnO1xuICAgICEobm9kZSBpbnN0YW5jZW9mIEVsZW1lbnQpID8gcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyA/IGludmFyaWFudChmYWxzZSwgJ25vZGUgaXMgbm90IGFuIEVsZW1lbnQnKSA6IGludmFyaWFudChmYWxzZSkgOiB2b2lkIDA7XG4gICAgaWYgKHNob3VsZEJlTmV3bGluZSkge1xuICAgICAgcmV0dXJuICFpc05ld2xpbmUobm9kZSk7XG4gICAgfVxuICAgIHJldHVybiBub2RlLnRleHRDb250ZW50ICE9PSBuZXh0UHJvcHMuY2hpbGRyZW47XG4gIH07XG5cbiAgRHJhZnRFZGl0b3JUZXh0Tm9kZS5wcm90b3R5cGUuY29tcG9uZW50RGlkTW91bnQgPSBmdW5jdGlvbiBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICB0aGlzLl9mb3JjZUZsYWcgPSAhdGhpcy5fZm9yY2VGbGFnO1xuICB9O1xuXG4gIERyYWZ0RWRpdG9yVGV4dE5vZGUucHJvdG90eXBlLmNvbXBvbmVudERpZFVwZGF0ZSA9IGZ1bmN0aW9uIGNvbXBvbmVudERpZFVwZGF0ZSgpIHtcbiAgICB0aGlzLl9mb3JjZUZsYWcgPSAhdGhpcy5fZm9yY2VGbGFnO1xuICB9O1xuXG4gIERyYWZ0RWRpdG9yVGV4dE5vZGUucHJvdG90eXBlLnJlbmRlciA9IGZ1bmN0aW9uIHJlbmRlcigpIHtcbiAgICBpZiAodGhpcy5wcm9wcy5jaGlsZHJlbiA9PT0gJycpIHtcbiAgICAgIHJldHVybiB0aGlzLl9mb3JjZUZsYWcgPyBORVdMSU5FX0EgOiBORVdMSU5FX0I7XG4gICAgfVxuICAgIHJldHVybiBSZWFjdC5jcmVhdGVFbGVtZW50KFxuICAgICAgJ3NwYW4nLFxuICAgICAgeyBrZXk6IHRoaXMuX2ZvcmNlRmxhZyA/ICdBJyA6ICdCJywgJ2RhdGEtdGV4dCc6ICd0cnVlJyB9LFxuICAgICAgdGhpcy5wcm9wcy5jaGlsZHJlblxuICAgICk7XG4gIH07XG5cbiAgcmV0dXJuIERyYWZ0RWRpdG9yVGV4dE5vZGU7XG59KFJlYWN0LkNvbXBvbmVudCk7XG5cbm1vZHVsZS5leHBvcnRzID0gRHJhZnRFZGl0b3JUZXh0Tm9kZTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/DraftEditorTextNode.react.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar React = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n\nvar UserAgent = __webpack_require__(/*! fbjs/lib/UserAgent */ \"./node_modules/fbjs/lib/UserAgent.js\");\n\nvar invariant = __webpack_require__(/*! fbjs/lib/invariant */ \"./node_modules/fbjs/lib/invariant.js\");\n\nvar isElement = __webpack_require__(/*! ./isElement */ \"./node_modules/draft-js/lib/isElement.js\"); // In IE, spans with
tags render as two newlines. By rendering a span\n// with only a newline character, we can be sure to render a single line.\n\n\nvar useNewlineChar = UserAgent.isBrowser('IE <= 11');\n/**\n * Check whether the node should be considered a newline.\n */\n\nfunction isNewline(node) {\n return useNewlineChar ? node.textContent === '\\n' : node.tagName === 'BR';\n}\n/**\n * Placeholder elements for empty text content.\n *\n * What is this `data-text` attribute, anyway? It turns out that we need to\n * put an attribute on the lowest-level text node in order to preserve correct\n * spellcheck handling. If the is naked, Chrome and Safari may do\n * bizarre things to do the DOM -- split text nodes, create extra spans, etc.\n * If the has an attribute, this appears not to happen.\n * See http://jsfiddle.net/9khdavod/ for the failure case, and\n * http://jsfiddle.net/7pg143f7/ for the fixed case.\n */\n\n\nvar NEWLINE_A = function NEWLINE_A(ref) {\n return useNewlineChar ? React.createElement(\"span\", {\n key: \"A\",\n \"data-text\": \"true\",\n ref: ref\n }, '\\n') : React.createElement(\"br\", {\n key: \"A\",\n \"data-text\": \"true\",\n ref: ref\n });\n};\n\nvar NEWLINE_B = function NEWLINE_B(ref) {\n return useNewlineChar ? React.createElement(\"span\", {\n key: \"B\",\n \"data-text\": \"true\",\n ref: ref\n }, '\\n') : React.createElement(\"br\", {\n key: \"B\",\n \"data-text\": \"true\",\n ref: ref\n });\n};\n\n/**\n * The lowest-level component in a `DraftEditor`, the text node component\n * replaces the default React text node implementation. This allows us to\n * perform custom handling of newline behavior and avoid re-rendering text\n * nodes with DOM state that already matches the expectations of our immutable\n * editor state.\n */\nvar DraftEditorTextNode =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(DraftEditorTextNode, _React$Component);\n\n function DraftEditorTextNode(props) {\n var _this;\n\n _this = _React$Component.call(this, props) || this; // By flipping this flag, we also keep flipping keys which forces\n // React to remount this node every time it rerenders.\n\n _defineProperty(_assertThisInitialized(_this), \"_forceFlag\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"_node\", void 0);\n\n _this._forceFlag = false;\n return _this;\n }\n\n var _proto = DraftEditorTextNode.prototype;\n\n _proto.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {\n var node = this._node;\n var shouldBeNewline = nextProps.children === '';\n !isElement(node) ? true ? invariant(false, 'node is not an Element') : undefined : void 0;\n var elementNode = node;\n\n if (shouldBeNewline) {\n return !isNewline(elementNode);\n }\n\n return elementNode.textContent !== nextProps.children;\n };\n\n _proto.componentDidMount = function componentDidMount() {\n this._forceFlag = !this._forceFlag;\n };\n\n _proto.componentDidUpdate = function componentDidUpdate() {\n this._forceFlag = !this._forceFlag;\n };\n\n _proto.render = function render() {\n var _this2 = this;\n\n if (this.props.children === '') {\n return this._forceFlag ? NEWLINE_A(function (ref) {\n return _this2._node = ref;\n }) : NEWLINE_B(function (ref) {\n return _this2._node = ref;\n });\n }\n\n return React.createElement(\"span\", {\n key: this._forceFlag ? 'A' : 'B',\n \"data-text\": \"true\",\n ref: function ref(_ref) {\n return _this2._node = _ref;\n }\n }, this.props.children);\n };\n\n return DraftEditorTextNode;\n}(React.Component);\n\nmodule.exports = DraftEditorTextNode;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0RyYWZ0RWRpdG9yVGV4dE5vZGUucmVhY3QuanM/NThiMSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNhOztBQUViLHVDQUF1Qyx1QkFBdUIsdUZBQXVGLEVBQUUsYUFBYTs7QUFFcEssK0NBQStDLDBEQUEwRCwyQ0FBMkMsaUNBQWlDOztBQUVyTCwyQ0FBMkMsa0JBQWtCLGtDQUFrQyxxRUFBcUUsRUFBRSxFQUFFLE9BQU8sa0JBQWtCLEVBQUUsWUFBWTs7QUFFL00sWUFBWSxtQkFBTyxDQUFDLDRDQUFPOztBQUUzQixnQkFBZ0IsbUJBQU8sQ0FBQyxnRUFBb0I7O0FBRTVDLGdCQUFnQixtQkFBTyxDQUFDLGdFQUFvQjs7QUFFNUMsZ0JBQWdCLG1CQUFPLENBQUMsNkRBQWEsRUFBRTtBQUN2Qzs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBLHVEQUF1RDtBQUN2RDs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCLEtBQXFDLGdEQUFnRCxTQUFnQjtBQUM1SDs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsT0FBTztBQUNQOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBLENBQUM7O0FBRUQiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0RyYWZ0RWRpdG9yVGV4dE5vZGUucmVhY3QuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgRmFjZWJvb2ssIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIEBmb3JtYXRcbiAqIFxuICogQGVtYWlscyBvbmNhbGwrZHJhZnRfanNcbiAqL1xuJ3VzZSBzdHJpY3QnO1xuXG5mdW5jdGlvbiBfYXNzZXJ0VGhpc0luaXRpYWxpemVkKHNlbGYpIHsgaWYgKHNlbGYgPT09IHZvaWQgMCkgeyB0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoXCJ0aGlzIGhhc24ndCBiZWVuIGluaXRpYWxpc2VkIC0gc3VwZXIoKSBoYXNuJ3QgYmVlbiBjYWxsZWRcIik7IH0gcmV0dXJuIHNlbGY7IH1cblxuZnVuY3Rpb24gX2luaGVyaXRzTG9vc2Uoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpIHsgc3ViQ2xhc3MucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShzdXBlckNsYXNzLnByb3RvdHlwZSk7IHN1YkNsYXNzLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IHN1YkNsYXNzOyBzdWJDbGFzcy5fX3Byb3RvX18gPSBzdXBlckNsYXNzOyB9XG5cbmZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgdmFsdWUpIHsgaWYgKGtleSBpbiBvYmopIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwga2V5LCB7IHZhbHVlOiB2YWx1ZSwgZW51bWVyYWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCB3cml0YWJsZTogdHJ1ZSB9KTsgfSBlbHNlIHsgb2JqW2tleV0gPSB2YWx1ZTsgfSByZXR1cm4gb2JqOyB9XG5cbnZhciBSZWFjdCA9IHJlcXVpcmUoXCJyZWFjdFwiKTtcblxudmFyIFVzZXJBZ2VudCA9IHJlcXVpcmUoXCJmYmpzL2xpYi9Vc2VyQWdlbnRcIik7XG5cbnZhciBpbnZhcmlhbnQgPSByZXF1aXJlKFwiZmJqcy9saWIvaW52YXJpYW50XCIpO1xuXG52YXIgaXNFbGVtZW50ID0gcmVxdWlyZShcIi4vaXNFbGVtZW50XCIpOyAvLyBJbiBJRSwgc3BhbnMgd2l0aCA8YnI+IHRhZ3MgcmVuZGVyIGFzIHR3byBuZXdsaW5lcy4gQnkgcmVuZGVyaW5nIGEgc3BhblxuLy8gd2l0aCBvbmx5IGEgbmV3bGluZSBjaGFyYWN0ZXIsIHdlIGNhbiBiZSBzdXJlIHRvIHJlbmRlciBhIHNpbmdsZSBsaW5lLlxuXG5cbnZhciB1c2VOZXdsaW5lQ2hhciA9IFVzZXJBZ2VudC5pc0Jyb3dzZXIoJ0lFIDw9IDExJyk7XG4vKipcbiAqIENoZWNrIHdoZXRoZXIgdGhlIG5vZGUgc2hvdWxkIGJlIGNvbnNpZGVyZWQgYSBuZXdsaW5lLlxuICovXG5cbmZ1bmN0aW9uIGlzTmV3bGluZShub2RlKSB7XG4gIHJldHVybiB1c2VOZXdsaW5lQ2hhciA/IG5vZGUudGV4dENvbnRlbnQgPT09ICdcXG4nIDogbm9kZS50YWdOYW1lID09PSAnQlInO1xufVxuLyoqXG4gKiBQbGFjZWhvbGRlciBlbGVtZW50cyBmb3IgZW1wdHkgdGV4dCBjb250ZW50LlxuICpcbiAqIFdoYXQgaXMgdGhpcyBgZGF0YS10ZXh0YCBhdHRyaWJ1dGUsIGFueXdheT8gSXQgdHVybnMgb3V0IHRoYXQgd2UgbmVlZCB0b1xuICogcHV0IGFuIGF0dHJpYnV0ZSBvbiB0aGUgbG93ZXN0LWxldmVsIHRleHQgbm9kZSBpbiBvcmRlciB0byBwcmVzZXJ2ZSBjb3JyZWN0XG4gKiBzcGVsbGNoZWNrIGhhbmRsaW5nLiBJZiB0aGUgPHNwYW4+IGlzIG5ha2VkLCBDaHJvbWUgYW5kIFNhZmFyaSBtYXkgZG9cbiAqIGJpemFycmUgdGhpbmdzIHRvIGRvIHRoZSBET00gLS0gc3BsaXQgdGV4dCBub2RlcywgY3JlYXRlIGV4dHJhIHNwYW5zLCBldGMuXG4gKiBJZiB0aGUgPHNwYW4+IGhhcyBhbiBhdHRyaWJ1dGUsIHRoaXMgYXBwZWFycyBub3QgdG8gaGFwcGVuLlxuICogU2VlIGh0dHA6Ly9qc2ZpZGRsZS5uZXQvOWtoZGF2b2QvIGZvciB0aGUgZmFpbHVyZSBjYXNlLCBhbmRcbiAqIGh0dHA6Ly9qc2ZpZGRsZS5uZXQvN3BnMTQzZjcvIGZvciB0aGUgZml4ZWQgY2FzZS5cbiAqL1xuXG5cbnZhciBORVdMSU5FX0EgPSBmdW5jdGlvbiBORVdMSU5FX0EocmVmKSB7XG4gIHJldHVybiB1c2VOZXdsaW5lQ2hhciA/IFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIsIHtcbiAgICBrZXk6IFwiQVwiLFxuICAgIFwiZGF0YS10ZXh0XCI6IFwidHJ1ZVwiLFxuICAgIHJlZjogcmVmXG4gIH0sICdcXG4nKSA6IFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJiclwiLCB7XG4gICAga2V5OiBcIkFcIixcbiAgICBcImRhdGEtdGV4dFwiOiBcInRydWVcIixcbiAgICByZWY6IHJlZlxuICB9KTtcbn07XG5cbnZhciBORVdMSU5FX0IgPSBmdW5jdGlvbiBORVdMSU5FX0IocmVmKSB7XG4gIHJldHVybiB1c2VOZXdsaW5lQ2hhciA/IFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIsIHtcbiAgICBrZXk6IFwiQlwiLFxuICAgIFwiZGF0YS10ZXh0XCI6IFwidHJ1ZVwiLFxuICAgIHJlZjogcmVmXG4gIH0sICdcXG4nKSA6IFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJiclwiLCB7XG4gICAga2V5OiBcIkJcIixcbiAgICBcImRhdGEtdGV4dFwiOiBcInRydWVcIixcbiAgICByZWY6IHJlZlxuICB9KTtcbn07XG5cbi8qKlxuICogVGhlIGxvd2VzdC1sZXZlbCBjb21wb25lbnQgaW4gYSBgRHJhZnRFZGl0b3JgLCB0aGUgdGV4dCBub2RlIGNvbXBvbmVudFxuICogcmVwbGFjZXMgdGhlIGRlZmF1bHQgUmVhY3QgdGV4dCBub2RlIGltcGxlbWVudGF0aW9uLiBUaGlzIGFsbG93cyB1cyB0b1xuICogcGVyZm9ybSBjdXN0b20gaGFuZGxpbmcgb2YgbmV3bGluZSBiZWhhdmlvciBhbmQgYXZvaWQgcmUtcmVuZGVyaW5nIHRleHRcbiAqIG5vZGVzIHdpdGggRE9NIHN0YXRlIHRoYXQgYWxyZWFkeSBtYXRjaGVzIHRoZSBleHBlY3RhdGlvbnMgb2Ygb3VyIGltbXV0YWJsZVxuICogZWRpdG9yIHN0YXRlLlxuICovXG52YXIgRHJhZnRFZGl0b3JUZXh0Tm9kZSA9XG4vKiNfX1BVUkVfXyovXG5mdW5jdGlvbiAoX1JlYWN0JENvbXBvbmVudCkge1xuICBfaW5oZXJpdHNMb29zZShEcmFmdEVkaXRvclRleHROb2RlLCBfUmVhY3QkQ29tcG9uZW50KTtcblxuICBmdW5jdGlvbiBEcmFmdEVkaXRvclRleHROb2RlKHByb3BzKSB7XG4gICAgdmFyIF90aGlzO1xuXG4gICAgX3RoaXMgPSBfUmVhY3QkQ29tcG9uZW50LmNhbGwodGhpcywgcHJvcHMpIHx8IHRoaXM7IC8vIEJ5IGZsaXBwaW5nIHRoaXMgZmxhZywgd2UgYWxzbyBrZWVwIGZsaXBwaW5nIGtleXMgd2hpY2ggZm9yY2VzXG4gICAgLy8gUmVhY3QgdG8gcmVtb3VudCB0aGlzIG5vZGUgZXZlcnkgdGltZSBpdCByZXJlbmRlcnMuXG5cbiAgICBfZGVmaW5lUHJvcGVydHkoX2Fzc2VydFRoaXNJbml0aWFsaXplZChfdGhpcyksIFwiX2ZvcmNlRmxhZ1wiLCB2b2lkIDApO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpLCBcIl9ub2RlXCIsIHZvaWQgMCk7XG5cbiAgICBfdGhpcy5fZm9yY2VGbGFnID0gZmFsc2U7XG4gICAgcmV0dXJuIF90aGlzO1xuICB9XG5cbiAgdmFyIF9wcm90byA9IERyYWZ0RWRpdG9yVGV4dE5vZGUucHJvdG90eXBlO1xuXG4gIF9wcm90by5zaG91bGRDb21wb25lbnRVcGRhdGUgPSBmdW5jdGlvbiBzaG91bGRDb21wb25lbnRVcGRhdGUobmV4dFByb3BzKSB7XG4gICAgdmFyIG5vZGUgPSB0aGlzLl9ub2RlO1xuICAgIHZhciBzaG91bGRCZU5ld2xpbmUgPSBuZXh0UHJvcHMuY2hpbGRyZW4gPT09ICcnO1xuICAgICFpc0VsZW1lbnQobm9kZSkgPyBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIgPyBpbnZhcmlhbnQoZmFsc2UsICdub2RlIGlzIG5vdCBhbiBFbGVtZW50JykgOiBpbnZhcmlhbnQoZmFsc2UpIDogdm9pZCAwO1xuICAgIHZhciBlbGVtZW50Tm9kZSA9IG5vZGU7XG5cbiAgICBpZiAoc2hvdWxkQmVOZXdsaW5lKSB7XG4gICAgICByZXR1cm4gIWlzTmV3bGluZShlbGVtZW50Tm9kZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGVsZW1lbnROb2RlLnRleHRDb250ZW50ICE9PSBuZXh0UHJvcHMuY2hpbGRyZW47XG4gIH07XG5cbiAgX3Byb3RvLmNvbXBvbmVudERpZE1vdW50ID0gZnVuY3Rpb24gY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgdGhpcy5fZm9yY2VGbGFnID0gIXRoaXMuX2ZvcmNlRmxhZztcbiAgfTtcblxuICBfcHJvdG8uY29tcG9uZW50RGlkVXBkYXRlID0gZnVuY3Rpb24gY29tcG9uZW50RGlkVXBkYXRlKCkge1xuICAgIHRoaXMuX2ZvcmNlRmxhZyA9ICF0aGlzLl9mb3JjZUZsYWc7XG4gIH07XG5cbiAgX3Byb3RvLnJlbmRlciA9IGZ1bmN0aW9uIHJlbmRlcigpIHtcbiAgICB2YXIgX3RoaXMyID0gdGhpcztcblxuICAgIGlmICh0aGlzLnByb3BzLmNoaWxkcmVuID09PSAnJykge1xuICAgICAgcmV0dXJuIHRoaXMuX2ZvcmNlRmxhZyA/IE5FV0xJTkVfQShmdW5jdGlvbiAocmVmKSB7XG4gICAgICAgIHJldHVybiBfdGhpczIuX25vZGUgPSByZWY7XG4gICAgICB9KSA6IE5FV0xJTkVfQihmdW5jdGlvbiAocmVmKSB7XG4gICAgICAgIHJldHVybiBfdGhpczIuX25vZGUgPSByZWY7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChcInNwYW5cIiwge1xuICAgICAga2V5OiB0aGlzLl9mb3JjZUZsYWcgPyAnQScgOiAnQicsXG4gICAgICBcImRhdGEtdGV4dFwiOiBcInRydWVcIixcbiAgICAgIHJlZjogZnVuY3Rpb24gcmVmKF9yZWYpIHtcbiAgICAgICAgcmV0dXJuIF90aGlzMi5fbm9kZSA9IF9yZWY7XG4gICAgICB9XG4gICAgfSwgdGhpcy5wcm9wcy5jaGlsZHJlbik7XG4gIH07XG5cbiAgcmV0dXJuIERyYWZ0RWRpdG9yVGV4dE5vZGU7XG59KFJlYWN0LkNvbXBvbmVudCk7XG5cbm1vZHVsZS5leHBvcnRzID0gRHJhZnRFZGl0b3JUZXh0Tm9kZTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/DraftEditorTextNode.react.js\n"); + +/***/ }), + +/***/ "./node_modules/draft-js/lib/DraftEffects.js": +/*!***************************************************!*\ + !*** ./node_modules/draft-js/lib/DraftEffects.js ***! + \***************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n\nmodule.exports = {\n initODS: function initODS() {},\n handleExtensionCausedError: function handleExtensionCausedError() {}\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0RyYWZ0RWZmZWN0cy5qcz85YmJlIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ2E7O0FBRWI7QUFDQSxnQ0FBZ0M7QUFDaEM7QUFDQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvRHJhZnRFZmZlY3RzLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIEZhY2Vib29rLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKi9cbid1c2Ugc3RyaWN0JztcblxubW9kdWxlLmV4cG9ydHMgPSB7XG4gIGluaXRPRFM6IGZ1bmN0aW9uIGluaXRPRFMoKSB7fSxcbiAgaGFuZGxlRXh0ZW5zaW9uQ2F1c2VkRXJyb3I6IGZ1bmN0aW9uIGhhbmRsZUV4dGVuc2lvbkNhdXNlZEVycm9yKCkge31cbn07Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/DraftEffects.js\n"); /***/ }), @@ -283,7 +366,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\nvar _assign = __webpack_require__(/*! object-assign */ \"./node_modules/object-assign/index.js\");\n\nvar _extends = _assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule DraftEntity\n * @format\n * \n */\n\nvar DraftEntityInstance = __webpack_require__(/*! ./DraftEntityInstance */ \"./node_modules/draft-js/lib/DraftEntityInstance.js\");\nvar Immutable = __webpack_require__(/*! immutable */ \"./node_modules/draft-js/node_modules/immutable/dist/immutable.js\");\n\nvar invariant = __webpack_require__(/*! fbjs/lib/invariant */ \"./node_modules/fbjs/lib/invariant.js\");\n\nvar Map = Immutable.Map;\n\n\nvar instances = Map();\nvar instanceKey = 0;\n\n/**\n * Temporary utility for generating the warnings\n */\nfunction logWarning(oldMethodCall, newMethodCall) {\n console.warn('WARNING: ' + oldMethodCall + ' will be deprecated soon!\\nPlease use \"' + newMethodCall + '\" instead.');\n}\n\n/**\n * A \"document entity\" is an object containing metadata associated with a\n * piece of text in a ContentBlock.\n *\n * For example, a `link` entity might include a `uri` property. When a\n * ContentBlock is rendered in the browser, text that refers to that link\n * entity may be rendered as an anchor, with the `uri` as the href value.\n *\n * In a ContentBlock, every position in the text may correspond to zero\n * or one entities. This correspondence is tracked using a key string,\n * generated via DraftEntity.create() and used to obtain entity metadata\n * via DraftEntity.get().\n */\nvar DraftEntity = {\n /**\n * WARNING: This method will be deprecated soon!\n * Please use 'contentState.getLastCreatedEntityKey' instead.\n * ---\n * Get the random key string from whatever entity was last created.\n * We need this to support the new API, as part of transitioning to put Entity\n * storage in contentState.\n */\n getLastCreatedEntityKey: function getLastCreatedEntityKey() {\n logWarning('DraftEntity.getLastCreatedEntityKey', 'contentState.getLastCreatedEntityKey');\n return DraftEntity.__getLastCreatedEntityKey();\n },\n\n /**\n * WARNING: This method will be deprecated soon!\n * Please use 'contentState.createEntity' instead.\n * ---\n * Create a DraftEntityInstance and store it for later retrieval.\n *\n * A random key string will be generated and returned. This key may\n * be used to track the entity's usage in a ContentBlock, and for\n * retrieving data about the entity at render time.\n */\n create: function create(type, mutability, data) {\n logWarning('DraftEntity.create', 'contentState.createEntity');\n return DraftEntity.__create(type, mutability, data);\n },\n\n /**\n * WARNING: This method will be deprecated soon!\n * Please use 'contentState.addEntity' instead.\n * ---\n * Add an existing DraftEntityInstance to the DraftEntity map. This is\n * useful when restoring instances from the server.\n */\n add: function add(instance) {\n logWarning('DraftEntity.add', 'contentState.addEntity');\n return DraftEntity.__add(instance);\n },\n\n /**\n * WARNING: This method will be deprecated soon!\n * Please use 'contentState.getEntity' instead.\n * ---\n * Retrieve the entity corresponding to the supplied key string.\n */\n get: function get(key) {\n logWarning('DraftEntity.get', 'contentState.getEntity');\n return DraftEntity.__get(key);\n },\n\n /**\n * WARNING: This method will be deprecated soon!\n * Please use 'contentState.mergeEntityData' instead.\n * ---\n * Entity instances are immutable. If you need to update the data for an\n * instance, this method will merge your data updates and return a new\n * instance.\n */\n mergeData: function mergeData(key, toMerge) {\n logWarning('DraftEntity.mergeData', 'contentState.mergeEntityData');\n return DraftEntity.__mergeData(key, toMerge);\n },\n\n /**\n * WARNING: This method will be deprecated soon!\n * Please use 'contentState.replaceEntityData' instead.\n * ---\n * Completely replace the data for a given instance.\n */\n replaceData: function replaceData(key, newData) {\n logWarning('DraftEntity.replaceData', 'contentState.replaceEntityData');\n return DraftEntity.__replaceData(key, newData);\n },\n\n // ***********************************WARNING******************************\n // --- the above public API will be deprecated in the next version of Draft!\n // The methods below this line are private - don't call them directly.\n\n /**\n * Get the random key string from whatever entity was last created.\n * We need this to support the new API, as part of transitioning to put Entity\n * storage in contentState.\n */\n __getLastCreatedEntityKey: function __getLastCreatedEntityKey() {\n return '' + instanceKey;\n },\n\n /**\n * Create a DraftEntityInstance and store it for later retrieval.\n *\n * A random key string will be generated and returned. This key may\n * be used to track the entity's usage in a ContentBlock, and for\n * retrieving data about the entity at render time.\n */\n __create: function __create(type, mutability, data) {\n return DraftEntity.__add(new DraftEntityInstance({ type: type, mutability: mutability, data: data || {} }));\n },\n\n /**\n * Add an existing DraftEntityInstance to the DraftEntity map. This is\n * useful when restoring instances from the server.\n */\n __add: function __add(instance) {\n var key = '' + ++instanceKey;\n instances = instances.set(key, instance);\n return key;\n },\n\n /**\n * Retrieve the entity corresponding to the supplied key string.\n */\n __get: function __get(key) {\n var instance = instances.get(key);\n !!!instance ? true ? invariant(false, 'Unknown DraftEntity key: %s.', key) : undefined : void 0;\n return instance;\n },\n\n /**\n * Entity instances are immutable. If you need to update the data for an\n * instance, this method will merge your data updates and return a new\n * instance.\n */\n __mergeData: function __mergeData(key, toMerge) {\n var instance = DraftEntity.__get(key);\n var newData = _extends({}, instance.getData(), toMerge);\n var newInstance = instance.set('data', newData);\n instances = instances.set(key, newInstance);\n return newInstance;\n },\n\n /**\n * Completely replace the data for a given instance.\n */\n __replaceData: function __replaceData(key, newData) {\n var instance = DraftEntity.__get(key);\n var newInstance = instance.set('data', newData);\n instances = instances.set(key, newInstance);\n return newInstance;\n }\n};\n\nmodule.exports = DraftEntity;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0RyYWZ0RW50aXR5LmpzPzRmMzUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWIsY0FBYyxtQkFBTyxDQUFDLDREQUFlOztBQUVyQyw2Q0FBNkMsZ0JBQWdCLHNCQUFzQixPQUFPLDJCQUEyQiwwQkFBMEIseURBQXlELDJCQUEyQixFQUFFLEVBQUUsRUFBRSxlQUFlOztBQUV4UDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsMEJBQTBCLG1CQUFPLENBQUMsaUZBQXVCO0FBQ3pELGdCQUFnQixtQkFBTyxDQUFDLG1GQUFXOztBQUVuQyxnQkFBZ0IsbUJBQU8sQ0FBQyxnRUFBb0I7O0FBRTVDOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0RBQXNELHFEQUFxRCxFQUFFO0FBQzdHLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQixLQUFxQywyREFBMkQsU0FBZ0I7QUFDbEk7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkJBQTZCO0FBQzdCO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0RyYWZ0RW50aXR5LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG52YXIgX2Fzc2lnbiA9IHJlcXVpcmUoJ29iamVjdC1hc3NpZ24nKTtcblxudmFyIF9leHRlbmRzID0gX2Fzc2lnbiB8fCBmdW5jdGlvbiAodGFyZ2V0KSB7IGZvciAodmFyIGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7IHZhciBzb3VyY2UgPSBhcmd1bWVudHNbaV07IGZvciAodmFyIGtleSBpbiBzb3VyY2UpIHsgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzb3VyY2UsIGtleSkpIHsgdGFyZ2V0W2tleV0gPSBzb3VyY2Vba2V5XTsgfSB9IH0gcmV0dXJuIHRhcmdldDsgfTtcblxuLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQlNELXN0eWxlIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuIEFuIGFkZGl0aW9uYWwgZ3JhbnRcbiAqIG9mIHBhdGVudCByaWdodHMgY2FuIGJlIGZvdW5kIGluIHRoZSBQQVRFTlRTIGZpbGUgaW4gdGhlIHNhbWUgZGlyZWN0b3J5LlxuICpcbiAqIEBwcm92aWRlc01vZHVsZSBEcmFmdEVudGl0eVxuICogQGZvcm1hdFxuICogXG4gKi9cblxudmFyIERyYWZ0RW50aXR5SW5zdGFuY2UgPSByZXF1aXJlKCcuL0RyYWZ0RW50aXR5SW5zdGFuY2UnKTtcbnZhciBJbW11dGFibGUgPSByZXF1aXJlKCdpbW11dGFibGUnKTtcblxudmFyIGludmFyaWFudCA9IHJlcXVpcmUoJ2ZianMvbGliL2ludmFyaWFudCcpO1xuXG52YXIgTWFwID0gSW1tdXRhYmxlLk1hcDtcblxuXG52YXIgaW5zdGFuY2VzID0gTWFwKCk7XG52YXIgaW5zdGFuY2VLZXkgPSAwO1xuXG4vKipcbiAqIFRlbXBvcmFyeSB1dGlsaXR5IGZvciBnZW5lcmF0aW5nIHRoZSB3YXJuaW5nc1xuICovXG5mdW5jdGlvbiBsb2dXYXJuaW5nKG9sZE1ldGhvZENhbGwsIG5ld01ldGhvZENhbGwpIHtcbiAgY29uc29sZS53YXJuKCdXQVJOSU5HOiAnICsgb2xkTWV0aG9kQ2FsbCArICcgd2lsbCBiZSBkZXByZWNhdGVkIHNvb24hXFxuUGxlYXNlIHVzZSBcIicgKyBuZXdNZXRob2RDYWxsICsgJ1wiIGluc3RlYWQuJyk7XG59XG5cbi8qKlxuICogQSBcImRvY3VtZW50IGVudGl0eVwiIGlzIGFuIG9iamVjdCBjb250YWluaW5nIG1ldGFkYXRhIGFzc29jaWF0ZWQgd2l0aCBhXG4gKiBwaWVjZSBvZiB0ZXh0IGluIGEgQ29udGVudEJsb2NrLlxuICpcbiAqIEZvciBleGFtcGxlLCBhIGBsaW5rYCBlbnRpdHkgbWlnaHQgaW5jbHVkZSBhIGB1cmlgIHByb3BlcnR5LiBXaGVuIGFcbiAqIENvbnRlbnRCbG9jayBpcyByZW5kZXJlZCBpbiB0aGUgYnJvd3NlciwgdGV4dCB0aGF0IHJlZmVycyB0byB0aGF0IGxpbmtcbiAqIGVudGl0eSBtYXkgYmUgcmVuZGVyZWQgYXMgYW4gYW5jaG9yLCB3aXRoIHRoZSBgdXJpYCBhcyB0aGUgaHJlZiB2YWx1ZS5cbiAqXG4gKiBJbiBhIENvbnRlbnRCbG9jaywgZXZlcnkgcG9zaXRpb24gaW4gdGhlIHRleHQgbWF5IGNvcnJlc3BvbmQgdG8gemVyb1xuICogb3Igb25lIGVudGl0aWVzLiBUaGlzIGNvcnJlc3BvbmRlbmNlIGlzIHRyYWNrZWQgdXNpbmcgYSBrZXkgc3RyaW5nLFxuICogZ2VuZXJhdGVkIHZpYSBEcmFmdEVudGl0eS5jcmVhdGUoKSBhbmQgdXNlZCB0byBvYnRhaW4gZW50aXR5IG1ldGFkYXRhXG4gKiB2aWEgRHJhZnRFbnRpdHkuZ2V0KCkuXG4gKi9cbnZhciBEcmFmdEVudGl0eSA9IHtcbiAgLyoqXG4gICAqIFdBUk5JTkc6IFRoaXMgbWV0aG9kIHdpbGwgYmUgZGVwcmVjYXRlZCBzb29uIVxuICAgKiBQbGVhc2UgdXNlICdjb250ZW50U3RhdGUuZ2V0TGFzdENyZWF0ZWRFbnRpdHlLZXknIGluc3RlYWQuXG4gICAqIC0tLVxuICAgKiBHZXQgdGhlIHJhbmRvbSBrZXkgc3RyaW5nIGZyb20gd2hhdGV2ZXIgZW50aXR5IHdhcyBsYXN0IGNyZWF0ZWQuXG4gICAqIFdlIG5lZWQgdGhpcyB0byBzdXBwb3J0IHRoZSBuZXcgQVBJLCBhcyBwYXJ0IG9mIHRyYW5zaXRpb25pbmcgdG8gcHV0IEVudGl0eVxuICAgKiBzdG9yYWdlIGluIGNvbnRlbnRTdGF0ZS5cbiAgICovXG4gIGdldExhc3RDcmVhdGVkRW50aXR5S2V5OiBmdW5jdGlvbiBnZXRMYXN0Q3JlYXRlZEVudGl0eUtleSgpIHtcbiAgICBsb2dXYXJuaW5nKCdEcmFmdEVudGl0eS5nZXRMYXN0Q3JlYXRlZEVudGl0eUtleScsICdjb250ZW50U3RhdGUuZ2V0TGFzdENyZWF0ZWRFbnRpdHlLZXknKTtcbiAgICByZXR1cm4gRHJhZnRFbnRpdHkuX19nZXRMYXN0Q3JlYXRlZEVudGl0eUtleSgpO1xuICB9LFxuXG4gIC8qKlxuICAgKiBXQVJOSU5HOiBUaGlzIG1ldGhvZCB3aWxsIGJlIGRlcHJlY2F0ZWQgc29vbiFcbiAgICogUGxlYXNlIHVzZSAnY29udGVudFN0YXRlLmNyZWF0ZUVudGl0eScgaW5zdGVhZC5cbiAgICogLS0tXG4gICAqIENyZWF0ZSBhIERyYWZ0RW50aXR5SW5zdGFuY2UgYW5kIHN0b3JlIGl0IGZvciBsYXRlciByZXRyaWV2YWwuXG4gICAqXG4gICAqIEEgcmFuZG9tIGtleSBzdHJpbmcgd2lsbCBiZSBnZW5lcmF0ZWQgYW5kIHJldHVybmVkLiBUaGlzIGtleSBtYXlcbiAgICogYmUgdXNlZCB0byB0cmFjayB0aGUgZW50aXR5J3MgdXNhZ2UgaW4gYSBDb250ZW50QmxvY2ssIGFuZCBmb3JcbiAgICogcmV0cmlldmluZyBkYXRhIGFib3V0IHRoZSBlbnRpdHkgYXQgcmVuZGVyIHRpbWUuXG4gICAqL1xuICBjcmVhdGU6IGZ1bmN0aW9uIGNyZWF0ZSh0eXBlLCBtdXRhYmlsaXR5LCBkYXRhKSB7XG4gICAgbG9nV2FybmluZygnRHJhZnRFbnRpdHkuY3JlYXRlJywgJ2NvbnRlbnRTdGF0ZS5jcmVhdGVFbnRpdHknKTtcbiAgICByZXR1cm4gRHJhZnRFbnRpdHkuX19jcmVhdGUodHlwZSwgbXV0YWJpbGl0eSwgZGF0YSk7XG4gIH0sXG5cbiAgLyoqXG4gICAqIFdBUk5JTkc6IFRoaXMgbWV0aG9kIHdpbGwgYmUgZGVwcmVjYXRlZCBzb29uIVxuICAgKiBQbGVhc2UgdXNlICdjb250ZW50U3RhdGUuYWRkRW50aXR5JyBpbnN0ZWFkLlxuICAgKiAtLS1cbiAgICogQWRkIGFuIGV4aXN0aW5nIERyYWZ0RW50aXR5SW5zdGFuY2UgdG8gdGhlIERyYWZ0RW50aXR5IG1hcC4gVGhpcyBpc1xuICAgKiB1c2VmdWwgd2hlbiByZXN0b3JpbmcgaW5zdGFuY2VzIGZyb20gdGhlIHNlcnZlci5cbiAgICovXG4gIGFkZDogZnVuY3Rpb24gYWRkKGluc3RhbmNlKSB7XG4gICAgbG9nV2FybmluZygnRHJhZnRFbnRpdHkuYWRkJywgJ2NvbnRlbnRTdGF0ZS5hZGRFbnRpdHknKTtcbiAgICByZXR1cm4gRHJhZnRFbnRpdHkuX19hZGQoaW5zdGFuY2UpO1xuICB9LFxuXG4gIC8qKlxuICAgKiBXQVJOSU5HOiBUaGlzIG1ldGhvZCB3aWxsIGJlIGRlcHJlY2F0ZWQgc29vbiFcbiAgICogUGxlYXNlIHVzZSAnY29udGVudFN0YXRlLmdldEVudGl0eScgaW5zdGVhZC5cbiAgICogLS0tXG4gICAqIFJldHJpZXZlIHRoZSBlbnRpdHkgY29ycmVzcG9uZGluZyB0byB0aGUgc3VwcGxpZWQga2V5IHN0cmluZy5cbiAgICovXG4gIGdldDogZnVuY3Rpb24gZ2V0KGtleSkge1xuICAgIGxvZ1dhcm5pbmcoJ0RyYWZ0RW50aXR5LmdldCcsICdjb250ZW50U3RhdGUuZ2V0RW50aXR5Jyk7XG4gICAgcmV0dXJuIERyYWZ0RW50aXR5Ll9fZ2V0KGtleSk7XG4gIH0sXG5cbiAgLyoqXG4gICAqIFdBUk5JTkc6IFRoaXMgbWV0aG9kIHdpbGwgYmUgZGVwcmVjYXRlZCBzb29uIVxuICAgKiBQbGVhc2UgdXNlICdjb250ZW50U3RhdGUubWVyZ2VFbnRpdHlEYXRhJyBpbnN0ZWFkLlxuICAgKiAtLS1cbiAgICogRW50aXR5IGluc3RhbmNlcyBhcmUgaW1tdXRhYmxlLiBJZiB5b3UgbmVlZCB0byB1cGRhdGUgdGhlIGRhdGEgZm9yIGFuXG4gICAqIGluc3RhbmNlLCB0aGlzIG1ldGhvZCB3aWxsIG1lcmdlIHlvdXIgZGF0YSB1cGRhdGVzIGFuZCByZXR1cm4gYSBuZXdcbiAgICogaW5zdGFuY2UuXG4gICAqL1xuICBtZXJnZURhdGE6IGZ1bmN0aW9uIG1lcmdlRGF0YShrZXksIHRvTWVyZ2UpIHtcbiAgICBsb2dXYXJuaW5nKCdEcmFmdEVudGl0eS5tZXJnZURhdGEnLCAnY29udGVudFN0YXRlLm1lcmdlRW50aXR5RGF0YScpO1xuICAgIHJldHVybiBEcmFmdEVudGl0eS5fX21lcmdlRGF0YShrZXksIHRvTWVyZ2UpO1xuICB9LFxuXG4gIC8qKlxuICAgKiBXQVJOSU5HOiBUaGlzIG1ldGhvZCB3aWxsIGJlIGRlcHJlY2F0ZWQgc29vbiFcbiAgICogUGxlYXNlIHVzZSAnY29udGVudFN0YXRlLnJlcGxhY2VFbnRpdHlEYXRhJyBpbnN0ZWFkLlxuICAgKiAtLS1cbiAgICogQ29tcGxldGVseSByZXBsYWNlIHRoZSBkYXRhIGZvciBhIGdpdmVuIGluc3RhbmNlLlxuICAgKi9cbiAgcmVwbGFjZURhdGE6IGZ1bmN0aW9uIHJlcGxhY2VEYXRhKGtleSwgbmV3RGF0YSkge1xuICAgIGxvZ1dhcm5pbmcoJ0RyYWZ0RW50aXR5LnJlcGxhY2VEYXRhJywgJ2NvbnRlbnRTdGF0ZS5yZXBsYWNlRW50aXR5RGF0YScpO1xuICAgIHJldHVybiBEcmFmdEVudGl0eS5fX3JlcGxhY2VEYXRhKGtleSwgbmV3RGF0YSk7XG4gIH0sXG5cbiAgLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipXQVJOSU5HKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIC8vIC0tLSB0aGUgYWJvdmUgcHVibGljIEFQSSB3aWxsIGJlIGRlcHJlY2F0ZWQgaW4gdGhlIG5leHQgdmVyc2lvbiBvZiBEcmFmdCFcbiAgLy8gVGhlIG1ldGhvZHMgYmVsb3cgdGhpcyBsaW5lIGFyZSBwcml2YXRlIC0gZG9uJ3QgY2FsbCB0aGVtIGRpcmVjdGx5LlxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIHJhbmRvbSBrZXkgc3RyaW5nIGZyb20gd2hhdGV2ZXIgZW50aXR5IHdhcyBsYXN0IGNyZWF0ZWQuXG4gICAqIFdlIG5lZWQgdGhpcyB0byBzdXBwb3J0IHRoZSBuZXcgQVBJLCBhcyBwYXJ0IG9mIHRyYW5zaXRpb25pbmcgdG8gcHV0IEVudGl0eVxuICAgKiBzdG9yYWdlIGluIGNvbnRlbnRTdGF0ZS5cbiAgICovXG4gIF9fZ2V0TGFzdENyZWF0ZWRFbnRpdHlLZXk6IGZ1bmN0aW9uIF9fZ2V0TGFzdENyZWF0ZWRFbnRpdHlLZXkoKSB7XG4gICAgcmV0dXJuICcnICsgaW5zdGFuY2VLZXk7XG4gIH0sXG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIERyYWZ0RW50aXR5SW5zdGFuY2UgYW5kIHN0b3JlIGl0IGZvciBsYXRlciByZXRyaWV2YWwuXG4gICAqXG4gICAqIEEgcmFuZG9tIGtleSBzdHJpbmcgd2lsbCBiZSBnZW5lcmF0ZWQgYW5kIHJldHVybmVkLiBUaGlzIGtleSBtYXlcbiAgICogYmUgdXNlZCB0byB0cmFjayB0aGUgZW50aXR5J3MgdXNhZ2UgaW4gYSBDb250ZW50QmxvY2ssIGFuZCBmb3JcbiAgICogcmV0cmlldmluZyBkYXRhIGFib3V0IHRoZSBlbnRpdHkgYXQgcmVuZGVyIHRpbWUuXG4gICAqL1xuICBfX2NyZWF0ZTogZnVuY3Rpb24gX19jcmVhdGUodHlwZSwgbXV0YWJpbGl0eSwgZGF0YSkge1xuICAgIHJldHVybiBEcmFmdEVudGl0eS5fX2FkZChuZXcgRHJhZnRFbnRpdHlJbnN0YW5jZSh7IHR5cGU6IHR5cGUsIG11dGFiaWxpdHk6IG11dGFiaWxpdHksIGRhdGE6IGRhdGEgfHwge30gfSkpO1xuICB9LFxuXG4gIC8qKlxuICAgKiBBZGQgYW4gZXhpc3RpbmcgRHJhZnRFbnRpdHlJbnN0YW5jZSB0byB0aGUgRHJhZnRFbnRpdHkgbWFwLiBUaGlzIGlzXG4gICAqIHVzZWZ1bCB3aGVuIHJlc3RvcmluZyBpbnN0YW5jZXMgZnJvbSB0aGUgc2VydmVyLlxuICAgKi9cbiAgX19hZGQ6IGZ1bmN0aW9uIF9fYWRkKGluc3RhbmNlKSB7XG4gICAgdmFyIGtleSA9ICcnICsgKytpbnN0YW5jZUtleTtcbiAgICBpbnN0YW5jZXMgPSBpbnN0YW5jZXMuc2V0KGtleSwgaW5zdGFuY2UpO1xuICAgIHJldHVybiBrZXk7XG4gIH0sXG5cbiAgLyoqXG4gICAqIFJldHJpZXZlIHRoZSBlbnRpdHkgY29ycmVzcG9uZGluZyB0byB0aGUgc3VwcGxpZWQga2V5IHN0cmluZy5cbiAgICovXG4gIF9fZ2V0OiBmdW5jdGlvbiBfX2dldChrZXkpIHtcbiAgICB2YXIgaW5zdGFuY2UgPSBpbnN0YW5jZXMuZ2V0KGtleSk7XG4gICAgISEhaW5zdGFuY2UgPyBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nID8gaW52YXJpYW50KGZhbHNlLCAnVW5rbm93biBEcmFmdEVudGl0eSBrZXk6ICVzLicsIGtleSkgOiBpbnZhcmlhbnQoZmFsc2UpIDogdm9pZCAwO1xuICAgIHJldHVybiBpbnN0YW5jZTtcbiAgfSxcblxuICAvKipcbiAgICogRW50aXR5IGluc3RhbmNlcyBhcmUgaW1tdXRhYmxlLiBJZiB5b3UgbmVlZCB0byB1cGRhdGUgdGhlIGRhdGEgZm9yIGFuXG4gICAqIGluc3RhbmNlLCB0aGlzIG1ldGhvZCB3aWxsIG1lcmdlIHlvdXIgZGF0YSB1cGRhdGVzIGFuZCByZXR1cm4gYSBuZXdcbiAgICogaW5zdGFuY2UuXG4gICAqL1xuICBfX21lcmdlRGF0YTogZnVuY3Rpb24gX19tZXJnZURhdGEoa2V5LCB0b01lcmdlKSB7XG4gICAgdmFyIGluc3RhbmNlID0gRHJhZnRFbnRpdHkuX19nZXQoa2V5KTtcbiAgICB2YXIgbmV3RGF0YSA9IF9leHRlbmRzKHt9LCBpbnN0YW5jZS5nZXREYXRhKCksIHRvTWVyZ2UpO1xuICAgIHZhciBuZXdJbnN0YW5jZSA9IGluc3RhbmNlLnNldCgnZGF0YScsIG5ld0RhdGEpO1xuICAgIGluc3RhbmNlcyA9IGluc3RhbmNlcy5zZXQoa2V5LCBuZXdJbnN0YW5jZSk7XG4gICAgcmV0dXJuIG5ld0luc3RhbmNlO1xuICB9LFxuXG4gIC8qKlxuICAgKiBDb21wbGV0ZWx5IHJlcGxhY2UgdGhlIGRhdGEgZm9yIGEgZ2l2ZW4gaW5zdGFuY2UuXG4gICAqL1xuICBfX3JlcGxhY2VEYXRhOiBmdW5jdGlvbiBfX3JlcGxhY2VEYXRhKGtleSwgbmV3RGF0YSkge1xuICAgIHZhciBpbnN0YW5jZSA9IERyYWZ0RW50aXR5Ll9fZ2V0KGtleSk7XG4gICAgdmFyIG5ld0luc3RhbmNlID0gaW5zdGFuY2Uuc2V0KCdkYXRhJywgbmV3RGF0YSk7XG4gICAgaW5zdGFuY2VzID0gaW5zdGFuY2VzLnNldChrZXksIG5ld0luc3RhbmNlKTtcbiAgICByZXR1cm4gbmV3SW5zdGFuY2U7XG4gIH1cbn07XG5cbm1vZHVsZS5leHBvcnRzID0gRHJhZnRFbnRpdHk7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/DraftEntity.js\n"); +eval("\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\nvar DraftEntityInstance = __webpack_require__(/*! ./DraftEntityInstance */ \"./node_modules/draft-js/lib/DraftEntityInstance.js\");\n\nvar Immutable = __webpack_require__(/*! immutable */ \"./node_modules/draft-js/node_modules/immutable/dist/immutable.js\");\n\nvar invariant = __webpack_require__(/*! fbjs/lib/invariant */ \"./node_modules/fbjs/lib/invariant.js\");\n\nvar Map = Immutable.Map;\nvar instances = Map();\nvar instanceKey = 0;\n/**\n * Temporary utility for generating the warnings\n */\n\nfunction logWarning(oldMethodCall, newMethodCall) {\n console.warn('WARNING: ' + oldMethodCall + ' will be deprecated soon!\\nPlease use \"' + newMethodCall + '\" instead.');\n}\n\n/**\n * A \"document entity\" is an object containing metadata associated with a\n * piece of text in a ContentBlock.\n *\n * For example, a `link` entity might include a `uri` property. When a\n * ContentBlock is rendered in the browser, text that refers to that link\n * entity may be rendered as an anchor, with the `uri` as the href value.\n *\n * In a ContentBlock, every position in the text may correspond to zero\n * or one entities. This correspondence is tracked using a key string,\n * generated via DraftEntity.create() and used to obtain entity metadata\n * via DraftEntity.get().\n */\nvar DraftEntity = {\n /**\n * WARNING: This method will be deprecated soon!\n * Please use 'contentState.getLastCreatedEntityKey' instead.\n * ---\n * Get the random key string from whatever entity was last created.\n * We need this to support the new API, as part of transitioning to put Entity\n * storage in contentState.\n */\n getLastCreatedEntityKey: function getLastCreatedEntityKey() {\n logWarning('DraftEntity.getLastCreatedEntityKey', 'contentState.getLastCreatedEntityKey');\n return DraftEntity.__getLastCreatedEntityKey();\n },\n\n /**\n * WARNING: This method will be deprecated soon!\n * Please use 'contentState.createEntity' instead.\n * ---\n * Create a DraftEntityInstance and store it for later retrieval.\n *\n * A random key string will be generated and returned. This key may\n * be used to track the entity's usage in a ContentBlock, and for\n * retrieving data about the entity at render time.\n */\n create: function create(type, mutability, data) {\n logWarning('DraftEntity.create', 'contentState.createEntity');\n return DraftEntity.__create(type, mutability, data);\n },\n\n /**\n * WARNING: This method will be deprecated soon!\n * Please use 'contentState.addEntity' instead.\n * ---\n * Add an existing DraftEntityInstance to the DraftEntity map. This is\n * useful when restoring instances from the server.\n */\n add: function add(instance) {\n logWarning('DraftEntity.add', 'contentState.addEntity');\n return DraftEntity.__add(instance);\n },\n\n /**\n * WARNING: This method will be deprecated soon!\n * Please use 'contentState.getEntity' instead.\n * ---\n * Retrieve the entity corresponding to the supplied key string.\n */\n get: function get(key) {\n logWarning('DraftEntity.get', 'contentState.getEntity');\n return DraftEntity.__get(key);\n },\n\n /**\n * WARNING: This method will be deprecated soon!\n * Please use 'contentState.mergeEntityData' instead.\n * ---\n * Entity instances are immutable. If you need to update the data for an\n * instance, this method will merge your data updates and return a new\n * instance.\n */\n mergeData: function mergeData(key, toMerge) {\n logWarning('DraftEntity.mergeData', 'contentState.mergeEntityData');\n return DraftEntity.__mergeData(key, toMerge);\n },\n\n /**\n * WARNING: This method will be deprecated soon!\n * Please use 'contentState.replaceEntityData' instead.\n * ---\n * Completely replace the data for a given instance.\n */\n replaceData: function replaceData(key, newData) {\n logWarning('DraftEntity.replaceData', 'contentState.replaceEntityData');\n return DraftEntity.__replaceData(key, newData);\n },\n // ***********************************WARNING******************************\n // --- the above public API will be deprecated in the next version of Draft!\n // The methods below this line are private - don't call them directly.\n\n /**\n * Get the random key string from whatever entity was last created.\n * We need this to support the new API, as part of transitioning to put Entity\n * storage in contentState.\n */\n __getLastCreatedEntityKey: function __getLastCreatedEntityKey() {\n return '' + instanceKey;\n },\n\n /**\n * Create a DraftEntityInstance and store it for later retrieval.\n *\n * A random key string will be generated and returned. This key may\n * be used to track the entity's usage in a ContentBlock, and for\n * retrieving data about the entity at render time.\n */\n __create: function __create(type, mutability, data) {\n return DraftEntity.__add(new DraftEntityInstance({\n type: type,\n mutability: mutability,\n data: data || {}\n }));\n },\n\n /**\n * Add an existing DraftEntityInstance to the DraftEntity map. This is\n * useful when restoring instances from the server.\n */\n __add: function __add(instance) {\n var key = '' + ++instanceKey;\n instances = instances.set(key, instance);\n return key;\n },\n\n /**\n * Retrieve the entity corresponding to the supplied key string.\n */\n __get: function __get(key) {\n var instance = instances.get(key);\n !!!instance ? true ? invariant(false, 'Unknown DraftEntity key: %s.', key) : undefined : void 0;\n return instance;\n },\n\n /**\n * Entity instances are immutable. If you need to update the data for an\n * instance, this method will merge your data updates and return a new\n * instance.\n */\n __mergeData: function __mergeData(key, toMerge) {\n var instance = DraftEntity.__get(key);\n\n var newData = _objectSpread({}, instance.getData(), toMerge);\n\n var newInstance = instance.set('data', newData);\n instances = instances.set(key, newInstance);\n return newInstance;\n },\n\n /**\n * Completely replace the data for a given instance.\n */\n __replaceData: function __replaceData(key, newData) {\n var instance = DraftEntity.__get(key);\n\n var newInstance = instance.set('data', newData);\n instances = instances.set(key, newInstance);\n return newInstance;\n }\n};\nmodule.exports = DraftEntity;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0RyYWZ0RW50aXR5LmpzPzRmMzUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWIsZ0NBQWdDLGdCQUFnQixzQkFBc0IsT0FBTyx1REFBdUQsbUNBQW1DLDBEQUEwRCxzRkFBc0YsZ0VBQWdFLEVBQUUsR0FBRyxFQUFFLGlDQUFpQywyQ0FBMkMsRUFBRSxFQUFFLEVBQUUsZUFBZTs7QUFFL2QsMkNBQTJDLGtCQUFrQixrQ0FBa0MscUVBQXFFLEVBQUUsRUFBRSxPQUFPLGtCQUFrQixFQUFFLFlBQVk7O0FBRS9NO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMEJBQTBCLG1CQUFPLENBQUMsaUZBQXVCOztBQUV6RCxnQkFBZ0IsbUJBQU8sQ0FBQyxtRkFBVzs7QUFFbkMsZ0JBQWdCLG1CQUFPLENBQUMsZ0VBQW9COztBQUU1QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQixLQUFxQywyREFBMkQsU0FBZ0I7QUFDbEk7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLGtDQUFrQzs7QUFFbEM7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvRHJhZnRFbnRpdHkuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZnVuY3Rpb24gX29iamVjdFNwcmVhZCh0YXJnZXQpIHsgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHsgdmFyIHNvdXJjZSA9IGFyZ3VtZW50c1tpXSAhPSBudWxsID8gYXJndW1lbnRzW2ldIDoge307IHZhciBvd25LZXlzID0gT2JqZWN0LmtleXMoc291cmNlKTsgaWYgKHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzID09PSAnZnVuY3Rpb24nKSB7IG93bktleXMgPSBvd25LZXlzLmNvbmNhdChPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHNvdXJjZSkuZmlsdGVyKGZ1bmN0aW9uIChzeW0pIHsgcmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Ioc291cmNlLCBzeW0pLmVudW1lcmFibGU7IH0pKTsgfSBvd25LZXlzLmZvckVhY2goZnVuY3Rpb24gKGtleSkgeyBfZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIHNvdXJjZVtrZXldKTsgfSk7IH0gcmV0dXJuIHRhcmdldDsgfVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHZhbHVlKSB7IGlmIChrZXkgaW4gb2JqKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgeyB2YWx1ZTogdmFsdWUsIGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgd3JpdGFibGU6IHRydWUgfSk7IH0gZWxzZSB7IG9ialtrZXldID0gdmFsdWU7IH0gcmV0dXJuIG9iajsgfVxuXG4vKipcbiAqIENvcHlyaWdodCAoYykgRmFjZWJvb2ssIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIEBmb3JtYXRcbiAqIFxuICogQGVtYWlscyBvbmNhbGwrZHJhZnRfanNcbiAqL1xudmFyIERyYWZ0RW50aXR5SW5zdGFuY2UgPSByZXF1aXJlKFwiLi9EcmFmdEVudGl0eUluc3RhbmNlXCIpO1xuXG52YXIgSW1tdXRhYmxlID0gcmVxdWlyZShcImltbXV0YWJsZVwiKTtcblxudmFyIGludmFyaWFudCA9IHJlcXVpcmUoXCJmYmpzL2xpYi9pbnZhcmlhbnRcIik7XG5cbnZhciBNYXAgPSBJbW11dGFibGUuTWFwO1xudmFyIGluc3RhbmNlcyA9IE1hcCgpO1xudmFyIGluc3RhbmNlS2V5ID0gMDtcbi8qKlxuICogVGVtcG9yYXJ5IHV0aWxpdHkgZm9yIGdlbmVyYXRpbmcgdGhlIHdhcm5pbmdzXG4gKi9cblxuZnVuY3Rpb24gbG9nV2FybmluZyhvbGRNZXRob2RDYWxsLCBuZXdNZXRob2RDYWxsKSB7XG4gIGNvbnNvbGUud2FybignV0FSTklORzogJyArIG9sZE1ldGhvZENhbGwgKyAnIHdpbGwgYmUgZGVwcmVjYXRlZCBzb29uIVxcblBsZWFzZSB1c2UgXCInICsgbmV3TWV0aG9kQ2FsbCArICdcIiBpbnN0ZWFkLicpO1xufVxuXG4vKipcbiAqIEEgXCJkb2N1bWVudCBlbnRpdHlcIiBpcyBhbiBvYmplY3QgY29udGFpbmluZyBtZXRhZGF0YSBhc3NvY2lhdGVkIHdpdGggYVxuICogcGllY2Ugb2YgdGV4dCBpbiBhIENvbnRlbnRCbG9jay5cbiAqXG4gKiBGb3IgZXhhbXBsZSwgYSBgbGlua2AgZW50aXR5IG1pZ2h0IGluY2x1ZGUgYSBgdXJpYCBwcm9wZXJ0eS4gV2hlbiBhXG4gKiBDb250ZW50QmxvY2sgaXMgcmVuZGVyZWQgaW4gdGhlIGJyb3dzZXIsIHRleHQgdGhhdCByZWZlcnMgdG8gdGhhdCBsaW5rXG4gKiBlbnRpdHkgbWF5IGJlIHJlbmRlcmVkIGFzIGFuIGFuY2hvciwgd2l0aCB0aGUgYHVyaWAgYXMgdGhlIGhyZWYgdmFsdWUuXG4gKlxuICogSW4gYSBDb250ZW50QmxvY2ssIGV2ZXJ5IHBvc2l0aW9uIGluIHRoZSB0ZXh0IG1heSBjb3JyZXNwb25kIHRvIHplcm9cbiAqIG9yIG9uZSBlbnRpdGllcy4gVGhpcyBjb3JyZXNwb25kZW5jZSBpcyB0cmFja2VkIHVzaW5nIGEga2V5IHN0cmluZyxcbiAqIGdlbmVyYXRlZCB2aWEgRHJhZnRFbnRpdHkuY3JlYXRlKCkgYW5kIHVzZWQgdG8gb2J0YWluIGVudGl0eSBtZXRhZGF0YVxuICogdmlhIERyYWZ0RW50aXR5LmdldCgpLlxuICovXG52YXIgRHJhZnRFbnRpdHkgPSB7XG4gIC8qKlxuICAgKiBXQVJOSU5HOiBUaGlzIG1ldGhvZCB3aWxsIGJlIGRlcHJlY2F0ZWQgc29vbiFcbiAgICogUGxlYXNlIHVzZSAnY29udGVudFN0YXRlLmdldExhc3RDcmVhdGVkRW50aXR5S2V5JyBpbnN0ZWFkLlxuICAgKiAtLS1cbiAgICogR2V0IHRoZSByYW5kb20ga2V5IHN0cmluZyBmcm9tIHdoYXRldmVyIGVudGl0eSB3YXMgbGFzdCBjcmVhdGVkLlxuICAgKiBXZSBuZWVkIHRoaXMgdG8gc3VwcG9ydCB0aGUgbmV3IEFQSSwgYXMgcGFydCBvZiB0cmFuc2l0aW9uaW5nIHRvIHB1dCBFbnRpdHlcbiAgICogc3RvcmFnZSBpbiBjb250ZW50U3RhdGUuXG4gICAqL1xuICBnZXRMYXN0Q3JlYXRlZEVudGl0eUtleTogZnVuY3Rpb24gZ2V0TGFzdENyZWF0ZWRFbnRpdHlLZXkoKSB7XG4gICAgbG9nV2FybmluZygnRHJhZnRFbnRpdHkuZ2V0TGFzdENyZWF0ZWRFbnRpdHlLZXknLCAnY29udGVudFN0YXRlLmdldExhc3RDcmVhdGVkRW50aXR5S2V5Jyk7XG4gICAgcmV0dXJuIERyYWZ0RW50aXR5Ll9fZ2V0TGFzdENyZWF0ZWRFbnRpdHlLZXkoKTtcbiAgfSxcblxuICAvKipcbiAgICogV0FSTklORzogVGhpcyBtZXRob2Qgd2lsbCBiZSBkZXByZWNhdGVkIHNvb24hXG4gICAqIFBsZWFzZSB1c2UgJ2NvbnRlbnRTdGF0ZS5jcmVhdGVFbnRpdHknIGluc3RlYWQuXG4gICAqIC0tLVxuICAgKiBDcmVhdGUgYSBEcmFmdEVudGl0eUluc3RhbmNlIGFuZCBzdG9yZSBpdCBmb3IgbGF0ZXIgcmV0cmlldmFsLlxuICAgKlxuICAgKiBBIHJhbmRvbSBrZXkgc3RyaW5nIHdpbGwgYmUgZ2VuZXJhdGVkIGFuZCByZXR1cm5lZC4gVGhpcyBrZXkgbWF5XG4gICAqIGJlIHVzZWQgdG8gdHJhY2sgdGhlIGVudGl0eSdzIHVzYWdlIGluIGEgQ29udGVudEJsb2NrLCBhbmQgZm9yXG4gICAqIHJldHJpZXZpbmcgZGF0YSBhYm91dCB0aGUgZW50aXR5IGF0IHJlbmRlciB0aW1lLlxuICAgKi9cbiAgY3JlYXRlOiBmdW5jdGlvbiBjcmVhdGUodHlwZSwgbXV0YWJpbGl0eSwgZGF0YSkge1xuICAgIGxvZ1dhcm5pbmcoJ0RyYWZ0RW50aXR5LmNyZWF0ZScsICdjb250ZW50U3RhdGUuY3JlYXRlRW50aXR5Jyk7XG4gICAgcmV0dXJuIERyYWZ0RW50aXR5Ll9fY3JlYXRlKHR5cGUsIG11dGFiaWxpdHksIGRhdGEpO1xuICB9LFxuXG4gIC8qKlxuICAgKiBXQVJOSU5HOiBUaGlzIG1ldGhvZCB3aWxsIGJlIGRlcHJlY2F0ZWQgc29vbiFcbiAgICogUGxlYXNlIHVzZSAnY29udGVudFN0YXRlLmFkZEVudGl0eScgaW5zdGVhZC5cbiAgICogLS0tXG4gICAqIEFkZCBhbiBleGlzdGluZyBEcmFmdEVudGl0eUluc3RhbmNlIHRvIHRoZSBEcmFmdEVudGl0eSBtYXAuIFRoaXMgaXNcbiAgICogdXNlZnVsIHdoZW4gcmVzdG9yaW5nIGluc3RhbmNlcyBmcm9tIHRoZSBzZXJ2ZXIuXG4gICAqL1xuICBhZGQ6IGZ1bmN0aW9uIGFkZChpbnN0YW5jZSkge1xuICAgIGxvZ1dhcm5pbmcoJ0RyYWZ0RW50aXR5LmFkZCcsICdjb250ZW50U3RhdGUuYWRkRW50aXR5Jyk7XG4gICAgcmV0dXJuIERyYWZ0RW50aXR5Ll9fYWRkKGluc3RhbmNlKTtcbiAgfSxcblxuICAvKipcbiAgICogV0FSTklORzogVGhpcyBtZXRob2Qgd2lsbCBiZSBkZXByZWNhdGVkIHNvb24hXG4gICAqIFBsZWFzZSB1c2UgJ2NvbnRlbnRTdGF0ZS5nZXRFbnRpdHknIGluc3RlYWQuXG4gICAqIC0tLVxuICAgKiBSZXRyaWV2ZSB0aGUgZW50aXR5IGNvcnJlc3BvbmRpbmcgdG8gdGhlIHN1cHBsaWVkIGtleSBzdHJpbmcuXG4gICAqL1xuICBnZXQ6IGZ1bmN0aW9uIGdldChrZXkpIHtcbiAgICBsb2dXYXJuaW5nKCdEcmFmdEVudGl0eS5nZXQnLCAnY29udGVudFN0YXRlLmdldEVudGl0eScpO1xuICAgIHJldHVybiBEcmFmdEVudGl0eS5fX2dldChrZXkpO1xuICB9LFxuXG4gIC8qKlxuICAgKiBXQVJOSU5HOiBUaGlzIG1ldGhvZCB3aWxsIGJlIGRlcHJlY2F0ZWQgc29vbiFcbiAgICogUGxlYXNlIHVzZSAnY29udGVudFN0YXRlLm1lcmdlRW50aXR5RGF0YScgaW5zdGVhZC5cbiAgICogLS0tXG4gICAqIEVudGl0eSBpbnN0YW5jZXMgYXJlIGltbXV0YWJsZS4gSWYgeW91IG5lZWQgdG8gdXBkYXRlIHRoZSBkYXRhIGZvciBhblxuICAgKiBpbnN0YW5jZSwgdGhpcyBtZXRob2Qgd2lsbCBtZXJnZSB5b3VyIGRhdGEgdXBkYXRlcyBhbmQgcmV0dXJuIGEgbmV3XG4gICAqIGluc3RhbmNlLlxuICAgKi9cbiAgbWVyZ2VEYXRhOiBmdW5jdGlvbiBtZXJnZURhdGEoa2V5LCB0b01lcmdlKSB7XG4gICAgbG9nV2FybmluZygnRHJhZnRFbnRpdHkubWVyZ2VEYXRhJywgJ2NvbnRlbnRTdGF0ZS5tZXJnZUVudGl0eURhdGEnKTtcbiAgICByZXR1cm4gRHJhZnRFbnRpdHkuX19tZXJnZURhdGEoa2V5LCB0b01lcmdlKTtcbiAgfSxcblxuICAvKipcbiAgICogV0FSTklORzogVGhpcyBtZXRob2Qgd2lsbCBiZSBkZXByZWNhdGVkIHNvb24hXG4gICAqIFBsZWFzZSB1c2UgJ2NvbnRlbnRTdGF0ZS5yZXBsYWNlRW50aXR5RGF0YScgaW5zdGVhZC5cbiAgICogLS0tXG4gICAqIENvbXBsZXRlbHkgcmVwbGFjZSB0aGUgZGF0YSBmb3IgYSBnaXZlbiBpbnN0YW5jZS5cbiAgICovXG4gIHJlcGxhY2VEYXRhOiBmdW5jdGlvbiByZXBsYWNlRGF0YShrZXksIG5ld0RhdGEpIHtcbiAgICBsb2dXYXJuaW5nKCdEcmFmdEVudGl0eS5yZXBsYWNlRGF0YScsICdjb250ZW50U3RhdGUucmVwbGFjZUVudGl0eURhdGEnKTtcbiAgICByZXR1cm4gRHJhZnRFbnRpdHkuX19yZXBsYWNlRGF0YShrZXksIG5ld0RhdGEpO1xuICB9LFxuICAvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKldBUk5JTkcqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgLy8gLS0tIHRoZSBhYm92ZSBwdWJsaWMgQVBJIHdpbGwgYmUgZGVwcmVjYXRlZCBpbiB0aGUgbmV4dCB2ZXJzaW9uIG9mIERyYWZ0IVxuICAvLyBUaGUgbWV0aG9kcyBiZWxvdyB0aGlzIGxpbmUgYXJlIHByaXZhdGUgLSBkb24ndCBjYWxsIHRoZW0gZGlyZWN0bHkuXG5cbiAgLyoqXG4gICAqIEdldCB0aGUgcmFuZG9tIGtleSBzdHJpbmcgZnJvbSB3aGF0ZXZlciBlbnRpdHkgd2FzIGxhc3QgY3JlYXRlZC5cbiAgICogV2UgbmVlZCB0aGlzIHRvIHN1cHBvcnQgdGhlIG5ldyBBUEksIGFzIHBhcnQgb2YgdHJhbnNpdGlvbmluZyB0byBwdXQgRW50aXR5XG4gICAqIHN0b3JhZ2UgaW4gY29udGVudFN0YXRlLlxuICAgKi9cbiAgX19nZXRMYXN0Q3JlYXRlZEVudGl0eUtleTogZnVuY3Rpb24gX19nZXRMYXN0Q3JlYXRlZEVudGl0eUtleSgpIHtcbiAgICByZXR1cm4gJycgKyBpbnN0YW5jZUtleTtcbiAgfSxcblxuICAvKipcbiAgICogQ3JlYXRlIGEgRHJhZnRFbnRpdHlJbnN0YW5jZSBhbmQgc3RvcmUgaXQgZm9yIGxhdGVyIHJldHJpZXZhbC5cbiAgICpcbiAgICogQSByYW5kb20ga2V5IHN0cmluZyB3aWxsIGJlIGdlbmVyYXRlZCBhbmQgcmV0dXJuZWQuIFRoaXMga2V5IG1heVxuICAgKiBiZSB1c2VkIHRvIHRyYWNrIHRoZSBlbnRpdHkncyB1c2FnZSBpbiBhIENvbnRlbnRCbG9jaywgYW5kIGZvclxuICAgKiByZXRyaWV2aW5nIGRhdGEgYWJvdXQgdGhlIGVudGl0eSBhdCByZW5kZXIgdGltZS5cbiAgICovXG4gIF9fY3JlYXRlOiBmdW5jdGlvbiBfX2NyZWF0ZSh0eXBlLCBtdXRhYmlsaXR5LCBkYXRhKSB7XG4gICAgcmV0dXJuIERyYWZ0RW50aXR5Ll9fYWRkKG5ldyBEcmFmdEVudGl0eUluc3RhbmNlKHtcbiAgICAgIHR5cGU6IHR5cGUsXG4gICAgICBtdXRhYmlsaXR5OiBtdXRhYmlsaXR5LFxuICAgICAgZGF0YTogZGF0YSB8fCB7fVxuICAgIH0pKTtcbiAgfSxcblxuICAvKipcbiAgICogQWRkIGFuIGV4aXN0aW5nIERyYWZ0RW50aXR5SW5zdGFuY2UgdG8gdGhlIERyYWZ0RW50aXR5IG1hcC4gVGhpcyBpc1xuICAgKiB1c2VmdWwgd2hlbiByZXN0b3JpbmcgaW5zdGFuY2VzIGZyb20gdGhlIHNlcnZlci5cbiAgICovXG4gIF9fYWRkOiBmdW5jdGlvbiBfX2FkZChpbnN0YW5jZSkge1xuICAgIHZhciBrZXkgPSAnJyArICsraW5zdGFuY2VLZXk7XG4gICAgaW5zdGFuY2VzID0gaW5zdGFuY2VzLnNldChrZXksIGluc3RhbmNlKTtcbiAgICByZXR1cm4ga2V5O1xuICB9LFxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZSB0aGUgZW50aXR5IGNvcnJlc3BvbmRpbmcgdG8gdGhlIHN1cHBsaWVkIGtleSBzdHJpbmcuXG4gICAqL1xuICBfX2dldDogZnVuY3Rpb24gX19nZXQoa2V5KSB7XG4gICAgdmFyIGluc3RhbmNlID0gaW5zdGFuY2VzLmdldChrZXkpO1xuICAgICEhIWluc3RhbmNlID8gcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiID8gaW52YXJpYW50KGZhbHNlLCAnVW5rbm93biBEcmFmdEVudGl0eSBrZXk6ICVzLicsIGtleSkgOiBpbnZhcmlhbnQoZmFsc2UpIDogdm9pZCAwO1xuICAgIHJldHVybiBpbnN0YW5jZTtcbiAgfSxcblxuICAvKipcbiAgICogRW50aXR5IGluc3RhbmNlcyBhcmUgaW1tdXRhYmxlLiBJZiB5b3UgbmVlZCB0byB1cGRhdGUgdGhlIGRhdGEgZm9yIGFuXG4gICAqIGluc3RhbmNlLCB0aGlzIG1ldGhvZCB3aWxsIG1lcmdlIHlvdXIgZGF0YSB1cGRhdGVzIGFuZCByZXR1cm4gYSBuZXdcbiAgICogaW5zdGFuY2UuXG4gICAqL1xuICBfX21lcmdlRGF0YTogZnVuY3Rpb24gX19tZXJnZURhdGEoa2V5LCB0b01lcmdlKSB7XG4gICAgdmFyIGluc3RhbmNlID0gRHJhZnRFbnRpdHkuX19nZXQoa2V5KTtcblxuICAgIHZhciBuZXdEYXRhID0gX29iamVjdFNwcmVhZCh7fSwgaW5zdGFuY2UuZ2V0RGF0YSgpLCB0b01lcmdlKTtcblxuICAgIHZhciBuZXdJbnN0YW5jZSA9IGluc3RhbmNlLnNldCgnZGF0YScsIG5ld0RhdGEpO1xuICAgIGluc3RhbmNlcyA9IGluc3RhbmNlcy5zZXQoa2V5LCBuZXdJbnN0YW5jZSk7XG4gICAgcmV0dXJuIG5ld0luc3RhbmNlO1xuICB9LFxuXG4gIC8qKlxuICAgKiBDb21wbGV0ZWx5IHJlcGxhY2UgdGhlIGRhdGEgZm9yIGEgZ2l2ZW4gaW5zdGFuY2UuXG4gICAqL1xuICBfX3JlcGxhY2VEYXRhOiBmdW5jdGlvbiBfX3JlcGxhY2VEYXRhKGtleSwgbmV3RGF0YSkge1xuICAgIHZhciBpbnN0YW5jZSA9IERyYWZ0RW50aXR5Ll9fZ2V0KGtleSk7XG5cbiAgICB2YXIgbmV3SW5zdGFuY2UgPSBpbnN0YW5jZS5zZXQoJ2RhdGEnLCBuZXdEYXRhKTtcbiAgICBpbnN0YW5jZXMgPSBpbnN0YW5jZXMuc2V0KGtleSwgbmV3SW5zdGFuY2UpO1xuICAgIHJldHVybiBuZXdJbnN0YW5jZTtcbiAgfVxufTtcbm1vZHVsZS5leHBvcnRzID0gRHJhZnRFbnRpdHk7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/DraftEntity.js\n"); /***/ }), @@ -295,7 +378,7 @@ eval("\n\nvar _assign = __webpack_require__(/*! object-assign */ \"./node_module /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule DraftEntityInstance\n * @legacyServerCallableInstance\n * @format\n * \n */\n\n\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Immutable = __webpack_require__(/*! immutable */ \"./node_modules/draft-js/node_modules/immutable/dist/immutable.js\");\n\nvar Record = Immutable.Record;\n\n\nvar DraftEntityInstanceRecord = Record({\n type: 'TOKEN',\n mutability: 'IMMUTABLE',\n data: Object\n});\n\n/**\n * An instance of a document entity, consisting of a `type` and relevant\n * `data`, metadata about the entity.\n *\n * For instance, a \"link\" entity might provide a URI, and a \"mention\"\n * entity might provide the mentioned user's ID. These pieces of data\n * may be used when rendering the entity as part of a ContentBlock DOM\n * representation. For a link, the data would be used as an href for\n * the rendered anchor. For a mention, the ID could be used to retrieve\n * a hovercard.\n */\n\nvar DraftEntityInstance = function (_DraftEntityInstanceR) {\n _inherits(DraftEntityInstance, _DraftEntityInstanceR);\n\n function DraftEntityInstance() {\n _classCallCheck(this, DraftEntityInstance);\n\n return _possibleConstructorReturn(this, _DraftEntityInstanceR.apply(this, arguments));\n }\n\n DraftEntityInstance.prototype.getType = function getType() {\n return this.get('type');\n };\n\n DraftEntityInstance.prototype.getMutability = function getMutability() {\n return this.get('mutability');\n };\n\n DraftEntityInstance.prototype.getData = function getData() {\n return this.get('data');\n };\n\n return DraftEntityInstance;\n}(DraftEntityInstanceRecord);\n\nmodule.exports = DraftEntityInstance;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0RyYWZ0RW50aXR5SW5zdGFuY2UuanM/YWE3OSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFYTs7QUFFYixpREFBaUQsMENBQTBDLDBEQUEwRCxFQUFFOztBQUV2SixpREFBaUQsYUFBYSx1RkFBdUYsRUFBRSx1RkFBdUY7O0FBRTlPLDBDQUEwQywrREFBK0QscUdBQXFHLEVBQUUseUVBQXlFLGVBQWUseUVBQXlFLEVBQUUsRUFBRSx1SEFBdUg7O0FBRTVlLGdCQUFnQixtQkFBTyxDQUFDLG1GQUFXOztBQUVuQzs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxDQUFDOztBQUVEIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2RyYWZ0LWpzL2xpYi9EcmFmdEVudGl0eUluc3RhbmNlLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQlNELXN0eWxlIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuIEFuIGFkZGl0aW9uYWwgZ3JhbnRcbiAqIG9mIHBhdGVudCByaWdodHMgY2FuIGJlIGZvdW5kIGluIHRoZSBQQVRFTlRTIGZpbGUgaW4gdGhlIHNhbWUgZGlyZWN0b3J5LlxuICpcbiAqIEBwcm92aWRlc01vZHVsZSBEcmFmdEVudGl0eUluc3RhbmNlXG4gKiBAbGVnYWN5U2VydmVyQ2FsbGFibGVJbnN0YW5jZVxuICogQGZvcm1hdFxuICogXG4gKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG5mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7IGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7IH0gfVxuXG5mdW5jdGlvbiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybihzZWxmLCBjYWxsKSB7IGlmICghc2VsZikgeyB0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoXCJ0aGlzIGhhc24ndCBiZWVuIGluaXRpYWxpc2VkIC0gc3VwZXIoKSBoYXNuJ3QgYmVlbiBjYWxsZWRcIik7IH0gcmV0dXJuIGNhbGwgJiYgKHR5cGVvZiBjYWxsID09PSBcIm9iamVjdFwiIHx8IHR5cGVvZiBjYWxsID09PSBcImZ1bmN0aW9uXCIpID8gY2FsbCA6IHNlbGY7IH1cblxuZnVuY3Rpb24gX2luaGVyaXRzKHN1YkNsYXNzLCBzdXBlckNsYXNzKSB7IGlmICh0eXBlb2Ygc3VwZXJDbGFzcyAhPT0gXCJmdW5jdGlvblwiICYmIHN1cGVyQ2xhc3MgIT09IG51bGwpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN1cGVyIGV4cHJlc3Npb24gbXVzdCBlaXRoZXIgYmUgbnVsbCBvciBhIGZ1bmN0aW9uLCBub3QgXCIgKyB0eXBlb2Ygc3VwZXJDbGFzcyk7IH0gc3ViQ2xhc3MucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShzdXBlckNsYXNzICYmIHN1cGVyQ2xhc3MucHJvdG90eXBlLCB7IGNvbnN0cnVjdG9yOiB7IHZhbHVlOiBzdWJDbGFzcywgZW51bWVyYWJsZTogZmFsc2UsIHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUgfSB9KTsgaWYgKHN1cGVyQ2xhc3MpIE9iamVjdC5zZXRQcm90b3R5cGVPZiA/IE9iamVjdC5zZXRQcm90b3R5cGVPZihzdWJDbGFzcywgc3VwZXJDbGFzcykgOiBzdWJDbGFzcy5fX3Byb3RvX18gPSBzdXBlckNsYXNzOyB9XG5cbnZhciBJbW11dGFibGUgPSByZXF1aXJlKCdpbW11dGFibGUnKTtcblxudmFyIFJlY29yZCA9IEltbXV0YWJsZS5SZWNvcmQ7XG5cblxudmFyIERyYWZ0RW50aXR5SW5zdGFuY2VSZWNvcmQgPSBSZWNvcmQoe1xuICB0eXBlOiAnVE9LRU4nLFxuICBtdXRhYmlsaXR5OiAnSU1NVVRBQkxFJyxcbiAgZGF0YTogT2JqZWN0XG59KTtcblxuLyoqXG4gKiBBbiBpbnN0YW5jZSBvZiBhIGRvY3VtZW50IGVudGl0eSwgY29uc2lzdGluZyBvZiBhIGB0eXBlYCBhbmQgcmVsZXZhbnRcbiAqIGBkYXRhYCwgbWV0YWRhdGEgYWJvdXQgdGhlIGVudGl0eS5cbiAqXG4gKiBGb3IgaW5zdGFuY2UsIGEgXCJsaW5rXCIgZW50aXR5IG1pZ2h0IHByb3ZpZGUgYSBVUkksIGFuZCBhIFwibWVudGlvblwiXG4gKiBlbnRpdHkgbWlnaHQgcHJvdmlkZSB0aGUgbWVudGlvbmVkIHVzZXIncyBJRC4gVGhlc2UgcGllY2VzIG9mIGRhdGFcbiAqIG1heSBiZSB1c2VkIHdoZW4gcmVuZGVyaW5nIHRoZSBlbnRpdHkgYXMgcGFydCBvZiBhIENvbnRlbnRCbG9jayBET01cbiAqIHJlcHJlc2VudGF0aW9uLiBGb3IgYSBsaW5rLCB0aGUgZGF0YSB3b3VsZCBiZSB1c2VkIGFzIGFuIGhyZWYgZm9yXG4gKiB0aGUgcmVuZGVyZWQgYW5jaG9yLiBGb3IgYSBtZW50aW9uLCB0aGUgSUQgY291bGQgYmUgdXNlZCB0byByZXRyaWV2ZVxuICogYSBob3ZlcmNhcmQuXG4gKi9cblxudmFyIERyYWZ0RW50aXR5SW5zdGFuY2UgPSBmdW5jdGlvbiAoX0RyYWZ0RW50aXR5SW5zdGFuY2VSKSB7XG4gIF9pbmhlcml0cyhEcmFmdEVudGl0eUluc3RhbmNlLCBfRHJhZnRFbnRpdHlJbnN0YW5jZVIpO1xuXG4gIGZ1bmN0aW9uIERyYWZ0RW50aXR5SW5zdGFuY2UoKSB7XG4gICAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIERyYWZ0RW50aXR5SW5zdGFuY2UpO1xuXG4gICAgcmV0dXJuIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHRoaXMsIF9EcmFmdEVudGl0eUluc3RhbmNlUi5hcHBseSh0aGlzLCBhcmd1bWVudHMpKTtcbiAgfVxuXG4gIERyYWZ0RW50aXR5SW5zdGFuY2UucHJvdG90eXBlLmdldFR5cGUgPSBmdW5jdGlvbiBnZXRUeXBlKCkge1xuICAgIHJldHVybiB0aGlzLmdldCgndHlwZScpO1xuICB9O1xuXG4gIERyYWZ0RW50aXR5SW5zdGFuY2UucHJvdG90eXBlLmdldE11dGFiaWxpdHkgPSBmdW5jdGlvbiBnZXRNdXRhYmlsaXR5KCkge1xuICAgIHJldHVybiB0aGlzLmdldCgnbXV0YWJpbGl0eScpO1xuICB9O1xuXG4gIERyYWZ0RW50aXR5SW5zdGFuY2UucHJvdG90eXBlLmdldERhdGEgPSBmdW5jdGlvbiBnZXREYXRhKCkge1xuICAgIHJldHVybiB0aGlzLmdldCgnZGF0YScpO1xuICB9O1xuXG4gIHJldHVybiBEcmFmdEVudGl0eUluc3RhbmNlO1xufShEcmFmdEVudGl0eUluc3RhbmNlUmVjb3JkKTtcblxubW9kdWxlLmV4cG9ydHMgPSBEcmFmdEVudGl0eUluc3RhbmNlOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/DraftEntityInstance.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @legacyServerCallableInstance\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar Immutable = __webpack_require__(/*! immutable */ \"./node_modules/draft-js/node_modules/immutable/dist/immutable.js\");\n\nvar Record = Immutable.Record;\nvar DraftEntityInstanceRecord = Record({\n type: 'TOKEN',\n mutability: 'IMMUTABLE',\n data: Object\n});\n/**\n * An instance of a document entity, consisting of a `type` and relevant\n * `data`, metadata about the entity.\n *\n * For instance, a \"link\" entity might provide a URI, and a \"mention\"\n * entity might provide the mentioned user's ID. These pieces of data\n * may be used when rendering the entity as part of a ContentBlock DOM\n * representation. For a link, the data would be used as an href for\n * the rendered anchor. For a mention, the ID could be used to retrieve\n * a hovercard.\n */\n\nvar DraftEntityInstance =\n/*#__PURE__*/\nfunction (_DraftEntityInstanceR) {\n _inheritsLoose(DraftEntityInstance, _DraftEntityInstanceR);\n\n function DraftEntityInstance() {\n return _DraftEntityInstanceR.apply(this, arguments) || this;\n }\n\n var _proto = DraftEntityInstance.prototype;\n\n _proto.getType = function getType() {\n return this.get('type');\n };\n\n _proto.getMutability = function getMutability() {\n return this.get('mutability');\n };\n\n _proto.getData = function getData() {\n return this.get('data');\n };\n\n return DraftEntityInstance;\n}(DraftEntityInstanceRecord);\n\nmodule.exports = DraftEntityInstance;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0RyYWZ0RW50aXR5SW5zdGFuY2UuanM/YWE3OSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ2E7O0FBRWIsK0NBQStDLDBEQUEwRCwyQ0FBMkMsaUNBQWlDOztBQUVyTCxnQkFBZ0IsbUJBQU8sQ0FBQyxtRkFBVzs7QUFFbkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLENBQUM7O0FBRUQiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0RyYWZ0RW50aXR5SW5zdGFuY2UuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgRmFjZWJvb2ssIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIEBsZWdhY3lTZXJ2ZXJDYWxsYWJsZUluc3RhbmNlXG4gKiBAZm9ybWF0XG4gKiBcbiAqIEBlbWFpbHMgb25jYWxsK2RyYWZ0X2pzXG4gKi9cbid1c2Ugc3RyaWN0JztcblxuZnVuY3Rpb24gX2luaGVyaXRzTG9vc2Uoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpIHsgc3ViQ2xhc3MucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShzdXBlckNsYXNzLnByb3RvdHlwZSk7IHN1YkNsYXNzLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IHN1YkNsYXNzOyBzdWJDbGFzcy5fX3Byb3RvX18gPSBzdXBlckNsYXNzOyB9XG5cbnZhciBJbW11dGFibGUgPSByZXF1aXJlKFwiaW1tdXRhYmxlXCIpO1xuXG52YXIgUmVjb3JkID0gSW1tdXRhYmxlLlJlY29yZDtcbnZhciBEcmFmdEVudGl0eUluc3RhbmNlUmVjb3JkID0gUmVjb3JkKHtcbiAgdHlwZTogJ1RPS0VOJyxcbiAgbXV0YWJpbGl0eTogJ0lNTVVUQUJMRScsXG4gIGRhdGE6IE9iamVjdFxufSk7XG4vKipcbiAqIEFuIGluc3RhbmNlIG9mIGEgZG9jdW1lbnQgZW50aXR5LCBjb25zaXN0aW5nIG9mIGEgYHR5cGVgIGFuZCByZWxldmFudFxuICogYGRhdGFgLCBtZXRhZGF0YSBhYm91dCB0aGUgZW50aXR5LlxuICpcbiAqIEZvciBpbnN0YW5jZSwgYSBcImxpbmtcIiBlbnRpdHkgbWlnaHQgcHJvdmlkZSBhIFVSSSwgYW5kIGEgXCJtZW50aW9uXCJcbiAqIGVudGl0eSBtaWdodCBwcm92aWRlIHRoZSBtZW50aW9uZWQgdXNlcidzIElELiBUaGVzZSBwaWVjZXMgb2YgZGF0YVxuICogbWF5IGJlIHVzZWQgd2hlbiByZW5kZXJpbmcgdGhlIGVudGl0eSBhcyBwYXJ0IG9mIGEgQ29udGVudEJsb2NrIERPTVxuICogcmVwcmVzZW50YXRpb24uIEZvciBhIGxpbmssIHRoZSBkYXRhIHdvdWxkIGJlIHVzZWQgYXMgYW4gaHJlZiBmb3JcbiAqIHRoZSByZW5kZXJlZCBhbmNob3IuIEZvciBhIG1lbnRpb24sIHRoZSBJRCBjb3VsZCBiZSB1c2VkIHRvIHJldHJpZXZlXG4gKiBhIGhvdmVyY2FyZC5cbiAqL1xuXG52YXIgRHJhZnRFbnRpdHlJbnN0YW5jZSA9XG4vKiNfX1BVUkVfXyovXG5mdW5jdGlvbiAoX0RyYWZ0RW50aXR5SW5zdGFuY2VSKSB7XG4gIF9pbmhlcml0c0xvb3NlKERyYWZ0RW50aXR5SW5zdGFuY2UsIF9EcmFmdEVudGl0eUluc3RhbmNlUik7XG5cbiAgZnVuY3Rpb24gRHJhZnRFbnRpdHlJbnN0YW5jZSgpIHtcbiAgICByZXR1cm4gX0RyYWZ0RW50aXR5SW5zdGFuY2VSLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykgfHwgdGhpcztcbiAgfVxuXG4gIHZhciBfcHJvdG8gPSBEcmFmdEVudGl0eUluc3RhbmNlLnByb3RvdHlwZTtcblxuICBfcHJvdG8uZ2V0VHlwZSA9IGZ1bmN0aW9uIGdldFR5cGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KCd0eXBlJyk7XG4gIH07XG5cbiAgX3Byb3RvLmdldE11dGFiaWxpdHkgPSBmdW5jdGlvbiBnZXRNdXRhYmlsaXR5KCkge1xuICAgIHJldHVybiB0aGlzLmdldCgnbXV0YWJpbGl0eScpO1xuICB9O1xuXG4gIF9wcm90by5nZXREYXRhID0gZnVuY3Rpb24gZ2V0RGF0YSgpIHtcbiAgICByZXR1cm4gdGhpcy5nZXQoJ2RhdGEnKTtcbiAgfTtcblxuICByZXR1cm4gRHJhZnRFbnRpdHlJbnN0YW5jZTtcbn0oRHJhZnRFbnRpdHlJbnN0YW5jZVJlY29yZCk7XG5cbm1vZHVsZS5leHBvcnRzID0gRHJhZnRFbnRpdHlJbnN0YW5jZTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/DraftEntityInstance.js\n"); /***/ }), @@ -307,31 +390,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule DraftEntitySegments\n * @format\n * \n */\n\n\n\n/**\n * Identify the range to delete from a segmented entity.\n *\n * Rules:\n *\n * Example: 'John F. Kennedy'\n *\n * - Deletion from within any non-whitespace (i.e. ['John', 'F.', 'Kennedy'])\n * will return the range of that text.\n *\n * 'John F. Kennedy' -> 'John F.'\n * ^\n *\n * - Forward deletion of whitespace will remove the following section:\n *\n * 'John F. Kennedy' -> 'John Kennedy'\n * ^\n *\n * - Backward deletion of whitespace will remove the previous section:\n *\n * 'John F. Kennedy' -> 'F. Kennedy'\n * ^\n */\nvar DraftEntitySegments = {\n getRemovalRange: function getRemovalRange(selectionStart, selectionEnd, text, entityStart, direction) {\n var segments = text.split(' ');\n segments = segments.map(function ( /*string*/segment, /*number*/ii) {\n if (direction === 'forward') {\n if (ii > 0) {\n return ' ' + segment;\n }\n } else if (ii < segments.length - 1) {\n return segment + ' ';\n }\n return segment;\n });\n\n var segmentStart = entityStart;\n var segmentEnd;\n var segment;\n var removalStart = null;\n var removalEnd = null;\n\n for (var jj = 0; jj < segments.length; jj++) {\n segment = segments[jj];\n segmentEnd = segmentStart + segment.length;\n\n // Our selection overlaps this segment.\n if (selectionStart < segmentEnd && segmentStart < selectionEnd) {\n if (removalStart !== null) {\n removalEnd = segmentEnd;\n } else {\n removalStart = segmentStart;\n removalEnd = segmentEnd;\n }\n } else if (removalStart !== null) {\n break;\n }\n\n segmentStart = segmentEnd;\n }\n\n var entityEnd = entityStart + text.length;\n var atStart = removalStart === entityStart;\n var atEnd = removalEnd === entityEnd;\n\n if (!atStart && atEnd || atStart && !atEnd) {\n if (direction === 'forward') {\n if (removalEnd !== entityEnd) {\n removalEnd++;\n }\n } else if (removalStart !== entityStart) {\n removalStart--;\n }\n }\n\n return {\n start: removalStart,\n end: removalEnd\n };\n }\n};\n\nmodule.exports = DraftEntitySegments;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0RyYWZ0RW50aXR5U2VnbWVudHMuanM/ZmYyZCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWE7O0FBRWI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLG9CQUFvQixzQkFBc0I7QUFDMUM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0RyYWZ0RW50aXR5U2VnbWVudHMuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxMy1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuICogQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBCU0Qtc3R5bGUgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS4gQW4gYWRkaXRpb25hbCBncmFudFxuICogb2YgcGF0ZW50IHJpZ2h0cyBjYW4gYmUgZm91bmQgaW4gdGhlIFBBVEVOVFMgZmlsZSBpbiB0aGUgc2FtZSBkaXJlY3RvcnkuXG4gKlxuICogQHByb3ZpZGVzTW9kdWxlIERyYWZ0RW50aXR5U2VnbWVudHNcbiAqIEBmb3JtYXRcbiAqIFxuICovXG5cbid1c2Ugc3RyaWN0JztcblxuLyoqXG4gKiBJZGVudGlmeSB0aGUgcmFuZ2UgdG8gZGVsZXRlIGZyb20gYSBzZWdtZW50ZWQgZW50aXR5LlxuICpcbiAqIFJ1bGVzOlxuICpcbiAqICBFeGFtcGxlOiAnSm9obiBGLiBLZW5uZWR5J1xuICpcbiAqICAgLSBEZWxldGlvbiBmcm9tIHdpdGhpbiBhbnkgbm9uLXdoaXRlc3BhY2UgKGkuZS4gWydKb2huJywgJ0YuJywgJ0tlbm5lZHknXSlcbiAqICAgICB3aWxsIHJldHVybiB0aGUgcmFuZ2Ugb2YgdGhhdCB0ZXh0LlxuICpcbiAqICAgICAgICdKb2huIEYuIEtlbm5lZHknIC0+ICdKb2huIEYuJ1xuICogICAgICAgICAgICAgICAgICBeXG4gKlxuICogICAtIEZvcndhcmQgZGVsZXRpb24gb2Ygd2hpdGVzcGFjZSB3aWxsIHJlbW92ZSB0aGUgZm9sbG93aW5nIHNlY3Rpb246XG4gKlxuICogICAgICAgJ0pvaG4gRi4gS2VubmVkeScgLT4gJ0pvaG4gS2VubmVkeSdcbiAqICAgICAgICAgICAgXlxuICpcbiAqICAgLSBCYWNrd2FyZCBkZWxldGlvbiBvZiB3aGl0ZXNwYWNlIHdpbGwgcmVtb3ZlIHRoZSBwcmV2aW91cyBzZWN0aW9uOlxuICpcbiAqICAgICAgICdKb2huIEYuIEtlbm5lZHknIC0+ICdGLiBLZW5uZWR5J1xuICogICAgICAgICAgICBeXG4gKi9cbnZhciBEcmFmdEVudGl0eVNlZ21lbnRzID0ge1xuICBnZXRSZW1vdmFsUmFuZ2U6IGZ1bmN0aW9uIGdldFJlbW92YWxSYW5nZShzZWxlY3Rpb25TdGFydCwgc2VsZWN0aW9uRW5kLCB0ZXh0LCBlbnRpdHlTdGFydCwgZGlyZWN0aW9uKSB7XG4gICAgdmFyIHNlZ21lbnRzID0gdGV4dC5zcGxpdCgnICcpO1xuICAgIHNlZ21lbnRzID0gc2VnbWVudHMubWFwKGZ1bmN0aW9uICggLypzdHJpbmcqL3NlZ21lbnQsIC8qbnVtYmVyKi9paSkge1xuICAgICAgaWYgKGRpcmVjdGlvbiA9PT0gJ2ZvcndhcmQnKSB7XG4gICAgICAgIGlmIChpaSA+IDApIHtcbiAgICAgICAgICByZXR1cm4gJyAnICsgc2VnbWVudDtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChpaSA8IHNlZ21lbnRzLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgcmV0dXJuIHNlZ21lbnQgKyAnICc7XG4gICAgICB9XG4gICAgICByZXR1cm4gc2VnbWVudDtcbiAgICB9KTtcblxuICAgIHZhciBzZWdtZW50U3RhcnQgPSBlbnRpdHlTdGFydDtcbiAgICB2YXIgc2VnbWVudEVuZDtcbiAgICB2YXIgc2VnbWVudDtcbiAgICB2YXIgcmVtb3ZhbFN0YXJ0ID0gbnVsbDtcbiAgICB2YXIgcmVtb3ZhbEVuZCA9IG51bGw7XG5cbiAgICBmb3IgKHZhciBqaiA9IDA7IGpqIDwgc2VnbWVudHMubGVuZ3RoOyBqaisrKSB7XG4gICAgICBzZWdtZW50ID0gc2VnbWVudHNbampdO1xuICAgICAgc2VnbWVudEVuZCA9IHNlZ21lbnRTdGFydCArIHNlZ21lbnQubGVuZ3RoO1xuXG4gICAgICAvLyBPdXIgc2VsZWN0aW9uIG92ZXJsYXBzIHRoaXMgc2VnbWVudC5cbiAgICAgIGlmIChzZWxlY3Rpb25TdGFydCA8IHNlZ21lbnRFbmQgJiYgc2VnbWVudFN0YXJ0IDwgc2VsZWN0aW9uRW5kKSB7XG4gICAgICAgIGlmIChyZW1vdmFsU3RhcnQgIT09IG51bGwpIHtcbiAgICAgICAgICByZW1vdmFsRW5kID0gc2VnbWVudEVuZDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZW1vdmFsU3RhcnQgPSBzZWdtZW50U3RhcnQ7XG4gICAgICAgICAgcmVtb3ZhbEVuZCA9IHNlZ21lbnRFbmQ7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAocmVtb3ZhbFN0YXJ0ICE9PSBudWxsKSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICBzZWdtZW50U3RhcnQgPSBzZWdtZW50RW5kO1xuICAgIH1cblxuICAgIHZhciBlbnRpdHlFbmQgPSBlbnRpdHlTdGFydCArIHRleHQubGVuZ3RoO1xuICAgIHZhciBhdFN0YXJ0ID0gcmVtb3ZhbFN0YXJ0ID09PSBlbnRpdHlTdGFydDtcbiAgICB2YXIgYXRFbmQgPSByZW1vdmFsRW5kID09PSBlbnRpdHlFbmQ7XG5cbiAgICBpZiAoIWF0U3RhcnQgJiYgYXRFbmQgfHwgYXRTdGFydCAmJiAhYXRFbmQpIHtcbiAgICAgIGlmIChkaXJlY3Rpb24gPT09ICdmb3J3YXJkJykge1xuICAgICAgICBpZiAocmVtb3ZhbEVuZCAhPT0gZW50aXR5RW5kKSB7XG4gICAgICAgICAgcmVtb3ZhbEVuZCsrO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKHJlbW92YWxTdGFydCAhPT0gZW50aXR5U3RhcnQpIHtcbiAgICAgICAgcmVtb3ZhbFN0YXJ0LS07XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIHN0YXJ0OiByZW1vdmFsU3RhcnQsXG4gICAgICBlbmQ6IHJlbW92YWxFbmRcbiAgICB9O1xuICB9XG59O1xuXG5tb2R1bGUuZXhwb3J0cyA9IERyYWZ0RW50aXR5U2VnbWVudHM7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/DraftEntitySegments.js\n"); - -/***/ }), - -/***/ "./node_modules/draft-js/lib/DraftFeatureFlags-core.js": -/*!*************************************************************!*\ - !*** ./node_modules/draft-js/lib/DraftFeatureFlags-core.js ***! - \*************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule DraftFeatureFlags-core\n * @format\n * \n */\n\n\n\nvar DraftFeatureFlags = {\n draft_killswitch_allow_nontextnodes: false,\n draft_segmented_entities_behavior: false,\n draft_handlebeforeinput_composed_text: false,\n draft_tree_data_support: false\n};\n\nmodule.exports = DraftFeatureFlags;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0RyYWZ0RmVhdHVyZUZsYWdzLWNvcmUuanM/YTBmNCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWE7O0FBRWI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2RyYWZ0LWpzL2xpYi9EcmFmdEZlYXR1cmVGbGFncy1jb3JlLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgMjAxMy1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuICogQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBCU0Qtc3R5bGUgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS4gQW4gYWRkaXRpb25hbCBncmFudFxuICogb2YgcGF0ZW50IHJpZ2h0cyBjYW4gYmUgZm91bmQgaW4gdGhlIFBBVEVOVFMgZmlsZSBpbiB0aGUgc2FtZSBkaXJlY3RvcnkuXG4gKlxuICogQHByb3ZpZGVzTW9kdWxlIERyYWZ0RmVhdHVyZUZsYWdzLWNvcmVcbiAqIEBmb3JtYXRcbiAqIFxuICovXG5cbid1c2Ugc3RyaWN0JztcblxudmFyIERyYWZ0RmVhdHVyZUZsYWdzID0ge1xuICBkcmFmdF9raWxsc3dpdGNoX2FsbG93X25vbnRleHRub2RlczogZmFsc2UsXG4gIGRyYWZ0X3NlZ21lbnRlZF9lbnRpdGllc19iZWhhdmlvcjogZmFsc2UsXG4gIGRyYWZ0X2hhbmRsZWJlZm9yZWlucHV0X2NvbXBvc2VkX3RleHQ6IGZhbHNlLFxuICBkcmFmdF90cmVlX2RhdGFfc3VwcG9ydDogZmFsc2Vcbn07XG5cbm1vZHVsZS5leHBvcnRzID0gRHJhZnRGZWF0dXJlRmxhZ3M7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/DraftFeatureFlags-core.js\n"); - -/***/ }), - -/***/ "./node_modules/draft-js/lib/DraftFeatureFlags.js": -/*!********************************************************!*\ - !*** ./node_modules/draft-js/lib/DraftFeatureFlags.js ***! - \********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule DraftFeatureFlags\n * @format\n * \n */\n\n\n\nvar DraftFeatureFlags = __webpack_require__(/*! ./DraftFeatureFlags-core */ \"./node_modules/draft-js/lib/DraftFeatureFlags-core.js\");\n\nmodule.exports = DraftFeatureFlags;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0RyYWZ0RmVhdHVyZUZsYWdzLmpzPzcxN2UiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVhOztBQUViLHdCQUF3QixtQkFBTyxDQUFDLHVGQUEwQjs7QUFFMUQiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0RyYWZ0RmVhdHVyZUZsYWdzLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgMjAxMy1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuICogQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBCU0Qtc3R5bGUgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS4gQW4gYWRkaXRpb25hbCBncmFudFxuICogb2YgcGF0ZW50IHJpZ2h0cyBjYW4gYmUgZm91bmQgaW4gdGhlIFBBVEVOVFMgZmlsZSBpbiB0aGUgc2FtZSBkaXJlY3RvcnkuXG4gKlxuICogQHByb3ZpZGVzTW9kdWxlIERyYWZ0RmVhdHVyZUZsYWdzXG4gKiBAZm9ybWF0XG4gKiBcbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbnZhciBEcmFmdEZlYXR1cmVGbGFncyA9IHJlcXVpcmUoJy4vRHJhZnRGZWF0dXJlRmxhZ3MtY29yZScpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IERyYWZ0RmVhdHVyZUZsYWdzOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/DraftFeatureFlags.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\n/**\n * Identify the range to delete from a segmented entity.\n *\n * Rules:\n *\n * Example: 'John F. Kennedy'\n *\n * - Deletion from within any non-whitespace (i.e. ['John', 'F.', 'Kennedy'])\n * will return the range of that text.\n *\n * 'John F. Kennedy' -> 'John F.'\n * ^\n *\n * - Forward deletion of whitespace will remove the following section:\n *\n * 'John F. Kennedy' -> 'John Kennedy'\n * ^\n *\n * - Backward deletion of whitespace will remove the previous section:\n *\n * 'John F. Kennedy' -> 'F. Kennedy'\n * ^\n */\nvar DraftEntitySegments = {\n getRemovalRange: function getRemovalRange(selectionStart, selectionEnd, text, entityStart, direction) {\n var segments = text.split(' ');\n segments = segments.map(function (\n /*string*/\n segment,\n /*number*/\n ii) {\n if (direction === 'forward') {\n if (ii > 0) {\n return ' ' + segment;\n }\n } else if (ii < segments.length - 1) {\n return segment + ' ';\n }\n\n return segment;\n });\n var segmentStart = entityStart;\n var segmentEnd;\n var segment;\n var removalStart = null;\n var removalEnd = null;\n\n for (var jj = 0; jj < segments.length; jj++) {\n segment = segments[jj];\n segmentEnd = segmentStart + segment.length; // Our selection overlaps this segment.\n\n if (selectionStart < segmentEnd && segmentStart < selectionEnd) {\n if (removalStart !== null) {\n removalEnd = segmentEnd;\n } else {\n removalStart = segmentStart;\n removalEnd = segmentEnd;\n }\n } else if (removalStart !== null) {\n break;\n }\n\n segmentStart = segmentEnd;\n }\n\n var entityEnd = entityStart + text.length;\n var atStart = removalStart === entityStart;\n var atEnd = removalEnd === entityEnd;\n\n if (!atStart && atEnd || atStart && !atEnd) {\n if (direction === 'forward') {\n if (removalEnd !== entityEnd) {\n removalEnd++;\n }\n } else if (removalStart !== entityStart) {\n removalStart--;\n }\n }\n\n return {\n start: removalStart,\n end: removalEnd\n };\n }\n};\nmodule.exports = DraftEntitySegments;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0RyYWZ0RW50aXR5U2VnbWVudHMuanM/ZmYyZCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNhOztBQUViO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTs7QUFFQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLG9CQUFvQixzQkFBc0I7QUFDMUM7QUFDQSxpREFBaUQ7O0FBRWpEO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvRHJhZnRFbnRpdHlTZWdtZW50cy5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSBGYWNlYm9vaywgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICogQGZvcm1hdFxuICogXG4gKiBAZW1haWxzIG9uY2FsbCtkcmFmdF9qc1xuICovXG4ndXNlIHN0cmljdCc7XG5cbi8qKlxuICogSWRlbnRpZnkgdGhlIHJhbmdlIHRvIGRlbGV0ZSBmcm9tIGEgc2VnbWVudGVkIGVudGl0eS5cbiAqXG4gKiBSdWxlczpcbiAqXG4gKiAgRXhhbXBsZTogJ0pvaG4gRi4gS2VubmVkeSdcbiAqXG4gKiAgIC0gRGVsZXRpb24gZnJvbSB3aXRoaW4gYW55IG5vbi13aGl0ZXNwYWNlIChpLmUuIFsnSm9obicsICdGLicsICdLZW5uZWR5J10pXG4gKiAgICAgd2lsbCByZXR1cm4gdGhlIHJhbmdlIG9mIHRoYXQgdGV4dC5cbiAqXG4gKiAgICAgICAnSm9obiBGLiBLZW5uZWR5JyAtPiAnSm9obiBGLidcbiAqICAgICAgICAgICAgICAgICAgXlxuICpcbiAqICAgLSBGb3J3YXJkIGRlbGV0aW9uIG9mIHdoaXRlc3BhY2Ugd2lsbCByZW1vdmUgdGhlIGZvbGxvd2luZyBzZWN0aW9uOlxuICpcbiAqICAgICAgICdKb2huIEYuIEtlbm5lZHknIC0+ICdKb2huIEtlbm5lZHknXG4gKiAgICAgICAgICAgIF5cbiAqXG4gKiAgIC0gQmFja3dhcmQgZGVsZXRpb24gb2Ygd2hpdGVzcGFjZSB3aWxsIHJlbW92ZSB0aGUgcHJldmlvdXMgc2VjdGlvbjpcbiAqXG4gKiAgICAgICAnSm9obiBGLiBLZW5uZWR5JyAtPiAnRi4gS2VubmVkeSdcbiAqICAgICAgICAgICAgXlxuICovXG52YXIgRHJhZnRFbnRpdHlTZWdtZW50cyA9IHtcbiAgZ2V0UmVtb3ZhbFJhbmdlOiBmdW5jdGlvbiBnZXRSZW1vdmFsUmFuZ2Uoc2VsZWN0aW9uU3RhcnQsIHNlbGVjdGlvbkVuZCwgdGV4dCwgZW50aXR5U3RhcnQsIGRpcmVjdGlvbikge1xuICAgIHZhciBzZWdtZW50cyA9IHRleHQuc3BsaXQoJyAnKTtcbiAgICBzZWdtZW50cyA9IHNlZ21lbnRzLm1hcChmdW5jdGlvbiAoXG4gICAgLypzdHJpbmcqL1xuICAgIHNlZ21lbnQsXG4gICAgLypudW1iZXIqL1xuICAgIGlpKSB7XG4gICAgICBpZiAoZGlyZWN0aW9uID09PSAnZm9yd2FyZCcpIHtcbiAgICAgICAgaWYgKGlpID4gMCkge1xuICAgICAgICAgIHJldHVybiAnICcgKyBzZWdtZW50O1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKGlpIDwgc2VnbWVudHMubGVuZ3RoIC0gMSkge1xuICAgICAgICByZXR1cm4gc2VnbWVudCArICcgJztcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHNlZ21lbnQ7XG4gICAgfSk7XG4gICAgdmFyIHNlZ21lbnRTdGFydCA9IGVudGl0eVN0YXJ0O1xuICAgIHZhciBzZWdtZW50RW5kO1xuICAgIHZhciBzZWdtZW50O1xuICAgIHZhciByZW1vdmFsU3RhcnQgPSBudWxsO1xuICAgIHZhciByZW1vdmFsRW5kID0gbnVsbDtcblxuICAgIGZvciAodmFyIGpqID0gMDsgamogPCBzZWdtZW50cy5sZW5ndGg7IGpqKyspIHtcbiAgICAgIHNlZ21lbnQgPSBzZWdtZW50c1tqal07XG4gICAgICBzZWdtZW50RW5kID0gc2VnbWVudFN0YXJ0ICsgc2VnbWVudC5sZW5ndGg7IC8vIE91ciBzZWxlY3Rpb24gb3ZlcmxhcHMgdGhpcyBzZWdtZW50LlxuXG4gICAgICBpZiAoc2VsZWN0aW9uU3RhcnQgPCBzZWdtZW50RW5kICYmIHNlZ21lbnRTdGFydCA8IHNlbGVjdGlvbkVuZCkge1xuICAgICAgICBpZiAocmVtb3ZhbFN0YXJ0ICE9PSBudWxsKSB7XG4gICAgICAgICAgcmVtb3ZhbEVuZCA9IHNlZ21lbnRFbmQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmVtb3ZhbFN0YXJ0ID0gc2VnbWVudFN0YXJ0O1xuICAgICAgICAgIHJlbW92YWxFbmQgPSBzZWdtZW50RW5kO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKHJlbW92YWxTdGFydCAhPT0gbnVsbCkge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgc2VnbWVudFN0YXJ0ID0gc2VnbWVudEVuZDtcbiAgICB9XG5cbiAgICB2YXIgZW50aXR5RW5kID0gZW50aXR5U3RhcnQgKyB0ZXh0Lmxlbmd0aDtcbiAgICB2YXIgYXRTdGFydCA9IHJlbW92YWxTdGFydCA9PT0gZW50aXR5U3RhcnQ7XG4gICAgdmFyIGF0RW5kID0gcmVtb3ZhbEVuZCA9PT0gZW50aXR5RW5kO1xuXG4gICAgaWYgKCFhdFN0YXJ0ICYmIGF0RW5kIHx8IGF0U3RhcnQgJiYgIWF0RW5kKSB7XG4gICAgICBpZiAoZGlyZWN0aW9uID09PSAnZm9yd2FyZCcpIHtcbiAgICAgICAgaWYgKHJlbW92YWxFbmQgIT09IGVudGl0eUVuZCkge1xuICAgICAgICAgIHJlbW92YWxFbmQrKztcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChyZW1vdmFsU3RhcnQgIT09IGVudGl0eVN0YXJ0KSB7XG4gICAgICAgIHJlbW92YWxTdGFydC0tO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBzdGFydDogcmVtb3ZhbFN0YXJ0LFxuICAgICAgZW5kOiByZW1vdmFsRW5kXG4gICAgfTtcbiAgfVxufTtcbm1vZHVsZS5leHBvcnRzID0gRHJhZnRFbnRpdHlTZWdtZW50czsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/DraftEntitySegments.js\n"); /***/ }), @@ -343,7 +402,7 @@ eval("/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule DraftJsDebugLogging\n */\n\n\n\nmodule.exports = {\n logSelectionStateFailure: function logSelectionStateFailure() {\n return null;\n }\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0RyYWZ0SnNEZWJ1Z0xvZ2dpbmcuanM/MTVjMyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFYTs7QUFFYjtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2RyYWZ0LWpzL2xpYi9EcmFmdEpzRGVidWdMb2dnaW5nLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQlNELXN0eWxlIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuIEFuIGFkZGl0aW9uYWwgZ3JhbnRcbiAqIG9mIHBhdGVudCByaWdodHMgY2FuIGJlIGZvdW5kIGluIHRoZSBQQVRFTlRTIGZpbGUgaW4gdGhlIHNhbWUgZGlyZWN0b3J5LlxuICpcbiAqIEBwcm92aWRlc01vZHVsZSBEcmFmdEpzRGVidWdMb2dnaW5nXG4gKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG5tb2R1bGUuZXhwb3J0cyA9IHtcbiAgbG9nU2VsZWN0aW9uU3RhdGVGYWlsdXJlOiBmdW5jdGlvbiBsb2dTZWxlY3Rpb25TdGF0ZUZhaWx1cmUoKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn07Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/DraftJsDebugLogging.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n\nmodule.exports = {\n logBlockedSelectionEvent: function logBlockedSelectionEvent() {\n return null;\n },\n logSelectionStateFailure: function logSelectionStateFailure() {\n return null;\n }\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0RyYWZ0SnNEZWJ1Z0xvZ2dpbmcuanM/MTVjMyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNhOztBQUViO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvRHJhZnRKc0RlYnVnTG9nZ2luZy5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSBGYWNlYm9vaywgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICovXG4ndXNlIHN0cmljdCc7XG5cbm1vZHVsZS5leHBvcnRzID0ge1xuICBsb2dCbG9ja2VkU2VsZWN0aW9uRXZlbnQ6IGZ1bmN0aW9uIGxvZ0Jsb2NrZWRTZWxlY3Rpb25FdmVudCgpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfSxcbiAgbG9nU2VsZWN0aW9uU3RhdGVGYWlsdXJlOiBmdW5jdGlvbiBsb2dTZWxlY3Rpb25TdGF0ZUZhaWx1cmUoKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn07Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/DraftJsDebugLogging.js\n"); /***/ }), @@ -355,7 +414,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule DraftModifier\n * @format\n * \n */\n\n\n\nvar CharacterMetadata = __webpack_require__(/*! ./CharacterMetadata */ \"./node_modules/draft-js/lib/CharacterMetadata.js\");\nvar ContentStateInlineStyle = __webpack_require__(/*! ./ContentStateInlineStyle */ \"./node_modules/draft-js/lib/ContentStateInlineStyle.js\");\nvar DraftFeatureFlags = __webpack_require__(/*! ./DraftFeatureFlags */ \"./node_modules/draft-js/lib/DraftFeatureFlags.js\");\nvar Immutable = __webpack_require__(/*! immutable */ \"./node_modules/draft-js/node_modules/immutable/dist/immutable.js\");\n\nvar applyEntityToContentState = __webpack_require__(/*! ./applyEntityToContentState */ \"./node_modules/draft-js/lib/applyEntityToContentState.js\");\nvar getCharacterRemovalRange = __webpack_require__(/*! ./getCharacterRemovalRange */ \"./node_modules/draft-js/lib/getCharacterRemovalRange.js\");\nvar getContentStateFragment = __webpack_require__(/*! ./getContentStateFragment */ \"./node_modules/draft-js/lib/getContentStateFragment.js\");\nvar insertFragmentIntoContentState = __webpack_require__(/*! ./insertFragmentIntoContentState */ \"./node_modules/draft-js/lib/insertFragmentIntoContentState.js\");\nvar insertTextIntoContentState = __webpack_require__(/*! ./insertTextIntoContentState */ \"./node_modules/draft-js/lib/insertTextIntoContentState.js\");\nvar invariant = __webpack_require__(/*! fbjs/lib/invariant */ \"./node_modules/fbjs/lib/invariant.js\");\nvar modifyBlockForContentState = __webpack_require__(/*! ./modifyBlockForContentState */ \"./node_modules/draft-js/lib/modifyBlockForContentState.js\");\nvar removeEntitiesAtEdges = __webpack_require__(/*! ./removeEntitiesAtEdges */ \"./node_modules/draft-js/lib/removeEntitiesAtEdges.js\");\nvar removeRangeFromContentState = __webpack_require__(/*! ./removeRangeFromContentState */ \"./node_modules/draft-js/lib/removeRangeFromContentState.js\");\nvar splitBlockInContentState = __webpack_require__(/*! ./splitBlockInContentState */ \"./node_modules/draft-js/lib/splitBlockInContentState.js\");\n\nvar OrderedSet = Immutable.OrderedSet;\n\n/**\n * `DraftModifier` provides a set of convenience methods that apply\n * modifications to a `ContentState` object based on a target `SelectionState`.\n *\n * Any change to a `ContentState` should be decomposable into a series of\n * transaction functions that apply the required changes and return output\n * `ContentState` objects.\n *\n * These functions encapsulate some of the most common transaction sequences.\n */\n\nvar DraftModifier = {\n replaceText: function replaceText(contentState, rangeToReplace, text, inlineStyle, entityKey) {\n var withoutEntities = removeEntitiesAtEdges(contentState, rangeToReplace);\n var withoutText = removeRangeFromContentState(withoutEntities, rangeToReplace);\n\n var character = CharacterMetadata.create({\n style: inlineStyle || OrderedSet(),\n entity: entityKey || null\n });\n\n return insertTextIntoContentState(withoutText, withoutText.getSelectionAfter(), text, character);\n },\n\n insertText: function insertText(contentState, targetRange, text, inlineStyle, entityKey) {\n !targetRange.isCollapsed() ? true ? invariant(false, 'Target range must be collapsed for `insertText`.') : undefined : void 0;\n return DraftModifier.replaceText(contentState, targetRange, text, inlineStyle, entityKey);\n },\n\n moveText: function moveText(contentState, removalRange, targetRange) {\n var movedFragment = getContentStateFragment(contentState, removalRange);\n\n var afterRemoval = DraftModifier.removeRange(contentState, removalRange, 'backward');\n\n return DraftModifier.replaceWithFragment(afterRemoval, targetRange, movedFragment);\n },\n\n replaceWithFragment: function replaceWithFragment(contentState, targetRange, fragment) {\n var withoutEntities = removeEntitiesAtEdges(contentState, targetRange);\n var withoutText = removeRangeFromContentState(withoutEntities, targetRange);\n\n return insertFragmentIntoContentState(withoutText, withoutText.getSelectionAfter(), fragment);\n },\n\n removeRange: function removeRange(contentState, rangeToRemove, removalDirection) {\n var startKey = void 0,\n endKey = void 0,\n startBlock = void 0,\n endBlock = void 0;\n if (rangeToRemove.getIsBackward()) {\n rangeToRemove = rangeToRemove.merge({\n anchorKey: rangeToRemove.getFocusKey(),\n anchorOffset: rangeToRemove.getFocusOffset(),\n focusKey: rangeToRemove.getAnchorKey(),\n focusOffset: rangeToRemove.getAnchorOffset(),\n isBackward: false\n });\n }\n startKey = rangeToRemove.getAnchorKey();\n endKey = rangeToRemove.getFocusKey();\n startBlock = contentState.getBlockForKey(startKey);\n endBlock = contentState.getBlockForKey(endKey);\n var startOffset = rangeToRemove.getStartOffset();\n var endOffset = rangeToRemove.getEndOffset();\n\n var startEntityKey = startBlock.getEntityAt(startOffset);\n var endEntityKey = endBlock.getEntityAt(endOffset - 1);\n\n // Check whether the selection state overlaps with a single entity.\n // If so, try to remove the appropriate substring of the entity text.\n if (startKey === endKey) {\n if (startEntityKey && startEntityKey === endEntityKey) {\n var _adjustedRemovalRange = getCharacterRemovalRange(contentState.getEntityMap(), startBlock, endBlock, rangeToRemove, removalDirection);\n return removeRangeFromContentState(contentState, _adjustedRemovalRange);\n }\n }\n var adjustedRemovalRange = rangeToRemove;\n if (DraftFeatureFlags.draft_segmented_entities_behavior) {\n // Adjust the selection to properly delete segemented and immutable\n // entities\n adjustedRemovalRange = getCharacterRemovalRange(contentState.getEntityMap(), startBlock, endBlock, rangeToRemove, removalDirection);\n }\n\n var withoutEntities = removeEntitiesAtEdges(contentState, adjustedRemovalRange);\n return removeRangeFromContentState(withoutEntities, adjustedRemovalRange);\n },\n\n splitBlock: function splitBlock(contentState, selectionState) {\n var withoutEntities = removeEntitiesAtEdges(contentState, selectionState);\n var withoutText = removeRangeFromContentState(withoutEntities, selectionState);\n\n return splitBlockInContentState(withoutText, withoutText.getSelectionAfter());\n },\n\n applyInlineStyle: function applyInlineStyle(contentState, selectionState, inlineStyle) {\n return ContentStateInlineStyle.add(contentState, selectionState, inlineStyle);\n },\n\n removeInlineStyle: function removeInlineStyle(contentState, selectionState, inlineStyle) {\n return ContentStateInlineStyle.remove(contentState, selectionState, inlineStyle);\n },\n\n setBlockType: function setBlockType(contentState, selectionState, blockType) {\n return modifyBlockForContentState(contentState, selectionState, function (block) {\n return block.merge({ type: blockType, depth: 0 });\n });\n },\n\n setBlockData: function setBlockData(contentState, selectionState, blockData) {\n return modifyBlockForContentState(contentState, selectionState, function (block) {\n return block.merge({ data: blockData });\n });\n },\n\n mergeBlockData: function mergeBlockData(contentState, selectionState, blockData) {\n return modifyBlockForContentState(contentState, selectionState, function (block) {\n return block.merge({ data: block.getData().merge(blockData) });\n });\n },\n\n applyEntity: function applyEntity(contentState, selectionState, entityKey) {\n var withoutEntities = removeEntitiesAtEdges(contentState, selectionState);\n return applyEntityToContentState(withoutEntities, selectionState, entityKey);\n }\n};\n\nmodule.exports = DraftModifier;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0RyYWZ0TW9kaWZpZXIuanM/N2YyMyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWE7O0FBRWIsd0JBQXdCLG1CQUFPLENBQUMsNkVBQXFCO0FBQ3JELDhCQUE4QixtQkFBTyxDQUFDLHlGQUEyQjtBQUNqRSx3QkFBd0IsbUJBQU8sQ0FBQyw2RUFBcUI7QUFDckQsZ0JBQWdCLG1CQUFPLENBQUMsbUZBQVc7O0FBRW5DLGdDQUFnQyxtQkFBTyxDQUFDLDZGQUE2QjtBQUNyRSwrQkFBK0IsbUJBQU8sQ0FBQywyRkFBNEI7QUFDbkUsOEJBQThCLG1CQUFPLENBQUMseUZBQTJCO0FBQ2pFLHFDQUFxQyxtQkFBTyxDQUFDLHVHQUFrQztBQUMvRSxpQ0FBaUMsbUJBQU8sQ0FBQywrRkFBOEI7QUFDdkUsZ0JBQWdCLG1CQUFPLENBQUMsZ0VBQW9CO0FBQzVDLGlDQUFpQyxtQkFBTyxDQUFDLCtGQUE4QjtBQUN2RSw0QkFBNEIsbUJBQU8sQ0FBQyxxRkFBeUI7QUFDN0Qsa0NBQWtDLG1CQUFPLENBQUMsaUdBQStCO0FBQ3pFLCtCQUErQixtQkFBTyxDQUFDLDJGQUE0Qjs7QUFFbkU7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBLEdBQUc7O0FBRUg7QUFDQSxpQ0FBaUMsS0FBcUMsMEVBQTBFLFNBQWdCO0FBQ2hLO0FBQ0EsR0FBRzs7QUFFSDtBQUNBOztBQUVBOztBQUVBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBOztBQUVBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0EsMEJBQTBCLDRCQUE0QjtBQUN0RCxLQUFLO0FBQ0wsR0FBRzs7QUFFSDtBQUNBO0FBQ0EsMEJBQTBCLGtCQUFrQjtBQUM1QyxLQUFLO0FBQ0wsR0FBRzs7QUFFSDtBQUNBO0FBQ0EsMEJBQTBCLHlDQUF5QztBQUNuRSxLQUFLO0FBQ0wsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2RyYWZ0LWpzL2xpYi9EcmFmdE1vZGlmaWVyLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQlNELXN0eWxlIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuIEFuIGFkZGl0aW9uYWwgZ3JhbnRcbiAqIG9mIHBhdGVudCByaWdodHMgY2FuIGJlIGZvdW5kIGluIHRoZSBQQVRFTlRTIGZpbGUgaW4gdGhlIHNhbWUgZGlyZWN0b3J5LlxuICpcbiAqIEBwcm92aWRlc01vZHVsZSBEcmFmdE1vZGlmaWVyXG4gKiBAZm9ybWF0XG4gKiBcbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbnZhciBDaGFyYWN0ZXJNZXRhZGF0YSA9IHJlcXVpcmUoJy4vQ2hhcmFjdGVyTWV0YWRhdGEnKTtcbnZhciBDb250ZW50U3RhdGVJbmxpbmVTdHlsZSA9IHJlcXVpcmUoJy4vQ29udGVudFN0YXRlSW5saW5lU3R5bGUnKTtcbnZhciBEcmFmdEZlYXR1cmVGbGFncyA9IHJlcXVpcmUoJy4vRHJhZnRGZWF0dXJlRmxhZ3MnKTtcbnZhciBJbW11dGFibGUgPSByZXF1aXJlKCdpbW11dGFibGUnKTtcblxudmFyIGFwcGx5RW50aXR5VG9Db250ZW50U3RhdGUgPSByZXF1aXJlKCcuL2FwcGx5RW50aXR5VG9Db250ZW50U3RhdGUnKTtcbnZhciBnZXRDaGFyYWN0ZXJSZW1vdmFsUmFuZ2UgPSByZXF1aXJlKCcuL2dldENoYXJhY3RlclJlbW92YWxSYW5nZScpO1xudmFyIGdldENvbnRlbnRTdGF0ZUZyYWdtZW50ID0gcmVxdWlyZSgnLi9nZXRDb250ZW50U3RhdGVGcmFnbWVudCcpO1xudmFyIGluc2VydEZyYWdtZW50SW50b0NvbnRlbnRTdGF0ZSA9IHJlcXVpcmUoJy4vaW5zZXJ0RnJhZ21lbnRJbnRvQ29udGVudFN0YXRlJyk7XG52YXIgaW5zZXJ0VGV4dEludG9Db250ZW50U3RhdGUgPSByZXF1aXJlKCcuL2luc2VydFRleHRJbnRvQ29udGVudFN0YXRlJyk7XG52YXIgaW52YXJpYW50ID0gcmVxdWlyZSgnZmJqcy9saWIvaW52YXJpYW50Jyk7XG52YXIgbW9kaWZ5QmxvY2tGb3JDb250ZW50U3RhdGUgPSByZXF1aXJlKCcuL21vZGlmeUJsb2NrRm9yQ29udGVudFN0YXRlJyk7XG52YXIgcmVtb3ZlRW50aXRpZXNBdEVkZ2VzID0gcmVxdWlyZSgnLi9yZW1vdmVFbnRpdGllc0F0RWRnZXMnKTtcbnZhciByZW1vdmVSYW5nZUZyb21Db250ZW50U3RhdGUgPSByZXF1aXJlKCcuL3JlbW92ZVJhbmdlRnJvbUNvbnRlbnRTdGF0ZScpO1xudmFyIHNwbGl0QmxvY2tJbkNvbnRlbnRTdGF0ZSA9IHJlcXVpcmUoJy4vc3BsaXRCbG9ja0luQ29udGVudFN0YXRlJyk7XG5cbnZhciBPcmRlcmVkU2V0ID0gSW1tdXRhYmxlLk9yZGVyZWRTZXQ7XG5cbi8qKlxuICogYERyYWZ0TW9kaWZpZXJgIHByb3ZpZGVzIGEgc2V0IG9mIGNvbnZlbmllbmNlIG1ldGhvZHMgdGhhdCBhcHBseVxuICogbW9kaWZpY2F0aW9ucyB0byBhIGBDb250ZW50U3RhdGVgIG9iamVjdCBiYXNlZCBvbiBhIHRhcmdldCBgU2VsZWN0aW9uU3RhdGVgLlxuICpcbiAqIEFueSBjaGFuZ2UgdG8gYSBgQ29udGVudFN0YXRlYCBzaG91bGQgYmUgZGVjb21wb3NhYmxlIGludG8gYSBzZXJpZXMgb2ZcbiAqIHRyYW5zYWN0aW9uIGZ1bmN0aW9ucyB0aGF0IGFwcGx5IHRoZSByZXF1aXJlZCBjaGFuZ2VzIGFuZCByZXR1cm4gb3V0cHV0XG4gKiBgQ29udGVudFN0YXRlYCBvYmplY3RzLlxuICpcbiAqIFRoZXNlIGZ1bmN0aW9ucyBlbmNhcHN1bGF0ZSBzb21lIG9mIHRoZSBtb3N0IGNvbW1vbiB0cmFuc2FjdGlvbiBzZXF1ZW5jZXMuXG4gKi9cblxudmFyIERyYWZ0TW9kaWZpZXIgPSB7XG4gIHJlcGxhY2VUZXh0OiBmdW5jdGlvbiByZXBsYWNlVGV4dChjb250ZW50U3RhdGUsIHJhbmdlVG9SZXBsYWNlLCB0ZXh0LCBpbmxpbmVTdHlsZSwgZW50aXR5S2V5KSB7XG4gICAgdmFyIHdpdGhvdXRFbnRpdGllcyA9IHJlbW92ZUVudGl0aWVzQXRFZGdlcyhjb250ZW50U3RhdGUsIHJhbmdlVG9SZXBsYWNlKTtcbiAgICB2YXIgd2l0aG91dFRleHQgPSByZW1vdmVSYW5nZUZyb21Db250ZW50U3RhdGUod2l0aG91dEVudGl0aWVzLCByYW5nZVRvUmVwbGFjZSk7XG5cbiAgICB2YXIgY2hhcmFjdGVyID0gQ2hhcmFjdGVyTWV0YWRhdGEuY3JlYXRlKHtcbiAgICAgIHN0eWxlOiBpbmxpbmVTdHlsZSB8fCBPcmRlcmVkU2V0KCksXG4gICAgICBlbnRpdHk6IGVudGl0eUtleSB8fCBudWxsXG4gICAgfSk7XG5cbiAgICByZXR1cm4gaW5zZXJ0VGV4dEludG9Db250ZW50U3RhdGUod2l0aG91dFRleHQsIHdpdGhvdXRUZXh0LmdldFNlbGVjdGlvbkFmdGVyKCksIHRleHQsIGNoYXJhY3Rlcik7XG4gIH0sXG5cbiAgaW5zZXJ0VGV4dDogZnVuY3Rpb24gaW5zZXJ0VGV4dChjb250ZW50U3RhdGUsIHRhcmdldFJhbmdlLCB0ZXh0LCBpbmxpbmVTdHlsZSwgZW50aXR5S2V5KSB7XG4gICAgIXRhcmdldFJhbmdlLmlzQ29sbGFwc2VkKCkgPyBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nID8gaW52YXJpYW50KGZhbHNlLCAnVGFyZ2V0IHJhbmdlIG11c3QgYmUgY29sbGFwc2VkIGZvciBgaW5zZXJ0VGV4dGAuJykgOiBpbnZhcmlhbnQoZmFsc2UpIDogdm9pZCAwO1xuICAgIHJldHVybiBEcmFmdE1vZGlmaWVyLnJlcGxhY2VUZXh0KGNvbnRlbnRTdGF0ZSwgdGFyZ2V0UmFuZ2UsIHRleHQsIGlubGluZVN0eWxlLCBlbnRpdHlLZXkpO1xuICB9LFxuXG4gIG1vdmVUZXh0OiBmdW5jdGlvbiBtb3ZlVGV4dChjb250ZW50U3RhdGUsIHJlbW92YWxSYW5nZSwgdGFyZ2V0UmFuZ2UpIHtcbiAgICB2YXIgbW92ZWRGcmFnbWVudCA9IGdldENvbnRlbnRTdGF0ZUZyYWdtZW50KGNvbnRlbnRTdGF0ZSwgcmVtb3ZhbFJhbmdlKTtcblxuICAgIHZhciBhZnRlclJlbW92YWwgPSBEcmFmdE1vZGlmaWVyLnJlbW92ZVJhbmdlKGNvbnRlbnRTdGF0ZSwgcmVtb3ZhbFJhbmdlLCAnYmFja3dhcmQnKTtcblxuICAgIHJldHVybiBEcmFmdE1vZGlmaWVyLnJlcGxhY2VXaXRoRnJhZ21lbnQoYWZ0ZXJSZW1vdmFsLCB0YXJnZXRSYW5nZSwgbW92ZWRGcmFnbWVudCk7XG4gIH0sXG5cbiAgcmVwbGFjZVdpdGhGcmFnbWVudDogZnVuY3Rpb24gcmVwbGFjZVdpdGhGcmFnbWVudChjb250ZW50U3RhdGUsIHRhcmdldFJhbmdlLCBmcmFnbWVudCkge1xuICAgIHZhciB3aXRob3V0RW50aXRpZXMgPSByZW1vdmVFbnRpdGllc0F0RWRnZXMoY29udGVudFN0YXRlLCB0YXJnZXRSYW5nZSk7XG4gICAgdmFyIHdpdGhvdXRUZXh0ID0gcmVtb3ZlUmFuZ2VGcm9tQ29udGVudFN0YXRlKHdpdGhvdXRFbnRpdGllcywgdGFyZ2V0UmFuZ2UpO1xuXG4gICAgcmV0dXJuIGluc2VydEZyYWdtZW50SW50b0NvbnRlbnRTdGF0ZSh3aXRob3V0VGV4dCwgd2l0aG91dFRleHQuZ2V0U2VsZWN0aW9uQWZ0ZXIoKSwgZnJhZ21lbnQpO1xuICB9LFxuXG4gIHJlbW92ZVJhbmdlOiBmdW5jdGlvbiByZW1vdmVSYW5nZShjb250ZW50U3RhdGUsIHJhbmdlVG9SZW1vdmUsIHJlbW92YWxEaXJlY3Rpb24pIHtcbiAgICB2YXIgc3RhcnRLZXkgPSB2b2lkIDAsXG4gICAgICAgIGVuZEtleSA9IHZvaWQgMCxcbiAgICAgICAgc3RhcnRCbG9jayA9IHZvaWQgMCxcbiAgICAgICAgZW5kQmxvY2sgPSB2b2lkIDA7XG4gICAgaWYgKHJhbmdlVG9SZW1vdmUuZ2V0SXNCYWNrd2FyZCgpKSB7XG4gICAgICByYW5nZVRvUmVtb3ZlID0gcmFuZ2VUb1JlbW92ZS5tZXJnZSh7XG4gICAgICAgIGFuY2hvcktleTogcmFuZ2VUb1JlbW92ZS5nZXRGb2N1c0tleSgpLFxuICAgICAgICBhbmNob3JPZmZzZXQ6IHJhbmdlVG9SZW1vdmUuZ2V0Rm9jdXNPZmZzZXQoKSxcbiAgICAgICAgZm9jdXNLZXk6IHJhbmdlVG9SZW1vdmUuZ2V0QW5jaG9yS2V5KCksXG4gICAgICAgIGZvY3VzT2Zmc2V0OiByYW5nZVRvUmVtb3ZlLmdldEFuY2hvck9mZnNldCgpLFxuICAgICAgICBpc0JhY2t3YXJkOiBmYWxzZVxuICAgICAgfSk7XG4gICAgfVxuICAgIHN0YXJ0S2V5ID0gcmFuZ2VUb1JlbW92ZS5nZXRBbmNob3JLZXkoKTtcbiAgICBlbmRLZXkgPSByYW5nZVRvUmVtb3ZlLmdldEZvY3VzS2V5KCk7XG4gICAgc3RhcnRCbG9jayA9IGNvbnRlbnRTdGF0ZS5nZXRCbG9ja0ZvcktleShzdGFydEtleSk7XG4gICAgZW5kQmxvY2sgPSBjb250ZW50U3RhdGUuZ2V0QmxvY2tGb3JLZXkoZW5kS2V5KTtcbiAgICB2YXIgc3RhcnRPZmZzZXQgPSByYW5nZVRvUmVtb3ZlLmdldFN0YXJ0T2Zmc2V0KCk7XG4gICAgdmFyIGVuZE9mZnNldCA9IHJhbmdlVG9SZW1vdmUuZ2V0RW5kT2Zmc2V0KCk7XG5cbiAgICB2YXIgc3RhcnRFbnRpdHlLZXkgPSBzdGFydEJsb2NrLmdldEVudGl0eUF0KHN0YXJ0T2Zmc2V0KTtcbiAgICB2YXIgZW5kRW50aXR5S2V5ID0gZW5kQmxvY2suZ2V0RW50aXR5QXQoZW5kT2Zmc2V0IC0gMSk7XG5cbiAgICAvLyBDaGVjayB3aGV0aGVyIHRoZSBzZWxlY3Rpb24gc3RhdGUgb3ZlcmxhcHMgd2l0aCBhIHNpbmdsZSBlbnRpdHkuXG4gICAgLy8gSWYgc28sIHRyeSB0byByZW1vdmUgdGhlIGFwcHJvcHJpYXRlIHN1YnN0cmluZyBvZiB0aGUgZW50aXR5IHRleHQuXG4gICAgaWYgKHN0YXJ0S2V5ID09PSBlbmRLZXkpIHtcbiAgICAgIGlmIChzdGFydEVudGl0eUtleSAmJiBzdGFydEVudGl0eUtleSA9PT0gZW5kRW50aXR5S2V5KSB7XG4gICAgICAgIHZhciBfYWRqdXN0ZWRSZW1vdmFsUmFuZ2UgPSBnZXRDaGFyYWN0ZXJSZW1vdmFsUmFuZ2UoY29udGVudFN0YXRlLmdldEVudGl0eU1hcCgpLCBzdGFydEJsb2NrLCBlbmRCbG9jaywgcmFuZ2VUb1JlbW92ZSwgcmVtb3ZhbERpcmVjdGlvbik7XG4gICAgICAgIHJldHVybiByZW1vdmVSYW5nZUZyb21Db250ZW50U3RhdGUoY29udGVudFN0YXRlLCBfYWRqdXN0ZWRSZW1vdmFsUmFuZ2UpO1xuICAgICAgfVxuICAgIH1cbiAgICB2YXIgYWRqdXN0ZWRSZW1vdmFsUmFuZ2UgPSByYW5nZVRvUmVtb3ZlO1xuICAgIGlmIChEcmFmdEZlYXR1cmVGbGFncy5kcmFmdF9zZWdtZW50ZWRfZW50aXRpZXNfYmVoYXZpb3IpIHtcbiAgICAgIC8vIEFkanVzdCB0aGUgc2VsZWN0aW9uIHRvIHByb3Blcmx5IGRlbGV0ZSBzZWdlbWVudGVkIGFuZCBpbW11dGFibGVcbiAgICAgIC8vIGVudGl0aWVzXG4gICAgICBhZGp1c3RlZFJlbW92YWxSYW5nZSA9IGdldENoYXJhY3RlclJlbW92YWxSYW5nZShjb250ZW50U3RhdGUuZ2V0RW50aXR5TWFwKCksIHN0YXJ0QmxvY2ssIGVuZEJsb2NrLCByYW5nZVRvUmVtb3ZlLCByZW1vdmFsRGlyZWN0aW9uKTtcbiAgICB9XG5cbiAgICB2YXIgd2l0aG91dEVudGl0aWVzID0gcmVtb3ZlRW50aXRpZXNBdEVkZ2VzKGNvbnRlbnRTdGF0ZSwgYWRqdXN0ZWRSZW1vdmFsUmFuZ2UpO1xuICAgIHJldHVybiByZW1vdmVSYW5nZUZyb21Db250ZW50U3RhdGUod2l0aG91dEVudGl0aWVzLCBhZGp1c3RlZFJlbW92YWxSYW5nZSk7XG4gIH0sXG5cbiAgc3BsaXRCbG9jazogZnVuY3Rpb24gc3BsaXRCbG9jayhjb250ZW50U3RhdGUsIHNlbGVjdGlvblN0YXRlKSB7XG4gICAgdmFyIHdpdGhvdXRFbnRpdGllcyA9IHJlbW92ZUVudGl0aWVzQXRFZGdlcyhjb250ZW50U3RhdGUsIHNlbGVjdGlvblN0YXRlKTtcbiAgICB2YXIgd2l0aG91dFRleHQgPSByZW1vdmVSYW5nZUZyb21Db250ZW50U3RhdGUod2l0aG91dEVudGl0aWVzLCBzZWxlY3Rpb25TdGF0ZSk7XG5cbiAgICByZXR1cm4gc3BsaXRCbG9ja0luQ29udGVudFN0YXRlKHdpdGhvdXRUZXh0LCB3aXRob3V0VGV4dC5nZXRTZWxlY3Rpb25BZnRlcigpKTtcbiAgfSxcblxuICBhcHBseUlubGluZVN0eWxlOiBmdW5jdGlvbiBhcHBseUlubGluZVN0eWxlKGNvbnRlbnRTdGF0ZSwgc2VsZWN0aW9uU3RhdGUsIGlubGluZVN0eWxlKSB7XG4gICAgcmV0dXJuIENvbnRlbnRTdGF0ZUlubGluZVN0eWxlLmFkZChjb250ZW50U3RhdGUsIHNlbGVjdGlvblN0YXRlLCBpbmxpbmVTdHlsZSk7XG4gIH0sXG5cbiAgcmVtb3ZlSW5saW5lU3R5bGU6IGZ1bmN0aW9uIHJlbW92ZUlubGluZVN0eWxlKGNvbnRlbnRTdGF0ZSwgc2VsZWN0aW9uU3RhdGUsIGlubGluZVN0eWxlKSB7XG4gICAgcmV0dXJuIENvbnRlbnRTdGF0ZUlubGluZVN0eWxlLnJlbW92ZShjb250ZW50U3RhdGUsIHNlbGVjdGlvblN0YXRlLCBpbmxpbmVTdHlsZSk7XG4gIH0sXG5cbiAgc2V0QmxvY2tUeXBlOiBmdW5jdGlvbiBzZXRCbG9ja1R5cGUoY29udGVudFN0YXRlLCBzZWxlY3Rpb25TdGF0ZSwgYmxvY2tUeXBlKSB7XG4gICAgcmV0dXJuIG1vZGlmeUJsb2NrRm9yQ29udGVudFN0YXRlKGNvbnRlbnRTdGF0ZSwgc2VsZWN0aW9uU3RhdGUsIGZ1bmN0aW9uIChibG9jaykge1xuICAgICAgcmV0dXJuIGJsb2NrLm1lcmdlKHsgdHlwZTogYmxvY2tUeXBlLCBkZXB0aDogMCB9KTtcbiAgICB9KTtcbiAgfSxcblxuICBzZXRCbG9ja0RhdGE6IGZ1bmN0aW9uIHNldEJsb2NrRGF0YShjb250ZW50U3RhdGUsIHNlbGVjdGlvblN0YXRlLCBibG9ja0RhdGEpIHtcbiAgICByZXR1cm4gbW9kaWZ5QmxvY2tGb3JDb250ZW50U3RhdGUoY29udGVudFN0YXRlLCBzZWxlY3Rpb25TdGF0ZSwgZnVuY3Rpb24gKGJsb2NrKSB7XG4gICAgICByZXR1cm4gYmxvY2subWVyZ2UoeyBkYXRhOiBibG9ja0RhdGEgfSk7XG4gICAgfSk7XG4gIH0sXG5cbiAgbWVyZ2VCbG9ja0RhdGE6IGZ1bmN0aW9uIG1lcmdlQmxvY2tEYXRhKGNvbnRlbnRTdGF0ZSwgc2VsZWN0aW9uU3RhdGUsIGJsb2NrRGF0YSkge1xuICAgIHJldHVybiBtb2RpZnlCbG9ja0ZvckNvbnRlbnRTdGF0ZShjb250ZW50U3RhdGUsIHNlbGVjdGlvblN0YXRlLCBmdW5jdGlvbiAoYmxvY2spIHtcbiAgICAgIHJldHVybiBibG9jay5tZXJnZSh7IGRhdGE6IGJsb2NrLmdldERhdGEoKS5tZXJnZShibG9ja0RhdGEpIH0pO1xuICAgIH0pO1xuICB9LFxuXG4gIGFwcGx5RW50aXR5OiBmdW5jdGlvbiBhcHBseUVudGl0eShjb250ZW50U3RhdGUsIHNlbGVjdGlvblN0YXRlLCBlbnRpdHlLZXkpIHtcbiAgICB2YXIgd2l0aG91dEVudGl0aWVzID0gcmVtb3ZlRW50aXRpZXNBdEVkZ2VzKGNvbnRlbnRTdGF0ZSwgc2VsZWN0aW9uU3RhdGUpO1xuICAgIHJldHVybiBhcHBseUVudGl0eVRvQ29udGVudFN0YXRlKHdpdGhvdXRFbnRpdGllcywgc2VsZWN0aW9uU3RhdGUsIGVudGl0eUtleSk7XG4gIH1cbn07XG5cbm1vZHVsZS5leHBvcnRzID0gRHJhZnRNb2RpZmllcjsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/DraftModifier.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nvar CharacterMetadata = __webpack_require__(/*! ./CharacterMetadata */ \"./node_modules/draft-js/lib/CharacterMetadata.js\");\n\nvar ContentStateInlineStyle = __webpack_require__(/*! ./ContentStateInlineStyle */ \"./node_modules/draft-js/lib/ContentStateInlineStyle.js\");\n\nvar applyEntityToContentState = __webpack_require__(/*! ./applyEntityToContentState */ \"./node_modules/draft-js/lib/applyEntityToContentState.js\");\n\nvar getCharacterRemovalRange = __webpack_require__(/*! ./getCharacterRemovalRange */ \"./node_modules/draft-js/lib/getCharacterRemovalRange.js\");\n\nvar getContentStateFragment = __webpack_require__(/*! ./getContentStateFragment */ \"./node_modules/draft-js/lib/getContentStateFragment.js\");\n\nvar Immutable = __webpack_require__(/*! immutable */ \"./node_modules/draft-js/node_modules/immutable/dist/immutable.js\");\n\nvar insertFragmentIntoContentState = __webpack_require__(/*! ./insertFragmentIntoContentState */ \"./node_modules/draft-js/lib/insertFragmentIntoContentState.js\");\n\nvar insertTextIntoContentState = __webpack_require__(/*! ./insertTextIntoContentState */ \"./node_modules/draft-js/lib/insertTextIntoContentState.js\");\n\nvar invariant = __webpack_require__(/*! fbjs/lib/invariant */ \"./node_modules/fbjs/lib/invariant.js\");\n\nvar modifyBlockForContentState = __webpack_require__(/*! ./modifyBlockForContentState */ \"./node_modules/draft-js/lib/modifyBlockForContentState.js\");\n\nvar removeEntitiesAtEdges = __webpack_require__(/*! ./removeEntitiesAtEdges */ \"./node_modules/draft-js/lib/removeEntitiesAtEdges.js\");\n\nvar removeRangeFromContentState = __webpack_require__(/*! ./removeRangeFromContentState */ \"./node_modules/draft-js/lib/removeRangeFromContentState.js\");\n\nvar splitBlockInContentState = __webpack_require__(/*! ./splitBlockInContentState */ \"./node_modules/draft-js/lib/splitBlockInContentState.js\");\n\nvar OrderedSet = Immutable.OrderedSet;\n/**\n * `DraftModifier` provides a set of convenience methods that apply\n * modifications to a `ContentState` object based on a target `SelectionState`.\n *\n * Any change to a `ContentState` should be decomposable into a series of\n * transaction functions that apply the required changes and return output\n * `ContentState` objects.\n *\n * These functions encapsulate some of the most common transaction sequences.\n */\n\nvar DraftModifier = {\n replaceText: function replaceText(contentState, rangeToReplace, text, inlineStyle, entityKey) {\n var withoutEntities = removeEntitiesAtEdges(contentState, rangeToReplace);\n var withoutText = removeRangeFromContentState(withoutEntities, rangeToReplace);\n var character = CharacterMetadata.create({\n style: inlineStyle || OrderedSet(),\n entity: entityKey || null\n });\n return insertTextIntoContentState(withoutText, withoutText.getSelectionAfter(), text, character);\n },\n insertText: function insertText(contentState, targetRange, text, inlineStyle, entityKey) {\n !targetRange.isCollapsed() ? true ? invariant(false, 'Target range must be collapsed for `insertText`.') : undefined : void 0;\n return DraftModifier.replaceText(contentState, targetRange, text, inlineStyle, entityKey);\n },\n moveText: function moveText(contentState, removalRange, targetRange) {\n var movedFragment = getContentStateFragment(contentState, removalRange);\n var afterRemoval = DraftModifier.removeRange(contentState, removalRange, 'backward');\n return DraftModifier.replaceWithFragment(afterRemoval, targetRange, movedFragment);\n },\n replaceWithFragment: function replaceWithFragment(contentState, targetRange, fragment) {\n var mergeBlockData = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 'REPLACE_WITH_NEW_DATA';\n var withoutEntities = removeEntitiesAtEdges(contentState, targetRange);\n var withoutText = removeRangeFromContentState(withoutEntities, targetRange);\n return insertFragmentIntoContentState(withoutText, withoutText.getSelectionAfter(), fragment, mergeBlockData);\n },\n removeRange: function removeRange(contentState, rangeToRemove, removalDirection) {\n var startKey, endKey, startBlock, endBlock;\n\n if (rangeToRemove.getIsBackward()) {\n rangeToRemove = rangeToRemove.merge({\n anchorKey: rangeToRemove.getFocusKey(),\n anchorOffset: rangeToRemove.getFocusOffset(),\n focusKey: rangeToRemove.getAnchorKey(),\n focusOffset: rangeToRemove.getAnchorOffset(),\n isBackward: false\n });\n }\n\n startKey = rangeToRemove.getAnchorKey();\n endKey = rangeToRemove.getFocusKey();\n startBlock = contentState.getBlockForKey(startKey);\n endBlock = contentState.getBlockForKey(endKey);\n var startOffset = rangeToRemove.getStartOffset();\n var endOffset = rangeToRemove.getEndOffset();\n var startEntityKey = startBlock.getEntityAt(startOffset);\n var endEntityKey = endBlock.getEntityAt(endOffset - 1); // Check whether the selection state overlaps with a single entity.\n // If so, try to remove the appropriate substring of the entity text.\n\n if (startKey === endKey) {\n if (startEntityKey && startEntityKey === endEntityKey) {\n var adjustedRemovalRange = getCharacterRemovalRange(contentState.getEntityMap(), startBlock, endBlock, rangeToRemove, removalDirection);\n return removeRangeFromContentState(contentState, adjustedRemovalRange);\n }\n }\n\n var withoutEntities = removeEntitiesAtEdges(contentState, rangeToRemove);\n return removeRangeFromContentState(withoutEntities, rangeToRemove);\n },\n splitBlock: function splitBlock(contentState, selectionState) {\n var withoutEntities = removeEntitiesAtEdges(contentState, selectionState);\n var withoutText = removeRangeFromContentState(withoutEntities, selectionState);\n return splitBlockInContentState(withoutText, withoutText.getSelectionAfter());\n },\n applyInlineStyle: function applyInlineStyle(contentState, selectionState, inlineStyle) {\n return ContentStateInlineStyle.add(contentState, selectionState, inlineStyle);\n },\n removeInlineStyle: function removeInlineStyle(contentState, selectionState, inlineStyle) {\n return ContentStateInlineStyle.remove(contentState, selectionState, inlineStyle);\n },\n setBlockType: function setBlockType(contentState, selectionState, blockType) {\n return modifyBlockForContentState(contentState, selectionState, function (block) {\n return block.merge({\n type: blockType,\n depth: 0\n });\n });\n },\n setBlockData: function setBlockData(contentState, selectionState, blockData) {\n return modifyBlockForContentState(contentState, selectionState, function (block) {\n return block.merge({\n data: blockData\n });\n });\n },\n mergeBlockData: function mergeBlockData(contentState, selectionState, blockData) {\n return modifyBlockForContentState(contentState, selectionState, function (block) {\n return block.merge({\n data: block.getData().merge(blockData)\n });\n });\n },\n applyEntity: function applyEntity(contentState, selectionState, entityKey) {\n var withoutEntities = removeEntitiesAtEdges(contentState, selectionState);\n return applyEntityToContentState(withoutEntities, selectionState, entityKey);\n }\n};\nmodule.exports = DraftModifier;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0RyYWZ0TW9kaWZpZXIuanM/N2YyMyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNhOztBQUViLHdCQUF3QixtQkFBTyxDQUFDLDZFQUFxQjs7QUFFckQsOEJBQThCLG1CQUFPLENBQUMseUZBQTJCOztBQUVqRSxnQ0FBZ0MsbUJBQU8sQ0FBQyw2RkFBNkI7O0FBRXJFLCtCQUErQixtQkFBTyxDQUFDLDJGQUE0Qjs7QUFFbkUsOEJBQThCLG1CQUFPLENBQUMseUZBQTJCOztBQUVqRSxnQkFBZ0IsbUJBQU8sQ0FBQyxtRkFBVzs7QUFFbkMscUNBQXFDLG1CQUFPLENBQUMsdUdBQWtDOztBQUUvRSxpQ0FBaUMsbUJBQU8sQ0FBQywrRkFBOEI7O0FBRXZFLGdCQUFnQixtQkFBTyxDQUFDLGdFQUFvQjs7QUFFNUMsaUNBQWlDLG1CQUFPLENBQUMsK0ZBQThCOztBQUV2RSw0QkFBNEIsbUJBQU8sQ0FBQyxxRkFBeUI7O0FBRTdELGtDQUFrQyxtQkFBTyxDQUFDLGlHQUErQjs7QUFFekUsK0JBQStCLG1CQUFPLENBQUMsMkZBQTRCOztBQUVuRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsR0FBRztBQUNIO0FBQ0EsaUNBQWlDLEtBQXFDLDBFQUEwRSxTQUFnQjtBQUNoSztBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyREFBMkQ7QUFDM0Q7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1AsS0FBSztBQUNMLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUCxLQUFLO0FBQ0wsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQLEtBQUs7QUFDTCxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2RyYWZ0LWpzL2xpYi9EcmFmdE1vZGlmaWVyLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIEZhY2Vib29rLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKiBAZm9ybWF0XG4gKiBcbiAqIEBlbWFpbHMgb25jYWxsK2RyYWZ0X2pzXG4gKi9cbid1c2Ugc3RyaWN0JztcblxudmFyIENoYXJhY3Rlck1ldGFkYXRhID0gcmVxdWlyZShcIi4vQ2hhcmFjdGVyTWV0YWRhdGFcIik7XG5cbnZhciBDb250ZW50U3RhdGVJbmxpbmVTdHlsZSA9IHJlcXVpcmUoXCIuL0NvbnRlbnRTdGF0ZUlubGluZVN0eWxlXCIpO1xuXG52YXIgYXBwbHlFbnRpdHlUb0NvbnRlbnRTdGF0ZSA9IHJlcXVpcmUoXCIuL2FwcGx5RW50aXR5VG9Db250ZW50U3RhdGVcIik7XG5cbnZhciBnZXRDaGFyYWN0ZXJSZW1vdmFsUmFuZ2UgPSByZXF1aXJlKFwiLi9nZXRDaGFyYWN0ZXJSZW1vdmFsUmFuZ2VcIik7XG5cbnZhciBnZXRDb250ZW50U3RhdGVGcmFnbWVudCA9IHJlcXVpcmUoXCIuL2dldENvbnRlbnRTdGF0ZUZyYWdtZW50XCIpO1xuXG52YXIgSW1tdXRhYmxlID0gcmVxdWlyZShcImltbXV0YWJsZVwiKTtcblxudmFyIGluc2VydEZyYWdtZW50SW50b0NvbnRlbnRTdGF0ZSA9IHJlcXVpcmUoXCIuL2luc2VydEZyYWdtZW50SW50b0NvbnRlbnRTdGF0ZVwiKTtcblxudmFyIGluc2VydFRleHRJbnRvQ29udGVudFN0YXRlID0gcmVxdWlyZShcIi4vaW5zZXJ0VGV4dEludG9Db250ZW50U3RhdGVcIik7XG5cbnZhciBpbnZhcmlhbnQgPSByZXF1aXJlKFwiZmJqcy9saWIvaW52YXJpYW50XCIpO1xuXG52YXIgbW9kaWZ5QmxvY2tGb3JDb250ZW50U3RhdGUgPSByZXF1aXJlKFwiLi9tb2RpZnlCbG9ja0ZvckNvbnRlbnRTdGF0ZVwiKTtcblxudmFyIHJlbW92ZUVudGl0aWVzQXRFZGdlcyA9IHJlcXVpcmUoXCIuL3JlbW92ZUVudGl0aWVzQXRFZGdlc1wiKTtcblxudmFyIHJlbW92ZVJhbmdlRnJvbUNvbnRlbnRTdGF0ZSA9IHJlcXVpcmUoXCIuL3JlbW92ZVJhbmdlRnJvbUNvbnRlbnRTdGF0ZVwiKTtcblxudmFyIHNwbGl0QmxvY2tJbkNvbnRlbnRTdGF0ZSA9IHJlcXVpcmUoXCIuL3NwbGl0QmxvY2tJbkNvbnRlbnRTdGF0ZVwiKTtcblxudmFyIE9yZGVyZWRTZXQgPSBJbW11dGFibGUuT3JkZXJlZFNldDtcbi8qKlxuICogYERyYWZ0TW9kaWZpZXJgIHByb3ZpZGVzIGEgc2V0IG9mIGNvbnZlbmllbmNlIG1ldGhvZHMgdGhhdCBhcHBseVxuICogbW9kaWZpY2F0aW9ucyB0byBhIGBDb250ZW50U3RhdGVgIG9iamVjdCBiYXNlZCBvbiBhIHRhcmdldCBgU2VsZWN0aW9uU3RhdGVgLlxuICpcbiAqIEFueSBjaGFuZ2UgdG8gYSBgQ29udGVudFN0YXRlYCBzaG91bGQgYmUgZGVjb21wb3NhYmxlIGludG8gYSBzZXJpZXMgb2ZcbiAqIHRyYW5zYWN0aW9uIGZ1bmN0aW9ucyB0aGF0IGFwcGx5IHRoZSByZXF1aXJlZCBjaGFuZ2VzIGFuZCByZXR1cm4gb3V0cHV0XG4gKiBgQ29udGVudFN0YXRlYCBvYmplY3RzLlxuICpcbiAqIFRoZXNlIGZ1bmN0aW9ucyBlbmNhcHN1bGF0ZSBzb21lIG9mIHRoZSBtb3N0IGNvbW1vbiB0cmFuc2FjdGlvbiBzZXF1ZW5jZXMuXG4gKi9cblxudmFyIERyYWZ0TW9kaWZpZXIgPSB7XG4gIHJlcGxhY2VUZXh0OiBmdW5jdGlvbiByZXBsYWNlVGV4dChjb250ZW50U3RhdGUsIHJhbmdlVG9SZXBsYWNlLCB0ZXh0LCBpbmxpbmVTdHlsZSwgZW50aXR5S2V5KSB7XG4gICAgdmFyIHdpdGhvdXRFbnRpdGllcyA9IHJlbW92ZUVudGl0aWVzQXRFZGdlcyhjb250ZW50U3RhdGUsIHJhbmdlVG9SZXBsYWNlKTtcbiAgICB2YXIgd2l0aG91dFRleHQgPSByZW1vdmVSYW5nZUZyb21Db250ZW50U3RhdGUod2l0aG91dEVudGl0aWVzLCByYW5nZVRvUmVwbGFjZSk7XG4gICAgdmFyIGNoYXJhY3RlciA9IENoYXJhY3Rlck1ldGFkYXRhLmNyZWF0ZSh7XG4gICAgICBzdHlsZTogaW5saW5lU3R5bGUgfHwgT3JkZXJlZFNldCgpLFxuICAgICAgZW50aXR5OiBlbnRpdHlLZXkgfHwgbnVsbFxuICAgIH0pO1xuICAgIHJldHVybiBpbnNlcnRUZXh0SW50b0NvbnRlbnRTdGF0ZSh3aXRob3V0VGV4dCwgd2l0aG91dFRleHQuZ2V0U2VsZWN0aW9uQWZ0ZXIoKSwgdGV4dCwgY2hhcmFjdGVyKTtcbiAgfSxcbiAgaW5zZXJ0VGV4dDogZnVuY3Rpb24gaW5zZXJ0VGV4dChjb250ZW50U3RhdGUsIHRhcmdldFJhbmdlLCB0ZXh0LCBpbmxpbmVTdHlsZSwgZW50aXR5S2V5KSB7XG4gICAgIXRhcmdldFJhbmdlLmlzQ29sbGFwc2VkKCkgPyBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIgPyBpbnZhcmlhbnQoZmFsc2UsICdUYXJnZXQgcmFuZ2UgbXVzdCBiZSBjb2xsYXBzZWQgZm9yIGBpbnNlcnRUZXh0YC4nKSA6IGludmFyaWFudChmYWxzZSkgOiB2b2lkIDA7XG4gICAgcmV0dXJuIERyYWZ0TW9kaWZpZXIucmVwbGFjZVRleHQoY29udGVudFN0YXRlLCB0YXJnZXRSYW5nZSwgdGV4dCwgaW5saW5lU3R5bGUsIGVudGl0eUtleSk7XG4gIH0sXG4gIG1vdmVUZXh0OiBmdW5jdGlvbiBtb3ZlVGV4dChjb250ZW50U3RhdGUsIHJlbW92YWxSYW5nZSwgdGFyZ2V0UmFuZ2UpIHtcbiAgICB2YXIgbW92ZWRGcmFnbWVudCA9IGdldENvbnRlbnRTdGF0ZUZyYWdtZW50KGNvbnRlbnRTdGF0ZSwgcmVtb3ZhbFJhbmdlKTtcbiAgICB2YXIgYWZ0ZXJSZW1vdmFsID0gRHJhZnRNb2RpZmllci5yZW1vdmVSYW5nZShjb250ZW50U3RhdGUsIHJlbW92YWxSYW5nZSwgJ2JhY2t3YXJkJyk7XG4gICAgcmV0dXJuIERyYWZ0TW9kaWZpZXIucmVwbGFjZVdpdGhGcmFnbWVudChhZnRlclJlbW92YWwsIHRhcmdldFJhbmdlLCBtb3ZlZEZyYWdtZW50KTtcbiAgfSxcbiAgcmVwbGFjZVdpdGhGcmFnbWVudDogZnVuY3Rpb24gcmVwbGFjZVdpdGhGcmFnbWVudChjb250ZW50U3RhdGUsIHRhcmdldFJhbmdlLCBmcmFnbWVudCkge1xuICAgIHZhciBtZXJnZUJsb2NrRGF0YSA9IGFyZ3VtZW50cy5sZW5ndGggPiAzICYmIGFyZ3VtZW50c1szXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzNdIDogJ1JFUExBQ0VfV0lUSF9ORVdfREFUQSc7XG4gICAgdmFyIHdpdGhvdXRFbnRpdGllcyA9IHJlbW92ZUVudGl0aWVzQXRFZGdlcyhjb250ZW50U3RhdGUsIHRhcmdldFJhbmdlKTtcbiAgICB2YXIgd2l0aG91dFRleHQgPSByZW1vdmVSYW5nZUZyb21Db250ZW50U3RhdGUod2l0aG91dEVudGl0aWVzLCB0YXJnZXRSYW5nZSk7XG4gICAgcmV0dXJuIGluc2VydEZyYWdtZW50SW50b0NvbnRlbnRTdGF0ZSh3aXRob3V0VGV4dCwgd2l0aG91dFRleHQuZ2V0U2VsZWN0aW9uQWZ0ZXIoKSwgZnJhZ21lbnQsIG1lcmdlQmxvY2tEYXRhKTtcbiAgfSxcbiAgcmVtb3ZlUmFuZ2U6IGZ1bmN0aW9uIHJlbW92ZVJhbmdlKGNvbnRlbnRTdGF0ZSwgcmFuZ2VUb1JlbW92ZSwgcmVtb3ZhbERpcmVjdGlvbikge1xuICAgIHZhciBzdGFydEtleSwgZW5kS2V5LCBzdGFydEJsb2NrLCBlbmRCbG9jaztcblxuICAgIGlmIChyYW5nZVRvUmVtb3ZlLmdldElzQmFja3dhcmQoKSkge1xuICAgICAgcmFuZ2VUb1JlbW92ZSA9IHJhbmdlVG9SZW1vdmUubWVyZ2Uoe1xuICAgICAgICBhbmNob3JLZXk6IHJhbmdlVG9SZW1vdmUuZ2V0Rm9jdXNLZXkoKSxcbiAgICAgICAgYW5jaG9yT2Zmc2V0OiByYW5nZVRvUmVtb3ZlLmdldEZvY3VzT2Zmc2V0KCksXG4gICAgICAgIGZvY3VzS2V5OiByYW5nZVRvUmVtb3ZlLmdldEFuY2hvcktleSgpLFxuICAgICAgICBmb2N1c09mZnNldDogcmFuZ2VUb1JlbW92ZS5nZXRBbmNob3JPZmZzZXQoKSxcbiAgICAgICAgaXNCYWNrd2FyZDogZmFsc2VcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHN0YXJ0S2V5ID0gcmFuZ2VUb1JlbW92ZS5nZXRBbmNob3JLZXkoKTtcbiAgICBlbmRLZXkgPSByYW5nZVRvUmVtb3ZlLmdldEZvY3VzS2V5KCk7XG4gICAgc3RhcnRCbG9jayA9IGNvbnRlbnRTdGF0ZS5nZXRCbG9ja0ZvcktleShzdGFydEtleSk7XG4gICAgZW5kQmxvY2sgPSBjb250ZW50U3RhdGUuZ2V0QmxvY2tGb3JLZXkoZW5kS2V5KTtcbiAgICB2YXIgc3RhcnRPZmZzZXQgPSByYW5nZVRvUmVtb3ZlLmdldFN0YXJ0T2Zmc2V0KCk7XG4gICAgdmFyIGVuZE9mZnNldCA9IHJhbmdlVG9SZW1vdmUuZ2V0RW5kT2Zmc2V0KCk7XG4gICAgdmFyIHN0YXJ0RW50aXR5S2V5ID0gc3RhcnRCbG9jay5nZXRFbnRpdHlBdChzdGFydE9mZnNldCk7XG4gICAgdmFyIGVuZEVudGl0eUtleSA9IGVuZEJsb2NrLmdldEVudGl0eUF0KGVuZE9mZnNldCAtIDEpOyAvLyBDaGVjayB3aGV0aGVyIHRoZSBzZWxlY3Rpb24gc3RhdGUgb3ZlcmxhcHMgd2l0aCBhIHNpbmdsZSBlbnRpdHkuXG4gICAgLy8gSWYgc28sIHRyeSB0byByZW1vdmUgdGhlIGFwcHJvcHJpYXRlIHN1YnN0cmluZyBvZiB0aGUgZW50aXR5IHRleHQuXG5cbiAgICBpZiAoc3RhcnRLZXkgPT09IGVuZEtleSkge1xuICAgICAgaWYgKHN0YXJ0RW50aXR5S2V5ICYmIHN0YXJ0RW50aXR5S2V5ID09PSBlbmRFbnRpdHlLZXkpIHtcbiAgICAgICAgdmFyIGFkanVzdGVkUmVtb3ZhbFJhbmdlID0gZ2V0Q2hhcmFjdGVyUmVtb3ZhbFJhbmdlKGNvbnRlbnRTdGF0ZS5nZXRFbnRpdHlNYXAoKSwgc3RhcnRCbG9jaywgZW5kQmxvY2ssIHJhbmdlVG9SZW1vdmUsIHJlbW92YWxEaXJlY3Rpb24pO1xuICAgICAgICByZXR1cm4gcmVtb3ZlUmFuZ2VGcm9tQ29udGVudFN0YXRlKGNvbnRlbnRTdGF0ZSwgYWRqdXN0ZWRSZW1vdmFsUmFuZ2UpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHZhciB3aXRob3V0RW50aXRpZXMgPSByZW1vdmVFbnRpdGllc0F0RWRnZXMoY29udGVudFN0YXRlLCByYW5nZVRvUmVtb3ZlKTtcbiAgICByZXR1cm4gcmVtb3ZlUmFuZ2VGcm9tQ29udGVudFN0YXRlKHdpdGhvdXRFbnRpdGllcywgcmFuZ2VUb1JlbW92ZSk7XG4gIH0sXG4gIHNwbGl0QmxvY2s6IGZ1bmN0aW9uIHNwbGl0QmxvY2soY29udGVudFN0YXRlLCBzZWxlY3Rpb25TdGF0ZSkge1xuICAgIHZhciB3aXRob3V0RW50aXRpZXMgPSByZW1vdmVFbnRpdGllc0F0RWRnZXMoY29udGVudFN0YXRlLCBzZWxlY3Rpb25TdGF0ZSk7XG4gICAgdmFyIHdpdGhvdXRUZXh0ID0gcmVtb3ZlUmFuZ2VGcm9tQ29udGVudFN0YXRlKHdpdGhvdXRFbnRpdGllcywgc2VsZWN0aW9uU3RhdGUpO1xuICAgIHJldHVybiBzcGxpdEJsb2NrSW5Db250ZW50U3RhdGUod2l0aG91dFRleHQsIHdpdGhvdXRUZXh0LmdldFNlbGVjdGlvbkFmdGVyKCkpO1xuICB9LFxuICBhcHBseUlubGluZVN0eWxlOiBmdW5jdGlvbiBhcHBseUlubGluZVN0eWxlKGNvbnRlbnRTdGF0ZSwgc2VsZWN0aW9uU3RhdGUsIGlubGluZVN0eWxlKSB7XG4gICAgcmV0dXJuIENvbnRlbnRTdGF0ZUlubGluZVN0eWxlLmFkZChjb250ZW50U3RhdGUsIHNlbGVjdGlvblN0YXRlLCBpbmxpbmVTdHlsZSk7XG4gIH0sXG4gIHJlbW92ZUlubGluZVN0eWxlOiBmdW5jdGlvbiByZW1vdmVJbmxpbmVTdHlsZShjb250ZW50U3RhdGUsIHNlbGVjdGlvblN0YXRlLCBpbmxpbmVTdHlsZSkge1xuICAgIHJldHVybiBDb250ZW50U3RhdGVJbmxpbmVTdHlsZS5yZW1vdmUoY29udGVudFN0YXRlLCBzZWxlY3Rpb25TdGF0ZSwgaW5saW5lU3R5bGUpO1xuICB9LFxuICBzZXRCbG9ja1R5cGU6IGZ1bmN0aW9uIHNldEJsb2NrVHlwZShjb250ZW50U3RhdGUsIHNlbGVjdGlvblN0YXRlLCBibG9ja1R5cGUpIHtcbiAgICByZXR1cm4gbW9kaWZ5QmxvY2tGb3JDb250ZW50U3RhdGUoY29udGVudFN0YXRlLCBzZWxlY3Rpb25TdGF0ZSwgZnVuY3Rpb24gKGJsb2NrKSB7XG4gICAgICByZXR1cm4gYmxvY2subWVyZ2Uoe1xuICAgICAgICB0eXBlOiBibG9ja1R5cGUsXG4gICAgICAgIGRlcHRoOiAwXG4gICAgICB9KTtcbiAgICB9KTtcbiAgfSxcbiAgc2V0QmxvY2tEYXRhOiBmdW5jdGlvbiBzZXRCbG9ja0RhdGEoY29udGVudFN0YXRlLCBzZWxlY3Rpb25TdGF0ZSwgYmxvY2tEYXRhKSB7XG4gICAgcmV0dXJuIG1vZGlmeUJsb2NrRm9yQ29udGVudFN0YXRlKGNvbnRlbnRTdGF0ZSwgc2VsZWN0aW9uU3RhdGUsIGZ1bmN0aW9uIChibG9jaykge1xuICAgICAgcmV0dXJuIGJsb2NrLm1lcmdlKHtcbiAgICAgICAgZGF0YTogYmxvY2tEYXRhXG4gICAgICB9KTtcbiAgICB9KTtcbiAgfSxcbiAgbWVyZ2VCbG9ja0RhdGE6IGZ1bmN0aW9uIG1lcmdlQmxvY2tEYXRhKGNvbnRlbnRTdGF0ZSwgc2VsZWN0aW9uU3RhdGUsIGJsb2NrRGF0YSkge1xuICAgIHJldHVybiBtb2RpZnlCbG9ja0ZvckNvbnRlbnRTdGF0ZShjb250ZW50U3RhdGUsIHNlbGVjdGlvblN0YXRlLCBmdW5jdGlvbiAoYmxvY2spIHtcbiAgICAgIHJldHVybiBibG9jay5tZXJnZSh7XG4gICAgICAgIGRhdGE6IGJsb2NrLmdldERhdGEoKS5tZXJnZShibG9ja0RhdGEpXG4gICAgICB9KTtcbiAgICB9KTtcbiAgfSxcbiAgYXBwbHlFbnRpdHk6IGZ1bmN0aW9uIGFwcGx5RW50aXR5KGNvbnRlbnRTdGF0ZSwgc2VsZWN0aW9uU3RhdGUsIGVudGl0eUtleSkge1xuICAgIHZhciB3aXRob3V0RW50aXRpZXMgPSByZW1vdmVFbnRpdGllc0F0RWRnZXMoY29udGVudFN0YXRlLCBzZWxlY3Rpb25TdGF0ZSk7XG4gICAgcmV0dXJuIGFwcGx5RW50aXR5VG9Db250ZW50U3RhdGUod2l0aG91dEVudGl0aWVzLCBzZWxlY3Rpb25TdGF0ZSwgZW50aXR5S2V5KTtcbiAgfVxufTtcbm1vZHVsZS5leHBvcnRzID0gRHJhZnRNb2RpZmllcjsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/DraftModifier.js\n"); /***/ }), @@ -367,7 +426,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule DraftOffsetKey\n * @format\n * \n */\n\n\n\nvar KEY_DELIMITER = '-';\n\nvar DraftOffsetKey = {\n encode: function encode(blockKey, decoratorKey, leafKey) {\n return blockKey + KEY_DELIMITER + decoratorKey + KEY_DELIMITER + leafKey;\n },\n\n decode: function decode(offsetKey) {\n var _offsetKey$split = offsetKey.split(KEY_DELIMITER),\n blockKey = _offsetKey$split[0],\n decoratorKey = _offsetKey$split[1],\n leafKey = _offsetKey$split[2];\n\n return {\n blockKey: blockKey,\n decoratorKey: parseInt(decoratorKey, 10),\n leafKey: parseInt(leafKey, 10)\n };\n }\n};\n\nmodule.exports = DraftOffsetKey;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0RyYWZ0T2Zmc2V0S2V5LmpzPzIyYWYiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVhOztBQUViOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvRHJhZnRPZmZzZXRLZXkuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxMy1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuICogQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBCU0Qtc3R5bGUgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS4gQW4gYWRkaXRpb25hbCBncmFudFxuICogb2YgcGF0ZW50IHJpZ2h0cyBjYW4gYmUgZm91bmQgaW4gdGhlIFBBVEVOVFMgZmlsZSBpbiB0aGUgc2FtZSBkaXJlY3RvcnkuXG4gKlxuICogQHByb3ZpZGVzTW9kdWxlIERyYWZ0T2Zmc2V0S2V5XG4gKiBAZm9ybWF0XG4gKiBcbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbnZhciBLRVlfREVMSU1JVEVSID0gJy0nO1xuXG52YXIgRHJhZnRPZmZzZXRLZXkgPSB7XG4gIGVuY29kZTogZnVuY3Rpb24gZW5jb2RlKGJsb2NrS2V5LCBkZWNvcmF0b3JLZXksIGxlYWZLZXkpIHtcbiAgICByZXR1cm4gYmxvY2tLZXkgKyBLRVlfREVMSU1JVEVSICsgZGVjb3JhdG9yS2V5ICsgS0VZX0RFTElNSVRFUiArIGxlYWZLZXk7XG4gIH0sXG5cbiAgZGVjb2RlOiBmdW5jdGlvbiBkZWNvZGUob2Zmc2V0S2V5KSB7XG4gICAgdmFyIF9vZmZzZXRLZXkkc3BsaXQgPSBvZmZzZXRLZXkuc3BsaXQoS0VZX0RFTElNSVRFUiksXG4gICAgICAgIGJsb2NrS2V5ID0gX29mZnNldEtleSRzcGxpdFswXSxcbiAgICAgICAgZGVjb3JhdG9yS2V5ID0gX29mZnNldEtleSRzcGxpdFsxXSxcbiAgICAgICAgbGVhZktleSA9IF9vZmZzZXRLZXkkc3BsaXRbMl07XG5cbiAgICByZXR1cm4ge1xuICAgICAgYmxvY2tLZXk6IGJsb2NrS2V5LFxuICAgICAgZGVjb3JhdG9yS2V5OiBwYXJzZUludChkZWNvcmF0b3JLZXksIDEwKSxcbiAgICAgIGxlYWZLZXk6IHBhcnNlSW50KGxlYWZLZXksIDEwKVxuICAgIH07XG4gIH1cbn07XG5cbm1vZHVsZS5leHBvcnRzID0gRHJhZnRPZmZzZXRLZXk7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/DraftOffsetKey.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nvar KEY_DELIMITER = '-';\nvar DraftOffsetKey = {\n encode: function encode(blockKey, decoratorKey, leafKey) {\n return blockKey + KEY_DELIMITER + decoratorKey + KEY_DELIMITER + leafKey;\n },\n decode: function decode(offsetKey) {\n // Extracts the last two parts of offsetKey and captures the rest in blockKeyParts\n var _offsetKey$split$reve = offsetKey.split(KEY_DELIMITER).reverse(),\n leafKey = _offsetKey$split$reve[0],\n decoratorKey = _offsetKey$split$reve[1],\n blockKeyParts = _offsetKey$split$reve.slice(2);\n\n return {\n // Recomposes the parts of blockKey after reversing them\n blockKey: blockKeyParts.reverse().join(KEY_DELIMITER),\n decoratorKey: parseInt(decoratorKey, 10),\n leafKey: parseInt(leafKey, 10)\n };\n }\n};\nmodule.exports = DraftOffsetKey;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0RyYWZ0T2Zmc2V0S2V5LmpzPzIyYWYiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDYTs7QUFFYjtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2RyYWZ0LWpzL2xpYi9EcmFmdE9mZnNldEtleS5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSBGYWNlYm9vaywgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICogQGZvcm1hdFxuICogXG4gKiBAZW1haWxzIG9uY2FsbCtkcmFmdF9qc1xuICovXG4ndXNlIHN0cmljdCc7XG5cbnZhciBLRVlfREVMSU1JVEVSID0gJy0nO1xudmFyIERyYWZ0T2Zmc2V0S2V5ID0ge1xuICBlbmNvZGU6IGZ1bmN0aW9uIGVuY29kZShibG9ja0tleSwgZGVjb3JhdG9yS2V5LCBsZWFmS2V5KSB7XG4gICAgcmV0dXJuIGJsb2NrS2V5ICsgS0VZX0RFTElNSVRFUiArIGRlY29yYXRvcktleSArIEtFWV9ERUxJTUlURVIgKyBsZWFmS2V5O1xuICB9LFxuICBkZWNvZGU6IGZ1bmN0aW9uIGRlY29kZShvZmZzZXRLZXkpIHtcbiAgICAvLyBFeHRyYWN0cyB0aGUgbGFzdCB0d28gcGFydHMgb2Ygb2Zmc2V0S2V5IGFuZCBjYXB0dXJlcyB0aGUgcmVzdCBpbiBibG9ja0tleVBhcnRzXG4gICAgdmFyIF9vZmZzZXRLZXkkc3BsaXQkcmV2ZSA9IG9mZnNldEtleS5zcGxpdChLRVlfREVMSU1JVEVSKS5yZXZlcnNlKCksXG4gICAgICAgIGxlYWZLZXkgPSBfb2Zmc2V0S2V5JHNwbGl0JHJldmVbMF0sXG4gICAgICAgIGRlY29yYXRvcktleSA9IF9vZmZzZXRLZXkkc3BsaXQkcmV2ZVsxXSxcbiAgICAgICAgYmxvY2tLZXlQYXJ0cyA9IF9vZmZzZXRLZXkkc3BsaXQkcmV2ZS5zbGljZSgyKTtcblxuICAgIHJldHVybiB7XG4gICAgICAvLyBSZWNvbXBvc2VzIHRoZSBwYXJ0cyBvZiBibG9ja0tleSBhZnRlciByZXZlcnNpbmcgdGhlbVxuICAgICAgYmxvY2tLZXk6IGJsb2NrS2V5UGFydHMucmV2ZXJzZSgpLmpvaW4oS0VZX0RFTElNSVRFUiksXG4gICAgICBkZWNvcmF0b3JLZXk6IHBhcnNlSW50KGRlY29yYXRvcktleSwgMTApLFxuICAgICAgbGVhZktleTogcGFyc2VJbnQobGVhZktleSwgMTApXG4gICAgfTtcbiAgfVxufTtcbm1vZHVsZS5leHBvcnRzID0gRHJhZnRPZmZzZXRLZXk7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/DraftOffsetKey.js\n"); /***/ }), @@ -379,7 +438,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule DraftPasteProcessor\n * @format\n * \n */\n\n\n\nvar _assign = __webpack_require__(/*! object-assign */ \"./node_modules/object-assign/index.js\");\n\nvar _extends = _assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar CharacterMetadata = __webpack_require__(/*! ./CharacterMetadata */ \"./node_modules/draft-js/lib/CharacterMetadata.js\");\nvar ContentBlock = __webpack_require__(/*! ./ContentBlock */ \"./node_modules/draft-js/lib/ContentBlock.js\");\nvar ContentBlockNode = __webpack_require__(/*! ./ContentBlockNode */ \"./node_modules/draft-js/lib/ContentBlockNode.js\");\nvar DraftFeatureFlags = __webpack_require__(/*! ./DraftFeatureFlags */ \"./node_modules/draft-js/lib/DraftFeatureFlags.js\");\nvar Immutable = __webpack_require__(/*! immutable */ \"./node_modules/draft-js/node_modules/immutable/dist/immutable.js\");\n\nvar convertFromHTMLtoContentBlocks = __webpack_require__(/*! ./convertFromHTMLToContentBlocks */ \"./node_modules/draft-js/lib/convertFromHTMLToContentBlocks.js\");\nvar generateRandomKey = __webpack_require__(/*! ./generateRandomKey */ \"./node_modules/draft-js/lib/generateRandomKey.js\");\nvar getSafeBodyFromHTML = __webpack_require__(/*! ./getSafeBodyFromHTML */ \"./node_modules/draft-js/lib/getSafeBodyFromHTML.js\");\nvar sanitizeDraftText = __webpack_require__(/*! ./sanitizeDraftText */ \"./node_modules/draft-js/lib/sanitizeDraftText.js\");\n\nvar List = Immutable.List,\n Repeat = Immutable.Repeat;\n\n\nvar experimentalTreeDataSupport = DraftFeatureFlags.draft_tree_data_support;\nvar ContentBlockRecord = experimentalTreeDataSupport ? ContentBlockNode : ContentBlock;\n\nvar DraftPasteProcessor = {\n processHTML: function processHTML(html, blockRenderMap) {\n return convertFromHTMLtoContentBlocks(html, getSafeBodyFromHTML, blockRenderMap);\n },\n processText: function processText(textBlocks, character, type) {\n return textBlocks.reduce(function (acc, textLine, index) {\n textLine = sanitizeDraftText(textLine);\n var key = generateRandomKey();\n\n var blockNodeConfig = {\n key: key,\n type: type,\n text: textLine,\n characterList: List(Repeat(character, textLine.length))\n };\n\n // next block updates previous block\n if (experimentalTreeDataSupport && index !== 0) {\n var prevSiblingIndex = index - 1;\n // update previous block\n var previousBlock = acc[prevSiblingIndex] = acc[prevSiblingIndex].merge({\n nextSibling: key\n });\n blockNodeConfig = _extends({}, blockNodeConfig, {\n prevSibling: previousBlock.getKey()\n });\n }\n\n acc.push(new ContentBlockRecord(blockNodeConfig));\n\n return acc;\n }, []);\n }\n};\n\nmodule.exports = DraftPasteProcessor;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0RyYWZ0UGFzdGVQcm9jZXNzb3IuanM/M2QwOCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWE7O0FBRWIsY0FBYyxtQkFBTyxDQUFDLDREQUFlOztBQUVyQyw2Q0FBNkMsZ0JBQWdCLHNCQUFzQixPQUFPLDJCQUEyQiwwQkFBMEIseURBQXlELDJCQUEyQixFQUFFLEVBQUUsRUFBRSxlQUFlOztBQUV4UCx3QkFBd0IsbUJBQU8sQ0FBQyw2RUFBcUI7QUFDckQsbUJBQW1CLG1CQUFPLENBQUMsbUVBQWdCO0FBQzNDLHVCQUF1QixtQkFBTyxDQUFDLDJFQUFvQjtBQUNuRCx3QkFBd0IsbUJBQU8sQ0FBQyw2RUFBcUI7QUFDckQsZ0JBQWdCLG1CQUFPLENBQUMsbUZBQVc7O0FBRW5DLHFDQUFxQyxtQkFBTyxDQUFDLHVHQUFrQztBQUMvRSx3QkFBd0IsbUJBQU8sQ0FBQyw2RUFBcUI7QUFDckQsMEJBQTBCLG1CQUFPLENBQUMsaUZBQXVCO0FBQ3pELHdCQUF3QixtQkFBTyxDQUFDLDZFQUFxQjs7QUFFckQ7QUFDQTs7O0FBR0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVCxxQ0FBcUM7QUFDckM7QUFDQSxTQUFTO0FBQ1Q7O0FBRUE7O0FBRUE7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvRHJhZnRQYXN0ZVByb2Nlc3Nvci5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXG4gKiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEJTRC1zdHlsZSBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLiBBbiBhZGRpdGlvbmFsIGdyYW50XG4gKiBvZiBwYXRlbnQgcmlnaHRzIGNhbiBiZSBmb3VuZCBpbiB0aGUgUEFURU5UUyBmaWxlIGluIHRoZSBzYW1lIGRpcmVjdG9yeS5cbiAqXG4gKiBAcHJvdmlkZXNNb2R1bGUgRHJhZnRQYXN0ZVByb2Nlc3NvclxuICogQGZvcm1hdFxuICogXG4gKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG52YXIgX2Fzc2lnbiA9IHJlcXVpcmUoJ29iamVjdC1hc3NpZ24nKTtcblxudmFyIF9leHRlbmRzID0gX2Fzc2lnbiB8fCBmdW5jdGlvbiAodGFyZ2V0KSB7IGZvciAodmFyIGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7IHZhciBzb3VyY2UgPSBhcmd1bWVudHNbaV07IGZvciAodmFyIGtleSBpbiBzb3VyY2UpIHsgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzb3VyY2UsIGtleSkpIHsgdGFyZ2V0W2tleV0gPSBzb3VyY2Vba2V5XTsgfSB9IH0gcmV0dXJuIHRhcmdldDsgfTtcblxudmFyIENoYXJhY3Rlck1ldGFkYXRhID0gcmVxdWlyZSgnLi9DaGFyYWN0ZXJNZXRhZGF0YScpO1xudmFyIENvbnRlbnRCbG9jayA9IHJlcXVpcmUoJy4vQ29udGVudEJsb2NrJyk7XG52YXIgQ29udGVudEJsb2NrTm9kZSA9IHJlcXVpcmUoJy4vQ29udGVudEJsb2NrTm9kZScpO1xudmFyIERyYWZ0RmVhdHVyZUZsYWdzID0gcmVxdWlyZSgnLi9EcmFmdEZlYXR1cmVGbGFncycpO1xudmFyIEltbXV0YWJsZSA9IHJlcXVpcmUoJ2ltbXV0YWJsZScpO1xuXG52YXIgY29udmVydEZyb21IVE1MdG9Db250ZW50QmxvY2tzID0gcmVxdWlyZSgnLi9jb252ZXJ0RnJvbUhUTUxUb0NvbnRlbnRCbG9ja3MnKTtcbnZhciBnZW5lcmF0ZVJhbmRvbUtleSA9IHJlcXVpcmUoJy4vZ2VuZXJhdGVSYW5kb21LZXknKTtcbnZhciBnZXRTYWZlQm9keUZyb21IVE1MID0gcmVxdWlyZSgnLi9nZXRTYWZlQm9keUZyb21IVE1MJyk7XG52YXIgc2FuaXRpemVEcmFmdFRleHQgPSByZXF1aXJlKCcuL3Nhbml0aXplRHJhZnRUZXh0Jyk7XG5cbnZhciBMaXN0ID0gSW1tdXRhYmxlLkxpc3QsXG4gICAgUmVwZWF0ID0gSW1tdXRhYmxlLlJlcGVhdDtcblxuXG52YXIgZXhwZXJpbWVudGFsVHJlZURhdGFTdXBwb3J0ID0gRHJhZnRGZWF0dXJlRmxhZ3MuZHJhZnRfdHJlZV9kYXRhX3N1cHBvcnQ7XG52YXIgQ29udGVudEJsb2NrUmVjb3JkID0gZXhwZXJpbWVudGFsVHJlZURhdGFTdXBwb3J0ID8gQ29udGVudEJsb2NrTm9kZSA6IENvbnRlbnRCbG9jaztcblxudmFyIERyYWZ0UGFzdGVQcm9jZXNzb3IgPSB7XG4gIHByb2Nlc3NIVE1MOiBmdW5jdGlvbiBwcm9jZXNzSFRNTChodG1sLCBibG9ja1JlbmRlck1hcCkge1xuICAgIHJldHVybiBjb252ZXJ0RnJvbUhUTUx0b0NvbnRlbnRCbG9ja3MoaHRtbCwgZ2V0U2FmZUJvZHlGcm9tSFRNTCwgYmxvY2tSZW5kZXJNYXApO1xuICB9LFxuICBwcm9jZXNzVGV4dDogZnVuY3Rpb24gcHJvY2Vzc1RleHQodGV4dEJsb2NrcywgY2hhcmFjdGVyLCB0eXBlKSB7XG4gICAgcmV0dXJuIHRleHRCbG9ja3MucmVkdWNlKGZ1bmN0aW9uIChhY2MsIHRleHRMaW5lLCBpbmRleCkge1xuICAgICAgdGV4dExpbmUgPSBzYW5pdGl6ZURyYWZ0VGV4dCh0ZXh0TGluZSk7XG4gICAgICB2YXIga2V5ID0gZ2VuZXJhdGVSYW5kb21LZXkoKTtcblxuICAgICAgdmFyIGJsb2NrTm9kZUNvbmZpZyA9IHtcbiAgICAgICAga2V5OiBrZXksXG4gICAgICAgIHR5cGU6IHR5cGUsXG4gICAgICAgIHRleHQ6IHRleHRMaW5lLFxuICAgICAgICBjaGFyYWN0ZXJMaXN0OiBMaXN0KFJlcGVhdChjaGFyYWN0ZXIsIHRleHRMaW5lLmxlbmd0aCkpXG4gICAgICB9O1xuXG4gICAgICAvLyBuZXh0IGJsb2NrIHVwZGF0ZXMgcHJldmlvdXMgYmxvY2tcbiAgICAgIGlmIChleHBlcmltZW50YWxUcmVlRGF0YVN1cHBvcnQgJiYgaW5kZXggIT09IDApIHtcbiAgICAgICAgdmFyIHByZXZTaWJsaW5nSW5kZXggPSBpbmRleCAtIDE7XG4gICAgICAgIC8vIHVwZGF0ZSBwcmV2aW91cyBibG9ja1xuICAgICAgICB2YXIgcHJldmlvdXNCbG9jayA9IGFjY1twcmV2U2libGluZ0luZGV4XSA9IGFjY1twcmV2U2libGluZ0luZGV4XS5tZXJnZSh7XG4gICAgICAgICAgbmV4dFNpYmxpbmc6IGtleVxuICAgICAgICB9KTtcbiAgICAgICAgYmxvY2tOb2RlQ29uZmlnID0gX2V4dGVuZHMoe30sIGJsb2NrTm9kZUNvbmZpZywge1xuICAgICAgICAgIHByZXZTaWJsaW5nOiBwcmV2aW91c0Jsb2NrLmdldEtleSgpXG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICBhY2MucHVzaChuZXcgQ29udGVudEJsb2NrUmVjb3JkKGJsb2NrTm9kZUNvbmZpZykpO1xuXG4gICAgICByZXR1cm4gYWNjO1xuICAgIH0sIFtdKTtcbiAgfVxufTtcblxubW9kdWxlLmV4cG9ydHMgPSBEcmFmdFBhc3RlUHJvY2Vzc29yOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/DraftPasteProcessor.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar ContentBlock = __webpack_require__(/*! ./ContentBlock */ \"./node_modules/draft-js/lib/ContentBlock.js\");\n\nvar ContentBlockNode = __webpack_require__(/*! ./ContentBlockNode */ \"./node_modules/draft-js/lib/ContentBlockNode.js\");\n\nvar convertFromHTMLToContentBlocks = __webpack_require__(/*! ./convertFromHTMLToContentBlocks */ \"./node_modules/draft-js/lib/convertFromHTMLToContentBlocks.js\");\n\nvar generateRandomKey = __webpack_require__(/*! ./generateRandomKey */ \"./node_modules/draft-js/lib/generateRandomKey.js\");\n\nvar getSafeBodyFromHTML = __webpack_require__(/*! ./getSafeBodyFromHTML */ \"./node_modules/draft-js/lib/getSafeBodyFromHTML.js\");\n\nvar gkx = __webpack_require__(/*! ./gkx */ \"./node_modules/draft-js/lib/gkx.js\");\n\nvar Immutable = __webpack_require__(/*! immutable */ \"./node_modules/draft-js/node_modules/immutable/dist/immutable.js\");\n\nvar sanitizeDraftText = __webpack_require__(/*! ./sanitizeDraftText */ \"./node_modules/draft-js/lib/sanitizeDraftText.js\");\n\nvar List = Immutable.List,\n Repeat = Immutable.Repeat;\nvar experimentalTreeDataSupport = gkx('draft_tree_data_support');\nvar ContentBlockRecord = experimentalTreeDataSupport ? ContentBlockNode : ContentBlock;\nvar DraftPasteProcessor = {\n processHTML: function processHTML(html, blockRenderMap) {\n return convertFromHTMLToContentBlocks(html, getSafeBodyFromHTML, blockRenderMap);\n },\n processText: function processText(textBlocks, character, type) {\n return textBlocks.reduce(function (acc, textLine, index) {\n textLine = sanitizeDraftText(textLine);\n var key = generateRandomKey();\n var blockNodeConfig = {\n key: key,\n type: type,\n text: textLine,\n characterList: List(Repeat(character, textLine.length))\n }; // next block updates previous block\n\n if (experimentalTreeDataSupport && index !== 0) {\n var prevSiblingIndex = index - 1; // update previous block\n\n var previousBlock = acc[prevSiblingIndex] = acc[prevSiblingIndex].merge({\n nextSibling: key\n });\n blockNodeConfig = _objectSpread({}, blockNodeConfig, {\n prevSibling: previousBlock.getKey()\n });\n }\n\n acc.push(new ContentBlockRecord(blockNodeConfig));\n return acc;\n }, []);\n }\n};\nmodule.exports = DraftPasteProcessor;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0RyYWZ0UGFzdGVQcm9jZXNzb3IuanM/M2QwOCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNhOztBQUViLGdDQUFnQyxnQkFBZ0Isc0JBQXNCLE9BQU8sdURBQXVELG1DQUFtQywwREFBMEQsc0ZBQXNGLGdFQUFnRSxFQUFFLEdBQUcsRUFBRSxpQ0FBaUMsMkNBQTJDLEVBQUUsRUFBRSxFQUFFLGVBQWU7O0FBRS9kLDJDQUEyQyxrQkFBa0Isa0NBQWtDLHFFQUFxRSxFQUFFLEVBQUUsT0FBTyxrQkFBa0IsRUFBRSxZQUFZOztBQUUvTSxtQkFBbUIsbUJBQU8sQ0FBQyxtRUFBZ0I7O0FBRTNDLHVCQUF1QixtQkFBTyxDQUFDLDJFQUFvQjs7QUFFbkQscUNBQXFDLG1CQUFPLENBQUMsdUdBQWtDOztBQUUvRSx3QkFBd0IsbUJBQU8sQ0FBQyw2RUFBcUI7O0FBRXJELDBCQUEwQixtQkFBTyxDQUFDLGlGQUF1Qjs7QUFFekQsVUFBVSxtQkFBTyxDQUFDLGlEQUFPOztBQUV6QixnQkFBZ0IsbUJBQU8sQ0FBQyxtRkFBVzs7QUFFbkMsd0JBQXdCLG1CQUFPLENBQUMsNkVBQXFCOztBQUVyRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFROztBQUVSO0FBQ0EseUNBQXlDOztBQUV6QztBQUNBO0FBQ0EsU0FBUztBQUNULDBDQUEwQztBQUMxQztBQUNBLFNBQVM7QUFDVDs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvRHJhZnRQYXN0ZVByb2Nlc3Nvci5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSBGYWNlYm9vaywgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICogQGZvcm1hdFxuICogXG4gKiBAZW1haWxzIG9uY2FsbCtkcmFmdF9qc1xuICovXG4ndXNlIHN0cmljdCc7XG5cbmZ1bmN0aW9uIF9vYmplY3RTcHJlYWQodGFyZ2V0KSB7IGZvciAodmFyIGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7IHZhciBzb3VyY2UgPSBhcmd1bWVudHNbaV0gIT0gbnVsbCA/IGFyZ3VtZW50c1tpXSA6IHt9OyB2YXIgb3duS2V5cyA9IE9iamVjdC5rZXlzKHNvdXJjZSk7IGlmICh0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyA9PT0gJ2Z1bmN0aW9uJykgeyBvd25LZXlzID0gb3duS2V5cy5jb25jYXQoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhzb3VyY2UpLmZpbHRlcihmdW5jdGlvbiAoc3ltKSB7IHJldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHNvdXJjZSwgc3ltKS5lbnVtZXJhYmxlOyB9KSk7IH0gb3duS2V5cy5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHsgX2RlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBzb3VyY2Vba2V5XSk7IH0pOyB9IHJldHVybiB0YXJnZXQ7IH1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnR5KG9iaiwga2V5LCB2YWx1ZSkgeyBpZiAoa2V5IGluIG9iaikgeyBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHsgdmFsdWU6IHZhbHVlLCBlbnVtZXJhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIHdyaXRhYmxlOiB0cnVlIH0pOyB9IGVsc2UgeyBvYmpba2V5XSA9IHZhbHVlOyB9IHJldHVybiBvYmo7IH1cblxudmFyIENvbnRlbnRCbG9jayA9IHJlcXVpcmUoXCIuL0NvbnRlbnRCbG9ja1wiKTtcblxudmFyIENvbnRlbnRCbG9ja05vZGUgPSByZXF1aXJlKFwiLi9Db250ZW50QmxvY2tOb2RlXCIpO1xuXG52YXIgY29udmVydEZyb21IVE1MVG9Db250ZW50QmxvY2tzID0gcmVxdWlyZShcIi4vY29udmVydEZyb21IVE1MVG9Db250ZW50QmxvY2tzXCIpO1xuXG52YXIgZ2VuZXJhdGVSYW5kb21LZXkgPSByZXF1aXJlKFwiLi9nZW5lcmF0ZVJhbmRvbUtleVwiKTtcblxudmFyIGdldFNhZmVCb2R5RnJvbUhUTUwgPSByZXF1aXJlKFwiLi9nZXRTYWZlQm9keUZyb21IVE1MXCIpO1xuXG52YXIgZ2t4ID0gcmVxdWlyZShcIi4vZ2t4XCIpO1xuXG52YXIgSW1tdXRhYmxlID0gcmVxdWlyZShcImltbXV0YWJsZVwiKTtcblxudmFyIHNhbml0aXplRHJhZnRUZXh0ID0gcmVxdWlyZShcIi4vc2FuaXRpemVEcmFmdFRleHRcIik7XG5cbnZhciBMaXN0ID0gSW1tdXRhYmxlLkxpc3QsXG4gICAgUmVwZWF0ID0gSW1tdXRhYmxlLlJlcGVhdDtcbnZhciBleHBlcmltZW50YWxUcmVlRGF0YVN1cHBvcnQgPSBna3goJ2RyYWZ0X3RyZWVfZGF0YV9zdXBwb3J0Jyk7XG52YXIgQ29udGVudEJsb2NrUmVjb3JkID0gZXhwZXJpbWVudGFsVHJlZURhdGFTdXBwb3J0ID8gQ29udGVudEJsb2NrTm9kZSA6IENvbnRlbnRCbG9jaztcbnZhciBEcmFmdFBhc3RlUHJvY2Vzc29yID0ge1xuICBwcm9jZXNzSFRNTDogZnVuY3Rpb24gcHJvY2Vzc0hUTUwoaHRtbCwgYmxvY2tSZW5kZXJNYXApIHtcbiAgICByZXR1cm4gY29udmVydEZyb21IVE1MVG9Db250ZW50QmxvY2tzKGh0bWwsIGdldFNhZmVCb2R5RnJvbUhUTUwsIGJsb2NrUmVuZGVyTWFwKTtcbiAgfSxcbiAgcHJvY2Vzc1RleHQ6IGZ1bmN0aW9uIHByb2Nlc3NUZXh0KHRleHRCbG9ja3MsIGNoYXJhY3RlciwgdHlwZSkge1xuICAgIHJldHVybiB0ZXh0QmxvY2tzLnJlZHVjZShmdW5jdGlvbiAoYWNjLCB0ZXh0TGluZSwgaW5kZXgpIHtcbiAgICAgIHRleHRMaW5lID0gc2FuaXRpemVEcmFmdFRleHQodGV4dExpbmUpO1xuICAgICAgdmFyIGtleSA9IGdlbmVyYXRlUmFuZG9tS2V5KCk7XG4gICAgICB2YXIgYmxvY2tOb2RlQ29uZmlnID0ge1xuICAgICAgICBrZXk6IGtleSxcbiAgICAgICAgdHlwZTogdHlwZSxcbiAgICAgICAgdGV4dDogdGV4dExpbmUsXG4gICAgICAgIGNoYXJhY3Rlckxpc3Q6IExpc3QoUmVwZWF0KGNoYXJhY3RlciwgdGV4dExpbmUubGVuZ3RoKSlcbiAgICAgIH07IC8vIG5leHQgYmxvY2sgdXBkYXRlcyBwcmV2aW91cyBibG9ja1xuXG4gICAgICBpZiAoZXhwZXJpbWVudGFsVHJlZURhdGFTdXBwb3J0ICYmIGluZGV4ICE9PSAwKSB7XG4gICAgICAgIHZhciBwcmV2U2libGluZ0luZGV4ID0gaW5kZXggLSAxOyAvLyB1cGRhdGUgcHJldmlvdXMgYmxvY2tcblxuICAgICAgICB2YXIgcHJldmlvdXNCbG9jayA9IGFjY1twcmV2U2libGluZ0luZGV4XSA9IGFjY1twcmV2U2libGluZ0luZGV4XS5tZXJnZSh7XG4gICAgICAgICAgbmV4dFNpYmxpbmc6IGtleVxuICAgICAgICB9KTtcbiAgICAgICAgYmxvY2tOb2RlQ29uZmlnID0gX29iamVjdFNwcmVhZCh7fSwgYmxvY2tOb2RlQ29uZmlnLCB7XG4gICAgICAgICAgcHJldlNpYmxpbmc6IHByZXZpb3VzQmxvY2suZ2V0S2V5KClcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIGFjYy5wdXNoKG5ldyBDb250ZW50QmxvY2tSZWNvcmQoYmxvY2tOb2RlQ29uZmlnKSk7XG4gICAgICByZXR1cm4gYWNjO1xuICAgIH0sIFtdKTtcbiAgfVxufTtcbm1vZHVsZS5leHBvcnRzID0gRHJhZnRQYXN0ZVByb2Nlc3NvcjsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/DraftPasteProcessor.js\n"); /***/ }), @@ -391,7 +450,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule DraftRemovableWord\n * @format\n * \n */\n\n\n\nvar TokenizeUtil = __webpack_require__(/*! fbjs/lib/TokenizeUtil */ \"./node_modules/fbjs/lib/TokenizeUtil.js\");\n\nvar punctuation = TokenizeUtil.getPunctuation();\n\n// The apostrophe and curly single quotes behave in a curious way: when\n// surrounded on both sides by word characters, they behave as word chars; when\n// either neighbor is punctuation or an end of the string, they behave as\n// punctuation.\nvar CHAMELEON_CHARS = '[\\'\\u2018\\u2019]';\n\n// Remove the underscore, which should count as part of the removable word. The\n// \"chameleon chars\" also count as punctuation in this regex.\nvar WHITESPACE_AND_PUNCTUATION = '\\\\s|(?![_])' + punctuation;\n\nvar DELETE_STRING = '^' + '(?:' + WHITESPACE_AND_PUNCTUATION + ')*' + '(?:' + CHAMELEON_CHARS + '|(?!' + WHITESPACE_AND_PUNCTUATION + ').)*' + '(?:(?!' + WHITESPACE_AND_PUNCTUATION + ').)';\nvar DELETE_REGEX = new RegExp(DELETE_STRING);\n\nvar BACKSPACE_STRING = '(?:(?!' + WHITESPACE_AND_PUNCTUATION + ').)' + '(?:' + CHAMELEON_CHARS + '|(?!' + WHITESPACE_AND_PUNCTUATION + ').)*' + '(?:' + WHITESPACE_AND_PUNCTUATION + ')*' + '$';\nvar BACKSPACE_REGEX = new RegExp(BACKSPACE_STRING);\n\nfunction getRemovableWord(text, isBackward) {\n var matches = isBackward ? BACKSPACE_REGEX.exec(text) : DELETE_REGEX.exec(text);\n return matches ? matches[0] : text;\n}\n\nvar DraftRemovableWord = {\n getBackward: function getBackward(text) {\n return getRemovableWord(text, true);\n },\n\n getForward: function getForward(text) {\n return getRemovableWord(text, false);\n }\n};\n\nmodule.exports = DraftRemovableWord;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0RyYWZ0UmVtb3ZhYmxlV29yZC5qcz80ODVlIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFYTs7QUFFYixtQkFBbUIsbUJBQU8sQ0FBQyxzRUFBdUI7O0FBRWxEOztBQUVBO0FBQ0EsMEVBQTBFO0FBQzFFO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7O0FBRUEiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0RyYWZ0UmVtb3ZhYmxlV29yZC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXG4gKiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEJTRC1zdHlsZSBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLiBBbiBhZGRpdGlvbmFsIGdyYW50XG4gKiBvZiBwYXRlbnQgcmlnaHRzIGNhbiBiZSBmb3VuZCBpbiB0aGUgUEFURU5UUyBmaWxlIGluIHRoZSBzYW1lIGRpcmVjdG9yeS5cbiAqXG4gKiBAcHJvdmlkZXNNb2R1bGUgRHJhZnRSZW1vdmFibGVXb3JkXG4gKiBAZm9ybWF0XG4gKiBcbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbnZhciBUb2tlbml6ZVV0aWwgPSByZXF1aXJlKCdmYmpzL2xpYi9Ub2tlbml6ZVV0aWwnKTtcblxudmFyIHB1bmN0dWF0aW9uID0gVG9rZW5pemVVdGlsLmdldFB1bmN0dWF0aW9uKCk7XG5cbi8vIFRoZSBhcG9zdHJvcGhlIGFuZCBjdXJseSBzaW5nbGUgcXVvdGVzIGJlaGF2ZSBpbiBhIGN1cmlvdXMgd2F5OiB3aGVuXG4vLyBzdXJyb3VuZGVkIG9uIGJvdGggc2lkZXMgYnkgd29yZCBjaGFyYWN0ZXJzLCB0aGV5IGJlaGF2ZSBhcyB3b3JkIGNoYXJzOyB3aGVuXG4vLyBlaXRoZXIgbmVpZ2hib3IgaXMgcHVuY3R1YXRpb24gb3IgYW4gZW5kIG9mIHRoZSBzdHJpbmcsIHRoZXkgYmVoYXZlIGFzXG4vLyBwdW5jdHVhdGlvbi5cbnZhciBDSEFNRUxFT05fQ0hBUlMgPSAnW1xcJ1xcdTIwMThcXHUyMDE5XSc7XG5cbi8vIFJlbW92ZSB0aGUgdW5kZXJzY29yZSwgd2hpY2ggc2hvdWxkIGNvdW50IGFzIHBhcnQgb2YgdGhlIHJlbW92YWJsZSB3b3JkLiBUaGVcbi8vIFwiY2hhbWVsZW9uIGNoYXJzXCIgYWxzbyBjb3VudCBhcyBwdW5jdHVhdGlvbiBpbiB0aGlzIHJlZ2V4LlxudmFyIFdISVRFU1BBQ0VfQU5EX1BVTkNUVUFUSU9OID0gJ1xcXFxzfCg/IVtfXSknICsgcHVuY3R1YXRpb247XG5cbnZhciBERUxFVEVfU1RSSU5HID0gJ14nICsgJyg/OicgKyBXSElURVNQQUNFX0FORF9QVU5DVFVBVElPTiArICcpKicgKyAnKD86JyArIENIQU1FTEVPTl9DSEFSUyArICd8KD8hJyArIFdISVRFU1BBQ0VfQU5EX1BVTkNUVUFUSU9OICsgJykuKSonICsgJyg/Oig/IScgKyBXSElURVNQQUNFX0FORF9QVU5DVFVBVElPTiArICcpLiknO1xudmFyIERFTEVURV9SRUdFWCA9IG5ldyBSZWdFeHAoREVMRVRFX1NUUklORyk7XG5cbnZhciBCQUNLU1BBQ0VfU1RSSU5HID0gJyg/Oig/IScgKyBXSElURVNQQUNFX0FORF9QVU5DVFVBVElPTiArICcpLiknICsgJyg/OicgKyBDSEFNRUxFT05fQ0hBUlMgKyAnfCg/IScgKyBXSElURVNQQUNFX0FORF9QVU5DVFVBVElPTiArICcpLikqJyArICcoPzonICsgV0hJVEVTUEFDRV9BTkRfUFVOQ1RVQVRJT04gKyAnKSonICsgJyQnO1xudmFyIEJBQ0tTUEFDRV9SRUdFWCA9IG5ldyBSZWdFeHAoQkFDS1NQQUNFX1NUUklORyk7XG5cbmZ1bmN0aW9uIGdldFJlbW92YWJsZVdvcmQodGV4dCwgaXNCYWNrd2FyZCkge1xuICB2YXIgbWF0Y2hlcyA9IGlzQmFja3dhcmQgPyBCQUNLU1BBQ0VfUkVHRVguZXhlYyh0ZXh0KSA6IERFTEVURV9SRUdFWC5leGVjKHRleHQpO1xuICByZXR1cm4gbWF0Y2hlcyA/IG1hdGNoZXNbMF0gOiB0ZXh0O1xufVxuXG52YXIgRHJhZnRSZW1vdmFibGVXb3JkID0ge1xuICBnZXRCYWNrd2FyZDogZnVuY3Rpb24gZ2V0QmFja3dhcmQodGV4dCkge1xuICAgIHJldHVybiBnZXRSZW1vdmFibGVXb3JkKHRleHQsIHRydWUpO1xuICB9LFxuXG4gIGdldEZvcndhcmQ6IGZ1bmN0aW9uIGdldEZvcndhcmQodGV4dCkge1xuICAgIHJldHVybiBnZXRSZW1vdmFibGVXb3JkKHRleHQsIGZhbHNlKTtcbiAgfVxufTtcblxubW9kdWxlLmV4cG9ydHMgPSBEcmFmdFJlbW92YWJsZVdvcmQ7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/DraftRemovableWord.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nvar TokenizeUtil = __webpack_require__(/*! fbjs/lib/TokenizeUtil */ \"./node_modules/fbjs/lib/TokenizeUtil.js\");\n\nvar punctuation = TokenizeUtil.getPunctuation(); // The apostrophe and curly single quotes behave in a curious way: when\n// surrounded on both sides by word characters, they behave as word chars; when\n// either neighbor is punctuation or an end of the string, they behave as\n// punctuation.\n\nvar CHAMELEON_CHARS = \"['\\u2018\\u2019]\"; // Remove the underscore, which should count as part of the removable word. The\n// \"chameleon chars\" also count as punctuation in this regex.\n\nvar WHITESPACE_AND_PUNCTUATION = '\\\\s|(?![_])' + punctuation;\nvar DELETE_STRING = '^' + '(?:' + WHITESPACE_AND_PUNCTUATION + ')*' + '(?:' + CHAMELEON_CHARS + '|(?!' + WHITESPACE_AND_PUNCTUATION + ').)*' + '(?:(?!' + WHITESPACE_AND_PUNCTUATION + ').)';\nvar DELETE_REGEX = new RegExp(DELETE_STRING);\nvar BACKSPACE_STRING = '(?:(?!' + WHITESPACE_AND_PUNCTUATION + ').)' + '(?:' + CHAMELEON_CHARS + '|(?!' + WHITESPACE_AND_PUNCTUATION + ').)*' + '(?:' + WHITESPACE_AND_PUNCTUATION + ')*' + '$';\nvar BACKSPACE_REGEX = new RegExp(BACKSPACE_STRING);\n\nfunction getRemovableWord(text, isBackward) {\n var matches = isBackward ? BACKSPACE_REGEX.exec(text) : DELETE_REGEX.exec(text);\n return matches ? matches[0] : text;\n}\n\nvar DraftRemovableWord = {\n getBackward: function getBackward(text) {\n return getRemovableWord(text, true);\n },\n getForward: function getForward(text) {\n return getRemovableWord(text, false);\n }\n};\nmodule.exports = DraftRemovableWord;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0RyYWZ0UmVtb3ZhYmxlV29yZC5qcz80ODVlIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ2E7O0FBRWIsbUJBQW1CLG1CQUFPLENBQUMsc0VBQXVCOztBQUVsRCxnREFBZ0Q7QUFDaEQsMEVBQTBFO0FBQzFFO0FBQ0E7O0FBRUEsd0NBQXdDO0FBQ3hDOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0RyYWZ0UmVtb3ZhYmxlV29yZC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSBGYWNlYm9vaywgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICogQGZvcm1hdFxuICogXG4gKiBAZW1haWxzIG9uY2FsbCtkcmFmdF9qc1xuICovXG4ndXNlIHN0cmljdCc7XG5cbnZhciBUb2tlbml6ZVV0aWwgPSByZXF1aXJlKFwiZmJqcy9saWIvVG9rZW5pemVVdGlsXCIpO1xuXG52YXIgcHVuY3R1YXRpb24gPSBUb2tlbml6ZVV0aWwuZ2V0UHVuY3R1YXRpb24oKTsgLy8gVGhlIGFwb3N0cm9waGUgYW5kIGN1cmx5IHNpbmdsZSBxdW90ZXMgYmVoYXZlIGluIGEgY3VyaW91cyB3YXk6IHdoZW5cbi8vIHN1cnJvdW5kZWQgb24gYm90aCBzaWRlcyBieSB3b3JkIGNoYXJhY3RlcnMsIHRoZXkgYmVoYXZlIGFzIHdvcmQgY2hhcnM7IHdoZW5cbi8vIGVpdGhlciBuZWlnaGJvciBpcyBwdW5jdHVhdGlvbiBvciBhbiBlbmQgb2YgdGhlIHN0cmluZywgdGhleSBiZWhhdmUgYXNcbi8vIHB1bmN0dWF0aW9uLlxuXG52YXIgQ0hBTUVMRU9OX0NIQVJTID0gXCJbJ1xcdTIwMThcXHUyMDE5XVwiOyAvLyBSZW1vdmUgdGhlIHVuZGVyc2NvcmUsIHdoaWNoIHNob3VsZCBjb3VudCBhcyBwYXJ0IG9mIHRoZSByZW1vdmFibGUgd29yZC4gVGhlXG4vLyBcImNoYW1lbGVvbiBjaGFyc1wiIGFsc28gY291bnQgYXMgcHVuY3R1YXRpb24gaW4gdGhpcyByZWdleC5cblxudmFyIFdISVRFU1BBQ0VfQU5EX1BVTkNUVUFUSU9OID0gJ1xcXFxzfCg/IVtfXSknICsgcHVuY3R1YXRpb247XG52YXIgREVMRVRFX1NUUklORyA9ICdeJyArICcoPzonICsgV0hJVEVTUEFDRV9BTkRfUFVOQ1RVQVRJT04gKyAnKSonICsgJyg/OicgKyBDSEFNRUxFT05fQ0hBUlMgKyAnfCg/IScgKyBXSElURVNQQUNFX0FORF9QVU5DVFVBVElPTiArICcpLikqJyArICcoPzooPyEnICsgV0hJVEVTUEFDRV9BTkRfUFVOQ1RVQVRJT04gKyAnKS4pJztcbnZhciBERUxFVEVfUkVHRVggPSBuZXcgUmVnRXhwKERFTEVURV9TVFJJTkcpO1xudmFyIEJBQ0tTUEFDRV9TVFJJTkcgPSAnKD86KD8hJyArIFdISVRFU1BBQ0VfQU5EX1BVTkNUVUFUSU9OICsgJykuKScgKyAnKD86JyArIENIQU1FTEVPTl9DSEFSUyArICd8KD8hJyArIFdISVRFU1BBQ0VfQU5EX1BVTkNUVUFUSU9OICsgJykuKSonICsgJyg/OicgKyBXSElURVNQQUNFX0FORF9QVU5DVFVBVElPTiArICcpKicgKyAnJCc7XG52YXIgQkFDS1NQQUNFX1JFR0VYID0gbmV3IFJlZ0V4cChCQUNLU1BBQ0VfU1RSSU5HKTtcblxuZnVuY3Rpb24gZ2V0UmVtb3ZhYmxlV29yZCh0ZXh0LCBpc0JhY2t3YXJkKSB7XG4gIHZhciBtYXRjaGVzID0gaXNCYWNrd2FyZCA/IEJBQ0tTUEFDRV9SRUdFWC5leGVjKHRleHQpIDogREVMRVRFX1JFR0VYLmV4ZWModGV4dCk7XG4gIHJldHVybiBtYXRjaGVzID8gbWF0Y2hlc1swXSA6IHRleHQ7XG59XG5cbnZhciBEcmFmdFJlbW92YWJsZVdvcmQgPSB7XG4gIGdldEJhY2t3YXJkOiBmdW5jdGlvbiBnZXRCYWNrd2FyZCh0ZXh0KSB7XG4gICAgcmV0dXJuIGdldFJlbW92YWJsZVdvcmQodGV4dCwgdHJ1ZSk7XG4gIH0sXG4gIGdldEZvcndhcmQ6IGZ1bmN0aW9uIGdldEZvcndhcmQodGV4dCkge1xuICAgIHJldHVybiBnZXRSZW1vdmFibGVXb3JkKHRleHQsIGZhbHNlKTtcbiAgfVxufTtcbm1vZHVsZS5leHBvcnRzID0gRHJhZnRSZW1vdmFibGVXb3JkOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/DraftRemovableWord.js\n"); /***/ }), @@ -403,7 +462,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule DraftStringKey\n * @format\n * \n */\n\n\n\nvar DraftStringKey = {\n stringify: function stringify(key) {\n return '_' + String(key);\n },\n\n unstringify: function unstringify(key) {\n return key.slice(1);\n }\n};\n\nmodule.exports = DraftStringKey;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0RyYWZ0U3RyaW5nS2V5LmpzPzc3MmMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVhOztBQUViO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7O0FBRUEiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0RyYWZ0U3RyaW5nS2V5LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQlNELXN0eWxlIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuIEFuIGFkZGl0aW9uYWwgZ3JhbnRcbiAqIG9mIHBhdGVudCByaWdodHMgY2FuIGJlIGZvdW5kIGluIHRoZSBQQVRFTlRTIGZpbGUgaW4gdGhlIHNhbWUgZGlyZWN0b3J5LlxuICpcbiAqIEBwcm92aWRlc01vZHVsZSBEcmFmdFN0cmluZ0tleVxuICogQGZvcm1hdFxuICogXG4gKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG52YXIgRHJhZnRTdHJpbmdLZXkgPSB7XG4gIHN0cmluZ2lmeTogZnVuY3Rpb24gc3RyaW5naWZ5KGtleSkge1xuICAgIHJldHVybiAnXycgKyBTdHJpbmcoa2V5KTtcbiAgfSxcblxuICB1bnN0cmluZ2lmeTogZnVuY3Rpb24gdW5zdHJpbmdpZnkoa2V5KSB7XG4gICAgcmV0dXJuIGtleS5zbGljZSgxKTtcbiAgfVxufTtcblxubW9kdWxlLmV4cG9ydHMgPSBEcmFmdFN0cmluZ0tleTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/DraftStringKey.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nvar DraftStringKey = {\n stringify: function stringify(key) {\n return '_' + String(key);\n },\n unstringify: function unstringify(key) {\n return key.slice(1);\n }\n};\nmodule.exports = DraftStringKey;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0RyYWZ0U3RyaW5nS2V5LmpzPzc3MmMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDYTs7QUFFYjtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvRHJhZnRTdHJpbmdLZXkuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgRmFjZWJvb2ssIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIEBmb3JtYXRcbiAqIFxuICogQGVtYWlscyBvbmNhbGwrZHJhZnRfanNcbiAqL1xuJ3VzZSBzdHJpY3QnO1xuXG52YXIgRHJhZnRTdHJpbmdLZXkgPSB7XG4gIHN0cmluZ2lmeTogZnVuY3Rpb24gc3RyaW5naWZ5KGtleSkge1xuICAgIHJldHVybiAnXycgKyBTdHJpbmcoa2V5KTtcbiAgfSxcbiAgdW5zdHJpbmdpZnk6IGZ1bmN0aW9uIHVuc3RyaW5naWZ5KGtleSkge1xuICAgIHJldHVybiBrZXkuc2xpY2UoMSk7XG4gIH1cbn07XG5tb2R1bGUuZXhwb3J0cyA9IERyYWZ0U3RyaW5nS2V5OyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/DraftStringKey.js\n"); /***/ }), @@ -415,7 +474,19 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\nvar _assign = __webpack_require__(/*! object-assign */ \"./node_modules/object-assign/index.js\");\n\nvar _extends = _assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule DraftTreeAdapter\n * @format\n * \n *\n * This is unstable and not part of the public API and should not be used by\n * production systems. This file may be update/removed without notice.\n */\n\nvar invariant = __webpack_require__(/*! fbjs/lib/invariant */ \"./node_modules/fbjs/lib/invariant.js\");\n\nvar traverseInDepthOrder = function traverseInDepthOrder(blocks, fn) {\n var stack = [].concat(blocks).reverse();\n while (stack.length) {\n var _block = stack.pop();\n\n fn(_block);\n\n var children = _block.children;\n\n !Array.isArray(children) ? true ? invariant(false, 'Invalid tree raw block') : undefined : void 0;\n\n stack = stack.concat([].concat(children.reverse()));\n }\n};\n\nvar isListBlock = function isListBlock(block) {\n if (!(block && block.type)) {\n return false;\n }\n var type = block.type;\n\n return type === 'unordered-list-item' || type === 'ordered-list-item';\n};\n\nvar addDepthToChildren = function addDepthToChildren(block) {\n if (Array.isArray(block.children)) {\n block.children = block.children.map(function (child) {\n return child.type === block.type ? _extends({}, child, { depth: (block.depth || 0) + 1 }) : child;\n });\n }\n};\n\n/**\n * This adapter is intended to be be used as an adapter to draft tree data\n *\n * draft state <=====> draft tree state\n */\nvar DraftTreeAdapter = {\n /**\n * Converts from a tree raw state back to draft raw state\n */\n fromRawTreeStateToRawState: function fromRawTreeStateToRawState(draftTreeState) {\n var blocks = draftTreeState.blocks;\n\n var transformedBlocks = [];\n\n !Array.isArray(blocks) ? true ? invariant(false, 'Invalid raw state') : undefined : void 0;\n\n if (!Array.isArray(blocks) || !blocks.length) {\n return draftTreeState;\n }\n\n traverseInDepthOrder(blocks, function (block) {\n var newBlock = _extends({}, block);\n\n if (isListBlock(block)) {\n newBlock.depth = newBlock.depth || 0;\n addDepthToChildren(block);\n }\n\n delete newBlock.children;\n\n transformedBlocks.push(newBlock);\n });\n\n draftTreeState.blocks = transformedBlocks;\n\n return _extends({}, draftTreeState, {\n blocks: transformedBlocks\n });\n },\n\n\n /**\n * Converts from draft raw state to tree draft state\n */\n fromRawStateToRawTreeState: function fromRawStateToRawTreeState(draftState) {\n var lastListDepthCacheRef = {};\n var transformedBlocks = [];\n\n draftState.blocks.forEach(function (block) {\n var isList = isListBlock(block);\n var depth = block.depth || 0;\n var treeBlock = _extends({}, block, {\n children: []\n });\n\n if (!isList) {\n // reset the cache path\n lastListDepthCacheRef = {};\n transformedBlocks.push(treeBlock);\n return;\n }\n\n // update our depth cache reference path\n lastListDepthCacheRef[depth] = treeBlock;\n\n // if we are greater than zero we must have seen a parent already\n if (depth > 0) {\n var parent = lastListDepthCacheRef[depth - 1];\n\n !parent ? true ? invariant(false, 'Invalid depth for RawDraftContentBlock') : undefined : void 0;\n\n // push nested list blocks\n parent.children.push(treeBlock);\n return;\n }\n\n // push root list blocks\n transformedBlocks.push(treeBlock);\n });\n\n return _extends({}, draftState, {\n blocks: transformedBlocks\n });\n }\n};\n\nmodule.exports = DraftTreeAdapter;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0RyYWZ0VHJlZUFkYXB0ZXIuanM/M2M1NSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBYTs7QUFFYixjQUFjLG1CQUFPLENBQUMsNERBQWU7O0FBRXJDLDZDQUE2QyxnQkFBZ0Isc0JBQXNCLE9BQU8sMkJBQTJCLDBCQUEwQix5REFBeUQsMkJBQTJCLEVBQUUsRUFBRSxFQUFFLGVBQWU7O0FBRXhQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxnQkFBZ0IsbUJBQU8sQ0FBQyxnRUFBb0I7O0FBRTVDO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBLCtCQUErQixLQUFxQyxnREFBZ0QsU0FBZ0I7O0FBRXBJO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0Esb0RBQW9ELFVBQVUsZ0NBQWdDO0FBQzlGLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUEsNkJBQTZCLEtBQXFDLDJDQUEyQyxTQUFnQjs7QUFFN0g7QUFDQTtBQUNBOztBQUVBO0FBQ0EsZ0NBQWdDOztBQUVoQztBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBLEtBQUs7O0FBRUw7O0FBRUEsc0JBQXNCO0FBQ3RCO0FBQ0EsS0FBSztBQUNMLEdBQUc7OztBQUdIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxpQ0FBaUM7QUFDakM7QUFDQSxPQUFPOztBQUVQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSxrQkFBa0IsS0FBcUMsZ0VBQWdFLFNBQWdCOztBQUV2STtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTCxzQkFBc0I7QUFDdEI7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvRHJhZnRUcmVlQWRhcHRlci5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxudmFyIF9hc3NpZ24gPSByZXF1aXJlKCdvYmplY3QtYXNzaWduJyk7XG5cbnZhciBfZXh0ZW5kcyA9IF9hc3NpZ24gfHwgZnVuY3Rpb24gKHRhcmdldCkgeyBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykgeyB2YXIgc291cmNlID0gYXJndW1lbnRzW2ldOyBmb3IgKHZhciBrZXkgaW4gc291cmNlKSB7IGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoc291cmNlLCBrZXkpKSB7IHRhcmdldFtrZXldID0gc291cmNlW2tleV07IH0gfSB9IHJldHVybiB0YXJnZXQ7IH07XG5cbi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXG4gKiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEJTRC1zdHlsZSBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLiBBbiBhZGRpdGlvbmFsIGdyYW50XG4gKiBvZiBwYXRlbnQgcmlnaHRzIGNhbiBiZSBmb3VuZCBpbiB0aGUgUEFURU5UUyBmaWxlIGluIHRoZSBzYW1lIGRpcmVjdG9yeS5cbiAqXG4gKiBAcHJvdmlkZXNNb2R1bGUgRHJhZnRUcmVlQWRhcHRlclxuICogQGZvcm1hdFxuICogXG4gKlxuICogVGhpcyBpcyB1bnN0YWJsZSBhbmQgbm90IHBhcnQgb2YgdGhlIHB1YmxpYyBBUEkgYW5kIHNob3VsZCBub3QgYmUgdXNlZCBieVxuICogcHJvZHVjdGlvbiBzeXN0ZW1zLiBUaGlzIGZpbGUgbWF5IGJlIHVwZGF0ZS9yZW1vdmVkIHdpdGhvdXQgbm90aWNlLlxuICovXG5cbnZhciBpbnZhcmlhbnQgPSByZXF1aXJlKCdmYmpzL2xpYi9pbnZhcmlhbnQnKTtcblxudmFyIHRyYXZlcnNlSW5EZXB0aE9yZGVyID0gZnVuY3Rpb24gdHJhdmVyc2VJbkRlcHRoT3JkZXIoYmxvY2tzLCBmbikge1xuICB2YXIgc3RhY2sgPSBbXS5jb25jYXQoYmxvY2tzKS5yZXZlcnNlKCk7XG4gIHdoaWxlIChzdGFjay5sZW5ndGgpIHtcbiAgICB2YXIgX2Jsb2NrID0gc3RhY2sucG9wKCk7XG5cbiAgICBmbihfYmxvY2spO1xuXG4gICAgdmFyIGNoaWxkcmVuID0gX2Jsb2NrLmNoaWxkcmVuO1xuXG4gICAgIUFycmF5LmlzQXJyYXkoY2hpbGRyZW4pID8gcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyA/IGludmFyaWFudChmYWxzZSwgJ0ludmFsaWQgdHJlZSByYXcgYmxvY2snKSA6IGludmFyaWFudChmYWxzZSkgOiB2b2lkIDA7XG5cbiAgICBzdGFjayA9IHN0YWNrLmNvbmNhdChbXS5jb25jYXQoY2hpbGRyZW4ucmV2ZXJzZSgpKSk7XG4gIH1cbn07XG5cbnZhciBpc0xpc3RCbG9jayA9IGZ1bmN0aW9uIGlzTGlzdEJsb2NrKGJsb2NrKSB7XG4gIGlmICghKGJsb2NrICYmIGJsb2NrLnR5cGUpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHZhciB0eXBlID0gYmxvY2sudHlwZTtcblxuICByZXR1cm4gdHlwZSA9PT0gJ3Vub3JkZXJlZC1saXN0LWl0ZW0nIHx8IHR5cGUgPT09ICdvcmRlcmVkLWxpc3QtaXRlbSc7XG59O1xuXG52YXIgYWRkRGVwdGhUb0NoaWxkcmVuID0gZnVuY3Rpb24gYWRkRGVwdGhUb0NoaWxkcmVuKGJsb2NrKSB7XG4gIGlmIChBcnJheS5pc0FycmF5KGJsb2NrLmNoaWxkcmVuKSkge1xuICAgIGJsb2NrLmNoaWxkcmVuID0gYmxvY2suY2hpbGRyZW4ubWFwKGZ1bmN0aW9uIChjaGlsZCkge1xuICAgICAgcmV0dXJuIGNoaWxkLnR5cGUgPT09IGJsb2NrLnR5cGUgPyBfZXh0ZW5kcyh7fSwgY2hpbGQsIHsgZGVwdGg6IChibG9jay5kZXB0aCB8fCAwKSArIDEgfSkgOiBjaGlsZDtcbiAgICB9KTtcbiAgfVxufTtcblxuLyoqXG4gKiBUaGlzIGFkYXB0ZXIgaXMgaW50ZW5kZWQgdG8gYmUgYmUgdXNlZCBhcyBhbiBhZGFwdGVyIHRvIGRyYWZ0IHRyZWUgZGF0YVxuICpcbiAqIGRyYWZ0IHN0YXRlIDw9PT09PT4gZHJhZnQgdHJlZSBzdGF0ZVxuICovXG52YXIgRHJhZnRUcmVlQWRhcHRlciA9IHtcbiAgLyoqXG4gICAqIENvbnZlcnRzIGZyb20gYSB0cmVlIHJhdyBzdGF0ZSBiYWNrIHRvICBkcmFmdCByYXcgc3RhdGVcbiAgICovXG4gIGZyb21SYXdUcmVlU3RhdGVUb1Jhd1N0YXRlOiBmdW5jdGlvbiBmcm9tUmF3VHJlZVN0YXRlVG9SYXdTdGF0ZShkcmFmdFRyZWVTdGF0ZSkge1xuICAgIHZhciBibG9ja3MgPSBkcmFmdFRyZWVTdGF0ZS5ibG9ja3M7XG5cbiAgICB2YXIgdHJhbnNmb3JtZWRCbG9ja3MgPSBbXTtcblxuICAgICFBcnJheS5pc0FycmF5KGJsb2NrcykgPyBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nID8gaW52YXJpYW50KGZhbHNlLCAnSW52YWxpZCByYXcgc3RhdGUnKSA6IGludmFyaWFudChmYWxzZSkgOiB2b2lkIDA7XG5cbiAgICBpZiAoIUFycmF5LmlzQXJyYXkoYmxvY2tzKSB8fCAhYmxvY2tzLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIGRyYWZ0VHJlZVN0YXRlO1xuICAgIH1cblxuICAgIHRyYXZlcnNlSW5EZXB0aE9yZGVyKGJsb2NrcywgZnVuY3Rpb24gKGJsb2NrKSB7XG4gICAgICB2YXIgbmV3QmxvY2sgPSBfZXh0ZW5kcyh7fSwgYmxvY2spO1xuXG4gICAgICBpZiAoaXNMaXN0QmxvY2soYmxvY2spKSB7XG4gICAgICAgIG5ld0Jsb2NrLmRlcHRoID0gbmV3QmxvY2suZGVwdGggfHwgMDtcbiAgICAgICAgYWRkRGVwdGhUb0NoaWxkcmVuKGJsb2NrKTtcbiAgICAgIH1cblxuICAgICAgZGVsZXRlIG5ld0Jsb2NrLmNoaWxkcmVuO1xuXG4gICAgICB0cmFuc2Zvcm1lZEJsb2Nrcy5wdXNoKG5ld0Jsb2NrKTtcbiAgICB9KTtcblxuICAgIGRyYWZ0VHJlZVN0YXRlLmJsb2NrcyA9IHRyYW5zZm9ybWVkQmxvY2tzO1xuXG4gICAgcmV0dXJuIF9leHRlbmRzKHt9LCBkcmFmdFRyZWVTdGF0ZSwge1xuICAgICAgYmxvY2tzOiB0cmFuc2Zvcm1lZEJsb2Nrc1xuICAgIH0pO1xuICB9LFxuXG5cbiAgLyoqXG4gICAqIENvbnZlcnRzIGZyb20gZHJhZnQgcmF3IHN0YXRlIHRvIHRyZWUgZHJhZnQgc3RhdGVcbiAgICovXG4gIGZyb21SYXdTdGF0ZVRvUmF3VHJlZVN0YXRlOiBmdW5jdGlvbiBmcm9tUmF3U3RhdGVUb1Jhd1RyZWVTdGF0ZShkcmFmdFN0YXRlKSB7XG4gICAgdmFyIGxhc3RMaXN0RGVwdGhDYWNoZVJlZiA9IHt9O1xuICAgIHZhciB0cmFuc2Zvcm1lZEJsb2NrcyA9IFtdO1xuXG4gICAgZHJhZnRTdGF0ZS5ibG9ja3MuZm9yRWFjaChmdW5jdGlvbiAoYmxvY2spIHtcbiAgICAgIHZhciBpc0xpc3QgPSBpc0xpc3RCbG9jayhibG9jayk7XG4gICAgICB2YXIgZGVwdGggPSBibG9jay5kZXB0aCB8fCAwO1xuICAgICAgdmFyIHRyZWVCbG9jayA9IF9leHRlbmRzKHt9LCBibG9jaywge1xuICAgICAgICBjaGlsZHJlbjogW11cbiAgICAgIH0pO1xuXG4gICAgICBpZiAoIWlzTGlzdCkge1xuICAgICAgICAvLyByZXNldCB0aGUgY2FjaGUgcGF0aFxuICAgICAgICBsYXN0TGlzdERlcHRoQ2FjaGVSZWYgPSB7fTtcbiAgICAgICAgdHJhbnNmb3JtZWRCbG9ja3MucHVzaCh0cmVlQmxvY2spO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIC8vIHVwZGF0ZSBvdXIgZGVwdGggY2FjaGUgcmVmZXJlbmNlIHBhdGhcbiAgICAgIGxhc3RMaXN0RGVwdGhDYWNoZVJlZltkZXB0aF0gPSB0cmVlQmxvY2s7XG5cbiAgICAgIC8vIGlmIHdlIGFyZSBncmVhdGVyIHRoYW4gemVybyB3ZSBtdXN0IGhhdmUgc2VlbiBhIHBhcmVudCBhbHJlYWR5XG4gICAgICBpZiAoZGVwdGggPiAwKSB7XG4gICAgICAgIHZhciBwYXJlbnQgPSBsYXN0TGlzdERlcHRoQ2FjaGVSZWZbZGVwdGggLSAxXTtcblxuICAgICAgICAhcGFyZW50ID8gcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyA/IGludmFyaWFudChmYWxzZSwgJ0ludmFsaWQgZGVwdGggZm9yIFJhd0RyYWZ0Q29udGVudEJsb2NrJykgOiBpbnZhcmlhbnQoZmFsc2UpIDogdm9pZCAwO1xuXG4gICAgICAgIC8vIHB1c2ggbmVzdGVkIGxpc3QgYmxvY2tzXG4gICAgICAgIHBhcmVudC5jaGlsZHJlbi5wdXNoKHRyZWVCbG9jayk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgLy8gcHVzaCByb290IGxpc3QgYmxvY2tzXG4gICAgICB0cmFuc2Zvcm1lZEJsb2Nrcy5wdXNoKHRyZWVCbG9jayk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gX2V4dGVuZHMoe30sIGRyYWZ0U3RhdGUsIHtcbiAgICAgIGJsb2NrczogdHJhbnNmb3JtZWRCbG9ja3NcbiAgICB9KTtcbiAgfVxufTtcblxubW9kdWxlLmV4cG9ydHMgPSBEcmFmdFRyZWVBZGFwdGVyOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/DraftTreeAdapter.js\n"); +eval("\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n *\n * This is unstable and not part of the public API and should not be used by\n * production systems. This file may be update/removed without notice.\n */\nvar generateRandomKey = __webpack_require__(/*! ./generateRandomKey */ \"./node_modules/draft-js/lib/generateRandomKey.js\");\n\nvar invariant = __webpack_require__(/*! fbjs/lib/invariant */ \"./node_modules/fbjs/lib/invariant.js\");\n\nvar traverseInDepthOrder = function traverseInDepthOrder(blocks, fn) {\n var stack = [].concat(blocks).reverse();\n\n while (stack.length) {\n var _block = stack.pop();\n\n fn(_block);\n var children = _block.children;\n !Array.isArray(children) ? true ? invariant(false, 'Invalid tree raw block') : undefined : void 0;\n stack = stack.concat([].concat(children.reverse()));\n }\n};\n\nvar isListBlock = function isListBlock(block) {\n if (!(block && block.type)) {\n return false;\n }\n\n var type = block.type;\n return type === 'unordered-list-item' || type === 'ordered-list-item';\n};\n\nvar addDepthToChildren = function addDepthToChildren(block) {\n if (Array.isArray(block.children)) {\n block.children = block.children.map(function (child) {\n return child.type === block.type ? _objectSpread({}, child, {\n depth: (block.depth || 0) + 1\n }) : child;\n });\n }\n};\n/**\n * This adapter is intended to be be used as an adapter to draft tree data\n *\n * draft state <=====> draft tree state\n */\n\n\nvar DraftTreeAdapter = {\n /**\n * Converts from a tree raw state back to draft raw state\n */\n fromRawTreeStateToRawState: function fromRawTreeStateToRawState(draftTreeState) {\n var blocks = draftTreeState.blocks;\n var transformedBlocks = [];\n !Array.isArray(blocks) ? true ? invariant(false, 'Invalid raw state') : undefined : void 0;\n\n if (!Array.isArray(blocks) || !blocks.length) {\n return draftTreeState;\n }\n\n traverseInDepthOrder(blocks, function (block) {\n var newBlock = _objectSpread({}, block);\n\n if (isListBlock(block)) {\n newBlock.depth = newBlock.depth || 0;\n addDepthToChildren(block); // if it's a non-leaf node, we don't do anything else\n\n if (block.children != null && block.children.length > 0) {\n return;\n }\n }\n\n delete newBlock.children;\n transformedBlocks.push(newBlock);\n });\n draftTreeState.blocks = transformedBlocks;\n return _objectSpread({}, draftTreeState, {\n blocks: transformedBlocks\n });\n },\n\n /**\n * Converts from draft raw state to tree draft state\n */\n fromRawStateToRawTreeState: function fromRawStateToRawTreeState(draftState) {\n var transformedBlocks = [];\n var parentStack = [];\n draftState.blocks.forEach(function (block) {\n var isList = isListBlock(block);\n var depth = block.depth || 0;\n\n var treeBlock = _objectSpread({}, block, {\n children: []\n });\n\n if (!isList) {\n transformedBlocks.push(treeBlock);\n return;\n }\n\n var lastParent = parentStack[0]; // block is non-nested & there are no nested blocks, directly push block\n\n if (lastParent == null && depth === 0) {\n transformedBlocks.push(treeBlock); // block is first nested block or previous nested block is at a lower level\n } else if (lastParent == null || lastParent.depth < depth - 1) {\n // create new parent block\n var newParent = {\n key: generateRandomKey(),\n text: '',\n depth: depth - 1,\n type: block.type,\n children: [],\n entityRanges: [],\n inlineStyleRanges: []\n };\n parentStack.unshift(newParent);\n\n if (depth === 1) {\n // add as a root-level block\n transformedBlocks.push(newParent);\n } else if (lastParent != null) {\n // depth > 1 => also add as previous parent's child\n lastParent.children.push(newParent);\n }\n\n newParent.children.push(treeBlock);\n } else if (lastParent.depth === depth - 1) {\n // add as child of last parent\n lastParent.children.push(treeBlock);\n } else {\n // pop out parents at levels above this one from the parent stack\n while (lastParent != null && lastParent.depth >= depth) {\n parentStack.shift();\n lastParent = parentStack[0];\n }\n\n if (depth > 0) {\n lastParent.children.push(treeBlock);\n } else {\n transformedBlocks.push(treeBlock);\n }\n }\n });\n return _objectSpread({}, draftState, {\n blocks: transformedBlocks\n });\n }\n};\nmodule.exports = DraftTreeAdapter;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0RyYWZ0VHJlZUFkYXB0ZXIuanM/M2M1NSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBYTs7QUFFYixnQ0FBZ0MsZ0JBQWdCLHNCQUFzQixPQUFPLHVEQUF1RCxtQ0FBbUMsMERBQTBELHNGQUFzRixnRUFBZ0UsRUFBRSxHQUFHLEVBQUUsaUNBQWlDLDJDQUEyQyxFQUFFLEVBQUUsRUFBRSxlQUFlOztBQUUvZCwyQ0FBMkMsa0JBQWtCLGtDQUFrQyxxRUFBcUUsRUFBRSxFQUFFLE9BQU8sa0JBQWtCLEVBQUUsWUFBWTs7QUFFL007QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IsbUJBQU8sQ0FBQyw2RUFBcUI7O0FBRXJELGdCQUFnQixtQkFBTyxDQUFDLGdFQUFvQjs7QUFFNUM7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSwrQkFBK0IsS0FBcUMsZ0RBQWdELFNBQWdCO0FBQ3BJO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EseURBQXlEO0FBQ3pEO0FBQ0EsT0FBTztBQUNQLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2QkFBNkIsS0FBcUMsMkNBQTJDLFNBQWdCOztBQUU3SDtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxxQ0FBcUM7O0FBRXJDO0FBQ0E7QUFDQSxrQ0FBa0M7O0FBRWxDO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSwyQkFBMkI7QUFDM0I7QUFDQSxLQUFLO0FBQ0wsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsc0NBQXNDO0FBQ3RDO0FBQ0EsT0FBTzs7QUFFUDtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxzQ0FBc0M7O0FBRXRDO0FBQ0EsMENBQTBDO0FBQzFDLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMLDJCQUEyQjtBQUMzQjtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0RyYWZ0VHJlZUFkYXB0ZXIuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZnVuY3Rpb24gX29iamVjdFNwcmVhZCh0YXJnZXQpIHsgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHsgdmFyIHNvdXJjZSA9IGFyZ3VtZW50c1tpXSAhPSBudWxsID8gYXJndW1lbnRzW2ldIDoge307IHZhciBvd25LZXlzID0gT2JqZWN0LmtleXMoc291cmNlKTsgaWYgKHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzID09PSAnZnVuY3Rpb24nKSB7IG93bktleXMgPSBvd25LZXlzLmNvbmNhdChPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHNvdXJjZSkuZmlsdGVyKGZ1bmN0aW9uIChzeW0pIHsgcmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Ioc291cmNlLCBzeW0pLmVudW1lcmFibGU7IH0pKTsgfSBvd25LZXlzLmZvckVhY2goZnVuY3Rpb24gKGtleSkgeyBfZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIHNvdXJjZVtrZXldKTsgfSk7IH0gcmV0dXJuIHRhcmdldDsgfVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHZhbHVlKSB7IGlmIChrZXkgaW4gb2JqKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgeyB2YWx1ZTogdmFsdWUsIGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgd3JpdGFibGU6IHRydWUgfSk7IH0gZWxzZSB7IG9ialtrZXldID0gdmFsdWU7IH0gcmV0dXJuIG9iajsgfVxuXG4vKipcbiAqIENvcHlyaWdodCAoYykgRmFjZWJvb2ssIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIEBmb3JtYXRcbiAqIFxuICogQGVtYWlscyBvbmNhbGwrZHJhZnRfanNcbiAqXG4gKiBUaGlzIGlzIHVuc3RhYmxlIGFuZCBub3QgcGFydCBvZiB0aGUgcHVibGljIEFQSSBhbmQgc2hvdWxkIG5vdCBiZSB1c2VkIGJ5XG4gKiBwcm9kdWN0aW9uIHN5c3RlbXMuIFRoaXMgZmlsZSBtYXkgYmUgdXBkYXRlL3JlbW92ZWQgd2l0aG91dCBub3RpY2UuXG4gKi9cbnZhciBnZW5lcmF0ZVJhbmRvbUtleSA9IHJlcXVpcmUoXCIuL2dlbmVyYXRlUmFuZG9tS2V5XCIpO1xuXG52YXIgaW52YXJpYW50ID0gcmVxdWlyZShcImZianMvbGliL2ludmFyaWFudFwiKTtcblxudmFyIHRyYXZlcnNlSW5EZXB0aE9yZGVyID0gZnVuY3Rpb24gdHJhdmVyc2VJbkRlcHRoT3JkZXIoYmxvY2tzLCBmbikge1xuICB2YXIgc3RhY2sgPSBbXS5jb25jYXQoYmxvY2tzKS5yZXZlcnNlKCk7XG5cbiAgd2hpbGUgKHN0YWNrLmxlbmd0aCkge1xuICAgIHZhciBfYmxvY2sgPSBzdGFjay5wb3AoKTtcblxuICAgIGZuKF9ibG9jayk7XG4gICAgdmFyIGNoaWxkcmVuID0gX2Jsb2NrLmNoaWxkcmVuO1xuICAgICFBcnJheS5pc0FycmF5KGNoaWxkcmVuKSA/IHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIiA/IGludmFyaWFudChmYWxzZSwgJ0ludmFsaWQgdHJlZSByYXcgYmxvY2snKSA6IGludmFyaWFudChmYWxzZSkgOiB2b2lkIDA7XG4gICAgc3RhY2sgPSBzdGFjay5jb25jYXQoW10uY29uY2F0KGNoaWxkcmVuLnJldmVyc2UoKSkpO1xuICB9XG59O1xuXG52YXIgaXNMaXN0QmxvY2sgPSBmdW5jdGlvbiBpc0xpc3RCbG9jayhibG9jaykge1xuICBpZiAoIShibG9jayAmJiBibG9jay50eXBlKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHZhciB0eXBlID0gYmxvY2sudHlwZTtcbiAgcmV0dXJuIHR5cGUgPT09ICd1bm9yZGVyZWQtbGlzdC1pdGVtJyB8fCB0eXBlID09PSAnb3JkZXJlZC1saXN0LWl0ZW0nO1xufTtcblxudmFyIGFkZERlcHRoVG9DaGlsZHJlbiA9IGZ1bmN0aW9uIGFkZERlcHRoVG9DaGlsZHJlbihibG9jaykge1xuICBpZiAoQXJyYXkuaXNBcnJheShibG9jay5jaGlsZHJlbikpIHtcbiAgICBibG9jay5jaGlsZHJlbiA9IGJsb2NrLmNoaWxkcmVuLm1hcChmdW5jdGlvbiAoY2hpbGQpIHtcbiAgICAgIHJldHVybiBjaGlsZC50eXBlID09PSBibG9jay50eXBlID8gX29iamVjdFNwcmVhZCh7fSwgY2hpbGQsIHtcbiAgICAgICAgZGVwdGg6IChibG9jay5kZXB0aCB8fCAwKSArIDFcbiAgICAgIH0pIDogY2hpbGQ7XG4gICAgfSk7XG4gIH1cbn07XG4vKipcbiAqIFRoaXMgYWRhcHRlciBpcyBpbnRlbmRlZCB0byBiZSBiZSB1c2VkIGFzIGFuIGFkYXB0ZXIgdG8gZHJhZnQgdHJlZSBkYXRhXG4gKlxuICogZHJhZnQgc3RhdGUgPD09PT09PiBkcmFmdCB0cmVlIHN0YXRlXG4gKi9cblxuXG52YXIgRHJhZnRUcmVlQWRhcHRlciA9IHtcbiAgLyoqXG4gICAqIENvbnZlcnRzIGZyb20gYSB0cmVlIHJhdyBzdGF0ZSBiYWNrIHRvIGRyYWZ0IHJhdyBzdGF0ZVxuICAgKi9cbiAgZnJvbVJhd1RyZWVTdGF0ZVRvUmF3U3RhdGU6IGZ1bmN0aW9uIGZyb21SYXdUcmVlU3RhdGVUb1Jhd1N0YXRlKGRyYWZ0VHJlZVN0YXRlKSB7XG4gICAgdmFyIGJsb2NrcyA9IGRyYWZ0VHJlZVN0YXRlLmJsb2NrcztcbiAgICB2YXIgdHJhbnNmb3JtZWRCbG9ja3MgPSBbXTtcbiAgICAhQXJyYXkuaXNBcnJheShibG9ja3MpID8gcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiID8gaW52YXJpYW50KGZhbHNlLCAnSW52YWxpZCByYXcgc3RhdGUnKSA6IGludmFyaWFudChmYWxzZSkgOiB2b2lkIDA7XG5cbiAgICBpZiAoIUFycmF5LmlzQXJyYXkoYmxvY2tzKSB8fCAhYmxvY2tzLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIGRyYWZ0VHJlZVN0YXRlO1xuICAgIH1cblxuICAgIHRyYXZlcnNlSW5EZXB0aE9yZGVyKGJsb2NrcywgZnVuY3Rpb24gKGJsb2NrKSB7XG4gICAgICB2YXIgbmV3QmxvY2sgPSBfb2JqZWN0U3ByZWFkKHt9LCBibG9jayk7XG5cbiAgICAgIGlmIChpc0xpc3RCbG9jayhibG9jaykpIHtcbiAgICAgICAgbmV3QmxvY2suZGVwdGggPSBuZXdCbG9jay5kZXB0aCB8fCAwO1xuICAgICAgICBhZGREZXB0aFRvQ2hpbGRyZW4oYmxvY2spOyAvLyBpZiBpdCdzIGEgbm9uLWxlYWYgbm9kZSwgd2UgZG9uJ3QgZG8gYW55dGhpbmcgZWxzZVxuXG4gICAgICAgIGlmIChibG9jay5jaGlsZHJlbiAhPSBudWxsICYmIGJsb2NrLmNoaWxkcmVuLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZGVsZXRlIG5ld0Jsb2NrLmNoaWxkcmVuO1xuICAgICAgdHJhbnNmb3JtZWRCbG9ja3MucHVzaChuZXdCbG9jayk7XG4gICAgfSk7XG4gICAgZHJhZnRUcmVlU3RhdGUuYmxvY2tzID0gdHJhbnNmb3JtZWRCbG9ja3M7XG4gICAgcmV0dXJuIF9vYmplY3RTcHJlYWQoe30sIGRyYWZ0VHJlZVN0YXRlLCB7XG4gICAgICBibG9ja3M6IHRyYW5zZm9ybWVkQmxvY2tzXG4gICAgfSk7XG4gIH0sXG5cbiAgLyoqXG4gICAqIENvbnZlcnRzIGZyb20gZHJhZnQgcmF3IHN0YXRlIHRvIHRyZWUgZHJhZnQgc3RhdGVcbiAgICovXG4gIGZyb21SYXdTdGF0ZVRvUmF3VHJlZVN0YXRlOiBmdW5jdGlvbiBmcm9tUmF3U3RhdGVUb1Jhd1RyZWVTdGF0ZShkcmFmdFN0YXRlKSB7XG4gICAgdmFyIHRyYW5zZm9ybWVkQmxvY2tzID0gW107XG4gICAgdmFyIHBhcmVudFN0YWNrID0gW107XG4gICAgZHJhZnRTdGF0ZS5ibG9ja3MuZm9yRWFjaChmdW5jdGlvbiAoYmxvY2spIHtcbiAgICAgIHZhciBpc0xpc3QgPSBpc0xpc3RCbG9jayhibG9jayk7XG4gICAgICB2YXIgZGVwdGggPSBibG9jay5kZXB0aCB8fCAwO1xuXG4gICAgICB2YXIgdHJlZUJsb2NrID0gX29iamVjdFNwcmVhZCh7fSwgYmxvY2ssIHtcbiAgICAgICAgY2hpbGRyZW46IFtdXG4gICAgICB9KTtcblxuICAgICAgaWYgKCFpc0xpc3QpIHtcbiAgICAgICAgdHJhbnNmb3JtZWRCbG9ja3MucHVzaCh0cmVlQmxvY2spO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHZhciBsYXN0UGFyZW50ID0gcGFyZW50U3RhY2tbMF07IC8vIGJsb2NrIGlzIG5vbi1uZXN0ZWQgJiB0aGVyZSBhcmUgbm8gbmVzdGVkIGJsb2NrcywgZGlyZWN0bHkgcHVzaCBibG9ja1xuXG4gICAgICBpZiAobGFzdFBhcmVudCA9PSBudWxsICYmIGRlcHRoID09PSAwKSB7XG4gICAgICAgIHRyYW5zZm9ybWVkQmxvY2tzLnB1c2godHJlZUJsb2NrKTsgLy8gYmxvY2sgaXMgZmlyc3QgbmVzdGVkIGJsb2NrIG9yIHByZXZpb3VzIG5lc3RlZCBibG9jayBpcyBhdCBhIGxvd2VyIGxldmVsXG4gICAgICB9IGVsc2UgaWYgKGxhc3RQYXJlbnQgPT0gbnVsbCB8fCBsYXN0UGFyZW50LmRlcHRoIDwgZGVwdGggLSAxKSB7XG4gICAgICAgIC8vIGNyZWF0ZSBuZXcgcGFyZW50IGJsb2NrXG4gICAgICAgIHZhciBuZXdQYXJlbnQgPSB7XG4gICAgICAgICAga2V5OiBnZW5lcmF0ZVJhbmRvbUtleSgpLFxuICAgICAgICAgIHRleHQ6ICcnLFxuICAgICAgICAgIGRlcHRoOiBkZXB0aCAtIDEsXG4gICAgICAgICAgdHlwZTogYmxvY2sudHlwZSxcbiAgICAgICAgICBjaGlsZHJlbjogW10sXG4gICAgICAgICAgZW50aXR5UmFuZ2VzOiBbXSxcbiAgICAgICAgICBpbmxpbmVTdHlsZVJhbmdlczogW11cbiAgICAgICAgfTtcbiAgICAgICAgcGFyZW50U3RhY2sudW5zaGlmdChuZXdQYXJlbnQpO1xuXG4gICAgICAgIGlmIChkZXB0aCA9PT0gMSkge1xuICAgICAgICAgIC8vIGFkZCBhcyBhIHJvb3QtbGV2ZWwgYmxvY2tcbiAgICAgICAgICB0cmFuc2Zvcm1lZEJsb2Nrcy5wdXNoKG5ld1BhcmVudCk7XG4gICAgICAgIH0gZWxzZSBpZiAobGFzdFBhcmVudCAhPSBudWxsKSB7XG4gICAgICAgICAgLy8gZGVwdGggPiAxID0+IGFsc28gYWRkIGFzIHByZXZpb3VzIHBhcmVudCdzIGNoaWxkXG4gICAgICAgICAgbGFzdFBhcmVudC5jaGlsZHJlbi5wdXNoKG5ld1BhcmVudCk7XG4gICAgICAgIH1cblxuICAgICAgICBuZXdQYXJlbnQuY2hpbGRyZW4ucHVzaCh0cmVlQmxvY2spO1xuICAgICAgfSBlbHNlIGlmIChsYXN0UGFyZW50LmRlcHRoID09PSBkZXB0aCAtIDEpIHtcbiAgICAgICAgLy8gYWRkIGFzIGNoaWxkIG9mIGxhc3QgcGFyZW50XG4gICAgICAgIGxhc3RQYXJlbnQuY2hpbGRyZW4ucHVzaCh0cmVlQmxvY2spO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gcG9wIG91dCBwYXJlbnRzIGF0IGxldmVscyBhYm92ZSB0aGlzIG9uZSBmcm9tIHRoZSBwYXJlbnQgc3RhY2tcbiAgICAgICAgd2hpbGUgKGxhc3RQYXJlbnQgIT0gbnVsbCAmJiBsYXN0UGFyZW50LmRlcHRoID49IGRlcHRoKSB7XG4gICAgICAgICAgcGFyZW50U3RhY2suc2hpZnQoKTtcbiAgICAgICAgICBsYXN0UGFyZW50ID0gcGFyZW50U3RhY2tbMF07XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZGVwdGggPiAwKSB7XG4gICAgICAgICAgbGFzdFBhcmVudC5jaGlsZHJlbi5wdXNoKHRyZWVCbG9jayk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdHJhbnNmb3JtZWRCbG9ja3MucHVzaCh0cmVlQmxvY2spO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIF9vYmplY3RTcHJlYWQoe30sIGRyYWZ0U3RhdGUsIHtcbiAgICAgIGJsb2NrczogdHJhbnNmb3JtZWRCbG9ja3NcbiAgICB9KTtcbiAgfVxufTtcbm1vZHVsZS5leHBvcnRzID0gRHJhZnRUcmVlQWRhcHRlcjsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/DraftTreeAdapter.js\n"); + +/***/ }), + +/***/ "./node_modules/draft-js/lib/DraftTreeInvariants.js": +/*!**********************************************************!*\ + !*** ./node_modules/draft-js/lib/DraftTreeInvariants.js ***! + \**********************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n *\n * This is unstable and not part of the public API and should not be used by\n * production systems. This file may be update/removed without notice.\n */\nvar warning = __webpack_require__(/*! fbjs/lib/warning */ \"./node_modules/fbjs/lib/warning.js\");\n\nvar DraftTreeInvariants = {\n /**\n * Check if the block is valid\n */\n isValidBlock: function isValidBlock(block, blockMap) {\n var key = block.getKey(); // is its parent's child\n\n var parentKey = block.getParentKey();\n\n if (parentKey != null) {\n var parent = blockMap.get(parentKey);\n\n if (!parent.getChildKeys().includes(key)) {\n true ? warning(true, 'Tree is missing parent -> child pointer on %s', key) : undefined;\n return false;\n }\n } // is its children's parent\n\n\n var children = block.getChildKeys().map(function (k) {\n return blockMap.get(k);\n });\n\n if (!children.every(function (c) {\n return c.getParentKey() === key;\n })) {\n true ? warning(true, 'Tree is missing child -> parent pointer on %s', key) : undefined;\n return false;\n } // is its previous sibling's next sibling\n\n\n var prevSiblingKey = block.getPrevSiblingKey();\n\n if (prevSiblingKey != null) {\n var prevSibling = blockMap.get(prevSiblingKey);\n\n if (prevSibling.getNextSiblingKey() !== key) {\n true ? warning(true, \"Tree is missing nextSibling pointer on %s's prevSibling\", key) : undefined;\n return false;\n }\n } // is its next sibling's previous sibling\n\n\n var nextSiblingKey = block.getNextSiblingKey();\n\n if (nextSiblingKey != null) {\n var nextSibling = blockMap.get(nextSiblingKey);\n\n if (nextSibling.getPrevSiblingKey() !== key) {\n true ? warning(true, \"Tree is missing prevSibling pointer on %s's nextSibling\", key) : undefined;\n return false;\n }\n } // no 2-node cycles\n\n\n if (nextSiblingKey !== null && prevSiblingKey !== null) {\n if (prevSiblingKey === nextSiblingKey) {\n true ? warning(true, 'Tree has a two-node cycle at %s', key) : undefined;\n return false;\n }\n } // if it's a leaf node, it has text but no children\n\n\n if (block.text != '') {\n if (block.getChildKeys().size > 0) {\n true ? warning(true, 'Leaf node %s has children', key) : undefined;\n return false;\n }\n }\n\n return true;\n },\n\n /**\n * Checks that this is a connected tree on all the blocks\n * starting from the first block, traversing nextSibling and child pointers\n * should be a tree (preorder traversal - parent, then children)\n * num of connected node === number of blocks\n */\n isConnectedTree: function isConnectedTree(blockMap) {\n // exactly one node has no previous sibling + no parent\n var eligibleFirstNodes = blockMap.toArray().filter(function (block) {\n return block.getParentKey() == null && block.getPrevSiblingKey() == null;\n });\n\n if (eligibleFirstNodes.length !== 1) {\n true ? warning(true, 'Tree is not connected. More or less than one first node') : undefined;\n return false;\n }\n\n var firstNode = eligibleFirstNodes.shift();\n var nodesSeen = 0;\n var currentKey = firstNode.getKey();\n var visitedStack = [];\n\n while (currentKey != null) {\n var currentNode = blockMap.get(currentKey);\n var childKeys = currentNode.getChildKeys();\n var nextSiblingKey = currentNode.getNextSiblingKey(); // if the node has children, add parent's next sibling to stack and go to children\n\n if (childKeys.size > 0) {\n if (nextSiblingKey != null) {\n visitedStack.unshift(nextSiblingKey);\n }\n\n var children = childKeys.map(function (k) {\n return blockMap.get(k);\n });\n\n var _firstNode = children.find(function (block) {\n return block.getPrevSiblingKey() == null;\n });\n\n if (_firstNode == null) {\n true ? warning(true, '%s has no first child', currentKey) : undefined;\n return false;\n }\n\n currentKey = _firstNode.getKey(); // TODO(T32490138): Deal with multi-node cycles here\n } else {\n if (currentNode.getNextSiblingKey() != null) {\n currentKey = currentNode.getNextSiblingKey();\n } else {\n currentKey = visitedStack.shift();\n }\n }\n\n nodesSeen++;\n }\n\n if (nodesSeen !== blockMap.size) {\n true ? warning(true, 'Tree is not connected. %s nodes were seen instead of %s', nodesSeen, blockMap.size) : undefined;\n return false;\n }\n\n return true;\n },\n\n /**\n * Checks that the block map is a connected tree with valid blocks\n */\n isValidTree: function isValidTree(blockMap) {\n var _this = this;\n\n var blocks = blockMap.toArray();\n\n if (!blocks.every(function (block) {\n return _this.isValidBlock(block, blockMap);\n })) {\n return false;\n }\n\n return this.isConnectedTree(blockMap);\n }\n};\nmodule.exports = DraftTreeInvariants;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0RyYWZ0VHJlZUludmFyaWFudHMuanM/YWFlNCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBYTs7QUFFYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWMsbUJBQU8sQ0FBQyw0REFBa0I7O0FBRXhDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2QkFBNkI7O0FBRTdCOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSxRQUFRLEtBQXFDLHlFQUF5RSxTQUFNO0FBQzVIO0FBQ0E7QUFDQSxLQUFLOzs7QUFHTDtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0EsS0FBSztBQUNMLE1BQU0sS0FBcUMseUVBQXlFLFNBQU07QUFDMUg7QUFDQSxLQUFLOzs7QUFHTDs7QUFFQTtBQUNBOztBQUVBO0FBQ0EsUUFBUSxLQUFxQyxtRkFBbUYsU0FBTTtBQUN0STtBQUNBO0FBQ0EsS0FBSzs7O0FBR0w7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLFFBQVEsS0FBcUMsbUZBQW1GLFNBQU07QUFDdEk7QUFDQTtBQUNBLEtBQUs7OztBQUdMO0FBQ0E7QUFDQSxRQUFRLEtBQXFDLDJEQUEyRCxTQUFNO0FBQzlHO0FBQ0E7QUFDQSxLQUFLOzs7QUFHTDtBQUNBO0FBQ0EsUUFBUSxLQUFxQyxxREFBcUQsU0FBTTtBQUN4RztBQUNBO0FBQ0E7O0FBRUE7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBLE1BQU0sS0FBcUMsOEVBQThFLFNBQU07QUFDL0g7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSwyREFBMkQ7O0FBRTNEO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxTQUFTOztBQUVUO0FBQ0E7QUFDQSxTQUFTOztBQUVUO0FBQ0EsVUFBVSxLQUFxQyx3REFBd0QsU0FBTTtBQUM3RztBQUNBOztBQUVBLHlDQUF5QztBQUN6QyxPQUFPO0FBQ1A7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLE1BQU0sS0FBcUMsd0dBQXdHLFNBQU07QUFDeko7QUFDQTs7QUFFQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0RyYWZ0VHJlZUludmFyaWFudHMuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuLyoqXG4gKiBDb3B5cmlnaHQgKGMpIEZhY2Vib29rLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKiBAZm9ybWF0XG4gKiBcbiAqIEBlbWFpbHMgb25jYWxsK2RyYWZ0X2pzXG4gKlxuICogVGhpcyBpcyB1bnN0YWJsZSBhbmQgbm90IHBhcnQgb2YgdGhlIHB1YmxpYyBBUEkgYW5kIHNob3VsZCBub3QgYmUgdXNlZCBieVxuICogcHJvZHVjdGlvbiBzeXN0ZW1zLiBUaGlzIGZpbGUgbWF5IGJlIHVwZGF0ZS9yZW1vdmVkIHdpdGhvdXQgbm90aWNlLlxuICovXG52YXIgd2FybmluZyA9IHJlcXVpcmUoXCJmYmpzL2xpYi93YXJuaW5nXCIpO1xuXG52YXIgRHJhZnRUcmVlSW52YXJpYW50cyA9IHtcbiAgLyoqXG4gICAqIENoZWNrIGlmIHRoZSBibG9jayBpcyB2YWxpZFxuICAgKi9cbiAgaXNWYWxpZEJsb2NrOiBmdW5jdGlvbiBpc1ZhbGlkQmxvY2soYmxvY2ssIGJsb2NrTWFwKSB7XG4gICAgdmFyIGtleSA9IGJsb2NrLmdldEtleSgpOyAvLyBpcyBpdHMgcGFyZW50J3MgY2hpbGRcblxuICAgIHZhciBwYXJlbnRLZXkgPSBibG9jay5nZXRQYXJlbnRLZXkoKTtcblxuICAgIGlmIChwYXJlbnRLZXkgIT0gbnVsbCkge1xuICAgICAgdmFyIHBhcmVudCA9IGJsb2NrTWFwLmdldChwYXJlbnRLZXkpO1xuXG4gICAgICBpZiAoIXBhcmVudC5nZXRDaGlsZEtleXMoKS5pbmNsdWRlcyhrZXkpKSB7XG4gICAgICAgIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIiA/IHdhcm5pbmcodHJ1ZSwgJ1RyZWUgaXMgbWlzc2luZyBwYXJlbnQgLT4gY2hpbGQgcG9pbnRlciBvbiAlcycsIGtleSkgOiB2b2lkIDA7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9IC8vIGlzIGl0cyBjaGlsZHJlbidzIHBhcmVudFxuXG5cbiAgICB2YXIgY2hpbGRyZW4gPSBibG9jay5nZXRDaGlsZEtleXMoKS5tYXAoZnVuY3Rpb24gKGspIHtcbiAgICAgIHJldHVybiBibG9ja01hcC5nZXQoayk7XG4gICAgfSk7XG5cbiAgICBpZiAoIWNoaWxkcmVuLmV2ZXJ5KGZ1bmN0aW9uIChjKSB7XG4gICAgICByZXR1cm4gYy5nZXRQYXJlbnRLZXkoKSA9PT0ga2V5O1xuICAgIH0pKSB7XG4gICAgICBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIgPyB3YXJuaW5nKHRydWUsICdUcmVlIGlzIG1pc3NpbmcgY2hpbGQgLT4gcGFyZW50IHBvaW50ZXIgb24gJXMnLCBrZXkpIDogdm9pZCAwO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0gLy8gaXMgaXRzIHByZXZpb3VzIHNpYmxpbmcncyBuZXh0IHNpYmxpbmdcblxuXG4gICAgdmFyIHByZXZTaWJsaW5nS2V5ID0gYmxvY2suZ2V0UHJldlNpYmxpbmdLZXkoKTtcblxuICAgIGlmIChwcmV2U2libGluZ0tleSAhPSBudWxsKSB7XG4gICAgICB2YXIgcHJldlNpYmxpbmcgPSBibG9ja01hcC5nZXQocHJldlNpYmxpbmdLZXkpO1xuXG4gICAgICBpZiAocHJldlNpYmxpbmcuZ2V0TmV4dFNpYmxpbmdLZXkoKSAhPT0ga2V5KSB7XG4gICAgICAgIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIiA/IHdhcm5pbmcodHJ1ZSwgXCJUcmVlIGlzIG1pc3NpbmcgbmV4dFNpYmxpbmcgcG9pbnRlciBvbiAlcydzIHByZXZTaWJsaW5nXCIsIGtleSkgOiB2b2lkIDA7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9IC8vIGlzIGl0cyBuZXh0IHNpYmxpbmcncyBwcmV2aW91cyBzaWJsaW5nXG5cblxuICAgIHZhciBuZXh0U2libGluZ0tleSA9IGJsb2NrLmdldE5leHRTaWJsaW5nS2V5KCk7XG5cbiAgICBpZiAobmV4dFNpYmxpbmdLZXkgIT0gbnVsbCkge1xuICAgICAgdmFyIG5leHRTaWJsaW5nID0gYmxvY2tNYXAuZ2V0KG5leHRTaWJsaW5nS2V5KTtcblxuICAgICAgaWYgKG5leHRTaWJsaW5nLmdldFByZXZTaWJsaW5nS2V5KCkgIT09IGtleSkge1xuICAgICAgICBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIgPyB3YXJuaW5nKHRydWUsIFwiVHJlZSBpcyBtaXNzaW5nIHByZXZTaWJsaW5nIHBvaW50ZXIgb24gJXMncyBuZXh0U2libGluZ1wiLCBrZXkpIDogdm9pZCAwO1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfSAvLyBubyAyLW5vZGUgY3ljbGVzXG5cblxuICAgIGlmIChuZXh0U2libGluZ0tleSAhPT0gbnVsbCAmJiBwcmV2U2libGluZ0tleSAhPT0gbnVsbCkge1xuICAgICAgaWYgKHByZXZTaWJsaW5nS2V5ID09PSBuZXh0U2libGluZ0tleSkge1xuICAgICAgICBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIgPyB3YXJuaW5nKHRydWUsICdUcmVlIGhhcyBhIHR3by1ub2RlIGN5Y2xlIGF0ICVzJywga2V5KSA6IHZvaWQgMDtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH0gLy8gaWYgaXQncyBhIGxlYWYgbm9kZSwgaXQgaGFzIHRleHQgYnV0IG5vIGNoaWxkcmVuXG5cblxuICAgIGlmIChibG9jay50ZXh0ICE9ICcnKSB7XG4gICAgICBpZiAoYmxvY2suZ2V0Q2hpbGRLZXlzKCkuc2l6ZSA+IDApIHtcbiAgICAgICAgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiID8gd2FybmluZyh0cnVlLCAnTGVhZiBub2RlICVzIGhhcyBjaGlsZHJlbicsIGtleSkgOiB2b2lkIDA7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSxcblxuICAvKipcbiAgICogQ2hlY2tzIHRoYXQgdGhpcyBpcyBhIGNvbm5lY3RlZCB0cmVlIG9uIGFsbCB0aGUgYmxvY2tzXG4gICAqIHN0YXJ0aW5nIGZyb20gdGhlIGZpcnN0IGJsb2NrLCB0cmF2ZXJzaW5nIG5leHRTaWJsaW5nIGFuZCBjaGlsZCBwb2ludGVyc1xuICAgKiBzaG91bGQgYmUgYSB0cmVlIChwcmVvcmRlciB0cmF2ZXJzYWwgLSBwYXJlbnQsIHRoZW4gY2hpbGRyZW4pXG4gICAqIG51bSBvZiBjb25uZWN0ZWQgbm9kZSA9PT0gbnVtYmVyIG9mIGJsb2Nrc1xuICAgKi9cbiAgaXNDb25uZWN0ZWRUcmVlOiBmdW5jdGlvbiBpc0Nvbm5lY3RlZFRyZWUoYmxvY2tNYXApIHtcbiAgICAvLyBleGFjdGx5IG9uZSBub2RlIGhhcyBubyBwcmV2aW91cyBzaWJsaW5nICsgbm8gcGFyZW50XG4gICAgdmFyIGVsaWdpYmxlRmlyc3ROb2RlcyA9IGJsb2NrTWFwLnRvQXJyYXkoKS5maWx0ZXIoZnVuY3Rpb24gKGJsb2NrKSB7XG4gICAgICByZXR1cm4gYmxvY2suZ2V0UGFyZW50S2V5KCkgPT0gbnVsbCAmJiBibG9jay5nZXRQcmV2U2libGluZ0tleSgpID09IG51bGw7XG4gICAgfSk7XG5cbiAgICBpZiAoZWxpZ2libGVGaXJzdE5vZGVzLmxlbmd0aCAhPT0gMSkge1xuICAgICAgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiID8gd2FybmluZyh0cnVlLCAnVHJlZSBpcyBub3QgY29ubmVjdGVkLiBNb3JlIG9yIGxlc3MgdGhhbiBvbmUgZmlyc3Qgbm9kZScpIDogdm9pZCAwO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHZhciBmaXJzdE5vZGUgPSBlbGlnaWJsZUZpcnN0Tm9kZXMuc2hpZnQoKTtcbiAgICB2YXIgbm9kZXNTZWVuID0gMDtcbiAgICB2YXIgY3VycmVudEtleSA9IGZpcnN0Tm9kZS5nZXRLZXkoKTtcbiAgICB2YXIgdmlzaXRlZFN0YWNrID0gW107XG5cbiAgICB3aGlsZSAoY3VycmVudEtleSAhPSBudWxsKSB7XG4gICAgICB2YXIgY3VycmVudE5vZGUgPSBibG9ja01hcC5nZXQoY3VycmVudEtleSk7XG4gICAgICB2YXIgY2hpbGRLZXlzID0gY3VycmVudE5vZGUuZ2V0Q2hpbGRLZXlzKCk7XG4gICAgICB2YXIgbmV4dFNpYmxpbmdLZXkgPSBjdXJyZW50Tm9kZS5nZXROZXh0U2libGluZ0tleSgpOyAvLyBpZiB0aGUgbm9kZSBoYXMgY2hpbGRyZW4sIGFkZCBwYXJlbnQncyBuZXh0IHNpYmxpbmcgdG8gc3RhY2sgYW5kIGdvIHRvIGNoaWxkcmVuXG5cbiAgICAgIGlmIChjaGlsZEtleXMuc2l6ZSA+IDApIHtcbiAgICAgICAgaWYgKG5leHRTaWJsaW5nS2V5ICE9IG51bGwpIHtcbiAgICAgICAgICB2aXNpdGVkU3RhY2sudW5zaGlmdChuZXh0U2libGluZ0tleSk7XG4gICAgICAgIH1cblxuICAgICAgICB2YXIgY2hpbGRyZW4gPSBjaGlsZEtleXMubWFwKGZ1bmN0aW9uIChrKSB7XG4gICAgICAgICAgcmV0dXJuIGJsb2NrTWFwLmdldChrKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdmFyIF9maXJzdE5vZGUgPSBjaGlsZHJlbi5maW5kKGZ1bmN0aW9uIChibG9jaykge1xuICAgICAgICAgIHJldHVybiBibG9jay5nZXRQcmV2U2libGluZ0tleSgpID09IG51bGw7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmIChfZmlyc3ROb2RlID09IG51bGwpIHtcbiAgICAgICAgICBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIgPyB3YXJuaW5nKHRydWUsICclcyBoYXMgbm8gZmlyc3QgY2hpbGQnLCBjdXJyZW50S2V5KSA6IHZvaWQgMDtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBjdXJyZW50S2V5ID0gX2ZpcnN0Tm9kZS5nZXRLZXkoKTsgLy8gVE9ETyhUMzI0OTAxMzgpOiBEZWFsIHdpdGggbXVsdGktbm9kZSBjeWNsZXMgaGVyZVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKGN1cnJlbnROb2RlLmdldE5leHRTaWJsaW5nS2V5KCkgIT0gbnVsbCkge1xuICAgICAgICAgIGN1cnJlbnRLZXkgPSBjdXJyZW50Tm9kZS5nZXROZXh0U2libGluZ0tleSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGN1cnJlbnRLZXkgPSB2aXNpdGVkU3RhY2suc2hpZnQoKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBub2Rlc1NlZW4rKztcbiAgICB9XG5cbiAgICBpZiAobm9kZXNTZWVuICE9PSBibG9ja01hcC5zaXplKSB7XG4gICAgICBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIgPyB3YXJuaW5nKHRydWUsICdUcmVlIGlzIG5vdCBjb25uZWN0ZWQuICVzIG5vZGVzIHdlcmUgc2VlbiBpbnN0ZWFkIG9mICVzJywgbm9kZXNTZWVuLCBibG9ja01hcC5zaXplKSA6IHZvaWQgMDtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSxcblxuICAvKipcbiAgICogQ2hlY2tzIHRoYXQgdGhlIGJsb2NrIG1hcCBpcyBhIGNvbm5lY3RlZCB0cmVlIHdpdGggdmFsaWQgYmxvY2tzXG4gICAqL1xuICBpc1ZhbGlkVHJlZTogZnVuY3Rpb24gaXNWYWxpZFRyZWUoYmxvY2tNYXApIHtcbiAgICB2YXIgX3RoaXMgPSB0aGlzO1xuXG4gICAgdmFyIGJsb2NrcyA9IGJsb2NrTWFwLnRvQXJyYXkoKTtcblxuICAgIGlmICghYmxvY2tzLmV2ZXJ5KGZ1bmN0aW9uIChibG9jaykge1xuICAgICAgcmV0dXJuIF90aGlzLmlzVmFsaWRCbG9jayhibG9jaywgYmxvY2tNYXApO1xuICAgIH0pKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuaXNDb25uZWN0ZWRUcmVlKGJsb2NrTWFwKTtcbiAgfVxufTtcbm1vZHVsZS5leHBvcnRzID0gRHJhZnRUcmVlSW52YXJpYW50czsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/DraftTreeInvariants.js\n"); /***/ }), @@ -427,7 +498,7 @@ eval("\n\nvar _assign = __webpack_require__(/*! object-assign */ \"./node_module /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule EditorBidiService\n * @format\n * \n */\n\n\n\nvar Immutable = __webpack_require__(/*! immutable */ \"./node_modules/draft-js/node_modules/immutable/dist/immutable.js\");\nvar UnicodeBidiService = __webpack_require__(/*! fbjs/lib/UnicodeBidiService */ \"./node_modules/fbjs/lib/UnicodeBidiService.js\");\n\nvar nullthrows = __webpack_require__(/*! fbjs/lib/nullthrows */ \"./node_modules/fbjs/lib/nullthrows.js\");\n\nvar OrderedMap = Immutable.OrderedMap;\n\n\nvar bidiService;\n\nvar EditorBidiService = {\n getDirectionMap: function getDirectionMap(content, prevBidiMap) {\n if (!bidiService) {\n bidiService = new UnicodeBidiService();\n } else {\n bidiService.reset();\n }\n\n var blockMap = content.getBlockMap();\n var nextBidi = blockMap.valueSeq().map(function (block) {\n return nullthrows(bidiService).getDirection(block.getText());\n });\n var bidiMap = OrderedMap(blockMap.keySeq().zip(nextBidi));\n\n if (prevBidiMap != null && Immutable.is(prevBidiMap, bidiMap)) {\n return prevBidiMap;\n }\n\n return bidiMap;\n }\n};\n\nmodule.exports = EditorBidiService;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0VkaXRvckJpZGlTZXJ2aWNlLmpzPzU1MjkiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVhOztBQUViLGdCQUFnQixtQkFBTyxDQUFDLG1GQUFXO0FBQ25DLHlCQUF5QixtQkFBTyxDQUFDLGtGQUE2Qjs7QUFFOUQsaUJBQWlCLG1CQUFPLENBQUMsa0VBQXFCOztBQUU5Qzs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvRWRpdG9yQmlkaVNlcnZpY2UuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxMy1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuICogQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBCU0Qtc3R5bGUgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS4gQW4gYWRkaXRpb25hbCBncmFudFxuICogb2YgcGF0ZW50IHJpZ2h0cyBjYW4gYmUgZm91bmQgaW4gdGhlIFBBVEVOVFMgZmlsZSBpbiB0aGUgc2FtZSBkaXJlY3RvcnkuXG4gKlxuICogQHByb3ZpZGVzTW9kdWxlIEVkaXRvckJpZGlTZXJ2aWNlXG4gKiBAZm9ybWF0XG4gKiBcbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbnZhciBJbW11dGFibGUgPSByZXF1aXJlKCdpbW11dGFibGUnKTtcbnZhciBVbmljb2RlQmlkaVNlcnZpY2UgPSByZXF1aXJlKCdmYmpzL2xpYi9Vbmljb2RlQmlkaVNlcnZpY2UnKTtcblxudmFyIG51bGx0aHJvd3MgPSByZXF1aXJlKCdmYmpzL2xpYi9udWxsdGhyb3dzJyk7XG5cbnZhciBPcmRlcmVkTWFwID0gSW1tdXRhYmxlLk9yZGVyZWRNYXA7XG5cblxudmFyIGJpZGlTZXJ2aWNlO1xuXG52YXIgRWRpdG9yQmlkaVNlcnZpY2UgPSB7XG4gIGdldERpcmVjdGlvbk1hcDogZnVuY3Rpb24gZ2V0RGlyZWN0aW9uTWFwKGNvbnRlbnQsIHByZXZCaWRpTWFwKSB7XG4gICAgaWYgKCFiaWRpU2VydmljZSkge1xuICAgICAgYmlkaVNlcnZpY2UgPSBuZXcgVW5pY29kZUJpZGlTZXJ2aWNlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGJpZGlTZXJ2aWNlLnJlc2V0KCk7XG4gICAgfVxuXG4gICAgdmFyIGJsb2NrTWFwID0gY29udGVudC5nZXRCbG9ja01hcCgpO1xuICAgIHZhciBuZXh0QmlkaSA9IGJsb2NrTWFwLnZhbHVlU2VxKCkubWFwKGZ1bmN0aW9uIChibG9jaykge1xuICAgICAgcmV0dXJuIG51bGx0aHJvd3MoYmlkaVNlcnZpY2UpLmdldERpcmVjdGlvbihibG9jay5nZXRUZXh0KCkpO1xuICAgIH0pO1xuICAgIHZhciBiaWRpTWFwID0gT3JkZXJlZE1hcChibG9ja01hcC5rZXlTZXEoKS56aXAobmV4dEJpZGkpKTtcblxuICAgIGlmIChwcmV2QmlkaU1hcCAhPSBudWxsICYmIEltbXV0YWJsZS5pcyhwcmV2QmlkaU1hcCwgYmlkaU1hcCkpIHtcbiAgICAgIHJldHVybiBwcmV2QmlkaU1hcDtcbiAgICB9XG5cbiAgICByZXR1cm4gYmlkaU1hcDtcbiAgfVxufTtcblxubW9kdWxlLmV4cG9ydHMgPSBFZGl0b3JCaWRpU2VydmljZTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/EditorBidiService.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nvar UnicodeBidiService = __webpack_require__(/*! fbjs/lib/UnicodeBidiService */ \"./node_modules/fbjs/lib/UnicodeBidiService.js\");\n\nvar Immutable = __webpack_require__(/*! immutable */ \"./node_modules/draft-js/node_modules/immutable/dist/immutable.js\");\n\nvar nullthrows = __webpack_require__(/*! fbjs/lib/nullthrows */ \"./node_modules/fbjs/lib/nullthrows.js\");\n\nvar OrderedMap = Immutable.OrderedMap;\nvar bidiService;\nvar EditorBidiService = {\n getDirectionMap: function getDirectionMap(content, prevBidiMap) {\n if (!bidiService) {\n bidiService = new UnicodeBidiService();\n } else {\n bidiService.reset();\n }\n\n var blockMap = content.getBlockMap();\n var nextBidi = blockMap.valueSeq().map(function (block) {\n return nullthrows(bidiService).getDirection(block.getText());\n });\n var bidiMap = OrderedMap(blockMap.keySeq().zip(nextBidi));\n\n if (prevBidiMap != null && Immutable.is(prevBidiMap, bidiMap)) {\n return prevBidiMap;\n }\n\n return bidiMap;\n }\n};\nmodule.exports = EditorBidiService;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0VkaXRvckJpZGlTZXJ2aWNlLmpzPzU1MjkiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDYTs7QUFFYix5QkFBeUIsbUJBQU8sQ0FBQyxrRkFBNkI7O0FBRTlELGdCQUFnQixtQkFBTyxDQUFDLG1GQUFXOztBQUVuQyxpQkFBaUIsbUJBQU8sQ0FBQyxrRUFBcUI7O0FBRTlDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0VkaXRvckJpZGlTZXJ2aWNlLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIEZhY2Vib29rLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKiBAZm9ybWF0XG4gKiBcbiAqIEBlbWFpbHMgb25jYWxsK2RyYWZ0X2pzXG4gKi9cbid1c2Ugc3RyaWN0JztcblxudmFyIFVuaWNvZGVCaWRpU2VydmljZSA9IHJlcXVpcmUoXCJmYmpzL2xpYi9Vbmljb2RlQmlkaVNlcnZpY2VcIik7XG5cbnZhciBJbW11dGFibGUgPSByZXF1aXJlKFwiaW1tdXRhYmxlXCIpO1xuXG52YXIgbnVsbHRocm93cyA9IHJlcXVpcmUoXCJmYmpzL2xpYi9udWxsdGhyb3dzXCIpO1xuXG52YXIgT3JkZXJlZE1hcCA9IEltbXV0YWJsZS5PcmRlcmVkTWFwO1xudmFyIGJpZGlTZXJ2aWNlO1xudmFyIEVkaXRvckJpZGlTZXJ2aWNlID0ge1xuICBnZXREaXJlY3Rpb25NYXA6IGZ1bmN0aW9uIGdldERpcmVjdGlvbk1hcChjb250ZW50LCBwcmV2QmlkaU1hcCkge1xuICAgIGlmICghYmlkaVNlcnZpY2UpIHtcbiAgICAgIGJpZGlTZXJ2aWNlID0gbmV3IFVuaWNvZGVCaWRpU2VydmljZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBiaWRpU2VydmljZS5yZXNldCgpO1xuICAgIH1cblxuICAgIHZhciBibG9ja01hcCA9IGNvbnRlbnQuZ2V0QmxvY2tNYXAoKTtcbiAgICB2YXIgbmV4dEJpZGkgPSBibG9ja01hcC52YWx1ZVNlcSgpLm1hcChmdW5jdGlvbiAoYmxvY2spIHtcbiAgICAgIHJldHVybiBudWxsdGhyb3dzKGJpZGlTZXJ2aWNlKS5nZXREaXJlY3Rpb24oYmxvY2suZ2V0VGV4dCgpKTtcbiAgICB9KTtcbiAgICB2YXIgYmlkaU1hcCA9IE9yZGVyZWRNYXAoYmxvY2tNYXAua2V5U2VxKCkuemlwKG5leHRCaWRpKSk7XG5cbiAgICBpZiAocHJldkJpZGlNYXAgIT0gbnVsbCAmJiBJbW11dGFibGUuaXMocHJldkJpZGlNYXAsIGJpZGlNYXApKSB7XG4gICAgICByZXR1cm4gcHJldkJpZGlNYXA7XG4gICAgfVxuXG4gICAgcmV0dXJuIGJpZGlNYXA7XG4gIH1cbn07XG5tb2R1bGUuZXhwb3J0cyA9IEVkaXRvckJpZGlTZXJ2aWNlOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/EditorBidiService.js\n"); /***/ }), @@ -439,7 +510,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule EditorState\n * @format\n * \n */\n\n\n\nvar _assign = __webpack_require__(/*! object-assign */ \"./node_modules/object-assign/index.js\");\n\nvar _extends = _assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar BlockTree = __webpack_require__(/*! ./BlockTree */ \"./node_modules/draft-js/lib/BlockTree.js\");\nvar ContentState = __webpack_require__(/*! ./ContentState */ \"./node_modules/draft-js/lib/ContentState.js\");\nvar EditorBidiService = __webpack_require__(/*! ./EditorBidiService */ \"./node_modules/draft-js/lib/EditorBidiService.js\");\nvar Immutable = __webpack_require__(/*! immutable */ \"./node_modules/draft-js/node_modules/immutable/dist/immutable.js\");\nvar SelectionState = __webpack_require__(/*! ./SelectionState */ \"./node_modules/draft-js/lib/SelectionState.js\");\n\nvar OrderedSet = Immutable.OrderedSet,\n Record = Immutable.Record,\n Stack = Immutable.Stack;\n\n\nvar defaultRecord = {\n allowUndo: true,\n currentContent: null,\n decorator: null,\n directionMap: null,\n forceSelection: false,\n inCompositionMode: false,\n inlineStyleOverride: null,\n lastChangeType: null,\n nativelyRenderedContent: null,\n redoStack: Stack(),\n selection: null,\n treeMap: null,\n undoStack: Stack()\n};\n\nvar EditorStateRecord = Record(defaultRecord);\n\nvar EditorState = function () {\n EditorState.createEmpty = function createEmpty(decorator) {\n return EditorState.createWithContent(ContentState.createFromText(''), decorator);\n };\n\n EditorState.createWithContent = function createWithContent(contentState, decorator) {\n var firstKey = contentState.getBlockMap().first().getKey();\n return EditorState.create({\n currentContent: contentState,\n undoStack: Stack(),\n redoStack: Stack(),\n decorator: decorator || null,\n selection: SelectionState.createEmpty(firstKey)\n });\n };\n\n EditorState.create = function create(config) {\n var currentContent = config.currentContent,\n decorator = config.decorator;\n\n var recordConfig = _extends({}, config, {\n treeMap: generateNewTreeMap(currentContent, decorator),\n directionMap: EditorBidiService.getDirectionMap(currentContent)\n });\n return new EditorState(new EditorStateRecord(recordConfig));\n };\n\n EditorState.set = function set(editorState, put) {\n var map = editorState.getImmutable().withMutations(function (state) {\n var existingDecorator = state.get('decorator');\n var decorator = existingDecorator;\n if (put.decorator === null) {\n decorator = null;\n } else if (put.decorator) {\n decorator = put.decorator;\n }\n\n var newContent = put.currentContent || editorState.getCurrentContent();\n\n if (decorator !== existingDecorator) {\n var treeMap = state.get('treeMap');\n var newTreeMap;\n if (decorator && existingDecorator) {\n newTreeMap = regenerateTreeForNewDecorator(newContent, newContent.getBlockMap(), treeMap, decorator, existingDecorator);\n } else {\n newTreeMap = generateNewTreeMap(newContent, decorator);\n }\n\n state.merge({\n decorator: decorator,\n treeMap: newTreeMap,\n nativelyRenderedContent: null\n });\n return;\n }\n\n var existingContent = editorState.getCurrentContent();\n if (newContent !== existingContent) {\n state.set('treeMap', regenerateTreeForNewBlocks(editorState, newContent.getBlockMap(), newContent.getEntityMap(), decorator));\n }\n\n state.merge(put);\n });\n\n return new EditorState(map);\n };\n\n EditorState.prototype.toJS = function toJS() {\n return this.getImmutable().toJS();\n };\n\n EditorState.prototype.getAllowUndo = function getAllowUndo() {\n return this.getImmutable().get('allowUndo');\n };\n\n EditorState.prototype.getCurrentContent = function getCurrentContent() {\n return this.getImmutable().get('currentContent');\n };\n\n EditorState.prototype.getUndoStack = function getUndoStack() {\n return this.getImmutable().get('undoStack');\n };\n\n EditorState.prototype.getRedoStack = function getRedoStack() {\n return this.getImmutable().get('redoStack');\n };\n\n EditorState.prototype.getSelection = function getSelection() {\n return this.getImmutable().get('selection');\n };\n\n EditorState.prototype.getDecorator = function getDecorator() {\n return this.getImmutable().get('decorator');\n };\n\n EditorState.prototype.isInCompositionMode = function isInCompositionMode() {\n return this.getImmutable().get('inCompositionMode');\n };\n\n EditorState.prototype.mustForceSelection = function mustForceSelection() {\n return this.getImmutable().get('forceSelection');\n };\n\n EditorState.prototype.getNativelyRenderedContent = function getNativelyRenderedContent() {\n return this.getImmutable().get('nativelyRenderedContent');\n };\n\n EditorState.prototype.getLastChangeType = function getLastChangeType() {\n return this.getImmutable().get('lastChangeType');\n };\n\n /**\n * While editing, the user may apply inline style commands with a collapsed\n * cursor, intending to type text that adopts the specified style. In this\n * case, we track the specified style as an \"override\" that takes precedence\n * over the inline style of the text adjacent to the cursor.\n *\n * If null, there is no override in place.\n */\n\n\n EditorState.prototype.getInlineStyleOverride = function getInlineStyleOverride() {\n return this.getImmutable().get('inlineStyleOverride');\n };\n\n EditorState.setInlineStyleOverride = function setInlineStyleOverride(editorState, inlineStyleOverride) {\n return EditorState.set(editorState, { inlineStyleOverride: inlineStyleOverride });\n };\n\n /**\n * Get the appropriate inline style for the editor state. If an\n * override is in place, use it. Otherwise, the current style is\n * based on the location of the selection state.\n */\n\n\n EditorState.prototype.getCurrentInlineStyle = function getCurrentInlineStyle() {\n var override = this.getInlineStyleOverride();\n if (override != null) {\n return override;\n }\n\n var content = this.getCurrentContent();\n var selection = this.getSelection();\n\n if (selection.isCollapsed()) {\n return getInlineStyleForCollapsedSelection(content, selection);\n }\n\n return getInlineStyleForNonCollapsedSelection(content, selection);\n };\n\n EditorState.prototype.getBlockTree = function getBlockTree(blockKey) {\n return this.getImmutable().getIn(['treeMap', blockKey]);\n };\n\n EditorState.prototype.isSelectionAtStartOfContent = function isSelectionAtStartOfContent() {\n var firstKey = this.getCurrentContent().getBlockMap().first().getKey();\n return this.getSelection().hasEdgeWithin(firstKey, 0, 0);\n };\n\n EditorState.prototype.isSelectionAtEndOfContent = function isSelectionAtEndOfContent() {\n var content = this.getCurrentContent();\n var blockMap = content.getBlockMap();\n var last = blockMap.last();\n var end = last.getLength();\n return this.getSelection().hasEdgeWithin(last.getKey(), end, end);\n };\n\n EditorState.prototype.getDirectionMap = function getDirectionMap() {\n return this.getImmutable().get('directionMap');\n };\n\n /**\n * Incorporate native DOM selection changes into the EditorState. This\n * method can be used when we simply want to accept whatever the DOM\n * has given us to represent selection, and we do not need to re-render\n * the editor.\n *\n * To forcibly move the DOM selection, see `EditorState.forceSelection`.\n */\n\n\n EditorState.acceptSelection = function acceptSelection(editorState, selection) {\n return updateSelection(editorState, selection, false);\n };\n\n /**\n * At times, we need to force the DOM selection to be where we\n * need it to be. This can occur when the anchor or focus nodes\n * are non-text nodes, for instance. In this case, we want to trigger\n * a re-render of the editor, which in turn forces selection into\n * the correct place in the DOM. The `forceSelection` method\n * accomplishes this.\n *\n * This method should be used in cases where you need to explicitly\n * move the DOM selection from one place to another without a change\n * in ContentState.\n */\n\n\n EditorState.forceSelection = function forceSelection(editorState, selection) {\n if (!selection.getHasFocus()) {\n selection = selection.set('hasFocus', true);\n }\n return updateSelection(editorState, selection, true);\n };\n\n /**\n * Move selection to the end of the editor without forcing focus.\n */\n\n\n EditorState.moveSelectionToEnd = function moveSelectionToEnd(editorState) {\n var content = editorState.getCurrentContent();\n var lastBlock = content.getLastBlock();\n var lastKey = lastBlock.getKey();\n var length = lastBlock.getLength();\n\n return EditorState.acceptSelection(editorState, new SelectionState({\n anchorKey: lastKey,\n anchorOffset: length,\n focusKey: lastKey,\n focusOffset: length,\n isBackward: false\n }));\n };\n\n /**\n * Force focus to the end of the editor. This is useful in scenarios\n * where we want to programmatically focus the input and it makes sense\n * to allow the user to continue working seamlessly.\n */\n\n\n EditorState.moveFocusToEnd = function moveFocusToEnd(editorState) {\n var afterSelectionMove = EditorState.moveSelectionToEnd(editorState);\n return EditorState.forceSelection(afterSelectionMove, afterSelectionMove.getSelection());\n };\n\n /**\n * Push the current ContentState onto the undo stack if it should be\n * considered a boundary state, and set the provided ContentState as the\n * new current content.\n */\n\n\n EditorState.push = function push(editorState, contentState, changeType) {\n if (editorState.getCurrentContent() === contentState) {\n return editorState;\n }\n\n var forceSelection = changeType !== 'insert-characters';\n var directionMap = EditorBidiService.getDirectionMap(contentState, editorState.getDirectionMap());\n\n if (!editorState.getAllowUndo()) {\n return EditorState.set(editorState, {\n currentContent: contentState,\n directionMap: directionMap,\n lastChangeType: changeType,\n selection: contentState.getSelectionAfter(),\n forceSelection: forceSelection,\n inlineStyleOverride: null\n });\n }\n\n var selection = editorState.getSelection();\n var currentContent = editorState.getCurrentContent();\n var undoStack = editorState.getUndoStack();\n var newContent = contentState;\n\n if (selection !== currentContent.getSelectionAfter() || mustBecomeBoundary(editorState, changeType)) {\n undoStack = undoStack.push(currentContent);\n newContent = newContent.set('selectionBefore', selection);\n } else if (changeType === 'insert-characters' || changeType === 'backspace-character' || changeType === 'delete-character') {\n // Preserve the previous selection.\n newContent = newContent.set('selectionBefore', currentContent.getSelectionBefore());\n }\n\n var inlineStyleOverride = editorState.getInlineStyleOverride();\n\n // Don't discard inline style overrides for the following change types:\n var overrideChangeTypes = ['adjust-depth', 'change-block-type', 'split-block'];\n\n if (overrideChangeTypes.indexOf(changeType) === -1) {\n inlineStyleOverride = null;\n }\n\n var editorStateChanges = {\n currentContent: newContent,\n directionMap: directionMap,\n undoStack: undoStack,\n redoStack: Stack(),\n lastChangeType: changeType,\n selection: contentState.getSelectionAfter(),\n forceSelection: forceSelection,\n inlineStyleOverride: inlineStyleOverride\n };\n\n return EditorState.set(editorState, editorStateChanges);\n };\n\n /**\n * Make the top ContentState in the undo stack the new current content and\n * push the current content onto the redo stack.\n */\n\n\n EditorState.undo = function undo(editorState) {\n if (!editorState.getAllowUndo()) {\n return editorState;\n }\n\n var undoStack = editorState.getUndoStack();\n var newCurrentContent = undoStack.peek();\n if (!newCurrentContent) {\n return editorState;\n }\n\n var currentContent = editorState.getCurrentContent();\n var directionMap = EditorBidiService.getDirectionMap(newCurrentContent, editorState.getDirectionMap());\n\n return EditorState.set(editorState, {\n currentContent: newCurrentContent,\n directionMap: directionMap,\n undoStack: undoStack.shift(),\n redoStack: editorState.getRedoStack().push(currentContent),\n forceSelection: true,\n inlineStyleOverride: null,\n lastChangeType: 'undo',\n nativelyRenderedContent: null,\n selection: currentContent.getSelectionBefore()\n });\n };\n\n /**\n * Make the top ContentState in the redo stack the new current content and\n * push the current content onto the undo stack.\n */\n\n\n EditorState.redo = function redo(editorState) {\n if (!editorState.getAllowUndo()) {\n return editorState;\n }\n\n var redoStack = editorState.getRedoStack();\n var newCurrentContent = redoStack.peek();\n if (!newCurrentContent) {\n return editorState;\n }\n\n var currentContent = editorState.getCurrentContent();\n var directionMap = EditorBidiService.getDirectionMap(newCurrentContent, editorState.getDirectionMap());\n\n return EditorState.set(editorState, {\n currentContent: newCurrentContent,\n directionMap: directionMap,\n undoStack: editorState.getUndoStack().push(currentContent),\n redoStack: redoStack.shift(),\n forceSelection: true,\n inlineStyleOverride: null,\n lastChangeType: 'redo',\n nativelyRenderedContent: null,\n selection: newCurrentContent.getSelectionAfter()\n });\n };\n\n /**\n * Not for public consumption.\n */\n\n\n function EditorState(immutable) {\n _classCallCheck(this, EditorState);\n\n this._immutable = immutable;\n }\n\n /**\n * Not for public consumption.\n */\n\n\n EditorState.prototype.getImmutable = function getImmutable() {\n return this._immutable;\n };\n\n return EditorState;\n}();\n\n/**\n * Set the supplied SelectionState as the new current selection, and set\n * the `force` flag to trigger manual selection placement by the view.\n */\n\n\nfunction updateSelection(editorState, selection, forceSelection) {\n return EditorState.set(editorState, {\n selection: selection,\n forceSelection: forceSelection,\n nativelyRenderedContent: null,\n inlineStyleOverride: null\n });\n}\n\n/**\n * Regenerate the entire tree map for a given ContentState and decorator.\n * Returns an OrderedMap that maps all available ContentBlock objects.\n */\nfunction generateNewTreeMap(contentState, decorator) {\n return contentState.getBlockMap().map(function (block) {\n return BlockTree.generate(contentState, block, decorator);\n }).toOrderedMap();\n}\n\n/**\n * Regenerate tree map objects for all ContentBlocks that have changed\n * between the current editorState and newContent. Returns an OrderedMap\n * with only changed regenerated tree map objects.\n */\nfunction regenerateTreeForNewBlocks(editorState, newBlockMap, newEntityMap, decorator) {\n var contentState = editorState.getCurrentContent().set('entityMap', newEntityMap);\n var prevBlockMap = contentState.getBlockMap();\n var prevTreeMap = editorState.getImmutable().get('treeMap');\n return prevTreeMap.merge(newBlockMap.toSeq().filter(function (block, key) {\n return block !== prevBlockMap.get(key);\n }).map(function (block) {\n return BlockTree.generate(contentState, block, decorator);\n }));\n}\n\n/**\n * Generate tree map objects for a new decorator object, preserving any\n * decorations that are unchanged from the previous decorator.\n *\n * Note that in order for this to perform optimally, decoration Lists for\n * decorators should be preserved when possible to allow for direct immutable\n * List comparison.\n */\nfunction regenerateTreeForNewDecorator(content, blockMap, previousTreeMap, decorator, existingDecorator) {\n return previousTreeMap.merge(blockMap.toSeq().filter(function (block) {\n return decorator.getDecorations(block, content) !== existingDecorator.getDecorations(block, content);\n }).map(function (block) {\n return BlockTree.generate(content, block, decorator);\n }));\n}\n\n/**\n * Return whether a change should be considered a boundary state, given\n * the previous change type. Allows us to discard potential boundary states\n * during standard typing or deletion behavior.\n */\nfunction mustBecomeBoundary(editorState, changeType) {\n var lastChangeType = editorState.getLastChangeType();\n return changeType !== lastChangeType || changeType !== 'insert-characters' && changeType !== 'backspace-character' && changeType !== 'delete-character';\n}\n\nfunction getInlineStyleForCollapsedSelection(content, selection) {\n var startKey = selection.getStartKey();\n var startOffset = selection.getStartOffset();\n var startBlock = content.getBlockForKey(startKey);\n\n // If the cursor is not at the start of the block, look backward to\n // preserve the style of the preceding character.\n if (startOffset > 0) {\n return startBlock.getInlineStyleAt(startOffset - 1);\n }\n\n // The caret is at position zero in this block. If the block has any\n // text at all, use the style of the first character.\n if (startBlock.getLength()) {\n return startBlock.getInlineStyleAt(0);\n }\n\n // Otherwise, look upward in the document to find the closest character.\n return lookUpwardForInlineStyle(content, startKey);\n}\n\nfunction getInlineStyleForNonCollapsedSelection(content, selection) {\n var startKey = selection.getStartKey();\n var startOffset = selection.getStartOffset();\n var startBlock = content.getBlockForKey(startKey);\n\n // If there is a character just inside the selection, use its style.\n if (startOffset < startBlock.getLength()) {\n return startBlock.getInlineStyleAt(startOffset);\n }\n\n // Check if the selection at the end of a non-empty block. Use the last\n // style in the block.\n if (startOffset > 0) {\n return startBlock.getInlineStyleAt(startOffset - 1);\n }\n\n // Otherwise, look upward in the document to find the closest character.\n return lookUpwardForInlineStyle(content, startKey);\n}\n\nfunction lookUpwardForInlineStyle(content, fromKey) {\n var lastNonEmpty = content.getBlockMap().reverse().skipUntil(function (_, k) {\n return k === fromKey;\n }).skip(1).skipUntil(function (block, _) {\n return block.getLength();\n }).first();\n\n if (lastNonEmpty) return lastNonEmpty.getInlineStyleAt(lastNonEmpty.getLength() - 1);\n return OrderedSet();\n}\n\nmodule.exports = EditorState;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0VkaXRvclN0YXRlLmpzP2RlYzMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVhOztBQUViLGNBQWMsbUJBQU8sQ0FBQyw0REFBZTs7QUFFckMsNkNBQTZDLGdCQUFnQixzQkFBc0IsT0FBTywyQkFBMkIsMEJBQTBCLHlEQUF5RCwyQkFBMkIsRUFBRSxFQUFFLEVBQUUsZUFBZTs7QUFFeFAsaURBQWlELDBDQUEwQywwREFBMEQsRUFBRTs7QUFFdkosZ0JBQWdCLG1CQUFPLENBQUMsNkRBQWE7QUFDckMsbUJBQW1CLG1CQUFPLENBQUMsbUVBQWdCO0FBQzNDLHdCQUF3QixtQkFBTyxDQUFDLDZFQUFxQjtBQUNyRCxnQkFBZ0IsbUJBQU8sQ0FBQyxtRkFBVztBQUNuQyxxQkFBcUIsbUJBQU8sQ0FBQyx1RUFBa0I7O0FBRS9DO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTtBQUNBOztBQUVBLGtDQUFrQztBQUNsQztBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxLQUFLOztBQUVMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSx5Q0FBeUMsMkNBQTJDO0FBQ3BGOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvRWRpdG9yU3RhdGUuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxMy1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuICogQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBCU0Qtc3R5bGUgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS4gQW4gYWRkaXRpb25hbCBncmFudFxuICogb2YgcGF0ZW50IHJpZ2h0cyBjYW4gYmUgZm91bmQgaW4gdGhlIFBBVEVOVFMgZmlsZSBpbiB0aGUgc2FtZSBkaXJlY3RvcnkuXG4gKlxuICogQHByb3ZpZGVzTW9kdWxlIEVkaXRvclN0YXRlXG4gKiBAZm9ybWF0XG4gKiBcbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbnZhciBfYXNzaWduID0gcmVxdWlyZSgnb2JqZWN0LWFzc2lnbicpO1xuXG52YXIgX2V4dGVuZHMgPSBfYXNzaWduIHx8IGZ1bmN0aW9uICh0YXJnZXQpIHsgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHsgdmFyIHNvdXJjZSA9IGFyZ3VtZW50c1tpXTsgZm9yICh2YXIga2V5IGluIHNvdXJjZSkgeyBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHNvdXJjZSwga2V5KSkgeyB0YXJnZXRba2V5XSA9IHNvdXJjZVtrZXldOyB9IH0gfSByZXR1cm4gdGFyZ2V0OyB9O1xuXG5mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7IGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7IH0gfVxuXG52YXIgQmxvY2tUcmVlID0gcmVxdWlyZSgnLi9CbG9ja1RyZWUnKTtcbnZhciBDb250ZW50U3RhdGUgPSByZXF1aXJlKCcuL0NvbnRlbnRTdGF0ZScpO1xudmFyIEVkaXRvckJpZGlTZXJ2aWNlID0gcmVxdWlyZSgnLi9FZGl0b3JCaWRpU2VydmljZScpO1xudmFyIEltbXV0YWJsZSA9IHJlcXVpcmUoJ2ltbXV0YWJsZScpO1xudmFyIFNlbGVjdGlvblN0YXRlID0gcmVxdWlyZSgnLi9TZWxlY3Rpb25TdGF0ZScpO1xuXG52YXIgT3JkZXJlZFNldCA9IEltbXV0YWJsZS5PcmRlcmVkU2V0LFxuICAgIFJlY29yZCA9IEltbXV0YWJsZS5SZWNvcmQsXG4gICAgU3RhY2sgPSBJbW11dGFibGUuU3RhY2s7XG5cblxudmFyIGRlZmF1bHRSZWNvcmQgPSB7XG4gIGFsbG93VW5kbzogdHJ1ZSxcbiAgY3VycmVudENvbnRlbnQ6IG51bGwsXG4gIGRlY29yYXRvcjogbnVsbCxcbiAgZGlyZWN0aW9uTWFwOiBudWxsLFxuICBmb3JjZVNlbGVjdGlvbjogZmFsc2UsXG4gIGluQ29tcG9zaXRpb25Nb2RlOiBmYWxzZSxcbiAgaW5saW5lU3R5bGVPdmVycmlkZTogbnVsbCxcbiAgbGFzdENoYW5nZVR5cGU6IG51bGwsXG4gIG5hdGl2ZWx5UmVuZGVyZWRDb250ZW50OiBudWxsLFxuICByZWRvU3RhY2s6IFN0YWNrKCksXG4gIHNlbGVjdGlvbjogbnVsbCxcbiAgdHJlZU1hcDogbnVsbCxcbiAgdW5kb1N0YWNrOiBTdGFjaygpXG59O1xuXG52YXIgRWRpdG9yU3RhdGVSZWNvcmQgPSBSZWNvcmQoZGVmYXVsdFJlY29yZCk7XG5cbnZhciBFZGl0b3JTdGF0ZSA9IGZ1bmN0aW9uICgpIHtcbiAgRWRpdG9yU3RhdGUuY3JlYXRlRW1wdHkgPSBmdW5jdGlvbiBjcmVhdGVFbXB0eShkZWNvcmF0b3IpIHtcbiAgICByZXR1cm4gRWRpdG9yU3RhdGUuY3JlYXRlV2l0aENvbnRlbnQoQ29udGVudFN0YXRlLmNyZWF0ZUZyb21UZXh0KCcnKSwgZGVjb3JhdG9yKTtcbiAgfTtcblxuICBFZGl0b3JTdGF0ZS5jcmVhdGVXaXRoQ29udGVudCA9IGZ1bmN0aW9uIGNyZWF0ZVdpdGhDb250ZW50KGNvbnRlbnRTdGF0ZSwgZGVjb3JhdG9yKSB7XG4gICAgdmFyIGZpcnN0S2V5ID0gY29udGVudFN0YXRlLmdldEJsb2NrTWFwKCkuZmlyc3QoKS5nZXRLZXkoKTtcbiAgICByZXR1cm4gRWRpdG9yU3RhdGUuY3JlYXRlKHtcbiAgICAgIGN1cnJlbnRDb250ZW50OiBjb250ZW50U3RhdGUsXG4gICAgICB1bmRvU3RhY2s6IFN0YWNrKCksXG4gICAgICByZWRvU3RhY2s6IFN0YWNrKCksXG4gICAgICBkZWNvcmF0b3I6IGRlY29yYXRvciB8fCBudWxsLFxuICAgICAgc2VsZWN0aW9uOiBTZWxlY3Rpb25TdGF0ZS5jcmVhdGVFbXB0eShmaXJzdEtleSlcbiAgICB9KTtcbiAgfTtcblxuICBFZGl0b3JTdGF0ZS5jcmVhdGUgPSBmdW5jdGlvbiBjcmVhdGUoY29uZmlnKSB7XG4gICAgdmFyIGN1cnJlbnRDb250ZW50ID0gY29uZmlnLmN1cnJlbnRDb250ZW50LFxuICAgICAgICBkZWNvcmF0b3IgPSBjb25maWcuZGVjb3JhdG9yO1xuXG4gICAgdmFyIHJlY29yZENvbmZpZyA9IF9leHRlbmRzKHt9LCBjb25maWcsIHtcbiAgICAgIHRyZWVNYXA6IGdlbmVyYXRlTmV3VHJlZU1hcChjdXJyZW50Q29udGVudCwgZGVjb3JhdG9yKSxcbiAgICAgIGRpcmVjdGlvbk1hcDogRWRpdG9yQmlkaVNlcnZpY2UuZ2V0RGlyZWN0aW9uTWFwKGN1cnJlbnRDb250ZW50KVxuICAgIH0pO1xuICAgIHJldHVybiBuZXcgRWRpdG9yU3RhdGUobmV3IEVkaXRvclN0YXRlUmVjb3JkKHJlY29yZENvbmZpZykpO1xuICB9O1xuXG4gIEVkaXRvclN0YXRlLnNldCA9IGZ1bmN0aW9uIHNldChlZGl0b3JTdGF0ZSwgcHV0KSB7XG4gICAgdmFyIG1hcCA9IGVkaXRvclN0YXRlLmdldEltbXV0YWJsZSgpLndpdGhNdXRhdGlvbnMoZnVuY3Rpb24gKHN0YXRlKSB7XG4gICAgICB2YXIgZXhpc3RpbmdEZWNvcmF0b3IgPSBzdGF0ZS5nZXQoJ2RlY29yYXRvcicpO1xuICAgICAgdmFyIGRlY29yYXRvciA9IGV4aXN0aW5nRGVjb3JhdG9yO1xuICAgICAgaWYgKHB1dC5kZWNvcmF0b3IgPT09IG51bGwpIHtcbiAgICAgICAgZGVjb3JhdG9yID0gbnVsbDtcbiAgICAgIH0gZWxzZSBpZiAocHV0LmRlY29yYXRvcikge1xuICAgICAgICBkZWNvcmF0b3IgPSBwdXQuZGVjb3JhdG9yO1xuICAgICAgfVxuXG4gICAgICB2YXIgbmV3Q29udGVudCA9IHB1dC5jdXJyZW50Q29udGVudCB8fCBlZGl0b3JTdGF0ZS5nZXRDdXJyZW50Q29udGVudCgpO1xuXG4gICAgICBpZiAoZGVjb3JhdG9yICE9PSBleGlzdGluZ0RlY29yYXRvcikge1xuICAgICAgICB2YXIgdHJlZU1hcCA9IHN0YXRlLmdldCgndHJlZU1hcCcpO1xuICAgICAgICB2YXIgbmV3VHJlZU1hcDtcbiAgICAgICAgaWYgKGRlY29yYXRvciAmJiBleGlzdGluZ0RlY29yYXRvcikge1xuICAgICAgICAgIG5ld1RyZWVNYXAgPSByZWdlbmVyYXRlVHJlZUZvck5ld0RlY29yYXRvcihuZXdDb250ZW50LCBuZXdDb250ZW50LmdldEJsb2NrTWFwKCksIHRyZWVNYXAsIGRlY29yYXRvciwgZXhpc3RpbmdEZWNvcmF0b3IpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG5ld1RyZWVNYXAgPSBnZW5lcmF0ZU5ld1RyZWVNYXAobmV3Q29udGVudCwgZGVjb3JhdG9yKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHN0YXRlLm1lcmdlKHtcbiAgICAgICAgICBkZWNvcmF0b3I6IGRlY29yYXRvcixcbiAgICAgICAgICB0cmVlTWFwOiBuZXdUcmVlTWFwLFxuICAgICAgICAgIG5hdGl2ZWx5UmVuZGVyZWRDb250ZW50OiBudWxsXG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHZhciBleGlzdGluZ0NvbnRlbnQgPSBlZGl0b3JTdGF0ZS5nZXRDdXJyZW50Q29udGVudCgpO1xuICAgICAgaWYgKG5ld0NvbnRlbnQgIT09IGV4aXN0aW5nQ29udGVudCkge1xuICAgICAgICBzdGF0ZS5zZXQoJ3RyZWVNYXAnLCByZWdlbmVyYXRlVHJlZUZvck5ld0Jsb2NrcyhlZGl0b3JTdGF0ZSwgbmV3Q29udGVudC5nZXRCbG9ja01hcCgpLCBuZXdDb250ZW50LmdldEVudGl0eU1hcCgpLCBkZWNvcmF0b3IpKTtcbiAgICAgIH1cblxuICAgICAgc3RhdGUubWVyZ2UocHV0KTtcbiAgICB9KTtcblxuICAgIHJldHVybiBuZXcgRWRpdG9yU3RhdGUobWFwKTtcbiAgfTtcblxuICBFZGl0b3JTdGF0ZS5wcm90b3R5cGUudG9KUyA9IGZ1bmN0aW9uIHRvSlMoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0SW1tdXRhYmxlKCkudG9KUygpO1xuICB9O1xuXG4gIEVkaXRvclN0YXRlLnByb3RvdHlwZS5nZXRBbGxvd1VuZG8gPSBmdW5jdGlvbiBnZXRBbGxvd1VuZG8oKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0SW1tdXRhYmxlKCkuZ2V0KCdhbGxvd1VuZG8nKTtcbiAgfTtcblxuICBFZGl0b3JTdGF0ZS5wcm90b3R5cGUuZ2V0Q3VycmVudENvbnRlbnQgPSBmdW5jdGlvbiBnZXRDdXJyZW50Q29udGVudCgpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRJbW11dGFibGUoKS5nZXQoJ2N1cnJlbnRDb250ZW50Jyk7XG4gIH07XG5cbiAgRWRpdG9yU3RhdGUucHJvdG90eXBlLmdldFVuZG9TdGFjayA9IGZ1bmN0aW9uIGdldFVuZG9TdGFjaygpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRJbW11dGFibGUoKS5nZXQoJ3VuZG9TdGFjaycpO1xuICB9O1xuXG4gIEVkaXRvclN0YXRlLnByb3RvdHlwZS5nZXRSZWRvU3RhY2sgPSBmdW5jdGlvbiBnZXRSZWRvU3RhY2soKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0SW1tdXRhYmxlKCkuZ2V0KCdyZWRvU3RhY2snKTtcbiAgfTtcblxuICBFZGl0b3JTdGF0ZS5wcm90b3R5cGUuZ2V0U2VsZWN0aW9uID0gZnVuY3Rpb24gZ2V0U2VsZWN0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLmdldEltbXV0YWJsZSgpLmdldCgnc2VsZWN0aW9uJyk7XG4gIH07XG5cbiAgRWRpdG9yU3RhdGUucHJvdG90eXBlLmdldERlY29yYXRvciA9IGZ1bmN0aW9uIGdldERlY29yYXRvcigpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRJbW11dGFibGUoKS5nZXQoJ2RlY29yYXRvcicpO1xuICB9O1xuXG4gIEVkaXRvclN0YXRlLnByb3RvdHlwZS5pc0luQ29tcG9zaXRpb25Nb2RlID0gZnVuY3Rpb24gaXNJbkNvbXBvc2l0aW9uTW9kZSgpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRJbW11dGFibGUoKS5nZXQoJ2luQ29tcG9zaXRpb25Nb2RlJyk7XG4gIH07XG5cbiAgRWRpdG9yU3RhdGUucHJvdG90eXBlLm11c3RGb3JjZVNlbGVjdGlvbiA9IGZ1bmN0aW9uIG11c3RGb3JjZVNlbGVjdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRJbW11dGFibGUoKS5nZXQoJ2ZvcmNlU2VsZWN0aW9uJyk7XG4gIH07XG5cbiAgRWRpdG9yU3RhdGUucHJvdG90eXBlLmdldE5hdGl2ZWx5UmVuZGVyZWRDb250ZW50ID0gZnVuY3Rpb24gZ2V0TmF0aXZlbHlSZW5kZXJlZENvbnRlbnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0SW1tdXRhYmxlKCkuZ2V0KCduYXRpdmVseVJlbmRlcmVkQ29udGVudCcpO1xuICB9O1xuXG4gIEVkaXRvclN0YXRlLnByb3RvdHlwZS5nZXRMYXN0Q2hhbmdlVHlwZSA9IGZ1bmN0aW9uIGdldExhc3RDaGFuZ2VUeXBlKCkge1xuICAgIHJldHVybiB0aGlzLmdldEltbXV0YWJsZSgpLmdldCgnbGFzdENoYW5nZVR5cGUnKTtcbiAgfTtcblxuICAvKipcbiAgICogV2hpbGUgZWRpdGluZywgdGhlIHVzZXIgbWF5IGFwcGx5IGlubGluZSBzdHlsZSBjb21tYW5kcyB3aXRoIGEgY29sbGFwc2VkXG4gICAqIGN1cnNvciwgaW50ZW5kaW5nIHRvIHR5cGUgdGV4dCB0aGF0IGFkb3B0cyB0aGUgc3BlY2lmaWVkIHN0eWxlLiBJbiB0aGlzXG4gICAqIGNhc2UsIHdlIHRyYWNrIHRoZSBzcGVjaWZpZWQgc3R5bGUgYXMgYW4gXCJvdmVycmlkZVwiIHRoYXQgdGFrZXMgcHJlY2VkZW5jZVxuICAgKiBvdmVyIHRoZSBpbmxpbmUgc3R5bGUgb2YgdGhlIHRleHQgYWRqYWNlbnQgdG8gdGhlIGN1cnNvci5cbiAgICpcbiAgICogSWYgbnVsbCwgdGhlcmUgaXMgbm8gb3ZlcnJpZGUgaW4gcGxhY2UuXG4gICAqL1xuXG5cbiAgRWRpdG9yU3RhdGUucHJvdG90eXBlLmdldElubGluZVN0eWxlT3ZlcnJpZGUgPSBmdW5jdGlvbiBnZXRJbmxpbmVTdHlsZU92ZXJyaWRlKCkge1xuICAgIHJldHVybiB0aGlzLmdldEltbXV0YWJsZSgpLmdldCgnaW5saW5lU3R5bGVPdmVycmlkZScpO1xuICB9O1xuXG4gIEVkaXRvclN0YXRlLnNldElubGluZVN0eWxlT3ZlcnJpZGUgPSBmdW5jdGlvbiBzZXRJbmxpbmVTdHlsZU92ZXJyaWRlKGVkaXRvclN0YXRlLCBpbmxpbmVTdHlsZU92ZXJyaWRlKSB7XG4gICAgcmV0dXJuIEVkaXRvclN0YXRlLnNldChlZGl0b3JTdGF0ZSwgeyBpbmxpbmVTdHlsZU92ZXJyaWRlOiBpbmxpbmVTdHlsZU92ZXJyaWRlIH0pO1xuICB9O1xuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGFwcHJvcHJpYXRlIGlubGluZSBzdHlsZSBmb3IgdGhlIGVkaXRvciBzdGF0ZS4gSWYgYW5cbiAgICogb3ZlcnJpZGUgaXMgaW4gcGxhY2UsIHVzZSBpdC4gT3RoZXJ3aXNlLCB0aGUgY3VycmVudCBzdHlsZSBpc1xuICAgKiBiYXNlZCBvbiB0aGUgbG9jYXRpb24gb2YgdGhlIHNlbGVjdGlvbiBzdGF0ZS5cbiAgICovXG5cblxuICBFZGl0b3JTdGF0ZS5wcm90b3R5cGUuZ2V0Q3VycmVudElubGluZVN0eWxlID0gZnVuY3Rpb24gZ2V0Q3VycmVudElubGluZVN0eWxlKCkge1xuICAgIHZhciBvdmVycmlkZSA9IHRoaXMuZ2V0SW5saW5lU3R5bGVPdmVycmlkZSgpO1xuICAgIGlmIChvdmVycmlkZSAhPSBudWxsKSB7XG4gICAgICByZXR1cm4gb3ZlcnJpZGU7XG4gICAgfVxuXG4gICAgdmFyIGNvbnRlbnQgPSB0aGlzLmdldEN1cnJlbnRDb250ZW50KCk7XG4gICAgdmFyIHNlbGVjdGlvbiA9IHRoaXMuZ2V0U2VsZWN0aW9uKCk7XG5cbiAgICBpZiAoc2VsZWN0aW9uLmlzQ29sbGFwc2VkKCkpIHtcbiAgICAgIHJldHVybiBnZXRJbmxpbmVTdHlsZUZvckNvbGxhcHNlZFNlbGVjdGlvbihjb250ZW50LCBzZWxlY3Rpb24pO1xuICAgIH1cblxuICAgIHJldHVybiBnZXRJbmxpbmVTdHlsZUZvck5vbkNvbGxhcHNlZFNlbGVjdGlvbihjb250ZW50LCBzZWxlY3Rpb24pO1xuICB9O1xuXG4gIEVkaXRvclN0YXRlLnByb3RvdHlwZS5nZXRCbG9ja1RyZWUgPSBmdW5jdGlvbiBnZXRCbG9ja1RyZWUoYmxvY2tLZXkpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRJbW11dGFibGUoKS5nZXRJbihbJ3RyZWVNYXAnLCBibG9ja0tleV0pO1xuICB9O1xuXG4gIEVkaXRvclN0YXRlLnByb3RvdHlwZS5pc1NlbGVjdGlvbkF0U3RhcnRPZkNvbnRlbnQgPSBmdW5jdGlvbiBpc1NlbGVjdGlvbkF0U3RhcnRPZkNvbnRlbnQoKSB7XG4gICAgdmFyIGZpcnN0S2V5ID0gdGhpcy5nZXRDdXJyZW50Q29udGVudCgpLmdldEJsb2NrTWFwKCkuZmlyc3QoKS5nZXRLZXkoKTtcbiAgICByZXR1cm4gdGhpcy5nZXRTZWxlY3Rpb24oKS5oYXNFZGdlV2l0aGluKGZpcnN0S2V5LCAwLCAwKTtcbiAgfTtcblxuICBFZGl0b3JTdGF0ZS5wcm90b3R5cGUuaXNTZWxlY3Rpb25BdEVuZE9mQ29udGVudCA9IGZ1bmN0aW9uIGlzU2VsZWN0aW9uQXRFbmRPZkNvbnRlbnQoKSB7XG4gICAgdmFyIGNvbnRlbnQgPSB0aGlzLmdldEN1cnJlbnRDb250ZW50KCk7XG4gICAgdmFyIGJsb2NrTWFwID0gY29udGVudC5nZXRCbG9ja01hcCgpO1xuICAgIHZhciBsYXN0ID0gYmxvY2tNYXAubGFzdCgpO1xuICAgIHZhciBlbmQgPSBsYXN0LmdldExlbmd0aCgpO1xuICAgIHJldHVybiB0aGlzLmdldFNlbGVjdGlvbigpLmhhc0VkZ2VXaXRoaW4obGFzdC5nZXRLZXkoKSwgZW5kLCBlbmQpO1xuICB9O1xuXG4gIEVkaXRvclN0YXRlLnByb3RvdHlwZS5nZXREaXJlY3Rpb25NYXAgPSBmdW5jdGlvbiBnZXREaXJlY3Rpb25NYXAoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0SW1tdXRhYmxlKCkuZ2V0KCdkaXJlY3Rpb25NYXAnKTtcbiAgfTtcblxuICAvKipcbiAgICogSW5jb3Jwb3JhdGUgbmF0aXZlIERPTSBzZWxlY3Rpb24gY2hhbmdlcyBpbnRvIHRoZSBFZGl0b3JTdGF0ZS4gVGhpc1xuICAgKiBtZXRob2QgY2FuIGJlIHVzZWQgd2hlbiB3ZSBzaW1wbHkgd2FudCB0byBhY2NlcHQgd2hhdGV2ZXIgdGhlIERPTVxuICAgKiBoYXMgZ2l2ZW4gdXMgdG8gcmVwcmVzZW50IHNlbGVjdGlvbiwgYW5kIHdlIGRvIG5vdCBuZWVkIHRvIHJlLXJlbmRlclxuICAgKiB0aGUgZWRpdG9yLlxuICAgKlxuICAgKiBUbyBmb3JjaWJseSBtb3ZlIHRoZSBET00gc2VsZWN0aW9uLCBzZWUgYEVkaXRvclN0YXRlLmZvcmNlU2VsZWN0aW9uYC5cbiAgICovXG5cblxuICBFZGl0b3JTdGF0ZS5hY2NlcHRTZWxlY3Rpb24gPSBmdW5jdGlvbiBhY2NlcHRTZWxlY3Rpb24oZWRpdG9yU3RhdGUsIHNlbGVjdGlvbikge1xuICAgIHJldHVybiB1cGRhdGVTZWxlY3Rpb24oZWRpdG9yU3RhdGUsIHNlbGVjdGlvbiwgZmFsc2UpO1xuICB9O1xuXG4gIC8qKlxuICAgKiBBdCB0aW1lcywgd2UgbmVlZCB0byBmb3JjZSB0aGUgRE9NIHNlbGVjdGlvbiB0byBiZSB3aGVyZSB3ZVxuICAgKiBuZWVkIGl0IHRvIGJlLiBUaGlzIGNhbiBvY2N1ciB3aGVuIHRoZSBhbmNob3Igb3IgZm9jdXMgbm9kZXNcbiAgICogYXJlIG5vbi10ZXh0IG5vZGVzLCBmb3IgaW5zdGFuY2UuIEluIHRoaXMgY2FzZSwgd2Ugd2FudCB0byB0cmlnZ2VyXG4gICAqIGEgcmUtcmVuZGVyIG9mIHRoZSBlZGl0b3IsIHdoaWNoIGluIHR1cm4gZm9yY2VzIHNlbGVjdGlvbiBpbnRvXG4gICAqIHRoZSBjb3JyZWN0IHBsYWNlIGluIHRoZSBET00uIFRoZSBgZm9yY2VTZWxlY3Rpb25gIG1ldGhvZFxuICAgKiBhY2NvbXBsaXNoZXMgdGhpcy5cbiAgICpcbiAgICogVGhpcyBtZXRob2Qgc2hvdWxkIGJlIHVzZWQgaW4gY2FzZXMgd2hlcmUgeW91IG5lZWQgdG8gZXhwbGljaXRseVxuICAgKiBtb3ZlIHRoZSBET00gc2VsZWN0aW9uIGZyb20gb25lIHBsYWNlIHRvIGFub3RoZXIgd2l0aG91dCBhIGNoYW5nZVxuICAgKiBpbiBDb250ZW50U3RhdGUuXG4gICAqL1xuXG5cbiAgRWRpdG9yU3RhdGUuZm9yY2VTZWxlY3Rpb24gPSBmdW5jdGlvbiBmb3JjZVNlbGVjdGlvbihlZGl0b3JTdGF0ZSwgc2VsZWN0aW9uKSB7XG4gICAgaWYgKCFzZWxlY3Rpb24uZ2V0SGFzRm9jdXMoKSkge1xuICAgICAgc2VsZWN0aW9uID0gc2VsZWN0aW9uLnNldCgnaGFzRm9jdXMnLCB0cnVlKTtcbiAgICB9XG4gICAgcmV0dXJuIHVwZGF0ZVNlbGVjdGlvbihlZGl0b3JTdGF0ZSwgc2VsZWN0aW9uLCB0cnVlKTtcbiAgfTtcblxuICAvKipcbiAgICogTW92ZSBzZWxlY3Rpb24gdG8gdGhlIGVuZCBvZiB0aGUgZWRpdG9yIHdpdGhvdXQgZm9yY2luZyBmb2N1cy5cbiAgICovXG5cblxuICBFZGl0b3JTdGF0ZS5tb3ZlU2VsZWN0aW9uVG9FbmQgPSBmdW5jdGlvbiBtb3ZlU2VsZWN0aW9uVG9FbmQoZWRpdG9yU3RhdGUpIHtcbiAgICB2YXIgY29udGVudCA9IGVkaXRvclN0YXRlLmdldEN1cnJlbnRDb250ZW50KCk7XG4gICAgdmFyIGxhc3RCbG9jayA9IGNvbnRlbnQuZ2V0TGFzdEJsb2NrKCk7XG4gICAgdmFyIGxhc3RLZXkgPSBsYXN0QmxvY2suZ2V0S2V5KCk7XG4gICAgdmFyIGxlbmd0aCA9IGxhc3RCbG9jay5nZXRMZW5ndGgoKTtcblxuICAgIHJldHVybiBFZGl0b3JTdGF0ZS5hY2NlcHRTZWxlY3Rpb24oZWRpdG9yU3RhdGUsIG5ldyBTZWxlY3Rpb25TdGF0ZSh7XG4gICAgICBhbmNob3JLZXk6IGxhc3RLZXksXG4gICAgICBhbmNob3JPZmZzZXQ6IGxlbmd0aCxcbiAgICAgIGZvY3VzS2V5OiBsYXN0S2V5LFxuICAgICAgZm9jdXNPZmZzZXQ6IGxlbmd0aCxcbiAgICAgIGlzQmFja3dhcmQ6IGZhbHNlXG4gICAgfSkpO1xuICB9O1xuXG4gIC8qKlxuICAgKiBGb3JjZSBmb2N1cyB0byB0aGUgZW5kIG9mIHRoZSBlZGl0b3IuIFRoaXMgaXMgdXNlZnVsIGluIHNjZW5hcmlvc1xuICAgKiB3aGVyZSB3ZSB3YW50IHRvIHByb2dyYW1tYXRpY2FsbHkgZm9jdXMgdGhlIGlucHV0IGFuZCBpdCBtYWtlcyBzZW5zZVxuICAgKiB0byBhbGxvdyB0aGUgdXNlciB0byBjb250aW51ZSB3b3JraW5nIHNlYW1sZXNzbHkuXG4gICAqL1xuXG5cbiAgRWRpdG9yU3RhdGUubW92ZUZvY3VzVG9FbmQgPSBmdW5jdGlvbiBtb3ZlRm9jdXNUb0VuZChlZGl0b3JTdGF0ZSkge1xuICAgIHZhciBhZnRlclNlbGVjdGlvbk1vdmUgPSBFZGl0b3JTdGF0ZS5tb3ZlU2VsZWN0aW9uVG9FbmQoZWRpdG9yU3RhdGUpO1xuICAgIHJldHVybiBFZGl0b3JTdGF0ZS5mb3JjZVNlbGVjdGlvbihhZnRlclNlbGVjdGlvbk1vdmUsIGFmdGVyU2VsZWN0aW9uTW92ZS5nZXRTZWxlY3Rpb24oKSk7XG4gIH07XG5cbiAgLyoqXG4gICAqIFB1c2ggdGhlIGN1cnJlbnQgQ29udGVudFN0YXRlIG9udG8gdGhlIHVuZG8gc3RhY2sgaWYgaXQgc2hvdWxkIGJlXG4gICAqIGNvbnNpZGVyZWQgYSBib3VuZGFyeSBzdGF0ZSwgYW5kIHNldCB0aGUgcHJvdmlkZWQgQ29udGVudFN0YXRlIGFzIHRoZVxuICAgKiBuZXcgY3VycmVudCBjb250ZW50LlxuICAgKi9cblxuXG4gIEVkaXRvclN0YXRlLnB1c2ggPSBmdW5jdGlvbiBwdXNoKGVkaXRvclN0YXRlLCBjb250ZW50U3RhdGUsIGNoYW5nZVR5cGUpIHtcbiAgICBpZiAoZWRpdG9yU3RhdGUuZ2V0Q3VycmVudENvbnRlbnQoKSA9PT0gY29udGVudFN0YXRlKSB7XG4gICAgICByZXR1cm4gZWRpdG9yU3RhdGU7XG4gICAgfVxuXG4gICAgdmFyIGZvcmNlU2VsZWN0aW9uID0gY2hhbmdlVHlwZSAhPT0gJ2luc2VydC1jaGFyYWN0ZXJzJztcbiAgICB2YXIgZGlyZWN0aW9uTWFwID0gRWRpdG9yQmlkaVNlcnZpY2UuZ2V0RGlyZWN0aW9uTWFwKGNvbnRlbnRTdGF0ZSwgZWRpdG9yU3RhdGUuZ2V0RGlyZWN0aW9uTWFwKCkpO1xuXG4gICAgaWYgKCFlZGl0b3JTdGF0ZS5nZXRBbGxvd1VuZG8oKSkge1xuICAgICAgcmV0dXJuIEVkaXRvclN0YXRlLnNldChlZGl0b3JTdGF0ZSwge1xuICAgICAgICBjdXJyZW50Q29udGVudDogY29udGVudFN0YXRlLFxuICAgICAgICBkaXJlY3Rpb25NYXA6IGRpcmVjdGlvbk1hcCxcbiAgICAgICAgbGFzdENoYW5nZVR5cGU6IGNoYW5nZVR5cGUsXG4gICAgICAgIHNlbGVjdGlvbjogY29udGVudFN0YXRlLmdldFNlbGVjdGlvbkFmdGVyKCksXG4gICAgICAgIGZvcmNlU2VsZWN0aW9uOiBmb3JjZVNlbGVjdGlvbixcbiAgICAgICAgaW5saW5lU3R5bGVPdmVycmlkZTogbnVsbFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgdmFyIHNlbGVjdGlvbiA9IGVkaXRvclN0YXRlLmdldFNlbGVjdGlvbigpO1xuICAgIHZhciBjdXJyZW50Q29udGVudCA9IGVkaXRvclN0YXRlLmdldEN1cnJlbnRDb250ZW50KCk7XG4gICAgdmFyIHVuZG9TdGFjayA9IGVkaXRvclN0YXRlLmdldFVuZG9TdGFjaygpO1xuICAgIHZhciBuZXdDb250ZW50ID0gY29udGVudFN0YXRlO1xuXG4gICAgaWYgKHNlbGVjdGlvbiAhPT0gY3VycmVudENvbnRlbnQuZ2V0U2VsZWN0aW9uQWZ0ZXIoKSB8fCBtdXN0QmVjb21lQm91bmRhcnkoZWRpdG9yU3RhdGUsIGNoYW5nZVR5cGUpKSB7XG4gICAgICB1bmRvU3RhY2sgPSB1bmRvU3RhY2sucHVzaChjdXJyZW50Q29udGVudCk7XG4gICAgICBuZXdDb250ZW50ID0gbmV3Q29udGVudC5zZXQoJ3NlbGVjdGlvbkJlZm9yZScsIHNlbGVjdGlvbik7XG4gICAgfSBlbHNlIGlmIChjaGFuZ2VUeXBlID09PSAnaW5zZXJ0LWNoYXJhY3RlcnMnIHx8IGNoYW5nZVR5cGUgPT09ICdiYWNrc3BhY2UtY2hhcmFjdGVyJyB8fCBjaGFuZ2VUeXBlID09PSAnZGVsZXRlLWNoYXJhY3RlcicpIHtcbiAgICAgIC8vIFByZXNlcnZlIHRoZSBwcmV2aW91cyBzZWxlY3Rpb24uXG4gICAgICBuZXdDb250ZW50ID0gbmV3Q29udGVudC5zZXQoJ3NlbGVjdGlvbkJlZm9yZScsIGN1cnJlbnRDb250ZW50LmdldFNlbGVjdGlvbkJlZm9yZSgpKTtcbiAgICB9XG5cbiAgICB2YXIgaW5saW5lU3R5bGVPdmVycmlkZSA9IGVkaXRvclN0YXRlLmdldElubGluZVN0eWxlT3ZlcnJpZGUoKTtcblxuICAgIC8vIERvbid0IGRpc2NhcmQgaW5saW5lIHN0eWxlIG92ZXJyaWRlcyBmb3IgdGhlIGZvbGxvd2luZyBjaGFuZ2UgdHlwZXM6XG4gICAgdmFyIG92ZXJyaWRlQ2hhbmdlVHlwZXMgPSBbJ2FkanVzdC1kZXB0aCcsICdjaGFuZ2UtYmxvY2stdHlwZScsICdzcGxpdC1ibG9jayddO1xuXG4gICAgaWYgKG92ZXJyaWRlQ2hhbmdlVHlwZXMuaW5kZXhPZihjaGFuZ2VUeXBlKSA9PT0gLTEpIHtcbiAgICAgIGlubGluZVN0eWxlT3ZlcnJpZGUgPSBudWxsO1xuICAgIH1cblxuICAgIHZhciBlZGl0b3JTdGF0ZUNoYW5nZXMgPSB7XG4gICAgICBjdXJyZW50Q29udGVudDogbmV3Q29udGVudCxcbiAgICAgIGRpcmVjdGlvbk1hcDogZGlyZWN0aW9uTWFwLFxuICAgICAgdW5kb1N0YWNrOiB1bmRvU3RhY2ssXG4gICAgICByZWRvU3RhY2s6IFN0YWNrKCksXG4gICAgICBsYXN0Q2hhbmdlVHlwZTogY2hhbmdlVHlwZSxcbiAgICAgIHNlbGVjdGlvbjogY29udGVudFN0YXRlLmdldFNlbGVjdGlvbkFmdGVyKCksXG4gICAgICBmb3JjZVNlbGVjdGlvbjogZm9yY2VTZWxlY3Rpb24sXG4gICAgICBpbmxpbmVTdHlsZU92ZXJyaWRlOiBpbmxpbmVTdHlsZU92ZXJyaWRlXG4gICAgfTtcblxuICAgIHJldHVybiBFZGl0b3JTdGF0ZS5zZXQoZWRpdG9yU3RhdGUsIGVkaXRvclN0YXRlQ2hhbmdlcyk7XG4gIH07XG5cbiAgLyoqXG4gICAqIE1ha2UgdGhlIHRvcCBDb250ZW50U3RhdGUgaW4gdGhlIHVuZG8gc3RhY2sgdGhlIG5ldyBjdXJyZW50IGNvbnRlbnQgYW5kXG4gICAqIHB1c2ggdGhlIGN1cnJlbnQgY29udGVudCBvbnRvIHRoZSByZWRvIHN0YWNrLlxuICAgKi9cblxuXG4gIEVkaXRvclN0YXRlLnVuZG8gPSBmdW5jdGlvbiB1bmRvKGVkaXRvclN0YXRlKSB7XG4gICAgaWYgKCFlZGl0b3JTdGF0ZS5nZXRBbGxvd1VuZG8oKSkge1xuICAgICAgcmV0dXJuIGVkaXRvclN0YXRlO1xuICAgIH1cblxuICAgIHZhciB1bmRvU3RhY2sgPSBlZGl0b3JTdGF0ZS5nZXRVbmRvU3RhY2soKTtcbiAgICB2YXIgbmV3Q3VycmVudENvbnRlbnQgPSB1bmRvU3RhY2sucGVlaygpO1xuICAgIGlmICghbmV3Q3VycmVudENvbnRlbnQpIHtcbiAgICAgIHJldHVybiBlZGl0b3JTdGF0ZTtcbiAgICB9XG5cbiAgICB2YXIgY3VycmVudENvbnRlbnQgPSBlZGl0b3JTdGF0ZS5nZXRDdXJyZW50Q29udGVudCgpO1xuICAgIHZhciBkaXJlY3Rpb25NYXAgPSBFZGl0b3JCaWRpU2VydmljZS5nZXREaXJlY3Rpb25NYXAobmV3Q3VycmVudENvbnRlbnQsIGVkaXRvclN0YXRlLmdldERpcmVjdGlvbk1hcCgpKTtcblxuICAgIHJldHVybiBFZGl0b3JTdGF0ZS5zZXQoZWRpdG9yU3RhdGUsIHtcbiAgICAgIGN1cnJlbnRDb250ZW50OiBuZXdDdXJyZW50Q29udGVudCxcbiAgICAgIGRpcmVjdGlvbk1hcDogZGlyZWN0aW9uTWFwLFxuICAgICAgdW5kb1N0YWNrOiB1bmRvU3RhY2suc2hpZnQoKSxcbiAgICAgIHJlZG9TdGFjazogZWRpdG9yU3RhdGUuZ2V0UmVkb1N0YWNrKCkucHVzaChjdXJyZW50Q29udGVudCksXG4gICAgICBmb3JjZVNlbGVjdGlvbjogdHJ1ZSxcbiAgICAgIGlubGluZVN0eWxlT3ZlcnJpZGU6IG51bGwsXG4gICAgICBsYXN0Q2hhbmdlVHlwZTogJ3VuZG8nLFxuICAgICAgbmF0aXZlbHlSZW5kZXJlZENvbnRlbnQ6IG51bGwsXG4gICAgICBzZWxlY3Rpb246IGN1cnJlbnRDb250ZW50LmdldFNlbGVjdGlvbkJlZm9yZSgpXG4gICAgfSk7XG4gIH07XG5cbiAgLyoqXG4gICAqIE1ha2UgdGhlIHRvcCBDb250ZW50U3RhdGUgaW4gdGhlIHJlZG8gc3RhY2sgdGhlIG5ldyBjdXJyZW50IGNvbnRlbnQgYW5kXG4gICAqIHB1c2ggdGhlIGN1cnJlbnQgY29udGVudCBvbnRvIHRoZSB1bmRvIHN0YWNrLlxuICAgKi9cblxuXG4gIEVkaXRvclN0YXRlLnJlZG8gPSBmdW5jdGlvbiByZWRvKGVkaXRvclN0YXRlKSB7XG4gICAgaWYgKCFlZGl0b3JTdGF0ZS5nZXRBbGxvd1VuZG8oKSkge1xuICAgICAgcmV0dXJuIGVkaXRvclN0YXRlO1xuICAgIH1cblxuICAgIHZhciByZWRvU3RhY2sgPSBlZGl0b3JTdGF0ZS5nZXRSZWRvU3RhY2soKTtcbiAgICB2YXIgbmV3Q3VycmVudENvbnRlbnQgPSByZWRvU3RhY2sucGVlaygpO1xuICAgIGlmICghbmV3Q3VycmVudENvbnRlbnQpIHtcbiAgICAgIHJldHVybiBlZGl0b3JTdGF0ZTtcbiAgICB9XG5cbiAgICB2YXIgY3VycmVudENvbnRlbnQgPSBlZGl0b3JTdGF0ZS5nZXRDdXJyZW50Q29udGVudCgpO1xuICAgIHZhciBkaXJlY3Rpb25NYXAgPSBFZGl0b3JCaWRpU2VydmljZS5nZXREaXJlY3Rpb25NYXAobmV3Q3VycmVudENvbnRlbnQsIGVkaXRvclN0YXRlLmdldERpcmVjdGlvbk1hcCgpKTtcblxuICAgIHJldHVybiBFZGl0b3JTdGF0ZS5zZXQoZWRpdG9yU3RhdGUsIHtcbiAgICAgIGN1cnJlbnRDb250ZW50OiBuZXdDdXJyZW50Q29udGVudCxcbiAgICAgIGRpcmVjdGlvbk1hcDogZGlyZWN0aW9uTWFwLFxuICAgICAgdW5kb1N0YWNrOiBlZGl0b3JTdGF0ZS5nZXRVbmRvU3RhY2soKS5wdXNoKGN1cnJlbnRDb250ZW50KSxcbiAgICAgIHJlZG9TdGFjazogcmVkb1N0YWNrLnNoaWZ0KCksXG4gICAgICBmb3JjZVNlbGVjdGlvbjogdHJ1ZSxcbiAgICAgIGlubGluZVN0eWxlT3ZlcnJpZGU6IG51bGwsXG4gICAgICBsYXN0Q2hhbmdlVHlwZTogJ3JlZG8nLFxuICAgICAgbmF0aXZlbHlSZW5kZXJlZENvbnRlbnQ6IG51bGwsXG4gICAgICBzZWxlY3Rpb246IG5ld0N1cnJlbnRDb250ZW50LmdldFNlbGVjdGlvbkFmdGVyKClcbiAgICB9KTtcbiAgfTtcblxuICAvKipcbiAgICogTm90IGZvciBwdWJsaWMgY29uc3VtcHRpb24uXG4gICAqL1xuXG5cbiAgZnVuY3Rpb24gRWRpdG9yU3RhdGUoaW1tdXRhYmxlKSB7XG4gICAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIEVkaXRvclN0YXRlKTtcblxuICAgIHRoaXMuX2ltbXV0YWJsZSA9IGltbXV0YWJsZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBOb3QgZm9yIHB1YmxpYyBjb25zdW1wdGlvbi5cbiAgICovXG5cblxuICBFZGl0b3JTdGF0ZS5wcm90b3R5cGUuZ2V0SW1tdXRhYmxlID0gZnVuY3Rpb24gZ2V0SW1tdXRhYmxlKCkge1xuICAgIHJldHVybiB0aGlzLl9pbW11dGFibGU7XG4gIH07XG5cbiAgcmV0dXJuIEVkaXRvclN0YXRlO1xufSgpO1xuXG4vKipcbiAqIFNldCB0aGUgc3VwcGxpZWQgU2VsZWN0aW9uU3RhdGUgYXMgdGhlIG5ldyBjdXJyZW50IHNlbGVjdGlvbiwgYW5kIHNldFxuICogdGhlIGBmb3JjZWAgZmxhZyB0byB0cmlnZ2VyIG1hbnVhbCBzZWxlY3Rpb24gcGxhY2VtZW50IGJ5IHRoZSB2aWV3LlxuICovXG5cblxuZnVuY3Rpb24gdXBkYXRlU2VsZWN0aW9uKGVkaXRvclN0YXRlLCBzZWxlY3Rpb24sIGZvcmNlU2VsZWN0aW9uKSB7XG4gIHJldHVybiBFZGl0b3JTdGF0ZS5zZXQoZWRpdG9yU3RhdGUsIHtcbiAgICBzZWxlY3Rpb246IHNlbGVjdGlvbixcbiAgICBmb3JjZVNlbGVjdGlvbjogZm9yY2VTZWxlY3Rpb24sXG4gICAgbmF0aXZlbHlSZW5kZXJlZENvbnRlbnQ6IG51bGwsXG4gICAgaW5saW5lU3R5bGVPdmVycmlkZTogbnVsbFxuICB9KTtcbn1cblxuLyoqXG4gKiBSZWdlbmVyYXRlIHRoZSBlbnRpcmUgdHJlZSBtYXAgZm9yIGEgZ2l2ZW4gQ29udGVudFN0YXRlIGFuZCBkZWNvcmF0b3IuXG4gKiBSZXR1cm5zIGFuIE9yZGVyZWRNYXAgdGhhdCBtYXBzIGFsbCBhdmFpbGFibGUgQ29udGVudEJsb2NrIG9iamVjdHMuXG4gKi9cbmZ1bmN0aW9uIGdlbmVyYXRlTmV3VHJlZU1hcChjb250ZW50U3RhdGUsIGRlY29yYXRvcikge1xuICByZXR1cm4gY29udGVudFN0YXRlLmdldEJsb2NrTWFwKCkubWFwKGZ1bmN0aW9uIChibG9jaykge1xuICAgIHJldHVybiBCbG9ja1RyZWUuZ2VuZXJhdGUoY29udGVudFN0YXRlLCBibG9jaywgZGVjb3JhdG9yKTtcbiAgfSkudG9PcmRlcmVkTWFwKCk7XG59XG5cbi8qKlxuICogUmVnZW5lcmF0ZSB0cmVlIG1hcCBvYmplY3RzIGZvciBhbGwgQ29udGVudEJsb2NrcyB0aGF0IGhhdmUgY2hhbmdlZFxuICogYmV0d2VlbiB0aGUgY3VycmVudCBlZGl0b3JTdGF0ZSBhbmQgbmV3Q29udGVudC4gUmV0dXJucyBhbiBPcmRlcmVkTWFwXG4gKiB3aXRoIG9ubHkgY2hhbmdlZCByZWdlbmVyYXRlZCB0cmVlIG1hcCBvYmplY3RzLlxuICovXG5mdW5jdGlvbiByZWdlbmVyYXRlVHJlZUZvck5ld0Jsb2NrcyhlZGl0b3JTdGF0ZSwgbmV3QmxvY2tNYXAsIG5ld0VudGl0eU1hcCwgZGVjb3JhdG9yKSB7XG4gIHZhciBjb250ZW50U3RhdGUgPSBlZGl0b3JTdGF0ZS5nZXRDdXJyZW50Q29udGVudCgpLnNldCgnZW50aXR5TWFwJywgbmV3RW50aXR5TWFwKTtcbiAgdmFyIHByZXZCbG9ja01hcCA9IGNvbnRlbnRTdGF0ZS5nZXRCbG9ja01hcCgpO1xuICB2YXIgcHJldlRyZWVNYXAgPSBlZGl0b3JTdGF0ZS5nZXRJbW11dGFibGUoKS5nZXQoJ3RyZWVNYXAnKTtcbiAgcmV0dXJuIHByZXZUcmVlTWFwLm1lcmdlKG5ld0Jsb2NrTWFwLnRvU2VxKCkuZmlsdGVyKGZ1bmN0aW9uIChibG9jaywga2V5KSB7XG4gICAgcmV0dXJuIGJsb2NrICE9PSBwcmV2QmxvY2tNYXAuZ2V0KGtleSk7XG4gIH0pLm1hcChmdW5jdGlvbiAoYmxvY2spIHtcbiAgICByZXR1cm4gQmxvY2tUcmVlLmdlbmVyYXRlKGNvbnRlbnRTdGF0ZSwgYmxvY2ssIGRlY29yYXRvcik7XG4gIH0pKTtcbn1cblxuLyoqXG4gKiBHZW5lcmF0ZSB0cmVlIG1hcCBvYmplY3RzIGZvciBhIG5ldyBkZWNvcmF0b3Igb2JqZWN0LCBwcmVzZXJ2aW5nIGFueVxuICogZGVjb3JhdGlvbnMgdGhhdCBhcmUgdW5jaGFuZ2VkIGZyb20gdGhlIHByZXZpb3VzIGRlY29yYXRvci5cbiAqXG4gKiBOb3RlIHRoYXQgaW4gb3JkZXIgZm9yIHRoaXMgdG8gcGVyZm9ybSBvcHRpbWFsbHksIGRlY29yYXRpb24gTGlzdHMgZm9yXG4gKiBkZWNvcmF0b3JzIHNob3VsZCBiZSBwcmVzZXJ2ZWQgd2hlbiBwb3NzaWJsZSB0byBhbGxvdyBmb3IgZGlyZWN0IGltbXV0YWJsZVxuICogTGlzdCBjb21wYXJpc29uLlxuICovXG5mdW5jdGlvbiByZWdlbmVyYXRlVHJlZUZvck5ld0RlY29yYXRvcihjb250ZW50LCBibG9ja01hcCwgcHJldmlvdXNUcmVlTWFwLCBkZWNvcmF0b3IsIGV4aXN0aW5nRGVjb3JhdG9yKSB7XG4gIHJldHVybiBwcmV2aW91c1RyZWVNYXAubWVyZ2UoYmxvY2tNYXAudG9TZXEoKS5maWx0ZXIoZnVuY3Rpb24gKGJsb2NrKSB7XG4gICAgcmV0dXJuIGRlY29yYXRvci5nZXREZWNvcmF0aW9ucyhibG9jaywgY29udGVudCkgIT09IGV4aXN0aW5nRGVjb3JhdG9yLmdldERlY29yYXRpb25zKGJsb2NrLCBjb250ZW50KTtcbiAgfSkubWFwKGZ1bmN0aW9uIChibG9jaykge1xuICAgIHJldHVybiBCbG9ja1RyZWUuZ2VuZXJhdGUoY29udGVudCwgYmxvY2ssIGRlY29yYXRvcik7XG4gIH0pKTtcbn1cblxuLyoqXG4gKiBSZXR1cm4gd2hldGhlciBhIGNoYW5nZSBzaG91bGQgYmUgY29uc2lkZXJlZCBhIGJvdW5kYXJ5IHN0YXRlLCBnaXZlblxuICogdGhlIHByZXZpb3VzIGNoYW5nZSB0eXBlLiBBbGxvd3MgdXMgdG8gZGlzY2FyZCBwb3RlbnRpYWwgYm91bmRhcnkgc3RhdGVzXG4gKiBkdXJpbmcgc3RhbmRhcmQgdHlwaW5nIG9yIGRlbGV0aW9uIGJlaGF2aW9yLlxuICovXG5mdW5jdGlvbiBtdXN0QmVjb21lQm91bmRhcnkoZWRpdG9yU3RhdGUsIGNoYW5nZVR5cGUpIHtcbiAgdmFyIGxhc3RDaGFuZ2VUeXBlID0gZWRpdG9yU3RhdGUuZ2V0TGFzdENoYW5nZVR5cGUoKTtcbiAgcmV0dXJuIGNoYW5nZVR5cGUgIT09IGxhc3RDaGFuZ2VUeXBlIHx8IGNoYW5nZVR5cGUgIT09ICdpbnNlcnQtY2hhcmFjdGVycycgJiYgY2hhbmdlVHlwZSAhPT0gJ2JhY2tzcGFjZS1jaGFyYWN0ZXInICYmIGNoYW5nZVR5cGUgIT09ICdkZWxldGUtY2hhcmFjdGVyJztcbn1cblxuZnVuY3Rpb24gZ2V0SW5saW5lU3R5bGVGb3JDb2xsYXBzZWRTZWxlY3Rpb24oY29udGVudCwgc2VsZWN0aW9uKSB7XG4gIHZhciBzdGFydEtleSA9IHNlbGVjdGlvbi5nZXRTdGFydEtleSgpO1xuICB2YXIgc3RhcnRPZmZzZXQgPSBzZWxlY3Rpb24uZ2V0U3RhcnRPZmZzZXQoKTtcbiAgdmFyIHN0YXJ0QmxvY2sgPSBjb250ZW50LmdldEJsb2NrRm9yS2V5KHN0YXJ0S2V5KTtcblxuICAvLyBJZiB0aGUgY3Vyc29yIGlzIG5vdCBhdCB0aGUgc3RhcnQgb2YgdGhlIGJsb2NrLCBsb29rIGJhY2t3YXJkIHRvXG4gIC8vIHByZXNlcnZlIHRoZSBzdHlsZSBvZiB0aGUgcHJlY2VkaW5nIGNoYXJhY3Rlci5cbiAgaWYgKHN0YXJ0T2Zmc2V0ID4gMCkge1xuICAgIHJldHVybiBzdGFydEJsb2NrLmdldElubGluZVN0eWxlQXQoc3RhcnRPZmZzZXQgLSAxKTtcbiAgfVxuXG4gIC8vIFRoZSBjYXJldCBpcyBhdCBwb3NpdGlvbiB6ZXJvIGluIHRoaXMgYmxvY2suIElmIHRoZSBibG9jayBoYXMgYW55XG4gIC8vIHRleHQgYXQgYWxsLCB1c2UgdGhlIHN0eWxlIG9mIHRoZSBmaXJzdCBjaGFyYWN0ZXIuXG4gIGlmIChzdGFydEJsb2NrLmdldExlbmd0aCgpKSB7XG4gICAgcmV0dXJuIHN0YXJ0QmxvY2suZ2V0SW5saW5lU3R5bGVBdCgwKTtcbiAgfVxuXG4gIC8vIE90aGVyd2lzZSwgbG9vayB1cHdhcmQgaW4gdGhlIGRvY3VtZW50IHRvIGZpbmQgdGhlIGNsb3Nlc3QgY2hhcmFjdGVyLlxuICByZXR1cm4gbG9va1Vwd2FyZEZvcklubGluZVN0eWxlKGNvbnRlbnQsIHN0YXJ0S2V5KTtcbn1cblxuZnVuY3Rpb24gZ2V0SW5saW5lU3R5bGVGb3JOb25Db2xsYXBzZWRTZWxlY3Rpb24oY29udGVudCwgc2VsZWN0aW9uKSB7XG4gIHZhciBzdGFydEtleSA9IHNlbGVjdGlvbi5nZXRTdGFydEtleSgpO1xuICB2YXIgc3RhcnRPZmZzZXQgPSBzZWxlY3Rpb24uZ2V0U3RhcnRPZmZzZXQoKTtcbiAgdmFyIHN0YXJ0QmxvY2sgPSBjb250ZW50LmdldEJsb2NrRm9yS2V5KHN0YXJ0S2V5KTtcblxuICAvLyBJZiB0aGVyZSBpcyBhIGNoYXJhY3RlciBqdXN0IGluc2lkZSB0aGUgc2VsZWN0aW9uLCB1c2UgaXRzIHN0eWxlLlxuICBpZiAoc3RhcnRPZmZzZXQgPCBzdGFydEJsb2NrLmdldExlbmd0aCgpKSB7XG4gICAgcmV0dXJuIHN0YXJ0QmxvY2suZ2V0SW5saW5lU3R5bGVBdChzdGFydE9mZnNldCk7XG4gIH1cblxuICAvLyBDaGVjayBpZiB0aGUgc2VsZWN0aW9uIGF0IHRoZSBlbmQgb2YgYSBub24tZW1wdHkgYmxvY2suIFVzZSB0aGUgbGFzdFxuICAvLyBzdHlsZSBpbiB0aGUgYmxvY2suXG4gIGlmIChzdGFydE9mZnNldCA+IDApIHtcbiAgICByZXR1cm4gc3RhcnRCbG9jay5nZXRJbmxpbmVTdHlsZUF0KHN0YXJ0T2Zmc2V0IC0gMSk7XG4gIH1cblxuICAvLyBPdGhlcndpc2UsIGxvb2sgdXB3YXJkIGluIHRoZSBkb2N1bWVudCB0byBmaW5kIHRoZSBjbG9zZXN0IGNoYXJhY3Rlci5cbiAgcmV0dXJuIGxvb2tVcHdhcmRGb3JJbmxpbmVTdHlsZShjb250ZW50LCBzdGFydEtleSk7XG59XG5cbmZ1bmN0aW9uIGxvb2tVcHdhcmRGb3JJbmxpbmVTdHlsZShjb250ZW50LCBmcm9tS2V5KSB7XG4gIHZhciBsYXN0Tm9uRW1wdHkgPSBjb250ZW50LmdldEJsb2NrTWFwKCkucmV2ZXJzZSgpLnNraXBVbnRpbChmdW5jdGlvbiAoXywgaykge1xuICAgIHJldHVybiBrID09PSBmcm9tS2V5O1xuICB9KS5za2lwKDEpLnNraXBVbnRpbChmdW5jdGlvbiAoYmxvY2ssIF8pIHtcbiAgICByZXR1cm4gYmxvY2suZ2V0TGVuZ3RoKCk7XG4gIH0pLmZpcnN0KCk7XG5cbiAgaWYgKGxhc3ROb25FbXB0eSkgcmV0dXJuIGxhc3ROb25FbXB0eS5nZXRJbmxpbmVTdHlsZUF0KGxhc3ROb25FbXB0eS5nZXRMZW5ndGgoKSAtIDEpO1xuICByZXR1cm4gT3JkZXJlZFNldCgpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IEVkaXRvclN0YXRlOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/EditorState.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar BlockTree = __webpack_require__(/*! ./BlockTree */ \"./node_modules/draft-js/lib/BlockTree.js\");\n\nvar ContentState = __webpack_require__(/*! ./ContentState */ \"./node_modules/draft-js/lib/ContentState.js\");\n\nvar EditorBidiService = __webpack_require__(/*! ./EditorBidiService */ \"./node_modules/draft-js/lib/EditorBidiService.js\");\n\nvar SelectionState = __webpack_require__(/*! ./SelectionState */ \"./node_modules/draft-js/lib/SelectionState.js\");\n\nvar Immutable = __webpack_require__(/*! immutable */ \"./node_modules/draft-js/node_modules/immutable/dist/immutable.js\");\n\nvar OrderedSet = Immutable.OrderedSet,\n Record = Immutable.Record,\n Stack = Immutable.Stack;\nvar defaultRecord = {\n allowUndo: true,\n currentContent: null,\n decorator: null,\n directionMap: null,\n forceSelection: false,\n inCompositionMode: false,\n inlineStyleOverride: null,\n lastChangeType: null,\n nativelyRenderedContent: null,\n redoStack: Stack(),\n selection: null,\n treeMap: null,\n undoStack: Stack()\n};\nvar EditorStateRecord = Record(defaultRecord);\n\nvar EditorState =\n/*#__PURE__*/\nfunction () {\n EditorState.createEmpty = function createEmpty(decorator) {\n return EditorState.createWithContent(ContentState.createFromText(''), decorator);\n };\n\n EditorState.createWithContent = function createWithContent(contentState, decorator) {\n if (contentState.getBlockMap().count() === 0) {\n return EditorState.createEmpty(decorator);\n }\n\n var firstKey = contentState.getBlockMap().first().getKey();\n return EditorState.create({\n currentContent: contentState,\n undoStack: Stack(),\n redoStack: Stack(),\n decorator: decorator || null,\n selection: SelectionState.createEmpty(firstKey)\n });\n };\n\n EditorState.create = function create(config) {\n var currentContent = config.currentContent,\n decorator = config.decorator;\n\n var recordConfig = _objectSpread({}, config, {\n treeMap: generateNewTreeMap(currentContent, decorator),\n directionMap: EditorBidiService.getDirectionMap(currentContent)\n });\n\n return new EditorState(new EditorStateRecord(recordConfig));\n };\n\n EditorState.set = function set(editorState, put) {\n var map = editorState.getImmutable().withMutations(function (state) {\n var existingDecorator = state.get('decorator');\n var decorator = existingDecorator;\n\n if (put.decorator === null) {\n decorator = null;\n } else if (put.decorator) {\n decorator = put.decorator;\n }\n\n var newContent = put.currentContent || editorState.getCurrentContent();\n\n if (decorator !== existingDecorator) {\n var treeMap = state.get('treeMap');\n var newTreeMap;\n\n if (decorator && existingDecorator) {\n newTreeMap = regenerateTreeForNewDecorator(newContent, newContent.getBlockMap(), treeMap, decorator, existingDecorator);\n } else {\n newTreeMap = generateNewTreeMap(newContent, decorator);\n }\n\n state.merge({\n decorator: decorator,\n treeMap: newTreeMap,\n nativelyRenderedContent: null\n });\n return;\n }\n\n var existingContent = editorState.getCurrentContent();\n\n if (newContent !== existingContent) {\n state.set('treeMap', regenerateTreeForNewBlocks(editorState, newContent.getBlockMap(), newContent.getEntityMap(), decorator));\n }\n\n state.merge(put);\n });\n return new EditorState(map);\n };\n\n var _proto = EditorState.prototype;\n\n _proto.toJS = function toJS() {\n return this.getImmutable().toJS();\n };\n\n _proto.getAllowUndo = function getAllowUndo() {\n return this.getImmutable().get('allowUndo');\n };\n\n _proto.getCurrentContent = function getCurrentContent() {\n return this.getImmutable().get('currentContent');\n };\n\n _proto.getUndoStack = function getUndoStack() {\n return this.getImmutable().get('undoStack');\n };\n\n _proto.getRedoStack = function getRedoStack() {\n return this.getImmutable().get('redoStack');\n };\n\n _proto.getSelection = function getSelection() {\n return this.getImmutable().get('selection');\n };\n\n _proto.getDecorator = function getDecorator() {\n return this.getImmutable().get('decorator');\n };\n\n _proto.isInCompositionMode = function isInCompositionMode() {\n return this.getImmutable().get('inCompositionMode');\n };\n\n _proto.mustForceSelection = function mustForceSelection() {\n return this.getImmutable().get('forceSelection');\n };\n\n _proto.getNativelyRenderedContent = function getNativelyRenderedContent() {\n return this.getImmutable().get('nativelyRenderedContent');\n };\n\n _proto.getLastChangeType = function getLastChangeType() {\n return this.getImmutable().get('lastChangeType');\n }\n /**\n * While editing, the user may apply inline style commands with a collapsed\n * cursor, intending to type text that adopts the specified style. In this\n * case, we track the specified style as an \"override\" that takes precedence\n * over the inline style of the text adjacent to the cursor.\n *\n * If null, there is no override in place.\n */\n ;\n\n _proto.getInlineStyleOverride = function getInlineStyleOverride() {\n return this.getImmutable().get('inlineStyleOverride');\n };\n\n EditorState.setInlineStyleOverride = function setInlineStyleOverride(editorState, inlineStyleOverride) {\n return EditorState.set(editorState, {\n inlineStyleOverride: inlineStyleOverride\n });\n }\n /**\n * Get the appropriate inline style for the editor state. If an\n * override is in place, use it. Otherwise, the current style is\n * based on the location of the selection state.\n */\n ;\n\n _proto.getCurrentInlineStyle = function getCurrentInlineStyle() {\n var override = this.getInlineStyleOverride();\n\n if (override != null) {\n return override;\n }\n\n var content = this.getCurrentContent();\n var selection = this.getSelection();\n\n if (selection.isCollapsed()) {\n return getInlineStyleForCollapsedSelection(content, selection);\n }\n\n return getInlineStyleForNonCollapsedSelection(content, selection);\n };\n\n _proto.getBlockTree = function getBlockTree(blockKey) {\n return this.getImmutable().getIn(['treeMap', blockKey]);\n };\n\n _proto.isSelectionAtStartOfContent = function isSelectionAtStartOfContent() {\n var firstKey = this.getCurrentContent().getBlockMap().first().getKey();\n return this.getSelection().hasEdgeWithin(firstKey, 0, 0);\n };\n\n _proto.isSelectionAtEndOfContent = function isSelectionAtEndOfContent() {\n var content = this.getCurrentContent();\n var blockMap = content.getBlockMap();\n var last = blockMap.last();\n var end = last.getLength();\n return this.getSelection().hasEdgeWithin(last.getKey(), end, end);\n };\n\n _proto.getDirectionMap = function getDirectionMap() {\n return this.getImmutable().get('directionMap');\n }\n /**\n * Incorporate native DOM selection changes into the EditorState. This\n * method can be used when we simply want to accept whatever the DOM\n * has given us to represent selection, and we do not need to re-render\n * the editor.\n *\n * To forcibly move the DOM selection, see `EditorState.forceSelection`.\n */\n ;\n\n EditorState.acceptSelection = function acceptSelection(editorState, selection) {\n return updateSelection(editorState, selection, false);\n }\n /**\n * At times, we need to force the DOM selection to be where we\n * need it to be. This can occur when the anchor or focus nodes\n * are non-text nodes, for instance. In this case, we want to trigger\n * a re-render of the editor, which in turn forces selection into\n * the correct place in the DOM. The `forceSelection` method\n * accomplishes this.\n *\n * This method should be used in cases where you need to explicitly\n * move the DOM selection from one place to another without a change\n * in ContentState.\n */\n ;\n\n EditorState.forceSelection = function forceSelection(editorState, selection) {\n if (!selection.getHasFocus()) {\n selection = selection.set('hasFocus', true);\n }\n\n return updateSelection(editorState, selection, true);\n }\n /**\n * Move selection to the end of the editor without forcing focus.\n */\n ;\n\n EditorState.moveSelectionToEnd = function moveSelectionToEnd(editorState) {\n var content = editorState.getCurrentContent();\n var lastBlock = content.getLastBlock();\n var lastKey = lastBlock.getKey();\n var length = lastBlock.getLength();\n return EditorState.acceptSelection(editorState, new SelectionState({\n anchorKey: lastKey,\n anchorOffset: length,\n focusKey: lastKey,\n focusOffset: length,\n isBackward: false\n }));\n }\n /**\n * Force focus to the end of the editor. This is useful in scenarios\n * where we want to programmatically focus the input and it makes sense\n * to allow the user to continue working seamlessly.\n */\n ;\n\n EditorState.moveFocusToEnd = function moveFocusToEnd(editorState) {\n var afterSelectionMove = EditorState.moveSelectionToEnd(editorState);\n return EditorState.forceSelection(afterSelectionMove, afterSelectionMove.getSelection());\n }\n /**\n * Push the current ContentState onto the undo stack if it should be\n * considered a boundary state, and set the provided ContentState as the\n * new current content.\n */\n ;\n\n EditorState.push = function push(editorState, contentState, changeType) {\n var forceSelection = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;\n\n if (editorState.getCurrentContent() === contentState) {\n return editorState;\n }\n\n var directionMap = EditorBidiService.getDirectionMap(contentState, editorState.getDirectionMap());\n\n if (!editorState.getAllowUndo()) {\n return EditorState.set(editorState, {\n currentContent: contentState,\n directionMap: directionMap,\n lastChangeType: changeType,\n selection: contentState.getSelectionAfter(),\n forceSelection: forceSelection,\n inlineStyleOverride: null\n });\n }\n\n var selection = editorState.getSelection();\n var currentContent = editorState.getCurrentContent();\n var undoStack = editorState.getUndoStack();\n var newContent = contentState;\n\n if (selection !== currentContent.getSelectionAfter() || mustBecomeBoundary(editorState, changeType)) {\n undoStack = undoStack.push(currentContent);\n newContent = newContent.set('selectionBefore', selection);\n } else if (changeType === 'insert-characters' || changeType === 'backspace-character' || changeType === 'delete-character') {\n // Preserve the previous selection.\n newContent = newContent.set('selectionBefore', currentContent.getSelectionBefore());\n }\n\n var inlineStyleOverride = editorState.getInlineStyleOverride(); // Don't discard inline style overrides for the following change types:\n\n var overrideChangeTypes = ['adjust-depth', 'change-block-type', 'split-block'];\n\n if (overrideChangeTypes.indexOf(changeType) === -1) {\n inlineStyleOverride = null;\n }\n\n var editorStateChanges = {\n currentContent: newContent,\n directionMap: directionMap,\n undoStack: undoStack,\n redoStack: Stack(),\n lastChangeType: changeType,\n selection: contentState.getSelectionAfter(),\n forceSelection: forceSelection,\n inlineStyleOverride: inlineStyleOverride\n };\n return EditorState.set(editorState, editorStateChanges);\n }\n /**\n * Make the top ContentState in the undo stack the new current content and\n * push the current content onto the redo stack.\n */\n ;\n\n EditorState.undo = function undo(editorState) {\n if (!editorState.getAllowUndo()) {\n return editorState;\n }\n\n var undoStack = editorState.getUndoStack();\n var newCurrentContent = undoStack.peek();\n\n if (!newCurrentContent) {\n return editorState;\n }\n\n var currentContent = editorState.getCurrentContent();\n var directionMap = EditorBidiService.getDirectionMap(newCurrentContent, editorState.getDirectionMap());\n return EditorState.set(editorState, {\n currentContent: newCurrentContent,\n directionMap: directionMap,\n undoStack: undoStack.shift(),\n redoStack: editorState.getRedoStack().push(currentContent),\n forceSelection: true,\n inlineStyleOverride: null,\n lastChangeType: 'undo',\n nativelyRenderedContent: null,\n selection: currentContent.getSelectionBefore()\n });\n }\n /**\n * Make the top ContentState in the redo stack the new current content and\n * push the current content onto the undo stack.\n */\n ;\n\n EditorState.redo = function redo(editorState) {\n if (!editorState.getAllowUndo()) {\n return editorState;\n }\n\n var redoStack = editorState.getRedoStack();\n var newCurrentContent = redoStack.peek();\n\n if (!newCurrentContent) {\n return editorState;\n }\n\n var currentContent = editorState.getCurrentContent();\n var directionMap = EditorBidiService.getDirectionMap(newCurrentContent, editorState.getDirectionMap());\n return EditorState.set(editorState, {\n currentContent: newCurrentContent,\n directionMap: directionMap,\n undoStack: editorState.getUndoStack().push(currentContent),\n redoStack: redoStack.shift(),\n forceSelection: true,\n inlineStyleOverride: null,\n lastChangeType: 'redo',\n nativelyRenderedContent: null,\n selection: newCurrentContent.getSelectionAfter()\n });\n }\n /**\n * Not for public consumption.\n */\n ;\n\n function EditorState(immutable) {\n _defineProperty(this, \"_immutable\", void 0);\n\n this._immutable = immutable;\n }\n /**\n * Not for public consumption.\n */\n\n\n _proto.getImmutable = function getImmutable() {\n return this._immutable;\n };\n\n return EditorState;\n}();\n/**\n * Set the supplied SelectionState as the new current selection, and set\n * the `force` flag to trigger manual selection placement by the view.\n */\n\n\nfunction updateSelection(editorState, selection, forceSelection) {\n return EditorState.set(editorState, {\n selection: selection,\n forceSelection: forceSelection,\n nativelyRenderedContent: null,\n inlineStyleOverride: null\n });\n}\n/**\n * Regenerate the entire tree map for a given ContentState and decorator.\n * Returns an OrderedMap that maps all available ContentBlock objects.\n */\n\n\nfunction generateNewTreeMap(contentState, decorator) {\n return contentState.getBlockMap().map(function (block) {\n return BlockTree.generate(contentState, block, decorator);\n }).toOrderedMap();\n}\n/**\n * Regenerate tree map objects for all ContentBlocks that have changed\n * between the current editorState and newContent. Returns an OrderedMap\n * with only changed regenerated tree map objects.\n */\n\n\nfunction regenerateTreeForNewBlocks(editorState, newBlockMap, newEntityMap, decorator) {\n var contentState = editorState.getCurrentContent().set('entityMap', newEntityMap);\n var prevBlockMap = contentState.getBlockMap();\n var prevTreeMap = editorState.getImmutable().get('treeMap');\n return prevTreeMap.merge(newBlockMap.toSeq().filter(function (block, key) {\n return block !== prevBlockMap.get(key);\n }).map(function (block) {\n return BlockTree.generate(contentState, block, decorator);\n }));\n}\n/**\n * Generate tree map objects for a new decorator object, preserving any\n * decorations that are unchanged from the previous decorator.\n *\n * Note that in order for this to perform optimally, decoration Lists for\n * decorators should be preserved when possible to allow for direct immutable\n * List comparison.\n */\n\n\nfunction regenerateTreeForNewDecorator(content, blockMap, previousTreeMap, decorator, existingDecorator) {\n return previousTreeMap.merge(blockMap.toSeq().filter(function (block) {\n return decorator.getDecorations(block, content) !== existingDecorator.getDecorations(block, content);\n }).map(function (block) {\n return BlockTree.generate(content, block, decorator);\n }));\n}\n/**\n * Return whether a change should be considered a boundary state, given\n * the previous change type. Allows us to discard potential boundary states\n * during standard typing or deletion behavior.\n */\n\n\nfunction mustBecomeBoundary(editorState, changeType) {\n var lastChangeType = editorState.getLastChangeType();\n return changeType !== lastChangeType || changeType !== 'insert-characters' && changeType !== 'backspace-character' && changeType !== 'delete-character';\n}\n\nfunction getInlineStyleForCollapsedSelection(content, selection) {\n var startKey = selection.getStartKey();\n var startOffset = selection.getStartOffset();\n var startBlock = content.getBlockForKey(startKey); // If the cursor is not at the start of the block, look backward to\n // preserve the style of the preceding character.\n\n if (startOffset > 0) {\n return startBlock.getInlineStyleAt(startOffset - 1);\n } // The caret is at position zero in this block. If the block has any\n // text at all, use the style of the first character.\n\n\n if (startBlock.getLength()) {\n return startBlock.getInlineStyleAt(0);\n } // Otherwise, look upward in the document to find the closest character.\n\n\n return lookUpwardForInlineStyle(content, startKey);\n}\n\nfunction getInlineStyleForNonCollapsedSelection(content, selection) {\n var startKey = selection.getStartKey();\n var startOffset = selection.getStartOffset();\n var startBlock = content.getBlockForKey(startKey); // If there is a character just inside the selection, use its style.\n\n if (startOffset < startBlock.getLength()) {\n return startBlock.getInlineStyleAt(startOffset);\n } // Check if the selection at the end of a non-empty block. Use the last\n // style in the block.\n\n\n if (startOffset > 0) {\n return startBlock.getInlineStyleAt(startOffset - 1);\n } // Otherwise, look upward in the document to find the closest character.\n\n\n return lookUpwardForInlineStyle(content, startKey);\n}\n\nfunction lookUpwardForInlineStyle(content, fromKey) {\n var lastNonEmpty = content.getBlockMap().reverse().skipUntil(function (_, k) {\n return k === fromKey;\n }).skip(1).skipUntil(function (block, _) {\n return block.getLength();\n }).first();\n\n if (lastNonEmpty) {\n return lastNonEmpty.getInlineStyleAt(lastNonEmpty.getLength() - 1);\n }\n\n return OrderedSet();\n}\n\nmodule.exports = EditorState;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0VkaXRvclN0YXRlLmpzP2RlYzMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDYTs7QUFFYixnQ0FBZ0MsZ0JBQWdCLHNCQUFzQixPQUFPLHVEQUF1RCxtQ0FBbUMsMERBQTBELHNGQUFzRixnRUFBZ0UsRUFBRSxHQUFHLEVBQUUsaUNBQWlDLDJDQUEyQyxFQUFFLEVBQUUsRUFBRSxlQUFlOztBQUUvZCwyQ0FBMkMsa0JBQWtCLGtDQUFrQyxxRUFBcUUsRUFBRSxFQUFFLE9BQU8sa0JBQWtCLEVBQUUsWUFBWTs7QUFFL00sZ0JBQWdCLG1CQUFPLENBQUMsNkRBQWE7O0FBRXJDLG1CQUFtQixtQkFBTyxDQUFDLG1FQUFnQjs7QUFFM0Msd0JBQXdCLG1CQUFPLENBQUMsNkVBQXFCOztBQUVyRCxxQkFBcUIsbUJBQU8sQ0FBQyx1RUFBa0I7O0FBRS9DLGdCQUFnQixtQkFBTyxDQUFDLG1GQUFXOztBQUVuQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTtBQUNBOztBQUVBLHVDQUF1QztBQUN2QztBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7O0FBRUEsbUVBQW1FOztBQUVuRTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0Esb0RBQW9EO0FBQ3BEOztBQUVBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7OztBQUdBO0FBQ0E7QUFDQSxHQUFHOzs7QUFHSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLG9EQUFvRDs7QUFFcEQ7QUFDQTtBQUNBLEdBQUc7QUFDSDs7O0FBR0E7QUFDQTtBQUNBLEdBQUc7OztBQUdIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvRWRpdG9yU3RhdGUuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgRmFjZWJvb2ssIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIEBmb3JtYXRcbiAqIFxuICogQGVtYWlscyBvbmNhbGwrZHJhZnRfanNcbiAqL1xuJ3VzZSBzdHJpY3QnO1xuXG5mdW5jdGlvbiBfb2JqZWN0U3ByZWFkKHRhcmdldCkgeyBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykgeyB2YXIgc291cmNlID0gYXJndW1lbnRzW2ldICE9IG51bGwgPyBhcmd1bWVudHNbaV0gOiB7fTsgdmFyIG93bktleXMgPSBPYmplY3Qua2V5cyhzb3VyY2UpOyBpZiAodHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPT09ICdmdW5jdGlvbicpIHsgb3duS2V5cyA9IG93bktleXMuY29uY2F0KE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoc291cmNlKS5maWx0ZXIoZnVuY3Rpb24gKHN5bSkgeyByZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihzb3VyY2UsIHN5bSkuZW51bWVyYWJsZTsgfSkpOyB9IG93bktleXMuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7IF9kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgc291cmNlW2tleV0pOyB9KTsgfSByZXR1cm4gdGFyZ2V0OyB9XG5cbmZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgdmFsdWUpIHsgaWYgKGtleSBpbiBvYmopIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwga2V5LCB7IHZhbHVlOiB2YWx1ZSwgZW51bWVyYWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCB3cml0YWJsZTogdHJ1ZSB9KTsgfSBlbHNlIHsgb2JqW2tleV0gPSB2YWx1ZTsgfSByZXR1cm4gb2JqOyB9XG5cbnZhciBCbG9ja1RyZWUgPSByZXF1aXJlKFwiLi9CbG9ja1RyZWVcIik7XG5cbnZhciBDb250ZW50U3RhdGUgPSByZXF1aXJlKFwiLi9Db250ZW50U3RhdGVcIik7XG5cbnZhciBFZGl0b3JCaWRpU2VydmljZSA9IHJlcXVpcmUoXCIuL0VkaXRvckJpZGlTZXJ2aWNlXCIpO1xuXG52YXIgU2VsZWN0aW9uU3RhdGUgPSByZXF1aXJlKFwiLi9TZWxlY3Rpb25TdGF0ZVwiKTtcblxudmFyIEltbXV0YWJsZSA9IHJlcXVpcmUoXCJpbW11dGFibGVcIik7XG5cbnZhciBPcmRlcmVkU2V0ID0gSW1tdXRhYmxlLk9yZGVyZWRTZXQsXG4gICAgUmVjb3JkID0gSW1tdXRhYmxlLlJlY29yZCxcbiAgICBTdGFjayA9IEltbXV0YWJsZS5TdGFjaztcbnZhciBkZWZhdWx0UmVjb3JkID0ge1xuICBhbGxvd1VuZG86IHRydWUsXG4gIGN1cnJlbnRDb250ZW50OiBudWxsLFxuICBkZWNvcmF0b3I6IG51bGwsXG4gIGRpcmVjdGlvbk1hcDogbnVsbCxcbiAgZm9yY2VTZWxlY3Rpb246IGZhbHNlLFxuICBpbkNvbXBvc2l0aW9uTW9kZTogZmFsc2UsXG4gIGlubGluZVN0eWxlT3ZlcnJpZGU6IG51bGwsXG4gIGxhc3RDaGFuZ2VUeXBlOiBudWxsLFxuICBuYXRpdmVseVJlbmRlcmVkQ29udGVudDogbnVsbCxcbiAgcmVkb1N0YWNrOiBTdGFjaygpLFxuICBzZWxlY3Rpb246IG51bGwsXG4gIHRyZWVNYXA6IG51bGwsXG4gIHVuZG9TdGFjazogU3RhY2soKVxufTtcbnZhciBFZGl0b3JTdGF0ZVJlY29yZCA9IFJlY29yZChkZWZhdWx0UmVjb3JkKTtcblxudmFyIEVkaXRvclN0YXRlID1cbi8qI19fUFVSRV9fKi9cbmZ1bmN0aW9uICgpIHtcbiAgRWRpdG9yU3RhdGUuY3JlYXRlRW1wdHkgPSBmdW5jdGlvbiBjcmVhdGVFbXB0eShkZWNvcmF0b3IpIHtcbiAgICByZXR1cm4gRWRpdG9yU3RhdGUuY3JlYXRlV2l0aENvbnRlbnQoQ29udGVudFN0YXRlLmNyZWF0ZUZyb21UZXh0KCcnKSwgZGVjb3JhdG9yKTtcbiAgfTtcblxuICBFZGl0b3JTdGF0ZS5jcmVhdGVXaXRoQ29udGVudCA9IGZ1bmN0aW9uIGNyZWF0ZVdpdGhDb250ZW50KGNvbnRlbnRTdGF0ZSwgZGVjb3JhdG9yKSB7XG4gICAgaWYgKGNvbnRlbnRTdGF0ZS5nZXRCbG9ja01hcCgpLmNvdW50KCkgPT09IDApIHtcbiAgICAgIHJldHVybiBFZGl0b3JTdGF0ZS5jcmVhdGVFbXB0eShkZWNvcmF0b3IpO1xuICAgIH1cblxuICAgIHZhciBmaXJzdEtleSA9IGNvbnRlbnRTdGF0ZS5nZXRCbG9ja01hcCgpLmZpcnN0KCkuZ2V0S2V5KCk7XG4gICAgcmV0dXJuIEVkaXRvclN0YXRlLmNyZWF0ZSh7XG4gICAgICBjdXJyZW50Q29udGVudDogY29udGVudFN0YXRlLFxuICAgICAgdW5kb1N0YWNrOiBTdGFjaygpLFxuICAgICAgcmVkb1N0YWNrOiBTdGFjaygpLFxuICAgICAgZGVjb3JhdG9yOiBkZWNvcmF0b3IgfHwgbnVsbCxcbiAgICAgIHNlbGVjdGlvbjogU2VsZWN0aW9uU3RhdGUuY3JlYXRlRW1wdHkoZmlyc3RLZXkpXG4gICAgfSk7XG4gIH07XG5cbiAgRWRpdG9yU3RhdGUuY3JlYXRlID0gZnVuY3Rpb24gY3JlYXRlKGNvbmZpZykge1xuICAgIHZhciBjdXJyZW50Q29udGVudCA9IGNvbmZpZy5jdXJyZW50Q29udGVudCxcbiAgICAgICAgZGVjb3JhdG9yID0gY29uZmlnLmRlY29yYXRvcjtcblxuICAgIHZhciByZWNvcmRDb25maWcgPSBfb2JqZWN0U3ByZWFkKHt9LCBjb25maWcsIHtcbiAgICAgIHRyZWVNYXA6IGdlbmVyYXRlTmV3VHJlZU1hcChjdXJyZW50Q29udGVudCwgZGVjb3JhdG9yKSxcbiAgICAgIGRpcmVjdGlvbk1hcDogRWRpdG9yQmlkaVNlcnZpY2UuZ2V0RGlyZWN0aW9uTWFwKGN1cnJlbnRDb250ZW50KVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIG5ldyBFZGl0b3JTdGF0ZShuZXcgRWRpdG9yU3RhdGVSZWNvcmQocmVjb3JkQ29uZmlnKSk7XG4gIH07XG5cbiAgRWRpdG9yU3RhdGUuc2V0ID0gZnVuY3Rpb24gc2V0KGVkaXRvclN0YXRlLCBwdXQpIHtcbiAgICB2YXIgbWFwID0gZWRpdG9yU3RhdGUuZ2V0SW1tdXRhYmxlKCkud2l0aE11dGF0aW9ucyhmdW5jdGlvbiAoc3RhdGUpIHtcbiAgICAgIHZhciBleGlzdGluZ0RlY29yYXRvciA9IHN0YXRlLmdldCgnZGVjb3JhdG9yJyk7XG4gICAgICB2YXIgZGVjb3JhdG9yID0gZXhpc3RpbmdEZWNvcmF0b3I7XG5cbiAgICAgIGlmIChwdXQuZGVjb3JhdG9yID09PSBudWxsKSB7XG4gICAgICAgIGRlY29yYXRvciA9IG51bGw7XG4gICAgICB9IGVsc2UgaWYgKHB1dC5kZWNvcmF0b3IpIHtcbiAgICAgICAgZGVjb3JhdG9yID0gcHV0LmRlY29yYXRvcjtcbiAgICAgIH1cblxuICAgICAgdmFyIG5ld0NvbnRlbnQgPSBwdXQuY3VycmVudENvbnRlbnQgfHwgZWRpdG9yU3RhdGUuZ2V0Q3VycmVudENvbnRlbnQoKTtcblxuICAgICAgaWYgKGRlY29yYXRvciAhPT0gZXhpc3RpbmdEZWNvcmF0b3IpIHtcbiAgICAgICAgdmFyIHRyZWVNYXAgPSBzdGF0ZS5nZXQoJ3RyZWVNYXAnKTtcbiAgICAgICAgdmFyIG5ld1RyZWVNYXA7XG5cbiAgICAgICAgaWYgKGRlY29yYXRvciAmJiBleGlzdGluZ0RlY29yYXRvcikge1xuICAgICAgICAgIG5ld1RyZWVNYXAgPSByZWdlbmVyYXRlVHJlZUZvck5ld0RlY29yYXRvcihuZXdDb250ZW50LCBuZXdDb250ZW50LmdldEJsb2NrTWFwKCksIHRyZWVNYXAsIGRlY29yYXRvciwgZXhpc3RpbmdEZWNvcmF0b3IpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG5ld1RyZWVNYXAgPSBnZW5lcmF0ZU5ld1RyZWVNYXAobmV3Q29udGVudCwgZGVjb3JhdG9yKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHN0YXRlLm1lcmdlKHtcbiAgICAgICAgICBkZWNvcmF0b3I6IGRlY29yYXRvcixcbiAgICAgICAgICB0cmVlTWFwOiBuZXdUcmVlTWFwLFxuICAgICAgICAgIG5hdGl2ZWx5UmVuZGVyZWRDb250ZW50OiBudWxsXG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHZhciBleGlzdGluZ0NvbnRlbnQgPSBlZGl0b3JTdGF0ZS5nZXRDdXJyZW50Q29udGVudCgpO1xuXG4gICAgICBpZiAobmV3Q29udGVudCAhPT0gZXhpc3RpbmdDb250ZW50KSB7XG4gICAgICAgIHN0YXRlLnNldCgndHJlZU1hcCcsIHJlZ2VuZXJhdGVUcmVlRm9yTmV3QmxvY2tzKGVkaXRvclN0YXRlLCBuZXdDb250ZW50LmdldEJsb2NrTWFwKCksIG5ld0NvbnRlbnQuZ2V0RW50aXR5TWFwKCksIGRlY29yYXRvcikpO1xuICAgICAgfVxuXG4gICAgICBzdGF0ZS5tZXJnZShwdXQpO1xuICAgIH0pO1xuICAgIHJldHVybiBuZXcgRWRpdG9yU3RhdGUobWFwKTtcbiAgfTtcblxuICB2YXIgX3Byb3RvID0gRWRpdG9yU3RhdGUucHJvdG90eXBlO1xuXG4gIF9wcm90by50b0pTID0gZnVuY3Rpb24gdG9KUygpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRJbW11dGFibGUoKS50b0pTKCk7XG4gIH07XG5cbiAgX3Byb3RvLmdldEFsbG93VW5kbyA9IGZ1bmN0aW9uIGdldEFsbG93VW5kbygpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRJbW11dGFibGUoKS5nZXQoJ2FsbG93VW5kbycpO1xuICB9O1xuXG4gIF9wcm90by5nZXRDdXJyZW50Q29udGVudCA9IGZ1bmN0aW9uIGdldEN1cnJlbnRDb250ZW50KCkge1xuICAgIHJldHVybiB0aGlzLmdldEltbXV0YWJsZSgpLmdldCgnY3VycmVudENvbnRlbnQnKTtcbiAgfTtcblxuICBfcHJvdG8uZ2V0VW5kb1N0YWNrID0gZnVuY3Rpb24gZ2V0VW5kb1N0YWNrKCkge1xuICAgIHJldHVybiB0aGlzLmdldEltbXV0YWJsZSgpLmdldCgndW5kb1N0YWNrJyk7XG4gIH07XG5cbiAgX3Byb3RvLmdldFJlZG9TdGFjayA9IGZ1bmN0aW9uIGdldFJlZG9TdGFjaygpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRJbW11dGFibGUoKS5nZXQoJ3JlZG9TdGFjaycpO1xuICB9O1xuXG4gIF9wcm90by5nZXRTZWxlY3Rpb24gPSBmdW5jdGlvbiBnZXRTZWxlY3Rpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0SW1tdXRhYmxlKCkuZ2V0KCdzZWxlY3Rpb24nKTtcbiAgfTtcblxuICBfcHJvdG8uZ2V0RGVjb3JhdG9yID0gZnVuY3Rpb24gZ2V0RGVjb3JhdG9yKCkge1xuICAgIHJldHVybiB0aGlzLmdldEltbXV0YWJsZSgpLmdldCgnZGVjb3JhdG9yJyk7XG4gIH07XG5cbiAgX3Byb3RvLmlzSW5Db21wb3NpdGlvbk1vZGUgPSBmdW5jdGlvbiBpc0luQ29tcG9zaXRpb25Nb2RlKCkge1xuICAgIHJldHVybiB0aGlzLmdldEltbXV0YWJsZSgpLmdldCgnaW5Db21wb3NpdGlvbk1vZGUnKTtcbiAgfTtcblxuICBfcHJvdG8ubXVzdEZvcmNlU2VsZWN0aW9uID0gZnVuY3Rpb24gbXVzdEZvcmNlU2VsZWN0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLmdldEltbXV0YWJsZSgpLmdldCgnZm9yY2VTZWxlY3Rpb24nKTtcbiAgfTtcblxuICBfcHJvdG8uZ2V0TmF0aXZlbHlSZW5kZXJlZENvbnRlbnQgPSBmdW5jdGlvbiBnZXROYXRpdmVseVJlbmRlcmVkQ29udGVudCgpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRJbW11dGFibGUoKS5nZXQoJ25hdGl2ZWx5UmVuZGVyZWRDb250ZW50Jyk7XG4gIH07XG5cbiAgX3Byb3RvLmdldExhc3RDaGFuZ2VUeXBlID0gZnVuY3Rpb24gZ2V0TGFzdENoYW5nZVR5cGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0SW1tdXRhYmxlKCkuZ2V0KCdsYXN0Q2hhbmdlVHlwZScpO1xuICB9XG4gIC8qKlxuICAgKiBXaGlsZSBlZGl0aW5nLCB0aGUgdXNlciBtYXkgYXBwbHkgaW5saW5lIHN0eWxlIGNvbW1hbmRzIHdpdGggYSBjb2xsYXBzZWRcbiAgICogY3Vyc29yLCBpbnRlbmRpbmcgdG8gdHlwZSB0ZXh0IHRoYXQgYWRvcHRzIHRoZSBzcGVjaWZpZWQgc3R5bGUuIEluIHRoaXNcbiAgICogY2FzZSwgd2UgdHJhY2sgdGhlIHNwZWNpZmllZCBzdHlsZSBhcyBhbiBcIm92ZXJyaWRlXCIgdGhhdCB0YWtlcyBwcmVjZWRlbmNlXG4gICAqIG92ZXIgdGhlIGlubGluZSBzdHlsZSBvZiB0aGUgdGV4dCBhZGphY2VudCB0byB0aGUgY3Vyc29yLlxuICAgKlxuICAgKiBJZiBudWxsLCB0aGVyZSBpcyBubyBvdmVycmlkZSBpbiBwbGFjZS5cbiAgICovXG4gIDtcblxuICBfcHJvdG8uZ2V0SW5saW5lU3R5bGVPdmVycmlkZSA9IGZ1bmN0aW9uIGdldElubGluZVN0eWxlT3ZlcnJpZGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0SW1tdXRhYmxlKCkuZ2V0KCdpbmxpbmVTdHlsZU92ZXJyaWRlJyk7XG4gIH07XG5cbiAgRWRpdG9yU3RhdGUuc2V0SW5saW5lU3R5bGVPdmVycmlkZSA9IGZ1bmN0aW9uIHNldElubGluZVN0eWxlT3ZlcnJpZGUoZWRpdG9yU3RhdGUsIGlubGluZVN0eWxlT3ZlcnJpZGUpIHtcbiAgICByZXR1cm4gRWRpdG9yU3RhdGUuc2V0KGVkaXRvclN0YXRlLCB7XG4gICAgICBpbmxpbmVTdHlsZU92ZXJyaWRlOiBpbmxpbmVTdHlsZU92ZXJyaWRlXG4gICAgfSk7XG4gIH1cbiAgLyoqXG4gICAqIEdldCB0aGUgYXBwcm9wcmlhdGUgaW5saW5lIHN0eWxlIGZvciB0aGUgZWRpdG9yIHN0YXRlLiBJZiBhblxuICAgKiBvdmVycmlkZSBpcyBpbiBwbGFjZSwgdXNlIGl0LiBPdGhlcndpc2UsIHRoZSBjdXJyZW50IHN0eWxlIGlzXG4gICAqIGJhc2VkIG9uIHRoZSBsb2NhdGlvbiBvZiB0aGUgc2VsZWN0aW9uIHN0YXRlLlxuICAgKi9cbiAgO1xuXG4gIF9wcm90by5nZXRDdXJyZW50SW5saW5lU3R5bGUgPSBmdW5jdGlvbiBnZXRDdXJyZW50SW5saW5lU3R5bGUoKSB7XG4gICAgdmFyIG92ZXJyaWRlID0gdGhpcy5nZXRJbmxpbmVTdHlsZU92ZXJyaWRlKCk7XG5cbiAgICBpZiAob3ZlcnJpZGUgIT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG92ZXJyaWRlO1xuICAgIH1cblxuICAgIHZhciBjb250ZW50ID0gdGhpcy5nZXRDdXJyZW50Q29udGVudCgpO1xuICAgIHZhciBzZWxlY3Rpb24gPSB0aGlzLmdldFNlbGVjdGlvbigpO1xuXG4gICAgaWYgKHNlbGVjdGlvbi5pc0NvbGxhcHNlZCgpKSB7XG4gICAgICByZXR1cm4gZ2V0SW5saW5lU3R5bGVGb3JDb2xsYXBzZWRTZWxlY3Rpb24oY29udGVudCwgc2VsZWN0aW9uKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZ2V0SW5saW5lU3R5bGVGb3JOb25Db2xsYXBzZWRTZWxlY3Rpb24oY29udGVudCwgc2VsZWN0aW9uKTtcbiAgfTtcblxuICBfcHJvdG8uZ2V0QmxvY2tUcmVlID0gZnVuY3Rpb24gZ2V0QmxvY2tUcmVlKGJsb2NrS2V5KSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0SW1tdXRhYmxlKCkuZ2V0SW4oWyd0cmVlTWFwJywgYmxvY2tLZXldKTtcbiAgfTtcblxuICBfcHJvdG8uaXNTZWxlY3Rpb25BdFN0YXJ0T2ZDb250ZW50ID0gZnVuY3Rpb24gaXNTZWxlY3Rpb25BdFN0YXJ0T2ZDb250ZW50KCkge1xuICAgIHZhciBmaXJzdEtleSA9IHRoaXMuZ2V0Q3VycmVudENvbnRlbnQoKS5nZXRCbG9ja01hcCgpLmZpcnN0KCkuZ2V0S2V5KCk7XG4gICAgcmV0dXJuIHRoaXMuZ2V0U2VsZWN0aW9uKCkuaGFzRWRnZVdpdGhpbihmaXJzdEtleSwgMCwgMCk7XG4gIH07XG5cbiAgX3Byb3RvLmlzU2VsZWN0aW9uQXRFbmRPZkNvbnRlbnQgPSBmdW5jdGlvbiBpc1NlbGVjdGlvbkF0RW5kT2ZDb250ZW50KCkge1xuICAgIHZhciBjb250ZW50ID0gdGhpcy5nZXRDdXJyZW50Q29udGVudCgpO1xuICAgIHZhciBibG9ja01hcCA9IGNvbnRlbnQuZ2V0QmxvY2tNYXAoKTtcbiAgICB2YXIgbGFzdCA9IGJsb2NrTWFwLmxhc3QoKTtcbiAgICB2YXIgZW5kID0gbGFzdC5nZXRMZW5ndGgoKTtcbiAgICByZXR1cm4gdGhpcy5nZXRTZWxlY3Rpb24oKS5oYXNFZGdlV2l0aGluKGxhc3QuZ2V0S2V5KCksIGVuZCwgZW5kKTtcbiAgfTtcblxuICBfcHJvdG8uZ2V0RGlyZWN0aW9uTWFwID0gZnVuY3Rpb24gZ2V0RGlyZWN0aW9uTWFwKCkge1xuICAgIHJldHVybiB0aGlzLmdldEltbXV0YWJsZSgpLmdldCgnZGlyZWN0aW9uTWFwJyk7XG4gIH1cbiAgLyoqXG4gICAqIEluY29ycG9yYXRlIG5hdGl2ZSBET00gc2VsZWN0aW9uIGNoYW5nZXMgaW50byB0aGUgRWRpdG9yU3RhdGUuIFRoaXNcbiAgICogbWV0aG9kIGNhbiBiZSB1c2VkIHdoZW4gd2Ugc2ltcGx5IHdhbnQgdG8gYWNjZXB0IHdoYXRldmVyIHRoZSBET01cbiAgICogaGFzIGdpdmVuIHVzIHRvIHJlcHJlc2VudCBzZWxlY3Rpb24sIGFuZCB3ZSBkbyBub3QgbmVlZCB0byByZS1yZW5kZXJcbiAgICogdGhlIGVkaXRvci5cbiAgICpcbiAgICogVG8gZm9yY2libHkgbW92ZSB0aGUgRE9NIHNlbGVjdGlvbiwgc2VlIGBFZGl0b3JTdGF0ZS5mb3JjZVNlbGVjdGlvbmAuXG4gICAqL1xuICA7XG5cbiAgRWRpdG9yU3RhdGUuYWNjZXB0U2VsZWN0aW9uID0gZnVuY3Rpb24gYWNjZXB0U2VsZWN0aW9uKGVkaXRvclN0YXRlLCBzZWxlY3Rpb24pIHtcbiAgICByZXR1cm4gdXBkYXRlU2VsZWN0aW9uKGVkaXRvclN0YXRlLCBzZWxlY3Rpb24sIGZhbHNlKTtcbiAgfVxuICAvKipcbiAgICogQXQgdGltZXMsIHdlIG5lZWQgdG8gZm9yY2UgdGhlIERPTSBzZWxlY3Rpb24gdG8gYmUgd2hlcmUgd2VcbiAgICogbmVlZCBpdCB0byBiZS4gVGhpcyBjYW4gb2NjdXIgd2hlbiB0aGUgYW5jaG9yIG9yIGZvY3VzIG5vZGVzXG4gICAqIGFyZSBub24tdGV4dCBub2RlcywgZm9yIGluc3RhbmNlLiBJbiB0aGlzIGNhc2UsIHdlIHdhbnQgdG8gdHJpZ2dlclxuICAgKiBhIHJlLXJlbmRlciBvZiB0aGUgZWRpdG9yLCB3aGljaCBpbiB0dXJuIGZvcmNlcyBzZWxlY3Rpb24gaW50b1xuICAgKiB0aGUgY29ycmVjdCBwbGFjZSBpbiB0aGUgRE9NLiBUaGUgYGZvcmNlU2VsZWN0aW9uYCBtZXRob2RcbiAgICogYWNjb21wbGlzaGVzIHRoaXMuXG4gICAqXG4gICAqIFRoaXMgbWV0aG9kIHNob3VsZCBiZSB1c2VkIGluIGNhc2VzIHdoZXJlIHlvdSBuZWVkIHRvIGV4cGxpY2l0bHlcbiAgICogbW92ZSB0aGUgRE9NIHNlbGVjdGlvbiBmcm9tIG9uZSBwbGFjZSB0byBhbm90aGVyIHdpdGhvdXQgYSBjaGFuZ2VcbiAgICogaW4gQ29udGVudFN0YXRlLlxuICAgKi9cbiAgO1xuXG4gIEVkaXRvclN0YXRlLmZvcmNlU2VsZWN0aW9uID0gZnVuY3Rpb24gZm9yY2VTZWxlY3Rpb24oZWRpdG9yU3RhdGUsIHNlbGVjdGlvbikge1xuICAgIGlmICghc2VsZWN0aW9uLmdldEhhc0ZvY3VzKCkpIHtcbiAgICAgIHNlbGVjdGlvbiA9IHNlbGVjdGlvbi5zZXQoJ2hhc0ZvY3VzJywgdHJ1ZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHVwZGF0ZVNlbGVjdGlvbihlZGl0b3JTdGF0ZSwgc2VsZWN0aW9uLCB0cnVlKTtcbiAgfVxuICAvKipcbiAgICogTW92ZSBzZWxlY3Rpb24gdG8gdGhlIGVuZCBvZiB0aGUgZWRpdG9yIHdpdGhvdXQgZm9yY2luZyBmb2N1cy5cbiAgICovXG4gIDtcblxuICBFZGl0b3JTdGF0ZS5tb3ZlU2VsZWN0aW9uVG9FbmQgPSBmdW5jdGlvbiBtb3ZlU2VsZWN0aW9uVG9FbmQoZWRpdG9yU3RhdGUpIHtcbiAgICB2YXIgY29udGVudCA9IGVkaXRvclN0YXRlLmdldEN1cnJlbnRDb250ZW50KCk7XG4gICAgdmFyIGxhc3RCbG9jayA9IGNvbnRlbnQuZ2V0TGFzdEJsb2NrKCk7XG4gICAgdmFyIGxhc3RLZXkgPSBsYXN0QmxvY2suZ2V0S2V5KCk7XG4gICAgdmFyIGxlbmd0aCA9IGxhc3RCbG9jay5nZXRMZW5ndGgoKTtcbiAgICByZXR1cm4gRWRpdG9yU3RhdGUuYWNjZXB0U2VsZWN0aW9uKGVkaXRvclN0YXRlLCBuZXcgU2VsZWN0aW9uU3RhdGUoe1xuICAgICAgYW5jaG9yS2V5OiBsYXN0S2V5LFxuICAgICAgYW5jaG9yT2Zmc2V0OiBsZW5ndGgsXG4gICAgICBmb2N1c0tleTogbGFzdEtleSxcbiAgICAgIGZvY3VzT2Zmc2V0OiBsZW5ndGgsXG4gICAgICBpc0JhY2t3YXJkOiBmYWxzZVxuICAgIH0pKTtcbiAgfVxuICAvKipcbiAgICogRm9yY2UgZm9jdXMgdG8gdGhlIGVuZCBvZiB0aGUgZWRpdG9yLiBUaGlzIGlzIHVzZWZ1bCBpbiBzY2VuYXJpb3NcbiAgICogd2hlcmUgd2Ugd2FudCB0byBwcm9ncmFtbWF0aWNhbGx5IGZvY3VzIHRoZSBpbnB1dCBhbmQgaXQgbWFrZXMgc2Vuc2VcbiAgICogdG8gYWxsb3cgdGhlIHVzZXIgdG8gY29udGludWUgd29ya2luZyBzZWFtbGVzc2x5LlxuICAgKi9cbiAgO1xuXG4gIEVkaXRvclN0YXRlLm1vdmVGb2N1c1RvRW5kID0gZnVuY3Rpb24gbW92ZUZvY3VzVG9FbmQoZWRpdG9yU3RhdGUpIHtcbiAgICB2YXIgYWZ0ZXJTZWxlY3Rpb25Nb3ZlID0gRWRpdG9yU3RhdGUubW92ZVNlbGVjdGlvblRvRW5kKGVkaXRvclN0YXRlKTtcbiAgICByZXR1cm4gRWRpdG9yU3RhdGUuZm9yY2VTZWxlY3Rpb24oYWZ0ZXJTZWxlY3Rpb25Nb3ZlLCBhZnRlclNlbGVjdGlvbk1vdmUuZ2V0U2VsZWN0aW9uKCkpO1xuICB9XG4gIC8qKlxuICAgKiBQdXNoIHRoZSBjdXJyZW50IENvbnRlbnRTdGF0ZSBvbnRvIHRoZSB1bmRvIHN0YWNrIGlmIGl0IHNob3VsZCBiZVxuICAgKiBjb25zaWRlcmVkIGEgYm91bmRhcnkgc3RhdGUsIGFuZCBzZXQgdGhlIHByb3ZpZGVkIENvbnRlbnRTdGF0ZSBhcyB0aGVcbiAgICogbmV3IGN1cnJlbnQgY29udGVudC5cbiAgICovXG4gIDtcblxuICBFZGl0b3JTdGF0ZS5wdXNoID0gZnVuY3Rpb24gcHVzaChlZGl0b3JTdGF0ZSwgY29udGVudFN0YXRlLCBjaGFuZ2VUeXBlKSB7XG4gICAgdmFyIGZvcmNlU2VsZWN0aW9uID0gYXJndW1lbnRzLmxlbmd0aCA+IDMgJiYgYXJndW1lbnRzWzNdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbM10gOiB0cnVlO1xuXG4gICAgaWYgKGVkaXRvclN0YXRlLmdldEN1cnJlbnRDb250ZW50KCkgPT09IGNvbnRlbnRTdGF0ZSkge1xuICAgICAgcmV0dXJuIGVkaXRvclN0YXRlO1xuICAgIH1cblxuICAgIHZhciBkaXJlY3Rpb25NYXAgPSBFZGl0b3JCaWRpU2VydmljZS5nZXREaXJlY3Rpb25NYXAoY29udGVudFN0YXRlLCBlZGl0b3JTdGF0ZS5nZXREaXJlY3Rpb25NYXAoKSk7XG5cbiAgICBpZiAoIWVkaXRvclN0YXRlLmdldEFsbG93VW5kbygpKSB7XG4gICAgICByZXR1cm4gRWRpdG9yU3RhdGUuc2V0KGVkaXRvclN0YXRlLCB7XG4gICAgICAgIGN1cnJlbnRDb250ZW50OiBjb250ZW50U3RhdGUsXG4gICAgICAgIGRpcmVjdGlvbk1hcDogZGlyZWN0aW9uTWFwLFxuICAgICAgICBsYXN0Q2hhbmdlVHlwZTogY2hhbmdlVHlwZSxcbiAgICAgICAgc2VsZWN0aW9uOiBjb250ZW50U3RhdGUuZ2V0U2VsZWN0aW9uQWZ0ZXIoKSxcbiAgICAgICAgZm9yY2VTZWxlY3Rpb246IGZvcmNlU2VsZWN0aW9uLFxuICAgICAgICBpbmxpbmVTdHlsZU92ZXJyaWRlOiBudWxsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICB2YXIgc2VsZWN0aW9uID0gZWRpdG9yU3RhdGUuZ2V0U2VsZWN0aW9uKCk7XG4gICAgdmFyIGN1cnJlbnRDb250ZW50ID0gZWRpdG9yU3RhdGUuZ2V0Q3VycmVudENvbnRlbnQoKTtcbiAgICB2YXIgdW5kb1N0YWNrID0gZWRpdG9yU3RhdGUuZ2V0VW5kb1N0YWNrKCk7XG4gICAgdmFyIG5ld0NvbnRlbnQgPSBjb250ZW50U3RhdGU7XG5cbiAgICBpZiAoc2VsZWN0aW9uICE9PSBjdXJyZW50Q29udGVudC5nZXRTZWxlY3Rpb25BZnRlcigpIHx8IG11c3RCZWNvbWVCb3VuZGFyeShlZGl0b3JTdGF0ZSwgY2hhbmdlVHlwZSkpIHtcbiAgICAgIHVuZG9TdGFjayA9IHVuZG9TdGFjay5wdXNoKGN1cnJlbnRDb250ZW50KTtcbiAgICAgIG5ld0NvbnRlbnQgPSBuZXdDb250ZW50LnNldCgnc2VsZWN0aW9uQmVmb3JlJywgc2VsZWN0aW9uKTtcbiAgICB9IGVsc2UgaWYgKGNoYW5nZVR5cGUgPT09ICdpbnNlcnQtY2hhcmFjdGVycycgfHwgY2hhbmdlVHlwZSA9PT0gJ2JhY2tzcGFjZS1jaGFyYWN0ZXInIHx8IGNoYW5nZVR5cGUgPT09ICdkZWxldGUtY2hhcmFjdGVyJykge1xuICAgICAgLy8gUHJlc2VydmUgdGhlIHByZXZpb3VzIHNlbGVjdGlvbi5cbiAgICAgIG5ld0NvbnRlbnQgPSBuZXdDb250ZW50LnNldCgnc2VsZWN0aW9uQmVmb3JlJywgY3VycmVudENvbnRlbnQuZ2V0U2VsZWN0aW9uQmVmb3JlKCkpO1xuICAgIH1cblxuICAgIHZhciBpbmxpbmVTdHlsZU92ZXJyaWRlID0gZWRpdG9yU3RhdGUuZ2V0SW5saW5lU3R5bGVPdmVycmlkZSgpOyAvLyBEb24ndCBkaXNjYXJkIGlubGluZSBzdHlsZSBvdmVycmlkZXMgZm9yIHRoZSBmb2xsb3dpbmcgY2hhbmdlIHR5cGVzOlxuXG4gICAgdmFyIG92ZXJyaWRlQ2hhbmdlVHlwZXMgPSBbJ2FkanVzdC1kZXB0aCcsICdjaGFuZ2UtYmxvY2stdHlwZScsICdzcGxpdC1ibG9jayddO1xuXG4gICAgaWYgKG92ZXJyaWRlQ2hhbmdlVHlwZXMuaW5kZXhPZihjaGFuZ2VUeXBlKSA9PT0gLTEpIHtcbiAgICAgIGlubGluZVN0eWxlT3ZlcnJpZGUgPSBudWxsO1xuICAgIH1cblxuICAgIHZhciBlZGl0b3JTdGF0ZUNoYW5nZXMgPSB7XG4gICAgICBjdXJyZW50Q29udGVudDogbmV3Q29udGVudCxcbiAgICAgIGRpcmVjdGlvbk1hcDogZGlyZWN0aW9uTWFwLFxuICAgICAgdW5kb1N0YWNrOiB1bmRvU3RhY2ssXG4gICAgICByZWRvU3RhY2s6IFN0YWNrKCksXG4gICAgICBsYXN0Q2hhbmdlVHlwZTogY2hhbmdlVHlwZSxcbiAgICAgIHNlbGVjdGlvbjogY29udGVudFN0YXRlLmdldFNlbGVjdGlvbkFmdGVyKCksXG4gICAgICBmb3JjZVNlbGVjdGlvbjogZm9yY2VTZWxlY3Rpb24sXG4gICAgICBpbmxpbmVTdHlsZU92ZXJyaWRlOiBpbmxpbmVTdHlsZU92ZXJyaWRlXG4gICAgfTtcbiAgICByZXR1cm4gRWRpdG9yU3RhdGUuc2V0KGVkaXRvclN0YXRlLCBlZGl0b3JTdGF0ZUNoYW5nZXMpO1xuICB9XG4gIC8qKlxuICAgKiBNYWtlIHRoZSB0b3AgQ29udGVudFN0YXRlIGluIHRoZSB1bmRvIHN0YWNrIHRoZSBuZXcgY3VycmVudCBjb250ZW50IGFuZFxuICAgKiBwdXNoIHRoZSBjdXJyZW50IGNvbnRlbnQgb250byB0aGUgcmVkbyBzdGFjay5cbiAgICovXG4gIDtcblxuICBFZGl0b3JTdGF0ZS51bmRvID0gZnVuY3Rpb24gdW5kbyhlZGl0b3JTdGF0ZSkge1xuICAgIGlmICghZWRpdG9yU3RhdGUuZ2V0QWxsb3dVbmRvKCkpIHtcbiAgICAgIHJldHVybiBlZGl0b3JTdGF0ZTtcbiAgICB9XG5cbiAgICB2YXIgdW5kb1N0YWNrID0gZWRpdG9yU3RhdGUuZ2V0VW5kb1N0YWNrKCk7XG4gICAgdmFyIG5ld0N1cnJlbnRDb250ZW50ID0gdW5kb1N0YWNrLnBlZWsoKTtcblxuICAgIGlmICghbmV3Q3VycmVudENvbnRlbnQpIHtcbiAgICAgIHJldHVybiBlZGl0b3JTdGF0ZTtcbiAgICB9XG5cbiAgICB2YXIgY3VycmVudENvbnRlbnQgPSBlZGl0b3JTdGF0ZS5nZXRDdXJyZW50Q29udGVudCgpO1xuICAgIHZhciBkaXJlY3Rpb25NYXAgPSBFZGl0b3JCaWRpU2VydmljZS5nZXREaXJlY3Rpb25NYXAobmV3Q3VycmVudENvbnRlbnQsIGVkaXRvclN0YXRlLmdldERpcmVjdGlvbk1hcCgpKTtcbiAgICByZXR1cm4gRWRpdG9yU3RhdGUuc2V0KGVkaXRvclN0YXRlLCB7XG4gICAgICBjdXJyZW50Q29udGVudDogbmV3Q3VycmVudENvbnRlbnQsXG4gICAgICBkaXJlY3Rpb25NYXA6IGRpcmVjdGlvbk1hcCxcbiAgICAgIHVuZG9TdGFjazogdW5kb1N0YWNrLnNoaWZ0KCksXG4gICAgICByZWRvU3RhY2s6IGVkaXRvclN0YXRlLmdldFJlZG9TdGFjaygpLnB1c2goY3VycmVudENvbnRlbnQpLFxuICAgICAgZm9yY2VTZWxlY3Rpb246IHRydWUsXG4gICAgICBpbmxpbmVTdHlsZU92ZXJyaWRlOiBudWxsLFxuICAgICAgbGFzdENoYW5nZVR5cGU6ICd1bmRvJyxcbiAgICAgIG5hdGl2ZWx5UmVuZGVyZWRDb250ZW50OiBudWxsLFxuICAgICAgc2VsZWN0aW9uOiBjdXJyZW50Q29udGVudC5nZXRTZWxlY3Rpb25CZWZvcmUoKVxuICAgIH0pO1xuICB9XG4gIC8qKlxuICAgKiBNYWtlIHRoZSB0b3AgQ29udGVudFN0YXRlIGluIHRoZSByZWRvIHN0YWNrIHRoZSBuZXcgY3VycmVudCBjb250ZW50IGFuZFxuICAgKiBwdXNoIHRoZSBjdXJyZW50IGNvbnRlbnQgb250byB0aGUgdW5kbyBzdGFjay5cbiAgICovXG4gIDtcblxuICBFZGl0b3JTdGF0ZS5yZWRvID0gZnVuY3Rpb24gcmVkbyhlZGl0b3JTdGF0ZSkge1xuICAgIGlmICghZWRpdG9yU3RhdGUuZ2V0QWxsb3dVbmRvKCkpIHtcbiAgICAgIHJldHVybiBlZGl0b3JTdGF0ZTtcbiAgICB9XG5cbiAgICB2YXIgcmVkb1N0YWNrID0gZWRpdG9yU3RhdGUuZ2V0UmVkb1N0YWNrKCk7XG4gICAgdmFyIG5ld0N1cnJlbnRDb250ZW50ID0gcmVkb1N0YWNrLnBlZWsoKTtcblxuICAgIGlmICghbmV3Q3VycmVudENvbnRlbnQpIHtcbiAgICAgIHJldHVybiBlZGl0b3JTdGF0ZTtcbiAgICB9XG5cbiAgICB2YXIgY3VycmVudENvbnRlbnQgPSBlZGl0b3JTdGF0ZS5nZXRDdXJyZW50Q29udGVudCgpO1xuICAgIHZhciBkaXJlY3Rpb25NYXAgPSBFZGl0b3JCaWRpU2VydmljZS5nZXREaXJlY3Rpb25NYXAobmV3Q3VycmVudENvbnRlbnQsIGVkaXRvclN0YXRlLmdldERpcmVjdGlvbk1hcCgpKTtcbiAgICByZXR1cm4gRWRpdG9yU3RhdGUuc2V0KGVkaXRvclN0YXRlLCB7XG4gICAgICBjdXJyZW50Q29udGVudDogbmV3Q3VycmVudENvbnRlbnQsXG4gICAgICBkaXJlY3Rpb25NYXA6IGRpcmVjdGlvbk1hcCxcbiAgICAgIHVuZG9TdGFjazogZWRpdG9yU3RhdGUuZ2V0VW5kb1N0YWNrKCkucHVzaChjdXJyZW50Q29udGVudCksXG4gICAgICByZWRvU3RhY2s6IHJlZG9TdGFjay5zaGlmdCgpLFxuICAgICAgZm9yY2VTZWxlY3Rpb246IHRydWUsXG4gICAgICBpbmxpbmVTdHlsZU92ZXJyaWRlOiBudWxsLFxuICAgICAgbGFzdENoYW5nZVR5cGU6ICdyZWRvJyxcbiAgICAgIG5hdGl2ZWx5UmVuZGVyZWRDb250ZW50OiBudWxsLFxuICAgICAgc2VsZWN0aW9uOiBuZXdDdXJyZW50Q29udGVudC5nZXRTZWxlY3Rpb25BZnRlcigpXG4gICAgfSk7XG4gIH1cbiAgLyoqXG4gICAqIE5vdCBmb3IgcHVibGljIGNvbnN1bXB0aW9uLlxuICAgKi9cbiAgO1xuXG4gIGZ1bmN0aW9uIEVkaXRvclN0YXRlKGltbXV0YWJsZSkge1xuICAgIF9kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIl9pbW11dGFibGVcIiwgdm9pZCAwKTtcblxuICAgIHRoaXMuX2ltbXV0YWJsZSA9IGltbXV0YWJsZTtcbiAgfVxuICAvKipcbiAgICogTm90IGZvciBwdWJsaWMgY29uc3VtcHRpb24uXG4gICAqL1xuXG5cbiAgX3Byb3RvLmdldEltbXV0YWJsZSA9IGZ1bmN0aW9uIGdldEltbXV0YWJsZSgpIHtcbiAgICByZXR1cm4gdGhpcy5faW1tdXRhYmxlO1xuICB9O1xuXG4gIHJldHVybiBFZGl0b3JTdGF0ZTtcbn0oKTtcbi8qKlxuICogU2V0IHRoZSBzdXBwbGllZCBTZWxlY3Rpb25TdGF0ZSBhcyB0aGUgbmV3IGN1cnJlbnQgc2VsZWN0aW9uLCBhbmQgc2V0XG4gKiB0aGUgYGZvcmNlYCBmbGFnIHRvIHRyaWdnZXIgbWFudWFsIHNlbGVjdGlvbiBwbGFjZW1lbnQgYnkgdGhlIHZpZXcuXG4gKi9cblxuXG5mdW5jdGlvbiB1cGRhdGVTZWxlY3Rpb24oZWRpdG9yU3RhdGUsIHNlbGVjdGlvbiwgZm9yY2VTZWxlY3Rpb24pIHtcbiAgcmV0dXJuIEVkaXRvclN0YXRlLnNldChlZGl0b3JTdGF0ZSwge1xuICAgIHNlbGVjdGlvbjogc2VsZWN0aW9uLFxuICAgIGZvcmNlU2VsZWN0aW9uOiBmb3JjZVNlbGVjdGlvbixcbiAgICBuYXRpdmVseVJlbmRlcmVkQ29udGVudDogbnVsbCxcbiAgICBpbmxpbmVTdHlsZU92ZXJyaWRlOiBudWxsXG4gIH0pO1xufVxuLyoqXG4gKiBSZWdlbmVyYXRlIHRoZSBlbnRpcmUgdHJlZSBtYXAgZm9yIGEgZ2l2ZW4gQ29udGVudFN0YXRlIGFuZCBkZWNvcmF0b3IuXG4gKiBSZXR1cm5zIGFuIE9yZGVyZWRNYXAgdGhhdCBtYXBzIGFsbCBhdmFpbGFibGUgQ29udGVudEJsb2NrIG9iamVjdHMuXG4gKi9cblxuXG5mdW5jdGlvbiBnZW5lcmF0ZU5ld1RyZWVNYXAoY29udGVudFN0YXRlLCBkZWNvcmF0b3IpIHtcbiAgcmV0dXJuIGNvbnRlbnRTdGF0ZS5nZXRCbG9ja01hcCgpLm1hcChmdW5jdGlvbiAoYmxvY2spIHtcbiAgICByZXR1cm4gQmxvY2tUcmVlLmdlbmVyYXRlKGNvbnRlbnRTdGF0ZSwgYmxvY2ssIGRlY29yYXRvcik7XG4gIH0pLnRvT3JkZXJlZE1hcCgpO1xufVxuLyoqXG4gKiBSZWdlbmVyYXRlIHRyZWUgbWFwIG9iamVjdHMgZm9yIGFsbCBDb250ZW50QmxvY2tzIHRoYXQgaGF2ZSBjaGFuZ2VkXG4gKiBiZXR3ZWVuIHRoZSBjdXJyZW50IGVkaXRvclN0YXRlIGFuZCBuZXdDb250ZW50LiBSZXR1cm5zIGFuIE9yZGVyZWRNYXBcbiAqIHdpdGggb25seSBjaGFuZ2VkIHJlZ2VuZXJhdGVkIHRyZWUgbWFwIG9iamVjdHMuXG4gKi9cblxuXG5mdW5jdGlvbiByZWdlbmVyYXRlVHJlZUZvck5ld0Jsb2NrcyhlZGl0b3JTdGF0ZSwgbmV3QmxvY2tNYXAsIG5ld0VudGl0eU1hcCwgZGVjb3JhdG9yKSB7XG4gIHZhciBjb250ZW50U3RhdGUgPSBlZGl0b3JTdGF0ZS5nZXRDdXJyZW50Q29udGVudCgpLnNldCgnZW50aXR5TWFwJywgbmV3RW50aXR5TWFwKTtcbiAgdmFyIHByZXZCbG9ja01hcCA9IGNvbnRlbnRTdGF0ZS5nZXRCbG9ja01hcCgpO1xuICB2YXIgcHJldlRyZWVNYXAgPSBlZGl0b3JTdGF0ZS5nZXRJbW11dGFibGUoKS5nZXQoJ3RyZWVNYXAnKTtcbiAgcmV0dXJuIHByZXZUcmVlTWFwLm1lcmdlKG5ld0Jsb2NrTWFwLnRvU2VxKCkuZmlsdGVyKGZ1bmN0aW9uIChibG9jaywga2V5KSB7XG4gICAgcmV0dXJuIGJsb2NrICE9PSBwcmV2QmxvY2tNYXAuZ2V0KGtleSk7XG4gIH0pLm1hcChmdW5jdGlvbiAoYmxvY2spIHtcbiAgICByZXR1cm4gQmxvY2tUcmVlLmdlbmVyYXRlKGNvbnRlbnRTdGF0ZSwgYmxvY2ssIGRlY29yYXRvcik7XG4gIH0pKTtcbn1cbi8qKlxuICogR2VuZXJhdGUgdHJlZSBtYXAgb2JqZWN0cyBmb3IgYSBuZXcgZGVjb3JhdG9yIG9iamVjdCwgcHJlc2VydmluZyBhbnlcbiAqIGRlY29yYXRpb25zIHRoYXQgYXJlIHVuY2hhbmdlZCBmcm9tIHRoZSBwcmV2aW91cyBkZWNvcmF0b3IuXG4gKlxuICogTm90ZSB0aGF0IGluIG9yZGVyIGZvciB0aGlzIHRvIHBlcmZvcm0gb3B0aW1hbGx5LCBkZWNvcmF0aW9uIExpc3RzIGZvclxuICogZGVjb3JhdG9ycyBzaG91bGQgYmUgcHJlc2VydmVkIHdoZW4gcG9zc2libGUgdG8gYWxsb3cgZm9yIGRpcmVjdCBpbW11dGFibGVcbiAqIExpc3QgY29tcGFyaXNvbi5cbiAqL1xuXG5cbmZ1bmN0aW9uIHJlZ2VuZXJhdGVUcmVlRm9yTmV3RGVjb3JhdG9yKGNvbnRlbnQsIGJsb2NrTWFwLCBwcmV2aW91c1RyZWVNYXAsIGRlY29yYXRvciwgZXhpc3RpbmdEZWNvcmF0b3IpIHtcbiAgcmV0dXJuIHByZXZpb3VzVHJlZU1hcC5tZXJnZShibG9ja01hcC50b1NlcSgpLmZpbHRlcihmdW5jdGlvbiAoYmxvY2spIHtcbiAgICByZXR1cm4gZGVjb3JhdG9yLmdldERlY29yYXRpb25zKGJsb2NrLCBjb250ZW50KSAhPT0gZXhpc3RpbmdEZWNvcmF0b3IuZ2V0RGVjb3JhdGlvbnMoYmxvY2ssIGNvbnRlbnQpO1xuICB9KS5tYXAoZnVuY3Rpb24gKGJsb2NrKSB7XG4gICAgcmV0dXJuIEJsb2NrVHJlZS5nZW5lcmF0ZShjb250ZW50LCBibG9jaywgZGVjb3JhdG9yKTtcbiAgfSkpO1xufVxuLyoqXG4gKiBSZXR1cm4gd2hldGhlciBhIGNoYW5nZSBzaG91bGQgYmUgY29uc2lkZXJlZCBhIGJvdW5kYXJ5IHN0YXRlLCBnaXZlblxuICogdGhlIHByZXZpb3VzIGNoYW5nZSB0eXBlLiBBbGxvd3MgdXMgdG8gZGlzY2FyZCBwb3RlbnRpYWwgYm91bmRhcnkgc3RhdGVzXG4gKiBkdXJpbmcgc3RhbmRhcmQgdHlwaW5nIG9yIGRlbGV0aW9uIGJlaGF2aW9yLlxuICovXG5cblxuZnVuY3Rpb24gbXVzdEJlY29tZUJvdW5kYXJ5KGVkaXRvclN0YXRlLCBjaGFuZ2VUeXBlKSB7XG4gIHZhciBsYXN0Q2hhbmdlVHlwZSA9IGVkaXRvclN0YXRlLmdldExhc3RDaGFuZ2VUeXBlKCk7XG4gIHJldHVybiBjaGFuZ2VUeXBlICE9PSBsYXN0Q2hhbmdlVHlwZSB8fCBjaGFuZ2VUeXBlICE9PSAnaW5zZXJ0LWNoYXJhY3RlcnMnICYmIGNoYW5nZVR5cGUgIT09ICdiYWNrc3BhY2UtY2hhcmFjdGVyJyAmJiBjaGFuZ2VUeXBlICE9PSAnZGVsZXRlLWNoYXJhY3Rlcic7XG59XG5cbmZ1bmN0aW9uIGdldElubGluZVN0eWxlRm9yQ29sbGFwc2VkU2VsZWN0aW9uKGNvbnRlbnQsIHNlbGVjdGlvbikge1xuICB2YXIgc3RhcnRLZXkgPSBzZWxlY3Rpb24uZ2V0U3RhcnRLZXkoKTtcbiAgdmFyIHN0YXJ0T2Zmc2V0ID0gc2VsZWN0aW9uLmdldFN0YXJ0T2Zmc2V0KCk7XG4gIHZhciBzdGFydEJsb2NrID0gY29udGVudC5nZXRCbG9ja0ZvcktleShzdGFydEtleSk7IC8vIElmIHRoZSBjdXJzb3IgaXMgbm90IGF0IHRoZSBzdGFydCBvZiB0aGUgYmxvY2ssIGxvb2sgYmFja3dhcmQgdG9cbiAgLy8gcHJlc2VydmUgdGhlIHN0eWxlIG9mIHRoZSBwcmVjZWRpbmcgY2hhcmFjdGVyLlxuXG4gIGlmIChzdGFydE9mZnNldCA+IDApIHtcbiAgICByZXR1cm4gc3RhcnRCbG9jay5nZXRJbmxpbmVTdHlsZUF0KHN0YXJ0T2Zmc2V0IC0gMSk7XG4gIH0gLy8gVGhlIGNhcmV0IGlzIGF0IHBvc2l0aW9uIHplcm8gaW4gdGhpcyBibG9jay4gSWYgdGhlIGJsb2NrIGhhcyBhbnlcbiAgLy8gdGV4dCBhdCBhbGwsIHVzZSB0aGUgc3R5bGUgb2YgdGhlIGZpcnN0IGNoYXJhY3Rlci5cblxuXG4gIGlmIChzdGFydEJsb2NrLmdldExlbmd0aCgpKSB7XG4gICAgcmV0dXJuIHN0YXJ0QmxvY2suZ2V0SW5saW5lU3R5bGVBdCgwKTtcbiAgfSAvLyBPdGhlcndpc2UsIGxvb2sgdXB3YXJkIGluIHRoZSBkb2N1bWVudCB0byBmaW5kIHRoZSBjbG9zZXN0IGNoYXJhY3Rlci5cblxuXG4gIHJldHVybiBsb29rVXB3YXJkRm9ySW5saW5lU3R5bGUoY29udGVudCwgc3RhcnRLZXkpO1xufVxuXG5mdW5jdGlvbiBnZXRJbmxpbmVTdHlsZUZvck5vbkNvbGxhcHNlZFNlbGVjdGlvbihjb250ZW50LCBzZWxlY3Rpb24pIHtcbiAgdmFyIHN0YXJ0S2V5ID0gc2VsZWN0aW9uLmdldFN0YXJ0S2V5KCk7XG4gIHZhciBzdGFydE9mZnNldCA9IHNlbGVjdGlvbi5nZXRTdGFydE9mZnNldCgpO1xuICB2YXIgc3RhcnRCbG9jayA9IGNvbnRlbnQuZ2V0QmxvY2tGb3JLZXkoc3RhcnRLZXkpOyAvLyBJZiB0aGVyZSBpcyBhIGNoYXJhY3RlciBqdXN0IGluc2lkZSB0aGUgc2VsZWN0aW9uLCB1c2UgaXRzIHN0eWxlLlxuXG4gIGlmIChzdGFydE9mZnNldCA8IHN0YXJ0QmxvY2suZ2V0TGVuZ3RoKCkpIHtcbiAgICByZXR1cm4gc3RhcnRCbG9jay5nZXRJbmxpbmVTdHlsZUF0KHN0YXJ0T2Zmc2V0KTtcbiAgfSAvLyBDaGVjayBpZiB0aGUgc2VsZWN0aW9uIGF0IHRoZSBlbmQgb2YgYSBub24tZW1wdHkgYmxvY2suIFVzZSB0aGUgbGFzdFxuICAvLyBzdHlsZSBpbiB0aGUgYmxvY2suXG5cblxuICBpZiAoc3RhcnRPZmZzZXQgPiAwKSB7XG4gICAgcmV0dXJuIHN0YXJ0QmxvY2suZ2V0SW5saW5lU3R5bGVBdChzdGFydE9mZnNldCAtIDEpO1xuICB9IC8vIE90aGVyd2lzZSwgbG9vayB1cHdhcmQgaW4gdGhlIGRvY3VtZW50IHRvIGZpbmQgdGhlIGNsb3Nlc3QgY2hhcmFjdGVyLlxuXG5cbiAgcmV0dXJuIGxvb2tVcHdhcmRGb3JJbmxpbmVTdHlsZShjb250ZW50LCBzdGFydEtleSk7XG59XG5cbmZ1bmN0aW9uIGxvb2tVcHdhcmRGb3JJbmxpbmVTdHlsZShjb250ZW50LCBmcm9tS2V5KSB7XG4gIHZhciBsYXN0Tm9uRW1wdHkgPSBjb250ZW50LmdldEJsb2NrTWFwKCkucmV2ZXJzZSgpLnNraXBVbnRpbChmdW5jdGlvbiAoXywgaykge1xuICAgIHJldHVybiBrID09PSBmcm9tS2V5O1xuICB9KS5za2lwKDEpLnNraXBVbnRpbChmdW5jdGlvbiAoYmxvY2ssIF8pIHtcbiAgICByZXR1cm4gYmxvY2suZ2V0TGVuZ3RoKCk7XG4gIH0pLmZpcnN0KCk7XG5cbiAgaWYgKGxhc3ROb25FbXB0eSkge1xuICAgIHJldHVybiBsYXN0Tm9uRW1wdHkuZ2V0SW5saW5lU3R5bGVBdChsYXN0Tm9uRW1wdHkuZ2V0TGVuZ3RoKCkgLSAxKTtcbiAgfVxuXG4gIHJldHVybiBPcmRlcmVkU2V0KCk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gRWRpdG9yU3RhdGU7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/EditorState.js\n"); /***/ }), @@ -451,7 +522,19 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule KeyBindingUtil\n * @format\n * \n */\n\n\n\nvar UserAgent = __webpack_require__(/*! fbjs/lib/UserAgent */ \"./node_modules/fbjs/lib/UserAgent.js\");\n\nvar isOSX = UserAgent.isPlatform('Mac OS X');\n\nvar KeyBindingUtil = {\n /**\n * Check whether the ctrlKey modifier is *not* being used in conjunction with\n * the altKey modifier. If they are combined, the result is an `altGraph`\n * key modifier, which should not be handled by this set of key bindings.\n */\n isCtrlKeyCommand: function isCtrlKeyCommand(e) {\n return !!e.ctrlKey && !e.altKey;\n },\n\n isOptionKeyCommand: function isOptionKeyCommand(e) {\n return isOSX && e.altKey;\n },\n\n hasCommandModifier: function hasCommandModifier(e) {\n return isOSX ? !!e.metaKey && !e.altKey : KeyBindingUtil.isCtrlKeyCommand(e);\n }\n};\n\nmodule.exports = KeyBindingUtil;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0tleUJpbmRpbmdVdGlsLmpzP2IzY2EiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVhOztBQUViLGdCQUFnQixtQkFBTyxDQUFDLGdFQUFvQjs7QUFFNUM7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7O0FBRUEiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0tleUJpbmRpbmdVdGlsLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQlNELXN0eWxlIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuIEFuIGFkZGl0aW9uYWwgZ3JhbnRcbiAqIG9mIHBhdGVudCByaWdodHMgY2FuIGJlIGZvdW5kIGluIHRoZSBQQVRFTlRTIGZpbGUgaW4gdGhlIHNhbWUgZGlyZWN0b3J5LlxuICpcbiAqIEBwcm92aWRlc01vZHVsZSBLZXlCaW5kaW5nVXRpbFxuICogQGZvcm1hdFxuICogXG4gKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG52YXIgVXNlckFnZW50ID0gcmVxdWlyZSgnZmJqcy9saWIvVXNlckFnZW50Jyk7XG5cbnZhciBpc09TWCA9IFVzZXJBZ2VudC5pc1BsYXRmb3JtKCdNYWMgT1MgWCcpO1xuXG52YXIgS2V5QmluZGluZ1V0aWwgPSB7XG4gIC8qKlxuICAgKiBDaGVjayB3aGV0aGVyIHRoZSBjdHJsS2V5IG1vZGlmaWVyIGlzICpub3QqIGJlaW5nIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aFxuICAgKiB0aGUgYWx0S2V5IG1vZGlmaWVyLiBJZiB0aGV5IGFyZSBjb21iaW5lZCwgdGhlIHJlc3VsdCBpcyBhbiBgYWx0R3JhcGhgXG4gICAqIGtleSBtb2RpZmllciwgd2hpY2ggc2hvdWxkIG5vdCBiZSBoYW5kbGVkIGJ5IHRoaXMgc2V0IG9mIGtleSBiaW5kaW5ncy5cbiAgICovXG4gIGlzQ3RybEtleUNvbW1hbmQ6IGZ1bmN0aW9uIGlzQ3RybEtleUNvbW1hbmQoZSkge1xuICAgIHJldHVybiAhIWUuY3RybEtleSAmJiAhZS5hbHRLZXk7XG4gIH0sXG5cbiAgaXNPcHRpb25LZXlDb21tYW5kOiBmdW5jdGlvbiBpc09wdGlvbktleUNvbW1hbmQoZSkge1xuICAgIHJldHVybiBpc09TWCAmJiBlLmFsdEtleTtcbiAgfSxcblxuICBoYXNDb21tYW5kTW9kaWZpZXI6IGZ1bmN0aW9uIGhhc0NvbW1hbmRNb2RpZmllcihlKSB7XG4gICAgcmV0dXJuIGlzT1NYID8gISFlLm1ldGFLZXkgJiYgIWUuYWx0S2V5IDogS2V5QmluZGluZ1V0aWwuaXNDdHJsS2V5Q29tbWFuZChlKTtcbiAgfVxufTtcblxubW9kdWxlLmV4cG9ydHMgPSBLZXlCaW5kaW5nVXRpbDsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/KeyBindingUtil.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nvar UserAgent = __webpack_require__(/*! fbjs/lib/UserAgent */ \"./node_modules/fbjs/lib/UserAgent.js\");\n\nvar isSoftNewlineEvent = __webpack_require__(/*! ./isSoftNewlineEvent */ \"./node_modules/draft-js/lib/isSoftNewlineEvent.js\");\n\nvar isOSX = UserAgent.isPlatform('Mac OS X');\nvar KeyBindingUtil = {\n /**\n * Check whether the ctrlKey modifier is *not* being used in conjunction with\n * the altKey modifier. If they are combined, the result is an `altGraph`\n * key modifier, which should not be handled by this set of key bindings.\n */\n isCtrlKeyCommand: function isCtrlKeyCommand(e) {\n return !!e.ctrlKey && !e.altKey;\n },\n isOptionKeyCommand: function isOptionKeyCommand(e) {\n return isOSX && e.altKey;\n },\n usesMacOSHeuristics: function usesMacOSHeuristics() {\n return isOSX;\n },\n hasCommandModifier: function hasCommandModifier(e) {\n return isOSX ? !!e.metaKey && !e.altKey : KeyBindingUtil.isCtrlKeyCommand(e);\n },\n isSoftNewlineEvent: isSoftNewlineEvent\n};\nmodule.exports = KeyBindingUtil;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL0tleUJpbmRpbmdVdGlsLmpzP2IzY2EiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDYTs7QUFFYixnQkFBZ0IsbUJBQU8sQ0FBQyxnRUFBb0I7O0FBRTVDLHlCQUF5QixtQkFBTyxDQUFDLCtFQUFzQjs7QUFFdkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvS2V5QmluZGluZ1V0aWwuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgRmFjZWJvb2ssIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIEBmb3JtYXRcbiAqIFxuICogQGVtYWlscyBvbmNhbGwrZHJhZnRfanNcbiAqL1xuJ3VzZSBzdHJpY3QnO1xuXG52YXIgVXNlckFnZW50ID0gcmVxdWlyZShcImZianMvbGliL1VzZXJBZ2VudFwiKTtcblxudmFyIGlzU29mdE5ld2xpbmVFdmVudCA9IHJlcXVpcmUoXCIuL2lzU29mdE5ld2xpbmVFdmVudFwiKTtcblxudmFyIGlzT1NYID0gVXNlckFnZW50LmlzUGxhdGZvcm0oJ01hYyBPUyBYJyk7XG52YXIgS2V5QmluZGluZ1V0aWwgPSB7XG4gIC8qKlxuICAgKiBDaGVjayB3aGV0aGVyIHRoZSBjdHJsS2V5IG1vZGlmaWVyIGlzICpub3QqIGJlaW5nIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aFxuICAgKiB0aGUgYWx0S2V5IG1vZGlmaWVyLiBJZiB0aGV5IGFyZSBjb21iaW5lZCwgdGhlIHJlc3VsdCBpcyBhbiBgYWx0R3JhcGhgXG4gICAqIGtleSBtb2RpZmllciwgd2hpY2ggc2hvdWxkIG5vdCBiZSBoYW5kbGVkIGJ5IHRoaXMgc2V0IG9mIGtleSBiaW5kaW5ncy5cbiAgICovXG4gIGlzQ3RybEtleUNvbW1hbmQ6IGZ1bmN0aW9uIGlzQ3RybEtleUNvbW1hbmQoZSkge1xuICAgIHJldHVybiAhIWUuY3RybEtleSAmJiAhZS5hbHRLZXk7XG4gIH0sXG4gIGlzT3B0aW9uS2V5Q29tbWFuZDogZnVuY3Rpb24gaXNPcHRpb25LZXlDb21tYW5kKGUpIHtcbiAgICByZXR1cm4gaXNPU1ggJiYgZS5hbHRLZXk7XG4gIH0sXG4gIHVzZXNNYWNPU0hldXJpc3RpY3M6IGZ1bmN0aW9uIHVzZXNNYWNPU0hldXJpc3RpY3MoKSB7XG4gICAgcmV0dXJuIGlzT1NYO1xuICB9LFxuICBoYXNDb21tYW5kTW9kaWZpZXI6IGZ1bmN0aW9uIGhhc0NvbW1hbmRNb2RpZmllcihlKSB7XG4gICAgcmV0dXJuIGlzT1NYID8gISFlLm1ldGFLZXkgJiYgIWUuYWx0S2V5IDogS2V5QmluZGluZ1V0aWwuaXNDdHJsS2V5Q29tbWFuZChlKTtcbiAgfSxcbiAgaXNTb2Z0TmV3bGluZUV2ZW50OiBpc1NvZnROZXdsaW5lRXZlbnRcbn07XG5tb2R1bGUuZXhwb3J0cyA9IEtleUJpbmRpbmdVdGlsOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/KeyBindingUtil.js\n"); + +/***/ }), + +/***/ "./node_modules/draft-js/lib/RawDraftContentState.js": +/*!***********************************************************!*\ + !*** ./node_modules/draft-js/lib/RawDraftContentState.js ***! + \***********************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL1Jhd0RyYWZ0Q29udGVudFN0YXRlLmpzP2VjZmIiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL1Jhd0RyYWZ0Q29udGVudFN0YXRlLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIEZhY2Vib29rLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKiBAZm9ybWF0XG4gKiBcbiAqIEBlbWFpbHMgb25jYWxsK2RyYWZ0X2pzXG4gKi9cbid1c2Ugc3RyaWN0JzsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/RawDraftContentState.js\n"); /***/ }), @@ -463,7 +546,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule RichTextEditorUtil\n * @format\n * \n */\n\n\n\nvar DraftModifier = __webpack_require__(/*! ./DraftModifier */ \"./node_modules/draft-js/lib/DraftModifier.js\");\nvar EditorState = __webpack_require__(/*! ./EditorState */ \"./node_modules/draft-js/lib/EditorState.js\");\nvar SelectionState = __webpack_require__(/*! ./SelectionState */ \"./node_modules/draft-js/lib/SelectionState.js\");\n\nvar adjustBlockDepthForContentState = __webpack_require__(/*! ./adjustBlockDepthForContentState */ \"./node_modules/draft-js/lib/adjustBlockDepthForContentState.js\");\nvar nullthrows = __webpack_require__(/*! fbjs/lib/nullthrows */ \"./node_modules/fbjs/lib/nullthrows.js\");\n\nvar RichTextEditorUtil = {\n currentBlockContainsLink: function currentBlockContainsLink(editorState) {\n var selection = editorState.getSelection();\n var contentState = editorState.getCurrentContent();\n var entityMap = contentState.getEntityMap();\n return contentState.getBlockForKey(selection.getAnchorKey()).getCharacterList().slice(selection.getStartOffset(), selection.getEndOffset()).some(function (v) {\n var entity = v.getEntity();\n return !!entity && entityMap.__get(entity).getType() === 'LINK';\n });\n },\n\n getCurrentBlockType: function getCurrentBlockType(editorState) {\n var selection = editorState.getSelection();\n return editorState.getCurrentContent().getBlockForKey(selection.getStartKey()).getType();\n },\n\n getDataObjectForLinkURL: function getDataObjectForLinkURL(uri) {\n return { url: uri.toString() };\n },\n\n handleKeyCommand: function handleKeyCommand(editorState, command) {\n switch (command) {\n case 'bold':\n return RichTextEditorUtil.toggleInlineStyle(editorState, 'BOLD');\n case 'italic':\n return RichTextEditorUtil.toggleInlineStyle(editorState, 'ITALIC');\n case 'underline':\n return RichTextEditorUtil.toggleInlineStyle(editorState, 'UNDERLINE');\n case 'code':\n return RichTextEditorUtil.toggleCode(editorState);\n case 'backspace':\n case 'backspace-word':\n case 'backspace-to-start-of-line':\n return RichTextEditorUtil.onBackspace(editorState);\n case 'delete':\n case 'delete-word':\n case 'delete-to-end-of-block':\n return RichTextEditorUtil.onDelete(editorState);\n default:\n // they may have custom editor commands; ignore those\n return null;\n }\n },\n\n insertSoftNewline: function insertSoftNewline(editorState) {\n var contentState = DraftModifier.insertText(editorState.getCurrentContent(), editorState.getSelection(), '\\n', editorState.getCurrentInlineStyle(), null);\n\n var newEditorState = EditorState.push(editorState, contentState, 'insert-characters');\n\n return EditorState.forceSelection(newEditorState, contentState.getSelectionAfter());\n },\n\n /**\n * For collapsed selections at the start of styled blocks, backspace should\n * just remove the existing style.\n */\n onBackspace: function onBackspace(editorState) {\n var selection = editorState.getSelection();\n if (!selection.isCollapsed() || selection.getAnchorOffset() || selection.getFocusOffset()) {\n return null;\n }\n\n // First, try to remove a preceding atomic block.\n var content = editorState.getCurrentContent();\n var startKey = selection.getStartKey();\n var blockBefore = content.getBlockBefore(startKey);\n\n if (blockBefore && blockBefore.getType() === 'atomic') {\n var blockMap = content.getBlockMap()['delete'](blockBefore.getKey());\n var withoutAtomicBlock = content.merge({\n blockMap: blockMap,\n selectionAfter: selection\n });\n if (withoutAtomicBlock !== content) {\n return EditorState.push(editorState, withoutAtomicBlock, 'remove-range');\n }\n }\n\n // If that doesn't succeed, try to remove the current block style.\n var withoutBlockStyle = RichTextEditorUtil.tryToRemoveBlockStyle(editorState);\n\n if (withoutBlockStyle) {\n return EditorState.push(editorState, withoutBlockStyle, 'change-block-type');\n }\n\n return null;\n },\n\n onDelete: function onDelete(editorState) {\n var selection = editorState.getSelection();\n if (!selection.isCollapsed()) {\n return null;\n }\n\n var content = editorState.getCurrentContent();\n var startKey = selection.getStartKey();\n var block = content.getBlockForKey(startKey);\n var length = block.getLength();\n\n // The cursor is somewhere within the text. Behave normally.\n if (selection.getStartOffset() < length) {\n return null;\n }\n\n var blockAfter = content.getBlockAfter(startKey);\n\n if (!blockAfter || blockAfter.getType() !== 'atomic') {\n return null;\n }\n\n var atomicBlockTarget = selection.merge({\n focusKey: blockAfter.getKey(),\n focusOffset: blockAfter.getLength()\n });\n\n var withoutAtomicBlock = DraftModifier.removeRange(content, atomicBlockTarget, 'forward');\n\n if (withoutAtomicBlock !== content) {\n return EditorState.push(editorState, withoutAtomicBlock, 'remove-range');\n }\n\n return null;\n },\n\n onTab: function onTab(event, editorState, maxDepth) {\n var selection = editorState.getSelection();\n var key = selection.getAnchorKey();\n if (key !== selection.getFocusKey()) {\n return editorState;\n }\n\n var content = editorState.getCurrentContent();\n var block = content.getBlockForKey(key);\n var type = block.getType();\n if (type !== 'unordered-list-item' && type !== 'ordered-list-item') {\n return editorState;\n }\n\n event.preventDefault();\n\n // Only allow indenting one level beyond the block above, and only if\n // the block above is a list item as well.\n var blockAbove = content.getBlockBefore(key);\n if (!blockAbove) {\n return editorState;\n }\n\n var typeAbove = blockAbove.getType();\n if (typeAbove !== 'unordered-list-item' && typeAbove !== 'ordered-list-item') {\n return editorState;\n }\n\n var depth = block.getDepth();\n if (!event.shiftKey && depth === maxDepth) {\n return editorState;\n }\n\n maxDepth = Math.min(blockAbove.getDepth() + 1, maxDepth);\n\n var withAdjustment = adjustBlockDepthForContentState(content, selection, event.shiftKey ? -1 : 1, maxDepth);\n\n return EditorState.push(editorState, withAdjustment, 'adjust-depth');\n },\n\n toggleBlockType: function toggleBlockType(editorState, blockType) {\n var selection = editorState.getSelection();\n var startKey = selection.getStartKey();\n var endKey = selection.getEndKey();\n var content = editorState.getCurrentContent();\n var target = selection;\n\n // Triple-click can lead to a selection that includes offset 0 of the\n // following block. The `SelectionState` for this case is accurate, but\n // we should avoid toggling block type for the trailing block because it\n // is a confusing interaction.\n if (startKey !== endKey && selection.getEndOffset() === 0) {\n var blockBefore = nullthrows(content.getBlockBefore(endKey));\n endKey = blockBefore.getKey();\n target = target.merge({\n anchorKey: startKey,\n anchorOffset: selection.getStartOffset(),\n focusKey: endKey,\n focusOffset: blockBefore.getLength(),\n isBackward: false\n });\n }\n\n var hasAtomicBlock = content.getBlockMap().skipWhile(function (_, k) {\n return k !== startKey;\n }).reverse().skipWhile(function (_, k) {\n return k !== endKey;\n }).some(function (v) {\n return v.getType() === 'atomic';\n });\n\n if (hasAtomicBlock) {\n return editorState;\n }\n\n var typeToSet = content.getBlockForKey(startKey).getType() === blockType ? 'unstyled' : blockType;\n\n return EditorState.push(editorState, DraftModifier.setBlockType(content, target, typeToSet), 'change-block-type');\n },\n\n toggleCode: function toggleCode(editorState) {\n var selection = editorState.getSelection();\n var anchorKey = selection.getAnchorKey();\n var focusKey = selection.getFocusKey();\n\n if (selection.isCollapsed() || anchorKey !== focusKey) {\n return RichTextEditorUtil.toggleBlockType(editorState, 'code-block');\n }\n\n return RichTextEditorUtil.toggleInlineStyle(editorState, 'CODE');\n },\n\n /**\n * Toggle the specified inline style for the selection. If the\n * user's selection is collapsed, apply or remove the style for the\n * internal state. If it is not collapsed, apply the change directly\n * to the document state.\n */\n toggleInlineStyle: function toggleInlineStyle(editorState, inlineStyle) {\n var selection = editorState.getSelection();\n var currentStyle = editorState.getCurrentInlineStyle();\n\n // If the selection is collapsed, toggle the specified style on or off and\n // set the result as the new inline style override. This will then be\n // used as the inline style for the next character to be inserted.\n if (selection.isCollapsed()) {\n return EditorState.setInlineStyleOverride(editorState, currentStyle.has(inlineStyle) ? currentStyle.remove(inlineStyle) : currentStyle.add(inlineStyle));\n }\n\n // If characters are selected, immediately apply or remove the\n // inline style on the document state itself.\n var content = editorState.getCurrentContent();\n var newContent;\n\n // If the style is already present for the selection range, remove it.\n // Otherwise, apply it.\n if (currentStyle.has(inlineStyle)) {\n newContent = DraftModifier.removeInlineStyle(content, selection, inlineStyle);\n } else {\n newContent = DraftModifier.applyInlineStyle(content, selection, inlineStyle);\n }\n\n return EditorState.push(editorState, newContent, 'change-inline-style');\n },\n\n toggleLink: function toggleLink(editorState, targetSelection, entityKey) {\n var withoutLink = DraftModifier.applyEntity(editorState.getCurrentContent(), targetSelection, entityKey);\n\n return EditorState.push(editorState, withoutLink, 'apply-entity');\n },\n\n /**\n * When a collapsed cursor is at the start of the first styled block, or\n * an empty styled block, changes block to 'unstyled'. Returns null if\n * block or selection does not meet that criteria.\n */\n tryToRemoveBlockStyle: function tryToRemoveBlockStyle(editorState) {\n var selection = editorState.getSelection();\n var offset = selection.getAnchorOffset();\n if (selection.isCollapsed() && offset === 0) {\n var key = selection.getAnchorKey();\n var content = editorState.getCurrentContent();\n var block = content.getBlockForKey(key);\n\n var firstBlock = content.getFirstBlock();\n if (block.getLength() > 0 && block !== firstBlock) {\n return null;\n }\n\n var type = block.getType();\n var blockBefore = content.getBlockBefore(key);\n if (type === 'code-block' && blockBefore && blockBefore.getType() === 'code-block' && blockBefore.getLength() !== 0) {\n return null;\n }\n\n if (type !== 'unstyled') {\n return DraftModifier.setBlockType(content, selection, 'unstyled');\n }\n }\n return null;\n }\n};\n\nmodule.exports = RichTextEditorUtil;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL1JpY2hUZXh0RWRpdG9yVXRpbC5qcz8zNzFlIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFYTs7QUFFYixvQkFBb0IsbUJBQU8sQ0FBQyxxRUFBaUI7QUFDN0Msa0JBQWtCLG1CQUFPLENBQUMsaUVBQWU7QUFDekMscUJBQXFCLG1CQUFPLENBQUMsdUVBQWtCOztBQUUvQyxzQ0FBc0MsbUJBQU8sQ0FBQyx5R0FBbUM7QUFDakYsaUJBQWlCLG1CQUFPLENBQUMsa0VBQXFCOztBQUU5QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBLFlBQVk7QUFDWixHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0RBQWdEO0FBQ2hEO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOztBQUVMOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsS0FBSztBQUNMO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBOztBQUVBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvUmljaFRleHRFZGl0b3JVdGlsLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQlNELXN0eWxlIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuIEFuIGFkZGl0aW9uYWwgZ3JhbnRcbiAqIG9mIHBhdGVudCByaWdodHMgY2FuIGJlIGZvdW5kIGluIHRoZSBQQVRFTlRTIGZpbGUgaW4gdGhlIHNhbWUgZGlyZWN0b3J5LlxuICpcbiAqIEBwcm92aWRlc01vZHVsZSBSaWNoVGV4dEVkaXRvclV0aWxcbiAqIEBmb3JtYXRcbiAqIFxuICovXG5cbid1c2Ugc3RyaWN0JztcblxudmFyIERyYWZ0TW9kaWZpZXIgPSByZXF1aXJlKCcuL0RyYWZ0TW9kaWZpZXInKTtcbnZhciBFZGl0b3JTdGF0ZSA9IHJlcXVpcmUoJy4vRWRpdG9yU3RhdGUnKTtcbnZhciBTZWxlY3Rpb25TdGF0ZSA9IHJlcXVpcmUoJy4vU2VsZWN0aW9uU3RhdGUnKTtcblxudmFyIGFkanVzdEJsb2NrRGVwdGhGb3JDb250ZW50U3RhdGUgPSByZXF1aXJlKCcuL2FkanVzdEJsb2NrRGVwdGhGb3JDb250ZW50U3RhdGUnKTtcbnZhciBudWxsdGhyb3dzID0gcmVxdWlyZSgnZmJqcy9saWIvbnVsbHRocm93cycpO1xuXG52YXIgUmljaFRleHRFZGl0b3JVdGlsID0ge1xuICBjdXJyZW50QmxvY2tDb250YWluc0xpbms6IGZ1bmN0aW9uIGN1cnJlbnRCbG9ja0NvbnRhaW5zTGluayhlZGl0b3JTdGF0ZSkge1xuICAgIHZhciBzZWxlY3Rpb24gPSBlZGl0b3JTdGF0ZS5nZXRTZWxlY3Rpb24oKTtcbiAgICB2YXIgY29udGVudFN0YXRlID0gZWRpdG9yU3RhdGUuZ2V0Q3VycmVudENvbnRlbnQoKTtcbiAgICB2YXIgZW50aXR5TWFwID0gY29udGVudFN0YXRlLmdldEVudGl0eU1hcCgpO1xuICAgIHJldHVybiBjb250ZW50U3RhdGUuZ2V0QmxvY2tGb3JLZXkoc2VsZWN0aW9uLmdldEFuY2hvcktleSgpKS5nZXRDaGFyYWN0ZXJMaXN0KCkuc2xpY2Uoc2VsZWN0aW9uLmdldFN0YXJ0T2Zmc2V0KCksIHNlbGVjdGlvbi5nZXRFbmRPZmZzZXQoKSkuc29tZShmdW5jdGlvbiAodikge1xuICAgICAgdmFyIGVudGl0eSA9IHYuZ2V0RW50aXR5KCk7XG4gICAgICByZXR1cm4gISFlbnRpdHkgJiYgZW50aXR5TWFwLl9fZ2V0KGVudGl0eSkuZ2V0VHlwZSgpID09PSAnTElOSyc7XG4gICAgfSk7XG4gIH0sXG5cbiAgZ2V0Q3VycmVudEJsb2NrVHlwZTogZnVuY3Rpb24gZ2V0Q3VycmVudEJsb2NrVHlwZShlZGl0b3JTdGF0ZSkge1xuICAgIHZhciBzZWxlY3Rpb24gPSBlZGl0b3JTdGF0ZS5nZXRTZWxlY3Rpb24oKTtcbiAgICByZXR1cm4gZWRpdG9yU3RhdGUuZ2V0Q3VycmVudENvbnRlbnQoKS5nZXRCbG9ja0ZvcktleShzZWxlY3Rpb24uZ2V0U3RhcnRLZXkoKSkuZ2V0VHlwZSgpO1xuICB9LFxuXG4gIGdldERhdGFPYmplY3RGb3JMaW5rVVJMOiBmdW5jdGlvbiBnZXREYXRhT2JqZWN0Rm9yTGlua1VSTCh1cmkpIHtcbiAgICByZXR1cm4geyB1cmw6IHVyaS50b1N0cmluZygpIH07XG4gIH0sXG5cbiAgaGFuZGxlS2V5Q29tbWFuZDogZnVuY3Rpb24gaGFuZGxlS2V5Q29tbWFuZChlZGl0b3JTdGF0ZSwgY29tbWFuZCkge1xuICAgIHN3aXRjaCAoY29tbWFuZCkge1xuICAgICAgY2FzZSAnYm9sZCc6XG4gICAgICAgIHJldHVybiBSaWNoVGV4dEVkaXRvclV0aWwudG9nZ2xlSW5saW5lU3R5bGUoZWRpdG9yU3RhdGUsICdCT0xEJyk7XG4gICAgICBjYXNlICdpdGFsaWMnOlxuICAgICAgICByZXR1cm4gUmljaFRleHRFZGl0b3JVdGlsLnRvZ2dsZUlubGluZVN0eWxlKGVkaXRvclN0YXRlLCAnSVRBTElDJyk7XG4gICAgICBjYXNlICd1bmRlcmxpbmUnOlxuICAgICAgICByZXR1cm4gUmljaFRleHRFZGl0b3JVdGlsLnRvZ2dsZUlubGluZVN0eWxlKGVkaXRvclN0YXRlLCAnVU5ERVJMSU5FJyk7XG4gICAgICBjYXNlICdjb2RlJzpcbiAgICAgICAgcmV0dXJuIFJpY2hUZXh0RWRpdG9yVXRpbC50b2dnbGVDb2RlKGVkaXRvclN0YXRlKTtcbiAgICAgIGNhc2UgJ2JhY2tzcGFjZSc6XG4gICAgICBjYXNlICdiYWNrc3BhY2Utd29yZCc6XG4gICAgICBjYXNlICdiYWNrc3BhY2UtdG8tc3RhcnQtb2YtbGluZSc6XG4gICAgICAgIHJldHVybiBSaWNoVGV4dEVkaXRvclV0aWwub25CYWNrc3BhY2UoZWRpdG9yU3RhdGUpO1xuICAgICAgY2FzZSAnZGVsZXRlJzpcbiAgICAgIGNhc2UgJ2RlbGV0ZS13b3JkJzpcbiAgICAgIGNhc2UgJ2RlbGV0ZS10by1lbmQtb2YtYmxvY2snOlxuICAgICAgICByZXR1cm4gUmljaFRleHRFZGl0b3JVdGlsLm9uRGVsZXRlKGVkaXRvclN0YXRlKTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIC8vIHRoZXkgbWF5IGhhdmUgY3VzdG9tIGVkaXRvciBjb21tYW5kczsgaWdub3JlIHRob3NlXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfSxcblxuICBpbnNlcnRTb2Z0TmV3bGluZTogZnVuY3Rpb24gaW5zZXJ0U29mdE5ld2xpbmUoZWRpdG9yU3RhdGUpIHtcbiAgICB2YXIgY29udGVudFN0YXRlID0gRHJhZnRNb2RpZmllci5pbnNlcnRUZXh0KGVkaXRvclN0YXRlLmdldEN1cnJlbnRDb250ZW50KCksIGVkaXRvclN0YXRlLmdldFNlbGVjdGlvbigpLCAnXFxuJywgZWRpdG9yU3RhdGUuZ2V0Q3VycmVudElubGluZVN0eWxlKCksIG51bGwpO1xuXG4gICAgdmFyIG5ld0VkaXRvclN0YXRlID0gRWRpdG9yU3RhdGUucHVzaChlZGl0b3JTdGF0ZSwgY29udGVudFN0YXRlLCAnaW5zZXJ0LWNoYXJhY3RlcnMnKTtcblxuICAgIHJldHVybiBFZGl0b3JTdGF0ZS5mb3JjZVNlbGVjdGlvbihuZXdFZGl0b3JTdGF0ZSwgY29udGVudFN0YXRlLmdldFNlbGVjdGlvbkFmdGVyKCkpO1xuICB9LFxuXG4gIC8qKlxuICAgKiBGb3IgY29sbGFwc2VkIHNlbGVjdGlvbnMgYXQgdGhlIHN0YXJ0IG9mIHN0eWxlZCBibG9ja3MsIGJhY2tzcGFjZSBzaG91bGRcbiAgICoganVzdCByZW1vdmUgdGhlIGV4aXN0aW5nIHN0eWxlLlxuICAgKi9cbiAgb25CYWNrc3BhY2U6IGZ1bmN0aW9uIG9uQmFja3NwYWNlKGVkaXRvclN0YXRlKSB7XG4gICAgdmFyIHNlbGVjdGlvbiA9IGVkaXRvclN0YXRlLmdldFNlbGVjdGlvbigpO1xuICAgIGlmICghc2VsZWN0aW9uLmlzQ29sbGFwc2VkKCkgfHwgc2VsZWN0aW9uLmdldEFuY2hvck9mZnNldCgpIHx8IHNlbGVjdGlvbi5nZXRGb2N1c09mZnNldCgpKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICAvLyBGaXJzdCwgdHJ5IHRvIHJlbW92ZSBhIHByZWNlZGluZyBhdG9taWMgYmxvY2suXG4gICAgdmFyIGNvbnRlbnQgPSBlZGl0b3JTdGF0ZS5nZXRDdXJyZW50Q29udGVudCgpO1xuICAgIHZhciBzdGFydEtleSA9IHNlbGVjdGlvbi5nZXRTdGFydEtleSgpO1xuICAgIHZhciBibG9ja0JlZm9yZSA9IGNvbnRlbnQuZ2V0QmxvY2tCZWZvcmUoc3RhcnRLZXkpO1xuXG4gICAgaWYgKGJsb2NrQmVmb3JlICYmIGJsb2NrQmVmb3JlLmdldFR5cGUoKSA9PT0gJ2F0b21pYycpIHtcbiAgICAgIHZhciBibG9ja01hcCA9IGNvbnRlbnQuZ2V0QmxvY2tNYXAoKVsnZGVsZXRlJ10oYmxvY2tCZWZvcmUuZ2V0S2V5KCkpO1xuICAgICAgdmFyIHdpdGhvdXRBdG9taWNCbG9jayA9IGNvbnRlbnQubWVyZ2Uoe1xuICAgICAgICBibG9ja01hcDogYmxvY2tNYXAsXG4gICAgICAgIHNlbGVjdGlvbkFmdGVyOiBzZWxlY3Rpb25cbiAgICAgIH0pO1xuICAgICAgaWYgKHdpdGhvdXRBdG9taWNCbG9jayAhPT0gY29udGVudCkge1xuICAgICAgICByZXR1cm4gRWRpdG9yU3RhdGUucHVzaChlZGl0b3JTdGF0ZSwgd2l0aG91dEF0b21pY0Jsb2NrLCAncmVtb3ZlLXJhbmdlJyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSWYgdGhhdCBkb2Vzbid0IHN1Y2NlZWQsIHRyeSB0byByZW1vdmUgdGhlIGN1cnJlbnQgYmxvY2sgc3R5bGUuXG4gICAgdmFyIHdpdGhvdXRCbG9ja1N0eWxlID0gUmljaFRleHRFZGl0b3JVdGlsLnRyeVRvUmVtb3ZlQmxvY2tTdHlsZShlZGl0b3JTdGF0ZSk7XG5cbiAgICBpZiAod2l0aG91dEJsb2NrU3R5bGUpIHtcbiAgICAgIHJldHVybiBFZGl0b3JTdGF0ZS5wdXNoKGVkaXRvclN0YXRlLCB3aXRob3V0QmxvY2tTdHlsZSwgJ2NoYW5nZS1ibG9jay10eXBlJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH0sXG5cbiAgb25EZWxldGU6IGZ1bmN0aW9uIG9uRGVsZXRlKGVkaXRvclN0YXRlKSB7XG4gICAgdmFyIHNlbGVjdGlvbiA9IGVkaXRvclN0YXRlLmdldFNlbGVjdGlvbigpO1xuICAgIGlmICghc2VsZWN0aW9uLmlzQ29sbGFwc2VkKCkpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHZhciBjb250ZW50ID0gZWRpdG9yU3RhdGUuZ2V0Q3VycmVudENvbnRlbnQoKTtcbiAgICB2YXIgc3RhcnRLZXkgPSBzZWxlY3Rpb24uZ2V0U3RhcnRLZXkoKTtcbiAgICB2YXIgYmxvY2sgPSBjb250ZW50LmdldEJsb2NrRm9yS2V5KHN0YXJ0S2V5KTtcbiAgICB2YXIgbGVuZ3RoID0gYmxvY2suZ2V0TGVuZ3RoKCk7XG5cbiAgICAvLyBUaGUgY3Vyc29yIGlzIHNvbWV3aGVyZSB3aXRoaW4gdGhlIHRleHQuIEJlaGF2ZSBub3JtYWxseS5cbiAgICBpZiAoc2VsZWN0aW9uLmdldFN0YXJ0T2Zmc2V0KCkgPCBsZW5ndGgpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHZhciBibG9ja0FmdGVyID0gY29udGVudC5nZXRCbG9ja0FmdGVyKHN0YXJ0S2V5KTtcblxuICAgIGlmICghYmxvY2tBZnRlciB8fCBibG9ja0FmdGVyLmdldFR5cGUoKSAhPT0gJ2F0b21pYycpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHZhciBhdG9taWNCbG9ja1RhcmdldCA9IHNlbGVjdGlvbi5tZXJnZSh7XG4gICAgICBmb2N1c0tleTogYmxvY2tBZnRlci5nZXRLZXkoKSxcbiAgICAgIGZvY3VzT2Zmc2V0OiBibG9ja0FmdGVyLmdldExlbmd0aCgpXG4gICAgfSk7XG5cbiAgICB2YXIgd2l0aG91dEF0b21pY0Jsb2NrID0gRHJhZnRNb2RpZmllci5yZW1vdmVSYW5nZShjb250ZW50LCBhdG9taWNCbG9ja1RhcmdldCwgJ2ZvcndhcmQnKTtcblxuICAgIGlmICh3aXRob3V0QXRvbWljQmxvY2sgIT09IGNvbnRlbnQpIHtcbiAgICAgIHJldHVybiBFZGl0b3JTdGF0ZS5wdXNoKGVkaXRvclN0YXRlLCB3aXRob3V0QXRvbWljQmxvY2ssICdyZW1vdmUtcmFuZ2UnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfSxcblxuICBvblRhYjogZnVuY3Rpb24gb25UYWIoZXZlbnQsIGVkaXRvclN0YXRlLCBtYXhEZXB0aCkge1xuICAgIHZhciBzZWxlY3Rpb24gPSBlZGl0b3JTdGF0ZS5nZXRTZWxlY3Rpb24oKTtcbiAgICB2YXIga2V5ID0gc2VsZWN0aW9uLmdldEFuY2hvcktleSgpO1xuICAgIGlmIChrZXkgIT09IHNlbGVjdGlvbi5nZXRGb2N1c0tleSgpKSB7XG4gICAgICByZXR1cm4gZWRpdG9yU3RhdGU7XG4gICAgfVxuXG4gICAgdmFyIGNvbnRlbnQgPSBlZGl0b3JTdGF0ZS5nZXRDdXJyZW50Q29udGVudCgpO1xuICAgIHZhciBibG9jayA9IGNvbnRlbnQuZ2V0QmxvY2tGb3JLZXkoa2V5KTtcbiAgICB2YXIgdHlwZSA9IGJsb2NrLmdldFR5cGUoKTtcbiAgICBpZiAodHlwZSAhPT0gJ3Vub3JkZXJlZC1saXN0LWl0ZW0nICYmIHR5cGUgIT09ICdvcmRlcmVkLWxpc3QtaXRlbScpIHtcbiAgICAgIHJldHVybiBlZGl0b3JTdGF0ZTtcbiAgICB9XG5cbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgLy8gT25seSBhbGxvdyBpbmRlbnRpbmcgb25lIGxldmVsIGJleW9uZCB0aGUgYmxvY2sgYWJvdmUsIGFuZCBvbmx5IGlmXG4gICAgLy8gdGhlIGJsb2NrIGFib3ZlIGlzIGEgbGlzdCBpdGVtIGFzIHdlbGwuXG4gICAgdmFyIGJsb2NrQWJvdmUgPSBjb250ZW50LmdldEJsb2NrQmVmb3JlKGtleSk7XG4gICAgaWYgKCFibG9ja0Fib3ZlKSB7XG4gICAgICByZXR1cm4gZWRpdG9yU3RhdGU7XG4gICAgfVxuXG4gICAgdmFyIHR5cGVBYm92ZSA9IGJsb2NrQWJvdmUuZ2V0VHlwZSgpO1xuICAgIGlmICh0eXBlQWJvdmUgIT09ICd1bm9yZGVyZWQtbGlzdC1pdGVtJyAmJiB0eXBlQWJvdmUgIT09ICdvcmRlcmVkLWxpc3QtaXRlbScpIHtcbiAgICAgIHJldHVybiBlZGl0b3JTdGF0ZTtcbiAgICB9XG5cbiAgICB2YXIgZGVwdGggPSBibG9jay5nZXREZXB0aCgpO1xuICAgIGlmICghZXZlbnQuc2hpZnRLZXkgJiYgZGVwdGggPT09IG1heERlcHRoKSB7XG4gICAgICByZXR1cm4gZWRpdG9yU3RhdGU7XG4gICAgfVxuXG4gICAgbWF4RGVwdGggPSBNYXRoLm1pbihibG9ja0Fib3ZlLmdldERlcHRoKCkgKyAxLCBtYXhEZXB0aCk7XG5cbiAgICB2YXIgd2l0aEFkanVzdG1lbnQgPSBhZGp1c3RCbG9ja0RlcHRoRm9yQ29udGVudFN0YXRlKGNvbnRlbnQsIHNlbGVjdGlvbiwgZXZlbnQuc2hpZnRLZXkgPyAtMSA6IDEsIG1heERlcHRoKTtcblxuICAgIHJldHVybiBFZGl0b3JTdGF0ZS5wdXNoKGVkaXRvclN0YXRlLCB3aXRoQWRqdXN0bWVudCwgJ2FkanVzdC1kZXB0aCcpO1xuICB9LFxuXG4gIHRvZ2dsZUJsb2NrVHlwZTogZnVuY3Rpb24gdG9nZ2xlQmxvY2tUeXBlKGVkaXRvclN0YXRlLCBibG9ja1R5cGUpIHtcbiAgICB2YXIgc2VsZWN0aW9uID0gZWRpdG9yU3RhdGUuZ2V0U2VsZWN0aW9uKCk7XG4gICAgdmFyIHN0YXJ0S2V5ID0gc2VsZWN0aW9uLmdldFN0YXJ0S2V5KCk7XG4gICAgdmFyIGVuZEtleSA9IHNlbGVjdGlvbi5nZXRFbmRLZXkoKTtcbiAgICB2YXIgY29udGVudCA9IGVkaXRvclN0YXRlLmdldEN1cnJlbnRDb250ZW50KCk7XG4gICAgdmFyIHRhcmdldCA9IHNlbGVjdGlvbjtcblxuICAgIC8vIFRyaXBsZS1jbGljayBjYW4gbGVhZCB0byBhIHNlbGVjdGlvbiB0aGF0IGluY2x1ZGVzIG9mZnNldCAwIG9mIHRoZVxuICAgIC8vIGZvbGxvd2luZyBibG9jay4gVGhlIGBTZWxlY3Rpb25TdGF0ZWAgZm9yIHRoaXMgY2FzZSBpcyBhY2N1cmF0ZSwgYnV0XG4gICAgLy8gd2Ugc2hvdWxkIGF2b2lkIHRvZ2dsaW5nIGJsb2NrIHR5cGUgZm9yIHRoZSB0cmFpbGluZyBibG9jayBiZWNhdXNlIGl0XG4gICAgLy8gaXMgYSBjb25mdXNpbmcgaW50ZXJhY3Rpb24uXG4gICAgaWYgKHN0YXJ0S2V5ICE9PSBlbmRLZXkgJiYgc2VsZWN0aW9uLmdldEVuZE9mZnNldCgpID09PSAwKSB7XG4gICAgICB2YXIgYmxvY2tCZWZvcmUgPSBudWxsdGhyb3dzKGNvbnRlbnQuZ2V0QmxvY2tCZWZvcmUoZW5kS2V5KSk7XG4gICAgICBlbmRLZXkgPSBibG9ja0JlZm9yZS5nZXRLZXkoKTtcbiAgICAgIHRhcmdldCA9IHRhcmdldC5tZXJnZSh7XG4gICAgICAgIGFuY2hvcktleTogc3RhcnRLZXksXG4gICAgICAgIGFuY2hvck9mZnNldDogc2VsZWN0aW9uLmdldFN0YXJ0T2Zmc2V0KCksXG4gICAgICAgIGZvY3VzS2V5OiBlbmRLZXksXG4gICAgICAgIGZvY3VzT2Zmc2V0OiBibG9ja0JlZm9yZS5nZXRMZW5ndGgoKSxcbiAgICAgICAgaXNCYWNrd2FyZDogZmFsc2VcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHZhciBoYXNBdG9taWNCbG9jayA9IGNvbnRlbnQuZ2V0QmxvY2tNYXAoKS5za2lwV2hpbGUoZnVuY3Rpb24gKF8sIGspIHtcbiAgICAgIHJldHVybiBrICE9PSBzdGFydEtleTtcbiAgICB9KS5yZXZlcnNlKCkuc2tpcFdoaWxlKGZ1bmN0aW9uIChfLCBrKSB7XG4gICAgICByZXR1cm4gayAhPT0gZW5kS2V5O1xuICAgIH0pLnNvbWUoZnVuY3Rpb24gKHYpIHtcbiAgICAgIHJldHVybiB2LmdldFR5cGUoKSA9PT0gJ2F0b21pYyc7XG4gICAgfSk7XG5cbiAgICBpZiAoaGFzQXRvbWljQmxvY2spIHtcbiAgICAgIHJldHVybiBlZGl0b3JTdGF0ZTtcbiAgICB9XG5cbiAgICB2YXIgdHlwZVRvU2V0ID0gY29udGVudC5nZXRCbG9ja0ZvcktleShzdGFydEtleSkuZ2V0VHlwZSgpID09PSBibG9ja1R5cGUgPyAndW5zdHlsZWQnIDogYmxvY2tUeXBlO1xuXG4gICAgcmV0dXJuIEVkaXRvclN0YXRlLnB1c2goZWRpdG9yU3RhdGUsIERyYWZ0TW9kaWZpZXIuc2V0QmxvY2tUeXBlKGNvbnRlbnQsIHRhcmdldCwgdHlwZVRvU2V0KSwgJ2NoYW5nZS1ibG9jay10eXBlJyk7XG4gIH0sXG5cbiAgdG9nZ2xlQ29kZTogZnVuY3Rpb24gdG9nZ2xlQ29kZShlZGl0b3JTdGF0ZSkge1xuICAgIHZhciBzZWxlY3Rpb24gPSBlZGl0b3JTdGF0ZS5nZXRTZWxlY3Rpb24oKTtcbiAgICB2YXIgYW5jaG9yS2V5ID0gc2VsZWN0aW9uLmdldEFuY2hvcktleSgpO1xuICAgIHZhciBmb2N1c0tleSA9IHNlbGVjdGlvbi5nZXRGb2N1c0tleSgpO1xuXG4gICAgaWYgKHNlbGVjdGlvbi5pc0NvbGxhcHNlZCgpIHx8IGFuY2hvcktleSAhPT0gZm9jdXNLZXkpIHtcbiAgICAgIHJldHVybiBSaWNoVGV4dEVkaXRvclV0aWwudG9nZ2xlQmxvY2tUeXBlKGVkaXRvclN0YXRlLCAnY29kZS1ibG9jaycpO1xuICAgIH1cblxuICAgIHJldHVybiBSaWNoVGV4dEVkaXRvclV0aWwudG9nZ2xlSW5saW5lU3R5bGUoZWRpdG9yU3RhdGUsICdDT0RFJyk7XG4gIH0sXG5cbiAgLyoqXG4gICAqIFRvZ2dsZSB0aGUgc3BlY2lmaWVkIGlubGluZSBzdHlsZSBmb3IgdGhlIHNlbGVjdGlvbi4gSWYgdGhlXG4gICAqIHVzZXIncyBzZWxlY3Rpb24gaXMgY29sbGFwc2VkLCBhcHBseSBvciByZW1vdmUgdGhlIHN0eWxlIGZvciB0aGVcbiAgICogaW50ZXJuYWwgc3RhdGUuIElmIGl0IGlzIG5vdCBjb2xsYXBzZWQsIGFwcGx5IHRoZSBjaGFuZ2UgZGlyZWN0bHlcbiAgICogdG8gdGhlIGRvY3VtZW50IHN0YXRlLlxuICAgKi9cbiAgdG9nZ2xlSW5saW5lU3R5bGU6IGZ1bmN0aW9uIHRvZ2dsZUlubGluZVN0eWxlKGVkaXRvclN0YXRlLCBpbmxpbmVTdHlsZSkge1xuICAgIHZhciBzZWxlY3Rpb24gPSBlZGl0b3JTdGF0ZS5nZXRTZWxlY3Rpb24oKTtcbiAgICB2YXIgY3VycmVudFN0eWxlID0gZWRpdG9yU3RhdGUuZ2V0Q3VycmVudElubGluZVN0eWxlKCk7XG5cbiAgICAvLyBJZiB0aGUgc2VsZWN0aW9uIGlzIGNvbGxhcHNlZCwgdG9nZ2xlIHRoZSBzcGVjaWZpZWQgc3R5bGUgb24gb3Igb2ZmIGFuZFxuICAgIC8vIHNldCB0aGUgcmVzdWx0IGFzIHRoZSBuZXcgaW5saW5lIHN0eWxlIG92ZXJyaWRlLiBUaGlzIHdpbGwgdGhlbiBiZVxuICAgIC8vIHVzZWQgYXMgdGhlIGlubGluZSBzdHlsZSBmb3IgdGhlIG5leHQgY2hhcmFjdGVyIHRvIGJlIGluc2VydGVkLlxuICAgIGlmIChzZWxlY3Rpb24uaXNDb2xsYXBzZWQoKSkge1xuICAgICAgcmV0dXJuIEVkaXRvclN0YXRlLnNldElubGluZVN0eWxlT3ZlcnJpZGUoZWRpdG9yU3RhdGUsIGN1cnJlbnRTdHlsZS5oYXMoaW5saW5lU3R5bGUpID8gY3VycmVudFN0eWxlLnJlbW92ZShpbmxpbmVTdHlsZSkgOiBjdXJyZW50U3R5bGUuYWRkKGlubGluZVN0eWxlKSk7XG4gICAgfVxuXG4gICAgLy8gSWYgY2hhcmFjdGVycyBhcmUgc2VsZWN0ZWQsIGltbWVkaWF0ZWx5IGFwcGx5IG9yIHJlbW92ZSB0aGVcbiAgICAvLyBpbmxpbmUgc3R5bGUgb24gdGhlIGRvY3VtZW50IHN0YXRlIGl0c2VsZi5cbiAgICB2YXIgY29udGVudCA9IGVkaXRvclN0YXRlLmdldEN1cnJlbnRDb250ZW50KCk7XG4gICAgdmFyIG5ld0NvbnRlbnQ7XG5cbiAgICAvLyBJZiB0aGUgc3R5bGUgaXMgYWxyZWFkeSBwcmVzZW50IGZvciB0aGUgc2VsZWN0aW9uIHJhbmdlLCByZW1vdmUgaXQuXG4gICAgLy8gT3RoZXJ3aXNlLCBhcHBseSBpdC5cbiAgICBpZiAoY3VycmVudFN0eWxlLmhhcyhpbmxpbmVTdHlsZSkpIHtcbiAgICAgIG5ld0NvbnRlbnQgPSBEcmFmdE1vZGlmaWVyLnJlbW92ZUlubGluZVN0eWxlKGNvbnRlbnQsIHNlbGVjdGlvbiwgaW5saW5lU3R5bGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBuZXdDb250ZW50ID0gRHJhZnRNb2RpZmllci5hcHBseUlubGluZVN0eWxlKGNvbnRlbnQsIHNlbGVjdGlvbiwgaW5saW5lU3R5bGUpO1xuICAgIH1cblxuICAgIHJldHVybiBFZGl0b3JTdGF0ZS5wdXNoKGVkaXRvclN0YXRlLCBuZXdDb250ZW50LCAnY2hhbmdlLWlubGluZS1zdHlsZScpO1xuICB9LFxuXG4gIHRvZ2dsZUxpbms6IGZ1bmN0aW9uIHRvZ2dsZUxpbmsoZWRpdG9yU3RhdGUsIHRhcmdldFNlbGVjdGlvbiwgZW50aXR5S2V5KSB7XG4gICAgdmFyIHdpdGhvdXRMaW5rID0gRHJhZnRNb2RpZmllci5hcHBseUVudGl0eShlZGl0b3JTdGF0ZS5nZXRDdXJyZW50Q29udGVudCgpLCB0YXJnZXRTZWxlY3Rpb24sIGVudGl0eUtleSk7XG5cbiAgICByZXR1cm4gRWRpdG9yU3RhdGUucHVzaChlZGl0b3JTdGF0ZSwgd2l0aG91dExpbmssICdhcHBseS1lbnRpdHknKTtcbiAgfSxcblxuICAvKipcbiAgICogV2hlbiBhIGNvbGxhcHNlZCBjdXJzb3IgaXMgYXQgdGhlIHN0YXJ0IG9mIHRoZSBmaXJzdCBzdHlsZWQgYmxvY2ssIG9yXG4gICAqIGFuIGVtcHR5IHN0eWxlZCBibG9jaywgY2hhbmdlcyBibG9jayB0byAndW5zdHlsZWQnLiBSZXR1cm5zIG51bGwgaWZcbiAgICogYmxvY2sgb3Igc2VsZWN0aW9uIGRvZXMgbm90IG1lZXQgdGhhdCBjcml0ZXJpYS5cbiAgICovXG4gIHRyeVRvUmVtb3ZlQmxvY2tTdHlsZTogZnVuY3Rpb24gdHJ5VG9SZW1vdmVCbG9ja1N0eWxlKGVkaXRvclN0YXRlKSB7XG4gICAgdmFyIHNlbGVjdGlvbiA9IGVkaXRvclN0YXRlLmdldFNlbGVjdGlvbigpO1xuICAgIHZhciBvZmZzZXQgPSBzZWxlY3Rpb24uZ2V0QW5jaG9yT2Zmc2V0KCk7XG4gICAgaWYgKHNlbGVjdGlvbi5pc0NvbGxhcHNlZCgpICYmIG9mZnNldCA9PT0gMCkge1xuICAgICAgdmFyIGtleSA9IHNlbGVjdGlvbi5nZXRBbmNob3JLZXkoKTtcbiAgICAgIHZhciBjb250ZW50ID0gZWRpdG9yU3RhdGUuZ2V0Q3VycmVudENvbnRlbnQoKTtcbiAgICAgIHZhciBibG9jayA9IGNvbnRlbnQuZ2V0QmxvY2tGb3JLZXkoa2V5KTtcblxuICAgICAgdmFyIGZpcnN0QmxvY2sgPSBjb250ZW50LmdldEZpcnN0QmxvY2soKTtcbiAgICAgIGlmIChibG9jay5nZXRMZW5ndGgoKSA+IDAgJiYgYmxvY2sgIT09IGZpcnN0QmxvY2spIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICAgIHZhciB0eXBlID0gYmxvY2suZ2V0VHlwZSgpO1xuICAgICAgdmFyIGJsb2NrQmVmb3JlID0gY29udGVudC5nZXRCbG9ja0JlZm9yZShrZXkpO1xuICAgICAgaWYgKHR5cGUgPT09ICdjb2RlLWJsb2NrJyAmJiBibG9ja0JlZm9yZSAmJiBibG9ja0JlZm9yZS5nZXRUeXBlKCkgPT09ICdjb2RlLWJsb2NrJyAmJiBibG9ja0JlZm9yZS5nZXRMZW5ndGgoKSAhPT0gMCkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cblxuICAgICAgaWYgKHR5cGUgIT09ICd1bnN0eWxlZCcpIHtcbiAgICAgICAgcmV0dXJuIERyYWZ0TW9kaWZpZXIuc2V0QmxvY2tUeXBlKGNvbnRlbnQsIHNlbGVjdGlvbiwgJ3Vuc3R5bGVkJyk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG59O1xuXG5tb2R1bGUuZXhwb3J0cyA9IFJpY2hUZXh0RWRpdG9yVXRpbDsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/RichTextEditorUtil.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nvar DraftModifier = __webpack_require__(/*! ./DraftModifier */ \"./node_modules/draft-js/lib/DraftModifier.js\");\n\nvar EditorState = __webpack_require__(/*! ./EditorState */ \"./node_modules/draft-js/lib/EditorState.js\");\n\nvar adjustBlockDepthForContentState = __webpack_require__(/*! ./adjustBlockDepthForContentState */ \"./node_modules/draft-js/lib/adjustBlockDepthForContentState.js\");\n\nvar nullthrows = __webpack_require__(/*! fbjs/lib/nullthrows */ \"./node_modules/fbjs/lib/nullthrows.js\");\n\nvar RichTextEditorUtil = {\n currentBlockContainsLink: function currentBlockContainsLink(editorState) {\n var selection = editorState.getSelection();\n var contentState = editorState.getCurrentContent();\n var entityMap = contentState.getEntityMap();\n return contentState.getBlockForKey(selection.getAnchorKey()).getCharacterList().slice(selection.getStartOffset(), selection.getEndOffset()).some(function (v) {\n var entity = v.getEntity();\n return !!entity && entityMap.__get(entity).getType() === 'LINK';\n });\n },\n getCurrentBlockType: function getCurrentBlockType(editorState) {\n var selection = editorState.getSelection();\n return editorState.getCurrentContent().getBlockForKey(selection.getStartKey()).getType();\n },\n getDataObjectForLinkURL: function getDataObjectForLinkURL(uri) {\n return {\n url: uri.toString()\n };\n },\n handleKeyCommand: function handleKeyCommand(editorState, command, eventTimeStamp) {\n switch (command) {\n case 'bold':\n return RichTextEditorUtil.toggleInlineStyle(editorState, 'BOLD');\n\n case 'italic':\n return RichTextEditorUtil.toggleInlineStyle(editorState, 'ITALIC');\n\n case 'underline':\n return RichTextEditorUtil.toggleInlineStyle(editorState, 'UNDERLINE');\n\n case 'code':\n return RichTextEditorUtil.toggleCode(editorState);\n\n case 'backspace':\n case 'backspace-word':\n case 'backspace-to-start-of-line':\n return RichTextEditorUtil.onBackspace(editorState);\n\n case 'delete':\n case 'delete-word':\n case 'delete-to-end-of-block':\n return RichTextEditorUtil.onDelete(editorState);\n\n default:\n // they may have custom editor commands; ignore those\n return null;\n }\n },\n insertSoftNewline: function insertSoftNewline(editorState) {\n var contentState = DraftModifier.insertText(editorState.getCurrentContent(), editorState.getSelection(), '\\n', editorState.getCurrentInlineStyle(), null);\n var newEditorState = EditorState.push(editorState, contentState, 'insert-characters');\n return EditorState.forceSelection(newEditorState, contentState.getSelectionAfter());\n },\n\n /**\n * For collapsed selections at the start of styled blocks, backspace should\n * just remove the existing style.\n */\n onBackspace: function onBackspace(editorState) {\n var selection = editorState.getSelection();\n\n if (!selection.isCollapsed() || selection.getAnchorOffset() || selection.getFocusOffset()) {\n return null;\n } // First, try to remove a preceding atomic block.\n\n\n var content = editorState.getCurrentContent();\n var startKey = selection.getStartKey();\n var blockBefore = content.getBlockBefore(startKey);\n\n if (blockBefore && blockBefore.getType() === 'atomic') {\n var blockMap = content.getBlockMap()[\"delete\"](blockBefore.getKey());\n var withoutAtomicBlock = content.merge({\n blockMap: blockMap,\n selectionAfter: selection\n });\n\n if (withoutAtomicBlock !== content) {\n return EditorState.push(editorState, withoutAtomicBlock, 'remove-range');\n }\n } // If that doesn't succeed, try to remove the current block style.\n\n\n var withoutBlockStyle = RichTextEditorUtil.tryToRemoveBlockStyle(editorState);\n\n if (withoutBlockStyle) {\n return EditorState.push(editorState, withoutBlockStyle, 'change-block-type');\n }\n\n return null;\n },\n onDelete: function onDelete(editorState) {\n var selection = editorState.getSelection();\n\n if (!selection.isCollapsed()) {\n return null;\n }\n\n var content = editorState.getCurrentContent();\n var startKey = selection.getStartKey();\n var block = content.getBlockForKey(startKey);\n var length = block.getLength(); // The cursor is somewhere within the text. Behave normally.\n\n if (selection.getStartOffset() < length) {\n return null;\n }\n\n var blockAfter = content.getBlockAfter(startKey);\n\n if (!blockAfter || blockAfter.getType() !== 'atomic') {\n return null;\n }\n\n var atomicBlockTarget = selection.merge({\n focusKey: blockAfter.getKey(),\n focusOffset: blockAfter.getLength()\n });\n var withoutAtomicBlock = DraftModifier.removeRange(content, atomicBlockTarget, 'forward');\n\n if (withoutAtomicBlock !== content) {\n return EditorState.push(editorState, withoutAtomicBlock, 'remove-range');\n }\n\n return null;\n },\n onTab: function onTab(event, editorState, maxDepth) {\n var selection = editorState.getSelection();\n var key = selection.getAnchorKey();\n\n if (key !== selection.getFocusKey()) {\n return editorState;\n }\n\n var content = editorState.getCurrentContent();\n var block = content.getBlockForKey(key);\n var type = block.getType();\n\n if (type !== 'unordered-list-item' && type !== 'ordered-list-item') {\n return editorState;\n }\n\n event.preventDefault();\n var depth = block.getDepth();\n\n if (!event.shiftKey && depth === maxDepth) {\n return editorState;\n }\n\n var withAdjustment = adjustBlockDepthForContentState(content, selection, event.shiftKey ? -1 : 1, maxDepth);\n return EditorState.push(editorState, withAdjustment, 'adjust-depth');\n },\n toggleBlockType: function toggleBlockType(editorState, blockType) {\n var selection = editorState.getSelection();\n var startKey = selection.getStartKey();\n var endKey = selection.getEndKey();\n var content = editorState.getCurrentContent();\n var target = selection; // Triple-click can lead to a selection that includes offset 0 of the\n // following block. The `SelectionState` for this case is accurate, but\n // we should avoid toggling block type for the trailing block because it\n // is a confusing interaction.\n\n if (startKey !== endKey && selection.getEndOffset() === 0) {\n var blockBefore = nullthrows(content.getBlockBefore(endKey));\n endKey = blockBefore.getKey();\n target = target.merge({\n anchorKey: startKey,\n anchorOffset: selection.getStartOffset(),\n focusKey: endKey,\n focusOffset: blockBefore.getLength(),\n isBackward: false\n });\n }\n\n var hasAtomicBlock = content.getBlockMap().skipWhile(function (_, k) {\n return k !== startKey;\n }).reverse().skipWhile(function (_, k) {\n return k !== endKey;\n }).some(function (v) {\n return v.getType() === 'atomic';\n });\n\n if (hasAtomicBlock) {\n return editorState;\n }\n\n var typeToSet = content.getBlockForKey(startKey).getType() === blockType ? 'unstyled' : blockType;\n return EditorState.push(editorState, DraftModifier.setBlockType(content, target, typeToSet), 'change-block-type');\n },\n toggleCode: function toggleCode(editorState) {\n var selection = editorState.getSelection();\n var anchorKey = selection.getAnchorKey();\n var focusKey = selection.getFocusKey();\n\n if (selection.isCollapsed() || anchorKey !== focusKey) {\n return RichTextEditorUtil.toggleBlockType(editorState, 'code-block');\n }\n\n return RichTextEditorUtil.toggleInlineStyle(editorState, 'CODE');\n },\n\n /**\n * Toggle the specified inline style for the selection. If the\n * user's selection is collapsed, apply or remove the style for the\n * internal state. If it is not collapsed, apply the change directly\n * to the document state.\n */\n toggleInlineStyle: function toggleInlineStyle(editorState, inlineStyle) {\n var selection = editorState.getSelection();\n var currentStyle = editorState.getCurrentInlineStyle(); // If the selection is collapsed, toggle the specified style on or off and\n // set the result as the new inline style override. This will then be\n // used as the inline style for the next character to be inserted.\n\n if (selection.isCollapsed()) {\n return EditorState.setInlineStyleOverride(editorState, currentStyle.has(inlineStyle) ? currentStyle.remove(inlineStyle) : currentStyle.add(inlineStyle));\n } // If characters are selected, immediately apply or remove the\n // inline style on the document state itself.\n\n\n var content = editorState.getCurrentContent();\n var newContent; // If the style is already present for the selection range, remove it.\n // Otherwise, apply it.\n\n if (currentStyle.has(inlineStyle)) {\n newContent = DraftModifier.removeInlineStyle(content, selection, inlineStyle);\n } else {\n newContent = DraftModifier.applyInlineStyle(content, selection, inlineStyle);\n }\n\n return EditorState.push(editorState, newContent, 'change-inline-style');\n },\n toggleLink: function toggleLink(editorState, targetSelection, entityKey) {\n var withoutLink = DraftModifier.applyEntity(editorState.getCurrentContent(), targetSelection, entityKey);\n return EditorState.push(editorState, withoutLink, 'apply-entity');\n },\n\n /**\n * When a collapsed cursor is at the start of a styled block, changes block\n * type to 'unstyled'. Returns null if selection does not meet that criteria.\n */\n tryToRemoveBlockStyle: function tryToRemoveBlockStyle(editorState) {\n var selection = editorState.getSelection();\n var offset = selection.getAnchorOffset();\n\n if (selection.isCollapsed() && offset === 0) {\n var key = selection.getAnchorKey();\n var content = editorState.getCurrentContent();\n var block = content.getBlockForKey(key);\n var type = block.getType();\n var blockBefore = content.getBlockBefore(key);\n\n if (type === 'code-block' && blockBefore && blockBefore.getType() === 'code-block' && blockBefore.getLength() !== 0) {\n return null;\n }\n\n if (type !== 'unstyled') {\n return DraftModifier.setBlockType(content, selection, 'unstyled');\n }\n }\n\n return null;\n }\n};\nmodule.exports = RichTextEditorUtil;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL1JpY2hUZXh0RWRpdG9yVXRpbC5qcz8zNzFlIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ2E7O0FBRWIsb0JBQW9CLG1CQUFPLENBQUMscUVBQWlCOztBQUU3QyxrQkFBa0IsbUJBQU8sQ0FBQyxpRUFBZTs7QUFFekMsc0NBQXNDLG1CQUFPLENBQUMseUdBQW1DOztBQUVqRixpQkFBaUIsbUJBQU8sQ0FBQyxrRUFBcUI7O0FBRTlDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGdEQUFnRDtBQUNoRDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEtBQUs7OztBQUdMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTzs7QUFFUDtBQUNBO0FBQ0E7QUFDQSxLQUFLOzs7QUFHTDs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsbUNBQW1DOztBQUVuQztBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJCQUEyQjtBQUMzQjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxLQUFLO0FBQ0w7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJEQUEyRDtBQUMzRDtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7OztBQUdBO0FBQ0EsbUJBQW1CO0FBQ25COztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL1JpY2hUZXh0RWRpdG9yVXRpbC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSBGYWNlYm9vaywgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICogQGZvcm1hdFxuICogXG4gKiBAZW1haWxzIG9uY2FsbCtkcmFmdF9qc1xuICovXG4ndXNlIHN0cmljdCc7XG5cbnZhciBEcmFmdE1vZGlmaWVyID0gcmVxdWlyZShcIi4vRHJhZnRNb2RpZmllclwiKTtcblxudmFyIEVkaXRvclN0YXRlID0gcmVxdWlyZShcIi4vRWRpdG9yU3RhdGVcIik7XG5cbnZhciBhZGp1c3RCbG9ja0RlcHRoRm9yQ29udGVudFN0YXRlID0gcmVxdWlyZShcIi4vYWRqdXN0QmxvY2tEZXB0aEZvckNvbnRlbnRTdGF0ZVwiKTtcblxudmFyIG51bGx0aHJvd3MgPSByZXF1aXJlKFwiZmJqcy9saWIvbnVsbHRocm93c1wiKTtcblxudmFyIFJpY2hUZXh0RWRpdG9yVXRpbCA9IHtcbiAgY3VycmVudEJsb2NrQ29udGFpbnNMaW5rOiBmdW5jdGlvbiBjdXJyZW50QmxvY2tDb250YWluc0xpbmsoZWRpdG9yU3RhdGUpIHtcbiAgICB2YXIgc2VsZWN0aW9uID0gZWRpdG9yU3RhdGUuZ2V0U2VsZWN0aW9uKCk7XG4gICAgdmFyIGNvbnRlbnRTdGF0ZSA9IGVkaXRvclN0YXRlLmdldEN1cnJlbnRDb250ZW50KCk7XG4gICAgdmFyIGVudGl0eU1hcCA9IGNvbnRlbnRTdGF0ZS5nZXRFbnRpdHlNYXAoKTtcbiAgICByZXR1cm4gY29udGVudFN0YXRlLmdldEJsb2NrRm9yS2V5KHNlbGVjdGlvbi5nZXRBbmNob3JLZXkoKSkuZ2V0Q2hhcmFjdGVyTGlzdCgpLnNsaWNlKHNlbGVjdGlvbi5nZXRTdGFydE9mZnNldCgpLCBzZWxlY3Rpb24uZ2V0RW5kT2Zmc2V0KCkpLnNvbWUoZnVuY3Rpb24gKHYpIHtcbiAgICAgIHZhciBlbnRpdHkgPSB2LmdldEVudGl0eSgpO1xuICAgICAgcmV0dXJuICEhZW50aXR5ICYmIGVudGl0eU1hcC5fX2dldChlbnRpdHkpLmdldFR5cGUoKSA9PT0gJ0xJTksnO1xuICAgIH0pO1xuICB9LFxuICBnZXRDdXJyZW50QmxvY2tUeXBlOiBmdW5jdGlvbiBnZXRDdXJyZW50QmxvY2tUeXBlKGVkaXRvclN0YXRlKSB7XG4gICAgdmFyIHNlbGVjdGlvbiA9IGVkaXRvclN0YXRlLmdldFNlbGVjdGlvbigpO1xuICAgIHJldHVybiBlZGl0b3JTdGF0ZS5nZXRDdXJyZW50Q29udGVudCgpLmdldEJsb2NrRm9yS2V5KHNlbGVjdGlvbi5nZXRTdGFydEtleSgpKS5nZXRUeXBlKCk7XG4gIH0sXG4gIGdldERhdGFPYmplY3RGb3JMaW5rVVJMOiBmdW5jdGlvbiBnZXREYXRhT2JqZWN0Rm9yTGlua1VSTCh1cmkpIHtcbiAgICByZXR1cm4ge1xuICAgICAgdXJsOiB1cmkudG9TdHJpbmcoKVxuICAgIH07XG4gIH0sXG4gIGhhbmRsZUtleUNvbW1hbmQ6IGZ1bmN0aW9uIGhhbmRsZUtleUNvbW1hbmQoZWRpdG9yU3RhdGUsIGNvbW1hbmQsIGV2ZW50VGltZVN0YW1wKSB7XG4gICAgc3dpdGNoIChjb21tYW5kKSB7XG4gICAgICBjYXNlICdib2xkJzpcbiAgICAgICAgcmV0dXJuIFJpY2hUZXh0RWRpdG9yVXRpbC50b2dnbGVJbmxpbmVTdHlsZShlZGl0b3JTdGF0ZSwgJ0JPTEQnKTtcblxuICAgICAgY2FzZSAnaXRhbGljJzpcbiAgICAgICAgcmV0dXJuIFJpY2hUZXh0RWRpdG9yVXRpbC50b2dnbGVJbmxpbmVTdHlsZShlZGl0b3JTdGF0ZSwgJ0lUQUxJQycpO1xuXG4gICAgICBjYXNlICd1bmRlcmxpbmUnOlxuICAgICAgICByZXR1cm4gUmljaFRleHRFZGl0b3JVdGlsLnRvZ2dsZUlubGluZVN0eWxlKGVkaXRvclN0YXRlLCAnVU5ERVJMSU5FJyk7XG5cbiAgICAgIGNhc2UgJ2NvZGUnOlxuICAgICAgICByZXR1cm4gUmljaFRleHRFZGl0b3JVdGlsLnRvZ2dsZUNvZGUoZWRpdG9yU3RhdGUpO1xuXG4gICAgICBjYXNlICdiYWNrc3BhY2UnOlxuICAgICAgY2FzZSAnYmFja3NwYWNlLXdvcmQnOlxuICAgICAgY2FzZSAnYmFja3NwYWNlLXRvLXN0YXJ0LW9mLWxpbmUnOlxuICAgICAgICByZXR1cm4gUmljaFRleHRFZGl0b3JVdGlsLm9uQmFja3NwYWNlKGVkaXRvclN0YXRlKTtcblxuICAgICAgY2FzZSAnZGVsZXRlJzpcbiAgICAgIGNhc2UgJ2RlbGV0ZS13b3JkJzpcbiAgICAgIGNhc2UgJ2RlbGV0ZS10by1lbmQtb2YtYmxvY2snOlxuICAgICAgICByZXR1cm4gUmljaFRleHRFZGl0b3JVdGlsLm9uRGVsZXRlKGVkaXRvclN0YXRlKTtcblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgLy8gdGhleSBtYXkgaGF2ZSBjdXN0b20gZWRpdG9yIGNvbW1hbmRzOyBpZ25vcmUgdGhvc2VcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9LFxuICBpbnNlcnRTb2Z0TmV3bGluZTogZnVuY3Rpb24gaW5zZXJ0U29mdE5ld2xpbmUoZWRpdG9yU3RhdGUpIHtcbiAgICB2YXIgY29udGVudFN0YXRlID0gRHJhZnRNb2RpZmllci5pbnNlcnRUZXh0KGVkaXRvclN0YXRlLmdldEN1cnJlbnRDb250ZW50KCksIGVkaXRvclN0YXRlLmdldFNlbGVjdGlvbigpLCAnXFxuJywgZWRpdG9yU3RhdGUuZ2V0Q3VycmVudElubGluZVN0eWxlKCksIG51bGwpO1xuICAgIHZhciBuZXdFZGl0b3JTdGF0ZSA9IEVkaXRvclN0YXRlLnB1c2goZWRpdG9yU3RhdGUsIGNvbnRlbnRTdGF0ZSwgJ2luc2VydC1jaGFyYWN0ZXJzJyk7XG4gICAgcmV0dXJuIEVkaXRvclN0YXRlLmZvcmNlU2VsZWN0aW9uKG5ld0VkaXRvclN0YXRlLCBjb250ZW50U3RhdGUuZ2V0U2VsZWN0aW9uQWZ0ZXIoKSk7XG4gIH0sXG5cbiAgLyoqXG4gICAqIEZvciBjb2xsYXBzZWQgc2VsZWN0aW9ucyBhdCB0aGUgc3RhcnQgb2Ygc3R5bGVkIGJsb2NrcywgYmFja3NwYWNlIHNob3VsZFxuICAgKiBqdXN0IHJlbW92ZSB0aGUgZXhpc3Rpbmcgc3R5bGUuXG4gICAqL1xuICBvbkJhY2tzcGFjZTogZnVuY3Rpb24gb25CYWNrc3BhY2UoZWRpdG9yU3RhdGUpIHtcbiAgICB2YXIgc2VsZWN0aW9uID0gZWRpdG9yU3RhdGUuZ2V0U2VsZWN0aW9uKCk7XG5cbiAgICBpZiAoIXNlbGVjdGlvbi5pc0NvbGxhcHNlZCgpIHx8IHNlbGVjdGlvbi5nZXRBbmNob3JPZmZzZXQoKSB8fCBzZWxlY3Rpb24uZ2V0Rm9jdXNPZmZzZXQoKSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfSAvLyBGaXJzdCwgdHJ5IHRvIHJlbW92ZSBhIHByZWNlZGluZyBhdG9taWMgYmxvY2suXG5cblxuICAgIHZhciBjb250ZW50ID0gZWRpdG9yU3RhdGUuZ2V0Q3VycmVudENvbnRlbnQoKTtcbiAgICB2YXIgc3RhcnRLZXkgPSBzZWxlY3Rpb24uZ2V0U3RhcnRLZXkoKTtcbiAgICB2YXIgYmxvY2tCZWZvcmUgPSBjb250ZW50LmdldEJsb2NrQmVmb3JlKHN0YXJ0S2V5KTtcblxuICAgIGlmIChibG9ja0JlZm9yZSAmJiBibG9ja0JlZm9yZS5nZXRUeXBlKCkgPT09ICdhdG9taWMnKSB7XG4gICAgICB2YXIgYmxvY2tNYXAgPSBjb250ZW50LmdldEJsb2NrTWFwKClbXCJkZWxldGVcIl0oYmxvY2tCZWZvcmUuZ2V0S2V5KCkpO1xuICAgICAgdmFyIHdpdGhvdXRBdG9taWNCbG9jayA9IGNvbnRlbnQubWVyZ2Uoe1xuICAgICAgICBibG9ja01hcDogYmxvY2tNYXAsXG4gICAgICAgIHNlbGVjdGlvbkFmdGVyOiBzZWxlY3Rpb25cbiAgICAgIH0pO1xuXG4gICAgICBpZiAod2l0aG91dEF0b21pY0Jsb2NrICE9PSBjb250ZW50KSB7XG4gICAgICAgIHJldHVybiBFZGl0b3JTdGF0ZS5wdXNoKGVkaXRvclN0YXRlLCB3aXRob3V0QXRvbWljQmxvY2ssICdyZW1vdmUtcmFuZ2UnKTtcbiAgICAgIH1cbiAgICB9IC8vIElmIHRoYXQgZG9lc24ndCBzdWNjZWVkLCB0cnkgdG8gcmVtb3ZlIHRoZSBjdXJyZW50IGJsb2NrIHN0eWxlLlxuXG5cbiAgICB2YXIgd2l0aG91dEJsb2NrU3R5bGUgPSBSaWNoVGV4dEVkaXRvclV0aWwudHJ5VG9SZW1vdmVCbG9ja1N0eWxlKGVkaXRvclN0YXRlKTtcblxuICAgIGlmICh3aXRob3V0QmxvY2tTdHlsZSkge1xuICAgICAgcmV0dXJuIEVkaXRvclN0YXRlLnB1c2goZWRpdG9yU3RhdGUsIHdpdGhvdXRCbG9ja1N0eWxlLCAnY2hhbmdlLWJsb2NrLXR5cGUnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfSxcbiAgb25EZWxldGU6IGZ1bmN0aW9uIG9uRGVsZXRlKGVkaXRvclN0YXRlKSB7XG4gICAgdmFyIHNlbGVjdGlvbiA9IGVkaXRvclN0YXRlLmdldFNlbGVjdGlvbigpO1xuXG4gICAgaWYgKCFzZWxlY3Rpb24uaXNDb2xsYXBzZWQoKSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgdmFyIGNvbnRlbnQgPSBlZGl0b3JTdGF0ZS5nZXRDdXJyZW50Q29udGVudCgpO1xuICAgIHZhciBzdGFydEtleSA9IHNlbGVjdGlvbi5nZXRTdGFydEtleSgpO1xuICAgIHZhciBibG9jayA9IGNvbnRlbnQuZ2V0QmxvY2tGb3JLZXkoc3RhcnRLZXkpO1xuICAgIHZhciBsZW5ndGggPSBibG9jay5nZXRMZW5ndGgoKTsgLy8gVGhlIGN1cnNvciBpcyBzb21ld2hlcmUgd2l0aGluIHRoZSB0ZXh0LiBCZWhhdmUgbm9ybWFsbHkuXG5cbiAgICBpZiAoc2VsZWN0aW9uLmdldFN0YXJ0T2Zmc2V0KCkgPCBsZW5ndGgpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHZhciBibG9ja0FmdGVyID0gY29udGVudC5nZXRCbG9ja0FmdGVyKHN0YXJ0S2V5KTtcblxuICAgIGlmICghYmxvY2tBZnRlciB8fCBibG9ja0FmdGVyLmdldFR5cGUoKSAhPT0gJ2F0b21pYycpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHZhciBhdG9taWNCbG9ja1RhcmdldCA9IHNlbGVjdGlvbi5tZXJnZSh7XG4gICAgICBmb2N1c0tleTogYmxvY2tBZnRlci5nZXRLZXkoKSxcbiAgICAgIGZvY3VzT2Zmc2V0OiBibG9ja0FmdGVyLmdldExlbmd0aCgpXG4gICAgfSk7XG4gICAgdmFyIHdpdGhvdXRBdG9taWNCbG9jayA9IERyYWZ0TW9kaWZpZXIucmVtb3ZlUmFuZ2UoY29udGVudCwgYXRvbWljQmxvY2tUYXJnZXQsICdmb3J3YXJkJyk7XG5cbiAgICBpZiAod2l0aG91dEF0b21pY0Jsb2NrICE9PSBjb250ZW50KSB7XG4gICAgICByZXR1cm4gRWRpdG9yU3RhdGUucHVzaChlZGl0b3JTdGF0ZSwgd2l0aG91dEF0b21pY0Jsb2NrLCAncmVtb3ZlLXJhbmdlJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH0sXG4gIG9uVGFiOiBmdW5jdGlvbiBvblRhYihldmVudCwgZWRpdG9yU3RhdGUsIG1heERlcHRoKSB7XG4gICAgdmFyIHNlbGVjdGlvbiA9IGVkaXRvclN0YXRlLmdldFNlbGVjdGlvbigpO1xuICAgIHZhciBrZXkgPSBzZWxlY3Rpb24uZ2V0QW5jaG9yS2V5KCk7XG5cbiAgICBpZiAoa2V5ICE9PSBzZWxlY3Rpb24uZ2V0Rm9jdXNLZXkoKSkge1xuICAgICAgcmV0dXJuIGVkaXRvclN0YXRlO1xuICAgIH1cblxuICAgIHZhciBjb250ZW50ID0gZWRpdG9yU3RhdGUuZ2V0Q3VycmVudENvbnRlbnQoKTtcbiAgICB2YXIgYmxvY2sgPSBjb250ZW50LmdldEJsb2NrRm9yS2V5KGtleSk7XG4gICAgdmFyIHR5cGUgPSBibG9jay5nZXRUeXBlKCk7XG5cbiAgICBpZiAodHlwZSAhPT0gJ3Vub3JkZXJlZC1saXN0LWl0ZW0nICYmIHR5cGUgIT09ICdvcmRlcmVkLWxpc3QtaXRlbScpIHtcbiAgICAgIHJldHVybiBlZGl0b3JTdGF0ZTtcbiAgICB9XG5cbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHZhciBkZXB0aCA9IGJsb2NrLmdldERlcHRoKCk7XG5cbiAgICBpZiAoIWV2ZW50LnNoaWZ0S2V5ICYmIGRlcHRoID09PSBtYXhEZXB0aCkge1xuICAgICAgcmV0dXJuIGVkaXRvclN0YXRlO1xuICAgIH1cblxuICAgIHZhciB3aXRoQWRqdXN0bWVudCA9IGFkanVzdEJsb2NrRGVwdGhGb3JDb250ZW50U3RhdGUoY29udGVudCwgc2VsZWN0aW9uLCBldmVudC5zaGlmdEtleSA/IC0xIDogMSwgbWF4RGVwdGgpO1xuICAgIHJldHVybiBFZGl0b3JTdGF0ZS5wdXNoKGVkaXRvclN0YXRlLCB3aXRoQWRqdXN0bWVudCwgJ2FkanVzdC1kZXB0aCcpO1xuICB9LFxuICB0b2dnbGVCbG9ja1R5cGU6IGZ1bmN0aW9uIHRvZ2dsZUJsb2NrVHlwZShlZGl0b3JTdGF0ZSwgYmxvY2tUeXBlKSB7XG4gICAgdmFyIHNlbGVjdGlvbiA9IGVkaXRvclN0YXRlLmdldFNlbGVjdGlvbigpO1xuICAgIHZhciBzdGFydEtleSA9IHNlbGVjdGlvbi5nZXRTdGFydEtleSgpO1xuICAgIHZhciBlbmRLZXkgPSBzZWxlY3Rpb24uZ2V0RW5kS2V5KCk7XG4gICAgdmFyIGNvbnRlbnQgPSBlZGl0b3JTdGF0ZS5nZXRDdXJyZW50Q29udGVudCgpO1xuICAgIHZhciB0YXJnZXQgPSBzZWxlY3Rpb247IC8vIFRyaXBsZS1jbGljayBjYW4gbGVhZCB0byBhIHNlbGVjdGlvbiB0aGF0IGluY2x1ZGVzIG9mZnNldCAwIG9mIHRoZVxuICAgIC8vIGZvbGxvd2luZyBibG9jay4gVGhlIGBTZWxlY3Rpb25TdGF0ZWAgZm9yIHRoaXMgY2FzZSBpcyBhY2N1cmF0ZSwgYnV0XG4gICAgLy8gd2Ugc2hvdWxkIGF2b2lkIHRvZ2dsaW5nIGJsb2NrIHR5cGUgZm9yIHRoZSB0cmFpbGluZyBibG9jayBiZWNhdXNlIGl0XG4gICAgLy8gaXMgYSBjb25mdXNpbmcgaW50ZXJhY3Rpb24uXG5cbiAgICBpZiAoc3RhcnRLZXkgIT09IGVuZEtleSAmJiBzZWxlY3Rpb24uZ2V0RW5kT2Zmc2V0KCkgPT09IDApIHtcbiAgICAgIHZhciBibG9ja0JlZm9yZSA9IG51bGx0aHJvd3MoY29udGVudC5nZXRCbG9ja0JlZm9yZShlbmRLZXkpKTtcbiAgICAgIGVuZEtleSA9IGJsb2NrQmVmb3JlLmdldEtleSgpO1xuICAgICAgdGFyZ2V0ID0gdGFyZ2V0Lm1lcmdlKHtcbiAgICAgICAgYW5jaG9yS2V5OiBzdGFydEtleSxcbiAgICAgICAgYW5jaG9yT2Zmc2V0OiBzZWxlY3Rpb24uZ2V0U3RhcnRPZmZzZXQoKSxcbiAgICAgICAgZm9jdXNLZXk6IGVuZEtleSxcbiAgICAgICAgZm9jdXNPZmZzZXQ6IGJsb2NrQmVmb3JlLmdldExlbmd0aCgpLFxuICAgICAgICBpc0JhY2t3YXJkOiBmYWxzZVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgdmFyIGhhc0F0b21pY0Jsb2NrID0gY29udGVudC5nZXRCbG9ja01hcCgpLnNraXBXaGlsZShmdW5jdGlvbiAoXywgaykge1xuICAgICAgcmV0dXJuIGsgIT09IHN0YXJ0S2V5O1xuICAgIH0pLnJldmVyc2UoKS5za2lwV2hpbGUoZnVuY3Rpb24gKF8sIGspIHtcbiAgICAgIHJldHVybiBrICE9PSBlbmRLZXk7XG4gICAgfSkuc29tZShmdW5jdGlvbiAodikge1xuICAgICAgcmV0dXJuIHYuZ2V0VHlwZSgpID09PSAnYXRvbWljJztcbiAgICB9KTtcblxuICAgIGlmIChoYXNBdG9taWNCbG9jaykge1xuICAgICAgcmV0dXJuIGVkaXRvclN0YXRlO1xuICAgIH1cblxuICAgIHZhciB0eXBlVG9TZXQgPSBjb250ZW50LmdldEJsb2NrRm9yS2V5KHN0YXJ0S2V5KS5nZXRUeXBlKCkgPT09IGJsb2NrVHlwZSA/ICd1bnN0eWxlZCcgOiBibG9ja1R5cGU7XG4gICAgcmV0dXJuIEVkaXRvclN0YXRlLnB1c2goZWRpdG9yU3RhdGUsIERyYWZ0TW9kaWZpZXIuc2V0QmxvY2tUeXBlKGNvbnRlbnQsIHRhcmdldCwgdHlwZVRvU2V0KSwgJ2NoYW5nZS1ibG9jay10eXBlJyk7XG4gIH0sXG4gIHRvZ2dsZUNvZGU6IGZ1bmN0aW9uIHRvZ2dsZUNvZGUoZWRpdG9yU3RhdGUpIHtcbiAgICB2YXIgc2VsZWN0aW9uID0gZWRpdG9yU3RhdGUuZ2V0U2VsZWN0aW9uKCk7XG4gICAgdmFyIGFuY2hvcktleSA9IHNlbGVjdGlvbi5nZXRBbmNob3JLZXkoKTtcbiAgICB2YXIgZm9jdXNLZXkgPSBzZWxlY3Rpb24uZ2V0Rm9jdXNLZXkoKTtcblxuICAgIGlmIChzZWxlY3Rpb24uaXNDb2xsYXBzZWQoKSB8fCBhbmNob3JLZXkgIT09IGZvY3VzS2V5KSB7XG4gICAgICByZXR1cm4gUmljaFRleHRFZGl0b3JVdGlsLnRvZ2dsZUJsb2NrVHlwZShlZGl0b3JTdGF0ZSwgJ2NvZGUtYmxvY2snKTtcbiAgICB9XG5cbiAgICByZXR1cm4gUmljaFRleHRFZGl0b3JVdGlsLnRvZ2dsZUlubGluZVN0eWxlKGVkaXRvclN0YXRlLCAnQ09ERScpO1xuICB9LFxuXG4gIC8qKlxuICAgKiBUb2dnbGUgdGhlIHNwZWNpZmllZCBpbmxpbmUgc3R5bGUgZm9yIHRoZSBzZWxlY3Rpb24uIElmIHRoZVxuICAgKiB1c2VyJ3Mgc2VsZWN0aW9uIGlzIGNvbGxhcHNlZCwgYXBwbHkgb3IgcmVtb3ZlIHRoZSBzdHlsZSBmb3IgdGhlXG4gICAqIGludGVybmFsIHN0YXRlLiBJZiBpdCBpcyBub3QgY29sbGFwc2VkLCBhcHBseSB0aGUgY2hhbmdlIGRpcmVjdGx5XG4gICAqIHRvIHRoZSBkb2N1bWVudCBzdGF0ZS5cbiAgICovXG4gIHRvZ2dsZUlubGluZVN0eWxlOiBmdW5jdGlvbiB0b2dnbGVJbmxpbmVTdHlsZShlZGl0b3JTdGF0ZSwgaW5saW5lU3R5bGUpIHtcbiAgICB2YXIgc2VsZWN0aW9uID0gZWRpdG9yU3RhdGUuZ2V0U2VsZWN0aW9uKCk7XG4gICAgdmFyIGN1cnJlbnRTdHlsZSA9IGVkaXRvclN0YXRlLmdldEN1cnJlbnRJbmxpbmVTdHlsZSgpOyAvLyBJZiB0aGUgc2VsZWN0aW9uIGlzIGNvbGxhcHNlZCwgdG9nZ2xlIHRoZSBzcGVjaWZpZWQgc3R5bGUgb24gb3Igb2ZmIGFuZFxuICAgIC8vIHNldCB0aGUgcmVzdWx0IGFzIHRoZSBuZXcgaW5saW5lIHN0eWxlIG92ZXJyaWRlLiBUaGlzIHdpbGwgdGhlbiBiZVxuICAgIC8vIHVzZWQgYXMgdGhlIGlubGluZSBzdHlsZSBmb3IgdGhlIG5leHQgY2hhcmFjdGVyIHRvIGJlIGluc2VydGVkLlxuXG4gICAgaWYgKHNlbGVjdGlvbi5pc0NvbGxhcHNlZCgpKSB7XG4gICAgICByZXR1cm4gRWRpdG9yU3RhdGUuc2V0SW5saW5lU3R5bGVPdmVycmlkZShlZGl0b3JTdGF0ZSwgY3VycmVudFN0eWxlLmhhcyhpbmxpbmVTdHlsZSkgPyBjdXJyZW50U3R5bGUucmVtb3ZlKGlubGluZVN0eWxlKSA6IGN1cnJlbnRTdHlsZS5hZGQoaW5saW5lU3R5bGUpKTtcbiAgICB9IC8vIElmIGNoYXJhY3RlcnMgYXJlIHNlbGVjdGVkLCBpbW1lZGlhdGVseSBhcHBseSBvciByZW1vdmUgdGhlXG4gICAgLy8gaW5saW5lIHN0eWxlIG9uIHRoZSBkb2N1bWVudCBzdGF0ZSBpdHNlbGYuXG5cblxuICAgIHZhciBjb250ZW50ID0gZWRpdG9yU3RhdGUuZ2V0Q3VycmVudENvbnRlbnQoKTtcbiAgICB2YXIgbmV3Q29udGVudDsgLy8gSWYgdGhlIHN0eWxlIGlzIGFscmVhZHkgcHJlc2VudCBmb3IgdGhlIHNlbGVjdGlvbiByYW5nZSwgcmVtb3ZlIGl0LlxuICAgIC8vIE90aGVyd2lzZSwgYXBwbHkgaXQuXG5cbiAgICBpZiAoY3VycmVudFN0eWxlLmhhcyhpbmxpbmVTdHlsZSkpIHtcbiAgICAgIG5ld0NvbnRlbnQgPSBEcmFmdE1vZGlmaWVyLnJlbW92ZUlubGluZVN0eWxlKGNvbnRlbnQsIHNlbGVjdGlvbiwgaW5saW5lU3R5bGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBuZXdDb250ZW50ID0gRHJhZnRNb2RpZmllci5hcHBseUlubGluZVN0eWxlKGNvbnRlbnQsIHNlbGVjdGlvbiwgaW5saW5lU3R5bGUpO1xuICAgIH1cblxuICAgIHJldHVybiBFZGl0b3JTdGF0ZS5wdXNoKGVkaXRvclN0YXRlLCBuZXdDb250ZW50LCAnY2hhbmdlLWlubGluZS1zdHlsZScpO1xuICB9LFxuICB0b2dnbGVMaW5rOiBmdW5jdGlvbiB0b2dnbGVMaW5rKGVkaXRvclN0YXRlLCB0YXJnZXRTZWxlY3Rpb24sIGVudGl0eUtleSkge1xuICAgIHZhciB3aXRob3V0TGluayA9IERyYWZ0TW9kaWZpZXIuYXBwbHlFbnRpdHkoZWRpdG9yU3RhdGUuZ2V0Q3VycmVudENvbnRlbnQoKSwgdGFyZ2V0U2VsZWN0aW9uLCBlbnRpdHlLZXkpO1xuICAgIHJldHVybiBFZGl0b3JTdGF0ZS5wdXNoKGVkaXRvclN0YXRlLCB3aXRob3V0TGluaywgJ2FwcGx5LWVudGl0eScpO1xuICB9LFxuXG4gIC8qKlxuICAgKiBXaGVuIGEgY29sbGFwc2VkIGN1cnNvciBpcyBhdCB0aGUgc3RhcnQgb2YgYSBzdHlsZWQgYmxvY2ssIGNoYW5nZXMgYmxvY2tcbiAgICogdHlwZSB0byAndW5zdHlsZWQnLiBSZXR1cm5zIG51bGwgaWYgc2VsZWN0aW9uIGRvZXMgbm90IG1lZXQgdGhhdCBjcml0ZXJpYS5cbiAgICovXG4gIHRyeVRvUmVtb3ZlQmxvY2tTdHlsZTogZnVuY3Rpb24gdHJ5VG9SZW1vdmVCbG9ja1N0eWxlKGVkaXRvclN0YXRlKSB7XG4gICAgdmFyIHNlbGVjdGlvbiA9IGVkaXRvclN0YXRlLmdldFNlbGVjdGlvbigpO1xuICAgIHZhciBvZmZzZXQgPSBzZWxlY3Rpb24uZ2V0QW5jaG9yT2Zmc2V0KCk7XG5cbiAgICBpZiAoc2VsZWN0aW9uLmlzQ29sbGFwc2VkKCkgJiYgb2Zmc2V0ID09PSAwKSB7XG4gICAgICB2YXIga2V5ID0gc2VsZWN0aW9uLmdldEFuY2hvcktleSgpO1xuICAgICAgdmFyIGNvbnRlbnQgPSBlZGl0b3JTdGF0ZS5nZXRDdXJyZW50Q29udGVudCgpO1xuICAgICAgdmFyIGJsb2NrID0gY29udGVudC5nZXRCbG9ja0ZvcktleShrZXkpO1xuICAgICAgdmFyIHR5cGUgPSBibG9jay5nZXRUeXBlKCk7XG4gICAgICB2YXIgYmxvY2tCZWZvcmUgPSBjb250ZW50LmdldEJsb2NrQmVmb3JlKGtleSk7XG5cbiAgICAgIGlmICh0eXBlID09PSAnY29kZS1ibG9jaycgJiYgYmxvY2tCZWZvcmUgJiYgYmxvY2tCZWZvcmUuZ2V0VHlwZSgpID09PSAnY29kZS1ibG9jaycgJiYgYmxvY2tCZWZvcmUuZ2V0TGVuZ3RoKCkgIT09IDApIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICAgIGlmICh0eXBlICE9PSAndW5zdHlsZWQnKSB7XG4gICAgICAgIHJldHVybiBEcmFmdE1vZGlmaWVyLnNldEJsb2NrVHlwZShjb250ZW50LCBzZWxlY3Rpb24sICd1bnN0eWxlZCcpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9XG59O1xubW9kdWxlLmV4cG9ydHMgPSBSaWNoVGV4dEVkaXRvclV0aWw7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/RichTextEditorUtil.js\n"); /***/ }), @@ -475,7 +558,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule SecondaryClipboard\n * @format\n * \n */\n\n\n\nvar DraftModifier = __webpack_require__(/*! ./DraftModifier */ \"./node_modules/draft-js/lib/DraftModifier.js\");\nvar EditorState = __webpack_require__(/*! ./EditorState */ \"./node_modules/draft-js/lib/EditorState.js\");\n\nvar getContentStateFragment = __webpack_require__(/*! ./getContentStateFragment */ \"./node_modules/draft-js/lib/getContentStateFragment.js\");\nvar nullthrows = __webpack_require__(/*! fbjs/lib/nullthrows */ \"./node_modules/fbjs/lib/nullthrows.js\");\n\nvar clipboard = null;\n\n/**\n * Some systems offer a \"secondary\" clipboard to allow quick internal cut\n * and paste behavior. For instance, Ctrl+K (cut) and Ctrl+Y (paste).\n */\nvar SecondaryClipboard = {\n cut: function cut(editorState) {\n var content = editorState.getCurrentContent();\n var selection = editorState.getSelection();\n var targetRange = null;\n\n if (selection.isCollapsed()) {\n var anchorKey = selection.getAnchorKey();\n var blockEnd = content.getBlockForKey(anchorKey).getLength();\n\n if (blockEnd === selection.getAnchorOffset()) {\n return editorState;\n }\n\n targetRange = selection.set('focusOffset', blockEnd);\n } else {\n targetRange = selection;\n }\n\n targetRange = nullthrows(targetRange);\n clipboard = getContentStateFragment(content, targetRange);\n\n var afterRemoval = DraftModifier.removeRange(content, targetRange, 'forward');\n\n if (afterRemoval === content) {\n return editorState;\n }\n\n return EditorState.push(editorState, afterRemoval, 'remove-range');\n },\n\n paste: function paste(editorState) {\n if (!clipboard) {\n return editorState;\n }\n\n var newContent = DraftModifier.replaceWithFragment(editorState.getCurrentContent(), editorState.getSelection(), clipboard);\n\n return EditorState.push(editorState, newContent, 'insert-fragment');\n }\n};\n\nmodule.exports = SecondaryClipboard;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL1NlY29uZGFyeUNsaXBib2FyZC5qcz81YTRjIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFYTs7QUFFYixvQkFBb0IsbUJBQU8sQ0FBQyxxRUFBaUI7QUFDN0Msa0JBQWtCLG1CQUFPLENBQUMsaUVBQWU7O0FBRXpDLDhCQUE4QixtQkFBTyxDQUFDLHlGQUEyQjtBQUNqRSxpQkFBaUIsbUJBQU8sQ0FBQyxrRUFBcUI7O0FBRTlDOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvU2Vjb25kYXJ5Q2xpcGJvYXJkLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQlNELXN0eWxlIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuIEFuIGFkZGl0aW9uYWwgZ3JhbnRcbiAqIG9mIHBhdGVudCByaWdodHMgY2FuIGJlIGZvdW5kIGluIHRoZSBQQVRFTlRTIGZpbGUgaW4gdGhlIHNhbWUgZGlyZWN0b3J5LlxuICpcbiAqIEBwcm92aWRlc01vZHVsZSBTZWNvbmRhcnlDbGlwYm9hcmRcbiAqIEBmb3JtYXRcbiAqIFxuICovXG5cbid1c2Ugc3RyaWN0JztcblxudmFyIERyYWZ0TW9kaWZpZXIgPSByZXF1aXJlKCcuL0RyYWZ0TW9kaWZpZXInKTtcbnZhciBFZGl0b3JTdGF0ZSA9IHJlcXVpcmUoJy4vRWRpdG9yU3RhdGUnKTtcblxudmFyIGdldENvbnRlbnRTdGF0ZUZyYWdtZW50ID0gcmVxdWlyZSgnLi9nZXRDb250ZW50U3RhdGVGcmFnbWVudCcpO1xudmFyIG51bGx0aHJvd3MgPSByZXF1aXJlKCdmYmpzL2xpYi9udWxsdGhyb3dzJyk7XG5cbnZhciBjbGlwYm9hcmQgPSBudWxsO1xuXG4vKipcbiAqIFNvbWUgc3lzdGVtcyBvZmZlciBhIFwic2Vjb25kYXJ5XCIgY2xpcGJvYXJkIHRvIGFsbG93IHF1aWNrIGludGVybmFsIGN1dFxuICogYW5kIHBhc3RlIGJlaGF2aW9yLiBGb3IgaW5zdGFuY2UsIEN0cmwrSyAoY3V0KSBhbmQgQ3RybCtZIChwYXN0ZSkuXG4gKi9cbnZhciBTZWNvbmRhcnlDbGlwYm9hcmQgPSB7XG4gIGN1dDogZnVuY3Rpb24gY3V0KGVkaXRvclN0YXRlKSB7XG4gICAgdmFyIGNvbnRlbnQgPSBlZGl0b3JTdGF0ZS5nZXRDdXJyZW50Q29udGVudCgpO1xuICAgIHZhciBzZWxlY3Rpb24gPSBlZGl0b3JTdGF0ZS5nZXRTZWxlY3Rpb24oKTtcbiAgICB2YXIgdGFyZ2V0UmFuZ2UgPSBudWxsO1xuXG4gICAgaWYgKHNlbGVjdGlvbi5pc0NvbGxhcHNlZCgpKSB7XG4gICAgICB2YXIgYW5jaG9yS2V5ID0gc2VsZWN0aW9uLmdldEFuY2hvcktleSgpO1xuICAgICAgdmFyIGJsb2NrRW5kID0gY29udGVudC5nZXRCbG9ja0ZvcktleShhbmNob3JLZXkpLmdldExlbmd0aCgpO1xuXG4gICAgICBpZiAoYmxvY2tFbmQgPT09IHNlbGVjdGlvbi5nZXRBbmNob3JPZmZzZXQoKSkge1xuICAgICAgICByZXR1cm4gZWRpdG9yU3RhdGU7XG4gICAgICB9XG5cbiAgICAgIHRhcmdldFJhbmdlID0gc2VsZWN0aW9uLnNldCgnZm9jdXNPZmZzZXQnLCBibG9ja0VuZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRhcmdldFJhbmdlID0gc2VsZWN0aW9uO1xuICAgIH1cblxuICAgIHRhcmdldFJhbmdlID0gbnVsbHRocm93cyh0YXJnZXRSYW5nZSk7XG4gICAgY2xpcGJvYXJkID0gZ2V0Q29udGVudFN0YXRlRnJhZ21lbnQoY29udGVudCwgdGFyZ2V0UmFuZ2UpO1xuXG4gICAgdmFyIGFmdGVyUmVtb3ZhbCA9IERyYWZ0TW9kaWZpZXIucmVtb3ZlUmFuZ2UoY29udGVudCwgdGFyZ2V0UmFuZ2UsICdmb3J3YXJkJyk7XG5cbiAgICBpZiAoYWZ0ZXJSZW1vdmFsID09PSBjb250ZW50KSB7XG4gICAgICByZXR1cm4gZWRpdG9yU3RhdGU7XG4gICAgfVxuXG4gICAgcmV0dXJuIEVkaXRvclN0YXRlLnB1c2goZWRpdG9yU3RhdGUsIGFmdGVyUmVtb3ZhbCwgJ3JlbW92ZS1yYW5nZScpO1xuICB9LFxuXG4gIHBhc3RlOiBmdW5jdGlvbiBwYXN0ZShlZGl0b3JTdGF0ZSkge1xuICAgIGlmICghY2xpcGJvYXJkKSB7XG4gICAgICByZXR1cm4gZWRpdG9yU3RhdGU7XG4gICAgfVxuXG4gICAgdmFyIG5ld0NvbnRlbnQgPSBEcmFmdE1vZGlmaWVyLnJlcGxhY2VXaXRoRnJhZ21lbnQoZWRpdG9yU3RhdGUuZ2V0Q3VycmVudENvbnRlbnQoKSwgZWRpdG9yU3RhdGUuZ2V0U2VsZWN0aW9uKCksIGNsaXBib2FyZCk7XG5cbiAgICByZXR1cm4gRWRpdG9yU3RhdGUucHVzaChlZGl0b3JTdGF0ZSwgbmV3Q29udGVudCwgJ2luc2VydC1mcmFnbWVudCcpO1xuICB9XG59O1xuXG5tb2R1bGUuZXhwb3J0cyA9IFNlY29uZGFyeUNsaXBib2FyZDsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/SecondaryClipboard.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nvar DraftModifier = __webpack_require__(/*! ./DraftModifier */ \"./node_modules/draft-js/lib/DraftModifier.js\");\n\nvar EditorState = __webpack_require__(/*! ./EditorState */ \"./node_modules/draft-js/lib/EditorState.js\");\n\nvar getContentStateFragment = __webpack_require__(/*! ./getContentStateFragment */ \"./node_modules/draft-js/lib/getContentStateFragment.js\");\n\nvar nullthrows = __webpack_require__(/*! fbjs/lib/nullthrows */ \"./node_modules/fbjs/lib/nullthrows.js\");\n\nvar clipboard = null;\n/**\n * Some systems offer a \"secondary\" clipboard to allow quick internal cut\n * and paste behavior. For instance, Ctrl+K (cut) and Ctrl+Y (paste).\n */\n\nvar SecondaryClipboard = {\n cut: function cut(editorState) {\n var content = editorState.getCurrentContent();\n var selection = editorState.getSelection();\n var targetRange = null;\n\n if (selection.isCollapsed()) {\n var anchorKey = selection.getAnchorKey();\n var blockEnd = content.getBlockForKey(anchorKey).getLength();\n\n if (blockEnd === selection.getAnchorOffset()) {\n var keyAfter = content.getKeyAfter(anchorKey);\n\n if (keyAfter == null) {\n return editorState;\n }\n\n targetRange = selection.set('focusKey', keyAfter).set('focusOffset', 0);\n } else {\n targetRange = selection.set('focusOffset', blockEnd);\n }\n } else {\n targetRange = selection;\n }\n\n targetRange = nullthrows(targetRange); // TODO: This should actually append to the current state when doing\n // successive ^K commands without any other cursor movement\n\n clipboard = getContentStateFragment(content, targetRange);\n var afterRemoval = DraftModifier.removeRange(content, targetRange, 'forward');\n\n if (afterRemoval === content) {\n return editorState;\n }\n\n return EditorState.push(editorState, afterRemoval, 'remove-range');\n },\n paste: function paste(editorState) {\n if (!clipboard) {\n return editorState;\n }\n\n var newContent = DraftModifier.replaceWithFragment(editorState.getCurrentContent(), editorState.getSelection(), clipboard);\n return EditorState.push(editorState, newContent, 'insert-fragment');\n }\n};\nmodule.exports = SecondaryClipboard;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL1NlY29uZGFyeUNsaXBib2FyZC5qcz81YTRjIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ2E7O0FBRWIsb0JBQW9CLG1CQUFPLENBQUMscUVBQWlCOztBQUU3QyxrQkFBa0IsbUJBQU8sQ0FBQyxpRUFBZTs7QUFFekMsOEJBQThCLG1CQUFPLENBQUMseUZBQTJCOztBQUVqRSxpQkFBaUIsbUJBQU8sQ0FBQyxrRUFBcUI7O0FBRTlDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBLDBDQUEwQztBQUMxQzs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2RyYWZ0LWpzL2xpYi9TZWNvbmRhcnlDbGlwYm9hcmQuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgRmFjZWJvb2ssIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIEBmb3JtYXRcbiAqIFxuICogQGVtYWlscyBvbmNhbGwrZHJhZnRfanNcbiAqL1xuJ3VzZSBzdHJpY3QnO1xuXG52YXIgRHJhZnRNb2RpZmllciA9IHJlcXVpcmUoXCIuL0RyYWZ0TW9kaWZpZXJcIik7XG5cbnZhciBFZGl0b3JTdGF0ZSA9IHJlcXVpcmUoXCIuL0VkaXRvclN0YXRlXCIpO1xuXG52YXIgZ2V0Q29udGVudFN0YXRlRnJhZ21lbnQgPSByZXF1aXJlKFwiLi9nZXRDb250ZW50U3RhdGVGcmFnbWVudFwiKTtcblxudmFyIG51bGx0aHJvd3MgPSByZXF1aXJlKFwiZmJqcy9saWIvbnVsbHRocm93c1wiKTtcblxudmFyIGNsaXBib2FyZCA9IG51bGw7XG4vKipcbiAqIFNvbWUgc3lzdGVtcyBvZmZlciBhIFwic2Vjb25kYXJ5XCIgY2xpcGJvYXJkIHRvIGFsbG93IHF1aWNrIGludGVybmFsIGN1dFxuICogYW5kIHBhc3RlIGJlaGF2aW9yLiBGb3IgaW5zdGFuY2UsIEN0cmwrSyAoY3V0KSBhbmQgQ3RybCtZIChwYXN0ZSkuXG4gKi9cblxudmFyIFNlY29uZGFyeUNsaXBib2FyZCA9IHtcbiAgY3V0OiBmdW5jdGlvbiBjdXQoZWRpdG9yU3RhdGUpIHtcbiAgICB2YXIgY29udGVudCA9IGVkaXRvclN0YXRlLmdldEN1cnJlbnRDb250ZW50KCk7XG4gICAgdmFyIHNlbGVjdGlvbiA9IGVkaXRvclN0YXRlLmdldFNlbGVjdGlvbigpO1xuICAgIHZhciB0YXJnZXRSYW5nZSA9IG51bGw7XG5cbiAgICBpZiAoc2VsZWN0aW9uLmlzQ29sbGFwc2VkKCkpIHtcbiAgICAgIHZhciBhbmNob3JLZXkgPSBzZWxlY3Rpb24uZ2V0QW5jaG9yS2V5KCk7XG4gICAgICB2YXIgYmxvY2tFbmQgPSBjb250ZW50LmdldEJsb2NrRm9yS2V5KGFuY2hvcktleSkuZ2V0TGVuZ3RoKCk7XG5cbiAgICAgIGlmIChibG9ja0VuZCA9PT0gc2VsZWN0aW9uLmdldEFuY2hvck9mZnNldCgpKSB7XG4gICAgICAgIHZhciBrZXlBZnRlciA9IGNvbnRlbnQuZ2V0S2V5QWZ0ZXIoYW5jaG9yS2V5KTtcblxuICAgICAgICBpZiAoa2V5QWZ0ZXIgPT0gbnVsbCkge1xuICAgICAgICAgIHJldHVybiBlZGl0b3JTdGF0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRhcmdldFJhbmdlID0gc2VsZWN0aW9uLnNldCgnZm9jdXNLZXknLCBrZXlBZnRlcikuc2V0KCdmb2N1c09mZnNldCcsIDApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGFyZ2V0UmFuZ2UgPSBzZWxlY3Rpb24uc2V0KCdmb2N1c09mZnNldCcsIGJsb2NrRW5kKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGFyZ2V0UmFuZ2UgPSBzZWxlY3Rpb247XG4gICAgfVxuXG4gICAgdGFyZ2V0UmFuZ2UgPSBudWxsdGhyb3dzKHRhcmdldFJhbmdlKTsgLy8gVE9ETzogVGhpcyBzaG91bGQgYWN0dWFsbHkgYXBwZW5kIHRvIHRoZSBjdXJyZW50IHN0YXRlIHdoZW4gZG9pbmdcbiAgICAvLyBzdWNjZXNzaXZlIF5LIGNvbW1hbmRzIHdpdGhvdXQgYW55IG90aGVyIGN1cnNvciBtb3ZlbWVudFxuXG4gICAgY2xpcGJvYXJkID0gZ2V0Q29udGVudFN0YXRlRnJhZ21lbnQoY29udGVudCwgdGFyZ2V0UmFuZ2UpO1xuICAgIHZhciBhZnRlclJlbW92YWwgPSBEcmFmdE1vZGlmaWVyLnJlbW92ZVJhbmdlKGNvbnRlbnQsIHRhcmdldFJhbmdlLCAnZm9yd2FyZCcpO1xuXG4gICAgaWYgKGFmdGVyUmVtb3ZhbCA9PT0gY29udGVudCkge1xuICAgICAgcmV0dXJuIGVkaXRvclN0YXRlO1xuICAgIH1cblxuICAgIHJldHVybiBFZGl0b3JTdGF0ZS5wdXNoKGVkaXRvclN0YXRlLCBhZnRlclJlbW92YWwsICdyZW1vdmUtcmFuZ2UnKTtcbiAgfSxcbiAgcGFzdGU6IGZ1bmN0aW9uIHBhc3RlKGVkaXRvclN0YXRlKSB7XG4gICAgaWYgKCFjbGlwYm9hcmQpIHtcbiAgICAgIHJldHVybiBlZGl0b3JTdGF0ZTtcbiAgICB9XG5cbiAgICB2YXIgbmV3Q29udGVudCA9IERyYWZ0TW9kaWZpZXIucmVwbGFjZVdpdGhGcmFnbWVudChlZGl0b3JTdGF0ZS5nZXRDdXJyZW50Q29udGVudCgpLCBlZGl0b3JTdGF0ZS5nZXRTZWxlY3Rpb24oKSwgY2xpcGJvYXJkKTtcbiAgICByZXR1cm4gRWRpdG9yU3RhdGUucHVzaChlZGl0b3JTdGF0ZSwgbmV3Q29udGVudCwgJ2luc2VydC1mcmFnbWVudCcpO1xuICB9XG59O1xubW9kdWxlLmV4cG9ydHMgPSBTZWNvbmRhcnlDbGlwYm9hcmQ7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/SecondaryClipboard.js\n"); /***/ }), @@ -487,7 +570,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule SelectionState\n * @format\n * \n */\n\n\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Immutable = __webpack_require__(/*! immutable */ \"./node_modules/draft-js/node_modules/immutable/dist/immutable.js\");\n\nvar Record = Immutable.Record;\n\n\nvar defaultRecord = {\n anchorKey: '',\n anchorOffset: 0,\n focusKey: '',\n focusOffset: 0,\n isBackward: false,\n hasFocus: false\n};\n\nvar SelectionStateRecord = Record(defaultRecord);\n\nvar SelectionState = function (_SelectionStateRecord) {\n _inherits(SelectionState, _SelectionStateRecord);\n\n function SelectionState() {\n _classCallCheck(this, SelectionState);\n\n return _possibleConstructorReturn(this, _SelectionStateRecord.apply(this, arguments));\n }\n\n SelectionState.prototype.serialize = function serialize() {\n return 'Anchor: ' + this.getAnchorKey() + ':' + this.getAnchorOffset() + ', ' + 'Focus: ' + this.getFocusKey() + ':' + this.getFocusOffset() + ', ' + 'Is Backward: ' + String(this.getIsBackward()) + ', ' + 'Has Focus: ' + String(this.getHasFocus());\n };\n\n SelectionState.prototype.getAnchorKey = function getAnchorKey() {\n return this.get('anchorKey');\n };\n\n SelectionState.prototype.getAnchorOffset = function getAnchorOffset() {\n return this.get('anchorOffset');\n };\n\n SelectionState.prototype.getFocusKey = function getFocusKey() {\n return this.get('focusKey');\n };\n\n SelectionState.prototype.getFocusOffset = function getFocusOffset() {\n return this.get('focusOffset');\n };\n\n SelectionState.prototype.getIsBackward = function getIsBackward() {\n return this.get('isBackward');\n };\n\n SelectionState.prototype.getHasFocus = function getHasFocus() {\n return this.get('hasFocus');\n };\n\n /**\n * Return whether the specified range overlaps with an edge of the\n * SelectionState.\n */\n\n\n SelectionState.prototype.hasEdgeWithin = function hasEdgeWithin(blockKey, start, end) {\n var anchorKey = this.getAnchorKey();\n var focusKey = this.getFocusKey();\n\n if (anchorKey === focusKey && anchorKey === blockKey) {\n var selectionStart = this.getStartOffset();\n var selectionEnd = this.getEndOffset();\n return start <= selectionEnd && selectionStart <= end;\n }\n\n if (blockKey !== anchorKey && blockKey !== focusKey) {\n return false;\n }\n\n var offsetToCheck = blockKey === anchorKey ? this.getAnchorOffset() : this.getFocusOffset();\n\n return start <= offsetToCheck && end >= offsetToCheck;\n };\n\n SelectionState.prototype.isCollapsed = function isCollapsed() {\n return this.getAnchorKey() === this.getFocusKey() && this.getAnchorOffset() === this.getFocusOffset();\n };\n\n SelectionState.prototype.getStartKey = function getStartKey() {\n return this.getIsBackward() ? this.getFocusKey() : this.getAnchorKey();\n };\n\n SelectionState.prototype.getStartOffset = function getStartOffset() {\n return this.getIsBackward() ? this.getFocusOffset() : this.getAnchorOffset();\n };\n\n SelectionState.prototype.getEndKey = function getEndKey() {\n return this.getIsBackward() ? this.getAnchorKey() : this.getFocusKey();\n };\n\n SelectionState.prototype.getEndOffset = function getEndOffset() {\n return this.getIsBackward() ? this.getAnchorOffset() : this.getFocusOffset();\n };\n\n SelectionState.createEmpty = function createEmpty(key) {\n return new SelectionState({\n anchorKey: key,\n anchorOffset: 0,\n focusKey: key,\n focusOffset: 0,\n isBackward: false,\n hasFocus: false\n });\n };\n\n return SelectionState;\n}(SelectionStateRecord);\n\nmodule.exports = SelectionState;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL1NlbGVjdGlvblN0YXRlLmpzPzg0Y2EiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVhOztBQUViLGlEQUFpRCwwQ0FBMEMsMERBQTBELEVBQUU7O0FBRXZKLGlEQUFpRCxhQUFhLHVGQUF1RixFQUFFLHVGQUF1Rjs7QUFFOU8sMENBQTBDLCtEQUErRCxxR0FBcUcsRUFBRSx5RUFBeUUsZUFBZSx5RUFBeUUsRUFBRSxFQUFFLHVIQUF1SDs7QUFFNWUsZ0JBQWdCLG1CQUFPLENBQUMsbUZBQVc7O0FBRW5DOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0EsQ0FBQzs7QUFFRCIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvU2VsZWN0aW9uU3RhdGUuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxMy1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuICogQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBCU0Qtc3R5bGUgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS4gQW4gYWRkaXRpb25hbCBncmFudFxuICogb2YgcGF0ZW50IHJpZ2h0cyBjYW4gYmUgZm91bmQgaW4gdGhlIFBBVEVOVFMgZmlsZSBpbiB0aGUgc2FtZSBkaXJlY3RvcnkuXG4gKlxuICogQHByb3ZpZGVzTW9kdWxlIFNlbGVjdGlvblN0YXRlXG4gKiBAZm9ybWF0XG4gKiBcbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbmZ1bmN0aW9uIF9jbGFzc0NhbGxDaGVjayhpbnN0YW5jZSwgQ29uc3RydWN0b3IpIHsgaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBDb25zdHJ1Y3RvcikpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKTsgfSB9XG5cbmZ1bmN0aW9uIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHNlbGYsIGNhbGwpIHsgaWYgKCFzZWxmKSB7IHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcihcInRoaXMgaGFzbid0IGJlZW4gaW5pdGlhbGlzZWQgLSBzdXBlcigpIGhhc24ndCBiZWVuIGNhbGxlZFwiKTsgfSByZXR1cm4gY2FsbCAmJiAodHlwZW9mIGNhbGwgPT09IFwib2JqZWN0XCIgfHwgdHlwZW9mIGNhbGwgPT09IFwiZnVuY3Rpb25cIikgPyBjYWxsIDogc2VsZjsgfVxuXG5mdW5jdGlvbiBfaW5oZXJpdHMoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpIHsgaWYgKHR5cGVvZiBzdXBlckNsYXNzICE9PSBcImZ1bmN0aW9uXCIgJiYgc3VwZXJDbGFzcyAhPT0gbnVsbCkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3VwZXIgZXhwcmVzc2lvbiBtdXN0IGVpdGhlciBiZSBudWxsIG9yIGEgZnVuY3Rpb24sIG5vdCBcIiArIHR5cGVvZiBzdXBlckNsYXNzKTsgfSBzdWJDbGFzcy5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKHN1cGVyQ2xhc3MgJiYgc3VwZXJDbGFzcy5wcm90b3R5cGUsIHsgY29uc3RydWN0b3I6IHsgdmFsdWU6IHN1YkNsYXNzLCBlbnVtZXJhYmxlOiBmYWxzZSwgd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9IH0pOyBpZiAoc3VwZXJDbGFzcykgT2JqZWN0LnNldFByb3RvdHlwZU9mID8gT2JqZWN0LnNldFByb3RvdHlwZU9mKHN1YkNsYXNzLCBzdXBlckNsYXNzKSA6IHN1YkNsYXNzLl9fcHJvdG9fXyA9IHN1cGVyQ2xhc3M7IH1cblxudmFyIEltbXV0YWJsZSA9IHJlcXVpcmUoJ2ltbXV0YWJsZScpO1xuXG52YXIgUmVjb3JkID0gSW1tdXRhYmxlLlJlY29yZDtcblxuXG52YXIgZGVmYXVsdFJlY29yZCA9IHtcbiAgYW5jaG9yS2V5OiAnJyxcbiAgYW5jaG9yT2Zmc2V0OiAwLFxuICBmb2N1c0tleTogJycsXG4gIGZvY3VzT2Zmc2V0OiAwLFxuICBpc0JhY2t3YXJkOiBmYWxzZSxcbiAgaGFzRm9jdXM6IGZhbHNlXG59O1xuXG52YXIgU2VsZWN0aW9uU3RhdGVSZWNvcmQgPSBSZWNvcmQoZGVmYXVsdFJlY29yZCk7XG5cbnZhciBTZWxlY3Rpb25TdGF0ZSA9IGZ1bmN0aW9uIChfU2VsZWN0aW9uU3RhdGVSZWNvcmQpIHtcbiAgX2luaGVyaXRzKFNlbGVjdGlvblN0YXRlLCBfU2VsZWN0aW9uU3RhdGVSZWNvcmQpO1xuXG4gIGZ1bmN0aW9uIFNlbGVjdGlvblN0YXRlKCkge1xuICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBTZWxlY3Rpb25TdGF0ZSk7XG5cbiAgICByZXR1cm4gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4odGhpcywgX1NlbGVjdGlvblN0YXRlUmVjb3JkLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykpO1xuICB9XG5cbiAgU2VsZWN0aW9uU3RhdGUucHJvdG90eXBlLnNlcmlhbGl6ZSA9IGZ1bmN0aW9uIHNlcmlhbGl6ZSgpIHtcbiAgICByZXR1cm4gJ0FuY2hvcjogJyArIHRoaXMuZ2V0QW5jaG9yS2V5KCkgKyAnOicgKyB0aGlzLmdldEFuY2hvck9mZnNldCgpICsgJywgJyArICdGb2N1czogJyArIHRoaXMuZ2V0Rm9jdXNLZXkoKSArICc6JyArIHRoaXMuZ2V0Rm9jdXNPZmZzZXQoKSArICcsICcgKyAnSXMgQmFja3dhcmQ6ICcgKyBTdHJpbmcodGhpcy5nZXRJc0JhY2t3YXJkKCkpICsgJywgJyArICdIYXMgRm9jdXM6ICcgKyBTdHJpbmcodGhpcy5nZXRIYXNGb2N1cygpKTtcbiAgfTtcblxuICBTZWxlY3Rpb25TdGF0ZS5wcm90b3R5cGUuZ2V0QW5jaG9yS2V5ID0gZnVuY3Rpb24gZ2V0QW5jaG9yS2V5KCkge1xuICAgIHJldHVybiB0aGlzLmdldCgnYW5jaG9yS2V5Jyk7XG4gIH07XG5cbiAgU2VsZWN0aW9uU3RhdGUucHJvdG90eXBlLmdldEFuY2hvck9mZnNldCA9IGZ1bmN0aW9uIGdldEFuY2hvck9mZnNldCgpIHtcbiAgICByZXR1cm4gdGhpcy5nZXQoJ2FuY2hvck9mZnNldCcpO1xuICB9O1xuXG4gIFNlbGVjdGlvblN0YXRlLnByb3RvdHlwZS5nZXRGb2N1c0tleSA9IGZ1bmN0aW9uIGdldEZvY3VzS2V5KCkge1xuICAgIHJldHVybiB0aGlzLmdldCgnZm9jdXNLZXknKTtcbiAgfTtcblxuICBTZWxlY3Rpb25TdGF0ZS5wcm90b3R5cGUuZ2V0Rm9jdXNPZmZzZXQgPSBmdW5jdGlvbiBnZXRGb2N1c09mZnNldCgpIHtcbiAgICByZXR1cm4gdGhpcy5nZXQoJ2ZvY3VzT2Zmc2V0Jyk7XG4gIH07XG5cbiAgU2VsZWN0aW9uU3RhdGUucHJvdG90eXBlLmdldElzQmFja3dhcmQgPSBmdW5jdGlvbiBnZXRJc0JhY2t3YXJkKCkge1xuICAgIHJldHVybiB0aGlzLmdldCgnaXNCYWNrd2FyZCcpO1xuICB9O1xuXG4gIFNlbGVjdGlvblN0YXRlLnByb3RvdHlwZS5nZXRIYXNGb2N1cyA9IGZ1bmN0aW9uIGdldEhhc0ZvY3VzKCkge1xuICAgIHJldHVybiB0aGlzLmdldCgnaGFzRm9jdXMnKTtcbiAgfTtcblxuICAvKipcbiAgICogUmV0dXJuIHdoZXRoZXIgdGhlIHNwZWNpZmllZCByYW5nZSBvdmVybGFwcyB3aXRoIGFuIGVkZ2Ugb2YgdGhlXG4gICAqIFNlbGVjdGlvblN0YXRlLlxuICAgKi9cblxuXG4gIFNlbGVjdGlvblN0YXRlLnByb3RvdHlwZS5oYXNFZGdlV2l0aGluID0gZnVuY3Rpb24gaGFzRWRnZVdpdGhpbihibG9ja0tleSwgc3RhcnQsIGVuZCkge1xuICAgIHZhciBhbmNob3JLZXkgPSB0aGlzLmdldEFuY2hvcktleSgpO1xuICAgIHZhciBmb2N1c0tleSA9IHRoaXMuZ2V0Rm9jdXNLZXkoKTtcblxuICAgIGlmIChhbmNob3JLZXkgPT09IGZvY3VzS2V5ICYmIGFuY2hvcktleSA9PT0gYmxvY2tLZXkpIHtcbiAgICAgIHZhciBzZWxlY3Rpb25TdGFydCA9IHRoaXMuZ2V0U3RhcnRPZmZzZXQoKTtcbiAgICAgIHZhciBzZWxlY3Rpb25FbmQgPSB0aGlzLmdldEVuZE9mZnNldCgpO1xuICAgICAgcmV0dXJuIHN0YXJ0IDw9IHNlbGVjdGlvbkVuZCAmJiBzZWxlY3Rpb25TdGFydCA8PSBlbmQ7XG4gICAgfVxuXG4gICAgaWYgKGJsb2NrS2V5ICE9PSBhbmNob3JLZXkgJiYgYmxvY2tLZXkgIT09IGZvY3VzS2V5KSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgdmFyIG9mZnNldFRvQ2hlY2sgPSBibG9ja0tleSA9PT0gYW5jaG9yS2V5ID8gdGhpcy5nZXRBbmNob3JPZmZzZXQoKSA6IHRoaXMuZ2V0Rm9jdXNPZmZzZXQoKTtcblxuICAgIHJldHVybiBzdGFydCA8PSBvZmZzZXRUb0NoZWNrICYmIGVuZCA+PSBvZmZzZXRUb0NoZWNrO1xuICB9O1xuXG4gIFNlbGVjdGlvblN0YXRlLnByb3RvdHlwZS5pc0NvbGxhcHNlZCA9IGZ1bmN0aW9uIGlzQ29sbGFwc2VkKCkge1xuICAgIHJldHVybiB0aGlzLmdldEFuY2hvcktleSgpID09PSB0aGlzLmdldEZvY3VzS2V5KCkgJiYgdGhpcy5nZXRBbmNob3JPZmZzZXQoKSA9PT0gdGhpcy5nZXRGb2N1c09mZnNldCgpO1xuICB9O1xuXG4gIFNlbGVjdGlvblN0YXRlLnByb3RvdHlwZS5nZXRTdGFydEtleSA9IGZ1bmN0aW9uIGdldFN0YXJ0S2V5KCkge1xuICAgIHJldHVybiB0aGlzLmdldElzQmFja3dhcmQoKSA/IHRoaXMuZ2V0Rm9jdXNLZXkoKSA6IHRoaXMuZ2V0QW5jaG9yS2V5KCk7XG4gIH07XG5cbiAgU2VsZWN0aW9uU3RhdGUucHJvdG90eXBlLmdldFN0YXJ0T2Zmc2V0ID0gZnVuY3Rpb24gZ2V0U3RhcnRPZmZzZXQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0SXNCYWNrd2FyZCgpID8gdGhpcy5nZXRGb2N1c09mZnNldCgpIDogdGhpcy5nZXRBbmNob3JPZmZzZXQoKTtcbiAgfTtcblxuICBTZWxlY3Rpb25TdGF0ZS5wcm90b3R5cGUuZ2V0RW5kS2V5ID0gZnVuY3Rpb24gZ2V0RW5kS2V5KCkge1xuICAgIHJldHVybiB0aGlzLmdldElzQmFja3dhcmQoKSA/IHRoaXMuZ2V0QW5jaG9yS2V5KCkgOiB0aGlzLmdldEZvY3VzS2V5KCk7XG4gIH07XG5cbiAgU2VsZWN0aW9uU3RhdGUucHJvdG90eXBlLmdldEVuZE9mZnNldCA9IGZ1bmN0aW9uIGdldEVuZE9mZnNldCgpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRJc0JhY2t3YXJkKCkgPyB0aGlzLmdldEFuY2hvck9mZnNldCgpIDogdGhpcy5nZXRGb2N1c09mZnNldCgpO1xuICB9O1xuXG4gIFNlbGVjdGlvblN0YXRlLmNyZWF0ZUVtcHR5ID0gZnVuY3Rpb24gY3JlYXRlRW1wdHkoa2V5KSB7XG4gICAgcmV0dXJuIG5ldyBTZWxlY3Rpb25TdGF0ZSh7XG4gICAgICBhbmNob3JLZXk6IGtleSxcbiAgICAgIGFuY2hvck9mZnNldDogMCxcbiAgICAgIGZvY3VzS2V5OiBrZXksXG4gICAgICBmb2N1c09mZnNldDogMCxcbiAgICAgIGlzQmFja3dhcmQ6IGZhbHNlLFxuICAgICAgaGFzRm9jdXM6IGZhbHNlXG4gICAgfSk7XG4gIH07XG5cbiAgcmV0dXJuIFNlbGVjdGlvblN0YXRlO1xufShTZWxlY3Rpb25TdGF0ZVJlY29yZCk7XG5cbm1vZHVsZS5leHBvcnRzID0gU2VsZWN0aW9uU3RhdGU7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/SelectionState.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar Immutable = __webpack_require__(/*! immutable */ \"./node_modules/draft-js/node_modules/immutable/dist/immutable.js\");\n\nvar Record = Immutable.Record;\nvar defaultRecord = {\n anchorKey: '',\n anchorOffset: 0,\n focusKey: '',\n focusOffset: 0,\n isBackward: false,\n hasFocus: false\n};\n/* $FlowFixMe This comment suppresses an error found when automatically adding\n * a type annotation with the codemod Komodo/Annotate_exports. To see the error\n * delete this comment and run Flow. */\n\nvar SelectionStateRecord = Record(defaultRecord);\n\nvar SelectionState =\n/*#__PURE__*/\nfunction (_SelectionStateRecord) {\n _inheritsLoose(SelectionState, _SelectionStateRecord);\n\n function SelectionState() {\n return _SelectionStateRecord.apply(this, arguments) || this;\n }\n\n var _proto = SelectionState.prototype;\n\n _proto.serialize = function serialize() {\n return 'Anchor: ' + this.getAnchorKey() + ':' + this.getAnchorOffset() + ', ' + 'Focus: ' + this.getFocusKey() + ':' + this.getFocusOffset() + ', ' + 'Is Backward: ' + String(this.getIsBackward()) + ', ' + 'Has Focus: ' + String(this.getHasFocus());\n };\n\n _proto.getAnchorKey = function getAnchorKey() {\n return this.get('anchorKey');\n };\n\n _proto.getAnchorOffset = function getAnchorOffset() {\n return this.get('anchorOffset');\n };\n\n _proto.getFocusKey = function getFocusKey() {\n return this.get('focusKey');\n };\n\n _proto.getFocusOffset = function getFocusOffset() {\n return this.get('focusOffset');\n };\n\n _proto.getIsBackward = function getIsBackward() {\n return this.get('isBackward');\n };\n\n _proto.getHasFocus = function getHasFocus() {\n return this.get('hasFocus');\n }\n /**\n * Return whether the specified range overlaps with an edge of the\n * SelectionState.\n */\n ;\n\n _proto.hasEdgeWithin = function hasEdgeWithin(blockKey, start, end) {\n var anchorKey = this.getAnchorKey();\n var focusKey = this.getFocusKey();\n\n if (anchorKey === focusKey && anchorKey === blockKey) {\n var selectionStart = this.getStartOffset();\n var selectionEnd = this.getEndOffset();\n return start <= selectionStart && selectionStart <= end || // selectionStart is between start and end, or\n start <= selectionEnd && selectionEnd <= end // selectionEnd is between start and end\n ;\n }\n\n if (blockKey !== anchorKey && blockKey !== focusKey) {\n return false;\n }\n\n var offsetToCheck = blockKey === anchorKey ? this.getAnchorOffset() : this.getFocusOffset();\n return start <= offsetToCheck && end >= offsetToCheck;\n };\n\n _proto.isCollapsed = function isCollapsed() {\n return this.getAnchorKey() === this.getFocusKey() && this.getAnchorOffset() === this.getFocusOffset();\n };\n\n _proto.getStartKey = function getStartKey() {\n return this.getIsBackward() ? this.getFocusKey() : this.getAnchorKey();\n };\n\n _proto.getStartOffset = function getStartOffset() {\n return this.getIsBackward() ? this.getFocusOffset() : this.getAnchorOffset();\n };\n\n _proto.getEndKey = function getEndKey() {\n return this.getIsBackward() ? this.getAnchorKey() : this.getFocusKey();\n };\n\n _proto.getEndOffset = function getEndOffset() {\n return this.getIsBackward() ? this.getAnchorOffset() : this.getFocusOffset();\n };\n\n SelectionState.createEmpty = function createEmpty(key) {\n return new SelectionState({\n anchorKey: key,\n anchorOffset: 0,\n focusKey: key,\n focusOffset: 0,\n isBackward: false,\n hasFocus: false\n });\n };\n\n return SelectionState;\n}(SelectionStateRecord);\n\nmodule.exports = SelectionState;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL1NlbGVjdGlvblN0YXRlLmpzPzg0Y2EiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDYTs7QUFFYiwrQ0FBK0MsMERBQTBELDJDQUEyQyxpQ0FBaUM7O0FBRXJMLGdCQUFnQixtQkFBTyxDQUFDLG1GQUFXOztBQUVuQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0EsQ0FBQzs7QUFFRCIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvU2VsZWN0aW9uU3RhdGUuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgRmFjZWJvb2ssIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIEBmb3JtYXRcbiAqIFxuICogQGVtYWlscyBvbmNhbGwrZHJhZnRfanNcbiAqL1xuJ3VzZSBzdHJpY3QnO1xuXG5mdW5jdGlvbiBfaW5oZXJpdHNMb29zZShzdWJDbGFzcywgc3VwZXJDbGFzcykgeyBzdWJDbGFzcy5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKHN1cGVyQ2xhc3MucHJvdG90eXBlKTsgc3ViQ2xhc3MucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gc3ViQ2xhc3M7IHN1YkNsYXNzLl9fcHJvdG9fXyA9IHN1cGVyQ2xhc3M7IH1cblxudmFyIEltbXV0YWJsZSA9IHJlcXVpcmUoXCJpbW11dGFibGVcIik7XG5cbnZhciBSZWNvcmQgPSBJbW11dGFibGUuUmVjb3JkO1xudmFyIGRlZmF1bHRSZWNvcmQgPSB7XG4gIGFuY2hvcktleTogJycsXG4gIGFuY2hvck9mZnNldDogMCxcbiAgZm9jdXNLZXk6ICcnLFxuICBmb2N1c09mZnNldDogMCxcbiAgaXNCYWNrd2FyZDogZmFsc2UsXG4gIGhhc0ZvY3VzOiBmYWxzZVxufTtcbi8qICRGbG93Rml4TWUgVGhpcyBjb21tZW50IHN1cHByZXNzZXMgYW4gZXJyb3IgZm91bmQgd2hlbiBhdXRvbWF0aWNhbGx5IGFkZGluZ1xuICogYSB0eXBlIGFubm90YXRpb24gd2l0aCB0aGUgY29kZW1vZCBLb21vZG8vQW5ub3RhdGVfZXhwb3J0cy4gVG8gc2VlIHRoZSBlcnJvclxuICogZGVsZXRlIHRoaXMgY29tbWVudCBhbmQgcnVuIEZsb3cuICovXG5cbnZhciBTZWxlY3Rpb25TdGF0ZVJlY29yZCA9IFJlY29yZChkZWZhdWx0UmVjb3JkKTtcblxudmFyIFNlbGVjdGlvblN0YXRlID1cbi8qI19fUFVSRV9fKi9cbmZ1bmN0aW9uIChfU2VsZWN0aW9uU3RhdGVSZWNvcmQpIHtcbiAgX2luaGVyaXRzTG9vc2UoU2VsZWN0aW9uU3RhdGUsIF9TZWxlY3Rpb25TdGF0ZVJlY29yZCk7XG5cbiAgZnVuY3Rpb24gU2VsZWN0aW9uU3RhdGUoKSB7XG4gICAgcmV0dXJuIF9TZWxlY3Rpb25TdGF0ZVJlY29yZC5hcHBseSh0aGlzLCBhcmd1bWVudHMpIHx8IHRoaXM7XG4gIH1cblxuICB2YXIgX3Byb3RvID0gU2VsZWN0aW9uU3RhdGUucHJvdG90eXBlO1xuXG4gIF9wcm90by5zZXJpYWxpemUgPSBmdW5jdGlvbiBzZXJpYWxpemUoKSB7XG4gICAgcmV0dXJuICdBbmNob3I6ICcgKyB0aGlzLmdldEFuY2hvcktleSgpICsgJzonICsgdGhpcy5nZXRBbmNob3JPZmZzZXQoKSArICcsICcgKyAnRm9jdXM6ICcgKyB0aGlzLmdldEZvY3VzS2V5KCkgKyAnOicgKyB0aGlzLmdldEZvY3VzT2Zmc2V0KCkgKyAnLCAnICsgJ0lzIEJhY2t3YXJkOiAnICsgU3RyaW5nKHRoaXMuZ2V0SXNCYWNrd2FyZCgpKSArICcsICcgKyAnSGFzIEZvY3VzOiAnICsgU3RyaW5nKHRoaXMuZ2V0SGFzRm9jdXMoKSk7XG4gIH07XG5cbiAgX3Byb3RvLmdldEFuY2hvcktleSA9IGZ1bmN0aW9uIGdldEFuY2hvcktleSgpIHtcbiAgICByZXR1cm4gdGhpcy5nZXQoJ2FuY2hvcktleScpO1xuICB9O1xuXG4gIF9wcm90by5nZXRBbmNob3JPZmZzZXQgPSBmdW5jdGlvbiBnZXRBbmNob3JPZmZzZXQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KCdhbmNob3JPZmZzZXQnKTtcbiAgfTtcblxuICBfcHJvdG8uZ2V0Rm9jdXNLZXkgPSBmdW5jdGlvbiBnZXRGb2N1c0tleSgpIHtcbiAgICByZXR1cm4gdGhpcy5nZXQoJ2ZvY3VzS2V5Jyk7XG4gIH07XG5cbiAgX3Byb3RvLmdldEZvY3VzT2Zmc2V0ID0gZnVuY3Rpb24gZ2V0Rm9jdXNPZmZzZXQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KCdmb2N1c09mZnNldCcpO1xuICB9O1xuXG4gIF9wcm90by5nZXRJc0JhY2t3YXJkID0gZnVuY3Rpb24gZ2V0SXNCYWNrd2FyZCgpIHtcbiAgICByZXR1cm4gdGhpcy5nZXQoJ2lzQmFja3dhcmQnKTtcbiAgfTtcblxuICBfcHJvdG8uZ2V0SGFzRm9jdXMgPSBmdW5jdGlvbiBnZXRIYXNGb2N1cygpIHtcbiAgICByZXR1cm4gdGhpcy5nZXQoJ2hhc0ZvY3VzJyk7XG4gIH1cbiAgLyoqXG4gICAqIFJldHVybiB3aGV0aGVyIHRoZSBzcGVjaWZpZWQgcmFuZ2Ugb3ZlcmxhcHMgd2l0aCBhbiBlZGdlIG9mIHRoZVxuICAgKiBTZWxlY3Rpb25TdGF0ZS5cbiAgICovXG4gIDtcblxuICBfcHJvdG8uaGFzRWRnZVdpdGhpbiA9IGZ1bmN0aW9uIGhhc0VkZ2VXaXRoaW4oYmxvY2tLZXksIHN0YXJ0LCBlbmQpIHtcbiAgICB2YXIgYW5jaG9yS2V5ID0gdGhpcy5nZXRBbmNob3JLZXkoKTtcbiAgICB2YXIgZm9jdXNLZXkgPSB0aGlzLmdldEZvY3VzS2V5KCk7XG5cbiAgICBpZiAoYW5jaG9yS2V5ID09PSBmb2N1c0tleSAmJiBhbmNob3JLZXkgPT09IGJsb2NrS2V5KSB7XG4gICAgICB2YXIgc2VsZWN0aW9uU3RhcnQgPSB0aGlzLmdldFN0YXJ0T2Zmc2V0KCk7XG4gICAgICB2YXIgc2VsZWN0aW9uRW5kID0gdGhpcy5nZXRFbmRPZmZzZXQoKTtcbiAgICAgIHJldHVybiBzdGFydCA8PSBzZWxlY3Rpb25TdGFydCAmJiBzZWxlY3Rpb25TdGFydCA8PSBlbmQgfHwgLy8gc2VsZWN0aW9uU3RhcnQgaXMgYmV0d2VlbiBzdGFydCBhbmQgZW5kLCBvclxuICAgICAgc3RhcnQgPD0gc2VsZWN0aW9uRW5kICYmIHNlbGVjdGlvbkVuZCA8PSBlbmQgLy8gc2VsZWN0aW9uRW5kIGlzIGJldHdlZW4gc3RhcnQgYW5kIGVuZFxuICAgICAgO1xuICAgIH1cblxuICAgIGlmIChibG9ja0tleSAhPT0gYW5jaG9yS2V5ICYmIGJsb2NrS2V5ICE9PSBmb2N1c0tleSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHZhciBvZmZzZXRUb0NoZWNrID0gYmxvY2tLZXkgPT09IGFuY2hvcktleSA/IHRoaXMuZ2V0QW5jaG9yT2Zmc2V0KCkgOiB0aGlzLmdldEZvY3VzT2Zmc2V0KCk7XG4gICAgcmV0dXJuIHN0YXJ0IDw9IG9mZnNldFRvQ2hlY2sgJiYgZW5kID49IG9mZnNldFRvQ2hlY2s7XG4gIH07XG5cbiAgX3Byb3RvLmlzQ29sbGFwc2VkID0gZnVuY3Rpb24gaXNDb2xsYXBzZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QW5jaG9yS2V5KCkgPT09IHRoaXMuZ2V0Rm9jdXNLZXkoKSAmJiB0aGlzLmdldEFuY2hvck9mZnNldCgpID09PSB0aGlzLmdldEZvY3VzT2Zmc2V0KCk7XG4gIH07XG5cbiAgX3Byb3RvLmdldFN0YXJ0S2V5ID0gZnVuY3Rpb24gZ2V0U3RhcnRLZXkoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0SXNCYWNrd2FyZCgpID8gdGhpcy5nZXRGb2N1c0tleSgpIDogdGhpcy5nZXRBbmNob3JLZXkoKTtcbiAgfTtcblxuICBfcHJvdG8uZ2V0U3RhcnRPZmZzZXQgPSBmdW5jdGlvbiBnZXRTdGFydE9mZnNldCgpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRJc0JhY2t3YXJkKCkgPyB0aGlzLmdldEZvY3VzT2Zmc2V0KCkgOiB0aGlzLmdldEFuY2hvck9mZnNldCgpO1xuICB9O1xuXG4gIF9wcm90by5nZXRFbmRLZXkgPSBmdW5jdGlvbiBnZXRFbmRLZXkoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0SXNCYWNrd2FyZCgpID8gdGhpcy5nZXRBbmNob3JLZXkoKSA6IHRoaXMuZ2V0Rm9jdXNLZXkoKTtcbiAgfTtcblxuICBfcHJvdG8uZ2V0RW5kT2Zmc2V0ID0gZnVuY3Rpb24gZ2V0RW5kT2Zmc2V0KCkge1xuICAgIHJldHVybiB0aGlzLmdldElzQmFja3dhcmQoKSA/IHRoaXMuZ2V0QW5jaG9yT2Zmc2V0KCkgOiB0aGlzLmdldEZvY3VzT2Zmc2V0KCk7XG4gIH07XG5cbiAgU2VsZWN0aW9uU3RhdGUuY3JlYXRlRW1wdHkgPSBmdW5jdGlvbiBjcmVhdGVFbXB0eShrZXkpIHtcbiAgICByZXR1cm4gbmV3IFNlbGVjdGlvblN0YXRlKHtcbiAgICAgIGFuY2hvcktleToga2V5LFxuICAgICAgYW5jaG9yT2Zmc2V0OiAwLFxuICAgICAgZm9jdXNLZXk6IGtleSxcbiAgICAgIGZvY3VzT2Zmc2V0OiAwLFxuICAgICAgaXNCYWNrd2FyZDogZmFsc2UsXG4gICAgICBoYXNGb2N1czogZmFsc2VcbiAgICB9KTtcbiAgfTtcblxuICByZXR1cm4gU2VsZWN0aW9uU3RhdGU7XG59KFNlbGVjdGlvblN0YXRlUmVjb3JkKTtcblxubW9kdWxlLmV4cG9ydHMgPSBTZWxlY3Rpb25TdGF0ZTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/SelectionState.js\n"); /***/ }), @@ -499,7 +582,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule adjustBlockDepthForContentState\n * @format\n * \n */\n\n\n\nfunction adjustBlockDepthForContentState(contentState, selectionState, adjustment, maxDepth) {\n var startKey = selectionState.getStartKey();\n var endKey = selectionState.getEndKey();\n var blockMap = contentState.getBlockMap();\n var blocks = blockMap.toSeq().skipUntil(function (_, k) {\n return k === startKey;\n }).takeUntil(function (_, k) {\n return k === endKey;\n }).concat([[endKey, blockMap.get(endKey)]]).map(function (block) {\n var depth = block.getDepth() + adjustment;\n depth = Math.max(0, Math.min(depth, maxDepth));\n return block.set('depth', depth);\n });\n\n blockMap = blockMap.merge(blocks);\n\n return contentState.merge({\n blockMap: blockMap,\n selectionBefore: selectionState,\n selectionAfter: selectionState\n });\n}\n\nmodule.exports = adjustBlockDepthForContentState;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2FkanVzdEJsb2NrRGVwdGhGb3JDb250ZW50U3RhdGUuanM/MDBhMyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWE7O0FBRWI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUEiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2FkanVzdEJsb2NrRGVwdGhGb3JDb250ZW50U3RhdGUuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxMy1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuICogQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBCU0Qtc3R5bGUgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS4gQW4gYWRkaXRpb25hbCBncmFudFxuICogb2YgcGF0ZW50IHJpZ2h0cyBjYW4gYmUgZm91bmQgaW4gdGhlIFBBVEVOVFMgZmlsZSBpbiB0aGUgc2FtZSBkaXJlY3RvcnkuXG4gKlxuICogQHByb3ZpZGVzTW9kdWxlIGFkanVzdEJsb2NrRGVwdGhGb3JDb250ZW50U3RhdGVcbiAqIEBmb3JtYXRcbiAqIFxuICovXG5cbid1c2Ugc3RyaWN0JztcblxuZnVuY3Rpb24gYWRqdXN0QmxvY2tEZXB0aEZvckNvbnRlbnRTdGF0ZShjb250ZW50U3RhdGUsIHNlbGVjdGlvblN0YXRlLCBhZGp1c3RtZW50LCBtYXhEZXB0aCkge1xuICB2YXIgc3RhcnRLZXkgPSBzZWxlY3Rpb25TdGF0ZS5nZXRTdGFydEtleSgpO1xuICB2YXIgZW5kS2V5ID0gc2VsZWN0aW9uU3RhdGUuZ2V0RW5kS2V5KCk7XG4gIHZhciBibG9ja01hcCA9IGNvbnRlbnRTdGF0ZS5nZXRCbG9ja01hcCgpO1xuICB2YXIgYmxvY2tzID0gYmxvY2tNYXAudG9TZXEoKS5za2lwVW50aWwoZnVuY3Rpb24gKF8sIGspIHtcbiAgICByZXR1cm4gayA9PT0gc3RhcnRLZXk7XG4gIH0pLnRha2VVbnRpbChmdW5jdGlvbiAoXywgaykge1xuICAgIHJldHVybiBrID09PSBlbmRLZXk7XG4gIH0pLmNvbmNhdChbW2VuZEtleSwgYmxvY2tNYXAuZ2V0KGVuZEtleSldXSkubWFwKGZ1bmN0aW9uIChibG9jaykge1xuICAgIHZhciBkZXB0aCA9IGJsb2NrLmdldERlcHRoKCkgKyBhZGp1c3RtZW50O1xuICAgIGRlcHRoID0gTWF0aC5tYXgoMCwgTWF0aC5taW4oZGVwdGgsIG1heERlcHRoKSk7XG4gICAgcmV0dXJuIGJsb2NrLnNldCgnZGVwdGgnLCBkZXB0aCk7XG4gIH0pO1xuXG4gIGJsb2NrTWFwID0gYmxvY2tNYXAubWVyZ2UoYmxvY2tzKTtcblxuICByZXR1cm4gY29udGVudFN0YXRlLm1lcmdlKHtcbiAgICBibG9ja01hcDogYmxvY2tNYXAsXG4gICAgc2VsZWN0aW9uQmVmb3JlOiBzZWxlY3Rpb25TdGF0ZSxcbiAgICBzZWxlY3Rpb25BZnRlcjogc2VsZWN0aW9uU3RhdGVcbiAgfSk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gYWRqdXN0QmxvY2tEZXB0aEZvckNvbnRlbnRTdGF0ZTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/adjustBlockDepthForContentState.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nfunction adjustBlockDepthForContentState(contentState, selectionState, adjustment, maxDepth) {\n var startKey = selectionState.getStartKey();\n var endKey = selectionState.getEndKey();\n var blockMap = contentState.getBlockMap();\n var blocks = blockMap.toSeq().skipUntil(function (_, k) {\n return k === startKey;\n }).takeUntil(function (_, k) {\n return k === endKey;\n }).concat([[endKey, blockMap.get(endKey)]]).map(function (block) {\n var depth = block.getDepth() + adjustment;\n depth = Math.max(0, Math.min(depth, maxDepth));\n return block.set('depth', depth);\n });\n blockMap = blockMap.merge(blocks);\n return contentState.merge({\n blockMap: blockMap,\n selectionBefore: selectionState,\n selectionAfter: selectionState\n });\n}\n\nmodule.exports = adjustBlockDepthForContentState;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2FkanVzdEJsb2NrRGVwdGhGb3JDb250ZW50U3RhdGUuanM/MDBhMyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNhOztBQUViO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvYWRqdXN0QmxvY2tEZXB0aEZvckNvbnRlbnRTdGF0ZS5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSBGYWNlYm9vaywgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICogQGZvcm1hdFxuICogXG4gKiBAZW1haWxzIG9uY2FsbCtkcmFmdF9qc1xuICovXG4ndXNlIHN0cmljdCc7XG5cbmZ1bmN0aW9uIGFkanVzdEJsb2NrRGVwdGhGb3JDb250ZW50U3RhdGUoY29udGVudFN0YXRlLCBzZWxlY3Rpb25TdGF0ZSwgYWRqdXN0bWVudCwgbWF4RGVwdGgpIHtcbiAgdmFyIHN0YXJ0S2V5ID0gc2VsZWN0aW9uU3RhdGUuZ2V0U3RhcnRLZXkoKTtcbiAgdmFyIGVuZEtleSA9IHNlbGVjdGlvblN0YXRlLmdldEVuZEtleSgpO1xuICB2YXIgYmxvY2tNYXAgPSBjb250ZW50U3RhdGUuZ2V0QmxvY2tNYXAoKTtcbiAgdmFyIGJsb2NrcyA9IGJsb2NrTWFwLnRvU2VxKCkuc2tpcFVudGlsKGZ1bmN0aW9uIChfLCBrKSB7XG4gICAgcmV0dXJuIGsgPT09IHN0YXJ0S2V5O1xuICB9KS50YWtlVW50aWwoZnVuY3Rpb24gKF8sIGspIHtcbiAgICByZXR1cm4gayA9PT0gZW5kS2V5O1xuICB9KS5jb25jYXQoW1tlbmRLZXksIGJsb2NrTWFwLmdldChlbmRLZXkpXV0pLm1hcChmdW5jdGlvbiAoYmxvY2spIHtcbiAgICB2YXIgZGVwdGggPSBibG9jay5nZXREZXB0aCgpICsgYWRqdXN0bWVudDtcbiAgICBkZXB0aCA9IE1hdGgubWF4KDAsIE1hdGgubWluKGRlcHRoLCBtYXhEZXB0aCkpO1xuICAgIHJldHVybiBibG9jay5zZXQoJ2RlcHRoJywgZGVwdGgpO1xuICB9KTtcbiAgYmxvY2tNYXAgPSBibG9ja01hcC5tZXJnZShibG9ja3MpO1xuICByZXR1cm4gY29udGVudFN0YXRlLm1lcmdlKHtcbiAgICBibG9ja01hcDogYmxvY2tNYXAsXG4gICAgc2VsZWN0aW9uQmVmb3JlOiBzZWxlY3Rpb25TdGF0ZSxcbiAgICBzZWxlY3Rpb25BZnRlcjogc2VsZWN0aW9uU3RhdGVcbiAgfSk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gYWRqdXN0QmxvY2tEZXB0aEZvckNvbnRlbnRTdGF0ZTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/adjustBlockDepthForContentState.js\n"); /***/ }), @@ -511,7 +594,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule applyEntityToContentBlock\n * @format\n * \n */\n\n\n\nvar CharacterMetadata = __webpack_require__(/*! ./CharacterMetadata */ \"./node_modules/draft-js/lib/CharacterMetadata.js\");\n\nfunction applyEntityToContentBlock(contentBlock, start, end, entityKey) {\n var characterList = contentBlock.getCharacterList();\n while (start < end) {\n characterList = characterList.set(start, CharacterMetadata.applyEntity(characterList.get(start), entityKey));\n start++;\n }\n return contentBlock.set('characterList', characterList);\n}\n\nmodule.exports = applyEntityToContentBlock;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2FwcGx5RW50aXR5VG9Db250ZW50QmxvY2suanM/YmQ4YyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWE7O0FBRWIsd0JBQXdCLG1CQUFPLENBQUMsNkVBQXFCOztBQUVyRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2RyYWZ0LWpzL2xpYi9hcHBseUVudGl0eVRvQ29udGVudEJsb2NrLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQlNELXN0eWxlIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuIEFuIGFkZGl0aW9uYWwgZ3JhbnRcbiAqIG9mIHBhdGVudCByaWdodHMgY2FuIGJlIGZvdW5kIGluIHRoZSBQQVRFTlRTIGZpbGUgaW4gdGhlIHNhbWUgZGlyZWN0b3J5LlxuICpcbiAqIEBwcm92aWRlc01vZHVsZSBhcHBseUVudGl0eVRvQ29udGVudEJsb2NrXG4gKiBAZm9ybWF0XG4gKiBcbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbnZhciBDaGFyYWN0ZXJNZXRhZGF0YSA9IHJlcXVpcmUoJy4vQ2hhcmFjdGVyTWV0YWRhdGEnKTtcblxuZnVuY3Rpb24gYXBwbHlFbnRpdHlUb0NvbnRlbnRCbG9jayhjb250ZW50QmxvY2ssIHN0YXJ0LCBlbmQsIGVudGl0eUtleSkge1xuICB2YXIgY2hhcmFjdGVyTGlzdCA9IGNvbnRlbnRCbG9jay5nZXRDaGFyYWN0ZXJMaXN0KCk7XG4gIHdoaWxlIChzdGFydCA8IGVuZCkge1xuICAgIGNoYXJhY3Rlckxpc3QgPSBjaGFyYWN0ZXJMaXN0LnNldChzdGFydCwgQ2hhcmFjdGVyTWV0YWRhdGEuYXBwbHlFbnRpdHkoY2hhcmFjdGVyTGlzdC5nZXQoc3RhcnQpLCBlbnRpdHlLZXkpKTtcbiAgICBzdGFydCsrO1xuICB9XG4gIHJldHVybiBjb250ZW50QmxvY2suc2V0KCdjaGFyYWN0ZXJMaXN0JywgY2hhcmFjdGVyTGlzdCk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gYXBwbHlFbnRpdHlUb0NvbnRlbnRCbG9jazsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/applyEntityToContentBlock.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nvar CharacterMetadata = __webpack_require__(/*! ./CharacterMetadata */ \"./node_modules/draft-js/lib/CharacterMetadata.js\");\n\nfunction applyEntityToContentBlock(contentBlock, start, end, entityKey) {\n var characterList = contentBlock.getCharacterList();\n\n while (start < end) {\n characterList = characterList.set(start, CharacterMetadata.applyEntity(characterList.get(start), entityKey));\n start++;\n }\n\n return contentBlock.set('characterList', characterList);\n}\n\nmodule.exports = applyEntityToContentBlock;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2FwcGx5RW50aXR5VG9Db250ZW50QmxvY2suanM/YmQ4YyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNhOztBQUViLHdCQUF3QixtQkFBTyxDQUFDLDZFQUFxQjs7QUFFckQ7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2RyYWZ0LWpzL2xpYi9hcHBseUVudGl0eVRvQ29udGVudEJsb2NrLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIEZhY2Vib29rLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKiBAZm9ybWF0XG4gKiBcbiAqIEBlbWFpbHMgb25jYWxsK2RyYWZ0X2pzXG4gKi9cbid1c2Ugc3RyaWN0JztcblxudmFyIENoYXJhY3Rlck1ldGFkYXRhID0gcmVxdWlyZShcIi4vQ2hhcmFjdGVyTWV0YWRhdGFcIik7XG5cbmZ1bmN0aW9uIGFwcGx5RW50aXR5VG9Db250ZW50QmxvY2soY29udGVudEJsb2NrLCBzdGFydCwgZW5kLCBlbnRpdHlLZXkpIHtcbiAgdmFyIGNoYXJhY3Rlckxpc3QgPSBjb250ZW50QmxvY2suZ2V0Q2hhcmFjdGVyTGlzdCgpO1xuXG4gIHdoaWxlIChzdGFydCA8IGVuZCkge1xuICAgIGNoYXJhY3Rlckxpc3QgPSBjaGFyYWN0ZXJMaXN0LnNldChzdGFydCwgQ2hhcmFjdGVyTWV0YWRhdGEuYXBwbHlFbnRpdHkoY2hhcmFjdGVyTGlzdC5nZXQoc3RhcnQpLCBlbnRpdHlLZXkpKTtcbiAgICBzdGFydCsrO1xuICB9XG5cbiAgcmV0dXJuIGNvbnRlbnRCbG9jay5zZXQoJ2NoYXJhY3Rlckxpc3QnLCBjaGFyYWN0ZXJMaXN0KTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBhcHBseUVudGl0eVRvQ29udGVudEJsb2NrOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/applyEntityToContentBlock.js\n"); /***/ }), @@ -523,7 +606,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule applyEntityToContentState\n * @format\n * \n */\n\n\n\nvar Immutable = __webpack_require__(/*! immutable */ \"./node_modules/draft-js/node_modules/immutable/dist/immutable.js\");\n\nvar applyEntityToContentBlock = __webpack_require__(/*! ./applyEntityToContentBlock */ \"./node_modules/draft-js/lib/applyEntityToContentBlock.js\");\n\nfunction applyEntityToContentState(contentState, selectionState, entityKey) {\n var blockMap = contentState.getBlockMap();\n var startKey = selectionState.getStartKey();\n var startOffset = selectionState.getStartOffset();\n var endKey = selectionState.getEndKey();\n var endOffset = selectionState.getEndOffset();\n\n var newBlocks = blockMap.skipUntil(function (_, k) {\n return k === startKey;\n }).takeUntil(function (_, k) {\n return k === endKey;\n }).toOrderedMap().merge(Immutable.OrderedMap([[endKey, blockMap.get(endKey)]])).map(function (block, blockKey) {\n var sliceStart = blockKey === startKey ? startOffset : 0;\n var sliceEnd = blockKey === endKey ? endOffset : block.getLength();\n return applyEntityToContentBlock(block, sliceStart, sliceEnd, entityKey);\n });\n\n return contentState.merge({\n blockMap: blockMap.merge(newBlocks),\n selectionBefore: selectionState,\n selectionAfter: selectionState\n });\n}\n\nmodule.exports = applyEntityToContentState;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2FwcGx5RW50aXR5VG9Db250ZW50U3RhdGUuanM/OGE1NSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWE7O0FBRWIsZ0JBQWdCLG1CQUFPLENBQUMsbUZBQVc7O0FBRW5DLGdDQUFnQyxtQkFBTyxDQUFDLDZGQUE2Qjs7QUFFckU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvYXBwbHlFbnRpdHlUb0NvbnRlbnRTdGF0ZS5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXG4gKiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEJTRC1zdHlsZSBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLiBBbiBhZGRpdGlvbmFsIGdyYW50XG4gKiBvZiBwYXRlbnQgcmlnaHRzIGNhbiBiZSBmb3VuZCBpbiB0aGUgUEFURU5UUyBmaWxlIGluIHRoZSBzYW1lIGRpcmVjdG9yeS5cbiAqXG4gKiBAcHJvdmlkZXNNb2R1bGUgYXBwbHlFbnRpdHlUb0NvbnRlbnRTdGF0ZVxuICogQGZvcm1hdFxuICogXG4gKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG52YXIgSW1tdXRhYmxlID0gcmVxdWlyZSgnaW1tdXRhYmxlJyk7XG5cbnZhciBhcHBseUVudGl0eVRvQ29udGVudEJsb2NrID0gcmVxdWlyZSgnLi9hcHBseUVudGl0eVRvQ29udGVudEJsb2NrJyk7XG5cbmZ1bmN0aW9uIGFwcGx5RW50aXR5VG9Db250ZW50U3RhdGUoY29udGVudFN0YXRlLCBzZWxlY3Rpb25TdGF0ZSwgZW50aXR5S2V5KSB7XG4gIHZhciBibG9ja01hcCA9IGNvbnRlbnRTdGF0ZS5nZXRCbG9ja01hcCgpO1xuICB2YXIgc3RhcnRLZXkgPSBzZWxlY3Rpb25TdGF0ZS5nZXRTdGFydEtleSgpO1xuICB2YXIgc3RhcnRPZmZzZXQgPSBzZWxlY3Rpb25TdGF0ZS5nZXRTdGFydE9mZnNldCgpO1xuICB2YXIgZW5kS2V5ID0gc2VsZWN0aW9uU3RhdGUuZ2V0RW5kS2V5KCk7XG4gIHZhciBlbmRPZmZzZXQgPSBzZWxlY3Rpb25TdGF0ZS5nZXRFbmRPZmZzZXQoKTtcblxuICB2YXIgbmV3QmxvY2tzID0gYmxvY2tNYXAuc2tpcFVudGlsKGZ1bmN0aW9uIChfLCBrKSB7XG4gICAgcmV0dXJuIGsgPT09IHN0YXJ0S2V5O1xuICB9KS50YWtlVW50aWwoZnVuY3Rpb24gKF8sIGspIHtcbiAgICByZXR1cm4gayA9PT0gZW5kS2V5O1xuICB9KS50b09yZGVyZWRNYXAoKS5tZXJnZShJbW11dGFibGUuT3JkZXJlZE1hcChbW2VuZEtleSwgYmxvY2tNYXAuZ2V0KGVuZEtleSldXSkpLm1hcChmdW5jdGlvbiAoYmxvY2ssIGJsb2NrS2V5KSB7XG4gICAgdmFyIHNsaWNlU3RhcnQgPSBibG9ja0tleSA9PT0gc3RhcnRLZXkgPyBzdGFydE9mZnNldCA6IDA7XG4gICAgdmFyIHNsaWNlRW5kID0gYmxvY2tLZXkgPT09IGVuZEtleSA/IGVuZE9mZnNldCA6IGJsb2NrLmdldExlbmd0aCgpO1xuICAgIHJldHVybiBhcHBseUVudGl0eVRvQ29udGVudEJsb2NrKGJsb2NrLCBzbGljZVN0YXJ0LCBzbGljZUVuZCwgZW50aXR5S2V5KTtcbiAgfSk7XG5cbiAgcmV0dXJuIGNvbnRlbnRTdGF0ZS5tZXJnZSh7XG4gICAgYmxvY2tNYXA6IGJsb2NrTWFwLm1lcmdlKG5ld0Jsb2NrcyksXG4gICAgc2VsZWN0aW9uQmVmb3JlOiBzZWxlY3Rpb25TdGF0ZSxcbiAgICBzZWxlY3Rpb25BZnRlcjogc2VsZWN0aW9uU3RhdGVcbiAgfSk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gYXBwbHlFbnRpdHlUb0NvbnRlbnRTdGF0ZTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/applyEntityToContentState.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nvar applyEntityToContentBlock = __webpack_require__(/*! ./applyEntityToContentBlock */ \"./node_modules/draft-js/lib/applyEntityToContentBlock.js\");\n\nvar Immutable = __webpack_require__(/*! immutable */ \"./node_modules/draft-js/node_modules/immutable/dist/immutable.js\");\n\nfunction applyEntityToContentState(contentState, selectionState, entityKey) {\n var blockMap = contentState.getBlockMap();\n var startKey = selectionState.getStartKey();\n var startOffset = selectionState.getStartOffset();\n var endKey = selectionState.getEndKey();\n var endOffset = selectionState.getEndOffset();\n var newBlocks = blockMap.skipUntil(function (_, k) {\n return k === startKey;\n }).takeUntil(function (_, k) {\n return k === endKey;\n }).toOrderedMap().merge(Immutable.OrderedMap([[endKey, blockMap.get(endKey)]])).map(function (block, blockKey) {\n var sliceStart = blockKey === startKey ? startOffset : 0;\n var sliceEnd = blockKey === endKey ? endOffset : block.getLength();\n return applyEntityToContentBlock(block, sliceStart, sliceEnd, entityKey);\n });\n return contentState.merge({\n blockMap: blockMap.merge(newBlocks),\n selectionBefore: selectionState,\n selectionAfter: selectionState\n });\n}\n\nmodule.exports = applyEntityToContentState;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2FwcGx5RW50aXR5VG9Db250ZW50U3RhdGUuanM/OGE1NSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNhOztBQUViLGdDQUFnQyxtQkFBTyxDQUFDLDZGQUE2Qjs7QUFFckUsZ0JBQWdCLG1CQUFPLENBQUMsbUZBQVc7O0FBRW5DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUVBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2RyYWZ0LWpzL2xpYi9hcHBseUVudGl0eVRvQ29udGVudFN0YXRlLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIEZhY2Vib29rLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKiBAZm9ybWF0XG4gKiBcbiAqIEBlbWFpbHMgb25jYWxsK2RyYWZ0X2pzXG4gKi9cbid1c2Ugc3RyaWN0JztcblxudmFyIGFwcGx5RW50aXR5VG9Db250ZW50QmxvY2sgPSByZXF1aXJlKFwiLi9hcHBseUVudGl0eVRvQ29udGVudEJsb2NrXCIpO1xuXG52YXIgSW1tdXRhYmxlID0gcmVxdWlyZShcImltbXV0YWJsZVwiKTtcblxuZnVuY3Rpb24gYXBwbHlFbnRpdHlUb0NvbnRlbnRTdGF0ZShjb250ZW50U3RhdGUsIHNlbGVjdGlvblN0YXRlLCBlbnRpdHlLZXkpIHtcbiAgdmFyIGJsb2NrTWFwID0gY29udGVudFN0YXRlLmdldEJsb2NrTWFwKCk7XG4gIHZhciBzdGFydEtleSA9IHNlbGVjdGlvblN0YXRlLmdldFN0YXJ0S2V5KCk7XG4gIHZhciBzdGFydE9mZnNldCA9IHNlbGVjdGlvblN0YXRlLmdldFN0YXJ0T2Zmc2V0KCk7XG4gIHZhciBlbmRLZXkgPSBzZWxlY3Rpb25TdGF0ZS5nZXRFbmRLZXkoKTtcbiAgdmFyIGVuZE9mZnNldCA9IHNlbGVjdGlvblN0YXRlLmdldEVuZE9mZnNldCgpO1xuICB2YXIgbmV3QmxvY2tzID0gYmxvY2tNYXAuc2tpcFVudGlsKGZ1bmN0aW9uIChfLCBrKSB7XG4gICAgcmV0dXJuIGsgPT09IHN0YXJ0S2V5O1xuICB9KS50YWtlVW50aWwoZnVuY3Rpb24gKF8sIGspIHtcbiAgICByZXR1cm4gayA9PT0gZW5kS2V5O1xuICB9KS50b09yZGVyZWRNYXAoKS5tZXJnZShJbW11dGFibGUuT3JkZXJlZE1hcChbW2VuZEtleSwgYmxvY2tNYXAuZ2V0KGVuZEtleSldXSkpLm1hcChmdW5jdGlvbiAoYmxvY2ssIGJsb2NrS2V5KSB7XG4gICAgdmFyIHNsaWNlU3RhcnQgPSBibG9ja0tleSA9PT0gc3RhcnRLZXkgPyBzdGFydE9mZnNldCA6IDA7XG4gICAgdmFyIHNsaWNlRW5kID0gYmxvY2tLZXkgPT09IGVuZEtleSA/IGVuZE9mZnNldCA6IGJsb2NrLmdldExlbmd0aCgpO1xuICAgIHJldHVybiBhcHBseUVudGl0eVRvQ29udGVudEJsb2NrKGJsb2NrLCBzbGljZVN0YXJ0LCBzbGljZUVuZCwgZW50aXR5S2V5KTtcbiAgfSk7XG4gIHJldHVybiBjb250ZW50U3RhdGUubWVyZ2Uoe1xuICAgIGJsb2NrTWFwOiBibG9ja01hcC5tZXJnZShuZXdCbG9ja3MpLFxuICAgIHNlbGVjdGlvbkJlZm9yZTogc2VsZWN0aW9uU3RhdGUsXG4gICAgc2VsZWN0aW9uQWZ0ZXI6IHNlbGVjdGlvblN0YXRlXG4gIH0pO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGFwcGx5RW50aXR5VG9Db250ZW50U3RhdGU7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/applyEntityToContentState.js\n"); /***/ }), @@ -535,7 +618,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule convertFromDraftStateToRaw\n * @format\n * \n */\n\n\n\nvar _assign = __webpack_require__(/*! object-assign */ \"./node_modules/object-assign/index.js\");\n\nvar _extends = _assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar ContentBlock = __webpack_require__(/*! ./ContentBlock */ \"./node_modules/draft-js/lib/ContentBlock.js\");\nvar ContentBlockNode = __webpack_require__(/*! ./ContentBlockNode */ \"./node_modules/draft-js/lib/ContentBlockNode.js\");\nvar DraftStringKey = __webpack_require__(/*! ./DraftStringKey */ \"./node_modules/draft-js/lib/DraftStringKey.js\");\n\nvar encodeEntityRanges = __webpack_require__(/*! ./encodeEntityRanges */ \"./node_modules/draft-js/lib/encodeEntityRanges.js\");\nvar encodeInlineStyleRanges = __webpack_require__(/*! ./encodeInlineStyleRanges */ \"./node_modules/draft-js/lib/encodeInlineStyleRanges.js\");\nvar invariant = __webpack_require__(/*! fbjs/lib/invariant */ \"./node_modules/fbjs/lib/invariant.js\");\n\nvar createRawBlock = function createRawBlock(block, entityStorageMap) {\n return {\n key: block.getKey(),\n text: block.getText(),\n type: block.getType(),\n depth: block.getDepth(),\n inlineStyleRanges: encodeInlineStyleRanges(block),\n entityRanges: encodeEntityRanges(block, entityStorageMap),\n data: block.getData().toObject()\n };\n};\n\nvar insertRawBlock = function insertRawBlock(block, entityMap, rawBlocks, blockCacheRef) {\n if (block instanceof ContentBlock) {\n rawBlocks.push(createRawBlock(block, entityMap));\n return;\n }\n\n !(block instanceof ContentBlockNode) ? true ? invariant(false, 'block is not a BlockNode') : undefined : void 0;\n\n var parentKey = block.getParentKey();\n var rawBlock = blockCacheRef[block.getKey()] = _extends({}, createRawBlock(block, entityMap), {\n children: []\n });\n\n if (parentKey) {\n blockCacheRef[parentKey].children.push(rawBlock);\n return;\n }\n\n rawBlocks.push(rawBlock);\n};\n\nvar encodeRawBlocks = function encodeRawBlocks(contentState, rawState) {\n var entityMap = rawState.entityMap;\n\n\n var rawBlocks = [];\n\n var blockCacheRef = {};\n var entityCacheRef = {};\n var entityStorageKey = 0;\n\n contentState.getBlockMap().forEach(function (block) {\n block.findEntityRanges(function (character) {\n return character.getEntity() !== null;\n }, function (start) {\n var entityKey = block.getEntityAt(start);\n // Stringify to maintain order of otherwise numeric keys.\n var stringifiedEntityKey = DraftStringKey.stringify(entityKey);\n // This makes this function resilient to two entities\n // erroneously having the same key\n if (entityCacheRef[stringifiedEntityKey]) {\n return;\n }\n entityCacheRef[stringifiedEntityKey] = entityKey;\n // we need the `any` casting here since this is a temporary state\n // where we will later on flip the entity map and populate it with\n // real entity, at this stage we just need to map back the entity\n // key used by the BlockNode\n entityMap[stringifiedEntityKey] = '' + entityStorageKey;\n entityStorageKey++;\n });\n\n insertRawBlock(block, entityMap, rawBlocks, blockCacheRef);\n });\n\n return {\n blocks: rawBlocks,\n entityMap: entityMap\n };\n};\n\n// Flip storage map so that our storage keys map to global\n// DraftEntity keys.\nvar encodeRawEntityMap = function encodeRawEntityMap(contentState, rawState) {\n var blocks = rawState.blocks,\n entityMap = rawState.entityMap;\n\n\n var rawEntityMap = {};\n\n Object.keys(entityMap).forEach(function (key, index) {\n var entity = contentState.getEntity(DraftStringKey.unstringify(key));\n rawEntityMap[index] = {\n type: entity.getType(),\n mutability: entity.getMutability(),\n data: entity.getData()\n };\n });\n\n return {\n blocks: blocks,\n entityMap: rawEntityMap\n };\n};\n\nvar convertFromDraftStateToRaw = function convertFromDraftStateToRaw(contentState) {\n var rawDraftContentState = {\n entityMap: {},\n blocks: []\n };\n\n // add blocks\n rawDraftContentState = encodeRawBlocks(contentState, rawDraftContentState);\n\n // add entities\n rawDraftContentState = encodeRawEntityMap(contentState, rawDraftContentState);\n\n return rawDraftContentState;\n};\n\nmodule.exports = convertFromDraftStateToRaw;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2NvbnZlcnRGcm9tRHJhZnRTdGF0ZVRvUmF3LmpzP2ZmMmYiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVhOztBQUViLGNBQWMsbUJBQU8sQ0FBQyw0REFBZTs7QUFFckMsNkNBQTZDLGdCQUFnQixzQkFBc0IsT0FBTywyQkFBMkIsMEJBQTBCLHlEQUF5RCwyQkFBMkIsRUFBRSxFQUFFLEVBQUUsZUFBZTs7QUFFeFAsbUJBQW1CLG1CQUFPLENBQUMsbUVBQWdCO0FBQzNDLHVCQUF1QixtQkFBTyxDQUFDLDJFQUFvQjtBQUNuRCxxQkFBcUIsbUJBQU8sQ0FBQyx1RUFBa0I7O0FBRS9DLHlCQUF5QixtQkFBTyxDQUFDLCtFQUFzQjtBQUN2RCw4QkFBOEIsbUJBQU8sQ0FBQyx5RkFBMkI7QUFDakUsZ0JBQWdCLG1CQUFPLENBQUMsZ0VBQW9COztBQUU1QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEseUNBQXlDLEtBQXFDLGtEQUFrRCxTQUFnQjs7QUFFaEo7QUFDQSw0REFBNEQ7QUFDNUQ7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvY29udmVydEZyb21EcmFmdFN0YXRlVG9SYXcuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxMy1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuICogQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBCU0Qtc3R5bGUgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS4gQW4gYWRkaXRpb25hbCBncmFudFxuICogb2YgcGF0ZW50IHJpZ2h0cyBjYW4gYmUgZm91bmQgaW4gdGhlIFBBVEVOVFMgZmlsZSBpbiB0aGUgc2FtZSBkaXJlY3RvcnkuXG4gKlxuICogQHByb3ZpZGVzTW9kdWxlIGNvbnZlcnRGcm9tRHJhZnRTdGF0ZVRvUmF3XG4gKiBAZm9ybWF0XG4gKiBcbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbnZhciBfYXNzaWduID0gcmVxdWlyZSgnb2JqZWN0LWFzc2lnbicpO1xuXG52YXIgX2V4dGVuZHMgPSBfYXNzaWduIHx8IGZ1bmN0aW9uICh0YXJnZXQpIHsgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHsgdmFyIHNvdXJjZSA9IGFyZ3VtZW50c1tpXTsgZm9yICh2YXIga2V5IGluIHNvdXJjZSkgeyBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHNvdXJjZSwga2V5KSkgeyB0YXJnZXRba2V5XSA9IHNvdXJjZVtrZXldOyB9IH0gfSByZXR1cm4gdGFyZ2V0OyB9O1xuXG52YXIgQ29udGVudEJsb2NrID0gcmVxdWlyZSgnLi9Db250ZW50QmxvY2snKTtcbnZhciBDb250ZW50QmxvY2tOb2RlID0gcmVxdWlyZSgnLi9Db250ZW50QmxvY2tOb2RlJyk7XG52YXIgRHJhZnRTdHJpbmdLZXkgPSByZXF1aXJlKCcuL0RyYWZ0U3RyaW5nS2V5Jyk7XG5cbnZhciBlbmNvZGVFbnRpdHlSYW5nZXMgPSByZXF1aXJlKCcuL2VuY29kZUVudGl0eVJhbmdlcycpO1xudmFyIGVuY29kZUlubGluZVN0eWxlUmFuZ2VzID0gcmVxdWlyZSgnLi9lbmNvZGVJbmxpbmVTdHlsZVJhbmdlcycpO1xudmFyIGludmFyaWFudCA9IHJlcXVpcmUoJ2ZianMvbGliL2ludmFyaWFudCcpO1xuXG52YXIgY3JlYXRlUmF3QmxvY2sgPSBmdW5jdGlvbiBjcmVhdGVSYXdCbG9jayhibG9jaywgZW50aXR5U3RvcmFnZU1hcCkge1xuICByZXR1cm4ge1xuICAgIGtleTogYmxvY2suZ2V0S2V5KCksXG4gICAgdGV4dDogYmxvY2suZ2V0VGV4dCgpLFxuICAgIHR5cGU6IGJsb2NrLmdldFR5cGUoKSxcbiAgICBkZXB0aDogYmxvY2suZ2V0RGVwdGgoKSxcbiAgICBpbmxpbmVTdHlsZVJhbmdlczogZW5jb2RlSW5saW5lU3R5bGVSYW5nZXMoYmxvY2spLFxuICAgIGVudGl0eVJhbmdlczogZW5jb2RlRW50aXR5UmFuZ2VzKGJsb2NrLCBlbnRpdHlTdG9yYWdlTWFwKSxcbiAgICBkYXRhOiBibG9jay5nZXREYXRhKCkudG9PYmplY3QoKVxuICB9O1xufTtcblxudmFyIGluc2VydFJhd0Jsb2NrID0gZnVuY3Rpb24gaW5zZXJ0UmF3QmxvY2soYmxvY2ssIGVudGl0eU1hcCwgcmF3QmxvY2tzLCBibG9ja0NhY2hlUmVmKSB7XG4gIGlmIChibG9jayBpbnN0YW5jZW9mIENvbnRlbnRCbG9jaykge1xuICAgIHJhd0Jsb2Nrcy5wdXNoKGNyZWF0ZVJhd0Jsb2NrKGJsb2NrLCBlbnRpdHlNYXApKTtcbiAgICByZXR1cm47XG4gIH1cblxuICAhKGJsb2NrIGluc3RhbmNlb2YgQ29udGVudEJsb2NrTm9kZSkgPyBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nID8gaW52YXJpYW50KGZhbHNlLCAnYmxvY2sgaXMgbm90IGEgQmxvY2tOb2RlJykgOiBpbnZhcmlhbnQoZmFsc2UpIDogdm9pZCAwO1xuXG4gIHZhciBwYXJlbnRLZXkgPSBibG9jay5nZXRQYXJlbnRLZXkoKTtcbiAgdmFyIHJhd0Jsb2NrID0gYmxvY2tDYWNoZVJlZltibG9jay5nZXRLZXkoKV0gPSBfZXh0ZW5kcyh7fSwgY3JlYXRlUmF3QmxvY2soYmxvY2ssIGVudGl0eU1hcCksIHtcbiAgICBjaGlsZHJlbjogW11cbiAgfSk7XG5cbiAgaWYgKHBhcmVudEtleSkge1xuICAgIGJsb2NrQ2FjaGVSZWZbcGFyZW50S2V5XS5jaGlsZHJlbi5wdXNoKHJhd0Jsb2NrKTtcbiAgICByZXR1cm47XG4gIH1cblxuICByYXdCbG9ja3MucHVzaChyYXdCbG9jayk7XG59O1xuXG52YXIgZW5jb2RlUmF3QmxvY2tzID0gZnVuY3Rpb24gZW5jb2RlUmF3QmxvY2tzKGNvbnRlbnRTdGF0ZSwgcmF3U3RhdGUpIHtcbiAgdmFyIGVudGl0eU1hcCA9IHJhd1N0YXRlLmVudGl0eU1hcDtcblxuXG4gIHZhciByYXdCbG9ja3MgPSBbXTtcblxuICB2YXIgYmxvY2tDYWNoZVJlZiA9IHt9O1xuICB2YXIgZW50aXR5Q2FjaGVSZWYgPSB7fTtcbiAgdmFyIGVudGl0eVN0b3JhZ2VLZXkgPSAwO1xuXG4gIGNvbnRlbnRTdGF0ZS5nZXRCbG9ja01hcCgpLmZvckVhY2goZnVuY3Rpb24gKGJsb2NrKSB7XG4gICAgYmxvY2suZmluZEVudGl0eVJhbmdlcyhmdW5jdGlvbiAoY2hhcmFjdGVyKSB7XG4gICAgICByZXR1cm4gY2hhcmFjdGVyLmdldEVudGl0eSgpICE9PSBudWxsO1xuICAgIH0sIGZ1bmN0aW9uIChzdGFydCkge1xuICAgICAgdmFyIGVudGl0eUtleSA9IGJsb2NrLmdldEVudGl0eUF0KHN0YXJ0KTtcbiAgICAgIC8vIFN0cmluZ2lmeSB0byBtYWludGFpbiBvcmRlciBvZiBvdGhlcndpc2UgbnVtZXJpYyBrZXlzLlxuICAgICAgdmFyIHN0cmluZ2lmaWVkRW50aXR5S2V5ID0gRHJhZnRTdHJpbmdLZXkuc3RyaW5naWZ5KGVudGl0eUtleSk7XG4gICAgICAvLyBUaGlzIG1ha2VzIHRoaXMgZnVuY3Rpb24gcmVzaWxpZW50IHRvIHR3byBlbnRpdGllc1xuICAgICAgLy8gZXJyb25lb3VzbHkgaGF2aW5nIHRoZSBzYW1lIGtleVxuICAgICAgaWYgKGVudGl0eUNhY2hlUmVmW3N0cmluZ2lmaWVkRW50aXR5S2V5XSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBlbnRpdHlDYWNoZVJlZltzdHJpbmdpZmllZEVudGl0eUtleV0gPSBlbnRpdHlLZXk7XG4gICAgICAvLyB3ZSBuZWVkIHRoZSBgYW55YCBjYXN0aW5nIGhlcmUgc2luY2UgdGhpcyBpcyBhIHRlbXBvcmFyeSBzdGF0ZVxuICAgICAgLy8gd2hlcmUgd2Ugd2lsbCBsYXRlciBvbiBmbGlwIHRoZSBlbnRpdHkgbWFwIGFuZCBwb3B1bGF0ZSBpdCB3aXRoXG4gICAgICAvLyByZWFsIGVudGl0eSwgYXQgdGhpcyBzdGFnZSB3ZSBqdXN0IG5lZWQgdG8gbWFwIGJhY2sgdGhlIGVudGl0eVxuICAgICAgLy8ga2V5IHVzZWQgYnkgdGhlIEJsb2NrTm9kZVxuICAgICAgZW50aXR5TWFwW3N0cmluZ2lmaWVkRW50aXR5S2V5XSA9ICcnICsgZW50aXR5U3RvcmFnZUtleTtcbiAgICAgIGVudGl0eVN0b3JhZ2VLZXkrKztcbiAgICB9KTtcblxuICAgIGluc2VydFJhd0Jsb2NrKGJsb2NrLCBlbnRpdHlNYXAsIHJhd0Jsb2NrcywgYmxvY2tDYWNoZVJlZik7XG4gIH0pO1xuXG4gIHJldHVybiB7XG4gICAgYmxvY2tzOiByYXdCbG9ja3MsXG4gICAgZW50aXR5TWFwOiBlbnRpdHlNYXBcbiAgfTtcbn07XG5cbi8vIEZsaXAgc3RvcmFnZSBtYXAgc28gdGhhdCBvdXIgc3RvcmFnZSBrZXlzIG1hcCB0byBnbG9iYWxcbi8vIERyYWZ0RW50aXR5IGtleXMuXG52YXIgZW5jb2RlUmF3RW50aXR5TWFwID0gZnVuY3Rpb24gZW5jb2RlUmF3RW50aXR5TWFwKGNvbnRlbnRTdGF0ZSwgcmF3U3RhdGUpIHtcbiAgdmFyIGJsb2NrcyA9IHJhd1N0YXRlLmJsb2NrcyxcbiAgICAgIGVudGl0eU1hcCA9IHJhd1N0YXRlLmVudGl0eU1hcDtcblxuXG4gIHZhciByYXdFbnRpdHlNYXAgPSB7fTtcblxuICBPYmplY3Qua2V5cyhlbnRpdHlNYXApLmZvckVhY2goZnVuY3Rpb24gKGtleSwgaW5kZXgpIHtcbiAgICB2YXIgZW50aXR5ID0gY29udGVudFN0YXRlLmdldEVudGl0eShEcmFmdFN0cmluZ0tleS51bnN0cmluZ2lmeShrZXkpKTtcbiAgICByYXdFbnRpdHlNYXBbaW5kZXhdID0ge1xuICAgICAgdHlwZTogZW50aXR5LmdldFR5cGUoKSxcbiAgICAgIG11dGFiaWxpdHk6IGVudGl0eS5nZXRNdXRhYmlsaXR5KCksXG4gICAgICBkYXRhOiBlbnRpdHkuZ2V0RGF0YSgpXG4gICAgfTtcbiAgfSk7XG5cbiAgcmV0dXJuIHtcbiAgICBibG9ja3M6IGJsb2NrcyxcbiAgICBlbnRpdHlNYXA6IHJhd0VudGl0eU1hcFxuICB9O1xufTtcblxudmFyIGNvbnZlcnRGcm9tRHJhZnRTdGF0ZVRvUmF3ID0gZnVuY3Rpb24gY29udmVydEZyb21EcmFmdFN0YXRlVG9SYXcoY29udGVudFN0YXRlKSB7XG4gIHZhciByYXdEcmFmdENvbnRlbnRTdGF0ZSA9IHtcbiAgICBlbnRpdHlNYXA6IHt9LFxuICAgIGJsb2NrczogW11cbiAgfTtcblxuICAvLyBhZGQgYmxvY2tzXG4gIHJhd0RyYWZ0Q29udGVudFN0YXRlID0gZW5jb2RlUmF3QmxvY2tzKGNvbnRlbnRTdGF0ZSwgcmF3RHJhZnRDb250ZW50U3RhdGUpO1xuXG4gIC8vIGFkZCBlbnRpdGllc1xuICByYXdEcmFmdENvbnRlbnRTdGF0ZSA9IGVuY29kZVJhd0VudGl0eU1hcChjb250ZW50U3RhdGUsIHJhd0RyYWZ0Q29udGVudFN0YXRlKTtcblxuICByZXR1cm4gcmF3RHJhZnRDb250ZW50U3RhdGU7XG59O1xuXG5tb2R1bGUuZXhwb3J0cyA9IGNvbnZlcnRGcm9tRHJhZnRTdGF0ZVRvUmF3OyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/convertFromDraftStateToRaw.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar ContentBlock = __webpack_require__(/*! ./ContentBlock */ \"./node_modules/draft-js/lib/ContentBlock.js\");\n\nvar ContentBlockNode = __webpack_require__(/*! ./ContentBlockNode */ \"./node_modules/draft-js/lib/ContentBlockNode.js\");\n\nvar DraftStringKey = __webpack_require__(/*! ./DraftStringKey */ \"./node_modules/draft-js/lib/DraftStringKey.js\");\n\nvar encodeEntityRanges = __webpack_require__(/*! ./encodeEntityRanges */ \"./node_modules/draft-js/lib/encodeEntityRanges.js\");\n\nvar encodeInlineStyleRanges = __webpack_require__(/*! ./encodeInlineStyleRanges */ \"./node_modules/draft-js/lib/encodeInlineStyleRanges.js\");\n\nvar invariant = __webpack_require__(/*! fbjs/lib/invariant */ \"./node_modules/fbjs/lib/invariant.js\");\n\nvar createRawBlock = function createRawBlock(block, entityStorageMap) {\n return {\n key: block.getKey(),\n text: block.getText(),\n type: block.getType(),\n depth: block.getDepth(),\n inlineStyleRanges: encodeInlineStyleRanges(block),\n entityRanges: encodeEntityRanges(block, entityStorageMap),\n data: block.getData().toObject()\n };\n};\n\nvar insertRawBlock = function insertRawBlock(block, entityMap, rawBlocks, blockCacheRef) {\n if (block instanceof ContentBlock) {\n rawBlocks.push(createRawBlock(block, entityMap));\n return;\n }\n\n !(block instanceof ContentBlockNode) ? true ? invariant(false, 'block is not a BlockNode') : undefined : void 0;\n var parentKey = block.getParentKey();\n\n var rawBlock = blockCacheRef[block.getKey()] = _objectSpread({}, createRawBlock(block, entityMap), {\n children: []\n });\n\n if (parentKey) {\n blockCacheRef[parentKey].children.push(rawBlock);\n return;\n }\n\n rawBlocks.push(rawBlock);\n};\n\nvar encodeRawBlocks = function encodeRawBlocks(contentState, rawState) {\n var entityMap = rawState.entityMap;\n var rawBlocks = [];\n var blockCacheRef = {};\n var entityCacheRef = {};\n var entityStorageKey = 0;\n contentState.getBlockMap().forEach(function (block) {\n block.findEntityRanges(function (character) {\n return character.getEntity() !== null;\n }, function (start) {\n var entityKey = block.getEntityAt(start); // Stringify to maintain order of otherwise numeric keys.\n\n var stringifiedEntityKey = DraftStringKey.stringify(entityKey); // This makes this function resilient to two entities\n // erroneously having the same key\n\n if (entityCacheRef[stringifiedEntityKey]) {\n return;\n }\n\n entityCacheRef[stringifiedEntityKey] = entityKey; // we need the `any` casting here since this is a temporary state\n // where we will later on flip the entity map and populate it with\n // real entity, at this stage we just need to map back the entity\n // key used by the BlockNode\n\n entityMap[stringifiedEntityKey] = \"\".concat(entityStorageKey);\n entityStorageKey++;\n });\n insertRawBlock(block, entityMap, rawBlocks, blockCacheRef);\n });\n return {\n blocks: rawBlocks,\n entityMap: entityMap\n };\n}; // Flip storage map so that our storage keys map to global\n// DraftEntity keys.\n\n\nvar encodeRawEntityMap = function encodeRawEntityMap(contentState, rawState) {\n var blocks = rawState.blocks,\n entityMap = rawState.entityMap;\n var rawEntityMap = {};\n Object.keys(entityMap).forEach(function (key, index) {\n var entity = contentState.getEntity(DraftStringKey.unstringify(key));\n rawEntityMap[index] = {\n type: entity.getType(),\n mutability: entity.getMutability(),\n data: entity.getData()\n };\n });\n return {\n blocks: blocks,\n entityMap: rawEntityMap\n };\n};\n\nvar convertFromDraftStateToRaw = function convertFromDraftStateToRaw(contentState) {\n var rawDraftContentState = {\n entityMap: {},\n blocks: []\n }; // add blocks\n\n rawDraftContentState = encodeRawBlocks(contentState, rawDraftContentState); // add entities\n\n rawDraftContentState = encodeRawEntityMap(contentState, rawDraftContentState);\n return rawDraftContentState;\n};\n\nmodule.exports = convertFromDraftStateToRaw;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2NvbnZlcnRGcm9tRHJhZnRTdGF0ZVRvUmF3LmpzP2ZmMmYiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDYTs7QUFFYixnQ0FBZ0MsZ0JBQWdCLHNCQUFzQixPQUFPLHVEQUF1RCxtQ0FBbUMsMERBQTBELHNGQUFzRixnRUFBZ0UsRUFBRSxHQUFHLEVBQUUsaUNBQWlDLDJDQUEyQyxFQUFFLEVBQUUsRUFBRSxlQUFlOztBQUUvZCwyQ0FBMkMsa0JBQWtCLGtDQUFrQyxxRUFBcUUsRUFBRSxFQUFFLE9BQU8sa0JBQWtCLEVBQUUsWUFBWTs7QUFFL00sbUJBQW1CLG1CQUFPLENBQUMsbUVBQWdCOztBQUUzQyx1QkFBdUIsbUJBQU8sQ0FBQywyRUFBb0I7O0FBRW5ELHFCQUFxQixtQkFBTyxDQUFDLHVFQUFrQjs7QUFFL0MseUJBQXlCLG1CQUFPLENBQUMsK0VBQXNCOztBQUV2RCw4QkFBOEIsbUJBQU8sQ0FBQyx5RkFBMkI7O0FBRWpFLGdCQUFnQixtQkFBTyxDQUFDLGdFQUFvQjs7QUFFNUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLHlDQUF5QyxLQUFxQyxrREFBa0QsU0FBZ0I7QUFDaEo7O0FBRUEsaUVBQWlFO0FBQ2pFO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTCwrQ0FBK0M7O0FBRS9DLHFFQUFxRTtBQUNyRTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsdURBQXVEO0FBQ3ZEO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBLElBQUk7O0FBRUosNkVBQTZFOztBQUU3RTtBQUNBO0FBQ0E7O0FBRUEiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2NvbnZlcnRGcm9tRHJhZnRTdGF0ZVRvUmF3LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIEZhY2Vib29rLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKiBAZm9ybWF0XG4gKiBcbiAqIEBlbWFpbHMgb25jYWxsK2RyYWZ0X2pzXG4gKi9cbid1c2Ugc3RyaWN0JztcblxuZnVuY3Rpb24gX29iamVjdFNwcmVhZCh0YXJnZXQpIHsgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHsgdmFyIHNvdXJjZSA9IGFyZ3VtZW50c1tpXSAhPSBudWxsID8gYXJndW1lbnRzW2ldIDoge307IHZhciBvd25LZXlzID0gT2JqZWN0LmtleXMoc291cmNlKTsgaWYgKHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzID09PSAnZnVuY3Rpb24nKSB7IG93bktleXMgPSBvd25LZXlzLmNvbmNhdChPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHNvdXJjZSkuZmlsdGVyKGZ1bmN0aW9uIChzeW0pIHsgcmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Ioc291cmNlLCBzeW0pLmVudW1lcmFibGU7IH0pKTsgfSBvd25LZXlzLmZvckVhY2goZnVuY3Rpb24gKGtleSkgeyBfZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIHNvdXJjZVtrZXldKTsgfSk7IH0gcmV0dXJuIHRhcmdldDsgfVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHZhbHVlKSB7IGlmIChrZXkgaW4gb2JqKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgeyB2YWx1ZTogdmFsdWUsIGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgd3JpdGFibGU6IHRydWUgfSk7IH0gZWxzZSB7IG9ialtrZXldID0gdmFsdWU7IH0gcmV0dXJuIG9iajsgfVxuXG52YXIgQ29udGVudEJsb2NrID0gcmVxdWlyZShcIi4vQ29udGVudEJsb2NrXCIpO1xuXG52YXIgQ29udGVudEJsb2NrTm9kZSA9IHJlcXVpcmUoXCIuL0NvbnRlbnRCbG9ja05vZGVcIik7XG5cbnZhciBEcmFmdFN0cmluZ0tleSA9IHJlcXVpcmUoXCIuL0RyYWZ0U3RyaW5nS2V5XCIpO1xuXG52YXIgZW5jb2RlRW50aXR5UmFuZ2VzID0gcmVxdWlyZShcIi4vZW5jb2RlRW50aXR5UmFuZ2VzXCIpO1xuXG52YXIgZW5jb2RlSW5saW5lU3R5bGVSYW5nZXMgPSByZXF1aXJlKFwiLi9lbmNvZGVJbmxpbmVTdHlsZVJhbmdlc1wiKTtcblxudmFyIGludmFyaWFudCA9IHJlcXVpcmUoXCJmYmpzL2xpYi9pbnZhcmlhbnRcIik7XG5cbnZhciBjcmVhdGVSYXdCbG9jayA9IGZ1bmN0aW9uIGNyZWF0ZVJhd0Jsb2NrKGJsb2NrLCBlbnRpdHlTdG9yYWdlTWFwKSB7XG4gIHJldHVybiB7XG4gICAga2V5OiBibG9jay5nZXRLZXkoKSxcbiAgICB0ZXh0OiBibG9jay5nZXRUZXh0KCksXG4gICAgdHlwZTogYmxvY2suZ2V0VHlwZSgpLFxuICAgIGRlcHRoOiBibG9jay5nZXREZXB0aCgpLFxuICAgIGlubGluZVN0eWxlUmFuZ2VzOiBlbmNvZGVJbmxpbmVTdHlsZVJhbmdlcyhibG9jayksXG4gICAgZW50aXR5UmFuZ2VzOiBlbmNvZGVFbnRpdHlSYW5nZXMoYmxvY2ssIGVudGl0eVN0b3JhZ2VNYXApLFxuICAgIGRhdGE6IGJsb2NrLmdldERhdGEoKS50b09iamVjdCgpXG4gIH07XG59O1xuXG52YXIgaW5zZXJ0UmF3QmxvY2sgPSBmdW5jdGlvbiBpbnNlcnRSYXdCbG9jayhibG9jaywgZW50aXR5TWFwLCByYXdCbG9ja3MsIGJsb2NrQ2FjaGVSZWYpIHtcbiAgaWYgKGJsb2NrIGluc3RhbmNlb2YgQ29udGVudEJsb2NrKSB7XG4gICAgcmF3QmxvY2tzLnB1c2goY3JlYXRlUmF3QmxvY2soYmxvY2ssIGVudGl0eU1hcCkpO1xuICAgIHJldHVybjtcbiAgfVxuXG4gICEoYmxvY2sgaW5zdGFuY2VvZiBDb250ZW50QmxvY2tOb2RlKSA/IHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIiA/IGludmFyaWFudChmYWxzZSwgJ2Jsb2NrIGlzIG5vdCBhIEJsb2NrTm9kZScpIDogaW52YXJpYW50KGZhbHNlKSA6IHZvaWQgMDtcbiAgdmFyIHBhcmVudEtleSA9IGJsb2NrLmdldFBhcmVudEtleSgpO1xuXG4gIHZhciByYXdCbG9jayA9IGJsb2NrQ2FjaGVSZWZbYmxvY2suZ2V0S2V5KCldID0gX29iamVjdFNwcmVhZCh7fSwgY3JlYXRlUmF3QmxvY2soYmxvY2ssIGVudGl0eU1hcCksIHtcbiAgICBjaGlsZHJlbjogW11cbiAgfSk7XG5cbiAgaWYgKHBhcmVudEtleSkge1xuICAgIGJsb2NrQ2FjaGVSZWZbcGFyZW50S2V5XS5jaGlsZHJlbi5wdXNoKHJhd0Jsb2NrKTtcbiAgICByZXR1cm47XG4gIH1cblxuICByYXdCbG9ja3MucHVzaChyYXdCbG9jayk7XG59O1xuXG52YXIgZW5jb2RlUmF3QmxvY2tzID0gZnVuY3Rpb24gZW5jb2RlUmF3QmxvY2tzKGNvbnRlbnRTdGF0ZSwgcmF3U3RhdGUpIHtcbiAgdmFyIGVudGl0eU1hcCA9IHJhd1N0YXRlLmVudGl0eU1hcDtcbiAgdmFyIHJhd0Jsb2NrcyA9IFtdO1xuICB2YXIgYmxvY2tDYWNoZVJlZiA9IHt9O1xuICB2YXIgZW50aXR5Q2FjaGVSZWYgPSB7fTtcbiAgdmFyIGVudGl0eVN0b3JhZ2VLZXkgPSAwO1xuICBjb250ZW50U3RhdGUuZ2V0QmxvY2tNYXAoKS5mb3JFYWNoKGZ1bmN0aW9uIChibG9jaykge1xuICAgIGJsb2NrLmZpbmRFbnRpdHlSYW5nZXMoZnVuY3Rpb24gKGNoYXJhY3Rlcikge1xuICAgICAgcmV0dXJuIGNoYXJhY3Rlci5nZXRFbnRpdHkoKSAhPT0gbnVsbDtcbiAgICB9LCBmdW5jdGlvbiAoc3RhcnQpIHtcbiAgICAgIHZhciBlbnRpdHlLZXkgPSBibG9jay5nZXRFbnRpdHlBdChzdGFydCk7IC8vIFN0cmluZ2lmeSB0byBtYWludGFpbiBvcmRlciBvZiBvdGhlcndpc2UgbnVtZXJpYyBrZXlzLlxuXG4gICAgICB2YXIgc3RyaW5naWZpZWRFbnRpdHlLZXkgPSBEcmFmdFN0cmluZ0tleS5zdHJpbmdpZnkoZW50aXR5S2V5KTsgLy8gVGhpcyBtYWtlcyB0aGlzIGZ1bmN0aW9uIHJlc2lsaWVudCB0byB0d28gZW50aXRpZXNcbiAgICAgIC8vIGVycm9uZW91c2x5IGhhdmluZyB0aGUgc2FtZSBrZXlcblxuICAgICAgaWYgKGVudGl0eUNhY2hlUmVmW3N0cmluZ2lmaWVkRW50aXR5S2V5XSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGVudGl0eUNhY2hlUmVmW3N0cmluZ2lmaWVkRW50aXR5S2V5XSA9IGVudGl0eUtleTsgLy8gd2UgbmVlZCB0aGUgYGFueWAgY2FzdGluZyBoZXJlIHNpbmNlIHRoaXMgaXMgYSB0ZW1wb3Jhcnkgc3RhdGVcbiAgICAgIC8vIHdoZXJlIHdlIHdpbGwgbGF0ZXIgb24gZmxpcCB0aGUgZW50aXR5IG1hcCBhbmQgcG9wdWxhdGUgaXQgd2l0aFxuICAgICAgLy8gcmVhbCBlbnRpdHksIGF0IHRoaXMgc3RhZ2Ugd2UganVzdCBuZWVkIHRvIG1hcCBiYWNrIHRoZSBlbnRpdHlcbiAgICAgIC8vIGtleSB1c2VkIGJ5IHRoZSBCbG9ja05vZGVcblxuICAgICAgZW50aXR5TWFwW3N0cmluZ2lmaWVkRW50aXR5S2V5XSA9IFwiXCIuY29uY2F0KGVudGl0eVN0b3JhZ2VLZXkpO1xuICAgICAgZW50aXR5U3RvcmFnZUtleSsrO1xuICAgIH0pO1xuICAgIGluc2VydFJhd0Jsb2NrKGJsb2NrLCBlbnRpdHlNYXAsIHJhd0Jsb2NrcywgYmxvY2tDYWNoZVJlZik7XG4gIH0pO1xuICByZXR1cm4ge1xuICAgIGJsb2NrczogcmF3QmxvY2tzLFxuICAgIGVudGl0eU1hcDogZW50aXR5TWFwXG4gIH07XG59OyAvLyBGbGlwIHN0b3JhZ2UgbWFwIHNvIHRoYXQgb3VyIHN0b3JhZ2Uga2V5cyBtYXAgdG8gZ2xvYmFsXG4vLyBEcmFmdEVudGl0eSBrZXlzLlxuXG5cbnZhciBlbmNvZGVSYXdFbnRpdHlNYXAgPSBmdW5jdGlvbiBlbmNvZGVSYXdFbnRpdHlNYXAoY29udGVudFN0YXRlLCByYXdTdGF0ZSkge1xuICB2YXIgYmxvY2tzID0gcmF3U3RhdGUuYmxvY2tzLFxuICAgICAgZW50aXR5TWFwID0gcmF3U3RhdGUuZW50aXR5TWFwO1xuICB2YXIgcmF3RW50aXR5TWFwID0ge307XG4gIE9iamVjdC5rZXlzKGVudGl0eU1hcCkuZm9yRWFjaChmdW5jdGlvbiAoa2V5LCBpbmRleCkge1xuICAgIHZhciBlbnRpdHkgPSBjb250ZW50U3RhdGUuZ2V0RW50aXR5KERyYWZ0U3RyaW5nS2V5LnVuc3RyaW5naWZ5KGtleSkpO1xuICAgIHJhd0VudGl0eU1hcFtpbmRleF0gPSB7XG4gICAgICB0eXBlOiBlbnRpdHkuZ2V0VHlwZSgpLFxuICAgICAgbXV0YWJpbGl0eTogZW50aXR5LmdldE11dGFiaWxpdHkoKSxcbiAgICAgIGRhdGE6IGVudGl0eS5nZXREYXRhKClcbiAgICB9O1xuICB9KTtcbiAgcmV0dXJuIHtcbiAgICBibG9ja3M6IGJsb2NrcyxcbiAgICBlbnRpdHlNYXA6IHJhd0VudGl0eU1hcFxuICB9O1xufTtcblxudmFyIGNvbnZlcnRGcm9tRHJhZnRTdGF0ZVRvUmF3ID0gZnVuY3Rpb24gY29udmVydEZyb21EcmFmdFN0YXRlVG9SYXcoY29udGVudFN0YXRlKSB7XG4gIHZhciByYXdEcmFmdENvbnRlbnRTdGF0ZSA9IHtcbiAgICBlbnRpdHlNYXA6IHt9LFxuICAgIGJsb2NrczogW11cbiAgfTsgLy8gYWRkIGJsb2Nrc1xuXG4gIHJhd0RyYWZ0Q29udGVudFN0YXRlID0gZW5jb2RlUmF3QmxvY2tzKGNvbnRlbnRTdGF0ZSwgcmF3RHJhZnRDb250ZW50U3RhdGUpOyAvLyBhZGQgZW50aXRpZXNcblxuICByYXdEcmFmdENvbnRlbnRTdGF0ZSA9IGVuY29kZVJhd0VudGl0eU1hcChjb250ZW50U3RhdGUsIHJhd0RyYWZ0Q29udGVudFN0YXRlKTtcbiAgcmV0dXJuIHJhd0RyYWZ0Q29udGVudFN0YXRlO1xufTtcblxubW9kdWxlLmV4cG9ydHMgPSBjb252ZXJ0RnJvbURyYWZ0U3RhdGVUb1JhdzsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/convertFromDraftStateToRaw.js\n"); /***/ }), @@ -547,7 +630,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule convertFromHTMLToContentBlocks\n * @format\n * \n */\n\n\n\nvar _extends = _assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _knownListItemDepthCl,\n _assign = __webpack_require__(/*! object-assign */ \"./node_modules/object-assign/index.js\");\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar CharacterMetadata = __webpack_require__(/*! ./CharacterMetadata */ \"./node_modules/draft-js/lib/CharacterMetadata.js\");\nvar ContentBlock = __webpack_require__(/*! ./ContentBlock */ \"./node_modules/draft-js/lib/ContentBlock.js\");\nvar ContentBlockNode = __webpack_require__(/*! ./ContentBlockNode */ \"./node_modules/draft-js/lib/ContentBlockNode.js\");\nvar DefaultDraftBlockRenderMap = __webpack_require__(/*! ./DefaultDraftBlockRenderMap */ \"./node_modules/draft-js/lib/DefaultDraftBlockRenderMap.js\");\nvar DraftEntity = __webpack_require__(/*! ./DraftEntity */ \"./node_modules/draft-js/lib/DraftEntity.js\");\nvar DraftFeatureFlags = __webpack_require__(/*! ./DraftFeatureFlags */ \"./node_modules/draft-js/lib/DraftFeatureFlags.js\");\nvar Immutable = __webpack_require__(/*! immutable */ \"./node_modules/draft-js/node_modules/immutable/dist/immutable.js\");\n\nvar _require = __webpack_require__(/*! immutable */ \"./node_modules/draft-js/node_modules/immutable/dist/immutable.js\"),\n Set = _require.Set;\n\nvar URI = __webpack_require__(/*! fbjs/lib/URI */ \"./node_modules/fbjs/lib/URI.js\");\n\nvar cx = __webpack_require__(/*! fbjs/lib/cx */ \"./node_modules/fbjs/lib/cx.js\");\nvar generateRandomKey = __webpack_require__(/*! ./generateRandomKey */ \"./node_modules/draft-js/lib/generateRandomKey.js\");\nvar getSafeBodyFromHTML = __webpack_require__(/*! ./getSafeBodyFromHTML */ \"./node_modules/draft-js/lib/getSafeBodyFromHTML.js\");\nvar invariant = __webpack_require__(/*! fbjs/lib/invariant */ \"./node_modules/fbjs/lib/invariant.js\");\nvar sanitizeDraftText = __webpack_require__(/*! ./sanitizeDraftText */ \"./node_modules/draft-js/lib/sanitizeDraftText.js\");\n\nvar experimentalTreeDataSupport = DraftFeatureFlags.draft_tree_data_support;\n\nvar List = Immutable.List,\n OrderedSet = Immutable.OrderedSet;\n\n\nvar NBSP = ' ';\nvar SPACE = ' ';\n\n// Arbitrary max indent\nvar MAX_DEPTH = 4;\n\n// used for replacing characters in HTML\nvar REGEX_CR = new RegExp('\\r', 'g');\nvar REGEX_LF = new RegExp('\\n', 'g');\nvar REGEX_NBSP = new RegExp(NBSP, 'g');\nvar REGEX_CARRIAGE = new RegExp(' ?', 'g');\nvar REGEX_ZWS = new RegExp('​?', 'g');\n\n// https://developer.mozilla.org/en-US/docs/Web/CSS/font-weight\nvar boldValues = ['bold', 'bolder', '500', '600', '700', '800', '900'];\nvar notBoldValues = ['light', 'lighter', '100', '200', '300', '400'];\n\n// Block tag flow is different because LIs do not have\n// a deterministic style ;_;\nvar inlineTags = {\n b: 'BOLD',\n code: 'CODE',\n del: 'STRIKETHROUGH',\n em: 'ITALIC',\n i: 'ITALIC',\n s: 'STRIKETHROUGH',\n strike: 'STRIKETHROUGH',\n strong: 'BOLD',\n u: 'UNDERLINE'\n};\n\nvar knownListItemDepthClasses = (_knownListItemDepthCl = {}, _defineProperty(_knownListItemDepthCl, cx('public/DraftStyleDefault/depth0'), 0), _defineProperty(_knownListItemDepthCl, cx('public/DraftStyleDefault/depth1'), 1), _defineProperty(_knownListItemDepthCl, cx('public/DraftStyleDefault/depth2'), 2), _defineProperty(_knownListItemDepthCl, cx('public/DraftStyleDefault/depth3'), 3), _defineProperty(_knownListItemDepthCl, cx('public/DraftStyleDefault/depth4'), 4), _knownListItemDepthCl);\n\nvar anchorAttr = ['className', 'href', 'rel', 'target', 'title'];\n\nvar imgAttr = ['alt', 'className', 'height', 'src', 'width'];\n\nvar lastBlock = void 0;\n\nvar EMPTY_CHUNK = {\n text: '',\n inlines: [],\n entities: [],\n blocks: []\n};\n\nvar EMPTY_BLOCK = {\n children: List(),\n depth: 0,\n key: '',\n type: ''\n};\n\nvar getListBlockType = function getListBlockType(tag, lastList) {\n if (tag === 'li') {\n return lastList === 'ol' ? 'ordered-list-item' : 'unordered-list-item';\n }\n return null;\n};\n\nvar getBlockMapSupportedTags = function getBlockMapSupportedTags(blockRenderMap) {\n var unstyledElement = blockRenderMap.get('unstyled').element;\n var tags = Set([]);\n\n blockRenderMap.forEach(function (draftBlock) {\n if (draftBlock.aliasedElements) {\n draftBlock.aliasedElements.forEach(function (tag) {\n tags = tags.add(tag);\n });\n }\n\n tags = tags.add(draftBlock.element);\n });\n\n return tags.filter(function (tag) {\n return tag && tag !== unstyledElement;\n }).toArray().sort();\n};\n\n// custom element conversions\nvar getMultiMatchedType = function getMultiMatchedType(tag, lastList, multiMatchExtractor) {\n for (var ii = 0; ii < multiMatchExtractor.length; ii++) {\n var matchType = multiMatchExtractor[ii](tag, lastList);\n if (matchType) {\n return matchType;\n }\n }\n return null;\n};\n\nvar getBlockTypeForTag = function getBlockTypeForTag(tag, lastList, blockRenderMap) {\n var matchedTypes = blockRenderMap.filter(function (draftBlock) {\n return draftBlock.element === tag || draftBlock.wrapper === tag || draftBlock.aliasedElements && draftBlock.aliasedElements.some(function (alias) {\n return alias === tag;\n });\n }).keySeq().toSet().toArray().sort();\n\n // if we dont have any matched type, return unstyled\n // if we have one matched type return it\n // if we have multi matched types use the multi-match function to gather type\n switch (matchedTypes.length) {\n case 0:\n return 'unstyled';\n case 1:\n return matchedTypes[0];\n default:\n return getMultiMatchedType(tag, lastList, [getListBlockType]) || 'unstyled';\n }\n};\n\nvar processInlineTag = function processInlineTag(tag, node, currentStyle) {\n var styleToCheck = inlineTags[tag];\n if (styleToCheck) {\n currentStyle = currentStyle.add(styleToCheck).toOrderedSet();\n } else if (node instanceof HTMLElement) {\n var htmlElement = node;\n currentStyle = currentStyle.withMutations(function (style) {\n var fontWeight = htmlElement.style.fontWeight;\n var fontStyle = htmlElement.style.fontStyle;\n var textDecoration = htmlElement.style.textDecoration;\n\n if (boldValues.indexOf(fontWeight) >= 0) {\n style.add('BOLD');\n } else if (notBoldValues.indexOf(fontWeight) >= 0) {\n style.remove('BOLD');\n }\n\n if (fontStyle === 'italic') {\n style.add('ITALIC');\n } else if (fontStyle === 'normal') {\n style.remove('ITALIC');\n }\n\n if (textDecoration === 'underline') {\n style.add('UNDERLINE');\n }\n if (textDecoration === 'line-through') {\n style.add('STRIKETHROUGH');\n }\n if (textDecoration === 'none') {\n style.remove('UNDERLINE');\n style.remove('STRIKETHROUGH');\n }\n }).toOrderedSet();\n }\n return currentStyle;\n};\n\nvar joinChunks = function joinChunks(A, B, experimentalHasNestedBlocks) {\n // Sometimes two blocks will touch in the DOM and we need to strip the\n // extra delimiter to preserve niceness.\n var lastInA = A.text.slice(-1);\n var firstInB = B.text.slice(0, 1);\n\n if (lastInA === '\\r' && firstInB === '\\r' && !experimentalHasNestedBlocks) {\n A.text = A.text.slice(0, -1);\n A.inlines.pop();\n A.entities.pop();\n A.blocks.pop();\n }\n\n // Kill whitespace after blocks\n if (lastInA === '\\r') {\n if (B.text === SPACE || B.text === '\\n') {\n return A;\n } else if (firstInB === SPACE || firstInB === '\\n') {\n B.text = B.text.slice(1);\n B.inlines.shift();\n B.entities.shift();\n }\n }\n\n return {\n text: A.text + B.text,\n inlines: A.inlines.concat(B.inlines),\n entities: A.entities.concat(B.entities),\n blocks: A.blocks.concat(B.blocks)\n };\n};\n\n/**\n * Check to see if we have anything like

... to create\n * block tags from. If we do, we can use those and ignore
tags. If we\n * don't, we can treat
tags as meaningful (unstyled) blocks.\n */\nvar containsSemanticBlockMarkup = function containsSemanticBlockMarkup(html, blockTags) {\n return blockTags.some(function (tag) {\n return html.indexOf('<' + tag) !== -1;\n });\n};\n\nvar hasValidLinkText = function hasValidLinkText(link) {\n !(link instanceof HTMLAnchorElement) ? true ? invariant(false, 'Link must be an HTMLAnchorElement.') : undefined : void 0;\n var protocol = link.protocol;\n return protocol === 'http:' || protocol === 'https:' || protocol === 'mailto:';\n};\n\nvar getWhitespaceChunk = function getWhitespaceChunk(inEntity) {\n var entities = new Array(1);\n if (inEntity) {\n entities[0] = inEntity;\n }\n return _extends({}, EMPTY_CHUNK, {\n text: SPACE,\n inlines: [OrderedSet()],\n entities: entities\n });\n};\n\nvar getSoftNewlineChunk = function getSoftNewlineChunk() {\n return _extends({}, EMPTY_CHUNK, {\n text: '\\n',\n inlines: [OrderedSet()],\n entities: new Array(1)\n });\n};\n\nvar getChunkedBlock = function getChunkedBlock() {\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n return _extends({}, EMPTY_BLOCK, props);\n};\n\nvar getBlockDividerChunk = function getBlockDividerChunk(block, depth) {\n var parentKey = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n\n return {\n text: '\\r',\n inlines: [OrderedSet()],\n entities: new Array(1),\n blocks: [getChunkedBlock({\n parent: parentKey,\n key: generateRandomKey(),\n type: block,\n depth: Math.max(0, Math.min(MAX_DEPTH, depth))\n })]\n };\n};\n\n/**\n * If we're pasting from one DraftEditor to another we can check to see if\n * existing list item depth classes are being used and preserve this style\n */\nvar getListItemDepth = function getListItemDepth(node) {\n var depth = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n\n Object.keys(knownListItemDepthClasses).some(function (depthClass) {\n if (node.classList.contains(depthClass)) {\n depth = knownListItemDepthClasses[depthClass];\n }\n });\n return depth;\n};\n\nvar genFragment = function genFragment(entityMap, node, inlineStyle, lastList, inBlock, blockTags, depth, blockRenderMap, inEntity, parentKey) {\n var lastLastBlock = lastBlock;\n var nodeName = node.nodeName.toLowerCase();\n var newEntityMap = entityMap;\n var nextBlockType = 'unstyled';\n var newBlock = false;\n var inBlockType = inBlock && getBlockTypeForTag(inBlock, lastList, blockRenderMap);\n var chunk = _extends({}, EMPTY_CHUNK);\n var newChunk = null;\n var blockKey = void 0;\n\n // Base Case\n if (nodeName === '#text') {\n var _text = node.textContent;\n var nodeTextContent = _text.trim();\n\n // We should not create blocks for leading spaces that are\n // existing around ol/ul and their children list items\n if (lastList && nodeTextContent === '' && node.parentElement) {\n var parentNodeName = node.parentElement.nodeName.toLowerCase();\n if (parentNodeName === 'ol' || parentNodeName === 'ul') {\n return { chunk: _extends({}, EMPTY_CHUNK), entityMap: entityMap };\n }\n }\n\n if (nodeTextContent === '' && inBlock !== 'pre') {\n return { chunk: getWhitespaceChunk(inEntity), entityMap: entityMap };\n }\n if (inBlock !== 'pre') {\n // Can't use empty string because MSWord\n _text = _text.replace(REGEX_LF, SPACE);\n }\n\n // save the last block so we can use it later\n lastBlock = nodeName;\n\n return {\n chunk: {\n text: _text,\n inlines: Array(_text.length).fill(inlineStyle),\n entities: Array(_text.length).fill(inEntity),\n blocks: []\n },\n entityMap: entityMap\n };\n }\n\n // save the last block so we can use it later\n lastBlock = nodeName;\n\n // BR tags\n if (nodeName === 'br') {\n if (lastLastBlock === 'br' && (!inBlock || inBlockType === 'unstyled')) {\n return {\n chunk: getBlockDividerChunk('unstyled', depth, parentKey),\n entityMap: entityMap\n };\n }\n return { chunk: getSoftNewlineChunk(), entityMap: entityMap };\n }\n\n // IMG tags\n if (nodeName === 'img' && node instanceof HTMLImageElement && node.attributes.getNamedItem('src') && node.attributes.getNamedItem('src').value) {\n var image = node;\n var entityConfig = {};\n\n imgAttr.forEach(function (attr) {\n var imageAttribute = image.getAttribute(attr);\n if (imageAttribute) {\n entityConfig[attr] = imageAttribute;\n }\n });\n // Forcing this node to have children because otherwise no entity will be\n // created for this node.\n // The child text node cannot just have a space or return as content -\n // we strip those out.\n // See https://github.com/facebook/draft-js/issues/231 for some context.\n node.textContent = '\\uD83D\\uDCF7';\n\n // TODO: update this when we remove DraftEntity entirely\n inEntity = DraftEntity.__create('IMAGE', 'MUTABLE', entityConfig || {});\n }\n\n // Inline tags\n inlineStyle = processInlineTag(nodeName, node, inlineStyle);\n\n // Handle lists\n if (nodeName === 'ul' || nodeName === 'ol') {\n if (lastList) {\n depth += 1;\n }\n lastList = nodeName;\n }\n\n if (!experimentalTreeDataSupport && nodeName === 'li' && node instanceof HTMLElement) {\n depth = getListItemDepth(node, depth);\n }\n\n var blockType = getBlockTypeForTag(nodeName, lastList, blockRenderMap);\n var inListBlock = lastList && inBlock === 'li' && nodeName === 'li';\n var inBlockOrHasNestedBlocks = (!inBlock || experimentalTreeDataSupport) && blockTags.indexOf(nodeName) !== -1;\n\n // Block Tags\n if (inListBlock || inBlockOrHasNestedBlocks) {\n chunk = getBlockDividerChunk(blockType, depth, parentKey);\n blockKey = chunk.blocks[0].key;\n inBlock = nodeName;\n newBlock = !experimentalTreeDataSupport;\n }\n\n // this is required so that we can handle 'ul' and 'ol'\n if (inListBlock) {\n nextBlockType = lastList === 'ul' ? 'unordered-list-item' : 'ordered-list-item';\n }\n\n // Recurse through children\n var child = node.firstChild;\n if (child != null) {\n nodeName = child.nodeName.toLowerCase();\n }\n\n var entityId = null;\n\n while (child) {\n if (child instanceof HTMLAnchorElement && child.href && hasValidLinkText(child)) {\n (function () {\n var anchor = child;\n var entityConfig = {};\n\n anchorAttr.forEach(function (attr) {\n var anchorAttribute = anchor.getAttribute(attr);\n if (anchorAttribute) {\n entityConfig[attr] = anchorAttribute;\n }\n });\n\n entityConfig.url = new URI(anchor.href).toString();\n // TODO: update this when we remove DraftEntity completely\n entityId = DraftEntity.__create('LINK', 'MUTABLE', entityConfig || {});\n })();\n } else {\n entityId = undefined;\n }\n\n var _genFragment = genFragment(newEntityMap, child, inlineStyle, lastList, inBlock, blockTags, depth, blockRenderMap, entityId || inEntity, experimentalTreeDataSupport ? blockKey : null),\n generatedChunk = _genFragment.chunk,\n maybeUpdatedEntityMap = _genFragment.entityMap;\n\n newChunk = generatedChunk;\n newEntityMap = maybeUpdatedEntityMap;\n\n chunk = joinChunks(chunk, newChunk, experimentalTreeDataSupport);\n var sibling = child.nextSibling;\n\n // Put in a newline to break up blocks inside blocks\n if (!parentKey && sibling && blockTags.indexOf(nodeName) >= 0 && inBlock) {\n chunk = joinChunks(chunk, getSoftNewlineChunk());\n }\n if (sibling) {\n nodeName = sibling.nodeName.toLowerCase();\n }\n child = sibling;\n }\n\n if (newBlock) {\n chunk = joinChunks(chunk, getBlockDividerChunk(nextBlockType, depth, parentKey));\n }\n\n return { chunk: chunk, entityMap: newEntityMap };\n};\n\nvar getChunkForHTML = function getChunkForHTML(html, DOMBuilder, blockRenderMap, entityMap) {\n html = html.trim().replace(REGEX_CR, '').replace(REGEX_NBSP, SPACE).replace(REGEX_CARRIAGE, '').replace(REGEX_ZWS, '');\n\n var supportedBlockTags = getBlockMapSupportedTags(blockRenderMap);\n\n var safeBody = DOMBuilder(html);\n if (!safeBody) {\n return null;\n }\n lastBlock = null;\n\n // Sometimes we aren't dealing with content that contains nice semantic\n // tags. In this case, use divs to separate everything out into paragraphs\n // and hope for the best.\n var workingBlocks = containsSemanticBlockMarkup(html, supportedBlockTags) ? supportedBlockTags : ['div'];\n\n // Start with -1 block depth to offset the fact that we are passing in a fake\n // UL block to start with.\n var fragment = genFragment(entityMap, safeBody, OrderedSet(), 'ul', null, workingBlocks, -1, blockRenderMap);\n\n var chunk = fragment.chunk;\n var newEntityMap = fragment.entityMap;\n\n // join with previous block to prevent weirdness on paste\n if (chunk.text.indexOf('\\r') === 0) {\n chunk = {\n text: chunk.text.slice(1),\n inlines: chunk.inlines.slice(1),\n entities: chunk.entities.slice(1),\n blocks: chunk.blocks\n };\n }\n\n // Kill block delimiter at the end\n if (chunk.text.slice(-1) === '\\r') {\n chunk.text = chunk.text.slice(0, -1);\n chunk.inlines = chunk.inlines.slice(0, -1);\n chunk.entities = chunk.entities.slice(0, -1);\n chunk.blocks.pop();\n }\n\n // If we saw no block tags, put an unstyled one in\n if (chunk.blocks.length === 0) {\n chunk.blocks.push(_extends({}, EMPTY_CHUNK, {\n type: 'unstyled',\n depth: 0\n }));\n }\n\n // Sometimes we start with text that isn't in a block, which is then\n // followed by blocks. Need to fix up the blocks to add in\n // an unstyled block for this content\n if (chunk.text.split('\\r').length === chunk.blocks.length + 1) {\n chunk.blocks.unshift({ type: 'unstyled', depth: 0 });\n }\n\n return { chunk: chunk, entityMap: newEntityMap };\n};\n\nvar convertChunkToContentBlocks = function convertChunkToContentBlocks(chunk) {\n if (!chunk || !chunk.text || !Array.isArray(chunk.blocks)) {\n return null;\n }\n\n var initialState = {\n cacheRef: {},\n contentBlocks: []\n };\n\n var start = 0;\n\n var rawBlocks = chunk.blocks,\n rawInlines = chunk.inlines,\n rawEntities = chunk.entities;\n\n\n var BlockNodeRecord = experimentalTreeDataSupport ? ContentBlockNode : ContentBlock;\n\n return chunk.text.split('\\r').reduce(function (acc, textBlock, index) {\n // Make absolutely certain that our text is acceptable.\n textBlock = sanitizeDraftText(textBlock);\n\n var block = rawBlocks[index];\n var end = start + textBlock.length;\n var inlines = rawInlines.slice(start, end);\n var entities = rawEntities.slice(start, end);\n var characterList = List(inlines.map(function (style, index) {\n var data = { style: style, entity: null };\n if (entities[index]) {\n data.entity = entities[index];\n }\n return CharacterMetadata.create(data);\n }));\n start = end + 1;\n\n var depth = block.depth,\n type = block.type,\n parent = block.parent;\n\n\n var key = block.key || generateRandomKey();\n var parentTextNodeKey = null; // will be used to store container text nodes\n\n // childrens add themselves to their parents since we are iterating in order\n if (parent) {\n var parentIndex = acc.cacheRef[parent];\n var parentRecord = acc.contentBlocks[parentIndex];\n\n // if parent has text we need to split it into a separate unstyled element\n if (parentRecord.getChildKeys().isEmpty() && parentRecord.getText()) {\n var parentCharacterList = parentRecord.getCharacterList();\n var parentText = parentRecord.getText();\n parentTextNodeKey = generateRandomKey();\n\n var textNode = new ContentBlockNode({\n key: parentTextNodeKey,\n text: parentText,\n characterList: parentCharacterList,\n parent: parent,\n nextSibling: key\n });\n\n acc.contentBlocks.push(textNode);\n\n parentRecord = parentRecord.withMutations(function (block) {\n block.set('characterList', List()).set('text', '').set('children', parentRecord.children.push(textNode.getKey()));\n });\n }\n\n acc.contentBlocks[parentIndex] = parentRecord.set('children', parentRecord.children.push(key));\n }\n\n var blockNode = new BlockNodeRecord({\n key: key,\n parent: parent,\n type: type,\n depth: depth,\n text: textBlock,\n characterList: characterList,\n prevSibling: parentTextNodeKey || (index === 0 || rawBlocks[index - 1].parent !== parent ? null : rawBlocks[index - 1].key),\n nextSibling: index === rawBlocks.length - 1 || rawBlocks[index + 1].parent !== parent ? null : rawBlocks[index + 1].key\n });\n\n // insert node\n acc.contentBlocks.push(blockNode);\n\n // cache ref for building links\n acc.cacheRef[blockNode.key] = index;\n\n return acc;\n }, initialState).contentBlocks;\n};\n\nvar convertFromHTMLtoContentBlocks = function convertFromHTMLtoContentBlocks(html) {\n var DOMBuilder = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getSafeBodyFromHTML;\n var blockRenderMap = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : DefaultDraftBlockRenderMap;\n\n // Be ABSOLUTELY SURE that the dom builder you pass here won't execute\n // arbitrary code in whatever environment you're running this in. For an\n // example of how we try to do this in-browser, see getSafeBodyFromHTML.\n\n // TODO: replace DraftEntity with an OrderedMap here\n var chunkData = getChunkForHTML(html, DOMBuilder, blockRenderMap, DraftEntity);\n\n if (chunkData == null) {\n return null;\n }\n\n var chunk = chunkData.chunk,\n entityMap = chunkData.entityMap;\n\n var contentBlocks = convertChunkToContentBlocks(chunk);\n\n return {\n contentBlocks: contentBlocks,\n entityMap: entityMap\n };\n};\n\nmodule.exports = convertFromHTMLtoContentBlocks;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2NvbnZlcnRGcm9tSFRNTFRvQ29udGVudEJsb2Nrcy5qcz9kNmFhIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFYTs7QUFFYiw2Q0FBNkMsZ0JBQWdCLHNCQUFzQixPQUFPLDJCQUEyQiwwQkFBMEIseURBQXlELDJCQUEyQixFQUFFLEVBQUUsRUFBRSxlQUFlOztBQUV4UDtBQUNBLGNBQWMsbUJBQU8sQ0FBQyw0REFBZTs7QUFFckMsMkNBQTJDLGtCQUFrQixrQ0FBa0MscUVBQXFFLEVBQUUsRUFBRSxPQUFPLGtCQUFrQixFQUFFLFlBQVk7O0FBRS9NLHdCQUF3QixtQkFBTyxDQUFDLDZFQUFxQjtBQUNyRCxtQkFBbUIsbUJBQU8sQ0FBQyxtRUFBZ0I7QUFDM0MsdUJBQXVCLG1CQUFPLENBQUMsMkVBQW9CO0FBQ25ELGlDQUFpQyxtQkFBTyxDQUFDLCtGQUE4QjtBQUN2RSxrQkFBa0IsbUJBQU8sQ0FBQyxpRUFBZTtBQUN6Qyx3QkFBd0IsbUJBQU8sQ0FBQyw2RUFBcUI7QUFDckQsZ0JBQWdCLG1CQUFPLENBQUMsbUZBQVc7O0FBRW5DLGVBQWUsbUJBQU8sQ0FBQyxtRkFBVztBQUNsQzs7QUFFQSxVQUFVLG1CQUFPLENBQUMsb0RBQWM7O0FBRWhDLFNBQVMsbUJBQU8sQ0FBQyxrREFBYTtBQUM5Qix3QkFBd0IsbUJBQU8sQ0FBQyw2RUFBcUI7QUFDckQsMEJBQTBCLG1CQUFPLENBQUMsaUZBQXVCO0FBQ3pELGdCQUFnQixtQkFBTyxDQUFDLGdFQUFvQjtBQUM1Qyx3QkFBd0IsbUJBQU8sQ0FBQyw2RUFBcUI7O0FBRXJEOztBQUVBO0FBQ0E7OztBQUdBLGtCQUFrQjtBQUNsQjs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0NBQXNDO0FBQ3RDLG1DQUFtQzs7QUFFbkM7QUFDQTtBQUNBOztBQUVBO0FBQ0EsMEJBQTBCO0FBQzFCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsMkRBQTJEOztBQUUzRDs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7O0FBRUE7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBLGtCQUFrQixpQ0FBaUM7QUFDbkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQSx5Q0FBeUMsS0FBcUMsNERBQTRELFNBQWdCO0FBQzFKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBLG9CQUFvQjtBQUNwQjtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTs7QUFFQSxvQkFBb0I7QUFDcEI7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlCQUF5QjtBQUN6QjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0IsbUJBQW1CO0FBQ25DO0FBQ0E7O0FBRUE7QUFDQSxjQUFjO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWTtBQUNaOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsMEVBQTBFO0FBQzFFOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7O0FBRVQ7QUFDQTtBQUNBLDZFQUE2RTtBQUM3RSxPQUFPO0FBQ1AsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBLFVBQVU7QUFDVjs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxpQ0FBaUM7QUFDakM7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBCQUEwQiw2QkFBNkI7QUFDdkQ7O0FBRUEsVUFBVTtBQUNWOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsZ0JBQWdCO0FBQ2hCO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQjtBQUNsQjtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0EsaUNBQWlDOztBQUVqQztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7O0FBRVQ7O0FBRUE7QUFDQTtBQUNBLFNBQVM7QUFDVDs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2RyYWZ0LWpzL2xpYi9jb252ZXJ0RnJvbUhUTUxUb0NvbnRlbnRCbG9ja3MuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxMy1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuICogQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBCU0Qtc3R5bGUgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS4gQW4gYWRkaXRpb25hbCBncmFudFxuICogb2YgcGF0ZW50IHJpZ2h0cyBjYW4gYmUgZm91bmQgaW4gdGhlIFBBVEVOVFMgZmlsZSBpbiB0aGUgc2FtZSBkaXJlY3RvcnkuXG4gKlxuICogQHByb3ZpZGVzTW9kdWxlIGNvbnZlcnRGcm9tSFRNTFRvQ29udGVudEJsb2Nrc1xuICogQGZvcm1hdFxuICogXG4gKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG52YXIgX2V4dGVuZHMgPSBfYXNzaWduIHx8IGZ1bmN0aW9uICh0YXJnZXQpIHsgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHsgdmFyIHNvdXJjZSA9IGFyZ3VtZW50c1tpXTsgZm9yICh2YXIga2V5IGluIHNvdXJjZSkgeyBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHNvdXJjZSwga2V5KSkgeyB0YXJnZXRba2V5XSA9IHNvdXJjZVtrZXldOyB9IH0gfSByZXR1cm4gdGFyZ2V0OyB9O1xuXG52YXIgX2tub3duTGlzdEl0ZW1EZXB0aENsLFxuICAgIF9hc3NpZ24gPSByZXF1aXJlKCdvYmplY3QtYXNzaWduJyk7XG5cbmZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgdmFsdWUpIHsgaWYgKGtleSBpbiBvYmopIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwga2V5LCB7IHZhbHVlOiB2YWx1ZSwgZW51bWVyYWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCB3cml0YWJsZTogdHJ1ZSB9KTsgfSBlbHNlIHsgb2JqW2tleV0gPSB2YWx1ZTsgfSByZXR1cm4gb2JqOyB9XG5cbnZhciBDaGFyYWN0ZXJNZXRhZGF0YSA9IHJlcXVpcmUoJy4vQ2hhcmFjdGVyTWV0YWRhdGEnKTtcbnZhciBDb250ZW50QmxvY2sgPSByZXF1aXJlKCcuL0NvbnRlbnRCbG9jaycpO1xudmFyIENvbnRlbnRCbG9ja05vZGUgPSByZXF1aXJlKCcuL0NvbnRlbnRCbG9ja05vZGUnKTtcbnZhciBEZWZhdWx0RHJhZnRCbG9ja1JlbmRlck1hcCA9IHJlcXVpcmUoJy4vRGVmYXVsdERyYWZ0QmxvY2tSZW5kZXJNYXAnKTtcbnZhciBEcmFmdEVudGl0eSA9IHJlcXVpcmUoJy4vRHJhZnRFbnRpdHknKTtcbnZhciBEcmFmdEZlYXR1cmVGbGFncyA9IHJlcXVpcmUoJy4vRHJhZnRGZWF0dXJlRmxhZ3MnKTtcbnZhciBJbW11dGFibGUgPSByZXF1aXJlKCdpbW11dGFibGUnKTtcblxudmFyIF9yZXF1aXJlID0gcmVxdWlyZSgnaW1tdXRhYmxlJyksXG4gICAgU2V0ID0gX3JlcXVpcmUuU2V0O1xuXG52YXIgVVJJID0gcmVxdWlyZSgnZmJqcy9saWIvVVJJJyk7XG5cbnZhciBjeCA9IHJlcXVpcmUoJ2ZianMvbGliL2N4Jyk7XG52YXIgZ2VuZXJhdGVSYW5kb21LZXkgPSByZXF1aXJlKCcuL2dlbmVyYXRlUmFuZG9tS2V5Jyk7XG52YXIgZ2V0U2FmZUJvZHlGcm9tSFRNTCA9IHJlcXVpcmUoJy4vZ2V0U2FmZUJvZHlGcm9tSFRNTCcpO1xudmFyIGludmFyaWFudCA9IHJlcXVpcmUoJ2ZianMvbGliL2ludmFyaWFudCcpO1xudmFyIHNhbml0aXplRHJhZnRUZXh0ID0gcmVxdWlyZSgnLi9zYW5pdGl6ZURyYWZ0VGV4dCcpO1xuXG52YXIgZXhwZXJpbWVudGFsVHJlZURhdGFTdXBwb3J0ID0gRHJhZnRGZWF0dXJlRmxhZ3MuZHJhZnRfdHJlZV9kYXRhX3N1cHBvcnQ7XG5cbnZhciBMaXN0ID0gSW1tdXRhYmxlLkxpc3QsXG4gICAgT3JkZXJlZFNldCA9IEltbXV0YWJsZS5PcmRlcmVkU2V0O1xuXG5cbnZhciBOQlNQID0gJyZuYnNwOyc7XG52YXIgU1BBQ0UgPSAnICc7XG5cbi8vIEFyYml0cmFyeSBtYXggaW5kZW50XG52YXIgTUFYX0RFUFRIID0gNDtcblxuLy8gdXNlZCBmb3IgcmVwbGFjaW5nIGNoYXJhY3RlcnMgaW4gSFRNTFxudmFyIFJFR0VYX0NSID0gbmV3IFJlZ0V4cCgnXFxyJywgJ2cnKTtcbnZhciBSRUdFWF9MRiA9IG5ldyBSZWdFeHAoJ1xcbicsICdnJyk7XG52YXIgUkVHRVhfTkJTUCA9IG5ldyBSZWdFeHAoTkJTUCwgJ2cnKTtcbnZhciBSRUdFWF9DQVJSSUFHRSA9IG5ldyBSZWdFeHAoJyYjMTM7PycsICdnJyk7XG52YXIgUkVHRVhfWldTID0gbmV3IFJlZ0V4cCgnJiM4MjAzOz8nLCAnZycpO1xuXG4vLyBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9DU1MvZm9udC13ZWlnaHRcbnZhciBib2xkVmFsdWVzID0gWydib2xkJywgJ2JvbGRlcicsICc1MDAnLCAnNjAwJywgJzcwMCcsICc4MDAnLCAnOTAwJ107XG52YXIgbm90Qm9sZFZhbHVlcyA9IFsnbGlnaHQnLCAnbGlnaHRlcicsICcxMDAnLCAnMjAwJywgJzMwMCcsICc0MDAnXTtcblxuLy8gQmxvY2sgdGFnIGZsb3cgaXMgZGlmZmVyZW50IGJlY2F1c2UgTElzIGRvIG5vdCBoYXZlXG4vLyBhIGRldGVybWluaXN0aWMgc3R5bGUgO187XG52YXIgaW5saW5lVGFncyA9IHtcbiAgYjogJ0JPTEQnLFxuICBjb2RlOiAnQ09ERScsXG4gIGRlbDogJ1NUUklLRVRIUk9VR0gnLFxuICBlbTogJ0lUQUxJQycsXG4gIGk6ICdJVEFMSUMnLFxuICBzOiAnU1RSSUtFVEhST1VHSCcsXG4gIHN0cmlrZTogJ1NUUklLRVRIUk9VR0gnLFxuICBzdHJvbmc6ICdCT0xEJyxcbiAgdTogJ1VOREVSTElORSdcbn07XG5cbnZhciBrbm93bkxpc3RJdGVtRGVwdGhDbGFzc2VzID0gKF9rbm93bkxpc3RJdGVtRGVwdGhDbCA9IHt9LCBfZGVmaW5lUHJvcGVydHkoX2tub3duTGlzdEl0ZW1EZXB0aENsLCBjeCgncHVibGljL0RyYWZ0U3R5bGVEZWZhdWx0L2RlcHRoMCcpLCAwKSwgX2RlZmluZVByb3BlcnR5KF9rbm93bkxpc3RJdGVtRGVwdGhDbCwgY3goJ3B1YmxpYy9EcmFmdFN0eWxlRGVmYXVsdC9kZXB0aDEnKSwgMSksIF9kZWZpbmVQcm9wZXJ0eShfa25vd25MaXN0SXRlbURlcHRoQ2wsIGN4KCdwdWJsaWMvRHJhZnRTdHlsZURlZmF1bHQvZGVwdGgyJyksIDIpLCBfZGVmaW5lUHJvcGVydHkoX2tub3duTGlzdEl0ZW1EZXB0aENsLCBjeCgncHVibGljL0RyYWZ0U3R5bGVEZWZhdWx0L2RlcHRoMycpLCAzKSwgX2RlZmluZVByb3BlcnR5KF9rbm93bkxpc3RJdGVtRGVwdGhDbCwgY3goJ3B1YmxpYy9EcmFmdFN0eWxlRGVmYXVsdC9kZXB0aDQnKSwgNCksIF9rbm93bkxpc3RJdGVtRGVwdGhDbCk7XG5cbnZhciBhbmNob3JBdHRyID0gWydjbGFzc05hbWUnLCAnaHJlZicsICdyZWwnLCAndGFyZ2V0JywgJ3RpdGxlJ107XG5cbnZhciBpbWdBdHRyID0gWydhbHQnLCAnY2xhc3NOYW1lJywgJ2hlaWdodCcsICdzcmMnLCAnd2lkdGgnXTtcblxudmFyIGxhc3RCbG9jayA9IHZvaWQgMDtcblxudmFyIEVNUFRZX0NIVU5LID0ge1xuICB0ZXh0OiAnJyxcbiAgaW5saW5lczogW10sXG4gIGVudGl0aWVzOiBbXSxcbiAgYmxvY2tzOiBbXVxufTtcblxudmFyIEVNUFRZX0JMT0NLID0ge1xuICBjaGlsZHJlbjogTGlzdCgpLFxuICBkZXB0aDogMCxcbiAga2V5OiAnJyxcbiAgdHlwZTogJydcbn07XG5cbnZhciBnZXRMaXN0QmxvY2tUeXBlID0gZnVuY3Rpb24gZ2V0TGlzdEJsb2NrVHlwZSh0YWcsIGxhc3RMaXN0KSB7XG4gIGlmICh0YWcgPT09ICdsaScpIHtcbiAgICByZXR1cm4gbGFzdExpc3QgPT09ICdvbCcgPyAnb3JkZXJlZC1saXN0LWl0ZW0nIDogJ3Vub3JkZXJlZC1saXN0LWl0ZW0nO1xuICB9XG4gIHJldHVybiBudWxsO1xufTtcblxudmFyIGdldEJsb2NrTWFwU3VwcG9ydGVkVGFncyA9IGZ1bmN0aW9uIGdldEJsb2NrTWFwU3VwcG9ydGVkVGFncyhibG9ja1JlbmRlck1hcCkge1xuICB2YXIgdW5zdHlsZWRFbGVtZW50ID0gYmxvY2tSZW5kZXJNYXAuZ2V0KCd1bnN0eWxlZCcpLmVsZW1lbnQ7XG4gIHZhciB0YWdzID0gU2V0KFtdKTtcblxuICBibG9ja1JlbmRlck1hcC5mb3JFYWNoKGZ1bmN0aW9uIChkcmFmdEJsb2NrKSB7XG4gICAgaWYgKGRyYWZ0QmxvY2suYWxpYXNlZEVsZW1lbnRzKSB7XG4gICAgICBkcmFmdEJsb2NrLmFsaWFzZWRFbGVtZW50cy5mb3JFYWNoKGZ1bmN0aW9uICh0YWcpIHtcbiAgICAgICAgdGFncyA9IHRhZ3MuYWRkKHRhZyk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICB0YWdzID0gdGFncy5hZGQoZHJhZnRCbG9jay5lbGVtZW50KTtcbiAgfSk7XG5cbiAgcmV0dXJuIHRhZ3MuZmlsdGVyKGZ1bmN0aW9uICh0YWcpIHtcbiAgICByZXR1cm4gdGFnICYmIHRhZyAhPT0gdW5zdHlsZWRFbGVtZW50O1xuICB9KS50b0FycmF5KCkuc29ydCgpO1xufTtcblxuLy8gY3VzdG9tIGVsZW1lbnQgY29udmVyc2lvbnNcbnZhciBnZXRNdWx0aU1hdGNoZWRUeXBlID0gZnVuY3Rpb24gZ2V0TXVsdGlNYXRjaGVkVHlwZSh0YWcsIGxhc3RMaXN0LCBtdWx0aU1hdGNoRXh0cmFjdG9yKSB7XG4gIGZvciAodmFyIGlpID0gMDsgaWkgPCBtdWx0aU1hdGNoRXh0cmFjdG9yLmxlbmd0aDsgaWkrKykge1xuICAgIHZhciBtYXRjaFR5cGUgPSBtdWx0aU1hdGNoRXh0cmFjdG9yW2lpXSh0YWcsIGxhc3RMaXN0KTtcbiAgICBpZiAobWF0Y2hUeXBlKSB7XG4gICAgICByZXR1cm4gbWF0Y2hUeXBlO1xuICAgIH1cbiAgfVxuICByZXR1cm4gbnVsbDtcbn07XG5cbnZhciBnZXRCbG9ja1R5cGVGb3JUYWcgPSBmdW5jdGlvbiBnZXRCbG9ja1R5cGVGb3JUYWcodGFnLCBsYXN0TGlzdCwgYmxvY2tSZW5kZXJNYXApIHtcbiAgdmFyIG1hdGNoZWRUeXBlcyA9IGJsb2NrUmVuZGVyTWFwLmZpbHRlcihmdW5jdGlvbiAoZHJhZnRCbG9jaykge1xuICAgIHJldHVybiBkcmFmdEJsb2NrLmVsZW1lbnQgPT09IHRhZyB8fCBkcmFmdEJsb2NrLndyYXBwZXIgPT09IHRhZyB8fCBkcmFmdEJsb2NrLmFsaWFzZWRFbGVtZW50cyAmJiBkcmFmdEJsb2NrLmFsaWFzZWRFbGVtZW50cy5zb21lKGZ1bmN0aW9uIChhbGlhcykge1xuICAgICAgcmV0dXJuIGFsaWFzID09PSB0YWc7XG4gICAgfSk7XG4gIH0pLmtleVNlcSgpLnRvU2V0KCkudG9BcnJheSgpLnNvcnQoKTtcblxuICAvLyBpZiB3ZSBkb250IGhhdmUgYW55IG1hdGNoZWQgdHlwZSwgcmV0dXJuIHVuc3R5bGVkXG4gIC8vIGlmIHdlIGhhdmUgb25lIG1hdGNoZWQgdHlwZSByZXR1cm4gaXRcbiAgLy8gaWYgd2UgaGF2ZSBtdWx0aSBtYXRjaGVkIHR5cGVzIHVzZSB0aGUgbXVsdGktbWF0Y2ggZnVuY3Rpb24gdG8gZ2F0aGVyIHR5cGVcbiAgc3dpdGNoIChtYXRjaGVkVHlwZXMubGVuZ3RoKSB7XG4gICAgY2FzZSAwOlxuICAgICAgcmV0dXJuICd1bnN0eWxlZCc7XG4gICAgY2FzZSAxOlxuICAgICAgcmV0dXJuIG1hdGNoZWRUeXBlc1swXTtcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIGdldE11bHRpTWF0Y2hlZFR5cGUodGFnLCBsYXN0TGlzdCwgW2dldExpc3RCbG9ja1R5cGVdKSB8fCAndW5zdHlsZWQnO1xuICB9XG59O1xuXG52YXIgcHJvY2Vzc0lubGluZVRhZyA9IGZ1bmN0aW9uIHByb2Nlc3NJbmxpbmVUYWcodGFnLCBub2RlLCBjdXJyZW50U3R5bGUpIHtcbiAgdmFyIHN0eWxlVG9DaGVjayA9IGlubGluZVRhZ3NbdGFnXTtcbiAgaWYgKHN0eWxlVG9DaGVjaykge1xuICAgIGN1cnJlbnRTdHlsZSA9IGN1cnJlbnRTdHlsZS5hZGQoc3R5bGVUb0NoZWNrKS50b09yZGVyZWRTZXQoKTtcbiAgfSBlbHNlIGlmIChub2RlIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpIHtcbiAgICB2YXIgaHRtbEVsZW1lbnQgPSBub2RlO1xuICAgIGN1cnJlbnRTdHlsZSA9IGN1cnJlbnRTdHlsZS53aXRoTXV0YXRpb25zKGZ1bmN0aW9uIChzdHlsZSkge1xuICAgICAgdmFyIGZvbnRXZWlnaHQgPSBodG1sRWxlbWVudC5zdHlsZS5mb250V2VpZ2h0O1xuICAgICAgdmFyIGZvbnRTdHlsZSA9IGh0bWxFbGVtZW50LnN0eWxlLmZvbnRTdHlsZTtcbiAgICAgIHZhciB0ZXh0RGVjb3JhdGlvbiA9IGh0bWxFbGVtZW50LnN0eWxlLnRleHREZWNvcmF0aW9uO1xuXG4gICAgICBpZiAoYm9sZFZhbHVlcy5pbmRleE9mKGZvbnRXZWlnaHQpID49IDApIHtcbiAgICAgICAgc3R5bGUuYWRkKCdCT0xEJyk7XG4gICAgICB9IGVsc2UgaWYgKG5vdEJvbGRWYWx1ZXMuaW5kZXhPZihmb250V2VpZ2h0KSA+PSAwKSB7XG4gICAgICAgIHN0eWxlLnJlbW92ZSgnQk9MRCcpO1xuICAgICAgfVxuXG4gICAgICBpZiAoZm9udFN0eWxlID09PSAnaXRhbGljJykge1xuICAgICAgICBzdHlsZS5hZGQoJ0lUQUxJQycpO1xuICAgICAgfSBlbHNlIGlmIChmb250U3R5bGUgPT09ICdub3JtYWwnKSB7XG4gICAgICAgIHN0eWxlLnJlbW92ZSgnSVRBTElDJyk7XG4gICAgICB9XG5cbiAgICAgIGlmICh0ZXh0RGVjb3JhdGlvbiA9PT0gJ3VuZGVybGluZScpIHtcbiAgICAgICAgc3R5bGUuYWRkKCdVTkRFUkxJTkUnKTtcbiAgICAgIH1cbiAgICAgIGlmICh0ZXh0RGVjb3JhdGlvbiA9PT0gJ2xpbmUtdGhyb3VnaCcpIHtcbiAgICAgICAgc3R5bGUuYWRkKCdTVFJJS0VUSFJPVUdIJyk7XG4gICAgICB9XG4gICAgICBpZiAodGV4dERlY29yYXRpb24gPT09ICdub25lJykge1xuICAgICAgICBzdHlsZS5yZW1vdmUoJ1VOREVSTElORScpO1xuICAgICAgICBzdHlsZS5yZW1vdmUoJ1NUUklLRVRIUk9VR0gnKTtcbiAgICAgIH1cbiAgICB9KS50b09yZGVyZWRTZXQoKTtcbiAgfVxuICByZXR1cm4gY3VycmVudFN0eWxlO1xufTtcblxudmFyIGpvaW5DaHVua3MgPSBmdW5jdGlvbiBqb2luQ2h1bmtzKEEsIEIsIGV4cGVyaW1lbnRhbEhhc05lc3RlZEJsb2Nrcykge1xuICAvLyBTb21ldGltZXMgdHdvIGJsb2NrcyB3aWxsIHRvdWNoIGluIHRoZSBET00gYW5kIHdlIG5lZWQgdG8gc3RyaXAgdGhlXG4gIC8vIGV4dHJhIGRlbGltaXRlciB0byBwcmVzZXJ2ZSBuaWNlbmVzcy5cbiAgdmFyIGxhc3RJbkEgPSBBLnRleHQuc2xpY2UoLTEpO1xuICB2YXIgZmlyc3RJbkIgPSBCLnRleHQuc2xpY2UoMCwgMSk7XG5cbiAgaWYgKGxhc3RJbkEgPT09ICdcXHInICYmIGZpcnN0SW5CID09PSAnXFxyJyAmJiAhZXhwZXJpbWVudGFsSGFzTmVzdGVkQmxvY2tzKSB7XG4gICAgQS50ZXh0ID0gQS50ZXh0LnNsaWNlKDAsIC0xKTtcbiAgICBBLmlubGluZXMucG9wKCk7XG4gICAgQS5lbnRpdGllcy5wb3AoKTtcbiAgICBBLmJsb2Nrcy5wb3AoKTtcbiAgfVxuXG4gIC8vIEtpbGwgd2hpdGVzcGFjZSBhZnRlciBibG9ja3NcbiAgaWYgKGxhc3RJbkEgPT09ICdcXHInKSB7XG4gICAgaWYgKEIudGV4dCA9PT0gU1BBQ0UgfHwgQi50ZXh0ID09PSAnXFxuJykge1xuICAgICAgcmV0dXJuIEE7XG4gICAgfSBlbHNlIGlmIChmaXJzdEluQiA9PT0gU1BBQ0UgfHwgZmlyc3RJbkIgPT09ICdcXG4nKSB7XG4gICAgICBCLnRleHQgPSBCLnRleHQuc2xpY2UoMSk7XG4gICAgICBCLmlubGluZXMuc2hpZnQoKTtcbiAgICAgIEIuZW50aXRpZXMuc2hpZnQoKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHRleHQ6IEEudGV4dCArIEIudGV4dCxcbiAgICBpbmxpbmVzOiBBLmlubGluZXMuY29uY2F0KEIuaW5saW5lcyksXG4gICAgZW50aXRpZXM6IEEuZW50aXRpZXMuY29uY2F0KEIuZW50aXRpZXMpLFxuICAgIGJsb2NrczogQS5ibG9ja3MuY29uY2F0KEIuYmxvY2tzKVxuICB9O1xufTtcblxuLyoqXG4gKiBDaGVjayB0byBzZWUgaWYgd2UgaGF2ZSBhbnl0aGluZyBsaWtlIDxwPiA8YmxvY2txdW90ZT4gPGgxPi4uLiB0byBjcmVhdGVcbiAqIGJsb2NrIHRhZ3MgZnJvbS4gSWYgd2UgZG8sIHdlIGNhbiB1c2UgdGhvc2UgYW5kIGlnbm9yZSA8ZGl2PiB0YWdzLiBJZiB3ZVxuICogZG9uJ3QsIHdlIGNhbiB0cmVhdCA8ZGl2PiB0YWdzIGFzIG1lYW5pbmdmdWwgKHVuc3R5bGVkKSBibG9ja3MuXG4gKi9cbnZhciBjb250YWluc1NlbWFudGljQmxvY2tNYXJrdXAgPSBmdW5jdGlvbiBjb250YWluc1NlbWFudGljQmxvY2tNYXJrdXAoaHRtbCwgYmxvY2tUYWdzKSB7XG4gIHJldHVybiBibG9ja1RhZ3Muc29tZShmdW5jdGlvbiAodGFnKSB7XG4gICAgcmV0dXJuIGh0bWwuaW5kZXhPZignPCcgKyB0YWcpICE9PSAtMTtcbiAgfSk7XG59O1xuXG52YXIgaGFzVmFsaWRMaW5rVGV4dCA9IGZ1bmN0aW9uIGhhc1ZhbGlkTGlua1RleHQobGluaykge1xuICAhKGxpbmsgaW5zdGFuY2VvZiBIVE1MQW5jaG9yRWxlbWVudCkgPyBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nID8gaW52YXJpYW50KGZhbHNlLCAnTGluayBtdXN0IGJlIGFuIEhUTUxBbmNob3JFbGVtZW50LicpIDogaW52YXJpYW50KGZhbHNlKSA6IHZvaWQgMDtcbiAgdmFyIHByb3RvY29sID0gbGluay5wcm90b2NvbDtcbiAgcmV0dXJuIHByb3RvY29sID09PSAnaHR0cDonIHx8IHByb3RvY29sID09PSAnaHR0cHM6JyB8fCBwcm90b2NvbCA9PT0gJ21haWx0bzonO1xufTtcblxudmFyIGdldFdoaXRlc3BhY2VDaHVuayA9IGZ1bmN0aW9uIGdldFdoaXRlc3BhY2VDaHVuayhpbkVudGl0eSkge1xuICB2YXIgZW50aXRpZXMgPSBuZXcgQXJyYXkoMSk7XG4gIGlmIChpbkVudGl0eSkge1xuICAgIGVudGl0aWVzWzBdID0gaW5FbnRpdHk7XG4gIH1cbiAgcmV0dXJuIF9leHRlbmRzKHt9LCBFTVBUWV9DSFVOSywge1xuICAgIHRleHQ6IFNQQUNFLFxuICAgIGlubGluZXM6IFtPcmRlcmVkU2V0KCldLFxuICAgIGVudGl0aWVzOiBlbnRpdGllc1xuICB9KTtcbn07XG5cbnZhciBnZXRTb2Z0TmV3bGluZUNodW5rID0gZnVuY3Rpb24gZ2V0U29mdE5ld2xpbmVDaHVuaygpIHtcbiAgcmV0dXJuIF9leHRlbmRzKHt9LCBFTVBUWV9DSFVOSywge1xuICAgIHRleHQ6ICdcXG4nLFxuICAgIGlubGluZXM6IFtPcmRlcmVkU2V0KCldLFxuICAgIGVudGl0aWVzOiBuZXcgQXJyYXkoMSlcbiAgfSk7XG59O1xuXG52YXIgZ2V0Q2h1bmtlZEJsb2NrID0gZnVuY3Rpb24gZ2V0Q2h1bmtlZEJsb2NrKCkge1xuICB2YXIgcHJvcHMgPSBhcmd1bWVudHMubGVuZ3RoID4gMCAmJiBhcmd1bWVudHNbMF0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1swXSA6IHt9O1xuXG4gIHJldHVybiBfZXh0ZW5kcyh7fSwgRU1QVFlfQkxPQ0ssIHByb3BzKTtcbn07XG5cbnZhciBnZXRCbG9ja0RpdmlkZXJDaHVuayA9IGZ1bmN0aW9uIGdldEJsb2NrRGl2aWRlckNodW5rKGJsb2NrLCBkZXB0aCkge1xuICB2YXIgcGFyZW50S2V5ID0gYXJndW1lbnRzLmxlbmd0aCA+IDIgJiYgYXJndW1lbnRzWzJdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMl0gOiBudWxsO1xuXG4gIHJldHVybiB7XG4gICAgdGV4dDogJ1xccicsXG4gICAgaW5saW5lczogW09yZGVyZWRTZXQoKV0sXG4gICAgZW50aXRpZXM6IG5ldyBBcnJheSgxKSxcbiAgICBibG9ja3M6IFtnZXRDaHVua2VkQmxvY2soe1xuICAgICAgcGFyZW50OiBwYXJlbnRLZXksXG4gICAgICBrZXk6IGdlbmVyYXRlUmFuZG9tS2V5KCksXG4gICAgICB0eXBlOiBibG9jayxcbiAgICAgIGRlcHRoOiBNYXRoLm1heCgwLCBNYXRoLm1pbihNQVhfREVQVEgsIGRlcHRoKSlcbiAgICB9KV1cbiAgfTtcbn07XG5cbi8qKlxuICogIElmIHdlJ3JlIHBhc3RpbmcgZnJvbSBvbmUgRHJhZnRFZGl0b3IgdG8gYW5vdGhlciB3ZSBjYW4gY2hlY2sgdG8gc2VlIGlmXG4gKiAgZXhpc3RpbmcgbGlzdCBpdGVtIGRlcHRoIGNsYXNzZXMgYXJlIGJlaW5nIHVzZWQgYW5kIHByZXNlcnZlIHRoaXMgc3R5bGVcbiAqL1xudmFyIGdldExpc3RJdGVtRGVwdGggPSBmdW5jdGlvbiBnZXRMaXN0SXRlbURlcHRoKG5vZGUpIHtcbiAgdmFyIGRlcHRoID0gYXJndW1lbnRzLmxlbmd0aCA+IDEgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMV0gOiAwO1xuXG4gIE9iamVjdC5rZXlzKGtub3duTGlzdEl0ZW1EZXB0aENsYXNzZXMpLnNvbWUoZnVuY3Rpb24gKGRlcHRoQ2xhc3MpIHtcbiAgICBpZiAobm9kZS5jbGFzc0xpc3QuY29udGFpbnMoZGVwdGhDbGFzcykpIHtcbiAgICAgIGRlcHRoID0ga25vd25MaXN0SXRlbURlcHRoQ2xhc3Nlc1tkZXB0aENsYXNzXTtcbiAgICB9XG4gIH0pO1xuICByZXR1cm4gZGVwdGg7XG59O1xuXG52YXIgZ2VuRnJhZ21lbnQgPSBmdW5jdGlvbiBnZW5GcmFnbWVudChlbnRpdHlNYXAsIG5vZGUsIGlubGluZVN0eWxlLCBsYXN0TGlzdCwgaW5CbG9jaywgYmxvY2tUYWdzLCBkZXB0aCwgYmxvY2tSZW5kZXJNYXAsIGluRW50aXR5LCBwYXJlbnRLZXkpIHtcbiAgdmFyIGxhc3RMYXN0QmxvY2sgPSBsYXN0QmxvY2s7XG4gIHZhciBub2RlTmFtZSA9IG5vZGUubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtcbiAgdmFyIG5ld0VudGl0eU1hcCA9IGVudGl0eU1hcDtcbiAgdmFyIG5leHRCbG9ja1R5cGUgPSAndW5zdHlsZWQnO1xuICB2YXIgbmV3QmxvY2sgPSBmYWxzZTtcbiAgdmFyIGluQmxvY2tUeXBlID0gaW5CbG9jayAmJiBnZXRCbG9ja1R5cGVGb3JUYWcoaW5CbG9jaywgbGFzdExpc3QsIGJsb2NrUmVuZGVyTWFwKTtcbiAgdmFyIGNodW5rID0gX2V4dGVuZHMoe30sIEVNUFRZX0NIVU5LKTtcbiAgdmFyIG5ld0NodW5rID0gbnVsbDtcbiAgdmFyIGJsb2NrS2V5ID0gdm9pZCAwO1xuXG4gIC8vIEJhc2UgQ2FzZVxuICBpZiAobm9kZU5hbWUgPT09ICcjdGV4dCcpIHtcbiAgICB2YXIgX3RleHQgPSBub2RlLnRleHRDb250ZW50O1xuICAgIHZhciBub2RlVGV4dENvbnRlbnQgPSBfdGV4dC50cmltKCk7XG5cbiAgICAvLyBXZSBzaG91bGQgbm90IGNyZWF0ZSBibG9ja3MgZm9yIGxlYWRpbmcgc3BhY2VzIHRoYXQgYXJlXG4gICAgLy8gZXhpc3RpbmcgYXJvdW5kIG9sL3VsIGFuZCB0aGVpciBjaGlsZHJlbiBsaXN0IGl0ZW1zXG4gICAgaWYgKGxhc3RMaXN0ICYmIG5vZGVUZXh0Q29udGVudCA9PT0gJycgJiYgbm9kZS5wYXJlbnRFbGVtZW50KSB7XG4gICAgICB2YXIgcGFyZW50Tm9kZU5hbWUgPSBub2RlLnBhcmVudEVsZW1lbnQubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtcbiAgICAgIGlmIChwYXJlbnROb2RlTmFtZSA9PT0gJ29sJyB8fCBwYXJlbnROb2RlTmFtZSA9PT0gJ3VsJykge1xuICAgICAgICByZXR1cm4geyBjaHVuazogX2V4dGVuZHMoe30sIEVNUFRZX0NIVU5LKSwgZW50aXR5TWFwOiBlbnRpdHlNYXAgfTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAobm9kZVRleHRDb250ZW50ID09PSAnJyAmJiBpbkJsb2NrICE9PSAncHJlJykge1xuICAgICAgcmV0dXJuIHsgY2h1bms6IGdldFdoaXRlc3BhY2VDaHVuayhpbkVudGl0eSksIGVudGl0eU1hcDogZW50aXR5TWFwIH07XG4gICAgfVxuICAgIGlmIChpbkJsb2NrICE9PSAncHJlJykge1xuICAgICAgLy8gQ2FuJ3QgdXNlIGVtcHR5IHN0cmluZyBiZWNhdXNlIE1TV29yZFxuICAgICAgX3RleHQgPSBfdGV4dC5yZXBsYWNlKFJFR0VYX0xGLCBTUEFDRSk7XG4gICAgfVxuXG4gICAgLy8gc2F2ZSB0aGUgbGFzdCBibG9jayBzbyB3ZSBjYW4gdXNlIGl0IGxhdGVyXG4gICAgbGFzdEJsb2NrID0gbm9kZU5hbWU7XG5cbiAgICByZXR1cm4ge1xuICAgICAgY2h1bms6IHtcbiAgICAgICAgdGV4dDogX3RleHQsXG4gICAgICAgIGlubGluZXM6IEFycmF5KF90ZXh0Lmxlbmd0aCkuZmlsbChpbmxpbmVTdHlsZSksXG4gICAgICAgIGVudGl0aWVzOiBBcnJheShfdGV4dC5sZW5ndGgpLmZpbGwoaW5FbnRpdHkpLFxuICAgICAgICBibG9ja3M6IFtdXG4gICAgICB9LFxuICAgICAgZW50aXR5TWFwOiBlbnRpdHlNYXBcbiAgICB9O1xuICB9XG5cbiAgLy8gc2F2ZSB0aGUgbGFzdCBibG9jayBzbyB3ZSBjYW4gdXNlIGl0IGxhdGVyXG4gIGxhc3RCbG9jayA9IG5vZGVOYW1lO1xuXG4gIC8vIEJSIHRhZ3NcbiAgaWYgKG5vZGVOYW1lID09PSAnYnInKSB7XG4gICAgaWYgKGxhc3RMYXN0QmxvY2sgPT09ICdicicgJiYgKCFpbkJsb2NrIHx8IGluQmxvY2tUeXBlID09PSAndW5zdHlsZWQnKSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY2h1bms6IGdldEJsb2NrRGl2aWRlckNodW5rKCd1bnN0eWxlZCcsIGRlcHRoLCBwYXJlbnRLZXkpLFxuICAgICAgICBlbnRpdHlNYXA6IGVudGl0eU1hcFxuICAgICAgfTtcbiAgICB9XG4gICAgcmV0dXJuIHsgY2h1bms6IGdldFNvZnROZXdsaW5lQ2h1bmsoKSwgZW50aXR5TWFwOiBlbnRpdHlNYXAgfTtcbiAgfVxuXG4gIC8vIElNRyB0YWdzXG4gIGlmIChub2RlTmFtZSA9PT0gJ2ltZycgJiYgbm9kZSBpbnN0YW5jZW9mIEhUTUxJbWFnZUVsZW1lbnQgJiYgbm9kZS5hdHRyaWJ1dGVzLmdldE5hbWVkSXRlbSgnc3JjJykgJiYgbm9kZS5hdHRyaWJ1dGVzLmdldE5hbWVkSXRlbSgnc3JjJykudmFsdWUpIHtcbiAgICB2YXIgaW1hZ2UgPSBub2RlO1xuICAgIHZhciBlbnRpdHlDb25maWcgPSB7fTtcblxuICAgIGltZ0F0dHIuZm9yRWFjaChmdW5jdGlvbiAoYXR0cikge1xuICAgICAgdmFyIGltYWdlQXR0cmlidXRlID0gaW1hZ2UuZ2V0QXR0cmlidXRlKGF0dHIpO1xuICAgICAgaWYgKGltYWdlQXR0cmlidXRlKSB7XG4gICAgICAgIGVudGl0eUNvbmZpZ1thdHRyXSA9IGltYWdlQXR0cmlidXRlO1xuICAgICAgfVxuICAgIH0pO1xuICAgIC8vIEZvcmNpbmcgdGhpcyBub2RlIHRvIGhhdmUgY2hpbGRyZW4gYmVjYXVzZSBvdGhlcndpc2Ugbm8gZW50aXR5IHdpbGwgYmVcbiAgICAvLyBjcmVhdGVkIGZvciB0aGlzIG5vZGUuXG4gICAgLy8gVGhlIGNoaWxkIHRleHQgbm9kZSBjYW5ub3QganVzdCBoYXZlIGEgc3BhY2Ugb3IgcmV0dXJuIGFzIGNvbnRlbnQgLVxuICAgIC8vIHdlIHN0cmlwIHRob3NlIG91dC5cbiAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL2RyYWZ0LWpzL2lzc3Vlcy8yMzEgZm9yIHNvbWUgY29udGV4dC5cbiAgICBub2RlLnRleHRDb250ZW50ID0gJ1xcdUQ4M0RcXHVEQ0Y3JztcblxuICAgIC8vIFRPRE86IHVwZGF0ZSB0aGlzIHdoZW4gd2UgcmVtb3ZlIERyYWZ0RW50aXR5IGVudGlyZWx5XG4gICAgaW5FbnRpdHkgPSBEcmFmdEVudGl0eS5fX2NyZWF0ZSgnSU1BR0UnLCAnTVVUQUJMRScsIGVudGl0eUNvbmZpZyB8fCB7fSk7XG4gIH1cblxuICAvLyBJbmxpbmUgdGFnc1xuICBpbmxpbmVTdHlsZSA9IHByb2Nlc3NJbmxpbmVUYWcobm9kZU5hbWUsIG5vZGUsIGlubGluZVN0eWxlKTtcblxuICAvLyBIYW5kbGUgbGlzdHNcbiAgaWYgKG5vZGVOYW1lID09PSAndWwnIHx8IG5vZGVOYW1lID09PSAnb2wnKSB7XG4gICAgaWYgKGxhc3RMaXN0KSB7XG4gICAgICBkZXB0aCArPSAxO1xuICAgIH1cbiAgICBsYXN0TGlzdCA9IG5vZGVOYW1lO1xuICB9XG5cbiAgaWYgKCFleHBlcmltZW50YWxUcmVlRGF0YVN1cHBvcnQgJiYgbm9kZU5hbWUgPT09ICdsaScgJiYgbm9kZSBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSB7XG4gICAgZGVwdGggPSBnZXRMaXN0SXRlbURlcHRoKG5vZGUsIGRlcHRoKTtcbiAgfVxuXG4gIHZhciBibG9ja1R5cGUgPSBnZXRCbG9ja1R5cGVGb3JUYWcobm9kZU5hbWUsIGxhc3RMaXN0LCBibG9ja1JlbmRlck1hcCk7XG4gIHZhciBpbkxpc3RCbG9jayA9IGxhc3RMaXN0ICYmIGluQmxvY2sgPT09ICdsaScgJiYgbm9kZU5hbWUgPT09ICdsaSc7XG4gIHZhciBpbkJsb2NrT3JIYXNOZXN0ZWRCbG9ja3MgPSAoIWluQmxvY2sgfHwgZXhwZXJpbWVudGFsVHJlZURhdGFTdXBwb3J0KSAmJiBibG9ja1RhZ3MuaW5kZXhPZihub2RlTmFtZSkgIT09IC0xO1xuXG4gIC8vIEJsb2NrIFRhZ3NcbiAgaWYgKGluTGlzdEJsb2NrIHx8IGluQmxvY2tPckhhc05lc3RlZEJsb2Nrcykge1xuICAgIGNodW5rID0gZ2V0QmxvY2tEaXZpZGVyQ2h1bmsoYmxvY2tUeXBlLCBkZXB0aCwgcGFyZW50S2V5KTtcbiAgICBibG9ja0tleSA9IGNodW5rLmJsb2Nrc1swXS5rZXk7XG4gICAgaW5CbG9jayA9IG5vZGVOYW1lO1xuICAgIG5ld0Jsb2NrID0gIWV4cGVyaW1lbnRhbFRyZWVEYXRhU3VwcG9ydDtcbiAgfVxuXG4gIC8vIHRoaXMgaXMgcmVxdWlyZWQgc28gdGhhdCB3ZSBjYW4gaGFuZGxlICd1bCcgYW5kICdvbCdcbiAgaWYgKGluTGlzdEJsb2NrKSB7XG4gICAgbmV4dEJsb2NrVHlwZSA9IGxhc3RMaXN0ID09PSAndWwnID8gJ3Vub3JkZXJlZC1saXN0LWl0ZW0nIDogJ29yZGVyZWQtbGlzdC1pdGVtJztcbiAgfVxuXG4gIC8vIFJlY3Vyc2UgdGhyb3VnaCBjaGlsZHJlblxuICB2YXIgY2hpbGQgPSBub2RlLmZpcnN0Q2hpbGQ7XG4gIGlmIChjaGlsZCAhPSBudWxsKSB7XG4gICAgbm9kZU5hbWUgPSBjaGlsZC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO1xuICB9XG5cbiAgdmFyIGVudGl0eUlkID0gbnVsbDtcblxuICB3aGlsZSAoY2hpbGQpIHtcbiAgICBpZiAoY2hpbGQgaW5zdGFuY2VvZiBIVE1MQW5jaG9yRWxlbWVudCAmJiBjaGlsZC5ocmVmICYmIGhhc1ZhbGlkTGlua1RleHQoY2hpbGQpKSB7XG4gICAgICAoZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgYW5jaG9yID0gY2hpbGQ7XG4gICAgICAgIHZhciBlbnRpdHlDb25maWcgPSB7fTtcblxuICAgICAgICBhbmNob3JBdHRyLmZvckVhY2goZnVuY3Rpb24gKGF0dHIpIHtcbiAgICAgICAgICB2YXIgYW5jaG9yQXR0cmlidXRlID0gYW5jaG9yLmdldEF0dHJpYnV0ZShhdHRyKTtcbiAgICAgICAgICBpZiAoYW5jaG9yQXR0cmlidXRlKSB7XG4gICAgICAgICAgICBlbnRpdHlDb25maWdbYXR0cl0gPSBhbmNob3JBdHRyaWJ1dGU7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICBlbnRpdHlDb25maWcudXJsID0gbmV3IFVSSShhbmNob3IuaHJlZikudG9TdHJpbmcoKTtcbiAgICAgICAgLy8gVE9ETzogdXBkYXRlIHRoaXMgd2hlbiB3ZSByZW1vdmUgRHJhZnRFbnRpdHkgY29tcGxldGVseVxuICAgICAgICBlbnRpdHlJZCA9IERyYWZ0RW50aXR5Ll9fY3JlYXRlKCdMSU5LJywgJ01VVEFCTEUnLCBlbnRpdHlDb25maWcgfHwge30pO1xuICAgICAgfSkoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZW50aXR5SWQgPSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgdmFyIF9nZW5GcmFnbWVudCA9IGdlbkZyYWdtZW50KG5ld0VudGl0eU1hcCwgY2hpbGQsIGlubGluZVN0eWxlLCBsYXN0TGlzdCwgaW5CbG9jaywgYmxvY2tUYWdzLCBkZXB0aCwgYmxvY2tSZW5kZXJNYXAsIGVudGl0eUlkIHx8IGluRW50aXR5LCBleHBlcmltZW50YWxUcmVlRGF0YVN1cHBvcnQgPyBibG9ja0tleSA6IG51bGwpLFxuICAgICAgICBnZW5lcmF0ZWRDaHVuayA9IF9nZW5GcmFnbWVudC5jaHVuayxcbiAgICAgICAgbWF5YmVVcGRhdGVkRW50aXR5TWFwID0gX2dlbkZyYWdtZW50LmVudGl0eU1hcDtcblxuICAgIG5ld0NodW5rID0gZ2VuZXJhdGVkQ2h1bms7XG4gICAgbmV3RW50aXR5TWFwID0gbWF5YmVVcGRhdGVkRW50aXR5TWFwO1xuXG4gICAgY2h1bmsgPSBqb2luQ2h1bmtzKGNodW5rLCBuZXdDaHVuaywgZXhwZXJpbWVudGFsVHJlZURhdGFTdXBwb3J0KTtcbiAgICB2YXIgc2libGluZyA9IGNoaWxkLm5leHRTaWJsaW5nO1xuXG4gICAgLy8gUHV0IGluIGEgbmV3bGluZSB0byBicmVhayB1cCBibG9ja3MgaW5zaWRlIGJsb2Nrc1xuICAgIGlmICghcGFyZW50S2V5ICYmIHNpYmxpbmcgJiYgYmxvY2tUYWdzLmluZGV4T2Yobm9kZU5hbWUpID49IDAgJiYgaW5CbG9jaykge1xuICAgICAgY2h1bmsgPSBqb2luQ2h1bmtzKGNodW5rLCBnZXRTb2Z0TmV3bGluZUNodW5rKCkpO1xuICAgIH1cbiAgICBpZiAoc2libGluZykge1xuICAgICAgbm9kZU5hbWUgPSBzaWJsaW5nLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7XG4gICAgfVxuICAgIGNoaWxkID0gc2libGluZztcbiAgfVxuXG4gIGlmIChuZXdCbG9jaykge1xuICAgIGNodW5rID0gam9pbkNodW5rcyhjaHVuaywgZ2V0QmxvY2tEaXZpZGVyQ2h1bmsobmV4dEJsb2NrVHlwZSwgZGVwdGgsIHBhcmVudEtleSkpO1xuICB9XG5cbiAgcmV0dXJuIHsgY2h1bms6IGNodW5rLCBlbnRpdHlNYXA6IG5ld0VudGl0eU1hcCB9O1xufTtcblxudmFyIGdldENodW5rRm9ySFRNTCA9IGZ1bmN0aW9uIGdldENodW5rRm9ySFRNTChodG1sLCBET01CdWlsZGVyLCBibG9ja1JlbmRlck1hcCwgZW50aXR5TWFwKSB7XG4gIGh0bWwgPSBodG1sLnRyaW0oKS5yZXBsYWNlKFJFR0VYX0NSLCAnJykucmVwbGFjZShSRUdFWF9OQlNQLCBTUEFDRSkucmVwbGFjZShSRUdFWF9DQVJSSUFHRSwgJycpLnJlcGxhY2UoUkVHRVhfWldTLCAnJyk7XG5cbiAgdmFyIHN1cHBvcnRlZEJsb2NrVGFncyA9IGdldEJsb2NrTWFwU3VwcG9ydGVkVGFncyhibG9ja1JlbmRlck1hcCk7XG5cbiAgdmFyIHNhZmVCb2R5ID0gRE9NQnVpbGRlcihodG1sKTtcbiAgaWYgKCFzYWZlQm9keSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIGxhc3RCbG9jayA9IG51bGw7XG5cbiAgLy8gU29tZXRpbWVzIHdlIGFyZW4ndCBkZWFsaW5nIHdpdGggY29udGVudCB0aGF0IGNvbnRhaW5zIG5pY2Ugc2VtYW50aWNcbiAgLy8gdGFncy4gSW4gdGhpcyBjYXNlLCB1c2UgZGl2cyB0byBzZXBhcmF0ZSBldmVyeXRoaW5nIG91dCBpbnRvIHBhcmFncmFwaHNcbiAgLy8gYW5kIGhvcGUgZm9yIHRoZSBiZXN0LlxuICB2YXIgd29ya2luZ0Jsb2NrcyA9IGNvbnRhaW5zU2VtYW50aWNCbG9ja01hcmt1cChodG1sLCBzdXBwb3J0ZWRCbG9ja1RhZ3MpID8gc3VwcG9ydGVkQmxvY2tUYWdzIDogWydkaXYnXTtcblxuICAvLyBTdGFydCB3aXRoIC0xIGJsb2NrIGRlcHRoIHRvIG9mZnNldCB0aGUgZmFjdCB0aGF0IHdlIGFyZSBwYXNzaW5nIGluIGEgZmFrZVxuICAvLyBVTCBibG9jayB0byBzdGFydCB3aXRoLlxuICB2YXIgZnJhZ21lbnQgPSBnZW5GcmFnbWVudChlbnRpdHlNYXAsIHNhZmVCb2R5LCBPcmRlcmVkU2V0KCksICd1bCcsIG51bGwsIHdvcmtpbmdCbG9ja3MsIC0xLCBibG9ja1JlbmRlck1hcCk7XG5cbiAgdmFyIGNodW5rID0gZnJhZ21lbnQuY2h1bms7XG4gIHZhciBuZXdFbnRpdHlNYXAgPSBmcmFnbWVudC5lbnRpdHlNYXA7XG5cbiAgLy8gam9pbiB3aXRoIHByZXZpb3VzIGJsb2NrIHRvIHByZXZlbnQgd2VpcmRuZXNzIG9uIHBhc3RlXG4gIGlmIChjaHVuay50ZXh0LmluZGV4T2YoJ1xccicpID09PSAwKSB7XG4gICAgY2h1bmsgPSB7XG4gICAgICB0ZXh0OiBjaHVuay50ZXh0LnNsaWNlKDEpLFxuICAgICAgaW5saW5lczogY2h1bmsuaW5saW5lcy5zbGljZSgxKSxcbiAgICAgIGVudGl0aWVzOiBjaHVuay5lbnRpdGllcy5zbGljZSgxKSxcbiAgICAgIGJsb2NrczogY2h1bmsuYmxvY2tzXG4gICAgfTtcbiAgfVxuXG4gIC8vIEtpbGwgYmxvY2sgZGVsaW1pdGVyIGF0IHRoZSBlbmRcbiAgaWYgKGNodW5rLnRleHQuc2xpY2UoLTEpID09PSAnXFxyJykge1xuICAgIGNodW5rLnRleHQgPSBjaHVuay50ZXh0LnNsaWNlKDAsIC0xKTtcbiAgICBjaHVuay5pbmxpbmVzID0gY2h1bmsuaW5saW5lcy5zbGljZSgwLCAtMSk7XG4gICAgY2h1bmsuZW50aXRpZXMgPSBjaHVuay5lbnRpdGllcy5zbGljZSgwLCAtMSk7XG4gICAgY2h1bmsuYmxvY2tzLnBvcCgpO1xuICB9XG5cbiAgLy8gSWYgd2Ugc2F3IG5vIGJsb2NrIHRhZ3MsIHB1dCBhbiB1bnN0eWxlZCBvbmUgaW5cbiAgaWYgKGNodW5rLmJsb2Nrcy5sZW5ndGggPT09IDApIHtcbiAgICBjaHVuay5ibG9ja3MucHVzaChfZXh0ZW5kcyh7fSwgRU1QVFlfQ0hVTkssIHtcbiAgICAgIHR5cGU6ICd1bnN0eWxlZCcsXG4gICAgICBkZXB0aDogMFxuICAgIH0pKTtcbiAgfVxuXG4gIC8vIFNvbWV0aW1lcyB3ZSBzdGFydCB3aXRoIHRleHQgdGhhdCBpc24ndCBpbiBhIGJsb2NrLCB3aGljaCBpcyB0aGVuXG4gIC8vIGZvbGxvd2VkIGJ5IGJsb2Nrcy4gTmVlZCB0byBmaXggdXAgdGhlIGJsb2NrcyB0byBhZGQgaW5cbiAgLy8gYW4gdW5zdHlsZWQgYmxvY2sgZm9yIHRoaXMgY29udGVudFxuICBpZiAoY2h1bmsudGV4dC5zcGxpdCgnXFxyJykubGVuZ3RoID09PSBjaHVuay5ibG9ja3MubGVuZ3RoICsgMSkge1xuICAgIGNodW5rLmJsb2Nrcy51bnNoaWZ0KHsgdHlwZTogJ3Vuc3R5bGVkJywgZGVwdGg6IDAgfSk7XG4gIH1cblxuICByZXR1cm4geyBjaHVuazogY2h1bmssIGVudGl0eU1hcDogbmV3RW50aXR5TWFwIH07XG59O1xuXG52YXIgY29udmVydENodW5rVG9Db250ZW50QmxvY2tzID0gZnVuY3Rpb24gY29udmVydENodW5rVG9Db250ZW50QmxvY2tzKGNodW5rKSB7XG4gIGlmICghY2h1bmsgfHwgIWNodW5rLnRleHQgfHwgIUFycmF5LmlzQXJyYXkoY2h1bmsuYmxvY2tzKSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgdmFyIGluaXRpYWxTdGF0ZSA9IHtcbiAgICBjYWNoZVJlZjoge30sXG4gICAgY29udGVudEJsb2NrczogW11cbiAgfTtcblxuICB2YXIgc3RhcnQgPSAwO1xuXG4gIHZhciByYXdCbG9ja3MgPSBjaHVuay5ibG9ja3MsXG4gICAgICByYXdJbmxpbmVzID0gY2h1bmsuaW5saW5lcyxcbiAgICAgIHJhd0VudGl0aWVzID0gY2h1bmsuZW50aXRpZXM7XG5cblxuICB2YXIgQmxvY2tOb2RlUmVjb3JkID0gZXhwZXJpbWVudGFsVHJlZURhdGFTdXBwb3J0ID8gQ29udGVudEJsb2NrTm9kZSA6IENvbnRlbnRCbG9jaztcblxuICByZXR1cm4gY2h1bmsudGV4dC5zcGxpdCgnXFxyJykucmVkdWNlKGZ1bmN0aW9uIChhY2MsIHRleHRCbG9jaywgaW5kZXgpIHtcbiAgICAvLyBNYWtlIGFic29sdXRlbHkgY2VydGFpbiB0aGF0IG91ciB0ZXh0IGlzIGFjY2VwdGFibGUuXG4gICAgdGV4dEJsb2NrID0gc2FuaXRpemVEcmFmdFRleHQodGV4dEJsb2NrKTtcblxuICAgIHZhciBibG9jayA9IHJhd0Jsb2Nrc1tpbmRleF07XG4gICAgdmFyIGVuZCA9IHN0YXJ0ICsgdGV4dEJsb2NrLmxlbmd0aDtcbiAgICB2YXIgaW5saW5lcyA9IHJhd0lubGluZXMuc2xpY2Uoc3RhcnQsIGVuZCk7XG4gICAgdmFyIGVudGl0aWVzID0gcmF3RW50aXRpZXMuc2xpY2Uoc3RhcnQsIGVuZCk7XG4gICAgdmFyIGNoYXJhY3Rlckxpc3QgPSBMaXN0KGlubGluZXMubWFwKGZ1bmN0aW9uIChzdHlsZSwgaW5kZXgpIHtcbiAgICAgIHZhciBkYXRhID0geyBzdHlsZTogc3R5bGUsIGVudGl0eTogbnVsbCB9O1xuICAgICAgaWYgKGVudGl0aWVzW2luZGV4XSkge1xuICAgICAgICBkYXRhLmVudGl0eSA9IGVudGl0aWVzW2luZGV4XTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBDaGFyYWN0ZXJNZXRhZGF0YS5jcmVhdGUoZGF0YSk7XG4gICAgfSkpO1xuICAgIHN0YXJ0ID0gZW5kICsgMTtcblxuICAgIHZhciBkZXB0aCA9IGJsb2NrLmRlcHRoLFxuICAgICAgICB0eXBlID0gYmxvY2sudHlwZSxcbiAgICAgICAgcGFyZW50ID0gYmxvY2sucGFyZW50O1xuXG5cbiAgICB2YXIga2V5ID0gYmxvY2sua2V5IHx8IGdlbmVyYXRlUmFuZG9tS2V5KCk7XG4gICAgdmFyIHBhcmVudFRleHROb2RlS2V5ID0gbnVsbDsgLy8gd2lsbCBiZSB1c2VkIHRvIHN0b3JlIGNvbnRhaW5lciB0ZXh0IG5vZGVzXG5cbiAgICAvLyBjaGlsZHJlbnMgYWRkIHRoZW1zZWx2ZXMgdG8gdGhlaXIgcGFyZW50cyBzaW5jZSB3ZSBhcmUgaXRlcmF0aW5nIGluIG9yZGVyXG4gICAgaWYgKHBhcmVudCkge1xuICAgICAgdmFyIHBhcmVudEluZGV4ID0gYWNjLmNhY2hlUmVmW3BhcmVudF07XG4gICAgICB2YXIgcGFyZW50UmVjb3JkID0gYWNjLmNvbnRlbnRCbG9ja3NbcGFyZW50SW5kZXhdO1xuXG4gICAgICAvLyBpZiBwYXJlbnQgaGFzIHRleHQgd2UgbmVlZCB0byBzcGxpdCBpdCBpbnRvIGEgc2VwYXJhdGUgdW5zdHlsZWQgZWxlbWVudFxuICAgICAgaWYgKHBhcmVudFJlY29yZC5nZXRDaGlsZEtleXMoKS5pc0VtcHR5KCkgJiYgcGFyZW50UmVjb3JkLmdldFRleHQoKSkge1xuICAgICAgICB2YXIgcGFyZW50Q2hhcmFjdGVyTGlzdCA9IHBhcmVudFJlY29yZC5nZXRDaGFyYWN0ZXJMaXN0KCk7XG4gICAgICAgIHZhciBwYXJlbnRUZXh0ID0gcGFyZW50UmVjb3JkLmdldFRleHQoKTtcbiAgICAgICAgcGFyZW50VGV4dE5vZGVLZXkgPSBnZW5lcmF0ZVJhbmRvbUtleSgpO1xuXG4gICAgICAgIHZhciB0ZXh0Tm9kZSA9IG5ldyBDb250ZW50QmxvY2tOb2RlKHtcbiAgICAgICAgICBrZXk6IHBhcmVudFRleHROb2RlS2V5LFxuICAgICAgICAgIHRleHQ6IHBhcmVudFRleHQsXG4gICAgICAgICAgY2hhcmFjdGVyTGlzdDogcGFyZW50Q2hhcmFjdGVyTGlzdCxcbiAgICAgICAgICBwYXJlbnQ6IHBhcmVudCxcbiAgICAgICAgICBuZXh0U2libGluZzoga2V5XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGFjYy5jb250ZW50QmxvY2tzLnB1c2godGV4dE5vZGUpO1xuXG4gICAgICAgIHBhcmVudFJlY29yZCA9IHBhcmVudFJlY29yZC53aXRoTXV0YXRpb25zKGZ1bmN0aW9uIChibG9jaykge1xuICAgICAgICAgIGJsb2NrLnNldCgnY2hhcmFjdGVyTGlzdCcsIExpc3QoKSkuc2V0KCd0ZXh0JywgJycpLnNldCgnY2hpbGRyZW4nLCBwYXJlbnRSZWNvcmQuY2hpbGRyZW4ucHVzaCh0ZXh0Tm9kZS5nZXRLZXkoKSkpO1xuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgYWNjLmNvbnRlbnRCbG9ja3NbcGFyZW50SW5kZXhdID0gcGFyZW50UmVjb3JkLnNldCgnY2hpbGRyZW4nLCBwYXJlbnRSZWNvcmQuY2hpbGRyZW4ucHVzaChrZXkpKTtcbiAgICB9XG5cbiAgICB2YXIgYmxvY2tOb2RlID0gbmV3IEJsb2NrTm9kZVJlY29yZCh7XG4gICAgICBrZXk6IGtleSxcbiAgICAgIHBhcmVudDogcGFyZW50LFxuICAgICAgdHlwZTogdHlwZSxcbiAgICAgIGRlcHRoOiBkZXB0aCxcbiAgICAgIHRleHQ6IHRleHRCbG9jayxcbiAgICAgIGNoYXJhY3Rlckxpc3Q6IGNoYXJhY3Rlckxpc3QsXG4gICAgICBwcmV2U2libGluZzogcGFyZW50VGV4dE5vZGVLZXkgfHwgKGluZGV4ID09PSAwIHx8IHJhd0Jsb2Nrc1tpbmRleCAtIDFdLnBhcmVudCAhPT0gcGFyZW50ID8gbnVsbCA6IHJhd0Jsb2Nrc1tpbmRleCAtIDFdLmtleSksXG4gICAgICBuZXh0U2libGluZzogaW5kZXggPT09IHJhd0Jsb2Nrcy5sZW5ndGggLSAxIHx8IHJhd0Jsb2Nrc1tpbmRleCArIDFdLnBhcmVudCAhPT0gcGFyZW50ID8gbnVsbCA6IHJhd0Jsb2Nrc1tpbmRleCArIDFdLmtleVxuICAgIH0pO1xuXG4gICAgLy8gaW5zZXJ0IG5vZGVcbiAgICBhY2MuY29udGVudEJsb2Nrcy5wdXNoKGJsb2NrTm9kZSk7XG5cbiAgICAvLyBjYWNoZSByZWYgZm9yIGJ1aWxkaW5nIGxpbmtzXG4gICAgYWNjLmNhY2hlUmVmW2Jsb2NrTm9kZS5rZXldID0gaW5kZXg7XG5cbiAgICByZXR1cm4gYWNjO1xuICB9LCBpbml0aWFsU3RhdGUpLmNvbnRlbnRCbG9ja3M7XG59O1xuXG52YXIgY29udmVydEZyb21IVE1MdG9Db250ZW50QmxvY2tzID0gZnVuY3Rpb24gY29udmVydEZyb21IVE1MdG9Db250ZW50QmxvY2tzKGh0bWwpIHtcbiAgdmFyIERPTUJ1aWxkZXIgPSBhcmd1bWVudHMubGVuZ3RoID4gMSAmJiBhcmd1bWVudHNbMV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1sxXSA6IGdldFNhZmVCb2R5RnJvbUhUTUw7XG4gIHZhciBibG9ja1JlbmRlck1hcCA9IGFyZ3VtZW50cy5sZW5ndGggPiAyICYmIGFyZ3VtZW50c1syXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzJdIDogRGVmYXVsdERyYWZ0QmxvY2tSZW5kZXJNYXA7XG5cbiAgLy8gQmUgQUJTT0xVVEVMWSBTVVJFIHRoYXQgdGhlIGRvbSBidWlsZGVyIHlvdSBwYXNzIGhlcmUgd29uJ3QgZXhlY3V0ZVxuICAvLyBhcmJpdHJhcnkgY29kZSBpbiB3aGF0ZXZlciBlbnZpcm9ubWVudCB5b3UncmUgcnVubmluZyB0aGlzIGluLiBGb3IgYW5cbiAgLy8gZXhhbXBsZSBvZiBob3cgd2UgdHJ5IHRvIGRvIHRoaXMgaW4tYnJvd3Nlciwgc2VlIGdldFNhZmVCb2R5RnJvbUhUTUwuXG5cbiAgLy8gVE9ETzogcmVwbGFjZSBEcmFmdEVudGl0eSB3aXRoIGFuIE9yZGVyZWRNYXAgaGVyZVxuICB2YXIgY2h1bmtEYXRhID0gZ2V0Q2h1bmtGb3JIVE1MKGh0bWwsIERPTUJ1aWxkZXIsIGJsb2NrUmVuZGVyTWFwLCBEcmFmdEVudGl0eSk7XG5cbiAgaWYgKGNodW5rRGF0YSA9PSBudWxsKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICB2YXIgY2h1bmsgPSBjaHVua0RhdGEuY2h1bmssXG4gICAgICBlbnRpdHlNYXAgPSBjaHVua0RhdGEuZW50aXR5TWFwO1xuXG4gIHZhciBjb250ZW50QmxvY2tzID0gY29udmVydENodW5rVG9Db250ZW50QmxvY2tzKGNodW5rKTtcblxuICByZXR1cm4ge1xuICAgIGNvbnRlbnRCbG9ja3M6IGNvbnRlbnRCbG9ja3MsXG4gICAgZW50aXR5TWFwOiBlbnRpdHlNYXBcbiAgfTtcbn07XG5cbm1vZHVsZS5leHBvcnRzID0gY29udmVydEZyb21IVE1MdG9Db250ZW50QmxvY2tzOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/convertFromHTMLToContentBlocks.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nvar _knownListItemDepthCl;\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar CharacterMetadata = __webpack_require__(/*! ./CharacterMetadata */ \"./node_modules/draft-js/lib/CharacterMetadata.js\");\n\nvar ContentBlock = __webpack_require__(/*! ./ContentBlock */ \"./node_modules/draft-js/lib/ContentBlock.js\");\n\nvar ContentBlockNode = __webpack_require__(/*! ./ContentBlockNode */ \"./node_modules/draft-js/lib/ContentBlockNode.js\");\n\nvar DefaultDraftBlockRenderMap = __webpack_require__(/*! ./DefaultDraftBlockRenderMap */ \"./node_modules/draft-js/lib/DefaultDraftBlockRenderMap.js\");\n\nvar DraftEntity = __webpack_require__(/*! ./DraftEntity */ \"./node_modules/draft-js/lib/DraftEntity.js\");\n\nvar URI = __webpack_require__(/*! fbjs/lib/URI */ \"./node_modules/fbjs/lib/URI.js\");\n\nvar cx = __webpack_require__(/*! fbjs/lib/cx */ \"./node_modules/fbjs/lib/cx.js\");\n\nvar generateRandomKey = __webpack_require__(/*! ./generateRandomKey */ \"./node_modules/draft-js/lib/generateRandomKey.js\");\n\nvar getSafeBodyFromHTML = __webpack_require__(/*! ./getSafeBodyFromHTML */ \"./node_modules/draft-js/lib/getSafeBodyFromHTML.js\");\n\nvar gkx = __webpack_require__(/*! ./gkx */ \"./node_modules/draft-js/lib/gkx.js\");\n\nvar _require = __webpack_require__(/*! immutable */ \"./node_modules/draft-js/node_modules/immutable/dist/immutable.js\"),\n List = _require.List,\n Map = _require.Map,\n OrderedSet = _require.OrderedSet;\n\nvar isHTMLAnchorElement = __webpack_require__(/*! ./isHTMLAnchorElement */ \"./node_modules/draft-js/lib/isHTMLAnchorElement.js\");\n\nvar isHTMLBRElement = __webpack_require__(/*! ./isHTMLBRElement */ \"./node_modules/draft-js/lib/isHTMLBRElement.js\");\n\nvar isHTMLElement = __webpack_require__(/*! ./isHTMLElement */ \"./node_modules/draft-js/lib/isHTMLElement.js\");\n\nvar isHTMLImageElement = __webpack_require__(/*! ./isHTMLImageElement */ \"./node_modules/draft-js/lib/isHTMLImageElement.js\");\n\nvar experimentalTreeDataSupport = gkx('draft_tree_data_support');\nvar NBSP = ' ';\nvar SPACE = ' '; // used for replacing characters in HTML\n\nvar REGEX_CR = new RegExp('\\r', 'g');\nvar REGEX_LF = new RegExp('\\n', 'g');\nvar REGEX_LEADING_LF = new RegExp('^\\n', 'g');\nvar REGEX_NBSP = new RegExp(NBSP, 'g');\nvar REGEX_CARRIAGE = new RegExp(' ?', 'g');\nvar REGEX_ZWS = new RegExp('​?', 'g'); // https://developer.mozilla.org/en-US/docs/Web/CSS/font-weight\n\nvar boldValues = ['bold', 'bolder', '500', '600', '700', '800', '900'];\nvar notBoldValues = ['light', 'lighter', '100', '200', '300', '400'];\nvar anchorAttr = ['className', 'href', 'rel', 'target', 'title'];\nvar imgAttr = ['alt', 'className', 'height', 'src', 'width'];\nvar knownListItemDepthClasses = (_knownListItemDepthCl = {}, _defineProperty(_knownListItemDepthCl, cx('public/DraftStyleDefault/depth0'), 0), _defineProperty(_knownListItemDepthCl, cx('public/DraftStyleDefault/depth1'), 1), _defineProperty(_knownListItemDepthCl, cx('public/DraftStyleDefault/depth2'), 2), _defineProperty(_knownListItemDepthCl, cx('public/DraftStyleDefault/depth3'), 3), _defineProperty(_knownListItemDepthCl, cx('public/DraftStyleDefault/depth4'), 4), _knownListItemDepthCl);\nvar HTMLTagToRawInlineStyleMap = Map({\n b: 'BOLD',\n code: 'CODE',\n del: 'STRIKETHROUGH',\n em: 'ITALIC',\n i: 'ITALIC',\n s: 'STRIKETHROUGH',\n strike: 'STRIKETHROUGH',\n strong: 'BOLD',\n u: 'UNDERLINE',\n mark: 'HIGHLIGHT'\n});\n\n/**\n * Build a mapping from HTML tags to draftjs block types\n * out of a BlockRenderMap.\n *\n * The BlockTypeMap for the default BlockRenderMap looks like this:\n * Map({\n * h1: 'header-one',\n * h2: 'header-two',\n * h3: 'header-three',\n * h4: 'header-four',\n * h5: 'header-five',\n * h6: 'header-six',\n * blockquote: 'blockquote',\n * figure: 'atomic',\n * pre: ['code-block'],\n * div: 'unstyled',\n * p: 'unstyled',\n * li: ['ordered-list-item', 'unordered-list-item'],\n * })\n */\nvar buildBlockTypeMap = function buildBlockTypeMap(blockRenderMap) {\n var blockTypeMap = {};\n blockRenderMap.mapKeys(function (blockType, desc) {\n var elements = [desc.element];\n\n if (desc.aliasedElements !== undefined) {\n elements.push.apply(elements, desc.aliasedElements);\n }\n\n elements.forEach(function (element) {\n if (blockTypeMap[element] === undefined) {\n blockTypeMap[element] = blockType;\n } else if (typeof blockTypeMap[element] === 'string') {\n blockTypeMap[element] = [blockTypeMap[element], blockType];\n } else {\n blockTypeMap[element].push(blockType);\n }\n });\n });\n return Map(blockTypeMap);\n};\n/**\n * If we're pasting from one DraftEditor to another we can check to see if\n * existing list item depth classes are being used and preserve this style\n */\n\n\nvar getListItemDepth = function getListItemDepth(node) {\n var depth = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n Object.keys(knownListItemDepthClasses).some(function (depthClass) {\n if (node.classList.contains(depthClass)) {\n depth = knownListItemDepthClasses[depthClass];\n }\n });\n return depth;\n};\n/**\n * Return true if the provided HTML Element can be used to build a\n * Draftjs-compatible link.\n */\n\n\nvar isValidAnchor = function isValidAnchor(node) {\n if (!isHTMLAnchorElement(node)) {\n return false;\n }\n\n var anchorNode = node;\n return !!(anchorNode.href && (anchorNode.protocol === 'http:' || anchorNode.protocol === 'https:' || anchorNode.protocol === 'mailto:'));\n};\n/**\n * Return true if the provided HTML Element can be used to build a\n * Draftjs-compatible image.\n */\n\n\nvar isValidImage = function isValidImage(node) {\n if (!isHTMLImageElement(node)) {\n return false;\n }\n\n var imageNode = node;\n return !!(imageNode.attributes.getNamedItem('src') && imageNode.attributes.getNamedItem('src').value);\n};\n/**\n * Try to guess the inline style of an HTML element based on its css\n * styles (font-weight, font-style and text-decoration).\n */\n\n\nvar styleFromNodeAttributes = function styleFromNodeAttributes(node) {\n var style = OrderedSet();\n\n if (!isHTMLElement(node)) {\n return style;\n }\n\n var htmlElement = node;\n var fontWeight = htmlElement.style.fontWeight;\n var fontStyle = htmlElement.style.fontStyle;\n var textDecoration = htmlElement.style.textDecoration;\n return style.withMutations(function (style) {\n if (boldValues.indexOf(fontWeight) >= 0) {\n style.add('BOLD');\n } else if (notBoldValues.indexOf(fontWeight) >= 0) {\n style.remove('BOLD');\n }\n\n if (fontStyle === 'italic') {\n style.add('ITALIC');\n } else if (fontStyle === 'normal') {\n style.remove('ITALIC');\n }\n\n if (textDecoration === 'underline') {\n style.add('UNDERLINE');\n }\n\n if (textDecoration === 'line-through') {\n style.add('STRIKETHROUGH');\n }\n\n if (textDecoration === 'none') {\n style.remove('UNDERLINE');\n style.remove('STRIKETHROUGH');\n }\n });\n};\n/**\n * Determine if a nodeName is a list type, 'ul' or 'ol'\n */\n\n\nvar isListNode = function isListNode(nodeName) {\n return nodeName === 'ul' || nodeName === 'ol';\n};\n/**\n * ContentBlockConfig is a mutable data structure that holds all\n * the information required to build a ContentBlock and an array of\n * all the child nodes (childConfigs).\n * It is being used a temporary data structure by the\n * ContentBlocksBuilder class.\n */\n\n\n/**\n * ContentBlocksBuilder builds a list of ContentBlocks and an Entity Map\n * out of one (or several) HTMLElement(s).\n *\n * The algorithm has two passes: first it builds a tree of ContentBlockConfigs\n * by walking through the HTML nodes and their children, then it walks the\n * ContentBlockConfigs tree to compute parents/siblings and create\n * the actual ContentBlocks.\n *\n * Typical usage is:\n * new ContentBlocksBuilder()\n * .addDOMNode(someHTMLNode)\n * .addDOMNode(someOtherHTMLNode)\n * .getContentBlocks();\n *\n */\nvar ContentBlocksBuilder =\n/*#__PURE__*/\nfunction () {\n // Most of the method in the class depend on the state of the content builder\n // (i.e. currentBlockType, currentDepth, currentEntity etc.). Though it may\n // be confusing at first, it made the code simpler than the alternative which\n // is to pass those values around in every call.\n // The following attributes are used to accumulate text and styles\n // as we are walking the HTML node tree.\n // Describes the future ContentState as a tree of content blocks\n // The content blocks generated from the blockConfigs\n // Entity map use to store links and images found in the HTML nodes\n // Map HTML tags to draftjs block types and disambiguation function\n function ContentBlocksBuilder(blockTypeMap, disambiguate) {\n _defineProperty(this, \"characterList\", List());\n\n _defineProperty(this, \"currentBlockType\", 'unstyled');\n\n _defineProperty(this, \"currentDepth\", 0);\n\n _defineProperty(this, \"currentEntity\", null);\n\n _defineProperty(this, \"currentStyle\", OrderedSet());\n\n _defineProperty(this, \"currentText\", '');\n\n _defineProperty(this, \"wrapper\", null);\n\n _defineProperty(this, \"blockConfigs\", []);\n\n _defineProperty(this, \"contentBlocks\", []);\n\n _defineProperty(this, \"entityMap\", DraftEntity);\n\n _defineProperty(this, \"blockTypeMap\", void 0);\n\n _defineProperty(this, \"disambiguate\", void 0);\n\n this.clear();\n this.blockTypeMap = blockTypeMap;\n this.disambiguate = disambiguate;\n }\n /**\n * Clear the internal state of the ContentBlocksBuilder\n */\n\n\n var _proto = ContentBlocksBuilder.prototype;\n\n _proto.clear = function clear() {\n this.characterList = List();\n this.blockConfigs = [];\n this.currentBlockType = 'unstyled';\n this.currentDepth = 0;\n this.currentEntity = null;\n this.currentStyle = OrderedSet();\n this.currentText = '';\n this.entityMap = DraftEntity;\n this.wrapper = null;\n this.contentBlocks = [];\n }\n /**\n * Add an HTMLElement to the ContentBlocksBuilder\n */\n ;\n\n _proto.addDOMNode = function addDOMNode(node) {\n var _this$blockConfigs;\n\n this.contentBlocks = [];\n this.currentDepth = 0; // Converts the HTML node to block config\n\n (_this$blockConfigs = this.blockConfigs).push.apply(_this$blockConfigs, this._toBlockConfigs([node])); // There might be some left over text in the builder's\n // internal state, if so make a ContentBlock out of it.\n\n\n this._trimCurrentText();\n\n if (this.currentText !== '') {\n this.blockConfigs.push(this._makeBlockConfig());\n } // for chaining\n\n\n return this;\n }\n /**\n * Return the ContentBlocks and the EntityMap that corresponds\n * to the previously added HTML nodes.\n */\n ;\n\n _proto.getContentBlocks = function getContentBlocks() {\n if (this.contentBlocks.length === 0) {\n if (experimentalTreeDataSupport) {\n this._toContentBlocks(this.blockConfigs);\n } else {\n this._toFlatContentBlocks(this.blockConfigs);\n }\n }\n\n return {\n contentBlocks: this.contentBlocks,\n entityMap: this.entityMap\n };\n }\n /**\n * Add a new inline style to the upcoming nodes.\n */\n ;\n\n _proto.addStyle = function addStyle(inlineStyle) {\n this.currentStyle = this.currentStyle.union(inlineStyle);\n }\n /**\n * Remove a currently applied inline style.\n */\n ;\n\n _proto.removeStyle = function removeStyle(inlineStyle) {\n this.currentStyle = this.currentStyle.subtract(inlineStyle);\n } // ***********************************WARNING******************************\n // The methods below this line are private - don't call them directly.\n\n /**\n * Generate a new ContentBlockConfig out of the current internal state\n * of the builder, then clears the internal state.\n */\n ;\n\n _proto._makeBlockConfig = function _makeBlockConfig() {\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var key = config.key || generateRandomKey();\n\n var block = _objectSpread({\n key: key,\n type: this.currentBlockType,\n text: this.currentText,\n characterList: this.characterList,\n depth: this.currentDepth,\n parent: null,\n children: List(),\n prevSibling: null,\n nextSibling: null,\n childConfigs: []\n }, config);\n\n this.characterList = List();\n this.currentBlockType = 'unstyled';\n this.currentText = '';\n return block;\n }\n /**\n * Converts an array of HTML elements to a multi-root tree of content\n * block configs. Some text content may be left in the builders internal\n * state to enable chaining sucessive calls.\n */\n ;\n\n _proto._toBlockConfigs = function _toBlockConfigs(nodes) {\n var blockConfigs = [];\n\n for (var i = 0; i < nodes.length; i++) {\n var node = nodes[i];\n var nodeName = node.nodeName.toLowerCase();\n\n if (nodeName === 'body' || isListNode(nodeName)) {\n // body, ol and ul are 'block' type nodes so create a block config\n // with the text accumulated so far (if any)\n this._trimCurrentText();\n\n if (this.currentText !== '') {\n blockConfigs.push(this._makeBlockConfig());\n } // body, ol and ul nodes are ignored, but their children are inlined in\n // the parent block config.\n\n\n var wasCurrentDepth = this.currentDepth;\n var wasWrapper = this.wrapper;\n\n if (isListNode(nodeName)) {\n this.wrapper = nodeName;\n\n if (isListNode(wasWrapper)) {\n this.currentDepth++;\n }\n }\n\n blockConfigs.push.apply(blockConfigs, this._toBlockConfigs(Array.from(node.childNodes)));\n this.currentDepth = wasCurrentDepth;\n this.wrapper = wasWrapper;\n continue;\n }\n\n var blockType = this.blockTypeMap.get(nodeName);\n\n if (blockType !== undefined) {\n // 'block' type node means we need to create a block config\n // with the text accumulated so far (if any)\n this._trimCurrentText();\n\n if (this.currentText !== '') {\n blockConfigs.push(this._makeBlockConfig());\n }\n\n var _wasCurrentDepth = this.currentDepth;\n var _wasWrapper = this.wrapper;\n this.wrapper = nodeName === 'pre' ? 'pre' : this.wrapper;\n\n if (typeof blockType !== 'string') {\n blockType = this.disambiguate(nodeName, this.wrapper) || blockType[0] || 'unstyled';\n }\n\n if (!experimentalTreeDataSupport && isHTMLElement(node) && (blockType === 'unordered-list-item' || blockType === 'ordered-list-item')) {\n var htmlElement = node;\n this.currentDepth = getListItemDepth(htmlElement, this.currentDepth);\n }\n\n var key = generateRandomKey();\n\n var childConfigs = this._toBlockConfigs(Array.from(node.childNodes));\n\n this._trimCurrentText();\n\n blockConfigs.push(this._makeBlockConfig({\n key: key,\n childConfigs: childConfigs,\n type: blockType\n }));\n this.currentDepth = _wasCurrentDepth;\n this.wrapper = _wasWrapper;\n continue;\n }\n\n if (nodeName === '#text') {\n this._addTextNode(node);\n\n continue;\n }\n\n if (nodeName === 'br') {\n this._addBreakNode(node);\n\n continue;\n }\n\n if (isValidImage(node)) {\n this._addImgNode(node);\n\n continue;\n }\n\n if (isValidAnchor(node)) {\n this._addAnchorNode(node, blockConfigs);\n\n continue;\n }\n\n var inlineStyle = HTMLTagToRawInlineStyleMap.has(nodeName) ? OrderedSet.of(HTMLTagToRawInlineStyleMap.get(nodeName)) : OrderedSet();\n var attributesStyle = styleFromNodeAttributes(node);\n this.addStyle(inlineStyle);\n this.addStyle(attributesStyle);\n blockConfigs.push.apply(blockConfigs, this._toBlockConfigs(Array.from(node.childNodes)));\n this.removeStyle(attributesStyle);\n this.removeStyle(inlineStyle);\n }\n\n return blockConfigs;\n }\n /**\n * Append a string of text to the internal buffer.\n */\n ;\n\n _proto._appendText = function _appendText(text) {\n var _this$characterList;\n\n this.currentText += text;\n var characterMetadata = CharacterMetadata.create({\n style: this.currentStyle,\n entity: this.currentEntity\n });\n this.characterList = (_this$characterList = this.characterList).push.apply(_this$characterList, Array(text.length).fill(characterMetadata));\n }\n /**\n * Trim the text in the internal buffer.\n */\n ;\n\n _proto._trimCurrentText = function _trimCurrentText() {\n var l = this.currentText.length;\n var begin = l - this.currentText.trimLeft().length;\n var end = this.currentText.trimRight().length; // We should not trim whitespaces for which an entity is defined.\n\n var entity = this.characterList.findEntry(function (characterMetadata) {\n return characterMetadata.getEntity() !== null;\n });\n begin = entity !== undefined ? Math.min(begin, entity[0]) : begin;\n entity = this.characterList.reverse().findEntry(function (characterMetadata) {\n return characterMetadata.getEntity() !== null;\n });\n end = entity !== undefined ? Math.max(end, l - entity[0]) : end;\n\n if (begin > end) {\n this.currentText = '';\n this.characterList = List();\n } else {\n this.currentText = this.currentText.slice(begin, end);\n this.characterList = this.characterList.slice(begin, end);\n }\n }\n /**\n * Add the content of an HTML text node to the internal state\n */\n ;\n\n _proto._addTextNode = function _addTextNode(node) {\n var text = node.textContent;\n var trimmedText = text.trim(); // If we are not in a pre block and the trimmed content is empty,\n // normalize to a single space.\n\n if (trimmedText === '' && this.wrapper !== 'pre') {\n text = ' ';\n }\n\n if (this.wrapper !== 'pre') {\n // Trim leading line feed, which is invisible in HTML\n text = text.replace(REGEX_LEADING_LF, ''); // Can't use empty string because MSWord\n\n text = text.replace(REGEX_LF, SPACE);\n }\n\n this._appendText(text);\n };\n\n _proto._addBreakNode = function _addBreakNode(node) {\n if (!isHTMLBRElement(node)) {\n return;\n }\n\n this._appendText('\\n');\n }\n /**\n * Add the content of an HTML img node to the internal state\n */\n ;\n\n _proto._addImgNode = function _addImgNode(node) {\n if (!isHTMLImageElement(node)) {\n return;\n }\n\n var image = node;\n var entityConfig = {};\n imgAttr.forEach(function (attr) {\n var imageAttribute = image.getAttribute(attr);\n\n if (imageAttribute) {\n entityConfig[attr] = imageAttribute;\n }\n }); // TODO: T15530363 update this when we remove DraftEntity entirely\n\n this.currentEntity = this.entityMap.__create('IMAGE', 'IMMUTABLE', entityConfig); // The child text node cannot just have a space or return as content (since\n // we strip those out), unless the image is for presentation only.\n // See https://github.com/facebook/draft-js/issues/231 for some context.\n\n if (gkx('draftjs_fix_paste_for_img')) {\n if (image.getAttribute('role') !== 'presentation') {\n this._appendText(\"\\uD83D\\uDCF7\");\n }\n } else {\n this._appendText(\"\\uD83D\\uDCF7\");\n }\n\n this.currentEntity = null;\n }\n /**\n * Add the content of an HTML 'a' node to the internal state. Child nodes\n * (if any) are converted to Block Configs and appended to the provided\n * blockConfig array.\n */\n ;\n\n _proto._addAnchorNode = function _addAnchorNode(node, blockConfigs) {\n // The check has already been made by isValidAnchor but\n // we have to do it again to keep flow happy.\n if (!isHTMLAnchorElement(node)) {\n return;\n }\n\n var anchor = node;\n var entityConfig = {};\n anchorAttr.forEach(function (attr) {\n var anchorAttribute = anchor.getAttribute(attr);\n\n if (anchorAttribute) {\n entityConfig[attr] = anchorAttribute;\n }\n });\n entityConfig.url = new URI(anchor.href).toString(); // TODO: T15530363 update this when we remove DraftEntity completely\n\n this.currentEntity = this.entityMap.__create('LINK', 'MUTABLE', entityConfig || {});\n blockConfigs.push.apply(blockConfigs, this._toBlockConfigs(Array.from(node.childNodes)));\n this.currentEntity = null;\n }\n /**\n * Walk the BlockConfig tree, compute parent/children/siblings,\n * and generate the corresponding ContentBlockNode\n */\n ;\n\n _proto._toContentBlocks = function _toContentBlocks(blockConfigs) {\n var parent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var l = blockConfigs.length - 1;\n\n for (var i = 0; i <= l; i++) {\n var config = blockConfigs[i];\n config.parent = parent;\n config.prevSibling = i > 0 ? blockConfigs[i - 1].key : null;\n config.nextSibling = i < l ? blockConfigs[i + 1].key : null;\n config.children = List(config.childConfigs.map(function (child) {\n return child.key;\n }));\n this.contentBlocks.push(new ContentBlockNode(_objectSpread({}, config)));\n\n this._toContentBlocks(config.childConfigs, config.key);\n }\n }\n /**\n * Remove 'useless' container nodes from the block config hierarchy, by\n * replacing them with their children.\n */\n ;\n\n _proto._hoistContainersInBlockConfigs = function _hoistContainersInBlockConfigs(blockConfigs) {\n var _this = this;\n\n var hoisted = List(blockConfigs).flatMap(function (blockConfig) {\n // Don't mess with useful blocks\n if (blockConfig.type !== 'unstyled' || blockConfig.text !== '') {\n return [blockConfig];\n }\n\n return _this._hoistContainersInBlockConfigs(blockConfig.childConfigs);\n });\n return hoisted;\n } // ***********************************************************************\n // The two methods below are used for backward compatibility when\n // experimentalTreeDataSupport is disabled.\n\n /**\n * Same as _toContentBlocks but replaces nested blocks by their\n * text content.\n */\n ;\n\n _proto._toFlatContentBlocks = function _toFlatContentBlocks(blockConfigs) {\n var _this2 = this;\n\n var cleanConfigs = this._hoistContainersInBlockConfigs(blockConfigs);\n\n cleanConfigs.forEach(function (config) {\n var _this2$_extractTextFr = _this2._extractTextFromBlockConfigs(config.childConfigs),\n text = _this2$_extractTextFr.text,\n characterList = _this2$_extractTextFr.characterList;\n\n _this2.contentBlocks.push(new ContentBlock(_objectSpread({}, config, {\n text: config.text + text,\n characterList: config.characterList.concat(characterList)\n })));\n });\n }\n /**\n * Extract the text and the associated inline styles form an\n * array of content block configs.\n */\n ;\n\n _proto._extractTextFromBlockConfigs = function _extractTextFromBlockConfigs(blockConfigs) {\n var l = blockConfigs.length - 1;\n var text = '';\n var characterList = List();\n\n for (var i = 0; i <= l; i++) {\n var config = blockConfigs[i];\n text += config.text;\n characterList = characterList.concat(config.characterList);\n\n if (text !== '' && config.type !== 'unstyled') {\n text += '\\n';\n characterList = characterList.push(characterList.last());\n }\n\n var children = this._extractTextFromBlockConfigs(config.childConfigs);\n\n text += children.text;\n characterList = characterList.concat(children.characterList);\n }\n\n return {\n text: text,\n characterList: characterList\n };\n };\n\n return ContentBlocksBuilder;\n}();\n/**\n * Converts an HTML string to an array of ContentBlocks and an EntityMap\n * suitable to initialize the internal state of a Draftjs component.\n */\n\n\nvar convertFromHTMLToContentBlocks = function convertFromHTMLToContentBlocks(html) {\n var DOMBuilder = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getSafeBodyFromHTML;\n var blockRenderMap = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : DefaultDraftBlockRenderMap;\n // Be ABSOLUTELY SURE that the dom builder you pass here won't execute\n // arbitrary code in whatever environment you're running this in. For an\n // example of how we try to do this in-browser, see getSafeBodyFromHTML.\n // Remove funky characters from the HTML string\n html = html.trim().replace(REGEX_CR, '').replace(REGEX_NBSP, SPACE).replace(REGEX_CARRIAGE, '').replace(REGEX_ZWS, ''); // Build a DOM tree out of the HTML string\n\n var safeBody = DOMBuilder(html);\n\n if (!safeBody) {\n return null;\n } // Build a BlockTypeMap out of the BlockRenderMap\n\n\n var blockTypeMap = buildBlockTypeMap(blockRenderMap); // Select the proper block type for the cases where the blockRenderMap\n // uses multiple block types for the same html tag.\n\n var disambiguate = function disambiguate(tag, wrapper) {\n if (tag === 'li') {\n return wrapper === 'ol' ? 'ordered-list-item' : 'unordered-list-item';\n }\n\n return null;\n };\n\n return new ContentBlocksBuilder(blockTypeMap, disambiguate).addDOMNode(safeBody).getContentBlocks();\n};\n\nmodule.exports = convertFromHTMLToContentBlocks;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2NvbnZlcnRGcm9tSFRNTFRvQ29udGVudEJsb2Nrcy5qcz9kNmFhIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ2E7O0FBRWI7O0FBRUEsZ0NBQWdDLGdCQUFnQixzQkFBc0IsT0FBTyx1REFBdUQsbUNBQW1DLDBEQUEwRCxzRkFBc0YsZ0VBQWdFLEVBQUUsR0FBRyxFQUFFLGlDQUFpQywyQ0FBMkMsRUFBRSxFQUFFLEVBQUUsZUFBZTs7QUFFL2QsMkNBQTJDLGtCQUFrQixrQ0FBa0MscUVBQXFFLEVBQUUsRUFBRSxPQUFPLGtCQUFrQixFQUFFLFlBQVk7O0FBRS9NLHdCQUF3QixtQkFBTyxDQUFDLDZFQUFxQjs7QUFFckQsbUJBQW1CLG1CQUFPLENBQUMsbUVBQWdCOztBQUUzQyx1QkFBdUIsbUJBQU8sQ0FBQywyRUFBb0I7O0FBRW5ELGlDQUFpQyxtQkFBTyxDQUFDLCtGQUE4Qjs7QUFFdkUsa0JBQWtCLG1CQUFPLENBQUMsaUVBQWU7O0FBRXpDLFVBQVUsbUJBQU8sQ0FBQyxvREFBYzs7QUFFaEMsU0FBUyxtQkFBTyxDQUFDLGtEQUFhOztBQUU5Qix3QkFBd0IsbUJBQU8sQ0FBQyw2RUFBcUI7O0FBRXJELDBCQUEwQixtQkFBTyxDQUFDLGlGQUF1Qjs7QUFFekQsVUFBVSxtQkFBTyxDQUFDLGlEQUFPOztBQUV6QixlQUFlLG1CQUFPLENBQUMsbUZBQVc7QUFDbEM7QUFDQTtBQUNBOztBQUVBLDBCQUEwQixtQkFBTyxDQUFDLGlGQUF1Qjs7QUFFekQsc0JBQXNCLG1CQUFPLENBQUMseUVBQW1COztBQUVqRCxvQkFBb0IsbUJBQU8sQ0FBQyxxRUFBaUI7O0FBRTdDLHlCQUF5QixtQkFBTyxDQUFDLCtFQUFzQjs7QUFFdkQ7QUFDQSxrQkFBa0I7QUFDbEIsZ0JBQWdCOztBQUVoQjtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNDQUFzQztBQUN0QyxtQ0FBbUMsU0FBUzs7QUFFNUM7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyREFBMkQ7QUFDM0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsS0FBSztBQUNMLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0EsMEJBQTBCOztBQUUxQiwwR0FBMEc7QUFDMUc7OztBQUdBOztBQUVBO0FBQ0E7QUFDQSxLQUFLOzs7QUFHTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBLG1CQUFtQixrQkFBa0I7QUFDckM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsU0FBUztBQUNUOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0Esa0RBQWtEOztBQUVsRDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0Esa0NBQWtDO0FBQ2xDOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsZ0RBQWdEOztBQUVoRDtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUssRUFBRTs7QUFFUCxxRkFBcUY7QUFDckY7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTCx1REFBdUQ7O0FBRXZELHNGQUFzRjtBQUN0RjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSxtQkFBbUIsUUFBUTtBQUMzQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1AsbUVBQW1FOztBQUVuRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEtBQUs7QUFDTDtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxpRUFBaUU7QUFDakU7QUFDQTtBQUNBLE9BQU87QUFDUCxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLG1CQUFtQixRQUFRO0FBQzNCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5SEFBeUg7O0FBRXpIOztBQUVBO0FBQ0E7QUFDQSxHQUFHOzs7QUFHSCx1REFBdUQ7QUFDdkQ7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2RyYWZ0LWpzL2xpYi9jb252ZXJ0RnJvbUhUTUxUb0NvbnRlbnRCbG9ja3MuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgRmFjZWJvb2ssIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIEBmb3JtYXRcbiAqIFxuICogQGVtYWlscyBvbmNhbGwrZHJhZnRfanNcbiAqL1xuJ3VzZSBzdHJpY3QnO1xuXG52YXIgX2tub3duTGlzdEl0ZW1EZXB0aENsO1xuXG5mdW5jdGlvbiBfb2JqZWN0U3ByZWFkKHRhcmdldCkgeyBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykgeyB2YXIgc291cmNlID0gYXJndW1lbnRzW2ldICE9IG51bGwgPyBhcmd1bWVudHNbaV0gOiB7fTsgdmFyIG93bktleXMgPSBPYmplY3Qua2V5cyhzb3VyY2UpOyBpZiAodHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPT09ICdmdW5jdGlvbicpIHsgb3duS2V5cyA9IG93bktleXMuY29uY2F0KE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoc291cmNlKS5maWx0ZXIoZnVuY3Rpb24gKHN5bSkgeyByZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihzb3VyY2UsIHN5bSkuZW51bWVyYWJsZTsgfSkpOyB9IG93bktleXMuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7IF9kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgc291cmNlW2tleV0pOyB9KTsgfSByZXR1cm4gdGFyZ2V0OyB9XG5cbmZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgdmFsdWUpIHsgaWYgKGtleSBpbiBvYmopIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwga2V5LCB7IHZhbHVlOiB2YWx1ZSwgZW51bWVyYWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCB3cml0YWJsZTogdHJ1ZSB9KTsgfSBlbHNlIHsgb2JqW2tleV0gPSB2YWx1ZTsgfSByZXR1cm4gb2JqOyB9XG5cbnZhciBDaGFyYWN0ZXJNZXRhZGF0YSA9IHJlcXVpcmUoXCIuL0NoYXJhY3Rlck1ldGFkYXRhXCIpO1xuXG52YXIgQ29udGVudEJsb2NrID0gcmVxdWlyZShcIi4vQ29udGVudEJsb2NrXCIpO1xuXG52YXIgQ29udGVudEJsb2NrTm9kZSA9IHJlcXVpcmUoXCIuL0NvbnRlbnRCbG9ja05vZGVcIik7XG5cbnZhciBEZWZhdWx0RHJhZnRCbG9ja1JlbmRlck1hcCA9IHJlcXVpcmUoXCIuL0RlZmF1bHREcmFmdEJsb2NrUmVuZGVyTWFwXCIpO1xuXG52YXIgRHJhZnRFbnRpdHkgPSByZXF1aXJlKFwiLi9EcmFmdEVudGl0eVwiKTtcblxudmFyIFVSSSA9IHJlcXVpcmUoXCJmYmpzL2xpYi9VUklcIik7XG5cbnZhciBjeCA9IHJlcXVpcmUoXCJmYmpzL2xpYi9jeFwiKTtcblxudmFyIGdlbmVyYXRlUmFuZG9tS2V5ID0gcmVxdWlyZShcIi4vZ2VuZXJhdGVSYW5kb21LZXlcIik7XG5cbnZhciBnZXRTYWZlQm9keUZyb21IVE1MID0gcmVxdWlyZShcIi4vZ2V0U2FmZUJvZHlGcm9tSFRNTFwiKTtcblxudmFyIGdreCA9IHJlcXVpcmUoXCIuL2dreFwiKTtcblxudmFyIF9yZXF1aXJlID0gcmVxdWlyZShcImltbXV0YWJsZVwiKSxcbiAgICBMaXN0ID0gX3JlcXVpcmUuTGlzdCxcbiAgICBNYXAgPSBfcmVxdWlyZS5NYXAsXG4gICAgT3JkZXJlZFNldCA9IF9yZXF1aXJlLk9yZGVyZWRTZXQ7XG5cbnZhciBpc0hUTUxBbmNob3JFbGVtZW50ID0gcmVxdWlyZShcIi4vaXNIVE1MQW5jaG9yRWxlbWVudFwiKTtcblxudmFyIGlzSFRNTEJSRWxlbWVudCA9IHJlcXVpcmUoXCIuL2lzSFRNTEJSRWxlbWVudFwiKTtcblxudmFyIGlzSFRNTEVsZW1lbnQgPSByZXF1aXJlKFwiLi9pc0hUTUxFbGVtZW50XCIpO1xuXG52YXIgaXNIVE1MSW1hZ2VFbGVtZW50ID0gcmVxdWlyZShcIi4vaXNIVE1MSW1hZ2VFbGVtZW50XCIpO1xuXG52YXIgZXhwZXJpbWVudGFsVHJlZURhdGFTdXBwb3J0ID0gZ2t4KCdkcmFmdF90cmVlX2RhdGFfc3VwcG9ydCcpO1xudmFyIE5CU1AgPSAnJm5ic3A7JztcbnZhciBTUEFDRSA9ICcgJzsgLy8gdXNlZCBmb3IgcmVwbGFjaW5nIGNoYXJhY3RlcnMgaW4gSFRNTFxuXG52YXIgUkVHRVhfQ1IgPSBuZXcgUmVnRXhwKCdcXHInLCAnZycpO1xudmFyIFJFR0VYX0xGID0gbmV3IFJlZ0V4cCgnXFxuJywgJ2cnKTtcbnZhciBSRUdFWF9MRUFESU5HX0xGID0gbmV3IFJlZ0V4cCgnXlxcbicsICdnJyk7XG52YXIgUkVHRVhfTkJTUCA9IG5ldyBSZWdFeHAoTkJTUCwgJ2cnKTtcbnZhciBSRUdFWF9DQVJSSUFHRSA9IG5ldyBSZWdFeHAoJyYjMTM7PycsICdnJyk7XG52YXIgUkVHRVhfWldTID0gbmV3IFJlZ0V4cCgnJiM4MjAzOz8nLCAnZycpOyAvLyBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9DU1MvZm9udC13ZWlnaHRcblxudmFyIGJvbGRWYWx1ZXMgPSBbJ2JvbGQnLCAnYm9sZGVyJywgJzUwMCcsICc2MDAnLCAnNzAwJywgJzgwMCcsICc5MDAnXTtcbnZhciBub3RCb2xkVmFsdWVzID0gWydsaWdodCcsICdsaWdodGVyJywgJzEwMCcsICcyMDAnLCAnMzAwJywgJzQwMCddO1xudmFyIGFuY2hvckF0dHIgPSBbJ2NsYXNzTmFtZScsICdocmVmJywgJ3JlbCcsICd0YXJnZXQnLCAndGl0bGUnXTtcbnZhciBpbWdBdHRyID0gWydhbHQnLCAnY2xhc3NOYW1lJywgJ2hlaWdodCcsICdzcmMnLCAnd2lkdGgnXTtcbnZhciBrbm93bkxpc3RJdGVtRGVwdGhDbGFzc2VzID0gKF9rbm93bkxpc3RJdGVtRGVwdGhDbCA9IHt9LCBfZGVmaW5lUHJvcGVydHkoX2tub3duTGlzdEl0ZW1EZXB0aENsLCBjeCgncHVibGljL0RyYWZ0U3R5bGVEZWZhdWx0L2RlcHRoMCcpLCAwKSwgX2RlZmluZVByb3BlcnR5KF9rbm93bkxpc3RJdGVtRGVwdGhDbCwgY3goJ3B1YmxpYy9EcmFmdFN0eWxlRGVmYXVsdC9kZXB0aDEnKSwgMSksIF9kZWZpbmVQcm9wZXJ0eShfa25vd25MaXN0SXRlbURlcHRoQ2wsIGN4KCdwdWJsaWMvRHJhZnRTdHlsZURlZmF1bHQvZGVwdGgyJyksIDIpLCBfZGVmaW5lUHJvcGVydHkoX2tub3duTGlzdEl0ZW1EZXB0aENsLCBjeCgncHVibGljL0RyYWZ0U3R5bGVEZWZhdWx0L2RlcHRoMycpLCAzKSwgX2RlZmluZVByb3BlcnR5KF9rbm93bkxpc3RJdGVtRGVwdGhDbCwgY3goJ3B1YmxpYy9EcmFmdFN0eWxlRGVmYXVsdC9kZXB0aDQnKSwgNCksIF9rbm93bkxpc3RJdGVtRGVwdGhDbCk7XG52YXIgSFRNTFRhZ1RvUmF3SW5saW5lU3R5bGVNYXAgPSBNYXAoe1xuICBiOiAnQk9MRCcsXG4gIGNvZGU6ICdDT0RFJyxcbiAgZGVsOiAnU1RSSUtFVEhST1VHSCcsXG4gIGVtOiAnSVRBTElDJyxcbiAgaTogJ0lUQUxJQycsXG4gIHM6ICdTVFJJS0VUSFJPVUdIJyxcbiAgc3RyaWtlOiAnU1RSSUtFVEhST1VHSCcsXG4gIHN0cm9uZzogJ0JPTEQnLFxuICB1OiAnVU5ERVJMSU5FJyxcbiAgbWFyazogJ0hJR0hMSUdIVCdcbn0pO1xuXG4vKipcbiAqIEJ1aWxkIGEgbWFwcGluZyBmcm9tIEhUTUwgdGFncyB0byBkcmFmdGpzIGJsb2NrIHR5cGVzXG4gKiBvdXQgb2YgYSBCbG9ja1JlbmRlck1hcC5cbiAqXG4gKiBUaGUgQmxvY2tUeXBlTWFwIGZvciB0aGUgZGVmYXVsdCBCbG9ja1JlbmRlck1hcCBsb29rcyBsaWtlIHRoaXM6XG4gKiAgIE1hcCh7XG4gKiAgICAgaDE6ICdoZWFkZXItb25lJyxcbiAqICAgICBoMjogJ2hlYWRlci10d28nLFxuICogICAgIGgzOiAnaGVhZGVyLXRocmVlJyxcbiAqICAgICBoNDogJ2hlYWRlci1mb3VyJyxcbiAqICAgICBoNTogJ2hlYWRlci1maXZlJyxcbiAqICAgICBoNjogJ2hlYWRlci1zaXgnLFxuICogICAgIGJsb2NrcXVvdGU6ICdibG9ja3F1b3RlJyxcbiAqICAgICBmaWd1cmU6ICdhdG9taWMnLFxuICogICAgIHByZTogWydjb2RlLWJsb2NrJ10sXG4gKiAgICAgZGl2OiAndW5zdHlsZWQnLFxuICogICAgIHA6ICd1bnN0eWxlZCcsXG4gKiAgICAgbGk6IFsnb3JkZXJlZC1saXN0LWl0ZW0nLCAndW5vcmRlcmVkLWxpc3QtaXRlbSddLFxuICogICB9KVxuICovXG52YXIgYnVpbGRCbG9ja1R5cGVNYXAgPSBmdW5jdGlvbiBidWlsZEJsb2NrVHlwZU1hcChibG9ja1JlbmRlck1hcCkge1xuICB2YXIgYmxvY2tUeXBlTWFwID0ge307XG4gIGJsb2NrUmVuZGVyTWFwLm1hcEtleXMoZnVuY3Rpb24gKGJsb2NrVHlwZSwgZGVzYykge1xuICAgIHZhciBlbGVtZW50cyA9IFtkZXNjLmVsZW1lbnRdO1xuXG4gICAgaWYgKGRlc2MuYWxpYXNlZEVsZW1lbnRzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGVsZW1lbnRzLnB1c2guYXBwbHkoZWxlbWVudHMsIGRlc2MuYWxpYXNlZEVsZW1lbnRzKTtcbiAgICB9XG5cbiAgICBlbGVtZW50cy5mb3JFYWNoKGZ1bmN0aW9uIChlbGVtZW50KSB7XG4gICAgICBpZiAoYmxvY2tUeXBlTWFwW2VsZW1lbnRdID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgYmxvY2tUeXBlTWFwW2VsZW1lbnRdID0gYmxvY2tUeXBlO1xuICAgICAgfSBlbHNlIGlmICh0eXBlb2YgYmxvY2tUeXBlTWFwW2VsZW1lbnRdID09PSAnc3RyaW5nJykge1xuICAgICAgICBibG9ja1R5cGVNYXBbZWxlbWVudF0gPSBbYmxvY2tUeXBlTWFwW2VsZW1lbnRdLCBibG9ja1R5cGVdO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYmxvY2tUeXBlTWFwW2VsZW1lbnRdLnB1c2goYmxvY2tUeXBlKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfSk7XG4gIHJldHVybiBNYXAoYmxvY2tUeXBlTWFwKTtcbn07XG4vKipcbiAqIElmIHdlJ3JlIHBhc3RpbmcgZnJvbSBvbmUgRHJhZnRFZGl0b3IgdG8gYW5vdGhlciB3ZSBjYW4gY2hlY2sgdG8gc2VlIGlmXG4gKiBleGlzdGluZyBsaXN0IGl0ZW0gZGVwdGggY2xhc3NlcyBhcmUgYmVpbmcgdXNlZCBhbmQgcHJlc2VydmUgdGhpcyBzdHlsZVxuICovXG5cblxudmFyIGdldExpc3RJdGVtRGVwdGggPSBmdW5jdGlvbiBnZXRMaXN0SXRlbURlcHRoKG5vZGUpIHtcbiAgdmFyIGRlcHRoID0gYXJndW1lbnRzLmxlbmd0aCA+IDEgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMV0gOiAwO1xuICBPYmplY3Qua2V5cyhrbm93bkxpc3RJdGVtRGVwdGhDbGFzc2VzKS5zb21lKGZ1bmN0aW9uIChkZXB0aENsYXNzKSB7XG4gICAgaWYgKG5vZGUuY2xhc3NMaXN0LmNvbnRhaW5zKGRlcHRoQ2xhc3MpKSB7XG4gICAgICBkZXB0aCA9IGtub3duTGlzdEl0ZW1EZXB0aENsYXNzZXNbZGVwdGhDbGFzc107XG4gICAgfVxuICB9KTtcbiAgcmV0dXJuIGRlcHRoO1xufTtcbi8qKlxuICogUmV0dXJuIHRydWUgaWYgdGhlIHByb3ZpZGVkIEhUTUwgRWxlbWVudCBjYW4gYmUgdXNlZCB0byBidWlsZCBhXG4gKiBEcmFmdGpzLWNvbXBhdGlibGUgbGluay5cbiAqL1xuXG5cbnZhciBpc1ZhbGlkQW5jaG9yID0gZnVuY3Rpb24gaXNWYWxpZEFuY2hvcihub2RlKSB7XG4gIGlmICghaXNIVE1MQW5jaG9yRWxlbWVudChub2RlKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHZhciBhbmNob3JOb2RlID0gbm9kZTtcbiAgcmV0dXJuICEhKGFuY2hvck5vZGUuaHJlZiAmJiAoYW5jaG9yTm9kZS5wcm90b2NvbCA9PT0gJ2h0dHA6JyB8fCBhbmNob3JOb2RlLnByb3RvY29sID09PSAnaHR0cHM6JyB8fCBhbmNob3JOb2RlLnByb3RvY29sID09PSAnbWFpbHRvOicpKTtcbn07XG4vKipcbiAqIFJldHVybiB0cnVlIGlmIHRoZSBwcm92aWRlZCBIVE1MIEVsZW1lbnQgY2FuIGJlIHVzZWQgdG8gYnVpbGQgYVxuICogRHJhZnRqcy1jb21wYXRpYmxlIGltYWdlLlxuICovXG5cblxudmFyIGlzVmFsaWRJbWFnZSA9IGZ1bmN0aW9uIGlzVmFsaWRJbWFnZShub2RlKSB7XG4gIGlmICghaXNIVE1MSW1hZ2VFbGVtZW50KG5vZGUpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgdmFyIGltYWdlTm9kZSA9IG5vZGU7XG4gIHJldHVybiAhIShpbWFnZU5vZGUuYXR0cmlidXRlcy5nZXROYW1lZEl0ZW0oJ3NyYycpICYmIGltYWdlTm9kZS5hdHRyaWJ1dGVzLmdldE5hbWVkSXRlbSgnc3JjJykudmFsdWUpO1xufTtcbi8qKlxuICogVHJ5IHRvIGd1ZXNzIHRoZSBpbmxpbmUgc3R5bGUgb2YgYW4gSFRNTCBlbGVtZW50IGJhc2VkIG9uIGl0cyBjc3NcbiAqIHN0eWxlcyAoZm9udC13ZWlnaHQsIGZvbnQtc3R5bGUgYW5kIHRleHQtZGVjb3JhdGlvbikuXG4gKi9cblxuXG52YXIgc3R5bGVGcm9tTm9kZUF0dHJpYnV0ZXMgPSBmdW5jdGlvbiBzdHlsZUZyb21Ob2RlQXR0cmlidXRlcyhub2RlKSB7XG4gIHZhciBzdHlsZSA9IE9yZGVyZWRTZXQoKTtcblxuICBpZiAoIWlzSFRNTEVsZW1lbnQobm9kZSkpIHtcbiAgICByZXR1cm4gc3R5bGU7XG4gIH1cblxuICB2YXIgaHRtbEVsZW1lbnQgPSBub2RlO1xuICB2YXIgZm9udFdlaWdodCA9IGh0bWxFbGVtZW50LnN0eWxlLmZvbnRXZWlnaHQ7XG4gIHZhciBmb250U3R5bGUgPSBodG1sRWxlbWVudC5zdHlsZS5mb250U3R5bGU7XG4gIHZhciB0ZXh0RGVjb3JhdGlvbiA9IGh0bWxFbGVtZW50LnN0eWxlLnRleHREZWNvcmF0aW9uO1xuICByZXR1cm4gc3R5bGUud2l0aE11dGF0aW9ucyhmdW5jdGlvbiAoc3R5bGUpIHtcbiAgICBpZiAoYm9sZFZhbHVlcy5pbmRleE9mKGZvbnRXZWlnaHQpID49IDApIHtcbiAgICAgIHN0eWxlLmFkZCgnQk9MRCcpO1xuICAgIH0gZWxzZSBpZiAobm90Qm9sZFZhbHVlcy5pbmRleE9mKGZvbnRXZWlnaHQpID49IDApIHtcbiAgICAgIHN0eWxlLnJlbW92ZSgnQk9MRCcpO1xuICAgIH1cblxuICAgIGlmIChmb250U3R5bGUgPT09ICdpdGFsaWMnKSB7XG4gICAgICBzdHlsZS5hZGQoJ0lUQUxJQycpO1xuICAgIH0gZWxzZSBpZiAoZm9udFN0eWxlID09PSAnbm9ybWFsJykge1xuICAgICAgc3R5bGUucmVtb3ZlKCdJVEFMSUMnKTtcbiAgICB9XG5cbiAgICBpZiAodGV4dERlY29yYXRpb24gPT09ICd1bmRlcmxpbmUnKSB7XG4gICAgICBzdHlsZS5hZGQoJ1VOREVSTElORScpO1xuICAgIH1cblxuICAgIGlmICh0ZXh0RGVjb3JhdGlvbiA9PT0gJ2xpbmUtdGhyb3VnaCcpIHtcbiAgICAgIHN0eWxlLmFkZCgnU1RSSUtFVEhST1VHSCcpO1xuICAgIH1cblxuICAgIGlmICh0ZXh0RGVjb3JhdGlvbiA9PT0gJ25vbmUnKSB7XG4gICAgICBzdHlsZS5yZW1vdmUoJ1VOREVSTElORScpO1xuICAgICAgc3R5bGUucmVtb3ZlKCdTVFJJS0VUSFJPVUdIJyk7XG4gICAgfVxuICB9KTtcbn07XG4vKipcbiAqIERldGVybWluZSBpZiBhIG5vZGVOYW1lIGlzIGEgbGlzdCB0eXBlLCAndWwnIG9yICdvbCdcbiAqL1xuXG5cbnZhciBpc0xpc3ROb2RlID0gZnVuY3Rpb24gaXNMaXN0Tm9kZShub2RlTmFtZSkge1xuICByZXR1cm4gbm9kZU5hbWUgPT09ICd1bCcgfHwgbm9kZU5hbWUgPT09ICdvbCc7XG59O1xuLyoqXG4gKiAgQ29udGVudEJsb2NrQ29uZmlnIGlzIGEgbXV0YWJsZSBkYXRhIHN0cnVjdHVyZSB0aGF0IGhvbGRzIGFsbFxuICogIHRoZSBpbmZvcm1hdGlvbiByZXF1aXJlZCB0byBidWlsZCBhIENvbnRlbnRCbG9jayBhbmQgYW4gYXJyYXkgb2ZcbiAqICBhbGwgdGhlIGNoaWxkIG5vZGVzIChjaGlsZENvbmZpZ3MpLlxuICogIEl0IGlzIGJlaW5nIHVzZWQgYSB0ZW1wb3JhcnkgZGF0YSBzdHJ1Y3R1cmUgYnkgdGhlXG4gKiAgQ29udGVudEJsb2Nrc0J1aWxkZXIgY2xhc3MuXG4gKi9cblxuXG4vKipcbiAqIENvbnRlbnRCbG9ja3NCdWlsZGVyIGJ1aWxkcyBhIGxpc3Qgb2YgQ29udGVudEJsb2NrcyBhbmQgYW4gRW50aXR5IE1hcFxuICogb3V0IG9mIG9uZSAob3Igc2V2ZXJhbCkgSFRNTEVsZW1lbnQocykuXG4gKlxuICogVGhlIGFsZ29yaXRobSBoYXMgdHdvIHBhc3NlczogZmlyc3QgaXQgYnVpbGRzIGEgdHJlZSBvZiBDb250ZW50QmxvY2tDb25maWdzXG4gKiBieSB3YWxraW5nIHRocm91Z2ggdGhlIEhUTUwgbm9kZXMgYW5kIHRoZWlyIGNoaWxkcmVuLCB0aGVuIGl0IHdhbGtzIHRoZVxuICogQ29udGVudEJsb2NrQ29uZmlncyB0cmVlIHRvIGNvbXB1dGUgcGFyZW50cy9zaWJsaW5ncyBhbmQgY3JlYXRlXG4gKiB0aGUgYWN0dWFsIENvbnRlbnRCbG9ja3MuXG4gKlxuICogVHlwaWNhbCB1c2FnZSBpczpcbiAqICAgICBuZXcgQ29udGVudEJsb2Nrc0J1aWxkZXIoKVxuICogICAgICAgIC5hZGRET01Ob2RlKHNvbWVIVE1MTm9kZSlcbiAqICAgICAgICAuYWRkRE9NTm9kZShzb21lT3RoZXJIVE1MTm9kZSlcbiAqICAgICAgIC5nZXRDb250ZW50QmxvY2tzKCk7XG4gKlxuICovXG52YXIgQ29udGVudEJsb2Nrc0J1aWxkZXIgPVxuLyojX19QVVJFX18qL1xuZnVuY3Rpb24gKCkge1xuICAvLyBNb3N0IG9mIHRoZSBtZXRob2QgaW4gdGhlIGNsYXNzIGRlcGVuZCBvbiB0aGUgc3RhdGUgb2YgdGhlIGNvbnRlbnQgYnVpbGRlclxuICAvLyAoaS5lLiBjdXJyZW50QmxvY2tUeXBlLCBjdXJyZW50RGVwdGgsIGN1cnJlbnRFbnRpdHkgZXRjLikuIFRob3VnaCBpdCBtYXlcbiAgLy8gYmUgY29uZnVzaW5nIGF0IGZpcnN0LCBpdCBtYWRlIHRoZSBjb2RlIHNpbXBsZXIgdGhhbiB0aGUgYWx0ZXJuYXRpdmUgd2hpY2hcbiAgLy8gaXMgdG8gcGFzcyB0aG9zZSB2YWx1ZXMgYXJvdW5kIGluIGV2ZXJ5IGNhbGwuXG4gIC8vIFRoZSBmb2xsb3dpbmcgYXR0cmlidXRlcyBhcmUgdXNlZCB0byBhY2N1bXVsYXRlIHRleHQgYW5kIHN0eWxlc1xuICAvLyBhcyB3ZSBhcmUgd2Fsa2luZyB0aGUgSFRNTCBub2RlIHRyZWUuXG4gIC8vIERlc2NyaWJlcyB0aGUgZnV0dXJlIENvbnRlbnRTdGF0ZSBhcyBhIHRyZWUgb2YgY29udGVudCBibG9ja3NcbiAgLy8gVGhlIGNvbnRlbnQgYmxvY2tzIGdlbmVyYXRlZCBmcm9tIHRoZSBibG9ja0NvbmZpZ3NcbiAgLy8gRW50aXR5IG1hcCB1c2UgdG8gc3RvcmUgbGlua3MgYW5kIGltYWdlcyBmb3VuZCBpbiB0aGUgSFRNTCBub2Rlc1xuICAvLyBNYXAgSFRNTCB0YWdzIHRvIGRyYWZ0anMgYmxvY2sgdHlwZXMgYW5kIGRpc2FtYmlndWF0aW9uIGZ1bmN0aW9uXG4gIGZ1bmN0aW9uIENvbnRlbnRCbG9ja3NCdWlsZGVyKGJsb2NrVHlwZU1hcCwgZGlzYW1iaWd1YXRlKSB7XG4gICAgX2RlZmluZVByb3BlcnR5KHRoaXMsIFwiY2hhcmFjdGVyTGlzdFwiLCBMaXN0KCkpO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KHRoaXMsIFwiY3VycmVudEJsb2NrVHlwZVwiLCAndW5zdHlsZWQnKTtcblxuICAgIF9kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcImN1cnJlbnREZXB0aFwiLCAwKTtcblxuICAgIF9kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcImN1cnJlbnRFbnRpdHlcIiwgbnVsbCk7XG5cbiAgICBfZGVmaW5lUHJvcGVydHkodGhpcywgXCJjdXJyZW50U3R5bGVcIiwgT3JkZXJlZFNldCgpKTtcblxuICAgIF9kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcImN1cnJlbnRUZXh0XCIsICcnKTtcblxuICAgIF9kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIndyYXBwZXJcIiwgbnVsbCk7XG5cbiAgICBfZGVmaW5lUHJvcGVydHkodGhpcywgXCJibG9ja0NvbmZpZ3NcIiwgW10pO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KHRoaXMsIFwiY29udGVudEJsb2Nrc1wiLCBbXSk7XG5cbiAgICBfZGVmaW5lUHJvcGVydHkodGhpcywgXCJlbnRpdHlNYXBcIiwgRHJhZnRFbnRpdHkpO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KHRoaXMsIFwiYmxvY2tUeXBlTWFwXCIsIHZvaWQgMCk7XG5cbiAgICBfZGVmaW5lUHJvcGVydHkodGhpcywgXCJkaXNhbWJpZ3VhdGVcIiwgdm9pZCAwKTtcblxuICAgIHRoaXMuY2xlYXIoKTtcbiAgICB0aGlzLmJsb2NrVHlwZU1hcCA9IGJsb2NrVHlwZU1hcDtcbiAgICB0aGlzLmRpc2FtYmlndWF0ZSA9IGRpc2FtYmlndWF0ZTtcbiAgfVxuICAvKipcbiAgICogQ2xlYXIgdGhlIGludGVybmFsIHN0YXRlIG9mIHRoZSBDb250ZW50QmxvY2tzQnVpbGRlclxuICAgKi9cblxuXG4gIHZhciBfcHJvdG8gPSBDb250ZW50QmxvY2tzQnVpbGRlci5wcm90b3R5cGU7XG5cbiAgX3Byb3RvLmNsZWFyID0gZnVuY3Rpb24gY2xlYXIoKSB7XG4gICAgdGhpcy5jaGFyYWN0ZXJMaXN0ID0gTGlzdCgpO1xuICAgIHRoaXMuYmxvY2tDb25maWdzID0gW107XG4gICAgdGhpcy5jdXJyZW50QmxvY2tUeXBlID0gJ3Vuc3R5bGVkJztcbiAgICB0aGlzLmN1cnJlbnREZXB0aCA9IDA7XG4gICAgdGhpcy5jdXJyZW50RW50aXR5ID0gbnVsbDtcbiAgICB0aGlzLmN1cnJlbnRTdHlsZSA9IE9yZGVyZWRTZXQoKTtcbiAgICB0aGlzLmN1cnJlbnRUZXh0ID0gJyc7XG4gICAgdGhpcy5lbnRpdHlNYXAgPSBEcmFmdEVudGl0eTtcbiAgICB0aGlzLndyYXBwZXIgPSBudWxsO1xuICAgIHRoaXMuY29udGVudEJsb2NrcyA9IFtdO1xuICB9XG4gIC8qKlxuICAgKiBBZGQgYW4gSFRNTEVsZW1lbnQgdG8gdGhlIENvbnRlbnRCbG9ja3NCdWlsZGVyXG4gICAqL1xuICA7XG5cbiAgX3Byb3RvLmFkZERPTU5vZGUgPSBmdW5jdGlvbiBhZGRET01Ob2RlKG5vZGUpIHtcbiAgICB2YXIgX3RoaXMkYmxvY2tDb25maWdzO1xuXG4gICAgdGhpcy5jb250ZW50QmxvY2tzID0gW107XG4gICAgdGhpcy5jdXJyZW50RGVwdGggPSAwOyAvLyBDb252ZXJ0cyB0aGUgSFRNTCBub2RlIHRvIGJsb2NrIGNvbmZpZ1xuXG4gICAgKF90aGlzJGJsb2NrQ29uZmlncyA9IHRoaXMuYmxvY2tDb25maWdzKS5wdXNoLmFwcGx5KF90aGlzJGJsb2NrQ29uZmlncywgdGhpcy5fdG9CbG9ja0NvbmZpZ3MoW25vZGVdKSk7IC8vIFRoZXJlIG1pZ2h0IGJlIHNvbWUgbGVmdCBvdmVyIHRleHQgaW4gdGhlIGJ1aWxkZXInc1xuICAgIC8vIGludGVybmFsIHN0YXRlLCBpZiBzbyBtYWtlIGEgQ29udGVudEJsb2NrIG91dCBvZiBpdC5cblxuXG4gICAgdGhpcy5fdHJpbUN1cnJlbnRUZXh0KCk7XG5cbiAgICBpZiAodGhpcy5jdXJyZW50VGV4dCAhPT0gJycpIHtcbiAgICAgIHRoaXMuYmxvY2tDb25maWdzLnB1c2godGhpcy5fbWFrZUJsb2NrQ29uZmlnKCkpO1xuICAgIH0gLy8gZm9yIGNoYWluaW5nXG5cblxuICAgIHJldHVybiB0aGlzO1xuICB9XG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIENvbnRlbnRCbG9ja3MgYW5kIHRoZSBFbnRpdHlNYXAgdGhhdCBjb3JyZXNwb25kc1xuICAgKiB0byB0aGUgcHJldmlvdXNseSBhZGRlZCBIVE1MIG5vZGVzLlxuICAgKi9cbiAgO1xuXG4gIF9wcm90by5nZXRDb250ZW50QmxvY2tzID0gZnVuY3Rpb24gZ2V0Q29udGVudEJsb2NrcygpIHtcbiAgICBpZiAodGhpcy5jb250ZW50QmxvY2tzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgaWYgKGV4cGVyaW1lbnRhbFRyZWVEYXRhU3VwcG9ydCkge1xuICAgICAgICB0aGlzLl90b0NvbnRlbnRCbG9ja3ModGhpcy5ibG9ja0NvbmZpZ3MpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5fdG9GbGF0Q29udGVudEJsb2Nrcyh0aGlzLmJsb2NrQ29uZmlncyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbnRlbnRCbG9ja3M6IHRoaXMuY29udGVudEJsb2NrcyxcbiAgICAgIGVudGl0eU1hcDogdGhpcy5lbnRpdHlNYXBcbiAgICB9O1xuICB9XG4gIC8qKlxuICAgKiBBZGQgYSBuZXcgaW5saW5lIHN0eWxlIHRvIHRoZSB1cGNvbWluZyBub2Rlcy5cbiAgICovXG4gIDtcblxuICBfcHJvdG8uYWRkU3R5bGUgPSBmdW5jdGlvbiBhZGRTdHlsZShpbmxpbmVTdHlsZSkge1xuICAgIHRoaXMuY3VycmVudFN0eWxlID0gdGhpcy5jdXJyZW50U3R5bGUudW5pb24oaW5saW5lU3R5bGUpO1xuICB9XG4gIC8qKlxuICAgKiBSZW1vdmUgYSBjdXJyZW50bHkgYXBwbGllZCBpbmxpbmUgc3R5bGUuXG4gICAqL1xuICA7XG5cbiAgX3Byb3RvLnJlbW92ZVN0eWxlID0gZnVuY3Rpb24gcmVtb3ZlU3R5bGUoaW5saW5lU3R5bGUpIHtcbiAgICB0aGlzLmN1cnJlbnRTdHlsZSA9IHRoaXMuY3VycmVudFN0eWxlLnN1YnRyYWN0KGlubGluZVN0eWxlKTtcbiAgfSAvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKldBUk5JTkcqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgLy8gVGhlIG1ldGhvZHMgYmVsb3cgdGhpcyBsaW5lIGFyZSBwcml2YXRlIC0gZG9uJ3QgY2FsbCB0aGVtIGRpcmVjdGx5LlxuXG4gIC8qKlxuICAgKiBHZW5lcmF0ZSBhIG5ldyBDb250ZW50QmxvY2tDb25maWcgb3V0IG9mIHRoZSBjdXJyZW50IGludGVybmFsIHN0YXRlXG4gICAqIG9mIHRoZSBidWlsZGVyLCB0aGVuIGNsZWFycyB0aGUgaW50ZXJuYWwgc3RhdGUuXG4gICAqL1xuICA7XG5cbiAgX3Byb3RvLl9tYWtlQmxvY2tDb25maWcgPSBmdW5jdGlvbiBfbWFrZUJsb2NrQ29uZmlnKCkge1xuICAgIHZhciBjb25maWcgPSBhcmd1bWVudHMubGVuZ3RoID4gMCAmJiBhcmd1bWVudHNbMF0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1swXSA6IHt9O1xuICAgIHZhciBrZXkgPSBjb25maWcua2V5IHx8IGdlbmVyYXRlUmFuZG9tS2V5KCk7XG5cbiAgICB2YXIgYmxvY2sgPSBfb2JqZWN0U3ByZWFkKHtcbiAgICAgIGtleToga2V5LFxuICAgICAgdHlwZTogdGhpcy5jdXJyZW50QmxvY2tUeXBlLFxuICAgICAgdGV4dDogdGhpcy5jdXJyZW50VGV4dCxcbiAgICAgIGNoYXJhY3Rlckxpc3Q6IHRoaXMuY2hhcmFjdGVyTGlzdCxcbiAgICAgIGRlcHRoOiB0aGlzLmN1cnJlbnREZXB0aCxcbiAgICAgIHBhcmVudDogbnVsbCxcbiAgICAgIGNoaWxkcmVuOiBMaXN0KCksXG4gICAgICBwcmV2U2libGluZzogbnVsbCxcbiAgICAgIG5leHRTaWJsaW5nOiBudWxsLFxuICAgICAgY2hpbGRDb25maWdzOiBbXVxuICAgIH0sIGNvbmZpZyk7XG5cbiAgICB0aGlzLmNoYXJhY3Rlckxpc3QgPSBMaXN0KCk7XG4gICAgdGhpcy5jdXJyZW50QmxvY2tUeXBlID0gJ3Vuc3R5bGVkJztcbiAgICB0aGlzLmN1cnJlbnRUZXh0ID0gJyc7XG4gICAgcmV0dXJuIGJsb2NrO1xuICB9XG4gIC8qKlxuICAgKiBDb252ZXJ0cyBhbiBhcnJheSBvZiBIVE1MIGVsZW1lbnRzIHRvIGEgbXVsdGktcm9vdCB0cmVlIG9mIGNvbnRlbnRcbiAgICogYmxvY2sgY29uZmlncy4gU29tZSB0ZXh0IGNvbnRlbnQgbWF5IGJlIGxlZnQgaW4gdGhlIGJ1aWxkZXJzIGludGVybmFsXG4gICAqIHN0YXRlIHRvIGVuYWJsZSBjaGFpbmluZyBzdWNlc3NpdmUgY2FsbHMuXG4gICAqL1xuICA7XG5cbiAgX3Byb3RvLl90b0Jsb2NrQ29uZmlncyA9IGZ1bmN0aW9uIF90b0Jsb2NrQ29uZmlncyhub2Rlcykge1xuICAgIHZhciBibG9ja0NvbmZpZ3MgPSBbXTtcblxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbm9kZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciBub2RlID0gbm9kZXNbaV07XG4gICAgICB2YXIgbm9kZU5hbWUgPSBub2RlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7XG5cbiAgICAgIGlmIChub2RlTmFtZSA9PT0gJ2JvZHknIHx8IGlzTGlzdE5vZGUobm9kZU5hbWUpKSB7XG4gICAgICAgIC8vIGJvZHksIG9sIGFuZCB1bCBhcmUgJ2Jsb2NrJyB0eXBlIG5vZGVzIHNvIGNyZWF0ZSBhIGJsb2NrIGNvbmZpZ1xuICAgICAgICAvLyB3aXRoIHRoZSB0ZXh0IGFjY3VtdWxhdGVkIHNvIGZhciAoaWYgYW55KVxuICAgICAgICB0aGlzLl90cmltQ3VycmVudFRleHQoKTtcblxuICAgICAgICBpZiAodGhpcy5jdXJyZW50VGV4dCAhPT0gJycpIHtcbiAgICAgICAgICBibG9ja0NvbmZpZ3MucHVzaCh0aGlzLl9tYWtlQmxvY2tDb25maWcoKSk7XG4gICAgICAgIH0gLy8gYm9keSwgb2wgYW5kIHVsIG5vZGVzIGFyZSBpZ25vcmVkLCBidXQgdGhlaXIgY2hpbGRyZW4gYXJlIGlubGluZWQgaW5cbiAgICAgICAgLy8gdGhlIHBhcmVudCBibG9jayBjb25maWcuXG5cblxuICAgICAgICB2YXIgd2FzQ3VycmVudERlcHRoID0gdGhpcy5jdXJyZW50RGVwdGg7XG4gICAgICAgIHZhciB3YXNXcmFwcGVyID0gdGhpcy53cmFwcGVyO1xuXG4gICAgICAgIGlmIChpc0xpc3ROb2RlKG5vZGVOYW1lKSkge1xuICAgICAgICAgIHRoaXMud3JhcHBlciA9IG5vZGVOYW1lO1xuXG4gICAgICAgICAgaWYgKGlzTGlzdE5vZGUod2FzV3JhcHBlcikpIHtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudERlcHRoKys7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgYmxvY2tDb25maWdzLnB1c2guYXBwbHkoYmxvY2tDb25maWdzLCB0aGlzLl90b0Jsb2NrQ29uZmlncyhBcnJheS5mcm9tKG5vZGUuY2hpbGROb2RlcykpKTtcbiAgICAgICAgdGhpcy5jdXJyZW50RGVwdGggPSB3YXNDdXJyZW50RGVwdGg7XG4gICAgICAgIHRoaXMud3JhcHBlciA9IHdhc1dyYXBwZXI7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICB2YXIgYmxvY2tUeXBlID0gdGhpcy5ibG9ja1R5cGVNYXAuZ2V0KG5vZGVOYW1lKTtcblxuICAgICAgaWYgKGJsb2NrVHlwZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIC8vICdibG9jaycgdHlwZSBub2RlIG1lYW5zIHdlIG5lZWQgdG8gY3JlYXRlIGEgYmxvY2sgY29uZmlnXG4gICAgICAgIC8vIHdpdGggdGhlIHRleHQgYWNjdW11bGF0ZWQgc28gZmFyIChpZiBhbnkpXG4gICAgICAgIHRoaXMuX3RyaW1DdXJyZW50VGV4dCgpO1xuXG4gICAgICAgIGlmICh0aGlzLmN1cnJlbnRUZXh0ICE9PSAnJykge1xuICAgICAgICAgIGJsb2NrQ29uZmlncy5wdXNoKHRoaXMuX21ha2VCbG9ja0NvbmZpZygpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBfd2FzQ3VycmVudERlcHRoID0gdGhpcy5jdXJyZW50RGVwdGg7XG4gICAgICAgIHZhciBfd2FzV3JhcHBlciA9IHRoaXMud3JhcHBlcjtcbiAgICAgICAgdGhpcy53cmFwcGVyID0gbm9kZU5hbWUgPT09ICdwcmUnID8gJ3ByZScgOiB0aGlzLndyYXBwZXI7XG5cbiAgICAgICAgaWYgKHR5cGVvZiBibG9ja1R5cGUgIT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgYmxvY2tUeXBlID0gdGhpcy5kaXNhbWJpZ3VhdGUobm9kZU5hbWUsIHRoaXMud3JhcHBlcikgfHwgYmxvY2tUeXBlWzBdIHx8ICd1bnN0eWxlZCc7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIWV4cGVyaW1lbnRhbFRyZWVEYXRhU3VwcG9ydCAmJiBpc0hUTUxFbGVtZW50KG5vZGUpICYmIChibG9ja1R5cGUgPT09ICd1bm9yZGVyZWQtbGlzdC1pdGVtJyB8fCBibG9ja1R5cGUgPT09ICdvcmRlcmVkLWxpc3QtaXRlbScpKSB7XG4gICAgICAgICAgdmFyIGh0bWxFbGVtZW50ID0gbm9kZTtcbiAgICAgICAgICB0aGlzLmN1cnJlbnREZXB0aCA9IGdldExpc3RJdGVtRGVwdGgoaHRtbEVsZW1lbnQsIHRoaXMuY3VycmVudERlcHRoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBrZXkgPSBnZW5lcmF0ZVJhbmRvbUtleSgpO1xuXG4gICAgICAgIHZhciBjaGlsZENvbmZpZ3MgPSB0aGlzLl90b0Jsb2NrQ29uZmlncyhBcnJheS5mcm9tKG5vZGUuY2hpbGROb2RlcykpO1xuXG4gICAgICAgIHRoaXMuX3RyaW1DdXJyZW50VGV4dCgpO1xuXG4gICAgICAgIGJsb2NrQ29uZmlncy5wdXNoKHRoaXMuX21ha2VCbG9ja0NvbmZpZyh7XG4gICAgICAgICAga2V5OiBrZXksXG4gICAgICAgICAgY2hpbGRDb25maWdzOiBjaGlsZENvbmZpZ3MsXG4gICAgICAgICAgdHlwZTogYmxvY2tUeXBlXG4gICAgICAgIH0pKTtcbiAgICAgICAgdGhpcy5jdXJyZW50RGVwdGggPSBfd2FzQ3VycmVudERlcHRoO1xuICAgICAgICB0aGlzLndyYXBwZXIgPSBfd2FzV3JhcHBlcjtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIGlmIChub2RlTmFtZSA9PT0gJyN0ZXh0Jykge1xuICAgICAgICB0aGlzLl9hZGRUZXh0Tm9kZShub2RlKTtcblxuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgaWYgKG5vZGVOYW1lID09PSAnYnInKSB7XG4gICAgICAgIHRoaXMuX2FkZEJyZWFrTm9kZShub2RlKTtcblxuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgaWYgKGlzVmFsaWRJbWFnZShub2RlKSkge1xuICAgICAgICB0aGlzLl9hZGRJbWdOb2RlKG5vZGUpO1xuXG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICBpZiAoaXNWYWxpZEFuY2hvcihub2RlKSkge1xuICAgICAgICB0aGlzLl9hZGRBbmNob3JOb2RlKG5vZGUsIGJsb2NrQ29uZmlncyk7XG5cbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIHZhciBpbmxpbmVTdHlsZSA9IEhUTUxUYWdUb1Jhd0lubGluZVN0eWxlTWFwLmhhcyhub2RlTmFtZSkgPyBPcmRlcmVkU2V0Lm9mKEhUTUxUYWdUb1Jhd0lubGluZVN0eWxlTWFwLmdldChub2RlTmFtZSkpIDogT3JkZXJlZFNldCgpO1xuICAgICAgdmFyIGF0dHJpYnV0ZXNTdHlsZSA9IHN0eWxlRnJvbU5vZGVBdHRyaWJ1dGVzKG5vZGUpO1xuICAgICAgdGhpcy5hZGRTdHlsZShpbmxpbmVTdHlsZSk7XG4gICAgICB0aGlzLmFkZFN0eWxlKGF0dHJpYnV0ZXNTdHlsZSk7XG4gICAgICBibG9ja0NvbmZpZ3MucHVzaC5hcHBseShibG9ja0NvbmZpZ3MsIHRoaXMuX3RvQmxvY2tDb25maWdzKEFycmF5LmZyb20obm9kZS5jaGlsZE5vZGVzKSkpO1xuICAgICAgdGhpcy5yZW1vdmVTdHlsZShhdHRyaWJ1dGVzU3R5bGUpO1xuICAgICAgdGhpcy5yZW1vdmVTdHlsZShpbmxpbmVTdHlsZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGJsb2NrQ29uZmlncztcbiAgfVxuICAvKipcbiAgICogQXBwZW5kIGEgc3RyaW5nIG9mIHRleHQgdG8gdGhlIGludGVybmFsIGJ1ZmZlci5cbiAgICovXG4gIDtcblxuICBfcHJvdG8uX2FwcGVuZFRleHQgPSBmdW5jdGlvbiBfYXBwZW5kVGV4dCh0ZXh0KSB7XG4gICAgdmFyIF90aGlzJGNoYXJhY3Rlckxpc3Q7XG5cbiAgICB0aGlzLmN1cnJlbnRUZXh0ICs9IHRleHQ7XG4gICAgdmFyIGNoYXJhY3Rlck1ldGFkYXRhID0gQ2hhcmFjdGVyTWV0YWRhdGEuY3JlYXRlKHtcbiAgICAgIHN0eWxlOiB0aGlzLmN1cnJlbnRTdHlsZSxcbiAgICAgIGVudGl0eTogdGhpcy5jdXJyZW50RW50aXR5XG4gICAgfSk7XG4gICAgdGhpcy5jaGFyYWN0ZXJMaXN0ID0gKF90aGlzJGNoYXJhY3Rlckxpc3QgPSB0aGlzLmNoYXJhY3Rlckxpc3QpLnB1c2guYXBwbHkoX3RoaXMkY2hhcmFjdGVyTGlzdCwgQXJyYXkodGV4dC5sZW5ndGgpLmZpbGwoY2hhcmFjdGVyTWV0YWRhdGEpKTtcbiAgfVxuICAvKipcbiAgICogVHJpbSB0aGUgdGV4dCBpbiB0aGUgaW50ZXJuYWwgYnVmZmVyLlxuICAgKi9cbiAgO1xuXG4gIF9wcm90by5fdHJpbUN1cnJlbnRUZXh0ID0gZnVuY3Rpb24gX3RyaW1DdXJyZW50VGV4dCgpIHtcbiAgICB2YXIgbCA9IHRoaXMuY3VycmVudFRleHQubGVuZ3RoO1xuICAgIHZhciBiZWdpbiA9IGwgLSB0aGlzLmN1cnJlbnRUZXh0LnRyaW1MZWZ0KCkubGVuZ3RoO1xuICAgIHZhciBlbmQgPSB0aGlzLmN1cnJlbnRUZXh0LnRyaW1SaWdodCgpLmxlbmd0aDsgLy8gV2Ugc2hvdWxkIG5vdCB0cmltIHdoaXRlc3BhY2VzIGZvciB3aGljaCBhbiBlbnRpdHkgaXMgZGVmaW5lZC5cblxuICAgIHZhciBlbnRpdHkgPSB0aGlzLmNoYXJhY3Rlckxpc3QuZmluZEVudHJ5KGZ1bmN0aW9uIChjaGFyYWN0ZXJNZXRhZGF0YSkge1xuICAgICAgcmV0dXJuIGNoYXJhY3Rlck1ldGFkYXRhLmdldEVudGl0eSgpICE9PSBudWxsO1xuICAgIH0pO1xuICAgIGJlZ2luID0gZW50aXR5ICE9PSB1bmRlZmluZWQgPyBNYXRoLm1pbihiZWdpbiwgZW50aXR5WzBdKSA6IGJlZ2luO1xuICAgIGVudGl0eSA9IHRoaXMuY2hhcmFjdGVyTGlzdC5yZXZlcnNlKCkuZmluZEVudHJ5KGZ1bmN0aW9uIChjaGFyYWN0ZXJNZXRhZGF0YSkge1xuICAgICAgcmV0dXJuIGNoYXJhY3Rlck1ldGFkYXRhLmdldEVudGl0eSgpICE9PSBudWxsO1xuICAgIH0pO1xuICAgIGVuZCA9IGVudGl0eSAhPT0gdW5kZWZpbmVkID8gTWF0aC5tYXgoZW5kLCBsIC0gZW50aXR5WzBdKSA6IGVuZDtcblxuICAgIGlmIChiZWdpbiA+IGVuZCkge1xuICAgICAgdGhpcy5jdXJyZW50VGV4dCA9ICcnO1xuICAgICAgdGhpcy5jaGFyYWN0ZXJMaXN0ID0gTGlzdCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmN1cnJlbnRUZXh0ID0gdGhpcy5jdXJyZW50VGV4dC5zbGljZShiZWdpbiwgZW5kKTtcbiAgICAgIHRoaXMuY2hhcmFjdGVyTGlzdCA9IHRoaXMuY2hhcmFjdGVyTGlzdC5zbGljZShiZWdpbiwgZW5kKTtcbiAgICB9XG4gIH1cbiAgLyoqXG4gICAqIEFkZCB0aGUgY29udGVudCBvZiBhbiBIVE1MIHRleHQgbm9kZSB0byB0aGUgaW50ZXJuYWwgc3RhdGVcbiAgICovXG4gIDtcblxuICBfcHJvdG8uX2FkZFRleHROb2RlID0gZnVuY3Rpb24gX2FkZFRleHROb2RlKG5vZGUpIHtcbiAgICB2YXIgdGV4dCA9IG5vZGUudGV4dENvbnRlbnQ7XG4gICAgdmFyIHRyaW1tZWRUZXh0ID0gdGV4dC50cmltKCk7IC8vIElmIHdlIGFyZSBub3QgaW4gYSBwcmUgYmxvY2sgYW5kIHRoZSB0cmltbWVkIGNvbnRlbnQgaXMgZW1wdHksXG4gICAgLy8gbm9ybWFsaXplIHRvIGEgc2luZ2xlIHNwYWNlLlxuXG4gICAgaWYgKHRyaW1tZWRUZXh0ID09PSAnJyAmJiB0aGlzLndyYXBwZXIgIT09ICdwcmUnKSB7XG4gICAgICB0ZXh0ID0gJyAnO1xuICAgIH1cblxuICAgIGlmICh0aGlzLndyYXBwZXIgIT09ICdwcmUnKSB7XG4gICAgICAvLyBUcmltIGxlYWRpbmcgbGluZSBmZWVkLCB3aGljaCBpcyBpbnZpc2libGUgaW4gSFRNTFxuICAgICAgdGV4dCA9IHRleHQucmVwbGFjZShSRUdFWF9MRUFESU5HX0xGLCAnJyk7IC8vIENhbid0IHVzZSBlbXB0eSBzdHJpbmcgYmVjYXVzZSBNU1dvcmRcblxuICAgICAgdGV4dCA9IHRleHQucmVwbGFjZShSRUdFWF9MRiwgU1BBQ0UpO1xuICAgIH1cblxuICAgIHRoaXMuX2FwcGVuZFRleHQodGV4dCk7XG4gIH07XG5cbiAgX3Byb3RvLl9hZGRCcmVha05vZGUgPSBmdW5jdGlvbiBfYWRkQnJlYWtOb2RlKG5vZGUpIHtcbiAgICBpZiAoIWlzSFRNTEJSRWxlbWVudChub2RlKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX2FwcGVuZFRleHQoJ1xcbicpO1xuICB9XG4gIC8qKlxuICAgKiBBZGQgdGhlIGNvbnRlbnQgb2YgYW4gSFRNTCBpbWcgbm9kZSB0byB0aGUgaW50ZXJuYWwgc3RhdGVcbiAgICovXG4gIDtcblxuICBfcHJvdG8uX2FkZEltZ05vZGUgPSBmdW5jdGlvbiBfYWRkSW1nTm9kZShub2RlKSB7XG4gICAgaWYgKCFpc0hUTUxJbWFnZUVsZW1lbnQobm9kZSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB2YXIgaW1hZ2UgPSBub2RlO1xuICAgIHZhciBlbnRpdHlDb25maWcgPSB7fTtcbiAgICBpbWdBdHRyLmZvckVhY2goZnVuY3Rpb24gKGF0dHIpIHtcbiAgICAgIHZhciBpbWFnZUF0dHJpYnV0ZSA9IGltYWdlLmdldEF0dHJpYnV0ZShhdHRyKTtcblxuICAgICAgaWYgKGltYWdlQXR0cmlidXRlKSB7XG4gICAgICAgIGVudGl0eUNvbmZpZ1thdHRyXSA9IGltYWdlQXR0cmlidXRlO1xuICAgICAgfVxuICAgIH0pOyAvLyBUT0RPOiBUMTU1MzAzNjMgdXBkYXRlIHRoaXMgd2hlbiB3ZSByZW1vdmUgRHJhZnRFbnRpdHkgZW50aXJlbHlcblxuICAgIHRoaXMuY3VycmVudEVudGl0eSA9IHRoaXMuZW50aXR5TWFwLl9fY3JlYXRlKCdJTUFHRScsICdJTU1VVEFCTEUnLCBlbnRpdHlDb25maWcpOyAvLyBUaGUgY2hpbGQgdGV4dCBub2RlIGNhbm5vdCBqdXN0IGhhdmUgYSBzcGFjZSBvciByZXR1cm4gYXMgY29udGVudCAoc2luY2VcbiAgICAvLyB3ZSBzdHJpcCB0aG9zZSBvdXQpLCB1bmxlc3MgdGhlIGltYWdlIGlzIGZvciBwcmVzZW50YXRpb24gb25seS5cbiAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL2RyYWZ0LWpzL2lzc3Vlcy8yMzEgZm9yIHNvbWUgY29udGV4dC5cblxuICAgIGlmIChna3goJ2RyYWZ0anNfZml4X3Bhc3RlX2Zvcl9pbWcnKSkge1xuICAgICAgaWYgKGltYWdlLmdldEF0dHJpYnV0ZSgncm9sZScpICE9PSAncHJlc2VudGF0aW9uJykge1xuICAgICAgICB0aGlzLl9hcHBlbmRUZXh0KFwiXFx1RDgzRFxcdURDRjdcIik7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2FwcGVuZFRleHQoXCJcXHVEODNEXFx1RENGN1wiKTtcbiAgICB9XG5cbiAgICB0aGlzLmN1cnJlbnRFbnRpdHkgPSBudWxsO1xuICB9XG4gIC8qKlxuICAgKiBBZGQgdGhlIGNvbnRlbnQgb2YgYW4gSFRNTCAnYScgbm9kZSB0byB0aGUgaW50ZXJuYWwgc3RhdGUuIENoaWxkIG5vZGVzXG4gICAqIChpZiBhbnkpIGFyZSBjb252ZXJ0ZWQgdG8gQmxvY2sgQ29uZmlncyBhbmQgYXBwZW5kZWQgdG8gdGhlIHByb3ZpZGVkXG4gICAqIGJsb2NrQ29uZmlnIGFycmF5LlxuICAgKi9cbiAgO1xuXG4gIF9wcm90by5fYWRkQW5jaG9yTm9kZSA9IGZ1bmN0aW9uIF9hZGRBbmNob3JOb2RlKG5vZGUsIGJsb2NrQ29uZmlncykge1xuICAgIC8vIFRoZSBjaGVjayBoYXMgYWxyZWFkeSBiZWVuIG1hZGUgYnkgaXNWYWxpZEFuY2hvciBidXRcbiAgICAvLyB3ZSBoYXZlIHRvIGRvIGl0IGFnYWluIHRvIGtlZXAgZmxvdyBoYXBweS5cbiAgICBpZiAoIWlzSFRNTEFuY2hvckVsZW1lbnQobm9kZSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB2YXIgYW5jaG9yID0gbm9kZTtcbiAgICB2YXIgZW50aXR5Q29uZmlnID0ge307XG4gICAgYW5jaG9yQXR0ci5mb3JFYWNoKGZ1bmN0aW9uIChhdHRyKSB7XG4gICAgICB2YXIgYW5jaG9yQXR0cmlidXRlID0gYW5jaG9yLmdldEF0dHJpYnV0ZShhdHRyKTtcblxuICAgICAgaWYgKGFuY2hvckF0dHJpYnV0ZSkge1xuICAgICAgICBlbnRpdHlDb25maWdbYXR0cl0gPSBhbmNob3JBdHRyaWJ1dGU7XG4gICAgICB9XG4gICAgfSk7XG4gICAgZW50aXR5Q29uZmlnLnVybCA9IG5ldyBVUkkoYW5jaG9yLmhyZWYpLnRvU3RyaW5nKCk7IC8vIFRPRE86IFQxNTUzMDM2MyB1cGRhdGUgdGhpcyB3aGVuIHdlIHJlbW92ZSBEcmFmdEVudGl0eSBjb21wbGV0ZWx5XG5cbiAgICB0aGlzLmN1cnJlbnRFbnRpdHkgPSB0aGlzLmVudGl0eU1hcC5fX2NyZWF0ZSgnTElOSycsICdNVVRBQkxFJywgZW50aXR5Q29uZmlnIHx8IHt9KTtcbiAgICBibG9ja0NvbmZpZ3MucHVzaC5hcHBseShibG9ja0NvbmZpZ3MsIHRoaXMuX3RvQmxvY2tDb25maWdzKEFycmF5LmZyb20obm9kZS5jaGlsZE5vZGVzKSkpO1xuICAgIHRoaXMuY3VycmVudEVudGl0eSA9IG51bGw7XG4gIH1cbiAgLyoqXG4gICAqIFdhbGsgdGhlIEJsb2NrQ29uZmlnIHRyZWUsIGNvbXB1dGUgcGFyZW50L2NoaWxkcmVuL3NpYmxpbmdzLFxuICAgKiBhbmQgZ2VuZXJhdGUgdGhlIGNvcnJlc3BvbmRpbmcgQ29udGVudEJsb2NrTm9kZVxuICAgKi9cbiAgO1xuXG4gIF9wcm90by5fdG9Db250ZW50QmxvY2tzID0gZnVuY3Rpb24gX3RvQ29udGVudEJsb2NrcyhibG9ja0NvbmZpZ3MpIHtcbiAgICB2YXIgcGFyZW50ID0gYXJndW1lbnRzLmxlbmd0aCA+IDEgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMV0gOiBudWxsO1xuICAgIHZhciBsID0gYmxvY2tDb25maWdzLmxlbmd0aCAtIDE7XG5cbiAgICBmb3IgKHZhciBpID0gMDsgaSA8PSBsOyBpKyspIHtcbiAgICAgIHZhciBjb25maWcgPSBibG9ja0NvbmZpZ3NbaV07XG4gICAgICBjb25maWcucGFyZW50ID0gcGFyZW50O1xuICAgICAgY29uZmlnLnByZXZTaWJsaW5nID0gaSA+IDAgPyBibG9ja0NvbmZpZ3NbaSAtIDFdLmtleSA6IG51bGw7XG4gICAgICBjb25maWcubmV4dFNpYmxpbmcgPSBpIDwgbCA/IGJsb2NrQ29uZmlnc1tpICsgMV0ua2V5IDogbnVsbDtcbiAgICAgIGNvbmZpZy5jaGlsZHJlbiA9IExpc3QoY29uZmlnLmNoaWxkQ29uZmlncy5tYXAoZnVuY3Rpb24gKGNoaWxkKSB7XG4gICAgICAgIHJldHVybiBjaGlsZC5rZXk7XG4gICAgICB9KSk7XG4gICAgICB0aGlzLmNvbnRlbnRCbG9ja3MucHVzaChuZXcgQ29udGVudEJsb2NrTm9kZShfb2JqZWN0U3ByZWFkKHt9LCBjb25maWcpKSk7XG5cbiAgICAgIHRoaXMuX3RvQ29udGVudEJsb2Nrcyhjb25maWcuY2hpbGRDb25maWdzLCBjb25maWcua2V5KTtcbiAgICB9XG4gIH1cbiAgLyoqXG4gICAqIFJlbW92ZSAndXNlbGVzcycgY29udGFpbmVyIG5vZGVzIGZyb20gdGhlIGJsb2NrIGNvbmZpZyBoaWVyYXJjaHksIGJ5XG4gICAqIHJlcGxhY2luZyB0aGVtIHdpdGggdGhlaXIgY2hpbGRyZW4uXG4gICAqL1xuICA7XG5cbiAgX3Byb3RvLl9ob2lzdENvbnRhaW5lcnNJbkJsb2NrQ29uZmlncyA9IGZ1bmN0aW9uIF9ob2lzdENvbnRhaW5lcnNJbkJsb2NrQ29uZmlncyhibG9ja0NvbmZpZ3MpIHtcbiAgICB2YXIgX3RoaXMgPSB0aGlzO1xuXG4gICAgdmFyIGhvaXN0ZWQgPSBMaXN0KGJsb2NrQ29uZmlncykuZmxhdE1hcChmdW5jdGlvbiAoYmxvY2tDb25maWcpIHtcbiAgICAgIC8vIERvbid0IG1lc3Mgd2l0aCB1c2VmdWwgYmxvY2tzXG4gICAgICBpZiAoYmxvY2tDb25maWcudHlwZSAhPT0gJ3Vuc3R5bGVkJyB8fCBibG9ja0NvbmZpZy50ZXh0ICE9PSAnJykge1xuICAgICAgICByZXR1cm4gW2Jsb2NrQ29uZmlnXTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIF90aGlzLl9ob2lzdENvbnRhaW5lcnNJbkJsb2NrQ29uZmlncyhibG9ja0NvbmZpZy5jaGlsZENvbmZpZ3MpO1xuICAgIH0pO1xuICAgIHJldHVybiBob2lzdGVkO1xuICB9IC8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIC8vIFRoZSB0d28gbWV0aG9kcyBiZWxvdyBhcmUgdXNlZCBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSB3aGVuXG4gIC8vIGV4cGVyaW1lbnRhbFRyZWVEYXRhU3VwcG9ydCBpcyBkaXNhYmxlZC5cblxuICAvKipcbiAgICogU2FtZSBhcyBfdG9Db250ZW50QmxvY2tzIGJ1dCByZXBsYWNlcyBuZXN0ZWQgYmxvY2tzIGJ5IHRoZWlyXG4gICAqIHRleHQgY29udGVudC5cbiAgICovXG4gIDtcblxuICBfcHJvdG8uX3RvRmxhdENvbnRlbnRCbG9ja3MgPSBmdW5jdGlvbiBfdG9GbGF0Q29udGVudEJsb2NrcyhibG9ja0NvbmZpZ3MpIHtcbiAgICB2YXIgX3RoaXMyID0gdGhpcztcblxuICAgIHZhciBjbGVhbkNvbmZpZ3MgPSB0aGlzLl9ob2lzdENvbnRhaW5lcnNJbkJsb2NrQ29uZmlncyhibG9ja0NvbmZpZ3MpO1xuXG4gICAgY2xlYW5Db25maWdzLmZvckVhY2goZnVuY3Rpb24gKGNvbmZpZykge1xuICAgICAgdmFyIF90aGlzMiRfZXh0cmFjdFRleHRGciA9IF90aGlzMi5fZXh0cmFjdFRleHRGcm9tQmxvY2tDb25maWdzKGNvbmZpZy5jaGlsZENvbmZpZ3MpLFxuICAgICAgICAgIHRleHQgPSBfdGhpczIkX2V4dHJhY3RUZXh0RnIudGV4dCxcbiAgICAgICAgICBjaGFyYWN0ZXJMaXN0ID0gX3RoaXMyJF9leHRyYWN0VGV4dEZyLmNoYXJhY3Rlckxpc3Q7XG5cbiAgICAgIF90aGlzMi5jb250ZW50QmxvY2tzLnB1c2gobmV3IENvbnRlbnRCbG9jayhfb2JqZWN0U3ByZWFkKHt9LCBjb25maWcsIHtcbiAgICAgICAgdGV4dDogY29uZmlnLnRleHQgKyB0ZXh0LFxuICAgICAgICBjaGFyYWN0ZXJMaXN0OiBjb25maWcuY2hhcmFjdGVyTGlzdC5jb25jYXQoY2hhcmFjdGVyTGlzdClcbiAgICAgIH0pKSk7XG4gICAgfSk7XG4gIH1cbiAgLyoqXG4gICAqIEV4dHJhY3QgdGhlIHRleHQgYW5kIHRoZSBhc3NvY2lhdGVkIGlubGluZSBzdHlsZXMgZm9ybSBhblxuICAgKiBhcnJheSBvZiBjb250ZW50IGJsb2NrIGNvbmZpZ3MuXG4gICAqL1xuICA7XG5cbiAgX3Byb3RvLl9leHRyYWN0VGV4dEZyb21CbG9ja0NvbmZpZ3MgPSBmdW5jdGlvbiBfZXh0cmFjdFRleHRGcm9tQmxvY2tDb25maWdzKGJsb2NrQ29uZmlncykge1xuICAgIHZhciBsID0gYmxvY2tDb25maWdzLmxlbmd0aCAtIDE7XG4gICAgdmFyIHRleHQgPSAnJztcbiAgICB2YXIgY2hhcmFjdGVyTGlzdCA9IExpc3QoKTtcblxuICAgIGZvciAodmFyIGkgPSAwOyBpIDw9IGw7IGkrKykge1xuICAgICAgdmFyIGNvbmZpZyA9IGJsb2NrQ29uZmlnc1tpXTtcbiAgICAgIHRleHQgKz0gY29uZmlnLnRleHQ7XG4gICAgICBjaGFyYWN0ZXJMaXN0ID0gY2hhcmFjdGVyTGlzdC5jb25jYXQoY29uZmlnLmNoYXJhY3Rlckxpc3QpO1xuXG4gICAgICBpZiAodGV4dCAhPT0gJycgJiYgY29uZmlnLnR5cGUgIT09ICd1bnN0eWxlZCcpIHtcbiAgICAgICAgdGV4dCArPSAnXFxuJztcbiAgICAgICAgY2hhcmFjdGVyTGlzdCA9IGNoYXJhY3Rlckxpc3QucHVzaChjaGFyYWN0ZXJMaXN0Lmxhc3QoKSk7XG4gICAgICB9XG5cbiAgICAgIHZhciBjaGlsZHJlbiA9IHRoaXMuX2V4dHJhY3RUZXh0RnJvbUJsb2NrQ29uZmlncyhjb25maWcuY2hpbGRDb25maWdzKTtcblxuICAgICAgdGV4dCArPSBjaGlsZHJlbi50ZXh0O1xuICAgICAgY2hhcmFjdGVyTGlzdCA9IGNoYXJhY3Rlckxpc3QuY29uY2F0KGNoaWxkcmVuLmNoYXJhY3Rlckxpc3QpO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICB0ZXh0OiB0ZXh0LFxuICAgICAgY2hhcmFjdGVyTGlzdDogY2hhcmFjdGVyTGlzdFxuICAgIH07XG4gIH07XG5cbiAgcmV0dXJuIENvbnRlbnRCbG9ja3NCdWlsZGVyO1xufSgpO1xuLyoqXG4gKiBDb252ZXJ0cyBhbiBIVE1MIHN0cmluZyB0byBhbiBhcnJheSBvZiBDb250ZW50QmxvY2tzIGFuZCBhbiBFbnRpdHlNYXBcbiAqIHN1aXRhYmxlIHRvIGluaXRpYWxpemUgdGhlIGludGVybmFsIHN0YXRlIG9mIGEgRHJhZnRqcyBjb21wb25lbnQuXG4gKi9cblxuXG52YXIgY29udmVydEZyb21IVE1MVG9Db250ZW50QmxvY2tzID0gZnVuY3Rpb24gY29udmVydEZyb21IVE1MVG9Db250ZW50QmxvY2tzKGh0bWwpIHtcbiAgdmFyIERPTUJ1aWxkZXIgPSBhcmd1bWVudHMubGVuZ3RoID4gMSAmJiBhcmd1bWVudHNbMV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1sxXSA6IGdldFNhZmVCb2R5RnJvbUhUTUw7XG4gIHZhciBibG9ja1JlbmRlck1hcCA9IGFyZ3VtZW50cy5sZW5ndGggPiAyICYmIGFyZ3VtZW50c1syXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzJdIDogRGVmYXVsdERyYWZ0QmxvY2tSZW5kZXJNYXA7XG4gIC8vIEJlIEFCU09MVVRFTFkgU1VSRSB0aGF0IHRoZSBkb20gYnVpbGRlciB5b3UgcGFzcyBoZXJlIHdvbid0IGV4ZWN1dGVcbiAgLy8gYXJiaXRyYXJ5IGNvZGUgaW4gd2hhdGV2ZXIgZW52aXJvbm1lbnQgeW91J3JlIHJ1bm5pbmcgdGhpcyBpbi4gRm9yIGFuXG4gIC8vIGV4YW1wbGUgb2YgaG93IHdlIHRyeSB0byBkbyB0aGlzIGluLWJyb3dzZXIsIHNlZSBnZXRTYWZlQm9keUZyb21IVE1MLlxuICAvLyBSZW1vdmUgZnVua3kgY2hhcmFjdGVycyBmcm9tIHRoZSBIVE1MIHN0cmluZ1xuICBodG1sID0gaHRtbC50cmltKCkucmVwbGFjZShSRUdFWF9DUiwgJycpLnJlcGxhY2UoUkVHRVhfTkJTUCwgU1BBQ0UpLnJlcGxhY2UoUkVHRVhfQ0FSUklBR0UsICcnKS5yZXBsYWNlKFJFR0VYX1pXUywgJycpOyAvLyBCdWlsZCBhIERPTSB0cmVlIG91dCBvZiB0aGUgSFRNTCBzdHJpbmdcblxuICB2YXIgc2FmZUJvZHkgPSBET01CdWlsZGVyKGh0bWwpO1xuXG4gIGlmICghc2FmZUJvZHkpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfSAvLyBCdWlsZCBhIEJsb2NrVHlwZU1hcCBvdXQgb2YgdGhlIEJsb2NrUmVuZGVyTWFwXG5cblxuICB2YXIgYmxvY2tUeXBlTWFwID0gYnVpbGRCbG9ja1R5cGVNYXAoYmxvY2tSZW5kZXJNYXApOyAvLyBTZWxlY3QgdGhlIHByb3BlciBibG9jayB0eXBlIGZvciB0aGUgY2FzZXMgd2hlcmUgdGhlIGJsb2NrUmVuZGVyTWFwXG4gIC8vIHVzZXMgbXVsdGlwbGUgYmxvY2sgdHlwZXMgZm9yIHRoZSBzYW1lIGh0bWwgdGFnLlxuXG4gIHZhciBkaXNhbWJpZ3VhdGUgPSBmdW5jdGlvbiBkaXNhbWJpZ3VhdGUodGFnLCB3cmFwcGVyKSB7XG4gICAgaWYgKHRhZyA9PT0gJ2xpJykge1xuICAgICAgcmV0dXJuIHdyYXBwZXIgPT09ICdvbCcgPyAnb3JkZXJlZC1saXN0LWl0ZW0nIDogJ3Vub3JkZXJlZC1saXN0LWl0ZW0nO1xuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9O1xuXG4gIHJldHVybiBuZXcgQ29udGVudEJsb2Nrc0J1aWxkZXIoYmxvY2tUeXBlTWFwLCBkaXNhbWJpZ3VhdGUpLmFkZERPTU5vZGUoc2FmZUJvZHkpLmdldENvbnRlbnRCbG9ja3MoKTtcbn07XG5cbm1vZHVsZS5leHBvcnRzID0gY29udmVydEZyb21IVE1MVG9Db250ZW50QmxvY2tzOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/convertFromHTMLToContentBlocks.js\n"); /***/ }), @@ -559,7 +642,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule convertFromRawToDraftState\n * @format\n * \n */\n\n\n\nvar _assign = __webpack_require__(/*! object-assign */ \"./node_modules/object-assign/index.js\");\n\nvar _extends = _assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar ContentBlock = __webpack_require__(/*! ./ContentBlock */ \"./node_modules/draft-js/lib/ContentBlock.js\");\nvar ContentBlockNode = __webpack_require__(/*! ./ContentBlockNode */ \"./node_modules/draft-js/lib/ContentBlockNode.js\");\nvar ContentState = __webpack_require__(/*! ./ContentState */ \"./node_modules/draft-js/lib/ContentState.js\");\nvar DraftEntity = __webpack_require__(/*! ./DraftEntity */ \"./node_modules/draft-js/lib/DraftEntity.js\");\nvar DraftFeatureFlags = __webpack_require__(/*! ./DraftFeatureFlags */ \"./node_modules/draft-js/lib/DraftFeatureFlags.js\");\nvar DraftTreeAdapter = __webpack_require__(/*! ./DraftTreeAdapter */ \"./node_modules/draft-js/lib/DraftTreeAdapter.js\");\nvar Immutable = __webpack_require__(/*! immutable */ \"./node_modules/draft-js/node_modules/immutable/dist/immutable.js\");\nvar SelectionState = __webpack_require__(/*! ./SelectionState */ \"./node_modules/draft-js/lib/SelectionState.js\");\n\nvar createCharacterList = __webpack_require__(/*! ./createCharacterList */ \"./node_modules/draft-js/lib/createCharacterList.js\");\nvar decodeEntityRanges = __webpack_require__(/*! ./decodeEntityRanges */ \"./node_modules/draft-js/lib/decodeEntityRanges.js\");\nvar decodeInlineStyleRanges = __webpack_require__(/*! ./decodeInlineStyleRanges */ \"./node_modules/draft-js/lib/decodeInlineStyleRanges.js\");\nvar generateRandomKey = __webpack_require__(/*! ./generateRandomKey */ \"./node_modules/draft-js/lib/generateRandomKey.js\");\nvar invariant = __webpack_require__(/*! fbjs/lib/invariant */ \"./node_modules/fbjs/lib/invariant.js\");\n\nvar experimentalTreeDataSupport = DraftFeatureFlags.draft_tree_data_support;\n\nvar List = Immutable.List,\n Map = Immutable.Map,\n OrderedMap = Immutable.OrderedMap;\n\n\nvar decodeBlockNodeConfig = function decodeBlockNodeConfig(block, entityMap) {\n var key = block.key,\n type = block.type,\n data = block.data,\n text = block.text,\n depth = block.depth;\n\n\n var blockNodeConfig = {\n text: text,\n depth: depth || 0,\n type: type || 'unstyled',\n key: key || generateRandomKey(),\n data: Map(data),\n characterList: decodeCharacterList(block, entityMap)\n };\n\n return blockNodeConfig;\n};\n\nvar decodeCharacterList = function decodeCharacterList(block, entityMap) {\n var text = block.text,\n rawEntityRanges = block.entityRanges,\n rawInlineStyleRanges = block.inlineStyleRanges;\n\n\n var entityRanges = rawEntityRanges || [];\n var inlineStyleRanges = rawInlineStyleRanges || [];\n\n // Translate entity range keys to the DraftEntity map.\n return createCharacterList(decodeInlineStyleRanges(text, inlineStyleRanges), decodeEntityRanges(text, entityRanges.filter(function (range) {\n return entityMap.hasOwnProperty(range.key);\n }).map(function (range) {\n return _extends({}, range, { key: entityMap[range.key] });\n })));\n};\n\nvar addKeyIfMissing = function addKeyIfMissing(block) {\n return _extends({}, block, {\n key: block.key || generateRandomKey()\n });\n};\n\n/**\n * Node stack is responsible to ensure we traverse the tree only once\n * in depth order, while also providing parent refs to inner nodes to\n * construct their links.\n */\nvar updateNodeStack = function updateNodeStack(stack, nodes, parentRef) {\n var nodesWithParentRef = nodes.map(function (block) {\n return _extends({}, block, {\n parentRef: parentRef\n });\n });\n\n // since we pop nodes from the stack we need to insert them in reverse\n return stack.concat(nodesWithParentRef.reverse());\n};\n\n/**\n * This will build a tree draft content state by creating the node\n * reference links into a single tree walk. Each node has a link\n * reference to \"parent\", \"children\", \"nextSibling\" and \"prevSibling\"\n * blockMap will be created using depth ordering.\n */\nvar decodeContentBlockNodes = function decodeContentBlockNodes(blocks, entityMap) {\n return blocks\n // ensure children have valid keys to enable sibling links\n .map(addKeyIfMissing).reduce(function (blockMap, block, index) {\n !Array.isArray(block.children) ? true ? invariant(false, 'invalid RawDraftContentBlock can not be converted to ContentBlockNode') : undefined : void 0;\n\n // ensure children have valid keys to enable sibling links\n var children = block.children.map(addKeyIfMissing);\n\n // root level nodes\n var contentBlockNode = new ContentBlockNode(_extends({}, decodeBlockNodeConfig(block, entityMap), {\n prevSibling: index === 0 ? null : blocks[index - 1].key,\n nextSibling: index === blocks.length - 1 ? null : blocks[index + 1].key,\n children: List(children.map(function (child) {\n return child.key;\n }))\n }));\n\n // push root node to blockMap\n blockMap = blockMap.set(contentBlockNode.getKey(), contentBlockNode);\n\n // this stack is used to ensure we visit all nodes respecting depth ordering\n var stack = updateNodeStack([], children, contentBlockNode);\n\n // start computing children nodes\n while (stack.length > 0) {\n // we pop from the stack and start processing this node\n var node = stack.pop();\n\n // parentRef already points to a converted ContentBlockNode\n var parentRef = node.parentRef;\n var siblings = parentRef.getChildKeys();\n var _index = siblings.indexOf(node.key);\n var isValidBlock = Array.isArray(node.children);\n\n if (!isValidBlock) {\n !isValidBlock ? true ? invariant(false, 'invalid RawDraftContentBlock can not be converted to ContentBlockNode') : undefined : void 0;\n break;\n }\n\n // ensure children have valid keys to enable sibling links\n var _children = node.children.map(addKeyIfMissing);\n\n var _contentBlockNode = new ContentBlockNode(_extends({}, decodeBlockNodeConfig(node, entityMap), {\n parent: parentRef.getKey(),\n children: List(_children.map(function (child) {\n return child.key;\n })),\n prevSibling: _index === 0 ? null : siblings.get(_index - 1),\n nextSibling: _index === siblings.size - 1 ? null : siblings.get(_index + 1)\n }));\n\n // push node to blockMap\n blockMap = blockMap.set(_contentBlockNode.getKey(), _contentBlockNode);\n\n // this stack is used to ensure we visit all nodes respecting depth ordering\n stack = updateNodeStack(stack, _children, _contentBlockNode);\n }\n\n return blockMap;\n }, OrderedMap());\n};\n\nvar decodeContentBlocks = function decodeContentBlocks(blocks, entityMap) {\n return OrderedMap(blocks.map(function (block) {\n var contentBlock = new ContentBlock(decodeBlockNodeConfig(block, entityMap));\n return [contentBlock.getKey(), contentBlock];\n }));\n};\n\nvar decodeRawBlocks = function decodeRawBlocks(rawState, entityMap) {\n var isTreeRawBlock = Array.isArray(rawState.blocks[0].children);\n var rawBlocks = experimentalTreeDataSupport && !isTreeRawBlock ? DraftTreeAdapter.fromRawStateToRawTreeState(rawState).blocks : rawState.blocks;\n\n if (!experimentalTreeDataSupport) {\n return decodeContentBlocks(isTreeRawBlock ? DraftTreeAdapter.fromRawTreeStateToRawState(rawState).blocks : rawBlocks, entityMap);\n }\n\n return decodeContentBlockNodes(rawBlocks, entityMap);\n};\n\nvar decodeRawEntityMap = function decodeRawEntityMap(rawState) {\n var rawEntityMap = rawState.entityMap;\n\n var entityMap = {};\n\n // TODO: Update this once we completely remove DraftEntity\n Object.keys(rawEntityMap).forEach(function (rawEntityKey) {\n var _rawEntityMap$rawEnti = rawEntityMap[rawEntityKey],\n type = _rawEntityMap$rawEnti.type,\n mutability = _rawEntityMap$rawEnti.mutability,\n data = _rawEntityMap$rawEnti.data;\n\n // get the key reference to created entity\n\n entityMap[rawEntityKey] = DraftEntity.__create(type, mutability, data || {});\n });\n\n return entityMap;\n};\n\nvar convertFromRawToDraftState = function convertFromRawToDraftState(rawState) {\n !Array.isArray(rawState.blocks) ? true ? invariant(false, 'invalid RawDraftContentState') : undefined : void 0;\n\n // decode entities\n var entityMap = decodeRawEntityMap(rawState);\n\n // decode blockMap\n var blockMap = decodeRawBlocks(rawState, entityMap);\n\n // create initial selection\n var selectionState = blockMap.isEmpty() ? new SelectionState() : SelectionState.createEmpty(blockMap.first().getKey());\n\n return new ContentState({\n blockMap: blockMap,\n entityMap: entityMap,\n selectionBefore: selectionState,\n selectionAfter: selectionState\n });\n};\n\nmodule.exports = convertFromRawToDraftState;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2NvbnZlcnRGcm9tUmF3VG9EcmFmdFN0YXRlLmpzP2I5ZTEiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVhOztBQUViLGNBQWMsbUJBQU8sQ0FBQyw0REFBZTs7QUFFckMsNkNBQTZDLGdCQUFnQixzQkFBc0IsT0FBTywyQkFBMkIsMEJBQTBCLHlEQUF5RCwyQkFBMkIsRUFBRSxFQUFFLEVBQUUsZUFBZTs7QUFFeFAsbUJBQW1CLG1CQUFPLENBQUMsbUVBQWdCO0FBQzNDLHVCQUF1QixtQkFBTyxDQUFDLDJFQUFvQjtBQUNuRCxtQkFBbUIsbUJBQU8sQ0FBQyxtRUFBZ0I7QUFDM0Msa0JBQWtCLG1CQUFPLENBQUMsaUVBQWU7QUFDekMsd0JBQXdCLG1CQUFPLENBQUMsNkVBQXFCO0FBQ3JELHVCQUF1QixtQkFBTyxDQUFDLDJFQUFvQjtBQUNuRCxnQkFBZ0IsbUJBQU8sQ0FBQyxtRkFBVztBQUNuQyxxQkFBcUIsbUJBQU8sQ0FBQyx1RUFBa0I7O0FBRS9DLDBCQUEwQixtQkFBTyxDQUFDLGlGQUF1QjtBQUN6RCx5QkFBeUIsbUJBQU8sQ0FBQywrRUFBc0I7QUFDdkQsOEJBQThCLG1CQUFPLENBQUMseUZBQTJCO0FBQ2pFLHdCQUF3QixtQkFBTyxDQUFDLDZFQUFxQjtBQUNyRCxnQkFBZ0IsbUJBQU8sQ0FBQyxnRUFBb0I7O0FBRTVDOztBQUVBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILHNCQUFzQixVQUFVLDRCQUE0QjtBQUM1RCxHQUFHO0FBQ0g7O0FBRUE7QUFDQSxvQkFBb0I7QUFDcEI7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0I7QUFDdEI7QUFDQSxLQUFLO0FBQ0wsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQ0FBcUMsS0FBcUMsK0ZBQStGLFNBQWdCOztBQUV6TDtBQUNBOztBQUVBO0FBQ0EsMkRBQTJEO0FBQzNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQLEtBQUs7O0FBRUw7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSx3QkFBd0IsS0FBcUMsK0ZBQStGLFNBQWdCO0FBQzVLO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSw4REFBOEQ7QUFDOUQ7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxPQUFPOztBQUVQO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQSwrRUFBK0U7QUFDL0UsR0FBRzs7QUFFSDtBQUNBOztBQUVBO0FBQ0Esb0NBQW9DLEtBQXFDLHNEQUFzRCxTQUFnQjs7QUFFL0k7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvY29udmVydEZyb21SYXdUb0RyYWZ0U3RhdGUuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxMy1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuICogQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBCU0Qtc3R5bGUgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS4gQW4gYWRkaXRpb25hbCBncmFudFxuICogb2YgcGF0ZW50IHJpZ2h0cyBjYW4gYmUgZm91bmQgaW4gdGhlIFBBVEVOVFMgZmlsZSBpbiB0aGUgc2FtZSBkaXJlY3RvcnkuXG4gKlxuICogQHByb3ZpZGVzTW9kdWxlIGNvbnZlcnRGcm9tUmF3VG9EcmFmdFN0YXRlXG4gKiBAZm9ybWF0XG4gKiBcbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbnZhciBfYXNzaWduID0gcmVxdWlyZSgnb2JqZWN0LWFzc2lnbicpO1xuXG52YXIgX2V4dGVuZHMgPSBfYXNzaWduIHx8IGZ1bmN0aW9uICh0YXJnZXQpIHsgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHsgdmFyIHNvdXJjZSA9IGFyZ3VtZW50c1tpXTsgZm9yICh2YXIga2V5IGluIHNvdXJjZSkgeyBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHNvdXJjZSwga2V5KSkgeyB0YXJnZXRba2V5XSA9IHNvdXJjZVtrZXldOyB9IH0gfSByZXR1cm4gdGFyZ2V0OyB9O1xuXG52YXIgQ29udGVudEJsb2NrID0gcmVxdWlyZSgnLi9Db250ZW50QmxvY2snKTtcbnZhciBDb250ZW50QmxvY2tOb2RlID0gcmVxdWlyZSgnLi9Db250ZW50QmxvY2tOb2RlJyk7XG52YXIgQ29udGVudFN0YXRlID0gcmVxdWlyZSgnLi9Db250ZW50U3RhdGUnKTtcbnZhciBEcmFmdEVudGl0eSA9IHJlcXVpcmUoJy4vRHJhZnRFbnRpdHknKTtcbnZhciBEcmFmdEZlYXR1cmVGbGFncyA9IHJlcXVpcmUoJy4vRHJhZnRGZWF0dXJlRmxhZ3MnKTtcbnZhciBEcmFmdFRyZWVBZGFwdGVyID0gcmVxdWlyZSgnLi9EcmFmdFRyZWVBZGFwdGVyJyk7XG52YXIgSW1tdXRhYmxlID0gcmVxdWlyZSgnaW1tdXRhYmxlJyk7XG52YXIgU2VsZWN0aW9uU3RhdGUgPSByZXF1aXJlKCcuL1NlbGVjdGlvblN0YXRlJyk7XG5cbnZhciBjcmVhdGVDaGFyYWN0ZXJMaXN0ID0gcmVxdWlyZSgnLi9jcmVhdGVDaGFyYWN0ZXJMaXN0Jyk7XG52YXIgZGVjb2RlRW50aXR5UmFuZ2VzID0gcmVxdWlyZSgnLi9kZWNvZGVFbnRpdHlSYW5nZXMnKTtcbnZhciBkZWNvZGVJbmxpbmVTdHlsZVJhbmdlcyA9IHJlcXVpcmUoJy4vZGVjb2RlSW5saW5lU3R5bGVSYW5nZXMnKTtcbnZhciBnZW5lcmF0ZVJhbmRvbUtleSA9IHJlcXVpcmUoJy4vZ2VuZXJhdGVSYW5kb21LZXknKTtcbnZhciBpbnZhcmlhbnQgPSByZXF1aXJlKCdmYmpzL2xpYi9pbnZhcmlhbnQnKTtcblxudmFyIGV4cGVyaW1lbnRhbFRyZWVEYXRhU3VwcG9ydCA9IERyYWZ0RmVhdHVyZUZsYWdzLmRyYWZ0X3RyZWVfZGF0YV9zdXBwb3J0O1xuXG52YXIgTGlzdCA9IEltbXV0YWJsZS5MaXN0LFxuICAgIE1hcCA9IEltbXV0YWJsZS5NYXAsXG4gICAgT3JkZXJlZE1hcCA9IEltbXV0YWJsZS5PcmRlcmVkTWFwO1xuXG5cbnZhciBkZWNvZGVCbG9ja05vZGVDb25maWcgPSBmdW5jdGlvbiBkZWNvZGVCbG9ja05vZGVDb25maWcoYmxvY2ssIGVudGl0eU1hcCkge1xuICB2YXIga2V5ID0gYmxvY2sua2V5LFxuICAgICAgdHlwZSA9IGJsb2NrLnR5cGUsXG4gICAgICBkYXRhID0gYmxvY2suZGF0YSxcbiAgICAgIHRleHQgPSBibG9jay50ZXh0LFxuICAgICAgZGVwdGggPSBibG9jay5kZXB0aDtcblxuXG4gIHZhciBibG9ja05vZGVDb25maWcgPSB7XG4gICAgdGV4dDogdGV4dCxcbiAgICBkZXB0aDogZGVwdGggfHwgMCxcbiAgICB0eXBlOiB0eXBlIHx8ICd1bnN0eWxlZCcsXG4gICAga2V5OiBrZXkgfHwgZ2VuZXJhdGVSYW5kb21LZXkoKSxcbiAgICBkYXRhOiBNYXAoZGF0YSksXG4gICAgY2hhcmFjdGVyTGlzdDogZGVjb2RlQ2hhcmFjdGVyTGlzdChibG9jaywgZW50aXR5TWFwKVxuICB9O1xuXG4gIHJldHVybiBibG9ja05vZGVDb25maWc7XG59O1xuXG52YXIgZGVjb2RlQ2hhcmFjdGVyTGlzdCA9IGZ1bmN0aW9uIGRlY29kZUNoYXJhY3Rlckxpc3QoYmxvY2ssIGVudGl0eU1hcCkge1xuICB2YXIgdGV4dCA9IGJsb2NrLnRleHQsXG4gICAgICByYXdFbnRpdHlSYW5nZXMgPSBibG9jay5lbnRpdHlSYW5nZXMsXG4gICAgICByYXdJbmxpbmVTdHlsZVJhbmdlcyA9IGJsb2NrLmlubGluZVN0eWxlUmFuZ2VzO1xuXG5cbiAgdmFyIGVudGl0eVJhbmdlcyA9IHJhd0VudGl0eVJhbmdlcyB8fCBbXTtcbiAgdmFyIGlubGluZVN0eWxlUmFuZ2VzID0gcmF3SW5saW5lU3R5bGVSYW5nZXMgfHwgW107XG5cbiAgLy8gVHJhbnNsYXRlIGVudGl0eSByYW5nZSBrZXlzIHRvIHRoZSBEcmFmdEVudGl0eSBtYXAuXG4gIHJldHVybiBjcmVhdGVDaGFyYWN0ZXJMaXN0KGRlY29kZUlubGluZVN0eWxlUmFuZ2VzKHRleHQsIGlubGluZVN0eWxlUmFuZ2VzKSwgZGVjb2RlRW50aXR5UmFuZ2VzKHRleHQsIGVudGl0eVJhbmdlcy5maWx0ZXIoZnVuY3Rpb24gKHJhbmdlKSB7XG4gICAgcmV0dXJuIGVudGl0eU1hcC5oYXNPd25Qcm9wZXJ0eShyYW5nZS5rZXkpO1xuICB9KS5tYXAoZnVuY3Rpb24gKHJhbmdlKSB7XG4gICAgcmV0dXJuIF9leHRlbmRzKHt9LCByYW5nZSwgeyBrZXk6IGVudGl0eU1hcFtyYW5nZS5rZXldIH0pO1xuICB9KSkpO1xufTtcblxudmFyIGFkZEtleUlmTWlzc2luZyA9IGZ1bmN0aW9uIGFkZEtleUlmTWlzc2luZyhibG9jaykge1xuICByZXR1cm4gX2V4dGVuZHMoe30sIGJsb2NrLCB7XG4gICAga2V5OiBibG9jay5rZXkgfHwgZ2VuZXJhdGVSYW5kb21LZXkoKVxuICB9KTtcbn07XG5cbi8qKlxuICogTm9kZSBzdGFjayBpcyByZXNwb25zaWJsZSB0byBlbnN1cmUgd2UgdHJhdmVyc2UgdGhlIHRyZWUgb25seSBvbmNlXG4gKiBpbiBkZXB0aCBvcmRlciwgd2hpbGUgYWxzbyBwcm92aWRpbmcgcGFyZW50IHJlZnMgdG8gaW5uZXIgbm9kZXMgdG9cbiAqIGNvbnN0cnVjdCB0aGVpciBsaW5rcy5cbiAqL1xudmFyIHVwZGF0ZU5vZGVTdGFjayA9IGZ1bmN0aW9uIHVwZGF0ZU5vZGVTdGFjayhzdGFjaywgbm9kZXMsIHBhcmVudFJlZikge1xuICB2YXIgbm9kZXNXaXRoUGFyZW50UmVmID0gbm9kZXMubWFwKGZ1bmN0aW9uIChibG9jaykge1xuICAgIHJldHVybiBfZXh0ZW5kcyh7fSwgYmxvY2ssIHtcbiAgICAgIHBhcmVudFJlZjogcGFyZW50UmVmXG4gICAgfSk7XG4gIH0pO1xuXG4gIC8vIHNpbmNlIHdlIHBvcCBub2RlcyBmcm9tIHRoZSBzdGFjayB3ZSBuZWVkIHRvIGluc2VydCB0aGVtIGluIHJldmVyc2VcbiAgcmV0dXJuIHN0YWNrLmNvbmNhdChub2Rlc1dpdGhQYXJlbnRSZWYucmV2ZXJzZSgpKTtcbn07XG5cbi8qKlxuICogVGhpcyB3aWxsIGJ1aWxkIGEgdHJlZSBkcmFmdCBjb250ZW50IHN0YXRlIGJ5IGNyZWF0aW5nIHRoZSBub2RlXG4gKiByZWZlcmVuY2UgbGlua3MgaW50byBhIHNpbmdsZSB0cmVlIHdhbGsuIEVhY2ggbm9kZSBoYXMgYSBsaW5rXG4gKiByZWZlcmVuY2UgdG8gXCJwYXJlbnRcIiwgXCJjaGlsZHJlblwiLCBcIm5leHRTaWJsaW5nXCIgYW5kIFwicHJldlNpYmxpbmdcIlxuICogYmxvY2tNYXAgd2lsbCBiZSBjcmVhdGVkIHVzaW5nIGRlcHRoIG9yZGVyaW5nLlxuICovXG52YXIgZGVjb2RlQ29udGVudEJsb2NrTm9kZXMgPSBmdW5jdGlvbiBkZWNvZGVDb250ZW50QmxvY2tOb2RlcyhibG9ja3MsIGVudGl0eU1hcCkge1xuICByZXR1cm4gYmxvY2tzXG4gIC8vIGVuc3VyZSBjaGlsZHJlbiBoYXZlIHZhbGlkIGtleXMgdG8gZW5hYmxlIHNpYmxpbmcgbGlua3NcbiAgLm1hcChhZGRLZXlJZk1pc3NpbmcpLnJlZHVjZShmdW5jdGlvbiAoYmxvY2tNYXAsIGJsb2NrLCBpbmRleCkge1xuICAgICFBcnJheS5pc0FycmF5KGJsb2NrLmNoaWxkcmVuKSA/IHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgPyBpbnZhcmlhbnQoZmFsc2UsICdpbnZhbGlkIFJhd0RyYWZ0Q29udGVudEJsb2NrIGNhbiBub3QgYmUgY29udmVydGVkIHRvIENvbnRlbnRCbG9ja05vZGUnKSA6IGludmFyaWFudChmYWxzZSkgOiB2b2lkIDA7XG5cbiAgICAvLyBlbnN1cmUgY2hpbGRyZW4gaGF2ZSB2YWxpZCBrZXlzIHRvIGVuYWJsZSBzaWJsaW5nIGxpbmtzXG4gICAgdmFyIGNoaWxkcmVuID0gYmxvY2suY2hpbGRyZW4ubWFwKGFkZEtleUlmTWlzc2luZyk7XG5cbiAgICAvLyByb290IGxldmVsIG5vZGVzXG4gICAgdmFyIGNvbnRlbnRCbG9ja05vZGUgPSBuZXcgQ29udGVudEJsb2NrTm9kZShfZXh0ZW5kcyh7fSwgZGVjb2RlQmxvY2tOb2RlQ29uZmlnKGJsb2NrLCBlbnRpdHlNYXApLCB7XG4gICAgICBwcmV2U2libGluZzogaW5kZXggPT09IDAgPyBudWxsIDogYmxvY2tzW2luZGV4IC0gMV0ua2V5LFxuICAgICAgbmV4dFNpYmxpbmc6IGluZGV4ID09PSBibG9ja3MubGVuZ3RoIC0gMSA/IG51bGwgOiBibG9ja3NbaW5kZXggKyAxXS5rZXksXG4gICAgICBjaGlsZHJlbjogTGlzdChjaGlsZHJlbi5tYXAoZnVuY3Rpb24gKGNoaWxkKSB7XG4gICAgICAgIHJldHVybiBjaGlsZC5rZXk7XG4gICAgICB9KSlcbiAgICB9KSk7XG5cbiAgICAvLyBwdXNoIHJvb3Qgbm9kZSB0byBibG9ja01hcFxuICAgIGJsb2NrTWFwID0gYmxvY2tNYXAuc2V0KGNvbnRlbnRCbG9ja05vZGUuZ2V0S2V5KCksIGNvbnRlbnRCbG9ja05vZGUpO1xuXG4gICAgLy8gdGhpcyBzdGFjayBpcyB1c2VkIHRvIGVuc3VyZSB3ZSB2aXNpdCBhbGwgbm9kZXMgcmVzcGVjdGluZyBkZXB0aCBvcmRlcmluZ1xuICAgIHZhciBzdGFjayA9IHVwZGF0ZU5vZGVTdGFjayhbXSwgY2hpbGRyZW4sIGNvbnRlbnRCbG9ja05vZGUpO1xuXG4gICAgLy8gc3RhcnQgY29tcHV0aW5nIGNoaWxkcmVuIG5vZGVzXG4gICAgd2hpbGUgKHN0YWNrLmxlbmd0aCA+IDApIHtcbiAgICAgIC8vIHdlIHBvcCBmcm9tIHRoZSBzdGFjayBhbmQgc3RhcnQgcHJvY2Vzc2luZyB0aGlzIG5vZGVcbiAgICAgIHZhciBub2RlID0gc3RhY2sucG9wKCk7XG5cbiAgICAgIC8vIHBhcmVudFJlZiBhbHJlYWR5IHBvaW50cyB0byBhIGNvbnZlcnRlZCBDb250ZW50QmxvY2tOb2RlXG4gICAgICB2YXIgcGFyZW50UmVmID0gbm9kZS5wYXJlbnRSZWY7XG4gICAgICB2YXIgc2libGluZ3MgPSBwYXJlbnRSZWYuZ2V0Q2hpbGRLZXlzKCk7XG4gICAgICB2YXIgX2luZGV4ID0gc2libGluZ3MuaW5kZXhPZihub2RlLmtleSk7XG4gICAgICB2YXIgaXNWYWxpZEJsb2NrID0gQXJyYXkuaXNBcnJheShub2RlLmNoaWxkcmVuKTtcblxuICAgICAgaWYgKCFpc1ZhbGlkQmxvY2spIHtcbiAgICAgICAgIWlzVmFsaWRCbG9jayA/IHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgPyBpbnZhcmlhbnQoZmFsc2UsICdpbnZhbGlkIFJhd0RyYWZ0Q29udGVudEJsb2NrIGNhbiBub3QgYmUgY29udmVydGVkIHRvIENvbnRlbnRCbG9ja05vZGUnKSA6IGludmFyaWFudChmYWxzZSkgOiB2b2lkIDA7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICAvLyBlbnN1cmUgY2hpbGRyZW4gaGF2ZSB2YWxpZCBrZXlzIHRvIGVuYWJsZSBzaWJsaW5nIGxpbmtzXG4gICAgICB2YXIgX2NoaWxkcmVuID0gbm9kZS5jaGlsZHJlbi5tYXAoYWRkS2V5SWZNaXNzaW5nKTtcblxuICAgICAgdmFyIF9jb250ZW50QmxvY2tOb2RlID0gbmV3IENvbnRlbnRCbG9ja05vZGUoX2V4dGVuZHMoe30sIGRlY29kZUJsb2NrTm9kZUNvbmZpZyhub2RlLCBlbnRpdHlNYXApLCB7XG4gICAgICAgIHBhcmVudDogcGFyZW50UmVmLmdldEtleSgpLFxuICAgICAgICBjaGlsZHJlbjogTGlzdChfY2hpbGRyZW4ubWFwKGZ1bmN0aW9uIChjaGlsZCkge1xuICAgICAgICAgIHJldHVybiBjaGlsZC5rZXk7XG4gICAgICAgIH0pKSxcbiAgICAgICAgcHJldlNpYmxpbmc6IF9pbmRleCA9PT0gMCA/IG51bGwgOiBzaWJsaW5ncy5nZXQoX2luZGV4IC0gMSksXG4gICAgICAgIG5leHRTaWJsaW5nOiBfaW5kZXggPT09IHNpYmxpbmdzLnNpemUgLSAxID8gbnVsbCA6IHNpYmxpbmdzLmdldChfaW5kZXggKyAxKVxuICAgICAgfSkpO1xuXG4gICAgICAvLyBwdXNoIG5vZGUgdG8gYmxvY2tNYXBcbiAgICAgIGJsb2NrTWFwID0gYmxvY2tNYXAuc2V0KF9jb250ZW50QmxvY2tOb2RlLmdldEtleSgpLCBfY29udGVudEJsb2NrTm9kZSk7XG5cbiAgICAgIC8vIHRoaXMgc3RhY2sgaXMgdXNlZCB0byBlbnN1cmUgd2UgdmlzaXQgYWxsIG5vZGVzIHJlc3BlY3RpbmcgZGVwdGggb3JkZXJpbmdcbiAgICAgIHN0YWNrID0gdXBkYXRlTm9kZVN0YWNrKHN0YWNrLCBfY2hpbGRyZW4sIF9jb250ZW50QmxvY2tOb2RlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gYmxvY2tNYXA7XG4gIH0sIE9yZGVyZWRNYXAoKSk7XG59O1xuXG52YXIgZGVjb2RlQ29udGVudEJsb2NrcyA9IGZ1bmN0aW9uIGRlY29kZUNvbnRlbnRCbG9ja3MoYmxvY2tzLCBlbnRpdHlNYXApIHtcbiAgcmV0dXJuIE9yZGVyZWRNYXAoYmxvY2tzLm1hcChmdW5jdGlvbiAoYmxvY2spIHtcbiAgICB2YXIgY29udGVudEJsb2NrID0gbmV3IENvbnRlbnRCbG9jayhkZWNvZGVCbG9ja05vZGVDb25maWcoYmxvY2ssIGVudGl0eU1hcCkpO1xuICAgIHJldHVybiBbY29udGVudEJsb2NrLmdldEtleSgpLCBjb250ZW50QmxvY2tdO1xuICB9KSk7XG59O1xuXG52YXIgZGVjb2RlUmF3QmxvY2tzID0gZnVuY3Rpb24gZGVjb2RlUmF3QmxvY2tzKHJhd1N0YXRlLCBlbnRpdHlNYXApIHtcbiAgdmFyIGlzVHJlZVJhd0Jsb2NrID0gQXJyYXkuaXNBcnJheShyYXdTdGF0ZS5ibG9ja3NbMF0uY2hpbGRyZW4pO1xuICB2YXIgcmF3QmxvY2tzID0gZXhwZXJpbWVudGFsVHJlZURhdGFTdXBwb3J0ICYmICFpc1RyZWVSYXdCbG9jayA/IERyYWZ0VHJlZUFkYXB0ZXIuZnJvbVJhd1N0YXRlVG9SYXdUcmVlU3RhdGUocmF3U3RhdGUpLmJsb2NrcyA6IHJhd1N0YXRlLmJsb2NrcztcblxuICBpZiAoIWV4cGVyaW1lbnRhbFRyZWVEYXRhU3VwcG9ydCkge1xuICAgIHJldHVybiBkZWNvZGVDb250ZW50QmxvY2tzKGlzVHJlZVJhd0Jsb2NrID8gRHJhZnRUcmVlQWRhcHRlci5mcm9tUmF3VHJlZVN0YXRlVG9SYXdTdGF0ZShyYXdTdGF0ZSkuYmxvY2tzIDogcmF3QmxvY2tzLCBlbnRpdHlNYXApO1xuICB9XG5cbiAgcmV0dXJuIGRlY29kZUNvbnRlbnRCbG9ja05vZGVzKHJhd0Jsb2NrcywgZW50aXR5TWFwKTtcbn07XG5cbnZhciBkZWNvZGVSYXdFbnRpdHlNYXAgPSBmdW5jdGlvbiBkZWNvZGVSYXdFbnRpdHlNYXAocmF3U3RhdGUpIHtcbiAgdmFyIHJhd0VudGl0eU1hcCA9IHJhd1N0YXRlLmVudGl0eU1hcDtcblxuICB2YXIgZW50aXR5TWFwID0ge307XG5cbiAgLy8gVE9ETzogVXBkYXRlIHRoaXMgb25jZSB3ZSBjb21wbGV0ZWx5IHJlbW92ZSBEcmFmdEVudGl0eVxuICBPYmplY3Qua2V5cyhyYXdFbnRpdHlNYXApLmZvckVhY2goZnVuY3Rpb24gKHJhd0VudGl0eUtleSkge1xuICAgIHZhciBfcmF3RW50aXR5TWFwJHJhd0VudGkgPSByYXdFbnRpdHlNYXBbcmF3RW50aXR5S2V5XSxcbiAgICAgICAgdHlwZSA9IF9yYXdFbnRpdHlNYXAkcmF3RW50aS50eXBlLFxuICAgICAgICBtdXRhYmlsaXR5ID0gX3Jhd0VudGl0eU1hcCRyYXdFbnRpLm11dGFiaWxpdHksXG4gICAgICAgIGRhdGEgPSBfcmF3RW50aXR5TWFwJHJhd0VudGkuZGF0YTtcblxuICAgIC8vIGdldCB0aGUga2V5IHJlZmVyZW5jZSB0byBjcmVhdGVkIGVudGl0eVxuXG4gICAgZW50aXR5TWFwW3Jhd0VudGl0eUtleV0gPSBEcmFmdEVudGl0eS5fX2NyZWF0ZSh0eXBlLCBtdXRhYmlsaXR5LCBkYXRhIHx8IHt9KTtcbiAgfSk7XG5cbiAgcmV0dXJuIGVudGl0eU1hcDtcbn07XG5cbnZhciBjb252ZXJ0RnJvbVJhd1RvRHJhZnRTdGF0ZSA9IGZ1bmN0aW9uIGNvbnZlcnRGcm9tUmF3VG9EcmFmdFN0YXRlKHJhd1N0YXRlKSB7XG4gICFBcnJheS5pc0FycmF5KHJhd1N0YXRlLmJsb2NrcykgPyBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nID8gaW52YXJpYW50KGZhbHNlLCAnaW52YWxpZCBSYXdEcmFmdENvbnRlbnRTdGF0ZScpIDogaW52YXJpYW50KGZhbHNlKSA6IHZvaWQgMDtcblxuICAvLyBkZWNvZGUgZW50aXRpZXNcbiAgdmFyIGVudGl0eU1hcCA9IGRlY29kZVJhd0VudGl0eU1hcChyYXdTdGF0ZSk7XG5cbiAgLy8gZGVjb2RlIGJsb2NrTWFwXG4gIHZhciBibG9ja01hcCA9IGRlY29kZVJhd0Jsb2NrcyhyYXdTdGF0ZSwgZW50aXR5TWFwKTtcblxuICAvLyBjcmVhdGUgaW5pdGlhbCBzZWxlY3Rpb25cbiAgdmFyIHNlbGVjdGlvblN0YXRlID0gYmxvY2tNYXAuaXNFbXB0eSgpID8gbmV3IFNlbGVjdGlvblN0YXRlKCkgOiBTZWxlY3Rpb25TdGF0ZS5jcmVhdGVFbXB0eShibG9ja01hcC5maXJzdCgpLmdldEtleSgpKTtcblxuICByZXR1cm4gbmV3IENvbnRlbnRTdGF0ZSh7XG4gICAgYmxvY2tNYXA6IGJsb2NrTWFwLFxuICAgIGVudGl0eU1hcDogZW50aXR5TWFwLFxuICAgIHNlbGVjdGlvbkJlZm9yZTogc2VsZWN0aW9uU3RhdGUsXG4gICAgc2VsZWN0aW9uQWZ0ZXI6IHNlbGVjdGlvblN0YXRlXG4gIH0pO1xufTtcblxubW9kdWxlLmV4cG9ydHMgPSBjb252ZXJ0RnJvbVJhd1RvRHJhZnRTdGF0ZTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/convertFromRawToDraftState.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar ContentBlock = __webpack_require__(/*! ./ContentBlock */ \"./node_modules/draft-js/lib/ContentBlock.js\");\n\nvar ContentBlockNode = __webpack_require__(/*! ./ContentBlockNode */ \"./node_modules/draft-js/lib/ContentBlockNode.js\");\n\nvar ContentState = __webpack_require__(/*! ./ContentState */ \"./node_modules/draft-js/lib/ContentState.js\");\n\nvar DraftEntity = __webpack_require__(/*! ./DraftEntity */ \"./node_modules/draft-js/lib/DraftEntity.js\");\n\nvar DraftTreeAdapter = __webpack_require__(/*! ./DraftTreeAdapter */ \"./node_modules/draft-js/lib/DraftTreeAdapter.js\");\n\nvar DraftTreeInvariants = __webpack_require__(/*! ./DraftTreeInvariants */ \"./node_modules/draft-js/lib/DraftTreeInvariants.js\");\n\nvar SelectionState = __webpack_require__(/*! ./SelectionState */ \"./node_modules/draft-js/lib/SelectionState.js\");\n\nvar createCharacterList = __webpack_require__(/*! ./createCharacterList */ \"./node_modules/draft-js/lib/createCharacterList.js\");\n\nvar decodeEntityRanges = __webpack_require__(/*! ./decodeEntityRanges */ \"./node_modules/draft-js/lib/decodeEntityRanges.js\");\n\nvar decodeInlineStyleRanges = __webpack_require__(/*! ./decodeInlineStyleRanges */ \"./node_modules/draft-js/lib/decodeInlineStyleRanges.js\");\n\nvar generateRandomKey = __webpack_require__(/*! ./generateRandomKey */ \"./node_modules/draft-js/lib/generateRandomKey.js\");\n\nvar gkx = __webpack_require__(/*! ./gkx */ \"./node_modules/draft-js/lib/gkx.js\");\n\nvar Immutable = __webpack_require__(/*! immutable */ \"./node_modules/draft-js/node_modules/immutable/dist/immutable.js\");\n\nvar invariant = __webpack_require__(/*! fbjs/lib/invariant */ \"./node_modules/fbjs/lib/invariant.js\");\n\nvar experimentalTreeDataSupport = gkx('draft_tree_data_support');\nvar List = Immutable.List,\n Map = Immutable.Map,\n OrderedMap = Immutable.OrderedMap;\n\nvar decodeBlockNodeConfig = function decodeBlockNodeConfig(block, entityMap) {\n var key = block.key,\n type = block.type,\n data = block.data,\n text = block.text,\n depth = block.depth;\n var blockNodeConfig = {\n text: text,\n depth: depth || 0,\n type: type || 'unstyled',\n key: key || generateRandomKey(),\n data: Map(data),\n characterList: decodeCharacterList(block, entityMap)\n };\n return blockNodeConfig;\n};\n\nvar decodeCharacterList = function decodeCharacterList(block, entityMap) {\n var text = block.text,\n rawEntityRanges = block.entityRanges,\n rawInlineStyleRanges = block.inlineStyleRanges;\n var entityRanges = rawEntityRanges || [];\n var inlineStyleRanges = rawInlineStyleRanges || []; // Translate entity range keys to the DraftEntity map.\n\n return createCharacterList(decodeInlineStyleRanges(text, inlineStyleRanges), decodeEntityRanges(text, entityRanges.filter(function (range) {\n return entityMap.hasOwnProperty(range.key);\n }).map(function (range) {\n return _objectSpread({}, range, {\n key: entityMap[range.key]\n });\n })));\n};\n\nvar addKeyIfMissing = function addKeyIfMissing(block) {\n return _objectSpread({}, block, {\n key: block.key || generateRandomKey()\n });\n};\n/**\n * Node stack is responsible to ensure we traverse the tree only once\n * in depth order, while also providing parent refs to inner nodes to\n * construct their links.\n */\n\n\nvar updateNodeStack = function updateNodeStack(stack, nodes, parentRef) {\n var nodesWithParentRef = nodes.map(function (block) {\n return _objectSpread({}, block, {\n parentRef: parentRef\n });\n }); // since we pop nodes from the stack we need to insert them in reverse\n\n return stack.concat(nodesWithParentRef.reverse());\n};\n/**\n * This will build a tree draft content state by creating the node\n * reference links into a single tree walk. Each node has a link\n * reference to \"parent\", \"children\", \"nextSibling\" and \"prevSibling\"\n * blockMap will be created using depth ordering.\n */\n\n\nvar decodeContentBlockNodes = function decodeContentBlockNodes(blocks, entityMap) {\n return blocks // ensure children have valid keys to enable sibling links\n .map(addKeyIfMissing).reduce(function (blockMap, block, index) {\n !Array.isArray(block.children) ? true ? invariant(false, 'invalid RawDraftContentBlock can not be converted to ContentBlockNode') : undefined : void 0; // ensure children have valid keys to enable sibling links\n\n var children = block.children.map(addKeyIfMissing); // root level nodes\n\n var contentBlockNode = new ContentBlockNode(_objectSpread({}, decodeBlockNodeConfig(block, entityMap), {\n prevSibling: index === 0 ? null : blocks[index - 1].key,\n nextSibling: index === blocks.length - 1 ? null : blocks[index + 1].key,\n children: List(children.map(function (child) {\n return child.key;\n }))\n })); // push root node to blockMap\n\n blockMap = blockMap.set(contentBlockNode.getKey(), contentBlockNode); // this stack is used to ensure we visit all nodes respecting depth ordering\n\n var stack = updateNodeStack([], children, contentBlockNode); // start computing children nodes\n\n while (stack.length > 0) {\n // we pop from the stack and start processing this node\n var node = stack.pop(); // parentRef already points to a converted ContentBlockNode\n\n var parentRef = node.parentRef;\n var siblings = parentRef.getChildKeys();\n\n var _index = siblings.indexOf(node.key);\n\n var isValidBlock = Array.isArray(node.children);\n\n if (!isValidBlock) {\n !isValidBlock ? true ? invariant(false, 'invalid RawDraftContentBlock can not be converted to ContentBlockNode') : undefined : void 0;\n break;\n } // ensure children have valid keys to enable sibling links\n\n\n var _children = node.children.map(addKeyIfMissing);\n\n var _contentBlockNode = new ContentBlockNode(_objectSpread({}, decodeBlockNodeConfig(node, entityMap), {\n parent: parentRef.getKey(),\n children: List(_children.map(function (child) {\n return child.key;\n })),\n prevSibling: _index === 0 ? null : siblings.get(_index - 1),\n nextSibling: _index === siblings.size - 1 ? null : siblings.get(_index + 1)\n })); // push node to blockMap\n\n\n blockMap = blockMap.set(_contentBlockNode.getKey(), _contentBlockNode); // this stack is used to ensure we visit all nodes respecting depth ordering\n\n stack = updateNodeStack(stack, _children, _contentBlockNode);\n }\n\n return blockMap;\n }, OrderedMap());\n};\n\nvar decodeContentBlocks = function decodeContentBlocks(blocks, entityMap) {\n return OrderedMap(blocks.map(function (block) {\n var contentBlock = new ContentBlock(decodeBlockNodeConfig(block, entityMap));\n return [contentBlock.getKey(), contentBlock];\n }));\n};\n\nvar decodeRawBlocks = function decodeRawBlocks(rawState, entityMap) {\n var isTreeRawBlock = rawState.blocks.find(function (block) {\n return Array.isArray(block.children) && block.children.length > 0;\n });\n var rawBlocks = experimentalTreeDataSupport && !isTreeRawBlock ? DraftTreeAdapter.fromRawStateToRawTreeState(rawState).blocks : rawState.blocks;\n\n if (!experimentalTreeDataSupport) {\n return decodeContentBlocks(isTreeRawBlock ? DraftTreeAdapter.fromRawTreeStateToRawState(rawState).blocks : rawBlocks, entityMap);\n }\n\n var blockMap = decodeContentBlockNodes(rawBlocks, entityMap); // in dev mode, check that the tree invariants are met\n\n if (true) {\n !DraftTreeInvariants.isValidTree(blockMap) ? true ? invariant(false, 'Should be a valid tree') : undefined : void 0;\n }\n\n return blockMap;\n};\n\nvar decodeRawEntityMap = function decodeRawEntityMap(rawState) {\n var rawEntityMap = rawState.entityMap;\n var entityMap = {}; // TODO: Update this once we completely remove DraftEntity\n\n Object.keys(rawEntityMap).forEach(function (rawEntityKey) {\n var _rawEntityMap$rawEnti = rawEntityMap[rawEntityKey],\n type = _rawEntityMap$rawEnti.type,\n mutability = _rawEntityMap$rawEnti.mutability,\n data = _rawEntityMap$rawEnti.data; // get the key reference to created entity\n\n entityMap[rawEntityKey] = DraftEntity.__create(type, mutability, data || {});\n });\n return entityMap;\n};\n\nvar convertFromRawToDraftState = function convertFromRawToDraftState(rawState) {\n !Array.isArray(rawState.blocks) ? true ? invariant(false, 'invalid RawDraftContentState') : undefined : void 0; // decode entities\n\n var entityMap = decodeRawEntityMap(rawState); // decode blockMap\n\n var blockMap = decodeRawBlocks(rawState, entityMap); // create initial selection\n\n var selectionState = blockMap.isEmpty() ? new SelectionState() : SelectionState.createEmpty(blockMap.first().getKey());\n return new ContentState({\n blockMap: blockMap,\n entityMap: entityMap,\n selectionBefore: selectionState,\n selectionAfter: selectionState\n });\n};\n\nmodule.exports = convertFromRawToDraftState;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2NvbnZlcnRGcm9tUmF3VG9EcmFmdFN0YXRlLmpzP2I5ZTEiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDYTs7QUFFYixnQ0FBZ0MsZ0JBQWdCLHNCQUFzQixPQUFPLHVEQUF1RCxtQ0FBbUMsMERBQTBELHNGQUFzRixnRUFBZ0UsRUFBRSxHQUFHLEVBQUUsaUNBQWlDLDJDQUEyQyxFQUFFLEVBQUUsRUFBRSxlQUFlOztBQUUvZCwyQ0FBMkMsa0JBQWtCLGtDQUFrQyxxRUFBcUUsRUFBRSxFQUFFLE9BQU8sa0JBQWtCLEVBQUUsWUFBWTs7QUFFL00sbUJBQW1CLG1CQUFPLENBQUMsbUVBQWdCOztBQUUzQyx1QkFBdUIsbUJBQU8sQ0FBQywyRUFBb0I7O0FBRW5ELG1CQUFtQixtQkFBTyxDQUFDLG1FQUFnQjs7QUFFM0Msa0JBQWtCLG1CQUFPLENBQUMsaUVBQWU7O0FBRXpDLHVCQUF1QixtQkFBTyxDQUFDLDJFQUFvQjs7QUFFbkQsMEJBQTBCLG1CQUFPLENBQUMsaUZBQXVCOztBQUV6RCxxQkFBcUIsbUJBQU8sQ0FBQyx1RUFBa0I7O0FBRS9DLDBCQUEwQixtQkFBTyxDQUFDLGlGQUF1Qjs7QUFFekQseUJBQXlCLG1CQUFPLENBQUMsK0VBQXNCOztBQUV2RCw4QkFBOEIsbUJBQU8sQ0FBQyx5RkFBMkI7O0FBRWpFLHdCQUF3QixtQkFBTyxDQUFDLDZFQUFxQjs7QUFFckQsVUFBVSxtQkFBTyxDQUFDLGlEQUFPOztBQUV6QixnQkFBZ0IsbUJBQU8sQ0FBQyxtRkFBVzs7QUFFbkMsZ0JBQWdCLG1CQUFPLENBQUMsZ0VBQW9COztBQUU1QztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscURBQXFEOztBQUVyRDtBQUNBO0FBQ0EsR0FBRztBQUNILDJCQUEyQjtBQUMzQjtBQUNBLEtBQUs7QUFDTCxHQUFHO0FBQ0g7O0FBRUE7QUFDQSx5QkFBeUI7QUFDekI7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0EsMkJBQTJCO0FBQzNCO0FBQ0EsS0FBSztBQUNMLEdBQUcsRUFBRTs7QUFFTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQSxxQ0FBcUMsS0FBcUMsK0ZBQStGLFNBQWdCLFVBQVU7O0FBRW5NLHVEQUF1RDs7QUFFdkQsZ0VBQWdFO0FBQ2hFO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQLEtBQUssR0FBRzs7QUFFUix5RUFBeUU7O0FBRXpFLGdFQUFnRTs7QUFFaEU7QUFDQTtBQUNBLDZCQUE2Qjs7QUFFN0I7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBLHdCQUF3QixLQUFxQywrRkFBK0YsU0FBZ0I7QUFDNUs7QUFDQSxPQUFPOzs7QUFHUDs7QUFFQSxtRUFBbUU7QUFDbkU7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxPQUFPLEdBQUc7OztBQUdWLDZFQUE2RTs7QUFFN0U7QUFDQTs7QUFFQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBOztBQUVBLCtEQUErRDs7QUFFL0QsTUFBTSxJQUFxQztBQUMzQyxpREFBaUQsS0FBcUMsZ0RBQWdELFNBQWdCO0FBQ3RKOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLHFCQUFxQjs7QUFFckI7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwQ0FBMEM7O0FBRTFDLCtFQUErRTtBQUMvRSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBLG9DQUFvQyxLQUFxQyxzREFBc0QsU0FBZ0IsVUFBVTs7QUFFekosK0NBQStDOztBQUUvQyxzREFBc0Q7O0FBRXREO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvY29udmVydEZyb21SYXdUb0RyYWZ0U3RhdGUuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgRmFjZWJvb2ssIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIEBmb3JtYXRcbiAqIFxuICogQGVtYWlscyBvbmNhbGwrZHJhZnRfanNcbiAqL1xuJ3VzZSBzdHJpY3QnO1xuXG5mdW5jdGlvbiBfb2JqZWN0U3ByZWFkKHRhcmdldCkgeyBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykgeyB2YXIgc291cmNlID0gYXJndW1lbnRzW2ldICE9IG51bGwgPyBhcmd1bWVudHNbaV0gOiB7fTsgdmFyIG93bktleXMgPSBPYmplY3Qua2V5cyhzb3VyY2UpOyBpZiAodHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPT09ICdmdW5jdGlvbicpIHsgb3duS2V5cyA9IG93bktleXMuY29uY2F0KE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoc291cmNlKS5maWx0ZXIoZnVuY3Rpb24gKHN5bSkgeyByZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihzb3VyY2UsIHN5bSkuZW51bWVyYWJsZTsgfSkpOyB9IG93bktleXMuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7IF9kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgc291cmNlW2tleV0pOyB9KTsgfSByZXR1cm4gdGFyZ2V0OyB9XG5cbmZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgdmFsdWUpIHsgaWYgKGtleSBpbiBvYmopIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwga2V5LCB7IHZhbHVlOiB2YWx1ZSwgZW51bWVyYWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCB3cml0YWJsZTogdHJ1ZSB9KTsgfSBlbHNlIHsgb2JqW2tleV0gPSB2YWx1ZTsgfSByZXR1cm4gb2JqOyB9XG5cbnZhciBDb250ZW50QmxvY2sgPSByZXF1aXJlKFwiLi9Db250ZW50QmxvY2tcIik7XG5cbnZhciBDb250ZW50QmxvY2tOb2RlID0gcmVxdWlyZShcIi4vQ29udGVudEJsb2NrTm9kZVwiKTtcblxudmFyIENvbnRlbnRTdGF0ZSA9IHJlcXVpcmUoXCIuL0NvbnRlbnRTdGF0ZVwiKTtcblxudmFyIERyYWZ0RW50aXR5ID0gcmVxdWlyZShcIi4vRHJhZnRFbnRpdHlcIik7XG5cbnZhciBEcmFmdFRyZWVBZGFwdGVyID0gcmVxdWlyZShcIi4vRHJhZnRUcmVlQWRhcHRlclwiKTtcblxudmFyIERyYWZ0VHJlZUludmFyaWFudHMgPSByZXF1aXJlKFwiLi9EcmFmdFRyZWVJbnZhcmlhbnRzXCIpO1xuXG52YXIgU2VsZWN0aW9uU3RhdGUgPSByZXF1aXJlKFwiLi9TZWxlY3Rpb25TdGF0ZVwiKTtcblxudmFyIGNyZWF0ZUNoYXJhY3Rlckxpc3QgPSByZXF1aXJlKFwiLi9jcmVhdGVDaGFyYWN0ZXJMaXN0XCIpO1xuXG52YXIgZGVjb2RlRW50aXR5UmFuZ2VzID0gcmVxdWlyZShcIi4vZGVjb2RlRW50aXR5UmFuZ2VzXCIpO1xuXG52YXIgZGVjb2RlSW5saW5lU3R5bGVSYW5nZXMgPSByZXF1aXJlKFwiLi9kZWNvZGVJbmxpbmVTdHlsZVJhbmdlc1wiKTtcblxudmFyIGdlbmVyYXRlUmFuZG9tS2V5ID0gcmVxdWlyZShcIi4vZ2VuZXJhdGVSYW5kb21LZXlcIik7XG5cbnZhciBna3ggPSByZXF1aXJlKFwiLi9na3hcIik7XG5cbnZhciBJbW11dGFibGUgPSByZXF1aXJlKFwiaW1tdXRhYmxlXCIpO1xuXG52YXIgaW52YXJpYW50ID0gcmVxdWlyZShcImZianMvbGliL2ludmFyaWFudFwiKTtcblxudmFyIGV4cGVyaW1lbnRhbFRyZWVEYXRhU3VwcG9ydCA9IGdreCgnZHJhZnRfdHJlZV9kYXRhX3N1cHBvcnQnKTtcbnZhciBMaXN0ID0gSW1tdXRhYmxlLkxpc3QsXG4gICAgTWFwID0gSW1tdXRhYmxlLk1hcCxcbiAgICBPcmRlcmVkTWFwID0gSW1tdXRhYmxlLk9yZGVyZWRNYXA7XG5cbnZhciBkZWNvZGVCbG9ja05vZGVDb25maWcgPSBmdW5jdGlvbiBkZWNvZGVCbG9ja05vZGVDb25maWcoYmxvY2ssIGVudGl0eU1hcCkge1xuICB2YXIga2V5ID0gYmxvY2sua2V5LFxuICAgICAgdHlwZSA9IGJsb2NrLnR5cGUsXG4gICAgICBkYXRhID0gYmxvY2suZGF0YSxcbiAgICAgIHRleHQgPSBibG9jay50ZXh0LFxuICAgICAgZGVwdGggPSBibG9jay5kZXB0aDtcbiAgdmFyIGJsb2NrTm9kZUNvbmZpZyA9IHtcbiAgICB0ZXh0OiB0ZXh0LFxuICAgIGRlcHRoOiBkZXB0aCB8fCAwLFxuICAgIHR5cGU6IHR5cGUgfHwgJ3Vuc3R5bGVkJyxcbiAgICBrZXk6IGtleSB8fCBnZW5lcmF0ZVJhbmRvbUtleSgpLFxuICAgIGRhdGE6IE1hcChkYXRhKSxcbiAgICBjaGFyYWN0ZXJMaXN0OiBkZWNvZGVDaGFyYWN0ZXJMaXN0KGJsb2NrLCBlbnRpdHlNYXApXG4gIH07XG4gIHJldHVybiBibG9ja05vZGVDb25maWc7XG59O1xuXG52YXIgZGVjb2RlQ2hhcmFjdGVyTGlzdCA9IGZ1bmN0aW9uIGRlY29kZUNoYXJhY3Rlckxpc3QoYmxvY2ssIGVudGl0eU1hcCkge1xuICB2YXIgdGV4dCA9IGJsb2NrLnRleHQsXG4gICAgICByYXdFbnRpdHlSYW5nZXMgPSBibG9jay5lbnRpdHlSYW5nZXMsXG4gICAgICByYXdJbmxpbmVTdHlsZVJhbmdlcyA9IGJsb2NrLmlubGluZVN0eWxlUmFuZ2VzO1xuICB2YXIgZW50aXR5UmFuZ2VzID0gcmF3RW50aXR5UmFuZ2VzIHx8IFtdO1xuICB2YXIgaW5saW5lU3R5bGVSYW5nZXMgPSByYXdJbmxpbmVTdHlsZVJhbmdlcyB8fCBbXTsgLy8gVHJhbnNsYXRlIGVudGl0eSByYW5nZSBrZXlzIHRvIHRoZSBEcmFmdEVudGl0eSBtYXAuXG5cbiAgcmV0dXJuIGNyZWF0ZUNoYXJhY3Rlckxpc3QoZGVjb2RlSW5saW5lU3R5bGVSYW5nZXModGV4dCwgaW5saW5lU3R5bGVSYW5nZXMpLCBkZWNvZGVFbnRpdHlSYW5nZXModGV4dCwgZW50aXR5UmFuZ2VzLmZpbHRlcihmdW5jdGlvbiAocmFuZ2UpIHtcbiAgICByZXR1cm4gZW50aXR5TWFwLmhhc093blByb3BlcnR5KHJhbmdlLmtleSk7XG4gIH0pLm1hcChmdW5jdGlvbiAocmFuZ2UpIHtcbiAgICByZXR1cm4gX29iamVjdFNwcmVhZCh7fSwgcmFuZ2UsIHtcbiAgICAgIGtleTogZW50aXR5TWFwW3JhbmdlLmtleV1cbiAgICB9KTtcbiAgfSkpKTtcbn07XG5cbnZhciBhZGRLZXlJZk1pc3NpbmcgPSBmdW5jdGlvbiBhZGRLZXlJZk1pc3NpbmcoYmxvY2spIHtcbiAgcmV0dXJuIF9vYmplY3RTcHJlYWQoe30sIGJsb2NrLCB7XG4gICAga2V5OiBibG9jay5rZXkgfHwgZ2VuZXJhdGVSYW5kb21LZXkoKVxuICB9KTtcbn07XG4vKipcbiAqIE5vZGUgc3RhY2sgaXMgcmVzcG9uc2libGUgdG8gZW5zdXJlIHdlIHRyYXZlcnNlIHRoZSB0cmVlIG9ubHkgb25jZVxuICogaW4gZGVwdGggb3JkZXIsIHdoaWxlIGFsc28gcHJvdmlkaW5nIHBhcmVudCByZWZzIHRvIGlubmVyIG5vZGVzIHRvXG4gKiBjb25zdHJ1Y3QgdGhlaXIgbGlua3MuXG4gKi9cblxuXG52YXIgdXBkYXRlTm9kZVN0YWNrID0gZnVuY3Rpb24gdXBkYXRlTm9kZVN0YWNrKHN0YWNrLCBub2RlcywgcGFyZW50UmVmKSB7XG4gIHZhciBub2Rlc1dpdGhQYXJlbnRSZWYgPSBub2Rlcy5tYXAoZnVuY3Rpb24gKGJsb2NrKSB7XG4gICAgcmV0dXJuIF9vYmplY3RTcHJlYWQoe30sIGJsb2NrLCB7XG4gICAgICBwYXJlbnRSZWY6IHBhcmVudFJlZlxuICAgIH0pO1xuICB9KTsgLy8gc2luY2Ugd2UgcG9wIG5vZGVzIGZyb20gdGhlIHN0YWNrIHdlIG5lZWQgdG8gaW5zZXJ0IHRoZW0gaW4gcmV2ZXJzZVxuXG4gIHJldHVybiBzdGFjay5jb25jYXQobm9kZXNXaXRoUGFyZW50UmVmLnJldmVyc2UoKSk7XG59O1xuLyoqXG4gKiBUaGlzIHdpbGwgYnVpbGQgYSB0cmVlIGRyYWZ0IGNvbnRlbnQgc3RhdGUgYnkgY3JlYXRpbmcgdGhlIG5vZGVcbiAqIHJlZmVyZW5jZSBsaW5rcyBpbnRvIGEgc2luZ2xlIHRyZWUgd2Fsay4gRWFjaCBub2RlIGhhcyBhIGxpbmtcbiAqIHJlZmVyZW5jZSB0byBcInBhcmVudFwiLCBcImNoaWxkcmVuXCIsIFwibmV4dFNpYmxpbmdcIiBhbmQgXCJwcmV2U2libGluZ1wiXG4gKiBibG9ja01hcCB3aWxsIGJlIGNyZWF0ZWQgdXNpbmcgZGVwdGggb3JkZXJpbmcuXG4gKi9cblxuXG52YXIgZGVjb2RlQ29udGVudEJsb2NrTm9kZXMgPSBmdW5jdGlvbiBkZWNvZGVDb250ZW50QmxvY2tOb2RlcyhibG9ja3MsIGVudGl0eU1hcCkge1xuICByZXR1cm4gYmxvY2tzIC8vIGVuc3VyZSBjaGlsZHJlbiBoYXZlIHZhbGlkIGtleXMgdG8gZW5hYmxlIHNpYmxpbmcgbGlua3NcbiAgLm1hcChhZGRLZXlJZk1pc3NpbmcpLnJlZHVjZShmdW5jdGlvbiAoYmxvY2tNYXAsIGJsb2NrLCBpbmRleCkge1xuICAgICFBcnJheS5pc0FycmF5KGJsb2NrLmNoaWxkcmVuKSA/IHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIiA/IGludmFyaWFudChmYWxzZSwgJ2ludmFsaWQgUmF3RHJhZnRDb250ZW50QmxvY2sgY2FuIG5vdCBiZSBjb252ZXJ0ZWQgdG8gQ29udGVudEJsb2NrTm9kZScpIDogaW52YXJpYW50KGZhbHNlKSA6IHZvaWQgMDsgLy8gZW5zdXJlIGNoaWxkcmVuIGhhdmUgdmFsaWQga2V5cyB0byBlbmFibGUgc2libGluZyBsaW5rc1xuXG4gICAgdmFyIGNoaWxkcmVuID0gYmxvY2suY2hpbGRyZW4ubWFwKGFkZEtleUlmTWlzc2luZyk7IC8vIHJvb3QgbGV2ZWwgbm9kZXNcblxuICAgIHZhciBjb250ZW50QmxvY2tOb2RlID0gbmV3IENvbnRlbnRCbG9ja05vZGUoX29iamVjdFNwcmVhZCh7fSwgZGVjb2RlQmxvY2tOb2RlQ29uZmlnKGJsb2NrLCBlbnRpdHlNYXApLCB7XG4gICAgICBwcmV2U2libGluZzogaW5kZXggPT09IDAgPyBudWxsIDogYmxvY2tzW2luZGV4IC0gMV0ua2V5LFxuICAgICAgbmV4dFNpYmxpbmc6IGluZGV4ID09PSBibG9ja3MubGVuZ3RoIC0gMSA/IG51bGwgOiBibG9ja3NbaW5kZXggKyAxXS5rZXksXG4gICAgICBjaGlsZHJlbjogTGlzdChjaGlsZHJlbi5tYXAoZnVuY3Rpb24gKGNoaWxkKSB7XG4gICAgICAgIHJldHVybiBjaGlsZC5rZXk7XG4gICAgICB9KSlcbiAgICB9KSk7IC8vIHB1c2ggcm9vdCBub2RlIHRvIGJsb2NrTWFwXG5cbiAgICBibG9ja01hcCA9IGJsb2NrTWFwLnNldChjb250ZW50QmxvY2tOb2RlLmdldEtleSgpLCBjb250ZW50QmxvY2tOb2RlKTsgLy8gdGhpcyBzdGFjayBpcyB1c2VkIHRvIGVuc3VyZSB3ZSB2aXNpdCBhbGwgbm9kZXMgcmVzcGVjdGluZyBkZXB0aCBvcmRlcmluZ1xuXG4gICAgdmFyIHN0YWNrID0gdXBkYXRlTm9kZVN0YWNrKFtdLCBjaGlsZHJlbiwgY29udGVudEJsb2NrTm9kZSk7IC8vIHN0YXJ0IGNvbXB1dGluZyBjaGlsZHJlbiBub2Rlc1xuXG4gICAgd2hpbGUgKHN0YWNrLmxlbmd0aCA+IDApIHtcbiAgICAgIC8vIHdlIHBvcCBmcm9tIHRoZSBzdGFjayBhbmQgc3RhcnQgcHJvY2Vzc2luZyB0aGlzIG5vZGVcbiAgICAgIHZhciBub2RlID0gc3RhY2sucG9wKCk7IC8vIHBhcmVudFJlZiBhbHJlYWR5IHBvaW50cyB0byBhIGNvbnZlcnRlZCBDb250ZW50QmxvY2tOb2RlXG5cbiAgICAgIHZhciBwYXJlbnRSZWYgPSBub2RlLnBhcmVudFJlZjtcbiAgICAgIHZhciBzaWJsaW5ncyA9IHBhcmVudFJlZi5nZXRDaGlsZEtleXMoKTtcblxuICAgICAgdmFyIF9pbmRleCA9IHNpYmxpbmdzLmluZGV4T2Yobm9kZS5rZXkpO1xuXG4gICAgICB2YXIgaXNWYWxpZEJsb2NrID0gQXJyYXkuaXNBcnJheShub2RlLmNoaWxkcmVuKTtcblxuICAgICAgaWYgKCFpc1ZhbGlkQmxvY2spIHtcbiAgICAgICAgIWlzVmFsaWRCbG9jayA/IHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIiA/IGludmFyaWFudChmYWxzZSwgJ2ludmFsaWQgUmF3RHJhZnRDb250ZW50QmxvY2sgY2FuIG5vdCBiZSBjb252ZXJ0ZWQgdG8gQ29udGVudEJsb2NrTm9kZScpIDogaW52YXJpYW50KGZhbHNlKSA6IHZvaWQgMDtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9IC8vIGVuc3VyZSBjaGlsZHJlbiBoYXZlIHZhbGlkIGtleXMgdG8gZW5hYmxlIHNpYmxpbmcgbGlua3NcblxuXG4gICAgICB2YXIgX2NoaWxkcmVuID0gbm9kZS5jaGlsZHJlbi5tYXAoYWRkS2V5SWZNaXNzaW5nKTtcblxuICAgICAgdmFyIF9jb250ZW50QmxvY2tOb2RlID0gbmV3IENvbnRlbnRCbG9ja05vZGUoX29iamVjdFNwcmVhZCh7fSwgZGVjb2RlQmxvY2tOb2RlQ29uZmlnKG5vZGUsIGVudGl0eU1hcCksIHtcbiAgICAgICAgcGFyZW50OiBwYXJlbnRSZWYuZ2V0S2V5KCksXG4gICAgICAgIGNoaWxkcmVuOiBMaXN0KF9jaGlsZHJlbi5tYXAoZnVuY3Rpb24gKGNoaWxkKSB7XG4gICAgICAgICAgcmV0dXJuIGNoaWxkLmtleTtcbiAgICAgICAgfSkpLFxuICAgICAgICBwcmV2U2libGluZzogX2luZGV4ID09PSAwID8gbnVsbCA6IHNpYmxpbmdzLmdldChfaW5kZXggLSAxKSxcbiAgICAgICAgbmV4dFNpYmxpbmc6IF9pbmRleCA9PT0gc2libGluZ3Muc2l6ZSAtIDEgPyBudWxsIDogc2libGluZ3MuZ2V0KF9pbmRleCArIDEpXG4gICAgICB9KSk7IC8vIHB1c2ggbm9kZSB0byBibG9ja01hcFxuXG5cbiAgICAgIGJsb2NrTWFwID0gYmxvY2tNYXAuc2V0KF9jb250ZW50QmxvY2tOb2RlLmdldEtleSgpLCBfY29udGVudEJsb2NrTm9kZSk7IC8vIHRoaXMgc3RhY2sgaXMgdXNlZCB0byBlbnN1cmUgd2UgdmlzaXQgYWxsIG5vZGVzIHJlc3BlY3RpbmcgZGVwdGggb3JkZXJpbmdcblxuICAgICAgc3RhY2sgPSB1cGRhdGVOb2RlU3RhY2soc3RhY2ssIF9jaGlsZHJlbiwgX2NvbnRlbnRCbG9ja05vZGUpO1xuICAgIH1cblxuICAgIHJldHVybiBibG9ja01hcDtcbiAgfSwgT3JkZXJlZE1hcCgpKTtcbn07XG5cbnZhciBkZWNvZGVDb250ZW50QmxvY2tzID0gZnVuY3Rpb24gZGVjb2RlQ29udGVudEJsb2NrcyhibG9ja3MsIGVudGl0eU1hcCkge1xuICByZXR1cm4gT3JkZXJlZE1hcChibG9ja3MubWFwKGZ1bmN0aW9uIChibG9jaykge1xuICAgIHZhciBjb250ZW50QmxvY2sgPSBuZXcgQ29udGVudEJsb2NrKGRlY29kZUJsb2NrTm9kZUNvbmZpZyhibG9jaywgZW50aXR5TWFwKSk7XG4gICAgcmV0dXJuIFtjb250ZW50QmxvY2suZ2V0S2V5KCksIGNvbnRlbnRCbG9ja107XG4gIH0pKTtcbn07XG5cbnZhciBkZWNvZGVSYXdCbG9ja3MgPSBmdW5jdGlvbiBkZWNvZGVSYXdCbG9ja3MocmF3U3RhdGUsIGVudGl0eU1hcCkge1xuICB2YXIgaXNUcmVlUmF3QmxvY2sgPSByYXdTdGF0ZS5ibG9ja3MuZmluZChmdW5jdGlvbiAoYmxvY2spIHtcbiAgICByZXR1cm4gQXJyYXkuaXNBcnJheShibG9jay5jaGlsZHJlbikgJiYgYmxvY2suY2hpbGRyZW4ubGVuZ3RoID4gMDtcbiAgfSk7XG4gIHZhciByYXdCbG9ja3MgPSBleHBlcmltZW50YWxUcmVlRGF0YVN1cHBvcnQgJiYgIWlzVHJlZVJhd0Jsb2NrID8gRHJhZnRUcmVlQWRhcHRlci5mcm9tUmF3U3RhdGVUb1Jhd1RyZWVTdGF0ZShyYXdTdGF0ZSkuYmxvY2tzIDogcmF3U3RhdGUuYmxvY2tzO1xuXG4gIGlmICghZXhwZXJpbWVudGFsVHJlZURhdGFTdXBwb3J0KSB7XG4gICAgcmV0dXJuIGRlY29kZUNvbnRlbnRCbG9ja3MoaXNUcmVlUmF3QmxvY2sgPyBEcmFmdFRyZWVBZGFwdGVyLmZyb21SYXdUcmVlU3RhdGVUb1Jhd1N0YXRlKHJhd1N0YXRlKS5ibG9ja3MgOiByYXdCbG9ja3MsIGVudGl0eU1hcCk7XG4gIH1cblxuICB2YXIgYmxvY2tNYXAgPSBkZWNvZGVDb250ZW50QmxvY2tOb2RlcyhyYXdCbG9ja3MsIGVudGl0eU1hcCk7IC8vIGluIGRldiBtb2RlLCBjaGVjayB0aGF0IHRoZSB0cmVlIGludmFyaWFudHMgYXJlIG1ldFxuXG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgICAhRHJhZnRUcmVlSW52YXJpYW50cy5pc1ZhbGlkVHJlZShibG9ja01hcCkgPyBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIgPyBpbnZhcmlhbnQoZmFsc2UsICdTaG91bGQgYmUgYSB2YWxpZCB0cmVlJykgOiBpbnZhcmlhbnQoZmFsc2UpIDogdm9pZCAwO1xuICB9XG5cbiAgcmV0dXJuIGJsb2NrTWFwO1xufTtcblxudmFyIGRlY29kZVJhd0VudGl0eU1hcCA9IGZ1bmN0aW9uIGRlY29kZVJhd0VudGl0eU1hcChyYXdTdGF0ZSkge1xuICB2YXIgcmF3RW50aXR5TWFwID0gcmF3U3RhdGUuZW50aXR5TWFwO1xuICB2YXIgZW50aXR5TWFwID0ge307IC8vIFRPRE86IFVwZGF0ZSB0aGlzIG9uY2Ugd2UgY29tcGxldGVseSByZW1vdmUgRHJhZnRFbnRpdHlcblxuICBPYmplY3Qua2V5cyhyYXdFbnRpdHlNYXApLmZvckVhY2goZnVuY3Rpb24gKHJhd0VudGl0eUtleSkge1xuICAgIHZhciBfcmF3RW50aXR5TWFwJHJhd0VudGkgPSByYXdFbnRpdHlNYXBbcmF3RW50aXR5S2V5XSxcbiAgICAgICAgdHlwZSA9IF9yYXdFbnRpdHlNYXAkcmF3RW50aS50eXBlLFxuICAgICAgICBtdXRhYmlsaXR5ID0gX3Jhd0VudGl0eU1hcCRyYXdFbnRpLm11dGFiaWxpdHksXG4gICAgICAgIGRhdGEgPSBfcmF3RW50aXR5TWFwJHJhd0VudGkuZGF0YTsgLy8gZ2V0IHRoZSBrZXkgcmVmZXJlbmNlIHRvIGNyZWF0ZWQgZW50aXR5XG5cbiAgICBlbnRpdHlNYXBbcmF3RW50aXR5S2V5XSA9IERyYWZ0RW50aXR5Ll9fY3JlYXRlKHR5cGUsIG11dGFiaWxpdHksIGRhdGEgfHwge30pO1xuICB9KTtcbiAgcmV0dXJuIGVudGl0eU1hcDtcbn07XG5cbnZhciBjb252ZXJ0RnJvbVJhd1RvRHJhZnRTdGF0ZSA9IGZ1bmN0aW9uIGNvbnZlcnRGcm9tUmF3VG9EcmFmdFN0YXRlKHJhd1N0YXRlKSB7XG4gICFBcnJheS5pc0FycmF5KHJhd1N0YXRlLmJsb2NrcykgPyBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIgPyBpbnZhcmlhbnQoZmFsc2UsICdpbnZhbGlkIFJhd0RyYWZ0Q29udGVudFN0YXRlJykgOiBpbnZhcmlhbnQoZmFsc2UpIDogdm9pZCAwOyAvLyBkZWNvZGUgZW50aXRpZXNcblxuICB2YXIgZW50aXR5TWFwID0gZGVjb2RlUmF3RW50aXR5TWFwKHJhd1N0YXRlKTsgLy8gZGVjb2RlIGJsb2NrTWFwXG5cbiAgdmFyIGJsb2NrTWFwID0gZGVjb2RlUmF3QmxvY2tzKHJhd1N0YXRlLCBlbnRpdHlNYXApOyAvLyBjcmVhdGUgaW5pdGlhbCBzZWxlY3Rpb25cblxuICB2YXIgc2VsZWN0aW9uU3RhdGUgPSBibG9ja01hcC5pc0VtcHR5KCkgPyBuZXcgU2VsZWN0aW9uU3RhdGUoKSA6IFNlbGVjdGlvblN0YXRlLmNyZWF0ZUVtcHR5KGJsb2NrTWFwLmZpcnN0KCkuZ2V0S2V5KCkpO1xuICByZXR1cm4gbmV3IENvbnRlbnRTdGF0ZSh7XG4gICAgYmxvY2tNYXA6IGJsb2NrTWFwLFxuICAgIGVudGl0eU1hcDogZW50aXR5TWFwLFxuICAgIHNlbGVjdGlvbkJlZm9yZTogc2VsZWN0aW9uU3RhdGUsXG4gICAgc2VsZWN0aW9uQWZ0ZXI6IHNlbGVjdGlvblN0YXRlXG4gIH0pO1xufTtcblxubW9kdWxlLmV4cG9ydHMgPSBjb252ZXJ0RnJvbVJhd1RvRHJhZnRTdGF0ZTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/convertFromRawToDraftState.js\n"); /***/ }), @@ -571,7 +654,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule createCharacterList\n * @format\n * \n */\n\n\n\nvar CharacterMetadata = __webpack_require__(/*! ./CharacterMetadata */ \"./node_modules/draft-js/lib/CharacterMetadata.js\");\nvar Immutable = __webpack_require__(/*! immutable */ \"./node_modules/draft-js/node_modules/immutable/dist/immutable.js\");\n\nvar List = Immutable.List;\n\n\nfunction createCharacterList(inlineStyles, entities) {\n var characterArray = inlineStyles.map(function (style, ii) {\n var entity = entities[ii];\n return CharacterMetadata.create({ style: style, entity: entity });\n });\n return List(characterArray);\n}\n\nmodule.exports = createCharacterList;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2NyZWF0ZUNoYXJhY3Rlckxpc3QuanM/NGU1NSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWE7O0FBRWIsd0JBQXdCLG1CQUFPLENBQUMsNkVBQXFCO0FBQ3JELGdCQUFnQixtQkFBTyxDQUFDLG1GQUFXOztBQUVuQzs7O0FBR0E7QUFDQTtBQUNBO0FBQ0EscUNBQXFDLCtCQUErQjtBQUNwRSxHQUFHO0FBQ0g7QUFDQTs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvY3JlYXRlQ2hhcmFjdGVyTGlzdC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXG4gKiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEJTRC1zdHlsZSBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLiBBbiBhZGRpdGlvbmFsIGdyYW50XG4gKiBvZiBwYXRlbnQgcmlnaHRzIGNhbiBiZSBmb3VuZCBpbiB0aGUgUEFURU5UUyBmaWxlIGluIHRoZSBzYW1lIGRpcmVjdG9yeS5cbiAqXG4gKiBAcHJvdmlkZXNNb2R1bGUgY3JlYXRlQ2hhcmFjdGVyTGlzdFxuICogQGZvcm1hdFxuICogXG4gKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG52YXIgQ2hhcmFjdGVyTWV0YWRhdGEgPSByZXF1aXJlKCcuL0NoYXJhY3Rlck1ldGFkYXRhJyk7XG52YXIgSW1tdXRhYmxlID0gcmVxdWlyZSgnaW1tdXRhYmxlJyk7XG5cbnZhciBMaXN0ID0gSW1tdXRhYmxlLkxpc3Q7XG5cblxuZnVuY3Rpb24gY3JlYXRlQ2hhcmFjdGVyTGlzdChpbmxpbmVTdHlsZXMsIGVudGl0aWVzKSB7XG4gIHZhciBjaGFyYWN0ZXJBcnJheSA9IGlubGluZVN0eWxlcy5tYXAoZnVuY3Rpb24gKHN0eWxlLCBpaSkge1xuICAgIHZhciBlbnRpdHkgPSBlbnRpdGllc1tpaV07XG4gICAgcmV0dXJuIENoYXJhY3Rlck1ldGFkYXRhLmNyZWF0ZSh7IHN0eWxlOiBzdHlsZSwgZW50aXR5OiBlbnRpdHkgfSk7XG4gIH0pO1xuICByZXR1cm4gTGlzdChjaGFyYWN0ZXJBcnJheSk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gY3JlYXRlQ2hhcmFjdGVyTGlzdDsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/createCharacterList.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nvar CharacterMetadata = __webpack_require__(/*! ./CharacterMetadata */ \"./node_modules/draft-js/lib/CharacterMetadata.js\");\n\nvar Immutable = __webpack_require__(/*! immutable */ \"./node_modules/draft-js/node_modules/immutable/dist/immutable.js\");\n\nvar List = Immutable.List;\n\nfunction createCharacterList(inlineStyles, entities) {\n var characterArray = inlineStyles.map(function (style, ii) {\n var entity = entities[ii];\n return CharacterMetadata.create({\n style: style,\n entity: entity\n });\n });\n return List(characterArray);\n}\n\nmodule.exports = createCharacterList;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2NyZWF0ZUNoYXJhY3Rlckxpc3QuanM/NGU1NSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNhOztBQUViLHdCQUF3QixtQkFBTyxDQUFDLDZFQUFxQjs7QUFFckQsZ0JBQWdCLG1CQUFPLENBQUMsbUZBQVc7O0FBRW5DOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTCxHQUFHO0FBQ0g7QUFDQTs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvY3JlYXRlQ2hhcmFjdGVyTGlzdC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSBGYWNlYm9vaywgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICogQGZvcm1hdFxuICogXG4gKiBAZW1haWxzIG9uY2FsbCtkcmFmdF9qc1xuICovXG4ndXNlIHN0cmljdCc7XG5cbnZhciBDaGFyYWN0ZXJNZXRhZGF0YSA9IHJlcXVpcmUoXCIuL0NoYXJhY3Rlck1ldGFkYXRhXCIpO1xuXG52YXIgSW1tdXRhYmxlID0gcmVxdWlyZShcImltbXV0YWJsZVwiKTtcblxudmFyIExpc3QgPSBJbW11dGFibGUuTGlzdDtcblxuZnVuY3Rpb24gY3JlYXRlQ2hhcmFjdGVyTGlzdChpbmxpbmVTdHlsZXMsIGVudGl0aWVzKSB7XG4gIHZhciBjaGFyYWN0ZXJBcnJheSA9IGlubGluZVN0eWxlcy5tYXAoZnVuY3Rpb24gKHN0eWxlLCBpaSkge1xuICAgIHZhciBlbnRpdHkgPSBlbnRpdGllc1tpaV07XG4gICAgcmV0dXJuIENoYXJhY3Rlck1ldGFkYXRhLmNyZWF0ZSh7XG4gICAgICBzdHlsZTogc3R5bGUsXG4gICAgICBlbnRpdHk6IGVudGl0eVxuICAgIH0pO1xuICB9KTtcbiAgcmV0dXJuIExpc3QoY2hhcmFjdGVyQXJyYXkpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGNyZWF0ZUNoYXJhY3Rlckxpc3Q7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/createCharacterList.js\n"); /***/ }), @@ -583,7 +666,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule decodeEntityRanges\n * @format\n * \n */\n\n\n\nvar UnicodeUtils = __webpack_require__(/*! fbjs/lib/UnicodeUtils */ \"./node_modules/fbjs/lib/UnicodeUtils.js\");\n\nvar substr = UnicodeUtils.substr;\n\n/**\n * Convert to native JavaScript string lengths to determine ranges.\n */\n\nfunction decodeEntityRanges(text, ranges) {\n var entities = Array(text.length).fill(null);\n if (ranges) {\n ranges.forEach(function (range) {\n // Using Unicode-enabled substrings converted to JavaScript lengths,\n // fill the output array with entity keys.\n var start = substr(text, 0, range.offset).length;\n var end = start + substr(text, range.offset, range.length).length;\n for (var ii = start; ii < end; ii++) {\n entities[ii] = range.key;\n }\n });\n }\n return entities;\n}\n\nmodule.exports = decodeEntityRanges;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2RlY29kZUVudGl0eVJhbmdlcy5qcz82Y2Q3Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFYTs7QUFFYixtQkFBbUIsbUJBQU8sQ0FBQyxzRUFBdUI7O0FBRWxEOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMEJBQTBCLFVBQVU7QUFDcEM7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7O0FBRUEiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2RlY29kZUVudGl0eVJhbmdlcy5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXG4gKiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEJTRC1zdHlsZSBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLiBBbiBhZGRpdGlvbmFsIGdyYW50XG4gKiBvZiBwYXRlbnQgcmlnaHRzIGNhbiBiZSBmb3VuZCBpbiB0aGUgUEFURU5UUyBmaWxlIGluIHRoZSBzYW1lIGRpcmVjdG9yeS5cbiAqXG4gKiBAcHJvdmlkZXNNb2R1bGUgZGVjb2RlRW50aXR5UmFuZ2VzXG4gKiBAZm9ybWF0XG4gKiBcbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbnZhciBVbmljb2RlVXRpbHMgPSByZXF1aXJlKCdmYmpzL2xpYi9Vbmljb2RlVXRpbHMnKTtcblxudmFyIHN1YnN0ciA9IFVuaWNvZGVVdGlscy5zdWJzdHI7XG5cbi8qKlxuICogQ29udmVydCB0byBuYXRpdmUgSmF2YVNjcmlwdCBzdHJpbmcgbGVuZ3RocyB0byBkZXRlcm1pbmUgcmFuZ2VzLlxuICovXG5cbmZ1bmN0aW9uIGRlY29kZUVudGl0eVJhbmdlcyh0ZXh0LCByYW5nZXMpIHtcbiAgdmFyIGVudGl0aWVzID0gQXJyYXkodGV4dC5sZW5ndGgpLmZpbGwobnVsbCk7XG4gIGlmIChyYW5nZXMpIHtcbiAgICByYW5nZXMuZm9yRWFjaChmdW5jdGlvbiAocmFuZ2UpIHtcbiAgICAgIC8vIFVzaW5nIFVuaWNvZGUtZW5hYmxlZCBzdWJzdHJpbmdzIGNvbnZlcnRlZCB0byBKYXZhU2NyaXB0IGxlbmd0aHMsXG4gICAgICAvLyBmaWxsIHRoZSBvdXRwdXQgYXJyYXkgd2l0aCBlbnRpdHkga2V5cy5cbiAgICAgIHZhciBzdGFydCA9IHN1YnN0cih0ZXh0LCAwLCByYW5nZS5vZmZzZXQpLmxlbmd0aDtcbiAgICAgIHZhciBlbmQgPSBzdGFydCArIHN1YnN0cih0ZXh0LCByYW5nZS5vZmZzZXQsIHJhbmdlLmxlbmd0aCkubGVuZ3RoO1xuICAgICAgZm9yICh2YXIgaWkgPSBzdGFydDsgaWkgPCBlbmQ7IGlpKyspIHtcbiAgICAgICAgZW50aXRpZXNbaWldID0gcmFuZ2Uua2V5O1xuICAgICAgfVxuICAgIH0pO1xuICB9XG4gIHJldHVybiBlbnRpdGllcztcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBkZWNvZGVFbnRpdHlSYW5nZXM7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/decodeEntityRanges.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nvar UnicodeUtils = __webpack_require__(/*! fbjs/lib/UnicodeUtils */ \"./node_modules/fbjs/lib/UnicodeUtils.js\");\n\nvar substr = UnicodeUtils.substr;\n/**\n * Convert to native JavaScript string lengths to determine ranges.\n */\n\nfunction decodeEntityRanges(text, ranges) {\n var entities = Array(text.length).fill(null);\n\n if (ranges) {\n ranges.forEach(function (range) {\n // Using Unicode-enabled substrings converted to JavaScript lengths,\n // fill the output array with entity keys.\n var start = substr(text, 0, range.offset).length;\n var end = start + substr(text, range.offset, range.length).length;\n\n for (var ii = start; ii < end; ii++) {\n entities[ii] = range.key;\n }\n });\n }\n\n return entities;\n}\n\nmodule.exports = decodeEntityRanges;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2RlY29kZUVudGl0eVJhbmdlcy5qcz82Y2Q3Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ2E7O0FBRWIsbUJBQW1CLG1CQUFPLENBQUMsc0VBQXVCOztBQUVsRDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSwwQkFBMEIsVUFBVTtBQUNwQztBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7O0FBRUEiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2RlY29kZUVudGl0eVJhbmdlcy5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSBGYWNlYm9vaywgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICogQGZvcm1hdFxuICogXG4gKiBAZW1haWxzIG9uY2FsbCtkcmFmdF9qc1xuICovXG4ndXNlIHN0cmljdCc7XG5cbnZhciBVbmljb2RlVXRpbHMgPSByZXF1aXJlKFwiZmJqcy9saWIvVW5pY29kZVV0aWxzXCIpO1xuXG52YXIgc3Vic3RyID0gVW5pY29kZVV0aWxzLnN1YnN0cjtcbi8qKlxuICogQ29udmVydCB0byBuYXRpdmUgSmF2YVNjcmlwdCBzdHJpbmcgbGVuZ3RocyB0byBkZXRlcm1pbmUgcmFuZ2VzLlxuICovXG5cbmZ1bmN0aW9uIGRlY29kZUVudGl0eVJhbmdlcyh0ZXh0LCByYW5nZXMpIHtcbiAgdmFyIGVudGl0aWVzID0gQXJyYXkodGV4dC5sZW5ndGgpLmZpbGwobnVsbCk7XG5cbiAgaWYgKHJhbmdlcykge1xuICAgIHJhbmdlcy5mb3JFYWNoKGZ1bmN0aW9uIChyYW5nZSkge1xuICAgICAgLy8gVXNpbmcgVW5pY29kZS1lbmFibGVkIHN1YnN0cmluZ3MgY29udmVydGVkIHRvIEphdmFTY3JpcHQgbGVuZ3RocyxcbiAgICAgIC8vIGZpbGwgdGhlIG91dHB1dCBhcnJheSB3aXRoIGVudGl0eSBrZXlzLlxuICAgICAgdmFyIHN0YXJ0ID0gc3Vic3RyKHRleHQsIDAsIHJhbmdlLm9mZnNldCkubGVuZ3RoO1xuICAgICAgdmFyIGVuZCA9IHN0YXJ0ICsgc3Vic3RyKHRleHQsIHJhbmdlLm9mZnNldCwgcmFuZ2UubGVuZ3RoKS5sZW5ndGg7XG5cbiAgICAgIGZvciAodmFyIGlpID0gc3RhcnQ7IGlpIDwgZW5kOyBpaSsrKSB7XG4gICAgICAgIGVudGl0aWVzW2lpXSA9IHJhbmdlLmtleTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHJldHVybiBlbnRpdGllcztcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBkZWNvZGVFbnRpdHlSYW5nZXM7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/decodeEntityRanges.js\n"); /***/ }), @@ -595,7 +678,19 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule decodeInlineStyleRanges\n * @format\n * \n */\n\n\n\nvar _require = __webpack_require__(/*! immutable */ \"./node_modules/draft-js/node_modules/immutable/dist/immutable.js\"),\n OrderedSet = _require.OrderedSet;\n\nvar UnicodeUtils = __webpack_require__(/*! fbjs/lib/UnicodeUtils */ \"./node_modules/fbjs/lib/UnicodeUtils.js\");\n\nvar substr = UnicodeUtils.substr;\n\n\nvar EMPTY_SET = OrderedSet();\n\n/**\n * Convert to native JavaScript string lengths to determine ranges.\n */\nfunction decodeInlineStyleRanges(text, ranges) {\n var styles = Array(text.length).fill(EMPTY_SET);\n if (ranges) {\n ranges.forEach(function ( /*object*/range) {\n var cursor = substr(text, 0, range.offset).length;\n var end = cursor + substr(text, range.offset, range.length).length;\n while (cursor < end) {\n styles[cursor] = styles[cursor].add(range.style);\n cursor++;\n }\n });\n }\n return styles;\n}\n\nmodule.exports = decodeInlineStyleRanges;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2RlY29kZUlubGluZVN0eWxlUmFuZ2VzLmpzPzQ0MjQiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVhOztBQUViLGVBQWUsbUJBQU8sQ0FBQyxtRkFBVztBQUNsQzs7QUFFQSxtQkFBbUIsbUJBQU8sQ0FBQyxzRUFBdUI7O0FBRWxEOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7O0FBRUEiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2RlY29kZUlubGluZVN0eWxlUmFuZ2VzLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQlNELXN0eWxlIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuIEFuIGFkZGl0aW9uYWwgZ3JhbnRcbiAqIG9mIHBhdGVudCByaWdodHMgY2FuIGJlIGZvdW5kIGluIHRoZSBQQVRFTlRTIGZpbGUgaW4gdGhlIHNhbWUgZGlyZWN0b3J5LlxuICpcbiAqIEBwcm92aWRlc01vZHVsZSBkZWNvZGVJbmxpbmVTdHlsZVJhbmdlc1xuICogQGZvcm1hdFxuICogXG4gKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG52YXIgX3JlcXVpcmUgPSByZXF1aXJlKCdpbW11dGFibGUnKSxcbiAgICBPcmRlcmVkU2V0ID0gX3JlcXVpcmUuT3JkZXJlZFNldDtcblxudmFyIFVuaWNvZGVVdGlscyA9IHJlcXVpcmUoJ2ZianMvbGliL1VuaWNvZGVVdGlscycpO1xuXG52YXIgc3Vic3RyID0gVW5pY29kZVV0aWxzLnN1YnN0cjtcblxuXG52YXIgRU1QVFlfU0VUID0gT3JkZXJlZFNldCgpO1xuXG4vKipcbiAqIENvbnZlcnQgdG8gbmF0aXZlIEphdmFTY3JpcHQgc3RyaW5nIGxlbmd0aHMgdG8gZGV0ZXJtaW5lIHJhbmdlcy5cbiAqL1xuZnVuY3Rpb24gZGVjb2RlSW5saW5lU3R5bGVSYW5nZXModGV4dCwgcmFuZ2VzKSB7XG4gIHZhciBzdHlsZXMgPSBBcnJheSh0ZXh0Lmxlbmd0aCkuZmlsbChFTVBUWV9TRVQpO1xuICBpZiAocmFuZ2VzKSB7XG4gICAgcmFuZ2VzLmZvckVhY2goZnVuY3Rpb24gKCAvKm9iamVjdCovcmFuZ2UpIHtcbiAgICAgIHZhciBjdXJzb3IgPSBzdWJzdHIodGV4dCwgMCwgcmFuZ2Uub2Zmc2V0KS5sZW5ndGg7XG4gICAgICB2YXIgZW5kID0gY3Vyc29yICsgc3Vic3RyKHRleHQsIHJhbmdlLm9mZnNldCwgcmFuZ2UubGVuZ3RoKS5sZW5ndGg7XG4gICAgICB3aGlsZSAoY3Vyc29yIDwgZW5kKSB7XG4gICAgICAgIHN0eWxlc1tjdXJzb3JdID0gc3R5bGVzW2N1cnNvcl0uYWRkKHJhbmdlLnN0eWxlKTtcbiAgICAgICAgY3Vyc29yKys7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbiAgcmV0dXJuIHN0eWxlcztcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBkZWNvZGVJbmxpbmVTdHlsZVJhbmdlczsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/decodeInlineStyleRanges.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nvar UnicodeUtils = __webpack_require__(/*! fbjs/lib/UnicodeUtils */ \"./node_modules/fbjs/lib/UnicodeUtils.js\");\n\nvar _require = __webpack_require__(/*! immutable */ \"./node_modules/draft-js/node_modules/immutable/dist/immutable.js\"),\n OrderedSet = _require.OrderedSet;\n\nvar substr = UnicodeUtils.substr;\nvar EMPTY_SET = OrderedSet();\n/**\n * Convert to native JavaScript string lengths to determine ranges.\n */\n\nfunction decodeInlineStyleRanges(text, ranges) {\n var styles = Array(text.length).fill(EMPTY_SET);\n\n if (ranges) {\n ranges.forEach(function (range) {\n var cursor = substr(text, 0, range.offset).length;\n var end = cursor + substr(text, range.offset, range.length).length;\n\n while (cursor < end) {\n styles[cursor] = styles[cursor].add(range.style);\n cursor++;\n }\n });\n }\n\n return styles;\n}\n\nmodule.exports = decodeInlineStyleRanges;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2RlY29kZUlubGluZVN0eWxlUmFuZ2VzLmpzPzQ0MjQiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDYTs7QUFFYixtQkFBbUIsbUJBQU8sQ0FBQyxzRUFBdUI7O0FBRWxELGVBQWUsbUJBQU8sQ0FBQyxtRkFBVztBQUNsQzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvZGVjb2RlSW5saW5lU3R5bGVSYW5nZXMuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgRmFjZWJvb2ssIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIEBmb3JtYXRcbiAqIFxuICogQGVtYWlscyBvbmNhbGwrZHJhZnRfanNcbiAqL1xuJ3VzZSBzdHJpY3QnO1xuXG52YXIgVW5pY29kZVV0aWxzID0gcmVxdWlyZShcImZianMvbGliL1VuaWNvZGVVdGlsc1wiKTtcblxudmFyIF9yZXF1aXJlID0gcmVxdWlyZShcImltbXV0YWJsZVwiKSxcbiAgICBPcmRlcmVkU2V0ID0gX3JlcXVpcmUuT3JkZXJlZFNldDtcblxudmFyIHN1YnN0ciA9IFVuaWNvZGVVdGlscy5zdWJzdHI7XG52YXIgRU1QVFlfU0VUID0gT3JkZXJlZFNldCgpO1xuLyoqXG4gKiBDb252ZXJ0IHRvIG5hdGl2ZSBKYXZhU2NyaXB0IHN0cmluZyBsZW5ndGhzIHRvIGRldGVybWluZSByYW5nZXMuXG4gKi9cblxuZnVuY3Rpb24gZGVjb2RlSW5saW5lU3R5bGVSYW5nZXModGV4dCwgcmFuZ2VzKSB7XG4gIHZhciBzdHlsZXMgPSBBcnJheSh0ZXh0Lmxlbmd0aCkuZmlsbChFTVBUWV9TRVQpO1xuXG4gIGlmIChyYW5nZXMpIHtcbiAgICByYW5nZXMuZm9yRWFjaChmdW5jdGlvbiAocmFuZ2UpIHtcbiAgICAgIHZhciBjdXJzb3IgPSBzdWJzdHIodGV4dCwgMCwgcmFuZ2Uub2Zmc2V0KS5sZW5ndGg7XG4gICAgICB2YXIgZW5kID0gY3Vyc29yICsgc3Vic3RyKHRleHQsIHJhbmdlLm9mZnNldCwgcmFuZ2UubGVuZ3RoKS5sZW5ndGg7XG5cbiAgICAgIHdoaWxlIChjdXJzb3IgPCBlbmQpIHtcbiAgICAgICAgc3R5bGVzW2N1cnNvcl0gPSBzdHlsZXNbY3Vyc29yXS5hZGQocmFuZ2Uuc3R5bGUpO1xuICAgICAgICBjdXJzb3IrKztcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHJldHVybiBzdHlsZXM7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gZGVjb2RlSW5saW5lU3R5bGVSYW5nZXM7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/decodeInlineStyleRanges.js\n"); + +/***/ }), + +/***/ "./node_modules/draft-js/lib/draftKeyUtils.js": +/*!****************************************************!*\ + !*** ./node_modules/draft-js/lib/draftKeyUtils.js ***! + \****************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * Provides utilities for handling draftjs keys.\n *\n * @emails oncall+draft_js\n * \n * @format\n */\n\n\nfunction notEmptyKey(key) {\n return key != null && key != '';\n}\n\nmodule.exports = {\n notEmptyKey: notEmptyKey\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2RyYWZ0S2V5VXRpbHMuanM/MWE3ZSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDYTs7QUFFYjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2RyYWZ0LWpzL2xpYi9kcmFmdEtleVV0aWxzLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIEZhY2Vib29rLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKiBQcm92aWRlcyB1dGlsaXRpZXMgZm9yIGhhbmRsaW5nIGRyYWZ0anMga2V5cy5cbiAqXG4gKiBAZW1haWxzIG9uY2FsbCtkcmFmdF9qc1xuICogXG4gKiBAZm9ybWF0XG4gKi9cbid1c2Ugc3RyaWN0JztcblxuZnVuY3Rpb24gbm90RW1wdHlLZXkoa2V5KSB7XG4gIHJldHVybiBrZXkgIT0gbnVsbCAmJiBrZXkgIT0gJyc7XG59XG5cbm1vZHVsZS5leHBvcnRzID0ge1xuICBub3RFbXB0eUtleTogbm90RW1wdHlLZXlcbn07Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/draftKeyUtils.js\n"); /***/ }), @@ -607,7 +702,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/* WEBPACK VAR INJECTION */(function(global) {/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule editOnBeforeInput\n * @format\n * \n */\n\n\n\nvar BlockTree = __webpack_require__(/*! ./BlockTree */ \"./node_modules/draft-js/lib/BlockTree.js\");\nvar DraftModifier = __webpack_require__(/*! ./DraftModifier */ \"./node_modules/draft-js/lib/DraftModifier.js\");\nvar EditorState = __webpack_require__(/*! ./EditorState */ \"./node_modules/draft-js/lib/EditorState.js\");\nvar UserAgent = __webpack_require__(/*! fbjs/lib/UserAgent */ \"./node_modules/fbjs/lib/UserAgent.js\");\n\nvar getEntityKeyForSelection = __webpack_require__(/*! ./getEntityKeyForSelection */ \"./node_modules/draft-js/lib/getEntityKeyForSelection.js\");\nvar isEventHandled = __webpack_require__(/*! ./isEventHandled */ \"./node_modules/draft-js/lib/isEventHandled.js\");\nvar isSelectionAtLeafStart = __webpack_require__(/*! ./isSelectionAtLeafStart */ \"./node_modules/draft-js/lib/isSelectionAtLeafStart.js\");\nvar nullthrows = __webpack_require__(/*! fbjs/lib/nullthrows */ \"./node_modules/fbjs/lib/nullthrows.js\");\nvar setImmediate = __webpack_require__(/*! fbjs/lib/setImmediate */ \"./node_modules/fbjs/lib/setImmediate.js\");\n\n// When nothing is focused, Firefox regards two characters, `'` and `/`, as\n// commands that should open and focus the \"quickfind\" search bar. This should\n// *never* happen while a contenteditable is focused, but as of v28, it\n// sometimes does, even when the keypress event target is the contenteditable.\n// This breaks the input. Special case these characters to ensure that when\n// they are typed, we prevent default on the event to make sure not to\n// trigger quickfind.\nvar FF_QUICKFIND_CHAR = \"'\";\nvar FF_QUICKFIND_LINK_CHAR = '/';\nvar isFirefox = UserAgent.isBrowser('Firefox');\n\nfunction mustPreventDefaultForCharacter(character) {\n return isFirefox && (character == FF_QUICKFIND_CHAR || character == FF_QUICKFIND_LINK_CHAR);\n}\n\n/**\n * Replace the current selection with the specified text string, with the\n * inline style and entity key applied to the newly inserted text.\n */\nfunction replaceText(editorState, text, inlineStyle, entityKey) {\n var contentState = DraftModifier.replaceText(editorState.getCurrentContent(), editorState.getSelection(), text, inlineStyle, entityKey);\n return EditorState.push(editorState, contentState, 'insert-characters');\n}\n\n/**\n * When `onBeforeInput` executes, the browser is attempting to insert a\n * character into the editor. Apply this character data to the document,\n * allowing native insertion if possible.\n *\n * Native insertion is encouraged in order to limit re-rendering and to\n * preserve spellcheck highlighting, which disappears or flashes if re-render\n * occurs on the relevant text nodes.\n */\nfunction editOnBeforeInput(editor, e) {\n if (editor._pendingStateFromBeforeInput !== undefined) {\n editor.update(editor._pendingStateFromBeforeInput);\n editor._pendingStateFromBeforeInput = undefined;\n }\n\n var editorState = editor._latestEditorState;\n\n var chars = e.data;\n\n // In some cases (ex: IE ideographic space insertion) no character data\n // is provided. There's nothing to do when this happens.\n if (!chars) {\n return;\n }\n\n // Allow the top-level component to handle the insertion manually. This is\n // useful when triggering interesting behaviors for a character insertion,\n // Simple examples: replacing a raw text ':)' with a smile emoji or image\n // decorator, or setting a block to be a list item after typing '- ' at the\n // start of the block.\n if (editor.props.handleBeforeInput && isEventHandled(editor.props.handleBeforeInput(chars, editorState))) {\n e.preventDefault();\n return;\n }\n\n // If selection is collapsed, conditionally allow native behavior. This\n // reduces re-renders and preserves spellcheck highlighting. If the selection\n // is not collapsed, we will re-render.\n var selection = editorState.getSelection();\n var selectionStart = selection.getStartOffset();\n var selectionEnd = selection.getEndOffset();\n var anchorKey = selection.getAnchorKey();\n\n if (!selection.isCollapsed()) {\n e.preventDefault();\n\n // If the currently selected text matches what the user is trying to\n // replace it with, let's just update the `SelectionState`. If not, update\n // the `ContentState` with the new text.\n var currentlySelectedChars = editorState.getCurrentContent().getPlainText().slice(selectionStart, selectionEnd);\n if (chars === currentlySelectedChars) {\n editor.update(EditorState.forceSelection(editorState, selection.merge({\n focusOffset: selectionEnd\n })));\n } else {\n editor.update(replaceText(editorState, chars, editorState.getCurrentInlineStyle(), getEntityKeyForSelection(editorState.getCurrentContent(), editorState.getSelection())));\n }\n return;\n }\n\n var newEditorState = replaceText(editorState, chars, editorState.getCurrentInlineStyle(), getEntityKeyForSelection(editorState.getCurrentContent(), editorState.getSelection()));\n\n // Bunch of different cases follow where we need to prevent native insertion.\n var mustPreventNative = false;\n if (!mustPreventNative) {\n // Browsers tend to insert text in weird places in the DOM when typing at\n // the start of a leaf, so we'll handle it ourselves.\n mustPreventNative = isSelectionAtLeafStart(editor._latestCommittedEditorState);\n }\n if (!mustPreventNative) {\n // Chrome will also split up a node into two pieces if it contains a Tab\n // char, for no explicable reason. Seemingly caused by this commit:\n // https://chromium.googlesource.com/chromium/src/+/013ac5eaf3%5E%21/\n var nativeSelection = global.getSelection();\n // Selection is necessarily collapsed at this point due to earlier check.\n if (nativeSelection.anchorNode && nativeSelection.anchorNode.nodeType === Node.TEXT_NODE) {\n // See isTabHTMLSpanElement in chromium EditingUtilities.cpp.\n var parentNode = nativeSelection.anchorNode.parentNode;\n mustPreventNative = parentNode.nodeName === 'SPAN' && parentNode.firstChild.nodeType === Node.TEXT_NODE && parentNode.firstChild.nodeValue.indexOf('\\t') !== -1;\n }\n }\n if (!mustPreventNative) {\n // Check the old and new \"fingerprints\" of the current block to determine\n // whether this insertion requires any addition or removal of text nodes,\n // in which case we would prevent the native character insertion.\n var originalFingerprint = BlockTree.getFingerprint(editorState.getBlockTree(anchorKey));\n var newFingerprint = BlockTree.getFingerprint(newEditorState.getBlockTree(anchorKey));\n mustPreventNative = originalFingerprint !== newFingerprint;\n }\n if (!mustPreventNative) {\n mustPreventNative = mustPreventDefaultForCharacter(chars);\n }\n if (!mustPreventNative) {\n mustPreventNative = nullthrows(newEditorState.getDirectionMap()).get(anchorKey) !== nullthrows(editorState.getDirectionMap()).get(anchorKey);\n }\n\n if (mustPreventNative) {\n e.preventDefault();\n editor.update(newEditorState);\n return;\n }\n\n // We made it all the way! Let the browser do its thing and insert the char.\n newEditorState = EditorState.set(newEditorState, {\n nativelyRenderedContent: newEditorState.getCurrentContent()\n });\n // The native event is allowed to occur. To allow user onChange handlers to\n // change the inserted text, we wait until the text is actually inserted\n // before we actually update our state. That way when we rerender, the text\n // we see in the DOM will already have been inserted properly.\n editor._pendingStateFromBeforeInput = newEditorState;\n setImmediate(function () {\n if (editor._pendingStateFromBeforeInput !== undefined) {\n editor.update(editor._pendingStateFromBeforeInput);\n editor._pendingStateFromBeforeInput = undefined;\n }\n });\n}\n\nmodule.exports = editOnBeforeInput;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2VkaXRPbkJlZm9yZUlucHV0LmpzPzg3ZmQiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVhOztBQUViLGdCQUFnQixtQkFBTyxDQUFDLDZEQUFhO0FBQ3JDLG9CQUFvQixtQkFBTyxDQUFDLHFFQUFpQjtBQUM3QyxrQkFBa0IsbUJBQU8sQ0FBQyxpRUFBZTtBQUN6QyxnQkFBZ0IsbUJBQU8sQ0FBQyxnRUFBb0I7O0FBRTVDLCtCQUErQixtQkFBTyxDQUFDLDJGQUE0QjtBQUNuRSxxQkFBcUIsbUJBQU8sQ0FBQyx1RUFBa0I7QUFDL0MsNkJBQTZCLG1CQUFPLENBQUMsdUZBQTBCO0FBQy9ELGlCQUFpQixtQkFBTyxDQUFDLGtFQUFxQjtBQUM5QyxtQkFBbUIsbUJBQU8sQ0FBQyxzRUFBdUI7O0FBRWxEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUCxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUVBLG1DIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2RyYWZ0LWpzL2xpYi9lZGl0T25CZWZvcmVJbnB1dC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXG4gKiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEJTRC1zdHlsZSBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLiBBbiBhZGRpdGlvbmFsIGdyYW50XG4gKiBvZiBwYXRlbnQgcmlnaHRzIGNhbiBiZSBmb3VuZCBpbiB0aGUgUEFURU5UUyBmaWxlIGluIHRoZSBzYW1lIGRpcmVjdG9yeS5cbiAqXG4gKiBAcHJvdmlkZXNNb2R1bGUgZWRpdE9uQmVmb3JlSW5wdXRcbiAqIEBmb3JtYXRcbiAqIFxuICovXG5cbid1c2Ugc3RyaWN0JztcblxudmFyIEJsb2NrVHJlZSA9IHJlcXVpcmUoJy4vQmxvY2tUcmVlJyk7XG52YXIgRHJhZnRNb2RpZmllciA9IHJlcXVpcmUoJy4vRHJhZnRNb2RpZmllcicpO1xudmFyIEVkaXRvclN0YXRlID0gcmVxdWlyZSgnLi9FZGl0b3JTdGF0ZScpO1xudmFyIFVzZXJBZ2VudCA9IHJlcXVpcmUoJ2ZianMvbGliL1VzZXJBZ2VudCcpO1xuXG52YXIgZ2V0RW50aXR5S2V5Rm9yU2VsZWN0aW9uID0gcmVxdWlyZSgnLi9nZXRFbnRpdHlLZXlGb3JTZWxlY3Rpb24nKTtcbnZhciBpc0V2ZW50SGFuZGxlZCA9IHJlcXVpcmUoJy4vaXNFdmVudEhhbmRsZWQnKTtcbnZhciBpc1NlbGVjdGlvbkF0TGVhZlN0YXJ0ID0gcmVxdWlyZSgnLi9pc1NlbGVjdGlvbkF0TGVhZlN0YXJ0Jyk7XG52YXIgbnVsbHRocm93cyA9IHJlcXVpcmUoJ2ZianMvbGliL251bGx0aHJvd3MnKTtcbnZhciBzZXRJbW1lZGlhdGUgPSByZXF1aXJlKCdmYmpzL2xpYi9zZXRJbW1lZGlhdGUnKTtcblxuLy8gV2hlbiBub3RoaW5nIGlzIGZvY3VzZWQsIEZpcmVmb3ggcmVnYXJkcyB0d28gY2hhcmFjdGVycywgYCdgIGFuZCBgL2AsIGFzXG4vLyBjb21tYW5kcyB0aGF0IHNob3VsZCBvcGVuIGFuZCBmb2N1cyB0aGUgXCJxdWlja2ZpbmRcIiBzZWFyY2ggYmFyLiBUaGlzIHNob3VsZFxuLy8gKm5ldmVyKiBoYXBwZW4gd2hpbGUgYSBjb250ZW50ZWRpdGFibGUgaXMgZm9jdXNlZCwgYnV0IGFzIG9mIHYyOCwgaXRcbi8vIHNvbWV0aW1lcyBkb2VzLCBldmVuIHdoZW4gdGhlIGtleXByZXNzIGV2ZW50IHRhcmdldCBpcyB0aGUgY29udGVudGVkaXRhYmxlLlxuLy8gVGhpcyBicmVha3MgdGhlIGlucHV0LiBTcGVjaWFsIGNhc2UgdGhlc2UgY2hhcmFjdGVycyB0byBlbnN1cmUgdGhhdCB3aGVuXG4vLyB0aGV5IGFyZSB0eXBlZCwgd2UgcHJldmVudCBkZWZhdWx0IG9uIHRoZSBldmVudCB0byBtYWtlIHN1cmUgbm90IHRvXG4vLyB0cmlnZ2VyIHF1aWNrZmluZC5cbnZhciBGRl9RVUlDS0ZJTkRfQ0hBUiA9IFwiJ1wiO1xudmFyIEZGX1FVSUNLRklORF9MSU5LX0NIQVIgPSAnLyc7XG52YXIgaXNGaXJlZm94ID0gVXNlckFnZW50LmlzQnJvd3NlcignRmlyZWZveCcpO1xuXG5mdW5jdGlvbiBtdXN0UHJldmVudERlZmF1bHRGb3JDaGFyYWN0ZXIoY2hhcmFjdGVyKSB7XG4gIHJldHVybiBpc0ZpcmVmb3ggJiYgKGNoYXJhY3RlciA9PSBGRl9RVUlDS0ZJTkRfQ0hBUiB8fCBjaGFyYWN0ZXIgPT0gRkZfUVVJQ0tGSU5EX0xJTktfQ0hBUik7XG59XG5cbi8qKlxuICogUmVwbGFjZSB0aGUgY3VycmVudCBzZWxlY3Rpb24gd2l0aCB0aGUgc3BlY2lmaWVkIHRleHQgc3RyaW5nLCB3aXRoIHRoZVxuICogaW5saW5lIHN0eWxlIGFuZCBlbnRpdHkga2V5IGFwcGxpZWQgdG8gdGhlIG5ld2x5IGluc2VydGVkIHRleHQuXG4gKi9cbmZ1bmN0aW9uIHJlcGxhY2VUZXh0KGVkaXRvclN0YXRlLCB0ZXh0LCBpbmxpbmVTdHlsZSwgZW50aXR5S2V5KSB7XG4gIHZhciBjb250ZW50U3RhdGUgPSBEcmFmdE1vZGlmaWVyLnJlcGxhY2VUZXh0KGVkaXRvclN0YXRlLmdldEN1cnJlbnRDb250ZW50KCksIGVkaXRvclN0YXRlLmdldFNlbGVjdGlvbigpLCB0ZXh0LCBpbmxpbmVTdHlsZSwgZW50aXR5S2V5KTtcbiAgcmV0dXJuIEVkaXRvclN0YXRlLnB1c2goZWRpdG9yU3RhdGUsIGNvbnRlbnRTdGF0ZSwgJ2luc2VydC1jaGFyYWN0ZXJzJyk7XG59XG5cbi8qKlxuICogV2hlbiBgb25CZWZvcmVJbnB1dGAgZXhlY3V0ZXMsIHRoZSBicm93c2VyIGlzIGF0dGVtcHRpbmcgdG8gaW5zZXJ0IGFcbiAqIGNoYXJhY3RlciBpbnRvIHRoZSBlZGl0b3IuIEFwcGx5IHRoaXMgY2hhcmFjdGVyIGRhdGEgdG8gdGhlIGRvY3VtZW50LFxuICogYWxsb3dpbmcgbmF0aXZlIGluc2VydGlvbiBpZiBwb3NzaWJsZS5cbiAqXG4gKiBOYXRpdmUgaW5zZXJ0aW9uIGlzIGVuY291cmFnZWQgaW4gb3JkZXIgdG8gbGltaXQgcmUtcmVuZGVyaW5nIGFuZCB0b1xuICogcHJlc2VydmUgc3BlbGxjaGVjayBoaWdobGlnaHRpbmcsIHdoaWNoIGRpc2FwcGVhcnMgb3IgZmxhc2hlcyBpZiByZS1yZW5kZXJcbiAqIG9jY3VycyBvbiB0aGUgcmVsZXZhbnQgdGV4dCBub2Rlcy5cbiAqL1xuZnVuY3Rpb24gZWRpdE9uQmVmb3JlSW5wdXQoZWRpdG9yLCBlKSB7XG4gIGlmIChlZGl0b3IuX3BlbmRpbmdTdGF0ZUZyb21CZWZvcmVJbnB1dCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgZWRpdG9yLnVwZGF0ZShlZGl0b3IuX3BlbmRpbmdTdGF0ZUZyb21CZWZvcmVJbnB1dCk7XG4gICAgZWRpdG9yLl9wZW5kaW5nU3RhdGVGcm9tQmVmb3JlSW5wdXQgPSB1bmRlZmluZWQ7XG4gIH1cblxuICB2YXIgZWRpdG9yU3RhdGUgPSBlZGl0b3IuX2xhdGVzdEVkaXRvclN0YXRlO1xuXG4gIHZhciBjaGFycyA9IGUuZGF0YTtcblxuICAvLyBJbiBzb21lIGNhc2VzIChleDogSUUgaWRlb2dyYXBoaWMgc3BhY2UgaW5zZXJ0aW9uKSBubyBjaGFyYWN0ZXIgZGF0YVxuICAvLyBpcyBwcm92aWRlZC4gVGhlcmUncyBub3RoaW5nIHRvIGRvIHdoZW4gdGhpcyBoYXBwZW5zLlxuICBpZiAoIWNoYXJzKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLy8gQWxsb3cgdGhlIHRvcC1sZXZlbCBjb21wb25lbnQgdG8gaGFuZGxlIHRoZSBpbnNlcnRpb24gbWFudWFsbHkuIFRoaXMgaXNcbiAgLy8gdXNlZnVsIHdoZW4gdHJpZ2dlcmluZyBpbnRlcmVzdGluZyBiZWhhdmlvcnMgZm9yIGEgY2hhcmFjdGVyIGluc2VydGlvbixcbiAgLy8gU2ltcGxlIGV4YW1wbGVzOiByZXBsYWNpbmcgYSByYXcgdGV4dCAnOiknIHdpdGggYSBzbWlsZSBlbW9qaSBvciBpbWFnZVxuICAvLyBkZWNvcmF0b3IsIG9yIHNldHRpbmcgYSBibG9jayB0byBiZSBhIGxpc3QgaXRlbSBhZnRlciB0eXBpbmcgJy0gJyBhdCB0aGVcbiAgLy8gc3RhcnQgb2YgdGhlIGJsb2NrLlxuICBpZiAoZWRpdG9yLnByb3BzLmhhbmRsZUJlZm9yZUlucHV0ICYmIGlzRXZlbnRIYW5kbGVkKGVkaXRvci5wcm9wcy5oYW5kbGVCZWZvcmVJbnB1dChjaGFycywgZWRpdG9yU3RhdGUpKSkge1xuICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICByZXR1cm47XG4gIH1cblxuICAvLyBJZiBzZWxlY3Rpb24gaXMgY29sbGFwc2VkLCBjb25kaXRpb25hbGx5IGFsbG93IG5hdGl2ZSBiZWhhdmlvci4gVGhpc1xuICAvLyByZWR1Y2VzIHJlLXJlbmRlcnMgYW5kIHByZXNlcnZlcyBzcGVsbGNoZWNrIGhpZ2hsaWdodGluZy4gSWYgdGhlIHNlbGVjdGlvblxuICAvLyBpcyBub3QgY29sbGFwc2VkLCB3ZSB3aWxsIHJlLXJlbmRlci5cbiAgdmFyIHNlbGVjdGlvbiA9IGVkaXRvclN0YXRlLmdldFNlbGVjdGlvbigpO1xuICB2YXIgc2VsZWN0aW9uU3RhcnQgPSBzZWxlY3Rpb24uZ2V0U3RhcnRPZmZzZXQoKTtcbiAgdmFyIHNlbGVjdGlvbkVuZCA9IHNlbGVjdGlvbi5nZXRFbmRPZmZzZXQoKTtcbiAgdmFyIGFuY2hvcktleSA9IHNlbGVjdGlvbi5nZXRBbmNob3JLZXkoKTtcblxuICBpZiAoIXNlbGVjdGlvbi5pc0NvbGxhcHNlZCgpKSB7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgLy8gSWYgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0IG1hdGNoZXMgd2hhdCB0aGUgdXNlciBpcyB0cnlpbmcgdG9cbiAgICAvLyByZXBsYWNlIGl0IHdpdGgsIGxldCdzIGp1c3QgdXBkYXRlIHRoZSBgU2VsZWN0aW9uU3RhdGVgLiBJZiBub3QsIHVwZGF0ZVxuICAgIC8vIHRoZSBgQ29udGVudFN0YXRlYCB3aXRoIHRoZSBuZXcgdGV4dC5cbiAgICB2YXIgY3VycmVudGx5U2VsZWN0ZWRDaGFycyA9IGVkaXRvclN0YXRlLmdldEN1cnJlbnRDb250ZW50KCkuZ2V0UGxhaW5UZXh0KCkuc2xpY2Uoc2VsZWN0aW9uU3RhcnQsIHNlbGVjdGlvbkVuZCk7XG4gICAgaWYgKGNoYXJzID09PSBjdXJyZW50bHlTZWxlY3RlZENoYXJzKSB7XG4gICAgICBlZGl0b3IudXBkYXRlKEVkaXRvclN0YXRlLmZvcmNlU2VsZWN0aW9uKGVkaXRvclN0YXRlLCBzZWxlY3Rpb24ubWVyZ2Uoe1xuICAgICAgICBmb2N1c09mZnNldDogc2VsZWN0aW9uRW5kXG4gICAgICB9KSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBlZGl0b3IudXBkYXRlKHJlcGxhY2VUZXh0KGVkaXRvclN0YXRlLCBjaGFycywgZWRpdG9yU3RhdGUuZ2V0Q3VycmVudElubGluZVN0eWxlKCksIGdldEVudGl0eUtleUZvclNlbGVjdGlvbihlZGl0b3JTdGF0ZS5nZXRDdXJyZW50Q29udGVudCgpLCBlZGl0b3JTdGF0ZS5nZXRTZWxlY3Rpb24oKSkpKTtcbiAgICB9XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdmFyIG5ld0VkaXRvclN0YXRlID0gcmVwbGFjZVRleHQoZWRpdG9yU3RhdGUsIGNoYXJzLCBlZGl0b3JTdGF0ZS5nZXRDdXJyZW50SW5saW5lU3R5bGUoKSwgZ2V0RW50aXR5S2V5Rm9yU2VsZWN0aW9uKGVkaXRvclN0YXRlLmdldEN1cnJlbnRDb250ZW50KCksIGVkaXRvclN0YXRlLmdldFNlbGVjdGlvbigpKSk7XG5cbiAgLy8gQnVuY2ggb2YgZGlmZmVyZW50IGNhc2VzIGZvbGxvdyB3aGVyZSB3ZSBuZWVkIHRvIHByZXZlbnQgbmF0aXZlIGluc2VydGlvbi5cbiAgdmFyIG11c3RQcmV2ZW50TmF0aXZlID0gZmFsc2U7XG4gIGlmICghbXVzdFByZXZlbnROYXRpdmUpIHtcbiAgICAvLyBCcm93c2VycyB0ZW5kIHRvIGluc2VydCB0ZXh0IGluIHdlaXJkIHBsYWNlcyBpbiB0aGUgRE9NIHdoZW4gdHlwaW5nIGF0XG4gICAgLy8gdGhlIHN0YXJ0IG9mIGEgbGVhZiwgc28gd2UnbGwgaGFuZGxlIGl0IG91cnNlbHZlcy5cbiAgICBtdXN0UHJldmVudE5hdGl2ZSA9IGlzU2VsZWN0aW9uQXRMZWFmU3RhcnQoZWRpdG9yLl9sYXRlc3RDb21taXR0ZWRFZGl0b3JTdGF0ZSk7XG4gIH1cbiAgaWYgKCFtdXN0UHJldmVudE5hdGl2ZSkge1xuICAgIC8vIENocm9tZSB3aWxsIGFsc28gc3BsaXQgdXAgYSBub2RlIGludG8gdHdvIHBpZWNlcyBpZiBpdCBjb250YWlucyBhIFRhYlxuICAgIC8vIGNoYXIsIGZvciBubyBleHBsaWNhYmxlIHJlYXNvbi4gU2VlbWluZ2x5IGNhdXNlZCBieSB0aGlzIGNvbW1pdDpcbiAgICAvLyBodHRwczovL2Nocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjLysvMDEzYWM1ZWFmMyU1RSUyMS9cbiAgICB2YXIgbmF0aXZlU2VsZWN0aW9uID0gZ2xvYmFsLmdldFNlbGVjdGlvbigpO1xuICAgIC8vIFNlbGVjdGlvbiBpcyBuZWNlc3NhcmlseSBjb2xsYXBzZWQgYXQgdGhpcyBwb2ludCBkdWUgdG8gZWFybGllciBjaGVjay5cbiAgICBpZiAobmF0aXZlU2VsZWN0aW9uLmFuY2hvck5vZGUgJiYgbmF0aXZlU2VsZWN0aW9uLmFuY2hvck5vZGUubm9kZVR5cGUgPT09IE5vZGUuVEVYVF9OT0RFKSB7XG4gICAgICAvLyBTZWUgaXNUYWJIVE1MU3BhbkVsZW1lbnQgaW4gY2hyb21pdW0gRWRpdGluZ1V0aWxpdGllcy5jcHAuXG4gICAgICB2YXIgcGFyZW50Tm9kZSA9IG5hdGl2ZVNlbGVjdGlvbi5hbmNob3JOb2RlLnBhcmVudE5vZGU7XG4gICAgICBtdXN0UHJldmVudE5hdGl2ZSA9IHBhcmVudE5vZGUubm9kZU5hbWUgPT09ICdTUEFOJyAmJiBwYXJlbnROb2RlLmZpcnN0Q2hpbGQubm9kZVR5cGUgPT09IE5vZGUuVEVYVF9OT0RFICYmIHBhcmVudE5vZGUuZmlyc3RDaGlsZC5ub2RlVmFsdWUuaW5kZXhPZignXFx0JykgIT09IC0xO1xuICAgIH1cbiAgfVxuICBpZiAoIW11c3RQcmV2ZW50TmF0aXZlKSB7XG4gICAgLy8gQ2hlY2sgdGhlIG9sZCBhbmQgbmV3IFwiZmluZ2VycHJpbnRzXCIgb2YgdGhlIGN1cnJlbnQgYmxvY2sgdG8gZGV0ZXJtaW5lXG4gICAgLy8gd2hldGhlciB0aGlzIGluc2VydGlvbiByZXF1aXJlcyBhbnkgYWRkaXRpb24gb3IgcmVtb3ZhbCBvZiB0ZXh0IG5vZGVzLFxuICAgIC8vIGluIHdoaWNoIGNhc2Ugd2Ugd291bGQgcHJldmVudCB0aGUgbmF0aXZlIGNoYXJhY3RlciBpbnNlcnRpb24uXG4gICAgdmFyIG9yaWdpbmFsRmluZ2VycHJpbnQgPSBCbG9ja1RyZWUuZ2V0RmluZ2VycHJpbnQoZWRpdG9yU3RhdGUuZ2V0QmxvY2tUcmVlKGFuY2hvcktleSkpO1xuICAgIHZhciBuZXdGaW5nZXJwcmludCA9IEJsb2NrVHJlZS5nZXRGaW5nZXJwcmludChuZXdFZGl0b3JTdGF0ZS5nZXRCbG9ja1RyZWUoYW5jaG9yS2V5KSk7XG4gICAgbXVzdFByZXZlbnROYXRpdmUgPSBvcmlnaW5hbEZpbmdlcnByaW50ICE9PSBuZXdGaW5nZXJwcmludDtcbiAgfVxuICBpZiAoIW11c3RQcmV2ZW50TmF0aXZlKSB7XG4gICAgbXVzdFByZXZlbnROYXRpdmUgPSBtdXN0UHJldmVudERlZmF1bHRGb3JDaGFyYWN0ZXIoY2hhcnMpO1xuICB9XG4gIGlmICghbXVzdFByZXZlbnROYXRpdmUpIHtcbiAgICBtdXN0UHJldmVudE5hdGl2ZSA9IG51bGx0aHJvd3MobmV3RWRpdG9yU3RhdGUuZ2V0RGlyZWN0aW9uTWFwKCkpLmdldChhbmNob3JLZXkpICE9PSBudWxsdGhyb3dzKGVkaXRvclN0YXRlLmdldERpcmVjdGlvbk1hcCgpKS5nZXQoYW5jaG9yS2V5KTtcbiAgfVxuXG4gIGlmIChtdXN0UHJldmVudE5hdGl2ZSkge1xuICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICBlZGl0b3IudXBkYXRlKG5ld0VkaXRvclN0YXRlKTtcbiAgICByZXR1cm47XG4gIH1cblxuICAvLyBXZSBtYWRlIGl0IGFsbCB0aGUgd2F5ISBMZXQgdGhlIGJyb3dzZXIgZG8gaXRzIHRoaW5nIGFuZCBpbnNlcnQgdGhlIGNoYXIuXG4gIG5ld0VkaXRvclN0YXRlID0gRWRpdG9yU3RhdGUuc2V0KG5ld0VkaXRvclN0YXRlLCB7XG4gICAgbmF0aXZlbHlSZW5kZXJlZENvbnRlbnQ6IG5ld0VkaXRvclN0YXRlLmdldEN1cnJlbnRDb250ZW50KClcbiAgfSk7XG4gIC8vIFRoZSBuYXRpdmUgZXZlbnQgaXMgYWxsb3dlZCB0byBvY2N1ci4gVG8gYWxsb3cgdXNlciBvbkNoYW5nZSBoYW5kbGVycyB0b1xuICAvLyBjaGFuZ2UgdGhlIGluc2VydGVkIHRleHQsIHdlIHdhaXQgdW50aWwgdGhlIHRleHQgaXMgYWN0dWFsbHkgaW5zZXJ0ZWRcbiAgLy8gYmVmb3JlIHdlIGFjdHVhbGx5IHVwZGF0ZSBvdXIgc3RhdGUuIFRoYXQgd2F5IHdoZW4gd2UgcmVyZW5kZXIsIHRoZSB0ZXh0XG4gIC8vIHdlIHNlZSBpbiB0aGUgRE9NIHdpbGwgYWxyZWFkeSBoYXZlIGJlZW4gaW5zZXJ0ZWQgcHJvcGVybHkuXG4gIGVkaXRvci5fcGVuZGluZ1N0YXRlRnJvbUJlZm9yZUlucHV0ID0gbmV3RWRpdG9yU3RhdGU7XG4gIHNldEltbWVkaWF0ZShmdW5jdGlvbiAoKSB7XG4gICAgaWYgKGVkaXRvci5fcGVuZGluZ1N0YXRlRnJvbUJlZm9yZUlucHV0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGVkaXRvci51cGRhdGUoZWRpdG9yLl9wZW5kaW5nU3RhdGVGcm9tQmVmb3JlSW5wdXQpO1xuICAgICAgZWRpdG9yLl9wZW5kaW5nU3RhdGVGcm9tQmVmb3JlSW5wdXQgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9KTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBlZGl0T25CZWZvcmVJbnB1dDsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/editOnBeforeInput.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nvar DraftModifier = __webpack_require__(/*! ./DraftModifier */ \"./node_modules/draft-js/lib/DraftModifier.js\");\n\nvar EditorState = __webpack_require__(/*! ./EditorState */ \"./node_modules/draft-js/lib/EditorState.js\");\n\nvar UserAgent = __webpack_require__(/*! fbjs/lib/UserAgent */ \"./node_modules/fbjs/lib/UserAgent.js\");\n\nvar getEntityKeyForSelection = __webpack_require__(/*! ./getEntityKeyForSelection */ \"./node_modules/draft-js/lib/getEntityKeyForSelection.js\");\n\nvar isEventHandled = __webpack_require__(/*! ./isEventHandled */ \"./node_modules/draft-js/lib/isEventHandled.js\");\n\nvar isSelectionAtLeafStart = __webpack_require__(/*! ./isSelectionAtLeafStart */ \"./node_modules/draft-js/lib/isSelectionAtLeafStart.js\");\n\nvar nullthrows = __webpack_require__(/*! fbjs/lib/nullthrows */ \"./node_modules/fbjs/lib/nullthrows.js\");\n\nvar setImmediate = __webpack_require__(/*! fbjs/lib/setImmediate */ \"./node_modules/fbjs/lib/setImmediate.js\"); // When nothing is focused, Firefox regards two characters, `'` and `/`, as\n// commands that should open and focus the \"quickfind\" search bar. This should\n// *never* happen while a contenteditable is focused, but as of v28, it\n// sometimes does, even when the keypress event target is the contenteditable.\n// This breaks the input. Special case these characters to ensure that when\n// they are typed, we prevent default on the event to make sure not to\n// trigger quickfind.\n\n\nvar FF_QUICKFIND_CHAR = \"'\";\nvar FF_QUICKFIND_LINK_CHAR = '/';\nvar isFirefox = UserAgent.isBrowser('Firefox');\n\nfunction mustPreventDefaultForCharacter(character) {\n return isFirefox && (character == FF_QUICKFIND_CHAR || character == FF_QUICKFIND_LINK_CHAR);\n}\n/**\n * Replace the current selection with the specified text string, with the\n * inline style and entity key applied to the newly inserted text.\n */\n\n\nfunction replaceText(editorState, text, inlineStyle, entityKey, forceSelection) {\n var contentState = DraftModifier.replaceText(editorState.getCurrentContent(), editorState.getSelection(), text, inlineStyle, entityKey);\n return EditorState.push(editorState, contentState, 'insert-characters', forceSelection);\n}\n/**\n * When `onBeforeInput` executes, the browser is attempting to insert a\n * character into the editor. Apply this character data to the document,\n * allowing native insertion if possible.\n *\n * Native insertion is encouraged in order to limit re-rendering and to\n * preserve spellcheck highlighting, which disappears or flashes if re-render\n * occurs on the relevant text nodes.\n */\n\n\nfunction editOnBeforeInput(editor, e) {\n if (editor._pendingStateFromBeforeInput !== undefined) {\n editor.update(editor._pendingStateFromBeforeInput);\n editor._pendingStateFromBeforeInput = undefined;\n }\n\n var editorState = editor._latestEditorState;\n var chars = e.data; // In some cases (ex: IE ideographic space insertion) no character data\n // is provided. There's nothing to do when this happens.\n\n if (!chars) {\n return;\n } // Allow the top-level component to handle the insertion manually. This is\n // useful when triggering interesting behaviors for a character insertion,\n // Simple examples: replacing a raw text ':)' with a smile emoji or image\n // decorator, or setting a block to be a list item after typing '- ' at the\n // start of the block.\n\n\n if (editor.props.handleBeforeInput && isEventHandled(editor.props.handleBeforeInput(chars, editorState, e.timeStamp))) {\n e.preventDefault();\n return;\n } // If selection is collapsed, conditionally allow native behavior. This\n // reduces re-renders and preserves spellcheck highlighting. If the selection\n // is not collapsed, we will re-render.\n\n\n var selection = editorState.getSelection();\n var selectionStart = selection.getStartOffset();\n var anchorKey = selection.getAnchorKey();\n\n if (!selection.isCollapsed()) {\n e.preventDefault();\n editor.update(replaceText(editorState, chars, editorState.getCurrentInlineStyle(), getEntityKeyForSelection(editorState.getCurrentContent(), editorState.getSelection()), true));\n return;\n }\n\n var newEditorState = replaceText(editorState, chars, editorState.getCurrentInlineStyle(), getEntityKeyForSelection(editorState.getCurrentContent(), editorState.getSelection()), false); // Bunch of different cases follow where we need to prevent native insertion.\n\n var mustPreventNative = false;\n\n if (!mustPreventNative) {\n // Browsers tend to insert text in weird places in the DOM when typing at\n // the start of a leaf, so we'll handle it ourselves.\n mustPreventNative = isSelectionAtLeafStart(editor._latestCommittedEditorState);\n }\n\n if (!mustPreventNative) {\n // Let's say we have a decorator that highlights hashtags. In many cases\n // we need to prevent native behavior and rerender ourselves --\n // particularly, any case *except* where the inserted characters end up\n // anywhere except exactly where you put them.\n //\n // Using [] to denote a decorated leaf, some examples:\n //\n // 1. 'hi #' and append 'f'\n // desired rendering: 'hi [#f]'\n // native rendering would be: 'hi #f' (incorrect)\n //\n // 2. 'x [#foo]' and insert '#' before 'f'\n // desired rendering: 'x #[#foo]'\n // native rendering would be: 'x [##foo]' (incorrect)\n //\n // 3. '[#foobar]' and insert ' ' between 'foo' and 'bar'\n // desired rendering: '[#foo] bar'\n // native rendering would be: '[#foo bar]' (incorrect)\n //\n // 4. '[#foo]' and delete '#' [won't use this beforeinput codepath though]\n // desired rendering: 'foo'\n // native rendering would be: '[foo]' (incorrect)\n //\n // 5. '[#foo]' and append 'b'\n // desired rendering: '[#foob]'\n // native rendering would be: '[#foob]'\n // (native insertion here would be ok for decorators like simple spans,\n // but not more complex decorators. To be safe, we need to prevent it.)\n //\n // It is safe to allow native insertion if and only if the full list of\n // decorator ranges matches what we expect native insertion to give, and\n // the range lengths have not changed. We don't need to compare the content\n // because the only possible mutation to consider here is inserting plain\n // text and decorators can't affect text content.\n var oldBlockTree = editorState.getBlockTree(anchorKey);\n var newBlockTree = newEditorState.getBlockTree(anchorKey);\n mustPreventNative = oldBlockTree.size !== newBlockTree.size || oldBlockTree.zip(newBlockTree).some(function (_ref) {\n var oldLeafSet = _ref[0],\n newLeafSet = _ref[1];\n // selectionStart is guaranteed to be selectionEnd here\n var oldStart = oldLeafSet.get('start');\n var adjustedStart = oldStart + (oldStart >= selectionStart ? chars.length : 0);\n var oldEnd = oldLeafSet.get('end');\n var adjustedEnd = oldEnd + (oldEnd >= selectionStart ? chars.length : 0);\n var newStart = newLeafSet.get('start');\n var newEnd = newLeafSet.get('end');\n var newDecoratorKey = newLeafSet.get('decoratorKey');\n return (// Different decorators\n oldLeafSet.get('decoratorKey') !== newDecoratorKey || // Different number of inline styles\n oldLeafSet.get('leaves').size !== newLeafSet.get('leaves').size || // Different effective decorator position\n adjustedStart !== newStart || adjustedEnd !== newEnd || // Decorator already existed and its length changed\n newDecoratorKey != null && newEnd - newStart !== oldEnd - oldStart\n );\n });\n }\n\n if (!mustPreventNative) {\n mustPreventNative = mustPreventDefaultForCharacter(chars);\n }\n\n if (!mustPreventNative) {\n mustPreventNative = nullthrows(newEditorState.getDirectionMap()).get(anchorKey) !== nullthrows(editorState.getDirectionMap()).get(anchorKey);\n }\n\n if (mustPreventNative) {\n e.preventDefault();\n newEditorState = EditorState.set(newEditorState, {\n forceSelection: true\n });\n editor.update(newEditorState);\n return;\n } // We made it all the way! Let the browser do its thing and insert the char.\n\n\n newEditorState = EditorState.set(newEditorState, {\n nativelyRenderedContent: newEditorState.getCurrentContent()\n }); // The native event is allowed to occur. To allow user onChange handlers to\n // change the inserted text, we wait until the text is actually inserted\n // before we actually update our state. That way when we rerender, the text\n // we see in the DOM will already have been inserted properly.\n\n editor._pendingStateFromBeforeInput = newEditorState;\n setImmediate(function () {\n if (editor._pendingStateFromBeforeInput !== undefined) {\n editor.update(editor._pendingStateFromBeforeInput);\n editor._pendingStateFromBeforeInput = undefined;\n }\n });\n}\n\nmodule.exports = editOnBeforeInput;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2VkaXRPbkJlZm9yZUlucHV0LmpzPzg3ZmQiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDYTs7QUFFYixvQkFBb0IsbUJBQU8sQ0FBQyxxRUFBaUI7O0FBRTdDLGtCQUFrQixtQkFBTyxDQUFDLGlFQUFlOztBQUV6QyxnQkFBZ0IsbUJBQU8sQ0FBQyxnRUFBb0I7O0FBRTVDLCtCQUErQixtQkFBTyxDQUFDLDJGQUE0Qjs7QUFFbkUscUJBQXFCLG1CQUFPLENBQUMsdUVBQWtCOztBQUUvQyw2QkFBNkIsbUJBQU8sQ0FBQyx1RkFBMEI7O0FBRS9ELGlCQUFpQixtQkFBTyxDQUFDLGtFQUFxQjs7QUFFOUMsbUJBQW1CLG1CQUFPLENBQUMsc0VBQXVCLEVBQUU7QUFDcEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EscUJBQXFCO0FBQ3JCOztBQUVBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSwwTEFBMEw7O0FBRTFMOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEdBQUc7OztBQUdIO0FBQ0E7QUFDQSxHQUFHLEVBQUU7QUFDTDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUVBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2RyYWZ0LWpzL2xpYi9lZGl0T25CZWZvcmVJbnB1dC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSBGYWNlYm9vaywgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICogQGZvcm1hdFxuICogXG4gKiBAZW1haWxzIG9uY2FsbCtkcmFmdF9qc1xuICovXG4ndXNlIHN0cmljdCc7XG5cbnZhciBEcmFmdE1vZGlmaWVyID0gcmVxdWlyZShcIi4vRHJhZnRNb2RpZmllclwiKTtcblxudmFyIEVkaXRvclN0YXRlID0gcmVxdWlyZShcIi4vRWRpdG9yU3RhdGVcIik7XG5cbnZhciBVc2VyQWdlbnQgPSByZXF1aXJlKFwiZmJqcy9saWIvVXNlckFnZW50XCIpO1xuXG52YXIgZ2V0RW50aXR5S2V5Rm9yU2VsZWN0aW9uID0gcmVxdWlyZShcIi4vZ2V0RW50aXR5S2V5Rm9yU2VsZWN0aW9uXCIpO1xuXG52YXIgaXNFdmVudEhhbmRsZWQgPSByZXF1aXJlKFwiLi9pc0V2ZW50SGFuZGxlZFwiKTtcblxudmFyIGlzU2VsZWN0aW9uQXRMZWFmU3RhcnQgPSByZXF1aXJlKFwiLi9pc1NlbGVjdGlvbkF0TGVhZlN0YXJ0XCIpO1xuXG52YXIgbnVsbHRocm93cyA9IHJlcXVpcmUoXCJmYmpzL2xpYi9udWxsdGhyb3dzXCIpO1xuXG52YXIgc2V0SW1tZWRpYXRlID0gcmVxdWlyZShcImZianMvbGliL3NldEltbWVkaWF0ZVwiKTsgLy8gV2hlbiBub3RoaW5nIGlzIGZvY3VzZWQsIEZpcmVmb3ggcmVnYXJkcyB0d28gY2hhcmFjdGVycywgYCdgIGFuZCBgL2AsIGFzXG4vLyBjb21tYW5kcyB0aGF0IHNob3VsZCBvcGVuIGFuZCBmb2N1cyB0aGUgXCJxdWlja2ZpbmRcIiBzZWFyY2ggYmFyLiBUaGlzIHNob3VsZFxuLy8gKm5ldmVyKiBoYXBwZW4gd2hpbGUgYSBjb250ZW50ZWRpdGFibGUgaXMgZm9jdXNlZCwgYnV0IGFzIG9mIHYyOCwgaXRcbi8vIHNvbWV0aW1lcyBkb2VzLCBldmVuIHdoZW4gdGhlIGtleXByZXNzIGV2ZW50IHRhcmdldCBpcyB0aGUgY29udGVudGVkaXRhYmxlLlxuLy8gVGhpcyBicmVha3MgdGhlIGlucHV0LiBTcGVjaWFsIGNhc2UgdGhlc2UgY2hhcmFjdGVycyB0byBlbnN1cmUgdGhhdCB3aGVuXG4vLyB0aGV5IGFyZSB0eXBlZCwgd2UgcHJldmVudCBkZWZhdWx0IG9uIHRoZSBldmVudCB0byBtYWtlIHN1cmUgbm90IHRvXG4vLyB0cmlnZ2VyIHF1aWNrZmluZC5cblxuXG52YXIgRkZfUVVJQ0tGSU5EX0NIQVIgPSBcIidcIjtcbnZhciBGRl9RVUlDS0ZJTkRfTElOS19DSEFSID0gJy8nO1xudmFyIGlzRmlyZWZveCA9IFVzZXJBZ2VudC5pc0Jyb3dzZXIoJ0ZpcmVmb3gnKTtcblxuZnVuY3Rpb24gbXVzdFByZXZlbnREZWZhdWx0Rm9yQ2hhcmFjdGVyKGNoYXJhY3Rlcikge1xuICByZXR1cm4gaXNGaXJlZm94ICYmIChjaGFyYWN0ZXIgPT0gRkZfUVVJQ0tGSU5EX0NIQVIgfHwgY2hhcmFjdGVyID09IEZGX1FVSUNLRklORF9MSU5LX0NIQVIpO1xufVxuLyoqXG4gKiBSZXBsYWNlIHRoZSBjdXJyZW50IHNlbGVjdGlvbiB3aXRoIHRoZSBzcGVjaWZpZWQgdGV4dCBzdHJpbmcsIHdpdGggdGhlXG4gKiBpbmxpbmUgc3R5bGUgYW5kIGVudGl0eSBrZXkgYXBwbGllZCB0byB0aGUgbmV3bHkgaW5zZXJ0ZWQgdGV4dC5cbiAqL1xuXG5cbmZ1bmN0aW9uIHJlcGxhY2VUZXh0KGVkaXRvclN0YXRlLCB0ZXh0LCBpbmxpbmVTdHlsZSwgZW50aXR5S2V5LCBmb3JjZVNlbGVjdGlvbikge1xuICB2YXIgY29udGVudFN0YXRlID0gRHJhZnRNb2RpZmllci5yZXBsYWNlVGV4dChlZGl0b3JTdGF0ZS5nZXRDdXJyZW50Q29udGVudCgpLCBlZGl0b3JTdGF0ZS5nZXRTZWxlY3Rpb24oKSwgdGV4dCwgaW5saW5lU3R5bGUsIGVudGl0eUtleSk7XG4gIHJldHVybiBFZGl0b3JTdGF0ZS5wdXNoKGVkaXRvclN0YXRlLCBjb250ZW50U3RhdGUsICdpbnNlcnQtY2hhcmFjdGVycycsIGZvcmNlU2VsZWN0aW9uKTtcbn1cbi8qKlxuICogV2hlbiBgb25CZWZvcmVJbnB1dGAgZXhlY3V0ZXMsIHRoZSBicm93c2VyIGlzIGF0dGVtcHRpbmcgdG8gaW5zZXJ0IGFcbiAqIGNoYXJhY3RlciBpbnRvIHRoZSBlZGl0b3IuIEFwcGx5IHRoaXMgY2hhcmFjdGVyIGRhdGEgdG8gdGhlIGRvY3VtZW50LFxuICogYWxsb3dpbmcgbmF0aXZlIGluc2VydGlvbiBpZiBwb3NzaWJsZS5cbiAqXG4gKiBOYXRpdmUgaW5zZXJ0aW9uIGlzIGVuY291cmFnZWQgaW4gb3JkZXIgdG8gbGltaXQgcmUtcmVuZGVyaW5nIGFuZCB0b1xuICogcHJlc2VydmUgc3BlbGxjaGVjayBoaWdobGlnaHRpbmcsIHdoaWNoIGRpc2FwcGVhcnMgb3IgZmxhc2hlcyBpZiByZS1yZW5kZXJcbiAqIG9jY3VycyBvbiB0aGUgcmVsZXZhbnQgdGV4dCBub2Rlcy5cbiAqL1xuXG5cbmZ1bmN0aW9uIGVkaXRPbkJlZm9yZUlucHV0KGVkaXRvciwgZSkge1xuICBpZiAoZWRpdG9yLl9wZW5kaW5nU3RhdGVGcm9tQmVmb3JlSW5wdXQgIT09IHVuZGVmaW5lZCkge1xuICAgIGVkaXRvci51cGRhdGUoZWRpdG9yLl9wZW5kaW5nU3RhdGVGcm9tQmVmb3JlSW5wdXQpO1xuICAgIGVkaXRvci5fcGVuZGluZ1N0YXRlRnJvbUJlZm9yZUlucHV0ID0gdW5kZWZpbmVkO1xuICB9XG5cbiAgdmFyIGVkaXRvclN0YXRlID0gZWRpdG9yLl9sYXRlc3RFZGl0b3JTdGF0ZTtcbiAgdmFyIGNoYXJzID0gZS5kYXRhOyAvLyBJbiBzb21lIGNhc2VzIChleDogSUUgaWRlb2dyYXBoaWMgc3BhY2UgaW5zZXJ0aW9uKSBubyBjaGFyYWN0ZXIgZGF0YVxuICAvLyBpcyBwcm92aWRlZC4gVGhlcmUncyBub3RoaW5nIHRvIGRvIHdoZW4gdGhpcyBoYXBwZW5zLlxuXG4gIGlmICghY2hhcnMpIHtcbiAgICByZXR1cm47XG4gIH0gLy8gQWxsb3cgdGhlIHRvcC1sZXZlbCBjb21wb25lbnQgdG8gaGFuZGxlIHRoZSBpbnNlcnRpb24gbWFudWFsbHkuIFRoaXMgaXNcbiAgLy8gdXNlZnVsIHdoZW4gdHJpZ2dlcmluZyBpbnRlcmVzdGluZyBiZWhhdmlvcnMgZm9yIGEgY2hhcmFjdGVyIGluc2VydGlvbixcbiAgLy8gU2ltcGxlIGV4YW1wbGVzOiByZXBsYWNpbmcgYSByYXcgdGV4dCAnOiknIHdpdGggYSBzbWlsZSBlbW9qaSBvciBpbWFnZVxuICAvLyBkZWNvcmF0b3IsIG9yIHNldHRpbmcgYSBibG9jayB0byBiZSBhIGxpc3QgaXRlbSBhZnRlciB0eXBpbmcgJy0gJyBhdCB0aGVcbiAgLy8gc3RhcnQgb2YgdGhlIGJsb2NrLlxuXG5cbiAgaWYgKGVkaXRvci5wcm9wcy5oYW5kbGVCZWZvcmVJbnB1dCAmJiBpc0V2ZW50SGFuZGxlZChlZGl0b3IucHJvcHMuaGFuZGxlQmVmb3JlSW5wdXQoY2hhcnMsIGVkaXRvclN0YXRlLCBlLnRpbWVTdGFtcCkpKSB7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHJldHVybjtcbiAgfSAvLyBJZiBzZWxlY3Rpb24gaXMgY29sbGFwc2VkLCBjb25kaXRpb25hbGx5IGFsbG93IG5hdGl2ZSBiZWhhdmlvci4gVGhpc1xuICAvLyByZWR1Y2VzIHJlLXJlbmRlcnMgYW5kIHByZXNlcnZlcyBzcGVsbGNoZWNrIGhpZ2hsaWdodGluZy4gSWYgdGhlIHNlbGVjdGlvblxuICAvLyBpcyBub3QgY29sbGFwc2VkLCB3ZSB3aWxsIHJlLXJlbmRlci5cblxuXG4gIHZhciBzZWxlY3Rpb24gPSBlZGl0b3JTdGF0ZS5nZXRTZWxlY3Rpb24oKTtcbiAgdmFyIHNlbGVjdGlvblN0YXJ0ID0gc2VsZWN0aW9uLmdldFN0YXJ0T2Zmc2V0KCk7XG4gIHZhciBhbmNob3JLZXkgPSBzZWxlY3Rpb24uZ2V0QW5jaG9yS2V5KCk7XG5cbiAgaWYgKCFzZWxlY3Rpb24uaXNDb2xsYXBzZWQoKSkge1xuICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICBlZGl0b3IudXBkYXRlKHJlcGxhY2VUZXh0KGVkaXRvclN0YXRlLCBjaGFycywgZWRpdG9yU3RhdGUuZ2V0Q3VycmVudElubGluZVN0eWxlKCksIGdldEVudGl0eUtleUZvclNlbGVjdGlvbihlZGl0b3JTdGF0ZS5nZXRDdXJyZW50Q29udGVudCgpLCBlZGl0b3JTdGF0ZS5nZXRTZWxlY3Rpb24oKSksIHRydWUpKTtcbiAgICByZXR1cm47XG4gIH1cblxuICB2YXIgbmV3RWRpdG9yU3RhdGUgPSByZXBsYWNlVGV4dChlZGl0b3JTdGF0ZSwgY2hhcnMsIGVkaXRvclN0YXRlLmdldEN1cnJlbnRJbmxpbmVTdHlsZSgpLCBnZXRFbnRpdHlLZXlGb3JTZWxlY3Rpb24oZWRpdG9yU3RhdGUuZ2V0Q3VycmVudENvbnRlbnQoKSwgZWRpdG9yU3RhdGUuZ2V0U2VsZWN0aW9uKCkpLCBmYWxzZSk7IC8vIEJ1bmNoIG9mIGRpZmZlcmVudCBjYXNlcyBmb2xsb3cgd2hlcmUgd2UgbmVlZCB0byBwcmV2ZW50IG5hdGl2ZSBpbnNlcnRpb24uXG5cbiAgdmFyIG11c3RQcmV2ZW50TmF0aXZlID0gZmFsc2U7XG5cbiAgaWYgKCFtdXN0UHJldmVudE5hdGl2ZSkge1xuICAgIC8vIEJyb3dzZXJzIHRlbmQgdG8gaW5zZXJ0IHRleHQgaW4gd2VpcmQgcGxhY2VzIGluIHRoZSBET00gd2hlbiB0eXBpbmcgYXRcbiAgICAvLyB0aGUgc3RhcnQgb2YgYSBsZWFmLCBzbyB3ZSdsbCBoYW5kbGUgaXQgb3Vyc2VsdmVzLlxuICAgIG11c3RQcmV2ZW50TmF0aXZlID0gaXNTZWxlY3Rpb25BdExlYWZTdGFydChlZGl0b3IuX2xhdGVzdENvbW1pdHRlZEVkaXRvclN0YXRlKTtcbiAgfVxuXG4gIGlmICghbXVzdFByZXZlbnROYXRpdmUpIHtcbiAgICAvLyBMZXQncyBzYXkgd2UgaGF2ZSBhIGRlY29yYXRvciB0aGF0IGhpZ2hsaWdodHMgaGFzaHRhZ3MuIEluIG1hbnkgY2FzZXNcbiAgICAvLyB3ZSBuZWVkIHRvIHByZXZlbnQgbmF0aXZlIGJlaGF2aW9yIGFuZCByZXJlbmRlciBvdXJzZWx2ZXMgLS1cbiAgICAvLyBwYXJ0aWN1bGFybHksIGFueSBjYXNlICpleGNlcHQqIHdoZXJlIHRoZSBpbnNlcnRlZCBjaGFyYWN0ZXJzIGVuZCB1cFxuICAgIC8vIGFueXdoZXJlIGV4Y2VwdCBleGFjdGx5IHdoZXJlIHlvdSBwdXQgdGhlbS5cbiAgICAvL1xuICAgIC8vIFVzaW5nIFtdIHRvIGRlbm90ZSBhIGRlY29yYXRlZCBsZWFmLCBzb21lIGV4YW1wbGVzOlxuICAgIC8vXG4gICAgLy8gMS4gJ2hpICMnIGFuZCBhcHBlbmQgJ2YnXG4gICAgLy8gZGVzaXJlZCByZW5kZXJpbmc6ICdoaSBbI2ZdJ1xuICAgIC8vIG5hdGl2ZSByZW5kZXJpbmcgd291bGQgYmU6ICdoaSAjZicgKGluY29ycmVjdClcbiAgICAvL1xuICAgIC8vIDIuICd4IFsjZm9vXScgYW5kIGluc2VydCAnIycgYmVmb3JlICdmJ1xuICAgIC8vIGRlc2lyZWQgcmVuZGVyaW5nOiAneCAjWyNmb29dJ1xuICAgIC8vIG5hdGl2ZSByZW5kZXJpbmcgd291bGQgYmU6ICd4IFsjI2Zvb10nIChpbmNvcnJlY3QpXG4gICAgLy9cbiAgICAvLyAzLiAnWyNmb29iYXJdJyBhbmQgaW5zZXJ0ICcgJyBiZXR3ZWVuICdmb28nIGFuZCAnYmFyJ1xuICAgIC8vIGRlc2lyZWQgcmVuZGVyaW5nOiAnWyNmb29dIGJhcidcbiAgICAvLyBuYXRpdmUgcmVuZGVyaW5nIHdvdWxkIGJlOiAnWyNmb28gYmFyXScgKGluY29ycmVjdClcbiAgICAvL1xuICAgIC8vIDQuICdbI2Zvb10nIGFuZCBkZWxldGUgJyMnIFt3b24ndCB1c2UgdGhpcyBiZWZvcmVpbnB1dCBjb2RlcGF0aCB0aG91Z2hdXG4gICAgLy8gZGVzaXJlZCByZW5kZXJpbmc6ICdmb28nXG4gICAgLy8gbmF0aXZlIHJlbmRlcmluZyB3b3VsZCBiZTogJ1tmb29dJyAoaW5jb3JyZWN0KVxuICAgIC8vXG4gICAgLy8gNS4gJ1sjZm9vXScgYW5kIGFwcGVuZCAnYidcbiAgICAvLyBkZXNpcmVkIHJlbmRlcmluZzogJ1sjZm9vYl0nXG4gICAgLy8gbmF0aXZlIHJlbmRlcmluZyB3b3VsZCBiZTogJ1sjZm9vYl0nXG4gICAgLy8gKG5hdGl2ZSBpbnNlcnRpb24gaGVyZSB3b3VsZCBiZSBvayBmb3IgZGVjb3JhdG9ycyBsaWtlIHNpbXBsZSBzcGFucyxcbiAgICAvLyBidXQgbm90IG1vcmUgY29tcGxleCBkZWNvcmF0b3JzLiBUbyBiZSBzYWZlLCB3ZSBuZWVkIHRvIHByZXZlbnQgaXQuKVxuICAgIC8vXG4gICAgLy8gSXQgaXMgc2FmZSB0byBhbGxvdyBuYXRpdmUgaW5zZXJ0aW9uIGlmIGFuZCBvbmx5IGlmIHRoZSBmdWxsIGxpc3Qgb2ZcbiAgICAvLyBkZWNvcmF0b3IgcmFuZ2VzIG1hdGNoZXMgd2hhdCB3ZSBleHBlY3QgbmF0aXZlIGluc2VydGlvbiB0byBnaXZlLCBhbmRcbiAgICAvLyB0aGUgcmFuZ2UgbGVuZ3RocyBoYXZlIG5vdCBjaGFuZ2VkLiBXZSBkb24ndCBuZWVkIHRvIGNvbXBhcmUgdGhlIGNvbnRlbnRcbiAgICAvLyBiZWNhdXNlIHRoZSBvbmx5IHBvc3NpYmxlIG11dGF0aW9uIHRvIGNvbnNpZGVyIGhlcmUgaXMgaW5zZXJ0aW5nIHBsYWluXG4gICAgLy8gdGV4dCBhbmQgZGVjb3JhdG9ycyBjYW4ndCBhZmZlY3QgdGV4dCBjb250ZW50LlxuICAgIHZhciBvbGRCbG9ja1RyZWUgPSBlZGl0b3JTdGF0ZS5nZXRCbG9ja1RyZWUoYW5jaG9yS2V5KTtcbiAgICB2YXIgbmV3QmxvY2tUcmVlID0gbmV3RWRpdG9yU3RhdGUuZ2V0QmxvY2tUcmVlKGFuY2hvcktleSk7XG4gICAgbXVzdFByZXZlbnROYXRpdmUgPSBvbGRCbG9ja1RyZWUuc2l6ZSAhPT0gbmV3QmxvY2tUcmVlLnNpemUgfHwgb2xkQmxvY2tUcmVlLnppcChuZXdCbG9ja1RyZWUpLnNvbWUoZnVuY3Rpb24gKF9yZWYpIHtcbiAgICAgIHZhciBvbGRMZWFmU2V0ID0gX3JlZlswXSxcbiAgICAgICAgICBuZXdMZWFmU2V0ID0gX3JlZlsxXTtcbiAgICAgIC8vIHNlbGVjdGlvblN0YXJ0IGlzIGd1YXJhbnRlZWQgdG8gYmUgc2VsZWN0aW9uRW5kIGhlcmVcbiAgICAgIHZhciBvbGRTdGFydCA9IG9sZExlYWZTZXQuZ2V0KCdzdGFydCcpO1xuICAgICAgdmFyIGFkanVzdGVkU3RhcnQgPSBvbGRTdGFydCArIChvbGRTdGFydCA+PSBzZWxlY3Rpb25TdGFydCA/IGNoYXJzLmxlbmd0aCA6IDApO1xuICAgICAgdmFyIG9sZEVuZCA9IG9sZExlYWZTZXQuZ2V0KCdlbmQnKTtcbiAgICAgIHZhciBhZGp1c3RlZEVuZCA9IG9sZEVuZCArIChvbGRFbmQgPj0gc2VsZWN0aW9uU3RhcnQgPyBjaGFycy5sZW5ndGggOiAwKTtcbiAgICAgIHZhciBuZXdTdGFydCA9IG5ld0xlYWZTZXQuZ2V0KCdzdGFydCcpO1xuICAgICAgdmFyIG5ld0VuZCA9IG5ld0xlYWZTZXQuZ2V0KCdlbmQnKTtcbiAgICAgIHZhciBuZXdEZWNvcmF0b3JLZXkgPSBuZXdMZWFmU2V0LmdldCgnZGVjb3JhdG9yS2V5Jyk7XG4gICAgICByZXR1cm4gKC8vIERpZmZlcmVudCBkZWNvcmF0b3JzXG4gICAgICAgIG9sZExlYWZTZXQuZ2V0KCdkZWNvcmF0b3JLZXknKSAhPT0gbmV3RGVjb3JhdG9yS2V5IHx8IC8vIERpZmZlcmVudCBudW1iZXIgb2YgaW5saW5lIHN0eWxlc1xuICAgICAgICBvbGRMZWFmU2V0LmdldCgnbGVhdmVzJykuc2l6ZSAhPT0gbmV3TGVhZlNldC5nZXQoJ2xlYXZlcycpLnNpemUgfHwgLy8gRGlmZmVyZW50IGVmZmVjdGl2ZSBkZWNvcmF0b3IgcG9zaXRpb25cbiAgICAgICAgYWRqdXN0ZWRTdGFydCAhPT0gbmV3U3RhcnQgfHwgYWRqdXN0ZWRFbmQgIT09IG5ld0VuZCB8fCAvLyBEZWNvcmF0b3IgYWxyZWFkeSBleGlzdGVkIGFuZCBpdHMgbGVuZ3RoIGNoYW5nZWRcbiAgICAgICAgbmV3RGVjb3JhdG9yS2V5ICE9IG51bGwgJiYgbmV3RW5kIC0gbmV3U3RhcnQgIT09IG9sZEVuZCAtIG9sZFN0YXJ0XG4gICAgICApO1xuICAgIH0pO1xuICB9XG5cbiAgaWYgKCFtdXN0UHJldmVudE5hdGl2ZSkge1xuICAgIG11c3RQcmV2ZW50TmF0aXZlID0gbXVzdFByZXZlbnREZWZhdWx0Rm9yQ2hhcmFjdGVyKGNoYXJzKTtcbiAgfVxuXG4gIGlmICghbXVzdFByZXZlbnROYXRpdmUpIHtcbiAgICBtdXN0UHJldmVudE5hdGl2ZSA9IG51bGx0aHJvd3MobmV3RWRpdG9yU3RhdGUuZ2V0RGlyZWN0aW9uTWFwKCkpLmdldChhbmNob3JLZXkpICE9PSBudWxsdGhyb3dzKGVkaXRvclN0YXRlLmdldERpcmVjdGlvbk1hcCgpKS5nZXQoYW5jaG9yS2V5KTtcbiAgfVxuXG4gIGlmIChtdXN0UHJldmVudE5hdGl2ZSkge1xuICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICBuZXdFZGl0b3JTdGF0ZSA9IEVkaXRvclN0YXRlLnNldChuZXdFZGl0b3JTdGF0ZSwge1xuICAgICAgZm9yY2VTZWxlY3Rpb246IHRydWVcbiAgICB9KTtcbiAgICBlZGl0b3IudXBkYXRlKG5ld0VkaXRvclN0YXRlKTtcbiAgICByZXR1cm47XG4gIH0gLy8gV2UgbWFkZSBpdCBhbGwgdGhlIHdheSEgTGV0IHRoZSBicm93c2VyIGRvIGl0cyB0aGluZyBhbmQgaW5zZXJ0IHRoZSBjaGFyLlxuXG5cbiAgbmV3RWRpdG9yU3RhdGUgPSBFZGl0b3JTdGF0ZS5zZXQobmV3RWRpdG9yU3RhdGUsIHtcbiAgICBuYXRpdmVseVJlbmRlcmVkQ29udGVudDogbmV3RWRpdG9yU3RhdGUuZ2V0Q3VycmVudENvbnRlbnQoKVxuICB9KTsgLy8gVGhlIG5hdGl2ZSBldmVudCBpcyBhbGxvd2VkIHRvIG9jY3VyLiBUbyBhbGxvdyB1c2VyIG9uQ2hhbmdlIGhhbmRsZXJzIHRvXG4gIC8vIGNoYW5nZSB0aGUgaW5zZXJ0ZWQgdGV4dCwgd2Ugd2FpdCB1bnRpbCB0aGUgdGV4dCBpcyBhY3R1YWxseSBpbnNlcnRlZFxuICAvLyBiZWZvcmUgd2UgYWN0dWFsbHkgdXBkYXRlIG91ciBzdGF0ZS4gVGhhdCB3YXkgd2hlbiB3ZSByZXJlbmRlciwgdGhlIHRleHRcbiAgLy8gd2Ugc2VlIGluIHRoZSBET00gd2lsbCBhbHJlYWR5IGhhdmUgYmVlbiBpbnNlcnRlZCBwcm9wZXJseS5cblxuICBlZGl0b3IuX3BlbmRpbmdTdGF0ZUZyb21CZWZvcmVJbnB1dCA9IG5ld0VkaXRvclN0YXRlO1xuICBzZXRJbW1lZGlhdGUoZnVuY3Rpb24gKCkge1xuICAgIGlmIChlZGl0b3IuX3BlbmRpbmdTdGF0ZUZyb21CZWZvcmVJbnB1dCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBlZGl0b3IudXBkYXRlKGVkaXRvci5fcGVuZGluZ1N0YXRlRnJvbUJlZm9yZUlucHV0KTtcbiAgICAgIGVkaXRvci5fcGVuZGluZ1N0YXRlRnJvbUJlZm9yZUlucHV0ID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgfSk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gZWRpdE9uQmVmb3JlSW5wdXQ7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/editOnBeforeInput.js\n"); /***/ }), @@ -619,7 +714,7 @@ eval("/* WEBPACK VAR INJECTION */(function(global) {/**\n * Copyright (c) 2013-p /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/* WEBPACK VAR INJECTION */(function(global) {/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule editOnBlur\n * @format\n * \n */\n\n\n\nvar EditorState = __webpack_require__(/*! ./EditorState */ \"./node_modules/draft-js/lib/EditorState.js\");\n\nvar containsNode = __webpack_require__(/*! fbjs/lib/containsNode */ \"./node_modules/fbjs/lib/containsNode.js\");\nvar getActiveElement = __webpack_require__(/*! fbjs/lib/getActiveElement */ \"./node_modules/fbjs/lib/getActiveElement.js\");\n\nfunction editOnBlur(editor, e) {\n // In a contentEditable element, when you select a range and then click\n // another active element, this does trigger a `blur` event but will not\n // remove the DOM selection from the contenteditable.\n // This is consistent across all browsers, but we prefer that the editor\n // behave like a textarea, where a `blur` event clears the DOM selection.\n // We therefore force the issue to be certain, checking whether the active\n // element is `body` to force it when blurring occurs within the window (as\n // opposed to clicking to another tab or window).\n if (getActiveElement() === document.body) {\n var _selection = global.getSelection();\n var editorNode = editor.editor;\n if (_selection.rangeCount === 1 && containsNode(editorNode, _selection.anchorNode) && containsNode(editorNode, _selection.focusNode)) {\n _selection.removeAllRanges();\n }\n }\n\n var editorState = editor._latestEditorState;\n var currentSelection = editorState.getSelection();\n if (!currentSelection.getHasFocus()) {\n return;\n }\n\n var selection = currentSelection.set('hasFocus', false);\n editor.props.onBlur && editor.props.onBlur(e);\n editor.update(EditorState.acceptSelection(editorState, selection));\n}\n\nmodule.exports = editOnBlur;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2VkaXRPbkJsdXIuanM/MjQ4ZiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWE7O0FBRWIsa0JBQWtCLG1CQUFPLENBQUMsaUVBQWU7O0FBRXpDLG1CQUFtQixtQkFBTyxDQUFDLHNFQUF1QjtBQUNsRCx1QkFBdUIsbUJBQU8sQ0FBQyw4RUFBMkI7O0FBRTFEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsNEIiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2VkaXRPbkJsdXIuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxMy1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuICogQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBCU0Qtc3R5bGUgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS4gQW4gYWRkaXRpb25hbCBncmFudFxuICogb2YgcGF0ZW50IHJpZ2h0cyBjYW4gYmUgZm91bmQgaW4gdGhlIFBBVEVOVFMgZmlsZSBpbiB0aGUgc2FtZSBkaXJlY3RvcnkuXG4gKlxuICogQHByb3ZpZGVzTW9kdWxlIGVkaXRPbkJsdXJcbiAqIEBmb3JtYXRcbiAqIFxuICovXG5cbid1c2Ugc3RyaWN0JztcblxudmFyIEVkaXRvclN0YXRlID0gcmVxdWlyZSgnLi9FZGl0b3JTdGF0ZScpO1xuXG52YXIgY29udGFpbnNOb2RlID0gcmVxdWlyZSgnZmJqcy9saWIvY29udGFpbnNOb2RlJyk7XG52YXIgZ2V0QWN0aXZlRWxlbWVudCA9IHJlcXVpcmUoJ2ZianMvbGliL2dldEFjdGl2ZUVsZW1lbnQnKTtcblxuZnVuY3Rpb24gZWRpdE9uQmx1cihlZGl0b3IsIGUpIHtcbiAgLy8gSW4gYSBjb250ZW50RWRpdGFibGUgZWxlbWVudCwgd2hlbiB5b3Ugc2VsZWN0IGEgcmFuZ2UgYW5kIHRoZW4gY2xpY2tcbiAgLy8gYW5vdGhlciBhY3RpdmUgZWxlbWVudCwgdGhpcyBkb2VzIHRyaWdnZXIgYSBgYmx1cmAgZXZlbnQgYnV0IHdpbGwgbm90XG4gIC8vIHJlbW92ZSB0aGUgRE9NIHNlbGVjdGlvbiBmcm9tIHRoZSBjb250ZW50ZWRpdGFibGUuXG4gIC8vIFRoaXMgaXMgY29uc2lzdGVudCBhY3Jvc3MgYWxsIGJyb3dzZXJzLCBidXQgd2UgcHJlZmVyIHRoYXQgdGhlIGVkaXRvclxuICAvLyBiZWhhdmUgbGlrZSBhIHRleHRhcmVhLCB3aGVyZSBhIGBibHVyYCBldmVudCBjbGVhcnMgdGhlIERPTSBzZWxlY3Rpb24uXG4gIC8vIFdlIHRoZXJlZm9yZSBmb3JjZSB0aGUgaXNzdWUgdG8gYmUgY2VydGFpbiwgY2hlY2tpbmcgd2hldGhlciB0aGUgYWN0aXZlXG4gIC8vIGVsZW1lbnQgaXMgYGJvZHlgIHRvIGZvcmNlIGl0IHdoZW4gYmx1cnJpbmcgb2NjdXJzIHdpdGhpbiB0aGUgd2luZG93IChhc1xuICAvLyBvcHBvc2VkIHRvIGNsaWNraW5nIHRvIGFub3RoZXIgdGFiIG9yIHdpbmRvdykuXG4gIGlmIChnZXRBY3RpdmVFbGVtZW50KCkgPT09IGRvY3VtZW50LmJvZHkpIHtcbiAgICB2YXIgX3NlbGVjdGlvbiA9IGdsb2JhbC5nZXRTZWxlY3Rpb24oKTtcbiAgICB2YXIgZWRpdG9yTm9kZSA9IGVkaXRvci5lZGl0b3I7XG4gICAgaWYgKF9zZWxlY3Rpb24ucmFuZ2VDb3VudCA9PT0gMSAmJiBjb250YWluc05vZGUoZWRpdG9yTm9kZSwgX3NlbGVjdGlvbi5hbmNob3JOb2RlKSAmJiBjb250YWluc05vZGUoZWRpdG9yTm9kZSwgX3NlbGVjdGlvbi5mb2N1c05vZGUpKSB7XG4gICAgICBfc2VsZWN0aW9uLnJlbW92ZUFsbFJhbmdlcygpO1xuICAgIH1cbiAgfVxuXG4gIHZhciBlZGl0b3JTdGF0ZSA9IGVkaXRvci5fbGF0ZXN0RWRpdG9yU3RhdGU7XG4gIHZhciBjdXJyZW50U2VsZWN0aW9uID0gZWRpdG9yU3RhdGUuZ2V0U2VsZWN0aW9uKCk7XG4gIGlmICghY3VycmVudFNlbGVjdGlvbi5nZXRIYXNGb2N1cygpKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdmFyIHNlbGVjdGlvbiA9IGN1cnJlbnRTZWxlY3Rpb24uc2V0KCdoYXNGb2N1cycsIGZhbHNlKTtcbiAgZWRpdG9yLnByb3BzLm9uQmx1ciAmJiBlZGl0b3IucHJvcHMub25CbHVyKGUpO1xuICBlZGl0b3IudXBkYXRlKEVkaXRvclN0YXRlLmFjY2VwdFNlbGVjdGlvbihlZGl0b3JTdGF0ZSwgc2VsZWN0aW9uKSk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gZWRpdE9uQmx1cjsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/editOnBlur.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nvar EditorState = __webpack_require__(/*! ./EditorState */ \"./node_modules/draft-js/lib/EditorState.js\");\n\nvar containsNode = __webpack_require__(/*! fbjs/lib/containsNode */ \"./node_modules/fbjs/lib/containsNode.js\");\n\nvar getActiveElement = __webpack_require__(/*! fbjs/lib/getActiveElement */ \"./node_modules/fbjs/lib/getActiveElement.js\");\n\nfunction editOnBlur(editor, e) {\n // In a contentEditable element, when you select a range and then click\n // another active element, this does trigger a `blur` event but will not\n // remove the DOM selection from the contenteditable.\n // This is consistent across all browsers, but we prefer that the editor\n // behave like a textarea, where a `blur` event clears the DOM selection.\n // We therefore force the issue to be certain, checking whether the active\n // element is `body` to force it when blurring occurs within the window (as\n // opposed to clicking to another tab or window).\n var ownerDocument = e.currentTarget.ownerDocument;\n\n if (!Boolean(editor.props.preserveSelectionOnBlur) && getActiveElement(ownerDocument) === ownerDocument.body) {\n var _selection = ownerDocument.defaultView.getSelection();\n\n var editorNode = editor.editor;\n\n if (_selection.rangeCount === 1 && containsNode(editorNode, _selection.anchorNode) && containsNode(editorNode, _selection.focusNode)) {\n _selection.removeAllRanges();\n }\n }\n\n var editorState = editor._latestEditorState;\n var currentSelection = editorState.getSelection();\n\n if (!currentSelection.getHasFocus()) {\n return;\n }\n\n var selection = currentSelection.set('hasFocus', false);\n editor.props.onBlur && editor.props.onBlur(e);\n editor.update(EditorState.acceptSelection(editorState, selection));\n}\n\nmodule.exports = editOnBlur;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2VkaXRPbkJsdXIuanM/MjQ4ZiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNhOztBQUViLGtCQUFrQixtQkFBTyxDQUFDLGlFQUFlOztBQUV6QyxtQkFBbUIsbUJBQU8sQ0FBQyxzRUFBdUI7O0FBRWxELHVCQUF1QixtQkFBTyxDQUFDLDhFQUEyQjs7QUFFMUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvZWRpdE9uQmx1ci5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSBGYWNlYm9vaywgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICogQGZvcm1hdFxuICogXG4gKiBAZW1haWxzIG9uY2FsbCtkcmFmdF9qc1xuICovXG4ndXNlIHN0cmljdCc7XG5cbnZhciBFZGl0b3JTdGF0ZSA9IHJlcXVpcmUoXCIuL0VkaXRvclN0YXRlXCIpO1xuXG52YXIgY29udGFpbnNOb2RlID0gcmVxdWlyZShcImZianMvbGliL2NvbnRhaW5zTm9kZVwiKTtcblxudmFyIGdldEFjdGl2ZUVsZW1lbnQgPSByZXF1aXJlKFwiZmJqcy9saWIvZ2V0QWN0aXZlRWxlbWVudFwiKTtcblxuZnVuY3Rpb24gZWRpdE9uQmx1cihlZGl0b3IsIGUpIHtcbiAgLy8gSW4gYSBjb250ZW50RWRpdGFibGUgZWxlbWVudCwgd2hlbiB5b3Ugc2VsZWN0IGEgcmFuZ2UgYW5kIHRoZW4gY2xpY2tcbiAgLy8gYW5vdGhlciBhY3RpdmUgZWxlbWVudCwgdGhpcyBkb2VzIHRyaWdnZXIgYSBgYmx1cmAgZXZlbnQgYnV0IHdpbGwgbm90XG4gIC8vIHJlbW92ZSB0aGUgRE9NIHNlbGVjdGlvbiBmcm9tIHRoZSBjb250ZW50ZWRpdGFibGUuXG4gIC8vIFRoaXMgaXMgY29uc2lzdGVudCBhY3Jvc3MgYWxsIGJyb3dzZXJzLCBidXQgd2UgcHJlZmVyIHRoYXQgdGhlIGVkaXRvclxuICAvLyBiZWhhdmUgbGlrZSBhIHRleHRhcmVhLCB3aGVyZSBhIGBibHVyYCBldmVudCBjbGVhcnMgdGhlIERPTSBzZWxlY3Rpb24uXG4gIC8vIFdlIHRoZXJlZm9yZSBmb3JjZSB0aGUgaXNzdWUgdG8gYmUgY2VydGFpbiwgY2hlY2tpbmcgd2hldGhlciB0aGUgYWN0aXZlXG4gIC8vIGVsZW1lbnQgaXMgYGJvZHlgIHRvIGZvcmNlIGl0IHdoZW4gYmx1cnJpbmcgb2NjdXJzIHdpdGhpbiB0aGUgd2luZG93IChhc1xuICAvLyBvcHBvc2VkIHRvIGNsaWNraW5nIHRvIGFub3RoZXIgdGFiIG9yIHdpbmRvdykuXG4gIHZhciBvd25lckRvY3VtZW50ID0gZS5jdXJyZW50VGFyZ2V0Lm93bmVyRG9jdW1lbnQ7XG5cbiAgaWYgKCFCb29sZWFuKGVkaXRvci5wcm9wcy5wcmVzZXJ2ZVNlbGVjdGlvbk9uQmx1cikgJiYgZ2V0QWN0aXZlRWxlbWVudChvd25lckRvY3VtZW50KSA9PT0gb3duZXJEb2N1bWVudC5ib2R5KSB7XG4gICAgdmFyIF9zZWxlY3Rpb24gPSBvd25lckRvY3VtZW50LmRlZmF1bHRWaWV3LmdldFNlbGVjdGlvbigpO1xuXG4gICAgdmFyIGVkaXRvck5vZGUgPSBlZGl0b3IuZWRpdG9yO1xuXG4gICAgaWYgKF9zZWxlY3Rpb24ucmFuZ2VDb3VudCA9PT0gMSAmJiBjb250YWluc05vZGUoZWRpdG9yTm9kZSwgX3NlbGVjdGlvbi5hbmNob3JOb2RlKSAmJiBjb250YWluc05vZGUoZWRpdG9yTm9kZSwgX3NlbGVjdGlvbi5mb2N1c05vZGUpKSB7XG4gICAgICBfc2VsZWN0aW9uLnJlbW92ZUFsbFJhbmdlcygpO1xuICAgIH1cbiAgfVxuXG4gIHZhciBlZGl0b3JTdGF0ZSA9IGVkaXRvci5fbGF0ZXN0RWRpdG9yU3RhdGU7XG4gIHZhciBjdXJyZW50U2VsZWN0aW9uID0gZWRpdG9yU3RhdGUuZ2V0U2VsZWN0aW9uKCk7XG5cbiAgaWYgKCFjdXJyZW50U2VsZWN0aW9uLmdldEhhc0ZvY3VzKCkpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICB2YXIgc2VsZWN0aW9uID0gY3VycmVudFNlbGVjdGlvbi5zZXQoJ2hhc0ZvY3VzJywgZmFsc2UpO1xuICBlZGl0b3IucHJvcHMub25CbHVyICYmIGVkaXRvci5wcm9wcy5vbkJsdXIoZSk7XG4gIGVkaXRvci51cGRhdGUoRWRpdG9yU3RhdGUuYWNjZXB0U2VsZWN0aW9uKGVkaXRvclN0YXRlLCBzZWxlY3Rpb24pKTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBlZGl0T25CbHVyOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/editOnBlur.js\n"); /***/ }), @@ -631,7 +726,7 @@ eval("/* WEBPACK VAR INJECTION */(function(global) {/**\n * Copyright (c) 2013-p /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule editOnCompositionStart\n * @format\n * \n */\n\n\n\nvar EditorState = __webpack_require__(/*! ./EditorState */ \"./node_modules/draft-js/lib/EditorState.js\");\n\n/**\n * The user has begun using an IME input system. Switching to `composite` mode\n * allows handling composition input and disables other edit behavior.\n */\nfunction editOnCompositionStart(editor, e) {\n editor.setMode('composite');\n editor.update(EditorState.set(editor._latestEditorState, { inCompositionMode: true }));\n // Allow composition handler to interpret the compositionstart event\n editor._onCompositionStart(e);\n}\n\nmodule.exports = editOnCompositionStart;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2VkaXRPbkNvbXBvc2l0aW9uU3RhcnQuanM/OGM3ZSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWE7O0FBRWIsa0JBQWtCLG1CQUFPLENBQUMsaUVBQWU7O0FBRXpDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDREQUE0RCwwQkFBMEI7QUFDdEY7QUFDQTtBQUNBOztBQUVBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2RyYWZ0LWpzL2xpYi9lZGl0T25Db21wb3NpdGlvblN0YXJ0LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQlNELXN0eWxlIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuIEFuIGFkZGl0aW9uYWwgZ3JhbnRcbiAqIG9mIHBhdGVudCByaWdodHMgY2FuIGJlIGZvdW5kIGluIHRoZSBQQVRFTlRTIGZpbGUgaW4gdGhlIHNhbWUgZGlyZWN0b3J5LlxuICpcbiAqIEBwcm92aWRlc01vZHVsZSBlZGl0T25Db21wb3NpdGlvblN0YXJ0XG4gKiBAZm9ybWF0XG4gKiBcbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbnZhciBFZGl0b3JTdGF0ZSA9IHJlcXVpcmUoJy4vRWRpdG9yU3RhdGUnKTtcblxuLyoqXG4gKiBUaGUgdXNlciBoYXMgYmVndW4gdXNpbmcgYW4gSU1FIGlucHV0IHN5c3RlbS4gU3dpdGNoaW5nIHRvIGBjb21wb3NpdGVgIG1vZGVcbiAqIGFsbG93cyBoYW5kbGluZyBjb21wb3NpdGlvbiBpbnB1dCBhbmQgZGlzYWJsZXMgb3RoZXIgZWRpdCBiZWhhdmlvci5cbiAqL1xuZnVuY3Rpb24gZWRpdE9uQ29tcG9zaXRpb25TdGFydChlZGl0b3IsIGUpIHtcbiAgZWRpdG9yLnNldE1vZGUoJ2NvbXBvc2l0ZScpO1xuICBlZGl0b3IudXBkYXRlKEVkaXRvclN0YXRlLnNldChlZGl0b3IuX2xhdGVzdEVkaXRvclN0YXRlLCB7IGluQ29tcG9zaXRpb25Nb2RlOiB0cnVlIH0pKTtcbiAgLy8gQWxsb3cgY29tcG9zaXRpb24gaGFuZGxlciB0byBpbnRlcnByZXQgdGhlIGNvbXBvc2l0aW9uc3RhcnQgZXZlbnRcbiAgZWRpdG9yLl9vbkNvbXBvc2l0aW9uU3RhcnQoZSk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gZWRpdE9uQ29tcG9zaXRpb25TdGFydDsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/editOnCompositionStart.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nvar EditorState = __webpack_require__(/*! ./EditorState */ \"./node_modules/draft-js/lib/EditorState.js\");\n/**\n * The user has begun using an IME input system. Switching to `composite` mode\n * allows handling composition input and disables other edit behavior.\n */\n\n\nfunction editOnCompositionStart(editor, e) {\n editor.setMode('composite');\n editor.update(EditorState.set(editor._latestEditorState, {\n inCompositionMode: true\n })); // Allow composition handler to interpret the compositionstart event\n\n editor._onCompositionStart(e);\n}\n\nmodule.exports = editOnCompositionStart;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2VkaXRPbkNvbXBvc2l0aW9uU3RhcnQuanM/OGM3ZSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNhOztBQUViLGtCQUFrQixtQkFBTyxDQUFDLGlFQUFlO0FBQ3pDO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUcsR0FBRzs7QUFFTjtBQUNBOztBQUVBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2RyYWZ0LWpzL2xpYi9lZGl0T25Db21wb3NpdGlvblN0YXJ0LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIEZhY2Vib29rLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKiBAZm9ybWF0XG4gKiBcbiAqIEBlbWFpbHMgb25jYWxsK2RyYWZ0X2pzXG4gKi9cbid1c2Ugc3RyaWN0JztcblxudmFyIEVkaXRvclN0YXRlID0gcmVxdWlyZShcIi4vRWRpdG9yU3RhdGVcIik7XG4vKipcbiAqIFRoZSB1c2VyIGhhcyBiZWd1biB1c2luZyBhbiBJTUUgaW5wdXQgc3lzdGVtLiBTd2l0Y2hpbmcgdG8gYGNvbXBvc2l0ZWAgbW9kZVxuICogYWxsb3dzIGhhbmRsaW5nIGNvbXBvc2l0aW9uIGlucHV0IGFuZCBkaXNhYmxlcyBvdGhlciBlZGl0IGJlaGF2aW9yLlxuICovXG5cblxuZnVuY3Rpb24gZWRpdE9uQ29tcG9zaXRpb25TdGFydChlZGl0b3IsIGUpIHtcbiAgZWRpdG9yLnNldE1vZGUoJ2NvbXBvc2l0ZScpO1xuICBlZGl0b3IudXBkYXRlKEVkaXRvclN0YXRlLnNldChlZGl0b3IuX2xhdGVzdEVkaXRvclN0YXRlLCB7XG4gICAgaW5Db21wb3NpdGlvbk1vZGU6IHRydWVcbiAgfSkpOyAvLyBBbGxvdyBjb21wb3NpdGlvbiBoYW5kbGVyIHRvIGludGVycHJldCB0aGUgY29tcG9zaXRpb25zdGFydCBldmVudFxuXG4gIGVkaXRvci5fb25Db21wb3NpdGlvblN0YXJ0KGUpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGVkaXRPbkNvbXBvc2l0aW9uU3RhcnQ7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/editOnCompositionStart.js\n"); /***/ }), @@ -643,7 +738,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule editOnCopy\n * @format\n * \n */\n\n\n\nvar getFragmentFromSelection = __webpack_require__(/*! ./getFragmentFromSelection */ \"./node_modules/draft-js/lib/getFragmentFromSelection.js\");\n\n/**\n * If we have a selection, create a ContentState fragment and store\n * it in our internal clipboard. Subsequent paste events will use this\n * fragment if no external clipboard data is supplied.\n */\nfunction editOnCopy(editor, e) {\n var editorState = editor._latestEditorState;\n var selection = editorState.getSelection();\n\n // No selection, so there's nothing to copy.\n if (selection.isCollapsed()) {\n e.preventDefault();\n return;\n }\n\n editor.setClipboard(getFragmentFromSelection(editor._latestEditorState));\n}\n\nmodule.exports = editOnCopy;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2VkaXRPbkNvcHkuanM/NjAzMyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWE7O0FBRWIsK0JBQStCLG1CQUFPLENBQUMsMkZBQTRCOztBQUVuRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvZWRpdE9uQ29weS5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXG4gKiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEJTRC1zdHlsZSBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLiBBbiBhZGRpdGlvbmFsIGdyYW50XG4gKiBvZiBwYXRlbnQgcmlnaHRzIGNhbiBiZSBmb3VuZCBpbiB0aGUgUEFURU5UUyBmaWxlIGluIHRoZSBzYW1lIGRpcmVjdG9yeS5cbiAqXG4gKiBAcHJvdmlkZXNNb2R1bGUgZWRpdE9uQ29weVxuICogQGZvcm1hdFxuICogXG4gKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG52YXIgZ2V0RnJhZ21lbnRGcm9tU2VsZWN0aW9uID0gcmVxdWlyZSgnLi9nZXRGcmFnbWVudEZyb21TZWxlY3Rpb24nKTtcblxuLyoqXG4gKiBJZiB3ZSBoYXZlIGEgc2VsZWN0aW9uLCBjcmVhdGUgYSBDb250ZW50U3RhdGUgZnJhZ21lbnQgYW5kIHN0b3JlXG4gKiBpdCBpbiBvdXIgaW50ZXJuYWwgY2xpcGJvYXJkLiBTdWJzZXF1ZW50IHBhc3RlIGV2ZW50cyB3aWxsIHVzZSB0aGlzXG4gKiBmcmFnbWVudCBpZiBubyBleHRlcm5hbCBjbGlwYm9hcmQgZGF0YSBpcyBzdXBwbGllZC5cbiAqL1xuZnVuY3Rpb24gZWRpdE9uQ29weShlZGl0b3IsIGUpIHtcbiAgdmFyIGVkaXRvclN0YXRlID0gZWRpdG9yLl9sYXRlc3RFZGl0b3JTdGF0ZTtcbiAgdmFyIHNlbGVjdGlvbiA9IGVkaXRvclN0YXRlLmdldFNlbGVjdGlvbigpO1xuXG4gIC8vIE5vIHNlbGVjdGlvbiwgc28gdGhlcmUncyBub3RoaW5nIHRvIGNvcHkuXG4gIGlmIChzZWxlY3Rpb24uaXNDb2xsYXBzZWQoKSkge1xuICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICByZXR1cm47XG4gIH1cblxuICBlZGl0b3Iuc2V0Q2xpcGJvYXJkKGdldEZyYWdtZW50RnJvbVNlbGVjdGlvbihlZGl0b3IuX2xhdGVzdEVkaXRvclN0YXRlKSk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gZWRpdE9uQ29weTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/editOnCopy.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nvar getFragmentFromSelection = __webpack_require__(/*! ./getFragmentFromSelection */ \"./node_modules/draft-js/lib/getFragmentFromSelection.js\");\n/**\n * If we have a selection, create a ContentState fragment and store\n * it in our internal clipboard. Subsequent paste events will use this\n * fragment if no external clipboard data is supplied.\n */\n\n\nfunction editOnCopy(editor, e) {\n var editorState = editor._latestEditorState;\n var selection = editorState.getSelection(); // No selection, so there's nothing to copy.\n\n if (selection.isCollapsed()) {\n e.preventDefault();\n return;\n }\n\n editor.setClipboard(getFragmentFromSelection(editor._latestEditorState));\n}\n\nmodule.exports = editOnCopy;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2VkaXRPbkNvcHkuanM/NjAzMyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNhOztBQUViLCtCQUErQixtQkFBTyxDQUFDLDJGQUE0QjtBQUNuRTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0EsNkNBQTZDOztBQUU3QztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2RyYWZ0LWpzL2xpYi9lZGl0T25Db3B5LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIEZhY2Vib29rLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKiBAZm9ybWF0XG4gKiBcbiAqIEBlbWFpbHMgb25jYWxsK2RyYWZ0X2pzXG4gKi9cbid1c2Ugc3RyaWN0JztcblxudmFyIGdldEZyYWdtZW50RnJvbVNlbGVjdGlvbiA9IHJlcXVpcmUoXCIuL2dldEZyYWdtZW50RnJvbVNlbGVjdGlvblwiKTtcbi8qKlxuICogSWYgd2UgaGF2ZSBhIHNlbGVjdGlvbiwgY3JlYXRlIGEgQ29udGVudFN0YXRlIGZyYWdtZW50IGFuZCBzdG9yZVxuICogaXQgaW4gb3VyIGludGVybmFsIGNsaXBib2FyZC4gU3Vic2VxdWVudCBwYXN0ZSBldmVudHMgd2lsbCB1c2UgdGhpc1xuICogZnJhZ21lbnQgaWYgbm8gZXh0ZXJuYWwgY2xpcGJvYXJkIGRhdGEgaXMgc3VwcGxpZWQuXG4gKi9cblxuXG5mdW5jdGlvbiBlZGl0T25Db3B5KGVkaXRvciwgZSkge1xuICB2YXIgZWRpdG9yU3RhdGUgPSBlZGl0b3IuX2xhdGVzdEVkaXRvclN0YXRlO1xuICB2YXIgc2VsZWN0aW9uID0gZWRpdG9yU3RhdGUuZ2V0U2VsZWN0aW9uKCk7IC8vIE5vIHNlbGVjdGlvbiwgc28gdGhlcmUncyBub3RoaW5nIHRvIGNvcHkuXG5cbiAgaWYgKHNlbGVjdGlvbi5pc0NvbGxhcHNlZCgpKSB7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGVkaXRvci5zZXRDbGlwYm9hcmQoZ2V0RnJhZ21lbnRGcm9tU2VsZWN0aW9uKGVkaXRvci5fbGF0ZXN0RWRpdG9yU3RhdGUpKTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBlZGl0T25Db3B5OyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/editOnCopy.js\n"); /***/ }), @@ -655,7 +750,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule editOnCut\n * @format\n * \n */\n\n\n\nvar DraftModifier = __webpack_require__(/*! ./DraftModifier */ \"./node_modules/draft-js/lib/DraftModifier.js\");\nvar EditorState = __webpack_require__(/*! ./EditorState */ \"./node_modules/draft-js/lib/EditorState.js\");\nvar Style = __webpack_require__(/*! fbjs/lib/Style */ \"./node_modules/fbjs/lib/Style.js\");\n\nvar getFragmentFromSelection = __webpack_require__(/*! ./getFragmentFromSelection */ \"./node_modules/draft-js/lib/getFragmentFromSelection.js\");\nvar getScrollPosition = __webpack_require__(/*! fbjs/lib/getScrollPosition */ \"./node_modules/fbjs/lib/getScrollPosition.js\");\n\n/**\n * On `cut` events, native behavior is allowed to occur so that the system\n * clipboard is set properly. This means that we need to take steps to recover\n * the editor DOM state after the `cut` has occurred in order to maintain\n * control of the component.\n *\n * In addition, we can keep a copy of the removed fragment, including all\n * styles and entities, for use as an internal paste.\n */\nfunction editOnCut(editor, e) {\n var editorState = editor._latestEditorState;\n var selection = editorState.getSelection();\n var element = e.target;\n var scrollPosition = void 0;\n\n // No selection, so there's nothing to cut.\n if (selection.isCollapsed()) {\n e.preventDefault();\n return;\n }\n\n // Track the current scroll position so that it can be forced back in place\n // after the editor regains control of the DOM.\n if (element instanceof Node) {\n scrollPosition = getScrollPosition(Style.getScrollParent(element));\n }\n\n var fragment = getFragmentFromSelection(editorState);\n editor.setClipboard(fragment);\n\n // Set `cut` mode to disable all event handling temporarily.\n editor.setMode('cut');\n\n // Let native `cut` behavior occur, then recover control.\n setTimeout(function () {\n editor.restoreEditorDOM(scrollPosition);\n editor.exitCurrentMode();\n editor.update(removeFragment(editorState));\n }, 0);\n}\n\nfunction removeFragment(editorState) {\n var newContent = DraftModifier.removeRange(editorState.getCurrentContent(), editorState.getSelection(), 'forward');\n return EditorState.push(editorState, newContent, 'remove-range');\n}\n\nmodule.exports = editOnCut;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2VkaXRPbkN1dC5qcz83YmYzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFYTs7QUFFYixvQkFBb0IsbUJBQU8sQ0FBQyxxRUFBaUI7QUFDN0Msa0JBQWtCLG1CQUFPLENBQUMsaUVBQWU7QUFDekMsWUFBWSxtQkFBTyxDQUFDLHdEQUFnQjs7QUFFcEMsK0JBQStCLG1CQUFPLENBQUMsMkZBQTRCO0FBQ25FLHdCQUF3QixtQkFBTyxDQUFDLGdGQUE0Qjs7QUFFNUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUEiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2VkaXRPbkN1dC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXG4gKiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEJTRC1zdHlsZSBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLiBBbiBhZGRpdGlvbmFsIGdyYW50XG4gKiBvZiBwYXRlbnQgcmlnaHRzIGNhbiBiZSBmb3VuZCBpbiB0aGUgUEFURU5UUyBmaWxlIGluIHRoZSBzYW1lIGRpcmVjdG9yeS5cbiAqXG4gKiBAcHJvdmlkZXNNb2R1bGUgZWRpdE9uQ3V0XG4gKiBAZm9ybWF0XG4gKiBcbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbnZhciBEcmFmdE1vZGlmaWVyID0gcmVxdWlyZSgnLi9EcmFmdE1vZGlmaWVyJyk7XG52YXIgRWRpdG9yU3RhdGUgPSByZXF1aXJlKCcuL0VkaXRvclN0YXRlJyk7XG52YXIgU3R5bGUgPSByZXF1aXJlKCdmYmpzL2xpYi9TdHlsZScpO1xuXG52YXIgZ2V0RnJhZ21lbnRGcm9tU2VsZWN0aW9uID0gcmVxdWlyZSgnLi9nZXRGcmFnbWVudEZyb21TZWxlY3Rpb24nKTtcbnZhciBnZXRTY3JvbGxQb3NpdGlvbiA9IHJlcXVpcmUoJ2ZianMvbGliL2dldFNjcm9sbFBvc2l0aW9uJyk7XG5cbi8qKlxuICogT24gYGN1dGAgZXZlbnRzLCBuYXRpdmUgYmVoYXZpb3IgaXMgYWxsb3dlZCB0byBvY2N1ciBzbyB0aGF0IHRoZSBzeXN0ZW1cbiAqIGNsaXBib2FyZCBpcyBzZXQgcHJvcGVybHkuIFRoaXMgbWVhbnMgdGhhdCB3ZSBuZWVkIHRvIHRha2Ugc3RlcHMgdG8gcmVjb3ZlclxuICogdGhlIGVkaXRvciBET00gc3RhdGUgYWZ0ZXIgdGhlIGBjdXRgIGhhcyBvY2N1cnJlZCBpbiBvcmRlciB0byBtYWludGFpblxuICogY29udHJvbCBvZiB0aGUgY29tcG9uZW50LlxuICpcbiAqIEluIGFkZGl0aW9uLCB3ZSBjYW4ga2VlcCBhIGNvcHkgb2YgdGhlIHJlbW92ZWQgZnJhZ21lbnQsIGluY2x1ZGluZyBhbGxcbiAqIHN0eWxlcyBhbmQgZW50aXRpZXMsIGZvciB1c2UgYXMgYW4gaW50ZXJuYWwgcGFzdGUuXG4gKi9cbmZ1bmN0aW9uIGVkaXRPbkN1dChlZGl0b3IsIGUpIHtcbiAgdmFyIGVkaXRvclN0YXRlID0gZWRpdG9yLl9sYXRlc3RFZGl0b3JTdGF0ZTtcbiAgdmFyIHNlbGVjdGlvbiA9IGVkaXRvclN0YXRlLmdldFNlbGVjdGlvbigpO1xuICB2YXIgZWxlbWVudCA9IGUudGFyZ2V0O1xuICB2YXIgc2Nyb2xsUG9zaXRpb24gPSB2b2lkIDA7XG5cbiAgLy8gTm8gc2VsZWN0aW9uLCBzbyB0aGVyZSdzIG5vdGhpbmcgdG8gY3V0LlxuICBpZiAoc2VsZWN0aW9uLmlzQ29sbGFwc2VkKCkpIHtcbiAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLy8gVHJhY2sgdGhlIGN1cnJlbnQgc2Nyb2xsIHBvc2l0aW9uIHNvIHRoYXQgaXQgY2FuIGJlIGZvcmNlZCBiYWNrIGluIHBsYWNlXG4gIC8vIGFmdGVyIHRoZSBlZGl0b3IgcmVnYWlucyBjb250cm9sIG9mIHRoZSBET00uXG4gIGlmIChlbGVtZW50IGluc3RhbmNlb2YgTm9kZSkge1xuICAgIHNjcm9sbFBvc2l0aW9uID0gZ2V0U2Nyb2xsUG9zaXRpb24oU3R5bGUuZ2V0U2Nyb2xsUGFyZW50KGVsZW1lbnQpKTtcbiAgfVxuXG4gIHZhciBmcmFnbWVudCA9IGdldEZyYWdtZW50RnJvbVNlbGVjdGlvbihlZGl0b3JTdGF0ZSk7XG4gIGVkaXRvci5zZXRDbGlwYm9hcmQoZnJhZ21lbnQpO1xuXG4gIC8vIFNldCBgY3V0YCBtb2RlIHRvIGRpc2FibGUgYWxsIGV2ZW50IGhhbmRsaW5nIHRlbXBvcmFyaWx5LlxuICBlZGl0b3Iuc2V0TW9kZSgnY3V0Jyk7XG5cbiAgLy8gTGV0IG5hdGl2ZSBgY3V0YCBiZWhhdmlvciBvY2N1ciwgdGhlbiByZWNvdmVyIGNvbnRyb2wuXG4gIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgIGVkaXRvci5yZXN0b3JlRWRpdG9yRE9NKHNjcm9sbFBvc2l0aW9uKTtcbiAgICBlZGl0b3IuZXhpdEN1cnJlbnRNb2RlKCk7XG4gICAgZWRpdG9yLnVwZGF0ZShyZW1vdmVGcmFnbWVudChlZGl0b3JTdGF0ZSkpO1xuICB9LCAwKTtcbn1cblxuZnVuY3Rpb24gcmVtb3ZlRnJhZ21lbnQoZWRpdG9yU3RhdGUpIHtcbiAgdmFyIG5ld0NvbnRlbnQgPSBEcmFmdE1vZGlmaWVyLnJlbW92ZVJhbmdlKGVkaXRvclN0YXRlLmdldEN1cnJlbnRDb250ZW50KCksIGVkaXRvclN0YXRlLmdldFNlbGVjdGlvbigpLCAnZm9yd2FyZCcpO1xuICByZXR1cm4gRWRpdG9yU3RhdGUucHVzaChlZGl0b3JTdGF0ZSwgbmV3Q29udGVudCwgJ3JlbW92ZS1yYW5nZScpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGVkaXRPbkN1dDsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/editOnCut.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nvar DraftModifier = __webpack_require__(/*! ./DraftModifier */ \"./node_modules/draft-js/lib/DraftModifier.js\");\n\nvar EditorState = __webpack_require__(/*! ./EditorState */ \"./node_modules/draft-js/lib/EditorState.js\");\n\nvar Style = __webpack_require__(/*! fbjs/lib/Style */ \"./node_modules/fbjs/lib/Style.js\");\n\nvar getFragmentFromSelection = __webpack_require__(/*! ./getFragmentFromSelection */ \"./node_modules/draft-js/lib/getFragmentFromSelection.js\");\n\nvar getScrollPosition = __webpack_require__(/*! fbjs/lib/getScrollPosition */ \"./node_modules/fbjs/lib/getScrollPosition.js\");\n\nvar isNode = __webpack_require__(/*! ./isInstanceOfNode */ \"./node_modules/draft-js/lib/isInstanceOfNode.js\");\n/**\n * On `cut` events, native behavior is allowed to occur so that the system\n * clipboard is set properly. This means that we need to take steps to recover\n * the editor DOM state after the `cut` has occurred in order to maintain\n * control of the component.\n *\n * In addition, we can keep a copy of the removed fragment, including all\n * styles and entities, for use as an internal paste.\n */\n\n\nfunction editOnCut(editor, e) {\n var editorState = editor._latestEditorState;\n var selection = editorState.getSelection();\n var element = e.target;\n var scrollPosition; // No selection, so there's nothing to cut.\n\n if (selection.isCollapsed()) {\n e.preventDefault();\n return;\n } // Track the current scroll position so that it can be forced back in place\n // after the editor regains control of the DOM.\n\n\n if (isNode(element)) {\n var node = element;\n scrollPosition = getScrollPosition(Style.getScrollParent(node));\n }\n\n var fragment = getFragmentFromSelection(editorState);\n editor.setClipboard(fragment); // Set `cut` mode to disable all event handling temporarily.\n\n editor.setMode('cut'); // Let native `cut` behavior occur, then recover control.\n\n setTimeout(function () {\n editor.restoreEditorDOM(scrollPosition);\n editor.exitCurrentMode();\n editor.update(removeFragment(editorState));\n }, 0);\n}\n\nfunction removeFragment(editorState) {\n var newContent = DraftModifier.removeRange(editorState.getCurrentContent(), editorState.getSelection(), 'forward');\n return EditorState.push(editorState, newContent, 'remove-range');\n}\n\nmodule.exports = editOnCut;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2VkaXRPbkN1dC5qcz83YmYzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ2E7O0FBRWIsb0JBQW9CLG1CQUFPLENBQUMscUVBQWlCOztBQUU3QyxrQkFBa0IsbUJBQU8sQ0FBQyxpRUFBZTs7QUFFekMsWUFBWSxtQkFBTyxDQUFDLHdEQUFnQjs7QUFFcEMsK0JBQStCLG1CQUFPLENBQUMsMkZBQTRCOztBQUVuRSx3QkFBd0IsbUJBQU8sQ0FBQyxnRkFBNEI7O0FBRTVELGFBQWEsbUJBQU8sQ0FBQywyRUFBb0I7QUFDekM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjs7QUFFckI7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGdDQUFnQzs7QUFFaEMsd0JBQXdCOztBQUV4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvZWRpdE9uQ3V0LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIEZhY2Vib29rLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKiBAZm9ybWF0XG4gKiBcbiAqIEBlbWFpbHMgb25jYWxsK2RyYWZ0X2pzXG4gKi9cbid1c2Ugc3RyaWN0JztcblxudmFyIERyYWZ0TW9kaWZpZXIgPSByZXF1aXJlKFwiLi9EcmFmdE1vZGlmaWVyXCIpO1xuXG52YXIgRWRpdG9yU3RhdGUgPSByZXF1aXJlKFwiLi9FZGl0b3JTdGF0ZVwiKTtcblxudmFyIFN0eWxlID0gcmVxdWlyZShcImZianMvbGliL1N0eWxlXCIpO1xuXG52YXIgZ2V0RnJhZ21lbnRGcm9tU2VsZWN0aW9uID0gcmVxdWlyZShcIi4vZ2V0RnJhZ21lbnRGcm9tU2VsZWN0aW9uXCIpO1xuXG52YXIgZ2V0U2Nyb2xsUG9zaXRpb24gPSByZXF1aXJlKFwiZmJqcy9saWIvZ2V0U2Nyb2xsUG9zaXRpb25cIik7XG5cbnZhciBpc05vZGUgPSByZXF1aXJlKFwiLi9pc0luc3RhbmNlT2ZOb2RlXCIpO1xuLyoqXG4gKiBPbiBgY3V0YCBldmVudHMsIG5hdGl2ZSBiZWhhdmlvciBpcyBhbGxvd2VkIHRvIG9jY3VyIHNvIHRoYXQgdGhlIHN5c3RlbVxuICogY2xpcGJvYXJkIGlzIHNldCBwcm9wZXJseS4gVGhpcyBtZWFucyB0aGF0IHdlIG5lZWQgdG8gdGFrZSBzdGVwcyB0byByZWNvdmVyXG4gKiB0aGUgZWRpdG9yIERPTSBzdGF0ZSBhZnRlciB0aGUgYGN1dGAgaGFzIG9jY3VycmVkIGluIG9yZGVyIHRvIG1haW50YWluXG4gKiBjb250cm9sIG9mIHRoZSBjb21wb25lbnQuXG4gKlxuICogSW4gYWRkaXRpb24sIHdlIGNhbiBrZWVwIGEgY29weSBvZiB0aGUgcmVtb3ZlZCBmcmFnbWVudCwgaW5jbHVkaW5nIGFsbFxuICogc3R5bGVzIGFuZCBlbnRpdGllcywgZm9yIHVzZSBhcyBhbiBpbnRlcm5hbCBwYXN0ZS5cbiAqL1xuXG5cbmZ1bmN0aW9uIGVkaXRPbkN1dChlZGl0b3IsIGUpIHtcbiAgdmFyIGVkaXRvclN0YXRlID0gZWRpdG9yLl9sYXRlc3RFZGl0b3JTdGF0ZTtcbiAgdmFyIHNlbGVjdGlvbiA9IGVkaXRvclN0YXRlLmdldFNlbGVjdGlvbigpO1xuICB2YXIgZWxlbWVudCA9IGUudGFyZ2V0O1xuICB2YXIgc2Nyb2xsUG9zaXRpb247IC8vIE5vIHNlbGVjdGlvbiwgc28gdGhlcmUncyBub3RoaW5nIHRvIGN1dC5cblxuICBpZiAoc2VsZWN0aW9uLmlzQ29sbGFwc2VkKCkpIHtcbiAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgcmV0dXJuO1xuICB9IC8vIFRyYWNrIHRoZSBjdXJyZW50IHNjcm9sbCBwb3NpdGlvbiBzbyB0aGF0IGl0IGNhbiBiZSBmb3JjZWQgYmFjayBpbiBwbGFjZVxuICAvLyBhZnRlciB0aGUgZWRpdG9yIHJlZ2FpbnMgY29udHJvbCBvZiB0aGUgRE9NLlxuXG5cbiAgaWYgKGlzTm9kZShlbGVtZW50KSkge1xuICAgIHZhciBub2RlID0gZWxlbWVudDtcbiAgICBzY3JvbGxQb3NpdGlvbiA9IGdldFNjcm9sbFBvc2l0aW9uKFN0eWxlLmdldFNjcm9sbFBhcmVudChub2RlKSk7XG4gIH1cblxuICB2YXIgZnJhZ21lbnQgPSBnZXRGcmFnbWVudEZyb21TZWxlY3Rpb24oZWRpdG9yU3RhdGUpO1xuICBlZGl0b3Iuc2V0Q2xpcGJvYXJkKGZyYWdtZW50KTsgLy8gU2V0IGBjdXRgIG1vZGUgdG8gZGlzYWJsZSBhbGwgZXZlbnQgaGFuZGxpbmcgdGVtcG9yYXJpbHkuXG5cbiAgZWRpdG9yLnNldE1vZGUoJ2N1dCcpOyAvLyBMZXQgbmF0aXZlIGBjdXRgIGJlaGF2aW9yIG9jY3VyLCB0aGVuIHJlY292ZXIgY29udHJvbC5cblxuICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICBlZGl0b3IucmVzdG9yZUVkaXRvckRPTShzY3JvbGxQb3NpdGlvbik7XG4gICAgZWRpdG9yLmV4aXRDdXJyZW50TW9kZSgpO1xuICAgIGVkaXRvci51cGRhdGUocmVtb3ZlRnJhZ21lbnQoZWRpdG9yU3RhdGUpKTtcbiAgfSwgMCk7XG59XG5cbmZ1bmN0aW9uIHJlbW92ZUZyYWdtZW50KGVkaXRvclN0YXRlKSB7XG4gIHZhciBuZXdDb250ZW50ID0gRHJhZnRNb2RpZmllci5yZW1vdmVSYW5nZShlZGl0b3JTdGF0ZS5nZXRDdXJyZW50Q29udGVudCgpLCBlZGl0b3JTdGF0ZS5nZXRTZWxlY3Rpb24oKSwgJ2ZvcndhcmQnKTtcbiAgcmV0dXJuIEVkaXRvclN0YXRlLnB1c2goZWRpdG9yU3RhdGUsIG5ld0NvbnRlbnQsICdyZW1vdmUtcmFuZ2UnKTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBlZGl0T25DdXQ7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/editOnCut.js\n"); /***/ }), @@ -667,7 +762,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule editOnDragOver\n * @format\n * \n */\n\n\n\n/**\n * Drag behavior has begun from outside the editor element.\n */\nfunction editOnDragOver(editor, e) {\n editor._internalDrag = false;\n editor.setMode('drag');\n e.preventDefault();\n}\n\nmodule.exports = editOnDragOver;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2VkaXRPbkRyYWdPdmVyLmpzPzcyNjQiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVhOztBQUViO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2VkaXRPbkRyYWdPdmVyLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQlNELXN0eWxlIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuIEFuIGFkZGl0aW9uYWwgZ3JhbnRcbiAqIG9mIHBhdGVudCByaWdodHMgY2FuIGJlIGZvdW5kIGluIHRoZSBQQVRFTlRTIGZpbGUgaW4gdGhlIHNhbWUgZGlyZWN0b3J5LlxuICpcbiAqIEBwcm92aWRlc01vZHVsZSBlZGl0T25EcmFnT3ZlclxuICogQGZvcm1hdFxuICogXG4gKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG4vKipcbiAqIERyYWcgYmVoYXZpb3IgaGFzIGJlZ3VuIGZyb20gb3V0c2lkZSB0aGUgZWRpdG9yIGVsZW1lbnQuXG4gKi9cbmZ1bmN0aW9uIGVkaXRPbkRyYWdPdmVyKGVkaXRvciwgZSkge1xuICBlZGl0b3IuX2ludGVybmFsRHJhZyA9IGZhbHNlO1xuICBlZGl0b3Iuc2V0TW9kZSgnZHJhZycpO1xuICBlLnByZXZlbnREZWZhdWx0KCk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gZWRpdE9uRHJhZ092ZXI7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/editOnDragOver.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\n/**\n * Drag behavior has begun from outside the editor element.\n */\nfunction editOnDragOver(editor, e) {\n editor.setMode('drag');\n e.preventDefault();\n}\n\nmodule.exports = editOnDragOver;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2VkaXRPbkRyYWdPdmVyLmpzPzcyNjQiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDYTs7QUFFYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvZWRpdE9uRHJhZ092ZXIuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgRmFjZWJvb2ssIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIEBmb3JtYXRcbiAqIFxuICogQGVtYWlscyBvbmNhbGwrZHJhZnRfanNcbiAqL1xuJ3VzZSBzdHJpY3QnO1xuXG4vKipcbiAqIERyYWcgYmVoYXZpb3IgaGFzIGJlZ3VuIGZyb20gb3V0c2lkZSB0aGUgZWRpdG9yIGVsZW1lbnQuXG4gKi9cbmZ1bmN0aW9uIGVkaXRPbkRyYWdPdmVyKGVkaXRvciwgZSkge1xuICBlZGl0b3Iuc2V0TW9kZSgnZHJhZycpO1xuICBlLnByZXZlbnREZWZhdWx0KCk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gZWRpdE9uRHJhZ092ZXI7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/editOnDragOver.js\n"); /***/ }), @@ -679,7 +774,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule editOnDragStart\n * @format\n * \n */\n\n\n\n/**\n * A `dragstart` event has begun within the text editor component.\n */\nfunction editOnDragStart(editor) {\n editor._internalDrag = true;\n editor.setMode('drag');\n}\n\nmodule.exports = editOnDragStart;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2VkaXRPbkRyYWdTdGFydC5qcz82M2Y5Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFYTs7QUFFYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvZWRpdE9uRHJhZ1N0YXJ0LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQlNELXN0eWxlIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuIEFuIGFkZGl0aW9uYWwgZ3JhbnRcbiAqIG9mIHBhdGVudCByaWdodHMgY2FuIGJlIGZvdW5kIGluIHRoZSBQQVRFTlRTIGZpbGUgaW4gdGhlIHNhbWUgZGlyZWN0b3J5LlxuICpcbiAqIEBwcm92aWRlc01vZHVsZSBlZGl0T25EcmFnU3RhcnRcbiAqIEBmb3JtYXRcbiAqIFxuICovXG5cbid1c2Ugc3RyaWN0JztcblxuLyoqXG4gKiBBIGBkcmFnc3RhcnRgIGV2ZW50IGhhcyBiZWd1biB3aXRoaW4gdGhlIHRleHQgZWRpdG9yIGNvbXBvbmVudC5cbiAqL1xuZnVuY3Rpb24gZWRpdE9uRHJhZ1N0YXJ0KGVkaXRvcikge1xuICBlZGl0b3IuX2ludGVybmFsRHJhZyA9IHRydWU7XG4gIGVkaXRvci5zZXRNb2RlKCdkcmFnJyk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gZWRpdE9uRHJhZ1N0YXJ0OyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/editOnDragStart.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\n/**\n * A `dragstart` event has begun within the text editor component.\n */\nfunction editOnDragStart(editor) {\n editor._internalDrag = true;\n editor.setMode('drag');\n}\n\nmodule.exports = editOnDragStart;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2VkaXRPbkRyYWdTdGFydC5qcz82M2Y5Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ2E7O0FBRWI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2VkaXRPbkRyYWdTdGFydC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSBGYWNlYm9vaywgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICogQGZvcm1hdFxuICogXG4gKiBAZW1haWxzIG9uY2FsbCtkcmFmdF9qc1xuICovXG4ndXNlIHN0cmljdCc7XG5cbi8qKlxuICogQSBgZHJhZ3N0YXJ0YCBldmVudCBoYXMgYmVndW4gd2l0aGluIHRoZSB0ZXh0IGVkaXRvciBjb21wb25lbnQuXG4gKi9cbmZ1bmN0aW9uIGVkaXRPbkRyYWdTdGFydChlZGl0b3IpIHtcbiAgZWRpdG9yLl9pbnRlcm5hbERyYWcgPSB0cnVlO1xuICBlZGl0b3Iuc2V0TW9kZSgnZHJhZycpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGVkaXRPbkRyYWdTdGFydDsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/editOnDragStart.js\n"); /***/ }), @@ -691,7 +786,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule editOnFocus\n * @format\n * \n */\n\n\n\nvar EditorState = __webpack_require__(/*! ./EditorState */ \"./node_modules/draft-js/lib/EditorState.js\");\nvar UserAgent = __webpack_require__(/*! fbjs/lib/UserAgent */ \"./node_modules/fbjs/lib/UserAgent.js\");\n\nfunction editOnFocus(editor, e) {\n var editorState = editor._latestEditorState;\n var currentSelection = editorState.getSelection();\n if (currentSelection.getHasFocus()) {\n return;\n }\n\n var selection = currentSelection.set('hasFocus', true);\n editor.props.onFocus && editor.props.onFocus(e);\n\n // When the tab containing this text editor is hidden and the user does a\n // find-in-page in a _different_ tab, Chrome on Mac likes to forget what the\n // selection was right after sending this focus event and (if you let it)\n // moves the cursor back to the beginning of the editor, so we force the\n // selection here instead of simply accepting it in order to preserve the\n // old cursor position. See https://crbug.com/540004.\n // But it looks like this is fixed in Chrome 60.0.3081.0.\n // Other browsers also don't have this bug, so we prefer to acceptSelection\n // when possible, to ensure that unfocusing and refocusing a Draft editor\n // doesn't preserve the selection, matching how textareas work.\n if (UserAgent.isBrowser('Chrome < 60.0.3081.0')) {\n editor.update(EditorState.forceSelection(editorState, selection));\n } else {\n editor.update(EditorState.acceptSelection(editorState, selection));\n }\n}\n\nmodule.exports = editOnFocus;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2VkaXRPbkZvY3VzLmpzP2E2MGUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVhOztBQUViLGtCQUFrQixtQkFBTyxDQUFDLGlFQUFlO0FBQ3pDLGdCQUFnQixtQkFBTyxDQUFDLGdFQUFvQjs7QUFFNUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvZWRpdE9uRm9jdXMuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxMy1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuICogQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBCU0Qtc3R5bGUgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS4gQW4gYWRkaXRpb25hbCBncmFudFxuICogb2YgcGF0ZW50IHJpZ2h0cyBjYW4gYmUgZm91bmQgaW4gdGhlIFBBVEVOVFMgZmlsZSBpbiB0aGUgc2FtZSBkaXJlY3RvcnkuXG4gKlxuICogQHByb3ZpZGVzTW9kdWxlIGVkaXRPbkZvY3VzXG4gKiBAZm9ybWF0XG4gKiBcbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbnZhciBFZGl0b3JTdGF0ZSA9IHJlcXVpcmUoJy4vRWRpdG9yU3RhdGUnKTtcbnZhciBVc2VyQWdlbnQgPSByZXF1aXJlKCdmYmpzL2xpYi9Vc2VyQWdlbnQnKTtcblxuZnVuY3Rpb24gZWRpdE9uRm9jdXMoZWRpdG9yLCBlKSB7XG4gIHZhciBlZGl0b3JTdGF0ZSA9IGVkaXRvci5fbGF0ZXN0RWRpdG9yU3RhdGU7XG4gIHZhciBjdXJyZW50U2VsZWN0aW9uID0gZWRpdG9yU3RhdGUuZ2V0U2VsZWN0aW9uKCk7XG4gIGlmIChjdXJyZW50U2VsZWN0aW9uLmdldEhhc0ZvY3VzKCkpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICB2YXIgc2VsZWN0aW9uID0gY3VycmVudFNlbGVjdGlvbi5zZXQoJ2hhc0ZvY3VzJywgdHJ1ZSk7XG4gIGVkaXRvci5wcm9wcy5vbkZvY3VzICYmIGVkaXRvci5wcm9wcy5vbkZvY3VzKGUpO1xuXG4gIC8vIFdoZW4gdGhlIHRhYiBjb250YWluaW5nIHRoaXMgdGV4dCBlZGl0b3IgaXMgaGlkZGVuIGFuZCB0aGUgdXNlciBkb2VzIGFcbiAgLy8gZmluZC1pbi1wYWdlIGluIGEgX2RpZmZlcmVudF8gdGFiLCBDaHJvbWUgb24gTWFjIGxpa2VzIHRvIGZvcmdldCB3aGF0IHRoZVxuICAvLyBzZWxlY3Rpb24gd2FzIHJpZ2h0IGFmdGVyIHNlbmRpbmcgdGhpcyBmb2N1cyBldmVudCBhbmQgKGlmIHlvdSBsZXQgaXQpXG4gIC8vIG1vdmVzIHRoZSBjdXJzb3IgYmFjayB0byB0aGUgYmVnaW5uaW5nIG9mIHRoZSBlZGl0b3IsIHNvIHdlIGZvcmNlIHRoZVxuICAvLyBzZWxlY3Rpb24gaGVyZSBpbnN0ZWFkIG9mIHNpbXBseSBhY2NlcHRpbmcgaXQgaW4gb3JkZXIgdG8gcHJlc2VydmUgdGhlXG4gIC8vIG9sZCBjdXJzb3IgcG9zaXRpb24uIFNlZSBodHRwczovL2NyYnVnLmNvbS81NDAwMDQuXG4gIC8vIEJ1dCBpdCBsb29rcyBsaWtlIHRoaXMgaXMgZml4ZWQgaW4gQ2hyb21lIDYwLjAuMzA4MS4wLlxuICAvLyBPdGhlciBicm93c2VycyBhbHNvIGRvbid0IGhhdmUgdGhpcyBidWcsIHNvIHdlIHByZWZlciB0byBhY2NlcHRTZWxlY3Rpb25cbiAgLy8gd2hlbiBwb3NzaWJsZSwgdG8gZW5zdXJlIHRoYXQgdW5mb2N1c2luZyBhbmQgcmVmb2N1c2luZyBhIERyYWZ0IGVkaXRvclxuICAvLyBkb2Vzbid0IHByZXNlcnZlIHRoZSBzZWxlY3Rpb24sIG1hdGNoaW5nIGhvdyB0ZXh0YXJlYXMgd29yay5cbiAgaWYgKFVzZXJBZ2VudC5pc0Jyb3dzZXIoJ0Nocm9tZSA8IDYwLjAuMzA4MS4wJykpIHtcbiAgICBlZGl0b3IudXBkYXRlKEVkaXRvclN0YXRlLmZvcmNlU2VsZWN0aW9uKGVkaXRvclN0YXRlLCBzZWxlY3Rpb24pKTtcbiAgfSBlbHNlIHtcbiAgICBlZGl0b3IudXBkYXRlKEVkaXRvclN0YXRlLmFjY2VwdFNlbGVjdGlvbihlZGl0b3JTdGF0ZSwgc2VsZWN0aW9uKSk7XG4gIH1cbn1cblxubW9kdWxlLmV4cG9ydHMgPSBlZGl0T25Gb2N1czsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/editOnFocus.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nvar EditorState = __webpack_require__(/*! ./EditorState */ \"./node_modules/draft-js/lib/EditorState.js\");\n\nvar UserAgent = __webpack_require__(/*! fbjs/lib/UserAgent */ \"./node_modules/fbjs/lib/UserAgent.js\");\n\nfunction editOnFocus(editor, e) {\n var editorState = editor._latestEditorState;\n var currentSelection = editorState.getSelection();\n\n if (currentSelection.getHasFocus()) {\n return;\n }\n\n var selection = currentSelection.set('hasFocus', true);\n editor.props.onFocus && editor.props.onFocus(e); // When the tab containing this text editor is hidden and the user does a\n // find-in-page in a _different_ tab, Chrome on Mac likes to forget what the\n // selection was right after sending this focus event and (if you let it)\n // moves the cursor back to the beginning of the editor, so we force the\n // selection here instead of simply accepting it in order to preserve the\n // old cursor position. See https://crbug.com/540004.\n // But it looks like this is fixed in Chrome 60.0.3081.0.\n // Other browsers also don't have this bug, so we prefer to acceptSelection\n // when possible, to ensure that unfocusing and refocusing a Draft editor\n // doesn't preserve the selection, matching how textareas work.\n\n if (UserAgent.isBrowser('Chrome < 60.0.3081.0')) {\n editor.update(EditorState.forceSelection(editorState, selection));\n } else {\n editor.update(EditorState.acceptSelection(editorState, selection));\n }\n}\n\nmodule.exports = editOnFocus;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2VkaXRPbkZvY3VzLmpzP2E2MGUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDYTs7QUFFYixrQkFBa0IsbUJBQU8sQ0FBQyxpRUFBZTs7QUFFekMsZ0JBQWdCLG1CQUFPLENBQUMsZ0VBQW9COztBQUU1QztBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0Esa0RBQWtEO0FBQ2xEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvZWRpdE9uRm9jdXMuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgRmFjZWJvb2ssIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIEBmb3JtYXRcbiAqIFxuICogQGVtYWlscyBvbmNhbGwrZHJhZnRfanNcbiAqL1xuJ3VzZSBzdHJpY3QnO1xuXG52YXIgRWRpdG9yU3RhdGUgPSByZXF1aXJlKFwiLi9FZGl0b3JTdGF0ZVwiKTtcblxudmFyIFVzZXJBZ2VudCA9IHJlcXVpcmUoXCJmYmpzL2xpYi9Vc2VyQWdlbnRcIik7XG5cbmZ1bmN0aW9uIGVkaXRPbkZvY3VzKGVkaXRvciwgZSkge1xuICB2YXIgZWRpdG9yU3RhdGUgPSBlZGl0b3IuX2xhdGVzdEVkaXRvclN0YXRlO1xuICB2YXIgY3VycmVudFNlbGVjdGlvbiA9IGVkaXRvclN0YXRlLmdldFNlbGVjdGlvbigpO1xuXG4gIGlmIChjdXJyZW50U2VsZWN0aW9uLmdldEhhc0ZvY3VzKCkpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICB2YXIgc2VsZWN0aW9uID0gY3VycmVudFNlbGVjdGlvbi5zZXQoJ2hhc0ZvY3VzJywgdHJ1ZSk7XG4gIGVkaXRvci5wcm9wcy5vbkZvY3VzICYmIGVkaXRvci5wcm9wcy5vbkZvY3VzKGUpOyAvLyBXaGVuIHRoZSB0YWIgY29udGFpbmluZyB0aGlzIHRleHQgZWRpdG9yIGlzIGhpZGRlbiBhbmQgdGhlIHVzZXIgZG9lcyBhXG4gIC8vIGZpbmQtaW4tcGFnZSBpbiBhIF9kaWZmZXJlbnRfIHRhYiwgQ2hyb21lIG9uIE1hYyBsaWtlcyB0byBmb3JnZXQgd2hhdCB0aGVcbiAgLy8gc2VsZWN0aW9uIHdhcyByaWdodCBhZnRlciBzZW5kaW5nIHRoaXMgZm9jdXMgZXZlbnQgYW5kIChpZiB5b3UgbGV0IGl0KVxuICAvLyBtb3ZlcyB0aGUgY3Vyc29yIGJhY2sgdG8gdGhlIGJlZ2lubmluZyBvZiB0aGUgZWRpdG9yLCBzbyB3ZSBmb3JjZSB0aGVcbiAgLy8gc2VsZWN0aW9uIGhlcmUgaW5zdGVhZCBvZiBzaW1wbHkgYWNjZXB0aW5nIGl0IGluIG9yZGVyIHRvIHByZXNlcnZlIHRoZVxuICAvLyBvbGQgY3Vyc29yIHBvc2l0aW9uLiBTZWUgaHR0cHM6Ly9jcmJ1Zy5jb20vNTQwMDA0LlxuICAvLyBCdXQgaXQgbG9va3MgbGlrZSB0aGlzIGlzIGZpeGVkIGluIENocm9tZSA2MC4wLjMwODEuMC5cbiAgLy8gT3RoZXIgYnJvd3NlcnMgYWxzbyBkb24ndCBoYXZlIHRoaXMgYnVnLCBzbyB3ZSBwcmVmZXIgdG8gYWNjZXB0U2VsZWN0aW9uXG4gIC8vIHdoZW4gcG9zc2libGUsIHRvIGVuc3VyZSB0aGF0IHVuZm9jdXNpbmcgYW5kIHJlZm9jdXNpbmcgYSBEcmFmdCBlZGl0b3JcbiAgLy8gZG9lc24ndCBwcmVzZXJ2ZSB0aGUgc2VsZWN0aW9uLCBtYXRjaGluZyBob3cgdGV4dGFyZWFzIHdvcmsuXG5cbiAgaWYgKFVzZXJBZ2VudC5pc0Jyb3dzZXIoJ0Nocm9tZSA8IDYwLjAuMzA4MS4wJykpIHtcbiAgICBlZGl0b3IudXBkYXRlKEVkaXRvclN0YXRlLmZvcmNlU2VsZWN0aW9uKGVkaXRvclN0YXRlLCBzZWxlY3Rpb24pKTtcbiAgfSBlbHNlIHtcbiAgICBlZGl0b3IudXBkYXRlKEVkaXRvclN0YXRlLmFjY2VwdFNlbGVjdGlvbihlZGl0b3JTdGF0ZSwgc2VsZWN0aW9uKSk7XG4gIH1cbn1cblxubW9kdWxlLmV4cG9ydHMgPSBlZGl0T25Gb2N1czsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/editOnFocus.js\n"); /***/ }), @@ -703,7 +798,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/* WEBPACK VAR INJECTION */(function(global) {/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule editOnInput\n * @format\n * \n */\n\n\n\nvar DraftFeatureFlags = __webpack_require__(/*! ./DraftFeatureFlags */ \"./node_modules/draft-js/lib/DraftFeatureFlags.js\");\nvar DraftModifier = __webpack_require__(/*! ./DraftModifier */ \"./node_modules/draft-js/lib/DraftModifier.js\");\nvar DraftOffsetKey = __webpack_require__(/*! ./DraftOffsetKey */ \"./node_modules/draft-js/lib/DraftOffsetKey.js\");\nvar EditorState = __webpack_require__(/*! ./EditorState */ \"./node_modules/draft-js/lib/EditorState.js\");\nvar UserAgent = __webpack_require__(/*! fbjs/lib/UserAgent */ \"./node_modules/fbjs/lib/UserAgent.js\");\n\nvar findAncestorOffsetKey = __webpack_require__(/*! ./findAncestorOffsetKey */ \"./node_modules/draft-js/lib/findAncestorOffsetKey.js\");\nvar nullthrows = __webpack_require__(/*! fbjs/lib/nullthrows */ \"./node_modules/fbjs/lib/nullthrows.js\");\n\nvar isGecko = UserAgent.isEngine('Gecko');\n\nvar DOUBLE_NEWLINE = '\\n\\n';\n\n/**\n * This function is intended to handle spellcheck and autocorrect changes,\n * which occur in the DOM natively without any opportunity to observe or\n * interpret the changes before they occur.\n *\n * The `input` event fires in contentEditable elements reliably for non-IE\n * browsers, immediately after changes occur to the editor DOM. Since our other\n * handlers override or otherwise handle cover other varieties of text input,\n * the DOM state should match the model in all controlled input cases. Thus,\n * when an `input` change leads to a DOM/model mismatch, the change should be\n * due to a spellcheck change, and we can incorporate it into our model.\n */\nfunction editOnInput(editor) {\n if (editor._pendingStateFromBeforeInput !== undefined) {\n editor.update(editor._pendingStateFromBeforeInput);\n editor._pendingStateFromBeforeInput = undefined;\n }\n\n var domSelection = global.getSelection();\n\n var anchorNode = domSelection.anchorNode,\n isCollapsed = domSelection.isCollapsed;\n\n var isNotTextNode = anchorNode.nodeType !== Node.TEXT_NODE;\n var isNotTextOrElementNode = anchorNode.nodeType !== Node.TEXT_NODE && anchorNode.nodeType !== Node.ELEMENT_NODE;\n\n if (DraftFeatureFlags.draft_killswitch_allow_nontextnodes) {\n if (isNotTextNode) {\n return;\n }\n } else {\n if (isNotTextOrElementNode) {\n // TODO: (t16149272) figure out context for this change\n return;\n }\n }\n\n if (anchorNode.nodeType === Node.TEXT_NODE && (anchorNode.previousSibling !== null || anchorNode.nextSibling !== null)) {\n // When typing at the beginning of a visual line, Chrome splits the text\n // nodes into two. Why? No one knows. This commit is suspicious:\n // https://chromium.googlesource.com/chromium/src/+/a3b600981286b135632371477f902214c55a1724\n // To work around, we'll merge the sibling text nodes back into this one.\n var span = anchorNode.parentNode;\n anchorNode.nodeValue = span.textContent;\n for (var child = span.firstChild; child !== null; child = child.nextSibling) {\n if (child !== anchorNode) {\n span.removeChild(child);\n }\n }\n }\n\n var domText = anchorNode.textContent;\n var editorState = editor._latestEditorState;\n var offsetKey = nullthrows(findAncestorOffsetKey(anchorNode));\n\n var _DraftOffsetKey$decod = DraftOffsetKey.decode(offsetKey),\n blockKey = _DraftOffsetKey$decod.blockKey,\n decoratorKey = _DraftOffsetKey$decod.decoratorKey,\n leafKey = _DraftOffsetKey$decod.leafKey;\n\n var _editorState$getBlock = editorState.getBlockTree(blockKey).getIn([decoratorKey, 'leaves', leafKey]),\n start = _editorState$getBlock.start,\n end = _editorState$getBlock.end;\n\n var content = editorState.getCurrentContent();\n var block = content.getBlockForKey(blockKey);\n var modelText = block.getText().slice(start, end);\n\n // Special-case soft newlines here. If the DOM text ends in a soft newline,\n // we will have manually inserted an extra soft newline in DraftEditorLeaf.\n // We want to remove this extra newline for the purpose of our comparison\n // of DOM and model text.\n if (domText.endsWith(DOUBLE_NEWLINE)) {\n domText = domText.slice(0, -1);\n }\n\n // No change -- the DOM is up to date. Nothing to do here.\n if (domText === modelText) {\n // This can be buggy for some Android keyboards because they don't fire\n // standard onkeydown/pressed events and only fired editOnInput\n // so domText is already changed by the browser and ends up being equal\n // to modelText unexpectedly\n return;\n }\n\n var selection = editorState.getSelection();\n\n // We'll replace the entire leaf with the text content of the target.\n var targetRange = selection.merge({\n anchorOffset: start,\n focusOffset: end,\n isBackward: false\n });\n\n var entityKey = block.getEntityAt(start);\n var entity = entityKey && content.getEntity(entityKey);\n var entityType = entity && entity.getMutability();\n var preserveEntity = entityType === 'MUTABLE';\n\n // Immutable or segmented entities cannot properly be handled by the\n // default browser undo, so we have to use a different change type to\n // force using our internal undo method instead of falling through to the\n // native browser undo.\n var changeType = preserveEntity ? 'spellcheck-change' : 'apply-entity';\n\n var newContent = DraftModifier.replaceText(content, targetRange, domText, block.getInlineStyleAt(start), preserveEntity ? block.getEntityAt(start) : null);\n\n var anchorOffset, focusOffset, startOffset, endOffset;\n\n if (isGecko) {\n // Firefox selection does not change while the context menu is open, so\n // we preserve the anchor and focus values of the DOM selection.\n anchorOffset = domSelection.anchorOffset;\n focusOffset = domSelection.focusOffset;\n startOffset = start + Math.min(anchorOffset, focusOffset);\n endOffset = startOffset + Math.abs(anchorOffset - focusOffset);\n anchorOffset = startOffset;\n focusOffset = endOffset;\n } else {\n // Browsers other than Firefox may adjust DOM selection while the context\n // menu is open, and Safari autocorrect is prone to providing an inaccurate\n // DOM selection. Don't trust it. Instead, use our existing SelectionState\n // and adjust it based on the number of characters changed during the\n // mutation.\n var charDelta = domText.length - modelText.length;\n startOffset = selection.getStartOffset();\n endOffset = selection.getEndOffset();\n\n anchorOffset = isCollapsed ? endOffset + charDelta : startOffset;\n focusOffset = endOffset + charDelta;\n }\n\n // Segmented entities are completely or partially removed when their\n // text content changes. For this case we do not want any text to be selected\n // after the change, so we are not merging the selection.\n var contentWithAdjustedDOMSelection = newContent.merge({\n selectionBefore: content.getSelectionAfter(),\n selectionAfter: selection.merge({ anchorOffset: anchorOffset, focusOffset: focusOffset })\n });\n\n editor.update(EditorState.push(editorState, contentWithAdjustedDOMSelection, changeType));\n}\n\nmodule.exports = editOnInput;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2VkaXRPbklucHV0LmpzPzhmMjAiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVhOztBQUViLHdCQUF3QixtQkFBTyxDQUFDLDZFQUFxQjtBQUNyRCxvQkFBb0IsbUJBQU8sQ0FBQyxxRUFBaUI7QUFDN0MscUJBQXFCLG1CQUFPLENBQUMsdUVBQWtCO0FBQy9DLGtCQUFrQixtQkFBTyxDQUFDLGlFQUFlO0FBQ3pDLGdCQUFnQixtQkFBTyxDQUFDLGdFQUFvQjs7QUFFNUMsNEJBQTRCLG1CQUFPLENBQUMscUZBQXlCO0FBQzdELGlCQUFpQixtQkFBTyxDQUFDLGtFQUFxQjs7QUFFOUM7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFDQUFxQyxnQkFBZ0I7QUFDckQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQ0FBcUMsdURBQXVEO0FBQzVGLEdBQUc7O0FBRUg7QUFDQTs7QUFFQSw2QiIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvZWRpdE9uSW5wdXQuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxMy1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuICogQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBCU0Qtc3R5bGUgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS4gQW4gYWRkaXRpb25hbCBncmFudFxuICogb2YgcGF0ZW50IHJpZ2h0cyBjYW4gYmUgZm91bmQgaW4gdGhlIFBBVEVOVFMgZmlsZSBpbiB0aGUgc2FtZSBkaXJlY3RvcnkuXG4gKlxuICogQHByb3ZpZGVzTW9kdWxlIGVkaXRPbklucHV0XG4gKiBAZm9ybWF0XG4gKiBcbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbnZhciBEcmFmdEZlYXR1cmVGbGFncyA9IHJlcXVpcmUoJy4vRHJhZnRGZWF0dXJlRmxhZ3MnKTtcbnZhciBEcmFmdE1vZGlmaWVyID0gcmVxdWlyZSgnLi9EcmFmdE1vZGlmaWVyJyk7XG52YXIgRHJhZnRPZmZzZXRLZXkgPSByZXF1aXJlKCcuL0RyYWZ0T2Zmc2V0S2V5Jyk7XG52YXIgRWRpdG9yU3RhdGUgPSByZXF1aXJlKCcuL0VkaXRvclN0YXRlJyk7XG52YXIgVXNlckFnZW50ID0gcmVxdWlyZSgnZmJqcy9saWIvVXNlckFnZW50Jyk7XG5cbnZhciBmaW5kQW5jZXN0b3JPZmZzZXRLZXkgPSByZXF1aXJlKCcuL2ZpbmRBbmNlc3Rvck9mZnNldEtleScpO1xudmFyIG51bGx0aHJvd3MgPSByZXF1aXJlKCdmYmpzL2xpYi9udWxsdGhyb3dzJyk7XG5cbnZhciBpc0dlY2tvID0gVXNlckFnZW50LmlzRW5naW5lKCdHZWNrbycpO1xuXG52YXIgRE9VQkxFX05FV0xJTkUgPSAnXFxuXFxuJztcblxuLyoqXG4gKiBUaGlzIGZ1bmN0aW9uIGlzIGludGVuZGVkIHRvIGhhbmRsZSBzcGVsbGNoZWNrIGFuZCBhdXRvY29ycmVjdCBjaGFuZ2VzLFxuICogd2hpY2ggb2NjdXIgaW4gdGhlIERPTSBuYXRpdmVseSB3aXRob3V0IGFueSBvcHBvcnR1bml0eSB0byBvYnNlcnZlIG9yXG4gKiBpbnRlcnByZXQgdGhlIGNoYW5nZXMgYmVmb3JlIHRoZXkgb2NjdXIuXG4gKlxuICogVGhlIGBpbnB1dGAgZXZlbnQgZmlyZXMgaW4gY29udGVudEVkaXRhYmxlIGVsZW1lbnRzIHJlbGlhYmx5IGZvciBub24tSUVcbiAqIGJyb3dzZXJzLCBpbW1lZGlhdGVseSBhZnRlciBjaGFuZ2VzIG9jY3VyIHRvIHRoZSBlZGl0b3IgRE9NLiBTaW5jZSBvdXIgb3RoZXJcbiAqIGhhbmRsZXJzIG92ZXJyaWRlIG9yIG90aGVyd2lzZSBoYW5kbGUgY292ZXIgb3RoZXIgdmFyaWV0aWVzIG9mIHRleHQgaW5wdXQsXG4gKiB0aGUgRE9NIHN0YXRlIHNob3VsZCBtYXRjaCB0aGUgbW9kZWwgaW4gYWxsIGNvbnRyb2xsZWQgaW5wdXQgY2FzZXMuIFRodXMsXG4gKiB3aGVuIGFuIGBpbnB1dGAgY2hhbmdlIGxlYWRzIHRvIGEgRE9NL21vZGVsIG1pc21hdGNoLCB0aGUgY2hhbmdlIHNob3VsZCBiZVxuICogZHVlIHRvIGEgc3BlbGxjaGVjayBjaGFuZ2UsIGFuZCB3ZSBjYW4gaW5jb3Jwb3JhdGUgaXQgaW50byBvdXIgbW9kZWwuXG4gKi9cbmZ1bmN0aW9uIGVkaXRPbklucHV0KGVkaXRvcikge1xuICBpZiAoZWRpdG9yLl9wZW5kaW5nU3RhdGVGcm9tQmVmb3JlSW5wdXQgIT09IHVuZGVmaW5lZCkge1xuICAgIGVkaXRvci51cGRhdGUoZWRpdG9yLl9wZW5kaW5nU3RhdGVGcm9tQmVmb3JlSW5wdXQpO1xuICAgIGVkaXRvci5fcGVuZGluZ1N0YXRlRnJvbUJlZm9yZUlucHV0ID0gdW5kZWZpbmVkO1xuICB9XG5cbiAgdmFyIGRvbVNlbGVjdGlvbiA9IGdsb2JhbC5nZXRTZWxlY3Rpb24oKTtcblxuICB2YXIgYW5jaG9yTm9kZSA9IGRvbVNlbGVjdGlvbi5hbmNob3JOb2RlLFxuICAgICAgaXNDb2xsYXBzZWQgPSBkb21TZWxlY3Rpb24uaXNDb2xsYXBzZWQ7XG5cbiAgdmFyIGlzTm90VGV4dE5vZGUgPSBhbmNob3JOb2RlLm5vZGVUeXBlICE9PSBOb2RlLlRFWFRfTk9ERTtcbiAgdmFyIGlzTm90VGV4dE9yRWxlbWVudE5vZGUgPSBhbmNob3JOb2RlLm5vZGVUeXBlICE9PSBOb2RlLlRFWFRfTk9ERSAmJiBhbmNob3JOb2RlLm5vZGVUeXBlICE9PSBOb2RlLkVMRU1FTlRfTk9ERTtcblxuICBpZiAoRHJhZnRGZWF0dXJlRmxhZ3MuZHJhZnRfa2lsbHN3aXRjaF9hbGxvd19ub250ZXh0bm9kZXMpIHtcbiAgICBpZiAoaXNOb3RUZXh0Tm9kZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBpZiAoaXNOb3RUZXh0T3JFbGVtZW50Tm9kZSkge1xuICAgICAgLy8gVE9ETzogKHQxNjE0OTI3MikgZmlndXJlIG91dCBjb250ZXh0IGZvciB0aGlzIGNoYW5nZVxuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfVxuXG4gIGlmIChhbmNob3JOb2RlLm5vZGVUeXBlID09PSBOb2RlLlRFWFRfTk9ERSAmJiAoYW5jaG9yTm9kZS5wcmV2aW91c1NpYmxpbmcgIT09IG51bGwgfHwgYW5jaG9yTm9kZS5uZXh0U2libGluZyAhPT0gbnVsbCkpIHtcbiAgICAvLyBXaGVuIHR5cGluZyBhdCB0aGUgYmVnaW5uaW5nIG9mIGEgdmlzdWFsIGxpbmUsIENocm9tZSBzcGxpdHMgdGhlIHRleHRcbiAgICAvLyBub2RlcyBpbnRvIHR3by4gV2h5PyBObyBvbmUga25vd3MuIFRoaXMgY29tbWl0IGlzIHN1c3BpY2lvdXM6XG4gICAgLy8gaHR0cHM6Ly9jaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYy8rL2EzYjYwMDk4MTI4NmIxMzU2MzIzNzE0NzdmOTAyMjE0YzU1YTE3MjRcbiAgICAvLyBUbyB3b3JrIGFyb3VuZCwgd2UnbGwgbWVyZ2UgdGhlIHNpYmxpbmcgdGV4dCBub2RlcyBiYWNrIGludG8gdGhpcyBvbmUuXG4gICAgdmFyIHNwYW4gPSBhbmNob3JOb2RlLnBhcmVudE5vZGU7XG4gICAgYW5jaG9yTm9kZS5ub2RlVmFsdWUgPSBzcGFuLnRleHRDb250ZW50O1xuICAgIGZvciAodmFyIGNoaWxkID0gc3Bhbi5maXJzdENoaWxkOyBjaGlsZCAhPT0gbnVsbDsgY2hpbGQgPSBjaGlsZC5uZXh0U2libGluZykge1xuICAgICAgaWYgKGNoaWxkICE9PSBhbmNob3JOb2RlKSB7XG4gICAgICAgIHNwYW4ucmVtb3ZlQ2hpbGQoY2hpbGQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHZhciBkb21UZXh0ID0gYW5jaG9yTm9kZS50ZXh0Q29udGVudDtcbiAgdmFyIGVkaXRvclN0YXRlID0gZWRpdG9yLl9sYXRlc3RFZGl0b3JTdGF0ZTtcbiAgdmFyIG9mZnNldEtleSA9IG51bGx0aHJvd3MoZmluZEFuY2VzdG9yT2Zmc2V0S2V5KGFuY2hvck5vZGUpKTtcblxuICB2YXIgX0RyYWZ0T2Zmc2V0S2V5JGRlY29kID0gRHJhZnRPZmZzZXRLZXkuZGVjb2RlKG9mZnNldEtleSksXG4gICAgICBibG9ja0tleSA9IF9EcmFmdE9mZnNldEtleSRkZWNvZC5ibG9ja0tleSxcbiAgICAgIGRlY29yYXRvcktleSA9IF9EcmFmdE9mZnNldEtleSRkZWNvZC5kZWNvcmF0b3JLZXksXG4gICAgICBsZWFmS2V5ID0gX0RyYWZ0T2Zmc2V0S2V5JGRlY29kLmxlYWZLZXk7XG5cbiAgdmFyIF9lZGl0b3JTdGF0ZSRnZXRCbG9jayA9IGVkaXRvclN0YXRlLmdldEJsb2NrVHJlZShibG9ja0tleSkuZ2V0SW4oW2RlY29yYXRvcktleSwgJ2xlYXZlcycsIGxlYWZLZXldKSxcbiAgICAgIHN0YXJ0ID0gX2VkaXRvclN0YXRlJGdldEJsb2NrLnN0YXJ0LFxuICAgICAgZW5kID0gX2VkaXRvclN0YXRlJGdldEJsb2NrLmVuZDtcblxuICB2YXIgY29udGVudCA9IGVkaXRvclN0YXRlLmdldEN1cnJlbnRDb250ZW50KCk7XG4gIHZhciBibG9jayA9IGNvbnRlbnQuZ2V0QmxvY2tGb3JLZXkoYmxvY2tLZXkpO1xuICB2YXIgbW9kZWxUZXh0ID0gYmxvY2suZ2V0VGV4dCgpLnNsaWNlKHN0YXJ0LCBlbmQpO1xuXG4gIC8vIFNwZWNpYWwtY2FzZSBzb2Z0IG5ld2xpbmVzIGhlcmUuIElmIHRoZSBET00gdGV4dCBlbmRzIGluIGEgc29mdCBuZXdsaW5lLFxuICAvLyB3ZSB3aWxsIGhhdmUgbWFudWFsbHkgaW5zZXJ0ZWQgYW4gZXh0cmEgc29mdCBuZXdsaW5lIGluIERyYWZ0RWRpdG9yTGVhZi5cbiAgLy8gV2Ugd2FudCB0byByZW1vdmUgdGhpcyBleHRyYSBuZXdsaW5lIGZvciB0aGUgcHVycG9zZSBvZiBvdXIgY29tcGFyaXNvblxuICAvLyBvZiBET00gYW5kIG1vZGVsIHRleHQuXG4gIGlmIChkb21UZXh0LmVuZHNXaXRoKERPVUJMRV9ORVdMSU5FKSkge1xuICAgIGRvbVRleHQgPSBkb21UZXh0LnNsaWNlKDAsIC0xKTtcbiAgfVxuXG4gIC8vIE5vIGNoYW5nZSAtLSB0aGUgRE9NIGlzIHVwIHRvIGRhdGUuIE5vdGhpbmcgdG8gZG8gaGVyZS5cbiAgaWYgKGRvbVRleHQgPT09IG1vZGVsVGV4dCkge1xuICAgIC8vIFRoaXMgY2FuIGJlIGJ1Z2d5IGZvciBzb21lIEFuZHJvaWQga2V5Ym9hcmRzIGJlY2F1c2UgdGhleSBkb24ndCBmaXJlXG4gICAgLy8gc3RhbmRhcmQgb25rZXlkb3duL3ByZXNzZWQgZXZlbnRzIGFuZCBvbmx5IGZpcmVkIGVkaXRPbklucHV0XG4gICAgLy8gc28gZG9tVGV4dCBpcyBhbHJlYWR5IGNoYW5nZWQgYnkgdGhlIGJyb3dzZXIgYW5kIGVuZHMgdXAgYmVpbmcgZXF1YWxcbiAgICAvLyB0byBtb2RlbFRleHQgdW5leHBlY3RlZGx5XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdmFyIHNlbGVjdGlvbiA9IGVkaXRvclN0YXRlLmdldFNlbGVjdGlvbigpO1xuXG4gIC8vIFdlJ2xsIHJlcGxhY2UgdGhlIGVudGlyZSBsZWFmIHdpdGggdGhlIHRleHQgY29udGVudCBvZiB0aGUgdGFyZ2V0LlxuICB2YXIgdGFyZ2V0UmFuZ2UgPSBzZWxlY3Rpb24ubWVyZ2Uoe1xuICAgIGFuY2hvck9mZnNldDogc3RhcnQsXG4gICAgZm9jdXNPZmZzZXQ6IGVuZCxcbiAgICBpc0JhY2t3YXJkOiBmYWxzZVxuICB9KTtcblxuICB2YXIgZW50aXR5S2V5ID0gYmxvY2suZ2V0RW50aXR5QXQoc3RhcnQpO1xuICB2YXIgZW50aXR5ID0gZW50aXR5S2V5ICYmIGNvbnRlbnQuZ2V0RW50aXR5KGVudGl0eUtleSk7XG4gIHZhciBlbnRpdHlUeXBlID0gZW50aXR5ICYmIGVudGl0eS5nZXRNdXRhYmlsaXR5KCk7XG4gIHZhciBwcmVzZXJ2ZUVudGl0eSA9IGVudGl0eVR5cGUgPT09ICdNVVRBQkxFJztcblxuICAvLyBJbW11dGFibGUgb3Igc2VnbWVudGVkIGVudGl0aWVzIGNhbm5vdCBwcm9wZXJseSBiZSBoYW5kbGVkIGJ5IHRoZVxuICAvLyBkZWZhdWx0IGJyb3dzZXIgdW5kbywgc28gd2UgaGF2ZSB0byB1c2UgYSBkaWZmZXJlbnQgY2hhbmdlIHR5cGUgdG9cbiAgLy8gZm9yY2UgdXNpbmcgb3VyIGludGVybmFsIHVuZG8gbWV0aG9kIGluc3RlYWQgb2YgZmFsbGluZyB0aHJvdWdoIHRvIHRoZVxuICAvLyBuYXRpdmUgYnJvd3NlciB1bmRvLlxuICB2YXIgY2hhbmdlVHlwZSA9IHByZXNlcnZlRW50aXR5ID8gJ3NwZWxsY2hlY2stY2hhbmdlJyA6ICdhcHBseS1lbnRpdHknO1xuXG4gIHZhciBuZXdDb250ZW50ID0gRHJhZnRNb2RpZmllci5yZXBsYWNlVGV4dChjb250ZW50LCB0YXJnZXRSYW5nZSwgZG9tVGV4dCwgYmxvY2suZ2V0SW5saW5lU3R5bGVBdChzdGFydCksIHByZXNlcnZlRW50aXR5ID8gYmxvY2suZ2V0RW50aXR5QXQoc3RhcnQpIDogbnVsbCk7XG5cbiAgdmFyIGFuY2hvck9mZnNldCwgZm9jdXNPZmZzZXQsIHN0YXJ0T2Zmc2V0LCBlbmRPZmZzZXQ7XG5cbiAgaWYgKGlzR2Vja28pIHtcbiAgICAvLyBGaXJlZm94IHNlbGVjdGlvbiBkb2VzIG5vdCBjaGFuZ2Ugd2hpbGUgdGhlIGNvbnRleHQgbWVudSBpcyBvcGVuLCBzb1xuICAgIC8vIHdlIHByZXNlcnZlIHRoZSBhbmNob3IgYW5kIGZvY3VzIHZhbHVlcyBvZiB0aGUgRE9NIHNlbGVjdGlvbi5cbiAgICBhbmNob3JPZmZzZXQgPSBkb21TZWxlY3Rpb24uYW5jaG9yT2Zmc2V0O1xuICAgIGZvY3VzT2Zmc2V0ID0gZG9tU2VsZWN0aW9uLmZvY3VzT2Zmc2V0O1xuICAgIHN0YXJ0T2Zmc2V0ID0gc3RhcnQgKyBNYXRoLm1pbihhbmNob3JPZmZzZXQsIGZvY3VzT2Zmc2V0KTtcbiAgICBlbmRPZmZzZXQgPSBzdGFydE9mZnNldCArIE1hdGguYWJzKGFuY2hvck9mZnNldCAtIGZvY3VzT2Zmc2V0KTtcbiAgICBhbmNob3JPZmZzZXQgPSBzdGFydE9mZnNldDtcbiAgICBmb2N1c09mZnNldCA9IGVuZE9mZnNldDtcbiAgfSBlbHNlIHtcbiAgICAvLyBCcm93c2VycyBvdGhlciB0aGFuIEZpcmVmb3ggbWF5IGFkanVzdCBET00gc2VsZWN0aW9uIHdoaWxlIHRoZSBjb250ZXh0XG4gICAgLy8gbWVudSBpcyBvcGVuLCBhbmQgU2FmYXJpIGF1dG9jb3JyZWN0IGlzIHByb25lIHRvIHByb3ZpZGluZyBhbiBpbmFjY3VyYXRlXG4gICAgLy8gRE9NIHNlbGVjdGlvbi4gRG9uJ3QgdHJ1c3QgaXQuIEluc3RlYWQsIHVzZSBvdXIgZXhpc3RpbmcgU2VsZWN0aW9uU3RhdGVcbiAgICAvLyBhbmQgYWRqdXN0IGl0IGJhc2VkIG9uIHRoZSBudW1iZXIgb2YgY2hhcmFjdGVycyBjaGFuZ2VkIGR1cmluZyB0aGVcbiAgICAvLyBtdXRhdGlvbi5cbiAgICB2YXIgY2hhckRlbHRhID0gZG9tVGV4dC5sZW5ndGggLSBtb2RlbFRleHQubGVuZ3RoO1xuICAgIHN0YXJ0T2Zmc2V0ID0gc2VsZWN0aW9uLmdldFN0YXJ0T2Zmc2V0KCk7XG4gICAgZW5kT2Zmc2V0ID0gc2VsZWN0aW9uLmdldEVuZE9mZnNldCgpO1xuXG4gICAgYW5jaG9yT2Zmc2V0ID0gaXNDb2xsYXBzZWQgPyBlbmRPZmZzZXQgKyBjaGFyRGVsdGEgOiBzdGFydE9mZnNldDtcbiAgICBmb2N1c09mZnNldCA9IGVuZE9mZnNldCArIGNoYXJEZWx0YTtcbiAgfVxuXG4gIC8vIFNlZ21lbnRlZCBlbnRpdGllcyBhcmUgY29tcGxldGVseSBvciBwYXJ0aWFsbHkgcmVtb3ZlZCB3aGVuIHRoZWlyXG4gIC8vIHRleHQgY29udGVudCBjaGFuZ2VzLiBGb3IgdGhpcyBjYXNlIHdlIGRvIG5vdCB3YW50IGFueSB0ZXh0IHRvIGJlIHNlbGVjdGVkXG4gIC8vIGFmdGVyIHRoZSBjaGFuZ2UsIHNvIHdlIGFyZSBub3QgbWVyZ2luZyB0aGUgc2VsZWN0aW9uLlxuICB2YXIgY29udGVudFdpdGhBZGp1c3RlZERPTVNlbGVjdGlvbiA9IG5ld0NvbnRlbnQubWVyZ2Uoe1xuICAgIHNlbGVjdGlvbkJlZm9yZTogY29udGVudC5nZXRTZWxlY3Rpb25BZnRlcigpLFxuICAgIHNlbGVjdGlvbkFmdGVyOiBzZWxlY3Rpb24ubWVyZ2UoeyBhbmNob3JPZmZzZXQ6IGFuY2hvck9mZnNldCwgZm9jdXNPZmZzZXQ6IGZvY3VzT2Zmc2V0IH0pXG4gIH0pO1xuXG4gIGVkaXRvci51cGRhdGUoRWRpdG9yU3RhdGUucHVzaChlZGl0b3JTdGF0ZSwgY29udGVudFdpdGhBZGp1c3RlZERPTVNlbGVjdGlvbiwgY2hhbmdlVHlwZSkpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGVkaXRPbklucHV0OyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/editOnInput.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nvar DraftModifier = __webpack_require__(/*! ./DraftModifier */ \"./node_modules/draft-js/lib/DraftModifier.js\");\n\nvar DraftOffsetKey = __webpack_require__(/*! ./DraftOffsetKey */ \"./node_modules/draft-js/lib/DraftOffsetKey.js\");\n\nvar EditorState = __webpack_require__(/*! ./EditorState */ \"./node_modules/draft-js/lib/EditorState.js\");\n\nvar UserAgent = __webpack_require__(/*! fbjs/lib/UserAgent */ \"./node_modules/fbjs/lib/UserAgent.js\");\n\nvar _require = __webpack_require__(/*! ./draftKeyUtils */ \"./node_modules/draft-js/lib/draftKeyUtils.js\"),\n notEmptyKey = _require.notEmptyKey;\n\nvar findAncestorOffsetKey = __webpack_require__(/*! ./findAncestorOffsetKey */ \"./node_modules/draft-js/lib/findAncestorOffsetKey.js\");\n\nvar keyCommandPlainBackspace = __webpack_require__(/*! ./keyCommandPlainBackspace */ \"./node_modules/draft-js/lib/keyCommandPlainBackspace.js\");\n\nvar nullthrows = __webpack_require__(/*! fbjs/lib/nullthrows */ \"./node_modules/fbjs/lib/nullthrows.js\");\n\nvar isGecko = UserAgent.isEngine('Gecko');\nvar DOUBLE_NEWLINE = '\\n\\n';\n\nfunction onInputType(inputType, editorState) {\n switch (inputType) {\n case 'deleteContentBackward':\n return keyCommandPlainBackspace(editorState);\n }\n\n return editorState;\n}\n/**\n * This function serves two purposes\n *\n * 1. To update the editorState and call onChange method with the new\n * editorState. This editorState is calculated in editOnBeforeInput but the\n * onChange method is not called with the new state until this method does it.\n * It is done to handle a specific case where certain character inputs might\n * be replaced with something else. E.g. snippets ('rc' might be replaced\n * with boilerplate code for react component). More information on the\n * exact problem can be found here -\n * https://github.com/facebook/draft-js/commit/07892ba479bd4dfc6afd1e0ed179aaf51cd138b1\n *\n * 2. intended to handle spellcheck and autocorrect changes,\n * which occur in the DOM natively without any opportunity to observe or\n * interpret the changes before they occur.\n *\n * The `input` event fires in contentEditable elements reliably for non-IE\n * browsers, immediately after changes occur to the editor DOM. Since our other\n * handlers override or otherwise handle cover other varieties of text input,\n * the DOM state should match the model in all controlled input cases. Thus,\n * when an `input` change leads to a DOM/model mismatch, the change should be\n * due to a spellcheck change, and we can incorporate it into our model.\n */\n\n\nfunction editOnInput(editor, e) {\n if (editor._pendingStateFromBeforeInput !== undefined) {\n editor.update(editor._pendingStateFromBeforeInput);\n editor._pendingStateFromBeforeInput = undefined;\n } // at this point editor is not null for sure (after input)\n\n\n var castedEditorElement = editor.editor;\n var domSelection = castedEditorElement.ownerDocument.defaultView.getSelection();\n var anchorNode = domSelection.anchorNode,\n isCollapsed = domSelection.isCollapsed;\n var isNotTextOrElementNode = anchorNode.nodeType !== Node.TEXT_NODE && anchorNode.nodeType !== Node.ELEMENT_NODE;\n\n if (isNotTextOrElementNode) {\n // TODO: (t16149272) figure out context for this change\n return;\n }\n\n if (anchorNode.nodeType === Node.TEXT_NODE && (anchorNode.previousSibling !== null || anchorNode.nextSibling !== null)) {\n // When typing at the beginning of a visual line, Chrome splits the text\n // nodes into two. Why? No one knows. This commit is suspicious:\n // https://chromium.googlesource.com/chromium/src/+/a3b600981286b135632371477f902214c55a1724\n // To work around, we'll merge the sibling text nodes back into this one.\n var span = anchorNode.parentNode;\n anchorNode.nodeValue = span.textContent;\n\n for (var child = span.firstChild; child !== null; child = child.nextSibling) {\n if (child !== anchorNode) {\n span.removeChild(child);\n }\n }\n }\n\n var domText = anchorNode.textContent;\n var editorState = editor._latestEditorState;\n var offsetKey = nullthrows(findAncestorOffsetKey(anchorNode));\n\n var _DraftOffsetKey$decod = DraftOffsetKey.decode(offsetKey),\n blockKey = _DraftOffsetKey$decod.blockKey,\n decoratorKey = _DraftOffsetKey$decod.decoratorKey,\n leafKey = _DraftOffsetKey$decod.leafKey;\n\n var _editorState$getBlock = editorState.getBlockTree(blockKey).getIn([decoratorKey, 'leaves', leafKey]),\n start = _editorState$getBlock.start,\n end = _editorState$getBlock.end;\n\n var content = editorState.getCurrentContent();\n var block = content.getBlockForKey(blockKey);\n var modelText = block.getText().slice(start, end); // Special-case soft newlines here. If the DOM text ends in a soft newline,\n // we will have manually inserted an extra soft newline in DraftEditorLeaf.\n // We want to remove this extra newline for the purpose of our comparison\n // of DOM and model text.\n\n if (domText.endsWith(DOUBLE_NEWLINE)) {\n domText = domText.slice(0, -1);\n } // No change -- the DOM is up to date. Nothing to do here.\n\n\n if (domText === modelText) {\n // This can be buggy for some Android keyboards because they don't fire\n // standard onkeydown/pressed events and only fired editOnInput\n // so domText is already changed by the browser and ends up being equal\n // to modelText unexpectedly.\n // Newest versions of Android support the dom-inputevent-inputtype\n // and we can use the `inputType` to properly apply the state changes.\n\n /* $FlowFixMe inputType is only defined on a draft of a standard.\n * https://w3c.github.io/input-events/#dom-inputevent-inputtype */\n var inputType = e.nativeEvent.inputType;\n\n if (inputType) {\n var newEditorState = onInputType(inputType, editorState);\n\n if (newEditorState !== editorState) {\n editor.restoreEditorDOM();\n editor.update(newEditorState);\n return;\n }\n }\n\n return;\n }\n\n var selection = editorState.getSelection(); // We'll replace the entire leaf with the text content of the target.\n\n var targetRange = selection.merge({\n anchorOffset: start,\n focusOffset: end,\n isBackward: false\n });\n var entityKey = block.getEntityAt(start);\n var entity = notEmptyKey(entityKey) ? content.getEntity(entityKey) : null;\n var entityType = entity != null ? entity.getMutability() : null;\n var preserveEntity = entityType === 'MUTABLE'; // Immutable or segmented entities cannot properly be handled by the\n // default browser undo, so we have to use a different change type to\n // force using our internal undo method instead of falling through to the\n // native browser undo.\n\n var changeType = preserveEntity ? 'spellcheck-change' : 'apply-entity';\n var newContent = DraftModifier.replaceText(content, targetRange, domText, block.getInlineStyleAt(start), preserveEntity ? block.getEntityAt(start) : null);\n var anchorOffset, focusOffset, startOffset, endOffset;\n\n if (isGecko) {\n // Firefox selection does not change while the context menu is open, so\n // we preserve the anchor and focus values of the DOM selection.\n anchorOffset = domSelection.anchorOffset;\n focusOffset = domSelection.focusOffset;\n startOffset = start + Math.min(anchorOffset, focusOffset);\n endOffset = startOffset + Math.abs(anchorOffset - focusOffset);\n anchorOffset = startOffset;\n focusOffset = endOffset;\n } else {\n // Browsers other than Firefox may adjust DOM selection while the context\n // menu is open, and Safari autocorrect is prone to providing an inaccurate\n // DOM selection. Don't trust it. Instead, use our existing SelectionState\n // and adjust it based on the number of characters changed during the\n // mutation.\n var charDelta = domText.length - modelText.length;\n startOffset = selection.getStartOffset();\n endOffset = selection.getEndOffset();\n anchorOffset = isCollapsed ? endOffset + charDelta : startOffset;\n focusOffset = endOffset + charDelta;\n } // Segmented entities are completely or partially removed when their\n // text content changes. For this case we do not want any text to be selected\n // after the change, so we are not merging the selection.\n\n\n var contentWithAdjustedDOMSelection = newContent.merge({\n selectionBefore: content.getSelectionAfter(),\n selectionAfter: selection.merge({\n anchorOffset: anchorOffset,\n focusOffset: focusOffset\n })\n });\n editor.update(EditorState.push(editorState, contentWithAdjustedDOMSelection, changeType));\n}\n\nmodule.exports = editOnInput;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2VkaXRPbklucHV0LmpzPzhmMjAiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDYTs7QUFFYixvQkFBb0IsbUJBQU8sQ0FBQyxxRUFBaUI7O0FBRTdDLHFCQUFxQixtQkFBTyxDQUFDLHVFQUFrQjs7QUFFL0Msa0JBQWtCLG1CQUFPLENBQUMsaUVBQWU7O0FBRXpDLGdCQUFnQixtQkFBTyxDQUFDLGdFQUFvQjs7QUFFNUMsZUFBZSxtQkFBTyxDQUFDLHFFQUFpQjtBQUN4Qzs7QUFFQSw0QkFBNEIsbUJBQU8sQ0FBQyxxRkFBeUI7O0FBRTdELCtCQUErQixtQkFBTyxDQUFDLDJGQUE0Qjs7QUFFbkUsaUJBQWlCLG1CQUFPLENBQUMsa0VBQXFCOztBQUU5QztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7O0FBR0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxxQ0FBcUMsZ0JBQWdCO0FBQ3JEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0Esb0RBQW9EO0FBQ3BEO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRzs7O0FBR0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsNkNBQTZDOztBQUU3QztBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxnREFBZ0Q7QUFDaEQ7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTCxHQUFHO0FBQ0g7QUFDQTs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvZWRpdE9uSW5wdXQuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgRmFjZWJvb2ssIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIEBmb3JtYXRcbiAqIFxuICogQGVtYWlscyBvbmNhbGwrZHJhZnRfanNcbiAqL1xuJ3VzZSBzdHJpY3QnO1xuXG52YXIgRHJhZnRNb2RpZmllciA9IHJlcXVpcmUoXCIuL0RyYWZ0TW9kaWZpZXJcIik7XG5cbnZhciBEcmFmdE9mZnNldEtleSA9IHJlcXVpcmUoXCIuL0RyYWZ0T2Zmc2V0S2V5XCIpO1xuXG52YXIgRWRpdG9yU3RhdGUgPSByZXF1aXJlKFwiLi9FZGl0b3JTdGF0ZVwiKTtcblxudmFyIFVzZXJBZ2VudCA9IHJlcXVpcmUoXCJmYmpzL2xpYi9Vc2VyQWdlbnRcIik7XG5cbnZhciBfcmVxdWlyZSA9IHJlcXVpcmUoXCIuL2RyYWZ0S2V5VXRpbHNcIiksXG4gICAgbm90RW1wdHlLZXkgPSBfcmVxdWlyZS5ub3RFbXB0eUtleTtcblxudmFyIGZpbmRBbmNlc3Rvck9mZnNldEtleSA9IHJlcXVpcmUoXCIuL2ZpbmRBbmNlc3Rvck9mZnNldEtleVwiKTtcblxudmFyIGtleUNvbW1hbmRQbGFpbkJhY2tzcGFjZSA9IHJlcXVpcmUoXCIuL2tleUNvbW1hbmRQbGFpbkJhY2tzcGFjZVwiKTtcblxudmFyIG51bGx0aHJvd3MgPSByZXF1aXJlKFwiZmJqcy9saWIvbnVsbHRocm93c1wiKTtcblxudmFyIGlzR2Vja28gPSBVc2VyQWdlbnQuaXNFbmdpbmUoJ0dlY2tvJyk7XG52YXIgRE9VQkxFX05FV0xJTkUgPSAnXFxuXFxuJztcblxuZnVuY3Rpb24gb25JbnB1dFR5cGUoaW5wdXRUeXBlLCBlZGl0b3JTdGF0ZSkge1xuICBzd2l0Y2ggKGlucHV0VHlwZSkge1xuICAgIGNhc2UgJ2RlbGV0ZUNvbnRlbnRCYWNrd2FyZCc6XG4gICAgICByZXR1cm4ga2V5Q29tbWFuZFBsYWluQmFja3NwYWNlKGVkaXRvclN0YXRlKTtcbiAgfVxuXG4gIHJldHVybiBlZGl0b3JTdGF0ZTtcbn1cbi8qKlxuICogVGhpcyBmdW5jdGlvbiBzZXJ2ZXMgdHdvIHB1cnBvc2VzXG4gKlxuICogMS4gVG8gdXBkYXRlIHRoZSBlZGl0b3JTdGF0ZSBhbmQgY2FsbCBvbkNoYW5nZSBtZXRob2Qgd2l0aCB0aGUgbmV3XG4gKiBlZGl0b3JTdGF0ZS4gVGhpcyBlZGl0b3JTdGF0ZSBpcyBjYWxjdWxhdGVkIGluIGVkaXRPbkJlZm9yZUlucHV0IGJ1dCB0aGVcbiAqIG9uQ2hhbmdlIG1ldGhvZCBpcyBub3QgY2FsbGVkIHdpdGggdGhlIG5ldyBzdGF0ZSB1bnRpbCB0aGlzIG1ldGhvZCBkb2VzIGl0LlxuICogSXQgaXMgZG9uZSB0byBoYW5kbGUgYSBzcGVjaWZpYyBjYXNlIHdoZXJlIGNlcnRhaW4gY2hhcmFjdGVyIGlucHV0cyBtaWdodFxuICogYmUgcmVwbGFjZWQgd2l0aCBzb21ldGhpbmcgZWxzZS4gRS5nLiBzbmlwcGV0cyAoJ3JjJyBtaWdodCBiZSByZXBsYWNlZFxuICogd2l0aCBib2lsZXJwbGF0ZSBjb2RlIGZvciByZWFjdCBjb21wb25lbnQpLiBNb3JlIGluZm9ybWF0aW9uIG9uIHRoZVxuICogZXhhY3QgcHJvYmxlbSBjYW4gYmUgZm91bmQgaGVyZSAtXG4gKiBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svZHJhZnQtanMvY29tbWl0LzA3ODkyYmE0NzliZDRkZmM2YWZkMWUwZWQxNzlhYWY1MWNkMTM4YjFcbiAqXG4gKiAyLiBpbnRlbmRlZCB0byBoYW5kbGUgc3BlbGxjaGVjayBhbmQgYXV0b2NvcnJlY3QgY2hhbmdlcyxcbiAqIHdoaWNoIG9jY3VyIGluIHRoZSBET00gbmF0aXZlbHkgd2l0aG91dCBhbnkgb3Bwb3J0dW5pdHkgdG8gb2JzZXJ2ZSBvclxuICogaW50ZXJwcmV0IHRoZSBjaGFuZ2VzIGJlZm9yZSB0aGV5IG9jY3VyLlxuICpcbiAqIFRoZSBgaW5wdXRgIGV2ZW50IGZpcmVzIGluIGNvbnRlbnRFZGl0YWJsZSBlbGVtZW50cyByZWxpYWJseSBmb3Igbm9uLUlFXG4gKiBicm93c2VycywgaW1tZWRpYXRlbHkgYWZ0ZXIgY2hhbmdlcyBvY2N1ciB0byB0aGUgZWRpdG9yIERPTS4gU2luY2Ugb3VyIG90aGVyXG4gKiBoYW5kbGVycyBvdmVycmlkZSBvciBvdGhlcndpc2UgaGFuZGxlIGNvdmVyIG90aGVyIHZhcmlldGllcyBvZiB0ZXh0IGlucHV0LFxuICogdGhlIERPTSBzdGF0ZSBzaG91bGQgbWF0Y2ggdGhlIG1vZGVsIGluIGFsbCBjb250cm9sbGVkIGlucHV0IGNhc2VzLiBUaHVzLFxuICogd2hlbiBhbiBgaW5wdXRgIGNoYW5nZSBsZWFkcyB0byBhIERPTS9tb2RlbCBtaXNtYXRjaCwgdGhlIGNoYW5nZSBzaG91bGQgYmVcbiAqIGR1ZSB0byBhIHNwZWxsY2hlY2sgY2hhbmdlLCBhbmQgd2UgY2FuIGluY29ycG9yYXRlIGl0IGludG8gb3VyIG1vZGVsLlxuICovXG5cblxuZnVuY3Rpb24gZWRpdE9uSW5wdXQoZWRpdG9yLCBlKSB7XG4gIGlmIChlZGl0b3IuX3BlbmRpbmdTdGF0ZUZyb21CZWZvcmVJbnB1dCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgZWRpdG9yLnVwZGF0ZShlZGl0b3IuX3BlbmRpbmdTdGF0ZUZyb21CZWZvcmVJbnB1dCk7XG4gICAgZWRpdG9yLl9wZW5kaW5nU3RhdGVGcm9tQmVmb3JlSW5wdXQgPSB1bmRlZmluZWQ7XG4gIH0gLy8gYXQgdGhpcyBwb2ludCBlZGl0b3IgaXMgbm90IG51bGwgZm9yIHN1cmUgKGFmdGVyIGlucHV0KVxuXG5cbiAgdmFyIGNhc3RlZEVkaXRvckVsZW1lbnQgPSBlZGl0b3IuZWRpdG9yO1xuICB2YXIgZG9tU2VsZWN0aW9uID0gY2FzdGVkRWRpdG9yRWxlbWVudC5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3LmdldFNlbGVjdGlvbigpO1xuICB2YXIgYW5jaG9yTm9kZSA9IGRvbVNlbGVjdGlvbi5hbmNob3JOb2RlLFxuICAgICAgaXNDb2xsYXBzZWQgPSBkb21TZWxlY3Rpb24uaXNDb2xsYXBzZWQ7XG4gIHZhciBpc05vdFRleHRPckVsZW1lbnROb2RlID0gYW5jaG9yTm9kZS5ub2RlVHlwZSAhPT0gTm9kZS5URVhUX05PREUgJiYgYW5jaG9yTm9kZS5ub2RlVHlwZSAhPT0gTm9kZS5FTEVNRU5UX05PREU7XG5cbiAgaWYgKGlzTm90VGV4dE9yRWxlbWVudE5vZGUpIHtcbiAgICAvLyBUT0RPOiAodDE2MTQ5MjcyKSBmaWd1cmUgb3V0IGNvbnRleHQgZm9yIHRoaXMgY2hhbmdlXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgaWYgKGFuY2hvck5vZGUubm9kZVR5cGUgPT09IE5vZGUuVEVYVF9OT0RFICYmIChhbmNob3JOb2RlLnByZXZpb3VzU2libGluZyAhPT0gbnVsbCB8fCBhbmNob3JOb2RlLm5leHRTaWJsaW5nICE9PSBudWxsKSkge1xuICAgIC8vIFdoZW4gdHlwaW5nIGF0IHRoZSBiZWdpbm5pbmcgb2YgYSB2aXN1YWwgbGluZSwgQ2hyb21lIHNwbGl0cyB0aGUgdGV4dFxuICAgIC8vIG5vZGVzIGludG8gdHdvLiBXaHk/IE5vIG9uZSBrbm93cy4gVGhpcyBjb21taXQgaXMgc3VzcGljaW91czpcbiAgICAvLyBodHRwczovL2Nocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjLysvYTNiNjAwOTgxMjg2YjEzNTYzMjM3MTQ3N2Y5MDIyMTRjNTVhMTcyNFxuICAgIC8vIFRvIHdvcmsgYXJvdW5kLCB3ZSdsbCBtZXJnZSB0aGUgc2libGluZyB0ZXh0IG5vZGVzIGJhY2sgaW50byB0aGlzIG9uZS5cbiAgICB2YXIgc3BhbiA9IGFuY2hvck5vZGUucGFyZW50Tm9kZTtcbiAgICBhbmNob3JOb2RlLm5vZGVWYWx1ZSA9IHNwYW4udGV4dENvbnRlbnQ7XG5cbiAgICBmb3IgKHZhciBjaGlsZCA9IHNwYW4uZmlyc3RDaGlsZDsgY2hpbGQgIT09IG51bGw7IGNoaWxkID0gY2hpbGQubmV4dFNpYmxpbmcpIHtcbiAgICAgIGlmIChjaGlsZCAhPT0gYW5jaG9yTm9kZSkge1xuICAgICAgICBzcGFuLnJlbW92ZUNoaWxkKGNoaWxkKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB2YXIgZG9tVGV4dCA9IGFuY2hvck5vZGUudGV4dENvbnRlbnQ7XG4gIHZhciBlZGl0b3JTdGF0ZSA9IGVkaXRvci5fbGF0ZXN0RWRpdG9yU3RhdGU7XG4gIHZhciBvZmZzZXRLZXkgPSBudWxsdGhyb3dzKGZpbmRBbmNlc3Rvck9mZnNldEtleShhbmNob3JOb2RlKSk7XG5cbiAgdmFyIF9EcmFmdE9mZnNldEtleSRkZWNvZCA9IERyYWZ0T2Zmc2V0S2V5LmRlY29kZShvZmZzZXRLZXkpLFxuICAgICAgYmxvY2tLZXkgPSBfRHJhZnRPZmZzZXRLZXkkZGVjb2QuYmxvY2tLZXksXG4gICAgICBkZWNvcmF0b3JLZXkgPSBfRHJhZnRPZmZzZXRLZXkkZGVjb2QuZGVjb3JhdG9yS2V5LFxuICAgICAgbGVhZktleSA9IF9EcmFmdE9mZnNldEtleSRkZWNvZC5sZWFmS2V5O1xuXG4gIHZhciBfZWRpdG9yU3RhdGUkZ2V0QmxvY2sgPSBlZGl0b3JTdGF0ZS5nZXRCbG9ja1RyZWUoYmxvY2tLZXkpLmdldEluKFtkZWNvcmF0b3JLZXksICdsZWF2ZXMnLCBsZWFmS2V5XSksXG4gICAgICBzdGFydCA9IF9lZGl0b3JTdGF0ZSRnZXRCbG9jay5zdGFydCxcbiAgICAgIGVuZCA9IF9lZGl0b3JTdGF0ZSRnZXRCbG9jay5lbmQ7XG5cbiAgdmFyIGNvbnRlbnQgPSBlZGl0b3JTdGF0ZS5nZXRDdXJyZW50Q29udGVudCgpO1xuICB2YXIgYmxvY2sgPSBjb250ZW50LmdldEJsb2NrRm9yS2V5KGJsb2NrS2V5KTtcbiAgdmFyIG1vZGVsVGV4dCA9IGJsb2NrLmdldFRleHQoKS5zbGljZShzdGFydCwgZW5kKTsgLy8gU3BlY2lhbC1jYXNlIHNvZnQgbmV3bGluZXMgaGVyZS4gSWYgdGhlIERPTSB0ZXh0IGVuZHMgaW4gYSBzb2Z0IG5ld2xpbmUsXG4gIC8vIHdlIHdpbGwgaGF2ZSBtYW51YWxseSBpbnNlcnRlZCBhbiBleHRyYSBzb2Z0IG5ld2xpbmUgaW4gRHJhZnRFZGl0b3JMZWFmLlxuICAvLyBXZSB3YW50IHRvIHJlbW92ZSB0aGlzIGV4dHJhIG5ld2xpbmUgZm9yIHRoZSBwdXJwb3NlIG9mIG91ciBjb21wYXJpc29uXG4gIC8vIG9mIERPTSBhbmQgbW9kZWwgdGV4dC5cblxuICBpZiAoZG9tVGV4dC5lbmRzV2l0aChET1VCTEVfTkVXTElORSkpIHtcbiAgICBkb21UZXh0ID0gZG9tVGV4dC5zbGljZSgwLCAtMSk7XG4gIH0gLy8gTm8gY2hhbmdlIC0tIHRoZSBET00gaXMgdXAgdG8gZGF0ZS4gTm90aGluZyB0byBkbyBoZXJlLlxuXG5cbiAgaWYgKGRvbVRleHQgPT09IG1vZGVsVGV4dCkge1xuICAgIC8vIFRoaXMgY2FuIGJlIGJ1Z2d5IGZvciBzb21lIEFuZHJvaWQga2V5Ym9hcmRzIGJlY2F1c2UgdGhleSBkb24ndCBmaXJlXG4gICAgLy8gc3RhbmRhcmQgb25rZXlkb3duL3ByZXNzZWQgZXZlbnRzIGFuZCBvbmx5IGZpcmVkIGVkaXRPbklucHV0XG4gICAgLy8gc28gZG9tVGV4dCBpcyBhbHJlYWR5IGNoYW5nZWQgYnkgdGhlIGJyb3dzZXIgYW5kIGVuZHMgdXAgYmVpbmcgZXF1YWxcbiAgICAvLyB0byBtb2RlbFRleHQgdW5leHBlY3RlZGx5LlxuICAgIC8vIE5ld2VzdCB2ZXJzaW9ucyBvZiBBbmRyb2lkIHN1cHBvcnQgdGhlIGRvbS1pbnB1dGV2ZW50LWlucHV0dHlwZVxuICAgIC8vIGFuZCB3ZSBjYW4gdXNlIHRoZSBgaW5wdXRUeXBlYCB0byBwcm9wZXJseSBhcHBseSB0aGUgc3RhdGUgY2hhbmdlcy5cblxuICAgIC8qICRGbG93Rml4TWUgaW5wdXRUeXBlIGlzIG9ubHkgZGVmaW5lZCBvbiBhIGRyYWZ0IG9mIGEgc3RhbmRhcmQuXG4gICAgICogaHR0cHM6Ly93M2MuZ2l0aHViLmlvL2lucHV0LWV2ZW50cy8jZG9tLWlucHV0ZXZlbnQtaW5wdXR0eXBlICovXG4gICAgdmFyIGlucHV0VHlwZSA9IGUubmF0aXZlRXZlbnQuaW5wdXRUeXBlO1xuXG4gICAgaWYgKGlucHV0VHlwZSkge1xuICAgICAgdmFyIG5ld0VkaXRvclN0YXRlID0gb25JbnB1dFR5cGUoaW5wdXRUeXBlLCBlZGl0b3JTdGF0ZSk7XG5cbiAgICAgIGlmIChuZXdFZGl0b3JTdGF0ZSAhPT0gZWRpdG9yU3RhdGUpIHtcbiAgICAgICAgZWRpdG9yLnJlc3RvcmVFZGl0b3JET00oKTtcbiAgICAgICAgZWRpdG9yLnVwZGF0ZShuZXdFZGl0b3JTdGF0ZSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm47XG4gIH1cblxuICB2YXIgc2VsZWN0aW9uID0gZWRpdG9yU3RhdGUuZ2V0U2VsZWN0aW9uKCk7IC8vIFdlJ2xsIHJlcGxhY2UgdGhlIGVudGlyZSBsZWFmIHdpdGggdGhlIHRleHQgY29udGVudCBvZiB0aGUgdGFyZ2V0LlxuXG4gIHZhciB0YXJnZXRSYW5nZSA9IHNlbGVjdGlvbi5tZXJnZSh7XG4gICAgYW5jaG9yT2Zmc2V0OiBzdGFydCxcbiAgICBmb2N1c09mZnNldDogZW5kLFxuICAgIGlzQmFja3dhcmQ6IGZhbHNlXG4gIH0pO1xuICB2YXIgZW50aXR5S2V5ID0gYmxvY2suZ2V0RW50aXR5QXQoc3RhcnQpO1xuICB2YXIgZW50aXR5ID0gbm90RW1wdHlLZXkoZW50aXR5S2V5KSA/IGNvbnRlbnQuZ2V0RW50aXR5KGVudGl0eUtleSkgOiBudWxsO1xuICB2YXIgZW50aXR5VHlwZSA9IGVudGl0eSAhPSBudWxsID8gZW50aXR5LmdldE11dGFiaWxpdHkoKSA6IG51bGw7XG4gIHZhciBwcmVzZXJ2ZUVudGl0eSA9IGVudGl0eVR5cGUgPT09ICdNVVRBQkxFJzsgLy8gSW1tdXRhYmxlIG9yIHNlZ21lbnRlZCBlbnRpdGllcyBjYW5ub3QgcHJvcGVybHkgYmUgaGFuZGxlZCBieSB0aGVcbiAgLy8gZGVmYXVsdCBicm93c2VyIHVuZG8sIHNvIHdlIGhhdmUgdG8gdXNlIGEgZGlmZmVyZW50IGNoYW5nZSB0eXBlIHRvXG4gIC8vIGZvcmNlIHVzaW5nIG91ciBpbnRlcm5hbCB1bmRvIG1ldGhvZCBpbnN0ZWFkIG9mIGZhbGxpbmcgdGhyb3VnaCB0byB0aGVcbiAgLy8gbmF0aXZlIGJyb3dzZXIgdW5kby5cblxuICB2YXIgY2hhbmdlVHlwZSA9IHByZXNlcnZlRW50aXR5ID8gJ3NwZWxsY2hlY2stY2hhbmdlJyA6ICdhcHBseS1lbnRpdHknO1xuICB2YXIgbmV3Q29udGVudCA9IERyYWZ0TW9kaWZpZXIucmVwbGFjZVRleHQoY29udGVudCwgdGFyZ2V0UmFuZ2UsIGRvbVRleHQsIGJsb2NrLmdldElubGluZVN0eWxlQXQoc3RhcnQpLCBwcmVzZXJ2ZUVudGl0eSA/IGJsb2NrLmdldEVudGl0eUF0KHN0YXJ0KSA6IG51bGwpO1xuICB2YXIgYW5jaG9yT2Zmc2V0LCBmb2N1c09mZnNldCwgc3RhcnRPZmZzZXQsIGVuZE9mZnNldDtcblxuICBpZiAoaXNHZWNrbykge1xuICAgIC8vIEZpcmVmb3ggc2VsZWN0aW9uIGRvZXMgbm90IGNoYW5nZSB3aGlsZSB0aGUgY29udGV4dCBtZW51IGlzIG9wZW4sIHNvXG4gICAgLy8gd2UgcHJlc2VydmUgdGhlIGFuY2hvciBhbmQgZm9jdXMgdmFsdWVzIG9mIHRoZSBET00gc2VsZWN0aW9uLlxuICAgIGFuY2hvck9mZnNldCA9IGRvbVNlbGVjdGlvbi5hbmNob3JPZmZzZXQ7XG4gICAgZm9jdXNPZmZzZXQgPSBkb21TZWxlY3Rpb24uZm9jdXNPZmZzZXQ7XG4gICAgc3RhcnRPZmZzZXQgPSBzdGFydCArIE1hdGgubWluKGFuY2hvck9mZnNldCwgZm9jdXNPZmZzZXQpO1xuICAgIGVuZE9mZnNldCA9IHN0YXJ0T2Zmc2V0ICsgTWF0aC5hYnMoYW5jaG9yT2Zmc2V0IC0gZm9jdXNPZmZzZXQpO1xuICAgIGFuY2hvck9mZnNldCA9IHN0YXJ0T2Zmc2V0O1xuICAgIGZvY3VzT2Zmc2V0ID0gZW5kT2Zmc2V0O1xuICB9IGVsc2Uge1xuICAgIC8vIEJyb3dzZXJzIG90aGVyIHRoYW4gRmlyZWZveCBtYXkgYWRqdXN0IERPTSBzZWxlY3Rpb24gd2hpbGUgdGhlIGNvbnRleHRcbiAgICAvLyBtZW51IGlzIG9wZW4sIGFuZCBTYWZhcmkgYXV0b2NvcnJlY3QgaXMgcHJvbmUgdG8gcHJvdmlkaW5nIGFuIGluYWNjdXJhdGVcbiAgICAvLyBET00gc2VsZWN0aW9uLiBEb24ndCB0cnVzdCBpdC4gSW5zdGVhZCwgdXNlIG91ciBleGlzdGluZyBTZWxlY3Rpb25TdGF0ZVxuICAgIC8vIGFuZCBhZGp1c3QgaXQgYmFzZWQgb24gdGhlIG51bWJlciBvZiBjaGFyYWN0ZXJzIGNoYW5nZWQgZHVyaW5nIHRoZVxuICAgIC8vIG11dGF0aW9uLlxuICAgIHZhciBjaGFyRGVsdGEgPSBkb21UZXh0Lmxlbmd0aCAtIG1vZGVsVGV4dC5sZW5ndGg7XG4gICAgc3RhcnRPZmZzZXQgPSBzZWxlY3Rpb24uZ2V0U3RhcnRPZmZzZXQoKTtcbiAgICBlbmRPZmZzZXQgPSBzZWxlY3Rpb24uZ2V0RW5kT2Zmc2V0KCk7XG4gICAgYW5jaG9yT2Zmc2V0ID0gaXNDb2xsYXBzZWQgPyBlbmRPZmZzZXQgKyBjaGFyRGVsdGEgOiBzdGFydE9mZnNldDtcbiAgICBmb2N1c09mZnNldCA9IGVuZE9mZnNldCArIGNoYXJEZWx0YTtcbiAgfSAvLyBTZWdtZW50ZWQgZW50aXRpZXMgYXJlIGNvbXBsZXRlbHkgb3IgcGFydGlhbGx5IHJlbW92ZWQgd2hlbiB0aGVpclxuICAvLyB0ZXh0IGNvbnRlbnQgY2hhbmdlcy4gRm9yIHRoaXMgY2FzZSB3ZSBkbyBub3Qgd2FudCBhbnkgdGV4dCB0byBiZSBzZWxlY3RlZFxuICAvLyBhZnRlciB0aGUgY2hhbmdlLCBzbyB3ZSBhcmUgbm90IG1lcmdpbmcgdGhlIHNlbGVjdGlvbi5cblxuXG4gIHZhciBjb250ZW50V2l0aEFkanVzdGVkRE9NU2VsZWN0aW9uID0gbmV3Q29udGVudC5tZXJnZSh7XG4gICAgc2VsZWN0aW9uQmVmb3JlOiBjb250ZW50LmdldFNlbGVjdGlvbkFmdGVyKCksXG4gICAgc2VsZWN0aW9uQWZ0ZXI6IHNlbGVjdGlvbi5tZXJnZSh7XG4gICAgICBhbmNob3JPZmZzZXQ6IGFuY2hvck9mZnNldCxcbiAgICAgIGZvY3VzT2Zmc2V0OiBmb2N1c09mZnNldFxuICAgIH0pXG4gIH0pO1xuICBlZGl0b3IudXBkYXRlKEVkaXRvclN0YXRlLnB1c2goZWRpdG9yU3RhdGUsIGNvbnRlbnRXaXRoQWRqdXN0ZWRET01TZWxlY3Rpb24sIGNoYW5nZVR5cGUpKTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBlZGl0T25JbnB1dDsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/editOnInput.js\n"); /***/ }), @@ -715,7 +810,7 @@ eval("/* WEBPACK VAR INJECTION */(function(global) {/**\n * Copyright (c) 2013-p /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule editOnKeyDown\n * @format\n * \n */\n\n\n\nvar DraftModifier = __webpack_require__(/*! ./DraftModifier */ \"./node_modules/draft-js/lib/DraftModifier.js\");\nvar EditorState = __webpack_require__(/*! ./EditorState */ \"./node_modules/draft-js/lib/EditorState.js\");\nvar KeyBindingUtil = __webpack_require__(/*! ./KeyBindingUtil */ \"./node_modules/draft-js/lib/KeyBindingUtil.js\");\nvar Keys = __webpack_require__(/*! fbjs/lib/Keys */ \"./node_modules/fbjs/lib/Keys.js\");\nvar SecondaryClipboard = __webpack_require__(/*! ./SecondaryClipboard */ \"./node_modules/draft-js/lib/SecondaryClipboard.js\");\nvar UserAgent = __webpack_require__(/*! fbjs/lib/UserAgent */ \"./node_modules/fbjs/lib/UserAgent.js\");\n\nvar isEventHandled = __webpack_require__(/*! ./isEventHandled */ \"./node_modules/draft-js/lib/isEventHandled.js\");\nvar keyCommandBackspaceToStartOfLine = __webpack_require__(/*! ./keyCommandBackspaceToStartOfLine */ \"./node_modules/draft-js/lib/keyCommandBackspaceToStartOfLine.js\");\nvar keyCommandBackspaceWord = __webpack_require__(/*! ./keyCommandBackspaceWord */ \"./node_modules/draft-js/lib/keyCommandBackspaceWord.js\");\nvar keyCommandDeleteWord = __webpack_require__(/*! ./keyCommandDeleteWord */ \"./node_modules/draft-js/lib/keyCommandDeleteWord.js\");\nvar keyCommandInsertNewline = __webpack_require__(/*! ./keyCommandInsertNewline */ \"./node_modules/draft-js/lib/keyCommandInsertNewline.js\");\nvar keyCommandMoveSelectionToEndOfBlock = __webpack_require__(/*! ./keyCommandMoveSelectionToEndOfBlock */ \"./node_modules/draft-js/lib/keyCommandMoveSelectionToEndOfBlock.js\");\nvar keyCommandMoveSelectionToStartOfBlock = __webpack_require__(/*! ./keyCommandMoveSelectionToStartOfBlock */ \"./node_modules/draft-js/lib/keyCommandMoveSelectionToStartOfBlock.js\");\nvar keyCommandPlainBackspace = __webpack_require__(/*! ./keyCommandPlainBackspace */ \"./node_modules/draft-js/lib/keyCommandPlainBackspace.js\");\nvar keyCommandPlainDelete = __webpack_require__(/*! ./keyCommandPlainDelete */ \"./node_modules/draft-js/lib/keyCommandPlainDelete.js\");\nvar keyCommandTransposeCharacters = __webpack_require__(/*! ./keyCommandTransposeCharacters */ \"./node_modules/draft-js/lib/keyCommandTransposeCharacters.js\");\nvar keyCommandUndo = __webpack_require__(/*! ./keyCommandUndo */ \"./node_modules/draft-js/lib/keyCommandUndo.js\");\n\nvar isOptionKeyCommand = KeyBindingUtil.isOptionKeyCommand;\n\nvar isChrome = UserAgent.isBrowser('Chrome');\n\n/**\n * Map a `DraftEditorCommand` command value to a corresponding function.\n */\nfunction onKeyCommand(command, editorState) {\n switch (command) {\n case 'redo':\n return EditorState.redo(editorState);\n case 'delete':\n return keyCommandPlainDelete(editorState);\n case 'delete-word':\n return keyCommandDeleteWord(editorState);\n case 'backspace':\n return keyCommandPlainBackspace(editorState);\n case 'backspace-word':\n return keyCommandBackspaceWord(editorState);\n case 'backspace-to-start-of-line':\n return keyCommandBackspaceToStartOfLine(editorState);\n case 'split-block':\n return keyCommandInsertNewline(editorState);\n case 'transpose-characters':\n return keyCommandTransposeCharacters(editorState);\n case 'move-selection-to-start-of-block':\n return keyCommandMoveSelectionToStartOfBlock(editorState);\n case 'move-selection-to-end-of-block':\n return keyCommandMoveSelectionToEndOfBlock(editorState);\n case 'secondary-cut':\n return SecondaryClipboard.cut(editorState);\n case 'secondary-paste':\n return SecondaryClipboard.paste(editorState);\n default:\n return editorState;\n }\n}\n\n/**\n * Intercept keydown behavior to handle keys and commands manually, if desired.\n *\n * Keydown combinations may be mapped to `DraftCommand` values, which may\n * correspond to command functions that modify the editor or its contents.\n *\n * See `getDefaultKeyBinding` for defaults. Alternatively, the top-level\n * component may provide a custom mapping via the `keyBindingFn` prop.\n */\nfunction editOnKeyDown(editor, e) {\n var keyCode = e.which;\n var editorState = editor._latestEditorState;\n\n switch (keyCode) {\n case Keys.RETURN:\n e.preventDefault();\n // The top-level component may manually handle newline insertion. If\n // no special handling is performed, fall through to command handling.\n if (editor.props.handleReturn && isEventHandled(editor.props.handleReturn(e, editorState))) {\n return;\n }\n break;\n case Keys.ESC:\n e.preventDefault();\n editor.props.onEscape && editor.props.onEscape(e);\n return;\n case Keys.TAB:\n editor.props.onTab && editor.props.onTab(e);\n return;\n case Keys.UP:\n editor.props.onUpArrow && editor.props.onUpArrow(e);\n return;\n case Keys.RIGHT:\n editor.props.onRightArrow && editor.props.onRightArrow(e);\n return;\n case Keys.DOWN:\n editor.props.onDownArrow && editor.props.onDownArrow(e);\n return;\n case Keys.LEFT:\n editor.props.onLeftArrow && editor.props.onLeftArrow(e);\n return;\n case Keys.SPACE:\n // Handling for OSX where option + space scrolls.\n if (isChrome && isOptionKeyCommand(e)) {\n e.preventDefault();\n // Insert a nbsp into the editor.\n var contentState = DraftModifier.replaceText(editorState.getCurrentContent(), editorState.getSelection(), '\\xA0');\n editor.update(EditorState.push(editorState, contentState, 'insert-characters'));\n return;\n }\n }\n\n var command = editor.props.keyBindingFn(e);\n\n // If no command is specified, allow keydown event to continue.\n if (!command) {\n return;\n }\n\n if (command === 'undo') {\n // Since undo requires some special updating behavior to keep the editor\n // in sync, handle it separately.\n keyCommandUndo(e, editorState, editor.update);\n return;\n }\n\n // At this point, we know that we're handling a command of some kind, so\n // we don't want to insert a character following the keydown.\n e.preventDefault();\n\n // Allow components higher up the tree to handle the command first.\n if (editor.props.handleKeyCommand && isEventHandled(editor.props.handleKeyCommand(command, editorState))) {\n return;\n }\n\n var newState = onKeyCommand(command, editorState);\n if (newState !== editorState) {\n editor.update(newState);\n }\n}\n\nmodule.exports = editOnKeyDown;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2VkaXRPbktleURvd24uanM/MGJkMSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWE7O0FBRWIsb0JBQW9CLG1CQUFPLENBQUMscUVBQWlCO0FBQzdDLGtCQUFrQixtQkFBTyxDQUFDLGlFQUFlO0FBQ3pDLHFCQUFxQixtQkFBTyxDQUFDLHVFQUFrQjtBQUMvQyxXQUFXLG1CQUFPLENBQUMsc0RBQWU7QUFDbEMseUJBQXlCLG1CQUFPLENBQUMsK0VBQXNCO0FBQ3ZELGdCQUFnQixtQkFBTyxDQUFDLGdFQUFvQjs7QUFFNUMscUJBQXFCLG1CQUFPLENBQUMsdUVBQWtCO0FBQy9DLHVDQUF1QyxtQkFBTyxDQUFDLDJHQUFvQztBQUNuRiw4QkFBOEIsbUJBQU8sQ0FBQyx5RkFBMkI7QUFDakUsMkJBQTJCLG1CQUFPLENBQUMsbUZBQXdCO0FBQzNELDhCQUE4QixtQkFBTyxDQUFDLHlGQUEyQjtBQUNqRSwwQ0FBMEMsbUJBQU8sQ0FBQyxpSEFBdUM7QUFDekYsNENBQTRDLG1CQUFPLENBQUMscUhBQXlDO0FBQzdGLCtCQUErQixtQkFBTyxDQUFDLDJGQUE0QjtBQUNuRSw0QkFBNEIsbUJBQU8sQ0FBQyxxRkFBeUI7QUFDN0Qsb0NBQW9DLG1CQUFPLENBQUMscUdBQWlDO0FBQzdFLHFCQUFxQixtQkFBTyxDQUFDLHVFQUFrQjs7QUFFL0M7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvZWRpdE9uS2V5RG93bi5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXG4gKiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEJTRC1zdHlsZSBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLiBBbiBhZGRpdGlvbmFsIGdyYW50XG4gKiBvZiBwYXRlbnQgcmlnaHRzIGNhbiBiZSBmb3VuZCBpbiB0aGUgUEFURU5UUyBmaWxlIGluIHRoZSBzYW1lIGRpcmVjdG9yeS5cbiAqXG4gKiBAcHJvdmlkZXNNb2R1bGUgZWRpdE9uS2V5RG93blxuICogQGZvcm1hdFxuICogXG4gKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG52YXIgRHJhZnRNb2RpZmllciA9IHJlcXVpcmUoJy4vRHJhZnRNb2RpZmllcicpO1xudmFyIEVkaXRvclN0YXRlID0gcmVxdWlyZSgnLi9FZGl0b3JTdGF0ZScpO1xudmFyIEtleUJpbmRpbmdVdGlsID0gcmVxdWlyZSgnLi9LZXlCaW5kaW5nVXRpbCcpO1xudmFyIEtleXMgPSByZXF1aXJlKCdmYmpzL2xpYi9LZXlzJyk7XG52YXIgU2Vjb25kYXJ5Q2xpcGJvYXJkID0gcmVxdWlyZSgnLi9TZWNvbmRhcnlDbGlwYm9hcmQnKTtcbnZhciBVc2VyQWdlbnQgPSByZXF1aXJlKCdmYmpzL2xpYi9Vc2VyQWdlbnQnKTtcblxudmFyIGlzRXZlbnRIYW5kbGVkID0gcmVxdWlyZSgnLi9pc0V2ZW50SGFuZGxlZCcpO1xudmFyIGtleUNvbW1hbmRCYWNrc3BhY2VUb1N0YXJ0T2ZMaW5lID0gcmVxdWlyZSgnLi9rZXlDb21tYW5kQmFja3NwYWNlVG9TdGFydE9mTGluZScpO1xudmFyIGtleUNvbW1hbmRCYWNrc3BhY2VXb3JkID0gcmVxdWlyZSgnLi9rZXlDb21tYW5kQmFja3NwYWNlV29yZCcpO1xudmFyIGtleUNvbW1hbmREZWxldGVXb3JkID0gcmVxdWlyZSgnLi9rZXlDb21tYW5kRGVsZXRlV29yZCcpO1xudmFyIGtleUNvbW1hbmRJbnNlcnROZXdsaW5lID0gcmVxdWlyZSgnLi9rZXlDb21tYW5kSW5zZXJ0TmV3bGluZScpO1xudmFyIGtleUNvbW1hbmRNb3ZlU2VsZWN0aW9uVG9FbmRPZkJsb2NrID0gcmVxdWlyZSgnLi9rZXlDb21tYW5kTW92ZVNlbGVjdGlvblRvRW5kT2ZCbG9jaycpO1xudmFyIGtleUNvbW1hbmRNb3ZlU2VsZWN0aW9uVG9TdGFydE9mQmxvY2sgPSByZXF1aXJlKCcuL2tleUNvbW1hbmRNb3ZlU2VsZWN0aW9uVG9TdGFydE9mQmxvY2snKTtcbnZhciBrZXlDb21tYW5kUGxhaW5CYWNrc3BhY2UgPSByZXF1aXJlKCcuL2tleUNvbW1hbmRQbGFpbkJhY2tzcGFjZScpO1xudmFyIGtleUNvbW1hbmRQbGFpbkRlbGV0ZSA9IHJlcXVpcmUoJy4va2V5Q29tbWFuZFBsYWluRGVsZXRlJyk7XG52YXIga2V5Q29tbWFuZFRyYW5zcG9zZUNoYXJhY3RlcnMgPSByZXF1aXJlKCcuL2tleUNvbW1hbmRUcmFuc3Bvc2VDaGFyYWN0ZXJzJyk7XG52YXIga2V5Q29tbWFuZFVuZG8gPSByZXF1aXJlKCcuL2tleUNvbW1hbmRVbmRvJyk7XG5cbnZhciBpc09wdGlvbktleUNvbW1hbmQgPSBLZXlCaW5kaW5nVXRpbC5pc09wdGlvbktleUNvbW1hbmQ7XG5cbnZhciBpc0Nocm9tZSA9IFVzZXJBZ2VudC5pc0Jyb3dzZXIoJ0Nocm9tZScpO1xuXG4vKipcbiAqIE1hcCBhIGBEcmFmdEVkaXRvckNvbW1hbmRgIGNvbW1hbmQgdmFsdWUgdG8gYSBjb3JyZXNwb25kaW5nIGZ1bmN0aW9uLlxuICovXG5mdW5jdGlvbiBvbktleUNvbW1hbmQoY29tbWFuZCwgZWRpdG9yU3RhdGUpIHtcbiAgc3dpdGNoIChjb21tYW5kKSB7XG4gICAgY2FzZSAncmVkbyc6XG4gICAgICByZXR1cm4gRWRpdG9yU3RhdGUucmVkbyhlZGl0b3JTdGF0ZSk7XG4gICAgY2FzZSAnZGVsZXRlJzpcbiAgICAgIHJldHVybiBrZXlDb21tYW5kUGxhaW5EZWxldGUoZWRpdG9yU3RhdGUpO1xuICAgIGNhc2UgJ2RlbGV0ZS13b3JkJzpcbiAgICAgIHJldHVybiBrZXlDb21tYW5kRGVsZXRlV29yZChlZGl0b3JTdGF0ZSk7XG4gICAgY2FzZSAnYmFja3NwYWNlJzpcbiAgICAgIHJldHVybiBrZXlDb21tYW5kUGxhaW5CYWNrc3BhY2UoZWRpdG9yU3RhdGUpO1xuICAgIGNhc2UgJ2JhY2tzcGFjZS13b3JkJzpcbiAgICAgIHJldHVybiBrZXlDb21tYW5kQmFja3NwYWNlV29yZChlZGl0b3JTdGF0ZSk7XG4gICAgY2FzZSAnYmFja3NwYWNlLXRvLXN0YXJ0LW9mLWxpbmUnOlxuICAgICAgcmV0dXJuIGtleUNvbW1hbmRCYWNrc3BhY2VUb1N0YXJ0T2ZMaW5lKGVkaXRvclN0YXRlKTtcbiAgICBjYXNlICdzcGxpdC1ibG9jayc6XG4gICAgICByZXR1cm4ga2V5Q29tbWFuZEluc2VydE5ld2xpbmUoZWRpdG9yU3RhdGUpO1xuICAgIGNhc2UgJ3RyYW5zcG9zZS1jaGFyYWN0ZXJzJzpcbiAgICAgIHJldHVybiBrZXlDb21tYW5kVHJhbnNwb3NlQ2hhcmFjdGVycyhlZGl0b3JTdGF0ZSk7XG4gICAgY2FzZSAnbW92ZS1zZWxlY3Rpb24tdG8tc3RhcnQtb2YtYmxvY2snOlxuICAgICAgcmV0dXJuIGtleUNvbW1hbmRNb3ZlU2VsZWN0aW9uVG9TdGFydE9mQmxvY2soZWRpdG9yU3RhdGUpO1xuICAgIGNhc2UgJ21vdmUtc2VsZWN0aW9uLXRvLWVuZC1vZi1ibG9jayc6XG4gICAgICByZXR1cm4ga2V5Q29tbWFuZE1vdmVTZWxlY3Rpb25Ub0VuZE9mQmxvY2soZWRpdG9yU3RhdGUpO1xuICAgIGNhc2UgJ3NlY29uZGFyeS1jdXQnOlxuICAgICAgcmV0dXJuIFNlY29uZGFyeUNsaXBib2FyZC5jdXQoZWRpdG9yU3RhdGUpO1xuICAgIGNhc2UgJ3NlY29uZGFyeS1wYXN0ZSc6XG4gICAgICByZXR1cm4gU2Vjb25kYXJ5Q2xpcGJvYXJkLnBhc3RlKGVkaXRvclN0YXRlKTtcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIGVkaXRvclN0YXRlO1xuICB9XG59XG5cbi8qKlxuICogSW50ZXJjZXB0IGtleWRvd24gYmVoYXZpb3IgdG8gaGFuZGxlIGtleXMgYW5kIGNvbW1hbmRzIG1hbnVhbGx5LCBpZiBkZXNpcmVkLlxuICpcbiAqIEtleWRvd24gY29tYmluYXRpb25zIG1heSBiZSBtYXBwZWQgdG8gYERyYWZ0Q29tbWFuZGAgdmFsdWVzLCB3aGljaCBtYXlcbiAqIGNvcnJlc3BvbmQgdG8gY29tbWFuZCBmdW5jdGlvbnMgdGhhdCBtb2RpZnkgdGhlIGVkaXRvciBvciBpdHMgY29udGVudHMuXG4gKlxuICogU2VlIGBnZXREZWZhdWx0S2V5QmluZGluZ2AgZm9yIGRlZmF1bHRzLiBBbHRlcm5hdGl2ZWx5LCB0aGUgdG9wLWxldmVsXG4gKiBjb21wb25lbnQgbWF5IHByb3ZpZGUgYSBjdXN0b20gbWFwcGluZyB2aWEgdGhlIGBrZXlCaW5kaW5nRm5gIHByb3AuXG4gKi9cbmZ1bmN0aW9uIGVkaXRPbktleURvd24oZWRpdG9yLCBlKSB7XG4gIHZhciBrZXlDb2RlID0gZS53aGljaDtcbiAgdmFyIGVkaXRvclN0YXRlID0gZWRpdG9yLl9sYXRlc3RFZGl0b3JTdGF0ZTtcblxuICBzd2l0Y2ggKGtleUNvZGUpIHtcbiAgICBjYXNlIEtleXMuUkVUVVJOOlxuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgLy8gVGhlIHRvcC1sZXZlbCBjb21wb25lbnQgbWF5IG1hbnVhbGx5IGhhbmRsZSBuZXdsaW5lIGluc2VydGlvbi4gSWZcbiAgICAgIC8vIG5vIHNwZWNpYWwgaGFuZGxpbmcgaXMgcGVyZm9ybWVkLCBmYWxsIHRocm91Z2ggdG8gY29tbWFuZCBoYW5kbGluZy5cbiAgICAgIGlmIChlZGl0b3IucHJvcHMuaGFuZGxlUmV0dXJuICYmIGlzRXZlbnRIYW5kbGVkKGVkaXRvci5wcm9wcy5oYW5kbGVSZXR1cm4oZSwgZWRpdG9yU3RhdGUpKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBicmVhaztcbiAgICBjYXNlIEtleXMuRVNDOlxuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgZWRpdG9yLnByb3BzLm9uRXNjYXBlICYmIGVkaXRvci5wcm9wcy5vbkVzY2FwZShlKTtcbiAgICAgIHJldHVybjtcbiAgICBjYXNlIEtleXMuVEFCOlxuICAgICAgZWRpdG9yLnByb3BzLm9uVGFiICYmIGVkaXRvci5wcm9wcy5vblRhYihlKTtcbiAgICAgIHJldHVybjtcbiAgICBjYXNlIEtleXMuVVA6XG4gICAgICBlZGl0b3IucHJvcHMub25VcEFycm93ICYmIGVkaXRvci5wcm9wcy5vblVwQXJyb3coZSk7XG4gICAgICByZXR1cm47XG4gICAgY2FzZSBLZXlzLlJJR0hUOlxuICAgICAgZWRpdG9yLnByb3BzLm9uUmlnaHRBcnJvdyAmJiBlZGl0b3IucHJvcHMub25SaWdodEFycm93KGUpO1xuICAgICAgcmV0dXJuO1xuICAgIGNhc2UgS2V5cy5ET1dOOlxuICAgICAgZWRpdG9yLnByb3BzLm9uRG93bkFycm93ICYmIGVkaXRvci5wcm9wcy5vbkRvd25BcnJvdyhlKTtcbiAgICAgIHJldHVybjtcbiAgICBjYXNlIEtleXMuTEVGVDpcbiAgICAgIGVkaXRvci5wcm9wcy5vbkxlZnRBcnJvdyAmJiBlZGl0b3IucHJvcHMub25MZWZ0QXJyb3coZSk7XG4gICAgICByZXR1cm47XG4gICAgY2FzZSBLZXlzLlNQQUNFOlxuICAgICAgLy8gSGFuZGxpbmcgZm9yIE9TWCB3aGVyZSBvcHRpb24gKyBzcGFjZSBzY3JvbGxzLlxuICAgICAgaWYgKGlzQ2hyb21lICYmIGlzT3B0aW9uS2V5Q29tbWFuZChlKSkge1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIC8vIEluc2VydCBhIG5ic3AgaW50byB0aGUgZWRpdG9yLlxuICAgICAgICB2YXIgY29udGVudFN0YXRlID0gRHJhZnRNb2RpZmllci5yZXBsYWNlVGV4dChlZGl0b3JTdGF0ZS5nZXRDdXJyZW50Q29udGVudCgpLCBlZGl0b3JTdGF0ZS5nZXRTZWxlY3Rpb24oKSwgJ1xceEEwJyk7XG4gICAgICAgIGVkaXRvci51cGRhdGUoRWRpdG9yU3RhdGUucHVzaChlZGl0b3JTdGF0ZSwgY29udGVudFN0YXRlLCAnaW5zZXJ0LWNoYXJhY3RlcnMnKSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgfVxuXG4gIHZhciBjb21tYW5kID0gZWRpdG9yLnByb3BzLmtleUJpbmRpbmdGbihlKTtcblxuICAvLyBJZiBubyBjb21tYW5kIGlzIHNwZWNpZmllZCwgYWxsb3cga2V5ZG93biBldmVudCB0byBjb250aW51ZS5cbiAgaWYgKCFjb21tYW5kKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgaWYgKGNvbW1hbmQgPT09ICd1bmRvJykge1xuICAgIC8vIFNpbmNlIHVuZG8gcmVxdWlyZXMgc29tZSBzcGVjaWFsIHVwZGF0aW5nIGJlaGF2aW9yIHRvIGtlZXAgdGhlIGVkaXRvclxuICAgIC8vIGluIHN5bmMsIGhhbmRsZSBpdCBzZXBhcmF0ZWx5LlxuICAgIGtleUNvbW1hbmRVbmRvKGUsIGVkaXRvclN0YXRlLCBlZGl0b3IudXBkYXRlKTtcbiAgICByZXR1cm47XG4gIH1cblxuICAvLyBBdCB0aGlzIHBvaW50LCB3ZSBrbm93IHRoYXQgd2UncmUgaGFuZGxpbmcgYSBjb21tYW5kIG9mIHNvbWUga2luZCwgc29cbiAgLy8gd2UgZG9uJ3Qgd2FudCB0byBpbnNlcnQgYSBjaGFyYWN0ZXIgZm9sbG93aW5nIHRoZSBrZXlkb3duLlxuICBlLnByZXZlbnREZWZhdWx0KCk7XG5cbiAgLy8gQWxsb3cgY29tcG9uZW50cyBoaWdoZXIgdXAgdGhlIHRyZWUgdG8gaGFuZGxlIHRoZSBjb21tYW5kIGZpcnN0LlxuICBpZiAoZWRpdG9yLnByb3BzLmhhbmRsZUtleUNvbW1hbmQgJiYgaXNFdmVudEhhbmRsZWQoZWRpdG9yLnByb3BzLmhhbmRsZUtleUNvbW1hbmQoY29tbWFuZCwgZWRpdG9yU3RhdGUpKSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHZhciBuZXdTdGF0ZSA9IG9uS2V5Q29tbWFuZChjb21tYW5kLCBlZGl0b3JTdGF0ZSk7XG4gIGlmIChuZXdTdGF0ZSAhPT0gZWRpdG9yU3RhdGUpIHtcbiAgICBlZGl0b3IudXBkYXRlKG5ld1N0YXRlKTtcbiAgfVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGVkaXRPbktleURvd247Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/editOnKeyDown.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nvar DraftModifier = __webpack_require__(/*! ./DraftModifier */ \"./node_modules/draft-js/lib/DraftModifier.js\");\n\nvar EditorState = __webpack_require__(/*! ./EditorState */ \"./node_modules/draft-js/lib/EditorState.js\");\n\nvar KeyBindingUtil = __webpack_require__(/*! ./KeyBindingUtil */ \"./node_modules/draft-js/lib/KeyBindingUtil.js\");\n\nvar Keys = __webpack_require__(/*! fbjs/lib/Keys */ \"./node_modules/fbjs/lib/Keys.js\");\n\nvar SecondaryClipboard = __webpack_require__(/*! ./SecondaryClipboard */ \"./node_modules/draft-js/lib/SecondaryClipboard.js\");\n\nvar UserAgent = __webpack_require__(/*! fbjs/lib/UserAgent */ \"./node_modules/fbjs/lib/UserAgent.js\");\n\nvar isEventHandled = __webpack_require__(/*! ./isEventHandled */ \"./node_modules/draft-js/lib/isEventHandled.js\");\n\nvar keyCommandBackspaceToStartOfLine = __webpack_require__(/*! ./keyCommandBackspaceToStartOfLine */ \"./node_modules/draft-js/lib/keyCommandBackspaceToStartOfLine.js\");\n\nvar keyCommandBackspaceWord = __webpack_require__(/*! ./keyCommandBackspaceWord */ \"./node_modules/draft-js/lib/keyCommandBackspaceWord.js\");\n\nvar keyCommandDeleteWord = __webpack_require__(/*! ./keyCommandDeleteWord */ \"./node_modules/draft-js/lib/keyCommandDeleteWord.js\");\n\nvar keyCommandInsertNewline = __webpack_require__(/*! ./keyCommandInsertNewline */ \"./node_modules/draft-js/lib/keyCommandInsertNewline.js\");\n\nvar keyCommandMoveSelectionToEndOfBlock = __webpack_require__(/*! ./keyCommandMoveSelectionToEndOfBlock */ \"./node_modules/draft-js/lib/keyCommandMoveSelectionToEndOfBlock.js\");\n\nvar keyCommandMoveSelectionToStartOfBlock = __webpack_require__(/*! ./keyCommandMoveSelectionToStartOfBlock */ \"./node_modules/draft-js/lib/keyCommandMoveSelectionToStartOfBlock.js\");\n\nvar keyCommandPlainBackspace = __webpack_require__(/*! ./keyCommandPlainBackspace */ \"./node_modules/draft-js/lib/keyCommandPlainBackspace.js\");\n\nvar keyCommandPlainDelete = __webpack_require__(/*! ./keyCommandPlainDelete */ \"./node_modules/draft-js/lib/keyCommandPlainDelete.js\");\n\nvar keyCommandTransposeCharacters = __webpack_require__(/*! ./keyCommandTransposeCharacters */ \"./node_modules/draft-js/lib/keyCommandTransposeCharacters.js\");\n\nvar keyCommandUndo = __webpack_require__(/*! ./keyCommandUndo */ \"./node_modules/draft-js/lib/keyCommandUndo.js\");\n\nvar isOptionKeyCommand = KeyBindingUtil.isOptionKeyCommand;\nvar isChrome = UserAgent.isBrowser('Chrome');\n/**\n * Map a `DraftEditorCommand` command value to a corresponding function.\n */\n\nfunction onKeyCommand(command, editorState, e) {\n switch (command) {\n case 'redo':\n return EditorState.redo(editorState);\n\n case 'delete':\n return keyCommandPlainDelete(editorState);\n\n case 'delete-word':\n return keyCommandDeleteWord(editorState);\n\n case 'backspace':\n return keyCommandPlainBackspace(editorState);\n\n case 'backspace-word':\n return keyCommandBackspaceWord(editorState);\n\n case 'backspace-to-start-of-line':\n return keyCommandBackspaceToStartOfLine(editorState, e);\n\n case 'split-block':\n return keyCommandInsertNewline(editorState);\n\n case 'transpose-characters':\n return keyCommandTransposeCharacters(editorState);\n\n case 'move-selection-to-start-of-block':\n return keyCommandMoveSelectionToStartOfBlock(editorState);\n\n case 'move-selection-to-end-of-block':\n return keyCommandMoveSelectionToEndOfBlock(editorState);\n\n case 'secondary-cut':\n return SecondaryClipboard.cut(editorState);\n\n case 'secondary-paste':\n return SecondaryClipboard.paste(editorState);\n\n default:\n return editorState;\n }\n}\n/**\n * Intercept keydown behavior to handle keys and commands manually, if desired.\n *\n * Keydown combinations may be mapped to `DraftCommand` values, which may\n * correspond to command functions that modify the editor or its contents.\n *\n * See `getDefaultKeyBinding` for defaults. Alternatively, the top-level\n * component may provide a custom mapping via the `keyBindingFn` prop.\n */\n\n\nfunction editOnKeyDown(editor, e) {\n var keyCode = e.which;\n var editorState = editor._latestEditorState;\n\n function callDeprecatedHandler(handlerName) {\n var deprecatedHandler = editor.props[handlerName];\n\n if (deprecatedHandler) {\n deprecatedHandler(e);\n return true;\n } else {\n return false;\n }\n }\n\n switch (keyCode) {\n case Keys.RETURN:\n e.preventDefault(); // The top-level component may manually handle newline insertion. If\n // no special handling is performed, fall through to command handling.\n\n if (editor.props.handleReturn && isEventHandled(editor.props.handleReturn(e, editorState))) {\n return;\n }\n\n break;\n\n case Keys.ESC:\n e.preventDefault();\n\n if (callDeprecatedHandler('onEscape')) {\n return;\n }\n\n break;\n\n case Keys.TAB:\n if (callDeprecatedHandler('onTab')) {\n return;\n }\n\n break;\n\n case Keys.UP:\n if (callDeprecatedHandler('onUpArrow')) {\n return;\n }\n\n break;\n\n case Keys.RIGHT:\n if (callDeprecatedHandler('onRightArrow')) {\n return;\n }\n\n break;\n\n case Keys.DOWN:\n if (callDeprecatedHandler('onDownArrow')) {\n return;\n }\n\n break;\n\n case Keys.LEFT:\n if (callDeprecatedHandler('onLeftArrow')) {\n return;\n }\n\n break;\n\n case Keys.SPACE:\n // Prevent Chrome on OSX behavior where option + space scrolls.\n if (isChrome && isOptionKeyCommand(e)) {\n e.preventDefault();\n }\n\n }\n\n var command = editor.props.keyBindingFn(e); // If no command is specified, allow keydown event to continue.\n\n if (command == null || command === '') {\n if (keyCode === Keys.SPACE && isChrome && isOptionKeyCommand(e)) {\n // The default keydown event has already been prevented in order to stop\n // Chrome from scrolling. Insert a nbsp into the editor as OSX would for\n // other browsers.\n var contentState = DraftModifier.replaceText(editorState.getCurrentContent(), editorState.getSelection(), \"\\xA0\");\n editor.update(EditorState.push(editorState, contentState, 'insert-characters'));\n }\n\n return;\n }\n\n if (command === 'undo') {\n // Since undo requires some special updating behavior to keep the editor\n // in sync, handle it separately.\n keyCommandUndo(e, editorState, editor.update);\n return;\n } // At this point, we know that we're handling a command of some kind, so\n // we don't want to insert a character following the keydown.\n\n\n e.preventDefault(); // Allow components higher up the tree to handle the command first.\n\n if (editor.props.handleKeyCommand && isEventHandled(editor.props.handleKeyCommand(command, editorState, e.timeStamp))) {\n return;\n }\n\n var newState = onKeyCommand(command, editorState, e);\n\n if (newState !== editorState) {\n editor.update(newState);\n }\n}\n\nmodule.exports = editOnKeyDown;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2VkaXRPbktleURvd24uanM/MGJkMSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNhOztBQUViLG9CQUFvQixtQkFBTyxDQUFDLHFFQUFpQjs7QUFFN0Msa0JBQWtCLG1CQUFPLENBQUMsaUVBQWU7O0FBRXpDLHFCQUFxQixtQkFBTyxDQUFDLHVFQUFrQjs7QUFFL0MsV0FBVyxtQkFBTyxDQUFDLHNEQUFlOztBQUVsQyx5QkFBeUIsbUJBQU8sQ0FBQywrRUFBc0I7O0FBRXZELGdCQUFnQixtQkFBTyxDQUFDLGdFQUFvQjs7QUFFNUMscUJBQXFCLG1CQUFPLENBQUMsdUVBQWtCOztBQUUvQyx1Q0FBdUMsbUJBQU8sQ0FBQywyR0FBb0M7O0FBRW5GLDhCQUE4QixtQkFBTyxDQUFDLHlGQUEyQjs7QUFFakUsMkJBQTJCLG1CQUFPLENBQUMsbUZBQXdCOztBQUUzRCw4QkFBOEIsbUJBQU8sQ0FBQyx5RkFBMkI7O0FBRWpFLDBDQUEwQyxtQkFBTyxDQUFDLGlIQUF1Qzs7QUFFekYsNENBQTRDLG1CQUFPLENBQUMscUhBQXlDOztBQUU3RiwrQkFBK0IsbUJBQU8sQ0FBQywyRkFBNEI7O0FBRW5FLDRCQUE0QixtQkFBTyxDQUFDLHFGQUF5Qjs7QUFFN0Qsb0NBQW9DLG1CQUFPLENBQUMscUdBQWlDOztBQUU3RSxxQkFBcUIsbUJBQU8sQ0FBQyx1RUFBa0I7O0FBRS9DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSx5QkFBeUI7QUFDekI7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUEsNkNBQTZDOztBQUU3QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7O0FBR0EscUJBQXFCOztBQUVyQjtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUEiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2VkaXRPbktleURvd24uanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgRmFjZWJvb2ssIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIEBmb3JtYXRcbiAqIFxuICogQGVtYWlscyBvbmNhbGwrZHJhZnRfanNcbiAqL1xuJ3VzZSBzdHJpY3QnO1xuXG52YXIgRHJhZnRNb2RpZmllciA9IHJlcXVpcmUoXCIuL0RyYWZ0TW9kaWZpZXJcIik7XG5cbnZhciBFZGl0b3JTdGF0ZSA9IHJlcXVpcmUoXCIuL0VkaXRvclN0YXRlXCIpO1xuXG52YXIgS2V5QmluZGluZ1V0aWwgPSByZXF1aXJlKFwiLi9LZXlCaW5kaW5nVXRpbFwiKTtcblxudmFyIEtleXMgPSByZXF1aXJlKFwiZmJqcy9saWIvS2V5c1wiKTtcblxudmFyIFNlY29uZGFyeUNsaXBib2FyZCA9IHJlcXVpcmUoXCIuL1NlY29uZGFyeUNsaXBib2FyZFwiKTtcblxudmFyIFVzZXJBZ2VudCA9IHJlcXVpcmUoXCJmYmpzL2xpYi9Vc2VyQWdlbnRcIik7XG5cbnZhciBpc0V2ZW50SGFuZGxlZCA9IHJlcXVpcmUoXCIuL2lzRXZlbnRIYW5kbGVkXCIpO1xuXG52YXIga2V5Q29tbWFuZEJhY2tzcGFjZVRvU3RhcnRPZkxpbmUgPSByZXF1aXJlKFwiLi9rZXlDb21tYW5kQmFja3NwYWNlVG9TdGFydE9mTGluZVwiKTtcblxudmFyIGtleUNvbW1hbmRCYWNrc3BhY2VXb3JkID0gcmVxdWlyZShcIi4va2V5Q29tbWFuZEJhY2tzcGFjZVdvcmRcIik7XG5cbnZhciBrZXlDb21tYW5kRGVsZXRlV29yZCA9IHJlcXVpcmUoXCIuL2tleUNvbW1hbmREZWxldGVXb3JkXCIpO1xuXG52YXIga2V5Q29tbWFuZEluc2VydE5ld2xpbmUgPSByZXF1aXJlKFwiLi9rZXlDb21tYW5kSW5zZXJ0TmV3bGluZVwiKTtcblxudmFyIGtleUNvbW1hbmRNb3ZlU2VsZWN0aW9uVG9FbmRPZkJsb2NrID0gcmVxdWlyZShcIi4va2V5Q29tbWFuZE1vdmVTZWxlY3Rpb25Ub0VuZE9mQmxvY2tcIik7XG5cbnZhciBrZXlDb21tYW5kTW92ZVNlbGVjdGlvblRvU3RhcnRPZkJsb2NrID0gcmVxdWlyZShcIi4va2V5Q29tbWFuZE1vdmVTZWxlY3Rpb25Ub1N0YXJ0T2ZCbG9ja1wiKTtcblxudmFyIGtleUNvbW1hbmRQbGFpbkJhY2tzcGFjZSA9IHJlcXVpcmUoXCIuL2tleUNvbW1hbmRQbGFpbkJhY2tzcGFjZVwiKTtcblxudmFyIGtleUNvbW1hbmRQbGFpbkRlbGV0ZSA9IHJlcXVpcmUoXCIuL2tleUNvbW1hbmRQbGFpbkRlbGV0ZVwiKTtcblxudmFyIGtleUNvbW1hbmRUcmFuc3Bvc2VDaGFyYWN0ZXJzID0gcmVxdWlyZShcIi4va2V5Q29tbWFuZFRyYW5zcG9zZUNoYXJhY3RlcnNcIik7XG5cbnZhciBrZXlDb21tYW5kVW5kbyA9IHJlcXVpcmUoXCIuL2tleUNvbW1hbmRVbmRvXCIpO1xuXG52YXIgaXNPcHRpb25LZXlDb21tYW5kID0gS2V5QmluZGluZ1V0aWwuaXNPcHRpb25LZXlDb21tYW5kO1xudmFyIGlzQ2hyb21lID0gVXNlckFnZW50LmlzQnJvd3NlcignQ2hyb21lJyk7XG4vKipcbiAqIE1hcCBhIGBEcmFmdEVkaXRvckNvbW1hbmRgIGNvbW1hbmQgdmFsdWUgdG8gYSBjb3JyZXNwb25kaW5nIGZ1bmN0aW9uLlxuICovXG5cbmZ1bmN0aW9uIG9uS2V5Q29tbWFuZChjb21tYW5kLCBlZGl0b3JTdGF0ZSwgZSkge1xuICBzd2l0Y2ggKGNvbW1hbmQpIHtcbiAgICBjYXNlICdyZWRvJzpcbiAgICAgIHJldHVybiBFZGl0b3JTdGF0ZS5yZWRvKGVkaXRvclN0YXRlKTtcblxuICAgIGNhc2UgJ2RlbGV0ZSc6XG4gICAgICByZXR1cm4ga2V5Q29tbWFuZFBsYWluRGVsZXRlKGVkaXRvclN0YXRlKTtcblxuICAgIGNhc2UgJ2RlbGV0ZS13b3JkJzpcbiAgICAgIHJldHVybiBrZXlDb21tYW5kRGVsZXRlV29yZChlZGl0b3JTdGF0ZSk7XG5cbiAgICBjYXNlICdiYWNrc3BhY2UnOlxuICAgICAgcmV0dXJuIGtleUNvbW1hbmRQbGFpbkJhY2tzcGFjZShlZGl0b3JTdGF0ZSk7XG5cbiAgICBjYXNlICdiYWNrc3BhY2Utd29yZCc6XG4gICAgICByZXR1cm4ga2V5Q29tbWFuZEJhY2tzcGFjZVdvcmQoZWRpdG9yU3RhdGUpO1xuXG4gICAgY2FzZSAnYmFja3NwYWNlLXRvLXN0YXJ0LW9mLWxpbmUnOlxuICAgICAgcmV0dXJuIGtleUNvbW1hbmRCYWNrc3BhY2VUb1N0YXJ0T2ZMaW5lKGVkaXRvclN0YXRlLCBlKTtcblxuICAgIGNhc2UgJ3NwbGl0LWJsb2NrJzpcbiAgICAgIHJldHVybiBrZXlDb21tYW5kSW5zZXJ0TmV3bGluZShlZGl0b3JTdGF0ZSk7XG5cbiAgICBjYXNlICd0cmFuc3Bvc2UtY2hhcmFjdGVycyc6XG4gICAgICByZXR1cm4ga2V5Q29tbWFuZFRyYW5zcG9zZUNoYXJhY3RlcnMoZWRpdG9yU3RhdGUpO1xuXG4gICAgY2FzZSAnbW92ZS1zZWxlY3Rpb24tdG8tc3RhcnQtb2YtYmxvY2snOlxuICAgICAgcmV0dXJuIGtleUNvbW1hbmRNb3ZlU2VsZWN0aW9uVG9TdGFydE9mQmxvY2soZWRpdG9yU3RhdGUpO1xuXG4gICAgY2FzZSAnbW92ZS1zZWxlY3Rpb24tdG8tZW5kLW9mLWJsb2NrJzpcbiAgICAgIHJldHVybiBrZXlDb21tYW5kTW92ZVNlbGVjdGlvblRvRW5kT2ZCbG9jayhlZGl0b3JTdGF0ZSk7XG5cbiAgICBjYXNlICdzZWNvbmRhcnktY3V0JzpcbiAgICAgIHJldHVybiBTZWNvbmRhcnlDbGlwYm9hcmQuY3V0KGVkaXRvclN0YXRlKTtcblxuICAgIGNhc2UgJ3NlY29uZGFyeS1wYXN0ZSc6XG4gICAgICByZXR1cm4gU2Vjb25kYXJ5Q2xpcGJvYXJkLnBhc3RlKGVkaXRvclN0YXRlKTtcblxuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gZWRpdG9yU3RhdGU7XG4gIH1cbn1cbi8qKlxuICogSW50ZXJjZXB0IGtleWRvd24gYmVoYXZpb3IgdG8gaGFuZGxlIGtleXMgYW5kIGNvbW1hbmRzIG1hbnVhbGx5LCBpZiBkZXNpcmVkLlxuICpcbiAqIEtleWRvd24gY29tYmluYXRpb25zIG1heSBiZSBtYXBwZWQgdG8gYERyYWZ0Q29tbWFuZGAgdmFsdWVzLCB3aGljaCBtYXlcbiAqIGNvcnJlc3BvbmQgdG8gY29tbWFuZCBmdW5jdGlvbnMgdGhhdCBtb2RpZnkgdGhlIGVkaXRvciBvciBpdHMgY29udGVudHMuXG4gKlxuICogU2VlIGBnZXREZWZhdWx0S2V5QmluZGluZ2AgZm9yIGRlZmF1bHRzLiBBbHRlcm5hdGl2ZWx5LCB0aGUgdG9wLWxldmVsXG4gKiBjb21wb25lbnQgbWF5IHByb3ZpZGUgYSBjdXN0b20gbWFwcGluZyB2aWEgdGhlIGBrZXlCaW5kaW5nRm5gIHByb3AuXG4gKi9cblxuXG5mdW5jdGlvbiBlZGl0T25LZXlEb3duKGVkaXRvciwgZSkge1xuICB2YXIga2V5Q29kZSA9IGUud2hpY2g7XG4gIHZhciBlZGl0b3JTdGF0ZSA9IGVkaXRvci5fbGF0ZXN0RWRpdG9yU3RhdGU7XG5cbiAgZnVuY3Rpb24gY2FsbERlcHJlY2F0ZWRIYW5kbGVyKGhhbmRsZXJOYW1lKSB7XG4gICAgdmFyIGRlcHJlY2F0ZWRIYW5kbGVyID0gZWRpdG9yLnByb3BzW2hhbmRsZXJOYW1lXTtcblxuICAgIGlmIChkZXByZWNhdGVkSGFuZGxlcikge1xuICAgICAgZGVwcmVjYXRlZEhhbmRsZXIoZSk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHN3aXRjaCAoa2V5Q29kZSkge1xuICAgIGNhc2UgS2V5cy5SRVRVUk46XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7IC8vIFRoZSB0b3AtbGV2ZWwgY29tcG9uZW50IG1heSBtYW51YWxseSBoYW5kbGUgbmV3bGluZSBpbnNlcnRpb24uIElmXG4gICAgICAvLyBubyBzcGVjaWFsIGhhbmRsaW5nIGlzIHBlcmZvcm1lZCwgZmFsbCB0aHJvdWdoIHRvIGNvbW1hbmQgaGFuZGxpbmcuXG5cbiAgICAgIGlmIChlZGl0b3IucHJvcHMuaGFuZGxlUmV0dXJuICYmIGlzRXZlbnRIYW5kbGVkKGVkaXRvci5wcm9wcy5oYW5kbGVSZXR1cm4oZSwgZWRpdG9yU3RhdGUpKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSBLZXlzLkVTQzpcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgaWYgKGNhbGxEZXByZWNhdGVkSGFuZGxlcignb25Fc2NhcGUnKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSBLZXlzLlRBQjpcbiAgICAgIGlmIChjYWxsRGVwcmVjYXRlZEhhbmRsZXIoJ29uVGFiJykpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBicmVhaztcblxuICAgIGNhc2UgS2V5cy5VUDpcbiAgICAgIGlmIChjYWxsRGVwcmVjYXRlZEhhbmRsZXIoJ29uVXBBcnJvdycpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlIEtleXMuUklHSFQ6XG4gICAgICBpZiAoY2FsbERlcHJlY2F0ZWRIYW5kbGVyKCdvblJpZ2h0QXJyb3cnKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSBLZXlzLkRPV046XG4gICAgICBpZiAoY2FsbERlcHJlY2F0ZWRIYW5kbGVyKCdvbkRvd25BcnJvdycpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlIEtleXMuTEVGVDpcbiAgICAgIGlmIChjYWxsRGVwcmVjYXRlZEhhbmRsZXIoJ29uTGVmdEFycm93JykpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBicmVhaztcblxuICAgIGNhc2UgS2V5cy5TUEFDRTpcbiAgICAgIC8vIFByZXZlbnQgQ2hyb21lIG9uIE9TWCBiZWhhdmlvciB3aGVyZSBvcHRpb24gKyBzcGFjZSBzY3JvbGxzLlxuICAgICAgaWYgKGlzQ2hyb21lICYmIGlzT3B0aW9uS2V5Q29tbWFuZChlKSkge1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB9XG5cbiAgfVxuXG4gIHZhciBjb21tYW5kID0gZWRpdG9yLnByb3BzLmtleUJpbmRpbmdGbihlKTsgLy8gSWYgbm8gY29tbWFuZCBpcyBzcGVjaWZpZWQsIGFsbG93IGtleWRvd24gZXZlbnQgdG8gY29udGludWUuXG5cbiAgaWYgKGNvbW1hbmQgPT0gbnVsbCB8fCBjb21tYW5kID09PSAnJykge1xuICAgIGlmIChrZXlDb2RlID09PSBLZXlzLlNQQUNFICYmIGlzQ2hyb21lICYmIGlzT3B0aW9uS2V5Q29tbWFuZChlKSkge1xuICAgICAgLy8gVGhlIGRlZmF1bHQga2V5ZG93biBldmVudCBoYXMgYWxyZWFkeSBiZWVuIHByZXZlbnRlZCBpbiBvcmRlciB0byBzdG9wXG4gICAgICAvLyBDaHJvbWUgZnJvbSBzY3JvbGxpbmcuIEluc2VydCBhIG5ic3AgaW50byB0aGUgZWRpdG9yIGFzIE9TWCB3b3VsZCBmb3JcbiAgICAgIC8vIG90aGVyIGJyb3dzZXJzLlxuICAgICAgdmFyIGNvbnRlbnRTdGF0ZSA9IERyYWZ0TW9kaWZpZXIucmVwbGFjZVRleHQoZWRpdG9yU3RhdGUuZ2V0Q3VycmVudENvbnRlbnQoKSwgZWRpdG9yU3RhdGUuZ2V0U2VsZWN0aW9uKCksIFwiXFx4QTBcIik7XG4gICAgICBlZGl0b3IudXBkYXRlKEVkaXRvclN0YXRlLnB1c2goZWRpdG9yU3RhdGUsIGNvbnRlbnRTdGF0ZSwgJ2luc2VydC1jaGFyYWN0ZXJzJykpO1xuICAgIH1cblxuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmIChjb21tYW5kID09PSAndW5kbycpIHtcbiAgICAvLyBTaW5jZSB1bmRvIHJlcXVpcmVzIHNvbWUgc3BlY2lhbCB1cGRhdGluZyBiZWhhdmlvciB0byBrZWVwIHRoZSBlZGl0b3JcbiAgICAvLyBpbiBzeW5jLCBoYW5kbGUgaXQgc2VwYXJhdGVseS5cbiAgICBrZXlDb21tYW5kVW5kbyhlLCBlZGl0b3JTdGF0ZSwgZWRpdG9yLnVwZGF0ZSk7XG4gICAgcmV0dXJuO1xuICB9IC8vIEF0IHRoaXMgcG9pbnQsIHdlIGtub3cgdGhhdCB3ZSdyZSBoYW5kbGluZyBhIGNvbW1hbmQgb2Ygc29tZSBraW5kLCBzb1xuICAvLyB3ZSBkb24ndCB3YW50IHRvIGluc2VydCBhIGNoYXJhY3RlciBmb2xsb3dpbmcgdGhlIGtleWRvd24uXG5cblxuICBlLnByZXZlbnREZWZhdWx0KCk7IC8vIEFsbG93IGNvbXBvbmVudHMgaGlnaGVyIHVwIHRoZSB0cmVlIHRvIGhhbmRsZSB0aGUgY29tbWFuZCBmaXJzdC5cblxuICBpZiAoZWRpdG9yLnByb3BzLmhhbmRsZUtleUNvbW1hbmQgJiYgaXNFdmVudEhhbmRsZWQoZWRpdG9yLnByb3BzLmhhbmRsZUtleUNvbW1hbmQoY29tbWFuZCwgZWRpdG9yU3RhdGUsIGUudGltZVN0YW1wKSkpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICB2YXIgbmV3U3RhdGUgPSBvbktleUNvbW1hbmQoY29tbWFuZCwgZWRpdG9yU3RhdGUsIGUpO1xuXG4gIGlmIChuZXdTdGF0ZSAhPT0gZWRpdG9yU3RhdGUpIHtcbiAgICBlZGl0b3IudXBkYXRlKG5ld1N0YXRlKTtcbiAgfVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGVkaXRPbktleURvd247Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/editOnKeyDown.js\n"); /***/ }), @@ -727,7 +822,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule editOnPaste\n * @format\n * \n */\n\n\n\nvar BlockMapBuilder = __webpack_require__(/*! ./BlockMapBuilder */ \"./node_modules/draft-js/lib/BlockMapBuilder.js\");\nvar CharacterMetadata = __webpack_require__(/*! ./CharacterMetadata */ \"./node_modules/draft-js/lib/CharacterMetadata.js\");\nvar DataTransfer = __webpack_require__(/*! fbjs/lib/DataTransfer */ \"./node_modules/fbjs/lib/DataTransfer.js\");\nvar DraftModifier = __webpack_require__(/*! ./DraftModifier */ \"./node_modules/draft-js/lib/DraftModifier.js\");\nvar DraftPasteProcessor = __webpack_require__(/*! ./DraftPasteProcessor */ \"./node_modules/draft-js/lib/DraftPasteProcessor.js\");\nvar EditorState = __webpack_require__(/*! ./EditorState */ \"./node_modules/draft-js/lib/EditorState.js\");\nvar RichTextEditorUtil = __webpack_require__(/*! ./RichTextEditorUtil */ \"./node_modules/draft-js/lib/RichTextEditorUtil.js\");\n\nvar getEntityKeyForSelection = __webpack_require__(/*! ./getEntityKeyForSelection */ \"./node_modules/draft-js/lib/getEntityKeyForSelection.js\");\nvar getTextContentFromFiles = __webpack_require__(/*! ./getTextContentFromFiles */ \"./node_modules/draft-js/lib/getTextContentFromFiles.js\");\nvar isEventHandled = __webpack_require__(/*! ./isEventHandled */ \"./node_modules/draft-js/lib/isEventHandled.js\");\nvar splitTextIntoTextBlocks = __webpack_require__(/*! ./splitTextIntoTextBlocks */ \"./node_modules/draft-js/lib/splitTextIntoTextBlocks.js\");\n\n/**\n * Paste content.\n */\nfunction editOnPaste(editor, e) {\n e.preventDefault();\n var data = new DataTransfer(e.clipboardData);\n\n // Get files, unless this is likely to be a string the user wants inline.\n if (!data.isRichText()) {\n var files = data.getFiles();\n var defaultFileText = data.getText();\n if (files.length > 0) {\n // Allow customized paste handling for images, etc. Otherwise, fall\n // through to insert text contents into the editor.\n if (editor.props.handlePastedFiles && isEventHandled(editor.props.handlePastedFiles(files))) {\n return;\n }\n\n getTextContentFromFiles(files, function ( /*string*/fileText) {\n fileText = fileText || defaultFileText;\n if (!fileText) {\n return;\n }\n\n var editorState = editor._latestEditorState;\n var blocks = splitTextIntoTextBlocks(fileText);\n var character = CharacterMetadata.create({\n style: editorState.getCurrentInlineStyle(),\n entity: getEntityKeyForSelection(editorState.getCurrentContent(), editorState.getSelection())\n });\n var currentBlockType = RichTextEditorUtil.getCurrentBlockType(editorState);\n\n var text = DraftPasteProcessor.processText(blocks, character, currentBlockType);\n var fragment = BlockMapBuilder.createFromArray(text);\n\n var withInsertedText = DraftModifier.replaceWithFragment(editorState.getCurrentContent(), editorState.getSelection(), fragment);\n\n editor.update(EditorState.push(editorState, withInsertedText, 'insert-fragment'));\n });\n\n return;\n }\n }\n\n var textBlocks = [];\n var text = data.getText();\n var html = data.getHTML();\n var editorState = editor._latestEditorState;\n\n if (editor.props.handlePastedText && isEventHandled(editor.props.handlePastedText(text, html, editorState))) {\n return;\n }\n\n if (text) {\n textBlocks = splitTextIntoTextBlocks(text);\n }\n\n if (!editor.props.stripPastedStyles) {\n // If the text from the paste event is rich content that matches what we\n // already have on the internal clipboard, assume that we should just use\n // the clipboard fragment for the paste. This will allow us to preserve\n // styling and entities, if any are present. Note that newlines are\n // stripped during comparison -- this is because copy/paste within the\n // editor in Firefox and IE will not include empty lines. The resulting\n // paste will preserve the newlines correctly.\n var internalClipboard = editor.getClipboard();\n if (data.isRichText() && internalClipboard) {\n if (\n // If the editorKey is present in the pasted HTML, it should be safe to\n // assume this is an internal paste.\n html.indexOf(editor.getEditorKey()) !== -1 ||\n // The copy may have been made within a single block, in which case the\n // editor key won't be part of the paste. In this case, just check\n // whether the pasted text matches the internal clipboard.\n textBlocks.length === 1 && internalClipboard.size === 1 && internalClipboard.first().getText() === text) {\n editor.update(insertFragment(editor._latestEditorState, internalClipboard));\n return;\n }\n } else if (internalClipboard && data.types.includes('com.apple.webarchive') && !data.types.includes('text/html') && areTextBlocksAndClipboardEqual(textBlocks, internalClipboard)) {\n // Safari does not properly store text/html in some cases.\n // Use the internalClipboard if present and equal to what is on\n // the clipboard. See https://bugs.webkit.org/show_bug.cgi?id=19893.\n editor.update(insertFragment(editor._latestEditorState, internalClipboard));\n return;\n }\n\n // If there is html paste data, try to parse that.\n if (html) {\n var htmlFragment = DraftPasteProcessor.processHTML(html, editor.props.blockRenderMap);\n if (htmlFragment) {\n var contentBlocks = htmlFragment.contentBlocks,\n entityMap = htmlFragment.entityMap;\n\n if (contentBlocks) {\n var htmlMap = BlockMapBuilder.createFromArray(contentBlocks);\n editor.update(insertFragment(editor._latestEditorState, htmlMap, entityMap));\n return;\n }\n }\n }\n\n // Otherwise, create a new fragment from our pasted text. Also\n // empty the internal clipboard, since it's no longer valid.\n editor.setClipboard(null);\n }\n\n if (textBlocks.length) {\n var character = CharacterMetadata.create({\n style: editorState.getCurrentInlineStyle(),\n entity: getEntityKeyForSelection(editorState.getCurrentContent(), editorState.getSelection())\n });\n\n var currentBlockType = RichTextEditorUtil.getCurrentBlockType(editorState);\n\n var textFragment = DraftPasteProcessor.processText(textBlocks, character, currentBlockType);\n\n var textMap = BlockMapBuilder.createFromArray(textFragment);\n editor.update(insertFragment(editor._latestEditorState, textMap));\n }\n}\n\nfunction insertFragment(editorState, fragment, entityMap) {\n var newContent = DraftModifier.replaceWithFragment(editorState.getCurrentContent(), editorState.getSelection(), fragment);\n // TODO: merge the entity map once we stop using DraftEntity\n // like this:\n // const mergedEntityMap = newContent.getEntityMap().merge(entityMap);\n\n return EditorState.push(editorState, newContent.set('entityMap', entityMap), 'insert-fragment');\n}\n\nfunction areTextBlocksAndClipboardEqual(textBlocks, blockMap) {\n return textBlocks.length === blockMap.size && blockMap.valueSeq().every(function (block, ii) {\n return block.getText() === textBlocks[ii];\n });\n}\n\nmodule.exports = editOnPaste;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2VkaXRPblBhc3RlLmpzPzkwMzkiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVhOztBQUViLHNCQUFzQixtQkFBTyxDQUFDLHlFQUFtQjtBQUNqRCx3QkFBd0IsbUJBQU8sQ0FBQyw2RUFBcUI7QUFDckQsbUJBQW1CLG1CQUFPLENBQUMsc0VBQXVCO0FBQ2xELG9CQUFvQixtQkFBTyxDQUFDLHFFQUFpQjtBQUM3QywwQkFBMEIsbUJBQU8sQ0FBQyxpRkFBdUI7QUFDekQsa0JBQWtCLG1CQUFPLENBQUMsaUVBQWU7QUFDekMseUJBQXlCLG1CQUFPLENBQUMsK0VBQXNCOztBQUV2RCwrQkFBK0IsbUJBQU8sQ0FBQywyRkFBNEI7QUFDbkUsOEJBQThCLG1CQUFPLENBQUMseUZBQTJCO0FBQ2pFLHFCQUFxQixtQkFBTyxDQUFDLHVFQUFrQjtBQUMvQyw4QkFBOEIsbUJBQU8sQ0FBQyx5RkFBMkI7O0FBRWpFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBLE9BQU87O0FBRVA7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOztBQUVMOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUEiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2VkaXRPblBhc3RlLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQlNELXN0eWxlIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuIEFuIGFkZGl0aW9uYWwgZ3JhbnRcbiAqIG9mIHBhdGVudCByaWdodHMgY2FuIGJlIGZvdW5kIGluIHRoZSBQQVRFTlRTIGZpbGUgaW4gdGhlIHNhbWUgZGlyZWN0b3J5LlxuICpcbiAqIEBwcm92aWRlc01vZHVsZSBlZGl0T25QYXN0ZVxuICogQGZvcm1hdFxuICogXG4gKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG52YXIgQmxvY2tNYXBCdWlsZGVyID0gcmVxdWlyZSgnLi9CbG9ja01hcEJ1aWxkZXInKTtcbnZhciBDaGFyYWN0ZXJNZXRhZGF0YSA9IHJlcXVpcmUoJy4vQ2hhcmFjdGVyTWV0YWRhdGEnKTtcbnZhciBEYXRhVHJhbnNmZXIgPSByZXF1aXJlKCdmYmpzL2xpYi9EYXRhVHJhbnNmZXInKTtcbnZhciBEcmFmdE1vZGlmaWVyID0gcmVxdWlyZSgnLi9EcmFmdE1vZGlmaWVyJyk7XG52YXIgRHJhZnRQYXN0ZVByb2Nlc3NvciA9IHJlcXVpcmUoJy4vRHJhZnRQYXN0ZVByb2Nlc3NvcicpO1xudmFyIEVkaXRvclN0YXRlID0gcmVxdWlyZSgnLi9FZGl0b3JTdGF0ZScpO1xudmFyIFJpY2hUZXh0RWRpdG9yVXRpbCA9IHJlcXVpcmUoJy4vUmljaFRleHRFZGl0b3JVdGlsJyk7XG5cbnZhciBnZXRFbnRpdHlLZXlGb3JTZWxlY3Rpb24gPSByZXF1aXJlKCcuL2dldEVudGl0eUtleUZvclNlbGVjdGlvbicpO1xudmFyIGdldFRleHRDb250ZW50RnJvbUZpbGVzID0gcmVxdWlyZSgnLi9nZXRUZXh0Q29udGVudEZyb21GaWxlcycpO1xudmFyIGlzRXZlbnRIYW5kbGVkID0gcmVxdWlyZSgnLi9pc0V2ZW50SGFuZGxlZCcpO1xudmFyIHNwbGl0VGV4dEludG9UZXh0QmxvY2tzID0gcmVxdWlyZSgnLi9zcGxpdFRleHRJbnRvVGV4dEJsb2NrcycpO1xuXG4vKipcbiAqIFBhc3RlIGNvbnRlbnQuXG4gKi9cbmZ1bmN0aW9uIGVkaXRPblBhc3RlKGVkaXRvciwgZSkge1xuICBlLnByZXZlbnREZWZhdWx0KCk7XG4gIHZhciBkYXRhID0gbmV3IERhdGFUcmFuc2ZlcihlLmNsaXBib2FyZERhdGEpO1xuXG4gIC8vIEdldCBmaWxlcywgdW5sZXNzIHRoaXMgaXMgbGlrZWx5IHRvIGJlIGEgc3RyaW5nIHRoZSB1c2VyIHdhbnRzIGlubGluZS5cbiAgaWYgKCFkYXRhLmlzUmljaFRleHQoKSkge1xuICAgIHZhciBmaWxlcyA9IGRhdGEuZ2V0RmlsZXMoKTtcbiAgICB2YXIgZGVmYXVsdEZpbGVUZXh0ID0gZGF0YS5nZXRUZXh0KCk7XG4gICAgaWYgKGZpbGVzLmxlbmd0aCA+IDApIHtcbiAgICAgIC8vIEFsbG93IGN1c3RvbWl6ZWQgcGFzdGUgaGFuZGxpbmcgZm9yIGltYWdlcywgZXRjLiBPdGhlcndpc2UsIGZhbGxcbiAgICAgIC8vIHRocm91Z2ggdG8gaW5zZXJ0IHRleHQgY29udGVudHMgaW50byB0aGUgZWRpdG9yLlxuICAgICAgaWYgKGVkaXRvci5wcm9wcy5oYW5kbGVQYXN0ZWRGaWxlcyAmJiBpc0V2ZW50SGFuZGxlZChlZGl0b3IucHJvcHMuaGFuZGxlUGFzdGVkRmlsZXMoZmlsZXMpKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGdldFRleHRDb250ZW50RnJvbUZpbGVzKGZpbGVzLCBmdW5jdGlvbiAoIC8qc3RyaW5nKi9maWxlVGV4dCkge1xuICAgICAgICBmaWxlVGV4dCA9IGZpbGVUZXh0IHx8IGRlZmF1bHRGaWxlVGV4dDtcbiAgICAgICAgaWYgKCFmaWxlVGV4dCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBlZGl0b3JTdGF0ZSA9IGVkaXRvci5fbGF0ZXN0RWRpdG9yU3RhdGU7XG4gICAgICAgIHZhciBibG9ja3MgPSBzcGxpdFRleHRJbnRvVGV4dEJsb2NrcyhmaWxlVGV4dCk7XG4gICAgICAgIHZhciBjaGFyYWN0ZXIgPSBDaGFyYWN0ZXJNZXRhZGF0YS5jcmVhdGUoe1xuICAgICAgICAgIHN0eWxlOiBlZGl0b3JTdGF0ZS5nZXRDdXJyZW50SW5saW5lU3R5bGUoKSxcbiAgICAgICAgICBlbnRpdHk6IGdldEVudGl0eUtleUZvclNlbGVjdGlvbihlZGl0b3JTdGF0ZS5nZXRDdXJyZW50Q29udGVudCgpLCBlZGl0b3JTdGF0ZS5nZXRTZWxlY3Rpb24oKSlcbiAgICAgICAgfSk7XG4gICAgICAgIHZhciBjdXJyZW50QmxvY2tUeXBlID0gUmljaFRleHRFZGl0b3JVdGlsLmdldEN1cnJlbnRCbG9ja1R5cGUoZWRpdG9yU3RhdGUpO1xuXG4gICAgICAgIHZhciB0ZXh0ID0gRHJhZnRQYXN0ZVByb2Nlc3Nvci5wcm9jZXNzVGV4dChibG9ja3MsIGNoYXJhY3RlciwgY3VycmVudEJsb2NrVHlwZSk7XG4gICAgICAgIHZhciBmcmFnbWVudCA9IEJsb2NrTWFwQnVpbGRlci5jcmVhdGVGcm9tQXJyYXkodGV4dCk7XG5cbiAgICAgICAgdmFyIHdpdGhJbnNlcnRlZFRleHQgPSBEcmFmdE1vZGlmaWVyLnJlcGxhY2VXaXRoRnJhZ21lbnQoZWRpdG9yU3RhdGUuZ2V0Q3VycmVudENvbnRlbnQoKSwgZWRpdG9yU3RhdGUuZ2V0U2VsZWN0aW9uKCksIGZyYWdtZW50KTtcblxuICAgICAgICBlZGl0b3IudXBkYXRlKEVkaXRvclN0YXRlLnB1c2goZWRpdG9yU3RhdGUsIHdpdGhJbnNlcnRlZFRleHQsICdpbnNlcnQtZnJhZ21lbnQnKSk7XG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfVxuXG4gIHZhciB0ZXh0QmxvY2tzID0gW107XG4gIHZhciB0ZXh0ID0gZGF0YS5nZXRUZXh0KCk7XG4gIHZhciBodG1sID0gZGF0YS5nZXRIVE1MKCk7XG4gIHZhciBlZGl0b3JTdGF0ZSA9IGVkaXRvci5fbGF0ZXN0RWRpdG9yU3RhdGU7XG5cbiAgaWYgKGVkaXRvci5wcm9wcy5oYW5kbGVQYXN0ZWRUZXh0ICYmIGlzRXZlbnRIYW5kbGVkKGVkaXRvci5wcm9wcy5oYW5kbGVQYXN0ZWRUZXh0KHRleHQsIGh0bWwsIGVkaXRvclN0YXRlKSkpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBpZiAodGV4dCkge1xuICAgIHRleHRCbG9ja3MgPSBzcGxpdFRleHRJbnRvVGV4dEJsb2Nrcyh0ZXh0KTtcbiAgfVxuXG4gIGlmICghZWRpdG9yLnByb3BzLnN0cmlwUGFzdGVkU3R5bGVzKSB7XG4gICAgLy8gSWYgdGhlIHRleHQgZnJvbSB0aGUgcGFzdGUgZXZlbnQgaXMgcmljaCBjb250ZW50IHRoYXQgbWF0Y2hlcyB3aGF0IHdlXG4gICAgLy8gYWxyZWFkeSBoYXZlIG9uIHRoZSBpbnRlcm5hbCBjbGlwYm9hcmQsIGFzc3VtZSB0aGF0IHdlIHNob3VsZCBqdXN0IHVzZVxuICAgIC8vIHRoZSBjbGlwYm9hcmQgZnJhZ21lbnQgZm9yIHRoZSBwYXN0ZS4gVGhpcyB3aWxsIGFsbG93IHVzIHRvIHByZXNlcnZlXG4gICAgLy8gc3R5bGluZyBhbmQgZW50aXRpZXMsIGlmIGFueSBhcmUgcHJlc2VudC4gTm90ZSB0aGF0IG5ld2xpbmVzIGFyZVxuICAgIC8vIHN0cmlwcGVkIGR1cmluZyBjb21wYXJpc29uIC0tIHRoaXMgaXMgYmVjYXVzZSBjb3B5L3Bhc3RlIHdpdGhpbiB0aGVcbiAgICAvLyBlZGl0b3IgaW4gRmlyZWZveCBhbmQgSUUgd2lsbCBub3QgaW5jbHVkZSBlbXB0eSBsaW5lcy4gVGhlIHJlc3VsdGluZ1xuICAgIC8vIHBhc3RlIHdpbGwgcHJlc2VydmUgdGhlIG5ld2xpbmVzIGNvcnJlY3RseS5cbiAgICB2YXIgaW50ZXJuYWxDbGlwYm9hcmQgPSBlZGl0b3IuZ2V0Q2xpcGJvYXJkKCk7XG4gICAgaWYgKGRhdGEuaXNSaWNoVGV4dCgpICYmIGludGVybmFsQ2xpcGJvYXJkKSB7XG4gICAgICBpZiAoXG4gICAgICAvLyBJZiB0aGUgZWRpdG9yS2V5IGlzIHByZXNlbnQgaW4gdGhlIHBhc3RlZCBIVE1MLCBpdCBzaG91bGQgYmUgc2FmZSB0b1xuICAgICAgLy8gYXNzdW1lIHRoaXMgaXMgYW4gaW50ZXJuYWwgcGFzdGUuXG4gICAgICBodG1sLmluZGV4T2YoZWRpdG9yLmdldEVkaXRvcktleSgpKSAhPT0gLTEgfHxcbiAgICAgIC8vIFRoZSBjb3B5IG1heSBoYXZlIGJlZW4gbWFkZSB3aXRoaW4gYSBzaW5nbGUgYmxvY2ssIGluIHdoaWNoIGNhc2UgdGhlXG4gICAgICAvLyBlZGl0b3Iga2V5IHdvbid0IGJlIHBhcnQgb2YgdGhlIHBhc3RlLiBJbiB0aGlzIGNhc2UsIGp1c3QgY2hlY2tcbiAgICAgIC8vIHdoZXRoZXIgdGhlIHBhc3RlZCB0ZXh0IG1hdGNoZXMgdGhlIGludGVybmFsIGNsaXBib2FyZC5cbiAgICAgIHRleHRCbG9ja3MubGVuZ3RoID09PSAxICYmIGludGVybmFsQ2xpcGJvYXJkLnNpemUgPT09IDEgJiYgaW50ZXJuYWxDbGlwYm9hcmQuZmlyc3QoKS5nZXRUZXh0KCkgPT09IHRleHQpIHtcbiAgICAgICAgZWRpdG9yLnVwZGF0ZShpbnNlcnRGcmFnbWVudChlZGl0b3IuX2xhdGVzdEVkaXRvclN0YXRlLCBpbnRlcm5hbENsaXBib2FyZCkpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChpbnRlcm5hbENsaXBib2FyZCAmJiBkYXRhLnR5cGVzLmluY2x1ZGVzKCdjb20uYXBwbGUud2ViYXJjaGl2ZScpICYmICFkYXRhLnR5cGVzLmluY2x1ZGVzKCd0ZXh0L2h0bWwnKSAmJiBhcmVUZXh0QmxvY2tzQW5kQ2xpcGJvYXJkRXF1YWwodGV4dEJsb2NrcywgaW50ZXJuYWxDbGlwYm9hcmQpKSB7XG4gICAgICAvLyBTYWZhcmkgZG9lcyBub3QgcHJvcGVybHkgc3RvcmUgdGV4dC9odG1sIGluIHNvbWUgY2FzZXMuXG4gICAgICAvLyBVc2UgdGhlIGludGVybmFsQ2xpcGJvYXJkIGlmIHByZXNlbnQgYW5kIGVxdWFsIHRvIHdoYXQgaXMgb25cbiAgICAgIC8vIHRoZSBjbGlwYm9hcmQuIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk4OTMuXG4gICAgICBlZGl0b3IudXBkYXRlKGluc2VydEZyYWdtZW50KGVkaXRvci5fbGF0ZXN0RWRpdG9yU3RhdGUsIGludGVybmFsQ2xpcGJvYXJkKSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gSWYgdGhlcmUgaXMgaHRtbCBwYXN0ZSBkYXRhLCB0cnkgdG8gcGFyc2UgdGhhdC5cbiAgICBpZiAoaHRtbCkge1xuICAgICAgdmFyIGh0bWxGcmFnbWVudCA9IERyYWZ0UGFzdGVQcm9jZXNzb3IucHJvY2Vzc0hUTUwoaHRtbCwgZWRpdG9yLnByb3BzLmJsb2NrUmVuZGVyTWFwKTtcbiAgICAgIGlmIChodG1sRnJhZ21lbnQpIHtcbiAgICAgICAgdmFyIGNvbnRlbnRCbG9ja3MgPSBodG1sRnJhZ21lbnQuY29udGVudEJsb2NrcyxcbiAgICAgICAgICAgIGVudGl0eU1hcCA9IGh0bWxGcmFnbWVudC5lbnRpdHlNYXA7XG5cbiAgICAgICAgaWYgKGNvbnRlbnRCbG9ja3MpIHtcbiAgICAgICAgICB2YXIgaHRtbE1hcCA9IEJsb2NrTWFwQnVpbGRlci5jcmVhdGVGcm9tQXJyYXkoY29udGVudEJsb2Nrcyk7XG4gICAgICAgICAgZWRpdG9yLnVwZGF0ZShpbnNlcnRGcmFnbWVudChlZGl0b3IuX2xhdGVzdEVkaXRvclN0YXRlLCBodG1sTWFwLCBlbnRpdHlNYXApKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBPdGhlcndpc2UsIGNyZWF0ZSBhIG5ldyBmcmFnbWVudCBmcm9tIG91ciBwYXN0ZWQgdGV4dC4gQWxzb1xuICAgIC8vIGVtcHR5IHRoZSBpbnRlcm5hbCBjbGlwYm9hcmQsIHNpbmNlIGl0J3Mgbm8gbG9uZ2VyIHZhbGlkLlxuICAgIGVkaXRvci5zZXRDbGlwYm9hcmQobnVsbCk7XG4gIH1cblxuICBpZiAodGV4dEJsb2Nrcy5sZW5ndGgpIHtcbiAgICB2YXIgY2hhcmFjdGVyID0gQ2hhcmFjdGVyTWV0YWRhdGEuY3JlYXRlKHtcbiAgICAgIHN0eWxlOiBlZGl0b3JTdGF0ZS5nZXRDdXJyZW50SW5saW5lU3R5bGUoKSxcbiAgICAgIGVudGl0eTogZ2V0RW50aXR5S2V5Rm9yU2VsZWN0aW9uKGVkaXRvclN0YXRlLmdldEN1cnJlbnRDb250ZW50KCksIGVkaXRvclN0YXRlLmdldFNlbGVjdGlvbigpKVxuICAgIH0pO1xuXG4gICAgdmFyIGN1cnJlbnRCbG9ja1R5cGUgPSBSaWNoVGV4dEVkaXRvclV0aWwuZ2V0Q3VycmVudEJsb2NrVHlwZShlZGl0b3JTdGF0ZSk7XG5cbiAgICB2YXIgdGV4dEZyYWdtZW50ID0gRHJhZnRQYXN0ZVByb2Nlc3Nvci5wcm9jZXNzVGV4dCh0ZXh0QmxvY2tzLCBjaGFyYWN0ZXIsIGN1cnJlbnRCbG9ja1R5cGUpO1xuXG4gICAgdmFyIHRleHRNYXAgPSBCbG9ja01hcEJ1aWxkZXIuY3JlYXRlRnJvbUFycmF5KHRleHRGcmFnbWVudCk7XG4gICAgZWRpdG9yLnVwZGF0ZShpbnNlcnRGcmFnbWVudChlZGl0b3IuX2xhdGVzdEVkaXRvclN0YXRlLCB0ZXh0TWFwKSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gaW5zZXJ0RnJhZ21lbnQoZWRpdG9yU3RhdGUsIGZyYWdtZW50LCBlbnRpdHlNYXApIHtcbiAgdmFyIG5ld0NvbnRlbnQgPSBEcmFmdE1vZGlmaWVyLnJlcGxhY2VXaXRoRnJhZ21lbnQoZWRpdG9yU3RhdGUuZ2V0Q3VycmVudENvbnRlbnQoKSwgZWRpdG9yU3RhdGUuZ2V0U2VsZWN0aW9uKCksIGZyYWdtZW50KTtcbiAgLy8gVE9ETzogbWVyZ2UgdGhlIGVudGl0eSBtYXAgb25jZSB3ZSBzdG9wIHVzaW5nIERyYWZ0RW50aXR5XG4gIC8vIGxpa2UgdGhpczpcbiAgLy8gY29uc3QgbWVyZ2VkRW50aXR5TWFwID0gbmV3Q29udGVudC5nZXRFbnRpdHlNYXAoKS5tZXJnZShlbnRpdHlNYXApO1xuXG4gIHJldHVybiBFZGl0b3JTdGF0ZS5wdXNoKGVkaXRvclN0YXRlLCBuZXdDb250ZW50LnNldCgnZW50aXR5TWFwJywgZW50aXR5TWFwKSwgJ2luc2VydC1mcmFnbWVudCcpO1xufVxuXG5mdW5jdGlvbiBhcmVUZXh0QmxvY2tzQW5kQ2xpcGJvYXJkRXF1YWwodGV4dEJsb2NrcywgYmxvY2tNYXApIHtcbiAgcmV0dXJuIHRleHRCbG9ja3MubGVuZ3RoID09PSBibG9ja01hcC5zaXplICYmIGJsb2NrTWFwLnZhbHVlU2VxKCkuZXZlcnkoZnVuY3Rpb24gKGJsb2NrLCBpaSkge1xuICAgIHJldHVybiBibG9jay5nZXRUZXh0KCkgPT09IHRleHRCbG9ja3NbaWldO1xuICB9KTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBlZGl0T25QYXN0ZTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/editOnPaste.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nvar BlockMapBuilder = __webpack_require__(/*! ./BlockMapBuilder */ \"./node_modules/draft-js/lib/BlockMapBuilder.js\");\n\nvar CharacterMetadata = __webpack_require__(/*! ./CharacterMetadata */ \"./node_modules/draft-js/lib/CharacterMetadata.js\");\n\nvar DataTransfer = __webpack_require__(/*! fbjs/lib/DataTransfer */ \"./node_modules/fbjs/lib/DataTransfer.js\");\n\nvar DraftModifier = __webpack_require__(/*! ./DraftModifier */ \"./node_modules/draft-js/lib/DraftModifier.js\");\n\nvar DraftPasteProcessor = __webpack_require__(/*! ./DraftPasteProcessor */ \"./node_modules/draft-js/lib/DraftPasteProcessor.js\");\n\nvar EditorState = __webpack_require__(/*! ./EditorState */ \"./node_modules/draft-js/lib/EditorState.js\");\n\nvar RichTextEditorUtil = __webpack_require__(/*! ./RichTextEditorUtil */ \"./node_modules/draft-js/lib/RichTextEditorUtil.js\");\n\nvar getEntityKeyForSelection = __webpack_require__(/*! ./getEntityKeyForSelection */ \"./node_modules/draft-js/lib/getEntityKeyForSelection.js\");\n\nvar getTextContentFromFiles = __webpack_require__(/*! ./getTextContentFromFiles */ \"./node_modules/draft-js/lib/getTextContentFromFiles.js\");\n\nvar isEventHandled = __webpack_require__(/*! ./isEventHandled */ \"./node_modules/draft-js/lib/isEventHandled.js\");\n\nvar splitTextIntoTextBlocks = __webpack_require__(/*! ./splitTextIntoTextBlocks */ \"./node_modules/draft-js/lib/splitTextIntoTextBlocks.js\");\n/**\n * Paste content.\n */\n\n\nfunction editOnPaste(editor, e) {\n e.preventDefault();\n var data = new DataTransfer(e.clipboardData); // Get files, unless this is likely to be a string the user wants inline.\n\n if (!data.isRichText()) {\n /* $FlowFixMe This comment suppresses an error found DataTransfer was typed.\n * getFiles() returns an array of , not Blob */\n var files = data.getFiles();\n var defaultFileText = data.getText();\n\n if (files.length > 0) {\n // Allow customized paste handling for images, etc. Otherwise, fall\n // through to insert text contents into the editor.\n if (editor.props.handlePastedFiles && isEventHandled(editor.props.handlePastedFiles(files))) {\n return;\n }\n\n getTextContentFromFiles(files, function (\n /*string*/\n fileText) {\n fileText = fileText || defaultFileText;\n\n if (!fileText) {\n return;\n }\n\n var editorState = editor._latestEditorState;\n var blocks = splitTextIntoTextBlocks(fileText);\n var character = CharacterMetadata.create({\n style: editorState.getCurrentInlineStyle(),\n entity: getEntityKeyForSelection(editorState.getCurrentContent(), editorState.getSelection())\n });\n var currentBlockType = RichTextEditorUtil.getCurrentBlockType(editorState);\n var text = DraftPasteProcessor.processText(blocks, character, currentBlockType);\n var fragment = BlockMapBuilder.createFromArray(text);\n var withInsertedText = DraftModifier.replaceWithFragment(editorState.getCurrentContent(), editorState.getSelection(), fragment);\n editor.update(EditorState.push(editorState, withInsertedText, 'insert-fragment'));\n });\n return;\n }\n }\n\n var textBlocks = [];\n var text = data.getText();\n var html = data.getHTML();\n var editorState = editor._latestEditorState;\n\n if (editor.props.handlePastedText && isEventHandled(editor.props.handlePastedText(text, html, editorState))) {\n return;\n }\n\n if (text) {\n textBlocks = splitTextIntoTextBlocks(text);\n }\n\n if (!editor.props.stripPastedStyles) {\n // If the text from the paste event is rich content that matches what we\n // already have on the internal clipboard, assume that we should just use\n // the clipboard fragment for the paste. This will allow us to preserve\n // styling and entities, if any are present. Note that newlines are\n // stripped during comparison -- this is because copy/paste within the\n // editor in Firefox and IE will not include empty lines. The resulting\n // paste will preserve the newlines correctly.\n var internalClipboard = editor.getClipboard();\n\n if (data.isRichText() && internalClipboard) {\n if ( // If the editorKey is present in the pasted HTML, it should be safe to\n // assume this is an internal paste.\n html.indexOf(editor.getEditorKey()) !== -1 || // The copy may have been made within a single block, in which case the\n // editor key won't be part of the paste. In this case, just check\n // whether the pasted text matches the internal clipboard.\n textBlocks.length === 1 && internalClipboard.size === 1 && internalClipboard.first().getText() === text) {\n editor.update(insertFragment(editor._latestEditorState, internalClipboard));\n return;\n }\n } else if (internalClipboard && data.types.includes('com.apple.webarchive') && !data.types.includes('text/html') && areTextBlocksAndClipboardEqual(textBlocks, internalClipboard)) {\n // Safari does not properly store text/html in some cases.\n // Use the internalClipboard if present and equal to what is on\n // the clipboard. See https://bugs.webkit.org/show_bug.cgi?id=19893.\n editor.update(insertFragment(editor._latestEditorState, internalClipboard));\n return;\n } // If there is html paste data, try to parse that.\n\n\n if (html) {\n var htmlFragment = DraftPasteProcessor.processHTML(html, editor.props.blockRenderMap);\n\n if (htmlFragment) {\n var contentBlocks = htmlFragment.contentBlocks,\n entityMap = htmlFragment.entityMap;\n\n if (contentBlocks) {\n var htmlMap = BlockMapBuilder.createFromArray(contentBlocks);\n editor.update(insertFragment(editor._latestEditorState, htmlMap, entityMap));\n return;\n }\n }\n } // Otherwise, create a new fragment from our pasted text. Also\n // empty the internal clipboard, since it's no longer valid.\n\n\n editor.setClipboard(null);\n }\n\n if (textBlocks.length) {\n var character = CharacterMetadata.create({\n style: editorState.getCurrentInlineStyle(),\n entity: getEntityKeyForSelection(editorState.getCurrentContent(), editorState.getSelection())\n });\n var currentBlockType = RichTextEditorUtil.getCurrentBlockType(editorState);\n var textFragment = DraftPasteProcessor.processText(textBlocks, character, currentBlockType);\n var textMap = BlockMapBuilder.createFromArray(textFragment);\n editor.update(insertFragment(editor._latestEditorState, textMap));\n }\n}\n\nfunction insertFragment(editorState, fragment, entityMap) {\n var newContent = DraftModifier.replaceWithFragment(editorState.getCurrentContent(), editorState.getSelection(), fragment); // TODO: merge the entity map once we stop using DraftEntity\n // like this:\n // const mergedEntityMap = newContent.getEntityMap().merge(entityMap);\n\n return EditorState.push(editorState, newContent.set('entityMap', entityMap), 'insert-fragment');\n}\n\nfunction areTextBlocksAndClipboardEqual(textBlocks, blockMap) {\n return textBlocks.length === blockMap.size && blockMap.valueSeq().every(function (block, ii) {\n return block.getText() === textBlocks[ii];\n });\n}\n\nmodule.exports = editOnPaste;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2VkaXRPblBhc3RlLmpzPzkwMzkiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDYTs7QUFFYixzQkFBc0IsbUJBQU8sQ0FBQyx5RUFBbUI7O0FBRWpELHdCQUF3QixtQkFBTyxDQUFDLDZFQUFxQjs7QUFFckQsbUJBQW1CLG1CQUFPLENBQUMsc0VBQXVCOztBQUVsRCxvQkFBb0IsbUJBQU8sQ0FBQyxxRUFBaUI7O0FBRTdDLDBCQUEwQixtQkFBTyxDQUFDLGlGQUF1Qjs7QUFFekQsa0JBQWtCLG1CQUFPLENBQUMsaUVBQWU7O0FBRXpDLHlCQUF5QixtQkFBTyxDQUFDLCtFQUFzQjs7QUFFdkQsK0JBQStCLG1CQUFPLENBQUMsMkZBQTRCOztBQUVuRSw4QkFBOEIsbUJBQU8sQ0FBQyx5RkFBMkI7O0FBRWpFLHFCQUFxQixtQkFBTyxDQUFDLHVFQUFrQjs7QUFFL0MsOEJBQThCLG1CQUFPLENBQUMseUZBQTJCO0FBQ2pFO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBLCtDQUErQzs7QUFFL0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7OztBQUdMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDs7O0FBR0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSw0SEFBNEg7QUFDNUg7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvZWRpdE9uUGFzdGUuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgRmFjZWJvb2ssIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIEBmb3JtYXRcbiAqIFxuICogQGVtYWlscyBvbmNhbGwrZHJhZnRfanNcbiAqL1xuJ3VzZSBzdHJpY3QnO1xuXG52YXIgQmxvY2tNYXBCdWlsZGVyID0gcmVxdWlyZShcIi4vQmxvY2tNYXBCdWlsZGVyXCIpO1xuXG52YXIgQ2hhcmFjdGVyTWV0YWRhdGEgPSByZXF1aXJlKFwiLi9DaGFyYWN0ZXJNZXRhZGF0YVwiKTtcblxudmFyIERhdGFUcmFuc2ZlciA9IHJlcXVpcmUoXCJmYmpzL2xpYi9EYXRhVHJhbnNmZXJcIik7XG5cbnZhciBEcmFmdE1vZGlmaWVyID0gcmVxdWlyZShcIi4vRHJhZnRNb2RpZmllclwiKTtcblxudmFyIERyYWZ0UGFzdGVQcm9jZXNzb3IgPSByZXF1aXJlKFwiLi9EcmFmdFBhc3RlUHJvY2Vzc29yXCIpO1xuXG52YXIgRWRpdG9yU3RhdGUgPSByZXF1aXJlKFwiLi9FZGl0b3JTdGF0ZVwiKTtcblxudmFyIFJpY2hUZXh0RWRpdG9yVXRpbCA9IHJlcXVpcmUoXCIuL1JpY2hUZXh0RWRpdG9yVXRpbFwiKTtcblxudmFyIGdldEVudGl0eUtleUZvclNlbGVjdGlvbiA9IHJlcXVpcmUoXCIuL2dldEVudGl0eUtleUZvclNlbGVjdGlvblwiKTtcblxudmFyIGdldFRleHRDb250ZW50RnJvbUZpbGVzID0gcmVxdWlyZShcIi4vZ2V0VGV4dENvbnRlbnRGcm9tRmlsZXNcIik7XG5cbnZhciBpc0V2ZW50SGFuZGxlZCA9IHJlcXVpcmUoXCIuL2lzRXZlbnRIYW5kbGVkXCIpO1xuXG52YXIgc3BsaXRUZXh0SW50b1RleHRCbG9ja3MgPSByZXF1aXJlKFwiLi9zcGxpdFRleHRJbnRvVGV4dEJsb2Nrc1wiKTtcbi8qKlxuICogUGFzdGUgY29udGVudC5cbiAqL1xuXG5cbmZ1bmN0aW9uIGVkaXRPblBhc3RlKGVkaXRvciwgZSkge1xuICBlLnByZXZlbnREZWZhdWx0KCk7XG4gIHZhciBkYXRhID0gbmV3IERhdGFUcmFuc2ZlcihlLmNsaXBib2FyZERhdGEpOyAvLyBHZXQgZmlsZXMsIHVubGVzcyB0aGlzIGlzIGxpa2VseSB0byBiZSBhIHN0cmluZyB0aGUgdXNlciB3YW50cyBpbmxpbmUuXG5cbiAgaWYgKCFkYXRhLmlzUmljaFRleHQoKSkge1xuICAgIC8qICRGbG93Rml4TWUgVGhpcyBjb21tZW50IHN1cHByZXNzZXMgYW4gZXJyb3IgZm91bmQgRGF0YVRyYW5zZmVyIHdhcyB0eXBlZC5cbiAgICAgKiBnZXRGaWxlcygpIHJldHVybnMgYW4gYXJyYXkgb2YgPEZpbGVzIGV4dGVuZHMgQmxvYj4sIG5vdCBCbG9iICovXG4gICAgdmFyIGZpbGVzID0gZGF0YS5nZXRGaWxlcygpO1xuICAgIHZhciBkZWZhdWx0RmlsZVRleHQgPSBkYXRhLmdldFRleHQoKTtcblxuICAgIGlmIChmaWxlcy5sZW5ndGggPiAwKSB7XG4gICAgICAvLyBBbGxvdyBjdXN0b21pemVkIHBhc3RlIGhhbmRsaW5nIGZvciBpbWFnZXMsIGV0Yy4gT3RoZXJ3aXNlLCBmYWxsXG4gICAgICAvLyB0aHJvdWdoIHRvIGluc2VydCB0ZXh0IGNvbnRlbnRzIGludG8gdGhlIGVkaXRvci5cbiAgICAgIGlmIChlZGl0b3IucHJvcHMuaGFuZGxlUGFzdGVkRmlsZXMgJiYgaXNFdmVudEhhbmRsZWQoZWRpdG9yLnByb3BzLmhhbmRsZVBhc3RlZEZpbGVzKGZpbGVzKSkpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBnZXRUZXh0Q29udGVudEZyb21GaWxlcyhmaWxlcywgZnVuY3Rpb24gKFxuICAgICAgLypzdHJpbmcqL1xuICAgICAgZmlsZVRleHQpIHtcbiAgICAgICAgZmlsZVRleHQgPSBmaWxlVGV4dCB8fCBkZWZhdWx0RmlsZVRleHQ7XG5cbiAgICAgICAgaWYgKCFmaWxlVGV4dCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBlZGl0b3JTdGF0ZSA9IGVkaXRvci5fbGF0ZXN0RWRpdG9yU3RhdGU7XG4gICAgICAgIHZhciBibG9ja3MgPSBzcGxpdFRleHRJbnRvVGV4dEJsb2NrcyhmaWxlVGV4dCk7XG4gICAgICAgIHZhciBjaGFyYWN0ZXIgPSBDaGFyYWN0ZXJNZXRhZGF0YS5jcmVhdGUoe1xuICAgICAgICAgIHN0eWxlOiBlZGl0b3JTdGF0ZS5nZXRDdXJyZW50SW5saW5lU3R5bGUoKSxcbiAgICAgICAgICBlbnRpdHk6IGdldEVudGl0eUtleUZvclNlbGVjdGlvbihlZGl0b3JTdGF0ZS5nZXRDdXJyZW50Q29udGVudCgpLCBlZGl0b3JTdGF0ZS5nZXRTZWxlY3Rpb24oKSlcbiAgICAgICAgfSk7XG4gICAgICAgIHZhciBjdXJyZW50QmxvY2tUeXBlID0gUmljaFRleHRFZGl0b3JVdGlsLmdldEN1cnJlbnRCbG9ja1R5cGUoZWRpdG9yU3RhdGUpO1xuICAgICAgICB2YXIgdGV4dCA9IERyYWZ0UGFzdGVQcm9jZXNzb3IucHJvY2Vzc1RleHQoYmxvY2tzLCBjaGFyYWN0ZXIsIGN1cnJlbnRCbG9ja1R5cGUpO1xuICAgICAgICB2YXIgZnJhZ21lbnQgPSBCbG9ja01hcEJ1aWxkZXIuY3JlYXRlRnJvbUFycmF5KHRleHQpO1xuICAgICAgICB2YXIgd2l0aEluc2VydGVkVGV4dCA9IERyYWZ0TW9kaWZpZXIucmVwbGFjZVdpdGhGcmFnbWVudChlZGl0b3JTdGF0ZS5nZXRDdXJyZW50Q29udGVudCgpLCBlZGl0b3JTdGF0ZS5nZXRTZWxlY3Rpb24oKSwgZnJhZ21lbnQpO1xuICAgICAgICBlZGl0b3IudXBkYXRlKEVkaXRvclN0YXRlLnB1c2goZWRpdG9yU3RhdGUsIHdpdGhJbnNlcnRlZFRleHQsICdpbnNlcnQtZnJhZ21lbnQnKSk7XG4gICAgICB9KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gIH1cblxuICB2YXIgdGV4dEJsb2NrcyA9IFtdO1xuICB2YXIgdGV4dCA9IGRhdGEuZ2V0VGV4dCgpO1xuICB2YXIgaHRtbCA9IGRhdGEuZ2V0SFRNTCgpO1xuICB2YXIgZWRpdG9yU3RhdGUgPSBlZGl0b3IuX2xhdGVzdEVkaXRvclN0YXRlO1xuXG4gIGlmIChlZGl0b3IucHJvcHMuaGFuZGxlUGFzdGVkVGV4dCAmJiBpc0V2ZW50SGFuZGxlZChlZGl0b3IucHJvcHMuaGFuZGxlUGFzdGVkVGV4dCh0ZXh0LCBodG1sLCBlZGl0b3JTdGF0ZSkpKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgaWYgKHRleHQpIHtcbiAgICB0ZXh0QmxvY2tzID0gc3BsaXRUZXh0SW50b1RleHRCbG9ja3ModGV4dCk7XG4gIH1cblxuICBpZiAoIWVkaXRvci5wcm9wcy5zdHJpcFBhc3RlZFN0eWxlcykge1xuICAgIC8vIElmIHRoZSB0ZXh0IGZyb20gdGhlIHBhc3RlIGV2ZW50IGlzIHJpY2ggY29udGVudCB0aGF0IG1hdGNoZXMgd2hhdCB3ZVxuICAgIC8vIGFscmVhZHkgaGF2ZSBvbiB0aGUgaW50ZXJuYWwgY2xpcGJvYXJkLCBhc3N1bWUgdGhhdCB3ZSBzaG91bGQganVzdCB1c2VcbiAgICAvLyB0aGUgY2xpcGJvYXJkIGZyYWdtZW50IGZvciB0aGUgcGFzdGUuIFRoaXMgd2lsbCBhbGxvdyB1cyB0byBwcmVzZXJ2ZVxuICAgIC8vIHN0eWxpbmcgYW5kIGVudGl0aWVzLCBpZiBhbnkgYXJlIHByZXNlbnQuIE5vdGUgdGhhdCBuZXdsaW5lcyBhcmVcbiAgICAvLyBzdHJpcHBlZCBkdXJpbmcgY29tcGFyaXNvbiAtLSB0aGlzIGlzIGJlY2F1c2UgY29weS9wYXN0ZSB3aXRoaW4gdGhlXG4gICAgLy8gZWRpdG9yIGluIEZpcmVmb3ggYW5kIElFIHdpbGwgbm90IGluY2x1ZGUgZW1wdHkgbGluZXMuIFRoZSByZXN1bHRpbmdcbiAgICAvLyBwYXN0ZSB3aWxsIHByZXNlcnZlIHRoZSBuZXdsaW5lcyBjb3JyZWN0bHkuXG4gICAgdmFyIGludGVybmFsQ2xpcGJvYXJkID0gZWRpdG9yLmdldENsaXBib2FyZCgpO1xuXG4gICAgaWYgKGRhdGEuaXNSaWNoVGV4dCgpICYmIGludGVybmFsQ2xpcGJvYXJkKSB7XG4gICAgICBpZiAoIC8vIElmIHRoZSBlZGl0b3JLZXkgaXMgcHJlc2VudCBpbiB0aGUgcGFzdGVkIEhUTUwsIGl0IHNob3VsZCBiZSBzYWZlIHRvXG4gICAgICAvLyBhc3N1bWUgdGhpcyBpcyBhbiBpbnRlcm5hbCBwYXN0ZS5cbiAgICAgIGh0bWwuaW5kZXhPZihlZGl0b3IuZ2V0RWRpdG9yS2V5KCkpICE9PSAtMSB8fCAvLyBUaGUgY29weSBtYXkgaGF2ZSBiZWVuIG1hZGUgd2l0aGluIGEgc2luZ2xlIGJsb2NrLCBpbiB3aGljaCBjYXNlIHRoZVxuICAgICAgLy8gZWRpdG9yIGtleSB3b24ndCBiZSBwYXJ0IG9mIHRoZSBwYXN0ZS4gSW4gdGhpcyBjYXNlLCBqdXN0IGNoZWNrXG4gICAgICAvLyB3aGV0aGVyIHRoZSBwYXN0ZWQgdGV4dCBtYXRjaGVzIHRoZSBpbnRlcm5hbCBjbGlwYm9hcmQuXG4gICAgICB0ZXh0QmxvY2tzLmxlbmd0aCA9PT0gMSAmJiBpbnRlcm5hbENsaXBib2FyZC5zaXplID09PSAxICYmIGludGVybmFsQ2xpcGJvYXJkLmZpcnN0KCkuZ2V0VGV4dCgpID09PSB0ZXh0KSB7XG4gICAgICAgIGVkaXRvci51cGRhdGUoaW5zZXJ0RnJhZ21lbnQoZWRpdG9yLl9sYXRlc3RFZGl0b3JTdGF0ZSwgaW50ZXJuYWxDbGlwYm9hcmQpKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoaW50ZXJuYWxDbGlwYm9hcmQgJiYgZGF0YS50eXBlcy5pbmNsdWRlcygnY29tLmFwcGxlLndlYmFyY2hpdmUnKSAmJiAhZGF0YS50eXBlcy5pbmNsdWRlcygndGV4dC9odG1sJykgJiYgYXJlVGV4dEJsb2Nrc0FuZENsaXBib2FyZEVxdWFsKHRleHRCbG9ja3MsIGludGVybmFsQ2xpcGJvYXJkKSkge1xuICAgICAgLy8gU2FmYXJpIGRvZXMgbm90IHByb3Blcmx5IHN0b3JlIHRleHQvaHRtbCBpbiBzb21lIGNhc2VzLlxuICAgICAgLy8gVXNlIHRoZSBpbnRlcm5hbENsaXBib2FyZCBpZiBwcmVzZW50IGFuZCBlcXVhbCB0byB3aGF0IGlzIG9uXG4gICAgICAvLyB0aGUgY2xpcGJvYXJkLiBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5ODkzLlxuICAgICAgZWRpdG9yLnVwZGF0ZShpbnNlcnRGcmFnbWVudChlZGl0b3IuX2xhdGVzdEVkaXRvclN0YXRlLCBpbnRlcm5hbENsaXBib2FyZCkpO1xuICAgICAgcmV0dXJuO1xuICAgIH0gLy8gSWYgdGhlcmUgaXMgaHRtbCBwYXN0ZSBkYXRhLCB0cnkgdG8gcGFyc2UgdGhhdC5cblxuXG4gICAgaWYgKGh0bWwpIHtcbiAgICAgIHZhciBodG1sRnJhZ21lbnQgPSBEcmFmdFBhc3RlUHJvY2Vzc29yLnByb2Nlc3NIVE1MKGh0bWwsIGVkaXRvci5wcm9wcy5ibG9ja1JlbmRlck1hcCk7XG5cbiAgICAgIGlmIChodG1sRnJhZ21lbnQpIHtcbiAgICAgICAgdmFyIGNvbnRlbnRCbG9ja3MgPSBodG1sRnJhZ21lbnQuY29udGVudEJsb2NrcyxcbiAgICAgICAgICAgIGVudGl0eU1hcCA9IGh0bWxGcmFnbWVudC5lbnRpdHlNYXA7XG5cbiAgICAgICAgaWYgKGNvbnRlbnRCbG9ja3MpIHtcbiAgICAgICAgICB2YXIgaHRtbE1hcCA9IEJsb2NrTWFwQnVpbGRlci5jcmVhdGVGcm9tQXJyYXkoY29udGVudEJsb2Nrcyk7XG4gICAgICAgICAgZWRpdG9yLnVwZGF0ZShpbnNlcnRGcmFnbWVudChlZGl0b3IuX2xhdGVzdEVkaXRvclN0YXRlLCBodG1sTWFwLCBlbnRpdHlNYXApKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IC8vIE90aGVyd2lzZSwgY3JlYXRlIGEgbmV3IGZyYWdtZW50IGZyb20gb3VyIHBhc3RlZCB0ZXh0LiBBbHNvXG4gICAgLy8gZW1wdHkgdGhlIGludGVybmFsIGNsaXBib2FyZCwgc2luY2UgaXQncyBubyBsb25nZXIgdmFsaWQuXG5cblxuICAgIGVkaXRvci5zZXRDbGlwYm9hcmQobnVsbCk7XG4gIH1cblxuICBpZiAodGV4dEJsb2Nrcy5sZW5ndGgpIHtcbiAgICB2YXIgY2hhcmFjdGVyID0gQ2hhcmFjdGVyTWV0YWRhdGEuY3JlYXRlKHtcbiAgICAgIHN0eWxlOiBlZGl0b3JTdGF0ZS5nZXRDdXJyZW50SW5saW5lU3R5bGUoKSxcbiAgICAgIGVudGl0eTogZ2V0RW50aXR5S2V5Rm9yU2VsZWN0aW9uKGVkaXRvclN0YXRlLmdldEN1cnJlbnRDb250ZW50KCksIGVkaXRvclN0YXRlLmdldFNlbGVjdGlvbigpKVxuICAgIH0pO1xuICAgIHZhciBjdXJyZW50QmxvY2tUeXBlID0gUmljaFRleHRFZGl0b3JVdGlsLmdldEN1cnJlbnRCbG9ja1R5cGUoZWRpdG9yU3RhdGUpO1xuICAgIHZhciB0ZXh0RnJhZ21lbnQgPSBEcmFmdFBhc3RlUHJvY2Vzc29yLnByb2Nlc3NUZXh0KHRleHRCbG9ja3MsIGNoYXJhY3RlciwgY3VycmVudEJsb2NrVHlwZSk7XG4gICAgdmFyIHRleHRNYXAgPSBCbG9ja01hcEJ1aWxkZXIuY3JlYXRlRnJvbUFycmF5KHRleHRGcmFnbWVudCk7XG4gICAgZWRpdG9yLnVwZGF0ZShpbnNlcnRGcmFnbWVudChlZGl0b3IuX2xhdGVzdEVkaXRvclN0YXRlLCB0ZXh0TWFwKSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gaW5zZXJ0RnJhZ21lbnQoZWRpdG9yU3RhdGUsIGZyYWdtZW50LCBlbnRpdHlNYXApIHtcbiAgdmFyIG5ld0NvbnRlbnQgPSBEcmFmdE1vZGlmaWVyLnJlcGxhY2VXaXRoRnJhZ21lbnQoZWRpdG9yU3RhdGUuZ2V0Q3VycmVudENvbnRlbnQoKSwgZWRpdG9yU3RhdGUuZ2V0U2VsZWN0aW9uKCksIGZyYWdtZW50KTsgLy8gVE9ETzogbWVyZ2UgdGhlIGVudGl0eSBtYXAgb25jZSB3ZSBzdG9wIHVzaW5nIERyYWZ0RW50aXR5XG4gIC8vIGxpa2UgdGhpczpcbiAgLy8gY29uc3QgbWVyZ2VkRW50aXR5TWFwID0gbmV3Q29udGVudC5nZXRFbnRpdHlNYXAoKS5tZXJnZShlbnRpdHlNYXApO1xuXG4gIHJldHVybiBFZGl0b3JTdGF0ZS5wdXNoKGVkaXRvclN0YXRlLCBuZXdDb250ZW50LnNldCgnZW50aXR5TWFwJywgZW50aXR5TWFwKSwgJ2luc2VydC1mcmFnbWVudCcpO1xufVxuXG5mdW5jdGlvbiBhcmVUZXh0QmxvY2tzQW5kQ2xpcGJvYXJkRXF1YWwodGV4dEJsb2NrcywgYmxvY2tNYXApIHtcbiAgcmV0dXJuIHRleHRCbG9ja3MubGVuZ3RoID09PSBibG9ja01hcC5zaXplICYmIGJsb2NrTWFwLnZhbHVlU2VxKCkuZXZlcnkoZnVuY3Rpb24gKGJsb2NrLCBpaSkge1xuICAgIHJldHVybiBibG9jay5nZXRUZXh0KCkgPT09IHRleHRCbG9ja3NbaWldO1xuICB9KTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBlZGl0T25QYXN0ZTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/editOnPaste.js\n"); /***/ }), @@ -739,7 +834,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule editOnSelect\n * @format\n * \n */\n\n\n\nvar EditorState = __webpack_require__(/*! ./EditorState */ \"./node_modules/draft-js/lib/EditorState.js\");\nvar ReactDOM = __webpack_require__(/*! react-dom */ \"./node_modules/react-dom/index.js\");\n\nvar getDraftEditorSelection = __webpack_require__(/*! ./getDraftEditorSelection */ \"./node_modules/draft-js/lib/getDraftEditorSelection.js\");\nvar invariant = __webpack_require__(/*! fbjs/lib/invariant */ \"./node_modules/fbjs/lib/invariant.js\");\n\nfunction editOnSelect(editor) {\n if (editor._blockSelectEvents || editor._latestEditorState !== editor.props.editorState) {\n return;\n }\n\n var editorState = editor.props.editorState;\n var editorNode = ReactDOM.findDOMNode(editor.editorContainer);\n !editorNode ? true ? invariant(false, 'Missing editorNode') : undefined : void 0;\n !(editorNode.firstChild instanceof HTMLElement) ? true ? invariant(false, 'editorNode.firstChild is not an HTMLElement') : undefined : void 0;\n var documentSelection = getDraftEditorSelection(editorState, editorNode.firstChild);\n var updatedSelectionState = documentSelection.selectionState;\n\n if (updatedSelectionState !== editorState.getSelection()) {\n if (documentSelection.needsRecovery) {\n editorState = EditorState.forceSelection(editorState, updatedSelectionState);\n } else {\n editorState = EditorState.acceptSelection(editorState, updatedSelectionState);\n }\n editor.update(editorState);\n }\n}\n\nmodule.exports = editOnSelect;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2VkaXRPblNlbGVjdC5qcz81ODkzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFYTs7QUFFYixrQkFBa0IsbUJBQU8sQ0FBQyxpRUFBZTtBQUN6QyxlQUFlLG1CQUFPLENBQUMsb0RBQVc7O0FBRWxDLDhCQUE4QixtQkFBTyxDQUFDLHlGQUEyQjtBQUNqRSxnQkFBZ0IsbUJBQU8sQ0FBQyxnRUFBb0I7O0FBRTVDO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxnQkFBZ0IsS0FBcUMsNENBQTRDLFNBQWdCO0FBQ2pILG9EQUFvRCxLQUFxQyxxRUFBcUUsU0FBZ0I7QUFDOUs7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvZWRpdE9uU2VsZWN0LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQlNELXN0eWxlIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuIEFuIGFkZGl0aW9uYWwgZ3JhbnRcbiAqIG9mIHBhdGVudCByaWdodHMgY2FuIGJlIGZvdW5kIGluIHRoZSBQQVRFTlRTIGZpbGUgaW4gdGhlIHNhbWUgZGlyZWN0b3J5LlxuICpcbiAqIEBwcm92aWRlc01vZHVsZSBlZGl0T25TZWxlY3RcbiAqIEBmb3JtYXRcbiAqIFxuICovXG5cbid1c2Ugc3RyaWN0JztcblxudmFyIEVkaXRvclN0YXRlID0gcmVxdWlyZSgnLi9FZGl0b3JTdGF0ZScpO1xudmFyIFJlYWN0RE9NID0gcmVxdWlyZSgncmVhY3QtZG9tJyk7XG5cbnZhciBnZXREcmFmdEVkaXRvclNlbGVjdGlvbiA9IHJlcXVpcmUoJy4vZ2V0RHJhZnRFZGl0b3JTZWxlY3Rpb24nKTtcbnZhciBpbnZhcmlhbnQgPSByZXF1aXJlKCdmYmpzL2xpYi9pbnZhcmlhbnQnKTtcblxuZnVuY3Rpb24gZWRpdE9uU2VsZWN0KGVkaXRvcikge1xuICBpZiAoZWRpdG9yLl9ibG9ja1NlbGVjdEV2ZW50cyB8fCBlZGl0b3IuX2xhdGVzdEVkaXRvclN0YXRlICE9PSBlZGl0b3IucHJvcHMuZWRpdG9yU3RhdGUpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICB2YXIgZWRpdG9yU3RhdGUgPSBlZGl0b3IucHJvcHMuZWRpdG9yU3RhdGU7XG4gIHZhciBlZGl0b3JOb2RlID0gUmVhY3RET00uZmluZERPTU5vZGUoZWRpdG9yLmVkaXRvckNvbnRhaW5lcik7XG4gICFlZGl0b3JOb2RlID8gcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyA/IGludmFyaWFudChmYWxzZSwgJ01pc3NpbmcgZWRpdG9yTm9kZScpIDogaW52YXJpYW50KGZhbHNlKSA6IHZvaWQgMDtcbiAgIShlZGl0b3JOb2RlLmZpcnN0Q2hpbGQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkgPyBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nID8gaW52YXJpYW50KGZhbHNlLCAnZWRpdG9yTm9kZS5maXJzdENoaWxkIGlzIG5vdCBhbiBIVE1MRWxlbWVudCcpIDogaW52YXJpYW50KGZhbHNlKSA6IHZvaWQgMDtcbiAgdmFyIGRvY3VtZW50U2VsZWN0aW9uID0gZ2V0RHJhZnRFZGl0b3JTZWxlY3Rpb24oZWRpdG9yU3RhdGUsIGVkaXRvck5vZGUuZmlyc3RDaGlsZCk7XG4gIHZhciB1cGRhdGVkU2VsZWN0aW9uU3RhdGUgPSBkb2N1bWVudFNlbGVjdGlvbi5zZWxlY3Rpb25TdGF0ZTtcblxuICBpZiAodXBkYXRlZFNlbGVjdGlvblN0YXRlICE9PSBlZGl0b3JTdGF0ZS5nZXRTZWxlY3Rpb24oKSkge1xuICAgIGlmIChkb2N1bWVudFNlbGVjdGlvbi5uZWVkc1JlY292ZXJ5KSB7XG4gICAgICBlZGl0b3JTdGF0ZSA9IEVkaXRvclN0YXRlLmZvcmNlU2VsZWN0aW9uKGVkaXRvclN0YXRlLCB1cGRhdGVkU2VsZWN0aW9uU3RhdGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBlZGl0b3JTdGF0ZSA9IEVkaXRvclN0YXRlLmFjY2VwdFNlbGVjdGlvbihlZGl0b3JTdGF0ZSwgdXBkYXRlZFNlbGVjdGlvblN0YXRlKTtcbiAgICB9XG4gICAgZWRpdG9yLnVwZGF0ZShlZGl0b3JTdGF0ZSk7XG4gIH1cbn1cblxubW9kdWxlLmV4cG9ydHMgPSBlZGl0T25TZWxlY3Q7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/editOnSelect.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nvar DraftJsDebugLogging = __webpack_require__(/*! ./DraftJsDebugLogging */ \"./node_modules/draft-js/lib/DraftJsDebugLogging.js\");\n\nvar EditorState = __webpack_require__(/*! ./EditorState */ \"./node_modules/draft-js/lib/EditorState.js\");\n\nvar getContentEditableContainer = __webpack_require__(/*! ./getContentEditableContainer */ \"./node_modules/draft-js/lib/getContentEditableContainer.js\");\n\nvar getDraftEditorSelection = __webpack_require__(/*! ./getDraftEditorSelection */ \"./node_modules/draft-js/lib/getDraftEditorSelection.js\");\n\nfunction editOnSelect(editor) {\n if (editor._blockSelectEvents || editor._latestEditorState !== editor.props.editorState) {\n if (editor._blockSelectEvents) {\n var _editorState = editor.props.editorState;\n\n var selectionState = _editorState.getSelection();\n\n DraftJsDebugLogging.logBlockedSelectionEvent({\n // For now I don't think we need any other info\n anonymizedDom: 'N/A',\n extraParams: JSON.stringify({\n stacktrace: new Error().stack\n }),\n selectionState: JSON.stringify(selectionState.toJS())\n });\n }\n\n return;\n }\n\n var editorState = editor.props.editorState;\n var documentSelection = getDraftEditorSelection(editorState, getContentEditableContainer(editor));\n var updatedSelectionState = documentSelection.selectionState;\n\n if (updatedSelectionState !== editorState.getSelection()) {\n if (documentSelection.needsRecovery) {\n editorState = EditorState.forceSelection(editorState, updatedSelectionState);\n } else {\n editorState = EditorState.acceptSelection(editorState, updatedSelectionState);\n }\n\n editor.update(editorState);\n }\n}\n\nmodule.exports = editOnSelect;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2VkaXRPblNlbGVjdC5qcz81ODkzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ2E7O0FBRWIsMEJBQTBCLG1CQUFPLENBQUMsaUZBQXVCOztBQUV6RCxrQkFBa0IsbUJBQU8sQ0FBQyxpRUFBZTs7QUFFekMsa0NBQWtDLG1CQUFPLENBQUMsaUdBQStCOztBQUV6RSw4QkFBOEIsbUJBQU8sQ0FBQyx5RkFBMkI7O0FBRWpFO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQSxPQUFPO0FBQ1A7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2RyYWZ0LWpzL2xpYi9lZGl0T25TZWxlY3QuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgRmFjZWJvb2ssIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIEBmb3JtYXRcbiAqIFxuICogQGVtYWlscyBvbmNhbGwrZHJhZnRfanNcbiAqL1xuJ3VzZSBzdHJpY3QnO1xuXG52YXIgRHJhZnRKc0RlYnVnTG9nZ2luZyA9IHJlcXVpcmUoXCIuL0RyYWZ0SnNEZWJ1Z0xvZ2dpbmdcIik7XG5cbnZhciBFZGl0b3JTdGF0ZSA9IHJlcXVpcmUoXCIuL0VkaXRvclN0YXRlXCIpO1xuXG52YXIgZ2V0Q29udGVudEVkaXRhYmxlQ29udGFpbmVyID0gcmVxdWlyZShcIi4vZ2V0Q29udGVudEVkaXRhYmxlQ29udGFpbmVyXCIpO1xuXG52YXIgZ2V0RHJhZnRFZGl0b3JTZWxlY3Rpb24gPSByZXF1aXJlKFwiLi9nZXREcmFmdEVkaXRvclNlbGVjdGlvblwiKTtcblxuZnVuY3Rpb24gZWRpdE9uU2VsZWN0KGVkaXRvcikge1xuICBpZiAoZWRpdG9yLl9ibG9ja1NlbGVjdEV2ZW50cyB8fCBlZGl0b3IuX2xhdGVzdEVkaXRvclN0YXRlICE9PSBlZGl0b3IucHJvcHMuZWRpdG9yU3RhdGUpIHtcbiAgICBpZiAoZWRpdG9yLl9ibG9ja1NlbGVjdEV2ZW50cykge1xuICAgICAgdmFyIF9lZGl0b3JTdGF0ZSA9IGVkaXRvci5wcm9wcy5lZGl0b3JTdGF0ZTtcblxuICAgICAgdmFyIHNlbGVjdGlvblN0YXRlID0gX2VkaXRvclN0YXRlLmdldFNlbGVjdGlvbigpO1xuXG4gICAgICBEcmFmdEpzRGVidWdMb2dnaW5nLmxvZ0Jsb2NrZWRTZWxlY3Rpb25FdmVudCh7XG4gICAgICAgIC8vIEZvciBub3cgSSBkb24ndCB0aGluayB3ZSBuZWVkIGFueSBvdGhlciBpbmZvXG4gICAgICAgIGFub255bWl6ZWREb206ICdOL0EnLFxuICAgICAgICBleHRyYVBhcmFtczogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgIHN0YWNrdHJhY2U6IG5ldyBFcnJvcigpLnN0YWNrXG4gICAgICAgIH0pLFxuICAgICAgICBzZWxlY3Rpb25TdGF0ZTogSlNPTi5zdHJpbmdpZnkoc2VsZWN0aW9uU3RhdGUudG9KUygpKVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdmFyIGVkaXRvclN0YXRlID0gZWRpdG9yLnByb3BzLmVkaXRvclN0YXRlO1xuICB2YXIgZG9jdW1lbnRTZWxlY3Rpb24gPSBnZXREcmFmdEVkaXRvclNlbGVjdGlvbihlZGl0b3JTdGF0ZSwgZ2V0Q29udGVudEVkaXRhYmxlQ29udGFpbmVyKGVkaXRvcikpO1xuICB2YXIgdXBkYXRlZFNlbGVjdGlvblN0YXRlID0gZG9jdW1lbnRTZWxlY3Rpb24uc2VsZWN0aW9uU3RhdGU7XG5cbiAgaWYgKHVwZGF0ZWRTZWxlY3Rpb25TdGF0ZSAhPT0gZWRpdG9yU3RhdGUuZ2V0U2VsZWN0aW9uKCkpIHtcbiAgICBpZiAoZG9jdW1lbnRTZWxlY3Rpb24ubmVlZHNSZWNvdmVyeSkge1xuICAgICAgZWRpdG9yU3RhdGUgPSBFZGl0b3JTdGF0ZS5mb3JjZVNlbGVjdGlvbihlZGl0b3JTdGF0ZSwgdXBkYXRlZFNlbGVjdGlvblN0YXRlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZWRpdG9yU3RhdGUgPSBFZGl0b3JTdGF0ZS5hY2NlcHRTZWxlY3Rpb24oZWRpdG9yU3RhdGUsIHVwZGF0ZWRTZWxlY3Rpb25TdGF0ZSk7XG4gICAgfVxuXG4gICAgZWRpdG9yLnVwZGF0ZShlZGl0b3JTdGF0ZSk7XG4gIH1cbn1cblxubW9kdWxlLmV4cG9ydHMgPSBlZGl0T25TZWxlY3Q7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/editOnSelect.js\n"); /***/ }), @@ -751,7 +846,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule encodeEntityRanges\n * @format\n * \n */\n\n\n\nvar DraftStringKey = __webpack_require__(/*! ./DraftStringKey */ \"./node_modules/draft-js/lib/DraftStringKey.js\");\nvar UnicodeUtils = __webpack_require__(/*! fbjs/lib/UnicodeUtils */ \"./node_modules/fbjs/lib/UnicodeUtils.js\");\n\nvar strlen = UnicodeUtils.strlen;\n\n/**\n * Convert to UTF-8 character counts for storage.\n */\n\nfunction encodeEntityRanges(block, storageMap) {\n var encoded = [];\n block.findEntityRanges(function (character) {\n return !!character.getEntity();\n }, function ( /*number*/start, /*number*/end) {\n var text = block.getText();\n var key = block.getEntityAt(start);\n encoded.push({\n offset: strlen(text.slice(0, start)),\n length: strlen(text.slice(start, end)),\n // Encode the key as a number for range storage.\n key: Number(storageMap[DraftStringKey.stringify(key)])\n });\n });\n return encoded;\n}\n\nmodule.exports = encodeEntityRanges;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2VuY29kZUVudGl0eVJhbmdlcy5qcz81M2NlIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFYTs7QUFFYixxQkFBcUIsbUJBQU8sQ0FBQyx1RUFBa0I7QUFDL0MsbUJBQW1CLG1CQUFPLENBQUMsc0VBQXVCOztBQUVsRDs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsR0FBRztBQUNIO0FBQ0E7O0FBRUEiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2VuY29kZUVudGl0eVJhbmdlcy5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXG4gKiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEJTRC1zdHlsZSBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLiBBbiBhZGRpdGlvbmFsIGdyYW50XG4gKiBvZiBwYXRlbnQgcmlnaHRzIGNhbiBiZSBmb3VuZCBpbiB0aGUgUEFURU5UUyBmaWxlIGluIHRoZSBzYW1lIGRpcmVjdG9yeS5cbiAqXG4gKiBAcHJvdmlkZXNNb2R1bGUgZW5jb2RlRW50aXR5UmFuZ2VzXG4gKiBAZm9ybWF0XG4gKiBcbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbnZhciBEcmFmdFN0cmluZ0tleSA9IHJlcXVpcmUoJy4vRHJhZnRTdHJpbmdLZXknKTtcbnZhciBVbmljb2RlVXRpbHMgPSByZXF1aXJlKCdmYmpzL2xpYi9Vbmljb2RlVXRpbHMnKTtcblxudmFyIHN0cmxlbiA9IFVuaWNvZGVVdGlscy5zdHJsZW47XG5cbi8qKlxuICogQ29udmVydCB0byBVVEYtOCBjaGFyYWN0ZXIgY291bnRzIGZvciBzdG9yYWdlLlxuICovXG5cbmZ1bmN0aW9uIGVuY29kZUVudGl0eVJhbmdlcyhibG9jaywgc3RvcmFnZU1hcCkge1xuICB2YXIgZW5jb2RlZCA9IFtdO1xuICBibG9jay5maW5kRW50aXR5UmFuZ2VzKGZ1bmN0aW9uIChjaGFyYWN0ZXIpIHtcbiAgICByZXR1cm4gISFjaGFyYWN0ZXIuZ2V0RW50aXR5KCk7XG4gIH0sIGZ1bmN0aW9uICggLypudW1iZXIqL3N0YXJ0LCAvKm51bWJlciovZW5kKSB7XG4gICAgdmFyIHRleHQgPSBibG9jay5nZXRUZXh0KCk7XG4gICAgdmFyIGtleSA9IGJsb2NrLmdldEVudGl0eUF0KHN0YXJ0KTtcbiAgICBlbmNvZGVkLnB1c2goe1xuICAgICAgb2Zmc2V0OiBzdHJsZW4odGV4dC5zbGljZSgwLCBzdGFydCkpLFxuICAgICAgbGVuZ3RoOiBzdHJsZW4odGV4dC5zbGljZShzdGFydCwgZW5kKSksXG4gICAgICAvLyBFbmNvZGUgdGhlIGtleSBhcyBhIG51bWJlciBmb3IgcmFuZ2Ugc3RvcmFnZS5cbiAgICAgIGtleTogTnVtYmVyKHN0b3JhZ2VNYXBbRHJhZnRTdHJpbmdLZXkuc3RyaW5naWZ5KGtleSldKVxuICAgIH0pO1xuICB9KTtcbiAgcmV0dXJuIGVuY29kZWQ7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gZW5jb2RlRW50aXR5UmFuZ2VzOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/encodeEntityRanges.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nvar DraftStringKey = __webpack_require__(/*! ./DraftStringKey */ \"./node_modules/draft-js/lib/DraftStringKey.js\");\n\nvar UnicodeUtils = __webpack_require__(/*! fbjs/lib/UnicodeUtils */ \"./node_modules/fbjs/lib/UnicodeUtils.js\");\n\nvar strlen = UnicodeUtils.strlen;\n/**\n * Convert to UTF-8 character counts for storage.\n */\n\nfunction encodeEntityRanges(block, storageMap) {\n var encoded = [];\n block.findEntityRanges(function (character) {\n return !!character.getEntity();\n }, function (\n /*number*/\n start,\n /*number*/\n end) {\n var text = block.getText();\n var key = block.getEntityAt(start);\n encoded.push({\n offset: strlen(text.slice(0, start)),\n length: strlen(text.slice(start, end)),\n // Encode the key as a number for range storage.\n key: Number(storageMap[DraftStringKey.stringify(key)])\n });\n });\n return encoded;\n}\n\nmodule.exports = encodeEntityRanges;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2VuY29kZUVudGl0eVJhbmdlcy5qcz81M2NlIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ2E7O0FBRWIscUJBQXFCLG1CQUFPLENBQUMsdUVBQWtCOztBQUUvQyxtQkFBbUIsbUJBQU8sQ0FBQyxzRUFBdUI7O0FBRWxEO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsR0FBRztBQUNIO0FBQ0E7O0FBRUEiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2VuY29kZUVudGl0eVJhbmdlcy5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSBGYWNlYm9vaywgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICogQGZvcm1hdFxuICogXG4gKiBAZW1haWxzIG9uY2FsbCtkcmFmdF9qc1xuICovXG4ndXNlIHN0cmljdCc7XG5cbnZhciBEcmFmdFN0cmluZ0tleSA9IHJlcXVpcmUoXCIuL0RyYWZ0U3RyaW5nS2V5XCIpO1xuXG52YXIgVW5pY29kZVV0aWxzID0gcmVxdWlyZShcImZianMvbGliL1VuaWNvZGVVdGlsc1wiKTtcblxudmFyIHN0cmxlbiA9IFVuaWNvZGVVdGlscy5zdHJsZW47XG4vKipcbiAqIENvbnZlcnQgdG8gVVRGLTggY2hhcmFjdGVyIGNvdW50cyBmb3Igc3RvcmFnZS5cbiAqL1xuXG5mdW5jdGlvbiBlbmNvZGVFbnRpdHlSYW5nZXMoYmxvY2ssIHN0b3JhZ2VNYXApIHtcbiAgdmFyIGVuY29kZWQgPSBbXTtcbiAgYmxvY2suZmluZEVudGl0eVJhbmdlcyhmdW5jdGlvbiAoY2hhcmFjdGVyKSB7XG4gICAgcmV0dXJuICEhY2hhcmFjdGVyLmdldEVudGl0eSgpO1xuICB9LCBmdW5jdGlvbiAoXG4gIC8qbnVtYmVyKi9cbiAgc3RhcnQsXG4gIC8qbnVtYmVyKi9cbiAgZW5kKSB7XG4gICAgdmFyIHRleHQgPSBibG9jay5nZXRUZXh0KCk7XG4gICAgdmFyIGtleSA9IGJsb2NrLmdldEVudGl0eUF0KHN0YXJ0KTtcbiAgICBlbmNvZGVkLnB1c2goe1xuICAgICAgb2Zmc2V0OiBzdHJsZW4odGV4dC5zbGljZSgwLCBzdGFydCkpLFxuICAgICAgbGVuZ3RoOiBzdHJsZW4odGV4dC5zbGljZShzdGFydCwgZW5kKSksXG4gICAgICAvLyBFbmNvZGUgdGhlIGtleSBhcyBhIG51bWJlciBmb3IgcmFuZ2Ugc3RvcmFnZS5cbiAgICAgIGtleTogTnVtYmVyKHN0b3JhZ2VNYXBbRHJhZnRTdHJpbmdLZXkuc3RyaW5naWZ5KGtleSldKVxuICAgIH0pO1xuICB9KTtcbiAgcmV0dXJuIGVuY29kZWQ7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gZW5jb2RlRW50aXR5UmFuZ2VzOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/encodeEntityRanges.js\n"); /***/ }), @@ -763,7 +858,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule encodeInlineStyleRanges\n * @format\n * \n */\n\n\n\nvar UnicodeUtils = __webpack_require__(/*! fbjs/lib/UnicodeUtils */ \"./node_modules/fbjs/lib/UnicodeUtils.js\");\n\nvar findRangesImmutable = __webpack_require__(/*! ./findRangesImmutable */ \"./node_modules/draft-js/lib/findRangesImmutable.js\");\n\nvar areEqual = function areEqual(a, b) {\n return a === b;\n};\nvar isTruthy = function isTruthy(a) {\n return !!a;\n};\nvar EMPTY_ARRAY = [];\n\n/**\n * Helper function for getting encoded styles for each inline style. Convert\n * to UTF-8 character counts for storage.\n */\nfunction getEncodedInlinesForType(block, styleList, styleToEncode) {\n var ranges = [];\n\n // Obtain an array with ranges for only the specified style.\n var filteredInlines = styleList.map(function (style) {\n return style.has(styleToEncode);\n }).toList();\n\n findRangesImmutable(filteredInlines, areEqual,\n // We only want to keep ranges with nonzero style values.\n isTruthy, function (start, end) {\n var text = block.getText();\n ranges.push({\n offset: UnicodeUtils.strlen(text.slice(0, start)),\n length: UnicodeUtils.strlen(text.slice(start, end)),\n style: styleToEncode\n });\n });\n\n return ranges;\n}\n\n/*\n * Retrieve the encoded arrays of inline styles, with each individual style\n * treated separately.\n */\nfunction encodeInlineStyleRanges(block) {\n var styleList = block.getCharacterList().map(function (c) {\n return c.getStyle();\n }).toList();\n var ranges = styleList.flatten().toSet().map(function (style) {\n return getEncodedInlinesForType(block, styleList, style);\n });\n\n return Array.prototype.concat.apply(EMPTY_ARRAY, ranges.toJS());\n}\n\nmodule.exports = encodeInlineStyleRanges;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2VuY29kZUlubGluZVN0eWxlUmFuZ2VzLmpzP2NiMWMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVhOztBQUViLG1CQUFtQixtQkFBTyxDQUFDLHNFQUF1Qjs7QUFFbEQsMEJBQTBCLG1CQUFPLENBQUMsaUZBQXVCOztBQUV6RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMLEdBQUc7O0FBRUg7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBOztBQUVBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2RyYWZ0LWpzL2xpYi9lbmNvZGVJbmxpbmVTdHlsZVJhbmdlcy5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXG4gKiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEJTRC1zdHlsZSBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLiBBbiBhZGRpdGlvbmFsIGdyYW50XG4gKiBvZiBwYXRlbnQgcmlnaHRzIGNhbiBiZSBmb3VuZCBpbiB0aGUgUEFURU5UUyBmaWxlIGluIHRoZSBzYW1lIGRpcmVjdG9yeS5cbiAqXG4gKiBAcHJvdmlkZXNNb2R1bGUgZW5jb2RlSW5saW5lU3R5bGVSYW5nZXNcbiAqIEBmb3JtYXRcbiAqIFxuICovXG5cbid1c2Ugc3RyaWN0JztcblxudmFyIFVuaWNvZGVVdGlscyA9IHJlcXVpcmUoJ2ZianMvbGliL1VuaWNvZGVVdGlscycpO1xuXG52YXIgZmluZFJhbmdlc0ltbXV0YWJsZSA9IHJlcXVpcmUoJy4vZmluZFJhbmdlc0ltbXV0YWJsZScpO1xuXG52YXIgYXJlRXF1YWwgPSBmdW5jdGlvbiBhcmVFcXVhbChhLCBiKSB7XG4gIHJldHVybiBhID09PSBiO1xufTtcbnZhciBpc1RydXRoeSA9IGZ1bmN0aW9uIGlzVHJ1dGh5KGEpIHtcbiAgcmV0dXJuICEhYTtcbn07XG52YXIgRU1QVFlfQVJSQVkgPSBbXTtcblxuLyoqXG4gKiBIZWxwZXIgZnVuY3Rpb24gZm9yIGdldHRpbmcgZW5jb2RlZCBzdHlsZXMgZm9yIGVhY2ggaW5saW5lIHN0eWxlLiBDb252ZXJ0XG4gKiB0byBVVEYtOCBjaGFyYWN0ZXIgY291bnRzIGZvciBzdG9yYWdlLlxuICovXG5mdW5jdGlvbiBnZXRFbmNvZGVkSW5saW5lc0ZvclR5cGUoYmxvY2ssIHN0eWxlTGlzdCwgc3R5bGVUb0VuY29kZSkge1xuICB2YXIgcmFuZ2VzID0gW107XG5cbiAgLy8gT2J0YWluIGFuIGFycmF5IHdpdGggcmFuZ2VzIGZvciBvbmx5IHRoZSBzcGVjaWZpZWQgc3R5bGUuXG4gIHZhciBmaWx0ZXJlZElubGluZXMgPSBzdHlsZUxpc3QubWFwKGZ1bmN0aW9uIChzdHlsZSkge1xuICAgIHJldHVybiBzdHlsZS5oYXMoc3R5bGVUb0VuY29kZSk7XG4gIH0pLnRvTGlzdCgpO1xuXG4gIGZpbmRSYW5nZXNJbW11dGFibGUoZmlsdGVyZWRJbmxpbmVzLCBhcmVFcXVhbCxcbiAgLy8gV2Ugb25seSB3YW50IHRvIGtlZXAgcmFuZ2VzIHdpdGggbm9uemVybyBzdHlsZSB2YWx1ZXMuXG4gIGlzVHJ1dGh5LCBmdW5jdGlvbiAoc3RhcnQsIGVuZCkge1xuICAgIHZhciB0ZXh0ID0gYmxvY2suZ2V0VGV4dCgpO1xuICAgIHJhbmdlcy5wdXNoKHtcbiAgICAgIG9mZnNldDogVW5pY29kZVV0aWxzLnN0cmxlbih0ZXh0LnNsaWNlKDAsIHN0YXJ0KSksXG4gICAgICBsZW5ndGg6IFVuaWNvZGVVdGlscy5zdHJsZW4odGV4dC5zbGljZShzdGFydCwgZW5kKSksXG4gICAgICBzdHlsZTogc3R5bGVUb0VuY29kZVxuICAgIH0pO1xuICB9KTtcblxuICByZXR1cm4gcmFuZ2VzO1xufVxuXG4vKlxuICogUmV0cmlldmUgdGhlIGVuY29kZWQgYXJyYXlzIG9mIGlubGluZSBzdHlsZXMsIHdpdGggZWFjaCBpbmRpdmlkdWFsIHN0eWxlXG4gKiB0cmVhdGVkIHNlcGFyYXRlbHkuXG4gKi9cbmZ1bmN0aW9uIGVuY29kZUlubGluZVN0eWxlUmFuZ2VzKGJsb2NrKSB7XG4gIHZhciBzdHlsZUxpc3QgPSBibG9jay5nZXRDaGFyYWN0ZXJMaXN0KCkubWFwKGZ1bmN0aW9uIChjKSB7XG4gICAgcmV0dXJuIGMuZ2V0U3R5bGUoKTtcbiAgfSkudG9MaXN0KCk7XG4gIHZhciByYW5nZXMgPSBzdHlsZUxpc3QuZmxhdHRlbigpLnRvU2V0KCkubWFwKGZ1bmN0aW9uIChzdHlsZSkge1xuICAgIHJldHVybiBnZXRFbmNvZGVkSW5saW5lc0ZvclR5cGUoYmxvY2ssIHN0eWxlTGlzdCwgc3R5bGUpO1xuICB9KTtcblxuICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmNvbmNhdC5hcHBseShFTVBUWV9BUlJBWSwgcmFuZ2VzLnRvSlMoKSk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gZW5jb2RlSW5saW5lU3R5bGVSYW5nZXM7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/encodeInlineStyleRanges.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nvar UnicodeUtils = __webpack_require__(/*! fbjs/lib/UnicodeUtils */ \"./node_modules/fbjs/lib/UnicodeUtils.js\");\n\nvar findRangesImmutable = __webpack_require__(/*! ./findRangesImmutable */ \"./node_modules/draft-js/lib/findRangesImmutable.js\");\n\nvar areEqual = function areEqual(a, b) {\n return a === b;\n};\n\nvar isTruthy = function isTruthy(a) {\n return !!a;\n};\n\nvar EMPTY_ARRAY = [];\n/**\n * Helper function for getting encoded styles for each inline style. Convert\n * to UTF-8 character counts for storage.\n */\n\nfunction getEncodedInlinesForType(block, styleList, styleToEncode) {\n var ranges = []; // Obtain an array with ranges for only the specified style.\n\n var filteredInlines = styleList.map(function (style) {\n return style.has(styleToEncode);\n }).toList();\n findRangesImmutable(filteredInlines, areEqual, // We only want to keep ranges with nonzero style values.\n isTruthy, function (start, end) {\n var text = block.getText();\n ranges.push({\n offset: UnicodeUtils.strlen(text.slice(0, start)),\n length: UnicodeUtils.strlen(text.slice(start, end)),\n style: styleToEncode\n });\n });\n return ranges;\n}\n/*\n * Retrieve the encoded arrays of inline styles, with each individual style\n * treated separately.\n */\n\n\nfunction encodeInlineStyleRanges(block) {\n var styleList = block.getCharacterList().map(function (c) {\n return c.getStyle();\n }).toList();\n var ranges = styleList.flatten().toSet().map(function (style) {\n return getEncodedInlinesForType(block, styleList, style);\n });\n return Array.prototype.concat.apply(EMPTY_ARRAY, ranges.toJS());\n}\n\nmodule.exports = encodeInlineStyleRanges;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2VuY29kZUlubGluZVN0eWxlUmFuZ2VzLmpzP2NiMWMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDYTs7QUFFYixtQkFBbUIsbUJBQU8sQ0FBQyxzRUFBdUI7O0FBRWxELDBCQUEwQixtQkFBTyxDQUFDLGlGQUF1Qjs7QUFFekQ7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0Esa0JBQWtCOztBQUVsQjtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUEiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2VuY29kZUlubGluZVN0eWxlUmFuZ2VzLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIEZhY2Vib29rLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKiBAZm9ybWF0XG4gKiBcbiAqIEBlbWFpbHMgb25jYWxsK2RyYWZ0X2pzXG4gKi9cbid1c2Ugc3RyaWN0JztcblxudmFyIFVuaWNvZGVVdGlscyA9IHJlcXVpcmUoXCJmYmpzL2xpYi9Vbmljb2RlVXRpbHNcIik7XG5cbnZhciBmaW5kUmFuZ2VzSW1tdXRhYmxlID0gcmVxdWlyZShcIi4vZmluZFJhbmdlc0ltbXV0YWJsZVwiKTtcblxudmFyIGFyZUVxdWFsID0gZnVuY3Rpb24gYXJlRXF1YWwoYSwgYikge1xuICByZXR1cm4gYSA9PT0gYjtcbn07XG5cbnZhciBpc1RydXRoeSA9IGZ1bmN0aW9uIGlzVHJ1dGh5KGEpIHtcbiAgcmV0dXJuICEhYTtcbn07XG5cbnZhciBFTVBUWV9BUlJBWSA9IFtdO1xuLyoqXG4gKiBIZWxwZXIgZnVuY3Rpb24gZm9yIGdldHRpbmcgZW5jb2RlZCBzdHlsZXMgZm9yIGVhY2ggaW5saW5lIHN0eWxlLiBDb252ZXJ0XG4gKiB0byBVVEYtOCBjaGFyYWN0ZXIgY291bnRzIGZvciBzdG9yYWdlLlxuICovXG5cbmZ1bmN0aW9uIGdldEVuY29kZWRJbmxpbmVzRm9yVHlwZShibG9jaywgc3R5bGVMaXN0LCBzdHlsZVRvRW5jb2RlKSB7XG4gIHZhciByYW5nZXMgPSBbXTsgLy8gT2J0YWluIGFuIGFycmF5IHdpdGggcmFuZ2VzIGZvciBvbmx5IHRoZSBzcGVjaWZpZWQgc3R5bGUuXG5cbiAgdmFyIGZpbHRlcmVkSW5saW5lcyA9IHN0eWxlTGlzdC5tYXAoZnVuY3Rpb24gKHN0eWxlKSB7XG4gICAgcmV0dXJuIHN0eWxlLmhhcyhzdHlsZVRvRW5jb2RlKTtcbiAgfSkudG9MaXN0KCk7XG4gIGZpbmRSYW5nZXNJbW11dGFibGUoZmlsdGVyZWRJbmxpbmVzLCBhcmVFcXVhbCwgLy8gV2Ugb25seSB3YW50IHRvIGtlZXAgcmFuZ2VzIHdpdGggbm9uemVybyBzdHlsZSB2YWx1ZXMuXG4gIGlzVHJ1dGh5LCBmdW5jdGlvbiAoc3RhcnQsIGVuZCkge1xuICAgIHZhciB0ZXh0ID0gYmxvY2suZ2V0VGV4dCgpO1xuICAgIHJhbmdlcy5wdXNoKHtcbiAgICAgIG9mZnNldDogVW5pY29kZVV0aWxzLnN0cmxlbih0ZXh0LnNsaWNlKDAsIHN0YXJ0KSksXG4gICAgICBsZW5ndGg6IFVuaWNvZGVVdGlscy5zdHJsZW4odGV4dC5zbGljZShzdGFydCwgZW5kKSksXG4gICAgICBzdHlsZTogc3R5bGVUb0VuY29kZVxuICAgIH0pO1xuICB9KTtcbiAgcmV0dXJuIHJhbmdlcztcbn1cbi8qXG4gKiBSZXRyaWV2ZSB0aGUgZW5jb2RlZCBhcnJheXMgb2YgaW5saW5lIHN0eWxlcywgd2l0aCBlYWNoIGluZGl2aWR1YWwgc3R5bGVcbiAqIHRyZWF0ZWQgc2VwYXJhdGVseS5cbiAqL1xuXG5cbmZ1bmN0aW9uIGVuY29kZUlubGluZVN0eWxlUmFuZ2VzKGJsb2NrKSB7XG4gIHZhciBzdHlsZUxpc3QgPSBibG9jay5nZXRDaGFyYWN0ZXJMaXN0KCkubWFwKGZ1bmN0aW9uIChjKSB7XG4gICAgcmV0dXJuIGMuZ2V0U3R5bGUoKTtcbiAgfSkudG9MaXN0KCk7XG4gIHZhciByYW5nZXMgPSBzdHlsZUxpc3QuZmxhdHRlbigpLnRvU2V0KCkubWFwKGZ1bmN0aW9uIChzdHlsZSkge1xuICAgIHJldHVybiBnZXRFbmNvZGVkSW5saW5lc0ZvclR5cGUoYmxvY2ssIHN0eWxlTGlzdCwgc3R5bGUpO1xuICB9KTtcbiAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5jb25jYXQuYXBwbHkoRU1QVFlfQVJSQVksIHJhbmdlcy50b0pTKCkpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGVuY29kZUlubGluZVN0eWxlUmFuZ2VzOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/encodeInlineStyleRanges.js\n"); /***/ }), @@ -775,7 +870,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule expandRangeToStartOfLine\n * @format\n * \n */\n\nvar UnicodeUtils = __webpack_require__(/*! fbjs/lib/UnicodeUtils */ \"./node_modules/fbjs/lib/UnicodeUtils.js\");\n\nvar getRangeClientRects = __webpack_require__(/*! ./getRangeClientRects */ \"./node_modules/draft-js/lib/getRangeClientRects.js\");\nvar invariant = __webpack_require__(/*! fbjs/lib/invariant */ \"./node_modules/fbjs/lib/invariant.js\");\n\n/**\n * Return the computed line height, in pixels, for the provided element.\n */\nfunction getLineHeightPx(element) {\n var computed = getComputedStyle(element);\n var div = document.createElement('div');\n div.style.fontFamily = computed.fontFamily;\n div.style.fontSize = computed.fontSize;\n div.style.fontStyle = computed.fontStyle;\n div.style.fontWeight = computed.fontWeight;\n div.style.lineHeight = computed.lineHeight;\n div.style.position = 'absolute';\n div.textContent = 'M';\n\n var documentBody = document.body;\n !documentBody ? true ? invariant(false, 'Missing document.body') : undefined : void 0;\n\n // forced layout here\n documentBody.appendChild(div);\n var rect = div.getBoundingClientRect();\n documentBody.removeChild(div);\n\n return rect.height;\n}\n\n/**\n * Return whether every ClientRect in the provided list lies on the same line.\n *\n * We assume that the rects on the same line all contain the baseline, so the\n * lowest top line needs to be above the highest bottom line (i.e., if you were\n * to project the rects onto the y-axis, their intersection would be nonempty).\n *\n * In addition, we require that no two boxes are lineHeight (or more) apart at\n * either top or bottom, which helps protect against false positives for fonts\n * with extremely large glyph heights (e.g., with a font size of 17px, Zapfino\n * produces rects of height 58px!).\n */\nfunction areRectsOnOneLine(rects, lineHeight) {\n var minTop = Infinity;\n var minBottom = Infinity;\n var maxTop = -Infinity;\n var maxBottom = -Infinity;\n\n for (var ii = 0; ii < rects.length; ii++) {\n var rect = rects[ii];\n if (rect.width === 0 || rect.width === 1) {\n // When a range starts or ends a soft wrap, many browsers (Chrome, IE,\n // Safari) include an empty rect on the previous or next line. When the\n // text lies in a container whose position is not integral (e.g., from\n // margin: auto), Safari makes these empty rects have width 1 (instead of\n // 0). Having one-pixel-wide characters seems unlikely (and most browsers\n // report widths in subpixel precision anyway) so it's relatively safe to\n // skip over them.\n continue;\n }\n minTop = Math.min(minTop, rect.top);\n minBottom = Math.min(minBottom, rect.bottom);\n maxTop = Math.max(maxTop, rect.top);\n maxBottom = Math.max(maxBottom, rect.bottom);\n }\n\n return maxTop <= minBottom && maxTop - minTop < lineHeight && maxBottom - minBottom < lineHeight;\n}\n\n/**\n * Return the length of a node, as used by Range offsets.\n */\nfunction getNodeLength(node) {\n // http://www.w3.org/TR/dom/#concept-node-length\n switch (node.nodeType) {\n case Node.DOCUMENT_TYPE_NODE:\n return 0;\n case Node.TEXT_NODE:\n case Node.PROCESSING_INSTRUCTION_NODE:\n case Node.COMMENT_NODE:\n return node.length;\n default:\n return node.childNodes.length;\n }\n}\n\n/**\n * Given a collapsed range, move the start position backwards as far as\n * possible while the range still spans only a single line.\n */\nfunction expandRangeToStartOfLine(range) {\n !range.collapsed ? true ? invariant(false, 'expandRangeToStartOfLine: Provided range is not collapsed.') : undefined : void 0;\n range = range.cloneRange();\n\n var containingElement = range.startContainer;\n if (containingElement.nodeType !== 1) {\n containingElement = containingElement.parentNode;\n }\n var lineHeight = getLineHeightPx(containingElement);\n\n // Imagine our text looks like:\n //
once upon a time, there was a boy\n // who lived under^ the\n // stairs in a small closet.
\n // where the caret represents the cursor. First, we crawl up the tree until\n // the range spans multiple lines (setting the start point to before\n // \"\", then before \"
\"), then at each level we do a search to\n // find the latest point which is still on a previous line. We'll find that\n // the break point is inside the span, then inside the , then in its text\n // node child, the actual break point before \"who\".\n\n var bestContainer = range.endContainer;\n var bestOffset = range.endOffset;\n range.setStart(range.startContainer, 0);\n\n while (areRectsOnOneLine(getRangeClientRects(range), lineHeight)) {\n bestContainer = range.startContainer;\n bestOffset = range.startOffset;\n !bestContainer.parentNode ? true ? invariant(false, 'Found unexpected detached subtree when traversing.') : undefined : void 0;\n range.setStartBefore(bestContainer);\n if (bestContainer.nodeType === 1 && getComputedStyle(bestContainer).display !== 'inline') {\n // The start of the line is never in a different block-level container.\n break;\n }\n }\n\n // In the above example, range now spans from \"
\" to \"under\",\n // bestContainer is
, and bestOffset is 1 (index of inside
)].\n // Picking out which child to recurse into here is a special case since we\n // don't want to check past -- once we find that the final range starts\n // in , we can look at all of its children (and all of their children)\n // to find the break point.\n\n // At all times, (bestContainer, bestOffset) is the latest single-line start\n // point that we know of.\n var currentContainer = bestContainer;\n var maxIndexToConsider = bestOffset - 1;\n\n do {\n var nodeValue = currentContainer.nodeValue;\n\n for (var ii = maxIndexToConsider; ii >= 0; ii--) {\n if (nodeValue != null && ii > 0 && UnicodeUtils.isSurrogatePair(nodeValue, ii - 1)) {\n // We're in the middle of a surrogate pair -- skip over so we never\n // return a range with an endpoint in the middle of a code point.\n continue;\n }\n\n range.setStart(currentContainer, ii);\n if (areRectsOnOneLine(getRangeClientRects(range), lineHeight)) {\n bestContainer = currentContainer;\n bestOffset = ii;\n } else {\n break;\n }\n }\n\n if (ii === -1 || currentContainer.childNodes.length === 0) {\n // If ii === -1, then (bestContainer, bestOffset), which is equal to\n // (currentContainer, 0), was a single-line start point but a start\n // point before currentContainer wasn't, so the line break seems to\n // have occurred immediately after currentContainer's start tag\n //\n // If currentContainer.childNodes.length === 0, we're already at a\n // terminal node (e.g., text node) and should return our current best.\n break;\n }\n\n currentContainer = currentContainer.childNodes[ii];\n maxIndexToConsider = getNodeLength(currentContainer);\n } while (true);\n\n range.setStart(bestContainer, bestOffset);\n return range;\n}\n\nmodule.exports = expandRangeToStartOfLine;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2V4cGFuZFJhbmdlVG9TdGFydE9mTGluZS5qcz8xZGVjIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFhOztBQUViO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxtQkFBbUIsbUJBQU8sQ0FBQyxzRUFBdUI7O0FBRWxELDBCQUEwQixtQkFBTyxDQUFDLGlGQUF1QjtBQUN6RCxnQkFBZ0IsbUJBQU8sQ0FBQyxnRUFBb0I7O0FBRTVDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0Esa0JBQWtCLEtBQXFDLCtDQUErQyxTQUFnQjs7QUFFdEg7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLGtCQUFrQixtQkFBbUI7QUFDckM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCLEtBQXFDLG9GQUFvRixTQUFnQjtBQUM5Sjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxnQ0FBZ0MsS0FBcUMsNEVBQTRFLFNBQWdCO0FBQ2pLO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSxxQ0FBcUMsU0FBUztBQUM5QztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7O0FBRUEiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2V4cGFuZFJhbmdlVG9TdGFydE9mTGluZS5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQlNELXN0eWxlIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuIEFuIGFkZGl0aW9uYWwgZ3JhbnRcbiAqIG9mIHBhdGVudCByaWdodHMgY2FuIGJlIGZvdW5kIGluIHRoZSBQQVRFTlRTIGZpbGUgaW4gdGhlIHNhbWUgZGlyZWN0b3J5LlxuICpcbiAqIEBwcm92aWRlc01vZHVsZSBleHBhbmRSYW5nZVRvU3RhcnRPZkxpbmVcbiAqIEBmb3JtYXRcbiAqIFxuICovXG5cbnZhciBVbmljb2RlVXRpbHMgPSByZXF1aXJlKCdmYmpzL2xpYi9Vbmljb2RlVXRpbHMnKTtcblxudmFyIGdldFJhbmdlQ2xpZW50UmVjdHMgPSByZXF1aXJlKCcuL2dldFJhbmdlQ2xpZW50UmVjdHMnKTtcbnZhciBpbnZhcmlhbnQgPSByZXF1aXJlKCdmYmpzL2xpYi9pbnZhcmlhbnQnKTtcblxuLyoqXG4gKiBSZXR1cm4gdGhlIGNvbXB1dGVkIGxpbmUgaGVpZ2h0LCBpbiBwaXhlbHMsIGZvciB0aGUgcHJvdmlkZWQgZWxlbWVudC5cbiAqL1xuZnVuY3Rpb24gZ2V0TGluZUhlaWdodFB4KGVsZW1lbnQpIHtcbiAgdmFyIGNvbXB1dGVkID0gZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KTtcbiAgdmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICBkaXYuc3R5bGUuZm9udEZhbWlseSA9IGNvbXB1dGVkLmZvbnRGYW1pbHk7XG4gIGRpdi5zdHlsZS5mb250U2l6ZSA9IGNvbXB1dGVkLmZvbnRTaXplO1xuICBkaXYuc3R5bGUuZm9udFN0eWxlID0gY29tcHV0ZWQuZm9udFN0eWxlO1xuICBkaXYuc3R5bGUuZm9udFdlaWdodCA9IGNvbXB1dGVkLmZvbnRXZWlnaHQ7XG4gIGRpdi5zdHlsZS5saW5lSGVpZ2h0ID0gY29tcHV0ZWQubGluZUhlaWdodDtcbiAgZGl2LnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJztcbiAgZGl2LnRleHRDb250ZW50ID0gJ00nO1xuXG4gIHZhciBkb2N1bWVudEJvZHkgPSBkb2N1bWVudC5ib2R5O1xuICAhZG9jdW1lbnRCb2R5ID8gcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyA/IGludmFyaWFudChmYWxzZSwgJ01pc3NpbmcgZG9jdW1lbnQuYm9keScpIDogaW52YXJpYW50KGZhbHNlKSA6IHZvaWQgMDtcblxuICAvLyBmb3JjZWQgbGF5b3V0IGhlcmVcbiAgZG9jdW1lbnRCb2R5LmFwcGVuZENoaWxkKGRpdik7XG4gIHZhciByZWN0ID0gZGl2LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICBkb2N1bWVudEJvZHkucmVtb3ZlQ2hpbGQoZGl2KTtcblxuICByZXR1cm4gcmVjdC5oZWlnaHQ7XG59XG5cbi8qKlxuICogUmV0dXJuIHdoZXRoZXIgZXZlcnkgQ2xpZW50UmVjdCBpbiB0aGUgcHJvdmlkZWQgbGlzdCBsaWVzIG9uIHRoZSBzYW1lIGxpbmUuXG4gKlxuICogV2UgYXNzdW1lIHRoYXQgdGhlIHJlY3RzIG9uIHRoZSBzYW1lIGxpbmUgYWxsIGNvbnRhaW4gdGhlIGJhc2VsaW5lLCBzbyB0aGVcbiAqIGxvd2VzdCB0b3AgbGluZSBuZWVkcyB0byBiZSBhYm92ZSB0aGUgaGlnaGVzdCBib3R0b20gbGluZSAoaS5lLiwgaWYgeW91IHdlcmVcbiAqIHRvIHByb2plY3QgdGhlIHJlY3RzIG9udG8gdGhlIHktYXhpcywgdGhlaXIgaW50ZXJzZWN0aW9uIHdvdWxkIGJlIG5vbmVtcHR5KS5cbiAqXG4gKiBJbiBhZGRpdGlvbiwgd2UgcmVxdWlyZSB0aGF0IG5vIHR3byBib3hlcyBhcmUgbGluZUhlaWdodCAob3IgbW9yZSkgYXBhcnQgYXRcbiAqIGVpdGhlciB0b3Agb3IgYm90dG9tLCB3aGljaCBoZWxwcyBwcm90ZWN0IGFnYWluc3QgZmFsc2UgcG9zaXRpdmVzIGZvciBmb250c1xuICogd2l0aCBleHRyZW1lbHkgbGFyZ2UgZ2x5cGggaGVpZ2h0cyAoZS5nLiwgd2l0aCBhIGZvbnQgc2l6ZSBvZiAxN3B4LCBaYXBmaW5vXG4gKiBwcm9kdWNlcyByZWN0cyBvZiBoZWlnaHQgNThweCEpLlxuICovXG5mdW5jdGlvbiBhcmVSZWN0c09uT25lTGluZShyZWN0cywgbGluZUhlaWdodCkge1xuICB2YXIgbWluVG9wID0gSW5maW5pdHk7XG4gIHZhciBtaW5Cb3R0b20gPSBJbmZpbml0eTtcbiAgdmFyIG1heFRvcCA9IC1JbmZpbml0eTtcbiAgdmFyIG1heEJvdHRvbSA9IC1JbmZpbml0eTtcblxuICBmb3IgKHZhciBpaSA9IDA7IGlpIDwgcmVjdHMubGVuZ3RoOyBpaSsrKSB7XG4gICAgdmFyIHJlY3QgPSByZWN0c1tpaV07XG4gICAgaWYgKHJlY3Qud2lkdGggPT09IDAgfHwgcmVjdC53aWR0aCA9PT0gMSkge1xuICAgICAgLy8gV2hlbiBhIHJhbmdlIHN0YXJ0cyBvciBlbmRzIGEgc29mdCB3cmFwLCBtYW55IGJyb3dzZXJzIChDaHJvbWUsIElFLFxuICAgICAgLy8gU2FmYXJpKSBpbmNsdWRlIGFuIGVtcHR5IHJlY3Qgb24gdGhlIHByZXZpb3VzIG9yIG5leHQgbGluZS4gV2hlbiB0aGVcbiAgICAgIC8vIHRleHQgbGllcyBpbiBhIGNvbnRhaW5lciB3aG9zZSBwb3NpdGlvbiBpcyBub3QgaW50ZWdyYWwgKGUuZy4sIGZyb21cbiAgICAgIC8vIG1hcmdpbjogYXV0byksIFNhZmFyaSBtYWtlcyB0aGVzZSBlbXB0eSByZWN0cyBoYXZlIHdpZHRoIDEgKGluc3RlYWQgb2ZcbiAgICAgIC8vIDApLiBIYXZpbmcgb25lLXBpeGVsLXdpZGUgY2hhcmFjdGVycyBzZWVtcyB1bmxpa2VseSAoYW5kIG1vc3QgYnJvd3NlcnNcbiAgICAgIC8vIHJlcG9ydCB3aWR0aHMgaW4gc3VicGl4ZWwgcHJlY2lzaW9uIGFueXdheSkgc28gaXQncyByZWxhdGl2ZWx5IHNhZmUgdG9cbiAgICAgIC8vIHNraXAgb3ZlciB0aGVtLlxuICAgICAgY29udGludWU7XG4gICAgfVxuICAgIG1pblRvcCA9IE1hdGgubWluKG1pblRvcCwgcmVjdC50b3ApO1xuICAgIG1pbkJvdHRvbSA9IE1hdGgubWluKG1pbkJvdHRvbSwgcmVjdC5ib3R0b20pO1xuICAgIG1heFRvcCA9IE1hdGgubWF4KG1heFRvcCwgcmVjdC50b3ApO1xuICAgIG1heEJvdHRvbSA9IE1hdGgubWF4KG1heEJvdHRvbSwgcmVjdC5ib3R0b20pO1xuICB9XG5cbiAgcmV0dXJuIG1heFRvcCA8PSBtaW5Cb3R0b20gJiYgbWF4VG9wIC0gbWluVG9wIDwgbGluZUhlaWdodCAmJiBtYXhCb3R0b20gLSBtaW5Cb3R0b20gPCBsaW5lSGVpZ2h0O1xufVxuXG4vKipcbiAqIFJldHVybiB0aGUgbGVuZ3RoIG9mIGEgbm9kZSwgYXMgdXNlZCBieSBSYW5nZSBvZmZzZXRzLlxuICovXG5mdW5jdGlvbiBnZXROb2RlTGVuZ3RoKG5vZGUpIHtcbiAgLy8gaHR0cDovL3d3dy53My5vcmcvVFIvZG9tLyNjb25jZXB0LW5vZGUtbGVuZ3RoXG4gIHN3aXRjaCAobm9kZS5ub2RlVHlwZSkge1xuICAgIGNhc2UgTm9kZS5ET0NVTUVOVF9UWVBFX05PREU6XG4gICAgICByZXR1cm4gMDtcbiAgICBjYXNlIE5vZGUuVEVYVF9OT0RFOlxuICAgIGNhc2UgTm9kZS5QUk9DRVNTSU5HX0lOU1RSVUNUSU9OX05PREU6XG4gICAgY2FzZSBOb2RlLkNPTU1FTlRfTk9ERTpcbiAgICAgIHJldHVybiBub2RlLmxlbmd0aDtcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIG5vZGUuY2hpbGROb2Rlcy5sZW5ndGg7XG4gIH1cbn1cblxuLyoqXG4gKiBHaXZlbiBhIGNvbGxhcHNlZCByYW5nZSwgbW92ZSB0aGUgc3RhcnQgcG9zaXRpb24gYmFja3dhcmRzIGFzIGZhciBhc1xuICogcG9zc2libGUgd2hpbGUgdGhlIHJhbmdlIHN0aWxsIHNwYW5zIG9ubHkgYSBzaW5nbGUgbGluZS5cbiAqL1xuZnVuY3Rpb24gZXhwYW5kUmFuZ2VUb1N0YXJ0T2ZMaW5lKHJhbmdlKSB7XG4gICFyYW5nZS5jb2xsYXBzZWQgPyBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nID8gaW52YXJpYW50KGZhbHNlLCAnZXhwYW5kUmFuZ2VUb1N0YXJ0T2ZMaW5lOiBQcm92aWRlZCByYW5nZSBpcyBub3QgY29sbGFwc2VkLicpIDogaW52YXJpYW50KGZhbHNlKSA6IHZvaWQgMDtcbiAgcmFuZ2UgPSByYW5nZS5jbG9uZVJhbmdlKCk7XG5cbiAgdmFyIGNvbnRhaW5pbmdFbGVtZW50ID0gcmFuZ2Uuc3RhcnRDb250YWluZXI7XG4gIGlmIChjb250YWluaW5nRWxlbWVudC5ub2RlVHlwZSAhPT0gMSkge1xuICAgIGNvbnRhaW5pbmdFbGVtZW50ID0gY29udGFpbmluZ0VsZW1lbnQucGFyZW50Tm9kZTtcbiAgfVxuICB2YXIgbGluZUhlaWdodCA9IGdldExpbmVIZWlnaHRQeChjb250YWluaW5nRWxlbWVudCk7XG5cbiAgLy8gSW1hZ2luZSBvdXIgdGV4dCBsb29rcyBsaWtlOlxuICAvLyAgIDxkaXY+PHNwYW4+b25jZSB1cG9uIGEgdGltZSwgdGhlcmUgd2FzIGEgPGVtPmJveVxuICAvLyAgIHdobyBsaXZlZDwvZW0+IDwvc3Bhbj48cT48c3Ryb25nPnVuZGVyXiB0aGVcbiAgLy8gICBzdGFpcnM8L3N0cm9uZz4gaW4gYSBzbWFsbCBjbG9zZXQuPC9xPjwvZGl2PlxuICAvLyB3aGVyZSB0aGUgY2FyZXQgcmVwcmVzZW50cyB0aGUgY3Vyc29yLiBGaXJzdCwgd2UgY3Jhd2wgdXAgdGhlIHRyZWUgdW50aWxcbiAgLy8gdGhlIHJhbmdlIHNwYW5zIG11bHRpcGxlIGxpbmVzIChzZXR0aW5nIHRoZSBzdGFydCBwb2ludCB0byBiZWZvcmVcbiAgLy8gXCI8c3Ryb25nPlwiLCB0aGVuIGJlZm9yZSBcIjxkaXY+XCIpLCB0aGVuIGF0IGVhY2ggbGV2ZWwgd2UgZG8gYSBzZWFyY2ggdG9cbiAgLy8gZmluZCB0aGUgbGF0ZXN0IHBvaW50IHdoaWNoIGlzIHN0aWxsIG9uIGEgcHJldmlvdXMgbGluZS4gV2UnbGwgZmluZCB0aGF0XG4gIC8vIHRoZSBicmVhayBwb2ludCBpcyBpbnNpZGUgdGhlIHNwYW4sIHRoZW4gaW5zaWRlIHRoZSA8ZW0+LCB0aGVuIGluIGl0cyB0ZXh0XG4gIC8vIG5vZGUgY2hpbGQsIHRoZSBhY3R1YWwgYnJlYWsgcG9pbnQgYmVmb3JlIFwid2hvXCIuXG5cbiAgdmFyIGJlc3RDb250YWluZXIgPSByYW5nZS5lbmRDb250YWluZXI7XG4gIHZhciBiZXN0T2Zmc2V0ID0gcmFuZ2UuZW5kT2Zmc2V0O1xuICByYW5nZS5zZXRTdGFydChyYW5nZS5zdGFydENvbnRhaW5lciwgMCk7XG5cbiAgd2hpbGUgKGFyZVJlY3RzT25PbmVMaW5lKGdldFJhbmdlQ2xpZW50UmVjdHMocmFuZ2UpLCBsaW5lSGVpZ2h0KSkge1xuICAgIGJlc3RDb250YWluZXIgPSByYW5nZS5zdGFydENvbnRhaW5lcjtcbiAgICBiZXN0T2Zmc2V0ID0gcmFuZ2Uuc3RhcnRPZmZzZXQ7XG4gICAgIWJlc3RDb250YWluZXIucGFyZW50Tm9kZSA/IHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgPyBpbnZhcmlhbnQoZmFsc2UsICdGb3VuZCB1bmV4cGVjdGVkIGRldGFjaGVkIHN1YnRyZWUgd2hlbiB0cmF2ZXJzaW5nLicpIDogaW52YXJpYW50KGZhbHNlKSA6IHZvaWQgMDtcbiAgICByYW5nZS5zZXRTdGFydEJlZm9yZShiZXN0Q29udGFpbmVyKTtcbiAgICBpZiAoYmVzdENvbnRhaW5lci5ub2RlVHlwZSA9PT0gMSAmJiBnZXRDb21wdXRlZFN0eWxlKGJlc3RDb250YWluZXIpLmRpc3BsYXkgIT09ICdpbmxpbmUnKSB7XG4gICAgICAvLyBUaGUgc3RhcnQgb2YgdGhlIGxpbmUgaXMgbmV2ZXIgaW4gYSBkaWZmZXJlbnQgYmxvY2stbGV2ZWwgY29udGFpbmVyLlxuICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgLy8gSW4gdGhlIGFib3ZlIGV4YW1wbGUsIHJhbmdlIG5vdyBzcGFucyBmcm9tIFwiPGRpdj5cIiB0byBcInVuZGVyXCIsXG4gIC8vIGJlc3RDb250YWluZXIgaXMgPGRpdj4sIGFuZCBiZXN0T2Zmc2V0IGlzIDEgKGluZGV4IG9mIDxxPiBpbnNpZGUgPGRpdj4pXS5cbiAgLy8gUGlja2luZyBvdXQgd2hpY2ggY2hpbGQgdG8gcmVjdXJzZSBpbnRvIGhlcmUgaXMgYSBzcGVjaWFsIGNhc2Ugc2luY2Ugd2VcbiAgLy8gZG9uJ3Qgd2FudCB0byBjaGVjayBwYXN0IDxxPiAtLSBvbmNlIHdlIGZpbmQgdGhhdCB0aGUgZmluYWwgcmFuZ2Ugc3RhcnRzXG4gIC8vIGluIDxzcGFuPiwgd2UgY2FuIGxvb2sgYXQgYWxsIG9mIGl0cyBjaGlsZHJlbiAoYW5kIGFsbCBvZiB0aGVpciBjaGlsZHJlbilcbiAgLy8gdG8gZmluZCB0aGUgYnJlYWsgcG9pbnQuXG5cbiAgLy8gQXQgYWxsIHRpbWVzLCAoYmVzdENvbnRhaW5lciwgYmVzdE9mZnNldCkgaXMgdGhlIGxhdGVzdCBzaW5nbGUtbGluZSBzdGFydFxuICAvLyBwb2ludCB0aGF0IHdlIGtub3cgb2YuXG4gIHZhciBjdXJyZW50Q29udGFpbmVyID0gYmVzdENvbnRhaW5lcjtcbiAgdmFyIG1heEluZGV4VG9Db25zaWRlciA9IGJlc3RPZmZzZXQgLSAxO1xuXG4gIGRvIHtcbiAgICB2YXIgbm9kZVZhbHVlID0gY3VycmVudENvbnRhaW5lci5ub2RlVmFsdWU7XG5cbiAgICBmb3IgKHZhciBpaSA9IG1heEluZGV4VG9Db25zaWRlcjsgaWkgPj0gMDsgaWktLSkge1xuICAgICAgaWYgKG5vZGVWYWx1ZSAhPSBudWxsICYmIGlpID4gMCAmJiBVbmljb2RlVXRpbHMuaXNTdXJyb2dhdGVQYWlyKG5vZGVWYWx1ZSwgaWkgLSAxKSkge1xuICAgICAgICAvLyBXZSdyZSBpbiB0aGUgbWlkZGxlIG9mIGEgc3Vycm9nYXRlIHBhaXIgLS0gc2tpcCBvdmVyIHNvIHdlIG5ldmVyXG4gICAgICAgIC8vIHJldHVybiBhIHJhbmdlIHdpdGggYW4gZW5kcG9pbnQgaW4gdGhlIG1pZGRsZSBvZiBhIGNvZGUgcG9pbnQuXG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICByYW5nZS5zZXRTdGFydChjdXJyZW50Q29udGFpbmVyLCBpaSk7XG4gICAgICBpZiAoYXJlUmVjdHNPbk9uZUxpbmUoZ2V0UmFuZ2VDbGllbnRSZWN0cyhyYW5nZSksIGxpbmVIZWlnaHQpKSB7XG4gICAgICAgIGJlc3RDb250YWluZXIgPSBjdXJyZW50Q29udGFpbmVyO1xuICAgICAgICBiZXN0T2Zmc2V0ID0gaWk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoaWkgPT09IC0xIHx8IGN1cnJlbnRDb250YWluZXIuY2hpbGROb2Rlcy5sZW5ndGggPT09IDApIHtcbiAgICAgIC8vIElmIGlpID09PSAtMSwgdGhlbiAoYmVzdENvbnRhaW5lciwgYmVzdE9mZnNldCksIHdoaWNoIGlzIGVxdWFsIHRvXG4gICAgICAvLyAoY3VycmVudENvbnRhaW5lciwgMCksIHdhcyBhIHNpbmdsZS1saW5lIHN0YXJ0IHBvaW50IGJ1dCBhIHN0YXJ0XG4gICAgICAvLyBwb2ludCBiZWZvcmUgY3VycmVudENvbnRhaW5lciB3YXNuJ3QsIHNvIHRoZSBsaW5lIGJyZWFrIHNlZW1zIHRvXG4gICAgICAvLyBoYXZlIG9jY3VycmVkIGltbWVkaWF0ZWx5IGFmdGVyIGN1cnJlbnRDb250YWluZXIncyBzdGFydCB0YWdcbiAgICAgIC8vXG4gICAgICAvLyBJZiBjdXJyZW50Q29udGFpbmVyLmNoaWxkTm9kZXMubGVuZ3RoID09PSAwLCB3ZSdyZSBhbHJlYWR5IGF0IGFcbiAgICAgIC8vIHRlcm1pbmFsIG5vZGUgKGUuZy4sIHRleHQgbm9kZSkgYW5kIHNob3VsZCByZXR1cm4gb3VyIGN1cnJlbnQgYmVzdC5cbiAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIGN1cnJlbnRDb250YWluZXIgPSBjdXJyZW50Q29udGFpbmVyLmNoaWxkTm9kZXNbaWldO1xuICAgIG1heEluZGV4VG9Db25zaWRlciA9IGdldE5vZGVMZW5ndGgoY3VycmVudENvbnRhaW5lcik7XG4gIH0gd2hpbGUgKHRydWUpO1xuXG4gIHJhbmdlLnNldFN0YXJ0KGJlc3RDb250YWluZXIsIGJlc3RPZmZzZXQpO1xuICByZXR1cm4gcmFuZ2U7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gZXhwYW5kUmFuZ2VUb1N0YXJ0T2ZMaW5lOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/expandRangeToStartOfLine.js\n"); +eval("\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\nvar UnicodeUtils = __webpack_require__(/*! fbjs/lib/UnicodeUtils */ \"./node_modules/fbjs/lib/UnicodeUtils.js\");\n\nvar getCorrectDocumentFromNode = __webpack_require__(/*! ./getCorrectDocumentFromNode */ \"./node_modules/draft-js/lib/getCorrectDocumentFromNode.js\");\n\nvar getRangeClientRects = __webpack_require__(/*! ./getRangeClientRects */ \"./node_modules/draft-js/lib/getRangeClientRects.js\");\n\nvar invariant = __webpack_require__(/*! fbjs/lib/invariant */ \"./node_modules/fbjs/lib/invariant.js\");\n/**\n * Return the computed line height, in pixels, for the provided element.\n */\n\n\nfunction getLineHeightPx(element) {\n var computed = getComputedStyle(element);\n var correctDocument = getCorrectDocumentFromNode(element);\n var div = correctDocument.createElement('div');\n div.style.fontFamily = computed.fontFamily;\n div.style.fontSize = computed.fontSize;\n div.style.fontStyle = computed.fontStyle;\n div.style.fontWeight = computed.fontWeight;\n div.style.lineHeight = computed.lineHeight;\n div.style.position = 'absolute';\n div.textContent = 'M';\n var documentBody = correctDocument.body;\n !documentBody ? true ? invariant(false, 'Missing document.body') : undefined : void 0; // forced layout here\n\n documentBody.appendChild(div);\n var rect = div.getBoundingClientRect();\n documentBody.removeChild(div);\n return rect.height;\n}\n/**\n * Return whether every ClientRect in the provided list lies on the same line.\n *\n * We assume that the rects on the same line all contain the baseline, so the\n * lowest top line needs to be above the highest bottom line (i.e., if you were\n * to project the rects onto the y-axis, their intersection would be nonempty).\n *\n * In addition, we require that no two boxes are lineHeight (or more) apart at\n * either top or bottom, which helps protect against false positives for fonts\n * with extremely large glyph heights (e.g., with a font size of 17px, Zapfino\n * produces rects of height 58px!).\n */\n\n\nfunction areRectsOnOneLine(rects, lineHeight) {\n var minTop = Infinity;\n var minBottom = Infinity;\n var maxTop = -Infinity;\n var maxBottom = -Infinity;\n\n for (var ii = 0; ii < rects.length; ii++) {\n var rect = rects[ii];\n\n if (rect.width === 0 || rect.width === 1) {\n // When a range starts or ends a soft wrap, many browsers (Chrome, IE,\n // Safari) include an empty rect on the previous or next line. When the\n // text lies in a container whose position is not integral (e.g., from\n // margin: auto), Safari makes these empty rects have width 1 (instead of\n // 0). Having one-pixel-wide characters seems unlikely (and most browsers\n // report widths in subpixel precision anyway) so it's relatively safe to\n // skip over them.\n continue;\n }\n\n minTop = Math.min(minTop, rect.top);\n minBottom = Math.min(minBottom, rect.bottom);\n maxTop = Math.max(maxTop, rect.top);\n maxBottom = Math.max(maxBottom, rect.bottom);\n }\n\n return maxTop <= minBottom && maxTop - minTop < lineHeight && maxBottom - minBottom < lineHeight;\n}\n/**\n * Return the length of a node, as used by Range offsets.\n */\n\n\nfunction getNodeLength(node) {\n // http://www.w3.org/TR/dom/#concept-node-length\n switch (node.nodeType) {\n case Node.DOCUMENT_TYPE_NODE:\n return 0;\n\n case Node.TEXT_NODE:\n case Node.PROCESSING_INSTRUCTION_NODE:\n case Node.COMMENT_NODE:\n return node.length;\n\n default:\n return node.childNodes.length;\n }\n}\n/**\n * Given a collapsed range, move the start position backwards as far as\n * possible while the range still spans only a single line.\n */\n\n\nfunction expandRangeToStartOfLine(range) {\n !range.collapsed ? true ? invariant(false, 'expandRangeToStartOfLine: Provided range is not collapsed.') : undefined : void 0;\n range = range.cloneRange();\n var containingElement = range.startContainer;\n\n if (containingElement.nodeType !== 1) {\n containingElement = containingElement.parentNode;\n }\n\n var lineHeight = getLineHeightPx(containingElement); // Imagine our text looks like:\n //
once upon a time, there was a boy\n // who lived under^ the\n // stairs in a small closet.
\n // where the caret represents the cursor. First, we crawl up the tree until\n // the range spans multiple lines (setting the start point to before\n // \"\", then before \"
\"), then at each level we do a search to\n // find the latest point which is still on a previous line. We'll find that\n // the break point is inside the span, then inside the , then in its text\n // node child, the actual break point before \"who\".\n\n var bestContainer = range.endContainer;\n var bestOffset = range.endOffset;\n range.setStart(range.startContainer, 0);\n\n while (areRectsOnOneLine(getRangeClientRects(range), lineHeight)) {\n bestContainer = range.startContainer;\n bestOffset = range.startOffset;\n !bestContainer.parentNode ? true ? invariant(false, 'Found unexpected detached subtree when traversing.') : undefined : void 0;\n range.setStartBefore(bestContainer);\n\n if (bestContainer.nodeType === 1 && getComputedStyle(bestContainer).display !== 'inline') {\n // The start of the line is never in a different block-level container.\n break;\n }\n } // In the above example, range now spans from \"
\" to \"under\",\n // bestContainer is
, and bestOffset is 1 (index of inside
)].\n // Picking out which child to recurse into here is a special case since we\n // don't want to check past -- once we find that the final range starts\n // in , we can look at all of its children (and all of their children)\n // to find the break point.\n // At all times, (bestContainer, bestOffset) is the latest single-line start\n // point that we know of.\n\n\n var currentContainer = bestContainer;\n var maxIndexToConsider = bestOffset - 1;\n\n do {\n var nodeValue = currentContainer.nodeValue;\n var ii = maxIndexToConsider;\n\n for (; ii >= 0; ii--) {\n if (nodeValue != null && ii > 0 && UnicodeUtils.isSurrogatePair(nodeValue, ii - 1)) {\n // We're in the middle of a surrogate pair -- skip over so we never\n // return a range with an endpoint in the middle of a code point.\n continue;\n }\n\n range.setStart(currentContainer, ii);\n\n if (areRectsOnOneLine(getRangeClientRects(range), lineHeight)) {\n bestContainer = currentContainer;\n bestOffset = ii;\n } else {\n break;\n }\n }\n\n if (ii === -1 || currentContainer.childNodes.length === 0) {\n // If ii === -1, then (bestContainer, bestOffset), which is equal to\n // (currentContainer, 0), was a single-line start point but a start\n // point before currentContainer wasn't, so the line break seems to\n // have occurred immediately after currentContainer's start tag\n //\n // If currentContainer.childNodes.length === 0, we're already at a\n // terminal node (e.g., text node) and should return our current best.\n break;\n }\n\n currentContainer = currentContainer.childNodes[ii];\n maxIndexToConsider = getNodeLength(currentContainer);\n } while (true);\n\n range.setStart(bestContainer, bestOffset);\n return range;\n}\n\nmodule.exports = expandRangeToStartOfLine;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2V4cGFuZFJhbmdlVG9TdGFydE9mTGluZS5qcz8xZGVjIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFhOztBQUViO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CLG1CQUFPLENBQUMsc0VBQXVCOztBQUVsRCxpQ0FBaUMsbUJBQU8sQ0FBQywrRkFBOEI7O0FBRXZFLDBCQUEwQixtQkFBTyxDQUFDLGlGQUF1Qjs7QUFFekQsZ0JBQWdCLG1CQUFPLENBQUMsZ0VBQW9CO0FBQzVDO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCLEtBQXFDLCtDQUErQyxTQUFnQixVQUFVOztBQUVoSTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLGtCQUFrQixtQkFBbUI7QUFDckM7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0EscUJBQXFCLEtBQXFDLG9GQUFvRixTQUFnQjtBQUM5SjtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSxzREFBc0Q7QUFDdEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxnQ0FBZ0MsS0FBcUMsNEVBQTRFLFNBQWdCO0FBQ2pLOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSxVQUFVLFNBQVM7QUFDbkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvZXhwYW5kUmFuZ2VUb1N0YXJ0T2ZMaW5lLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbi8qKlxuICogQ29weXJpZ2h0IChjKSBGYWNlYm9vaywgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICogQGZvcm1hdFxuICogXG4gKiBAZW1haWxzIG9uY2FsbCtkcmFmdF9qc1xuICovXG52YXIgVW5pY29kZVV0aWxzID0gcmVxdWlyZShcImZianMvbGliL1VuaWNvZGVVdGlsc1wiKTtcblxudmFyIGdldENvcnJlY3REb2N1bWVudEZyb21Ob2RlID0gcmVxdWlyZShcIi4vZ2V0Q29ycmVjdERvY3VtZW50RnJvbU5vZGVcIik7XG5cbnZhciBnZXRSYW5nZUNsaWVudFJlY3RzID0gcmVxdWlyZShcIi4vZ2V0UmFuZ2VDbGllbnRSZWN0c1wiKTtcblxudmFyIGludmFyaWFudCA9IHJlcXVpcmUoXCJmYmpzL2xpYi9pbnZhcmlhbnRcIik7XG4vKipcbiAqIFJldHVybiB0aGUgY29tcHV0ZWQgbGluZSBoZWlnaHQsIGluIHBpeGVscywgZm9yIHRoZSBwcm92aWRlZCBlbGVtZW50LlxuICovXG5cblxuZnVuY3Rpb24gZ2V0TGluZUhlaWdodFB4KGVsZW1lbnQpIHtcbiAgdmFyIGNvbXB1dGVkID0gZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KTtcbiAgdmFyIGNvcnJlY3REb2N1bWVudCA9IGdldENvcnJlY3REb2N1bWVudEZyb21Ob2RlKGVsZW1lbnQpO1xuICB2YXIgZGl2ID0gY29ycmVjdERvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICBkaXYuc3R5bGUuZm9udEZhbWlseSA9IGNvbXB1dGVkLmZvbnRGYW1pbHk7XG4gIGRpdi5zdHlsZS5mb250U2l6ZSA9IGNvbXB1dGVkLmZvbnRTaXplO1xuICBkaXYuc3R5bGUuZm9udFN0eWxlID0gY29tcHV0ZWQuZm9udFN0eWxlO1xuICBkaXYuc3R5bGUuZm9udFdlaWdodCA9IGNvbXB1dGVkLmZvbnRXZWlnaHQ7XG4gIGRpdi5zdHlsZS5saW5lSGVpZ2h0ID0gY29tcHV0ZWQubGluZUhlaWdodDtcbiAgZGl2LnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJztcbiAgZGl2LnRleHRDb250ZW50ID0gJ00nO1xuICB2YXIgZG9jdW1lbnRCb2R5ID0gY29ycmVjdERvY3VtZW50LmJvZHk7XG4gICFkb2N1bWVudEJvZHkgPyBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIgPyBpbnZhcmlhbnQoZmFsc2UsICdNaXNzaW5nIGRvY3VtZW50LmJvZHknKSA6IGludmFyaWFudChmYWxzZSkgOiB2b2lkIDA7IC8vIGZvcmNlZCBsYXlvdXQgaGVyZVxuXG4gIGRvY3VtZW50Qm9keS5hcHBlbmRDaGlsZChkaXYpO1xuICB2YXIgcmVjdCA9IGRpdi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgZG9jdW1lbnRCb2R5LnJlbW92ZUNoaWxkKGRpdik7XG4gIHJldHVybiByZWN0LmhlaWdodDtcbn1cbi8qKlxuICogUmV0dXJuIHdoZXRoZXIgZXZlcnkgQ2xpZW50UmVjdCBpbiB0aGUgcHJvdmlkZWQgbGlzdCBsaWVzIG9uIHRoZSBzYW1lIGxpbmUuXG4gKlxuICogV2UgYXNzdW1lIHRoYXQgdGhlIHJlY3RzIG9uIHRoZSBzYW1lIGxpbmUgYWxsIGNvbnRhaW4gdGhlIGJhc2VsaW5lLCBzbyB0aGVcbiAqIGxvd2VzdCB0b3AgbGluZSBuZWVkcyB0byBiZSBhYm92ZSB0aGUgaGlnaGVzdCBib3R0b20gbGluZSAoaS5lLiwgaWYgeW91IHdlcmVcbiAqIHRvIHByb2plY3QgdGhlIHJlY3RzIG9udG8gdGhlIHktYXhpcywgdGhlaXIgaW50ZXJzZWN0aW9uIHdvdWxkIGJlIG5vbmVtcHR5KS5cbiAqXG4gKiBJbiBhZGRpdGlvbiwgd2UgcmVxdWlyZSB0aGF0IG5vIHR3byBib3hlcyBhcmUgbGluZUhlaWdodCAob3IgbW9yZSkgYXBhcnQgYXRcbiAqIGVpdGhlciB0b3Agb3IgYm90dG9tLCB3aGljaCBoZWxwcyBwcm90ZWN0IGFnYWluc3QgZmFsc2UgcG9zaXRpdmVzIGZvciBmb250c1xuICogd2l0aCBleHRyZW1lbHkgbGFyZ2UgZ2x5cGggaGVpZ2h0cyAoZS5nLiwgd2l0aCBhIGZvbnQgc2l6ZSBvZiAxN3B4LCBaYXBmaW5vXG4gKiBwcm9kdWNlcyByZWN0cyBvZiBoZWlnaHQgNThweCEpLlxuICovXG5cblxuZnVuY3Rpb24gYXJlUmVjdHNPbk9uZUxpbmUocmVjdHMsIGxpbmVIZWlnaHQpIHtcbiAgdmFyIG1pblRvcCA9IEluZmluaXR5O1xuICB2YXIgbWluQm90dG9tID0gSW5maW5pdHk7XG4gIHZhciBtYXhUb3AgPSAtSW5maW5pdHk7XG4gIHZhciBtYXhCb3R0b20gPSAtSW5maW5pdHk7XG5cbiAgZm9yICh2YXIgaWkgPSAwOyBpaSA8IHJlY3RzLmxlbmd0aDsgaWkrKykge1xuICAgIHZhciByZWN0ID0gcmVjdHNbaWldO1xuXG4gICAgaWYgKHJlY3Qud2lkdGggPT09IDAgfHwgcmVjdC53aWR0aCA9PT0gMSkge1xuICAgICAgLy8gV2hlbiBhIHJhbmdlIHN0YXJ0cyBvciBlbmRzIGEgc29mdCB3cmFwLCBtYW55IGJyb3dzZXJzIChDaHJvbWUsIElFLFxuICAgICAgLy8gU2FmYXJpKSBpbmNsdWRlIGFuIGVtcHR5IHJlY3Qgb24gdGhlIHByZXZpb3VzIG9yIG5leHQgbGluZS4gV2hlbiB0aGVcbiAgICAgIC8vIHRleHQgbGllcyBpbiBhIGNvbnRhaW5lciB3aG9zZSBwb3NpdGlvbiBpcyBub3QgaW50ZWdyYWwgKGUuZy4sIGZyb21cbiAgICAgIC8vIG1hcmdpbjogYXV0byksIFNhZmFyaSBtYWtlcyB0aGVzZSBlbXB0eSByZWN0cyBoYXZlIHdpZHRoIDEgKGluc3RlYWQgb2ZcbiAgICAgIC8vIDApLiBIYXZpbmcgb25lLXBpeGVsLXdpZGUgY2hhcmFjdGVycyBzZWVtcyB1bmxpa2VseSAoYW5kIG1vc3QgYnJvd3NlcnNcbiAgICAgIC8vIHJlcG9ydCB3aWR0aHMgaW4gc3VicGl4ZWwgcHJlY2lzaW9uIGFueXdheSkgc28gaXQncyByZWxhdGl2ZWx5IHNhZmUgdG9cbiAgICAgIC8vIHNraXAgb3ZlciB0aGVtLlxuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgbWluVG9wID0gTWF0aC5taW4obWluVG9wLCByZWN0LnRvcCk7XG4gICAgbWluQm90dG9tID0gTWF0aC5taW4obWluQm90dG9tLCByZWN0LmJvdHRvbSk7XG4gICAgbWF4VG9wID0gTWF0aC5tYXgobWF4VG9wLCByZWN0LnRvcCk7XG4gICAgbWF4Qm90dG9tID0gTWF0aC5tYXgobWF4Qm90dG9tLCByZWN0LmJvdHRvbSk7XG4gIH1cblxuICByZXR1cm4gbWF4VG9wIDw9IG1pbkJvdHRvbSAmJiBtYXhUb3AgLSBtaW5Ub3AgPCBsaW5lSGVpZ2h0ICYmIG1heEJvdHRvbSAtIG1pbkJvdHRvbSA8IGxpbmVIZWlnaHQ7XG59XG4vKipcbiAqIFJldHVybiB0aGUgbGVuZ3RoIG9mIGEgbm9kZSwgYXMgdXNlZCBieSBSYW5nZSBvZmZzZXRzLlxuICovXG5cblxuZnVuY3Rpb24gZ2V0Tm9kZUxlbmd0aChub2RlKSB7XG4gIC8vIGh0dHA6Ly93d3cudzMub3JnL1RSL2RvbS8jY29uY2VwdC1ub2RlLWxlbmd0aFxuICBzd2l0Y2ggKG5vZGUubm9kZVR5cGUpIHtcbiAgICBjYXNlIE5vZGUuRE9DVU1FTlRfVFlQRV9OT0RFOlxuICAgICAgcmV0dXJuIDA7XG5cbiAgICBjYXNlIE5vZGUuVEVYVF9OT0RFOlxuICAgIGNhc2UgTm9kZS5QUk9DRVNTSU5HX0lOU1RSVUNUSU9OX05PREU6XG4gICAgY2FzZSBOb2RlLkNPTU1FTlRfTk9ERTpcbiAgICAgIHJldHVybiBub2RlLmxlbmd0aDtcblxuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gbm9kZS5jaGlsZE5vZGVzLmxlbmd0aDtcbiAgfVxufVxuLyoqXG4gKiBHaXZlbiBhIGNvbGxhcHNlZCByYW5nZSwgbW92ZSB0aGUgc3RhcnQgcG9zaXRpb24gYmFja3dhcmRzIGFzIGZhciBhc1xuICogcG9zc2libGUgd2hpbGUgdGhlIHJhbmdlIHN0aWxsIHNwYW5zIG9ubHkgYSBzaW5nbGUgbGluZS5cbiAqL1xuXG5cbmZ1bmN0aW9uIGV4cGFuZFJhbmdlVG9TdGFydE9mTGluZShyYW5nZSkge1xuICAhcmFuZ2UuY29sbGFwc2VkID8gcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiID8gaW52YXJpYW50KGZhbHNlLCAnZXhwYW5kUmFuZ2VUb1N0YXJ0T2ZMaW5lOiBQcm92aWRlZCByYW5nZSBpcyBub3QgY29sbGFwc2VkLicpIDogaW52YXJpYW50KGZhbHNlKSA6IHZvaWQgMDtcbiAgcmFuZ2UgPSByYW5nZS5jbG9uZVJhbmdlKCk7XG4gIHZhciBjb250YWluaW5nRWxlbWVudCA9IHJhbmdlLnN0YXJ0Q29udGFpbmVyO1xuXG4gIGlmIChjb250YWluaW5nRWxlbWVudC5ub2RlVHlwZSAhPT0gMSkge1xuICAgIGNvbnRhaW5pbmdFbGVtZW50ID0gY29udGFpbmluZ0VsZW1lbnQucGFyZW50Tm9kZTtcbiAgfVxuXG4gIHZhciBsaW5lSGVpZ2h0ID0gZ2V0TGluZUhlaWdodFB4KGNvbnRhaW5pbmdFbGVtZW50KTsgLy8gSW1hZ2luZSBvdXIgdGV4dCBsb29rcyBsaWtlOlxuICAvLyAgIDxkaXY+PHNwYW4+b25jZSB1cG9uIGEgdGltZSwgdGhlcmUgd2FzIGEgPGVtPmJveVxuICAvLyAgIHdobyBsaXZlZDwvZW0+IDwvc3Bhbj48cT48c3Ryb25nPnVuZGVyXiB0aGVcbiAgLy8gICBzdGFpcnM8L3N0cm9uZz4gaW4gYSBzbWFsbCBjbG9zZXQuPC9xPjwvZGl2PlxuICAvLyB3aGVyZSB0aGUgY2FyZXQgcmVwcmVzZW50cyB0aGUgY3Vyc29yLiBGaXJzdCwgd2UgY3Jhd2wgdXAgdGhlIHRyZWUgdW50aWxcbiAgLy8gdGhlIHJhbmdlIHNwYW5zIG11bHRpcGxlIGxpbmVzIChzZXR0aW5nIHRoZSBzdGFydCBwb2ludCB0byBiZWZvcmVcbiAgLy8gXCI8c3Ryb25nPlwiLCB0aGVuIGJlZm9yZSBcIjxkaXY+XCIpLCB0aGVuIGF0IGVhY2ggbGV2ZWwgd2UgZG8gYSBzZWFyY2ggdG9cbiAgLy8gZmluZCB0aGUgbGF0ZXN0IHBvaW50IHdoaWNoIGlzIHN0aWxsIG9uIGEgcHJldmlvdXMgbGluZS4gV2UnbGwgZmluZCB0aGF0XG4gIC8vIHRoZSBicmVhayBwb2ludCBpcyBpbnNpZGUgdGhlIHNwYW4sIHRoZW4gaW5zaWRlIHRoZSA8ZW0+LCB0aGVuIGluIGl0cyB0ZXh0XG4gIC8vIG5vZGUgY2hpbGQsIHRoZSBhY3R1YWwgYnJlYWsgcG9pbnQgYmVmb3JlIFwid2hvXCIuXG5cbiAgdmFyIGJlc3RDb250YWluZXIgPSByYW5nZS5lbmRDb250YWluZXI7XG4gIHZhciBiZXN0T2Zmc2V0ID0gcmFuZ2UuZW5kT2Zmc2V0O1xuICByYW5nZS5zZXRTdGFydChyYW5nZS5zdGFydENvbnRhaW5lciwgMCk7XG5cbiAgd2hpbGUgKGFyZVJlY3RzT25PbmVMaW5lKGdldFJhbmdlQ2xpZW50UmVjdHMocmFuZ2UpLCBsaW5lSGVpZ2h0KSkge1xuICAgIGJlc3RDb250YWluZXIgPSByYW5nZS5zdGFydENvbnRhaW5lcjtcbiAgICBiZXN0T2Zmc2V0ID0gcmFuZ2Uuc3RhcnRPZmZzZXQ7XG4gICAgIWJlc3RDb250YWluZXIucGFyZW50Tm9kZSA/IHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIiA/IGludmFyaWFudChmYWxzZSwgJ0ZvdW5kIHVuZXhwZWN0ZWQgZGV0YWNoZWQgc3VidHJlZSB3aGVuIHRyYXZlcnNpbmcuJykgOiBpbnZhcmlhbnQoZmFsc2UpIDogdm9pZCAwO1xuICAgIHJhbmdlLnNldFN0YXJ0QmVmb3JlKGJlc3RDb250YWluZXIpO1xuXG4gICAgaWYgKGJlc3RDb250YWluZXIubm9kZVR5cGUgPT09IDEgJiYgZ2V0Q29tcHV0ZWRTdHlsZShiZXN0Q29udGFpbmVyKS5kaXNwbGF5ICE9PSAnaW5saW5lJykge1xuICAgICAgLy8gVGhlIHN0YXJ0IG9mIHRoZSBsaW5lIGlzIG5ldmVyIGluIGEgZGlmZmVyZW50IGJsb2NrLWxldmVsIGNvbnRhaW5lci5cbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgfSAvLyBJbiB0aGUgYWJvdmUgZXhhbXBsZSwgcmFuZ2Ugbm93IHNwYW5zIGZyb20gXCI8ZGl2PlwiIHRvIFwidW5kZXJcIixcbiAgLy8gYmVzdENvbnRhaW5lciBpcyA8ZGl2PiwgYW5kIGJlc3RPZmZzZXQgaXMgMSAoaW5kZXggb2YgPHE+IGluc2lkZSA8ZGl2PildLlxuICAvLyBQaWNraW5nIG91dCB3aGljaCBjaGlsZCB0byByZWN1cnNlIGludG8gaGVyZSBpcyBhIHNwZWNpYWwgY2FzZSBzaW5jZSB3ZVxuICAvLyBkb24ndCB3YW50IHRvIGNoZWNrIHBhc3QgPHE+IC0tIG9uY2Ugd2UgZmluZCB0aGF0IHRoZSBmaW5hbCByYW5nZSBzdGFydHNcbiAgLy8gaW4gPHNwYW4+LCB3ZSBjYW4gbG9vayBhdCBhbGwgb2YgaXRzIGNoaWxkcmVuIChhbmQgYWxsIG9mIHRoZWlyIGNoaWxkcmVuKVxuICAvLyB0byBmaW5kIHRoZSBicmVhayBwb2ludC5cbiAgLy8gQXQgYWxsIHRpbWVzLCAoYmVzdENvbnRhaW5lciwgYmVzdE9mZnNldCkgaXMgdGhlIGxhdGVzdCBzaW5nbGUtbGluZSBzdGFydFxuICAvLyBwb2ludCB0aGF0IHdlIGtub3cgb2YuXG5cblxuICB2YXIgY3VycmVudENvbnRhaW5lciA9IGJlc3RDb250YWluZXI7XG4gIHZhciBtYXhJbmRleFRvQ29uc2lkZXIgPSBiZXN0T2Zmc2V0IC0gMTtcblxuICBkbyB7XG4gICAgdmFyIG5vZGVWYWx1ZSA9IGN1cnJlbnRDb250YWluZXIubm9kZVZhbHVlO1xuICAgIHZhciBpaSA9IG1heEluZGV4VG9Db25zaWRlcjtcblxuICAgIGZvciAoOyBpaSA+PSAwOyBpaS0tKSB7XG4gICAgICBpZiAobm9kZVZhbHVlICE9IG51bGwgJiYgaWkgPiAwICYmIFVuaWNvZGVVdGlscy5pc1N1cnJvZ2F0ZVBhaXIobm9kZVZhbHVlLCBpaSAtIDEpKSB7XG4gICAgICAgIC8vIFdlJ3JlIGluIHRoZSBtaWRkbGUgb2YgYSBzdXJyb2dhdGUgcGFpciAtLSBza2lwIG92ZXIgc28gd2UgbmV2ZXJcbiAgICAgICAgLy8gcmV0dXJuIGEgcmFuZ2Ugd2l0aCBhbiBlbmRwb2ludCBpbiB0aGUgbWlkZGxlIG9mIGEgY29kZSBwb2ludC5cbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIHJhbmdlLnNldFN0YXJ0KGN1cnJlbnRDb250YWluZXIsIGlpKTtcblxuICAgICAgaWYgKGFyZVJlY3RzT25PbmVMaW5lKGdldFJhbmdlQ2xpZW50UmVjdHMocmFuZ2UpLCBsaW5lSGVpZ2h0KSkge1xuICAgICAgICBiZXN0Q29udGFpbmVyID0gY3VycmVudENvbnRhaW5lcjtcbiAgICAgICAgYmVzdE9mZnNldCA9IGlpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGlpID09PSAtMSB8fCBjdXJyZW50Q29udGFpbmVyLmNoaWxkTm9kZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAvLyBJZiBpaSA9PT0gLTEsIHRoZW4gKGJlc3RDb250YWluZXIsIGJlc3RPZmZzZXQpLCB3aGljaCBpcyBlcXVhbCB0b1xuICAgICAgLy8gKGN1cnJlbnRDb250YWluZXIsIDApLCB3YXMgYSBzaW5nbGUtbGluZSBzdGFydCBwb2ludCBidXQgYSBzdGFydFxuICAgICAgLy8gcG9pbnQgYmVmb3JlIGN1cnJlbnRDb250YWluZXIgd2Fzbid0LCBzbyB0aGUgbGluZSBicmVhayBzZWVtcyB0b1xuICAgICAgLy8gaGF2ZSBvY2N1cnJlZCBpbW1lZGlhdGVseSBhZnRlciBjdXJyZW50Q29udGFpbmVyJ3Mgc3RhcnQgdGFnXG4gICAgICAvL1xuICAgICAgLy8gSWYgY3VycmVudENvbnRhaW5lci5jaGlsZE5vZGVzLmxlbmd0aCA9PT0gMCwgd2UncmUgYWxyZWFkeSBhdCBhXG4gICAgICAvLyB0ZXJtaW5hbCBub2RlIChlLmcuLCB0ZXh0IG5vZGUpIGFuZCBzaG91bGQgcmV0dXJuIG91ciBjdXJyZW50IGJlc3QuXG4gICAgICBicmVhaztcbiAgICB9XG5cbiAgICBjdXJyZW50Q29udGFpbmVyID0gY3VycmVudENvbnRhaW5lci5jaGlsZE5vZGVzW2lpXTtcbiAgICBtYXhJbmRleFRvQ29uc2lkZXIgPSBnZXROb2RlTGVuZ3RoKGN1cnJlbnRDb250YWluZXIpO1xuICB9IHdoaWxlICh0cnVlKTtcblxuICByYW5nZS5zZXRTdGFydChiZXN0Q29udGFpbmVyLCBiZXN0T2Zmc2V0KTtcbiAgcmV0dXJuIHJhbmdlO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGV4cGFuZFJhbmdlVG9TdGFydE9mTGluZTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/expandRangeToStartOfLine.js\n"); /***/ }), @@ -787,7 +882,7 @@ eval("\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights rese /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule findAncestorOffsetKey\n * @format\n * \n */\n\n\n\nvar getSelectionOffsetKeyForNode = __webpack_require__(/*! ./getSelectionOffsetKeyForNode */ \"./node_modules/draft-js/lib/getSelectionOffsetKeyForNode.js\");\n\n/**\n * Get the key from the node's nearest offset-aware ancestor.\n */\nfunction findAncestorOffsetKey(node) {\n var searchNode = node;\n while (searchNode && searchNode !== document.documentElement) {\n var key = getSelectionOffsetKeyForNode(searchNode);\n if (key != null) {\n return key;\n }\n searchNode = searchNode.parentNode;\n }\n return null;\n}\n\nmodule.exports = findAncestorOffsetKey;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2ZpbmRBbmNlc3Rvck9mZnNldEtleS5qcz85MWNmIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFYTs7QUFFYixtQ0FBbUMsbUJBQU8sQ0FBQyxtR0FBZ0M7O0FBRTNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2ZpbmRBbmNlc3Rvck9mZnNldEtleS5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXG4gKiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEJTRC1zdHlsZSBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLiBBbiBhZGRpdGlvbmFsIGdyYW50XG4gKiBvZiBwYXRlbnQgcmlnaHRzIGNhbiBiZSBmb3VuZCBpbiB0aGUgUEFURU5UUyBmaWxlIGluIHRoZSBzYW1lIGRpcmVjdG9yeS5cbiAqXG4gKiBAcHJvdmlkZXNNb2R1bGUgZmluZEFuY2VzdG9yT2Zmc2V0S2V5XG4gKiBAZm9ybWF0XG4gKiBcbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbnZhciBnZXRTZWxlY3Rpb25PZmZzZXRLZXlGb3JOb2RlID0gcmVxdWlyZSgnLi9nZXRTZWxlY3Rpb25PZmZzZXRLZXlGb3JOb2RlJyk7XG5cbi8qKlxuICogR2V0IHRoZSBrZXkgZnJvbSB0aGUgbm9kZSdzIG5lYXJlc3Qgb2Zmc2V0LWF3YXJlIGFuY2VzdG9yLlxuICovXG5mdW5jdGlvbiBmaW5kQW5jZXN0b3JPZmZzZXRLZXkobm9kZSkge1xuICB2YXIgc2VhcmNoTm9kZSA9IG5vZGU7XG4gIHdoaWxlIChzZWFyY2hOb2RlICYmIHNlYXJjaE5vZGUgIT09IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCkge1xuICAgIHZhciBrZXkgPSBnZXRTZWxlY3Rpb25PZmZzZXRLZXlGb3JOb2RlKHNlYXJjaE5vZGUpO1xuICAgIGlmIChrZXkgIT0gbnVsbCkge1xuICAgICAgcmV0dXJuIGtleTtcbiAgICB9XG4gICAgc2VhcmNoTm9kZSA9IHNlYXJjaE5vZGUucGFyZW50Tm9kZTtcbiAgfVxuICByZXR1cm4gbnVsbDtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBmaW5kQW5jZXN0b3JPZmZzZXRLZXk7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/findAncestorOffsetKey.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nvar getCorrectDocumentFromNode = __webpack_require__(/*! ./getCorrectDocumentFromNode */ \"./node_modules/draft-js/lib/getCorrectDocumentFromNode.js\");\n\nvar getSelectionOffsetKeyForNode = __webpack_require__(/*! ./getSelectionOffsetKeyForNode */ \"./node_modules/draft-js/lib/getSelectionOffsetKeyForNode.js\");\n/**\n * Get the key from the node's nearest offset-aware ancestor.\n */\n\n\nfunction findAncestorOffsetKey(node) {\n var searchNode = node;\n\n while (searchNode && searchNode !== getCorrectDocumentFromNode(node).documentElement) {\n var key = getSelectionOffsetKeyForNode(searchNode);\n\n if (key != null) {\n return key;\n }\n\n searchNode = searchNode.parentNode;\n }\n\n return null;\n}\n\nmodule.exports = findAncestorOffsetKey;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2ZpbmRBbmNlc3Rvck9mZnNldEtleS5qcz85MWNmIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ2E7O0FBRWIsaUNBQWlDLG1CQUFPLENBQUMsK0ZBQThCOztBQUV2RSxtQ0FBbUMsbUJBQU8sQ0FBQyxtR0FBZ0M7QUFDM0U7QUFDQTtBQUNBOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvZmluZEFuY2VzdG9yT2Zmc2V0S2V5LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIEZhY2Vib29rLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKiBAZm9ybWF0XG4gKiBcbiAqIEBlbWFpbHMgb25jYWxsK2RyYWZ0X2pzXG4gKi9cbid1c2Ugc3RyaWN0JztcblxudmFyIGdldENvcnJlY3REb2N1bWVudEZyb21Ob2RlID0gcmVxdWlyZShcIi4vZ2V0Q29ycmVjdERvY3VtZW50RnJvbU5vZGVcIik7XG5cbnZhciBnZXRTZWxlY3Rpb25PZmZzZXRLZXlGb3JOb2RlID0gcmVxdWlyZShcIi4vZ2V0U2VsZWN0aW9uT2Zmc2V0S2V5Rm9yTm9kZVwiKTtcbi8qKlxuICogR2V0IHRoZSBrZXkgZnJvbSB0aGUgbm9kZSdzIG5lYXJlc3Qgb2Zmc2V0LWF3YXJlIGFuY2VzdG9yLlxuICovXG5cblxuZnVuY3Rpb24gZmluZEFuY2VzdG9yT2Zmc2V0S2V5KG5vZGUpIHtcbiAgdmFyIHNlYXJjaE5vZGUgPSBub2RlO1xuXG4gIHdoaWxlIChzZWFyY2hOb2RlICYmIHNlYXJjaE5vZGUgIT09IGdldENvcnJlY3REb2N1bWVudEZyb21Ob2RlKG5vZGUpLmRvY3VtZW50RWxlbWVudCkge1xuICAgIHZhciBrZXkgPSBnZXRTZWxlY3Rpb25PZmZzZXRLZXlGb3JOb2RlKHNlYXJjaE5vZGUpO1xuXG4gICAgaWYgKGtleSAhPSBudWxsKSB7XG4gICAgICByZXR1cm4ga2V5O1xuICAgIH1cblxuICAgIHNlYXJjaE5vZGUgPSBzZWFyY2hOb2RlLnBhcmVudE5vZGU7XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBmaW5kQW5jZXN0b3JPZmZzZXRLZXk7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/findAncestorOffsetKey.js\n"); /***/ }), @@ -799,7 +894,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule findRangesImmutable\n * @format\n * \n */\n\n\n\n/**\n * Search through an array to find contiguous stretches of elements that\n * match a specified filter function.\n *\n * When ranges are found, execute a specified `found` function to supply\n * the values to the caller.\n */\nfunction findRangesImmutable(haystack, areEqualFn, filterFn, foundFn) {\n if (!haystack.size) {\n return;\n }\n\n var cursor = 0;\n\n haystack.reduce(function (value, nextValue, nextIndex) {\n if (!areEqualFn(value, nextValue)) {\n if (filterFn(value)) {\n foundFn(cursor, nextIndex);\n }\n cursor = nextIndex;\n }\n return nextValue;\n });\n\n filterFn(haystack.last()) && foundFn(cursor, haystack.count());\n}\n\nmodule.exports = findRangesImmutable;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2ZpbmRSYW5nZXNJbW11dGFibGUuanM/NGRhOCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWE7O0FBRWI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBOztBQUVBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2RyYWZ0LWpzL2xpYi9maW5kUmFuZ2VzSW1tdXRhYmxlLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQlNELXN0eWxlIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuIEFuIGFkZGl0aW9uYWwgZ3JhbnRcbiAqIG9mIHBhdGVudCByaWdodHMgY2FuIGJlIGZvdW5kIGluIHRoZSBQQVRFTlRTIGZpbGUgaW4gdGhlIHNhbWUgZGlyZWN0b3J5LlxuICpcbiAqIEBwcm92aWRlc01vZHVsZSBmaW5kUmFuZ2VzSW1tdXRhYmxlXG4gKiBAZm9ybWF0XG4gKiBcbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbi8qKlxuICogU2VhcmNoIHRocm91Z2ggYW4gYXJyYXkgdG8gZmluZCBjb250aWd1b3VzIHN0cmV0Y2hlcyBvZiBlbGVtZW50cyB0aGF0XG4gKiBtYXRjaCBhIHNwZWNpZmllZCBmaWx0ZXIgZnVuY3Rpb24uXG4gKlxuICogV2hlbiByYW5nZXMgYXJlIGZvdW5kLCBleGVjdXRlIGEgc3BlY2lmaWVkIGBmb3VuZGAgZnVuY3Rpb24gdG8gc3VwcGx5XG4gKiB0aGUgdmFsdWVzIHRvIHRoZSBjYWxsZXIuXG4gKi9cbmZ1bmN0aW9uIGZpbmRSYW5nZXNJbW11dGFibGUoaGF5c3RhY2ssIGFyZUVxdWFsRm4sIGZpbHRlckZuLCBmb3VuZEZuKSB7XG4gIGlmICghaGF5c3RhY2suc2l6ZSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHZhciBjdXJzb3IgPSAwO1xuXG4gIGhheXN0YWNrLnJlZHVjZShmdW5jdGlvbiAodmFsdWUsIG5leHRWYWx1ZSwgbmV4dEluZGV4KSB7XG4gICAgaWYgKCFhcmVFcXVhbEZuKHZhbHVlLCBuZXh0VmFsdWUpKSB7XG4gICAgICBpZiAoZmlsdGVyRm4odmFsdWUpKSB7XG4gICAgICAgIGZvdW5kRm4oY3Vyc29yLCBuZXh0SW5kZXgpO1xuICAgICAgfVxuICAgICAgY3Vyc29yID0gbmV4dEluZGV4O1xuICAgIH1cbiAgICByZXR1cm4gbmV4dFZhbHVlO1xuICB9KTtcblxuICBmaWx0ZXJGbihoYXlzdGFjay5sYXN0KCkpICYmIGZvdW5kRm4oY3Vyc29yLCBoYXlzdGFjay5jb3VudCgpKTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBmaW5kUmFuZ2VzSW1tdXRhYmxlOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/findRangesImmutable.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\n/**\n * Search through an array to find contiguous stretches of elements that\n * match a specified filter function.\n *\n * When ranges are found, execute a specified `found` function to supply\n * the values to the caller.\n */\nfunction findRangesImmutable(haystack, areEqualFn, filterFn, foundFn) {\n if (!haystack.size) {\n return;\n }\n\n var cursor = 0;\n haystack.reduce(function (value, nextValue, nextIndex) {\n if (!areEqualFn(value, nextValue)) {\n if (filterFn(value)) {\n foundFn(cursor, nextIndex);\n }\n\n cursor = nextIndex;\n }\n\n return nextValue;\n });\n filterFn(haystack.last()) && foundFn(cursor, haystack.count());\n}\n\nmodule.exports = findRangesImmutable;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2ZpbmRSYW5nZXNJbW11dGFibGUuanM/NGRhOCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNhOztBQUViO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvZmluZFJhbmdlc0ltbXV0YWJsZS5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSBGYWNlYm9vaywgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICogQGZvcm1hdFxuICogXG4gKiBAZW1haWxzIG9uY2FsbCtkcmFmdF9qc1xuICovXG4ndXNlIHN0cmljdCc7XG5cbi8qKlxuICogU2VhcmNoIHRocm91Z2ggYW4gYXJyYXkgdG8gZmluZCBjb250aWd1b3VzIHN0cmV0Y2hlcyBvZiBlbGVtZW50cyB0aGF0XG4gKiBtYXRjaCBhIHNwZWNpZmllZCBmaWx0ZXIgZnVuY3Rpb24uXG4gKlxuICogV2hlbiByYW5nZXMgYXJlIGZvdW5kLCBleGVjdXRlIGEgc3BlY2lmaWVkIGBmb3VuZGAgZnVuY3Rpb24gdG8gc3VwcGx5XG4gKiB0aGUgdmFsdWVzIHRvIHRoZSBjYWxsZXIuXG4gKi9cbmZ1bmN0aW9uIGZpbmRSYW5nZXNJbW11dGFibGUoaGF5c3RhY2ssIGFyZUVxdWFsRm4sIGZpbHRlckZuLCBmb3VuZEZuKSB7XG4gIGlmICghaGF5c3RhY2suc2l6ZSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHZhciBjdXJzb3IgPSAwO1xuICBoYXlzdGFjay5yZWR1Y2UoZnVuY3Rpb24gKHZhbHVlLCBuZXh0VmFsdWUsIG5leHRJbmRleCkge1xuICAgIGlmICghYXJlRXF1YWxGbih2YWx1ZSwgbmV4dFZhbHVlKSkge1xuICAgICAgaWYgKGZpbHRlckZuKHZhbHVlKSkge1xuICAgICAgICBmb3VuZEZuKGN1cnNvciwgbmV4dEluZGV4KTtcbiAgICAgIH1cblxuICAgICAgY3Vyc29yID0gbmV4dEluZGV4O1xuICAgIH1cblxuICAgIHJldHVybiBuZXh0VmFsdWU7XG4gIH0pO1xuICBmaWx0ZXJGbihoYXlzdGFjay5sYXN0KCkpICYmIGZvdW5kRm4oY3Vyc29yLCBoYXlzdGFjay5jb3VudCgpKTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBmaW5kUmFuZ2VzSW1tdXRhYmxlOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/findRangesImmutable.js\n"); /***/ }), @@ -811,7 +906,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule generateRandomKey\n * @format\n * \n */\n\n\n\nvar seenKeys = {};\nvar MULTIPLIER = Math.pow(2, 24);\n\nfunction generateRandomKey() {\n var key = void 0;\n while (key === undefined || seenKeys.hasOwnProperty(key) || !isNaN(+key)) {\n key = Math.floor(Math.random() * MULTIPLIER).toString(32);\n }\n seenKeys[key] = true;\n return key;\n}\n\nmodule.exports = generateRandomKey;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2dlbmVyYXRlUmFuZG9tS2V5LmpzP2FjOTYiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVhOztBQUViO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvZ2VuZXJhdGVSYW5kb21LZXkuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxMy1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuICogQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBCU0Qtc3R5bGUgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS4gQW4gYWRkaXRpb25hbCBncmFudFxuICogb2YgcGF0ZW50IHJpZ2h0cyBjYW4gYmUgZm91bmQgaW4gdGhlIFBBVEVOVFMgZmlsZSBpbiB0aGUgc2FtZSBkaXJlY3RvcnkuXG4gKlxuICogQHByb3ZpZGVzTW9kdWxlIGdlbmVyYXRlUmFuZG9tS2V5XG4gKiBAZm9ybWF0XG4gKiBcbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbnZhciBzZWVuS2V5cyA9IHt9O1xudmFyIE1VTFRJUExJRVIgPSBNYXRoLnBvdygyLCAyNCk7XG5cbmZ1bmN0aW9uIGdlbmVyYXRlUmFuZG9tS2V5KCkge1xuICB2YXIga2V5ID0gdm9pZCAwO1xuICB3aGlsZSAoa2V5ID09PSB1bmRlZmluZWQgfHwgc2VlbktleXMuaGFzT3duUHJvcGVydHkoa2V5KSB8fCAhaXNOYU4oK2tleSkpIHtcbiAgICBrZXkgPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBNVUxUSVBMSUVSKS50b1N0cmluZygzMik7XG4gIH1cbiAgc2VlbktleXNba2V5XSA9IHRydWU7XG4gIHJldHVybiBrZXk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gZ2VuZXJhdGVSYW5kb21LZXk7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/generateRandomKey.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nvar seenKeys = {};\nvar MULTIPLIER = Math.pow(2, 24);\n\nfunction generateRandomKey() {\n var key;\n\n while (key === undefined || seenKeys.hasOwnProperty(key) || !isNaN(+key)) {\n key = Math.floor(Math.random() * MULTIPLIER).toString(32);\n }\n\n seenKeys[key] = true;\n return key;\n}\n\nmodule.exports = generateRandomKey;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2dlbmVyYXRlUmFuZG9tS2V5LmpzP2FjOTYiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDYTs7QUFFYjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvZ2VuZXJhdGVSYW5kb21LZXkuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgRmFjZWJvb2ssIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIEBmb3JtYXRcbiAqIFxuICogQGVtYWlscyBvbmNhbGwrZHJhZnRfanNcbiAqL1xuJ3VzZSBzdHJpY3QnO1xuXG52YXIgc2VlbktleXMgPSB7fTtcbnZhciBNVUxUSVBMSUVSID0gTWF0aC5wb3coMiwgMjQpO1xuXG5mdW5jdGlvbiBnZW5lcmF0ZVJhbmRvbUtleSgpIHtcbiAgdmFyIGtleTtcblxuICB3aGlsZSAoa2V5ID09PSB1bmRlZmluZWQgfHwgc2VlbktleXMuaGFzT3duUHJvcGVydHkoa2V5KSB8fCAhaXNOYU4oK2tleSkpIHtcbiAgICBrZXkgPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBNVUxUSVBMSUVSKS50b1N0cmluZygzMik7XG4gIH1cblxuICBzZWVuS2V5c1trZXldID0gdHJ1ZTtcbiAgcmV0dXJuIGtleTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBnZW5lcmF0ZVJhbmRvbUtleTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/generateRandomKey.js\n"); /***/ }), @@ -823,7 +918,19 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule getCharacterRemovalRange\n * @format\n * \n */\n\n\n\nvar DraftEntitySegments = __webpack_require__(/*! ./DraftEntitySegments */ \"./node_modules/draft-js/lib/DraftEntitySegments.js\");\n\nvar getRangesForDraftEntity = __webpack_require__(/*! ./getRangesForDraftEntity */ \"./node_modules/draft-js/lib/getRangesForDraftEntity.js\");\nvar invariant = __webpack_require__(/*! fbjs/lib/invariant */ \"./node_modules/fbjs/lib/invariant.js\");\n\n/**\n * Given a SelectionState and a removal direction, determine the entire range\n * that should be removed from a ContentState. This is based on any entities\n * within the target, with their `mutability` values taken into account.\n *\n * For instance, if we are attempting to remove part of an \"immutable\" entity\n * range, the entire entity must be removed. The returned `SelectionState`\n * will be adjusted accordingly.\n */\nfunction getCharacterRemovalRange(entityMap, startBlock, endBlock, selectionState, direction) {\n var start = selectionState.getStartOffset();\n var end = selectionState.getEndOffset();\n var startEntityKey = startBlock.getEntityAt(start);\n var endEntityKey = endBlock.getEntityAt(end - 1);\n if (!startEntityKey && !endEntityKey) {\n return selectionState;\n }\n var newSelectionState = selectionState;\n if (startEntityKey && startEntityKey === endEntityKey) {\n newSelectionState = getEntityRemovalRange(entityMap, startBlock, newSelectionState, direction, startEntityKey, true, true);\n } else if (startEntityKey && endEntityKey) {\n var startSelectionState = getEntityRemovalRange(entityMap, startBlock, newSelectionState, direction, startEntityKey, false, true);\n var endSelectionState = getEntityRemovalRange(entityMap, endBlock, newSelectionState, direction, endEntityKey, false, false);\n newSelectionState = newSelectionState.merge({\n anchorOffset: startSelectionState.getAnchorOffset(),\n focusOffset: endSelectionState.getFocusOffset(),\n isBackward: false\n });\n } else if (startEntityKey) {\n var _startSelectionState = getEntityRemovalRange(entityMap, startBlock, newSelectionState, direction, startEntityKey, false, true);\n newSelectionState = newSelectionState.merge({\n anchorOffset: _startSelectionState.getStartOffset(),\n isBackward: false\n });\n } else if (endEntityKey) {\n var _endSelectionState = getEntityRemovalRange(entityMap, endBlock, newSelectionState, direction, endEntityKey, false, false);\n newSelectionState = newSelectionState.merge({\n focusOffset: _endSelectionState.getEndOffset(),\n isBackward: false\n });\n }\n return newSelectionState;\n}\n\nfunction getEntityRemovalRange(entityMap, block, selectionState, direction, entityKey, isEntireSelectionWithinEntity, isEntityAtStart) {\n var start = selectionState.getStartOffset();\n var end = selectionState.getEndOffset();\n var entity = entityMap.__get(entityKey);\n var mutability = entity.getMutability();\n var sideToConsider = isEntityAtStart ? start : end;\n\n // `MUTABLE` entities can just have the specified range of text removed\n // directly. No adjustments are needed.\n if (mutability === 'MUTABLE') {\n return selectionState;\n }\n\n // Find the entity range that overlaps with our removal range.\n var entityRanges = getRangesForDraftEntity(block, entityKey).filter(function (range) {\n return sideToConsider <= range.end && sideToConsider >= range.start;\n });\n\n !(entityRanges.length == 1) ? true ? invariant(false, 'There should only be one entity range within this removal range.') : undefined : void 0;\n\n var entityRange = entityRanges[0];\n\n // For `IMMUTABLE` entity types, we will remove the entire entity range.\n if (mutability === 'IMMUTABLE') {\n return selectionState.merge({\n anchorOffset: entityRange.start,\n focusOffset: entityRange.end,\n isBackward: false\n });\n }\n\n // For `SEGMENTED` entity types, determine the appropriate segment to\n // remove.\n if (!isEntireSelectionWithinEntity) {\n if (isEntityAtStart) {\n end = entityRange.end;\n } else {\n start = entityRange.start;\n }\n }\n\n var removalRange = DraftEntitySegments.getRemovalRange(start, end, block.getText().slice(entityRange.start, entityRange.end), entityRange.start, direction);\n\n return selectionState.merge({\n anchorOffset: removalRange.start,\n focusOffset: removalRange.end,\n isBackward: false\n });\n}\n\nmodule.exports = getCharacterRemovalRange;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2dldENoYXJhY3RlclJlbW92YWxSYW5nZS5qcz83MzZkIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFYTs7QUFFYiwwQkFBMEIsbUJBQU8sQ0FBQyxpRkFBdUI7O0FBRXpELDhCQUE4QixtQkFBTyxDQUFDLHlGQUEyQjtBQUNqRSxnQkFBZ0IsbUJBQU8sQ0FBQyxnRUFBb0I7O0FBRTVDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTCxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUgsZ0NBQWdDLEtBQXFDLDBGQUEwRixTQUFnQjs7QUFFL0s7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUVBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2RyYWZ0LWpzL2xpYi9nZXRDaGFyYWN0ZXJSZW1vdmFsUmFuZ2UuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxMy1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuICogQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBCU0Qtc3R5bGUgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS4gQW4gYWRkaXRpb25hbCBncmFudFxuICogb2YgcGF0ZW50IHJpZ2h0cyBjYW4gYmUgZm91bmQgaW4gdGhlIFBBVEVOVFMgZmlsZSBpbiB0aGUgc2FtZSBkaXJlY3RvcnkuXG4gKlxuICogQHByb3ZpZGVzTW9kdWxlIGdldENoYXJhY3RlclJlbW92YWxSYW5nZVxuICogQGZvcm1hdFxuICogXG4gKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG52YXIgRHJhZnRFbnRpdHlTZWdtZW50cyA9IHJlcXVpcmUoJy4vRHJhZnRFbnRpdHlTZWdtZW50cycpO1xuXG52YXIgZ2V0UmFuZ2VzRm9yRHJhZnRFbnRpdHkgPSByZXF1aXJlKCcuL2dldFJhbmdlc0ZvckRyYWZ0RW50aXR5Jyk7XG52YXIgaW52YXJpYW50ID0gcmVxdWlyZSgnZmJqcy9saWIvaW52YXJpYW50Jyk7XG5cbi8qKlxuICogR2l2ZW4gYSBTZWxlY3Rpb25TdGF0ZSBhbmQgYSByZW1vdmFsIGRpcmVjdGlvbiwgZGV0ZXJtaW5lIHRoZSBlbnRpcmUgcmFuZ2VcbiAqIHRoYXQgc2hvdWxkIGJlIHJlbW92ZWQgZnJvbSBhIENvbnRlbnRTdGF0ZS4gVGhpcyBpcyBiYXNlZCBvbiBhbnkgZW50aXRpZXNcbiAqIHdpdGhpbiB0aGUgdGFyZ2V0LCB3aXRoIHRoZWlyIGBtdXRhYmlsaXR5YCB2YWx1ZXMgdGFrZW4gaW50byBhY2NvdW50LlxuICpcbiAqIEZvciBpbnN0YW5jZSwgaWYgd2UgYXJlIGF0dGVtcHRpbmcgdG8gcmVtb3ZlIHBhcnQgb2YgYW4gXCJpbW11dGFibGVcIiBlbnRpdHlcbiAqIHJhbmdlLCB0aGUgZW50aXJlIGVudGl0eSBtdXN0IGJlIHJlbW92ZWQuIFRoZSByZXR1cm5lZCBgU2VsZWN0aW9uU3RhdGVgXG4gKiB3aWxsIGJlIGFkanVzdGVkIGFjY29yZGluZ2x5LlxuICovXG5mdW5jdGlvbiBnZXRDaGFyYWN0ZXJSZW1vdmFsUmFuZ2UoZW50aXR5TWFwLCBzdGFydEJsb2NrLCBlbmRCbG9jaywgc2VsZWN0aW9uU3RhdGUsIGRpcmVjdGlvbikge1xuICB2YXIgc3RhcnQgPSBzZWxlY3Rpb25TdGF0ZS5nZXRTdGFydE9mZnNldCgpO1xuICB2YXIgZW5kID0gc2VsZWN0aW9uU3RhdGUuZ2V0RW5kT2Zmc2V0KCk7XG4gIHZhciBzdGFydEVudGl0eUtleSA9IHN0YXJ0QmxvY2suZ2V0RW50aXR5QXQoc3RhcnQpO1xuICB2YXIgZW5kRW50aXR5S2V5ID0gZW5kQmxvY2suZ2V0RW50aXR5QXQoZW5kIC0gMSk7XG4gIGlmICghc3RhcnRFbnRpdHlLZXkgJiYgIWVuZEVudGl0eUtleSkge1xuICAgIHJldHVybiBzZWxlY3Rpb25TdGF0ZTtcbiAgfVxuICB2YXIgbmV3U2VsZWN0aW9uU3RhdGUgPSBzZWxlY3Rpb25TdGF0ZTtcbiAgaWYgKHN0YXJ0RW50aXR5S2V5ICYmIHN0YXJ0RW50aXR5S2V5ID09PSBlbmRFbnRpdHlLZXkpIHtcbiAgICBuZXdTZWxlY3Rpb25TdGF0ZSA9IGdldEVudGl0eVJlbW92YWxSYW5nZShlbnRpdHlNYXAsIHN0YXJ0QmxvY2ssIG5ld1NlbGVjdGlvblN0YXRlLCBkaXJlY3Rpb24sIHN0YXJ0RW50aXR5S2V5LCB0cnVlLCB0cnVlKTtcbiAgfSBlbHNlIGlmIChzdGFydEVudGl0eUtleSAmJiBlbmRFbnRpdHlLZXkpIHtcbiAgICB2YXIgc3RhcnRTZWxlY3Rpb25TdGF0ZSA9IGdldEVudGl0eVJlbW92YWxSYW5nZShlbnRpdHlNYXAsIHN0YXJ0QmxvY2ssIG5ld1NlbGVjdGlvblN0YXRlLCBkaXJlY3Rpb24sIHN0YXJ0RW50aXR5S2V5LCBmYWxzZSwgdHJ1ZSk7XG4gICAgdmFyIGVuZFNlbGVjdGlvblN0YXRlID0gZ2V0RW50aXR5UmVtb3ZhbFJhbmdlKGVudGl0eU1hcCwgZW5kQmxvY2ssIG5ld1NlbGVjdGlvblN0YXRlLCBkaXJlY3Rpb24sIGVuZEVudGl0eUtleSwgZmFsc2UsIGZhbHNlKTtcbiAgICBuZXdTZWxlY3Rpb25TdGF0ZSA9IG5ld1NlbGVjdGlvblN0YXRlLm1lcmdlKHtcbiAgICAgIGFuY2hvck9mZnNldDogc3RhcnRTZWxlY3Rpb25TdGF0ZS5nZXRBbmNob3JPZmZzZXQoKSxcbiAgICAgIGZvY3VzT2Zmc2V0OiBlbmRTZWxlY3Rpb25TdGF0ZS5nZXRGb2N1c09mZnNldCgpLFxuICAgICAgaXNCYWNrd2FyZDogZmFsc2VcbiAgICB9KTtcbiAgfSBlbHNlIGlmIChzdGFydEVudGl0eUtleSkge1xuICAgIHZhciBfc3RhcnRTZWxlY3Rpb25TdGF0ZSA9IGdldEVudGl0eVJlbW92YWxSYW5nZShlbnRpdHlNYXAsIHN0YXJ0QmxvY2ssIG5ld1NlbGVjdGlvblN0YXRlLCBkaXJlY3Rpb24sIHN0YXJ0RW50aXR5S2V5LCBmYWxzZSwgdHJ1ZSk7XG4gICAgbmV3U2VsZWN0aW9uU3RhdGUgPSBuZXdTZWxlY3Rpb25TdGF0ZS5tZXJnZSh7XG4gICAgICBhbmNob3JPZmZzZXQ6IF9zdGFydFNlbGVjdGlvblN0YXRlLmdldFN0YXJ0T2Zmc2V0KCksXG4gICAgICBpc0JhY2t3YXJkOiBmYWxzZVxuICAgIH0pO1xuICB9IGVsc2UgaWYgKGVuZEVudGl0eUtleSkge1xuICAgIHZhciBfZW5kU2VsZWN0aW9uU3RhdGUgPSBnZXRFbnRpdHlSZW1vdmFsUmFuZ2UoZW50aXR5TWFwLCBlbmRCbG9jaywgbmV3U2VsZWN0aW9uU3RhdGUsIGRpcmVjdGlvbiwgZW5kRW50aXR5S2V5LCBmYWxzZSwgZmFsc2UpO1xuICAgIG5ld1NlbGVjdGlvblN0YXRlID0gbmV3U2VsZWN0aW9uU3RhdGUubWVyZ2Uoe1xuICAgICAgZm9jdXNPZmZzZXQ6IF9lbmRTZWxlY3Rpb25TdGF0ZS5nZXRFbmRPZmZzZXQoKSxcbiAgICAgIGlzQmFja3dhcmQ6IGZhbHNlXG4gICAgfSk7XG4gIH1cbiAgcmV0dXJuIG5ld1NlbGVjdGlvblN0YXRlO1xufVxuXG5mdW5jdGlvbiBnZXRFbnRpdHlSZW1vdmFsUmFuZ2UoZW50aXR5TWFwLCBibG9jaywgc2VsZWN0aW9uU3RhdGUsIGRpcmVjdGlvbiwgZW50aXR5S2V5LCBpc0VudGlyZVNlbGVjdGlvbldpdGhpbkVudGl0eSwgaXNFbnRpdHlBdFN0YXJ0KSB7XG4gIHZhciBzdGFydCA9IHNlbGVjdGlvblN0YXRlLmdldFN0YXJ0T2Zmc2V0KCk7XG4gIHZhciBlbmQgPSBzZWxlY3Rpb25TdGF0ZS5nZXRFbmRPZmZzZXQoKTtcbiAgdmFyIGVudGl0eSA9IGVudGl0eU1hcC5fX2dldChlbnRpdHlLZXkpO1xuICB2YXIgbXV0YWJpbGl0eSA9IGVudGl0eS5nZXRNdXRhYmlsaXR5KCk7XG4gIHZhciBzaWRlVG9Db25zaWRlciA9IGlzRW50aXR5QXRTdGFydCA/IHN0YXJ0IDogZW5kO1xuXG4gIC8vIGBNVVRBQkxFYCBlbnRpdGllcyBjYW4ganVzdCBoYXZlIHRoZSBzcGVjaWZpZWQgcmFuZ2Ugb2YgdGV4dCByZW1vdmVkXG4gIC8vIGRpcmVjdGx5LiBObyBhZGp1c3RtZW50cyBhcmUgbmVlZGVkLlxuICBpZiAobXV0YWJpbGl0eSA9PT0gJ01VVEFCTEUnKSB7XG4gICAgcmV0dXJuIHNlbGVjdGlvblN0YXRlO1xuICB9XG5cbiAgLy8gRmluZCB0aGUgZW50aXR5IHJhbmdlIHRoYXQgb3ZlcmxhcHMgd2l0aCBvdXIgcmVtb3ZhbCByYW5nZS5cbiAgdmFyIGVudGl0eVJhbmdlcyA9IGdldFJhbmdlc0ZvckRyYWZ0RW50aXR5KGJsb2NrLCBlbnRpdHlLZXkpLmZpbHRlcihmdW5jdGlvbiAocmFuZ2UpIHtcbiAgICByZXR1cm4gc2lkZVRvQ29uc2lkZXIgPD0gcmFuZ2UuZW5kICYmIHNpZGVUb0NvbnNpZGVyID49IHJhbmdlLnN0YXJ0O1xuICB9KTtcblxuICAhKGVudGl0eVJhbmdlcy5sZW5ndGggPT0gMSkgPyBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nID8gaW52YXJpYW50KGZhbHNlLCAnVGhlcmUgc2hvdWxkIG9ubHkgYmUgb25lIGVudGl0eSByYW5nZSB3aXRoaW4gdGhpcyByZW1vdmFsIHJhbmdlLicpIDogaW52YXJpYW50KGZhbHNlKSA6IHZvaWQgMDtcblxuICB2YXIgZW50aXR5UmFuZ2UgPSBlbnRpdHlSYW5nZXNbMF07XG5cbiAgLy8gRm9yIGBJTU1VVEFCTEVgIGVudGl0eSB0eXBlcywgd2Ugd2lsbCByZW1vdmUgdGhlIGVudGlyZSBlbnRpdHkgcmFuZ2UuXG4gIGlmIChtdXRhYmlsaXR5ID09PSAnSU1NVVRBQkxFJykge1xuICAgIHJldHVybiBzZWxlY3Rpb25TdGF0ZS5tZXJnZSh7XG4gICAgICBhbmNob3JPZmZzZXQ6IGVudGl0eVJhbmdlLnN0YXJ0LFxuICAgICAgZm9jdXNPZmZzZXQ6IGVudGl0eVJhbmdlLmVuZCxcbiAgICAgIGlzQmFja3dhcmQ6IGZhbHNlXG4gICAgfSk7XG4gIH1cblxuICAvLyBGb3IgYFNFR01FTlRFRGAgZW50aXR5IHR5cGVzLCBkZXRlcm1pbmUgdGhlIGFwcHJvcHJpYXRlIHNlZ21lbnQgdG9cbiAgLy8gcmVtb3ZlLlxuICBpZiAoIWlzRW50aXJlU2VsZWN0aW9uV2l0aGluRW50aXR5KSB7XG4gICAgaWYgKGlzRW50aXR5QXRTdGFydCkge1xuICAgICAgZW5kID0gZW50aXR5UmFuZ2UuZW5kO1xuICAgIH0gZWxzZSB7XG4gICAgICBzdGFydCA9IGVudGl0eVJhbmdlLnN0YXJ0O1xuICAgIH1cbiAgfVxuXG4gIHZhciByZW1vdmFsUmFuZ2UgPSBEcmFmdEVudGl0eVNlZ21lbnRzLmdldFJlbW92YWxSYW5nZShzdGFydCwgZW5kLCBibG9jay5nZXRUZXh0KCkuc2xpY2UoZW50aXR5UmFuZ2Uuc3RhcnQsIGVudGl0eVJhbmdlLmVuZCksIGVudGl0eVJhbmdlLnN0YXJ0LCBkaXJlY3Rpb24pO1xuXG4gIHJldHVybiBzZWxlY3Rpb25TdGF0ZS5tZXJnZSh7XG4gICAgYW5jaG9yT2Zmc2V0OiByZW1vdmFsUmFuZ2Uuc3RhcnQsXG4gICAgZm9jdXNPZmZzZXQ6IHJlbW92YWxSYW5nZS5lbmQsXG4gICAgaXNCYWNrd2FyZDogZmFsc2VcbiAgfSk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gZ2V0Q2hhcmFjdGVyUmVtb3ZhbFJhbmdlOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/getCharacterRemovalRange.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nvar DraftEntitySegments = __webpack_require__(/*! ./DraftEntitySegments */ \"./node_modules/draft-js/lib/DraftEntitySegments.js\");\n\nvar getRangesForDraftEntity = __webpack_require__(/*! ./getRangesForDraftEntity */ \"./node_modules/draft-js/lib/getRangesForDraftEntity.js\");\n\nvar invariant = __webpack_require__(/*! fbjs/lib/invariant */ \"./node_modules/fbjs/lib/invariant.js\");\n/**\n * Given a SelectionState and a removal direction, determine the entire range\n * that should be removed from a ContentState. This is based on any entities\n * within the target, with their `mutability` values taken into account.\n *\n * For instance, if we are attempting to remove part of an \"immutable\" entity\n * range, the entire entity must be removed. The returned `SelectionState`\n * will be adjusted accordingly.\n */\n\n\nfunction getCharacterRemovalRange(entityMap, startBlock, endBlock, selectionState, direction) {\n var start = selectionState.getStartOffset();\n var end = selectionState.getEndOffset();\n var startEntityKey = startBlock.getEntityAt(start);\n var endEntityKey = endBlock.getEntityAt(end - 1);\n\n if (!startEntityKey && !endEntityKey) {\n return selectionState;\n }\n\n var newSelectionState = selectionState;\n\n if (startEntityKey && startEntityKey === endEntityKey) {\n newSelectionState = getEntityRemovalRange(entityMap, startBlock, newSelectionState, direction, startEntityKey, true, true);\n } else if (startEntityKey && endEntityKey) {\n var startSelectionState = getEntityRemovalRange(entityMap, startBlock, newSelectionState, direction, startEntityKey, false, true);\n var endSelectionState = getEntityRemovalRange(entityMap, endBlock, newSelectionState, direction, endEntityKey, false, false);\n newSelectionState = newSelectionState.merge({\n anchorOffset: startSelectionState.getAnchorOffset(),\n focusOffset: endSelectionState.getFocusOffset(),\n isBackward: false\n });\n } else if (startEntityKey) {\n var _startSelectionState = getEntityRemovalRange(entityMap, startBlock, newSelectionState, direction, startEntityKey, false, true);\n\n newSelectionState = newSelectionState.merge({\n anchorOffset: _startSelectionState.getStartOffset(),\n isBackward: false\n });\n } else if (endEntityKey) {\n var _endSelectionState = getEntityRemovalRange(entityMap, endBlock, newSelectionState, direction, endEntityKey, false, false);\n\n newSelectionState = newSelectionState.merge({\n focusOffset: _endSelectionState.getEndOffset(),\n isBackward: false\n });\n }\n\n return newSelectionState;\n}\n\nfunction getEntityRemovalRange(entityMap, block, selectionState, direction, entityKey, isEntireSelectionWithinEntity, isEntityAtStart) {\n var start = selectionState.getStartOffset();\n var end = selectionState.getEndOffset();\n\n var entity = entityMap.__get(entityKey);\n\n var mutability = entity.getMutability();\n var sideToConsider = isEntityAtStart ? start : end; // `MUTABLE` entities can just have the specified range of text removed\n // directly. No adjustments are needed.\n\n if (mutability === 'MUTABLE') {\n return selectionState;\n } // Find the entity range that overlaps with our removal range.\n\n\n var entityRanges = getRangesForDraftEntity(block, entityKey).filter(function (range) {\n return sideToConsider <= range.end && sideToConsider >= range.start;\n });\n !(entityRanges.length == 1) ? true ? invariant(false, 'There should only be one entity range within this removal range.') : undefined : void 0;\n var entityRange = entityRanges[0]; // For `IMMUTABLE` entity types, we will remove the entire entity range.\n\n if (mutability === 'IMMUTABLE') {\n return selectionState.merge({\n anchorOffset: entityRange.start,\n focusOffset: entityRange.end,\n isBackward: false\n });\n } // For `SEGMENTED` entity types, determine the appropriate segment to\n // remove.\n\n\n if (!isEntireSelectionWithinEntity) {\n if (isEntityAtStart) {\n end = entityRange.end;\n } else {\n start = entityRange.start;\n }\n }\n\n var removalRange = DraftEntitySegments.getRemovalRange(start, end, block.getText().slice(entityRange.start, entityRange.end), entityRange.start, direction);\n return selectionState.merge({\n anchorOffset: removalRange.start,\n focusOffset: removalRange.end,\n isBackward: false\n });\n}\n\nmodule.exports = getCharacterRemovalRange;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2dldENoYXJhY3RlclJlbW92YWxSYW5nZS5qcz83MzZkIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ2E7O0FBRWIsMEJBQTBCLG1CQUFPLENBQUMsaUZBQXVCOztBQUV6RCw4QkFBOEIsbUJBQU8sQ0FBQyx5RkFBMkI7O0FBRWpFLGdCQUFnQixtQkFBTyxDQUFDLGdFQUFvQjtBQUM1QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBLHFEQUFxRDtBQUNyRDs7QUFFQTtBQUNBO0FBQ0EsR0FBRzs7O0FBR0g7QUFDQTtBQUNBLEdBQUc7QUFDSCxnQ0FBZ0MsS0FBcUMsMEZBQTBGLFNBQWdCO0FBQy9LLG9DQUFvQzs7QUFFcEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTCxHQUFHO0FBQ0g7OztBQUdBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvZ2V0Q2hhcmFjdGVyUmVtb3ZhbFJhbmdlLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIEZhY2Vib29rLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKiBAZm9ybWF0XG4gKiBcbiAqIEBlbWFpbHMgb25jYWxsK2RyYWZ0X2pzXG4gKi9cbid1c2Ugc3RyaWN0JztcblxudmFyIERyYWZ0RW50aXR5U2VnbWVudHMgPSByZXF1aXJlKFwiLi9EcmFmdEVudGl0eVNlZ21lbnRzXCIpO1xuXG52YXIgZ2V0UmFuZ2VzRm9yRHJhZnRFbnRpdHkgPSByZXF1aXJlKFwiLi9nZXRSYW5nZXNGb3JEcmFmdEVudGl0eVwiKTtcblxudmFyIGludmFyaWFudCA9IHJlcXVpcmUoXCJmYmpzL2xpYi9pbnZhcmlhbnRcIik7XG4vKipcbiAqIEdpdmVuIGEgU2VsZWN0aW9uU3RhdGUgYW5kIGEgcmVtb3ZhbCBkaXJlY3Rpb24sIGRldGVybWluZSB0aGUgZW50aXJlIHJhbmdlXG4gKiB0aGF0IHNob3VsZCBiZSByZW1vdmVkIGZyb20gYSBDb250ZW50U3RhdGUuIFRoaXMgaXMgYmFzZWQgb24gYW55IGVudGl0aWVzXG4gKiB3aXRoaW4gdGhlIHRhcmdldCwgd2l0aCB0aGVpciBgbXV0YWJpbGl0eWAgdmFsdWVzIHRha2VuIGludG8gYWNjb3VudC5cbiAqXG4gKiBGb3IgaW5zdGFuY2UsIGlmIHdlIGFyZSBhdHRlbXB0aW5nIHRvIHJlbW92ZSBwYXJ0IG9mIGFuIFwiaW1tdXRhYmxlXCIgZW50aXR5XG4gKiByYW5nZSwgdGhlIGVudGlyZSBlbnRpdHkgbXVzdCBiZSByZW1vdmVkLiBUaGUgcmV0dXJuZWQgYFNlbGVjdGlvblN0YXRlYFxuICogd2lsbCBiZSBhZGp1c3RlZCBhY2NvcmRpbmdseS5cbiAqL1xuXG5cbmZ1bmN0aW9uIGdldENoYXJhY3RlclJlbW92YWxSYW5nZShlbnRpdHlNYXAsIHN0YXJ0QmxvY2ssIGVuZEJsb2NrLCBzZWxlY3Rpb25TdGF0ZSwgZGlyZWN0aW9uKSB7XG4gIHZhciBzdGFydCA9IHNlbGVjdGlvblN0YXRlLmdldFN0YXJ0T2Zmc2V0KCk7XG4gIHZhciBlbmQgPSBzZWxlY3Rpb25TdGF0ZS5nZXRFbmRPZmZzZXQoKTtcbiAgdmFyIHN0YXJ0RW50aXR5S2V5ID0gc3RhcnRCbG9jay5nZXRFbnRpdHlBdChzdGFydCk7XG4gIHZhciBlbmRFbnRpdHlLZXkgPSBlbmRCbG9jay5nZXRFbnRpdHlBdChlbmQgLSAxKTtcblxuICBpZiAoIXN0YXJ0RW50aXR5S2V5ICYmICFlbmRFbnRpdHlLZXkpIHtcbiAgICByZXR1cm4gc2VsZWN0aW9uU3RhdGU7XG4gIH1cblxuICB2YXIgbmV3U2VsZWN0aW9uU3RhdGUgPSBzZWxlY3Rpb25TdGF0ZTtcblxuICBpZiAoc3RhcnRFbnRpdHlLZXkgJiYgc3RhcnRFbnRpdHlLZXkgPT09IGVuZEVudGl0eUtleSkge1xuICAgIG5ld1NlbGVjdGlvblN0YXRlID0gZ2V0RW50aXR5UmVtb3ZhbFJhbmdlKGVudGl0eU1hcCwgc3RhcnRCbG9jaywgbmV3U2VsZWN0aW9uU3RhdGUsIGRpcmVjdGlvbiwgc3RhcnRFbnRpdHlLZXksIHRydWUsIHRydWUpO1xuICB9IGVsc2UgaWYgKHN0YXJ0RW50aXR5S2V5ICYmIGVuZEVudGl0eUtleSkge1xuICAgIHZhciBzdGFydFNlbGVjdGlvblN0YXRlID0gZ2V0RW50aXR5UmVtb3ZhbFJhbmdlKGVudGl0eU1hcCwgc3RhcnRCbG9jaywgbmV3U2VsZWN0aW9uU3RhdGUsIGRpcmVjdGlvbiwgc3RhcnRFbnRpdHlLZXksIGZhbHNlLCB0cnVlKTtcbiAgICB2YXIgZW5kU2VsZWN0aW9uU3RhdGUgPSBnZXRFbnRpdHlSZW1vdmFsUmFuZ2UoZW50aXR5TWFwLCBlbmRCbG9jaywgbmV3U2VsZWN0aW9uU3RhdGUsIGRpcmVjdGlvbiwgZW5kRW50aXR5S2V5LCBmYWxzZSwgZmFsc2UpO1xuICAgIG5ld1NlbGVjdGlvblN0YXRlID0gbmV3U2VsZWN0aW9uU3RhdGUubWVyZ2Uoe1xuICAgICAgYW5jaG9yT2Zmc2V0OiBzdGFydFNlbGVjdGlvblN0YXRlLmdldEFuY2hvck9mZnNldCgpLFxuICAgICAgZm9jdXNPZmZzZXQ6IGVuZFNlbGVjdGlvblN0YXRlLmdldEZvY3VzT2Zmc2V0KCksXG4gICAgICBpc0JhY2t3YXJkOiBmYWxzZVxuICAgIH0pO1xuICB9IGVsc2UgaWYgKHN0YXJ0RW50aXR5S2V5KSB7XG4gICAgdmFyIF9zdGFydFNlbGVjdGlvblN0YXRlID0gZ2V0RW50aXR5UmVtb3ZhbFJhbmdlKGVudGl0eU1hcCwgc3RhcnRCbG9jaywgbmV3U2VsZWN0aW9uU3RhdGUsIGRpcmVjdGlvbiwgc3RhcnRFbnRpdHlLZXksIGZhbHNlLCB0cnVlKTtcblxuICAgIG5ld1NlbGVjdGlvblN0YXRlID0gbmV3U2VsZWN0aW9uU3RhdGUubWVyZ2Uoe1xuICAgICAgYW5jaG9yT2Zmc2V0OiBfc3RhcnRTZWxlY3Rpb25TdGF0ZS5nZXRTdGFydE9mZnNldCgpLFxuICAgICAgaXNCYWNrd2FyZDogZmFsc2VcbiAgICB9KTtcbiAgfSBlbHNlIGlmIChlbmRFbnRpdHlLZXkpIHtcbiAgICB2YXIgX2VuZFNlbGVjdGlvblN0YXRlID0gZ2V0RW50aXR5UmVtb3ZhbFJhbmdlKGVudGl0eU1hcCwgZW5kQmxvY2ssIG5ld1NlbGVjdGlvblN0YXRlLCBkaXJlY3Rpb24sIGVuZEVudGl0eUtleSwgZmFsc2UsIGZhbHNlKTtcblxuICAgIG5ld1NlbGVjdGlvblN0YXRlID0gbmV3U2VsZWN0aW9uU3RhdGUubWVyZ2Uoe1xuICAgICAgZm9jdXNPZmZzZXQ6IF9lbmRTZWxlY3Rpb25TdGF0ZS5nZXRFbmRPZmZzZXQoKSxcbiAgICAgIGlzQmFja3dhcmQ6IGZhbHNlXG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gbmV3U2VsZWN0aW9uU3RhdGU7XG59XG5cbmZ1bmN0aW9uIGdldEVudGl0eVJlbW92YWxSYW5nZShlbnRpdHlNYXAsIGJsb2NrLCBzZWxlY3Rpb25TdGF0ZSwgZGlyZWN0aW9uLCBlbnRpdHlLZXksIGlzRW50aXJlU2VsZWN0aW9uV2l0aGluRW50aXR5LCBpc0VudGl0eUF0U3RhcnQpIHtcbiAgdmFyIHN0YXJ0ID0gc2VsZWN0aW9uU3RhdGUuZ2V0U3RhcnRPZmZzZXQoKTtcbiAgdmFyIGVuZCA9IHNlbGVjdGlvblN0YXRlLmdldEVuZE9mZnNldCgpO1xuXG4gIHZhciBlbnRpdHkgPSBlbnRpdHlNYXAuX19nZXQoZW50aXR5S2V5KTtcblxuICB2YXIgbXV0YWJpbGl0eSA9IGVudGl0eS5nZXRNdXRhYmlsaXR5KCk7XG4gIHZhciBzaWRlVG9Db25zaWRlciA9IGlzRW50aXR5QXRTdGFydCA/IHN0YXJ0IDogZW5kOyAvLyBgTVVUQUJMRWAgZW50aXRpZXMgY2FuIGp1c3QgaGF2ZSB0aGUgc3BlY2lmaWVkIHJhbmdlIG9mIHRleHQgcmVtb3ZlZFxuICAvLyBkaXJlY3RseS4gTm8gYWRqdXN0bWVudHMgYXJlIG5lZWRlZC5cblxuICBpZiAobXV0YWJpbGl0eSA9PT0gJ01VVEFCTEUnKSB7XG4gICAgcmV0dXJuIHNlbGVjdGlvblN0YXRlO1xuICB9IC8vIEZpbmQgdGhlIGVudGl0eSByYW5nZSB0aGF0IG92ZXJsYXBzIHdpdGggb3VyIHJlbW92YWwgcmFuZ2UuXG5cblxuICB2YXIgZW50aXR5UmFuZ2VzID0gZ2V0UmFuZ2VzRm9yRHJhZnRFbnRpdHkoYmxvY2ssIGVudGl0eUtleSkuZmlsdGVyKGZ1bmN0aW9uIChyYW5nZSkge1xuICAgIHJldHVybiBzaWRlVG9Db25zaWRlciA8PSByYW5nZS5lbmQgJiYgc2lkZVRvQ29uc2lkZXIgPj0gcmFuZ2Uuc3RhcnQ7XG4gIH0pO1xuICAhKGVudGl0eVJhbmdlcy5sZW5ndGggPT0gMSkgPyBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIgPyBpbnZhcmlhbnQoZmFsc2UsICdUaGVyZSBzaG91bGQgb25seSBiZSBvbmUgZW50aXR5IHJhbmdlIHdpdGhpbiB0aGlzIHJlbW92YWwgcmFuZ2UuJykgOiBpbnZhcmlhbnQoZmFsc2UpIDogdm9pZCAwO1xuICB2YXIgZW50aXR5UmFuZ2UgPSBlbnRpdHlSYW5nZXNbMF07IC8vIEZvciBgSU1NVVRBQkxFYCBlbnRpdHkgdHlwZXMsIHdlIHdpbGwgcmVtb3ZlIHRoZSBlbnRpcmUgZW50aXR5IHJhbmdlLlxuXG4gIGlmIChtdXRhYmlsaXR5ID09PSAnSU1NVVRBQkxFJykge1xuICAgIHJldHVybiBzZWxlY3Rpb25TdGF0ZS5tZXJnZSh7XG4gICAgICBhbmNob3JPZmZzZXQ6IGVudGl0eVJhbmdlLnN0YXJ0LFxuICAgICAgZm9jdXNPZmZzZXQ6IGVudGl0eVJhbmdlLmVuZCxcbiAgICAgIGlzQmFja3dhcmQ6IGZhbHNlXG4gICAgfSk7XG4gIH0gLy8gRm9yIGBTRUdNRU5URURgIGVudGl0eSB0eXBlcywgZGV0ZXJtaW5lIHRoZSBhcHByb3ByaWF0ZSBzZWdtZW50IHRvXG4gIC8vIHJlbW92ZS5cblxuXG4gIGlmICghaXNFbnRpcmVTZWxlY3Rpb25XaXRoaW5FbnRpdHkpIHtcbiAgICBpZiAoaXNFbnRpdHlBdFN0YXJ0KSB7XG4gICAgICBlbmQgPSBlbnRpdHlSYW5nZS5lbmQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHN0YXJ0ID0gZW50aXR5UmFuZ2Uuc3RhcnQ7XG4gICAgfVxuICB9XG5cbiAgdmFyIHJlbW92YWxSYW5nZSA9IERyYWZ0RW50aXR5U2VnbWVudHMuZ2V0UmVtb3ZhbFJhbmdlKHN0YXJ0LCBlbmQsIGJsb2NrLmdldFRleHQoKS5zbGljZShlbnRpdHlSYW5nZS5zdGFydCwgZW50aXR5UmFuZ2UuZW5kKSwgZW50aXR5UmFuZ2Uuc3RhcnQsIGRpcmVjdGlvbik7XG4gIHJldHVybiBzZWxlY3Rpb25TdGF0ZS5tZXJnZSh7XG4gICAgYW5jaG9yT2Zmc2V0OiByZW1vdmFsUmFuZ2Uuc3RhcnQsXG4gICAgZm9jdXNPZmZzZXQ6IHJlbW92YWxSYW5nZS5lbmQsXG4gICAgaXNCYWNrd2FyZDogZmFsc2VcbiAgfSk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gZ2V0Q2hhcmFjdGVyUmVtb3ZhbFJhbmdlOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/getCharacterRemovalRange.js\n"); + +/***/ }), + +/***/ "./node_modules/draft-js/lib/getContentEditableContainer.js": +/*!******************************************************************!*\ + !*** ./node_modules/draft-js/lib/getContentEditableContainer.js ***! + \******************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nvar ReactDOM = __webpack_require__(/*! react-dom */ \"./node_modules/react-dom/index.js\");\n\nvar invariant = __webpack_require__(/*! fbjs/lib/invariant */ \"./node_modules/fbjs/lib/invariant.js\");\n\nvar isHTMLElement = __webpack_require__(/*! ./isHTMLElement */ \"./node_modules/draft-js/lib/isHTMLElement.js\");\n\nfunction getContentEditableContainer(editor) {\n var editorNode = ReactDOM.findDOMNode(editor.editorContainer);\n !editorNode ? true ? invariant(false, 'Missing editorNode') : undefined : void 0;\n !isHTMLElement(editorNode.firstChild) ? true ? invariant(false, 'editorNode.firstChild is not an HTMLElement') : undefined : void 0;\n var htmlElement = editorNode.firstChild;\n return htmlElement;\n}\n\nmodule.exports = getContentEditableContainer;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2dldENvbnRlbnRFZGl0YWJsZUNvbnRhaW5lci5qcz9kMDgyIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ2E7O0FBRWIsZUFBZSxtQkFBTyxDQUFDLG9EQUFXOztBQUVsQyxnQkFBZ0IsbUJBQU8sQ0FBQyxnRUFBb0I7O0FBRTVDLG9CQUFvQixtQkFBTyxDQUFDLHFFQUFpQjs7QUFFN0M7QUFDQTtBQUNBLGdCQUFnQixLQUFxQyw0Q0FBNEMsU0FBZ0I7QUFDakgsMENBQTBDLEtBQXFDLHFFQUFxRSxTQUFnQjtBQUNwSztBQUNBO0FBQ0E7O0FBRUEiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2dldENvbnRlbnRFZGl0YWJsZUNvbnRhaW5lci5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSBGYWNlYm9vaywgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICogQGZvcm1hdFxuICogXG4gKiBAZW1haWxzIG9uY2FsbCtkcmFmdF9qc1xuICovXG4ndXNlIHN0cmljdCc7XG5cbnZhciBSZWFjdERPTSA9IHJlcXVpcmUoXCJyZWFjdC1kb21cIik7XG5cbnZhciBpbnZhcmlhbnQgPSByZXF1aXJlKFwiZmJqcy9saWIvaW52YXJpYW50XCIpO1xuXG52YXIgaXNIVE1MRWxlbWVudCA9IHJlcXVpcmUoXCIuL2lzSFRNTEVsZW1lbnRcIik7XG5cbmZ1bmN0aW9uIGdldENvbnRlbnRFZGl0YWJsZUNvbnRhaW5lcihlZGl0b3IpIHtcbiAgdmFyIGVkaXRvck5vZGUgPSBSZWFjdERPTS5maW5kRE9NTm9kZShlZGl0b3IuZWRpdG9yQ29udGFpbmVyKTtcbiAgIWVkaXRvck5vZGUgPyBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIgPyBpbnZhcmlhbnQoZmFsc2UsICdNaXNzaW5nIGVkaXRvck5vZGUnKSA6IGludmFyaWFudChmYWxzZSkgOiB2b2lkIDA7XG4gICFpc0hUTUxFbGVtZW50KGVkaXRvck5vZGUuZmlyc3RDaGlsZCkgPyBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIgPyBpbnZhcmlhbnQoZmFsc2UsICdlZGl0b3JOb2RlLmZpcnN0Q2hpbGQgaXMgbm90IGFuIEhUTUxFbGVtZW50JykgOiBpbnZhcmlhbnQoZmFsc2UpIDogdm9pZCAwO1xuICB2YXIgaHRtbEVsZW1lbnQgPSBlZGl0b3JOb2RlLmZpcnN0Q2hpbGQ7XG4gIHJldHVybiBodG1sRWxlbWVudDtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBnZXRDb250ZW50RWRpdGFibGVDb250YWluZXI7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/getContentEditableContainer.js\n"); /***/ }), @@ -835,7 +942,19 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule getContentStateFragment\n * @format\n * \n */\n\n\n\nvar randomizeBlockMapKeys = __webpack_require__(/*! ./randomizeBlockMapKeys */ \"./node_modules/draft-js/lib/randomizeBlockMapKeys.js\");\nvar removeEntitiesAtEdges = __webpack_require__(/*! ./removeEntitiesAtEdges */ \"./node_modules/draft-js/lib/removeEntitiesAtEdges.js\");\n\nvar getContentStateFragment = function getContentStateFragment(contentState, selectionState) {\n var startKey = selectionState.getStartKey();\n var startOffset = selectionState.getStartOffset();\n var endKey = selectionState.getEndKey();\n var endOffset = selectionState.getEndOffset();\n\n // Edge entities should be stripped to ensure that we don't preserve\n // invalid partial entities when the fragment is reused. We do, however,\n // preserve entities that are entirely within the selection range.\n var contentWithoutEdgeEntities = removeEntitiesAtEdges(contentState, selectionState);\n\n var blockMap = contentWithoutEdgeEntities.getBlockMap();\n var blockKeys = blockMap.keySeq();\n var startIndex = blockKeys.indexOf(startKey);\n var endIndex = blockKeys.indexOf(endKey) + 1;\n\n return randomizeBlockMapKeys(blockMap.slice(startIndex, endIndex).map(function (block, blockKey) {\n var text = block.getText();\n var chars = block.getCharacterList();\n\n if (startKey === endKey) {\n return block.merge({\n text: text.slice(startOffset, endOffset),\n characterList: chars.slice(startOffset, endOffset)\n });\n }\n\n if (blockKey === startKey) {\n return block.merge({\n text: text.slice(startOffset),\n characterList: chars.slice(startOffset)\n });\n }\n\n if (blockKey === endKey) {\n return block.merge({\n text: text.slice(0, endOffset),\n characterList: chars.slice(0, endOffset)\n });\n }\n\n return block;\n }));\n};\n\nmodule.exports = getContentStateFragment;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2dldENvbnRlbnRTdGF0ZUZyYWdtZW50LmpzPzBkODIiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVhOztBQUViLDRCQUE0QixtQkFBTyxDQUFDLHFGQUF5QjtBQUM3RCw0QkFBNEIsbUJBQU8sQ0FBQyxxRkFBeUI7O0FBRTdEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQOztBQUVBO0FBQ0EsR0FBRztBQUNIOztBQUVBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2RyYWZ0LWpzL2xpYi9nZXRDb250ZW50U3RhdGVGcmFnbWVudC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXG4gKiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEJTRC1zdHlsZSBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLiBBbiBhZGRpdGlvbmFsIGdyYW50XG4gKiBvZiBwYXRlbnQgcmlnaHRzIGNhbiBiZSBmb3VuZCBpbiB0aGUgUEFURU5UUyBmaWxlIGluIHRoZSBzYW1lIGRpcmVjdG9yeS5cbiAqXG4gKiBAcHJvdmlkZXNNb2R1bGUgZ2V0Q29udGVudFN0YXRlRnJhZ21lbnRcbiAqIEBmb3JtYXRcbiAqIFxuICovXG5cbid1c2Ugc3RyaWN0JztcblxudmFyIHJhbmRvbWl6ZUJsb2NrTWFwS2V5cyA9IHJlcXVpcmUoJy4vcmFuZG9taXplQmxvY2tNYXBLZXlzJyk7XG52YXIgcmVtb3ZlRW50aXRpZXNBdEVkZ2VzID0gcmVxdWlyZSgnLi9yZW1vdmVFbnRpdGllc0F0RWRnZXMnKTtcblxudmFyIGdldENvbnRlbnRTdGF0ZUZyYWdtZW50ID0gZnVuY3Rpb24gZ2V0Q29udGVudFN0YXRlRnJhZ21lbnQoY29udGVudFN0YXRlLCBzZWxlY3Rpb25TdGF0ZSkge1xuICB2YXIgc3RhcnRLZXkgPSBzZWxlY3Rpb25TdGF0ZS5nZXRTdGFydEtleSgpO1xuICB2YXIgc3RhcnRPZmZzZXQgPSBzZWxlY3Rpb25TdGF0ZS5nZXRTdGFydE9mZnNldCgpO1xuICB2YXIgZW5kS2V5ID0gc2VsZWN0aW9uU3RhdGUuZ2V0RW5kS2V5KCk7XG4gIHZhciBlbmRPZmZzZXQgPSBzZWxlY3Rpb25TdGF0ZS5nZXRFbmRPZmZzZXQoKTtcblxuICAvLyBFZGdlIGVudGl0aWVzIHNob3VsZCBiZSBzdHJpcHBlZCB0byBlbnN1cmUgdGhhdCB3ZSBkb24ndCBwcmVzZXJ2ZVxuICAvLyBpbnZhbGlkIHBhcnRpYWwgZW50aXRpZXMgd2hlbiB0aGUgZnJhZ21lbnQgaXMgcmV1c2VkLiBXZSBkbywgaG93ZXZlcixcbiAgLy8gcHJlc2VydmUgZW50aXRpZXMgdGhhdCBhcmUgZW50aXJlbHkgd2l0aGluIHRoZSBzZWxlY3Rpb24gcmFuZ2UuXG4gIHZhciBjb250ZW50V2l0aG91dEVkZ2VFbnRpdGllcyA9IHJlbW92ZUVudGl0aWVzQXRFZGdlcyhjb250ZW50U3RhdGUsIHNlbGVjdGlvblN0YXRlKTtcblxuICB2YXIgYmxvY2tNYXAgPSBjb250ZW50V2l0aG91dEVkZ2VFbnRpdGllcy5nZXRCbG9ja01hcCgpO1xuICB2YXIgYmxvY2tLZXlzID0gYmxvY2tNYXAua2V5U2VxKCk7XG4gIHZhciBzdGFydEluZGV4ID0gYmxvY2tLZXlzLmluZGV4T2Yoc3RhcnRLZXkpO1xuICB2YXIgZW5kSW5kZXggPSBibG9ja0tleXMuaW5kZXhPZihlbmRLZXkpICsgMTtcblxuICByZXR1cm4gcmFuZG9taXplQmxvY2tNYXBLZXlzKGJsb2NrTWFwLnNsaWNlKHN0YXJ0SW5kZXgsIGVuZEluZGV4KS5tYXAoZnVuY3Rpb24gKGJsb2NrLCBibG9ja0tleSkge1xuICAgIHZhciB0ZXh0ID0gYmxvY2suZ2V0VGV4dCgpO1xuICAgIHZhciBjaGFycyA9IGJsb2NrLmdldENoYXJhY3Rlckxpc3QoKTtcblxuICAgIGlmIChzdGFydEtleSA9PT0gZW5kS2V5KSB7XG4gICAgICByZXR1cm4gYmxvY2subWVyZ2Uoe1xuICAgICAgICB0ZXh0OiB0ZXh0LnNsaWNlKHN0YXJ0T2Zmc2V0LCBlbmRPZmZzZXQpLFxuICAgICAgICBjaGFyYWN0ZXJMaXN0OiBjaGFycy5zbGljZShzdGFydE9mZnNldCwgZW5kT2Zmc2V0KVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKGJsb2NrS2V5ID09PSBzdGFydEtleSkge1xuICAgICAgcmV0dXJuIGJsb2NrLm1lcmdlKHtcbiAgICAgICAgdGV4dDogdGV4dC5zbGljZShzdGFydE9mZnNldCksXG4gICAgICAgIGNoYXJhY3Rlckxpc3Q6IGNoYXJzLnNsaWNlKHN0YXJ0T2Zmc2V0KVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKGJsb2NrS2V5ID09PSBlbmRLZXkpIHtcbiAgICAgIHJldHVybiBibG9jay5tZXJnZSh7XG4gICAgICAgIHRleHQ6IHRleHQuc2xpY2UoMCwgZW5kT2Zmc2V0KSxcbiAgICAgICAgY2hhcmFjdGVyTGlzdDogY2hhcnMuc2xpY2UoMCwgZW5kT2Zmc2V0KVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGJsb2NrO1xuICB9KSk7XG59O1xuXG5tb2R1bGUuZXhwb3J0cyA9IGdldENvbnRlbnRTdGF0ZUZyYWdtZW50OyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/getContentStateFragment.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nvar randomizeBlockMapKeys = __webpack_require__(/*! ./randomizeBlockMapKeys */ \"./node_modules/draft-js/lib/randomizeBlockMapKeys.js\");\n\nvar removeEntitiesAtEdges = __webpack_require__(/*! ./removeEntitiesAtEdges */ \"./node_modules/draft-js/lib/removeEntitiesAtEdges.js\");\n\nvar getContentStateFragment = function getContentStateFragment(contentState, selectionState) {\n var startKey = selectionState.getStartKey();\n var startOffset = selectionState.getStartOffset();\n var endKey = selectionState.getEndKey();\n var endOffset = selectionState.getEndOffset(); // Edge entities should be stripped to ensure that we don't preserve\n // invalid partial entities when the fragment is reused. We do, however,\n // preserve entities that are entirely within the selection range.\n\n var contentWithoutEdgeEntities = removeEntitiesAtEdges(contentState, selectionState);\n var blockMap = contentWithoutEdgeEntities.getBlockMap();\n var blockKeys = blockMap.keySeq();\n var startIndex = blockKeys.indexOf(startKey);\n var endIndex = blockKeys.indexOf(endKey) + 1;\n return randomizeBlockMapKeys(blockMap.slice(startIndex, endIndex).map(function (block, blockKey) {\n var text = block.getText();\n var chars = block.getCharacterList();\n\n if (startKey === endKey) {\n return block.merge({\n text: text.slice(startOffset, endOffset),\n characterList: chars.slice(startOffset, endOffset)\n });\n }\n\n if (blockKey === startKey) {\n return block.merge({\n text: text.slice(startOffset),\n characterList: chars.slice(startOffset)\n });\n }\n\n if (blockKey === endKey) {\n return block.merge({\n text: text.slice(0, endOffset),\n characterList: chars.slice(0, endOffset)\n });\n }\n\n return block;\n }));\n};\n\nmodule.exports = getContentStateFragment;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2dldENvbnRlbnRTdGF0ZUZyYWdtZW50LmpzPzBkODIiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDYTs7QUFFYiw0QkFBNEIsbUJBQU8sQ0FBQyxxRkFBeUI7O0FBRTdELDRCQUE0QixtQkFBTyxDQUFDLHFGQUF5Qjs7QUFFN0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnREFBZ0Q7QUFDaEQ7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQOztBQUVBO0FBQ0EsR0FBRztBQUNIOztBQUVBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2RyYWZ0LWpzL2xpYi9nZXRDb250ZW50U3RhdGVGcmFnbWVudC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSBGYWNlYm9vaywgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICogQGZvcm1hdFxuICogXG4gKiBAZW1haWxzIG9uY2FsbCtkcmFmdF9qc1xuICovXG4ndXNlIHN0cmljdCc7XG5cbnZhciByYW5kb21pemVCbG9ja01hcEtleXMgPSByZXF1aXJlKFwiLi9yYW5kb21pemVCbG9ja01hcEtleXNcIik7XG5cbnZhciByZW1vdmVFbnRpdGllc0F0RWRnZXMgPSByZXF1aXJlKFwiLi9yZW1vdmVFbnRpdGllc0F0RWRnZXNcIik7XG5cbnZhciBnZXRDb250ZW50U3RhdGVGcmFnbWVudCA9IGZ1bmN0aW9uIGdldENvbnRlbnRTdGF0ZUZyYWdtZW50KGNvbnRlbnRTdGF0ZSwgc2VsZWN0aW9uU3RhdGUpIHtcbiAgdmFyIHN0YXJ0S2V5ID0gc2VsZWN0aW9uU3RhdGUuZ2V0U3RhcnRLZXkoKTtcbiAgdmFyIHN0YXJ0T2Zmc2V0ID0gc2VsZWN0aW9uU3RhdGUuZ2V0U3RhcnRPZmZzZXQoKTtcbiAgdmFyIGVuZEtleSA9IHNlbGVjdGlvblN0YXRlLmdldEVuZEtleSgpO1xuICB2YXIgZW5kT2Zmc2V0ID0gc2VsZWN0aW9uU3RhdGUuZ2V0RW5kT2Zmc2V0KCk7IC8vIEVkZ2UgZW50aXRpZXMgc2hvdWxkIGJlIHN0cmlwcGVkIHRvIGVuc3VyZSB0aGF0IHdlIGRvbid0IHByZXNlcnZlXG4gIC8vIGludmFsaWQgcGFydGlhbCBlbnRpdGllcyB3aGVuIHRoZSBmcmFnbWVudCBpcyByZXVzZWQuIFdlIGRvLCBob3dldmVyLFxuICAvLyBwcmVzZXJ2ZSBlbnRpdGllcyB0aGF0IGFyZSBlbnRpcmVseSB3aXRoaW4gdGhlIHNlbGVjdGlvbiByYW5nZS5cblxuICB2YXIgY29udGVudFdpdGhvdXRFZGdlRW50aXRpZXMgPSByZW1vdmVFbnRpdGllc0F0RWRnZXMoY29udGVudFN0YXRlLCBzZWxlY3Rpb25TdGF0ZSk7XG4gIHZhciBibG9ja01hcCA9IGNvbnRlbnRXaXRob3V0RWRnZUVudGl0aWVzLmdldEJsb2NrTWFwKCk7XG4gIHZhciBibG9ja0tleXMgPSBibG9ja01hcC5rZXlTZXEoKTtcbiAgdmFyIHN0YXJ0SW5kZXggPSBibG9ja0tleXMuaW5kZXhPZihzdGFydEtleSk7XG4gIHZhciBlbmRJbmRleCA9IGJsb2NrS2V5cy5pbmRleE9mKGVuZEtleSkgKyAxO1xuICByZXR1cm4gcmFuZG9taXplQmxvY2tNYXBLZXlzKGJsb2NrTWFwLnNsaWNlKHN0YXJ0SW5kZXgsIGVuZEluZGV4KS5tYXAoZnVuY3Rpb24gKGJsb2NrLCBibG9ja0tleSkge1xuICAgIHZhciB0ZXh0ID0gYmxvY2suZ2V0VGV4dCgpO1xuICAgIHZhciBjaGFycyA9IGJsb2NrLmdldENoYXJhY3Rlckxpc3QoKTtcblxuICAgIGlmIChzdGFydEtleSA9PT0gZW5kS2V5KSB7XG4gICAgICByZXR1cm4gYmxvY2subWVyZ2Uoe1xuICAgICAgICB0ZXh0OiB0ZXh0LnNsaWNlKHN0YXJ0T2Zmc2V0LCBlbmRPZmZzZXQpLFxuICAgICAgICBjaGFyYWN0ZXJMaXN0OiBjaGFycy5zbGljZShzdGFydE9mZnNldCwgZW5kT2Zmc2V0KVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKGJsb2NrS2V5ID09PSBzdGFydEtleSkge1xuICAgICAgcmV0dXJuIGJsb2NrLm1lcmdlKHtcbiAgICAgICAgdGV4dDogdGV4dC5zbGljZShzdGFydE9mZnNldCksXG4gICAgICAgIGNoYXJhY3Rlckxpc3Q6IGNoYXJzLnNsaWNlKHN0YXJ0T2Zmc2V0KVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKGJsb2NrS2V5ID09PSBlbmRLZXkpIHtcbiAgICAgIHJldHVybiBibG9jay5tZXJnZSh7XG4gICAgICAgIHRleHQ6IHRleHQuc2xpY2UoMCwgZW5kT2Zmc2V0KSxcbiAgICAgICAgY2hhcmFjdGVyTGlzdDogY2hhcnMuc2xpY2UoMCwgZW5kT2Zmc2V0KVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGJsb2NrO1xuICB9KSk7XG59O1xuXG5tb2R1bGUuZXhwb3J0cyA9IGdldENvbnRlbnRTdGF0ZUZyYWdtZW50OyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/getContentStateFragment.js\n"); + +/***/ }), + +/***/ "./node_modules/draft-js/lib/getCorrectDocumentFromNode.js": +/*!*****************************************************************!*\ + !*** ./node_modules/draft-js/lib/getCorrectDocumentFromNode.js ***! + \*****************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\nfunction getCorrectDocumentFromNode(node) {\n if (!node || !node.ownerDocument) {\n return document;\n }\n\n return node.ownerDocument;\n}\n\nmodule.exports = getCorrectDocumentFromNode;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2dldENvcnJlY3REb2N1bWVudEZyb21Ob2RlLmpzPzE3NGYiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2RyYWZ0LWpzL2xpYi9nZXRDb3JyZWN0RG9jdW1lbnRGcm9tTm9kZS5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG4vKipcbiAqIENvcHlyaWdodCAoYykgRmFjZWJvb2ssIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIEBmb3JtYXRcbiAqIFxuICogQGVtYWlscyBvbmNhbGwrZHJhZnRfanNcbiAqL1xuZnVuY3Rpb24gZ2V0Q29ycmVjdERvY3VtZW50RnJvbU5vZGUobm9kZSkge1xuICBpZiAoIW5vZGUgfHwgIW5vZGUub3duZXJEb2N1bWVudCkge1xuICAgIHJldHVybiBkb2N1bWVudDtcbiAgfVxuXG4gIHJldHVybiBub2RlLm93bmVyRG9jdW1lbnQ7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gZ2V0Q29ycmVjdERvY3VtZW50RnJvbU5vZGU7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/getCorrectDocumentFromNode.js\n"); /***/ }), @@ -847,7 +966,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule getDefaultKeyBinding\n * @format\n * \n */\n\n\n\nvar KeyBindingUtil = __webpack_require__(/*! ./KeyBindingUtil */ \"./node_modules/draft-js/lib/KeyBindingUtil.js\");\nvar Keys = __webpack_require__(/*! fbjs/lib/Keys */ \"./node_modules/fbjs/lib/Keys.js\");\nvar UserAgent = __webpack_require__(/*! fbjs/lib/UserAgent */ \"./node_modules/fbjs/lib/UserAgent.js\");\n\nvar isOSX = UserAgent.isPlatform('Mac OS X');\nvar isWindows = UserAgent.isPlatform('Windows');\n\n// Firefox on OSX had a bug resulting in navigation instead of cursor movement.\n// This bug was fixed in Firefox 29. Feature detection is virtually impossible\n// so we just check the version number. See #342765.\nvar shouldFixFirefoxMovement = isOSX && UserAgent.isBrowser('Firefox < 29');\n\nvar hasCommandModifier = KeyBindingUtil.hasCommandModifier,\n isCtrlKeyCommand = KeyBindingUtil.isCtrlKeyCommand;\n\n\nfunction shouldRemoveWord(e) {\n return isOSX && e.altKey || isCtrlKeyCommand(e);\n}\n\n/**\n * Get the appropriate undo/redo command for a Z key command.\n */\nfunction getZCommand(e) {\n if (!hasCommandModifier(e)) {\n return null;\n }\n return e.shiftKey ? 'redo' : 'undo';\n}\n\nfunction getDeleteCommand(e) {\n // Allow default \"cut\" behavior for Windows on Shift + Delete.\n if (isWindows && e.shiftKey) {\n return null;\n }\n return shouldRemoveWord(e) ? 'delete-word' : 'delete';\n}\n\nfunction getBackspaceCommand(e) {\n if (hasCommandModifier(e) && isOSX) {\n return 'backspace-to-start-of-line';\n }\n return shouldRemoveWord(e) ? 'backspace-word' : 'backspace';\n}\n\n/**\n * Retrieve a bound key command for the given event.\n */\nfunction getDefaultKeyBinding(e) {\n switch (e.keyCode) {\n case 66:\n // B\n return hasCommandModifier(e) ? 'bold' : null;\n case 68:\n // D\n return isCtrlKeyCommand(e) ? 'delete' : null;\n case 72:\n // H\n return isCtrlKeyCommand(e) ? 'backspace' : null;\n case 73:\n // I\n return hasCommandModifier(e) ? 'italic' : null;\n case 74:\n // J\n return hasCommandModifier(e) ? 'code' : null;\n case 75:\n // K\n return !isWindows && isCtrlKeyCommand(e) ? 'secondary-cut' : null;\n case 77:\n // M\n return isCtrlKeyCommand(e) ? 'split-block' : null;\n case 79:\n // O\n return isCtrlKeyCommand(e) ? 'split-block' : null;\n case 84:\n // T\n return isOSX && isCtrlKeyCommand(e) ? 'transpose-characters' : null;\n case 85:\n // U\n return hasCommandModifier(e) ? 'underline' : null;\n case 87:\n // W\n return isOSX && isCtrlKeyCommand(e) ? 'backspace-word' : null;\n case 89:\n // Y\n if (isCtrlKeyCommand(e)) {\n return isWindows ? 'redo' : 'secondary-paste';\n }\n return null;\n case 90:\n // Z\n return getZCommand(e) || null;\n case Keys.RETURN:\n return 'split-block';\n case Keys.DELETE:\n return getDeleteCommand(e);\n case Keys.BACKSPACE:\n return getBackspaceCommand(e);\n // LEFT/RIGHT handlers serve as a workaround for a Firefox bug.\n case Keys.LEFT:\n return shouldFixFirefoxMovement && hasCommandModifier(e) ? 'move-selection-to-start-of-block' : null;\n case Keys.RIGHT:\n return shouldFixFirefoxMovement && hasCommandModifier(e) ? 'move-selection-to-end-of-block' : null;\n default:\n return null;\n }\n}\n\nmodule.exports = getDefaultKeyBinding;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2dldERlZmF1bHRLZXlCaW5kaW5nLmpzPzAzMjAiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVhOztBQUViLHFCQUFxQixtQkFBTyxDQUFDLHVFQUFrQjtBQUMvQyxXQUFXLG1CQUFPLENBQUMsc0RBQWU7QUFDbEMsZ0JBQWdCLG1CQUFPLENBQUMsZ0VBQW9COztBQUU1QztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2dldERlZmF1bHRLZXlCaW5kaW5nLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQlNELXN0eWxlIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuIEFuIGFkZGl0aW9uYWwgZ3JhbnRcbiAqIG9mIHBhdGVudCByaWdodHMgY2FuIGJlIGZvdW5kIGluIHRoZSBQQVRFTlRTIGZpbGUgaW4gdGhlIHNhbWUgZGlyZWN0b3J5LlxuICpcbiAqIEBwcm92aWRlc01vZHVsZSBnZXREZWZhdWx0S2V5QmluZGluZ1xuICogQGZvcm1hdFxuICogXG4gKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG52YXIgS2V5QmluZGluZ1V0aWwgPSByZXF1aXJlKCcuL0tleUJpbmRpbmdVdGlsJyk7XG52YXIgS2V5cyA9IHJlcXVpcmUoJ2ZianMvbGliL0tleXMnKTtcbnZhciBVc2VyQWdlbnQgPSByZXF1aXJlKCdmYmpzL2xpYi9Vc2VyQWdlbnQnKTtcblxudmFyIGlzT1NYID0gVXNlckFnZW50LmlzUGxhdGZvcm0oJ01hYyBPUyBYJyk7XG52YXIgaXNXaW5kb3dzID0gVXNlckFnZW50LmlzUGxhdGZvcm0oJ1dpbmRvd3MnKTtcblxuLy8gRmlyZWZveCBvbiBPU1ggaGFkIGEgYnVnIHJlc3VsdGluZyBpbiBuYXZpZ2F0aW9uIGluc3RlYWQgb2YgY3Vyc29yIG1vdmVtZW50LlxuLy8gVGhpcyBidWcgd2FzIGZpeGVkIGluIEZpcmVmb3ggMjkuIEZlYXR1cmUgZGV0ZWN0aW9uIGlzIHZpcnR1YWxseSBpbXBvc3NpYmxlXG4vLyBzbyB3ZSBqdXN0IGNoZWNrIHRoZSB2ZXJzaW9uIG51bWJlci4gU2VlICMzNDI3NjUuXG52YXIgc2hvdWxkRml4RmlyZWZveE1vdmVtZW50ID0gaXNPU1ggJiYgVXNlckFnZW50LmlzQnJvd3NlcignRmlyZWZveCA8IDI5Jyk7XG5cbnZhciBoYXNDb21tYW5kTW9kaWZpZXIgPSBLZXlCaW5kaW5nVXRpbC5oYXNDb21tYW5kTW9kaWZpZXIsXG4gICAgaXNDdHJsS2V5Q29tbWFuZCA9IEtleUJpbmRpbmdVdGlsLmlzQ3RybEtleUNvbW1hbmQ7XG5cblxuZnVuY3Rpb24gc2hvdWxkUmVtb3ZlV29yZChlKSB7XG4gIHJldHVybiBpc09TWCAmJiBlLmFsdEtleSB8fCBpc0N0cmxLZXlDb21tYW5kKGUpO1xufVxuXG4vKipcbiAqIEdldCB0aGUgYXBwcm9wcmlhdGUgdW5kby9yZWRvIGNvbW1hbmQgZm9yIGEgWiBrZXkgY29tbWFuZC5cbiAqL1xuZnVuY3Rpb24gZ2V0WkNvbW1hbmQoZSkge1xuICBpZiAoIWhhc0NvbW1hbmRNb2RpZmllcihlKSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIHJldHVybiBlLnNoaWZ0S2V5ID8gJ3JlZG8nIDogJ3VuZG8nO1xufVxuXG5mdW5jdGlvbiBnZXREZWxldGVDb21tYW5kKGUpIHtcbiAgLy8gQWxsb3cgZGVmYXVsdCBcImN1dFwiIGJlaGF2aW9yIGZvciBXaW5kb3dzIG9uIFNoaWZ0ICsgRGVsZXRlLlxuICBpZiAoaXNXaW5kb3dzICYmIGUuc2hpZnRLZXkpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICByZXR1cm4gc2hvdWxkUmVtb3ZlV29yZChlKSA/ICdkZWxldGUtd29yZCcgOiAnZGVsZXRlJztcbn1cblxuZnVuY3Rpb24gZ2V0QmFja3NwYWNlQ29tbWFuZChlKSB7XG4gIGlmIChoYXNDb21tYW5kTW9kaWZpZXIoZSkgJiYgaXNPU1gpIHtcbiAgICByZXR1cm4gJ2JhY2tzcGFjZS10by1zdGFydC1vZi1saW5lJztcbiAgfVxuICByZXR1cm4gc2hvdWxkUmVtb3ZlV29yZChlKSA/ICdiYWNrc3BhY2Utd29yZCcgOiAnYmFja3NwYWNlJztcbn1cblxuLyoqXG4gKiBSZXRyaWV2ZSBhIGJvdW5kIGtleSBjb21tYW5kIGZvciB0aGUgZ2l2ZW4gZXZlbnQuXG4gKi9cbmZ1bmN0aW9uIGdldERlZmF1bHRLZXlCaW5kaW5nKGUpIHtcbiAgc3dpdGNoIChlLmtleUNvZGUpIHtcbiAgICBjYXNlIDY2OlxuICAgICAgLy8gQlxuICAgICAgcmV0dXJuIGhhc0NvbW1hbmRNb2RpZmllcihlKSA/ICdib2xkJyA6IG51bGw7XG4gICAgY2FzZSA2ODpcbiAgICAgIC8vIERcbiAgICAgIHJldHVybiBpc0N0cmxLZXlDb21tYW5kKGUpID8gJ2RlbGV0ZScgOiBudWxsO1xuICAgIGNhc2UgNzI6XG4gICAgICAvLyBIXG4gICAgICByZXR1cm4gaXNDdHJsS2V5Q29tbWFuZChlKSA/ICdiYWNrc3BhY2UnIDogbnVsbDtcbiAgICBjYXNlIDczOlxuICAgICAgLy8gSVxuICAgICAgcmV0dXJuIGhhc0NvbW1hbmRNb2RpZmllcihlKSA/ICdpdGFsaWMnIDogbnVsbDtcbiAgICBjYXNlIDc0OlxuICAgICAgLy8gSlxuICAgICAgcmV0dXJuIGhhc0NvbW1hbmRNb2RpZmllcihlKSA/ICdjb2RlJyA6IG51bGw7XG4gICAgY2FzZSA3NTpcbiAgICAgIC8vIEtcbiAgICAgIHJldHVybiAhaXNXaW5kb3dzICYmIGlzQ3RybEtleUNvbW1hbmQoZSkgPyAnc2Vjb25kYXJ5LWN1dCcgOiBudWxsO1xuICAgIGNhc2UgNzc6XG4gICAgICAvLyBNXG4gICAgICByZXR1cm4gaXNDdHJsS2V5Q29tbWFuZChlKSA/ICdzcGxpdC1ibG9jaycgOiBudWxsO1xuICAgIGNhc2UgNzk6XG4gICAgICAvLyBPXG4gICAgICByZXR1cm4gaXNDdHJsS2V5Q29tbWFuZChlKSA/ICdzcGxpdC1ibG9jaycgOiBudWxsO1xuICAgIGNhc2UgODQ6XG4gICAgICAvLyBUXG4gICAgICByZXR1cm4gaXNPU1ggJiYgaXNDdHJsS2V5Q29tbWFuZChlKSA/ICd0cmFuc3Bvc2UtY2hhcmFjdGVycycgOiBudWxsO1xuICAgIGNhc2UgODU6XG4gICAgICAvLyBVXG4gICAgICByZXR1cm4gaGFzQ29tbWFuZE1vZGlmaWVyKGUpID8gJ3VuZGVybGluZScgOiBudWxsO1xuICAgIGNhc2UgODc6XG4gICAgICAvLyBXXG4gICAgICByZXR1cm4gaXNPU1ggJiYgaXNDdHJsS2V5Q29tbWFuZChlKSA/ICdiYWNrc3BhY2Utd29yZCcgOiBudWxsO1xuICAgIGNhc2UgODk6XG4gICAgICAvLyBZXG4gICAgICBpZiAoaXNDdHJsS2V5Q29tbWFuZChlKSkge1xuICAgICAgICByZXR1cm4gaXNXaW5kb3dzID8gJ3JlZG8nIDogJ3NlY29uZGFyeS1wYXN0ZSc7XG4gICAgICB9XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICBjYXNlIDkwOlxuICAgICAgLy8gWlxuICAgICAgcmV0dXJuIGdldFpDb21tYW5kKGUpIHx8IG51bGw7XG4gICAgY2FzZSBLZXlzLlJFVFVSTjpcbiAgICAgIHJldHVybiAnc3BsaXQtYmxvY2snO1xuICAgIGNhc2UgS2V5cy5ERUxFVEU6XG4gICAgICByZXR1cm4gZ2V0RGVsZXRlQ29tbWFuZChlKTtcbiAgICBjYXNlIEtleXMuQkFDS1NQQUNFOlxuICAgICAgcmV0dXJuIGdldEJhY2tzcGFjZUNvbW1hbmQoZSk7XG4gICAgLy8gTEVGVC9SSUdIVCBoYW5kbGVycyBzZXJ2ZSBhcyBhIHdvcmthcm91bmQgZm9yIGEgRmlyZWZveCBidWcuXG4gICAgY2FzZSBLZXlzLkxFRlQ6XG4gICAgICByZXR1cm4gc2hvdWxkRml4RmlyZWZveE1vdmVtZW50ICYmIGhhc0NvbW1hbmRNb2RpZmllcihlKSA/ICdtb3ZlLXNlbGVjdGlvbi10by1zdGFydC1vZi1ibG9jaycgOiBudWxsO1xuICAgIGNhc2UgS2V5cy5SSUdIVDpcbiAgICAgIHJldHVybiBzaG91bGRGaXhGaXJlZm94TW92ZW1lbnQgJiYgaGFzQ29tbWFuZE1vZGlmaWVyKGUpID8gJ21vdmUtc2VsZWN0aW9uLXRvLWVuZC1vZi1ibG9jaycgOiBudWxsO1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGdldERlZmF1bHRLZXlCaW5kaW5nOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/getDefaultKeyBinding.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nvar KeyBindingUtil = __webpack_require__(/*! ./KeyBindingUtil */ \"./node_modules/draft-js/lib/KeyBindingUtil.js\");\n\nvar Keys = __webpack_require__(/*! fbjs/lib/Keys */ \"./node_modules/fbjs/lib/Keys.js\");\n\nvar UserAgent = __webpack_require__(/*! fbjs/lib/UserAgent */ \"./node_modules/fbjs/lib/UserAgent.js\");\n\nvar isOSX = UserAgent.isPlatform('Mac OS X'); // Firefox on OSX had a bug resulting in navigation instead of cursor movement.\n// This bug was fixed in Firefox 29. Feature detection is virtually impossible\n// so we just check the version number. See #342765.\n\nvar shouldFixFirefoxMovement = isOSX && UserAgent.isBrowser('Firefox < 29');\nvar hasCommandModifier = KeyBindingUtil.hasCommandModifier,\n isCtrlKeyCommand = KeyBindingUtil.isCtrlKeyCommand;\n\nfunction shouldRemoveWord(e) {\n return isOSX && e.altKey || isCtrlKeyCommand(e);\n}\n/**\n * Get the appropriate undo/redo command for a Z key command.\n */\n\n\nfunction getZCommand(e) {\n if (!hasCommandModifier(e)) {\n return null;\n }\n\n return e.shiftKey ? 'redo' : 'undo';\n}\n\nfunction getDeleteCommand(e) {\n // Allow default \"cut\" behavior for PCs on Shift + Delete.\n if (!isOSX && e.shiftKey) {\n return null;\n }\n\n return shouldRemoveWord(e) ? 'delete-word' : 'delete';\n}\n\nfunction getBackspaceCommand(e) {\n if (hasCommandModifier(e) && isOSX) {\n return 'backspace-to-start-of-line';\n }\n\n return shouldRemoveWord(e) ? 'backspace-word' : 'backspace';\n}\n/**\n * Retrieve a bound key command for the given event.\n */\n\n\nfunction getDefaultKeyBinding(e) {\n switch (e.keyCode) {\n case 66:\n // B\n return hasCommandModifier(e) ? 'bold' : null;\n\n case 68:\n // D\n return isCtrlKeyCommand(e) ? 'delete' : null;\n\n case 72:\n // H\n return isCtrlKeyCommand(e) ? 'backspace' : null;\n\n case 73:\n // I\n return hasCommandModifier(e) ? 'italic' : null;\n\n case 74:\n // J\n return hasCommandModifier(e) ? 'code' : null;\n\n case 75:\n // K\n return isOSX && isCtrlKeyCommand(e) ? 'secondary-cut' : null;\n\n case 77:\n // M\n return isCtrlKeyCommand(e) ? 'split-block' : null;\n\n case 79:\n // O\n return isCtrlKeyCommand(e) ? 'split-block' : null;\n\n case 84:\n // T\n return isOSX && isCtrlKeyCommand(e) ? 'transpose-characters' : null;\n\n case 85:\n // U\n return hasCommandModifier(e) ? 'underline' : null;\n\n case 87:\n // W\n return isOSX && isCtrlKeyCommand(e) ? 'backspace-word' : null;\n\n case 89:\n // Y\n if (isCtrlKeyCommand(e)) {\n return isOSX ? 'secondary-paste' : 'redo';\n }\n\n return null;\n\n case 90:\n // Z\n return getZCommand(e) || null;\n\n case Keys.RETURN:\n return 'split-block';\n\n case Keys.DELETE:\n return getDeleteCommand(e);\n\n case Keys.BACKSPACE:\n return getBackspaceCommand(e);\n // LEFT/RIGHT handlers serve as a workaround for a Firefox bug.\n\n case Keys.LEFT:\n return shouldFixFirefoxMovement && hasCommandModifier(e) ? 'move-selection-to-start-of-block' : null;\n\n case Keys.RIGHT:\n return shouldFixFirefoxMovement && hasCommandModifier(e) ? 'move-selection-to-end-of-block' : null;\n\n default:\n return null;\n }\n}\n\nmodule.exports = getDefaultKeyBinding;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2dldERlZmF1bHRLZXlCaW5kaW5nLmpzPzAzMjAiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDYTs7QUFFYixxQkFBcUIsbUJBQU8sQ0FBQyx1RUFBa0I7O0FBRS9DLFdBQVcsbUJBQU8sQ0FBQyxzREFBZTs7QUFFbEMsZ0JBQWdCLG1CQUFPLENBQUMsZ0VBQW9COztBQUU1Qyw2Q0FBNkM7QUFDN0M7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvZ2V0RGVmYXVsdEtleUJpbmRpbmcuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgRmFjZWJvb2ssIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIEBmb3JtYXRcbiAqIFxuICogQGVtYWlscyBvbmNhbGwrZHJhZnRfanNcbiAqL1xuJ3VzZSBzdHJpY3QnO1xuXG52YXIgS2V5QmluZGluZ1V0aWwgPSByZXF1aXJlKFwiLi9LZXlCaW5kaW5nVXRpbFwiKTtcblxudmFyIEtleXMgPSByZXF1aXJlKFwiZmJqcy9saWIvS2V5c1wiKTtcblxudmFyIFVzZXJBZ2VudCA9IHJlcXVpcmUoXCJmYmpzL2xpYi9Vc2VyQWdlbnRcIik7XG5cbnZhciBpc09TWCA9IFVzZXJBZ2VudC5pc1BsYXRmb3JtKCdNYWMgT1MgWCcpOyAvLyBGaXJlZm94IG9uIE9TWCBoYWQgYSBidWcgcmVzdWx0aW5nIGluIG5hdmlnYXRpb24gaW5zdGVhZCBvZiBjdXJzb3IgbW92ZW1lbnQuXG4vLyBUaGlzIGJ1ZyB3YXMgZml4ZWQgaW4gRmlyZWZveCAyOS4gRmVhdHVyZSBkZXRlY3Rpb24gaXMgdmlydHVhbGx5IGltcG9zc2libGVcbi8vIHNvIHdlIGp1c3QgY2hlY2sgdGhlIHZlcnNpb24gbnVtYmVyLiBTZWUgIzM0Mjc2NS5cblxudmFyIHNob3VsZEZpeEZpcmVmb3hNb3ZlbWVudCA9IGlzT1NYICYmIFVzZXJBZ2VudC5pc0Jyb3dzZXIoJ0ZpcmVmb3ggPCAyOScpO1xudmFyIGhhc0NvbW1hbmRNb2RpZmllciA9IEtleUJpbmRpbmdVdGlsLmhhc0NvbW1hbmRNb2RpZmllcixcbiAgICBpc0N0cmxLZXlDb21tYW5kID0gS2V5QmluZGluZ1V0aWwuaXNDdHJsS2V5Q29tbWFuZDtcblxuZnVuY3Rpb24gc2hvdWxkUmVtb3ZlV29yZChlKSB7XG4gIHJldHVybiBpc09TWCAmJiBlLmFsdEtleSB8fCBpc0N0cmxLZXlDb21tYW5kKGUpO1xufVxuLyoqXG4gKiBHZXQgdGhlIGFwcHJvcHJpYXRlIHVuZG8vcmVkbyBjb21tYW5kIGZvciBhIFoga2V5IGNvbW1hbmQuXG4gKi9cblxuXG5mdW5jdGlvbiBnZXRaQ29tbWFuZChlKSB7XG4gIGlmICghaGFzQ29tbWFuZE1vZGlmaWVyKGUpKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICByZXR1cm4gZS5zaGlmdEtleSA/ICdyZWRvJyA6ICd1bmRvJztcbn1cblxuZnVuY3Rpb24gZ2V0RGVsZXRlQ29tbWFuZChlKSB7XG4gIC8vIEFsbG93IGRlZmF1bHQgXCJjdXRcIiBiZWhhdmlvciBmb3IgUENzIG9uIFNoaWZ0ICsgRGVsZXRlLlxuICBpZiAoIWlzT1NYICYmIGUuc2hpZnRLZXkpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiBzaG91bGRSZW1vdmVXb3JkKGUpID8gJ2RlbGV0ZS13b3JkJyA6ICdkZWxldGUnO1xufVxuXG5mdW5jdGlvbiBnZXRCYWNrc3BhY2VDb21tYW5kKGUpIHtcbiAgaWYgKGhhc0NvbW1hbmRNb2RpZmllcihlKSAmJiBpc09TWCkge1xuICAgIHJldHVybiAnYmFja3NwYWNlLXRvLXN0YXJ0LW9mLWxpbmUnO1xuICB9XG5cbiAgcmV0dXJuIHNob3VsZFJlbW92ZVdvcmQoZSkgPyAnYmFja3NwYWNlLXdvcmQnIDogJ2JhY2tzcGFjZSc7XG59XG4vKipcbiAqIFJldHJpZXZlIGEgYm91bmQga2V5IGNvbW1hbmQgZm9yIHRoZSBnaXZlbiBldmVudC5cbiAqL1xuXG5cbmZ1bmN0aW9uIGdldERlZmF1bHRLZXlCaW5kaW5nKGUpIHtcbiAgc3dpdGNoIChlLmtleUNvZGUpIHtcbiAgICBjYXNlIDY2OlxuICAgICAgLy8gQlxuICAgICAgcmV0dXJuIGhhc0NvbW1hbmRNb2RpZmllcihlKSA/ICdib2xkJyA6IG51bGw7XG5cbiAgICBjYXNlIDY4OlxuICAgICAgLy8gRFxuICAgICAgcmV0dXJuIGlzQ3RybEtleUNvbW1hbmQoZSkgPyAnZGVsZXRlJyA6IG51bGw7XG5cbiAgICBjYXNlIDcyOlxuICAgICAgLy8gSFxuICAgICAgcmV0dXJuIGlzQ3RybEtleUNvbW1hbmQoZSkgPyAnYmFja3NwYWNlJyA6IG51bGw7XG5cbiAgICBjYXNlIDczOlxuICAgICAgLy8gSVxuICAgICAgcmV0dXJuIGhhc0NvbW1hbmRNb2RpZmllcihlKSA/ICdpdGFsaWMnIDogbnVsbDtcblxuICAgIGNhc2UgNzQ6XG4gICAgICAvLyBKXG4gICAgICByZXR1cm4gaGFzQ29tbWFuZE1vZGlmaWVyKGUpID8gJ2NvZGUnIDogbnVsbDtcblxuICAgIGNhc2UgNzU6XG4gICAgICAvLyBLXG4gICAgICByZXR1cm4gaXNPU1ggJiYgaXNDdHJsS2V5Q29tbWFuZChlKSA/ICdzZWNvbmRhcnktY3V0JyA6IG51bGw7XG5cbiAgICBjYXNlIDc3OlxuICAgICAgLy8gTVxuICAgICAgcmV0dXJuIGlzQ3RybEtleUNvbW1hbmQoZSkgPyAnc3BsaXQtYmxvY2snIDogbnVsbDtcblxuICAgIGNhc2UgNzk6XG4gICAgICAvLyBPXG4gICAgICByZXR1cm4gaXNDdHJsS2V5Q29tbWFuZChlKSA/ICdzcGxpdC1ibG9jaycgOiBudWxsO1xuXG4gICAgY2FzZSA4NDpcbiAgICAgIC8vIFRcbiAgICAgIHJldHVybiBpc09TWCAmJiBpc0N0cmxLZXlDb21tYW5kKGUpID8gJ3RyYW5zcG9zZS1jaGFyYWN0ZXJzJyA6IG51bGw7XG5cbiAgICBjYXNlIDg1OlxuICAgICAgLy8gVVxuICAgICAgcmV0dXJuIGhhc0NvbW1hbmRNb2RpZmllcihlKSA/ICd1bmRlcmxpbmUnIDogbnVsbDtcblxuICAgIGNhc2UgODc6XG4gICAgICAvLyBXXG4gICAgICByZXR1cm4gaXNPU1ggJiYgaXNDdHJsS2V5Q29tbWFuZChlKSA/ICdiYWNrc3BhY2Utd29yZCcgOiBudWxsO1xuXG4gICAgY2FzZSA4OTpcbiAgICAgIC8vIFlcbiAgICAgIGlmIChpc0N0cmxLZXlDb21tYW5kKGUpKSB7XG4gICAgICAgIHJldHVybiBpc09TWCA/ICdzZWNvbmRhcnktcGFzdGUnIDogJ3JlZG8nO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gbnVsbDtcblxuICAgIGNhc2UgOTA6XG4gICAgICAvLyBaXG4gICAgICByZXR1cm4gZ2V0WkNvbW1hbmQoZSkgfHwgbnVsbDtcblxuICAgIGNhc2UgS2V5cy5SRVRVUk46XG4gICAgICByZXR1cm4gJ3NwbGl0LWJsb2NrJztcblxuICAgIGNhc2UgS2V5cy5ERUxFVEU6XG4gICAgICByZXR1cm4gZ2V0RGVsZXRlQ29tbWFuZChlKTtcblxuICAgIGNhc2UgS2V5cy5CQUNLU1BBQ0U6XG4gICAgICByZXR1cm4gZ2V0QmFja3NwYWNlQ29tbWFuZChlKTtcbiAgICAvLyBMRUZUL1JJR0hUIGhhbmRsZXJzIHNlcnZlIGFzIGEgd29ya2Fyb3VuZCBmb3IgYSBGaXJlZm94IGJ1Zy5cblxuICAgIGNhc2UgS2V5cy5MRUZUOlxuICAgICAgcmV0dXJuIHNob3VsZEZpeEZpcmVmb3hNb3ZlbWVudCAmJiBoYXNDb21tYW5kTW9kaWZpZXIoZSkgPyAnbW92ZS1zZWxlY3Rpb24tdG8tc3RhcnQtb2YtYmxvY2snIDogbnVsbDtcblxuICAgIGNhc2UgS2V5cy5SSUdIVDpcbiAgICAgIHJldHVybiBzaG91bGRGaXhGaXJlZm94TW92ZW1lbnQgJiYgaGFzQ29tbWFuZE1vZGlmaWVyKGUpID8gJ21vdmUtc2VsZWN0aW9uLXRvLWVuZC1vZi1ibG9jaycgOiBudWxsO1xuXG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBudWxsO1xuICB9XG59XG5cbm1vZHVsZS5leHBvcnRzID0gZ2V0RGVmYXVsdEtleUJpbmRpbmc7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/getDefaultKeyBinding.js\n"); /***/ }), @@ -859,7 +978,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/* WEBPACK VAR INJECTION */(function(global) {/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule getDraftEditorSelection\n * @format\n * \n */\n\n\n\nvar getDraftEditorSelectionWithNodes = __webpack_require__(/*! ./getDraftEditorSelectionWithNodes */ \"./node_modules/draft-js/lib/getDraftEditorSelectionWithNodes.js\");\n\n/**\n * Convert the current selection range to an anchor/focus pair of offset keys\n * and values that can be interpreted by components.\n */\nfunction getDraftEditorSelection(editorState, root) {\n var selection = global.getSelection();\n\n // No active selection.\n if (selection.rangeCount === 0) {\n return {\n selectionState: editorState.getSelection().set('hasFocus', false),\n needsRecovery: false\n };\n }\n\n return getDraftEditorSelectionWithNodes(editorState, root, selection.anchorNode, selection.anchorOffset, selection.focusNode, selection.focusOffset);\n}\n\nmodule.exports = getDraftEditorSelection;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2dldERyYWZ0RWRpdG9yU2VsZWN0aW9uLmpzPzY2MDYiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVhOztBQUViLHVDQUF1QyxtQkFBTyxDQUFDLDJHQUFvQzs7QUFFbkY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEseUMiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2dldERyYWZ0RWRpdG9yU2VsZWN0aW9uLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQlNELXN0eWxlIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuIEFuIGFkZGl0aW9uYWwgZ3JhbnRcbiAqIG9mIHBhdGVudCByaWdodHMgY2FuIGJlIGZvdW5kIGluIHRoZSBQQVRFTlRTIGZpbGUgaW4gdGhlIHNhbWUgZGlyZWN0b3J5LlxuICpcbiAqIEBwcm92aWRlc01vZHVsZSBnZXREcmFmdEVkaXRvclNlbGVjdGlvblxuICogQGZvcm1hdFxuICogXG4gKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG52YXIgZ2V0RHJhZnRFZGl0b3JTZWxlY3Rpb25XaXRoTm9kZXMgPSByZXF1aXJlKCcuL2dldERyYWZ0RWRpdG9yU2VsZWN0aW9uV2l0aE5vZGVzJyk7XG5cbi8qKlxuICogQ29udmVydCB0aGUgY3VycmVudCBzZWxlY3Rpb24gcmFuZ2UgdG8gYW4gYW5jaG9yL2ZvY3VzIHBhaXIgb2Ygb2Zmc2V0IGtleXNcbiAqIGFuZCB2YWx1ZXMgdGhhdCBjYW4gYmUgaW50ZXJwcmV0ZWQgYnkgY29tcG9uZW50cy5cbiAqL1xuZnVuY3Rpb24gZ2V0RHJhZnRFZGl0b3JTZWxlY3Rpb24oZWRpdG9yU3RhdGUsIHJvb3QpIHtcbiAgdmFyIHNlbGVjdGlvbiA9IGdsb2JhbC5nZXRTZWxlY3Rpb24oKTtcblxuICAvLyBObyBhY3RpdmUgc2VsZWN0aW9uLlxuICBpZiAoc2VsZWN0aW9uLnJhbmdlQ291bnQgPT09IDApIHtcbiAgICByZXR1cm4ge1xuICAgICAgc2VsZWN0aW9uU3RhdGU6IGVkaXRvclN0YXRlLmdldFNlbGVjdGlvbigpLnNldCgnaGFzRm9jdXMnLCBmYWxzZSksXG4gICAgICBuZWVkc1JlY292ZXJ5OiBmYWxzZVxuICAgIH07XG4gIH1cblxuICByZXR1cm4gZ2V0RHJhZnRFZGl0b3JTZWxlY3Rpb25XaXRoTm9kZXMoZWRpdG9yU3RhdGUsIHJvb3QsIHNlbGVjdGlvbi5hbmNob3JOb2RlLCBzZWxlY3Rpb24uYW5jaG9yT2Zmc2V0LCBzZWxlY3Rpb24uZm9jdXNOb2RlLCBzZWxlY3Rpb24uZm9jdXNPZmZzZXQpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGdldERyYWZ0RWRpdG9yU2VsZWN0aW9uOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/getDraftEditorSelection.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nvar getDraftEditorSelectionWithNodes = __webpack_require__(/*! ./getDraftEditorSelectionWithNodes */ \"./node_modules/draft-js/lib/getDraftEditorSelectionWithNodes.js\");\n/**\n * Convert the current selection range to an anchor/focus pair of offset keys\n * and values that can be interpreted by components.\n */\n\n\nfunction getDraftEditorSelection(editorState, root) {\n var selection = root.ownerDocument.defaultView.getSelection(); // No active selection.\n\n if (selection.rangeCount === 0) {\n return {\n selectionState: editorState.getSelection().set('hasFocus', false),\n needsRecovery: false\n };\n }\n\n return getDraftEditorSelectionWithNodes(editorState, root, selection.anchorNode, selection.anchorOffset, selection.focusNode, selection.focusOffset);\n}\n\nmodule.exports = getDraftEditorSelection;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2dldERyYWZ0RWRpdG9yU2VsZWN0aW9uLmpzPzY2MDYiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDYTs7QUFFYix1Q0FBdUMsbUJBQU8sQ0FBQywyR0FBb0M7QUFDbkY7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0EsZ0VBQWdFOztBQUVoRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvZ2V0RHJhZnRFZGl0b3JTZWxlY3Rpb24uanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgRmFjZWJvb2ssIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIEBmb3JtYXRcbiAqIFxuICogQGVtYWlscyBvbmNhbGwrZHJhZnRfanNcbiAqL1xuJ3VzZSBzdHJpY3QnO1xuXG52YXIgZ2V0RHJhZnRFZGl0b3JTZWxlY3Rpb25XaXRoTm9kZXMgPSByZXF1aXJlKFwiLi9nZXREcmFmdEVkaXRvclNlbGVjdGlvbldpdGhOb2Rlc1wiKTtcbi8qKlxuICogQ29udmVydCB0aGUgY3VycmVudCBzZWxlY3Rpb24gcmFuZ2UgdG8gYW4gYW5jaG9yL2ZvY3VzIHBhaXIgb2Ygb2Zmc2V0IGtleXNcbiAqIGFuZCB2YWx1ZXMgdGhhdCBjYW4gYmUgaW50ZXJwcmV0ZWQgYnkgY29tcG9uZW50cy5cbiAqL1xuXG5cbmZ1bmN0aW9uIGdldERyYWZ0RWRpdG9yU2VsZWN0aW9uKGVkaXRvclN0YXRlLCByb290KSB7XG4gIHZhciBzZWxlY3Rpb24gPSByb290Lm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0U2VsZWN0aW9uKCk7IC8vIE5vIGFjdGl2ZSBzZWxlY3Rpb24uXG5cbiAgaWYgKHNlbGVjdGlvbi5yYW5nZUNvdW50ID09PSAwKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHNlbGVjdGlvblN0YXRlOiBlZGl0b3JTdGF0ZS5nZXRTZWxlY3Rpb24oKS5zZXQoJ2hhc0ZvY3VzJywgZmFsc2UpLFxuICAgICAgbmVlZHNSZWNvdmVyeTogZmFsc2VcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIGdldERyYWZ0RWRpdG9yU2VsZWN0aW9uV2l0aE5vZGVzKGVkaXRvclN0YXRlLCByb290LCBzZWxlY3Rpb24uYW5jaG9yTm9kZSwgc2VsZWN0aW9uLmFuY2hvck9mZnNldCwgc2VsZWN0aW9uLmZvY3VzTm9kZSwgc2VsZWN0aW9uLmZvY3VzT2Zmc2V0KTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBnZXREcmFmdEVkaXRvclNlbGVjdGlvbjsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/getDraftEditorSelection.js\n"); /***/ }), @@ -871,7 +990,7 @@ eval("/* WEBPACK VAR INJECTION */(function(global) {/**\n * Copyright (c) 2013-p /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule getDraftEditorSelectionWithNodes\n * @format\n * \n */\n\n\n\nvar findAncestorOffsetKey = __webpack_require__(/*! ./findAncestorOffsetKey */ \"./node_modules/draft-js/lib/findAncestorOffsetKey.js\");\nvar getSelectionOffsetKeyForNode = __webpack_require__(/*! ./getSelectionOffsetKeyForNode */ \"./node_modules/draft-js/lib/getSelectionOffsetKeyForNode.js\");\nvar getUpdatedSelectionState = __webpack_require__(/*! ./getUpdatedSelectionState */ \"./node_modules/draft-js/lib/getUpdatedSelectionState.js\");\nvar invariant = __webpack_require__(/*! fbjs/lib/invariant */ \"./node_modules/fbjs/lib/invariant.js\");\nvar nullthrows = __webpack_require__(/*! fbjs/lib/nullthrows */ \"./node_modules/fbjs/lib/nullthrows.js\");\n\n/**\n * Convert the current selection range to an anchor/focus pair of offset keys\n * and values that can be interpreted by components.\n */\nfunction getDraftEditorSelectionWithNodes(editorState, root, anchorNode, anchorOffset, focusNode, focusOffset) {\n var anchorIsTextNode = anchorNode.nodeType === Node.TEXT_NODE;\n var focusIsTextNode = focusNode.nodeType === Node.TEXT_NODE;\n\n // If the selection range lies only on text nodes, the task is simple.\n // Find the nearest offset-aware elements and use the\n // offset values supplied by the selection range.\n if (anchorIsTextNode && focusIsTextNode) {\n return {\n selectionState: getUpdatedSelectionState(editorState, nullthrows(findAncestorOffsetKey(anchorNode)), anchorOffset, nullthrows(findAncestorOffsetKey(focusNode)), focusOffset),\n needsRecovery: false\n };\n }\n\n var anchorPoint = null;\n var focusPoint = null;\n var needsRecovery = true;\n\n // An element is selected. Convert this selection range into leaf offset\n // keys and offset values for consumption at the component level. This\n // is common in Firefox, where select-all and triple click behavior leads\n // to entire elements being selected.\n //\n // Note that we use the `needsRecovery` parameter in the callback here. This\n // is because when certain elements are selected, the behavior for subsequent\n // cursor movement (e.g. via arrow keys) is uncertain and may not match\n // expectations at the component level. For example, if an entire
is\n // selected and the user presses the right arrow, Firefox keeps the selection\n // on the
. If we allow subsequent keypresses to insert characters\n // natively, they will be inserted into a browser-created text node to the\n // right of that
. This is obviously undesirable.\n //\n // With the `needsRecovery` flag, we inform the caller that it is responsible\n // for manually setting the selection state on the rendered document to\n // ensure proper selection state maintenance.\n\n if (anchorIsTextNode) {\n anchorPoint = {\n key: nullthrows(findAncestorOffsetKey(anchorNode)),\n offset: anchorOffset\n };\n focusPoint = getPointForNonTextNode(root, focusNode, focusOffset);\n } else if (focusIsTextNode) {\n focusPoint = {\n key: nullthrows(findAncestorOffsetKey(focusNode)),\n offset: focusOffset\n };\n anchorPoint = getPointForNonTextNode(root, anchorNode, anchorOffset);\n } else {\n anchorPoint = getPointForNonTextNode(root, anchorNode, anchorOffset);\n focusPoint = getPointForNonTextNode(root, focusNode, focusOffset);\n\n // If the selection is collapsed on an empty block, don't force recovery.\n // This way, on arrow key selection changes, the browser can move the\n // cursor from a non-zero offset on one block, through empty blocks,\n // to a matching non-zero offset on other text blocks.\n if (anchorNode === focusNode && anchorOffset === focusOffset) {\n needsRecovery = !!anchorNode.firstChild && anchorNode.firstChild.nodeName !== 'BR';\n }\n }\n\n return {\n selectionState: getUpdatedSelectionState(editorState, anchorPoint.key, anchorPoint.offset, focusPoint.key, focusPoint.offset),\n needsRecovery: needsRecovery\n };\n}\n\n/**\n * Identify the first leaf descendant for the given node.\n */\nfunction getFirstLeaf(node) {\n while (node.firstChild && (\n // data-blocks has no offset\n node.firstChild instanceof Element && node.firstChild.getAttribute('data-blocks') === 'true' || getSelectionOffsetKeyForNode(node.firstChild))) {\n node = node.firstChild;\n }\n return node;\n}\n\n/**\n * Identify the last leaf descendant for the given node.\n */\nfunction getLastLeaf(node) {\n while (node.lastChild && (\n // data-blocks has no offset\n node.lastChild instanceof Element && node.lastChild.getAttribute('data-blocks') === 'true' || getSelectionOffsetKeyForNode(node.lastChild))) {\n node = node.lastChild;\n }\n return node;\n}\n\nfunction getPointForNonTextNode(editorRoot, startNode, childOffset) {\n var node = startNode;\n var offsetKey = findAncestorOffsetKey(node);\n\n !(offsetKey != null || editorRoot && (editorRoot === node || editorRoot.firstChild === node)) ? true ? invariant(false, 'Unknown node in selection range.') : undefined : void 0;\n\n // If the editorRoot is the selection, step downward into the content\n // wrapper.\n if (editorRoot === node) {\n node = node.firstChild;\n !(node instanceof Element && node.getAttribute('data-contents') === 'true') ? true ? invariant(false, 'Invalid DraftEditorContents structure.') : undefined : void 0;\n if (childOffset > 0) {\n childOffset = node.childNodes.length;\n }\n }\n\n // If the child offset is zero and we have an offset key, we're done.\n // If there's no offset key because the entire editor is selected,\n // find the leftmost (\"first\") leaf in the tree and use that as the offset\n // key.\n if (childOffset === 0) {\n var key = null;\n if (offsetKey != null) {\n key = offsetKey;\n } else {\n var firstLeaf = getFirstLeaf(node);\n key = nullthrows(getSelectionOffsetKeyForNode(firstLeaf));\n }\n return { key: key, offset: 0 };\n }\n\n var nodeBeforeCursor = node.childNodes[childOffset - 1];\n var leafKey = null;\n var textLength = null;\n\n if (!getSelectionOffsetKeyForNode(nodeBeforeCursor)) {\n // Our target node may be a leaf or a text node, in which case we're\n // already where we want to be and can just use the child's length as\n // our offset.\n leafKey = nullthrows(offsetKey);\n textLength = getTextContentLength(nodeBeforeCursor);\n } else {\n // Otherwise, we'll look at the child to the left of the cursor and find\n // the last leaf node in its subtree.\n var lastLeaf = getLastLeaf(nodeBeforeCursor);\n leafKey = nullthrows(getSelectionOffsetKeyForNode(lastLeaf));\n textLength = getTextContentLength(lastLeaf);\n }\n\n return {\n key: leafKey,\n offset: textLength\n };\n}\n\n/**\n * Return the length of a node's textContent, regarding single newline\n * characters as zero-length. This allows us to avoid problems with identifying\n * the correct selection offset for empty blocks in IE, in which we\n * render newlines instead of break tags.\n */\nfunction getTextContentLength(node) {\n var textContent = node.textContent;\n return textContent === '\\n' ? 0 : textContent.length;\n}\n\nmodule.exports = getDraftEditorSelectionWithNodes;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2dldERyYWZ0RWRpdG9yU2VsZWN0aW9uV2l0aE5vZGVzLmpzPzIxMjciXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVhOztBQUViLDRCQUE0QixtQkFBTyxDQUFDLHFGQUF5QjtBQUM3RCxtQ0FBbUMsbUJBQU8sQ0FBQyxtR0FBZ0M7QUFDM0UsK0JBQStCLG1CQUFPLENBQUMsMkZBQTRCO0FBQ25FLGdCQUFnQixtQkFBTyxDQUFDLGdFQUFvQjtBQUM1QyxpQkFBaUIsbUJBQU8sQ0FBQyxrRUFBcUI7O0FBRTlDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBLGtHQUFrRyxLQUFxQywwREFBMEQsU0FBZ0I7O0FBRWpOO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0ZBQWtGLEtBQXFDLGdFQUFnRSxTQUFnQjtBQUN2TTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2RyYWZ0LWpzL2xpYi9nZXREcmFmdEVkaXRvclNlbGVjdGlvbldpdGhOb2Rlcy5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXG4gKiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEJTRC1zdHlsZSBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLiBBbiBhZGRpdGlvbmFsIGdyYW50XG4gKiBvZiBwYXRlbnQgcmlnaHRzIGNhbiBiZSBmb3VuZCBpbiB0aGUgUEFURU5UUyBmaWxlIGluIHRoZSBzYW1lIGRpcmVjdG9yeS5cbiAqXG4gKiBAcHJvdmlkZXNNb2R1bGUgZ2V0RHJhZnRFZGl0b3JTZWxlY3Rpb25XaXRoTm9kZXNcbiAqIEBmb3JtYXRcbiAqIFxuICovXG5cbid1c2Ugc3RyaWN0JztcblxudmFyIGZpbmRBbmNlc3Rvck9mZnNldEtleSA9IHJlcXVpcmUoJy4vZmluZEFuY2VzdG9yT2Zmc2V0S2V5Jyk7XG52YXIgZ2V0U2VsZWN0aW9uT2Zmc2V0S2V5Rm9yTm9kZSA9IHJlcXVpcmUoJy4vZ2V0U2VsZWN0aW9uT2Zmc2V0S2V5Rm9yTm9kZScpO1xudmFyIGdldFVwZGF0ZWRTZWxlY3Rpb25TdGF0ZSA9IHJlcXVpcmUoJy4vZ2V0VXBkYXRlZFNlbGVjdGlvblN0YXRlJyk7XG52YXIgaW52YXJpYW50ID0gcmVxdWlyZSgnZmJqcy9saWIvaW52YXJpYW50Jyk7XG52YXIgbnVsbHRocm93cyA9IHJlcXVpcmUoJ2ZianMvbGliL251bGx0aHJvd3MnKTtcblxuLyoqXG4gKiBDb252ZXJ0IHRoZSBjdXJyZW50IHNlbGVjdGlvbiByYW5nZSB0byBhbiBhbmNob3IvZm9jdXMgcGFpciBvZiBvZmZzZXQga2V5c1xuICogYW5kIHZhbHVlcyB0aGF0IGNhbiBiZSBpbnRlcnByZXRlZCBieSBjb21wb25lbnRzLlxuICovXG5mdW5jdGlvbiBnZXREcmFmdEVkaXRvclNlbGVjdGlvbldpdGhOb2RlcyhlZGl0b3JTdGF0ZSwgcm9vdCwgYW5jaG9yTm9kZSwgYW5jaG9yT2Zmc2V0LCBmb2N1c05vZGUsIGZvY3VzT2Zmc2V0KSB7XG4gIHZhciBhbmNob3JJc1RleHROb2RlID0gYW5jaG9yTm9kZS5ub2RlVHlwZSA9PT0gTm9kZS5URVhUX05PREU7XG4gIHZhciBmb2N1c0lzVGV4dE5vZGUgPSBmb2N1c05vZGUubm9kZVR5cGUgPT09IE5vZGUuVEVYVF9OT0RFO1xuXG4gIC8vIElmIHRoZSBzZWxlY3Rpb24gcmFuZ2UgbGllcyBvbmx5IG9uIHRleHQgbm9kZXMsIHRoZSB0YXNrIGlzIHNpbXBsZS5cbiAgLy8gRmluZCB0aGUgbmVhcmVzdCBvZmZzZXQtYXdhcmUgZWxlbWVudHMgYW5kIHVzZSB0aGVcbiAgLy8gb2Zmc2V0IHZhbHVlcyBzdXBwbGllZCBieSB0aGUgc2VsZWN0aW9uIHJhbmdlLlxuICBpZiAoYW5jaG9ySXNUZXh0Tm9kZSAmJiBmb2N1c0lzVGV4dE5vZGUpIHtcbiAgICByZXR1cm4ge1xuICAgICAgc2VsZWN0aW9uU3RhdGU6IGdldFVwZGF0ZWRTZWxlY3Rpb25TdGF0ZShlZGl0b3JTdGF0ZSwgbnVsbHRocm93cyhmaW5kQW5jZXN0b3JPZmZzZXRLZXkoYW5jaG9yTm9kZSkpLCBhbmNob3JPZmZzZXQsIG51bGx0aHJvd3MoZmluZEFuY2VzdG9yT2Zmc2V0S2V5KGZvY3VzTm9kZSkpLCBmb2N1c09mZnNldCksXG4gICAgICBuZWVkc1JlY292ZXJ5OiBmYWxzZVxuICAgIH07XG4gIH1cblxuICB2YXIgYW5jaG9yUG9pbnQgPSBudWxsO1xuICB2YXIgZm9jdXNQb2ludCA9IG51bGw7XG4gIHZhciBuZWVkc1JlY292ZXJ5ID0gdHJ1ZTtcblxuICAvLyBBbiBlbGVtZW50IGlzIHNlbGVjdGVkLiBDb252ZXJ0IHRoaXMgc2VsZWN0aW9uIHJhbmdlIGludG8gbGVhZiBvZmZzZXRcbiAgLy8ga2V5cyBhbmQgb2Zmc2V0IHZhbHVlcyBmb3IgY29uc3VtcHRpb24gYXQgdGhlIGNvbXBvbmVudCBsZXZlbC4gVGhpc1xuICAvLyBpcyBjb21tb24gaW4gRmlyZWZveCwgd2hlcmUgc2VsZWN0LWFsbCBhbmQgdHJpcGxlIGNsaWNrIGJlaGF2aW9yIGxlYWRzXG4gIC8vIHRvIGVudGlyZSBlbGVtZW50cyBiZWluZyBzZWxlY3RlZC5cbiAgLy9cbiAgLy8gTm90ZSB0aGF0IHdlIHVzZSB0aGUgYG5lZWRzUmVjb3ZlcnlgIHBhcmFtZXRlciBpbiB0aGUgY2FsbGJhY2sgaGVyZS4gVGhpc1xuICAvLyBpcyBiZWNhdXNlIHdoZW4gY2VydGFpbiBlbGVtZW50cyBhcmUgc2VsZWN0ZWQsIHRoZSBiZWhhdmlvciBmb3Igc3Vic2VxdWVudFxuICAvLyBjdXJzb3IgbW92ZW1lbnQgKGUuZy4gdmlhIGFycm93IGtleXMpIGlzIHVuY2VydGFpbiBhbmQgbWF5IG5vdCBtYXRjaFxuICAvLyBleHBlY3RhdGlvbnMgYXQgdGhlIGNvbXBvbmVudCBsZXZlbC4gRm9yIGV4YW1wbGUsIGlmIGFuIGVudGlyZSA8ZGl2PiBpc1xuICAvLyBzZWxlY3RlZCBhbmQgdGhlIHVzZXIgcHJlc3NlcyB0aGUgcmlnaHQgYXJyb3csIEZpcmVmb3gga2VlcHMgdGhlIHNlbGVjdGlvblxuICAvLyBvbiB0aGUgPGRpdj4uIElmIHdlIGFsbG93IHN1YnNlcXVlbnQga2V5cHJlc3NlcyB0byBpbnNlcnQgY2hhcmFjdGVyc1xuICAvLyBuYXRpdmVseSwgdGhleSB3aWxsIGJlIGluc2VydGVkIGludG8gYSBicm93c2VyLWNyZWF0ZWQgdGV4dCBub2RlIHRvIHRoZVxuICAvLyByaWdodCBvZiB0aGF0IDxkaXY+LiBUaGlzIGlzIG9idmlvdXNseSB1bmRlc2lyYWJsZS5cbiAgLy9cbiAgLy8gV2l0aCB0aGUgYG5lZWRzUmVjb3ZlcnlgIGZsYWcsIHdlIGluZm9ybSB0aGUgY2FsbGVyIHRoYXQgaXQgaXMgcmVzcG9uc2libGVcbiAgLy8gZm9yIG1hbnVhbGx5IHNldHRpbmcgdGhlIHNlbGVjdGlvbiBzdGF0ZSBvbiB0aGUgcmVuZGVyZWQgZG9jdW1lbnQgdG9cbiAgLy8gZW5zdXJlIHByb3BlciBzZWxlY3Rpb24gc3RhdGUgbWFpbnRlbmFuY2UuXG5cbiAgaWYgKGFuY2hvcklzVGV4dE5vZGUpIHtcbiAgICBhbmNob3JQb2ludCA9IHtcbiAgICAgIGtleTogbnVsbHRocm93cyhmaW5kQW5jZXN0b3JPZmZzZXRLZXkoYW5jaG9yTm9kZSkpLFxuICAgICAgb2Zmc2V0OiBhbmNob3JPZmZzZXRcbiAgICB9O1xuICAgIGZvY3VzUG9pbnQgPSBnZXRQb2ludEZvck5vblRleHROb2RlKHJvb3QsIGZvY3VzTm9kZSwgZm9jdXNPZmZzZXQpO1xuICB9IGVsc2UgaWYgKGZvY3VzSXNUZXh0Tm9kZSkge1xuICAgIGZvY3VzUG9pbnQgPSB7XG4gICAgICBrZXk6IG51bGx0aHJvd3MoZmluZEFuY2VzdG9yT2Zmc2V0S2V5KGZvY3VzTm9kZSkpLFxuICAgICAgb2Zmc2V0OiBmb2N1c09mZnNldFxuICAgIH07XG4gICAgYW5jaG9yUG9pbnQgPSBnZXRQb2ludEZvck5vblRleHROb2RlKHJvb3QsIGFuY2hvck5vZGUsIGFuY2hvck9mZnNldCk7XG4gIH0gZWxzZSB7XG4gICAgYW5jaG9yUG9pbnQgPSBnZXRQb2ludEZvck5vblRleHROb2RlKHJvb3QsIGFuY2hvck5vZGUsIGFuY2hvck9mZnNldCk7XG4gICAgZm9jdXNQb2ludCA9IGdldFBvaW50Rm9yTm9uVGV4dE5vZGUocm9vdCwgZm9jdXNOb2RlLCBmb2N1c09mZnNldCk7XG5cbiAgICAvLyBJZiB0aGUgc2VsZWN0aW9uIGlzIGNvbGxhcHNlZCBvbiBhbiBlbXB0eSBibG9jaywgZG9uJ3QgZm9yY2UgcmVjb3ZlcnkuXG4gICAgLy8gVGhpcyB3YXksIG9uIGFycm93IGtleSBzZWxlY3Rpb24gY2hhbmdlcywgdGhlIGJyb3dzZXIgY2FuIG1vdmUgdGhlXG4gICAgLy8gY3Vyc29yIGZyb20gYSBub24temVybyBvZmZzZXQgb24gb25lIGJsb2NrLCB0aHJvdWdoIGVtcHR5IGJsb2NrcyxcbiAgICAvLyB0byBhIG1hdGNoaW5nIG5vbi16ZXJvIG9mZnNldCBvbiBvdGhlciB0ZXh0IGJsb2Nrcy5cbiAgICBpZiAoYW5jaG9yTm9kZSA9PT0gZm9jdXNOb2RlICYmIGFuY2hvck9mZnNldCA9PT0gZm9jdXNPZmZzZXQpIHtcbiAgICAgIG5lZWRzUmVjb3ZlcnkgPSAhIWFuY2hvck5vZGUuZmlyc3RDaGlsZCAmJiBhbmNob3JOb2RlLmZpcnN0Q2hpbGQubm9kZU5hbWUgIT09ICdCUic7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBzZWxlY3Rpb25TdGF0ZTogZ2V0VXBkYXRlZFNlbGVjdGlvblN0YXRlKGVkaXRvclN0YXRlLCBhbmNob3JQb2ludC5rZXksIGFuY2hvclBvaW50Lm9mZnNldCwgZm9jdXNQb2ludC5rZXksIGZvY3VzUG9pbnQub2Zmc2V0KSxcbiAgICBuZWVkc1JlY292ZXJ5OiBuZWVkc1JlY292ZXJ5XG4gIH07XG59XG5cbi8qKlxuICogSWRlbnRpZnkgdGhlIGZpcnN0IGxlYWYgZGVzY2VuZGFudCBmb3IgdGhlIGdpdmVuIG5vZGUuXG4gKi9cbmZ1bmN0aW9uIGdldEZpcnN0TGVhZihub2RlKSB7XG4gIHdoaWxlIChub2RlLmZpcnN0Q2hpbGQgJiYgKFxuICAvLyBkYXRhLWJsb2NrcyBoYXMgbm8gb2Zmc2V0XG4gIG5vZGUuZmlyc3RDaGlsZCBpbnN0YW5jZW9mIEVsZW1lbnQgJiYgbm9kZS5maXJzdENoaWxkLmdldEF0dHJpYnV0ZSgnZGF0YS1ibG9ja3MnKSA9PT0gJ3RydWUnIHx8IGdldFNlbGVjdGlvbk9mZnNldEtleUZvck5vZGUobm9kZS5maXJzdENoaWxkKSkpIHtcbiAgICBub2RlID0gbm9kZS5maXJzdENoaWxkO1xuICB9XG4gIHJldHVybiBub2RlO1xufVxuXG4vKipcbiAqIElkZW50aWZ5IHRoZSBsYXN0IGxlYWYgZGVzY2VuZGFudCBmb3IgdGhlIGdpdmVuIG5vZGUuXG4gKi9cbmZ1bmN0aW9uIGdldExhc3RMZWFmKG5vZGUpIHtcbiAgd2hpbGUgKG5vZGUubGFzdENoaWxkICYmIChcbiAgLy8gZGF0YS1ibG9ja3MgaGFzIG5vIG9mZnNldFxuICBub2RlLmxhc3RDaGlsZCBpbnN0YW5jZW9mIEVsZW1lbnQgJiYgbm9kZS5sYXN0Q2hpbGQuZ2V0QXR0cmlidXRlKCdkYXRhLWJsb2NrcycpID09PSAndHJ1ZScgfHwgZ2V0U2VsZWN0aW9uT2Zmc2V0S2V5Rm9yTm9kZShub2RlLmxhc3RDaGlsZCkpKSB7XG4gICAgbm9kZSA9IG5vZGUubGFzdENoaWxkO1xuICB9XG4gIHJldHVybiBub2RlO1xufVxuXG5mdW5jdGlvbiBnZXRQb2ludEZvck5vblRleHROb2RlKGVkaXRvclJvb3QsIHN0YXJ0Tm9kZSwgY2hpbGRPZmZzZXQpIHtcbiAgdmFyIG5vZGUgPSBzdGFydE5vZGU7XG4gIHZhciBvZmZzZXRLZXkgPSBmaW5kQW5jZXN0b3JPZmZzZXRLZXkobm9kZSk7XG5cbiAgIShvZmZzZXRLZXkgIT0gbnVsbCB8fCBlZGl0b3JSb290ICYmIChlZGl0b3JSb290ID09PSBub2RlIHx8IGVkaXRvclJvb3QuZmlyc3RDaGlsZCA9PT0gbm9kZSkpID8gcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyA/IGludmFyaWFudChmYWxzZSwgJ1Vua25vd24gbm9kZSBpbiBzZWxlY3Rpb24gcmFuZ2UuJykgOiBpbnZhcmlhbnQoZmFsc2UpIDogdm9pZCAwO1xuXG4gIC8vIElmIHRoZSBlZGl0b3JSb290IGlzIHRoZSBzZWxlY3Rpb24sIHN0ZXAgZG93bndhcmQgaW50byB0aGUgY29udGVudFxuICAvLyB3cmFwcGVyLlxuICBpZiAoZWRpdG9yUm9vdCA9PT0gbm9kZSkge1xuICAgIG5vZGUgPSBub2RlLmZpcnN0Q2hpbGQ7XG4gICAgIShub2RlIGluc3RhbmNlb2YgRWxlbWVudCAmJiBub2RlLmdldEF0dHJpYnV0ZSgnZGF0YS1jb250ZW50cycpID09PSAndHJ1ZScpID8gcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyA/IGludmFyaWFudChmYWxzZSwgJ0ludmFsaWQgRHJhZnRFZGl0b3JDb250ZW50cyBzdHJ1Y3R1cmUuJykgOiBpbnZhcmlhbnQoZmFsc2UpIDogdm9pZCAwO1xuICAgIGlmIChjaGlsZE9mZnNldCA+IDApIHtcbiAgICAgIGNoaWxkT2Zmc2V0ID0gbm9kZS5jaGlsZE5vZGVzLmxlbmd0aDtcbiAgICB9XG4gIH1cblxuICAvLyBJZiB0aGUgY2hpbGQgb2Zmc2V0IGlzIHplcm8gYW5kIHdlIGhhdmUgYW4gb2Zmc2V0IGtleSwgd2UncmUgZG9uZS5cbiAgLy8gSWYgdGhlcmUncyBubyBvZmZzZXQga2V5IGJlY2F1c2UgdGhlIGVudGlyZSBlZGl0b3IgaXMgc2VsZWN0ZWQsXG4gIC8vIGZpbmQgdGhlIGxlZnRtb3N0IChcImZpcnN0XCIpIGxlYWYgaW4gdGhlIHRyZWUgYW5kIHVzZSB0aGF0IGFzIHRoZSBvZmZzZXRcbiAgLy8ga2V5LlxuICBpZiAoY2hpbGRPZmZzZXQgPT09IDApIHtcbiAgICB2YXIga2V5ID0gbnVsbDtcbiAgICBpZiAob2Zmc2V0S2V5ICE9IG51bGwpIHtcbiAgICAgIGtleSA9IG9mZnNldEtleTtcbiAgICB9IGVsc2Uge1xuICAgICAgdmFyIGZpcnN0TGVhZiA9IGdldEZpcnN0TGVhZihub2RlKTtcbiAgICAgIGtleSA9IG51bGx0aHJvd3MoZ2V0U2VsZWN0aW9uT2Zmc2V0S2V5Rm9yTm9kZShmaXJzdExlYWYpKTtcbiAgICB9XG4gICAgcmV0dXJuIHsga2V5OiBrZXksIG9mZnNldDogMCB9O1xuICB9XG5cbiAgdmFyIG5vZGVCZWZvcmVDdXJzb3IgPSBub2RlLmNoaWxkTm9kZXNbY2hpbGRPZmZzZXQgLSAxXTtcbiAgdmFyIGxlYWZLZXkgPSBudWxsO1xuICB2YXIgdGV4dExlbmd0aCA9IG51bGw7XG5cbiAgaWYgKCFnZXRTZWxlY3Rpb25PZmZzZXRLZXlGb3JOb2RlKG5vZGVCZWZvcmVDdXJzb3IpKSB7XG4gICAgLy8gT3VyIHRhcmdldCBub2RlIG1heSBiZSBhIGxlYWYgb3IgYSB0ZXh0IG5vZGUsIGluIHdoaWNoIGNhc2Ugd2UncmVcbiAgICAvLyBhbHJlYWR5IHdoZXJlIHdlIHdhbnQgdG8gYmUgYW5kIGNhbiBqdXN0IHVzZSB0aGUgY2hpbGQncyBsZW5ndGggYXNcbiAgICAvLyBvdXIgb2Zmc2V0LlxuICAgIGxlYWZLZXkgPSBudWxsdGhyb3dzKG9mZnNldEtleSk7XG4gICAgdGV4dExlbmd0aCA9IGdldFRleHRDb250ZW50TGVuZ3RoKG5vZGVCZWZvcmVDdXJzb3IpO1xuICB9IGVsc2Uge1xuICAgIC8vIE90aGVyd2lzZSwgd2UnbGwgbG9vayBhdCB0aGUgY2hpbGQgdG8gdGhlIGxlZnQgb2YgdGhlIGN1cnNvciBhbmQgZmluZFxuICAgIC8vIHRoZSBsYXN0IGxlYWYgbm9kZSBpbiBpdHMgc3VidHJlZS5cbiAgICB2YXIgbGFzdExlYWYgPSBnZXRMYXN0TGVhZihub2RlQmVmb3JlQ3Vyc29yKTtcbiAgICBsZWFmS2V5ID0gbnVsbHRocm93cyhnZXRTZWxlY3Rpb25PZmZzZXRLZXlGb3JOb2RlKGxhc3RMZWFmKSk7XG4gICAgdGV4dExlbmd0aCA9IGdldFRleHRDb250ZW50TGVuZ3RoKGxhc3RMZWFmKTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAga2V5OiBsZWFmS2V5LFxuICAgIG9mZnNldDogdGV4dExlbmd0aFxuICB9O1xufVxuXG4vKipcbiAqIFJldHVybiB0aGUgbGVuZ3RoIG9mIGEgbm9kZSdzIHRleHRDb250ZW50LCByZWdhcmRpbmcgc2luZ2xlIG5ld2xpbmVcbiAqIGNoYXJhY3RlcnMgYXMgemVyby1sZW5ndGguIFRoaXMgYWxsb3dzIHVzIHRvIGF2b2lkIHByb2JsZW1zIHdpdGggaWRlbnRpZnlpbmdcbiAqIHRoZSBjb3JyZWN0IHNlbGVjdGlvbiBvZmZzZXQgZm9yIGVtcHR5IGJsb2NrcyBpbiBJRSwgaW4gd2hpY2ggd2VcbiAqIHJlbmRlciBuZXdsaW5lcyBpbnN0ZWFkIG9mIGJyZWFrIHRhZ3MuXG4gKi9cbmZ1bmN0aW9uIGdldFRleHRDb250ZW50TGVuZ3RoKG5vZGUpIHtcbiAgdmFyIHRleHRDb250ZW50ID0gbm9kZS50ZXh0Q29udGVudDtcbiAgcmV0dXJuIHRleHRDb250ZW50ID09PSAnXFxuJyA/IDAgOiB0ZXh0Q29udGVudC5sZW5ndGg7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gZ2V0RHJhZnRFZGl0b3JTZWxlY3Rpb25XaXRoTm9kZXM7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/getDraftEditorSelectionWithNodes.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nvar findAncestorOffsetKey = __webpack_require__(/*! ./findAncestorOffsetKey */ \"./node_modules/draft-js/lib/findAncestorOffsetKey.js\");\n\nvar getSelectionOffsetKeyForNode = __webpack_require__(/*! ./getSelectionOffsetKeyForNode */ \"./node_modules/draft-js/lib/getSelectionOffsetKeyForNode.js\");\n\nvar getUpdatedSelectionState = __webpack_require__(/*! ./getUpdatedSelectionState */ \"./node_modules/draft-js/lib/getUpdatedSelectionState.js\");\n\nvar invariant = __webpack_require__(/*! fbjs/lib/invariant */ \"./node_modules/fbjs/lib/invariant.js\");\n\nvar isElement = __webpack_require__(/*! ./isElement */ \"./node_modules/draft-js/lib/isElement.js\");\n\nvar nullthrows = __webpack_require__(/*! fbjs/lib/nullthrows */ \"./node_modules/fbjs/lib/nullthrows.js\");\n\n/**\n * Convert the current selection range to an anchor/focus pair of offset keys\n * and values that can be interpreted by components.\n */\nfunction getDraftEditorSelectionWithNodes(editorState, root, anchorNode, anchorOffset, focusNode, focusOffset) {\n var anchorIsTextNode = anchorNode.nodeType === Node.TEXT_NODE;\n var focusIsTextNode = focusNode.nodeType === Node.TEXT_NODE; // If the selection range lies only on text nodes, the task is simple.\n // Find the nearest offset-aware elements and use the\n // offset values supplied by the selection range.\n\n if (anchorIsTextNode && focusIsTextNode) {\n return {\n selectionState: getUpdatedSelectionState(editorState, nullthrows(findAncestorOffsetKey(anchorNode)), anchorOffset, nullthrows(findAncestorOffsetKey(focusNode)), focusOffset),\n needsRecovery: false\n };\n }\n\n var anchorPoint = null;\n var focusPoint = null;\n var needsRecovery = true; // An element is selected. Convert this selection range into leaf offset\n // keys and offset values for consumption at the component level. This\n // is common in Firefox, where select-all and triple click behavior leads\n // to entire elements being selected.\n //\n // Note that we use the `needsRecovery` parameter in the callback here. This\n // is because when certain elements are selected, the behavior for subsequent\n // cursor movement (e.g. via arrow keys) is uncertain and may not match\n // expectations at the component level. For example, if an entire
is\n // selected and the user presses the right arrow, Firefox keeps the selection\n // on the
. If we allow subsequent keypresses to insert characters\n // natively, they will be inserted into a browser-created text node to the\n // right of that
. This is obviously undesirable.\n //\n // With the `needsRecovery` flag, we inform the caller that it is responsible\n // for manually setting the selection state on the rendered document to\n // ensure proper selection state maintenance.\n\n if (anchorIsTextNode) {\n anchorPoint = {\n key: nullthrows(findAncestorOffsetKey(anchorNode)),\n offset: anchorOffset\n };\n focusPoint = getPointForNonTextNode(root, focusNode, focusOffset);\n } else if (focusIsTextNode) {\n focusPoint = {\n key: nullthrows(findAncestorOffsetKey(focusNode)),\n offset: focusOffset\n };\n anchorPoint = getPointForNonTextNode(root, anchorNode, anchorOffset);\n } else {\n anchorPoint = getPointForNonTextNode(root, anchorNode, anchorOffset);\n focusPoint = getPointForNonTextNode(root, focusNode, focusOffset); // If the selection is collapsed on an empty block, don't force recovery.\n // This way, on arrow key selection changes, the browser can move the\n // cursor from a non-zero offset on one block, through empty blocks,\n // to a matching non-zero offset on other text blocks.\n\n if (anchorNode === focusNode && anchorOffset === focusOffset) {\n needsRecovery = !!anchorNode.firstChild && anchorNode.firstChild.nodeName !== 'BR';\n }\n }\n\n return {\n selectionState: getUpdatedSelectionState(editorState, anchorPoint.key, anchorPoint.offset, focusPoint.key, focusPoint.offset),\n needsRecovery: needsRecovery\n };\n}\n/**\n * Identify the first leaf descendant for the given node.\n */\n\n\nfunction getFirstLeaf(node) {\n while (node.firstChild && ( // data-blocks has no offset\n isElement(node.firstChild) && node.firstChild.getAttribute('data-blocks') === 'true' || getSelectionOffsetKeyForNode(node.firstChild))) {\n node = node.firstChild;\n }\n\n return node;\n}\n/**\n * Identify the last leaf descendant for the given node.\n */\n\n\nfunction getLastLeaf(node) {\n while (node.lastChild && ( // data-blocks has no offset\n isElement(node.lastChild) && node.lastChild.getAttribute('data-blocks') === 'true' || getSelectionOffsetKeyForNode(node.lastChild))) {\n node = node.lastChild;\n }\n\n return node;\n}\n\nfunction getPointForNonTextNode(editorRoot, startNode, childOffset) {\n var node = startNode;\n var offsetKey = findAncestorOffsetKey(node);\n !(offsetKey != null || editorRoot && (editorRoot === node || editorRoot.firstChild === node)) ? true ? invariant(false, 'Unknown node in selection range.') : undefined : void 0; // If the editorRoot is the selection, step downward into the content\n // wrapper.\n\n if (editorRoot === node) {\n node = node.firstChild;\n !isElement(node) ? true ? invariant(false, 'Invalid DraftEditorContents node.') : undefined : void 0;\n var castedNode = node; // assignment only added for flow :/\n // otherwise it throws in line 200 saying that node can be null or undefined\n\n node = castedNode;\n !(node.getAttribute('data-contents') === 'true') ? true ? invariant(false, 'Invalid DraftEditorContents structure.') : undefined : void 0;\n\n if (childOffset > 0) {\n childOffset = node.childNodes.length;\n }\n } // If the child offset is zero and we have an offset key, we're done.\n // If there's no offset key because the entire editor is selected,\n // find the leftmost (\"first\") leaf in the tree and use that as the offset\n // key.\n\n\n if (childOffset === 0) {\n var key = null;\n\n if (offsetKey != null) {\n key = offsetKey;\n } else {\n var firstLeaf = getFirstLeaf(node);\n key = nullthrows(getSelectionOffsetKeyForNode(firstLeaf));\n }\n\n return {\n key: key,\n offset: 0\n };\n }\n\n var nodeBeforeCursor = node.childNodes[childOffset - 1];\n var leafKey = null;\n var textLength = null;\n\n if (!getSelectionOffsetKeyForNode(nodeBeforeCursor)) {\n // Our target node may be a leaf or a text node, in which case we're\n // already where we want to be and can just use the child's length as\n // our offset.\n leafKey = nullthrows(offsetKey);\n textLength = getTextContentLength(nodeBeforeCursor);\n } else {\n // Otherwise, we'll look at the child to the left of the cursor and find\n // the last leaf node in its subtree.\n var lastLeaf = getLastLeaf(nodeBeforeCursor);\n leafKey = nullthrows(getSelectionOffsetKeyForNode(lastLeaf));\n textLength = getTextContentLength(lastLeaf);\n }\n\n return {\n key: leafKey,\n offset: textLength\n };\n}\n/**\n * Return the length of a node's textContent, regarding single newline\n * characters as zero-length. This allows us to avoid problems with identifying\n * the correct selection offset for empty blocks in IE, in which we\n * render newlines instead of break tags.\n */\n\n\nfunction getTextContentLength(node) {\n var textContent = node.textContent;\n return textContent === '\\n' ? 0 : textContent.length;\n}\n\nmodule.exports = getDraftEditorSelectionWithNodes;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2dldERyYWZ0RWRpdG9yU2VsZWN0aW9uV2l0aE5vZGVzLmpzPzIxMjciXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDYTs7QUFFYiw0QkFBNEIsbUJBQU8sQ0FBQyxxRkFBeUI7O0FBRTdELG1DQUFtQyxtQkFBTyxDQUFDLG1HQUFnQzs7QUFFM0UsK0JBQStCLG1CQUFPLENBQUMsMkZBQTRCOztBQUVuRSxnQkFBZ0IsbUJBQU8sQ0FBQyxnRUFBb0I7O0FBRTVDLGdCQUFnQixtQkFBTyxDQUFDLDZEQUFhOztBQUVyQyxpQkFBaUIsbUJBQU8sQ0FBQyxrRUFBcUI7O0FBRTlDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDhEQUE4RDtBQUM5RDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsMkJBQTJCO0FBQzNCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0Esc0VBQXNFO0FBQ3RFO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxrR0FBa0csS0FBcUMsMERBQTBELFNBQWdCLFVBQVU7QUFDM047O0FBRUE7QUFDQTtBQUNBLHVCQUF1QixLQUFxQywyREFBMkQsU0FBZ0I7QUFDdkksMEJBQTBCO0FBQzFCOztBQUVBO0FBQ0EsdURBQXVELEtBQXFDLGdFQUFnRSxTQUFnQjs7QUFFNUs7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2RyYWZ0LWpzL2xpYi9nZXREcmFmdEVkaXRvclNlbGVjdGlvbldpdGhOb2Rlcy5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSBGYWNlYm9vaywgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICogQGZvcm1hdFxuICogXG4gKiBAZW1haWxzIG9uY2FsbCtkcmFmdF9qc1xuICovXG4ndXNlIHN0cmljdCc7XG5cbnZhciBmaW5kQW5jZXN0b3JPZmZzZXRLZXkgPSByZXF1aXJlKFwiLi9maW5kQW5jZXN0b3JPZmZzZXRLZXlcIik7XG5cbnZhciBnZXRTZWxlY3Rpb25PZmZzZXRLZXlGb3JOb2RlID0gcmVxdWlyZShcIi4vZ2V0U2VsZWN0aW9uT2Zmc2V0S2V5Rm9yTm9kZVwiKTtcblxudmFyIGdldFVwZGF0ZWRTZWxlY3Rpb25TdGF0ZSA9IHJlcXVpcmUoXCIuL2dldFVwZGF0ZWRTZWxlY3Rpb25TdGF0ZVwiKTtcblxudmFyIGludmFyaWFudCA9IHJlcXVpcmUoXCJmYmpzL2xpYi9pbnZhcmlhbnRcIik7XG5cbnZhciBpc0VsZW1lbnQgPSByZXF1aXJlKFwiLi9pc0VsZW1lbnRcIik7XG5cbnZhciBudWxsdGhyb3dzID0gcmVxdWlyZShcImZianMvbGliL251bGx0aHJvd3NcIik7XG5cbi8qKlxuICogQ29udmVydCB0aGUgY3VycmVudCBzZWxlY3Rpb24gcmFuZ2UgdG8gYW4gYW5jaG9yL2ZvY3VzIHBhaXIgb2Ygb2Zmc2V0IGtleXNcbiAqIGFuZCB2YWx1ZXMgdGhhdCBjYW4gYmUgaW50ZXJwcmV0ZWQgYnkgY29tcG9uZW50cy5cbiAqL1xuZnVuY3Rpb24gZ2V0RHJhZnRFZGl0b3JTZWxlY3Rpb25XaXRoTm9kZXMoZWRpdG9yU3RhdGUsIHJvb3QsIGFuY2hvck5vZGUsIGFuY2hvck9mZnNldCwgZm9jdXNOb2RlLCBmb2N1c09mZnNldCkge1xuICB2YXIgYW5jaG9ySXNUZXh0Tm9kZSA9IGFuY2hvck5vZGUubm9kZVR5cGUgPT09IE5vZGUuVEVYVF9OT0RFO1xuICB2YXIgZm9jdXNJc1RleHROb2RlID0gZm9jdXNOb2RlLm5vZGVUeXBlID09PSBOb2RlLlRFWFRfTk9ERTsgLy8gSWYgdGhlIHNlbGVjdGlvbiByYW5nZSBsaWVzIG9ubHkgb24gdGV4dCBub2RlcywgdGhlIHRhc2sgaXMgc2ltcGxlLlxuICAvLyBGaW5kIHRoZSBuZWFyZXN0IG9mZnNldC1hd2FyZSBlbGVtZW50cyBhbmQgdXNlIHRoZVxuICAvLyBvZmZzZXQgdmFsdWVzIHN1cHBsaWVkIGJ5IHRoZSBzZWxlY3Rpb24gcmFuZ2UuXG5cbiAgaWYgKGFuY2hvcklzVGV4dE5vZGUgJiYgZm9jdXNJc1RleHROb2RlKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHNlbGVjdGlvblN0YXRlOiBnZXRVcGRhdGVkU2VsZWN0aW9uU3RhdGUoZWRpdG9yU3RhdGUsIG51bGx0aHJvd3MoZmluZEFuY2VzdG9yT2Zmc2V0S2V5KGFuY2hvck5vZGUpKSwgYW5jaG9yT2Zmc2V0LCBudWxsdGhyb3dzKGZpbmRBbmNlc3Rvck9mZnNldEtleShmb2N1c05vZGUpKSwgZm9jdXNPZmZzZXQpLFxuICAgICAgbmVlZHNSZWNvdmVyeTogZmFsc2VcbiAgICB9O1xuICB9XG5cbiAgdmFyIGFuY2hvclBvaW50ID0gbnVsbDtcbiAgdmFyIGZvY3VzUG9pbnQgPSBudWxsO1xuICB2YXIgbmVlZHNSZWNvdmVyeSA9IHRydWU7IC8vIEFuIGVsZW1lbnQgaXMgc2VsZWN0ZWQuIENvbnZlcnQgdGhpcyBzZWxlY3Rpb24gcmFuZ2UgaW50byBsZWFmIG9mZnNldFxuICAvLyBrZXlzIGFuZCBvZmZzZXQgdmFsdWVzIGZvciBjb25zdW1wdGlvbiBhdCB0aGUgY29tcG9uZW50IGxldmVsLiBUaGlzXG4gIC8vIGlzIGNvbW1vbiBpbiBGaXJlZm94LCB3aGVyZSBzZWxlY3QtYWxsIGFuZCB0cmlwbGUgY2xpY2sgYmVoYXZpb3IgbGVhZHNcbiAgLy8gdG8gZW50aXJlIGVsZW1lbnRzIGJlaW5nIHNlbGVjdGVkLlxuICAvL1xuICAvLyBOb3RlIHRoYXQgd2UgdXNlIHRoZSBgbmVlZHNSZWNvdmVyeWAgcGFyYW1ldGVyIGluIHRoZSBjYWxsYmFjayBoZXJlLiBUaGlzXG4gIC8vIGlzIGJlY2F1c2Ugd2hlbiBjZXJ0YWluIGVsZW1lbnRzIGFyZSBzZWxlY3RlZCwgdGhlIGJlaGF2aW9yIGZvciBzdWJzZXF1ZW50XG4gIC8vIGN1cnNvciBtb3ZlbWVudCAoZS5nLiB2aWEgYXJyb3cga2V5cykgaXMgdW5jZXJ0YWluIGFuZCBtYXkgbm90IG1hdGNoXG4gIC8vIGV4cGVjdGF0aW9ucyBhdCB0aGUgY29tcG9uZW50IGxldmVsLiBGb3IgZXhhbXBsZSwgaWYgYW4gZW50aXJlIDxkaXY+IGlzXG4gIC8vIHNlbGVjdGVkIGFuZCB0aGUgdXNlciBwcmVzc2VzIHRoZSByaWdodCBhcnJvdywgRmlyZWZveCBrZWVwcyB0aGUgc2VsZWN0aW9uXG4gIC8vIG9uIHRoZSA8ZGl2Pi4gSWYgd2UgYWxsb3cgc3Vic2VxdWVudCBrZXlwcmVzc2VzIHRvIGluc2VydCBjaGFyYWN0ZXJzXG4gIC8vIG5hdGl2ZWx5LCB0aGV5IHdpbGwgYmUgaW5zZXJ0ZWQgaW50byBhIGJyb3dzZXItY3JlYXRlZCB0ZXh0IG5vZGUgdG8gdGhlXG4gIC8vIHJpZ2h0IG9mIHRoYXQgPGRpdj4uIFRoaXMgaXMgb2J2aW91c2x5IHVuZGVzaXJhYmxlLlxuICAvL1xuICAvLyBXaXRoIHRoZSBgbmVlZHNSZWNvdmVyeWAgZmxhZywgd2UgaW5mb3JtIHRoZSBjYWxsZXIgdGhhdCBpdCBpcyByZXNwb25zaWJsZVxuICAvLyBmb3IgbWFudWFsbHkgc2V0dGluZyB0aGUgc2VsZWN0aW9uIHN0YXRlIG9uIHRoZSByZW5kZXJlZCBkb2N1bWVudCB0b1xuICAvLyBlbnN1cmUgcHJvcGVyIHNlbGVjdGlvbiBzdGF0ZSBtYWludGVuYW5jZS5cblxuICBpZiAoYW5jaG9ySXNUZXh0Tm9kZSkge1xuICAgIGFuY2hvclBvaW50ID0ge1xuICAgICAga2V5OiBudWxsdGhyb3dzKGZpbmRBbmNlc3Rvck9mZnNldEtleShhbmNob3JOb2RlKSksXG4gICAgICBvZmZzZXQ6IGFuY2hvck9mZnNldFxuICAgIH07XG4gICAgZm9jdXNQb2ludCA9IGdldFBvaW50Rm9yTm9uVGV4dE5vZGUocm9vdCwgZm9jdXNOb2RlLCBmb2N1c09mZnNldCk7XG4gIH0gZWxzZSBpZiAoZm9jdXNJc1RleHROb2RlKSB7XG4gICAgZm9jdXNQb2ludCA9IHtcbiAgICAgIGtleTogbnVsbHRocm93cyhmaW5kQW5jZXN0b3JPZmZzZXRLZXkoZm9jdXNOb2RlKSksXG4gICAgICBvZmZzZXQ6IGZvY3VzT2Zmc2V0XG4gICAgfTtcbiAgICBhbmNob3JQb2ludCA9IGdldFBvaW50Rm9yTm9uVGV4dE5vZGUocm9vdCwgYW5jaG9yTm9kZSwgYW5jaG9yT2Zmc2V0KTtcbiAgfSBlbHNlIHtcbiAgICBhbmNob3JQb2ludCA9IGdldFBvaW50Rm9yTm9uVGV4dE5vZGUocm9vdCwgYW5jaG9yTm9kZSwgYW5jaG9yT2Zmc2V0KTtcbiAgICBmb2N1c1BvaW50ID0gZ2V0UG9pbnRGb3JOb25UZXh0Tm9kZShyb290LCBmb2N1c05vZGUsIGZvY3VzT2Zmc2V0KTsgLy8gSWYgdGhlIHNlbGVjdGlvbiBpcyBjb2xsYXBzZWQgb24gYW4gZW1wdHkgYmxvY2ssIGRvbid0IGZvcmNlIHJlY292ZXJ5LlxuICAgIC8vIFRoaXMgd2F5LCBvbiBhcnJvdyBrZXkgc2VsZWN0aW9uIGNoYW5nZXMsIHRoZSBicm93c2VyIGNhbiBtb3ZlIHRoZVxuICAgIC8vIGN1cnNvciBmcm9tIGEgbm9uLXplcm8gb2Zmc2V0IG9uIG9uZSBibG9jaywgdGhyb3VnaCBlbXB0eSBibG9ja3MsXG4gICAgLy8gdG8gYSBtYXRjaGluZyBub24temVybyBvZmZzZXQgb24gb3RoZXIgdGV4dCBibG9ja3MuXG5cbiAgICBpZiAoYW5jaG9yTm9kZSA9PT0gZm9jdXNOb2RlICYmIGFuY2hvck9mZnNldCA9PT0gZm9jdXNPZmZzZXQpIHtcbiAgICAgIG5lZWRzUmVjb3ZlcnkgPSAhIWFuY2hvck5vZGUuZmlyc3RDaGlsZCAmJiBhbmNob3JOb2RlLmZpcnN0Q2hpbGQubm9kZU5hbWUgIT09ICdCUic7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBzZWxlY3Rpb25TdGF0ZTogZ2V0VXBkYXRlZFNlbGVjdGlvblN0YXRlKGVkaXRvclN0YXRlLCBhbmNob3JQb2ludC5rZXksIGFuY2hvclBvaW50Lm9mZnNldCwgZm9jdXNQb2ludC5rZXksIGZvY3VzUG9pbnQub2Zmc2V0KSxcbiAgICBuZWVkc1JlY292ZXJ5OiBuZWVkc1JlY292ZXJ5XG4gIH07XG59XG4vKipcbiAqIElkZW50aWZ5IHRoZSBmaXJzdCBsZWFmIGRlc2NlbmRhbnQgZm9yIHRoZSBnaXZlbiBub2RlLlxuICovXG5cblxuZnVuY3Rpb24gZ2V0Rmlyc3RMZWFmKG5vZGUpIHtcbiAgd2hpbGUgKG5vZGUuZmlyc3RDaGlsZCAmJiAoIC8vIGRhdGEtYmxvY2tzIGhhcyBubyBvZmZzZXRcbiAgaXNFbGVtZW50KG5vZGUuZmlyc3RDaGlsZCkgJiYgbm9kZS5maXJzdENoaWxkLmdldEF0dHJpYnV0ZSgnZGF0YS1ibG9ja3MnKSA9PT0gJ3RydWUnIHx8IGdldFNlbGVjdGlvbk9mZnNldEtleUZvck5vZGUobm9kZS5maXJzdENoaWxkKSkpIHtcbiAgICBub2RlID0gbm9kZS5maXJzdENoaWxkO1xuICB9XG5cbiAgcmV0dXJuIG5vZGU7XG59XG4vKipcbiAqIElkZW50aWZ5IHRoZSBsYXN0IGxlYWYgZGVzY2VuZGFudCBmb3IgdGhlIGdpdmVuIG5vZGUuXG4gKi9cblxuXG5mdW5jdGlvbiBnZXRMYXN0TGVhZihub2RlKSB7XG4gIHdoaWxlIChub2RlLmxhc3RDaGlsZCAmJiAoIC8vIGRhdGEtYmxvY2tzIGhhcyBubyBvZmZzZXRcbiAgaXNFbGVtZW50KG5vZGUubGFzdENoaWxkKSAmJiBub2RlLmxhc3RDaGlsZC5nZXRBdHRyaWJ1dGUoJ2RhdGEtYmxvY2tzJykgPT09ICd0cnVlJyB8fCBnZXRTZWxlY3Rpb25PZmZzZXRLZXlGb3JOb2RlKG5vZGUubGFzdENoaWxkKSkpIHtcbiAgICBub2RlID0gbm9kZS5sYXN0Q2hpbGQ7XG4gIH1cblxuICByZXR1cm4gbm9kZTtcbn1cblxuZnVuY3Rpb24gZ2V0UG9pbnRGb3JOb25UZXh0Tm9kZShlZGl0b3JSb290LCBzdGFydE5vZGUsIGNoaWxkT2Zmc2V0KSB7XG4gIHZhciBub2RlID0gc3RhcnROb2RlO1xuICB2YXIgb2Zmc2V0S2V5ID0gZmluZEFuY2VzdG9yT2Zmc2V0S2V5KG5vZGUpO1xuICAhKG9mZnNldEtleSAhPSBudWxsIHx8IGVkaXRvclJvb3QgJiYgKGVkaXRvclJvb3QgPT09IG5vZGUgfHwgZWRpdG9yUm9vdC5maXJzdENoaWxkID09PSBub2RlKSkgPyBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIgPyBpbnZhcmlhbnQoZmFsc2UsICdVbmtub3duIG5vZGUgaW4gc2VsZWN0aW9uIHJhbmdlLicpIDogaW52YXJpYW50KGZhbHNlKSA6IHZvaWQgMDsgLy8gSWYgdGhlIGVkaXRvclJvb3QgaXMgdGhlIHNlbGVjdGlvbiwgc3RlcCBkb3dud2FyZCBpbnRvIHRoZSBjb250ZW50XG4gIC8vIHdyYXBwZXIuXG5cbiAgaWYgKGVkaXRvclJvb3QgPT09IG5vZGUpIHtcbiAgICBub2RlID0gbm9kZS5maXJzdENoaWxkO1xuICAgICFpc0VsZW1lbnQobm9kZSkgPyBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIgPyBpbnZhcmlhbnQoZmFsc2UsICdJbnZhbGlkIERyYWZ0RWRpdG9yQ29udGVudHMgbm9kZS4nKSA6IGludmFyaWFudChmYWxzZSkgOiB2b2lkIDA7XG4gICAgdmFyIGNhc3RlZE5vZGUgPSBub2RlOyAvLyBhc3NpZ25tZW50IG9ubHkgYWRkZWQgZm9yIGZsb3cgOi9cbiAgICAvLyBvdGhlcndpc2UgaXQgdGhyb3dzIGluIGxpbmUgMjAwIHNheWluZyB0aGF0IG5vZGUgY2FuIGJlIG51bGwgb3IgdW5kZWZpbmVkXG5cbiAgICBub2RlID0gY2FzdGVkTm9kZTtcbiAgICAhKG5vZGUuZ2V0QXR0cmlidXRlKCdkYXRhLWNvbnRlbnRzJykgPT09ICd0cnVlJykgPyBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIgPyBpbnZhcmlhbnQoZmFsc2UsICdJbnZhbGlkIERyYWZ0RWRpdG9yQ29udGVudHMgc3RydWN0dXJlLicpIDogaW52YXJpYW50KGZhbHNlKSA6IHZvaWQgMDtcblxuICAgIGlmIChjaGlsZE9mZnNldCA+IDApIHtcbiAgICAgIGNoaWxkT2Zmc2V0ID0gbm9kZS5jaGlsZE5vZGVzLmxlbmd0aDtcbiAgICB9XG4gIH0gLy8gSWYgdGhlIGNoaWxkIG9mZnNldCBpcyB6ZXJvIGFuZCB3ZSBoYXZlIGFuIG9mZnNldCBrZXksIHdlJ3JlIGRvbmUuXG4gIC8vIElmIHRoZXJlJ3Mgbm8gb2Zmc2V0IGtleSBiZWNhdXNlIHRoZSBlbnRpcmUgZWRpdG9yIGlzIHNlbGVjdGVkLFxuICAvLyBmaW5kIHRoZSBsZWZ0bW9zdCAoXCJmaXJzdFwiKSBsZWFmIGluIHRoZSB0cmVlIGFuZCB1c2UgdGhhdCBhcyB0aGUgb2Zmc2V0XG4gIC8vIGtleS5cblxuXG4gIGlmIChjaGlsZE9mZnNldCA9PT0gMCkge1xuICAgIHZhciBrZXkgPSBudWxsO1xuXG4gICAgaWYgKG9mZnNldEtleSAhPSBudWxsKSB7XG4gICAgICBrZXkgPSBvZmZzZXRLZXk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhciBmaXJzdExlYWYgPSBnZXRGaXJzdExlYWYobm9kZSk7XG4gICAgICBrZXkgPSBudWxsdGhyb3dzKGdldFNlbGVjdGlvbk9mZnNldEtleUZvck5vZGUoZmlyc3RMZWFmKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGtleToga2V5LFxuICAgICAgb2Zmc2V0OiAwXG4gICAgfTtcbiAgfVxuXG4gIHZhciBub2RlQmVmb3JlQ3Vyc29yID0gbm9kZS5jaGlsZE5vZGVzW2NoaWxkT2Zmc2V0IC0gMV07XG4gIHZhciBsZWFmS2V5ID0gbnVsbDtcbiAgdmFyIHRleHRMZW5ndGggPSBudWxsO1xuXG4gIGlmICghZ2V0U2VsZWN0aW9uT2Zmc2V0S2V5Rm9yTm9kZShub2RlQmVmb3JlQ3Vyc29yKSkge1xuICAgIC8vIE91ciB0YXJnZXQgbm9kZSBtYXkgYmUgYSBsZWFmIG9yIGEgdGV4dCBub2RlLCBpbiB3aGljaCBjYXNlIHdlJ3JlXG4gICAgLy8gYWxyZWFkeSB3aGVyZSB3ZSB3YW50IHRvIGJlIGFuZCBjYW4ganVzdCB1c2UgdGhlIGNoaWxkJ3MgbGVuZ3RoIGFzXG4gICAgLy8gb3VyIG9mZnNldC5cbiAgICBsZWFmS2V5ID0gbnVsbHRocm93cyhvZmZzZXRLZXkpO1xuICAgIHRleHRMZW5ndGggPSBnZXRUZXh0Q29udGVudExlbmd0aChub2RlQmVmb3JlQ3Vyc29yKTtcbiAgfSBlbHNlIHtcbiAgICAvLyBPdGhlcndpc2UsIHdlJ2xsIGxvb2sgYXQgdGhlIGNoaWxkIHRvIHRoZSBsZWZ0IG9mIHRoZSBjdXJzb3IgYW5kIGZpbmRcbiAgICAvLyB0aGUgbGFzdCBsZWFmIG5vZGUgaW4gaXRzIHN1YnRyZWUuXG4gICAgdmFyIGxhc3RMZWFmID0gZ2V0TGFzdExlYWYobm9kZUJlZm9yZUN1cnNvcik7XG4gICAgbGVhZktleSA9IG51bGx0aHJvd3MoZ2V0U2VsZWN0aW9uT2Zmc2V0S2V5Rm9yTm9kZShsYXN0TGVhZikpO1xuICAgIHRleHRMZW5ndGggPSBnZXRUZXh0Q29udGVudExlbmd0aChsYXN0TGVhZik7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGtleTogbGVhZktleSxcbiAgICBvZmZzZXQ6IHRleHRMZW5ndGhcbiAgfTtcbn1cbi8qKlxuICogUmV0dXJuIHRoZSBsZW5ndGggb2YgYSBub2RlJ3MgdGV4dENvbnRlbnQsIHJlZ2FyZGluZyBzaW5nbGUgbmV3bGluZVxuICogY2hhcmFjdGVycyBhcyB6ZXJvLWxlbmd0aC4gVGhpcyBhbGxvd3MgdXMgdG8gYXZvaWQgcHJvYmxlbXMgd2l0aCBpZGVudGlmeWluZ1xuICogdGhlIGNvcnJlY3Qgc2VsZWN0aW9uIG9mZnNldCBmb3IgZW1wdHkgYmxvY2tzIGluIElFLCBpbiB3aGljaCB3ZVxuICogcmVuZGVyIG5ld2xpbmVzIGluc3RlYWQgb2YgYnJlYWsgdGFncy5cbiAqL1xuXG5cbmZ1bmN0aW9uIGdldFRleHRDb250ZW50TGVuZ3RoKG5vZGUpIHtcbiAgdmFyIHRleHRDb250ZW50ID0gbm9kZS50ZXh0Q29udGVudDtcbiAgcmV0dXJuIHRleHRDb250ZW50ID09PSAnXFxuJyA/IDAgOiB0ZXh0Q29udGVudC5sZW5ndGg7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gZ2V0RHJhZnRFZGl0b3JTZWxlY3Rpb25XaXRoTm9kZXM7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/getDraftEditorSelectionWithNodes.js\n"); /***/ }), @@ -883,7 +1002,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule getEntityKeyForSelection\n * @format\n * \n */\n\n\n\n/**\n * Return the entity key that should be used when inserting text for the\n * specified target selection, only if the entity is `MUTABLE`. `IMMUTABLE`\n * and `SEGMENTED` entities should not be used for insertion behavior.\n */\nfunction getEntityKeyForSelection(contentState, targetSelection) {\n var entityKey;\n\n if (targetSelection.isCollapsed()) {\n var key = targetSelection.getAnchorKey();\n var offset = targetSelection.getAnchorOffset();\n if (offset > 0) {\n entityKey = contentState.getBlockForKey(key).getEntityAt(offset - 1);\n if (entityKey !== contentState.getBlockForKey(key).getEntityAt(offset)) {\n return null;\n }\n return filterKey(contentState.getEntityMap(), entityKey);\n }\n return null;\n }\n\n var startKey = targetSelection.getStartKey();\n var startOffset = targetSelection.getStartOffset();\n var startBlock = contentState.getBlockForKey(startKey);\n\n entityKey = startOffset === startBlock.getLength() ? null : startBlock.getEntityAt(startOffset);\n\n return filterKey(contentState.getEntityMap(), entityKey);\n}\n\n/**\n * Determine whether an entity key corresponds to a `MUTABLE` entity. If so,\n * return it. If not, return null.\n */\nfunction filterKey(entityMap, entityKey) {\n if (entityKey) {\n var entity = entityMap.__get(entityKey);\n return entity.getMutability() === 'MUTABLE' ? entityKey : null;\n }\n return null;\n}\n\nmodule.exports = getEntityKeyForSelection;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2dldEVudGl0eUtleUZvclNlbGVjdGlvbi5qcz84NjkzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFYTs7QUFFYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvZ2V0RW50aXR5S2V5Rm9yU2VsZWN0aW9uLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQlNELXN0eWxlIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuIEFuIGFkZGl0aW9uYWwgZ3JhbnRcbiAqIG9mIHBhdGVudCByaWdodHMgY2FuIGJlIGZvdW5kIGluIHRoZSBQQVRFTlRTIGZpbGUgaW4gdGhlIHNhbWUgZGlyZWN0b3J5LlxuICpcbiAqIEBwcm92aWRlc01vZHVsZSBnZXRFbnRpdHlLZXlGb3JTZWxlY3Rpb25cbiAqIEBmb3JtYXRcbiAqIFxuICovXG5cbid1c2Ugc3RyaWN0JztcblxuLyoqXG4gKiBSZXR1cm4gdGhlIGVudGl0eSBrZXkgdGhhdCBzaG91bGQgYmUgdXNlZCB3aGVuIGluc2VydGluZyB0ZXh0IGZvciB0aGVcbiAqIHNwZWNpZmllZCB0YXJnZXQgc2VsZWN0aW9uLCBvbmx5IGlmIHRoZSBlbnRpdHkgaXMgYE1VVEFCTEVgLiBgSU1NVVRBQkxFYFxuICogYW5kIGBTRUdNRU5URURgIGVudGl0aWVzIHNob3VsZCBub3QgYmUgdXNlZCBmb3IgaW5zZXJ0aW9uIGJlaGF2aW9yLlxuICovXG5mdW5jdGlvbiBnZXRFbnRpdHlLZXlGb3JTZWxlY3Rpb24oY29udGVudFN0YXRlLCB0YXJnZXRTZWxlY3Rpb24pIHtcbiAgdmFyIGVudGl0eUtleTtcblxuICBpZiAodGFyZ2V0U2VsZWN0aW9uLmlzQ29sbGFwc2VkKCkpIHtcbiAgICB2YXIga2V5ID0gdGFyZ2V0U2VsZWN0aW9uLmdldEFuY2hvcktleSgpO1xuICAgIHZhciBvZmZzZXQgPSB0YXJnZXRTZWxlY3Rpb24uZ2V0QW5jaG9yT2Zmc2V0KCk7XG4gICAgaWYgKG9mZnNldCA+IDApIHtcbiAgICAgIGVudGl0eUtleSA9IGNvbnRlbnRTdGF0ZS5nZXRCbG9ja0ZvcktleShrZXkpLmdldEVudGl0eUF0KG9mZnNldCAtIDEpO1xuICAgICAgaWYgKGVudGl0eUtleSAhPT0gY29udGVudFN0YXRlLmdldEJsb2NrRm9yS2V5KGtleSkuZ2V0RW50aXR5QXQob2Zmc2V0KSkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBmaWx0ZXJLZXkoY29udGVudFN0YXRlLmdldEVudGl0eU1hcCgpLCBlbnRpdHlLZXkpO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHZhciBzdGFydEtleSA9IHRhcmdldFNlbGVjdGlvbi5nZXRTdGFydEtleSgpO1xuICB2YXIgc3RhcnRPZmZzZXQgPSB0YXJnZXRTZWxlY3Rpb24uZ2V0U3RhcnRPZmZzZXQoKTtcbiAgdmFyIHN0YXJ0QmxvY2sgPSBjb250ZW50U3RhdGUuZ2V0QmxvY2tGb3JLZXkoc3RhcnRLZXkpO1xuXG4gIGVudGl0eUtleSA9IHN0YXJ0T2Zmc2V0ID09PSBzdGFydEJsb2NrLmdldExlbmd0aCgpID8gbnVsbCA6IHN0YXJ0QmxvY2suZ2V0RW50aXR5QXQoc3RhcnRPZmZzZXQpO1xuXG4gIHJldHVybiBmaWx0ZXJLZXkoY29udGVudFN0YXRlLmdldEVudGl0eU1hcCgpLCBlbnRpdHlLZXkpO1xufVxuXG4vKipcbiAqIERldGVybWluZSB3aGV0aGVyIGFuIGVudGl0eSBrZXkgY29ycmVzcG9uZHMgdG8gYSBgTVVUQUJMRWAgZW50aXR5LiBJZiBzbyxcbiAqIHJldHVybiBpdC4gSWYgbm90LCByZXR1cm4gbnVsbC5cbiAqL1xuZnVuY3Rpb24gZmlsdGVyS2V5KGVudGl0eU1hcCwgZW50aXR5S2V5KSB7XG4gIGlmIChlbnRpdHlLZXkpIHtcbiAgICB2YXIgZW50aXR5ID0gZW50aXR5TWFwLl9fZ2V0KGVudGl0eUtleSk7XG4gICAgcmV0dXJuIGVudGl0eS5nZXRNdXRhYmlsaXR5KCkgPT09ICdNVVRBQkxFJyA/IGVudGl0eUtleSA6IG51bGw7XG4gIH1cbiAgcmV0dXJuIG51bGw7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gZ2V0RW50aXR5S2V5Rm9yU2VsZWN0aW9uOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/getEntityKeyForSelection.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nvar _require = __webpack_require__(/*! ./draftKeyUtils */ \"./node_modules/draft-js/lib/draftKeyUtils.js\"),\n notEmptyKey = _require.notEmptyKey;\n/**\n * Return the entity key that should be used when inserting text for the\n * specified target selection, only if the entity is `MUTABLE`. `IMMUTABLE`\n * and `SEGMENTED` entities should not be used for insertion behavior.\n */\n\n\nfunction getEntityKeyForSelection(contentState, targetSelection) {\n var entityKey;\n\n if (targetSelection.isCollapsed()) {\n var key = targetSelection.getAnchorKey();\n var offset = targetSelection.getAnchorOffset();\n\n if (offset > 0) {\n entityKey = contentState.getBlockForKey(key).getEntityAt(offset - 1);\n\n if (entityKey !== contentState.getBlockForKey(key).getEntityAt(offset)) {\n return null;\n }\n\n return filterKey(contentState.getEntityMap(), entityKey);\n }\n\n return null;\n }\n\n var startKey = targetSelection.getStartKey();\n var startOffset = targetSelection.getStartOffset();\n var startBlock = contentState.getBlockForKey(startKey);\n entityKey = startOffset === startBlock.getLength() ? null : startBlock.getEntityAt(startOffset);\n return filterKey(contentState.getEntityMap(), entityKey);\n}\n/**\n * Determine whether an entity key corresponds to a `MUTABLE` entity. If so,\n * return it. If not, return null.\n */\n\n\nfunction filterKey(entityMap, entityKey) {\n if (notEmptyKey(entityKey)) {\n var entity = entityMap.__get(entityKey);\n\n return entity.getMutability() === 'MUTABLE' ? entityKey : null;\n }\n\n return null;\n}\n\nmodule.exports = getEntityKeyForSelection;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2dldEVudGl0eUtleUZvclNlbGVjdGlvbi5qcz84NjkzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ2E7O0FBRWIsZUFBZSxtQkFBTyxDQUFDLHFFQUFpQjtBQUN4QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvZ2V0RW50aXR5S2V5Rm9yU2VsZWN0aW9uLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIEZhY2Vib29rLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKiBAZm9ybWF0XG4gKiBcbiAqIEBlbWFpbHMgb25jYWxsK2RyYWZ0X2pzXG4gKi9cbid1c2Ugc3RyaWN0JztcblxudmFyIF9yZXF1aXJlID0gcmVxdWlyZShcIi4vZHJhZnRLZXlVdGlsc1wiKSxcbiAgICBub3RFbXB0eUtleSA9IF9yZXF1aXJlLm5vdEVtcHR5S2V5O1xuLyoqXG4gKiBSZXR1cm4gdGhlIGVudGl0eSBrZXkgdGhhdCBzaG91bGQgYmUgdXNlZCB3aGVuIGluc2VydGluZyB0ZXh0IGZvciB0aGVcbiAqIHNwZWNpZmllZCB0YXJnZXQgc2VsZWN0aW9uLCBvbmx5IGlmIHRoZSBlbnRpdHkgaXMgYE1VVEFCTEVgLiBgSU1NVVRBQkxFYFxuICogYW5kIGBTRUdNRU5URURgIGVudGl0aWVzIHNob3VsZCBub3QgYmUgdXNlZCBmb3IgaW5zZXJ0aW9uIGJlaGF2aW9yLlxuICovXG5cblxuZnVuY3Rpb24gZ2V0RW50aXR5S2V5Rm9yU2VsZWN0aW9uKGNvbnRlbnRTdGF0ZSwgdGFyZ2V0U2VsZWN0aW9uKSB7XG4gIHZhciBlbnRpdHlLZXk7XG5cbiAgaWYgKHRhcmdldFNlbGVjdGlvbi5pc0NvbGxhcHNlZCgpKSB7XG4gICAgdmFyIGtleSA9IHRhcmdldFNlbGVjdGlvbi5nZXRBbmNob3JLZXkoKTtcbiAgICB2YXIgb2Zmc2V0ID0gdGFyZ2V0U2VsZWN0aW9uLmdldEFuY2hvck9mZnNldCgpO1xuXG4gICAgaWYgKG9mZnNldCA+IDApIHtcbiAgICAgIGVudGl0eUtleSA9IGNvbnRlbnRTdGF0ZS5nZXRCbG9ja0ZvcktleShrZXkpLmdldEVudGl0eUF0KG9mZnNldCAtIDEpO1xuXG4gICAgICBpZiAoZW50aXR5S2V5ICE9PSBjb250ZW50U3RhdGUuZ2V0QmxvY2tGb3JLZXkoa2V5KS5nZXRFbnRpdHlBdChvZmZzZXQpKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZmlsdGVyS2V5KGNvbnRlbnRTdGF0ZS5nZXRFbnRpdHlNYXAoKSwgZW50aXR5S2V5KTtcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHZhciBzdGFydEtleSA9IHRhcmdldFNlbGVjdGlvbi5nZXRTdGFydEtleSgpO1xuICB2YXIgc3RhcnRPZmZzZXQgPSB0YXJnZXRTZWxlY3Rpb24uZ2V0U3RhcnRPZmZzZXQoKTtcbiAgdmFyIHN0YXJ0QmxvY2sgPSBjb250ZW50U3RhdGUuZ2V0QmxvY2tGb3JLZXkoc3RhcnRLZXkpO1xuICBlbnRpdHlLZXkgPSBzdGFydE9mZnNldCA9PT0gc3RhcnRCbG9jay5nZXRMZW5ndGgoKSA/IG51bGwgOiBzdGFydEJsb2NrLmdldEVudGl0eUF0KHN0YXJ0T2Zmc2V0KTtcbiAgcmV0dXJuIGZpbHRlcktleShjb250ZW50U3RhdGUuZ2V0RW50aXR5TWFwKCksIGVudGl0eUtleSk7XG59XG4vKipcbiAqIERldGVybWluZSB3aGV0aGVyIGFuIGVudGl0eSBrZXkgY29ycmVzcG9uZHMgdG8gYSBgTVVUQUJMRWAgZW50aXR5LiBJZiBzbyxcbiAqIHJldHVybiBpdC4gSWYgbm90LCByZXR1cm4gbnVsbC5cbiAqL1xuXG5cbmZ1bmN0aW9uIGZpbHRlcktleShlbnRpdHlNYXAsIGVudGl0eUtleSkge1xuICBpZiAobm90RW1wdHlLZXkoZW50aXR5S2V5KSkge1xuICAgIHZhciBlbnRpdHkgPSBlbnRpdHlNYXAuX19nZXQoZW50aXR5S2V5KTtcblxuICAgIHJldHVybiBlbnRpdHkuZ2V0TXV0YWJpbGl0eSgpID09PSAnTVVUQUJMRScgPyBlbnRpdHlLZXkgOiBudWxsO1xuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gZ2V0RW50aXR5S2V5Rm9yU2VsZWN0aW9uOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/getEntityKeyForSelection.js\n"); /***/ }), @@ -895,7 +1014,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule getFragmentFromSelection\n * @format\n * \n */\n\n\n\nvar getContentStateFragment = __webpack_require__(/*! ./getContentStateFragment */ \"./node_modules/draft-js/lib/getContentStateFragment.js\");\n\nfunction getFragmentFromSelection(editorState) {\n var selectionState = editorState.getSelection();\n\n if (selectionState.isCollapsed()) {\n return null;\n }\n\n return getContentStateFragment(editorState.getCurrentContent(), selectionState);\n}\n\nmodule.exports = getFragmentFromSelection;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2dldEZyYWdtZW50RnJvbVNlbGVjdGlvbi5qcz84NzIwIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFYTs7QUFFYiw4QkFBOEIsbUJBQU8sQ0FBQyx5RkFBMkI7O0FBRWpFO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2dldEZyYWdtZW50RnJvbVNlbGVjdGlvbi5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXG4gKiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEJTRC1zdHlsZSBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLiBBbiBhZGRpdGlvbmFsIGdyYW50XG4gKiBvZiBwYXRlbnQgcmlnaHRzIGNhbiBiZSBmb3VuZCBpbiB0aGUgUEFURU5UUyBmaWxlIGluIHRoZSBzYW1lIGRpcmVjdG9yeS5cbiAqXG4gKiBAcHJvdmlkZXNNb2R1bGUgZ2V0RnJhZ21lbnRGcm9tU2VsZWN0aW9uXG4gKiBAZm9ybWF0XG4gKiBcbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbnZhciBnZXRDb250ZW50U3RhdGVGcmFnbWVudCA9IHJlcXVpcmUoJy4vZ2V0Q29udGVudFN0YXRlRnJhZ21lbnQnKTtcblxuZnVuY3Rpb24gZ2V0RnJhZ21lbnRGcm9tU2VsZWN0aW9uKGVkaXRvclN0YXRlKSB7XG4gIHZhciBzZWxlY3Rpb25TdGF0ZSA9IGVkaXRvclN0YXRlLmdldFNlbGVjdGlvbigpO1xuXG4gIGlmIChzZWxlY3Rpb25TdGF0ZS5pc0NvbGxhcHNlZCgpKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICByZXR1cm4gZ2V0Q29udGVudFN0YXRlRnJhZ21lbnQoZWRpdG9yU3RhdGUuZ2V0Q3VycmVudENvbnRlbnQoKSwgc2VsZWN0aW9uU3RhdGUpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGdldEZyYWdtZW50RnJvbVNlbGVjdGlvbjsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/getFragmentFromSelection.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nvar getContentStateFragment = __webpack_require__(/*! ./getContentStateFragment */ \"./node_modules/draft-js/lib/getContentStateFragment.js\");\n\nfunction getFragmentFromSelection(editorState) {\n var selectionState = editorState.getSelection();\n\n if (selectionState.isCollapsed()) {\n return null;\n }\n\n return getContentStateFragment(editorState.getCurrentContent(), selectionState);\n}\n\nmodule.exports = getFragmentFromSelection;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2dldEZyYWdtZW50RnJvbVNlbGVjdGlvbi5qcz84NzIwIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ2E7O0FBRWIsOEJBQThCLG1CQUFPLENBQUMseUZBQTJCOztBQUVqRTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2RyYWZ0LWpzL2xpYi9nZXRGcmFnbWVudEZyb21TZWxlY3Rpb24uanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgRmFjZWJvb2ssIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIEBmb3JtYXRcbiAqIFxuICogQGVtYWlscyBvbmNhbGwrZHJhZnRfanNcbiAqL1xuJ3VzZSBzdHJpY3QnO1xuXG52YXIgZ2V0Q29udGVudFN0YXRlRnJhZ21lbnQgPSByZXF1aXJlKFwiLi9nZXRDb250ZW50U3RhdGVGcmFnbWVudFwiKTtcblxuZnVuY3Rpb24gZ2V0RnJhZ21lbnRGcm9tU2VsZWN0aW9uKGVkaXRvclN0YXRlKSB7XG4gIHZhciBzZWxlY3Rpb25TdGF0ZSA9IGVkaXRvclN0YXRlLmdldFNlbGVjdGlvbigpO1xuXG4gIGlmIChzZWxlY3Rpb25TdGF0ZS5pc0NvbGxhcHNlZCgpKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICByZXR1cm4gZ2V0Q29udGVudFN0YXRlRnJhZ21lbnQoZWRpdG9yU3RhdGUuZ2V0Q3VycmVudENvbnRlbnQoKSwgc2VsZWN0aW9uU3RhdGUpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGdldEZyYWdtZW50RnJvbVNlbGVjdGlvbjsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/getFragmentFromSelection.js\n"); /***/ }), @@ -907,7 +1026,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule getNextDelimiterBlockKey\n * @format\n * \n *\n * This is unstable and not part of the public API and should not be used by\n * production systems. This file may be update/removed without notice.\n */\n\nvar ContentBlockNode = __webpack_require__(/*! ./ContentBlockNode */ \"./node_modules/draft-js/lib/ContentBlockNode.js\");\n\nvar getNextDelimiterBlockKey = function getNextDelimiterBlockKey(block, blockMap) {\n var isExperimentalTreeBlock = block instanceof ContentBlockNode;\n\n if (!isExperimentalTreeBlock) {\n return null;\n }\n\n var nextSiblingKey = block.getNextSiblingKey();\n\n if (nextSiblingKey) {\n return nextSiblingKey;\n }\n\n var parent = block.getParentKey();\n\n if (!parent) {\n return null;\n }\n\n var nextNonDescendantBlock = blockMap.get(parent);\n while (nextNonDescendantBlock && !nextNonDescendantBlock.getNextSiblingKey()) {\n var parentKey = nextNonDescendantBlock.getParentKey();\n nextNonDescendantBlock = parentKey ? blockMap.get(parentKey) : null;\n }\n\n if (!nextNonDescendantBlock) {\n return null;\n }\n\n return nextNonDescendantBlock.getNextSiblingKey();\n};\n\nmodule.exports = getNextDelimiterBlockKey;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2dldE5leHREZWxpbWl0ZXJCbG9ja0tleS5qcz81NTMwIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFhOztBQUViO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSx1QkFBdUIsbUJBQU8sQ0FBQywyRUFBb0I7O0FBRW5EO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvZ2V0TmV4dERlbGltaXRlckJsb2NrS2V5LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG4vKipcbiAqIENvcHlyaWdodCAoYykgMjAxMy1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuICogQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBCU0Qtc3R5bGUgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS4gQW4gYWRkaXRpb25hbCBncmFudFxuICogb2YgcGF0ZW50IHJpZ2h0cyBjYW4gYmUgZm91bmQgaW4gdGhlIFBBVEVOVFMgZmlsZSBpbiB0aGUgc2FtZSBkaXJlY3RvcnkuXG4gKlxuICogQHByb3ZpZGVzTW9kdWxlIGdldE5leHREZWxpbWl0ZXJCbG9ja0tleVxuICogQGZvcm1hdFxuICogXG4gKlxuICogVGhpcyBpcyB1bnN0YWJsZSBhbmQgbm90IHBhcnQgb2YgdGhlIHB1YmxpYyBBUEkgYW5kIHNob3VsZCBub3QgYmUgdXNlZCBieVxuICogcHJvZHVjdGlvbiBzeXN0ZW1zLiBUaGlzIGZpbGUgbWF5IGJlIHVwZGF0ZS9yZW1vdmVkIHdpdGhvdXQgbm90aWNlLlxuICovXG5cbnZhciBDb250ZW50QmxvY2tOb2RlID0gcmVxdWlyZSgnLi9Db250ZW50QmxvY2tOb2RlJyk7XG5cbnZhciBnZXROZXh0RGVsaW1pdGVyQmxvY2tLZXkgPSBmdW5jdGlvbiBnZXROZXh0RGVsaW1pdGVyQmxvY2tLZXkoYmxvY2ssIGJsb2NrTWFwKSB7XG4gIHZhciBpc0V4cGVyaW1lbnRhbFRyZWVCbG9jayA9IGJsb2NrIGluc3RhbmNlb2YgQ29udGVudEJsb2NrTm9kZTtcblxuICBpZiAoIWlzRXhwZXJpbWVudGFsVHJlZUJsb2NrKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICB2YXIgbmV4dFNpYmxpbmdLZXkgPSBibG9jay5nZXROZXh0U2libGluZ0tleSgpO1xuXG4gIGlmIChuZXh0U2libGluZ0tleSkge1xuICAgIHJldHVybiBuZXh0U2libGluZ0tleTtcbiAgfVxuXG4gIHZhciBwYXJlbnQgPSBibG9jay5nZXRQYXJlbnRLZXkoKTtcblxuICBpZiAoIXBhcmVudCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgdmFyIG5leHROb25EZXNjZW5kYW50QmxvY2sgPSBibG9ja01hcC5nZXQocGFyZW50KTtcbiAgd2hpbGUgKG5leHROb25EZXNjZW5kYW50QmxvY2sgJiYgIW5leHROb25EZXNjZW5kYW50QmxvY2suZ2V0TmV4dFNpYmxpbmdLZXkoKSkge1xuICAgIHZhciBwYXJlbnRLZXkgPSBuZXh0Tm9uRGVzY2VuZGFudEJsb2NrLmdldFBhcmVudEtleSgpO1xuICAgIG5leHROb25EZXNjZW5kYW50QmxvY2sgPSBwYXJlbnRLZXkgPyBibG9ja01hcC5nZXQocGFyZW50S2V5KSA6IG51bGw7XG4gIH1cblxuICBpZiAoIW5leHROb25EZXNjZW5kYW50QmxvY2spIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiBuZXh0Tm9uRGVzY2VuZGFudEJsb2NrLmdldE5leHRTaWJsaW5nS2V5KCk7XG59O1xuXG5tb2R1bGUuZXhwb3J0cyA9IGdldE5leHREZWxpbWl0ZXJCbG9ja0tleTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/getNextDelimiterBlockKey.js\n"); +eval("\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n *\n * This is unstable and not part of the public API and should not be used by\n * production systems. This file may be update/removed without notice.\n */\nvar ContentBlockNode = __webpack_require__(/*! ./ContentBlockNode */ \"./node_modules/draft-js/lib/ContentBlockNode.js\");\n\nvar getNextDelimiterBlockKey = function getNextDelimiterBlockKey(block, blockMap) {\n var isExperimentalTreeBlock = block instanceof ContentBlockNode;\n\n if (!isExperimentalTreeBlock) {\n return null;\n }\n\n var nextSiblingKey = block.getNextSiblingKey();\n\n if (nextSiblingKey) {\n return nextSiblingKey;\n }\n\n var parent = block.getParentKey();\n\n if (!parent) {\n return null;\n }\n\n var nextNonDescendantBlock = blockMap.get(parent);\n\n while (nextNonDescendantBlock && !nextNonDescendantBlock.getNextSiblingKey()) {\n var parentKey = nextNonDescendantBlock.getParentKey();\n nextNonDescendantBlock = parentKey ? blockMap.get(parentKey) : null;\n }\n\n if (!nextNonDescendantBlock) {\n return null;\n }\n\n return nextNonDescendantBlock.getNextSiblingKey();\n};\n\nmodule.exports = getNextDelimiterBlockKey;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2dldE5leHREZWxpbWl0ZXJCbG9ja0tleS5qcz81NTMwIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFhOztBQUViO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCLG1CQUFPLENBQUMsMkVBQW9COztBQUVuRDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2RyYWZ0LWpzL2xpYi9nZXROZXh0RGVsaW1pdGVyQmxvY2tLZXkuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuLyoqXG4gKiBDb3B5cmlnaHQgKGMpIEZhY2Vib29rLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKiBAZm9ybWF0XG4gKiBcbiAqIEBlbWFpbHMgb25jYWxsK2RyYWZ0X2pzXG4gKlxuICogVGhpcyBpcyB1bnN0YWJsZSBhbmQgbm90IHBhcnQgb2YgdGhlIHB1YmxpYyBBUEkgYW5kIHNob3VsZCBub3QgYmUgdXNlZCBieVxuICogcHJvZHVjdGlvbiBzeXN0ZW1zLiBUaGlzIGZpbGUgbWF5IGJlIHVwZGF0ZS9yZW1vdmVkIHdpdGhvdXQgbm90aWNlLlxuICovXG52YXIgQ29udGVudEJsb2NrTm9kZSA9IHJlcXVpcmUoXCIuL0NvbnRlbnRCbG9ja05vZGVcIik7XG5cbnZhciBnZXROZXh0RGVsaW1pdGVyQmxvY2tLZXkgPSBmdW5jdGlvbiBnZXROZXh0RGVsaW1pdGVyQmxvY2tLZXkoYmxvY2ssIGJsb2NrTWFwKSB7XG4gIHZhciBpc0V4cGVyaW1lbnRhbFRyZWVCbG9jayA9IGJsb2NrIGluc3RhbmNlb2YgQ29udGVudEJsb2NrTm9kZTtcblxuICBpZiAoIWlzRXhwZXJpbWVudGFsVHJlZUJsb2NrKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICB2YXIgbmV4dFNpYmxpbmdLZXkgPSBibG9jay5nZXROZXh0U2libGluZ0tleSgpO1xuXG4gIGlmIChuZXh0U2libGluZ0tleSkge1xuICAgIHJldHVybiBuZXh0U2libGluZ0tleTtcbiAgfVxuXG4gIHZhciBwYXJlbnQgPSBibG9jay5nZXRQYXJlbnRLZXkoKTtcblxuICBpZiAoIXBhcmVudCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgdmFyIG5leHROb25EZXNjZW5kYW50QmxvY2sgPSBibG9ja01hcC5nZXQocGFyZW50KTtcblxuICB3aGlsZSAobmV4dE5vbkRlc2NlbmRhbnRCbG9jayAmJiAhbmV4dE5vbkRlc2NlbmRhbnRCbG9jay5nZXROZXh0U2libGluZ0tleSgpKSB7XG4gICAgdmFyIHBhcmVudEtleSA9IG5leHROb25EZXNjZW5kYW50QmxvY2suZ2V0UGFyZW50S2V5KCk7XG4gICAgbmV4dE5vbkRlc2NlbmRhbnRCbG9jayA9IHBhcmVudEtleSA/IGJsb2NrTWFwLmdldChwYXJlbnRLZXkpIDogbnVsbDtcbiAgfVxuXG4gIGlmICghbmV4dE5vbkRlc2NlbmRhbnRCbG9jaykge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcmV0dXJuIG5leHROb25EZXNjZW5kYW50QmxvY2suZ2V0TmV4dFNpYmxpbmdLZXkoKTtcbn07XG5cbm1vZHVsZS5leHBvcnRzID0gZ2V0TmV4dERlbGltaXRlckJsb2NrS2V5OyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/getNextDelimiterBlockKey.js\n"); /***/ }), @@ -919,7 +1038,7 @@ eval("\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights rese /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule getRangeBoundingClientRect\n * @format\n * \n */\n\n\n\nvar getRangeClientRects = __webpack_require__(/*! ./getRangeClientRects */ \"./node_modules/draft-js/lib/getRangeClientRects.js\");\n\n/**\n * Like range.getBoundingClientRect() but normalizes for browser bugs.\n */\nfunction getRangeBoundingClientRect(range) {\n // \"Return a DOMRect object describing the smallest rectangle that includes\n // the first rectangle in list and all of the remaining rectangles of which\n // the height or width is not zero.\"\n // http://www.w3.org/TR/cssom-view/#dom-range-getboundingclientrect\n var rects = getRangeClientRects(range);\n var top = 0;\n var right = 0;\n var bottom = 0;\n var left = 0;\n\n if (rects.length) {\n // If the first rectangle has 0 width, we use the second, this is needed\n // because Chrome renders a 0 width rectangle when the selection contains\n // a line break.\n if (rects.length > 1 && rects[0].width === 0) {\n var _rects$ = rects[1];\n top = _rects$.top;\n right = _rects$.right;\n bottom = _rects$.bottom;\n left = _rects$.left;\n } else {\n var _rects$2 = rects[0];\n top = _rects$2.top;\n right = _rects$2.right;\n bottom = _rects$2.bottom;\n left = _rects$2.left;\n }\n\n for (var ii = 1; ii < rects.length; ii++) {\n var rect = rects[ii];\n if (rect.height !== 0 && rect.width !== 0) {\n top = Math.min(top, rect.top);\n right = Math.max(right, rect.right);\n bottom = Math.max(bottom, rect.bottom);\n left = Math.min(left, rect.left);\n }\n }\n }\n\n return {\n top: top,\n right: right,\n bottom: bottom,\n left: left,\n width: right - left,\n height: bottom - top\n };\n}\n\nmodule.exports = getRangeBoundingClientRect;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2dldFJhbmdlQm91bmRpbmdDbGllbnRSZWN0LmpzP2NlNTYiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVhOztBQUViLDBCQUEwQixtQkFBTyxDQUFDLGlGQUF1Qjs7QUFFekQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLG9CQUFvQixtQkFBbUI7QUFDdkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvZ2V0UmFuZ2VCb3VuZGluZ0NsaWVudFJlY3QuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxMy1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuICogQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBCU0Qtc3R5bGUgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS4gQW4gYWRkaXRpb25hbCBncmFudFxuICogb2YgcGF0ZW50IHJpZ2h0cyBjYW4gYmUgZm91bmQgaW4gdGhlIFBBVEVOVFMgZmlsZSBpbiB0aGUgc2FtZSBkaXJlY3RvcnkuXG4gKlxuICogQHByb3ZpZGVzTW9kdWxlIGdldFJhbmdlQm91bmRpbmdDbGllbnRSZWN0XG4gKiBAZm9ybWF0XG4gKiBcbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbnZhciBnZXRSYW5nZUNsaWVudFJlY3RzID0gcmVxdWlyZSgnLi9nZXRSYW5nZUNsaWVudFJlY3RzJyk7XG5cbi8qKlxuICogTGlrZSByYW5nZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSBidXQgbm9ybWFsaXplcyBmb3IgYnJvd3NlciBidWdzLlxuICovXG5mdW5jdGlvbiBnZXRSYW5nZUJvdW5kaW5nQ2xpZW50UmVjdChyYW5nZSkge1xuICAvLyBcIlJldHVybiBhIERPTVJlY3Qgb2JqZWN0IGRlc2NyaWJpbmcgdGhlIHNtYWxsZXN0IHJlY3RhbmdsZSB0aGF0IGluY2x1ZGVzXG4gIC8vIHRoZSBmaXJzdCByZWN0YW5nbGUgaW4gbGlzdCBhbmQgYWxsIG9mIHRoZSByZW1haW5pbmcgcmVjdGFuZ2xlcyBvZiB3aGljaFxuICAvLyB0aGUgaGVpZ2h0IG9yIHdpZHRoIGlzIG5vdCB6ZXJvLlwiXG4gIC8vIGh0dHA6Ly93d3cudzMub3JnL1RSL2Nzc29tLXZpZXcvI2RvbS1yYW5nZS1nZXRib3VuZGluZ2NsaWVudHJlY3RcbiAgdmFyIHJlY3RzID0gZ2V0UmFuZ2VDbGllbnRSZWN0cyhyYW5nZSk7XG4gIHZhciB0b3AgPSAwO1xuICB2YXIgcmlnaHQgPSAwO1xuICB2YXIgYm90dG9tID0gMDtcbiAgdmFyIGxlZnQgPSAwO1xuXG4gIGlmIChyZWN0cy5sZW5ndGgpIHtcbiAgICAvLyBJZiB0aGUgZmlyc3QgcmVjdGFuZ2xlIGhhcyAwIHdpZHRoLCB3ZSB1c2UgdGhlIHNlY29uZCwgdGhpcyBpcyBuZWVkZWRcbiAgICAvLyBiZWNhdXNlIENocm9tZSByZW5kZXJzIGEgMCB3aWR0aCByZWN0YW5nbGUgd2hlbiB0aGUgc2VsZWN0aW9uIGNvbnRhaW5zXG4gICAgLy8gYSBsaW5lIGJyZWFrLlxuICAgIGlmIChyZWN0cy5sZW5ndGggPiAxICYmIHJlY3RzWzBdLndpZHRoID09PSAwKSB7XG4gICAgICB2YXIgX3JlY3RzJCA9IHJlY3RzWzFdO1xuICAgICAgdG9wID0gX3JlY3RzJC50b3A7XG4gICAgICByaWdodCA9IF9yZWN0cyQucmlnaHQ7XG4gICAgICBib3R0b20gPSBfcmVjdHMkLmJvdHRvbTtcbiAgICAgIGxlZnQgPSBfcmVjdHMkLmxlZnQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhciBfcmVjdHMkMiA9IHJlY3RzWzBdO1xuICAgICAgdG9wID0gX3JlY3RzJDIudG9wO1xuICAgICAgcmlnaHQgPSBfcmVjdHMkMi5yaWdodDtcbiAgICAgIGJvdHRvbSA9IF9yZWN0cyQyLmJvdHRvbTtcbiAgICAgIGxlZnQgPSBfcmVjdHMkMi5sZWZ0O1xuICAgIH1cblxuICAgIGZvciAodmFyIGlpID0gMTsgaWkgPCByZWN0cy5sZW5ndGg7IGlpKyspIHtcbiAgICAgIHZhciByZWN0ID0gcmVjdHNbaWldO1xuICAgICAgaWYgKHJlY3QuaGVpZ2h0ICE9PSAwICYmIHJlY3Qud2lkdGggIT09IDApIHtcbiAgICAgICAgdG9wID0gTWF0aC5taW4odG9wLCByZWN0LnRvcCk7XG4gICAgICAgIHJpZ2h0ID0gTWF0aC5tYXgocmlnaHQsIHJlY3QucmlnaHQpO1xuICAgICAgICBib3R0b20gPSBNYXRoLm1heChib3R0b20sIHJlY3QuYm90dG9tKTtcbiAgICAgICAgbGVmdCA9IE1hdGgubWluKGxlZnQsIHJlY3QubGVmdCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICB0b3A6IHRvcCxcbiAgICByaWdodDogcmlnaHQsXG4gICAgYm90dG9tOiBib3R0b20sXG4gICAgbGVmdDogbGVmdCxcbiAgICB3aWR0aDogcmlnaHQgLSBsZWZ0LFxuICAgIGhlaWdodDogYm90dG9tIC0gdG9wXG4gIH07XG59XG5cbm1vZHVsZS5leHBvcnRzID0gZ2V0UmFuZ2VCb3VuZGluZ0NsaWVudFJlY3Q7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/getRangeBoundingClientRect.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nvar getRangeClientRects = __webpack_require__(/*! ./getRangeClientRects */ \"./node_modules/draft-js/lib/getRangeClientRects.js\");\n\n/**\n * Like range.getBoundingClientRect() but normalizes for browser bugs.\n */\nfunction getRangeBoundingClientRect(range) {\n // \"Return a DOMRect object describing the smallest rectangle that includes\n // the first rectangle in list and all of the remaining rectangles of which\n // the height or width is not zero.\"\n // http://www.w3.org/TR/cssom-view/#dom-range-getboundingclientrect\n var rects = getRangeClientRects(range);\n var top = 0;\n var right = 0;\n var bottom = 0;\n var left = 0;\n\n if (rects.length) {\n // If the first rectangle has 0 width, we use the second, this is needed\n // because Chrome renders a 0 width rectangle when the selection contains\n // a line break.\n if (rects.length > 1 && rects[0].width === 0) {\n var _rects$ = rects[1];\n top = _rects$.top;\n right = _rects$.right;\n bottom = _rects$.bottom;\n left = _rects$.left;\n } else {\n var _rects$2 = rects[0];\n top = _rects$2.top;\n right = _rects$2.right;\n bottom = _rects$2.bottom;\n left = _rects$2.left;\n }\n\n for (var ii = 1; ii < rects.length; ii++) {\n var rect = rects[ii];\n\n if (rect.height !== 0 && rect.width !== 0) {\n top = Math.min(top, rect.top);\n right = Math.max(right, rect.right);\n bottom = Math.max(bottom, rect.bottom);\n left = Math.min(left, rect.left);\n }\n }\n }\n\n return {\n top: top,\n right: right,\n bottom: bottom,\n left: left,\n width: right - left,\n height: bottom - top\n };\n}\n\nmodule.exports = getRangeBoundingClientRect;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2dldFJhbmdlQm91bmRpbmdDbGllbnRSZWN0LmpzP2NlNTYiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDYTs7QUFFYiwwQkFBMEIsbUJBQU8sQ0FBQyxpRkFBdUI7O0FBRXpEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxvQkFBb0IsbUJBQW1CO0FBQ3ZDOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2RyYWZ0LWpzL2xpYi9nZXRSYW5nZUJvdW5kaW5nQ2xpZW50UmVjdC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSBGYWNlYm9vaywgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICogQGZvcm1hdFxuICogXG4gKiBAZW1haWxzIG9uY2FsbCtkcmFmdF9qc1xuICovXG4ndXNlIHN0cmljdCc7XG5cbnZhciBnZXRSYW5nZUNsaWVudFJlY3RzID0gcmVxdWlyZShcIi4vZ2V0UmFuZ2VDbGllbnRSZWN0c1wiKTtcblxuLyoqXG4gKiBMaWtlIHJhbmdlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpIGJ1dCBub3JtYWxpemVzIGZvciBicm93c2VyIGJ1Z3MuXG4gKi9cbmZ1bmN0aW9uIGdldFJhbmdlQm91bmRpbmdDbGllbnRSZWN0KHJhbmdlKSB7XG4gIC8vIFwiUmV0dXJuIGEgRE9NUmVjdCBvYmplY3QgZGVzY3JpYmluZyB0aGUgc21hbGxlc3QgcmVjdGFuZ2xlIHRoYXQgaW5jbHVkZXNcbiAgLy8gdGhlIGZpcnN0IHJlY3RhbmdsZSBpbiBsaXN0IGFuZCBhbGwgb2YgdGhlIHJlbWFpbmluZyByZWN0YW5nbGVzIG9mIHdoaWNoXG4gIC8vIHRoZSBoZWlnaHQgb3Igd2lkdGggaXMgbm90IHplcm8uXCJcbiAgLy8gaHR0cDovL3d3dy53My5vcmcvVFIvY3Nzb20tdmlldy8jZG9tLXJhbmdlLWdldGJvdW5kaW5nY2xpZW50cmVjdFxuICB2YXIgcmVjdHMgPSBnZXRSYW5nZUNsaWVudFJlY3RzKHJhbmdlKTtcbiAgdmFyIHRvcCA9IDA7XG4gIHZhciByaWdodCA9IDA7XG4gIHZhciBib3R0b20gPSAwO1xuICB2YXIgbGVmdCA9IDA7XG5cbiAgaWYgKHJlY3RzLmxlbmd0aCkge1xuICAgIC8vIElmIHRoZSBmaXJzdCByZWN0YW5nbGUgaGFzIDAgd2lkdGgsIHdlIHVzZSB0aGUgc2Vjb25kLCB0aGlzIGlzIG5lZWRlZFxuICAgIC8vIGJlY2F1c2UgQ2hyb21lIHJlbmRlcnMgYSAwIHdpZHRoIHJlY3RhbmdsZSB3aGVuIHRoZSBzZWxlY3Rpb24gY29udGFpbnNcbiAgICAvLyBhIGxpbmUgYnJlYWsuXG4gICAgaWYgKHJlY3RzLmxlbmd0aCA+IDEgJiYgcmVjdHNbMF0ud2lkdGggPT09IDApIHtcbiAgICAgIHZhciBfcmVjdHMkID0gcmVjdHNbMV07XG4gICAgICB0b3AgPSBfcmVjdHMkLnRvcDtcbiAgICAgIHJpZ2h0ID0gX3JlY3RzJC5yaWdodDtcbiAgICAgIGJvdHRvbSA9IF9yZWN0cyQuYm90dG9tO1xuICAgICAgbGVmdCA9IF9yZWN0cyQubGVmdDtcbiAgICB9IGVsc2Uge1xuICAgICAgdmFyIF9yZWN0cyQyID0gcmVjdHNbMF07XG4gICAgICB0b3AgPSBfcmVjdHMkMi50b3A7XG4gICAgICByaWdodCA9IF9yZWN0cyQyLnJpZ2h0O1xuICAgICAgYm90dG9tID0gX3JlY3RzJDIuYm90dG9tO1xuICAgICAgbGVmdCA9IF9yZWN0cyQyLmxlZnQ7XG4gICAgfVxuXG4gICAgZm9yICh2YXIgaWkgPSAxOyBpaSA8IHJlY3RzLmxlbmd0aDsgaWkrKykge1xuICAgICAgdmFyIHJlY3QgPSByZWN0c1tpaV07XG5cbiAgICAgIGlmIChyZWN0LmhlaWdodCAhPT0gMCAmJiByZWN0LndpZHRoICE9PSAwKSB7XG4gICAgICAgIHRvcCA9IE1hdGgubWluKHRvcCwgcmVjdC50b3ApO1xuICAgICAgICByaWdodCA9IE1hdGgubWF4KHJpZ2h0LCByZWN0LnJpZ2h0KTtcbiAgICAgICAgYm90dG9tID0gTWF0aC5tYXgoYm90dG9tLCByZWN0LmJvdHRvbSk7XG4gICAgICAgIGxlZnQgPSBNYXRoLm1pbihsZWZ0LCByZWN0LmxlZnQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiB7XG4gICAgdG9wOiB0b3AsXG4gICAgcmlnaHQ6IHJpZ2h0LFxuICAgIGJvdHRvbTogYm90dG9tLFxuICAgIGxlZnQ6IGxlZnQsXG4gICAgd2lkdGg6IHJpZ2h0IC0gbGVmdCxcbiAgICBoZWlnaHQ6IGJvdHRvbSAtIHRvcFxuICB9O1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGdldFJhbmdlQm91bmRpbmdDbGllbnRSZWN0OyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/getRangeBoundingClientRect.js\n"); /***/ }), @@ -931,7 +1050,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule getRangeClientRects\n * @format\n * \n */\n\n\n\nvar UserAgent = __webpack_require__(/*! fbjs/lib/UserAgent */ \"./node_modules/fbjs/lib/UserAgent.js\");\n\nvar invariant = __webpack_require__(/*! fbjs/lib/invariant */ \"./node_modules/fbjs/lib/invariant.js\");\n\nvar isChrome = UserAgent.isBrowser('Chrome');\n\n// In Chrome, the client rects will include the entire bounds of all nodes that\n// begin (have a start tag) within the selection, even if the selection does\n// not overlap the entire node. To resolve this, we split the range at each\n// start tag and join the client rects together.\n// https://code.google.com/p/chromium/issues/detail?id=324437\n/* eslint-disable consistent-return */\nfunction getRangeClientRectsChrome(range) {\n var tempRange = range.cloneRange();\n var clientRects = [];\n\n for (var ancestor = range.endContainer; ancestor != null; ancestor = ancestor.parentNode) {\n // If we've climbed up to the common ancestor, we can now use the\n // original start point and stop climbing the tree.\n var atCommonAncestor = ancestor === range.commonAncestorContainer;\n if (atCommonAncestor) {\n tempRange.setStart(range.startContainer, range.startOffset);\n } else {\n tempRange.setStart(tempRange.endContainer, 0);\n }\n var rects = Array.from(tempRange.getClientRects());\n clientRects.push(rects);\n if (atCommonAncestor) {\n var _ref;\n\n clientRects.reverse();\n return (_ref = []).concat.apply(_ref, clientRects);\n }\n tempRange.setEndBefore(ancestor);\n }\n\n true ? true ? invariant(false, 'Found an unexpected detached subtree when getting range client rects.') : undefined : undefined;\n}\n/* eslint-enable consistent-return */\n\n/**\n * Like range.getClientRects() but normalizes for browser bugs.\n */\nvar getRangeClientRects = isChrome ? getRangeClientRectsChrome : function (range) {\n return Array.from(range.getClientRects());\n};\n\nmodule.exports = getRangeClientRects;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2dldFJhbmdlQ2xpZW50UmVjdHMuanM/ZDc5ZiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWE7O0FBRWIsZ0JBQWdCLG1CQUFPLENBQUMsZ0VBQW9COztBQUU1QyxnQkFBZ0IsbUJBQU8sQ0FBQyxnRUFBb0I7O0FBRTVDOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSx5Q0FBeUMsa0JBQWtCO0FBQzNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsRUFBRSxLQUFNLEdBQUcsS0FBcUMsK0ZBQStGLFNBQWdCLEdBQUcsU0FBTTtBQUN4SztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvZ2V0UmFuZ2VDbGllbnRSZWN0cy5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXG4gKiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEJTRC1zdHlsZSBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLiBBbiBhZGRpdGlvbmFsIGdyYW50XG4gKiBvZiBwYXRlbnQgcmlnaHRzIGNhbiBiZSBmb3VuZCBpbiB0aGUgUEFURU5UUyBmaWxlIGluIHRoZSBzYW1lIGRpcmVjdG9yeS5cbiAqXG4gKiBAcHJvdmlkZXNNb2R1bGUgZ2V0UmFuZ2VDbGllbnRSZWN0c1xuICogQGZvcm1hdFxuICogXG4gKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG52YXIgVXNlckFnZW50ID0gcmVxdWlyZSgnZmJqcy9saWIvVXNlckFnZW50Jyk7XG5cbnZhciBpbnZhcmlhbnQgPSByZXF1aXJlKCdmYmpzL2xpYi9pbnZhcmlhbnQnKTtcblxudmFyIGlzQ2hyb21lID0gVXNlckFnZW50LmlzQnJvd3NlcignQ2hyb21lJyk7XG5cbi8vIEluIENocm9tZSwgdGhlIGNsaWVudCByZWN0cyB3aWxsIGluY2x1ZGUgdGhlIGVudGlyZSBib3VuZHMgb2YgYWxsIG5vZGVzIHRoYXRcbi8vIGJlZ2luIChoYXZlIGEgc3RhcnQgdGFnKSB3aXRoaW4gdGhlIHNlbGVjdGlvbiwgZXZlbiBpZiB0aGUgc2VsZWN0aW9uIGRvZXNcbi8vIG5vdCBvdmVybGFwIHRoZSBlbnRpcmUgbm9kZS4gVG8gcmVzb2x2ZSB0aGlzLCB3ZSBzcGxpdCB0aGUgcmFuZ2UgYXQgZWFjaFxuLy8gc3RhcnQgdGFnIGFuZCBqb2luIHRoZSBjbGllbnQgcmVjdHMgdG9nZXRoZXIuXG4vLyBodHRwczovL2NvZGUuZ29vZ2xlLmNvbS9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw/aWQ9MzI0NDM3XG4vKiBlc2xpbnQtZGlzYWJsZSBjb25zaXN0ZW50LXJldHVybiAqL1xuZnVuY3Rpb24gZ2V0UmFuZ2VDbGllbnRSZWN0c0Nocm9tZShyYW5nZSkge1xuICB2YXIgdGVtcFJhbmdlID0gcmFuZ2UuY2xvbmVSYW5nZSgpO1xuICB2YXIgY2xpZW50UmVjdHMgPSBbXTtcblxuICBmb3IgKHZhciBhbmNlc3RvciA9IHJhbmdlLmVuZENvbnRhaW5lcjsgYW5jZXN0b3IgIT0gbnVsbDsgYW5jZXN0b3IgPSBhbmNlc3Rvci5wYXJlbnROb2RlKSB7XG4gICAgLy8gSWYgd2UndmUgY2xpbWJlZCB1cCB0byB0aGUgY29tbW9uIGFuY2VzdG9yLCB3ZSBjYW4gbm93IHVzZSB0aGVcbiAgICAvLyBvcmlnaW5hbCBzdGFydCBwb2ludCBhbmQgc3RvcCBjbGltYmluZyB0aGUgdHJlZS5cbiAgICB2YXIgYXRDb21tb25BbmNlc3RvciA9IGFuY2VzdG9yID09PSByYW5nZS5jb21tb25BbmNlc3RvckNvbnRhaW5lcjtcbiAgICBpZiAoYXRDb21tb25BbmNlc3Rvcikge1xuICAgICAgdGVtcFJhbmdlLnNldFN0YXJ0KHJhbmdlLnN0YXJ0Q29udGFpbmVyLCByYW5nZS5zdGFydE9mZnNldCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRlbXBSYW5nZS5zZXRTdGFydCh0ZW1wUmFuZ2UuZW5kQ29udGFpbmVyLCAwKTtcbiAgICB9XG4gICAgdmFyIHJlY3RzID0gQXJyYXkuZnJvbSh0ZW1wUmFuZ2UuZ2V0Q2xpZW50UmVjdHMoKSk7XG4gICAgY2xpZW50UmVjdHMucHVzaChyZWN0cyk7XG4gICAgaWYgKGF0Q29tbW9uQW5jZXN0b3IpIHtcbiAgICAgIHZhciBfcmVmO1xuXG4gICAgICBjbGllbnRSZWN0cy5yZXZlcnNlKCk7XG4gICAgICByZXR1cm4gKF9yZWYgPSBbXSkuY29uY2F0LmFwcGx5KF9yZWYsIGNsaWVudFJlY3RzKTtcbiAgICB9XG4gICAgdGVtcFJhbmdlLnNldEVuZEJlZm9yZShhbmNlc3Rvcik7XG4gIH1cblxuICAhZmFsc2UgPyBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nID8gaW52YXJpYW50KGZhbHNlLCAnRm91bmQgYW4gdW5leHBlY3RlZCBkZXRhY2hlZCBzdWJ0cmVlIHdoZW4gZ2V0dGluZyByYW5nZSBjbGllbnQgcmVjdHMuJykgOiBpbnZhcmlhbnQoZmFsc2UpIDogdm9pZCAwO1xufVxuLyogZXNsaW50LWVuYWJsZSBjb25zaXN0ZW50LXJldHVybiAqL1xuXG4vKipcbiAqIExpa2UgcmFuZ2UuZ2V0Q2xpZW50UmVjdHMoKSBidXQgbm9ybWFsaXplcyBmb3IgYnJvd3NlciBidWdzLlxuICovXG52YXIgZ2V0UmFuZ2VDbGllbnRSZWN0cyA9IGlzQ2hyb21lID8gZ2V0UmFuZ2VDbGllbnRSZWN0c0Nocm9tZSA6IGZ1bmN0aW9uIChyYW5nZSkge1xuICByZXR1cm4gQXJyYXkuZnJvbShyYW5nZS5nZXRDbGllbnRSZWN0cygpKTtcbn07XG5cbm1vZHVsZS5leHBvcnRzID0gZ2V0UmFuZ2VDbGllbnRSZWN0czsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/getRangeClientRects.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nvar UserAgent = __webpack_require__(/*! fbjs/lib/UserAgent */ \"./node_modules/fbjs/lib/UserAgent.js\");\n\nvar invariant = __webpack_require__(/*! fbjs/lib/invariant */ \"./node_modules/fbjs/lib/invariant.js\");\n\nvar isChrome = UserAgent.isBrowser('Chrome'); // In Chrome, the client rects will include the entire bounds of all nodes that\n// begin (have a start tag) within the selection, even if the selection does\n// not overlap the entire node. To resolve this, we split the range at each\n// start tag and join the client rects together.\n// https://code.google.com/p/chromium/issues/detail?id=324437\n\n/* eslint-disable consistent-return */\n\nfunction getRangeClientRectsChrome(range) {\n var tempRange = range.cloneRange();\n var clientRects = [];\n\n for (var ancestor = range.endContainer; ancestor != null; ancestor = ancestor.parentNode) {\n // If we've climbed up to the common ancestor, we can now use the\n // original start point and stop climbing the tree.\n var atCommonAncestor = ancestor === range.commonAncestorContainer;\n\n if (atCommonAncestor) {\n tempRange.setStart(range.startContainer, range.startOffset);\n } else {\n tempRange.setStart(tempRange.endContainer, 0);\n }\n\n var rects = Array.from(tempRange.getClientRects());\n clientRects.push(rects);\n\n if (atCommonAncestor) {\n var _ref;\n\n clientRects.reverse();\n return (_ref = []).concat.apply(_ref, clientRects);\n }\n\n tempRange.setEndBefore(ancestor);\n }\n\n true ? true ? invariant(false, 'Found an unexpected detached subtree when getting range client rects.') : undefined : undefined;\n}\n/* eslint-enable consistent-return */\n\n/**\n * Like range.getClientRects() but normalizes for browser bugs.\n */\n\n\nvar getRangeClientRects = isChrome ? getRangeClientRectsChrome : function (range) {\n return Array.from(range.getClientRects());\n};\nmodule.exports = getRangeClientRects;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2dldFJhbmdlQ2xpZW50UmVjdHMuanM/ZDc5ZiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNhOztBQUViLGdCQUFnQixtQkFBTyxDQUFDLGdFQUFvQjs7QUFFNUMsZ0JBQWdCLG1CQUFPLENBQUMsZ0VBQW9COztBQUU1Qyw2Q0FBNkM7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBLHlDQUF5QyxrQkFBa0I7QUFDM0Q7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsRUFBRSxLQUFNLEdBQUcsS0FBcUMsK0ZBQStGLFNBQWdCLEdBQUcsU0FBTTtBQUN4SztBQUNBOztBQUVBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2dldFJhbmdlQ2xpZW50UmVjdHMuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgRmFjZWJvb2ssIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIEBmb3JtYXRcbiAqIFxuICogQGVtYWlscyBvbmNhbGwrZHJhZnRfanNcbiAqL1xuJ3VzZSBzdHJpY3QnO1xuXG52YXIgVXNlckFnZW50ID0gcmVxdWlyZShcImZianMvbGliL1VzZXJBZ2VudFwiKTtcblxudmFyIGludmFyaWFudCA9IHJlcXVpcmUoXCJmYmpzL2xpYi9pbnZhcmlhbnRcIik7XG5cbnZhciBpc0Nocm9tZSA9IFVzZXJBZ2VudC5pc0Jyb3dzZXIoJ0Nocm9tZScpOyAvLyBJbiBDaHJvbWUsIHRoZSBjbGllbnQgcmVjdHMgd2lsbCBpbmNsdWRlIHRoZSBlbnRpcmUgYm91bmRzIG9mIGFsbCBub2RlcyB0aGF0XG4vLyBiZWdpbiAoaGF2ZSBhIHN0YXJ0IHRhZykgd2l0aGluIHRoZSBzZWxlY3Rpb24sIGV2ZW4gaWYgdGhlIHNlbGVjdGlvbiBkb2VzXG4vLyBub3Qgb3ZlcmxhcCB0aGUgZW50aXJlIG5vZGUuIFRvIHJlc29sdmUgdGhpcywgd2Ugc3BsaXQgdGhlIHJhbmdlIGF0IGVhY2hcbi8vIHN0YXJ0IHRhZyBhbmQgam9pbiB0aGUgY2xpZW50IHJlY3RzIHRvZ2V0aGVyLlxuLy8gaHR0cHM6Ly9jb2RlLmdvb2dsZS5jb20vcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTMyNDQzN1xuXG4vKiBlc2xpbnQtZGlzYWJsZSBjb25zaXN0ZW50LXJldHVybiAqL1xuXG5mdW5jdGlvbiBnZXRSYW5nZUNsaWVudFJlY3RzQ2hyb21lKHJhbmdlKSB7XG4gIHZhciB0ZW1wUmFuZ2UgPSByYW5nZS5jbG9uZVJhbmdlKCk7XG4gIHZhciBjbGllbnRSZWN0cyA9IFtdO1xuXG4gIGZvciAodmFyIGFuY2VzdG9yID0gcmFuZ2UuZW5kQ29udGFpbmVyOyBhbmNlc3RvciAhPSBudWxsOyBhbmNlc3RvciA9IGFuY2VzdG9yLnBhcmVudE5vZGUpIHtcbiAgICAvLyBJZiB3ZSd2ZSBjbGltYmVkIHVwIHRvIHRoZSBjb21tb24gYW5jZXN0b3IsIHdlIGNhbiBub3cgdXNlIHRoZVxuICAgIC8vIG9yaWdpbmFsIHN0YXJ0IHBvaW50IGFuZCBzdG9wIGNsaW1iaW5nIHRoZSB0cmVlLlxuICAgIHZhciBhdENvbW1vbkFuY2VzdG9yID0gYW5jZXN0b3IgPT09IHJhbmdlLmNvbW1vbkFuY2VzdG9yQ29udGFpbmVyO1xuXG4gICAgaWYgKGF0Q29tbW9uQW5jZXN0b3IpIHtcbiAgICAgIHRlbXBSYW5nZS5zZXRTdGFydChyYW5nZS5zdGFydENvbnRhaW5lciwgcmFuZ2Uuc3RhcnRPZmZzZXQpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0ZW1wUmFuZ2Uuc2V0U3RhcnQodGVtcFJhbmdlLmVuZENvbnRhaW5lciwgMCk7XG4gICAgfVxuXG4gICAgdmFyIHJlY3RzID0gQXJyYXkuZnJvbSh0ZW1wUmFuZ2UuZ2V0Q2xpZW50UmVjdHMoKSk7XG4gICAgY2xpZW50UmVjdHMucHVzaChyZWN0cyk7XG5cbiAgICBpZiAoYXRDb21tb25BbmNlc3Rvcikge1xuICAgICAgdmFyIF9yZWY7XG5cbiAgICAgIGNsaWVudFJlY3RzLnJldmVyc2UoKTtcbiAgICAgIHJldHVybiAoX3JlZiA9IFtdKS5jb25jYXQuYXBwbHkoX3JlZiwgY2xpZW50UmVjdHMpO1xuICAgIH1cblxuICAgIHRlbXBSYW5nZS5zZXRFbmRCZWZvcmUoYW5jZXN0b3IpO1xuICB9XG5cbiAgIWZhbHNlID8gcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiID8gaW52YXJpYW50KGZhbHNlLCAnRm91bmQgYW4gdW5leHBlY3RlZCBkZXRhY2hlZCBzdWJ0cmVlIHdoZW4gZ2V0dGluZyByYW5nZSBjbGllbnQgcmVjdHMuJykgOiBpbnZhcmlhbnQoZmFsc2UpIDogdm9pZCAwO1xufVxuLyogZXNsaW50LWVuYWJsZSBjb25zaXN0ZW50LXJldHVybiAqL1xuXG4vKipcbiAqIExpa2UgcmFuZ2UuZ2V0Q2xpZW50UmVjdHMoKSBidXQgbm9ybWFsaXplcyBmb3IgYnJvd3NlciBidWdzLlxuICovXG5cblxudmFyIGdldFJhbmdlQ2xpZW50UmVjdHMgPSBpc0Nocm9tZSA/IGdldFJhbmdlQ2xpZW50UmVjdHNDaHJvbWUgOiBmdW5jdGlvbiAocmFuZ2UpIHtcbiAgcmV0dXJuIEFycmF5LmZyb20ocmFuZ2UuZ2V0Q2xpZW50UmVjdHMoKSk7XG59O1xubW9kdWxlLmV4cG9ydHMgPSBnZXRSYW5nZUNsaWVudFJlY3RzOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/getRangeClientRects.js\n"); /***/ }), @@ -943,7 +1062,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule getRangesForDraftEntity\n * @format\n * \n */\n\n\n\nvar invariant = __webpack_require__(/*! fbjs/lib/invariant */ \"./node_modules/fbjs/lib/invariant.js\");\n\n/**\n * Obtain the start and end positions of the range that has the\n * specified entity applied to it.\n *\n * Entity keys are applied only to contiguous stretches of text, so this\n * method searches for the first instance of the entity key and returns\n * the subsequent range.\n */\nfunction getRangesForDraftEntity(block, key) {\n var ranges = [];\n block.findEntityRanges(function (c) {\n return c.getEntity() === key;\n }, function (start, end) {\n ranges.push({ start: start, end: end });\n });\n\n !!!ranges.length ? true ? invariant(false, 'Entity key not found in this range.') : undefined : void 0;\n\n return ranges;\n}\n\nmodule.exports = getRangesForDraftEntity;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2dldFJhbmdlc0ZvckRyYWZ0RW50aXR5LmpzPzdjYzYiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVhOztBQUViLGdCQUFnQixtQkFBTyxDQUFDLGdFQUFvQjs7QUFFNUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILGlCQUFpQix5QkFBeUI7QUFDMUMsR0FBRzs7QUFFSCxxQkFBcUIsS0FBcUMsNkRBQTZELFNBQWdCOztBQUV2STtBQUNBOztBQUVBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2RyYWZ0LWpzL2xpYi9nZXRSYW5nZXNGb3JEcmFmdEVudGl0eS5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXG4gKiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEJTRC1zdHlsZSBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLiBBbiBhZGRpdGlvbmFsIGdyYW50XG4gKiBvZiBwYXRlbnQgcmlnaHRzIGNhbiBiZSBmb3VuZCBpbiB0aGUgUEFURU5UUyBmaWxlIGluIHRoZSBzYW1lIGRpcmVjdG9yeS5cbiAqXG4gKiBAcHJvdmlkZXNNb2R1bGUgZ2V0UmFuZ2VzRm9yRHJhZnRFbnRpdHlcbiAqIEBmb3JtYXRcbiAqIFxuICovXG5cbid1c2Ugc3RyaWN0JztcblxudmFyIGludmFyaWFudCA9IHJlcXVpcmUoJ2ZianMvbGliL2ludmFyaWFudCcpO1xuXG4vKipcbiAqIE9idGFpbiB0aGUgc3RhcnQgYW5kIGVuZCBwb3NpdGlvbnMgb2YgdGhlIHJhbmdlIHRoYXQgaGFzIHRoZVxuICogc3BlY2lmaWVkIGVudGl0eSBhcHBsaWVkIHRvIGl0LlxuICpcbiAqIEVudGl0eSBrZXlzIGFyZSBhcHBsaWVkIG9ubHkgdG8gY29udGlndW91cyBzdHJldGNoZXMgb2YgdGV4dCwgc28gdGhpc1xuICogbWV0aG9kIHNlYXJjaGVzIGZvciB0aGUgZmlyc3QgaW5zdGFuY2Ugb2YgdGhlIGVudGl0eSBrZXkgYW5kIHJldHVybnNcbiAqIHRoZSBzdWJzZXF1ZW50IHJhbmdlLlxuICovXG5mdW5jdGlvbiBnZXRSYW5nZXNGb3JEcmFmdEVudGl0eShibG9jaywga2V5KSB7XG4gIHZhciByYW5nZXMgPSBbXTtcbiAgYmxvY2suZmluZEVudGl0eVJhbmdlcyhmdW5jdGlvbiAoYykge1xuICAgIHJldHVybiBjLmdldEVudGl0eSgpID09PSBrZXk7XG4gIH0sIGZ1bmN0aW9uIChzdGFydCwgZW5kKSB7XG4gICAgcmFuZ2VzLnB1c2goeyBzdGFydDogc3RhcnQsIGVuZDogZW5kIH0pO1xuICB9KTtcblxuICAhISFyYW5nZXMubGVuZ3RoID8gcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyA/IGludmFyaWFudChmYWxzZSwgJ0VudGl0eSBrZXkgbm90IGZvdW5kIGluIHRoaXMgcmFuZ2UuJykgOiBpbnZhcmlhbnQoZmFsc2UpIDogdm9pZCAwO1xuXG4gIHJldHVybiByYW5nZXM7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gZ2V0UmFuZ2VzRm9yRHJhZnRFbnRpdHk7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/getRangesForDraftEntity.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nvar invariant = __webpack_require__(/*! fbjs/lib/invariant */ \"./node_modules/fbjs/lib/invariant.js\");\n/**\n * Obtain the start and end positions of the range that has the\n * specified entity applied to it.\n *\n * Entity keys are applied only to contiguous stretches of text, so this\n * method searches for the first instance of the entity key and returns\n * the subsequent range.\n */\n\n\nfunction getRangesForDraftEntity(block, key) {\n var ranges = [];\n block.findEntityRanges(function (c) {\n return c.getEntity() === key;\n }, function (start, end) {\n ranges.push({\n start: start,\n end: end\n });\n });\n !!!ranges.length ? true ? invariant(false, 'Entity key not found in this range.') : undefined : void 0;\n return ranges;\n}\n\nmodule.exports = getRangesForDraftEntity;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2dldFJhbmdlc0ZvckRyYWZ0RW50aXR5LmpzPzdjYzYiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDYTs7QUFFYixnQkFBZ0IsbUJBQU8sQ0FBQyxnRUFBb0I7QUFDNUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMLEdBQUc7QUFDSCxxQkFBcUIsS0FBcUMsNkRBQTZELFNBQWdCO0FBQ3ZJO0FBQ0E7O0FBRUEiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2dldFJhbmdlc0ZvckRyYWZ0RW50aXR5LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIEZhY2Vib29rLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKiBAZm9ybWF0XG4gKiBcbiAqIEBlbWFpbHMgb25jYWxsK2RyYWZ0X2pzXG4gKi9cbid1c2Ugc3RyaWN0JztcblxudmFyIGludmFyaWFudCA9IHJlcXVpcmUoXCJmYmpzL2xpYi9pbnZhcmlhbnRcIik7XG4vKipcbiAqIE9idGFpbiB0aGUgc3RhcnQgYW5kIGVuZCBwb3NpdGlvbnMgb2YgdGhlIHJhbmdlIHRoYXQgaGFzIHRoZVxuICogc3BlY2lmaWVkIGVudGl0eSBhcHBsaWVkIHRvIGl0LlxuICpcbiAqIEVudGl0eSBrZXlzIGFyZSBhcHBsaWVkIG9ubHkgdG8gY29udGlndW91cyBzdHJldGNoZXMgb2YgdGV4dCwgc28gdGhpc1xuICogbWV0aG9kIHNlYXJjaGVzIGZvciB0aGUgZmlyc3QgaW5zdGFuY2Ugb2YgdGhlIGVudGl0eSBrZXkgYW5kIHJldHVybnNcbiAqIHRoZSBzdWJzZXF1ZW50IHJhbmdlLlxuICovXG5cblxuZnVuY3Rpb24gZ2V0UmFuZ2VzRm9yRHJhZnRFbnRpdHkoYmxvY2ssIGtleSkge1xuICB2YXIgcmFuZ2VzID0gW107XG4gIGJsb2NrLmZpbmRFbnRpdHlSYW5nZXMoZnVuY3Rpb24gKGMpIHtcbiAgICByZXR1cm4gYy5nZXRFbnRpdHkoKSA9PT0ga2V5O1xuICB9LCBmdW5jdGlvbiAoc3RhcnQsIGVuZCkge1xuICAgIHJhbmdlcy5wdXNoKHtcbiAgICAgIHN0YXJ0OiBzdGFydCxcbiAgICAgIGVuZDogZW5kXG4gICAgfSk7XG4gIH0pO1xuICAhISFyYW5nZXMubGVuZ3RoID8gcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiID8gaW52YXJpYW50KGZhbHNlLCAnRW50aXR5IGtleSBub3QgZm91bmQgaW4gdGhpcyByYW5nZS4nKSA6IGludmFyaWFudChmYWxzZSkgOiB2b2lkIDA7XG4gIHJldHVybiByYW5nZXM7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gZ2V0UmFuZ2VzRm9yRHJhZnRFbnRpdHk7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/getRangesForDraftEntity.js\n"); /***/ }), @@ -955,7 +1074,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule getSafeBodyFromHTML\n * @format\n * \n */\n\n\n\nvar UserAgent = __webpack_require__(/*! fbjs/lib/UserAgent */ \"./node_modules/fbjs/lib/UserAgent.js\");\n\nvar invariant = __webpack_require__(/*! fbjs/lib/invariant */ \"./node_modules/fbjs/lib/invariant.js\");\n\nvar isOldIE = UserAgent.isBrowser('IE <= 9');\n\n// Provides a dom node that will not execute scripts\n// https://developer.mozilla.org/en-US/docs/Web/API/DOMImplementation.createHTMLDocument\n// https://developer.mozilla.org/en-US/Add-ons/Code_snippets/HTML_to_DOM\n\nfunction getSafeBodyFromHTML(html) {\n var doc;\n var root = null;\n // Provides a safe context\n if (!isOldIE && document.implementation && document.implementation.createHTMLDocument) {\n doc = document.implementation.createHTMLDocument('foo');\n !doc.documentElement ? true ? invariant(false, 'Missing doc.documentElement') : undefined : void 0;\n doc.documentElement.innerHTML = html;\n root = doc.getElementsByTagName('body')[0];\n }\n return root;\n}\n\nmodule.exports = getSafeBodyFromHTML;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2dldFNhZmVCb2R5RnJvbUhUTUwuanM/YzY4NyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWE7O0FBRWIsZ0JBQWdCLG1CQUFPLENBQUMsZ0VBQW9COztBQUU1QyxnQkFBZ0IsbUJBQU8sQ0FBQyxnRUFBb0I7O0FBRTVDOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQkFBMkIsS0FBcUMscURBQXFELFNBQWdCO0FBQ3JJO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2dldFNhZmVCb2R5RnJvbUhUTUwuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxMy1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuICogQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBCU0Qtc3R5bGUgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS4gQW4gYWRkaXRpb25hbCBncmFudFxuICogb2YgcGF0ZW50IHJpZ2h0cyBjYW4gYmUgZm91bmQgaW4gdGhlIFBBVEVOVFMgZmlsZSBpbiB0aGUgc2FtZSBkaXJlY3RvcnkuXG4gKlxuICogQHByb3ZpZGVzTW9kdWxlIGdldFNhZmVCb2R5RnJvbUhUTUxcbiAqIEBmb3JtYXRcbiAqIFxuICovXG5cbid1c2Ugc3RyaWN0JztcblxudmFyIFVzZXJBZ2VudCA9IHJlcXVpcmUoJ2ZianMvbGliL1VzZXJBZ2VudCcpO1xuXG52YXIgaW52YXJpYW50ID0gcmVxdWlyZSgnZmJqcy9saWIvaW52YXJpYW50Jyk7XG5cbnZhciBpc09sZElFID0gVXNlckFnZW50LmlzQnJvd3NlcignSUUgPD0gOScpO1xuXG4vLyBQcm92aWRlcyBhIGRvbSBub2RlIHRoYXQgd2lsbCBub3QgZXhlY3V0ZSBzY3JpcHRzXG4vLyBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvRE9NSW1wbGVtZW50YXRpb24uY3JlYXRlSFRNTERvY3VtZW50XG4vLyBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9BZGQtb25zL0NvZGVfc25pcHBldHMvSFRNTF90b19ET01cblxuZnVuY3Rpb24gZ2V0U2FmZUJvZHlGcm9tSFRNTChodG1sKSB7XG4gIHZhciBkb2M7XG4gIHZhciByb290ID0gbnVsbDtcbiAgLy8gUHJvdmlkZXMgYSBzYWZlIGNvbnRleHRcbiAgaWYgKCFpc09sZElFICYmIGRvY3VtZW50LmltcGxlbWVudGF0aW9uICYmIGRvY3VtZW50LmltcGxlbWVudGF0aW9uLmNyZWF0ZUhUTUxEb2N1bWVudCkge1xuICAgIGRvYyA9IGRvY3VtZW50LmltcGxlbWVudGF0aW9uLmNyZWF0ZUhUTUxEb2N1bWVudCgnZm9vJyk7XG4gICAgIWRvYy5kb2N1bWVudEVsZW1lbnQgPyBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nID8gaW52YXJpYW50KGZhbHNlLCAnTWlzc2luZyBkb2MuZG9jdW1lbnRFbGVtZW50JykgOiBpbnZhcmlhbnQoZmFsc2UpIDogdm9pZCAwO1xuICAgIGRvYy5kb2N1bWVudEVsZW1lbnQuaW5uZXJIVE1MID0gaHRtbDtcbiAgICByb290ID0gZG9jLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdib2R5JylbMF07XG4gIH1cbiAgcmV0dXJuIHJvb3Q7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gZ2V0U2FmZUJvZHlGcm9tSFRNTDsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/getSafeBodyFromHTML.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nvar UserAgent = __webpack_require__(/*! fbjs/lib/UserAgent */ \"./node_modules/fbjs/lib/UserAgent.js\");\n\nvar invariant = __webpack_require__(/*! fbjs/lib/invariant */ \"./node_modules/fbjs/lib/invariant.js\");\n\nvar isOldIE = UserAgent.isBrowser('IE <= 9'); // Provides a dom node that will not execute scripts\n// https://developer.mozilla.org/en-US/docs/Web/API/DOMImplementation.createHTMLDocument\n// https://developer.mozilla.org/en-US/Add-ons/Code_snippets/HTML_to_DOM\n\nfunction getSafeBodyFromHTML(html) {\n var doc;\n var root = null; // Provides a safe context\n\n if (!isOldIE && document.implementation && document.implementation.createHTMLDocument) {\n doc = document.implementation.createHTMLDocument('foo');\n !doc.documentElement ? true ? invariant(false, 'Missing doc.documentElement') : undefined : void 0;\n doc.documentElement.innerHTML = html;\n root = doc.getElementsByTagName('body')[0];\n }\n\n return root;\n}\n\nmodule.exports = getSafeBodyFromHTML;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2dldFNhZmVCb2R5RnJvbUhUTUwuanM/YzY4NyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNhOztBQUViLGdCQUFnQixtQkFBTyxDQUFDLGdFQUFvQjs7QUFFNUMsZ0JBQWdCLG1CQUFPLENBQUMsZ0VBQW9COztBQUU1Qyw2Q0FBNkM7QUFDN0M7QUFDQTs7QUFFQTtBQUNBO0FBQ0Esa0JBQWtCOztBQUVsQjtBQUNBO0FBQ0EsMkJBQTJCLEtBQXFDLHFEQUFxRCxTQUFnQjtBQUNySTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvZ2V0U2FmZUJvZHlGcm9tSFRNTC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSBGYWNlYm9vaywgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICogQGZvcm1hdFxuICogXG4gKiBAZW1haWxzIG9uY2FsbCtkcmFmdF9qc1xuICovXG4ndXNlIHN0cmljdCc7XG5cbnZhciBVc2VyQWdlbnQgPSByZXF1aXJlKFwiZmJqcy9saWIvVXNlckFnZW50XCIpO1xuXG52YXIgaW52YXJpYW50ID0gcmVxdWlyZShcImZianMvbGliL2ludmFyaWFudFwiKTtcblxudmFyIGlzT2xkSUUgPSBVc2VyQWdlbnQuaXNCcm93c2VyKCdJRSA8PSA5Jyk7IC8vIFByb3ZpZGVzIGEgZG9tIG5vZGUgdGhhdCB3aWxsIG5vdCBleGVjdXRlIHNjcmlwdHNcbi8vIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9ET01JbXBsZW1lbnRhdGlvbi5jcmVhdGVIVE1MRG9jdW1lbnRcbi8vIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL0FkZC1vbnMvQ29kZV9zbmlwcGV0cy9IVE1MX3RvX0RPTVxuXG5mdW5jdGlvbiBnZXRTYWZlQm9keUZyb21IVE1MKGh0bWwpIHtcbiAgdmFyIGRvYztcbiAgdmFyIHJvb3QgPSBudWxsOyAvLyBQcm92aWRlcyBhIHNhZmUgY29udGV4dFxuXG4gIGlmICghaXNPbGRJRSAmJiBkb2N1bWVudC5pbXBsZW1lbnRhdGlvbiAmJiBkb2N1bWVudC5pbXBsZW1lbnRhdGlvbi5jcmVhdGVIVE1MRG9jdW1lbnQpIHtcbiAgICBkb2MgPSBkb2N1bWVudC5pbXBsZW1lbnRhdGlvbi5jcmVhdGVIVE1MRG9jdW1lbnQoJ2ZvbycpO1xuICAgICFkb2MuZG9jdW1lbnRFbGVtZW50ID8gcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiID8gaW52YXJpYW50KGZhbHNlLCAnTWlzc2luZyBkb2MuZG9jdW1lbnRFbGVtZW50JykgOiBpbnZhcmlhbnQoZmFsc2UpIDogdm9pZCAwO1xuICAgIGRvYy5kb2N1bWVudEVsZW1lbnQuaW5uZXJIVE1MID0gaHRtbDtcbiAgICByb290ID0gZG9jLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdib2R5JylbMF07XG4gIH1cblxuICByZXR1cm4gcm9vdDtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBnZXRTYWZlQm9keUZyb21IVE1MOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/getSafeBodyFromHTML.js\n"); /***/ }), @@ -967,7 +1086,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule getSelectionOffsetKeyForNode\n * @format\n * \n */\n\n\n\n/**\n * Get offset key from a node or it's child nodes. Return the first offset key\n * found on the DOM tree of given node.\n */\n\nfunction getSelectionOffsetKeyForNode(node) {\n if (node instanceof Element) {\n var offsetKey = node.getAttribute('data-offset-key');\n if (offsetKey) {\n return offsetKey;\n }\n for (var ii = 0; ii < node.childNodes.length; ii++) {\n var childOffsetKey = getSelectionOffsetKeyForNode(node.childNodes[ii]);\n if (childOffsetKey) {\n return childOffsetKey;\n }\n }\n }\n return null;\n}\n\nmodule.exports = getSelectionOffsetKeyForNode;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2dldFNlbGVjdGlvbk9mZnNldEtleUZvck5vZGUuanM/Y2NlNCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWE7O0FBRWI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLDZCQUE2QjtBQUNqRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2RyYWZ0LWpzL2xpYi9nZXRTZWxlY3Rpb25PZmZzZXRLZXlGb3JOb2RlLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQlNELXN0eWxlIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuIEFuIGFkZGl0aW9uYWwgZ3JhbnRcbiAqIG9mIHBhdGVudCByaWdodHMgY2FuIGJlIGZvdW5kIGluIHRoZSBQQVRFTlRTIGZpbGUgaW4gdGhlIHNhbWUgZGlyZWN0b3J5LlxuICpcbiAqIEBwcm92aWRlc01vZHVsZSBnZXRTZWxlY3Rpb25PZmZzZXRLZXlGb3JOb2RlXG4gKiBAZm9ybWF0XG4gKiBcbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbi8qKlxuICogR2V0IG9mZnNldCBrZXkgZnJvbSBhIG5vZGUgb3IgaXQncyBjaGlsZCBub2Rlcy4gUmV0dXJuIHRoZSBmaXJzdCBvZmZzZXQga2V5XG4gKiBmb3VuZCBvbiB0aGUgRE9NIHRyZWUgb2YgZ2l2ZW4gbm9kZS5cbiAqL1xuXG5mdW5jdGlvbiBnZXRTZWxlY3Rpb25PZmZzZXRLZXlGb3JOb2RlKG5vZGUpIHtcbiAgaWYgKG5vZGUgaW5zdGFuY2VvZiBFbGVtZW50KSB7XG4gICAgdmFyIG9mZnNldEtleSA9IG5vZGUuZ2V0QXR0cmlidXRlKCdkYXRhLW9mZnNldC1rZXknKTtcbiAgICBpZiAob2Zmc2V0S2V5KSB7XG4gICAgICByZXR1cm4gb2Zmc2V0S2V5O1xuICAgIH1cbiAgICBmb3IgKHZhciBpaSA9IDA7IGlpIDwgbm9kZS5jaGlsZE5vZGVzLmxlbmd0aDsgaWkrKykge1xuICAgICAgdmFyIGNoaWxkT2Zmc2V0S2V5ID0gZ2V0U2VsZWN0aW9uT2Zmc2V0S2V5Rm9yTm9kZShub2RlLmNoaWxkTm9kZXNbaWldKTtcbiAgICAgIGlmIChjaGlsZE9mZnNldEtleSkge1xuICAgICAgICByZXR1cm4gY2hpbGRPZmZzZXRLZXk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiBudWxsO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGdldFNlbGVjdGlvbk9mZnNldEtleUZvck5vZGU7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/getSelectionOffsetKeyForNode.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n/**\n * Get offset key from a node or it's child nodes. Return the first offset key\n * found on the DOM tree of given node.\n */\n\nvar isElement = __webpack_require__(/*! ./isElement */ \"./node_modules/draft-js/lib/isElement.js\");\n\nfunction getSelectionOffsetKeyForNode(node) {\n if (isElement(node)) {\n var castedNode = node;\n var offsetKey = castedNode.getAttribute('data-offset-key');\n\n if (offsetKey) {\n return offsetKey;\n }\n\n for (var ii = 0; ii < castedNode.childNodes.length; ii++) {\n var childOffsetKey = getSelectionOffsetKeyForNode(castedNode.childNodes[ii]);\n\n if (childOffsetKey) {\n return childOffsetKey;\n }\n }\n }\n\n return null;\n}\n\nmodule.exports = getSelectionOffsetKeyForNode;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2dldFNlbGVjdGlvbk9mZnNldEtleUZvck5vZGUuanM/Y2NlNCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsZ0JBQWdCLG1CQUFPLENBQUMsNkRBQWE7O0FBRXJDO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSxvQkFBb0IsbUNBQW1DO0FBQ3ZEOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvZ2V0U2VsZWN0aW9uT2Zmc2V0S2V5Rm9yTm9kZS5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSBGYWNlYm9vaywgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICogQGZvcm1hdFxuICogXG4gKiBAZW1haWxzIG9uY2FsbCtkcmFmdF9qc1xuICovXG4ndXNlIHN0cmljdCc7XG4vKipcbiAqIEdldCBvZmZzZXQga2V5IGZyb20gYSBub2RlIG9yIGl0J3MgY2hpbGQgbm9kZXMuIFJldHVybiB0aGUgZmlyc3Qgb2Zmc2V0IGtleVxuICogZm91bmQgb24gdGhlIERPTSB0cmVlIG9mIGdpdmVuIG5vZGUuXG4gKi9cblxudmFyIGlzRWxlbWVudCA9IHJlcXVpcmUoXCIuL2lzRWxlbWVudFwiKTtcblxuZnVuY3Rpb24gZ2V0U2VsZWN0aW9uT2Zmc2V0S2V5Rm9yTm9kZShub2RlKSB7XG4gIGlmIChpc0VsZW1lbnQobm9kZSkpIHtcbiAgICB2YXIgY2FzdGVkTm9kZSA9IG5vZGU7XG4gICAgdmFyIG9mZnNldEtleSA9IGNhc3RlZE5vZGUuZ2V0QXR0cmlidXRlKCdkYXRhLW9mZnNldC1rZXknKTtcblxuICAgIGlmIChvZmZzZXRLZXkpIHtcbiAgICAgIHJldHVybiBvZmZzZXRLZXk7XG4gICAgfVxuXG4gICAgZm9yICh2YXIgaWkgPSAwOyBpaSA8IGNhc3RlZE5vZGUuY2hpbGROb2Rlcy5sZW5ndGg7IGlpKyspIHtcbiAgICAgIHZhciBjaGlsZE9mZnNldEtleSA9IGdldFNlbGVjdGlvbk9mZnNldEtleUZvck5vZGUoY2FzdGVkTm9kZS5jaGlsZE5vZGVzW2lpXSk7XG5cbiAgICAgIGlmIChjaGlsZE9mZnNldEtleSkge1xuICAgICAgICByZXR1cm4gY2hpbGRPZmZzZXRLZXk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gZ2V0U2VsZWN0aW9uT2Zmc2V0S2V5Rm9yTm9kZTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/getSelectionOffsetKeyForNode.js\n"); /***/ }), @@ -979,7 +1098,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/* WEBPACK VAR INJECTION */(function(global) {/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule getTextContentFromFiles\n * @format\n * \n */\n\n\n\nvar invariant = __webpack_require__(/*! fbjs/lib/invariant */ \"./node_modules/fbjs/lib/invariant.js\");\n\nvar TEXT_CLIPPING_REGEX = /\\.textClipping$/;\n\nvar TEXT_TYPES = {\n 'text/plain': true,\n 'text/html': true,\n 'text/rtf': true\n};\n\n// Somewhat arbitrary upper bound on text size. Let's not lock up the browser.\nvar TEXT_SIZE_UPPER_BOUND = 5000;\n\n/**\n * Extract the text content from a file list.\n */\nfunction getTextContentFromFiles(files, callback) {\n var readCount = 0;\n var results = [];\n files.forEach(function ( /*blob*/file) {\n readFile(file, function ( /*string*/text) {\n readCount++;\n text && results.push(text.slice(0, TEXT_SIZE_UPPER_BOUND));\n if (readCount == files.length) {\n callback(results.join('\\r'));\n }\n });\n });\n}\n\n/**\n * todo isaac: Do work to turn html/rtf into a content fragment.\n */\nfunction readFile(file, callback) {\n if (!global.FileReader || file.type && !(file.type in TEXT_TYPES)) {\n callback('');\n return;\n }\n\n if (file.type === '') {\n var contents = '';\n // Special-case text clippings, which have an empty type but include\n // `.textClipping` in the file name. `readAsText` results in an empty\n // string for text clippings, so we force the file name to serve\n // as the text value for the file.\n if (TEXT_CLIPPING_REGEX.test(file.name)) {\n contents = file.name.replace(TEXT_CLIPPING_REGEX, '');\n }\n callback(contents);\n return;\n }\n\n var reader = new FileReader();\n reader.onload = function () {\n var result = reader.result;\n !(typeof result === 'string') ? true ? invariant(false, 'We should be calling \"FileReader.readAsText\" which returns a string') : undefined : void 0;\n callback(result);\n };\n reader.onerror = function () {\n callback('');\n };\n reader.readAsText(file);\n}\n\nmodule.exports = getTextContentFromFiles;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2dldFRleHRDb250ZW50RnJvbUZpbGVzLmpzPzFjYTQiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVhOztBQUViLGdCQUFnQixtQkFBTyxDQUFDLGdFQUFvQjs7QUFFNUM7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxvQ0FBb0MsS0FBcUMsNkZBQTZGLFNBQWdCO0FBQ3RMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLHlDIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2RyYWZ0LWpzL2xpYi9nZXRUZXh0Q29udGVudEZyb21GaWxlcy5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXG4gKiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEJTRC1zdHlsZSBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLiBBbiBhZGRpdGlvbmFsIGdyYW50XG4gKiBvZiBwYXRlbnQgcmlnaHRzIGNhbiBiZSBmb3VuZCBpbiB0aGUgUEFURU5UUyBmaWxlIGluIHRoZSBzYW1lIGRpcmVjdG9yeS5cbiAqXG4gKiBAcHJvdmlkZXNNb2R1bGUgZ2V0VGV4dENvbnRlbnRGcm9tRmlsZXNcbiAqIEBmb3JtYXRcbiAqIFxuICovXG5cbid1c2Ugc3RyaWN0JztcblxudmFyIGludmFyaWFudCA9IHJlcXVpcmUoJ2ZianMvbGliL2ludmFyaWFudCcpO1xuXG52YXIgVEVYVF9DTElQUElOR19SRUdFWCA9IC9cXC50ZXh0Q2xpcHBpbmckLztcblxudmFyIFRFWFRfVFlQRVMgPSB7XG4gICd0ZXh0L3BsYWluJzogdHJ1ZSxcbiAgJ3RleHQvaHRtbCc6IHRydWUsXG4gICd0ZXh0L3J0Zic6IHRydWVcbn07XG5cbi8vIFNvbWV3aGF0IGFyYml0cmFyeSB1cHBlciBib3VuZCBvbiB0ZXh0IHNpemUuIExldCdzIG5vdCBsb2NrIHVwIHRoZSBicm93c2VyLlxudmFyIFRFWFRfU0laRV9VUFBFUl9CT1VORCA9IDUwMDA7XG5cbi8qKlxuICogRXh0cmFjdCB0aGUgdGV4dCBjb250ZW50IGZyb20gYSBmaWxlIGxpc3QuXG4gKi9cbmZ1bmN0aW9uIGdldFRleHRDb250ZW50RnJvbUZpbGVzKGZpbGVzLCBjYWxsYmFjaykge1xuICB2YXIgcmVhZENvdW50ID0gMDtcbiAgdmFyIHJlc3VsdHMgPSBbXTtcbiAgZmlsZXMuZm9yRWFjaChmdW5jdGlvbiAoIC8qYmxvYiovZmlsZSkge1xuICAgIHJlYWRGaWxlKGZpbGUsIGZ1bmN0aW9uICggLypzdHJpbmcqL3RleHQpIHtcbiAgICAgIHJlYWRDb3VudCsrO1xuICAgICAgdGV4dCAmJiByZXN1bHRzLnB1c2godGV4dC5zbGljZSgwLCBURVhUX1NJWkVfVVBQRVJfQk9VTkQpKTtcbiAgICAgIGlmIChyZWFkQ291bnQgPT0gZmlsZXMubGVuZ3RoKSB7XG4gICAgICAgIGNhbGxiYWNrKHJlc3VsdHMuam9pbignXFxyJykpO1xuICAgICAgfVxuICAgIH0pO1xuICB9KTtcbn1cblxuLyoqXG4gKiB0b2RvIGlzYWFjOiBEbyB3b3JrIHRvIHR1cm4gaHRtbC9ydGYgaW50byBhIGNvbnRlbnQgZnJhZ21lbnQuXG4gKi9cbmZ1bmN0aW9uIHJlYWRGaWxlKGZpbGUsIGNhbGxiYWNrKSB7XG4gIGlmICghZ2xvYmFsLkZpbGVSZWFkZXIgfHwgZmlsZS50eXBlICYmICEoZmlsZS50eXBlIGluIFRFWFRfVFlQRVMpKSB7XG4gICAgY2FsbGJhY2soJycpO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmIChmaWxlLnR5cGUgPT09ICcnKSB7XG4gICAgdmFyIGNvbnRlbnRzID0gJyc7XG4gICAgLy8gU3BlY2lhbC1jYXNlIHRleHQgY2xpcHBpbmdzLCB3aGljaCBoYXZlIGFuIGVtcHR5IHR5cGUgYnV0IGluY2x1ZGVcbiAgICAvLyBgLnRleHRDbGlwcGluZ2AgaW4gdGhlIGZpbGUgbmFtZS4gYHJlYWRBc1RleHRgIHJlc3VsdHMgaW4gYW4gZW1wdHlcbiAgICAvLyBzdHJpbmcgZm9yIHRleHQgY2xpcHBpbmdzLCBzbyB3ZSBmb3JjZSB0aGUgZmlsZSBuYW1lIHRvIHNlcnZlXG4gICAgLy8gYXMgdGhlIHRleHQgdmFsdWUgZm9yIHRoZSBmaWxlLlxuICAgIGlmIChURVhUX0NMSVBQSU5HX1JFR0VYLnRlc3QoZmlsZS5uYW1lKSkge1xuICAgICAgY29udGVudHMgPSBmaWxlLm5hbWUucmVwbGFjZShURVhUX0NMSVBQSU5HX1JFR0VYLCAnJyk7XG4gICAgfVxuICAgIGNhbGxiYWNrKGNvbnRlbnRzKTtcbiAgICByZXR1cm47XG4gIH1cblxuICB2YXIgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgcmVhZGVyLm9ubG9hZCA9IGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgcmVzdWx0ID0gcmVhZGVyLnJlc3VsdDtcbiAgICAhKHR5cGVvZiByZXN1bHQgPT09ICdzdHJpbmcnKSA/IHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgPyBpbnZhcmlhbnQoZmFsc2UsICdXZSBzaG91bGQgYmUgY2FsbGluZyBcIkZpbGVSZWFkZXIucmVhZEFzVGV4dFwiIHdoaWNoIHJldHVybnMgYSBzdHJpbmcnKSA6IGludmFyaWFudChmYWxzZSkgOiB2b2lkIDA7XG4gICAgY2FsbGJhY2socmVzdWx0KTtcbiAgfTtcbiAgcmVhZGVyLm9uZXJyb3IgPSBmdW5jdGlvbiAoKSB7XG4gICAgY2FsbGJhY2soJycpO1xuICB9O1xuICByZWFkZXIucmVhZEFzVGV4dChmaWxlKTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBnZXRUZXh0Q29udGVudEZyb21GaWxlczsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/getTextContentFromFiles.js\n"); +eval("/* WEBPACK VAR INJECTION */(function(global) {/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nvar invariant = __webpack_require__(/*! fbjs/lib/invariant */ \"./node_modules/fbjs/lib/invariant.js\");\n\nvar TEXT_CLIPPING_REGEX = /\\.textClipping$/;\nvar TEXT_TYPES = {\n 'text/plain': true,\n 'text/html': true,\n 'text/rtf': true\n}; // Somewhat arbitrary upper bound on text size. Let's not lock up the browser.\n\nvar TEXT_SIZE_UPPER_BOUND = 5000;\n/**\n * Extract the text content from a file list.\n */\n\nfunction getTextContentFromFiles(files, callback) {\n var readCount = 0;\n var results = [];\n files.forEach(function (\n /*blob*/\n file) {\n readFile(file, function (\n /*string*/\n text) {\n readCount++;\n text && results.push(text.slice(0, TEXT_SIZE_UPPER_BOUND));\n\n if (readCount == files.length) {\n callback(results.join('\\r'));\n }\n });\n });\n}\n/**\n * todo isaac: Do work to turn html/rtf into a content fragment.\n */\n\n\nfunction readFile(file, callback) {\n if (!global.FileReader || file.type && !(file.type in TEXT_TYPES)) {\n callback('');\n return;\n }\n\n if (file.type === '') {\n var _contents = ''; // Special-case text clippings, which have an empty type but include\n // `.textClipping` in the file name. `readAsText` results in an empty\n // string for text clippings, so we force the file name to serve\n // as the text value for the file.\n\n if (TEXT_CLIPPING_REGEX.test(file.name)) {\n _contents = file.name.replace(TEXT_CLIPPING_REGEX, '');\n }\n\n callback(_contents);\n return;\n }\n\n var reader = new FileReader();\n\n reader.onload = function () {\n var result = reader.result;\n !(typeof result === 'string') ? true ? invariant(false, 'We should be calling \"FileReader.readAsText\" which returns a string') : undefined : void 0;\n callback(result);\n };\n\n reader.onerror = function () {\n callback('');\n };\n\n reader.readAsText(file);\n}\n\nmodule.exports = getTextContentFromFiles;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2dldFRleHRDb250ZW50RnJvbUZpbGVzLmpzPzFjYTQiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDYTs7QUFFYixnQkFBZ0IsbUJBQU8sQ0FBQyxnRUFBb0I7O0FBRTVDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFOztBQUVGO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHVCQUF1QjtBQUN2QjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0Esb0NBQW9DLEtBQXFDLDZGQUE2RixTQUFnQjtBQUN0TDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBLHlDIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2RyYWZ0LWpzL2xpYi9nZXRUZXh0Q29udGVudEZyb21GaWxlcy5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSBGYWNlYm9vaywgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICogQGZvcm1hdFxuICogXG4gKiBAZW1haWxzIG9uY2FsbCtkcmFmdF9qc1xuICovXG4ndXNlIHN0cmljdCc7XG5cbnZhciBpbnZhcmlhbnQgPSByZXF1aXJlKFwiZmJqcy9saWIvaW52YXJpYW50XCIpO1xuXG52YXIgVEVYVF9DTElQUElOR19SRUdFWCA9IC9cXC50ZXh0Q2xpcHBpbmckLztcbnZhciBURVhUX1RZUEVTID0ge1xuICAndGV4dC9wbGFpbic6IHRydWUsXG4gICd0ZXh0L2h0bWwnOiB0cnVlLFxuICAndGV4dC9ydGYnOiB0cnVlXG59OyAvLyBTb21ld2hhdCBhcmJpdHJhcnkgdXBwZXIgYm91bmQgb24gdGV4dCBzaXplLiBMZXQncyBub3QgbG9jayB1cCB0aGUgYnJvd3Nlci5cblxudmFyIFRFWFRfU0laRV9VUFBFUl9CT1VORCA9IDUwMDA7XG4vKipcbiAqIEV4dHJhY3QgdGhlIHRleHQgY29udGVudCBmcm9tIGEgZmlsZSBsaXN0LlxuICovXG5cbmZ1bmN0aW9uIGdldFRleHRDb250ZW50RnJvbUZpbGVzKGZpbGVzLCBjYWxsYmFjaykge1xuICB2YXIgcmVhZENvdW50ID0gMDtcbiAgdmFyIHJlc3VsdHMgPSBbXTtcbiAgZmlsZXMuZm9yRWFjaChmdW5jdGlvbiAoXG4gIC8qYmxvYiovXG4gIGZpbGUpIHtcbiAgICByZWFkRmlsZShmaWxlLCBmdW5jdGlvbiAoXG4gICAgLypzdHJpbmcqL1xuICAgIHRleHQpIHtcbiAgICAgIHJlYWRDb3VudCsrO1xuICAgICAgdGV4dCAmJiByZXN1bHRzLnB1c2godGV4dC5zbGljZSgwLCBURVhUX1NJWkVfVVBQRVJfQk9VTkQpKTtcblxuICAgICAgaWYgKHJlYWRDb3VudCA9PSBmaWxlcy5sZW5ndGgpIHtcbiAgICAgICAgY2FsbGJhY2socmVzdWx0cy5qb2luKCdcXHInKSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH0pO1xufVxuLyoqXG4gKiB0b2RvIGlzYWFjOiBEbyB3b3JrIHRvIHR1cm4gaHRtbC9ydGYgaW50byBhIGNvbnRlbnQgZnJhZ21lbnQuXG4gKi9cblxuXG5mdW5jdGlvbiByZWFkRmlsZShmaWxlLCBjYWxsYmFjaykge1xuICBpZiAoIWdsb2JhbC5GaWxlUmVhZGVyIHx8IGZpbGUudHlwZSAmJiAhKGZpbGUudHlwZSBpbiBURVhUX1RZUEVTKSkge1xuICAgIGNhbGxiYWNrKCcnKTtcbiAgICByZXR1cm47XG4gIH1cblxuICBpZiAoZmlsZS50eXBlID09PSAnJykge1xuICAgIHZhciBfY29udGVudHMgPSAnJzsgLy8gU3BlY2lhbC1jYXNlIHRleHQgY2xpcHBpbmdzLCB3aGljaCBoYXZlIGFuIGVtcHR5IHR5cGUgYnV0IGluY2x1ZGVcbiAgICAvLyBgLnRleHRDbGlwcGluZ2AgaW4gdGhlIGZpbGUgbmFtZS4gYHJlYWRBc1RleHRgIHJlc3VsdHMgaW4gYW4gZW1wdHlcbiAgICAvLyBzdHJpbmcgZm9yIHRleHQgY2xpcHBpbmdzLCBzbyB3ZSBmb3JjZSB0aGUgZmlsZSBuYW1lIHRvIHNlcnZlXG4gICAgLy8gYXMgdGhlIHRleHQgdmFsdWUgZm9yIHRoZSBmaWxlLlxuXG4gICAgaWYgKFRFWFRfQ0xJUFBJTkdfUkVHRVgudGVzdChmaWxlLm5hbWUpKSB7XG4gICAgICBfY29udGVudHMgPSBmaWxlLm5hbWUucmVwbGFjZShURVhUX0NMSVBQSU5HX1JFR0VYLCAnJyk7XG4gICAgfVxuXG4gICAgY2FsbGJhY2soX2NvbnRlbnRzKTtcbiAgICByZXR1cm47XG4gIH1cblxuICB2YXIgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcblxuICByZWFkZXIub25sb2FkID0gZnVuY3Rpb24gKCkge1xuICAgIHZhciByZXN1bHQgPSByZWFkZXIucmVzdWx0O1xuICAgICEodHlwZW9mIHJlc3VsdCA9PT0gJ3N0cmluZycpID8gcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiID8gaW52YXJpYW50KGZhbHNlLCAnV2Ugc2hvdWxkIGJlIGNhbGxpbmcgXCJGaWxlUmVhZGVyLnJlYWRBc1RleHRcIiB3aGljaCByZXR1cm5zIGEgc3RyaW5nJykgOiBpbnZhcmlhbnQoZmFsc2UpIDogdm9pZCAwO1xuICAgIGNhbGxiYWNrKHJlc3VsdCk7XG4gIH07XG5cbiAgcmVhZGVyLm9uZXJyb3IgPSBmdW5jdGlvbiAoKSB7XG4gICAgY2FsbGJhY2soJycpO1xuICB9O1xuXG4gIHJlYWRlci5yZWFkQXNUZXh0KGZpbGUpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGdldFRleHRDb250ZW50RnJvbUZpbGVzOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/getTextContentFromFiles.js\n"); /***/ }), @@ -991,7 +1110,7 @@ eval("/* WEBPACK VAR INJECTION */(function(global) {/**\n * Copyright (c) 2013-p /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule getUpdatedSelectionState\n * @format\n * \n */\n\n\n\nvar DraftOffsetKey = __webpack_require__(/*! ./DraftOffsetKey */ \"./node_modules/draft-js/lib/DraftOffsetKey.js\");\n\nvar nullthrows = __webpack_require__(/*! fbjs/lib/nullthrows */ \"./node_modules/fbjs/lib/nullthrows.js\");\n\nfunction getUpdatedSelectionState(editorState, anchorKey, anchorOffset, focusKey, focusOffset) {\n var selection = nullthrows(editorState.getSelection());\n if (true) {\n if (!anchorKey || !focusKey) {\n /*eslint-disable no-console */\n console.warn('Invalid selection state.', arguments, editorState.toJS());\n /*eslint-enable no-console */\n return selection;\n }\n }\n\n var anchorPath = DraftOffsetKey.decode(anchorKey);\n var anchorBlockKey = anchorPath.blockKey;\n var anchorLeaf = editorState.getBlockTree(anchorBlockKey).getIn([anchorPath.decoratorKey, 'leaves', anchorPath.leafKey]);\n\n var focusPath = DraftOffsetKey.decode(focusKey);\n var focusBlockKey = focusPath.blockKey;\n var focusLeaf = editorState.getBlockTree(focusBlockKey).getIn([focusPath.decoratorKey, 'leaves', focusPath.leafKey]);\n\n var anchorLeafStart = anchorLeaf.get('start');\n var focusLeafStart = focusLeaf.get('start');\n\n var anchorBlockOffset = anchorLeaf ? anchorLeafStart + anchorOffset : null;\n var focusBlockOffset = focusLeaf ? focusLeafStart + focusOffset : null;\n\n var areEqual = selection.getAnchorKey() === anchorBlockKey && selection.getAnchorOffset() === anchorBlockOffset && selection.getFocusKey() === focusBlockKey && selection.getFocusOffset() === focusBlockOffset;\n\n if (areEqual) {\n return selection;\n }\n\n var isBackward = false;\n if (anchorBlockKey === focusBlockKey) {\n var anchorLeafEnd = anchorLeaf.get('end');\n var focusLeafEnd = focusLeaf.get('end');\n if (focusLeafStart === anchorLeafStart && focusLeafEnd === anchorLeafEnd) {\n isBackward = focusOffset < anchorOffset;\n } else {\n isBackward = focusLeafStart < anchorLeafStart;\n }\n } else {\n var startKey = editorState.getCurrentContent().getBlockMap().keySeq().skipUntil(function (v) {\n return v === anchorBlockKey || v === focusBlockKey;\n }).first();\n isBackward = startKey === focusBlockKey;\n }\n\n return selection.merge({\n anchorKey: anchorBlockKey,\n anchorOffset: anchorBlockOffset,\n focusKey: focusBlockKey,\n focusOffset: focusBlockOffset,\n isBackward: isBackward\n });\n}\n\nmodule.exports = getUpdatedSelectionState;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2dldFVwZGF0ZWRTZWxlY3Rpb25TdGF0ZS5qcz9lNTE0Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFYTs7QUFFYixxQkFBcUIsbUJBQU8sQ0FBQyx1RUFBa0I7O0FBRS9DLGlCQUFpQixtQkFBTyxDQUFDLGtFQUFxQjs7QUFFOUM7QUFDQTtBQUNBLE1BQU0sSUFBcUM7QUFDM0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUEiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2dldFVwZGF0ZWRTZWxlY3Rpb25TdGF0ZS5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXG4gKiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEJTRC1zdHlsZSBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLiBBbiBhZGRpdGlvbmFsIGdyYW50XG4gKiBvZiBwYXRlbnQgcmlnaHRzIGNhbiBiZSBmb3VuZCBpbiB0aGUgUEFURU5UUyBmaWxlIGluIHRoZSBzYW1lIGRpcmVjdG9yeS5cbiAqXG4gKiBAcHJvdmlkZXNNb2R1bGUgZ2V0VXBkYXRlZFNlbGVjdGlvblN0YXRlXG4gKiBAZm9ybWF0XG4gKiBcbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbnZhciBEcmFmdE9mZnNldEtleSA9IHJlcXVpcmUoJy4vRHJhZnRPZmZzZXRLZXknKTtcblxudmFyIG51bGx0aHJvd3MgPSByZXF1aXJlKCdmYmpzL2xpYi9udWxsdGhyb3dzJyk7XG5cbmZ1bmN0aW9uIGdldFVwZGF0ZWRTZWxlY3Rpb25TdGF0ZShlZGl0b3JTdGF0ZSwgYW5jaG9yS2V5LCBhbmNob3JPZmZzZXQsIGZvY3VzS2V5LCBmb2N1c09mZnNldCkge1xuICB2YXIgc2VsZWN0aW9uID0gbnVsbHRocm93cyhlZGl0b3JTdGF0ZS5nZXRTZWxlY3Rpb24oKSk7XG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgaWYgKCFhbmNob3JLZXkgfHwgIWZvY3VzS2V5KSB7XG4gICAgICAvKmVzbGludC1kaXNhYmxlIG5vLWNvbnNvbGUgKi9cbiAgICAgIGNvbnNvbGUud2FybignSW52YWxpZCBzZWxlY3Rpb24gc3RhdGUuJywgYXJndW1lbnRzLCBlZGl0b3JTdGF0ZS50b0pTKCkpO1xuICAgICAgLyplc2xpbnQtZW5hYmxlIG5vLWNvbnNvbGUgKi9cbiAgICAgIHJldHVybiBzZWxlY3Rpb247XG4gICAgfVxuICB9XG5cbiAgdmFyIGFuY2hvclBhdGggPSBEcmFmdE9mZnNldEtleS5kZWNvZGUoYW5jaG9yS2V5KTtcbiAgdmFyIGFuY2hvckJsb2NrS2V5ID0gYW5jaG9yUGF0aC5ibG9ja0tleTtcbiAgdmFyIGFuY2hvckxlYWYgPSBlZGl0b3JTdGF0ZS5nZXRCbG9ja1RyZWUoYW5jaG9yQmxvY2tLZXkpLmdldEluKFthbmNob3JQYXRoLmRlY29yYXRvcktleSwgJ2xlYXZlcycsIGFuY2hvclBhdGgubGVhZktleV0pO1xuXG4gIHZhciBmb2N1c1BhdGggPSBEcmFmdE9mZnNldEtleS5kZWNvZGUoZm9jdXNLZXkpO1xuICB2YXIgZm9jdXNCbG9ja0tleSA9IGZvY3VzUGF0aC5ibG9ja0tleTtcbiAgdmFyIGZvY3VzTGVhZiA9IGVkaXRvclN0YXRlLmdldEJsb2NrVHJlZShmb2N1c0Jsb2NrS2V5KS5nZXRJbihbZm9jdXNQYXRoLmRlY29yYXRvcktleSwgJ2xlYXZlcycsIGZvY3VzUGF0aC5sZWFmS2V5XSk7XG5cbiAgdmFyIGFuY2hvckxlYWZTdGFydCA9IGFuY2hvckxlYWYuZ2V0KCdzdGFydCcpO1xuICB2YXIgZm9jdXNMZWFmU3RhcnQgPSBmb2N1c0xlYWYuZ2V0KCdzdGFydCcpO1xuXG4gIHZhciBhbmNob3JCbG9ja09mZnNldCA9IGFuY2hvckxlYWYgPyBhbmNob3JMZWFmU3RhcnQgKyBhbmNob3JPZmZzZXQgOiBudWxsO1xuICB2YXIgZm9jdXNCbG9ja09mZnNldCA9IGZvY3VzTGVhZiA/IGZvY3VzTGVhZlN0YXJ0ICsgZm9jdXNPZmZzZXQgOiBudWxsO1xuXG4gIHZhciBhcmVFcXVhbCA9IHNlbGVjdGlvbi5nZXRBbmNob3JLZXkoKSA9PT0gYW5jaG9yQmxvY2tLZXkgJiYgc2VsZWN0aW9uLmdldEFuY2hvck9mZnNldCgpID09PSBhbmNob3JCbG9ja09mZnNldCAmJiBzZWxlY3Rpb24uZ2V0Rm9jdXNLZXkoKSA9PT0gZm9jdXNCbG9ja0tleSAmJiBzZWxlY3Rpb24uZ2V0Rm9jdXNPZmZzZXQoKSA9PT0gZm9jdXNCbG9ja09mZnNldDtcblxuICBpZiAoYXJlRXF1YWwpIHtcbiAgICByZXR1cm4gc2VsZWN0aW9uO1xuICB9XG5cbiAgdmFyIGlzQmFja3dhcmQgPSBmYWxzZTtcbiAgaWYgKGFuY2hvckJsb2NrS2V5ID09PSBmb2N1c0Jsb2NrS2V5KSB7XG4gICAgdmFyIGFuY2hvckxlYWZFbmQgPSBhbmNob3JMZWFmLmdldCgnZW5kJyk7XG4gICAgdmFyIGZvY3VzTGVhZkVuZCA9IGZvY3VzTGVhZi5nZXQoJ2VuZCcpO1xuICAgIGlmIChmb2N1c0xlYWZTdGFydCA9PT0gYW5jaG9yTGVhZlN0YXJ0ICYmIGZvY3VzTGVhZkVuZCA9PT0gYW5jaG9yTGVhZkVuZCkge1xuICAgICAgaXNCYWNrd2FyZCA9IGZvY3VzT2Zmc2V0IDwgYW5jaG9yT2Zmc2V0O1xuICAgIH0gZWxzZSB7XG4gICAgICBpc0JhY2t3YXJkID0gZm9jdXNMZWFmU3RhcnQgPCBhbmNob3JMZWFmU3RhcnQ7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHZhciBzdGFydEtleSA9IGVkaXRvclN0YXRlLmdldEN1cnJlbnRDb250ZW50KCkuZ2V0QmxvY2tNYXAoKS5rZXlTZXEoKS5za2lwVW50aWwoZnVuY3Rpb24gKHYpIHtcbiAgICAgIHJldHVybiB2ID09PSBhbmNob3JCbG9ja0tleSB8fCB2ID09PSBmb2N1c0Jsb2NrS2V5O1xuICAgIH0pLmZpcnN0KCk7XG4gICAgaXNCYWNrd2FyZCA9IHN0YXJ0S2V5ID09PSBmb2N1c0Jsb2NrS2V5O1xuICB9XG5cbiAgcmV0dXJuIHNlbGVjdGlvbi5tZXJnZSh7XG4gICAgYW5jaG9yS2V5OiBhbmNob3JCbG9ja0tleSxcbiAgICBhbmNob3JPZmZzZXQ6IGFuY2hvckJsb2NrT2Zmc2V0LFxuICAgIGZvY3VzS2V5OiBmb2N1c0Jsb2NrS2V5LFxuICAgIGZvY3VzT2Zmc2V0OiBmb2N1c0Jsb2NrT2Zmc2V0LFxuICAgIGlzQmFja3dhcmQ6IGlzQmFja3dhcmRcbiAgfSk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gZ2V0VXBkYXRlZFNlbGVjdGlvblN0YXRlOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/getUpdatedSelectionState.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nvar DraftOffsetKey = __webpack_require__(/*! ./DraftOffsetKey */ \"./node_modules/draft-js/lib/DraftOffsetKey.js\");\n\nvar nullthrows = __webpack_require__(/*! fbjs/lib/nullthrows */ \"./node_modules/fbjs/lib/nullthrows.js\");\n\nfunction getUpdatedSelectionState(editorState, anchorKey, anchorOffset, focusKey, focusOffset) {\n var selection = nullthrows(editorState.getSelection());\n\n if (true) {\n if (!anchorKey || !focusKey) {\n /* eslint-disable-next-line */\n console.warn('Invalid selection state.', arguments, editorState.toJS());\n return selection;\n }\n }\n\n var anchorPath = DraftOffsetKey.decode(anchorKey);\n var anchorBlockKey = anchorPath.blockKey;\n var anchorLeaf = editorState.getBlockTree(anchorBlockKey).getIn([anchorPath.decoratorKey, 'leaves', anchorPath.leafKey]);\n var focusPath = DraftOffsetKey.decode(focusKey);\n var focusBlockKey = focusPath.blockKey;\n var focusLeaf = editorState.getBlockTree(focusBlockKey).getIn([focusPath.decoratorKey, 'leaves', focusPath.leafKey]);\n\n if (!anchorLeaf || !focusLeaf) {\n // If we cannot make sense of the updated selection state, stick to the current one.\n if (true) {\n /* eslint-disable-next-line */\n console.warn('Invalid selection state.', arguments, editorState.toJS());\n }\n\n return selection;\n }\n\n var anchorLeafStart = anchorLeaf.get('start');\n var focusLeafStart = focusLeaf.get('start');\n var anchorBlockOffset = anchorLeaf ? anchorLeafStart + anchorOffset : null;\n var focusBlockOffset = focusLeaf ? focusLeafStart + focusOffset : null;\n var areEqual = selection.getAnchorKey() === anchorBlockKey && selection.getAnchorOffset() === anchorBlockOffset && selection.getFocusKey() === focusBlockKey && selection.getFocusOffset() === focusBlockOffset;\n\n if (areEqual) {\n return selection;\n }\n\n var isBackward = false;\n\n if (anchorBlockKey === focusBlockKey) {\n var anchorLeafEnd = anchorLeaf.get('end');\n var focusLeafEnd = focusLeaf.get('end');\n\n if (focusLeafStart === anchorLeafStart && focusLeafEnd === anchorLeafEnd) {\n isBackward = focusOffset < anchorOffset;\n } else {\n isBackward = focusLeafStart < anchorLeafStart;\n }\n } else {\n var startKey = editorState.getCurrentContent().getBlockMap().keySeq().skipUntil(function (v) {\n return v === anchorBlockKey || v === focusBlockKey;\n }).first();\n isBackward = startKey === focusBlockKey;\n }\n\n return selection.merge({\n anchorKey: anchorBlockKey,\n anchorOffset: anchorBlockOffset,\n focusKey: focusBlockKey,\n focusOffset: focusBlockOffset,\n isBackward: isBackward\n });\n}\n\nmodule.exports = getUpdatedSelectionState;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2dldFVwZGF0ZWRTZWxlY3Rpb25TdGF0ZS5qcz9lNTE0Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ2E7O0FBRWIscUJBQXFCLG1CQUFPLENBQUMsdUVBQWtCOztBQUUvQyxpQkFBaUIsbUJBQU8sQ0FBQyxrRUFBcUI7O0FBRTlDO0FBQ0E7O0FBRUEsTUFBTSxJQUFxQztBQUMzQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxRQUFRLElBQXFDO0FBQzdDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvZ2V0VXBkYXRlZFNlbGVjdGlvblN0YXRlLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIEZhY2Vib29rLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKiBAZm9ybWF0XG4gKiBcbiAqIEBlbWFpbHMgb25jYWxsK2RyYWZ0X2pzXG4gKi9cbid1c2Ugc3RyaWN0JztcblxudmFyIERyYWZ0T2Zmc2V0S2V5ID0gcmVxdWlyZShcIi4vRHJhZnRPZmZzZXRLZXlcIik7XG5cbnZhciBudWxsdGhyb3dzID0gcmVxdWlyZShcImZianMvbGliL251bGx0aHJvd3NcIik7XG5cbmZ1bmN0aW9uIGdldFVwZGF0ZWRTZWxlY3Rpb25TdGF0ZShlZGl0b3JTdGF0ZSwgYW5jaG9yS2V5LCBhbmNob3JPZmZzZXQsIGZvY3VzS2V5LCBmb2N1c09mZnNldCkge1xuICB2YXIgc2VsZWN0aW9uID0gbnVsbHRocm93cyhlZGl0b3JTdGF0ZS5nZXRTZWxlY3Rpb24oKSk7XG5cbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICAgIGlmICghYW5jaG9yS2V5IHx8ICFmb2N1c0tleSkge1xuICAgICAgLyogZXNsaW50LWRpc2FibGUtbmV4dC1saW5lICovXG4gICAgICBjb25zb2xlLndhcm4oJ0ludmFsaWQgc2VsZWN0aW9uIHN0YXRlLicsIGFyZ3VtZW50cywgZWRpdG9yU3RhdGUudG9KUygpKTtcbiAgICAgIHJldHVybiBzZWxlY3Rpb247XG4gICAgfVxuICB9XG5cbiAgdmFyIGFuY2hvclBhdGggPSBEcmFmdE9mZnNldEtleS5kZWNvZGUoYW5jaG9yS2V5KTtcbiAgdmFyIGFuY2hvckJsb2NrS2V5ID0gYW5jaG9yUGF0aC5ibG9ja0tleTtcbiAgdmFyIGFuY2hvckxlYWYgPSBlZGl0b3JTdGF0ZS5nZXRCbG9ja1RyZWUoYW5jaG9yQmxvY2tLZXkpLmdldEluKFthbmNob3JQYXRoLmRlY29yYXRvcktleSwgJ2xlYXZlcycsIGFuY2hvclBhdGgubGVhZktleV0pO1xuICB2YXIgZm9jdXNQYXRoID0gRHJhZnRPZmZzZXRLZXkuZGVjb2RlKGZvY3VzS2V5KTtcbiAgdmFyIGZvY3VzQmxvY2tLZXkgPSBmb2N1c1BhdGguYmxvY2tLZXk7XG4gIHZhciBmb2N1c0xlYWYgPSBlZGl0b3JTdGF0ZS5nZXRCbG9ja1RyZWUoZm9jdXNCbG9ja0tleSkuZ2V0SW4oW2ZvY3VzUGF0aC5kZWNvcmF0b3JLZXksICdsZWF2ZXMnLCBmb2N1c1BhdGgubGVhZktleV0pO1xuXG4gIGlmICghYW5jaG9yTGVhZiB8fCAhZm9jdXNMZWFmKSB7XG4gICAgLy8gSWYgd2UgY2Fubm90IG1ha2Ugc2Vuc2Ugb2YgdGhlIHVwZGF0ZWQgc2VsZWN0aW9uIHN0YXRlLCBzdGljayB0byB0aGUgY3VycmVudCBvbmUuXG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICAgICAgLyogZXNsaW50LWRpc2FibGUtbmV4dC1saW5lICovXG4gICAgICBjb25zb2xlLndhcm4oJ0ludmFsaWQgc2VsZWN0aW9uIHN0YXRlLicsIGFyZ3VtZW50cywgZWRpdG9yU3RhdGUudG9KUygpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gc2VsZWN0aW9uO1xuICB9XG5cbiAgdmFyIGFuY2hvckxlYWZTdGFydCA9IGFuY2hvckxlYWYuZ2V0KCdzdGFydCcpO1xuICB2YXIgZm9jdXNMZWFmU3RhcnQgPSBmb2N1c0xlYWYuZ2V0KCdzdGFydCcpO1xuICB2YXIgYW5jaG9yQmxvY2tPZmZzZXQgPSBhbmNob3JMZWFmID8gYW5jaG9yTGVhZlN0YXJ0ICsgYW5jaG9yT2Zmc2V0IDogbnVsbDtcbiAgdmFyIGZvY3VzQmxvY2tPZmZzZXQgPSBmb2N1c0xlYWYgPyBmb2N1c0xlYWZTdGFydCArIGZvY3VzT2Zmc2V0IDogbnVsbDtcbiAgdmFyIGFyZUVxdWFsID0gc2VsZWN0aW9uLmdldEFuY2hvcktleSgpID09PSBhbmNob3JCbG9ja0tleSAmJiBzZWxlY3Rpb24uZ2V0QW5jaG9yT2Zmc2V0KCkgPT09IGFuY2hvckJsb2NrT2Zmc2V0ICYmIHNlbGVjdGlvbi5nZXRGb2N1c0tleSgpID09PSBmb2N1c0Jsb2NrS2V5ICYmIHNlbGVjdGlvbi5nZXRGb2N1c09mZnNldCgpID09PSBmb2N1c0Jsb2NrT2Zmc2V0O1xuXG4gIGlmIChhcmVFcXVhbCkge1xuICAgIHJldHVybiBzZWxlY3Rpb247XG4gIH1cblxuICB2YXIgaXNCYWNrd2FyZCA9IGZhbHNlO1xuXG4gIGlmIChhbmNob3JCbG9ja0tleSA9PT0gZm9jdXNCbG9ja0tleSkge1xuICAgIHZhciBhbmNob3JMZWFmRW5kID0gYW5jaG9yTGVhZi5nZXQoJ2VuZCcpO1xuICAgIHZhciBmb2N1c0xlYWZFbmQgPSBmb2N1c0xlYWYuZ2V0KCdlbmQnKTtcblxuICAgIGlmIChmb2N1c0xlYWZTdGFydCA9PT0gYW5jaG9yTGVhZlN0YXJ0ICYmIGZvY3VzTGVhZkVuZCA9PT0gYW5jaG9yTGVhZkVuZCkge1xuICAgICAgaXNCYWNrd2FyZCA9IGZvY3VzT2Zmc2V0IDwgYW5jaG9yT2Zmc2V0O1xuICAgIH0gZWxzZSB7XG4gICAgICBpc0JhY2t3YXJkID0gZm9jdXNMZWFmU3RhcnQgPCBhbmNob3JMZWFmU3RhcnQ7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHZhciBzdGFydEtleSA9IGVkaXRvclN0YXRlLmdldEN1cnJlbnRDb250ZW50KCkuZ2V0QmxvY2tNYXAoKS5rZXlTZXEoKS5za2lwVW50aWwoZnVuY3Rpb24gKHYpIHtcbiAgICAgIHJldHVybiB2ID09PSBhbmNob3JCbG9ja0tleSB8fCB2ID09PSBmb2N1c0Jsb2NrS2V5O1xuICAgIH0pLmZpcnN0KCk7XG4gICAgaXNCYWNrd2FyZCA9IHN0YXJ0S2V5ID09PSBmb2N1c0Jsb2NrS2V5O1xuICB9XG5cbiAgcmV0dXJuIHNlbGVjdGlvbi5tZXJnZSh7XG4gICAgYW5jaG9yS2V5OiBhbmNob3JCbG9ja0tleSxcbiAgICBhbmNob3JPZmZzZXQ6IGFuY2hvckJsb2NrT2Zmc2V0LFxuICAgIGZvY3VzS2V5OiBmb2N1c0Jsb2NrS2V5LFxuICAgIGZvY3VzT2Zmc2V0OiBmb2N1c0Jsb2NrT2Zmc2V0LFxuICAgIGlzQmFja3dhcmQ6IGlzQmFja3dhcmRcbiAgfSk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gZ2V0VXBkYXRlZFNlbGVjdGlvblN0YXRlOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/getUpdatedSelectionState.js\n"); /***/ }), @@ -1003,7 +1122,31 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule getVisibleSelectionRect\n * @format\n * \n */\n\n\n\nvar getRangeBoundingClientRect = __webpack_require__(/*! ./getRangeBoundingClientRect */ \"./node_modules/draft-js/lib/getRangeBoundingClientRect.js\");\n\n/**\n * Return the bounding ClientRect for the visible DOM selection, if any.\n * In cases where there are no selected ranges or the bounding rect is\n * temporarily invalid, return null.\n */\nfunction getVisibleSelectionRect(global) {\n var selection = global.getSelection();\n if (!selection.rangeCount) {\n return null;\n }\n\n var range = selection.getRangeAt(0);\n var boundingRect = getRangeBoundingClientRect(range);\n var top = boundingRect.top,\n right = boundingRect.right,\n bottom = boundingRect.bottom,\n left = boundingRect.left;\n\n // When a re-render leads to a node being removed, the DOM selection will\n // temporarily be placed on an ancestor node, which leads to an invalid\n // bounding rect. Discard this state.\n\n if (top === 0 && right === 0 && bottom === 0 && left === 0) {\n return null;\n }\n\n return boundingRect;\n}\n\nmodule.exports = getVisibleSelectionRect;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2dldFZpc2libGVTZWxlY3Rpb25SZWN0LmpzP2NmMTMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVhOztBQUViLGlDQUFpQyxtQkFBTyxDQUFDLCtGQUE4Qjs7QUFFdkU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvZ2V0VmlzaWJsZVNlbGVjdGlvblJlY3QuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxMy1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuICogQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBCU0Qtc3R5bGUgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS4gQW4gYWRkaXRpb25hbCBncmFudFxuICogb2YgcGF0ZW50IHJpZ2h0cyBjYW4gYmUgZm91bmQgaW4gdGhlIFBBVEVOVFMgZmlsZSBpbiB0aGUgc2FtZSBkaXJlY3RvcnkuXG4gKlxuICogQHByb3ZpZGVzTW9kdWxlIGdldFZpc2libGVTZWxlY3Rpb25SZWN0XG4gKiBAZm9ybWF0XG4gKiBcbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbnZhciBnZXRSYW5nZUJvdW5kaW5nQ2xpZW50UmVjdCA9IHJlcXVpcmUoJy4vZ2V0UmFuZ2VCb3VuZGluZ0NsaWVudFJlY3QnKTtcblxuLyoqXG4gKiBSZXR1cm4gdGhlIGJvdW5kaW5nIENsaWVudFJlY3QgZm9yIHRoZSB2aXNpYmxlIERPTSBzZWxlY3Rpb24sIGlmIGFueS5cbiAqIEluIGNhc2VzIHdoZXJlIHRoZXJlIGFyZSBubyBzZWxlY3RlZCByYW5nZXMgb3IgdGhlIGJvdW5kaW5nIHJlY3QgaXNcbiAqIHRlbXBvcmFyaWx5IGludmFsaWQsIHJldHVybiBudWxsLlxuICovXG5mdW5jdGlvbiBnZXRWaXNpYmxlU2VsZWN0aW9uUmVjdChnbG9iYWwpIHtcbiAgdmFyIHNlbGVjdGlvbiA9IGdsb2JhbC5nZXRTZWxlY3Rpb24oKTtcbiAgaWYgKCFzZWxlY3Rpb24ucmFuZ2VDb3VudCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgdmFyIHJhbmdlID0gc2VsZWN0aW9uLmdldFJhbmdlQXQoMCk7XG4gIHZhciBib3VuZGluZ1JlY3QgPSBnZXRSYW5nZUJvdW5kaW5nQ2xpZW50UmVjdChyYW5nZSk7XG4gIHZhciB0b3AgPSBib3VuZGluZ1JlY3QudG9wLFxuICAgICAgcmlnaHQgPSBib3VuZGluZ1JlY3QucmlnaHQsXG4gICAgICBib3R0b20gPSBib3VuZGluZ1JlY3QuYm90dG9tLFxuICAgICAgbGVmdCA9IGJvdW5kaW5nUmVjdC5sZWZ0O1xuXG4gIC8vIFdoZW4gYSByZS1yZW5kZXIgbGVhZHMgdG8gYSBub2RlIGJlaW5nIHJlbW92ZWQsIHRoZSBET00gc2VsZWN0aW9uIHdpbGxcbiAgLy8gdGVtcG9yYXJpbHkgYmUgcGxhY2VkIG9uIGFuIGFuY2VzdG9yIG5vZGUsIHdoaWNoIGxlYWRzIHRvIGFuIGludmFsaWRcbiAgLy8gYm91bmRpbmcgcmVjdC4gRGlzY2FyZCB0aGlzIHN0YXRlLlxuXG4gIGlmICh0b3AgPT09IDAgJiYgcmlnaHQgPT09IDAgJiYgYm90dG9tID09PSAwICYmIGxlZnQgPT09IDApIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiBib3VuZGluZ1JlY3Q7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gZ2V0VmlzaWJsZVNlbGVjdGlvblJlY3Q7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/getVisibleSelectionRect.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nvar getRangeBoundingClientRect = __webpack_require__(/*! ./getRangeBoundingClientRect */ \"./node_modules/draft-js/lib/getRangeBoundingClientRect.js\");\n/**\n * Return the bounding ClientRect for the visible DOM selection, if any.\n * In cases where there are no selected ranges or the bounding rect is\n * temporarily invalid, return null.\n *\n * When using from an iframe, you should pass the iframe window object\n */\n\n\nfunction getVisibleSelectionRect(global) {\n var selection = global.getSelection();\n\n if (!selection.rangeCount) {\n return null;\n }\n\n var range = selection.getRangeAt(0);\n var boundingRect = getRangeBoundingClientRect(range);\n var top = boundingRect.top,\n right = boundingRect.right,\n bottom = boundingRect.bottom,\n left = boundingRect.left; // When a re-render leads to a node being removed, the DOM selection will\n // temporarily be placed on an ancestor node, which leads to an invalid\n // bounding rect. Discard this state.\n\n if (top === 0 && right === 0 && bottom === 0 && left === 0) {\n return null;\n }\n\n return boundingRect;\n}\n\nmodule.exports = getVisibleSelectionRect;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2dldFZpc2libGVTZWxlY3Rpb25SZWN0LmpzP2NmMTMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDYTs7QUFFYixpQ0FBaUMsbUJBQU8sQ0FBQywrRkFBOEI7QUFDdkU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrQkFBK0I7QUFDL0I7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvZ2V0VmlzaWJsZVNlbGVjdGlvblJlY3QuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgRmFjZWJvb2ssIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIEBmb3JtYXRcbiAqIFxuICogQGVtYWlscyBvbmNhbGwrZHJhZnRfanNcbiAqL1xuJ3VzZSBzdHJpY3QnO1xuXG52YXIgZ2V0UmFuZ2VCb3VuZGluZ0NsaWVudFJlY3QgPSByZXF1aXJlKFwiLi9nZXRSYW5nZUJvdW5kaW5nQ2xpZW50UmVjdFwiKTtcbi8qKlxuICogUmV0dXJuIHRoZSBib3VuZGluZyBDbGllbnRSZWN0IGZvciB0aGUgdmlzaWJsZSBET00gc2VsZWN0aW9uLCBpZiBhbnkuXG4gKiBJbiBjYXNlcyB3aGVyZSB0aGVyZSBhcmUgbm8gc2VsZWN0ZWQgcmFuZ2VzIG9yIHRoZSBib3VuZGluZyByZWN0IGlzXG4gKiB0ZW1wb3JhcmlseSBpbnZhbGlkLCByZXR1cm4gbnVsbC5cbiAqXG4gKiBXaGVuIHVzaW5nIGZyb20gYW4gaWZyYW1lLCB5b3Ugc2hvdWxkIHBhc3MgdGhlIGlmcmFtZSB3aW5kb3cgb2JqZWN0XG4gKi9cblxuXG5mdW5jdGlvbiBnZXRWaXNpYmxlU2VsZWN0aW9uUmVjdChnbG9iYWwpIHtcbiAgdmFyIHNlbGVjdGlvbiA9IGdsb2JhbC5nZXRTZWxlY3Rpb24oKTtcblxuICBpZiAoIXNlbGVjdGlvbi5yYW5nZUNvdW50KSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICB2YXIgcmFuZ2UgPSBzZWxlY3Rpb24uZ2V0UmFuZ2VBdCgwKTtcbiAgdmFyIGJvdW5kaW5nUmVjdCA9IGdldFJhbmdlQm91bmRpbmdDbGllbnRSZWN0KHJhbmdlKTtcbiAgdmFyIHRvcCA9IGJvdW5kaW5nUmVjdC50b3AsXG4gICAgICByaWdodCA9IGJvdW5kaW5nUmVjdC5yaWdodCxcbiAgICAgIGJvdHRvbSA9IGJvdW5kaW5nUmVjdC5ib3R0b20sXG4gICAgICBsZWZ0ID0gYm91bmRpbmdSZWN0LmxlZnQ7IC8vIFdoZW4gYSByZS1yZW5kZXIgbGVhZHMgdG8gYSBub2RlIGJlaW5nIHJlbW92ZWQsIHRoZSBET00gc2VsZWN0aW9uIHdpbGxcbiAgLy8gdGVtcG9yYXJpbHkgYmUgcGxhY2VkIG9uIGFuIGFuY2VzdG9yIG5vZGUsIHdoaWNoIGxlYWRzIHRvIGFuIGludmFsaWRcbiAgLy8gYm91bmRpbmcgcmVjdC4gRGlzY2FyZCB0aGlzIHN0YXRlLlxuXG4gIGlmICh0b3AgPT09IDAgJiYgcmlnaHQgPT09IDAgJiYgYm90dG9tID09PSAwICYmIGxlZnQgPT09IDApIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiBib3VuZGluZ1JlY3Q7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gZ2V0VmlzaWJsZVNlbGVjdGlvblJlY3Q7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/getVisibleSelectionRect.js\n"); + +/***/ }), + +/***/ "./node_modules/draft-js/lib/getWindowForNode.js": +/*!*******************************************************!*\ + !*** ./node_modules/draft-js/lib/getWindowForNode.js ***! + \*******************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\nfunction getWindowForNode(node) {\n if (!node || !node.ownerDocument || !node.ownerDocument.defaultView) {\n return window;\n }\n\n return node.ownerDocument.defaultView;\n}\n\nmodule.exports = getWindowForNode;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2dldFdpbmRvd0Zvck5vZGUuanM/NTlhMSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBYTs7QUFFYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2dldFdpbmRvd0Zvck5vZGUuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuLyoqXG4gKiBDb3B5cmlnaHQgKGMpIEZhY2Vib29rLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKiBAZm9ybWF0XG4gKiBcbiAqIEBlbWFpbHMgb25jYWxsK2RyYWZ0X2pzXG4gKi9cbmZ1bmN0aW9uIGdldFdpbmRvd0Zvck5vZGUobm9kZSkge1xuICBpZiAoIW5vZGUgfHwgIW5vZGUub3duZXJEb2N1bWVudCB8fCAhbm9kZS5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3KSB7XG4gICAgcmV0dXJuIHdpbmRvdztcbiAgfVxuXG4gIHJldHVybiBub2RlLm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXc7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gZ2V0V2luZG93Rm9yTm9kZTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/getWindowForNode.js\n"); + +/***/ }), + +/***/ "./node_modules/draft-js/lib/gkx.js": +/*!******************************************!*\ + !*** ./node_modules/draft-js/lib/gkx.js ***! + \******************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n */\n\n\nmodule.exports = function (name) {\n if (typeof window !== 'undefined' && window.__DRAFT_GKX) {\n return !!window.__DRAFT_GKX[name];\n }\n\n return false;\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2dreC5qcz83MzAxIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNhOztBQUViO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2dreC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSBGYWNlYm9vaywgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICogQGZvcm1hdFxuICogXG4gKi9cbid1c2Ugc3RyaWN0JztcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAobmFtZSkge1xuICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiYgd2luZG93Ll9fRFJBRlRfR0tYKSB7XG4gICAgcmV0dXJuICEhd2luZG93Ll9fRFJBRlRfR0tYW25hbWVdO1xuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/gkx.js\n"); /***/ }), @@ -1015,7 +1158,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule insertFragmentIntoContentState\n * @format\n * \n */\n\n\n\nvar BlockMapBuilder = __webpack_require__(/*! ./BlockMapBuilder */ \"./node_modules/draft-js/lib/BlockMapBuilder.js\");\nvar ContentBlockNode = __webpack_require__(/*! ./ContentBlockNode */ \"./node_modules/draft-js/lib/ContentBlockNode.js\");\nvar Immutable = __webpack_require__(/*! immutable */ \"./node_modules/draft-js/node_modules/immutable/dist/immutable.js\");\n\nvar insertIntoList = __webpack_require__(/*! ./insertIntoList */ \"./node_modules/draft-js/lib/insertIntoList.js\");\nvar invariant = __webpack_require__(/*! fbjs/lib/invariant */ \"./node_modules/fbjs/lib/invariant.js\");\nvar randomizeBlockMapKeys = __webpack_require__(/*! ./randomizeBlockMapKeys */ \"./node_modules/draft-js/lib/randomizeBlockMapKeys.js\");\n\nvar List = Immutable.List;\n\n\nvar updateExistingBlock = function updateExistingBlock(contentState, selectionState, blockMap, fragmentBlock, targetKey, targetOffset) {\n var targetBlock = blockMap.get(targetKey);\n var text = targetBlock.getText();\n var chars = targetBlock.getCharacterList();\n var finalKey = targetKey;\n var finalOffset = targetOffset + fragmentBlock.getText().length;\n\n var newBlock = targetBlock.merge({\n text: text.slice(0, targetOffset) + fragmentBlock.getText() + text.slice(targetOffset),\n characterList: insertIntoList(chars, fragmentBlock.getCharacterList(), targetOffset),\n data: fragmentBlock.getData()\n });\n\n return contentState.merge({\n blockMap: blockMap.set(targetKey, newBlock),\n selectionBefore: selectionState,\n selectionAfter: selectionState.merge({\n anchorKey: finalKey,\n anchorOffset: finalOffset,\n focusKey: finalKey,\n focusOffset: finalOffset,\n isBackward: false\n })\n });\n};\n\n/**\n * Appends text/characterList from the fragment first block to\n * target block.\n */\nvar updateHead = function updateHead(block, targetOffset, fragment) {\n var text = block.getText();\n var chars = block.getCharacterList();\n\n // Modify head portion of block.\n var headText = text.slice(0, targetOffset);\n var headCharacters = chars.slice(0, targetOffset);\n var appendToHead = fragment.first();\n\n return block.merge({\n text: headText + appendToHead.getText(),\n characterList: headCharacters.concat(appendToHead.getCharacterList()),\n type: headText ? block.getType() : appendToHead.getType(),\n data: appendToHead.getData()\n });\n};\n\n/**\n * Appends offset text/characterList from the target block to the last\n * fragment block.\n */\nvar updateTail = function updateTail(block, targetOffset, fragment) {\n // Modify tail portion of block.\n var text = block.getText();\n var chars = block.getCharacterList();\n\n // Modify head portion of block.\n var blockSize = text.length;\n var tailText = text.slice(targetOffset, blockSize);\n var tailCharacters = chars.slice(targetOffset, blockSize);\n var prependToTail = fragment.last();\n\n return prependToTail.merge({\n text: prependToTail.getText() + tailText,\n characterList: prependToTail.getCharacterList().concat(tailCharacters),\n data: prependToTail.getData()\n });\n};\n\nvar getRootBlocks = function getRootBlocks(block, blockMap) {\n var headKey = block.getKey();\n var rootBlock = block;\n var rootBlocks = [];\n\n // sometimes the fragment head block will not be part of the blockMap itself this can happen when\n // the fragment head is used to update the target block, however when this does not happen we need\n // to make sure that we include it on the rootBlocks since the first block of a fragment is always a\n // fragment root block\n if (blockMap.get(headKey)) {\n rootBlocks.push(headKey);\n }\n\n while (rootBlock && rootBlock.getNextSiblingKey()) {\n var lastSiblingKey = rootBlock.getNextSiblingKey();\n\n if (!lastSiblingKey) {\n break;\n }\n\n rootBlocks.push(lastSiblingKey);\n rootBlock = blockMap.get(lastSiblingKey);\n }\n\n return rootBlocks;\n};\n\nvar updateBlockMapLinks = function updateBlockMapLinks(blockMap, originalBlockMap, targetBlock, fragmentHeadBlock) {\n return blockMap.withMutations(function (blockMapState) {\n var targetKey = targetBlock.getKey();\n var headKey = fragmentHeadBlock.getKey();\n var targetNextKey = targetBlock.getNextSiblingKey();\n var targetParentKey = targetBlock.getParentKey();\n var fragmentRootBlocks = getRootBlocks(fragmentHeadBlock, blockMap);\n var lastRootFragmentBlockKey = fragmentRootBlocks[fragmentRootBlocks.length - 1];\n\n if (blockMapState.get(headKey)) {\n // update the fragment head when it is part of the blockMap otherwise\n blockMapState.setIn([targetKey, 'nextSibling'], headKey);\n blockMapState.setIn([headKey, 'prevSibling'], targetKey);\n } else {\n // update the target block that had the fragment head contents merged into it\n blockMapState.setIn([targetKey, 'nextSibling'], fragmentHeadBlock.getNextSiblingKey());\n blockMapState.setIn([fragmentHeadBlock.getNextSiblingKey(), 'prevSibling'], targetKey);\n }\n\n // update the last root block fragment\n blockMapState.setIn([lastRootFragmentBlockKey, 'nextSibling'], targetNextKey);\n\n // update the original target next block\n if (targetNextKey) {\n blockMapState.setIn([targetNextKey, 'prevSibling'], lastRootFragmentBlockKey);\n }\n\n // update fragment parent links\n fragmentRootBlocks.forEach(function (blockKey) {\n return blockMapState.setIn([blockKey, 'parent'], targetParentKey);\n });\n\n // update targetBlock parent child links\n if (targetParentKey) {\n var targetParent = blockMap.get(targetParentKey);\n var originalTargetParentChildKeys = targetParent.getChildKeys();\n\n var targetBlockIndex = originalTargetParentChildKeys.indexOf(targetKey);\n var insertionIndex = targetBlockIndex + 1;\n\n var newChildrenKeysArray = originalTargetParentChildKeys.toArray();\n\n // insert fragment children\n newChildrenKeysArray.splice.apply(newChildrenKeysArray, [insertionIndex, 0].concat(fragmentRootBlocks));\n\n blockMapState.setIn([targetParentKey, 'children'], List(newChildrenKeysArray));\n }\n });\n};\n\nvar insertFragment = function insertFragment(contentState, selectionState, blockMap, fragment, targetKey, targetOffset) {\n var isTreeBasedBlockMap = blockMap.first() instanceof ContentBlockNode;\n var newBlockArr = [];\n var fragmentSize = fragment.size;\n var target = blockMap.get(targetKey);\n var head = fragment.first();\n var tail = fragment.last();\n var finalOffset = tail.getLength();\n var finalKey = tail.getKey();\n var shouldNotUpdateFromFragmentBlock = isTreeBasedBlockMap && (!target.getChildKeys().isEmpty() || !head.getChildKeys().isEmpty());\n\n blockMap.forEach(function (block, blockKey) {\n if (blockKey !== targetKey) {\n newBlockArr.push(block);\n return;\n }\n\n if (shouldNotUpdateFromFragmentBlock) {\n newBlockArr.push(block);\n } else {\n newBlockArr.push(updateHead(block, targetOffset, fragment));\n }\n\n // Insert fragment blocks after the head and before the tail.\n fragment\n // when we are updating the target block with the head fragment block we skip the first fragment\n // head since its contents have already been merged with the target block otherwise we include\n // the whole fragment\n .slice(shouldNotUpdateFromFragmentBlock ? 0 : 1, fragmentSize - 1).forEach(function (fragmentBlock) {\n return newBlockArr.push(fragmentBlock);\n });\n\n // update tail\n newBlockArr.push(updateTail(block, targetOffset, fragment));\n });\n\n var updatedBlockMap = BlockMapBuilder.createFromArray(newBlockArr);\n\n if (isTreeBasedBlockMap) {\n updatedBlockMap = updateBlockMapLinks(updatedBlockMap, blockMap, target, head);\n }\n\n return contentState.merge({\n blockMap: updatedBlockMap,\n selectionBefore: selectionState,\n selectionAfter: selectionState.merge({\n anchorKey: finalKey,\n anchorOffset: finalOffset,\n focusKey: finalKey,\n focusOffset: finalOffset,\n isBackward: false\n })\n });\n};\n\nvar insertFragmentIntoContentState = function insertFragmentIntoContentState(contentState, selectionState, fragmentBlockMap) {\n !selectionState.isCollapsed() ? true ? invariant(false, '`insertFragment` should only be called with a collapsed selection state.') : undefined : void 0;\n\n var blockMap = contentState.getBlockMap();\n var fragment = randomizeBlockMapKeys(fragmentBlockMap);\n var targetKey = selectionState.getStartKey();\n var targetOffset = selectionState.getStartOffset();\n\n var targetBlock = blockMap.get(targetKey);\n\n if (targetBlock instanceof ContentBlockNode) {\n !targetBlock.getChildKeys().isEmpty() ? true ? invariant(false, '`insertFragment` should not be called when a container node is selected.') : undefined : void 0;\n }\n\n // When we insert a fragment with a single block we simply update the target block\n // with the contents of the inserted fragment block\n if (fragment.size === 1) {\n return updateExistingBlock(contentState, selectionState, blockMap, fragment.first(), targetKey, targetOffset);\n }\n\n return insertFragment(contentState, selectionState, blockMap, fragment, targetKey, targetOffset);\n};\n\nmodule.exports = insertFragmentIntoContentState;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2luc2VydEZyYWdtZW50SW50b0NvbnRlbnRTdGF0ZS5qcz8yZjYxIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFYTs7QUFFYixzQkFBc0IsbUJBQU8sQ0FBQyx5RUFBbUI7QUFDakQsdUJBQXVCLG1CQUFPLENBQUMsMkVBQW9CO0FBQ25ELGdCQUFnQixtQkFBTyxDQUFDLG1GQUFXOztBQUVuQyxxQkFBcUIsbUJBQU8sQ0FBQyx1RUFBa0I7QUFDL0MsZ0JBQWdCLG1CQUFPLENBQUMsZ0VBQW9CO0FBQzVDLDRCQUE0QixtQkFBTyxDQUFDLHFGQUF5Qjs7QUFFN0Q7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBLEdBQUc7O0FBRUg7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTCxHQUFHO0FBQ0g7O0FBRUE7QUFDQSxrQ0FBa0MsS0FBcUMsa0dBQWtHLFNBQWdCOztBQUV6TDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBLDRDQUE0QyxLQUFxQyxrR0FBa0csU0FBZ0I7QUFDbk07O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2RyYWZ0LWpzL2xpYi9pbnNlcnRGcmFnbWVudEludG9Db250ZW50U3RhdGUuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxMy1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuICogQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBCU0Qtc3R5bGUgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS4gQW4gYWRkaXRpb25hbCBncmFudFxuICogb2YgcGF0ZW50IHJpZ2h0cyBjYW4gYmUgZm91bmQgaW4gdGhlIFBBVEVOVFMgZmlsZSBpbiB0aGUgc2FtZSBkaXJlY3RvcnkuXG4gKlxuICogQHByb3ZpZGVzTW9kdWxlIGluc2VydEZyYWdtZW50SW50b0NvbnRlbnRTdGF0ZVxuICogQGZvcm1hdFxuICogXG4gKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG52YXIgQmxvY2tNYXBCdWlsZGVyID0gcmVxdWlyZSgnLi9CbG9ja01hcEJ1aWxkZXInKTtcbnZhciBDb250ZW50QmxvY2tOb2RlID0gcmVxdWlyZSgnLi9Db250ZW50QmxvY2tOb2RlJyk7XG52YXIgSW1tdXRhYmxlID0gcmVxdWlyZSgnaW1tdXRhYmxlJyk7XG5cbnZhciBpbnNlcnRJbnRvTGlzdCA9IHJlcXVpcmUoJy4vaW5zZXJ0SW50b0xpc3QnKTtcbnZhciBpbnZhcmlhbnQgPSByZXF1aXJlKCdmYmpzL2xpYi9pbnZhcmlhbnQnKTtcbnZhciByYW5kb21pemVCbG9ja01hcEtleXMgPSByZXF1aXJlKCcuL3JhbmRvbWl6ZUJsb2NrTWFwS2V5cycpO1xuXG52YXIgTGlzdCA9IEltbXV0YWJsZS5MaXN0O1xuXG5cbnZhciB1cGRhdGVFeGlzdGluZ0Jsb2NrID0gZnVuY3Rpb24gdXBkYXRlRXhpc3RpbmdCbG9jayhjb250ZW50U3RhdGUsIHNlbGVjdGlvblN0YXRlLCBibG9ja01hcCwgZnJhZ21lbnRCbG9jaywgdGFyZ2V0S2V5LCB0YXJnZXRPZmZzZXQpIHtcbiAgdmFyIHRhcmdldEJsb2NrID0gYmxvY2tNYXAuZ2V0KHRhcmdldEtleSk7XG4gIHZhciB0ZXh0ID0gdGFyZ2V0QmxvY2suZ2V0VGV4dCgpO1xuICB2YXIgY2hhcnMgPSB0YXJnZXRCbG9jay5nZXRDaGFyYWN0ZXJMaXN0KCk7XG4gIHZhciBmaW5hbEtleSA9IHRhcmdldEtleTtcbiAgdmFyIGZpbmFsT2Zmc2V0ID0gdGFyZ2V0T2Zmc2V0ICsgZnJhZ21lbnRCbG9jay5nZXRUZXh0KCkubGVuZ3RoO1xuXG4gIHZhciBuZXdCbG9jayA9IHRhcmdldEJsb2NrLm1lcmdlKHtcbiAgICB0ZXh0OiB0ZXh0LnNsaWNlKDAsIHRhcmdldE9mZnNldCkgKyBmcmFnbWVudEJsb2NrLmdldFRleHQoKSArIHRleHQuc2xpY2UodGFyZ2V0T2Zmc2V0KSxcbiAgICBjaGFyYWN0ZXJMaXN0OiBpbnNlcnRJbnRvTGlzdChjaGFycywgZnJhZ21lbnRCbG9jay5nZXRDaGFyYWN0ZXJMaXN0KCksIHRhcmdldE9mZnNldCksXG4gICAgZGF0YTogZnJhZ21lbnRCbG9jay5nZXREYXRhKClcbiAgfSk7XG5cbiAgcmV0dXJuIGNvbnRlbnRTdGF0ZS5tZXJnZSh7XG4gICAgYmxvY2tNYXA6IGJsb2NrTWFwLnNldCh0YXJnZXRLZXksIG5ld0Jsb2NrKSxcbiAgICBzZWxlY3Rpb25CZWZvcmU6IHNlbGVjdGlvblN0YXRlLFxuICAgIHNlbGVjdGlvbkFmdGVyOiBzZWxlY3Rpb25TdGF0ZS5tZXJnZSh7XG4gICAgICBhbmNob3JLZXk6IGZpbmFsS2V5LFxuICAgICAgYW5jaG9yT2Zmc2V0OiBmaW5hbE9mZnNldCxcbiAgICAgIGZvY3VzS2V5OiBmaW5hbEtleSxcbiAgICAgIGZvY3VzT2Zmc2V0OiBmaW5hbE9mZnNldCxcbiAgICAgIGlzQmFja3dhcmQ6IGZhbHNlXG4gICAgfSlcbiAgfSk7XG59O1xuXG4vKipcbiAqIEFwcGVuZHMgdGV4dC9jaGFyYWN0ZXJMaXN0IGZyb20gdGhlIGZyYWdtZW50IGZpcnN0IGJsb2NrIHRvXG4gKiB0YXJnZXQgYmxvY2suXG4gKi9cbnZhciB1cGRhdGVIZWFkID0gZnVuY3Rpb24gdXBkYXRlSGVhZChibG9jaywgdGFyZ2V0T2Zmc2V0LCBmcmFnbWVudCkge1xuICB2YXIgdGV4dCA9IGJsb2NrLmdldFRleHQoKTtcbiAgdmFyIGNoYXJzID0gYmxvY2suZ2V0Q2hhcmFjdGVyTGlzdCgpO1xuXG4gIC8vIE1vZGlmeSBoZWFkIHBvcnRpb24gb2YgYmxvY2suXG4gIHZhciBoZWFkVGV4dCA9IHRleHQuc2xpY2UoMCwgdGFyZ2V0T2Zmc2V0KTtcbiAgdmFyIGhlYWRDaGFyYWN0ZXJzID0gY2hhcnMuc2xpY2UoMCwgdGFyZ2V0T2Zmc2V0KTtcbiAgdmFyIGFwcGVuZFRvSGVhZCA9IGZyYWdtZW50LmZpcnN0KCk7XG5cbiAgcmV0dXJuIGJsb2NrLm1lcmdlKHtcbiAgICB0ZXh0OiBoZWFkVGV4dCArIGFwcGVuZFRvSGVhZC5nZXRUZXh0KCksXG4gICAgY2hhcmFjdGVyTGlzdDogaGVhZENoYXJhY3RlcnMuY29uY2F0KGFwcGVuZFRvSGVhZC5nZXRDaGFyYWN0ZXJMaXN0KCkpLFxuICAgIHR5cGU6IGhlYWRUZXh0ID8gYmxvY2suZ2V0VHlwZSgpIDogYXBwZW5kVG9IZWFkLmdldFR5cGUoKSxcbiAgICBkYXRhOiBhcHBlbmRUb0hlYWQuZ2V0RGF0YSgpXG4gIH0pO1xufTtcblxuLyoqXG4gKiBBcHBlbmRzIG9mZnNldCB0ZXh0L2NoYXJhY3Rlckxpc3QgZnJvbSB0aGUgdGFyZ2V0IGJsb2NrIHRvIHRoZSBsYXN0XG4gKiBmcmFnbWVudCBibG9jay5cbiAqL1xudmFyIHVwZGF0ZVRhaWwgPSBmdW5jdGlvbiB1cGRhdGVUYWlsKGJsb2NrLCB0YXJnZXRPZmZzZXQsIGZyYWdtZW50KSB7XG4gIC8vIE1vZGlmeSB0YWlsIHBvcnRpb24gb2YgYmxvY2suXG4gIHZhciB0ZXh0ID0gYmxvY2suZ2V0VGV4dCgpO1xuICB2YXIgY2hhcnMgPSBibG9jay5nZXRDaGFyYWN0ZXJMaXN0KCk7XG5cbiAgLy8gTW9kaWZ5IGhlYWQgcG9ydGlvbiBvZiBibG9jay5cbiAgdmFyIGJsb2NrU2l6ZSA9IHRleHQubGVuZ3RoO1xuICB2YXIgdGFpbFRleHQgPSB0ZXh0LnNsaWNlKHRhcmdldE9mZnNldCwgYmxvY2tTaXplKTtcbiAgdmFyIHRhaWxDaGFyYWN0ZXJzID0gY2hhcnMuc2xpY2UodGFyZ2V0T2Zmc2V0LCBibG9ja1NpemUpO1xuICB2YXIgcHJlcGVuZFRvVGFpbCA9IGZyYWdtZW50Lmxhc3QoKTtcblxuICByZXR1cm4gcHJlcGVuZFRvVGFpbC5tZXJnZSh7XG4gICAgdGV4dDogcHJlcGVuZFRvVGFpbC5nZXRUZXh0KCkgKyB0YWlsVGV4dCxcbiAgICBjaGFyYWN0ZXJMaXN0OiBwcmVwZW5kVG9UYWlsLmdldENoYXJhY3Rlckxpc3QoKS5jb25jYXQodGFpbENoYXJhY3RlcnMpLFxuICAgIGRhdGE6IHByZXBlbmRUb1RhaWwuZ2V0RGF0YSgpXG4gIH0pO1xufTtcblxudmFyIGdldFJvb3RCbG9ja3MgPSBmdW5jdGlvbiBnZXRSb290QmxvY2tzKGJsb2NrLCBibG9ja01hcCkge1xuICB2YXIgaGVhZEtleSA9IGJsb2NrLmdldEtleSgpO1xuICB2YXIgcm9vdEJsb2NrID0gYmxvY2s7XG4gIHZhciByb290QmxvY2tzID0gW107XG5cbiAgLy8gc29tZXRpbWVzIHRoZSBmcmFnbWVudCBoZWFkIGJsb2NrIHdpbGwgbm90IGJlIHBhcnQgb2YgdGhlIGJsb2NrTWFwIGl0c2VsZiB0aGlzIGNhbiBoYXBwZW4gd2hlblxuICAvLyB0aGUgZnJhZ21lbnQgaGVhZCBpcyB1c2VkIHRvIHVwZGF0ZSB0aGUgdGFyZ2V0IGJsb2NrLCBob3dldmVyIHdoZW4gdGhpcyBkb2VzIG5vdCBoYXBwZW4gd2UgbmVlZFxuICAvLyB0byBtYWtlIHN1cmUgdGhhdCB3ZSBpbmNsdWRlIGl0IG9uIHRoZSByb290QmxvY2tzIHNpbmNlIHRoZSBmaXJzdCBibG9jayBvZiBhIGZyYWdtZW50IGlzIGFsd2F5cyBhXG4gIC8vIGZyYWdtZW50IHJvb3QgYmxvY2tcbiAgaWYgKGJsb2NrTWFwLmdldChoZWFkS2V5KSkge1xuICAgIHJvb3RCbG9ja3MucHVzaChoZWFkS2V5KTtcbiAgfVxuXG4gIHdoaWxlIChyb290QmxvY2sgJiYgcm9vdEJsb2NrLmdldE5leHRTaWJsaW5nS2V5KCkpIHtcbiAgICB2YXIgbGFzdFNpYmxpbmdLZXkgPSByb290QmxvY2suZ2V0TmV4dFNpYmxpbmdLZXkoKTtcblxuICAgIGlmICghbGFzdFNpYmxpbmdLZXkpIHtcbiAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIHJvb3RCbG9ja3MucHVzaChsYXN0U2libGluZ0tleSk7XG4gICAgcm9vdEJsb2NrID0gYmxvY2tNYXAuZ2V0KGxhc3RTaWJsaW5nS2V5KTtcbiAgfVxuXG4gIHJldHVybiByb290QmxvY2tzO1xufTtcblxudmFyIHVwZGF0ZUJsb2NrTWFwTGlua3MgPSBmdW5jdGlvbiB1cGRhdGVCbG9ja01hcExpbmtzKGJsb2NrTWFwLCBvcmlnaW5hbEJsb2NrTWFwLCB0YXJnZXRCbG9jaywgZnJhZ21lbnRIZWFkQmxvY2spIHtcbiAgcmV0dXJuIGJsb2NrTWFwLndpdGhNdXRhdGlvbnMoZnVuY3Rpb24gKGJsb2NrTWFwU3RhdGUpIHtcbiAgICB2YXIgdGFyZ2V0S2V5ID0gdGFyZ2V0QmxvY2suZ2V0S2V5KCk7XG4gICAgdmFyIGhlYWRLZXkgPSBmcmFnbWVudEhlYWRCbG9jay5nZXRLZXkoKTtcbiAgICB2YXIgdGFyZ2V0TmV4dEtleSA9IHRhcmdldEJsb2NrLmdldE5leHRTaWJsaW5nS2V5KCk7XG4gICAgdmFyIHRhcmdldFBhcmVudEtleSA9IHRhcmdldEJsb2NrLmdldFBhcmVudEtleSgpO1xuICAgIHZhciBmcmFnbWVudFJvb3RCbG9ja3MgPSBnZXRSb290QmxvY2tzKGZyYWdtZW50SGVhZEJsb2NrLCBibG9ja01hcCk7XG4gICAgdmFyIGxhc3RSb290RnJhZ21lbnRCbG9ja0tleSA9IGZyYWdtZW50Um9vdEJsb2Nrc1tmcmFnbWVudFJvb3RCbG9ja3MubGVuZ3RoIC0gMV07XG5cbiAgICBpZiAoYmxvY2tNYXBTdGF0ZS5nZXQoaGVhZEtleSkpIHtcbiAgICAgIC8vIHVwZGF0ZSB0aGUgZnJhZ21lbnQgaGVhZCB3aGVuIGl0IGlzIHBhcnQgb2YgdGhlIGJsb2NrTWFwIG90aGVyd2lzZVxuICAgICAgYmxvY2tNYXBTdGF0ZS5zZXRJbihbdGFyZ2V0S2V5LCAnbmV4dFNpYmxpbmcnXSwgaGVhZEtleSk7XG4gICAgICBibG9ja01hcFN0YXRlLnNldEluKFtoZWFkS2V5LCAncHJldlNpYmxpbmcnXSwgdGFyZ2V0S2V5KTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gdXBkYXRlIHRoZSB0YXJnZXQgYmxvY2sgdGhhdCBoYWQgdGhlIGZyYWdtZW50IGhlYWQgY29udGVudHMgbWVyZ2VkIGludG8gaXRcbiAgICAgIGJsb2NrTWFwU3RhdGUuc2V0SW4oW3RhcmdldEtleSwgJ25leHRTaWJsaW5nJ10sIGZyYWdtZW50SGVhZEJsb2NrLmdldE5leHRTaWJsaW5nS2V5KCkpO1xuICAgICAgYmxvY2tNYXBTdGF0ZS5zZXRJbihbZnJhZ21lbnRIZWFkQmxvY2suZ2V0TmV4dFNpYmxpbmdLZXkoKSwgJ3ByZXZTaWJsaW5nJ10sIHRhcmdldEtleSk7XG4gICAgfVxuXG4gICAgLy8gdXBkYXRlIHRoZSBsYXN0IHJvb3QgYmxvY2sgZnJhZ21lbnRcbiAgICBibG9ja01hcFN0YXRlLnNldEluKFtsYXN0Um9vdEZyYWdtZW50QmxvY2tLZXksICduZXh0U2libGluZyddLCB0YXJnZXROZXh0S2V5KTtcblxuICAgIC8vIHVwZGF0ZSB0aGUgb3JpZ2luYWwgdGFyZ2V0IG5leHQgYmxvY2tcbiAgICBpZiAodGFyZ2V0TmV4dEtleSkge1xuICAgICAgYmxvY2tNYXBTdGF0ZS5zZXRJbihbdGFyZ2V0TmV4dEtleSwgJ3ByZXZTaWJsaW5nJ10sIGxhc3RSb290RnJhZ21lbnRCbG9ja0tleSk7XG4gICAgfVxuXG4gICAgLy8gdXBkYXRlIGZyYWdtZW50IHBhcmVudCBsaW5rc1xuICAgIGZyYWdtZW50Um9vdEJsb2Nrcy5mb3JFYWNoKGZ1bmN0aW9uIChibG9ja0tleSkge1xuICAgICAgcmV0dXJuIGJsb2NrTWFwU3RhdGUuc2V0SW4oW2Jsb2NrS2V5LCAncGFyZW50J10sIHRhcmdldFBhcmVudEtleSk7XG4gICAgfSk7XG5cbiAgICAvLyB1cGRhdGUgdGFyZ2V0QmxvY2sgcGFyZW50IGNoaWxkIGxpbmtzXG4gICAgaWYgKHRhcmdldFBhcmVudEtleSkge1xuICAgICAgdmFyIHRhcmdldFBhcmVudCA9IGJsb2NrTWFwLmdldCh0YXJnZXRQYXJlbnRLZXkpO1xuICAgICAgdmFyIG9yaWdpbmFsVGFyZ2V0UGFyZW50Q2hpbGRLZXlzID0gdGFyZ2V0UGFyZW50LmdldENoaWxkS2V5cygpO1xuXG4gICAgICB2YXIgdGFyZ2V0QmxvY2tJbmRleCA9IG9yaWdpbmFsVGFyZ2V0UGFyZW50Q2hpbGRLZXlzLmluZGV4T2YodGFyZ2V0S2V5KTtcbiAgICAgIHZhciBpbnNlcnRpb25JbmRleCA9IHRhcmdldEJsb2NrSW5kZXggKyAxO1xuXG4gICAgICB2YXIgbmV3Q2hpbGRyZW5LZXlzQXJyYXkgPSBvcmlnaW5hbFRhcmdldFBhcmVudENoaWxkS2V5cy50b0FycmF5KCk7XG5cbiAgICAgIC8vIGluc2VydCBmcmFnbWVudCBjaGlsZHJlblxuICAgICAgbmV3Q2hpbGRyZW5LZXlzQXJyYXkuc3BsaWNlLmFwcGx5KG5ld0NoaWxkcmVuS2V5c0FycmF5LCBbaW5zZXJ0aW9uSW5kZXgsIDBdLmNvbmNhdChmcmFnbWVudFJvb3RCbG9ja3MpKTtcblxuICAgICAgYmxvY2tNYXBTdGF0ZS5zZXRJbihbdGFyZ2V0UGFyZW50S2V5LCAnY2hpbGRyZW4nXSwgTGlzdChuZXdDaGlsZHJlbktleXNBcnJheSkpO1xuICAgIH1cbiAgfSk7XG59O1xuXG52YXIgaW5zZXJ0RnJhZ21lbnQgPSBmdW5jdGlvbiBpbnNlcnRGcmFnbWVudChjb250ZW50U3RhdGUsIHNlbGVjdGlvblN0YXRlLCBibG9ja01hcCwgZnJhZ21lbnQsIHRhcmdldEtleSwgdGFyZ2V0T2Zmc2V0KSB7XG4gIHZhciBpc1RyZWVCYXNlZEJsb2NrTWFwID0gYmxvY2tNYXAuZmlyc3QoKSBpbnN0YW5jZW9mIENvbnRlbnRCbG9ja05vZGU7XG4gIHZhciBuZXdCbG9ja0FyciA9IFtdO1xuICB2YXIgZnJhZ21lbnRTaXplID0gZnJhZ21lbnQuc2l6ZTtcbiAgdmFyIHRhcmdldCA9IGJsb2NrTWFwLmdldCh0YXJnZXRLZXkpO1xuICB2YXIgaGVhZCA9IGZyYWdtZW50LmZpcnN0KCk7XG4gIHZhciB0YWlsID0gZnJhZ21lbnQubGFzdCgpO1xuICB2YXIgZmluYWxPZmZzZXQgPSB0YWlsLmdldExlbmd0aCgpO1xuICB2YXIgZmluYWxLZXkgPSB0YWlsLmdldEtleSgpO1xuICB2YXIgc2hvdWxkTm90VXBkYXRlRnJvbUZyYWdtZW50QmxvY2sgPSBpc1RyZWVCYXNlZEJsb2NrTWFwICYmICghdGFyZ2V0LmdldENoaWxkS2V5cygpLmlzRW1wdHkoKSB8fCAhaGVhZC5nZXRDaGlsZEtleXMoKS5pc0VtcHR5KCkpO1xuXG4gIGJsb2NrTWFwLmZvckVhY2goZnVuY3Rpb24gKGJsb2NrLCBibG9ja0tleSkge1xuICAgIGlmIChibG9ja0tleSAhPT0gdGFyZ2V0S2V5KSB7XG4gICAgICBuZXdCbG9ja0Fyci5wdXNoKGJsb2NrKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoc2hvdWxkTm90VXBkYXRlRnJvbUZyYWdtZW50QmxvY2spIHtcbiAgICAgIG5ld0Jsb2NrQXJyLnB1c2goYmxvY2spO1xuICAgIH0gZWxzZSB7XG4gICAgICBuZXdCbG9ja0Fyci5wdXNoKHVwZGF0ZUhlYWQoYmxvY2ssIHRhcmdldE9mZnNldCwgZnJhZ21lbnQpKTtcbiAgICB9XG5cbiAgICAvLyBJbnNlcnQgZnJhZ21lbnQgYmxvY2tzIGFmdGVyIHRoZSBoZWFkIGFuZCBiZWZvcmUgdGhlIHRhaWwuXG4gICAgZnJhZ21lbnRcbiAgICAvLyB3aGVuIHdlIGFyZSB1cGRhdGluZyB0aGUgdGFyZ2V0IGJsb2NrIHdpdGggdGhlIGhlYWQgZnJhZ21lbnQgYmxvY2sgd2Ugc2tpcCB0aGUgZmlyc3QgZnJhZ21lbnRcbiAgICAvLyBoZWFkIHNpbmNlIGl0cyBjb250ZW50cyBoYXZlIGFscmVhZHkgYmVlbiBtZXJnZWQgd2l0aCB0aGUgdGFyZ2V0IGJsb2NrIG90aGVyd2lzZSB3ZSBpbmNsdWRlXG4gICAgLy8gdGhlIHdob2xlIGZyYWdtZW50XG4gICAgLnNsaWNlKHNob3VsZE5vdFVwZGF0ZUZyb21GcmFnbWVudEJsb2NrID8gMCA6IDEsIGZyYWdtZW50U2l6ZSAtIDEpLmZvckVhY2goZnVuY3Rpb24gKGZyYWdtZW50QmxvY2spIHtcbiAgICAgIHJldHVybiBuZXdCbG9ja0Fyci5wdXNoKGZyYWdtZW50QmxvY2spO1xuICAgIH0pO1xuXG4gICAgLy8gdXBkYXRlIHRhaWxcbiAgICBuZXdCbG9ja0Fyci5wdXNoKHVwZGF0ZVRhaWwoYmxvY2ssIHRhcmdldE9mZnNldCwgZnJhZ21lbnQpKTtcbiAgfSk7XG5cbiAgdmFyIHVwZGF0ZWRCbG9ja01hcCA9IEJsb2NrTWFwQnVpbGRlci5jcmVhdGVGcm9tQXJyYXkobmV3QmxvY2tBcnIpO1xuXG4gIGlmIChpc1RyZWVCYXNlZEJsb2NrTWFwKSB7XG4gICAgdXBkYXRlZEJsb2NrTWFwID0gdXBkYXRlQmxvY2tNYXBMaW5rcyh1cGRhdGVkQmxvY2tNYXAsIGJsb2NrTWFwLCB0YXJnZXQsIGhlYWQpO1xuICB9XG5cbiAgcmV0dXJuIGNvbnRlbnRTdGF0ZS5tZXJnZSh7XG4gICAgYmxvY2tNYXA6IHVwZGF0ZWRCbG9ja01hcCxcbiAgICBzZWxlY3Rpb25CZWZvcmU6IHNlbGVjdGlvblN0YXRlLFxuICAgIHNlbGVjdGlvbkFmdGVyOiBzZWxlY3Rpb25TdGF0ZS5tZXJnZSh7XG4gICAgICBhbmNob3JLZXk6IGZpbmFsS2V5LFxuICAgICAgYW5jaG9yT2Zmc2V0OiBmaW5hbE9mZnNldCxcbiAgICAgIGZvY3VzS2V5OiBmaW5hbEtleSxcbiAgICAgIGZvY3VzT2Zmc2V0OiBmaW5hbE9mZnNldCxcbiAgICAgIGlzQmFja3dhcmQ6IGZhbHNlXG4gICAgfSlcbiAgfSk7XG59O1xuXG52YXIgaW5zZXJ0RnJhZ21lbnRJbnRvQ29udGVudFN0YXRlID0gZnVuY3Rpb24gaW5zZXJ0RnJhZ21lbnRJbnRvQ29udGVudFN0YXRlKGNvbnRlbnRTdGF0ZSwgc2VsZWN0aW9uU3RhdGUsIGZyYWdtZW50QmxvY2tNYXApIHtcbiAgIXNlbGVjdGlvblN0YXRlLmlzQ29sbGFwc2VkKCkgPyBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nID8gaW52YXJpYW50KGZhbHNlLCAnYGluc2VydEZyYWdtZW50YCBzaG91bGQgb25seSBiZSBjYWxsZWQgd2l0aCBhIGNvbGxhcHNlZCBzZWxlY3Rpb24gc3RhdGUuJykgOiBpbnZhcmlhbnQoZmFsc2UpIDogdm9pZCAwO1xuXG4gIHZhciBibG9ja01hcCA9IGNvbnRlbnRTdGF0ZS5nZXRCbG9ja01hcCgpO1xuICB2YXIgZnJhZ21lbnQgPSByYW5kb21pemVCbG9ja01hcEtleXMoZnJhZ21lbnRCbG9ja01hcCk7XG4gIHZhciB0YXJnZXRLZXkgPSBzZWxlY3Rpb25TdGF0ZS5nZXRTdGFydEtleSgpO1xuICB2YXIgdGFyZ2V0T2Zmc2V0ID0gc2VsZWN0aW9uU3RhdGUuZ2V0U3RhcnRPZmZzZXQoKTtcblxuICB2YXIgdGFyZ2V0QmxvY2sgPSBibG9ja01hcC5nZXQodGFyZ2V0S2V5KTtcblxuICBpZiAodGFyZ2V0QmxvY2sgaW5zdGFuY2VvZiBDb250ZW50QmxvY2tOb2RlKSB7XG4gICAgIXRhcmdldEJsb2NrLmdldENoaWxkS2V5cygpLmlzRW1wdHkoKSA/IHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgPyBpbnZhcmlhbnQoZmFsc2UsICdgaW5zZXJ0RnJhZ21lbnRgIHNob3VsZCBub3QgYmUgY2FsbGVkIHdoZW4gYSBjb250YWluZXIgbm9kZSBpcyBzZWxlY3RlZC4nKSA6IGludmFyaWFudChmYWxzZSkgOiB2b2lkIDA7XG4gIH1cblxuICAvLyBXaGVuIHdlIGluc2VydCBhIGZyYWdtZW50IHdpdGggYSBzaW5nbGUgYmxvY2sgd2Ugc2ltcGx5IHVwZGF0ZSB0aGUgdGFyZ2V0IGJsb2NrXG4gIC8vIHdpdGggdGhlIGNvbnRlbnRzIG9mIHRoZSBpbnNlcnRlZCBmcmFnbWVudCBibG9ja1xuICBpZiAoZnJhZ21lbnQuc2l6ZSA9PT0gMSkge1xuICAgIHJldHVybiB1cGRhdGVFeGlzdGluZ0Jsb2NrKGNvbnRlbnRTdGF0ZSwgc2VsZWN0aW9uU3RhdGUsIGJsb2NrTWFwLCBmcmFnbWVudC5maXJzdCgpLCB0YXJnZXRLZXksIHRhcmdldE9mZnNldCk7XG4gIH1cblxuICByZXR1cm4gaW5zZXJ0RnJhZ21lbnQoY29udGVudFN0YXRlLCBzZWxlY3Rpb25TdGF0ZSwgYmxvY2tNYXAsIGZyYWdtZW50LCB0YXJnZXRLZXksIHRhcmdldE9mZnNldCk7XG59O1xuXG5tb2R1bGUuZXhwb3J0cyA9IGluc2VydEZyYWdtZW50SW50b0NvbnRlbnRTdGF0ZTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/insertFragmentIntoContentState.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nvar BlockMapBuilder = __webpack_require__(/*! ./BlockMapBuilder */ \"./node_modules/draft-js/lib/BlockMapBuilder.js\");\n\nvar ContentBlockNode = __webpack_require__(/*! ./ContentBlockNode */ \"./node_modules/draft-js/lib/ContentBlockNode.js\");\n\nvar Immutable = __webpack_require__(/*! immutable */ \"./node_modules/draft-js/node_modules/immutable/dist/immutable.js\");\n\nvar insertIntoList = __webpack_require__(/*! ./insertIntoList */ \"./node_modules/draft-js/lib/insertIntoList.js\");\n\nvar invariant = __webpack_require__(/*! fbjs/lib/invariant */ \"./node_modules/fbjs/lib/invariant.js\");\n\nvar randomizeBlockMapKeys = __webpack_require__(/*! ./randomizeBlockMapKeys */ \"./node_modules/draft-js/lib/randomizeBlockMapKeys.js\");\n\nvar List = Immutable.List;\n\nvar updateExistingBlock = function updateExistingBlock(contentState, selectionState, blockMap, fragmentBlock, targetKey, targetOffset) {\n var mergeBlockData = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : 'REPLACE_WITH_NEW_DATA';\n var targetBlock = blockMap.get(targetKey);\n var text = targetBlock.getText();\n var chars = targetBlock.getCharacterList();\n var finalKey = targetKey;\n var finalOffset = targetOffset + fragmentBlock.getText().length;\n var data = null;\n\n switch (mergeBlockData) {\n case 'MERGE_OLD_DATA_TO_NEW_DATA':\n data = fragmentBlock.getData().merge(targetBlock.getData());\n break;\n\n case 'REPLACE_WITH_NEW_DATA':\n data = fragmentBlock.getData();\n break;\n }\n\n var newBlock = targetBlock.merge({\n text: text.slice(0, targetOffset) + fragmentBlock.getText() + text.slice(targetOffset),\n characterList: insertIntoList(chars, fragmentBlock.getCharacterList(), targetOffset),\n data: data\n });\n return contentState.merge({\n blockMap: blockMap.set(targetKey, newBlock),\n selectionBefore: selectionState,\n selectionAfter: selectionState.merge({\n anchorKey: finalKey,\n anchorOffset: finalOffset,\n focusKey: finalKey,\n focusOffset: finalOffset,\n isBackward: false\n })\n });\n};\n/**\n * Appends text/characterList from the fragment first block to\n * target block.\n */\n\n\nvar updateHead = function updateHead(block, targetOffset, fragment) {\n var text = block.getText();\n var chars = block.getCharacterList(); // Modify head portion of block.\n\n var headText = text.slice(0, targetOffset);\n var headCharacters = chars.slice(0, targetOffset);\n var appendToHead = fragment.first();\n return block.merge({\n text: headText + appendToHead.getText(),\n characterList: headCharacters.concat(appendToHead.getCharacterList()),\n type: headText ? block.getType() : appendToHead.getType(),\n data: appendToHead.getData()\n });\n};\n/**\n * Appends offset text/characterList from the target block to the last\n * fragment block.\n */\n\n\nvar updateTail = function updateTail(block, targetOffset, fragment) {\n // Modify tail portion of block.\n var text = block.getText();\n var chars = block.getCharacterList(); // Modify head portion of block.\n\n var blockSize = text.length;\n var tailText = text.slice(targetOffset, blockSize);\n var tailCharacters = chars.slice(targetOffset, blockSize);\n var prependToTail = fragment.last();\n return prependToTail.merge({\n text: prependToTail.getText() + tailText,\n characterList: prependToTail.getCharacterList().concat(tailCharacters),\n data: prependToTail.getData()\n });\n};\n\nvar getRootBlocks = function getRootBlocks(block, blockMap) {\n var headKey = block.getKey();\n var rootBlock = block;\n var rootBlocks = []; // sometimes the fragment head block will not be part of the blockMap itself this can happen when\n // the fragment head is used to update the target block, however when this does not happen we need\n // to make sure that we include it on the rootBlocks since the first block of a fragment is always a\n // fragment root block\n\n if (blockMap.get(headKey)) {\n rootBlocks.push(headKey);\n }\n\n while (rootBlock && rootBlock.getNextSiblingKey()) {\n var lastSiblingKey = rootBlock.getNextSiblingKey();\n\n if (!lastSiblingKey) {\n break;\n }\n\n rootBlocks.push(lastSiblingKey);\n rootBlock = blockMap.get(lastSiblingKey);\n }\n\n return rootBlocks;\n};\n\nvar updateBlockMapLinks = function updateBlockMapLinks(blockMap, originalBlockMap, targetBlock, fragmentHeadBlock) {\n return blockMap.withMutations(function (blockMapState) {\n var targetKey = targetBlock.getKey();\n var headKey = fragmentHeadBlock.getKey();\n var targetNextKey = targetBlock.getNextSiblingKey();\n var targetParentKey = targetBlock.getParentKey();\n var fragmentRootBlocks = getRootBlocks(fragmentHeadBlock, blockMap);\n var lastRootFragmentBlockKey = fragmentRootBlocks[fragmentRootBlocks.length - 1];\n\n if (blockMapState.get(headKey)) {\n // update the fragment head when it is part of the blockMap otherwise\n blockMapState.setIn([targetKey, 'nextSibling'], headKey);\n blockMapState.setIn([headKey, 'prevSibling'], targetKey);\n } else {\n // update the target block that had the fragment head contents merged into it\n blockMapState.setIn([targetKey, 'nextSibling'], fragmentHeadBlock.getNextSiblingKey());\n blockMapState.setIn([fragmentHeadBlock.getNextSiblingKey(), 'prevSibling'], targetKey);\n } // update the last root block fragment\n\n\n blockMapState.setIn([lastRootFragmentBlockKey, 'nextSibling'], targetNextKey); // update the original target next block\n\n if (targetNextKey) {\n blockMapState.setIn([targetNextKey, 'prevSibling'], lastRootFragmentBlockKey);\n } // update fragment parent links\n\n\n fragmentRootBlocks.forEach(function (blockKey) {\n return blockMapState.setIn([blockKey, 'parent'], targetParentKey);\n }); // update targetBlock parent child links\n\n if (targetParentKey) {\n var targetParent = blockMap.get(targetParentKey);\n var originalTargetParentChildKeys = targetParent.getChildKeys();\n var targetBlockIndex = originalTargetParentChildKeys.indexOf(targetKey);\n var insertionIndex = targetBlockIndex + 1;\n var newChildrenKeysArray = originalTargetParentChildKeys.toArray(); // insert fragment children\n\n newChildrenKeysArray.splice.apply(newChildrenKeysArray, [insertionIndex, 0].concat(fragmentRootBlocks));\n blockMapState.setIn([targetParentKey, 'children'], List(newChildrenKeysArray));\n }\n });\n};\n\nvar insertFragment = function insertFragment(contentState, selectionState, blockMap, fragment, targetKey, targetOffset) {\n var isTreeBasedBlockMap = blockMap.first() instanceof ContentBlockNode;\n var newBlockArr = [];\n var fragmentSize = fragment.size;\n var target = blockMap.get(targetKey);\n var head = fragment.first();\n var tail = fragment.last();\n var finalOffset = tail.getLength();\n var finalKey = tail.getKey();\n var shouldNotUpdateFromFragmentBlock = isTreeBasedBlockMap && (!target.getChildKeys().isEmpty() || !head.getChildKeys().isEmpty());\n blockMap.forEach(function (block, blockKey) {\n if (blockKey !== targetKey) {\n newBlockArr.push(block);\n return;\n }\n\n if (shouldNotUpdateFromFragmentBlock) {\n newBlockArr.push(block);\n } else {\n newBlockArr.push(updateHead(block, targetOffset, fragment));\n } // Insert fragment blocks after the head and before the tail.\n\n\n fragment // when we are updating the target block with the head fragment block we skip the first fragment\n // head since its contents have already been merged with the target block otherwise we include\n // the whole fragment\n .slice(shouldNotUpdateFromFragmentBlock ? 0 : 1, fragmentSize - 1).forEach(function (fragmentBlock) {\n return newBlockArr.push(fragmentBlock);\n }); // update tail\n\n newBlockArr.push(updateTail(block, targetOffset, fragment));\n });\n var updatedBlockMap = BlockMapBuilder.createFromArray(newBlockArr);\n\n if (isTreeBasedBlockMap) {\n updatedBlockMap = updateBlockMapLinks(updatedBlockMap, blockMap, target, head);\n }\n\n return contentState.merge({\n blockMap: updatedBlockMap,\n selectionBefore: selectionState,\n selectionAfter: selectionState.merge({\n anchorKey: finalKey,\n anchorOffset: finalOffset,\n focusKey: finalKey,\n focusOffset: finalOffset,\n isBackward: false\n })\n });\n};\n\nvar insertFragmentIntoContentState = function insertFragmentIntoContentState(contentState, selectionState, fragmentBlockMap) {\n var mergeBlockData = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 'REPLACE_WITH_NEW_DATA';\n !selectionState.isCollapsed() ? true ? invariant(false, '`insertFragment` should only be called with a collapsed selection state.') : undefined : void 0;\n var blockMap = contentState.getBlockMap();\n var fragment = randomizeBlockMapKeys(fragmentBlockMap);\n var targetKey = selectionState.getStartKey();\n var targetOffset = selectionState.getStartOffset();\n var targetBlock = blockMap.get(targetKey);\n\n if (targetBlock instanceof ContentBlockNode) {\n !targetBlock.getChildKeys().isEmpty() ? true ? invariant(false, '`insertFragment` should not be called when a container node is selected.') : undefined : void 0;\n } // When we insert a fragment with a single block we simply update the target block\n // with the contents of the inserted fragment block\n\n\n if (fragment.size === 1) {\n return updateExistingBlock(contentState, selectionState, blockMap, fragment.first(), targetKey, targetOffset, mergeBlockData);\n }\n\n return insertFragment(contentState, selectionState, blockMap, fragment, targetKey, targetOffset);\n};\n\nmodule.exports = insertFragmentIntoContentState;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2luc2VydEZyYWdtZW50SW50b0NvbnRlbnRTdGF0ZS5qcz8yZjYxIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ2E7O0FBRWIsc0JBQXNCLG1CQUFPLENBQUMseUVBQW1COztBQUVqRCx1QkFBdUIsbUJBQU8sQ0FBQywyRUFBb0I7O0FBRW5ELGdCQUFnQixtQkFBTyxDQUFDLG1GQUFXOztBQUVuQyxxQkFBcUIsbUJBQU8sQ0FBQyx1RUFBa0I7O0FBRS9DLGdCQUFnQixtQkFBTyxDQUFDLGdFQUFvQjs7QUFFNUMsNEJBQTRCLG1CQUFPLENBQUMscUZBQXlCOztBQUU3RDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTCxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBLHVDQUF1Qzs7QUFFdkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQSx1Q0FBdUM7O0FBRXZDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0Esc0JBQXNCO0FBQ3RCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLOzs7QUFHTCxrRkFBa0Y7O0FBRWxGO0FBQ0E7QUFDQSxLQUFLOzs7QUFHTDtBQUNBO0FBQ0EsS0FBSyxFQUFFOztBQUVQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5RUFBeUU7O0FBRXpFO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLEtBQUs7OztBQUdMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLLEVBQUU7O0FBRVA7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTCxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBLGtDQUFrQyxLQUFxQyxrR0FBa0csU0FBZ0I7QUFDekw7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLDRDQUE0QyxLQUFxQyxrR0FBa0csU0FBZ0I7QUFDbk0sR0FBRztBQUNIOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvaW5zZXJ0RnJhZ21lbnRJbnRvQ29udGVudFN0YXRlLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIEZhY2Vib29rLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKiBAZm9ybWF0XG4gKiBcbiAqIEBlbWFpbHMgb25jYWxsK2RyYWZ0X2pzXG4gKi9cbid1c2Ugc3RyaWN0JztcblxudmFyIEJsb2NrTWFwQnVpbGRlciA9IHJlcXVpcmUoXCIuL0Jsb2NrTWFwQnVpbGRlclwiKTtcblxudmFyIENvbnRlbnRCbG9ja05vZGUgPSByZXF1aXJlKFwiLi9Db250ZW50QmxvY2tOb2RlXCIpO1xuXG52YXIgSW1tdXRhYmxlID0gcmVxdWlyZShcImltbXV0YWJsZVwiKTtcblxudmFyIGluc2VydEludG9MaXN0ID0gcmVxdWlyZShcIi4vaW5zZXJ0SW50b0xpc3RcIik7XG5cbnZhciBpbnZhcmlhbnQgPSByZXF1aXJlKFwiZmJqcy9saWIvaW52YXJpYW50XCIpO1xuXG52YXIgcmFuZG9taXplQmxvY2tNYXBLZXlzID0gcmVxdWlyZShcIi4vcmFuZG9taXplQmxvY2tNYXBLZXlzXCIpO1xuXG52YXIgTGlzdCA9IEltbXV0YWJsZS5MaXN0O1xuXG52YXIgdXBkYXRlRXhpc3RpbmdCbG9jayA9IGZ1bmN0aW9uIHVwZGF0ZUV4aXN0aW5nQmxvY2soY29udGVudFN0YXRlLCBzZWxlY3Rpb25TdGF0ZSwgYmxvY2tNYXAsIGZyYWdtZW50QmxvY2ssIHRhcmdldEtleSwgdGFyZ2V0T2Zmc2V0KSB7XG4gIHZhciBtZXJnZUJsb2NrRGF0YSA9IGFyZ3VtZW50cy5sZW5ndGggPiA2ICYmIGFyZ3VtZW50c1s2XSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzZdIDogJ1JFUExBQ0VfV0lUSF9ORVdfREFUQSc7XG4gIHZhciB0YXJnZXRCbG9jayA9IGJsb2NrTWFwLmdldCh0YXJnZXRLZXkpO1xuICB2YXIgdGV4dCA9IHRhcmdldEJsb2NrLmdldFRleHQoKTtcbiAgdmFyIGNoYXJzID0gdGFyZ2V0QmxvY2suZ2V0Q2hhcmFjdGVyTGlzdCgpO1xuICB2YXIgZmluYWxLZXkgPSB0YXJnZXRLZXk7XG4gIHZhciBmaW5hbE9mZnNldCA9IHRhcmdldE9mZnNldCArIGZyYWdtZW50QmxvY2suZ2V0VGV4dCgpLmxlbmd0aDtcbiAgdmFyIGRhdGEgPSBudWxsO1xuXG4gIHN3aXRjaCAobWVyZ2VCbG9ja0RhdGEpIHtcbiAgICBjYXNlICdNRVJHRV9PTERfREFUQV9UT19ORVdfREFUQSc6XG4gICAgICBkYXRhID0gZnJhZ21lbnRCbG9jay5nZXREYXRhKCkubWVyZ2UodGFyZ2V0QmxvY2suZ2V0RGF0YSgpKTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAnUkVQTEFDRV9XSVRIX05FV19EQVRBJzpcbiAgICAgIGRhdGEgPSBmcmFnbWVudEJsb2NrLmdldERhdGEoKTtcbiAgICAgIGJyZWFrO1xuICB9XG5cbiAgdmFyIG5ld0Jsb2NrID0gdGFyZ2V0QmxvY2subWVyZ2Uoe1xuICAgIHRleHQ6IHRleHQuc2xpY2UoMCwgdGFyZ2V0T2Zmc2V0KSArIGZyYWdtZW50QmxvY2suZ2V0VGV4dCgpICsgdGV4dC5zbGljZSh0YXJnZXRPZmZzZXQpLFxuICAgIGNoYXJhY3Rlckxpc3Q6IGluc2VydEludG9MaXN0KGNoYXJzLCBmcmFnbWVudEJsb2NrLmdldENoYXJhY3Rlckxpc3QoKSwgdGFyZ2V0T2Zmc2V0KSxcbiAgICBkYXRhOiBkYXRhXG4gIH0pO1xuICByZXR1cm4gY29udGVudFN0YXRlLm1lcmdlKHtcbiAgICBibG9ja01hcDogYmxvY2tNYXAuc2V0KHRhcmdldEtleSwgbmV3QmxvY2spLFxuICAgIHNlbGVjdGlvbkJlZm9yZTogc2VsZWN0aW9uU3RhdGUsXG4gICAgc2VsZWN0aW9uQWZ0ZXI6IHNlbGVjdGlvblN0YXRlLm1lcmdlKHtcbiAgICAgIGFuY2hvcktleTogZmluYWxLZXksXG4gICAgICBhbmNob3JPZmZzZXQ6IGZpbmFsT2Zmc2V0LFxuICAgICAgZm9jdXNLZXk6IGZpbmFsS2V5LFxuICAgICAgZm9jdXNPZmZzZXQ6IGZpbmFsT2Zmc2V0LFxuICAgICAgaXNCYWNrd2FyZDogZmFsc2VcbiAgICB9KVxuICB9KTtcbn07XG4vKipcbiAqIEFwcGVuZHMgdGV4dC9jaGFyYWN0ZXJMaXN0IGZyb20gdGhlIGZyYWdtZW50IGZpcnN0IGJsb2NrIHRvXG4gKiB0YXJnZXQgYmxvY2suXG4gKi9cblxuXG52YXIgdXBkYXRlSGVhZCA9IGZ1bmN0aW9uIHVwZGF0ZUhlYWQoYmxvY2ssIHRhcmdldE9mZnNldCwgZnJhZ21lbnQpIHtcbiAgdmFyIHRleHQgPSBibG9jay5nZXRUZXh0KCk7XG4gIHZhciBjaGFycyA9IGJsb2NrLmdldENoYXJhY3Rlckxpc3QoKTsgLy8gTW9kaWZ5IGhlYWQgcG9ydGlvbiBvZiBibG9jay5cblxuICB2YXIgaGVhZFRleHQgPSB0ZXh0LnNsaWNlKDAsIHRhcmdldE9mZnNldCk7XG4gIHZhciBoZWFkQ2hhcmFjdGVycyA9IGNoYXJzLnNsaWNlKDAsIHRhcmdldE9mZnNldCk7XG4gIHZhciBhcHBlbmRUb0hlYWQgPSBmcmFnbWVudC5maXJzdCgpO1xuICByZXR1cm4gYmxvY2subWVyZ2Uoe1xuICAgIHRleHQ6IGhlYWRUZXh0ICsgYXBwZW5kVG9IZWFkLmdldFRleHQoKSxcbiAgICBjaGFyYWN0ZXJMaXN0OiBoZWFkQ2hhcmFjdGVycy5jb25jYXQoYXBwZW5kVG9IZWFkLmdldENoYXJhY3Rlckxpc3QoKSksXG4gICAgdHlwZTogaGVhZFRleHQgPyBibG9jay5nZXRUeXBlKCkgOiBhcHBlbmRUb0hlYWQuZ2V0VHlwZSgpLFxuICAgIGRhdGE6IGFwcGVuZFRvSGVhZC5nZXREYXRhKClcbiAgfSk7XG59O1xuLyoqXG4gKiBBcHBlbmRzIG9mZnNldCB0ZXh0L2NoYXJhY3Rlckxpc3QgZnJvbSB0aGUgdGFyZ2V0IGJsb2NrIHRvIHRoZSBsYXN0XG4gKiBmcmFnbWVudCBibG9jay5cbiAqL1xuXG5cbnZhciB1cGRhdGVUYWlsID0gZnVuY3Rpb24gdXBkYXRlVGFpbChibG9jaywgdGFyZ2V0T2Zmc2V0LCBmcmFnbWVudCkge1xuICAvLyBNb2RpZnkgdGFpbCBwb3J0aW9uIG9mIGJsb2NrLlxuICB2YXIgdGV4dCA9IGJsb2NrLmdldFRleHQoKTtcbiAgdmFyIGNoYXJzID0gYmxvY2suZ2V0Q2hhcmFjdGVyTGlzdCgpOyAvLyBNb2RpZnkgaGVhZCBwb3J0aW9uIG9mIGJsb2NrLlxuXG4gIHZhciBibG9ja1NpemUgPSB0ZXh0Lmxlbmd0aDtcbiAgdmFyIHRhaWxUZXh0ID0gdGV4dC5zbGljZSh0YXJnZXRPZmZzZXQsIGJsb2NrU2l6ZSk7XG4gIHZhciB0YWlsQ2hhcmFjdGVycyA9IGNoYXJzLnNsaWNlKHRhcmdldE9mZnNldCwgYmxvY2tTaXplKTtcbiAgdmFyIHByZXBlbmRUb1RhaWwgPSBmcmFnbWVudC5sYXN0KCk7XG4gIHJldHVybiBwcmVwZW5kVG9UYWlsLm1lcmdlKHtcbiAgICB0ZXh0OiBwcmVwZW5kVG9UYWlsLmdldFRleHQoKSArIHRhaWxUZXh0LFxuICAgIGNoYXJhY3Rlckxpc3Q6IHByZXBlbmRUb1RhaWwuZ2V0Q2hhcmFjdGVyTGlzdCgpLmNvbmNhdCh0YWlsQ2hhcmFjdGVycyksXG4gICAgZGF0YTogcHJlcGVuZFRvVGFpbC5nZXREYXRhKClcbiAgfSk7XG59O1xuXG52YXIgZ2V0Um9vdEJsb2NrcyA9IGZ1bmN0aW9uIGdldFJvb3RCbG9ja3MoYmxvY2ssIGJsb2NrTWFwKSB7XG4gIHZhciBoZWFkS2V5ID0gYmxvY2suZ2V0S2V5KCk7XG4gIHZhciByb290QmxvY2sgPSBibG9jaztcbiAgdmFyIHJvb3RCbG9ja3MgPSBbXTsgLy8gc29tZXRpbWVzIHRoZSBmcmFnbWVudCBoZWFkIGJsb2NrIHdpbGwgbm90IGJlIHBhcnQgb2YgdGhlIGJsb2NrTWFwIGl0c2VsZiB0aGlzIGNhbiBoYXBwZW4gd2hlblxuICAvLyB0aGUgZnJhZ21lbnQgaGVhZCBpcyB1c2VkIHRvIHVwZGF0ZSB0aGUgdGFyZ2V0IGJsb2NrLCBob3dldmVyIHdoZW4gdGhpcyBkb2VzIG5vdCBoYXBwZW4gd2UgbmVlZFxuICAvLyB0byBtYWtlIHN1cmUgdGhhdCB3ZSBpbmNsdWRlIGl0IG9uIHRoZSByb290QmxvY2tzIHNpbmNlIHRoZSBmaXJzdCBibG9jayBvZiBhIGZyYWdtZW50IGlzIGFsd2F5cyBhXG4gIC8vIGZyYWdtZW50IHJvb3QgYmxvY2tcblxuICBpZiAoYmxvY2tNYXAuZ2V0KGhlYWRLZXkpKSB7XG4gICAgcm9vdEJsb2Nrcy5wdXNoKGhlYWRLZXkpO1xuICB9XG5cbiAgd2hpbGUgKHJvb3RCbG9jayAmJiByb290QmxvY2suZ2V0TmV4dFNpYmxpbmdLZXkoKSkge1xuICAgIHZhciBsYXN0U2libGluZ0tleSA9IHJvb3RCbG9jay5nZXROZXh0U2libGluZ0tleSgpO1xuXG4gICAgaWYgKCFsYXN0U2libGluZ0tleSkge1xuICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgcm9vdEJsb2Nrcy5wdXNoKGxhc3RTaWJsaW5nS2V5KTtcbiAgICByb290QmxvY2sgPSBibG9ja01hcC5nZXQobGFzdFNpYmxpbmdLZXkpO1xuICB9XG5cbiAgcmV0dXJuIHJvb3RCbG9ja3M7XG59O1xuXG52YXIgdXBkYXRlQmxvY2tNYXBMaW5rcyA9IGZ1bmN0aW9uIHVwZGF0ZUJsb2NrTWFwTGlua3MoYmxvY2tNYXAsIG9yaWdpbmFsQmxvY2tNYXAsIHRhcmdldEJsb2NrLCBmcmFnbWVudEhlYWRCbG9jaykge1xuICByZXR1cm4gYmxvY2tNYXAud2l0aE11dGF0aW9ucyhmdW5jdGlvbiAoYmxvY2tNYXBTdGF0ZSkge1xuICAgIHZhciB0YXJnZXRLZXkgPSB0YXJnZXRCbG9jay5nZXRLZXkoKTtcbiAgICB2YXIgaGVhZEtleSA9IGZyYWdtZW50SGVhZEJsb2NrLmdldEtleSgpO1xuICAgIHZhciB0YXJnZXROZXh0S2V5ID0gdGFyZ2V0QmxvY2suZ2V0TmV4dFNpYmxpbmdLZXkoKTtcbiAgICB2YXIgdGFyZ2V0UGFyZW50S2V5ID0gdGFyZ2V0QmxvY2suZ2V0UGFyZW50S2V5KCk7XG4gICAgdmFyIGZyYWdtZW50Um9vdEJsb2NrcyA9IGdldFJvb3RCbG9ja3MoZnJhZ21lbnRIZWFkQmxvY2ssIGJsb2NrTWFwKTtcbiAgICB2YXIgbGFzdFJvb3RGcmFnbWVudEJsb2NrS2V5ID0gZnJhZ21lbnRSb290QmxvY2tzW2ZyYWdtZW50Um9vdEJsb2Nrcy5sZW5ndGggLSAxXTtcblxuICAgIGlmIChibG9ja01hcFN0YXRlLmdldChoZWFkS2V5KSkge1xuICAgICAgLy8gdXBkYXRlIHRoZSBmcmFnbWVudCBoZWFkIHdoZW4gaXQgaXMgcGFydCBvZiB0aGUgYmxvY2tNYXAgb3RoZXJ3aXNlXG4gICAgICBibG9ja01hcFN0YXRlLnNldEluKFt0YXJnZXRLZXksICduZXh0U2libGluZyddLCBoZWFkS2V5KTtcbiAgICAgIGJsb2NrTWFwU3RhdGUuc2V0SW4oW2hlYWRLZXksICdwcmV2U2libGluZyddLCB0YXJnZXRLZXkpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyB1cGRhdGUgdGhlIHRhcmdldCBibG9jayB0aGF0IGhhZCB0aGUgZnJhZ21lbnQgaGVhZCBjb250ZW50cyBtZXJnZWQgaW50byBpdFxuICAgICAgYmxvY2tNYXBTdGF0ZS5zZXRJbihbdGFyZ2V0S2V5LCAnbmV4dFNpYmxpbmcnXSwgZnJhZ21lbnRIZWFkQmxvY2suZ2V0TmV4dFNpYmxpbmdLZXkoKSk7XG4gICAgICBibG9ja01hcFN0YXRlLnNldEluKFtmcmFnbWVudEhlYWRCbG9jay5nZXROZXh0U2libGluZ0tleSgpLCAncHJldlNpYmxpbmcnXSwgdGFyZ2V0S2V5KTtcbiAgICB9IC8vIHVwZGF0ZSB0aGUgbGFzdCByb290IGJsb2NrIGZyYWdtZW50XG5cblxuICAgIGJsb2NrTWFwU3RhdGUuc2V0SW4oW2xhc3RSb290RnJhZ21lbnRCbG9ja0tleSwgJ25leHRTaWJsaW5nJ10sIHRhcmdldE5leHRLZXkpOyAvLyB1cGRhdGUgdGhlIG9yaWdpbmFsIHRhcmdldCBuZXh0IGJsb2NrXG5cbiAgICBpZiAodGFyZ2V0TmV4dEtleSkge1xuICAgICAgYmxvY2tNYXBTdGF0ZS5zZXRJbihbdGFyZ2V0TmV4dEtleSwgJ3ByZXZTaWJsaW5nJ10sIGxhc3RSb290RnJhZ21lbnRCbG9ja0tleSk7XG4gICAgfSAvLyB1cGRhdGUgZnJhZ21lbnQgcGFyZW50IGxpbmtzXG5cblxuICAgIGZyYWdtZW50Um9vdEJsb2Nrcy5mb3JFYWNoKGZ1bmN0aW9uIChibG9ja0tleSkge1xuICAgICAgcmV0dXJuIGJsb2NrTWFwU3RhdGUuc2V0SW4oW2Jsb2NrS2V5LCAncGFyZW50J10sIHRhcmdldFBhcmVudEtleSk7XG4gICAgfSk7IC8vIHVwZGF0ZSB0YXJnZXRCbG9jayBwYXJlbnQgY2hpbGQgbGlua3NcblxuICAgIGlmICh0YXJnZXRQYXJlbnRLZXkpIHtcbiAgICAgIHZhciB0YXJnZXRQYXJlbnQgPSBibG9ja01hcC5nZXQodGFyZ2V0UGFyZW50S2V5KTtcbiAgICAgIHZhciBvcmlnaW5hbFRhcmdldFBhcmVudENoaWxkS2V5cyA9IHRhcmdldFBhcmVudC5nZXRDaGlsZEtleXMoKTtcbiAgICAgIHZhciB0YXJnZXRCbG9ja0luZGV4ID0gb3JpZ2luYWxUYXJnZXRQYXJlbnRDaGlsZEtleXMuaW5kZXhPZih0YXJnZXRLZXkpO1xuICAgICAgdmFyIGluc2VydGlvbkluZGV4ID0gdGFyZ2V0QmxvY2tJbmRleCArIDE7XG4gICAgICB2YXIgbmV3Q2hpbGRyZW5LZXlzQXJyYXkgPSBvcmlnaW5hbFRhcmdldFBhcmVudENoaWxkS2V5cy50b0FycmF5KCk7IC8vIGluc2VydCBmcmFnbWVudCBjaGlsZHJlblxuXG4gICAgICBuZXdDaGlsZHJlbktleXNBcnJheS5zcGxpY2UuYXBwbHkobmV3Q2hpbGRyZW5LZXlzQXJyYXksIFtpbnNlcnRpb25JbmRleCwgMF0uY29uY2F0KGZyYWdtZW50Um9vdEJsb2NrcykpO1xuICAgICAgYmxvY2tNYXBTdGF0ZS5zZXRJbihbdGFyZ2V0UGFyZW50S2V5LCAnY2hpbGRyZW4nXSwgTGlzdChuZXdDaGlsZHJlbktleXNBcnJheSkpO1xuICAgIH1cbiAgfSk7XG59O1xuXG52YXIgaW5zZXJ0RnJhZ21lbnQgPSBmdW5jdGlvbiBpbnNlcnRGcmFnbWVudChjb250ZW50U3RhdGUsIHNlbGVjdGlvblN0YXRlLCBibG9ja01hcCwgZnJhZ21lbnQsIHRhcmdldEtleSwgdGFyZ2V0T2Zmc2V0KSB7XG4gIHZhciBpc1RyZWVCYXNlZEJsb2NrTWFwID0gYmxvY2tNYXAuZmlyc3QoKSBpbnN0YW5jZW9mIENvbnRlbnRCbG9ja05vZGU7XG4gIHZhciBuZXdCbG9ja0FyciA9IFtdO1xuICB2YXIgZnJhZ21lbnRTaXplID0gZnJhZ21lbnQuc2l6ZTtcbiAgdmFyIHRhcmdldCA9IGJsb2NrTWFwLmdldCh0YXJnZXRLZXkpO1xuICB2YXIgaGVhZCA9IGZyYWdtZW50LmZpcnN0KCk7XG4gIHZhciB0YWlsID0gZnJhZ21lbnQubGFzdCgpO1xuICB2YXIgZmluYWxPZmZzZXQgPSB0YWlsLmdldExlbmd0aCgpO1xuICB2YXIgZmluYWxLZXkgPSB0YWlsLmdldEtleSgpO1xuICB2YXIgc2hvdWxkTm90VXBkYXRlRnJvbUZyYWdtZW50QmxvY2sgPSBpc1RyZWVCYXNlZEJsb2NrTWFwICYmICghdGFyZ2V0LmdldENoaWxkS2V5cygpLmlzRW1wdHkoKSB8fCAhaGVhZC5nZXRDaGlsZEtleXMoKS5pc0VtcHR5KCkpO1xuICBibG9ja01hcC5mb3JFYWNoKGZ1bmN0aW9uIChibG9jaywgYmxvY2tLZXkpIHtcbiAgICBpZiAoYmxvY2tLZXkgIT09IHRhcmdldEtleSkge1xuICAgICAgbmV3QmxvY2tBcnIucHVzaChibG9jayk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHNob3VsZE5vdFVwZGF0ZUZyb21GcmFnbWVudEJsb2NrKSB7XG4gICAgICBuZXdCbG9ja0Fyci5wdXNoKGJsb2NrKTtcbiAgICB9IGVsc2Uge1xuICAgICAgbmV3QmxvY2tBcnIucHVzaCh1cGRhdGVIZWFkKGJsb2NrLCB0YXJnZXRPZmZzZXQsIGZyYWdtZW50KSk7XG4gICAgfSAvLyBJbnNlcnQgZnJhZ21lbnQgYmxvY2tzIGFmdGVyIHRoZSBoZWFkIGFuZCBiZWZvcmUgdGhlIHRhaWwuXG5cblxuICAgIGZyYWdtZW50IC8vIHdoZW4gd2UgYXJlIHVwZGF0aW5nIHRoZSB0YXJnZXQgYmxvY2sgd2l0aCB0aGUgaGVhZCBmcmFnbWVudCBibG9jayB3ZSBza2lwIHRoZSBmaXJzdCBmcmFnbWVudFxuICAgIC8vIGhlYWQgc2luY2UgaXRzIGNvbnRlbnRzIGhhdmUgYWxyZWFkeSBiZWVuIG1lcmdlZCB3aXRoIHRoZSB0YXJnZXQgYmxvY2sgb3RoZXJ3aXNlIHdlIGluY2x1ZGVcbiAgICAvLyB0aGUgd2hvbGUgZnJhZ21lbnRcbiAgICAuc2xpY2Uoc2hvdWxkTm90VXBkYXRlRnJvbUZyYWdtZW50QmxvY2sgPyAwIDogMSwgZnJhZ21lbnRTaXplIC0gMSkuZm9yRWFjaChmdW5jdGlvbiAoZnJhZ21lbnRCbG9jaykge1xuICAgICAgcmV0dXJuIG5ld0Jsb2NrQXJyLnB1c2goZnJhZ21lbnRCbG9jayk7XG4gICAgfSk7IC8vIHVwZGF0ZSB0YWlsXG5cbiAgICBuZXdCbG9ja0Fyci5wdXNoKHVwZGF0ZVRhaWwoYmxvY2ssIHRhcmdldE9mZnNldCwgZnJhZ21lbnQpKTtcbiAgfSk7XG4gIHZhciB1cGRhdGVkQmxvY2tNYXAgPSBCbG9ja01hcEJ1aWxkZXIuY3JlYXRlRnJvbUFycmF5KG5ld0Jsb2NrQXJyKTtcblxuICBpZiAoaXNUcmVlQmFzZWRCbG9ja01hcCkge1xuICAgIHVwZGF0ZWRCbG9ja01hcCA9IHVwZGF0ZUJsb2NrTWFwTGlua3ModXBkYXRlZEJsb2NrTWFwLCBibG9ja01hcCwgdGFyZ2V0LCBoZWFkKTtcbiAgfVxuXG4gIHJldHVybiBjb250ZW50U3RhdGUubWVyZ2Uoe1xuICAgIGJsb2NrTWFwOiB1cGRhdGVkQmxvY2tNYXAsXG4gICAgc2VsZWN0aW9uQmVmb3JlOiBzZWxlY3Rpb25TdGF0ZSxcbiAgICBzZWxlY3Rpb25BZnRlcjogc2VsZWN0aW9uU3RhdGUubWVyZ2Uoe1xuICAgICAgYW5jaG9yS2V5OiBmaW5hbEtleSxcbiAgICAgIGFuY2hvck9mZnNldDogZmluYWxPZmZzZXQsXG4gICAgICBmb2N1c0tleTogZmluYWxLZXksXG4gICAgICBmb2N1c09mZnNldDogZmluYWxPZmZzZXQsXG4gICAgICBpc0JhY2t3YXJkOiBmYWxzZVxuICAgIH0pXG4gIH0pO1xufTtcblxudmFyIGluc2VydEZyYWdtZW50SW50b0NvbnRlbnRTdGF0ZSA9IGZ1bmN0aW9uIGluc2VydEZyYWdtZW50SW50b0NvbnRlbnRTdGF0ZShjb250ZW50U3RhdGUsIHNlbGVjdGlvblN0YXRlLCBmcmFnbWVudEJsb2NrTWFwKSB7XG4gIHZhciBtZXJnZUJsb2NrRGF0YSA9IGFyZ3VtZW50cy5sZW5ndGggPiAzICYmIGFyZ3VtZW50c1szXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzNdIDogJ1JFUExBQ0VfV0lUSF9ORVdfREFUQSc7XG4gICFzZWxlY3Rpb25TdGF0ZS5pc0NvbGxhcHNlZCgpID8gcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiID8gaW52YXJpYW50KGZhbHNlLCAnYGluc2VydEZyYWdtZW50YCBzaG91bGQgb25seSBiZSBjYWxsZWQgd2l0aCBhIGNvbGxhcHNlZCBzZWxlY3Rpb24gc3RhdGUuJykgOiBpbnZhcmlhbnQoZmFsc2UpIDogdm9pZCAwO1xuICB2YXIgYmxvY2tNYXAgPSBjb250ZW50U3RhdGUuZ2V0QmxvY2tNYXAoKTtcbiAgdmFyIGZyYWdtZW50ID0gcmFuZG9taXplQmxvY2tNYXBLZXlzKGZyYWdtZW50QmxvY2tNYXApO1xuICB2YXIgdGFyZ2V0S2V5ID0gc2VsZWN0aW9uU3RhdGUuZ2V0U3RhcnRLZXkoKTtcbiAgdmFyIHRhcmdldE9mZnNldCA9IHNlbGVjdGlvblN0YXRlLmdldFN0YXJ0T2Zmc2V0KCk7XG4gIHZhciB0YXJnZXRCbG9jayA9IGJsb2NrTWFwLmdldCh0YXJnZXRLZXkpO1xuXG4gIGlmICh0YXJnZXRCbG9jayBpbnN0YW5jZW9mIENvbnRlbnRCbG9ja05vZGUpIHtcbiAgICAhdGFyZ2V0QmxvY2suZ2V0Q2hpbGRLZXlzKCkuaXNFbXB0eSgpID8gcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiID8gaW52YXJpYW50KGZhbHNlLCAnYGluc2VydEZyYWdtZW50YCBzaG91bGQgbm90IGJlIGNhbGxlZCB3aGVuIGEgY29udGFpbmVyIG5vZGUgaXMgc2VsZWN0ZWQuJykgOiBpbnZhcmlhbnQoZmFsc2UpIDogdm9pZCAwO1xuICB9IC8vIFdoZW4gd2UgaW5zZXJ0IGEgZnJhZ21lbnQgd2l0aCBhIHNpbmdsZSBibG9jayB3ZSBzaW1wbHkgdXBkYXRlIHRoZSB0YXJnZXQgYmxvY2tcbiAgLy8gd2l0aCB0aGUgY29udGVudHMgb2YgdGhlIGluc2VydGVkIGZyYWdtZW50IGJsb2NrXG5cblxuICBpZiAoZnJhZ21lbnQuc2l6ZSA9PT0gMSkge1xuICAgIHJldHVybiB1cGRhdGVFeGlzdGluZ0Jsb2NrKGNvbnRlbnRTdGF0ZSwgc2VsZWN0aW9uU3RhdGUsIGJsb2NrTWFwLCBmcmFnbWVudC5maXJzdCgpLCB0YXJnZXRLZXksIHRhcmdldE9mZnNldCwgbWVyZ2VCbG9ja0RhdGEpO1xuICB9XG5cbiAgcmV0dXJuIGluc2VydEZyYWdtZW50KGNvbnRlbnRTdGF0ZSwgc2VsZWN0aW9uU3RhdGUsIGJsb2NrTWFwLCBmcmFnbWVudCwgdGFyZ2V0S2V5LCB0YXJnZXRPZmZzZXQpO1xufTtcblxubW9kdWxlLmV4cG9ydHMgPSBpbnNlcnRGcmFnbWVudEludG9Db250ZW50U3RhdGU7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/insertFragmentIntoContentState.js\n"); /***/ }), @@ -1027,7 +1170,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule insertIntoList\n * @format\n * \n */\n\n\n\n/**\n * Maintain persistence for target list when appending and prepending.\n */\nfunction insertIntoList(targetList, toInsert, offset) {\n if (offset === targetList.count()) {\n toInsert.forEach(function (c) {\n targetList = targetList.push(c);\n });\n } else if (offset === 0) {\n toInsert.reverse().forEach(function (c) {\n targetList = targetList.unshift(c);\n });\n } else {\n var head = targetList.slice(0, offset);\n var tail = targetList.slice(offset);\n targetList = head.concat(toInsert, tail).toList();\n }\n return targetList;\n}\n\nmodule.exports = insertIntoList;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2luc2VydEludG9MaXN0LmpzPzY1ZmYiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVhOztBQUViO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMLEdBQUc7QUFDSDtBQUNBO0FBQ0EsS0FBSztBQUNMLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2luc2VydEludG9MaXN0LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQlNELXN0eWxlIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuIEFuIGFkZGl0aW9uYWwgZ3JhbnRcbiAqIG9mIHBhdGVudCByaWdodHMgY2FuIGJlIGZvdW5kIGluIHRoZSBQQVRFTlRTIGZpbGUgaW4gdGhlIHNhbWUgZGlyZWN0b3J5LlxuICpcbiAqIEBwcm92aWRlc01vZHVsZSBpbnNlcnRJbnRvTGlzdFxuICogQGZvcm1hdFxuICogXG4gKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG4vKipcbiAqIE1haW50YWluIHBlcnNpc3RlbmNlIGZvciB0YXJnZXQgbGlzdCB3aGVuIGFwcGVuZGluZyBhbmQgcHJlcGVuZGluZy5cbiAqL1xuZnVuY3Rpb24gaW5zZXJ0SW50b0xpc3QodGFyZ2V0TGlzdCwgdG9JbnNlcnQsIG9mZnNldCkge1xuICBpZiAob2Zmc2V0ID09PSB0YXJnZXRMaXN0LmNvdW50KCkpIHtcbiAgICB0b0luc2VydC5mb3JFYWNoKGZ1bmN0aW9uIChjKSB7XG4gICAgICB0YXJnZXRMaXN0ID0gdGFyZ2V0TGlzdC5wdXNoKGMpO1xuICAgIH0pO1xuICB9IGVsc2UgaWYgKG9mZnNldCA9PT0gMCkge1xuICAgIHRvSW5zZXJ0LnJldmVyc2UoKS5mb3JFYWNoKGZ1bmN0aW9uIChjKSB7XG4gICAgICB0YXJnZXRMaXN0ID0gdGFyZ2V0TGlzdC51bnNoaWZ0KGMpO1xuICAgIH0pO1xuICB9IGVsc2Uge1xuICAgIHZhciBoZWFkID0gdGFyZ2V0TGlzdC5zbGljZSgwLCBvZmZzZXQpO1xuICAgIHZhciB0YWlsID0gdGFyZ2V0TGlzdC5zbGljZShvZmZzZXQpO1xuICAgIHRhcmdldExpc3QgPSBoZWFkLmNvbmNhdCh0b0luc2VydCwgdGFpbCkudG9MaXN0KCk7XG4gIH1cbiAgcmV0dXJuIHRhcmdldExpc3Q7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gaW5zZXJ0SW50b0xpc3Q7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/insertIntoList.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\n/**\n * Maintain persistence for target list when appending and prepending.\n */\nfunction insertIntoList(targetListArg, toInsert, offset) {\n var targetList = targetListArg;\n\n if (offset === targetList.count()) {\n toInsert.forEach(function (c) {\n targetList = targetList.push(c);\n });\n } else if (offset === 0) {\n toInsert.reverse().forEach(function (c) {\n targetList = targetList.unshift(c);\n });\n } else {\n var head = targetList.slice(0, offset);\n var tail = targetList.slice(offset);\n targetList = head.concat(toInsert, tail).toList();\n }\n\n return targetList;\n}\n\nmodule.exports = insertIntoList;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2luc2VydEludG9MaXN0LmpzPzY1ZmYiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDYTs7QUFFYjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTCxHQUFHO0FBQ0g7QUFDQTtBQUNBLEtBQUs7QUFDTCxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvaW5zZXJ0SW50b0xpc3QuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgRmFjZWJvb2ssIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIEBmb3JtYXRcbiAqIFxuICogQGVtYWlscyBvbmNhbGwrZHJhZnRfanNcbiAqL1xuJ3VzZSBzdHJpY3QnO1xuXG4vKipcbiAqIE1haW50YWluIHBlcnNpc3RlbmNlIGZvciB0YXJnZXQgbGlzdCB3aGVuIGFwcGVuZGluZyBhbmQgcHJlcGVuZGluZy5cbiAqL1xuZnVuY3Rpb24gaW5zZXJ0SW50b0xpc3QodGFyZ2V0TGlzdEFyZywgdG9JbnNlcnQsIG9mZnNldCkge1xuICB2YXIgdGFyZ2V0TGlzdCA9IHRhcmdldExpc3RBcmc7XG5cbiAgaWYgKG9mZnNldCA9PT0gdGFyZ2V0TGlzdC5jb3VudCgpKSB7XG4gICAgdG9JbnNlcnQuZm9yRWFjaChmdW5jdGlvbiAoYykge1xuICAgICAgdGFyZ2V0TGlzdCA9IHRhcmdldExpc3QucHVzaChjKTtcbiAgICB9KTtcbiAgfSBlbHNlIGlmIChvZmZzZXQgPT09IDApIHtcbiAgICB0b0luc2VydC5yZXZlcnNlKCkuZm9yRWFjaChmdW5jdGlvbiAoYykge1xuICAgICAgdGFyZ2V0TGlzdCA9IHRhcmdldExpc3QudW5zaGlmdChjKTtcbiAgICB9KTtcbiAgfSBlbHNlIHtcbiAgICB2YXIgaGVhZCA9IHRhcmdldExpc3Quc2xpY2UoMCwgb2Zmc2V0KTtcbiAgICB2YXIgdGFpbCA9IHRhcmdldExpc3Quc2xpY2Uob2Zmc2V0KTtcbiAgICB0YXJnZXRMaXN0ID0gaGVhZC5jb25jYXQodG9JbnNlcnQsIHRhaWwpLnRvTGlzdCgpO1xuICB9XG5cbiAgcmV0dXJuIHRhcmdldExpc3Q7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gaW5zZXJ0SW50b0xpc3Q7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/insertIntoList.js\n"); /***/ }), @@ -1039,7 +1182,19 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule insertTextIntoContentState\n * @format\n * \n */\n\n\n\nvar Immutable = __webpack_require__(/*! immutable */ \"./node_modules/draft-js/node_modules/immutable/dist/immutable.js\");\n\nvar insertIntoList = __webpack_require__(/*! ./insertIntoList */ \"./node_modules/draft-js/lib/insertIntoList.js\");\nvar invariant = __webpack_require__(/*! fbjs/lib/invariant */ \"./node_modules/fbjs/lib/invariant.js\");\n\nvar Repeat = Immutable.Repeat;\n\n\nfunction insertTextIntoContentState(contentState, selectionState, text, characterMetadata) {\n !selectionState.isCollapsed() ? true ? invariant(false, '`insertText` should only be called with a collapsed range.') : undefined : void 0;\n\n var len = text.length;\n if (!len) {\n return contentState;\n }\n\n var blockMap = contentState.getBlockMap();\n var key = selectionState.getStartKey();\n var offset = selectionState.getStartOffset();\n var block = blockMap.get(key);\n var blockText = block.getText();\n\n var newBlock = block.merge({\n text: blockText.slice(0, offset) + text + blockText.slice(offset, block.getLength()),\n characterList: insertIntoList(block.getCharacterList(), Repeat(characterMetadata, len).toList(), offset)\n });\n\n var newOffset = offset + len;\n\n return contentState.merge({\n blockMap: blockMap.set(key, newBlock),\n selectionAfter: selectionState.merge({\n anchorOffset: newOffset,\n focusOffset: newOffset\n })\n });\n}\n\nmodule.exports = insertTextIntoContentState;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2luc2VydFRleHRJbnRvQ29udGVudFN0YXRlLmpzP2YzNTIiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVhOztBQUViLGdCQUFnQixtQkFBTyxDQUFDLG1GQUFXOztBQUVuQyxxQkFBcUIsbUJBQU8sQ0FBQyx1RUFBa0I7QUFDL0MsZ0JBQWdCLG1CQUFPLENBQUMsZ0VBQW9COztBQUU1Qzs7O0FBR0E7QUFDQSxrQ0FBa0MsS0FBcUMsb0ZBQW9GLFNBQWdCOztBQUUzSztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTCxHQUFHO0FBQ0g7O0FBRUEiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2luc2VydFRleHRJbnRvQ29udGVudFN0YXRlLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQlNELXN0eWxlIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuIEFuIGFkZGl0aW9uYWwgZ3JhbnRcbiAqIG9mIHBhdGVudCByaWdodHMgY2FuIGJlIGZvdW5kIGluIHRoZSBQQVRFTlRTIGZpbGUgaW4gdGhlIHNhbWUgZGlyZWN0b3J5LlxuICpcbiAqIEBwcm92aWRlc01vZHVsZSBpbnNlcnRUZXh0SW50b0NvbnRlbnRTdGF0ZVxuICogQGZvcm1hdFxuICogXG4gKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG52YXIgSW1tdXRhYmxlID0gcmVxdWlyZSgnaW1tdXRhYmxlJyk7XG5cbnZhciBpbnNlcnRJbnRvTGlzdCA9IHJlcXVpcmUoJy4vaW5zZXJ0SW50b0xpc3QnKTtcbnZhciBpbnZhcmlhbnQgPSByZXF1aXJlKCdmYmpzL2xpYi9pbnZhcmlhbnQnKTtcblxudmFyIFJlcGVhdCA9IEltbXV0YWJsZS5SZXBlYXQ7XG5cblxuZnVuY3Rpb24gaW5zZXJ0VGV4dEludG9Db250ZW50U3RhdGUoY29udGVudFN0YXRlLCBzZWxlY3Rpb25TdGF0ZSwgdGV4dCwgY2hhcmFjdGVyTWV0YWRhdGEpIHtcbiAgIXNlbGVjdGlvblN0YXRlLmlzQ29sbGFwc2VkKCkgPyBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nID8gaW52YXJpYW50KGZhbHNlLCAnYGluc2VydFRleHRgIHNob3VsZCBvbmx5IGJlIGNhbGxlZCB3aXRoIGEgY29sbGFwc2VkIHJhbmdlLicpIDogaW52YXJpYW50KGZhbHNlKSA6IHZvaWQgMDtcblxuICB2YXIgbGVuID0gdGV4dC5sZW5ndGg7XG4gIGlmICghbGVuKSB7XG4gICAgcmV0dXJuIGNvbnRlbnRTdGF0ZTtcbiAgfVxuXG4gIHZhciBibG9ja01hcCA9IGNvbnRlbnRTdGF0ZS5nZXRCbG9ja01hcCgpO1xuICB2YXIga2V5ID0gc2VsZWN0aW9uU3RhdGUuZ2V0U3RhcnRLZXkoKTtcbiAgdmFyIG9mZnNldCA9IHNlbGVjdGlvblN0YXRlLmdldFN0YXJ0T2Zmc2V0KCk7XG4gIHZhciBibG9jayA9IGJsb2NrTWFwLmdldChrZXkpO1xuICB2YXIgYmxvY2tUZXh0ID0gYmxvY2suZ2V0VGV4dCgpO1xuXG4gIHZhciBuZXdCbG9jayA9IGJsb2NrLm1lcmdlKHtcbiAgICB0ZXh0OiBibG9ja1RleHQuc2xpY2UoMCwgb2Zmc2V0KSArIHRleHQgKyBibG9ja1RleHQuc2xpY2Uob2Zmc2V0LCBibG9jay5nZXRMZW5ndGgoKSksXG4gICAgY2hhcmFjdGVyTGlzdDogaW5zZXJ0SW50b0xpc3QoYmxvY2suZ2V0Q2hhcmFjdGVyTGlzdCgpLCBSZXBlYXQoY2hhcmFjdGVyTWV0YWRhdGEsIGxlbikudG9MaXN0KCksIG9mZnNldClcbiAgfSk7XG5cbiAgdmFyIG5ld09mZnNldCA9IG9mZnNldCArIGxlbjtcblxuICByZXR1cm4gY29udGVudFN0YXRlLm1lcmdlKHtcbiAgICBibG9ja01hcDogYmxvY2tNYXAuc2V0KGtleSwgbmV3QmxvY2spLFxuICAgIHNlbGVjdGlvbkFmdGVyOiBzZWxlY3Rpb25TdGF0ZS5tZXJnZSh7XG4gICAgICBhbmNob3JPZmZzZXQ6IG5ld09mZnNldCxcbiAgICAgIGZvY3VzT2Zmc2V0OiBuZXdPZmZzZXRcbiAgICB9KVxuICB9KTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBpbnNlcnRUZXh0SW50b0NvbnRlbnRTdGF0ZTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/insertTextIntoContentState.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nvar Immutable = __webpack_require__(/*! immutable */ \"./node_modules/draft-js/node_modules/immutable/dist/immutable.js\");\n\nvar insertIntoList = __webpack_require__(/*! ./insertIntoList */ \"./node_modules/draft-js/lib/insertIntoList.js\");\n\nvar invariant = __webpack_require__(/*! fbjs/lib/invariant */ \"./node_modules/fbjs/lib/invariant.js\");\n\nvar Repeat = Immutable.Repeat;\n\nfunction insertTextIntoContentState(contentState, selectionState, text, characterMetadata) {\n !selectionState.isCollapsed() ? true ? invariant(false, '`insertText` should only be called with a collapsed range.') : undefined : void 0;\n var len = null;\n\n if (text != null) {\n len = text.length;\n }\n\n if (len == null || len === 0) {\n return contentState;\n }\n\n var blockMap = contentState.getBlockMap();\n var key = selectionState.getStartKey();\n var offset = selectionState.getStartOffset();\n var block = blockMap.get(key);\n var blockText = block.getText();\n var newBlock = block.merge({\n text: blockText.slice(0, offset) + text + blockText.slice(offset, block.getLength()),\n characterList: insertIntoList(block.getCharacterList(), Repeat(characterMetadata, len).toList(), offset)\n });\n var newOffset = offset + len;\n return contentState.merge({\n blockMap: blockMap.set(key, newBlock),\n selectionAfter: selectionState.merge({\n anchorOffset: newOffset,\n focusOffset: newOffset\n })\n });\n}\n\nmodule.exports = insertTextIntoContentState;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2luc2VydFRleHRJbnRvQ29udGVudFN0YXRlLmpzP2YzNTIiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDYTs7QUFFYixnQkFBZ0IsbUJBQU8sQ0FBQyxtRkFBVzs7QUFFbkMscUJBQXFCLG1CQUFPLENBQUMsdUVBQWtCOztBQUUvQyxnQkFBZ0IsbUJBQU8sQ0FBQyxnRUFBb0I7O0FBRTVDOztBQUVBO0FBQ0Esa0NBQWtDLEtBQXFDLG9GQUFvRixTQUFnQjtBQUMzSzs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMLEdBQUc7QUFDSDs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvaW5zZXJ0VGV4dEludG9Db250ZW50U3RhdGUuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgRmFjZWJvb2ssIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIEBmb3JtYXRcbiAqIFxuICogQGVtYWlscyBvbmNhbGwrZHJhZnRfanNcbiAqL1xuJ3VzZSBzdHJpY3QnO1xuXG52YXIgSW1tdXRhYmxlID0gcmVxdWlyZShcImltbXV0YWJsZVwiKTtcblxudmFyIGluc2VydEludG9MaXN0ID0gcmVxdWlyZShcIi4vaW5zZXJ0SW50b0xpc3RcIik7XG5cbnZhciBpbnZhcmlhbnQgPSByZXF1aXJlKFwiZmJqcy9saWIvaW52YXJpYW50XCIpO1xuXG52YXIgUmVwZWF0ID0gSW1tdXRhYmxlLlJlcGVhdDtcblxuZnVuY3Rpb24gaW5zZXJ0VGV4dEludG9Db250ZW50U3RhdGUoY29udGVudFN0YXRlLCBzZWxlY3Rpb25TdGF0ZSwgdGV4dCwgY2hhcmFjdGVyTWV0YWRhdGEpIHtcbiAgIXNlbGVjdGlvblN0YXRlLmlzQ29sbGFwc2VkKCkgPyBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIgPyBpbnZhcmlhbnQoZmFsc2UsICdgaW5zZXJ0VGV4dGAgc2hvdWxkIG9ubHkgYmUgY2FsbGVkIHdpdGggYSBjb2xsYXBzZWQgcmFuZ2UuJykgOiBpbnZhcmlhbnQoZmFsc2UpIDogdm9pZCAwO1xuICB2YXIgbGVuID0gbnVsbDtcblxuICBpZiAodGV4dCAhPSBudWxsKSB7XG4gICAgbGVuID0gdGV4dC5sZW5ndGg7XG4gIH1cblxuICBpZiAobGVuID09IG51bGwgfHwgbGVuID09PSAwKSB7XG4gICAgcmV0dXJuIGNvbnRlbnRTdGF0ZTtcbiAgfVxuXG4gIHZhciBibG9ja01hcCA9IGNvbnRlbnRTdGF0ZS5nZXRCbG9ja01hcCgpO1xuICB2YXIga2V5ID0gc2VsZWN0aW9uU3RhdGUuZ2V0U3RhcnRLZXkoKTtcbiAgdmFyIG9mZnNldCA9IHNlbGVjdGlvblN0YXRlLmdldFN0YXJ0T2Zmc2V0KCk7XG4gIHZhciBibG9jayA9IGJsb2NrTWFwLmdldChrZXkpO1xuICB2YXIgYmxvY2tUZXh0ID0gYmxvY2suZ2V0VGV4dCgpO1xuICB2YXIgbmV3QmxvY2sgPSBibG9jay5tZXJnZSh7XG4gICAgdGV4dDogYmxvY2tUZXh0LnNsaWNlKDAsIG9mZnNldCkgKyB0ZXh0ICsgYmxvY2tUZXh0LnNsaWNlKG9mZnNldCwgYmxvY2suZ2V0TGVuZ3RoKCkpLFxuICAgIGNoYXJhY3Rlckxpc3Q6IGluc2VydEludG9MaXN0KGJsb2NrLmdldENoYXJhY3Rlckxpc3QoKSwgUmVwZWF0KGNoYXJhY3Rlck1ldGFkYXRhLCBsZW4pLnRvTGlzdCgpLCBvZmZzZXQpXG4gIH0pO1xuICB2YXIgbmV3T2Zmc2V0ID0gb2Zmc2V0ICsgbGVuO1xuICByZXR1cm4gY29udGVudFN0YXRlLm1lcmdlKHtcbiAgICBibG9ja01hcDogYmxvY2tNYXAuc2V0KGtleSwgbmV3QmxvY2spLFxuICAgIHNlbGVjdGlvbkFmdGVyOiBzZWxlY3Rpb25TdGF0ZS5tZXJnZSh7XG4gICAgICBhbmNob3JPZmZzZXQ6IG5ld09mZnNldCxcbiAgICAgIGZvY3VzT2Zmc2V0OiBuZXdPZmZzZXRcbiAgICB9KVxuICB9KTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBpbnNlcnRUZXh0SW50b0NvbnRlbnRTdGF0ZTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/insertTextIntoContentState.js\n"); + +/***/ }), + +/***/ "./node_modules/draft-js/lib/isElement.js": +/*!************************************************!*\ + !*** ./node_modules/draft-js/lib/isElement.js ***! + \************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\nfunction isElement(node) {\n if (!node || !node.ownerDocument) {\n return false;\n }\n\n return node.nodeType === Node.ELEMENT_NODE;\n}\n\nmodule.exports = isElement;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2lzRWxlbWVudC5qcz8xYjIzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFhOztBQUViO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvaXNFbGVtZW50LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbi8qKlxuICogQ29weXJpZ2h0IChjKSBGYWNlYm9vaywgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICogQGZvcm1hdFxuICogXG4gKiBAZW1haWxzIG9uY2FsbCtkcmFmdF9qc1xuICovXG5mdW5jdGlvbiBpc0VsZW1lbnQobm9kZSkge1xuICBpZiAoIW5vZGUgfHwgIW5vZGUub3duZXJEb2N1bWVudCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHJldHVybiBub2RlLm5vZGVUeXBlID09PSBOb2RlLkVMRU1FTlRfTk9ERTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBpc0VsZW1lbnQ7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/isElement.js\n"); /***/ }), @@ -1051,7 +1206,67 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule isEventHandled\n * @format\n * \n */\n\n\n\n/**\n * Utility method for determining whether or not the value returned\n * from a handler indicates that it was handled.\n */\nfunction isEventHandled(value) {\n return value === 'handled' || value === true;\n}\n\nmodule.exports = isEventHandled;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2lzRXZlbnRIYW5kbGVkLmpzPzRmOGQiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVhOztBQUViO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2RyYWZ0LWpzL2xpYi9pc0V2ZW50SGFuZGxlZC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXG4gKiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEJTRC1zdHlsZSBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLiBBbiBhZGRpdGlvbmFsIGdyYW50XG4gKiBvZiBwYXRlbnQgcmlnaHRzIGNhbiBiZSBmb3VuZCBpbiB0aGUgUEFURU5UUyBmaWxlIGluIHRoZSBzYW1lIGRpcmVjdG9yeS5cbiAqXG4gKiBAcHJvdmlkZXNNb2R1bGUgaXNFdmVudEhhbmRsZWRcbiAqIEBmb3JtYXRcbiAqIFxuICovXG5cbid1c2Ugc3RyaWN0JztcblxuLyoqXG4gKiBVdGlsaXR5IG1ldGhvZCBmb3IgZGV0ZXJtaW5pbmcgd2hldGhlciBvciBub3QgdGhlIHZhbHVlIHJldHVybmVkXG4gKiBmcm9tIGEgaGFuZGxlciBpbmRpY2F0ZXMgdGhhdCBpdCB3YXMgaGFuZGxlZC5cbiAqL1xuZnVuY3Rpb24gaXNFdmVudEhhbmRsZWQodmFsdWUpIHtcbiAgcmV0dXJuIHZhbHVlID09PSAnaGFuZGxlZCcgfHwgdmFsdWUgPT09IHRydWU7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gaXNFdmVudEhhbmRsZWQ7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/isEventHandled.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\n/**\n * Utility method for determining whether or not the value returned\n * from a handler indicates that it was handled.\n */\nfunction isEventHandled(value) {\n return value === 'handled' || value === true;\n}\n\nmodule.exports = isEventHandled;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2lzRXZlbnRIYW5kbGVkLmpzPzRmOGQiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDYTs7QUFFYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvaXNFdmVudEhhbmRsZWQuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgRmFjZWJvb2ssIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIEBmb3JtYXRcbiAqIFxuICogQGVtYWlscyBvbmNhbGwrZHJhZnRfanNcbiAqL1xuJ3VzZSBzdHJpY3QnO1xuXG4vKipcbiAqIFV0aWxpdHkgbWV0aG9kIGZvciBkZXRlcm1pbmluZyB3aGV0aGVyIG9yIG5vdCB0aGUgdmFsdWUgcmV0dXJuZWRcbiAqIGZyb20gYSBoYW5kbGVyIGluZGljYXRlcyB0aGF0IGl0IHdhcyBoYW5kbGVkLlxuICovXG5mdW5jdGlvbiBpc0V2ZW50SGFuZGxlZCh2YWx1ZSkge1xuICByZXR1cm4gdmFsdWUgPT09ICdoYW5kbGVkJyB8fCB2YWx1ZSA9PT0gdHJ1ZTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBpc0V2ZW50SGFuZGxlZDsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/isEventHandled.js\n"); + +/***/ }), + +/***/ "./node_modules/draft-js/lib/isHTMLAnchorElement.js": +/*!**********************************************************!*\ + !*** ./node_modules/draft-js/lib/isHTMLAnchorElement.js ***! + \**********************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\nvar isElement = __webpack_require__(/*! ./isElement */ \"./node_modules/draft-js/lib/isElement.js\");\n\nfunction isHTMLAnchorElement(node) {\n if (!node || !node.ownerDocument) {\n return false;\n }\n\n return isElement(node) && node.nodeName === 'A';\n}\n\nmodule.exports = isHTMLAnchorElement;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2lzSFRNTEFuY2hvckVsZW1lbnQuanM/ZWZmZCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBYTs7QUFFYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQixtQkFBTyxDQUFDLDZEQUFhOztBQUVyQztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2RyYWZ0LWpzL2xpYi9pc0hUTUxBbmNob3JFbGVtZW50LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbi8qKlxuICogQ29weXJpZ2h0IChjKSBGYWNlYm9vaywgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICogQGZvcm1hdFxuICogXG4gKiBAZW1haWxzIG9uY2FsbCtkcmFmdF9qc1xuICovXG52YXIgaXNFbGVtZW50ID0gcmVxdWlyZShcIi4vaXNFbGVtZW50XCIpO1xuXG5mdW5jdGlvbiBpc0hUTUxBbmNob3JFbGVtZW50KG5vZGUpIHtcbiAgaWYgKCFub2RlIHx8ICFub2RlLm93bmVyRG9jdW1lbnQpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gaXNFbGVtZW50KG5vZGUpICYmIG5vZGUubm9kZU5hbWUgPT09ICdBJztcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBpc0hUTUxBbmNob3JFbGVtZW50OyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/isHTMLAnchorElement.js\n"); + +/***/ }), + +/***/ "./node_modules/draft-js/lib/isHTMLBRElement.js": +/*!******************************************************!*\ + !*** ./node_modules/draft-js/lib/isHTMLBRElement.js ***! + \******************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\nvar isElement = __webpack_require__(/*! ./isElement */ \"./node_modules/draft-js/lib/isElement.js\");\n\nfunction isHTMLBRElement(node) {\n if (!node || !node.ownerDocument) {\n return false;\n }\n\n return isElement(node) && node.nodeName === 'BR';\n}\n\nmodule.exports = isHTMLBRElement;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2lzSFRNTEJSRWxlbWVudC5qcz82ODFkIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFhOztBQUViO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCLG1CQUFPLENBQUMsNkRBQWE7O0FBRXJDO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2lzSFRNTEJSRWxlbWVudC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG4vKipcbiAqIENvcHlyaWdodCAoYykgRmFjZWJvb2ssIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIEBmb3JtYXRcbiAqIFxuICogQGVtYWlscyBvbmNhbGwrZHJhZnRfanNcbiAqL1xudmFyIGlzRWxlbWVudCA9IHJlcXVpcmUoXCIuL2lzRWxlbWVudFwiKTtcblxuZnVuY3Rpb24gaXNIVE1MQlJFbGVtZW50KG5vZGUpIHtcbiAgaWYgKCFub2RlIHx8ICFub2RlLm93bmVyRG9jdW1lbnQpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gaXNFbGVtZW50KG5vZGUpICYmIG5vZGUubm9kZU5hbWUgPT09ICdCUic7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gaXNIVE1MQlJFbGVtZW50OyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/isHTMLBRElement.js\n"); + +/***/ }), + +/***/ "./node_modules/draft-js/lib/isHTMLElement.js": +/*!****************************************************!*\ + !*** ./node_modules/draft-js/lib/isHTMLElement.js ***! + \****************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\nfunction isHTMLElement(node) {\n if (!node || !node.ownerDocument) {\n return false;\n }\n\n if (!node.ownerDocument.defaultView) {\n return node instanceof HTMLElement;\n }\n\n if (node instanceof node.ownerDocument.defaultView.HTMLElement) {\n return true;\n }\n\n return false;\n}\n\nmodule.exports = isHTMLElement;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2lzSFRNTEVsZW1lbnQuanM/MzhiYyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBYTs7QUFFYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvaXNIVE1MRWxlbWVudC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG4vKipcbiAqIENvcHlyaWdodCAoYykgRmFjZWJvb2ssIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIEBmb3JtYXRcbiAqIFxuICogQGVtYWlscyBvbmNhbGwrZHJhZnRfanNcbiAqL1xuZnVuY3Rpb24gaXNIVE1MRWxlbWVudChub2RlKSB7XG4gIGlmICghbm9kZSB8fCAhbm9kZS5vd25lckRvY3VtZW50KSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKCFub2RlLm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXcpIHtcbiAgICByZXR1cm4gbm9kZSBpbnN0YW5jZW9mIEhUTUxFbGVtZW50O1xuICB9XG5cbiAgaWYgKG5vZGUgaW5zdGFuY2VvZiBub2RlLm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXcuSFRNTEVsZW1lbnQpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBpc0hUTUxFbGVtZW50OyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/isHTMLElement.js\n"); + +/***/ }), + +/***/ "./node_modules/draft-js/lib/isHTMLImageElement.js": +/*!*********************************************************!*\ + !*** ./node_modules/draft-js/lib/isHTMLImageElement.js ***! + \*********************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\nvar isElement = __webpack_require__(/*! ./isElement */ \"./node_modules/draft-js/lib/isElement.js\");\n\nfunction isHTMLImageElement(node) {\n if (!node || !node.ownerDocument) {\n return false;\n }\n\n return isElement(node) && node.nodeName === 'IMG';\n}\n\nmodule.exports = isHTMLImageElement;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2lzSFRNTEltYWdlRWxlbWVudC5qcz8xOGMyIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFhOztBQUViO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCLG1CQUFPLENBQUMsNkRBQWE7O0FBRXJDO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2lzSFRNTEltYWdlRWxlbWVudC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG4vKipcbiAqIENvcHlyaWdodCAoYykgRmFjZWJvb2ssIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIEBmb3JtYXRcbiAqIFxuICogQGVtYWlscyBvbmNhbGwrZHJhZnRfanNcbiAqL1xudmFyIGlzRWxlbWVudCA9IHJlcXVpcmUoXCIuL2lzRWxlbWVudFwiKTtcblxuZnVuY3Rpb24gaXNIVE1MSW1hZ2VFbGVtZW50KG5vZGUpIHtcbiAgaWYgKCFub2RlIHx8ICFub2RlLm93bmVyRG9jdW1lbnQpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gaXNFbGVtZW50KG5vZGUpICYmIG5vZGUubm9kZU5hbWUgPT09ICdJTUcnO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGlzSFRNTEltYWdlRWxlbWVudDsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/isHTMLImageElement.js\n"); + +/***/ }), + +/***/ "./node_modules/draft-js/lib/isInstanceOfNode.js": +/*!*******************************************************!*\ + !*** ./node_modules/draft-js/lib/isInstanceOfNode.js ***! + \*******************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\nfunction isInstanceOfNode(target) {\n // we changed the name because of having duplicate module provider (fbjs)\n if (!target || !('ownerDocument' in target)) {\n return false;\n }\n\n if ('ownerDocument' in target) {\n var node = target;\n\n if (!node.ownerDocument.defaultView) {\n return node instanceof Node;\n } // $FlowFixMe https://github.com/DefinitelyTyped/DefinitelyTyped/issues/11508#issuecomment-256045682\n\n\n if (node instanceof node.ownerDocument.defaultView.Node) {\n return true;\n }\n }\n\n return false;\n}\n\nmodule.exports = isInstanceOfNode;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2lzSW5zdGFuY2VPZk5vZGUuanM/MzFiNCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBYTs7QUFFYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSzs7O0FBR0w7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvaXNJbnN0YW5jZU9mTm9kZS5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG4vKipcbiAqIENvcHlyaWdodCAoYykgRmFjZWJvb2ssIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIEBmb3JtYXRcbiAqIFxuICogQGVtYWlscyBvbmNhbGwrZHJhZnRfanNcbiAqL1xuZnVuY3Rpb24gaXNJbnN0YW5jZU9mTm9kZSh0YXJnZXQpIHtcbiAgLy8gd2UgY2hhbmdlZCB0aGUgbmFtZSBiZWNhdXNlIG9mIGhhdmluZyBkdXBsaWNhdGUgbW9kdWxlIHByb3ZpZGVyIChmYmpzKVxuICBpZiAoIXRhcmdldCB8fCAhKCdvd25lckRvY3VtZW50JyBpbiB0YXJnZXQpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKCdvd25lckRvY3VtZW50JyBpbiB0YXJnZXQpIHtcbiAgICB2YXIgbm9kZSA9IHRhcmdldDtcblxuICAgIGlmICghbm9kZS5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3KSB7XG4gICAgICByZXR1cm4gbm9kZSBpbnN0YW5jZW9mIE5vZGU7XG4gICAgfSAvLyAkRmxvd0ZpeE1lIGh0dHBzOi8vZ2l0aHViLmNvbS9EZWZpbml0ZWx5VHlwZWQvRGVmaW5pdGVseVR5cGVkL2lzc3Vlcy8xMTUwOCNpc3N1ZWNvbW1lbnQtMjU2MDQ1NjgyXG5cblxuICAgIGlmIChub2RlIGluc3RhbmNlb2Ygbm9kZS5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3Lk5vZGUpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBpc0luc3RhbmNlT2ZOb2RlOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/isInstanceOfNode.js\n"); /***/ }), @@ -1063,7 +1278,19 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule isSelectionAtLeafStart\n * @format\n * \n */\n\n\n\nfunction isSelectionAtLeafStart(editorState) {\n var selection = editorState.getSelection();\n var anchorKey = selection.getAnchorKey();\n var blockTree = editorState.getBlockTree(anchorKey);\n var offset = selection.getStartOffset();\n\n var isAtStart = false;\n\n blockTree.some(function (leafSet) {\n if (offset === leafSet.get('start')) {\n isAtStart = true;\n return true;\n }\n\n if (offset < leafSet.get('end')) {\n return leafSet.get('leaves').some(function (leaf) {\n var leafStart = leaf.get('start');\n if (offset === leafStart) {\n isAtStart = true;\n return true;\n }\n\n return false;\n });\n }\n\n return false;\n });\n\n return isAtStart;\n}\n\nmodule.exports = isSelectionAtLeafStart;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2lzU2VsZWN0aW9uQXRMZWFmU3RhcnQuanM/NjJiOSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWE7O0FBRWI7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsT0FBTztBQUNQOztBQUVBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBOztBQUVBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2RyYWZ0LWpzL2xpYi9pc1NlbGVjdGlvbkF0TGVhZlN0YXJ0LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQlNELXN0eWxlIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuIEFuIGFkZGl0aW9uYWwgZ3JhbnRcbiAqIG9mIHBhdGVudCByaWdodHMgY2FuIGJlIGZvdW5kIGluIHRoZSBQQVRFTlRTIGZpbGUgaW4gdGhlIHNhbWUgZGlyZWN0b3J5LlxuICpcbiAqIEBwcm92aWRlc01vZHVsZSBpc1NlbGVjdGlvbkF0TGVhZlN0YXJ0XG4gKiBAZm9ybWF0XG4gKiBcbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbmZ1bmN0aW9uIGlzU2VsZWN0aW9uQXRMZWFmU3RhcnQoZWRpdG9yU3RhdGUpIHtcbiAgdmFyIHNlbGVjdGlvbiA9IGVkaXRvclN0YXRlLmdldFNlbGVjdGlvbigpO1xuICB2YXIgYW5jaG9yS2V5ID0gc2VsZWN0aW9uLmdldEFuY2hvcktleSgpO1xuICB2YXIgYmxvY2tUcmVlID0gZWRpdG9yU3RhdGUuZ2V0QmxvY2tUcmVlKGFuY2hvcktleSk7XG4gIHZhciBvZmZzZXQgPSBzZWxlY3Rpb24uZ2V0U3RhcnRPZmZzZXQoKTtcblxuICB2YXIgaXNBdFN0YXJ0ID0gZmFsc2U7XG5cbiAgYmxvY2tUcmVlLnNvbWUoZnVuY3Rpb24gKGxlYWZTZXQpIHtcbiAgICBpZiAob2Zmc2V0ID09PSBsZWFmU2V0LmdldCgnc3RhcnQnKSkge1xuICAgICAgaXNBdFN0YXJ0ID0gdHJ1ZTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGlmIChvZmZzZXQgPCBsZWFmU2V0LmdldCgnZW5kJykpIHtcbiAgICAgIHJldHVybiBsZWFmU2V0LmdldCgnbGVhdmVzJykuc29tZShmdW5jdGlvbiAobGVhZikge1xuICAgICAgICB2YXIgbGVhZlN0YXJ0ID0gbGVhZi5nZXQoJ3N0YXJ0Jyk7XG4gICAgICAgIGlmIChvZmZzZXQgPT09IGxlYWZTdGFydCkge1xuICAgICAgICAgIGlzQXRTdGFydCA9IHRydWU7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH0pO1xuXG4gIHJldHVybiBpc0F0U3RhcnQ7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gaXNTZWxlY3Rpb25BdExlYWZTdGFydDsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/isSelectionAtLeafStart.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nfunction isSelectionAtLeafStart(editorState) {\n var selection = editorState.getSelection();\n var anchorKey = selection.getAnchorKey();\n var blockTree = editorState.getBlockTree(anchorKey);\n var offset = selection.getStartOffset();\n var isAtStart = false;\n blockTree.some(function (leafSet) {\n if (offset === leafSet.get('start')) {\n isAtStart = true;\n return true;\n }\n\n if (offset < leafSet.get('end')) {\n return leafSet.get('leaves').some(function (leaf) {\n var leafStart = leaf.get('start');\n\n if (offset === leafStart) {\n isAtStart = true;\n return true;\n }\n\n return false;\n });\n }\n\n return false;\n });\n return isAtStart;\n}\n\nmodule.exports = isSelectionAtLeafStart;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2lzU2VsZWN0aW9uQXRMZWFmU3RhcnQuanM/NjJiOSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNhOztBQUViO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsT0FBTztBQUNQOztBQUVBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUEiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2lzU2VsZWN0aW9uQXRMZWFmU3RhcnQuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgRmFjZWJvb2ssIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIEBmb3JtYXRcbiAqIFxuICogQGVtYWlscyBvbmNhbGwrZHJhZnRfanNcbiAqL1xuJ3VzZSBzdHJpY3QnO1xuXG5mdW5jdGlvbiBpc1NlbGVjdGlvbkF0TGVhZlN0YXJ0KGVkaXRvclN0YXRlKSB7XG4gIHZhciBzZWxlY3Rpb24gPSBlZGl0b3JTdGF0ZS5nZXRTZWxlY3Rpb24oKTtcbiAgdmFyIGFuY2hvcktleSA9IHNlbGVjdGlvbi5nZXRBbmNob3JLZXkoKTtcbiAgdmFyIGJsb2NrVHJlZSA9IGVkaXRvclN0YXRlLmdldEJsb2NrVHJlZShhbmNob3JLZXkpO1xuICB2YXIgb2Zmc2V0ID0gc2VsZWN0aW9uLmdldFN0YXJ0T2Zmc2V0KCk7XG4gIHZhciBpc0F0U3RhcnQgPSBmYWxzZTtcbiAgYmxvY2tUcmVlLnNvbWUoZnVuY3Rpb24gKGxlYWZTZXQpIHtcbiAgICBpZiAob2Zmc2V0ID09PSBsZWFmU2V0LmdldCgnc3RhcnQnKSkge1xuICAgICAgaXNBdFN0YXJ0ID0gdHJ1ZTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGlmIChvZmZzZXQgPCBsZWFmU2V0LmdldCgnZW5kJykpIHtcbiAgICAgIHJldHVybiBsZWFmU2V0LmdldCgnbGVhdmVzJykuc29tZShmdW5jdGlvbiAobGVhZikge1xuICAgICAgICB2YXIgbGVhZlN0YXJ0ID0gbGVhZi5nZXQoJ3N0YXJ0Jyk7XG5cbiAgICAgICAgaWYgKG9mZnNldCA9PT0gbGVhZlN0YXJ0KSB7XG4gICAgICAgICAgaXNBdFN0YXJ0ID0gdHJ1ZTtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfSk7XG4gIHJldHVybiBpc0F0U3RhcnQ7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gaXNTZWxlY3Rpb25BdExlYWZTdGFydDsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/isSelectionAtLeafStart.js\n"); + +/***/ }), + +/***/ "./node_modules/draft-js/lib/isSoftNewlineEvent.js": +/*!*********************************************************!*\ + !*** ./node_modules/draft-js/lib/isSoftNewlineEvent.js ***! + \*********************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nvar Keys = __webpack_require__(/*! fbjs/lib/Keys */ \"./node_modules/fbjs/lib/Keys.js\");\n\nfunction isSoftNewlineEvent(e) {\n return e.which === Keys.RETURN && (e.getModifierState('Shift') || e.getModifierState('Alt') || e.getModifierState('Control'));\n}\n\nmodule.exports = isSoftNewlineEvent;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2lzU29mdE5ld2xpbmVFdmVudC5qcz85MDRlIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ2E7O0FBRWIsV0FBVyxtQkFBTyxDQUFDLHNEQUFlOztBQUVsQztBQUNBO0FBQ0E7O0FBRUEiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2lzU29mdE5ld2xpbmVFdmVudC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSBGYWNlYm9vaywgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICogQGZvcm1hdFxuICogXG4gKiBAZW1haWxzIG9uY2FsbCtkcmFmdF9qc1xuICovXG4ndXNlIHN0cmljdCc7XG5cbnZhciBLZXlzID0gcmVxdWlyZShcImZianMvbGliL0tleXNcIik7XG5cbmZ1bmN0aW9uIGlzU29mdE5ld2xpbmVFdmVudChlKSB7XG4gIHJldHVybiBlLndoaWNoID09PSBLZXlzLlJFVFVSTiAmJiAoZS5nZXRNb2RpZmllclN0YXRlKCdTaGlmdCcpIHx8IGUuZ2V0TW9kaWZpZXJTdGF0ZSgnQWx0JykgfHwgZS5nZXRNb2RpZmllclN0YXRlKCdDb250cm9sJykpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGlzU29mdE5ld2xpbmVFdmVudDsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/isSoftNewlineEvent.js\n"); /***/ }), @@ -1075,7 +1302,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/* WEBPACK VAR INJECTION */(function(global) {/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule keyCommandBackspaceToStartOfLine\n * @format\n * \n */\n\n\n\nvar EditorState = __webpack_require__(/*! ./EditorState */ \"./node_modules/draft-js/lib/EditorState.js\");\n\nvar expandRangeToStartOfLine = __webpack_require__(/*! ./expandRangeToStartOfLine */ \"./node_modules/draft-js/lib/expandRangeToStartOfLine.js\");\nvar getDraftEditorSelectionWithNodes = __webpack_require__(/*! ./getDraftEditorSelectionWithNodes */ \"./node_modules/draft-js/lib/getDraftEditorSelectionWithNodes.js\");\nvar moveSelectionBackward = __webpack_require__(/*! ./moveSelectionBackward */ \"./node_modules/draft-js/lib/moveSelectionBackward.js\");\nvar removeTextWithStrategy = __webpack_require__(/*! ./removeTextWithStrategy */ \"./node_modules/draft-js/lib/removeTextWithStrategy.js\");\n\nfunction keyCommandBackspaceToStartOfLine(editorState) {\n var afterRemoval = removeTextWithStrategy(editorState, function (strategyState) {\n var selection = strategyState.getSelection();\n if (selection.isCollapsed() && selection.getAnchorOffset() === 0) {\n return moveSelectionBackward(strategyState, 1);\n }\n\n var domSelection = global.getSelection();\n var range = domSelection.getRangeAt(0);\n range = expandRangeToStartOfLine(range);\n\n return getDraftEditorSelectionWithNodes(strategyState, null, range.endContainer, range.endOffset, range.startContainer, range.startOffset).selectionState;\n }, 'backward');\n\n if (afterRemoval === editorState.getCurrentContent()) {\n return editorState;\n }\n\n return EditorState.push(editorState, afterRemoval, 'remove-range');\n}\n\nmodule.exports = keyCommandBackspaceToStartOfLine;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2tleUNvbW1hbmRCYWNrc3BhY2VUb1N0YXJ0T2ZMaW5lLmpzPzFjNDAiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVhOztBQUViLGtCQUFrQixtQkFBTyxDQUFDLGlFQUFlOztBQUV6QywrQkFBK0IsbUJBQU8sQ0FBQywyRkFBNEI7QUFDbkUsdUNBQXVDLG1CQUFPLENBQUMsMkdBQW9DO0FBQ25GLDRCQUE0QixtQkFBTyxDQUFDLHFGQUF5QjtBQUM3RCw2QkFBNkIsbUJBQU8sQ0FBQyx1RkFBMEI7O0FBRS9EO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBLGtEIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2RyYWZ0LWpzL2xpYi9rZXlDb21tYW5kQmFja3NwYWNlVG9TdGFydE9mTGluZS5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXG4gKiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEJTRC1zdHlsZSBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLiBBbiBhZGRpdGlvbmFsIGdyYW50XG4gKiBvZiBwYXRlbnQgcmlnaHRzIGNhbiBiZSBmb3VuZCBpbiB0aGUgUEFURU5UUyBmaWxlIGluIHRoZSBzYW1lIGRpcmVjdG9yeS5cbiAqXG4gKiBAcHJvdmlkZXNNb2R1bGUga2V5Q29tbWFuZEJhY2tzcGFjZVRvU3RhcnRPZkxpbmVcbiAqIEBmb3JtYXRcbiAqIFxuICovXG5cbid1c2Ugc3RyaWN0JztcblxudmFyIEVkaXRvclN0YXRlID0gcmVxdWlyZSgnLi9FZGl0b3JTdGF0ZScpO1xuXG52YXIgZXhwYW5kUmFuZ2VUb1N0YXJ0T2ZMaW5lID0gcmVxdWlyZSgnLi9leHBhbmRSYW5nZVRvU3RhcnRPZkxpbmUnKTtcbnZhciBnZXREcmFmdEVkaXRvclNlbGVjdGlvbldpdGhOb2RlcyA9IHJlcXVpcmUoJy4vZ2V0RHJhZnRFZGl0b3JTZWxlY3Rpb25XaXRoTm9kZXMnKTtcbnZhciBtb3ZlU2VsZWN0aW9uQmFja3dhcmQgPSByZXF1aXJlKCcuL21vdmVTZWxlY3Rpb25CYWNrd2FyZCcpO1xudmFyIHJlbW92ZVRleHRXaXRoU3RyYXRlZ3kgPSByZXF1aXJlKCcuL3JlbW92ZVRleHRXaXRoU3RyYXRlZ3knKTtcblxuZnVuY3Rpb24ga2V5Q29tbWFuZEJhY2tzcGFjZVRvU3RhcnRPZkxpbmUoZWRpdG9yU3RhdGUpIHtcbiAgdmFyIGFmdGVyUmVtb3ZhbCA9IHJlbW92ZVRleHRXaXRoU3RyYXRlZ3koZWRpdG9yU3RhdGUsIGZ1bmN0aW9uIChzdHJhdGVneVN0YXRlKSB7XG4gICAgdmFyIHNlbGVjdGlvbiA9IHN0cmF0ZWd5U3RhdGUuZ2V0U2VsZWN0aW9uKCk7XG4gICAgaWYgKHNlbGVjdGlvbi5pc0NvbGxhcHNlZCgpICYmIHNlbGVjdGlvbi5nZXRBbmNob3JPZmZzZXQoKSA9PT0gMCkge1xuICAgICAgcmV0dXJuIG1vdmVTZWxlY3Rpb25CYWNrd2FyZChzdHJhdGVneVN0YXRlLCAxKTtcbiAgICB9XG5cbiAgICB2YXIgZG9tU2VsZWN0aW9uID0gZ2xvYmFsLmdldFNlbGVjdGlvbigpO1xuICAgIHZhciByYW5nZSA9IGRvbVNlbGVjdGlvbi5nZXRSYW5nZUF0KDApO1xuICAgIHJhbmdlID0gZXhwYW5kUmFuZ2VUb1N0YXJ0T2ZMaW5lKHJhbmdlKTtcblxuICAgIHJldHVybiBnZXREcmFmdEVkaXRvclNlbGVjdGlvbldpdGhOb2RlcyhzdHJhdGVneVN0YXRlLCBudWxsLCByYW5nZS5lbmRDb250YWluZXIsIHJhbmdlLmVuZE9mZnNldCwgcmFuZ2Uuc3RhcnRDb250YWluZXIsIHJhbmdlLnN0YXJ0T2Zmc2V0KS5zZWxlY3Rpb25TdGF0ZTtcbiAgfSwgJ2JhY2t3YXJkJyk7XG5cbiAgaWYgKGFmdGVyUmVtb3ZhbCA9PT0gZWRpdG9yU3RhdGUuZ2V0Q3VycmVudENvbnRlbnQoKSkge1xuICAgIHJldHVybiBlZGl0b3JTdGF0ZTtcbiAgfVxuXG4gIHJldHVybiBFZGl0b3JTdGF0ZS5wdXNoKGVkaXRvclN0YXRlLCBhZnRlclJlbW92YWwsICdyZW1vdmUtcmFuZ2UnKTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBrZXlDb21tYW5kQmFja3NwYWNlVG9TdGFydE9mTGluZTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/keyCommandBackspaceToStartOfLine.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nvar EditorState = __webpack_require__(/*! ./EditorState */ \"./node_modules/draft-js/lib/EditorState.js\");\n\nvar expandRangeToStartOfLine = __webpack_require__(/*! ./expandRangeToStartOfLine */ \"./node_modules/draft-js/lib/expandRangeToStartOfLine.js\");\n\nvar getDraftEditorSelectionWithNodes = __webpack_require__(/*! ./getDraftEditorSelectionWithNodes */ \"./node_modules/draft-js/lib/getDraftEditorSelectionWithNodes.js\");\n\nvar moveSelectionBackward = __webpack_require__(/*! ./moveSelectionBackward */ \"./node_modules/draft-js/lib/moveSelectionBackward.js\");\n\nvar removeTextWithStrategy = __webpack_require__(/*! ./removeTextWithStrategy */ \"./node_modules/draft-js/lib/removeTextWithStrategy.js\");\n\nfunction keyCommandBackspaceToStartOfLine(editorState, e) {\n var afterRemoval = removeTextWithStrategy(editorState, function (strategyState) {\n var selection = strategyState.getSelection();\n\n if (selection.isCollapsed() && selection.getAnchorOffset() === 0) {\n return moveSelectionBackward(strategyState, 1);\n }\n\n var ownerDocument = e.currentTarget.ownerDocument;\n var domSelection = ownerDocument.defaultView.getSelection();\n var range = domSelection.getRangeAt(0);\n range = expandRangeToStartOfLine(range);\n return getDraftEditorSelectionWithNodes(strategyState, null, range.endContainer, range.endOffset, range.startContainer, range.startOffset).selectionState;\n }, 'backward');\n\n if (afterRemoval === editorState.getCurrentContent()) {\n return editorState;\n }\n\n return EditorState.push(editorState, afterRemoval, 'remove-range');\n}\n\nmodule.exports = keyCommandBackspaceToStartOfLine;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2tleUNvbW1hbmRCYWNrc3BhY2VUb1N0YXJ0T2ZMaW5lLmpzPzFjNDAiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDYTs7QUFFYixrQkFBa0IsbUJBQU8sQ0FBQyxpRUFBZTs7QUFFekMsK0JBQStCLG1CQUFPLENBQUMsMkZBQTRCOztBQUVuRSx1Q0FBdUMsbUJBQU8sQ0FBQywyR0FBb0M7O0FBRW5GLDRCQUE0QixtQkFBTyxDQUFDLHFGQUF5Qjs7QUFFN0QsNkJBQTZCLG1CQUFPLENBQUMsdUZBQTBCOztBQUUvRDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2RyYWZ0LWpzL2xpYi9rZXlDb21tYW5kQmFja3NwYWNlVG9TdGFydE9mTGluZS5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSBGYWNlYm9vaywgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICogQGZvcm1hdFxuICogXG4gKiBAZW1haWxzIG9uY2FsbCtkcmFmdF9qc1xuICovXG4ndXNlIHN0cmljdCc7XG5cbnZhciBFZGl0b3JTdGF0ZSA9IHJlcXVpcmUoXCIuL0VkaXRvclN0YXRlXCIpO1xuXG52YXIgZXhwYW5kUmFuZ2VUb1N0YXJ0T2ZMaW5lID0gcmVxdWlyZShcIi4vZXhwYW5kUmFuZ2VUb1N0YXJ0T2ZMaW5lXCIpO1xuXG52YXIgZ2V0RHJhZnRFZGl0b3JTZWxlY3Rpb25XaXRoTm9kZXMgPSByZXF1aXJlKFwiLi9nZXREcmFmdEVkaXRvclNlbGVjdGlvbldpdGhOb2Rlc1wiKTtcblxudmFyIG1vdmVTZWxlY3Rpb25CYWNrd2FyZCA9IHJlcXVpcmUoXCIuL21vdmVTZWxlY3Rpb25CYWNrd2FyZFwiKTtcblxudmFyIHJlbW92ZVRleHRXaXRoU3RyYXRlZ3kgPSByZXF1aXJlKFwiLi9yZW1vdmVUZXh0V2l0aFN0cmF0ZWd5XCIpO1xuXG5mdW5jdGlvbiBrZXlDb21tYW5kQmFja3NwYWNlVG9TdGFydE9mTGluZShlZGl0b3JTdGF0ZSwgZSkge1xuICB2YXIgYWZ0ZXJSZW1vdmFsID0gcmVtb3ZlVGV4dFdpdGhTdHJhdGVneShlZGl0b3JTdGF0ZSwgZnVuY3Rpb24gKHN0cmF0ZWd5U3RhdGUpIHtcbiAgICB2YXIgc2VsZWN0aW9uID0gc3RyYXRlZ3lTdGF0ZS5nZXRTZWxlY3Rpb24oKTtcblxuICAgIGlmIChzZWxlY3Rpb24uaXNDb2xsYXBzZWQoKSAmJiBzZWxlY3Rpb24uZ2V0QW5jaG9yT2Zmc2V0KCkgPT09IDApIHtcbiAgICAgIHJldHVybiBtb3ZlU2VsZWN0aW9uQmFja3dhcmQoc3RyYXRlZ3lTdGF0ZSwgMSk7XG4gICAgfVxuXG4gICAgdmFyIG93bmVyRG9jdW1lbnQgPSBlLmN1cnJlbnRUYXJnZXQub3duZXJEb2N1bWVudDtcbiAgICB2YXIgZG9tU2VsZWN0aW9uID0gb3duZXJEb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRTZWxlY3Rpb24oKTtcbiAgICB2YXIgcmFuZ2UgPSBkb21TZWxlY3Rpb24uZ2V0UmFuZ2VBdCgwKTtcbiAgICByYW5nZSA9IGV4cGFuZFJhbmdlVG9TdGFydE9mTGluZShyYW5nZSk7XG4gICAgcmV0dXJuIGdldERyYWZ0RWRpdG9yU2VsZWN0aW9uV2l0aE5vZGVzKHN0cmF0ZWd5U3RhdGUsIG51bGwsIHJhbmdlLmVuZENvbnRhaW5lciwgcmFuZ2UuZW5kT2Zmc2V0LCByYW5nZS5zdGFydENvbnRhaW5lciwgcmFuZ2Uuc3RhcnRPZmZzZXQpLnNlbGVjdGlvblN0YXRlO1xuICB9LCAnYmFja3dhcmQnKTtcblxuICBpZiAoYWZ0ZXJSZW1vdmFsID09PSBlZGl0b3JTdGF0ZS5nZXRDdXJyZW50Q29udGVudCgpKSB7XG4gICAgcmV0dXJuIGVkaXRvclN0YXRlO1xuICB9XG5cbiAgcmV0dXJuIEVkaXRvclN0YXRlLnB1c2goZWRpdG9yU3RhdGUsIGFmdGVyUmVtb3ZhbCwgJ3JlbW92ZS1yYW5nZScpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGtleUNvbW1hbmRCYWNrc3BhY2VUb1N0YXJ0T2ZMaW5lOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/keyCommandBackspaceToStartOfLine.js\n"); /***/ }), @@ -1087,7 +1314,7 @@ eval("/* WEBPACK VAR INJECTION */(function(global) {/**\n * Copyright (c) 2013-p /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule keyCommandBackspaceWord\n * @format\n * \n */\n\n\n\nvar DraftRemovableWord = __webpack_require__(/*! ./DraftRemovableWord */ \"./node_modules/draft-js/lib/DraftRemovableWord.js\");\nvar EditorState = __webpack_require__(/*! ./EditorState */ \"./node_modules/draft-js/lib/EditorState.js\");\n\nvar moveSelectionBackward = __webpack_require__(/*! ./moveSelectionBackward */ \"./node_modules/draft-js/lib/moveSelectionBackward.js\");\nvar removeTextWithStrategy = __webpack_require__(/*! ./removeTextWithStrategy */ \"./node_modules/draft-js/lib/removeTextWithStrategy.js\");\n\n/**\n * Delete the word that is left of the cursor, as well as any spaces or\n * punctuation after the word.\n */\nfunction keyCommandBackspaceWord(editorState) {\n var afterRemoval = removeTextWithStrategy(editorState, function (strategyState) {\n var selection = strategyState.getSelection();\n var offset = selection.getStartOffset();\n // If there are no words before the cursor, remove the preceding newline.\n if (offset === 0) {\n return moveSelectionBackward(strategyState, 1);\n }\n var key = selection.getStartKey();\n var content = strategyState.getCurrentContent();\n var text = content.getBlockForKey(key).getText().slice(0, offset);\n var toRemove = DraftRemovableWord.getBackward(text);\n return moveSelectionBackward(strategyState, toRemove.length || 1);\n }, 'backward');\n\n if (afterRemoval === editorState.getCurrentContent()) {\n return editorState;\n }\n\n return EditorState.push(editorState, afterRemoval, 'remove-range');\n}\n\nmodule.exports = keyCommandBackspaceWord;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2tleUNvbW1hbmRCYWNrc3BhY2VXb3JkLmpzP2JkYzMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVhOztBQUViLHlCQUF5QixtQkFBTyxDQUFDLCtFQUFzQjtBQUN2RCxrQkFBa0IsbUJBQU8sQ0FBQyxpRUFBZTs7QUFFekMsNEJBQTRCLG1CQUFPLENBQUMscUZBQXlCO0FBQzdELDZCQUE2QixtQkFBTyxDQUFDLHVGQUEwQjs7QUFFL0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2tleUNvbW1hbmRCYWNrc3BhY2VXb3JkLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQlNELXN0eWxlIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuIEFuIGFkZGl0aW9uYWwgZ3JhbnRcbiAqIG9mIHBhdGVudCByaWdodHMgY2FuIGJlIGZvdW5kIGluIHRoZSBQQVRFTlRTIGZpbGUgaW4gdGhlIHNhbWUgZGlyZWN0b3J5LlxuICpcbiAqIEBwcm92aWRlc01vZHVsZSBrZXlDb21tYW5kQmFja3NwYWNlV29yZFxuICogQGZvcm1hdFxuICogXG4gKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG52YXIgRHJhZnRSZW1vdmFibGVXb3JkID0gcmVxdWlyZSgnLi9EcmFmdFJlbW92YWJsZVdvcmQnKTtcbnZhciBFZGl0b3JTdGF0ZSA9IHJlcXVpcmUoJy4vRWRpdG9yU3RhdGUnKTtcblxudmFyIG1vdmVTZWxlY3Rpb25CYWNrd2FyZCA9IHJlcXVpcmUoJy4vbW92ZVNlbGVjdGlvbkJhY2t3YXJkJyk7XG52YXIgcmVtb3ZlVGV4dFdpdGhTdHJhdGVneSA9IHJlcXVpcmUoJy4vcmVtb3ZlVGV4dFdpdGhTdHJhdGVneScpO1xuXG4vKipcbiAqIERlbGV0ZSB0aGUgd29yZCB0aGF0IGlzIGxlZnQgb2YgdGhlIGN1cnNvciwgYXMgd2VsbCBhcyBhbnkgc3BhY2VzIG9yXG4gKiBwdW5jdHVhdGlvbiBhZnRlciB0aGUgd29yZC5cbiAqL1xuZnVuY3Rpb24ga2V5Q29tbWFuZEJhY2tzcGFjZVdvcmQoZWRpdG9yU3RhdGUpIHtcbiAgdmFyIGFmdGVyUmVtb3ZhbCA9IHJlbW92ZVRleHRXaXRoU3RyYXRlZ3koZWRpdG9yU3RhdGUsIGZ1bmN0aW9uIChzdHJhdGVneVN0YXRlKSB7XG4gICAgdmFyIHNlbGVjdGlvbiA9IHN0cmF0ZWd5U3RhdGUuZ2V0U2VsZWN0aW9uKCk7XG4gICAgdmFyIG9mZnNldCA9IHNlbGVjdGlvbi5nZXRTdGFydE9mZnNldCgpO1xuICAgIC8vIElmIHRoZXJlIGFyZSBubyB3b3JkcyBiZWZvcmUgdGhlIGN1cnNvciwgcmVtb3ZlIHRoZSBwcmVjZWRpbmcgbmV3bGluZS5cbiAgICBpZiAob2Zmc2V0ID09PSAwKSB7XG4gICAgICByZXR1cm4gbW92ZVNlbGVjdGlvbkJhY2t3YXJkKHN0cmF0ZWd5U3RhdGUsIDEpO1xuICAgIH1cbiAgICB2YXIga2V5ID0gc2VsZWN0aW9uLmdldFN0YXJ0S2V5KCk7XG4gICAgdmFyIGNvbnRlbnQgPSBzdHJhdGVneVN0YXRlLmdldEN1cnJlbnRDb250ZW50KCk7XG4gICAgdmFyIHRleHQgPSBjb250ZW50LmdldEJsb2NrRm9yS2V5KGtleSkuZ2V0VGV4dCgpLnNsaWNlKDAsIG9mZnNldCk7XG4gICAgdmFyIHRvUmVtb3ZlID0gRHJhZnRSZW1vdmFibGVXb3JkLmdldEJhY2t3YXJkKHRleHQpO1xuICAgIHJldHVybiBtb3ZlU2VsZWN0aW9uQmFja3dhcmQoc3RyYXRlZ3lTdGF0ZSwgdG9SZW1vdmUubGVuZ3RoIHx8IDEpO1xuICB9LCAnYmFja3dhcmQnKTtcblxuICBpZiAoYWZ0ZXJSZW1vdmFsID09PSBlZGl0b3JTdGF0ZS5nZXRDdXJyZW50Q29udGVudCgpKSB7XG4gICAgcmV0dXJuIGVkaXRvclN0YXRlO1xuICB9XG5cbiAgcmV0dXJuIEVkaXRvclN0YXRlLnB1c2goZWRpdG9yU3RhdGUsIGFmdGVyUmVtb3ZhbCwgJ3JlbW92ZS1yYW5nZScpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGtleUNvbW1hbmRCYWNrc3BhY2VXb3JkOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/keyCommandBackspaceWord.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nvar DraftRemovableWord = __webpack_require__(/*! ./DraftRemovableWord */ \"./node_modules/draft-js/lib/DraftRemovableWord.js\");\n\nvar EditorState = __webpack_require__(/*! ./EditorState */ \"./node_modules/draft-js/lib/EditorState.js\");\n\nvar moveSelectionBackward = __webpack_require__(/*! ./moveSelectionBackward */ \"./node_modules/draft-js/lib/moveSelectionBackward.js\");\n\nvar removeTextWithStrategy = __webpack_require__(/*! ./removeTextWithStrategy */ \"./node_modules/draft-js/lib/removeTextWithStrategy.js\");\n/**\n * Delete the word that is left of the cursor, as well as any spaces or\n * punctuation after the word.\n */\n\n\nfunction keyCommandBackspaceWord(editorState) {\n var afterRemoval = removeTextWithStrategy(editorState, function (strategyState) {\n var selection = strategyState.getSelection();\n var offset = selection.getStartOffset(); // If there are no words before the cursor, remove the preceding newline.\n\n if (offset === 0) {\n return moveSelectionBackward(strategyState, 1);\n }\n\n var key = selection.getStartKey();\n var content = strategyState.getCurrentContent();\n var text = content.getBlockForKey(key).getText().slice(0, offset);\n var toRemove = DraftRemovableWord.getBackward(text);\n return moveSelectionBackward(strategyState, toRemove.length || 1);\n }, 'backward');\n\n if (afterRemoval === editorState.getCurrentContent()) {\n return editorState;\n }\n\n return EditorState.push(editorState, afterRemoval, 'remove-range');\n}\n\nmodule.exports = keyCommandBackspaceWord;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2tleUNvbW1hbmRCYWNrc3BhY2VXb3JkLmpzP2JkYzMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDYTs7QUFFYix5QkFBeUIsbUJBQU8sQ0FBQywrRUFBc0I7O0FBRXZELGtCQUFrQixtQkFBTyxDQUFDLGlFQUFlOztBQUV6Qyw0QkFBNEIsbUJBQU8sQ0FBQyxxRkFBeUI7O0FBRTdELDZCQUE2QixtQkFBTyxDQUFDLHVGQUEwQjtBQUMvRDtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0EsNENBQTRDOztBQUU1QztBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2tleUNvbW1hbmRCYWNrc3BhY2VXb3JkLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIEZhY2Vib29rLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKiBAZm9ybWF0XG4gKiBcbiAqIEBlbWFpbHMgb25jYWxsK2RyYWZ0X2pzXG4gKi9cbid1c2Ugc3RyaWN0JztcblxudmFyIERyYWZ0UmVtb3ZhYmxlV29yZCA9IHJlcXVpcmUoXCIuL0RyYWZ0UmVtb3ZhYmxlV29yZFwiKTtcblxudmFyIEVkaXRvclN0YXRlID0gcmVxdWlyZShcIi4vRWRpdG9yU3RhdGVcIik7XG5cbnZhciBtb3ZlU2VsZWN0aW9uQmFja3dhcmQgPSByZXF1aXJlKFwiLi9tb3ZlU2VsZWN0aW9uQmFja3dhcmRcIik7XG5cbnZhciByZW1vdmVUZXh0V2l0aFN0cmF0ZWd5ID0gcmVxdWlyZShcIi4vcmVtb3ZlVGV4dFdpdGhTdHJhdGVneVwiKTtcbi8qKlxuICogRGVsZXRlIHRoZSB3b3JkIHRoYXQgaXMgbGVmdCBvZiB0aGUgY3Vyc29yLCBhcyB3ZWxsIGFzIGFueSBzcGFjZXMgb3JcbiAqIHB1bmN0dWF0aW9uIGFmdGVyIHRoZSB3b3JkLlxuICovXG5cblxuZnVuY3Rpb24ga2V5Q29tbWFuZEJhY2tzcGFjZVdvcmQoZWRpdG9yU3RhdGUpIHtcbiAgdmFyIGFmdGVyUmVtb3ZhbCA9IHJlbW92ZVRleHRXaXRoU3RyYXRlZ3koZWRpdG9yU3RhdGUsIGZ1bmN0aW9uIChzdHJhdGVneVN0YXRlKSB7XG4gICAgdmFyIHNlbGVjdGlvbiA9IHN0cmF0ZWd5U3RhdGUuZ2V0U2VsZWN0aW9uKCk7XG4gICAgdmFyIG9mZnNldCA9IHNlbGVjdGlvbi5nZXRTdGFydE9mZnNldCgpOyAvLyBJZiB0aGVyZSBhcmUgbm8gd29yZHMgYmVmb3JlIHRoZSBjdXJzb3IsIHJlbW92ZSB0aGUgcHJlY2VkaW5nIG5ld2xpbmUuXG5cbiAgICBpZiAob2Zmc2V0ID09PSAwKSB7XG4gICAgICByZXR1cm4gbW92ZVNlbGVjdGlvbkJhY2t3YXJkKHN0cmF0ZWd5U3RhdGUsIDEpO1xuICAgIH1cblxuICAgIHZhciBrZXkgPSBzZWxlY3Rpb24uZ2V0U3RhcnRLZXkoKTtcbiAgICB2YXIgY29udGVudCA9IHN0cmF0ZWd5U3RhdGUuZ2V0Q3VycmVudENvbnRlbnQoKTtcbiAgICB2YXIgdGV4dCA9IGNvbnRlbnQuZ2V0QmxvY2tGb3JLZXkoa2V5KS5nZXRUZXh0KCkuc2xpY2UoMCwgb2Zmc2V0KTtcbiAgICB2YXIgdG9SZW1vdmUgPSBEcmFmdFJlbW92YWJsZVdvcmQuZ2V0QmFja3dhcmQodGV4dCk7XG4gICAgcmV0dXJuIG1vdmVTZWxlY3Rpb25CYWNrd2FyZChzdHJhdGVneVN0YXRlLCB0b1JlbW92ZS5sZW5ndGggfHwgMSk7XG4gIH0sICdiYWNrd2FyZCcpO1xuXG4gIGlmIChhZnRlclJlbW92YWwgPT09IGVkaXRvclN0YXRlLmdldEN1cnJlbnRDb250ZW50KCkpIHtcbiAgICByZXR1cm4gZWRpdG9yU3RhdGU7XG4gIH1cblxuICByZXR1cm4gRWRpdG9yU3RhdGUucHVzaChlZGl0b3JTdGF0ZSwgYWZ0ZXJSZW1vdmFsLCAncmVtb3ZlLXJhbmdlJyk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0ga2V5Q29tbWFuZEJhY2tzcGFjZVdvcmQ7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/keyCommandBackspaceWord.js\n"); /***/ }), @@ -1099,7 +1326,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule keyCommandDeleteWord\n * @format\n * \n */\n\n\n\nvar DraftRemovableWord = __webpack_require__(/*! ./DraftRemovableWord */ \"./node_modules/draft-js/lib/DraftRemovableWord.js\");\nvar EditorState = __webpack_require__(/*! ./EditorState */ \"./node_modules/draft-js/lib/EditorState.js\");\n\nvar moveSelectionForward = __webpack_require__(/*! ./moveSelectionForward */ \"./node_modules/draft-js/lib/moveSelectionForward.js\");\nvar removeTextWithStrategy = __webpack_require__(/*! ./removeTextWithStrategy */ \"./node_modules/draft-js/lib/removeTextWithStrategy.js\");\n\n/**\n * Delete the word that is right of the cursor, as well as any spaces or\n * punctuation before the word.\n */\nfunction keyCommandDeleteWord(editorState) {\n var afterRemoval = removeTextWithStrategy(editorState, function (strategyState) {\n var selection = strategyState.getSelection();\n var offset = selection.getStartOffset();\n var key = selection.getStartKey();\n var content = strategyState.getCurrentContent();\n var text = content.getBlockForKey(key).getText().slice(offset);\n var toRemove = DraftRemovableWord.getForward(text);\n\n // If there are no words in front of the cursor, remove the newline.\n return moveSelectionForward(strategyState, toRemove.length || 1);\n }, 'forward');\n\n if (afterRemoval === editorState.getCurrentContent()) {\n return editorState;\n }\n\n return EditorState.push(editorState, afterRemoval, 'remove-range');\n}\n\nmodule.exports = keyCommandDeleteWord;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2tleUNvbW1hbmREZWxldGVXb3JkLmpzPzYxNDciXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVhOztBQUViLHlCQUF5QixtQkFBTyxDQUFDLCtFQUFzQjtBQUN2RCxrQkFBa0IsbUJBQU8sQ0FBQyxpRUFBZTs7QUFFekMsMkJBQTJCLG1CQUFPLENBQUMsbUZBQXdCO0FBQzNELDZCQUE2QixtQkFBTyxDQUFDLHVGQUEwQjs7QUFFL0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2RyYWZ0LWpzL2xpYi9rZXlDb21tYW5kRGVsZXRlV29yZC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXG4gKiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEJTRC1zdHlsZSBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLiBBbiBhZGRpdGlvbmFsIGdyYW50XG4gKiBvZiBwYXRlbnQgcmlnaHRzIGNhbiBiZSBmb3VuZCBpbiB0aGUgUEFURU5UUyBmaWxlIGluIHRoZSBzYW1lIGRpcmVjdG9yeS5cbiAqXG4gKiBAcHJvdmlkZXNNb2R1bGUga2V5Q29tbWFuZERlbGV0ZVdvcmRcbiAqIEBmb3JtYXRcbiAqIFxuICovXG5cbid1c2Ugc3RyaWN0JztcblxudmFyIERyYWZ0UmVtb3ZhYmxlV29yZCA9IHJlcXVpcmUoJy4vRHJhZnRSZW1vdmFibGVXb3JkJyk7XG52YXIgRWRpdG9yU3RhdGUgPSByZXF1aXJlKCcuL0VkaXRvclN0YXRlJyk7XG5cbnZhciBtb3ZlU2VsZWN0aW9uRm9yd2FyZCA9IHJlcXVpcmUoJy4vbW92ZVNlbGVjdGlvbkZvcndhcmQnKTtcbnZhciByZW1vdmVUZXh0V2l0aFN0cmF0ZWd5ID0gcmVxdWlyZSgnLi9yZW1vdmVUZXh0V2l0aFN0cmF0ZWd5Jyk7XG5cbi8qKlxuICogRGVsZXRlIHRoZSB3b3JkIHRoYXQgaXMgcmlnaHQgb2YgdGhlIGN1cnNvciwgYXMgd2VsbCBhcyBhbnkgc3BhY2VzIG9yXG4gKiBwdW5jdHVhdGlvbiBiZWZvcmUgdGhlIHdvcmQuXG4gKi9cbmZ1bmN0aW9uIGtleUNvbW1hbmREZWxldGVXb3JkKGVkaXRvclN0YXRlKSB7XG4gIHZhciBhZnRlclJlbW92YWwgPSByZW1vdmVUZXh0V2l0aFN0cmF0ZWd5KGVkaXRvclN0YXRlLCBmdW5jdGlvbiAoc3RyYXRlZ3lTdGF0ZSkge1xuICAgIHZhciBzZWxlY3Rpb24gPSBzdHJhdGVneVN0YXRlLmdldFNlbGVjdGlvbigpO1xuICAgIHZhciBvZmZzZXQgPSBzZWxlY3Rpb24uZ2V0U3RhcnRPZmZzZXQoKTtcbiAgICB2YXIga2V5ID0gc2VsZWN0aW9uLmdldFN0YXJ0S2V5KCk7XG4gICAgdmFyIGNvbnRlbnQgPSBzdHJhdGVneVN0YXRlLmdldEN1cnJlbnRDb250ZW50KCk7XG4gICAgdmFyIHRleHQgPSBjb250ZW50LmdldEJsb2NrRm9yS2V5KGtleSkuZ2V0VGV4dCgpLnNsaWNlKG9mZnNldCk7XG4gICAgdmFyIHRvUmVtb3ZlID0gRHJhZnRSZW1vdmFibGVXb3JkLmdldEZvcndhcmQodGV4dCk7XG5cbiAgICAvLyBJZiB0aGVyZSBhcmUgbm8gd29yZHMgaW4gZnJvbnQgb2YgdGhlIGN1cnNvciwgcmVtb3ZlIHRoZSBuZXdsaW5lLlxuICAgIHJldHVybiBtb3ZlU2VsZWN0aW9uRm9yd2FyZChzdHJhdGVneVN0YXRlLCB0b1JlbW92ZS5sZW5ndGggfHwgMSk7XG4gIH0sICdmb3J3YXJkJyk7XG5cbiAgaWYgKGFmdGVyUmVtb3ZhbCA9PT0gZWRpdG9yU3RhdGUuZ2V0Q3VycmVudENvbnRlbnQoKSkge1xuICAgIHJldHVybiBlZGl0b3JTdGF0ZTtcbiAgfVxuXG4gIHJldHVybiBFZGl0b3JTdGF0ZS5wdXNoKGVkaXRvclN0YXRlLCBhZnRlclJlbW92YWwsICdyZW1vdmUtcmFuZ2UnKTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBrZXlDb21tYW5kRGVsZXRlV29yZDsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/keyCommandDeleteWord.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nvar DraftRemovableWord = __webpack_require__(/*! ./DraftRemovableWord */ \"./node_modules/draft-js/lib/DraftRemovableWord.js\");\n\nvar EditorState = __webpack_require__(/*! ./EditorState */ \"./node_modules/draft-js/lib/EditorState.js\");\n\nvar moveSelectionForward = __webpack_require__(/*! ./moveSelectionForward */ \"./node_modules/draft-js/lib/moveSelectionForward.js\");\n\nvar removeTextWithStrategy = __webpack_require__(/*! ./removeTextWithStrategy */ \"./node_modules/draft-js/lib/removeTextWithStrategy.js\");\n/**\n * Delete the word that is right of the cursor, as well as any spaces or\n * punctuation before the word.\n */\n\n\nfunction keyCommandDeleteWord(editorState) {\n var afterRemoval = removeTextWithStrategy(editorState, function (strategyState) {\n var selection = strategyState.getSelection();\n var offset = selection.getStartOffset();\n var key = selection.getStartKey();\n var content = strategyState.getCurrentContent();\n var text = content.getBlockForKey(key).getText().slice(offset);\n var toRemove = DraftRemovableWord.getForward(text); // If there are no words in front of the cursor, remove the newline.\n\n return moveSelectionForward(strategyState, toRemove.length || 1);\n }, 'forward');\n\n if (afterRemoval === editorState.getCurrentContent()) {\n return editorState;\n }\n\n return EditorState.push(editorState, afterRemoval, 'remove-range');\n}\n\nmodule.exports = keyCommandDeleteWord;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2tleUNvbW1hbmREZWxldGVXb3JkLmpzPzYxNDciXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDYTs7QUFFYix5QkFBeUIsbUJBQU8sQ0FBQywrRUFBc0I7O0FBRXZELGtCQUFrQixtQkFBTyxDQUFDLGlFQUFlOztBQUV6QywyQkFBMkIsbUJBQU8sQ0FBQyxtRkFBd0I7O0FBRTNELDZCQUE2QixtQkFBTyxDQUFDLHVGQUEwQjtBQUMvRDtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1REFBdUQ7O0FBRXZEO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIva2V5Q29tbWFuZERlbGV0ZVdvcmQuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgRmFjZWJvb2ssIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIEBmb3JtYXRcbiAqIFxuICogQGVtYWlscyBvbmNhbGwrZHJhZnRfanNcbiAqL1xuJ3VzZSBzdHJpY3QnO1xuXG52YXIgRHJhZnRSZW1vdmFibGVXb3JkID0gcmVxdWlyZShcIi4vRHJhZnRSZW1vdmFibGVXb3JkXCIpO1xuXG52YXIgRWRpdG9yU3RhdGUgPSByZXF1aXJlKFwiLi9FZGl0b3JTdGF0ZVwiKTtcblxudmFyIG1vdmVTZWxlY3Rpb25Gb3J3YXJkID0gcmVxdWlyZShcIi4vbW92ZVNlbGVjdGlvbkZvcndhcmRcIik7XG5cbnZhciByZW1vdmVUZXh0V2l0aFN0cmF0ZWd5ID0gcmVxdWlyZShcIi4vcmVtb3ZlVGV4dFdpdGhTdHJhdGVneVwiKTtcbi8qKlxuICogRGVsZXRlIHRoZSB3b3JkIHRoYXQgaXMgcmlnaHQgb2YgdGhlIGN1cnNvciwgYXMgd2VsbCBhcyBhbnkgc3BhY2VzIG9yXG4gKiBwdW5jdHVhdGlvbiBiZWZvcmUgdGhlIHdvcmQuXG4gKi9cblxuXG5mdW5jdGlvbiBrZXlDb21tYW5kRGVsZXRlV29yZChlZGl0b3JTdGF0ZSkge1xuICB2YXIgYWZ0ZXJSZW1vdmFsID0gcmVtb3ZlVGV4dFdpdGhTdHJhdGVneShlZGl0b3JTdGF0ZSwgZnVuY3Rpb24gKHN0cmF0ZWd5U3RhdGUpIHtcbiAgICB2YXIgc2VsZWN0aW9uID0gc3RyYXRlZ3lTdGF0ZS5nZXRTZWxlY3Rpb24oKTtcbiAgICB2YXIgb2Zmc2V0ID0gc2VsZWN0aW9uLmdldFN0YXJ0T2Zmc2V0KCk7XG4gICAgdmFyIGtleSA9IHNlbGVjdGlvbi5nZXRTdGFydEtleSgpO1xuICAgIHZhciBjb250ZW50ID0gc3RyYXRlZ3lTdGF0ZS5nZXRDdXJyZW50Q29udGVudCgpO1xuICAgIHZhciB0ZXh0ID0gY29udGVudC5nZXRCbG9ja0ZvcktleShrZXkpLmdldFRleHQoKS5zbGljZShvZmZzZXQpO1xuICAgIHZhciB0b1JlbW92ZSA9IERyYWZ0UmVtb3ZhYmxlV29yZC5nZXRGb3J3YXJkKHRleHQpOyAvLyBJZiB0aGVyZSBhcmUgbm8gd29yZHMgaW4gZnJvbnQgb2YgdGhlIGN1cnNvciwgcmVtb3ZlIHRoZSBuZXdsaW5lLlxuXG4gICAgcmV0dXJuIG1vdmVTZWxlY3Rpb25Gb3J3YXJkKHN0cmF0ZWd5U3RhdGUsIHRvUmVtb3ZlLmxlbmd0aCB8fCAxKTtcbiAgfSwgJ2ZvcndhcmQnKTtcblxuICBpZiAoYWZ0ZXJSZW1vdmFsID09PSBlZGl0b3JTdGF0ZS5nZXRDdXJyZW50Q29udGVudCgpKSB7XG4gICAgcmV0dXJuIGVkaXRvclN0YXRlO1xuICB9XG5cbiAgcmV0dXJuIEVkaXRvclN0YXRlLnB1c2goZWRpdG9yU3RhdGUsIGFmdGVyUmVtb3ZhbCwgJ3JlbW92ZS1yYW5nZScpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGtleUNvbW1hbmREZWxldGVXb3JkOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/keyCommandDeleteWord.js\n"); /***/ }), @@ -1111,7 +1338,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule keyCommandInsertNewline\n * @format\n * \n */\n\n\n\nvar DraftModifier = __webpack_require__(/*! ./DraftModifier */ \"./node_modules/draft-js/lib/DraftModifier.js\");\nvar EditorState = __webpack_require__(/*! ./EditorState */ \"./node_modules/draft-js/lib/EditorState.js\");\n\nfunction keyCommandInsertNewline(editorState) {\n var contentState = DraftModifier.splitBlock(editorState.getCurrentContent(), editorState.getSelection());\n return EditorState.push(editorState, contentState, 'split-block');\n}\n\nmodule.exports = keyCommandInsertNewline;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2tleUNvbW1hbmRJbnNlcnROZXdsaW5lLmpzPzMwZjIiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVhOztBQUViLG9CQUFvQixtQkFBTyxDQUFDLHFFQUFpQjtBQUM3QyxrQkFBa0IsbUJBQU8sQ0FBQyxpRUFBZTs7QUFFekM7QUFDQTtBQUNBO0FBQ0E7O0FBRUEiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2tleUNvbW1hbmRJbnNlcnROZXdsaW5lLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQlNELXN0eWxlIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuIEFuIGFkZGl0aW9uYWwgZ3JhbnRcbiAqIG9mIHBhdGVudCByaWdodHMgY2FuIGJlIGZvdW5kIGluIHRoZSBQQVRFTlRTIGZpbGUgaW4gdGhlIHNhbWUgZGlyZWN0b3J5LlxuICpcbiAqIEBwcm92aWRlc01vZHVsZSBrZXlDb21tYW5kSW5zZXJ0TmV3bGluZVxuICogQGZvcm1hdFxuICogXG4gKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG52YXIgRHJhZnRNb2RpZmllciA9IHJlcXVpcmUoJy4vRHJhZnRNb2RpZmllcicpO1xudmFyIEVkaXRvclN0YXRlID0gcmVxdWlyZSgnLi9FZGl0b3JTdGF0ZScpO1xuXG5mdW5jdGlvbiBrZXlDb21tYW5kSW5zZXJ0TmV3bGluZShlZGl0b3JTdGF0ZSkge1xuICB2YXIgY29udGVudFN0YXRlID0gRHJhZnRNb2RpZmllci5zcGxpdEJsb2NrKGVkaXRvclN0YXRlLmdldEN1cnJlbnRDb250ZW50KCksIGVkaXRvclN0YXRlLmdldFNlbGVjdGlvbigpKTtcbiAgcmV0dXJuIEVkaXRvclN0YXRlLnB1c2goZWRpdG9yU3RhdGUsIGNvbnRlbnRTdGF0ZSwgJ3NwbGl0LWJsb2NrJyk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0ga2V5Q29tbWFuZEluc2VydE5ld2xpbmU7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/keyCommandInsertNewline.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nvar DraftModifier = __webpack_require__(/*! ./DraftModifier */ \"./node_modules/draft-js/lib/DraftModifier.js\");\n\nvar EditorState = __webpack_require__(/*! ./EditorState */ \"./node_modules/draft-js/lib/EditorState.js\");\n\nfunction keyCommandInsertNewline(editorState) {\n var contentState = DraftModifier.splitBlock(editorState.getCurrentContent(), editorState.getSelection());\n return EditorState.push(editorState, contentState, 'split-block');\n}\n\nmodule.exports = keyCommandInsertNewline;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2tleUNvbW1hbmRJbnNlcnROZXdsaW5lLmpzPzMwZjIiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDYTs7QUFFYixvQkFBb0IsbUJBQU8sQ0FBQyxxRUFBaUI7O0FBRTdDLGtCQUFrQixtQkFBTyxDQUFDLGlFQUFlOztBQUV6QztBQUNBO0FBQ0E7QUFDQTs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIva2V5Q29tbWFuZEluc2VydE5ld2xpbmUuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgRmFjZWJvb2ssIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIEBmb3JtYXRcbiAqIFxuICogQGVtYWlscyBvbmNhbGwrZHJhZnRfanNcbiAqL1xuJ3VzZSBzdHJpY3QnO1xuXG52YXIgRHJhZnRNb2RpZmllciA9IHJlcXVpcmUoXCIuL0RyYWZ0TW9kaWZpZXJcIik7XG5cbnZhciBFZGl0b3JTdGF0ZSA9IHJlcXVpcmUoXCIuL0VkaXRvclN0YXRlXCIpO1xuXG5mdW5jdGlvbiBrZXlDb21tYW5kSW5zZXJ0TmV3bGluZShlZGl0b3JTdGF0ZSkge1xuICB2YXIgY29udGVudFN0YXRlID0gRHJhZnRNb2RpZmllci5zcGxpdEJsb2NrKGVkaXRvclN0YXRlLmdldEN1cnJlbnRDb250ZW50KCksIGVkaXRvclN0YXRlLmdldFNlbGVjdGlvbigpKTtcbiAgcmV0dXJuIEVkaXRvclN0YXRlLnB1c2goZWRpdG9yU3RhdGUsIGNvbnRlbnRTdGF0ZSwgJ3NwbGl0LWJsb2NrJyk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0ga2V5Q29tbWFuZEluc2VydE5ld2xpbmU7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/keyCommandInsertNewline.js\n"); /***/ }), @@ -1123,7 +1350,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule keyCommandMoveSelectionToEndOfBlock\n * @format\n * \n */\n\n\n\nvar EditorState = __webpack_require__(/*! ./EditorState */ \"./node_modules/draft-js/lib/EditorState.js\");\n\n/**\n * See comment for `moveSelectionToStartOfBlock`.\n */\nfunction keyCommandMoveSelectionToEndOfBlock(editorState) {\n var selection = editorState.getSelection();\n var endKey = selection.getEndKey();\n var content = editorState.getCurrentContent();\n var textLength = content.getBlockForKey(endKey).getLength();\n return EditorState.set(editorState, {\n selection: selection.merge({\n anchorKey: endKey,\n anchorOffset: textLength,\n focusKey: endKey,\n focusOffset: textLength,\n isBackward: false\n }),\n forceSelection: true\n });\n}\n\nmodule.exports = keyCommandMoveSelectionToEndOfBlock;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2tleUNvbW1hbmRNb3ZlU2VsZWN0aW9uVG9FbmRPZkJsb2NrLmpzP2QxMTQiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVhOztBQUViLGtCQUFrQixtQkFBTyxDQUFDLGlFQUFlOztBQUV6QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxHQUFHO0FBQ0g7O0FBRUEiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2tleUNvbW1hbmRNb3ZlU2VsZWN0aW9uVG9FbmRPZkJsb2NrLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQlNELXN0eWxlIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuIEFuIGFkZGl0aW9uYWwgZ3JhbnRcbiAqIG9mIHBhdGVudCByaWdodHMgY2FuIGJlIGZvdW5kIGluIHRoZSBQQVRFTlRTIGZpbGUgaW4gdGhlIHNhbWUgZGlyZWN0b3J5LlxuICpcbiAqIEBwcm92aWRlc01vZHVsZSBrZXlDb21tYW5kTW92ZVNlbGVjdGlvblRvRW5kT2ZCbG9ja1xuICogQGZvcm1hdFxuICogXG4gKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG52YXIgRWRpdG9yU3RhdGUgPSByZXF1aXJlKCcuL0VkaXRvclN0YXRlJyk7XG5cbi8qKlxuICogU2VlIGNvbW1lbnQgZm9yIGBtb3ZlU2VsZWN0aW9uVG9TdGFydE9mQmxvY2tgLlxuICovXG5mdW5jdGlvbiBrZXlDb21tYW5kTW92ZVNlbGVjdGlvblRvRW5kT2ZCbG9jayhlZGl0b3JTdGF0ZSkge1xuICB2YXIgc2VsZWN0aW9uID0gZWRpdG9yU3RhdGUuZ2V0U2VsZWN0aW9uKCk7XG4gIHZhciBlbmRLZXkgPSBzZWxlY3Rpb24uZ2V0RW5kS2V5KCk7XG4gIHZhciBjb250ZW50ID0gZWRpdG9yU3RhdGUuZ2V0Q3VycmVudENvbnRlbnQoKTtcbiAgdmFyIHRleHRMZW5ndGggPSBjb250ZW50LmdldEJsb2NrRm9yS2V5KGVuZEtleSkuZ2V0TGVuZ3RoKCk7XG4gIHJldHVybiBFZGl0b3JTdGF0ZS5zZXQoZWRpdG9yU3RhdGUsIHtcbiAgICBzZWxlY3Rpb246IHNlbGVjdGlvbi5tZXJnZSh7XG4gICAgICBhbmNob3JLZXk6IGVuZEtleSxcbiAgICAgIGFuY2hvck9mZnNldDogdGV4dExlbmd0aCxcbiAgICAgIGZvY3VzS2V5OiBlbmRLZXksXG4gICAgICBmb2N1c09mZnNldDogdGV4dExlbmd0aCxcbiAgICAgIGlzQmFja3dhcmQ6IGZhbHNlXG4gICAgfSksXG4gICAgZm9yY2VTZWxlY3Rpb246IHRydWVcbiAgfSk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0ga2V5Q29tbWFuZE1vdmVTZWxlY3Rpb25Ub0VuZE9mQmxvY2s7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/keyCommandMoveSelectionToEndOfBlock.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nvar EditorState = __webpack_require__(/*! ./EditorState */ \"./node_modules/draft-js/lib/EditorState.js\");\n/**\n * See comment for `moveSelectionToStartOfBlock`.\n */\n\n\nfunction keyCommandMoveSelectionToEndOfBlock(editorState) {\n var selection = editorState.getSelection();\n var endKey = selection.getEndKey();\n var content = editorState.getCurrentContent();\n var textLength = content.getBlockForKey(endKey).getLength();\n return EditorState.set(editorState, {\n selection: selection.merge({\n anchorKey: endKey,\n anchorOffset: textLength,\n focusKey: endKey,\n focusOffset: textLength,\n isBackward: false\n }),\n forceSelection: true\n });\n}\n\nmodule.exports = keyCommandMoveSelectionToEndOfBlock;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2tleUNvbW1hbmRNb3ZlU2VsZWN0aW9uVG9FbmRPZkJsb2NrLmpzP2QxMTQiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDYTs7QUFFYixrQkFBa0IsbUJBQU8sQ0FBQyxpRUFBZTtBQUN6QztBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLEdBQUc7QUFDSDs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIva2V5Q29tbWFuZE1vdmVTZWxlY3Rpb25Ub0VuZE9mQmxvY2suanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgRmFjZWJvb2ssIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIEBmb3JtYXRcbiAqIFxuICogQGVtYWlscyBvbmNhbGwrZHJhZnRfanNcbiAqL1xuJ3VzZSBzdHJpY3QnO1xuXG52YXIgRWRpdG9yU3RhdGUgPSByZXF1aXJlKFwiLi9FZGl0b3JTdGF0ZVwiKTtcbi8qKlxuICogU2VlIGNvbW1lbnQgZm9yIGBtb3ZlU2VsZWN0aW9uVG9TdGFydE9mQmxvY2tgLlxuICovXG5cblxuZnVuY3Rpb24ga2V5Q29tbWFuZE1vdmVTZWxlY3Rpb25Ub0VuZE9mQmxvY2soZWRpdG9yU3RhdGUpIHtcbiAgdmFyIHNlbGVjdGlvbiA9IGVkaXRvclN0YXRlLmdldFNlbGVjdGlvbigpO1xuICB2YXIgZW5kS2V5ID0gc2VsZWN0aW9uLmdldEVuZEtleSgpO1xuICB2YXIgY29udGVudCA9IGVkaXRvclN0YXRlLmdldEN1cnJlbnRDb250ZW50KCk7XG4gIHZhciB0ZXh0TGVuZ3RoID0gY29udGVudC5nZXRCbG9ja0ZvcktleShlbmRLZXkpLmdldExlbmd0aCgpO1xuICByZXR1cm4gRWRpdG9yU3RhdGUuc2V0KGVkaXRvclN0YXRlLCB7XG4gICAgc2VsZWN0aW9uOiBzZWxlY3Rpb24ubWVyZ2Uoe1xuICAgICAgYW5jaG9yS2V5OiBlbmRLZXksXG4gICAgICBhbmNob3JPZmZzZXQ6IHRleHRMZW5ndGgsXG4gICAgICBmb2N1c0tleTogZW5kS2V5LFxuICAgICAgZm9jdXNPZmZzZXQ6IHRleHRMZW5ndGgsXG4gICAgICBpc0JhY2t3YXJkOiBmYWxzZVxuICAgIH0pLFxuICAgIGZvcmNlU2VsZWN0aW9uOiB0cnVlXG4gIH0pO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGtleUNvbW1hbmRNb3ZlU2VsZWN0aW9uVG9FbmRPZkJsb2NrOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/keyCommandMoveSelectionToEndOfBlock.js\n"); /***/ }), @@ -1135,7 +1362,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule keyCommandMoveSelectionToStartOfBlock\n * @format\n * \n */\n\n\n\nvar EditorState = __webpack_require__(/*! ./EditorState */ \"./node_modules/draft-js/lib/EditorState.js\");\n\n/**\n * Collapse selection at the start of the first selected block. This is used\n * for Firefox versions that attempt to navigate forward/backward instead of\n * moving the cursor. Other browsers are able to move the cursor natively.\n */\nfunction keyCommandMoveSelectionToStartOfBlock(editorState) {\n var selection = editorState.getSelection();\n var startKey = selection.getStartKey();\n return EditorState.set(editorState, {\n selection: selection.merge({\n anchorKey: startKey,\n anchorOffset: 0,\n focusKey: startKey,\n focusOffset: 0,\n isBackward: false\n }),\n forceSelection: true\n });\n}\n\nmodule.exports = keyCommandMoveSelectionToStartOfBlock;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2tleUNvbW1hbmRNb3ZlU2VsZWN0aW9uVG9TdGFydE9mQmxvY2suanM/YmEzYiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWE7O0FBRWIsa0JBQWtCLG1CQUFPLENBQUMsaUVBQWU7O0FBRXpDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLEdBQUc7QUFDSDs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIva2V5Q29tbWFuZE1vdmVTZWxlY3Rpb25Ub1N0YXJ0T2ZCbG9jay5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXG4gKiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEJTRC1zdHlsZSBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLiBBbiBhZGRpdGlvbmFsIGdyYW50XG4gKiBvZiBwYXRlbnQgcmlnaHRzIGNhbiBiZSBmb3VuZCBpbiB0aGUgUEFURU5UUyBmaWxlIGluIHRoZSBzYW1lIGRpcmVjdG9yeS5cbiAqXG4gKiBAcHJvdmlkZXNNb2R1bGUga2V5Q29tbWFuZE1vdmVTZWxlY3Rpb25Ub1N0YXJ0T2ZCbG9ja1xuICogQGZvcm1hdFxuICogXG4gKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG52YXIgRWRpdG9yU3RhdGUgPSByZXF1aXJlKCcuL0VkaXRvclN0YXRlJyk7XG5cbi8qKlxuICogQ29sbGFwc2Ugc2VsZWN0aW9uIGF0IHRoZSBzdGFydCBvZiB0aGUgZmlyc3Qgc2VsZWN0ZWQgYmxvY2suIFRoaXMgaXMgdXNlZFxuICogZm9yIEZpcmVmb3ggdmVyc2lvbnMgdGhhdCBhdHRlbXB0IHRvIG5hdmlnYXRlIGZvcndhcmQvYmFja3dhcmQgaW5zdGVhZCBvZlxuICogbW92aW5nIHRoZSBjdXJzb3IuIE90aGVyIGJyb3dzZXJzIGFyZSBhYmxlIHRvIG1vdmUgdGhlIGN1cnNvciBuYXRpdmVseS5cbiAqL1xuZnVuY3Rpb24ga2V5Q29tbWFuZE1vdmVTZWxlY3Rpb25Ub1N0YXJ0T2ZCbG9jayhlZGl0b3JTdGF0ZSkge1xuICB2YXIgc2VsZWN0aW9uID0gZWRpdG9yU3RhdGUuZ2V0U2VsZWN0aW9uKCk7XG4gIHZhciBzdGFydEtleSA9IHNlbGVjdGlvbi5nZXRTdGFydEtleSgpO1xuICByZXR1cm4gRWRpdG9yU3RhdGUuc2V0KGVkaXRvclN0YXRlLCB7XG4gICAgc2VsZWN0aW9uOiBzZWxlY3Rpb24ubWVyZ2Uoe1xuICAgICAgYW5jaG9yS2V5OiBzdGFydEtleSxcbiAgICAgIGFuY2hvck9mZnNldDogMCxcbiAgICAgIGZvY3VzS2V5OiBzdGFydEtleSxcbiAgICAgIGZvY3VzT2Zmc2V0OiAwLFxuICAgICAgaXNCYWNrd2FyZDogZmFsc2VcbiAgICB9KSxcbiAgICBmb3JjZVNlbGVjdGlvbjogdHJ1ZVxuICB9KTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBrZXlDb21tYW5kTW92ZVNlbGVjdGlvblRvU3RhcnRPZkJsb2NrOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/keyCommandMoveSelectionToStartOfBlock.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nvar EditorState = __webpack_require__(/*! ./EditorState */ \"./node_modules/draft-js/lib/EditorState.js\");\n/**\n * Collapse selection at the start of the first selected block. This is used\n * for Firefox versions that attempt to navigate forward/backward instead of\n * moving the cursor. Other browsers are able to move the cursor natively.\n */\n\n\nfunction keyCommandMoveSelectionToStartOfBlock(editorState) {\n var selection = editorState.getSelection();\n var startKey = selection.getStartKey();\n return EditorState.set(editorState, {\n selection: selection.merge({\n anchorKey: startKey,\n anchorOffset: 0,\n focusKey: startKey,\n focusOffset: 0,\n isBackward: false\n }),\n forceSelection: true\n });\n}\n\nmodule.exports = keyCommandMoveSelectionToStartOfBlock;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2tleUNvbW1hbmRNb3ZlU2VsZWN0aW9uVG9TdGFydE9mQmxvY2suanM/YmEzYiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNhOztBQUViLGtCQUFrQixtQkFBTyxDQUFDLGlFQUFlO0FBQ3pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsR0FBRztBQUNIOztBQUVBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2RyYWZ0LWpzL2xpYi9rZXlDb21tYW5kTW92ZVNlbGVjdGlvblRvU3RhcnRPZkJsb2NrLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIEZhY2Vib29rLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKiBAZm9ybWF0XG4gKiBcbiAqIEBlbWFpbHMgb25jYWxsK2RyYWZ0X2pzXG4gKi9cbid1c2Ugc3RyaWN0JztcblxudmFyIEVkaXRvclN0YXRlID0gcmVxdWlyZShcIi4vRWRpdG9yU3RhdGVcIik7XG4vKipcbiAqIENvbGxhcHNlIHNlbGVjdGlvbiBhdCB0aGUgc3RhcnQgb2YgdGhlIGZpcnN0IHNlbGVjdGVkIGJsb2NrLiBUaGlzIGlzIHVzZWRcbiAqIGZvciBGaXJlZm94IHZlcnNpb25zIHRoYXQgYXR0ZW1wdCB0byBuYXZpZ2F0ZSBmb3J3YXJkL2JhY2t3YXJkIGluc3RlYWQgb2ZcbiAqIG1vdmluZyB0aGUgY3Vyc29yLiBPdGhlciBicm93c2VycyBhcmUgYWJsZSB0byBtb3ZlIHRoZSBjdXJzb3IgbmF0aXZlbHkuXG4gKi9cblxuXG5mdW5jdGlvbiBrZXlDb21tYW5kTW92ZVNlbGVjdGlvblRvU3RhcnRPZkJsb2NrKGVkaXRvclN0YXRlKSB7XG4gIHZhciBzZWxlY3Rpb24gPSBlZGl0b3JTdGF0ZS5nZXRTZWxlY3Rpb24oKTtcbiAgdmFyIHN0YXJ0S2V5ID0gc2VsZWN0aW9uLmdldFN0YXJ0S2V5KCk7XG4gIHJldHVybiBFZGl0b3JTdGF0ZS5zZXQoZWRpdG9yU3RhdGUsIHtcbiAgICBzZWxlY3Rpb246IHNlbGVjdGlvbi5tZXJnZSh7XG4gICAgICBhbmNob3JLZXk6IHN0YXJ0S2V5LFxuICAgICAgYW5jaG9yT2Zmc2V0OiAwLFxuICAgICAgZm9jdXNLZXk6IHN0YXJ0S2V5LFxuICAgICAgZm9jdXNPZmZzZXQ6IDAsXG4gICAgICBpc0JhY2t3YXJkOiBmYWxzZVxuICAgIH0pLFxuICAgIGZvcmNlU2VsZWN0aW9uOiB0cnVlXG4gIH0pO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGtleUNvbW1hbmRNb3ZlU2VsZWN0aW9uVG9TdGFydE9mQmxvY2s7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/keyCommandMoveSelectionToStartOfBlock.js\n"); /***/ }), @@ -1147,7 +1374,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule keyCommandPlainBackspace\n * @format\n * \n */\n\n\n\nvar EditorState = __webpack_require__(/*! ./EditorState */ \"./node_modules/draft-js/lib/EditorState.js\");\nvar UnicodeUtils = __webpack_require__(/*! fbjs/lib/UnicodeUtils */ \"./node_modules/fbjs/lib/UnicodeUtils.js\");\n\nvar moveSelectionBackward = __webpack_require__(/*! ./moveSelectionBackward */ \"./node_modules/draft-js/lib/moveSelectionBackward.js\");\nvar removeTextWithStrategy = __webpack_require__(/*! ./removeTextWithStrategy */ \"./node_modules/draft-js/lib/removeTextWithStrategy.js\");\n\n/**\n * Remove the selected range. If the cursor is collapsed, remove the preceding\n * character. This operation is Unicode-aware, so removing a single character\n * will remove a surrogate pair properly as well.\n */\nfunction keyCommandPlainBackspace(editorState) {\n var afterRemoval = removeTextWithStrategy(editorState, function (strategyState) {\n var selection = strategyState.getSelection();\n var content = strategyState.getCurrentContent();\n var key = selection.getAnchorKey();\n var offset = selection.getAnchorOffset();\n var charBehind = content.getBlockForKey(key).getText()[offset - 1];\n return moveSelectionBackward(strategyState, charBehind ? UnicodeUtils.getUTF16Length(charBehind, 0) : 1);\n }, 'backward');\n\n if (afterRemoval === editorState.getCurrentContent()) {\n return editorState;\n }\n\n var selection = editorState.getSelection();\n return EditorState.push(editorState, afterRemoval.set('selectionBefore', selection), selection.isCollapsed() ? 'backspace-character' : 'remove-range');\n}\n\nmodule.exports = keyCommandPlainBackspace;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2tleUNvbW1hbmRQbGFpbkJhY2tzcGFjZS5qcz9kYzFhIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFYTs7QUFFYixrQkFBa0IsbUJBQU8sQ0FBQyxpRUFBZTtBQUN6QyxtQkFBbUIsbUJBQU8sQ0FBQyxzRUFBdUI7O0FBRWxELDRCQUE0QixtQkFBTyxDQUFDLHFGQUF5QjtBQUM3RCw2QkFBNkIsbUJBQU8sQ0FBQyx1RkFBMEI7O0FBRS9EO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2RyYWZ0LWpzL2xpYi9rZXlDb21tYW5kUGxhaW5CYWNrc3BhY2UuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxMy1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuICogQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBCU0Qtc3R5bGUgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS4gQW4gYWRkaXRpb25hbCBncmFudFxuICogb2YgcGF0ZW50IHJpZ2h0cyBjYW4gYmUgZm91bmQgaW4gdGhlIFBBVEVOVFMgZmlsZSBpbiB0aGUgc2FtZSBkaXJlY3RvcnkuXG4gKlxuICogQHByb3ZpZGVzTW9kdWxlIGtleUNvbW1hbmRQbGFpbkJhY2tzcGFjZVxuICogQGZvcm1hdFxuICogXG4gKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG52YXIgRWRpdG9yU3RhdGUgPSByZXF1aXJlKCcuL0VkaXRvclN0YXRlJyk7XG52YXIgVW5pY29kZVV0aWxzID0gcmVxdWlyZSgnZmJqcy9saWIvVW5pY29kZVV0aWxzJyk7XG5cbnZhciBtb3ZlU2VsZWN0aW9uQmFja3dhcmQgPSByZXF1aXJlKCcuL21vdmVTZWxlY3Rpb25CYWNrd2FyZCcpO1xudmFyIHJlbW92ZVRleHRXaXRoU3RyYXRlZ3kgPSByZXF1aXJlKCcuL3JlbW92ZVRleHRXaXRoU3RyYXRlZ3knKTtcblxuLyoqXG4gKiBSZW1vdmUgdGhlIHNlbGVjdGVkIHJhbmdlLiBJZiB0aGUgY3Vyc29yIGlzIGNvbGxhcHNlZCwgcmVtb3ZlIHRoZSBwcmVjZWRpbmdcbiAqIGNoYXJhY3Rlci4gVGhpcyBvcGVyYXRpb24gaXMgVW5pY29kZS1hd2FyZSwgc28gcmVtb3ZpbmcgYSBzaW5nbGUgY2hhcmFjdGVyXG4gKiB3aWxsIHJlbW92ZSBhIHN1cnJvZ2F0ZSBwYWlyIHByb3Blcmx5IGFzIHdlbGwuXG4gKi9cbmZ1bmN0aW9uIGtleUNvbW1hbmRQbGFpbkJhY2tzcGFjZShlZGl0b3JTdGF0ZSkge1xuICB2YXIgYWZ0ZXJSZW1vdmFsID0gcmVtb3ZlVGV4dFdpdGhTdHJhdGVneShlZGl0b3JTdGF0ZSwgZnVuY3Rpb24gKHN0cmF0ZWd5U3RhdGUpIHtcbiAgICB2YXIgc2VsZWN0aW9uID0gc3RyYXRlZ3lTdGF0ZS5nZXRTZWxlY3Rpb24oKTtcbiAgICB2YXIgY29udGVudCA9IHN0cmF0ZWd5U3RhdGUuZ2V0Q3VycmVudENvbnRlbnQoKTtcbiAgICB2YXIga2V5ID0gc2VsZWN0aW9uLmdldEFuY2hvcktleSgpO1xuICAgIHZhciBvZmZzZXQgPSBzZWxlY3Rpb24uZ2V0QW5jaG9yT2Zmc2V0KCk7XG4gICAgdmFyIGNoYXJCZWhpbmQgPSBjb250ZW50LmdldEJsb2NrRm9yS2V5KGtleSkuZ2V0VGV4dCgpW29mZnNldCAtIDFdO1xuICAgIHJldHVybiBtb3ZlU2VsZWN0aW9uQmFja3dhcmQoc3RyYXRlZ3lTdGF0ZSwgY2hhckJlaGluZCA/IFVuaWNvZGVVdGlscy5nZXRVVEYxNkxlbmd0aChjaGFyQmVoaW5kLCAwKSA6IDEpO1xuICB9LCAnYmFja3dhcmQnKTtcblxuICBpZiAoYWZ0ZXJSZW1vdmFsID09PSBlZGl0b3JTdGF0ZS5nZXRDdXJyZW50Q29udGVudCgpKSB7XG4gICAgcmV0dXJuIGVkaXRvclN0YXRlO1xuICB9XG5cbiAgdmFyIHNlbGVjdGlvbiA9IGVkaXRvclN0YXRlLmdldFNlbGVjdGlvbigpO1xuICByZXR1cm4gRWRpdG9yU3RhdGUucHVzaChlZGl0b3JTdGF0ZSwgYWZ0ZXJSZW1vdmFsLnNldCgnc2VsZWN0aW9uQmVmb3JlJywgc2VsZWN0aW9uKSwgc2VsZWN0aW9uLmlzQ29sbGFwc2VkKCkgPyAnYmFja3NwYWNlLWNoYXJhY3RlcicgOiAncmVtb3ZlLXJhbmdlJyk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0ga2V5Q29tbWFuZFBsYWluQmFja3NwYWNlOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/keyCommandPlainBackspace.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nvar EditorState = __webpack_require__(/*! ./EditorState */ \"./node_modules/draft-js/lib/EditorState.js\");\n\nvar UnicodeUtils = __webpack_require__(/*! fbjs/lib/UnicodeUtils */ \"./node_modules/fbjs/lib/UnicodeUtils.js\");\n\nvar moveSelectionBackward = __webpack_require__(/*! ./moveSelectionBackward */ \"./node_modules/draft-js/lib/moveSelectionBackward.js\");\n\nvar removeTextWithStrategy = __webpack_require__(/*! ./removeTextWithStrategy */ \"./node_modules/draft-js/lib/removeTextWithStrategy.js\");\n/**\n * Remove the selected range. If the cursor is collapsed, remove the preceding\n * character. This operation is Unicode-aware, so removing a single character\n * will remove a surrogate pair properly as well.\n */\n\n\nfunction keyCommandPlainBackspace(editorState) {\n var afterRemoval = removeTextWithStrategy(editorState, function (strategyState) {\n var selection = strategyState.getSelection();\n var content = strategyState.getCurrentContent();\n var key = selection.getAnchorKey();\n var offset = selection.getAnchorOffset();\n var charBehind = content.getBlockForKey(key).getText()[offset - 1];\n return moveSelectionBackward(strategyState, charBehind ? UnicodeUtils.getUTF16Length(charBehind, 0) : 1);\n }, 'backward');\n\n if (afterRemoval === editorState.getCurrentContent()) {\n return editorState;\n }\n\n var selection = editorState.getSelection();\n return EditorState.push(editorState, afterRemoval.set('selectionBefore', selection), selection.isCollapsed() ? 'backspace-character' : 'remove-range');\n}\n\nmodule.exports = keyCommandPlainBackspace;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2tleUNvbW1hbmRQbGFpbkJhY2tzcGFjZS5qcz9kYzFhIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ2E7O0FBRWIsa0JBQWtCLG1CQUFPLENBQUMsaUVBQWU7O0FBRXpDLG1CQUFtQixtQkFBTyxDQUFDLHNFQUF1Qjs7QUFFbEQsNEJBQTRCLG1CQUFPLENBQUMscUZBQXlCOztBQUU3RCw2QkFBNkIsbUJBQU8sQ0FBQyx1RkFBMEI7QUFDL0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIva2V5Q29tbWFuZFBsYWluQmFja3NwYWNlLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIEZhY2Vib29rLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKiBAZm9ybWF0XG4gKiBcbiAqIEBlbWFpbHMgb25jYWxsK2RyYWZ0X2pzXG4gKi9cbid1c2Ugc3RyaWN0JztcblxudmFyIEVkaXRvclN0YXRlID0gcmVxdWlyZShcIi4vRWRpdG9yU3RhdGVcIik7XG5cbnZhciBVbmljb2RlVXRpbHMgPSByZXF1aXJlKFwiZmJqcy9saWIvVW5pY29kZVV0aWxzXCIpO1xuXG52YXIgbW92ZVNlbGVjdGlvbkJhY2t3YXJkID0gcmVxdWlyZShcIi4vbW92ZVNlbGVjdGlvbkJhY2t3YXJkXCIpO1xuXG52YXIgcmVtb3ZlVGV4dFdpdGhTdHJhdGVneSA9IHJlcXVpcmUoXCIuL3JlbW92ZVRleHRXaXRoU3RyYXRlZ3lcIik7XG4vKipcbiAqIFJlbW92ZSB0aGUgc2VsZWN0ZWQgcmFuZ2UuIElmIHRoZSBjdXJzb3IgaXMgY29sbGFwc2VkLCByZW1vdmUgdGhlIHByZWNlZGluZ1xuICogY2hhcmFjdGVyLiBUaGlzIG9wZXJhdGlvbiBpcyBVbmljb2RlLWF3YXJlLCBzbyByZW1vdmluZyBhIHNpbmdsZSBjaGFyYWN0ZXJcbiAqIHdpbGwgcmVtb3ZlIGEgc3Vycm9nYXRlIHBhaXIgcHJvcGVybHkgYXMgd2VsbC5cbiAqL1xuXG5cbmZ1bmN0aW9uIGtleUNvbW1hbmRQbGFpbkJhY2tzcGFjZShlZGl0b3JTdGF0ZSkge1xuICB2YXIgYWZ0ZXJSZW1vdmFsID0gcmVtb3ZlVGV4dFdpdGhTdHJhdGVneShlZGl0b3JTdGF0ZSwgZnVuY3Rpb24gKHN0cmF0ZWd5U3RhdGUpIHtcbiAgICB2YXIgc2VsZWN0aW9uID0gc3RyYXRlZ3lTdGF0ZS5nZXRTZWxlY3Rpb24oKTtcbiAgICB2YXIgY29udGVudCA9IHN0cmF0ZWd5U3RhdGUuZ2V0Q3VycmVudENvbnRlbnQoKTtcbiAgICB2YXIga2V5ID0gc2VsZWN0aW9uLmdldEFuY2hvcktleSgpO1xuICAgIHZhciBvZmZzZXQgPSBzZWxlY3Rpb24uZ2V0QW5jaG9yT2Zmc2V0KCk7XG4gICAgdmFyIGNoYXJCZWhpbmQgPSBjb250ZW50LmdldEJsb2NrRm9yS2V5KGtleSkuZ2V0VGV4dCgpW29mZnNldCAtIDFdO1xuICAgIHJldHVybiBtb3ZlU2VsZWN0aW9uQmFja3dhcmQoc3RyYXRlZ3lTdGF0ZSwgY2hhckJlaGluZCA/IFVuaWNvZGVVdGlscy5nZXRVVEYxNkxlbmd0aChjaGFyQmVoaW5kLCAwKSA6IDEpO1xuICB9LCAnYmFja3dhcmQnKTtcblxuICBpZiAoYWZ0ZXJSZW1vdmFsID09PSBlZGl0b3JTdGF0ZS5nZXRDdXJyZW50Q29udGVudCgpKSB7XG4gICAgcmV0dXJuIGVkaXRvclN0YXRlO1xuICB9XG5cbiAgdmFyIHNlbGVjdGlvbiA9IGVkaXRvclN0YXRlLmdldFNlbGVjdGlvbigpO1xuICByZXR1cm4gRWRpdG9yU3RhdGUucHVzaChlZGl0b3JTdGF0ZSwgYWZ0ZXJSZW1vdmFsLnNldCgnc2VsZWN0aW9uQmVmb3JlJywgc2VsZWN0aW9uKSwgc2VsZWN0aW9uLmlzQ29sbGFwc2VkKCkgPyAnYmFja3NwYWNlLWNoYXJhY3RlcicgOiAncmVtb3ZlLXJhbmdlJyk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0ga2V5Q29tbWFuZFBsYWluQmFja3NwYWNlOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/keyCommandPlainBackspace.js\n"); /***/ }), @@ -1159,7 +1386,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule keyCommandPlainDelete\n * @format\n * \n */\n\n\n\nvar EditorState = __webpack_require__(/*! ./EditorState */ \"./node_modules/draft-js/lib/EditorState.js\");\nvar UnicodeUtils = __webpack_require__(/*! fbjs/lib/UnicodeUtils */ \"./node_modules/fbjs/lib/UnicodeUtils.js\");\n\nvar moveSelectionForward = __webpack_require__(/*! ./moveSelectionForward */ \"./node_modules/draft-js/lib/moveSelectionForward.js\");\nvar removeTextWithStrategy = __webpack_require__(/*! ./removeTextWithStrategy */ \"./node_modules/draft-js/lib/removeTextWithStrategy.js\");\n\n/**\n * Remove the selected range. If the cursor is collapsed, remove the following\n * character. This operation is Unicode-aware, so removing a single character\n * will remove a surrogate pair properly as well.\n */\nfunction keyCommandPlainDelete(editorState) {\n var afterRemoval = removeTextWithStrategy(editorState, function (strategyState) {\n var selection = strategyState.getSelection();\n var content = strategyState.getCurrentContent();\n var key = selection.getAnchorKey();\n var offset = selection.getAnchorOffset();\n var charAhead = content.getBlockForKey(key).getText()[offset];\n return moveSelectionForward(strategyState, charAhead ? UnicodeUtils.getUTF16Length(charAhead, 0) : 1);\n }, 'forward');\n\n if (afterRemoval === editorState.getCurrentContent()) {\n return editorState;\n }\n\n var selection = editorState.getSelection();\n\n return EditorState.push(editorState, afterRemoval.set('selectionBefore', selection), selection.isCollapsed() ? 'delete-character' : 'remove-range');\n}\n\nmodule.exports = keyCommandPlainDelete;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2tleUNvbW1hbmRQbGFpbkRlbGV0ZS5qcz9iNmUyIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFYTs7QUFFYixrQkFBa0IsbUJBQU8sQ0FBQyxpRUFBZTtBQUN6QyxtQkFBbUIsbUJBQU8sQ0FBQyxzRUFBdUI7O0FBRWxELDJCQUEyQixtQkFBTyxDQUFDLG1GQUF3QjtBQUMzRCw2QkFBNkIsbUJBQU8sQ0FBQyx1RkFBMEI7O0FBRS9EO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIva2V5Q29tbWFuZFBsYWluRGVsZXRlLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQlNELXN0eWxlIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuIEFuIGFkZGl0aW9uYWwgZ3JhbnRcbiAqIG9mIHBhdGVudCByaWdodHMgY2FuIGJlIGZvdW5kIGluIHRoZSBQQVRFTlRTIGZpbGUgaW4gdGhlIHNhbWUgZGlyZWN0b3J5LlxuICpcbiAqIEBwcm92aWRlc01vZHVsZSBrZXlDb21tYW5kUGxhaW5EZWxldGVcbiAqIEBmb3JtYXRcbiAqIFxuICovXG5cbid1c2Ugc3RyaWN0JztcblxudmFyIEVkaXRvclN0YXRlID0gcmVxdWlyZSgnLi9FZGl0b3JTdGF0ZScpO1xudmFyIFVuaWNvZGVVdGlscyA9IHJlcXVpcmUoJ2ZianMvbGliL1VuaWNvZGVVdGlscycpO1xuXG52YXIgbW92ZVNlbGVjdGlvbkZvcndhcmQgPSByZXF1aXJlKCcuL21vdmVTZWxlY3Rpb25Gb3J3YXJkJyk7XG52YXIgcmVtb3ZlVGV4dFdpdGhTdHJhdGVneSA9IHJlcXVpcmUoJy4vcmVtb3ZlVGV4dFdpdGhTdHJhdGVneScpO1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgc2VsZWN0ZWQgcmFuZ2UuIElmIHRoZSBjdXJzb3IgaXMgY29sbGFwc2VkLCByZW1vdmUgdGhlIGZvbGxvd2luZ1xuICogY2hhcmFjdGVyLiBUaGlzIG9wZXJhdGlvbiBpcyBVbmljb2RlLWF3YXJlLCBzbyByZW1vdmluZyBhIHNpbmdsZSBjaGFyYWN0ZXJcbiAqIHdpbGwgcmVtb3ZlIGEgc3Vycm9nYXRlIHBhaXIgcHJvcGVybHkgYXMgd2VsbC5cbiAqL1xuZnVuY3Rpb24ga2V5Q29tbWFuZFBsYWluRGVsZXRlKGVkaXRvclN0YXRlKSB7XG4gIHZhciBhZnRlclJlbW92YWwgPSByZW1vdmVUZXh0V2l0aFN0cmF0ZWd5KGVkaXRvclN0YXRlLCBmdW5jdGlvbiAoc3RyYXRlZ3lTdGF0ZSkge1xuICAgIHZhciBzZWxlY3Rpb24gPSBzdHJhdGVneVN0YXRlLmdldFNlbGVjdGlvbigpO1xuICAgIHZhciBjb250ZW50ID0gc3RyYXRlZ3lTdGF0ZS5nZXRDdXJyZW50Q29udGVudCgpO1xuICAgIHZhciBrZXkgPSBzZWxlY3Rpb24uZ2V0QW5jaG9yS2V5KCk7XG4gICAgdmFyIG9mZnNldCA9IHNlbGVjdGlvbi5nZXRBbmNob3JPZmZzZXQoKTtcbiAgICB2YXIgY2hhckFoZWFkID0gY29udGVudC5nZXRCbG9ja0ZvcktleShrZXkpLmdldFRleHQoKVtvZmZzZXRdO1xuICAgIHJldHVybiBtb3ZlU2VsZWN0aW9uRm9yd2FyZChzdHJhdGVneVN0YXRlLCBjaGFyQWhlYWQgPyBVbmljb2RlVXRpbHMuZ2V0VVRGMTZMZW5ndGgoY2hhckFoZWFkLCAwKSA6IDEpO1xuICB9LCAnZm9yd2FyZCcpO1xuXG4gIGlmIChhZnRlclJlbW92YWwgPT09IGVkaXRvclN0YXRlLmdldEN1cnJlbnRDb250ZW50KCkpIHtcbiAgICByZXR1cm4gZWRpdG9yU3RhdGU7XG4gIH1cblxuICB2YXIgc2VsZWN0aW9uID0gZWRpdG9yU3RhdGUuZ2V0U2VsZWN0aW9uKCk7XG5cbiAgcmV0dXJuIEVkaXRvclN0YXRlLnB1c2goZWRpdG9yU3RhdGUsIGFmdGVyUmVtb3ZhbC5zZXQoJ3NlbGVjdGlvbkJlZm9yZScsIHNlbGVjdGlvbiksIHNlbGVjdGlvbi5pc0NvbGxhcHNlZCgpID8gJ2RlbGV0ZS1jaGFyYWN0ZXInIDogJ3JlbW92ZS1yYW5nZScpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGtleUNvbW1hbmRQbGFpbkRlbGV0ZTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/keyCommandPlainDelete.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nvar EditorState = __webpack_require__(/*! ./EditorState */ \"./node_modules/draft-js/lib/EditorState.js\");\n\nvar UnicodeUtils = __webpack_require__(/*! fbjs/lib/UnicodeUtils */ \"./node_modules/fbjs/lib/UnicodeUtils.js\");\n\nvar moveSelectionForward = __webpack_require__(/*! ./moveSelectionForward */ \"./node_modules/draft-js/lib/moveSelectionForward.js\");\n\nvar removeTextWithStrategy = __webpack_require__(/*! ./removeTextWithStrategy */ \"./node_modules/draft-js/lib/removeTextWithStrategy.js\");\n/**\n * Remove the selected range. If the cursor is collapsed, remove the following\n * character. This operation is Unicode-aware, so removing a single character\n * will remove a surrogate pair properly as well.\n */\n\n\nfunction keyCommandPlainDelete(editorState) {\n var afterRemoval = removeTextWithStrategy(editorState, function (strategyState) {\n var selection = strategyState.getSelection();\n var content = strategyState.getCurrentContent();\n var key = selection.getAnchorKey();\n var offset = selection.getAnchorOffset();\n var charAhead = content.getBlockForKey(key).getText()[offset];\n return moveSelectionForward(strategyState, charAhead ? UnicodeUtils.getUTF16Length(charAhead, 0) : 1);\n }, 'forward');\n\n if (afterRemoval === editorState.getCurrentContent()) {\n return editorState;\n }\n\n var selection = editorState.getSelection();\n return EditorState.push(editorState, afterRemoval.set('selectionBefore', selection), selection.isCollapsed() ? 'delete-character' : 'remove-range');\n}\n\nmodule.exports = keyCommandPlainDelete;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2tleUNvbW1hbmRQbGFpbkRlbGV0ZS5qcz9iNmUyIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ2E7O0FBRWIsa0JBQWtCLG1CQUFPLENBQUMsaUVBQWU7O0FBRXpDLG1CQUFtQixtQkFBTyxDQUFDLHNFQUF1Qjs7QUFFbEQsMkJBQTJCLG1CQUFPLENBQUMsbUZBQXdCOztBQUUzRCw2QkFBNkIsbUJBQU8sQ0FBQyx1RkFBMEI7QUFDL0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIva2V5Q29tbWFuZFBsYWluRGVsZXRlLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIEZhY2Vib29rLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKiBAZm9ybWF0XG4gKiBcbiAqIEBlbWFpbHMgb25jYWxsK2RyYWZ0X2pzXG4gKi9cbid1c2Ugc3RyaWN0JztcblxudmFyIEVkaXRvclN0YXRlID0gcmVxdWlyZShcIi4vRWRpdG9yU3RhdGVcIik7XG5cbnZhciBVbmljb2RlVXRpbHMgPSByZXF1aXJlKFwiZmJqcy9saWIvVW5pY29kZVV0aWxzXCIpO1xuXG52YXIgbW92ZVNlbGVjdGlvbkZvcndhcmQgPSByZXF1aXJlKFwiLi9tb3ZlU2VsZWN0aW9uRm9yd2FyZFwiKTtcblxudmFyIHJlbW92ZVRleHRXaXRoU3RyYXRlZ3kgPSByZXF1aXJlKFwiLi9yZW1vdmVUZXh0V2l0aFN0cmF0ZWd5XCIpO1xuLyoqXG4gKiBSZW1vdmUgdGhlIHNlbGVjdGVkIHJhbmdlLiBJZiB0aGUgY3Vyc29yIGlzIGNvbGxhcHNlZCwgcmVtb3ZlIHRoZSBmb2xsb3dpbmdcbiAqIGNoYXJhY3Rlci4gVGhpcyBvcGVyYXRpb24gaXMgVW5pY29kZS1hd2FyZSwgc28gcmVtb3ZpbmcgYSBzaW5nbGUgY2hhcmFjdGVyXG4gKiB3aWxsIHJlbW92ZSBhIHN1cnJvZ2F0ZSBwYWlyIHByb3Blcmx5IGFzIHdlbGwuXG4gKi9cblxuXG5mdW5jdGlvbiBrZXlDb21tYW5kUGxhaW5EZWxldGUoZWRpdG9yU3RhdGUpIHtcbiAgdmFyIGFmdGVyUmVtb3ZhbCA9IHJlbW92ZVRleHRXaXRoU3RyYXRlZ3koZWRpdG9yU3RhdGUsIGZ1bmN0aW9uIChzdHJhdGVneVN0YXRlKSB7XG4gICAgdmFyIHNlbGVjdGlvbiA9IHN0cmF0ZWd5U3RhdGUuZ2V0U2VsZWN0aW9uKCk7XG4gICAgdmFyIGNvbnRlbnQgPSBzdHJhdGVneVN0YXRlLmdldEN1cnJlbnRDb250ZW50KCk7XG4gICAgdmFyIGtleSA9IHNlbGVjdGlvbi5nZXRBbmNob3JLZXkoKTtcbiAgICB2YXIgb2Zmc2V0ID0gc2VsZWN0aW9uLmdldEFuY2hvck9mZnNldCgpO1xuICAgIHZhciBjaGFyQWhlYWQgPSBjb250ZW50LmdldEJsb2NrRm9yS2V5KGtleSkuZ2V0VGV4dCgpW29mZnNldF07XG4gICAgcmV0dXJuIG1vdmVTZWxlY3Rpb25Gb3J3YXJkKHN0cmF0ZWd5U3RhdGUsIGNoYXJBaGVhZCA/IFVuaWNvZGVVdGlscy5nZXRVVEYxNkxlbmd0aChjaGFyQWhlYWQsIDApIDogMSk7XG4gIH0sICdmb3J3YXJkJyk7XG5cbiAgaWYgKGFmdGVyUmVtb3ZhbCA9PT0gZWRpdG9yU3RhdGUuZ2V0Q3VycmVudENvbnRlbnQoKSkge1xuICAgIHJldHVybiBlZGl0b3JTdGF0ZTtcbiAgfVxuXG4gIHZhciBzZWxlY3Rpb24gPSBlZGl0b3JTdGF0ZS5nZXRTZWxlY3Rpb24oKTtcbiAgcmV0dXJuIEVkaXRvclN0YXRlLnB1c2goZWRpdG9yU3RhdGUsIGFmdGVyUmVtb3ZhbC5zZXQoJ3NlbGVjdGlvbkJlZm9yZScsIHNlbGVjdGlvbiksIHNlbGVjdGlvbi5pc0NvbGxhcHNlZCgpID8gJ2RlbGV0ZS1jaGFyYWN0ZXInIDogJ3JlbW92ZS1yYW5nZScpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGtleUNvbW1hbmRQbGFpbkRlbGV0ZTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/keyCommandPlainDelete.js\n"); /***/ }), @@ -1171,7 +1398,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule keyCommandTransposeCharacters\n * @format\n * \n */\n\n\n\nvar DraftModifier = __webpack_require__(/*! ./DraftModifier */ \"./node_modules/draft-js/lib/DraftModifier.js\");\nvar EditorState = __webpack_require__(/*! ./EditorState */ \"./node_modules/draft-js/lib/EditorState.js\");\n\nvar getContentStateFragment = __webpack_require__(/*! ./getContentStateFragment */ \"./node_modules/draft-js/lib/getContentStateFragment.js\");\n\n/**\n * Transpose the characters on either side of a collapsed cursor, or\n * if the cursor is at the end of the block, transpose the last two\n * characters.\n */\nfunction keyCommandTransposeCharacters(editorState) {\n var selection = editorState.getSelection();\n if (!selection.isCollapsed()) {\n return editorState;\n }\n\n var offset = selection.getAnchorOffset();\n if (offset === 0) {\n return editorState;\n }\n\n var blockKey = selection.getAnchorKey();\n var content = editorState.getCurrentContent();\n var block = content.getBlockForKey(blockKey);\n var length = block.getLength();\n\n // Nothing to transpose if there aren't two characters.\n if (length <= 1) {\n return editorState;\n }\n\n var removalRange;\n var finalSelection;\n\n if (offset === length) {\n // The cursor is at the end of the block. Swap the last two characters.\n removalRange = selection.set('anchorOffset', offset - 1);\n finalSelection = selection;\n } else {\n removalRange = selection.set('focusOffset', offset + 1);\n finalSelection = removalRange.set('anchorOffset', offset + 1);\n }\n\n // Extract the character to move as a fragment. This preserves its\n // styling and entity, if any.\n var movedFragment = getContentStateFragment(content, removalRange);\n var afterRemoval = DraftModifier.removeRange(content, removalRange, 'backward');\n\n // After the removal, the insertion target is one character back.\n var selectionAfter = afterRemoval.getSelectionAfter();\n var targetOffset = selectionAfter.getAnchorOffset() - 1;\n var targetRange = selectionAfter.merge({\n anchorOffset: targetOffset,\n focusOffset: targetOffset\n });\n\n var afterInsert = DraftModifier.replaceWithFragment(afterRemoval, targetRange, movedFragment);\n\n var newEditorState = EditorState.push(editorState, afterInsert, 'insert-fragment');\n\n return EditorState.acceptSelection(newEditorState, finalSelection);\n}\n\nmodule.exports = keyCommandTransposeCharacters;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2tleUNvbW1hbmRUcmFuc3Bvc2VDaGFyYWN0ZXJzLmpzP2ExYzgiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVhOztBQUViLG9CQUFvQixtQkFBTyxDQUFDLHFFQUFpQjtBQUM3QyxrQkFBa0IsbUJBQU8sQ0FBQyxpRUFBZTs7QUFFekMsOEJBQThCLG1CQUFPLENBQUMseUZBQTJCOztBQUVqRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIOztBQUVBOztBQUVBO0FBQ0E7O0FBRUEiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2tleUNvbW1hbmRUcmFuc3Bvc2VDaGFyYWN0ZXJzLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQlNELXN0eWxlIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuIEFuIGFkZGl0aW9uYWwgZ3JhbnRcbiAqIG9mIHBhdGVudCByaWdodHMgY2FuIGJlIGZvdW5kIGluIHRoZSBQQVRFTlRTIGZpbGUgaW4gdGhlIHNhbWUgZGlyZWN0b3J5LlxuICpcbiAqIEBwcm92aWRlc01vZHVsZSBrZXlDb21tYW5kVHJhbnNwb3NlQ2hhcmFjdGVyc1xuICogQGZvcm1hdFxuICogXG4gKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG52YXIgRHJhZnRNb2RpZmllciA9IHJlcXVpcmUoJy4vRHJhZnRNb2RpZmllcicpO1xudmFyIEVkaXRvclN0YXRlID0gcmVxdWlyZSgnLi9FZGl0b3JTdGF0ZScpO1xuXG52YXIgZ2V0Q29udGVudFN0YXRlRnJhZ21lbnQgPSByZXF1aXJlKCcuL2dldENvbnRlbnRTdGF0ZUZyYWdtZW50Jyk7XG5cbi8qKlxuICogVHJhbnNwb3NlIHRoZSBjaGFyYWN0ZXJzIG9uIGVpdGhlciBzaWRlIG9mIGEgY29sbGFwc2VkIGN1cnNvciwgb3JcbiAqIGlmIHRoZSBjdXJzb3IgaXMgYXQgdGhlIGVuZCBvZiB0aGUgYmxvY2ssIHRyYW5zcG9zZSB0aGUgbGFzdCB0d29cbiAqIGNoYXJhY3RlcnMuXG4gKi9cbmZ1bmN0aW9uIGtleUNvbW1hbmRUcmFuc3Bvc2VDaGFyYWN0ZXJzKGVkaXRvclN0YXRlKSB7XG4gIHZhciBzZWxlY3Rpb24gPSBlZGl0b3JTdGF0ZS5nZXRTZWxlY3Rpb24oKTtcbiAgaWYgKCFzZWxlY3Rpb24uaXNDb2xsYXBzZWQoKSkge1xuICAgIHJldHVybiBlZGl0b3JTdGF0ZTtcbiAgfVxuXG4gIHZhciBvZmZzZXQgPSBzZWxlY3Rpb24uZ2V0QW5jaG9yT2Zmc2V0KCk7XG4gIGlmIChvZmZzZXQgPT09IDApIHtcbiAgICByZXR1cm4gZWRpdG9yU3RhdGU7XG4gIH1cblxuICB2YXIgYmxvY2tLZXkgPSBzZWxlY3Rpb24uZ2V0QW5jaG9yS2V5KCk7XG4gIHZhciBjb250ZW50ID0gZWRpdG9yU3RhdGUuZ2V0Q3VycmVudENvbnRlbnQoKTtcbiAgdmFyIGJsb2NrID0gY29udGVudC5nZXRCbG9ja0ZvcktleShibG9ja0tleSk7XG4gIHZhciBsZW5ndGggPSBibG9jay5nZXRMZW5ndGgoKTtcblxuICAvLyBOb3RoaW5nIHRvIHRyYW5zcG9zZSBpZiB0aGVyZSBhcmVuJ3QgdHdvIGNoYXJhY3RlcnMuXG4gIGlmIChsZW5ndGggPD0gMSkge1xuICAgIHJldHVybiBlZGl0b3JTdGF0ZTtcbiAgfVxuXG4gIHZhciByZW1vdmFsUmFuZ2U7XG4gIHZhciBmaW5hbFNlbGVjdGlvbjtcblxuICBpZiAob2Zmc2V0ID09PSBsZW5ndGgpIHtcbiAgICAvLyBUaGUgY3Vyc29yIGlzIGF0IHRoZSBlbmQgb2YgdGhlIGJsb2NrLiBTd2FwIHRoZSBsYXN0IHR3byBjaGFyYWN0ZXJzLlxuICAgIHJlbW92YWxSYW5nZSA9IHNlbGVjdGlvbi5zZXQoJ2FuY2hvck9mZnNldCcsIG9mZnNldCAtIDEpO1xuICAgIGZpbmFsU2VsZWN0aW9uID0gc2VsZWN0aW9uO1xuICB9IGVsc2Uge1xuICAgIHJlbW92YWxSYW5nZSA9IHNlbGVjdGlvbi5zZXQoJ2ZvY3VzT2Zmc2V0Jywgb2Zmc2V0ICsgMSk7XG4gICAgZmluYWxTZWxlY3Rpb24gPSByZW1vdmFsUmFuZ2Uuc2V0KCdhbmNob3JPZmZzZXQnLCBvZmZzZXQgKyAxKTtcbiAgfVxuXG4gIC8vIEV4dHJhY3QgdGhlIGNoYXJhY3RlciB0byBtb3ZlIGFzIGEgZnJhZ21lbnQuIFRoaXMgcHJlc2VydmVzIGl0c1xuICAvLyBzdHlsaW5nIGFuZCBlbnRpdHksIGlmIGFueS5cbiAgdmFyIG1vdmVkRnJhZ21lbnQgPSBnZXRDb250ZW50U3RhdGVGcmFnbWVudChjb250ZW50LCByZW1vdmFsUmFuZ2UpO1xuICB2YXIgYWZ0ZXJSZW1vdmFsID0gRHJhZnRNb2RpZmllci5yZW1vdmVSYW5nZShjb250ZW50LCByZW1vdmFsUmFuZ2UsICdiYWNrd2FyZCcpO1xuXG4gIC8vIEFmdGVyIHRoZSByZW1vdmFsLCB0aGUgaW5zZXJ0aW9uIHRhcmdldCBpcyBvbmUgY2hhcmFjdGVyIGJhY2suXG4gIHZhciBzZWxlY3Rpb25BZnRlciA9IGFmdGVyUmVtb3ZhbC5nZXRTZWxlY3Rpb25BZnRlcigpO1xuICB2YXIgdGFyZ2V0T2Zmc2V0ID0gc2VsZWN0aW9uQWZ0ZXIuZ2V0QW5jaG9yT2Zmc2V0KCkgLSAxO1xuICB2YXIgdGFyZ2V0UmFuZ2UgPSBzZWxlY3Rpb25BZnRlci5tZXJnZSh7XG4gICAgYW5jaG9yT2Zmc2V0OiB0YXJnZXRPZmZzZXQsXG4gICAgZm9jdXNPZmZzZXQ6IHRhcmdldE9mZnNldFxuICB9KTtcblxuICB2YXIgYWZ0ZXJJbnNlcnQgPSBEcmFmdE1vZGlmaWVyLnJlcGxhY2VXaXRoRnJhZ21lbnQoYWZ0ZXJSZW1vdmFsLCB0YXJnZXRSYW5nZSwgbW92ZWRGcmFnbWVudCk7XG5cbiAgdmFyIG5ld0VkaXRvclN0YXRlID0gRWRpdG9yU3RhdGUucHVzaChlZGl0b3JTdGF0ZSwgYWZ0ZXJJbnNlcnQsICdpbnNlcnQtZnJhZ21lbnQnKTtcblxuICByZXR1cm4gRWRpdG9yU3RhdGUuYWNjZXB0U2VsZWN0aW9uKG5ld0VkaXRvclN0YXRlLCBmaW5hbFNlbGVjdGlvbik7XG59XG5cbm1vZHVsZS5leHBvcnRzID0ga2V5Q29tbWFuZFRyYW5zcG9zZUNoYXJhY3RlcnM7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/keyCommandTransposeCharacters.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nvar DraftModifier = __webpack_require__(/*! ./DraftModifier */ \"./node_modules/draft-js/lib/DraftModifier.js\");\n\nvar EditorState = __webpack_require__(/*! ./EditorState */ \"./node_modules/draft-js/lib/EditorState.js\");\n\nvar getContentStateFragment = __webpack_require__(/*! ./getContentStateFragment */ \"./node_modules/draft-js/lib/getContentStateFragment.js\");\n/**\n * Transpose the characters on either side of a collapsed cursor, or\n * if the cursor is at the end of the block, transpose the last two\n * characters.\n */\n\n\nfunction keyCommandTransposeCharacters(editorState) {\n var selection = editorState.getSelection();\n\n if (!selection.isCollapsed()) {\n return editorState;\n }\n\n var offset = selection.getAnchorOffset();\n\n if (offset === 0) {\n return editorState;\n }\n\n var blockKey = selection.getAnchorKey();\n var content = editorState.getCurrentContent();\n var block = content.getBlockForKey(blockKey);\n var length = block.getLength(); // Nothing to transpose if there aren't two characters.\n\n if (length <= 1) {\n return editorState;\n }\n\n var removalRange;\n var finalSelection;\n\n if (offset === length) {\n // The cursor is at the end of the block. Swap the last two characters.\n removalRange = selection.set('anchorOffset', offset - 1);\n finalSelection = selection;\n } else {\n removalRange = selection.set('focusOffset', offset + 1);\n finalSelection = removalRange.set('anchorOffset', offset + 1);\n } // Extract the character to move as a fragment. This preserves its\n // styling and entity, if any.\n\n\n var movedFragment = getContentStateFragment(content, removalRange);\n var afterRemoval = DraftModifier.removeRange(content, removalRange, 'backward'); // After the removal, the insertion target is one character back.\n\n var selectionAfter = afterRemoval.getSelectionAfter();\n var targetOffset = selectionAfter.getAnchorOffset() - 1;\n var targetRange = selectionAfter.merge({\n anchorOffset: targetOffset,\n focusOffset: targetOffset\n });\n var afterInsert = DraftModifier.replaceWithFragment(afterRemoval, targetRange, movedFragment);\n var newEditorState = EditorState.push(editorState, afterInsert, 'insert-fragment');\n return EditorState.acceptSelection(newEditorState, finalSelection);\n}\n\nmodule.exports = keyCommandTransposeCharacters;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2tleUNvbW1hbmRUcmFuc3Bvc2VDaGFyYWN0ZXJzLmpzP2ExYzgiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDYTs7QUFFYixvQkFBb0IsbUJBQU8sQ0FBQyxxRUFBaUI7O0FBRTdDLGtCQUFrQixtQkFBTyxDQUFDLGlFQUFlOztBQUV6Qyw4QkFBOEIsbUJBQU8sQ0FBQyx5RkFBMkI7QUFDakU7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGlDQUFpQzs7QUFFakM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLEdBQUc7QUFDSDs7O0FBR0E7QUFDQSxrRkFBa0Y7O0FBRWxGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7O0FBRUEiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2tleUNvbW1hbmRUcmFuc3Bvc2VDaGFyYWN0ZXJzLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIEZhY2Vib29rLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKiBAZm9ybWF0XG4gKiBcbiAqIEBlbWFpbHMgb25jYWxsK2RyYWZ0X2pzXG4gKi9cbid1c2Ugc3RyaWN0JztcblxudmFyIERyYWZ0TW9kaWZpZXIgPSByZXF1aXJlKFwiLi9EcmFmdE1vZGlmaWVyXCIpO1xuXG52YXIgRWRpdG9yU3RhdGUgPSByZXF1aXJlKFwiLi9FZGl0b3JTdGF0ZVwiKTtcblxudmFyIGdldENvbnRlbnRTdGF0ZUZyYWdtZW50ID0gcmVxdWlyZShcIi4vZ2V0Q29udGVudFN0YXRlRnJhZ21lbnRcIik7XG4vKipcbiAqIFRyYW5zcG9zZSB0aGUgY2hhcmFjdGVycyBvbiBlaXRoZXIgc2lkZSBvZiBhIGNvbGxhcHNlZCBjdXJzb3IsIG9yXG4gKiBpZiB0aGUgY3Vyc29yIGlzIGF0IHRoZSBlbmQgb2YgdGhlIGJsb2NrLCB0cmFuc3Bvc2UgdGhlIGxhc3QgdHdvXG4gKiBjaGFyYWN0ZXJzLlxuICovXG5cblxuZnVuY3Rpb24ga2V5Q29tbWFuZFRyYW5zcG9zZUNoYXJhY3RlcnMoZWRpdG9yU3RhdGUpIHtcbiAgdmFyIHNlbGVjdGlvbiA9IGVkaXRvclN0YXRlLmdldFNlbGVjdGlvbigpO1xuXG4gIGlmICghc2VsZWN0aW9uLmlzQ29sbGFwc2VkKCkpIHtcbiAgICByZXR1cm4gZWRpdG9yU3RhdGU7XG4gIH1cblxuICB2YXIgb2Zmc2V0ID0gc2VsZWN0aW9uLmdldEFuY2hvck9mZnNldCgpO1xuXG4gIGlmIChvZmZzZXQgPT09IDApIHtcbiAgICByZXR1cm4gZWRpdG9yU3RhdGU7XG4gIH1cblxuICB2YXIgYmxvY2tLZXkgPSBzZWxlY3Rpb24uZ2V0QW5jaG9yS2V5KCk7XG4gIHZhciBjb250ZW50ID0gZWRpdG9yU3RhdGUuZ2V0Q3VycmVudENvbnRlbnQoKTtcbiAgdmFyIGJsb2NrID0gY29udGVudC5nZXRCbG9ja0ZvcktleShibG9ja0tleSk7XG4gIHZhciBsZW5ndGggPSBibG9jay5nZXRMZW5ndGgoKTsgLy8gTm90aGluZyB0byB0cmFuc3Bvc2UgaWYgdGhlcmUgYXJlbid0IHR3byBjaGFyYWN0ZXJzLlxuXG4gIGlmIChsZW5ndGggPD0gMSkge1xuICAgIHJldHVybiBlZGl0b3JTdGF0ZTtcbiAgfVxuXG4gIHZhciByZW1vdmFsUmFuZ2U7XG4gIHZhciBmaW5hbFNlbGVjdGlvbjtcblxuICBpZiAob2Zmc2V0ID09PSBsZW5ndGgpIHtcbiAgICAvLyBUaGUgY3Vyc29yIGlzIGF0IHRoZSBlbmQgb2YgdGhlIGJsb2NrLiBTd2FwIHRoZSBsYXN0IHR3byBjaGFyYWN0ZXJzLlxuICAgIHJlbW92YWxSYW5nZSA9IHNlbGVjdGlvbi5zZXQoJ2FuY2hvck9mZnNldCcsIG9mZnNldCAtIDEpO1xuICAgIGZpbmFsU2VsZWN0aW9uID0gc2VsZWN0aW9uO1xuICB9IGVsc2Uge1xuICAgIHJlbW92YWxSYW5nZSA9IHNlbGVjdGlvbi5zZXQoJ2ZvY3VzT2Zmc2V0Jywgb2Zmc2V0ICsgMSk7XG4gICAgZmluYWxTZWxlY3Rpb24gPSByZW1vdmFsUmFuZ2Uuc2V0KCdhbmNob3JPZmZzZXQnLCBvZmZzZXQgKyAxKTtcbiAgfSAvLyBFeHRyYWN0IHRoZSBjaGFyYWN0ZXIgdG8gbW92ZSBhcyBhIGZyYWdtZW50LiBUaGlzIHByZXNlcnZlcyBpdHNcbiAgLy8gc3R5bGluZyBhbmQgZW50aXR5LCBpZiBhbnkuXG5cblxuICB2YXIgbW92ZWRGcmFnbWVudCA9IGdldENvbnRlbnRTdGF0ZUZyYWdtZW50KGNvbnRlbnQsIHJlbW92YWxSYW5nZSk7XG4gIHZhciBhZnRlclJlbW92YWwgPSBEcmFmdE1vZGlmaWVyLnJlbW92ZVJhbmdlKGNvbnRlbnQsIHJlbW92YWxSYW5nZSwgJ2JhY2t3YXJkJyk7IC8vIEFmdGVyIHRoZSByZW1vdmFsLCB0aGUgaW5zZXJ0aW9uIHRhcmdldCBpcyBvbmUgY2hhcmFjdGVyIGJhY2suXG5cbiAgdmFyIHNlbGVjdGlvbkFmdGVyID0gYWZ0ZXJSZW1vdmFsLmdldFNlbGVjdGlvbkFmdGVyKCk7XG4gIHZhciB0YXJnZXRPZmZzZXQgPSBzZWxlY3Rpb25BZnRlci5nZXRBbmNob3JPZmZzZXQoKSAtIDE7XG4gIHZhciB0YXJnZXRSYW5nZSA9IHNlbGVjdGlvbkFmdGVyLm1lcmdlKHtcbiAgICBhbmNob3JPZmZzZXQ6IHRhcmdldE9mZnNldCxcbiAgICBmb2N1c09mZnNldDogdGFyZ2V0T2Zmc2V0XG4gIH0pO1xuICB2YXIgYWZ0ZXJJbnNlcnQgPSBEcmFmdE1vZGlmaWVyLnJlcGxhY2VXaXRoRnJhZ21lbnQoYWZ0ZXJSZW1vdmFsLCB0YXJnZXRSYW5nZSwgbW92ZWRGcmFnbWVudCk7XG4gIHZhciBuZXdFZGl0b3JTdGF0ZSA9IEVkaXRvclN0YXRlLnB1c2goZWRpdG9yU3RhdGUsIGFmdGVySW5zZXJ0LCAnaW5zZXJ0LWZyYWdtZW50Jyk7XG4gIHJldHVybiBFZGl0b3JTdGF0ZS5hY2NlcHRTZWxlY3Rpb24obmV3RWRpdG9yU3RhdGUsIGZpbmFsU2VsZWN0aW9uKTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBrZXlDb21tYW5kVHJhbnNwb3NlQ2hhcmFjdGVyczsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/keyCommandTransposeCharacters.js\n"); /***/ }), @@ -1183,7 +1410,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule keyCommandUndo\n * @format\n * \n */\n\n\n\nvar EditorState = __webpack_require__(/*! ./EditorState */ \"./node_modules/draft-js/lib/EditorState.js\");\n\nfunction keyCommandUndo(e, editorState, updateFn) {\n var undoneState = EditorState.undo(editorState);\n\n // If the last change to occur was a spellcheck change, allow the undo\n // event to fall through to the browser. This allows the browser to record\n // the unwanted change, which should soon lead it to learn not to suggest\n // the correction again.\n if (editorState.getLastChangeType() === 'spellcheck-change') {\n var nativelyRenderedContent = undoneState.getCurrentContent();\n updateFn(EditorState.set(undoneState, { nativelyRenderedContent: nativelyRenderedContent }));\n return;\n }\n\n // Otheriwse, manage the undo behavior manually.\n e.preventDefault();\n if (!editorState.getNativelyRenderedContent()) {\n updateFn(undoneState);\n return;\n }\n\n // Trigger a re-render with the current content state to ensure that the\n // component tree has up-to-date props for comparison.\n updateFn(EditorState.set(editorState, { nativelyRenderedContent: null }));\n\n // Wait to ensure that the re-render has occurred before performing\n // the undo action.\n setTimeout(function () {\n updateFn(undoneState);\n }, 0);\n}\n\nmodule.exports = keyCommandUndo;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2tleUNvbW1hbmRVbmRvLmpzPzQ5ODgiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVhOztBQUViLGtCQUFrQixtQkFBTyxDQUFDLGlFQUFlOztBQUV6QztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJDQUEyQyxtREFBbUQ7QUFDOUY7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLHlDQUF5QyxnQ0FBZ0M7O0FBRXpFO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUVBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2RyYWZ0LWpzL2xpYi9rZXlDb21tYW5kVW5kby5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXG4gKiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEJTRC1zdHlsZSBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLiBBbiBhZGRpdGlvbmFsIGdyYW50XG4gKiBvZiBwYXRlbnQgcmlnaHRzIGNhbiBiZSBmb3VuZCBpbiB0aGUgUEFURU5UUyBmaWxlIGluIHRoZSBzYW1lIGRpcmVjdG9yeS5cbiAqXG4gKiBAcHJvdmlkZXNNb2R1bGUga2V5Q29tbWFuZFVuZG9cbiAqIEBmb3JtYXRcbiAqIFxuICovXG5cbid1c2Ugc3RyaWN0JztcblxudmFyIEVkaXRvclN0YXRlID0gcmVxdWlyZSgnLi9FZGl0b3JTdGF0ZScpO1xuXG5mdW5jdGlvbiBrZXlDb21tYW5kVW5kbyhlLCBlZGl0b3JTdGF0ZSwgdXBkYXRlRm4pIHtcbiAgdmFyIHVuZG9uZVN0YXRlID0gRWRpdG9yU3RhdGUudW5kbyhlZGl0b3JTdGF0ZSk7XG5cbiAgLy8gSWYgdGhlIGxhc3QgY2hhbmdlIHRvIG9jY3VyIHdhcyBhIHNwZWxsY2hlY2sgY2hhbmdlLCBhbGxvdyB0aGUgdW5kb1xuICAvLyBldmVudCB0byBmYWxsIHRocm91Z2ggdG8gdGhlIGJyb3dzZXIuIFRoaXMgYWxsb3dzIHRoZSBicm93c2VyIHRvIHJlY29yZFxuICAvLyB0aGUgdW53YW50ZWQgY2hhbmdlLCB3aGljaCBzaG91bGQgc29vbiBsZWFkIGl0IHRvIGxlYXJuIG5vdCB0byBzdWdnZXN0XG4gIC8vIHRoZSBjb3JyZWN0aW9uIGFnYWluLlxuICBpZiAoZWRpdG9yU3RhdGUuZ2V0TGFzdENoYW5nZVR5cGUoKSA9PT0gJ3NwZWxsY2hlY2stY2hhbmdlJykge1xuICAgIHZhciBuYXRpdmVseVJlbmRlcmVkQ29udGVudCA9IHVuZG9uZVN0YXRlLmdldEN1cnJlbnRDb250ZW50KCk7XG4gICAgdXBkYXRlRm4oRWRpdG9yU3RhdGUuc2V0KHVuZG9uZVN0YXRlLCB7IG5hdGl2ZWx5UmVuZGVyZWRDb250ZW50OiBuYXRpdmVseVJlbmRlcmVkQ29udGVudCB9KSk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLy8gT3RoZXJpd3NlLCBtYW5hZ2UgdGhlIHVuZG8gYmVoYXZpb3IgbWFudWFsbHkuXG4gIGUucHJldmVudERlZmF1bHQoKTtcbiAgaWYgKCFlZGl0b3JTdGF0ZS5nZXROYXRpdmVseVJlbmRlcmVkQ29udGVudCgpKSB7XG4gICAgdXBkYXRlRm4odW5kb25lU3RhdGUpO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8vIFRyaWdnZXIgYSByZS1yZW5kZXIgd2l0aCB0aGUgY3VycmVudCBjb250ZW50IHN0YXRlIHRvIGVuc3VyZSB0aGF0IHRoZVxuICAvLyBjb21wb25lbnQgdHJlZSBoYXMgdXAtdG8tZGF0ZSBwcm9wcyBmb3IgY29tcGFyaXNvbi5cbiAgdXBkYXRlRm4oRWRpdG9yU3RhdGUuc2V0KGVkaXRvclN0YXRlLCB7IG5hdGl2ZWx5UmVuZGVyZWRDb250ZW50OiBudWxsIH0pKTtcblxuICAvLyBXYWl0IHRvIGVuc3VyZSB0aGF0IHRoZSByZS1yZW5kZXIgaGFzIG9jY3VycmVkIGJlZm9yZSBwZXJmb3JtaW5nXG4gIC8vIHRoZSB1bmRvIGFjdGlvbi5cbiAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgdXBkYXRlRm4odW5kb25lU3RhdGUpO1xuICB9LCAwKTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBrZXlDb21tYW5kVW5kbzsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/keyCommandUndo.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nvar EditorState = __webpack_require__(/*! ./EditorState */ \"./node_modules/draft-js/lib/EditorState.js\");\n\nfunction keyCommandUndo(e, editorState, updateFn) {\n var undoneState = EditorState.undo(editorState); // If the last change to occur was a spellcheck change, allow the undo\n // event to fall through to the browser. This allows the browser to record\n // the unwanted change, which should soon lead it to learn not to suggest\n // the correction again.\n\n if (editorState.getLastChangeType() === 'spellcheck-change') {\n var nativelyRenderedContent = undoneState.getCurrentContent();\n updateFn(EditorState.set(undoneState, {\n nativelyRenderedContent: nativelyRenderedContent\n }));\n return;\n } // Otheriwse, manage the undo behavior manually.\n\n\n e.preventDefault();\n\n if (!editorState.getNativelyRenderedContent()) {\n updateFn(undoneState);\n return;\n } // Trigger a re-render with the current content state to ensure that the\n // component tree has up-to-date props for comparison.\n\n\n updateFn(EditorState.set(editorState, {\n nativelyRenderedContent: null\n })); // Wait to ensure that the re-render has occurred before performing\n // the undo action.\n\n setTimeout(function () {\n updateFn(undoneState);\n }, 0);\n}\n\nmodule.exports = keyCommandUndo;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL2tleUNvbW1hbmRVbmRvLmpzPzQ5ODgiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDYTs7QUFFYixrQkFBa0IsbUJBQU8sQ0FBQyxpRUFBZTs7QUFFekM7QUFDQSxrREFBa0Q7QUFDbEQ7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsR0FBRzs7O0FBR0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIOzs7QUFHQTtBQUNBO0FBQ0EsR0FBRyxHQUFHO0FBQ047O0FBRUE7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIva2V5Q29tbWFuZFVuZG8uanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgRmFjZWJvb2ssIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIEBmb3JtYXRcbiAqIFxuICogQGVtYWlscyBvbmNhbGwrZHJhZnRfanNcbiAqL1xuJ3VzZSBzdHJpY3QnO1xuXG52YXIgRWRpdG9yU3RhdGUgPSByZXF1aXJlKFwiLi9FZGl0b3JTdGF0ZVwiKTtcblxuZnVuY3Rpb24ga2V5Q29tbWFuZFVuZG8oZSwgZWRpdG9yU3RhdGUsIHVwZGF0ZUZuKSB7XG4gIHZhciB1bmRvbmVTdGF0ZSA9IEVkaXRvclN0YXRlLnVuZG8oZWRpdG9yU3RhdGUpOyAvLyBJZiB0aGUgbGFzdCBjaGFuZ2UgdG8gb2NjdXIgd2FzIGEgc3BlbGxjaGVjayBjaGFuZ2UsIGFsbG93IHRoZSB1bmRvXG4gIC8vIGV2ZW50IHRvIGZhbGwgdGhyb3VnaCB0byB0aGUgYnJvd3Nlci4gVGhpcyBhbGxvd3MgdGhlIGJyb3dzZXIgdG8gcmVjb3JkXG4gIC8vIHRoZSB1bndhbnRlZCBjaGFuZ2UsIHdoaWNoIHNob3VsZCBzb29uIGxlYWQgaXQgdG8gbGVhcm4gbm90IHRvIHN1Z2dlc3RcbiAgLy8gdGhlIGNvcnJlY3Rpb24gYWdhaW4uXG5cbiAgaWYgKGVkaXRvclN0YXRlLmdldExhc3RDaGFuZ2VUeXBlKCkgPT09ICdzcGVsbGNoZWNrLWNoYW5nZScpIHtcbiAgICB2YXIgbmF0aXZlbHlSZW5kZXJlZENvbnRlbnQgPSB1bmRvbmVTdGF0ZS5nZXRDdXJyZW50Q29udGVudCgpO1xuICAgIHVwZGF0ZUZuKEVkaXRvclN0YXRlLnNldCh1bmRvbmVTdGF0ZSwge1xuICAgICAgbmF0aXZlbHlSZW5kZXJlZENvbnRlbnQ6IG5hdGl2ZWx5UmVuZGVyZWRDb250ZW50XG4gICAgfSkpO1xuICAgIHJldHVybjtcbiAgfSAvLyBPdGhlcml3c2UsIG1hbmFnZSB0aGUgdW5kbyBiZWhhdmlvciBtYW51YWxseS5cblxuXG4gIGUucHJldmVudERlZmF1bHQoKTtcblxuICBpZiAoIWVkaXRvclN0YXRlLmdldE5hdGl2ZWx5UmVuZGVyZWRDb250ZW50KCkpIHtcbiAgICB1cGRhdGVGbih1bmRvbmVTdGF0ZSk7XG4gICAgcmV0dXJuO1xuICB9IC8vIFRyaWdnZXIgYSByZS1yZW5kZXIgd2l0aCB0aGUgY3VycmVudCBjb250ZW50IHN0YXRlIHRvIGVuc3VyZSB0aGF0IHRoZVxuICAvLyBjb21wb25lbnQgdHJlZSBoYXMgdXAtdG8tZGF0ZSBwcm9wcyBmb3IgY29tcGFyaXNvbi5cblxuXG4gIHVwZGF0ZUZuKEVkaXRvclN0YXRlLnNldChlZGl0b3JTdGF0ZSwge1xuICAgIG5hdGl2ZWx5UmVuZGVyZWRDb250ZW50OiBudWxsXG4gIH0pKTsgLy8gV2FpdCB0byBlbnN1cmUgdGhhdCB0aGUgcmUtcmVuZGVyIGhhcyBvY2N1cnJlZCBiZWZvcmUgcGVyZm9ybWluZ1xuICAvLyB0aGUgdW5kbyBhY3Rpb24uXG5cbiAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgdXBkYXRlRm4odW5kb25lU3RhdGUpO1xuICB9LCAwKTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBrZXlDb21tYW5kVW5kbzsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/keyCommandUndo.js\n"); /***/ }), @@ -1195,7 +1422,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule modifyBlockForContentState\n * @format\n * \n */\n\n\n\nvar Immutable = __webpack_require__(/*! immutable */ \"./node_modules/draft-js/node_modules/immutable/dist/immutable.js\");\n\nvar Map = Immutable.Map;\n\n\nfunction modifyBlockForContentState(contentState, selectionState, operation) {\n var startKey = selectionState.getStartKey();\n var endKey = selectionState.getEndKey();\n var blockMap = contentState.getBlockMap();\n var newBlocks = blockMap.toSeq().skipUntil(function (_, k) {\n return k === startKey;\n }).takeUntil(function (_, k) {\n return k === endKey;\n }).concat(Map([[endKey, blockMap.get(endKey)]])).map(operation);\n\n return contentState.merge({\n blockMap: blockMap.merge(newBlocks),\n selectionBefore: selectionState,\n selectionAfter: selectionState\n });\n}\n\nmodule.exports = modifyBlockForContentState;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL21vZGlmeUJsb2NrRm9yQ29udGVudFN0YXRlLmpzPzMyMWYiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVhOztBQUViLGdCQUFnQixtQkFBTyxDQUFDLG1GQUFXOztBQUVuQzs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvbW9kaWZ5QmxvY2tGb3JDb250ZW50U3RhdGUuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxMy1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuICogQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBCU0Qtc3R5bGUgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS4gQW4gYWRkaXRpb25hbCBncmFudFxuICogb2YgcGF0ZW50IHJpZ2h0cyBjYW4gYmUgZm91bmQgaW4gdGhlIFBBVEVOVFMgZmlsZSBpbiB0aGUgc2FtZSBkaXJlY3RvcnkuXG4gKlxuICogQHByb3ZpZGVzTW9kdWxlIG1vZGlmeUJsb2NrRm9yQ29udGVudFN0YXRlXG4gKiBAZm9ybWF0XG4gKiBcbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbnZhciBJbW11dGFibGUgPSByZXF1aXJlKCdpbW11dGFibGUnKTtcblxudmFyIE1hcCA9IEltbXV0YWJsZS5NYXA7XG5cblxuZnVuY3Rpb24gbW9kaWZ5QmxvY2tGb3JDb250ZW50U3RhdGUoY29udGVudFN0YXRlLCBzZWxlY3Rpb25TdGF0ZSwgb3BlcmF0aW9uKSB7XG4gIHZhciBzdGFydEtleSA9IHNlbGVjdGlvblN0YXRlLmdldFN0YXJ0S2V5KCk7XG4gIHZhciBlbmRLZXkgPSBzZWxlY3Rpb25TdGF0ZS5nZXRFbmRLZXkoKTtcbiAgdmFyIGJsb2NrTWFwID0gY29udGVudFN0YXRlLmdldEJsb2NrTWFwKCk7XG4gIHZhciBuZXdCbG9ja3MgPSBibG9ja01hcC50b1NlcSgpLnNraXBVbnRpbChmdW5jdGlvbiAoXywgaykge1xuICAgIHJldHVybiBrID09PSBzdGFydEtleTtcbiAgfSkudGFrZVVudGlsKGZ1bmN0aW9uIChfLCBrKSB7XG4gICAgcmV0dXJuIGsgPT09IGVuZEtleTtcbiAgfSkuY29uY2F0KE1hcChbW2VuZEtleSwgYmxvY2tNYXAuZ2V0KGVuZEtleSldXSkpLm1hcChvcGVyYXRpb24pO1xuXG4gIHJldHVybiBjb250ZW50U3RhdGUubWVyZ2Uoe1xuICAgIGJsb2NrTWFwOiBibG9ja01hcC5tZXJnZShuZXdCbG9ja3MpLFxuICAgIHNlbGVjdGlvbkJlZm9yZTogc2VsZWN0aW9uU3RhdGUsXG4gICAgc2VsZWN0aW9uQWZ0ZXI6IHNlbGVjdGlvblN0YXRlXG4gIH0pO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IG1vZGlmeUJsb2NrRm9yQ29udGVudFN0YXRlOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/modifyBlockForContentState.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nvar Immutable = __webpack_require__(/*! immutable */ \"./node_modules/draft-js/node_modules/immutable/dist/immutable.js\");\n\nvar Map = Immutable.Map;\n\nfunction modifyBlockForContentState(contentState, selectionState, operation) {\n var startKey = selectionState.getStartKey();\n var endKey = selectionState.getEndKey();\n var blockMap = contentState.getBlockMap();\n var newBlocks = blockMap.toSeq().skipUntil(function (_, k) {\n return k === startKey;\n }).takeUntil(function (_, k) {\n return k === endKey;\n }).concat(Map([[endKey, blockMap.get(endKey)]])).map(operation);\n return contentState.merge({\n blockMap: blockMap.merge(newBlocks),\n selectionBefore: selectionState,\n selectionAfter: selectionState\n });\n}\n\nmodule.exports = modifyBlockForContentState;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL21vZGlmeUJsb2NrRm9yQ29udGVudFN0YXRlLmpzPzMyMWYiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDYTs7QUFFYixnQkFBZ0IsbUJBQU8sQ0FBQyxtRkFBVzs7QUFFbkM7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUVBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2RyYWZ0LWpzL2xpYi9tb2RpZnlCbG9ja0ZvckNvbnRlbnRTdGF0ZS5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSBGYWNlYm9vaywgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICogQGZvcm1hdFxuICogXG4gKiBAZW1haWxzIG9uY2FsbCtkcmFmdF9qc1xuICovXG4ndXNlIHN0cmljdCc7XG5cbnZhciBJbW11dGFibGUgPSByZXF1aXJlKFwiaW1tdXRhYmxlXCIpO1xuXG52YXIgTWFwID0gSW1tdXRhYmxlLk1hcDtcblxuZnVuY3Rpb24gbW9kaWZ5QmxvY2tGb3JDb250ZW50U3RhdGUoY29udGVudFN0YXRlLCBzZWxlY3Rpb25TdGF0ZSwgb3BlcmF0aW9uKSB7XG4gIHZhciBzdGFydEtleSA9IHNlbGVjdGlvblN0YXRlLmdldFN0YXJ0S2V5KCk7XG4gIHZhciBlbmRLZXkgPSBzZWxlY3Rpb25TdGF0ZS5nZXRFbmRLZXkoKTtcbiAgdmFyIGJsb2NrTWFwID0gY29udGVudFN0YXRlLmdldEJsb2NrTWFwKCk7XG4gIHZhciBuZXdCbG9ja3MgPSBibG9ja01hcC50b1NlcSgpLnNraXBVbnRpbChmdW5jdGlvbiAoXywgaykge1xuICAgIHJldHVybiBrID09PSBzdGFydEtleTtcbiAgfSkudGFrZVVudGlsKGZ1bmN0aW9uIChfLCBrKSB7XG4gICAgcmV0dXJuIGsgPT09IGVuZEtleTtcbiAgfSkuY29uY2F0KE1hcChbW2VuZEtleSwgYmxvY2tNYXAuZ2V0KGVuZEtleSldXSkpLm1hcChvcGVyYXRpb24pO1xuICByZXR1cm4gY29udGVudFN0YXRlLm1lcmdlKHtcbiAgICBibG9ja01hcDogYmxvY2tNYXAubWVyZ2UobmV3QmxvY2tzKSxcbiAgICBzZWxlY3Rpb25CZWZvcmU6IHNlbGVjdGlvblN0YXRlLFxuICAgIHNlbGVjdGlvbkFmdGVyOiBzZWxlY3Rpb25TdGF0ZVxuICB9KTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBtb2RpZnlCbG9ja0ZvckNvbnRlbnRTdGF0ZTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/modifyBlockForContentState.js\n"); /***/ }), @@ -1207,7 +1434,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule moveBlockInContentState\n * @format\n * \n */\n\n\n\nvar ContentBlockNode = __webpack_require__(/*! ./ContentBlockNode */ \"./node_modules/draft-js/lib/ContentBlockNode.js\");\nvar Immutable = __webpack_require__(/*! immutable */ \"./node_modules/draft-js/node_modules/immutable/dist/immutable.js\");\n\nvar getNextDelimiterBlockKey = __webpack_require__(/*! ./getNextDelimiterBlockKey */ \"./node_modules/draft-js/lib/getNextDelimiterBlockKey.js\");\nvar invariant = __webpack_require__(/*! fbjs/lib/invariant */ \"./node_modules/fbjs/lib/invariant.js\");\n\nvar OrderedMap = Immutable.OrderedMap,\n List = Immutable.List;\n\n\nvar transformBlock = function transformBlock(key, blockMap, func) {\n if (!key) {\n return;\n }\n\n var block = blockMap.get(key);\n\n if (!block) {\n return;\n }\n\n blockMap.set(key, func(block));\n};\n\nvar updateBlockMapLinks = function updateBlockMapLinks(blockMap, originalBlockToBeMoved, originalTargetBlock, insertionMode, isExperimentalTreeBlock) {\n if (!isExperimentalTreeBlock) {\n return blockMap;\n }\n // possible values of 'insertionMode' are: 'after', 'before'\n var isInsertedAfterTarget = insertionMode === 'after';\n\n var originalBlockKey = originalBlockToBeMoved.getKey();\n var originalTargetKey = originalTargetBlock.getKey();\n var originalParentKey = originalBlockToBeMoved.getParentKey();\n var originalNextSiblingKey = originalBlockToBeMoved.getNextSiblingKey();\n var originalPrevSiblingKey = originalBlockToBeMoved.getPrevSiblingKey();\n var newParentKey = originalTargetBlock.getParentKey();\n var newNextSiblingKey = isInsertedAfterTarget ? originalTargetBlock.getNextSiblingKey() : originalTargetKey;\n var newPrevSiblingKey = isInsertedAfterTarget ? originalTargetKey : originalTargetBlock.getPrevSiblingKey();\n\n return blockMap.withMutations(function (blocks) {\n // update old parent\n transformBlock(originalParentKey, blocks, function (block) {\n var parentChildrenList = block.getChildKeys();\n return block.merge({\n children: parentChildrenList['delete'](parentChildrenList.indexOf(originalBlockKey))\n });\n });\n\n // update old prev\n transformBlock(originalPrevSiblingKey, blocks, function (block) {\n return block.merge({\n nextSibling: originalNextSiblingKey\n });\n });\n\n // update old next\n transformBlock(originalNextSiblingKey, blocks, function (block) {\n return block.merge({\n prevSibling: originalPrevSiblingKey\n });\n });\n\n // update new next\n transformBlock(newNextSiblingKey, blocks, function (block) {\n return block.merge({\n prevSibling: originalBlockKey\n });\n });\n\n // update new prev\n transformBlock(newPrevSiblingKey, blocks, function (block) {\n return block.merge({\n nextSibling: originalBlockKey\n });\n });\n\n // update new parent\n transformBlock(newParentKey, blocks, function (block) {\n var newParentChildrenList = block.getChildKeys();\n var targetBlockIndex = newParentChildrenList.indexOf(originalTargetKey);\n\n var insertionIndex = isInsertedAfterTarget ? targetBlockIndex + 1 : targetBlockIndex !== 0 ? targetBlockIndex - 1 : 0;\n\n var newChildrenArray = newParentChildrenList.toArray();\n newChildrenArray.splice(insertionIndex, 0, originalBlockKey);\n\n return block.merge({\n children: List(newChildrenArray)\n });\n });\n\n // update block\n transformBlock(originalBlockKey, blocks, function (block) {\n return block.merge({\n nextSibling: newNextSiblingKey,\n prevSibling: newPrevSiblingKey,\n parent: newParentKey\n });\n });\n });\n};\n\nvar moveBlockInContentState = function moveBlockInContentState(contentState, blockToBeMoved, targetBlock, insertionMode) {\n !(insertionMode !== 'replace') ? true ? invariant(false, 'Replacing blocks is not supported.') : undefined : void 0;\n\n var targetKey = targetBlock.getKey();\n var blockKey = blockToBeMoved.getKey();\n\n !(blockKey !== targetKey) ? true ? invariant(false, 'Block cannot be moved next to itself.') : undefined : void 0;\n\n var blockMap = contentState.getBlockMap();\n var isExperimentalTreeBlock = blockToBeMoved instanceof ContentBlockNode;\n\n var blocksToBeMoved = [blockToBeMoved];\n var blockMapWithoutBlocksToBeMoved = blockMap['delete'](blockKey);\n\n if (isExperimentalTreeBlock) {\n blocksToBeMoved = [];\n blockMapWithoutBlocksToBeMoved = blockMap.withMutations(function (blocks) {\n var nextSiblingKey = blockToBeMoved.getNextSiblingKey();\n var nextDelimiterBlockKey = getNextDelimiterBlockKey(blockToBeMoved, blocks);\n\n blocks.toSeq().skipUntil(function (block) {\n return block.getKey() === blockKey;\n }).takeWhile(function (block) {\n var key = block.getKey();\n var isBlockToBeMoved = key === blockKey;\n var hasNextSiblingAndIsNotNextSibling = nextSiblingKey && key !== nextSiblingKey;\n var doesNotHaveNextSiblingAndIsNotDelimiter = !nextSiblingKey && block.getParentKey() && (!nextDelimiterBlockKey || key !== nextDelimiterBlockKey);\n\n return !!(isBlockToBeMoved || hasNextSiblingAndIsNotNextSibling || doesNotHaveNextSiblingAndIsNotDelimiter);\n }).forEach(function (block) {\n blocksToBeMoved.push(block);\n blocks['delete'](block.getKey());\n });\n });\n }\n\n var blocksBefore = blockMapWithoutBlocksToBeMoved.toSeq().takeUntil(function (v) {\n return v === targetBlock;\n });\n\n var blocksAfter = blockMapWithoutBlocksToBeMoved.toSeq().skipUntil(function (v) {\n return v === targetBlock;\n }).skip(1);\n\n var slicedBlocks = blocksToBeMoved.map(function (block) {\n return [block.getKey(), block];\n });\n\n var newBlocks = OrderedMap();\n\n if (insertionMode === 'before') {\n var blockBefore = contentState.getBlockBefore(targetKey);\n\n !(!blockBefore || blockBefore.getKey() !== blockToBeMoved.getKey()) ? true ? invariant(false, 'Block cannot be moved next to itself.') : undefined : void 0;\n\n newBlocks = blocksBefore.concat([].concat(slicedBlocks, [[targetKey, targetBlock]]), blocksAfter).toOrderedMap();\n } else if (insertionMode === 'after') {\n var blockAfter = contentState.getBlockAfter(targetKey);\n\n !(!blockAfter || blockAfter.getKey() !== blockKey) ? true ? invariant(false, 'Block cannot be moved next to itself.') : undefined : void 0;\n\n newBlocks = blocksBefore.concat([[targetKey, targetBlock]].concat(slicedBlocks), blocksAfter).toOrderedMap();\n }\n\n return contentState.merge({\n blockMap: updateBlockMapLinks(newBlocks, blockToBeMoved, targetBlock, insertionMode, isExperimentalTreeBlock),\n selectionBefore: contentState.getSelectionAfter(),\n selectionAfter: contentState.getSelectionAfter().merge({\n anchorKey: blockKey,\n focusKey: blockKey\n })\n });\n};\n\nmodule.exports = moveBlockInContentState;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL21vdmVCbG9ja0luQ29udGVudFN0YXRlLmpzPzIzNjUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVhOztBQUViLHVCQUF1QixtQkFBTyxDQUFDLDJFQUFvQjtBQUNuRCxnQkFBZ0IsbUJBQU8sQ0FBQyxtRkFBVzs7QUFFbkMsK0JBQStCLG1CQUFPLENBQUMsMkZBQTRCO0FBQ25FLGdCQUFnQixtQkFBTyxDQUFDLGdFQUFvQjs7QUFFNUM7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1AsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUCxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1AsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxPQUFPO0FBQ1AsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1AsS0FBSztBQUNMLEdBQUc7QUFDSDs7QUFFQTtBQUNBLG1DQUFtQyxLQUFxQyw0REFBNEQsU0FBZ0I7O0FBRXBKO0FBQ0E7O0FBRUEsOEJBQThCLEtBQXFDLCtEQUErRCxTQUFnQjs7QUFFbEo7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0EsR0FBRzs7QUFFSDs7QUFFQTtBQUNBOztBQUVBLDBFQUEwRSxLQUFxQywrREFBK0QsU0FBZ0I7O0FBRTlMO0FBQ0EsR0FBRztBQUNIOztBQUVBLHlEQUF5RCxLQUFxQywrREFBK0QsU0FBZ0I7O0FBRTdLO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMLEdBQUc7QUFDSDs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvbW92ZUJsb2NrSW5Db250ZW50U3RhdGUuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxMy1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuICogQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBCU0Qtc3R5bGUgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS4gQW4gYWRkaXRpb25hbCBncmFudFxuICogb2YgcGF0ZW50IHJpZ2h0cyBjYW4gYmUgZm91bmQgaW4gdGhlIFBBVEVOVFMgZmlsZSBpbiB0aGUgc2FtZSBkaXJlY3RvcnkuXG4gKlxuICogQHByb3ZpZGVzTW9kdWxlIG1vdmVCbG9ja0luQ29udGVudFN0YXRlXG4gKiBAZm9ybWF0XG4gKiBcbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbnZhciBDb250ZW50QmxvY2tOb2RlID0gcmVxdWlyZSgnLi9Db250ZW50QmxvY2tOb2RlJyk7XG52YXIgSW1tdXRhYmxlID0gcmVxdWlyZSgnaW1tdXRhYmxlJyk7XG5cbnZhciBnZXROZXh0RGVsaW1pdGVyQmxvY2tLZXkgPSByZXF1aXJlKCcuL2dldE5leHREZWxpbWl0ZXJCbG9ja0tleScpO1xudmFyIGludmFyaWFudCA9IHJlcXVpcmUoJ2ZianMvbGliL2ludmFyaWFudCcpO1xuXG52YXIgT3JkZXJlZE1hcCA9IEltbXV0YWJsZS5PcmRlcmVkTWFwLFxuICAgIExpc3QgPSBJbW11dGFibGUuTGlzdDtcblxuXG52YXIgdHJhbnNmb3JtQmxvY2sgPSBmdW5jdGlvbiB0cmFuc2Zvcm1CbG9jayhrZXksIGJsb2NrTWFwLCBmdW5jKSB7XG4gIGlmICgha2V5KSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdmFyIGJsb2NrID0gYmxvY2tNYXAuZ2V0KGtleSk7XG5cbiAgaWYgKCFibG9jaykge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGJsb2NrTWFwLnNldChrZXksIGZ1bmMoYmxvY2spKTtcbn07XG5cbnZhciB1cGRhdGVCbG9ja01hcExpbmtzID0gZnVuY3Rpb24gdXBkYXRlQmxvY2tNYXBMaW5rcyhibG9ja01hcCwgb3JpZ2luYWxCbG9ja1RvQmVNb3ZlZCwgb3JpZ2luYWxUYXJnZXRCbG9jaywgaW5zZXJ0aW9uTW9kZSwgaXNFeHBlcmltZW50YWxUcmVlQmxvY2spIHtcbiAgaWYgKCFpc0V4cGVyaW1lbnRhbFRyZWVCbG9jaykge1xuICAgIHJldHVybiBibG9ja01hcDtcbiAgfVxuICAvLyBwb3NzaWJsZSB2YWx1ZXMgb2YgJ2luc2VydGlvbk1vZGUnIGFyZTogJ2FmdGVyJywgJ2JlZm9yZSdcbiAgdmFyIGlzSW5zZXJ0ZWRBZnRlclRhcmdldCA9IGluc2VydGlvbk1vZGUgPT09ICdhZnRlcic7XG5cbiAgdmFyIG9yaWdpbmFsQmxvY2tLZXkgPSBvcmlnaW5hbEJsb2NrVG9CZU1vdmVkLmdldEtleSgpO1xuICB2YXIgb3JpZ2luYWxUYXJnZXRLZXkgPSBvcmlnaW5hbFRhcmdldEJsb2NrLmdldEtleSgpO1xuICB2YXIgb3JpZ2luYWxQYXJlbnRLZXkgPSBvcmlnaW5hbEJsb2NrVG9CZU1vdmVkLmdldFBhcmVudEtleSgpO1xuICB2YXIgb3JpZ2luYWxOZXh0U2libGluZ0tleSA9IG9yaWdpbmFsQmxvY2tUb0JlTW92ZWQuZ2V0TmV4dFNpYmxpbmdLZXkoKTtcbiAgdmFyIG9yaWdpbmFsUHJldlNpYmxpbmdLZXkgPSBvcmlnaW5hbEJsb2NrVG9CZU1vdmVkLmdldFByZXZTaWJsaW5nS2V5KCk7XG4gIHZhciBuZXdQYXJlbnRLZXkgPSBvcmlnaW5hbFRhcmdldEJsb2NrLmdldFBhcmVudEtleSgpO1xuICB2YXIgbmV3TmV4dFNpYmxpbmdLZXkgPSBpc0luc2VydGVkQWZ0ZXJUYXJnZXQgPyBvcmlnaW5hbFRhcmdldEJsb2NrLmdldE5leHRTaWJsaW5nS2V5KCkgOiBvcmlnaW5hbFRhcmdldEtleTtcbiAgdmFyIG5ld1ByZXZTaWJsaW5nS2V5ID0gaXNJbnNlcnRlZEFmdGVyVGFyZ2V0ID8gb3JpZ2luYWxUYXJnZXRLZXkgOiBvcmlnaW5hbFRhcmdldEJsb2NrLmdldFByZXZTaWJsaW5nS2V5KCk7XG5cbiAgcmV0dXJuIGJsb2NrTWFwLndpdGhNdXRhdGlvbnMoZnVuY3Rpb24gKGJsb2Nrcykge1xuICAgIC8vIHVwZGF0ZSBvbGQgcGFyZW50XG4gICAgdHJhbnNmb3JtQmxvY2sob3JpZ2luYWxQYXJlbnRLZXksIGJsb2NrcywgZnVuY3Rpb24gKGJsb2NrKSB7XG4gICAgICB2YXIgcGFyZW50Q2hpbGRyZW5MaXN0ID0gYmxvY2suZ2V0Q2hpbGRLZXlzKCk7XG4gICAgICByZXR1cm4gYmxvY2subWVyZ2Uoe1xuICAgICAgICBjaGlsZHJlbjogcGFyZW50Q2hpbGRyZW5MaXN0WydkZWxldGUnXShwYXJlbnRDaGlsZHJlbkxpc3QuaW5kZXhPZihvcmlnaW5hbEJsb2NrS2V5KSlcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgLy8gdXBkYXRlIG9sZCBwcmV2XG4gICAgdHJhbnNmb3JtQmxvY2sob3JpZ2luYWxQcmV2U2libGluZ0tleSwgYmxvY2tzLCBmdW5jdGlvbiAoYmxvY2spIHtcbiAgICAgIHJldHVybiBibG9jay5tZXJnZSh7XG4gICAgICAgIG5leHRTaWJsaW5nOiBvcmlnaW5hbE5leHRTaWJsaW5nS2V5XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIC8vIHVwZGF0ZSBvbGQgbmV4dFxuICAgIHRyYW5zZm9ybUJsb2NrKG9yaWdpbmFsTmV4dFNpYmxpbmdLZXksIGJsb2NrcywgZnVuY3Rpb24gKGJsb2NrKSB7XG4gICAgICByZXR1cm4gYmxvY2subWVyZ2Uoe1xuICAgICAgICBwcmV2U2libGluZzogb3JpZ2luYWxQcmV2U2libGluZ0tleVxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICAvLyB1cGRhdGUgbmV3IG5leHRcbiAgICB0cmFuc2Zvcm1CbG9jayhuZXdOZXh0U2libGluZ0tleSwgYmxvY2tzLCBmdW5jdGlvbiAoYmxvY2spIHtcbiAgICAgIHJldHVybiBibG9jay5tZXJnZSh7XG4gICAgICAgIHByZXZTaWJsaW5nOiBvcmlnaW5hbEJsb2NrS2V5XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIC8vIHVwZGF0ZSBuZXcgcHJldlxuICAgIHRyYW5zZm9ybUJsb2NrKG5ld1ByZXZTaWJsaW5nS2V5LCBibG9ja3MsIGZ1bmN0aW9uIChibG9jaykge1xuICAgICAgcmV0dXJuIGJsb2NrLm1lcmdlKHtcbiAgICAgICAgbmV4dFNpYmxpbmc6IG9yaWdpbmFsQmxvY2tLZXlcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgLy8gdXBkYXRlIG5ldyBwYXJlbnRcbiAgICB0cmFuc2Zvcm1CbG9jayhuZXdQYXJlbnRLZXksIGJsb2NrcywgZnVuY3Rpb24gKGJsb2NrKSB7XG4gICAgICB2YXIgbmV3UGFyZW50Q2hpbGRyZW5MaXN0ID0gYmxvY2suZ2V0Q2hpbGRLZXlzKCk7XG4gICAgICB2YXIgdGFyZ2V0QmxvY2tJbmRleCA9IG5ld1BhcmVudENoaWxkcmVuTGlzdC5pbmRleE9mKG9yaWdpbmFsVGFyZ2V0S2V5KTtcblxuICAgICAgdmFyIGluc2VydGlvbkluZGV4ID0gaXNJbnNlcnRlZEFmdGVyVGFyZ2V0ID8gdGFyZ2V0QmxvY2tJbmRleCArIDEgOiB0YXJnZXRCbG9ja0luZGV4ICE9PSAwID8gdGFyZ2V0QmxvY2tJbmRleCAtIDEgOiAwO1xuXG4gICAgICB2YXIgbmV3Q2hpbGRyZW5BcnJheSA9IG5ld1BhcmVudENoaWxkcmVuTGlzdC50b0FycmF5KCk7XG4gICAgICBuZXdDaGlsZHJlbkFycmF5LnNwbGljZShpbnNlcnRpb25JbmRleCwgMCwgb3JpZ2luYWxCbG9ja0tleSk7XG5cbiAgICAgIHJldHVybiBibG9jay5tZXJnZSh7XG4gICAgICAgIGNoaWxkcmVuOiBMaXN0KG5ld0NoaWxkcmVuQXJyYXkpXG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIC8vIHVwZGF0ZSBibG9ja1xuICAgIHRyYW5zZm9ybUJsb2NrKG9yaWdpbmFsQmxvY2tLZXksIGJsb2NrcywgZnVuY3Rpb24gKGJsb2NrKSB7XG4gICAgICByZXR1cm4gYmxvY2subWVyZ2Uoe1xuICAgICAgICBuZXh0U2libGluZzogbmV3TmV4dFNpYmxpbmdLZXksXG4gICAgICAgIHByZXZTaWJsaW5nOiBuZXdQcmV2U2libGluZ0tleSxcbiAgICAgICAgcGFyZW50OiBuZXdQYXJlbnRLZXlcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9KTtcbn07XG5cbnZhciBtb3ZlQmxvY2tJbkNvbnRlbnRTdGF0ZSA9IGZ1bmN0aW9uIG1vdmVCbG9ja0luQ29udGVudFN0YXRlKGNvbnRlbnRTdGF0ZSwgYmxvY2tUb0JlTW92ZWQsIHRhcmdldEJsb2NrLCBpbnNlcnRpb25Nb2RlKSB7XG4gICEoaW5zZXJ0aW9uTW9kZSAhPT0gJ3JlcGxhY2UnKSA/IHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgPyBpbnZhcmlhbnQoZmFsc2UsICdSZXBsYWNpbmcgYmxvY2tzIGlzIG5vdCBzdXBwb3J0ZWQuJykgOiBpbnZhcmlhbnQoZmFsc2UpIDogdm9pZCAwO1xuXG4gIHZhciB0YXJnZXRLZXkgPSB0YXJnZXRCbG9jay5nZXRLZXkoKTtcbiAgdmFyIGJsb2NrS2V5ID0gYmxvY2tUb0JlTW92ZWQuZ2V0S2V5KCk7XG5cbiAgIShibG9ja0tleSAhPT0gdGFyZ2V0S2V5KSA/IHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgPyBpbnZhcmlhbnQoZmFsc2UsICdCbG9jayBjYW5ub3QgYmUgbW92ZWQgbmV4dCB0byBpdHNlbGYuJykgOiBpbnZhcmlhbnQoZmFsc2UpIDogdm9pZCAwO1xuXG4gIHZhciBibG9ja01hcCA9IGNvbnRlbnRTdGF0ZS5nZXRCbG9ja01hcCgpO1xuICB2YXIgaXNFeHBlcmltZW50YWxUcmVlQmxvY2sgPSBibG9ja1RvQmVNb3ZlZCBpbnN0YW5jZW9mIENvbnRlbnRCbG9ja05vZGU7XG5cbiAgdmFyIGJsb2Nrc1RvQmVNb3ZlZCA9IFtibG9ja1RvQmVNb3ZlZF07XG4gIHZhciBibG9ja01hcFdpdGhvdXRCbG9ja3NUb0JlTW92ZWQgPSBibG9ja01hcFsnZGVsZXRlJ10oYmxvY2tLZXkpO1xuXG4gIGlmIChpc0V4cGVyaW1lbnRhbFRyZWVCbG9jaykge1xuICAgIGJsb2Nrc1RvQmVNb3ZlZCA9IFtdO1xuICAgIGJsb2NrTWFwV2l0aG91dEJsb2Nrc1RvQmVNb3ZlZCA9IGJsb2NrTWFwLndpdGhNdXRhdGlvbnMoZnVuY3Rpb24gKGJsb2Nrcykge1xuICAgICAgdmFyIG5leHRTaWJsaW5nS2V5ID0gYmxvY2tUb0JlTW92ZWQuZ2V0TmV4dFNpYmxpbmdLZXkoKTtcbiAgICAgIHZhciBuZXh0RGVsaW1pdGVyQmxvY2tLZXkgPSBnZXROZXh0RGVsaW1pdGVyQmxvY2tLZXkoYmxvY2tUb0JlTW92ZWQsIGJsb2Nrcyk7XG5cbiAgICAgIGJsb2Nrcy50b1NlcSgpLnNraXBVbnRpbChmdW5jdGlvbiAoYmxvY2spIHtcbiAgICAgICAgcmV0dXJuIGJsb2NrLmdldEtleSgpID09PSBibG9ja0tleTtcbiAgICAgIH0pLnRha2VXaGlsZShmdW5jdGlvbiAoYmxvY2spIHtcbiAgICAgICAgdmFyIGtleSA9IGJsb2NrLmdldEtleSgpO1xuICAgICAgICB2YXIgaXNCbG9ja1RvQmVNb3ZlZCA9IGtleSA9PT0gYmxvY2tLZXk7XG4gICAgICAgIHZhciBoYXNOZXh0U2libGluZ0FuZElzTm90TmV4dFNpYmxpbmcgPSBuZXh0U2libGluZ0tleSAmJiBrZXkgIT09IG5leHRTaWJsaW5nS2V5O1xuICAgICAgICB2YXIgZG9lc05vdEhhdmVOZXh0U2libGluZ0FuZElzTm90RGVsaW1pdGVyID0gIW5leHRTaWJsaW5nS2V5ICYmIGJsb2NrLmdldFBhcmVudEtleSgpICYmICghbmV4dERlbGltaXRlckJsb2NrS2V5IHx8IGtleSAhPT0gbmV4dERlbGltaXRlckJsb2NrS2V5KTtcblxuICAgICAgICByZXR1cm4gISEoaXNCbG9ja1RvQmVNb3ZlZCB8fCBoYXNOZXh0U2libGluZ0FuZElzTm90TmV4dFNpYmxpbmcgfHwgZG9lc05vdEhhdmVOZXh0U2libGluZ0FuZElzTm90RGVsaW1pdGVyKTtcbiAgICAgIH0pLmZvckVhY2goZnVuY3Rpb24gKGJsb2NrKSB7XG4gICAgICAgIGJsb2Nrc1RvQmVNb3ZlZC5wdXNoKGJsb2NrKTtcbiAgICAgICAgYmxvY2tzWydkZWxldGUnXShibG9jay5nZXRLZXkoKSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHZhciBibG9ja3NCZWZvcmUgPSBibG9ja01hcFdpdGhvdXRCbG9ja3NUb0JlTW92ZWQudG9TZXEoKS50YWtlVW50aWwoZnVuY3Rpb24gKHYpIHtcbiAgICByZXR1cm4gdiA9PT0gdGFyZ2V0QmxvY2s7XG4gIH0pO1xuXG4gIHZhciBibG9ja3NBZnRlciA9IGJsb2NrTWFwV2l0aG91dEJsb2Nrc1RvQmVNb3ZlZC50b1NlcSgpLnNraXBVbnRpbChmdW5jdGlvbiAodikge1xuICAgIHJldHVybiB2ID09PSB0YXJnZXRCbG9jaztcbiAgfSkuc2tpcCgxKTtcblxuICB2YXIgc2xpY2VkQmxvY2tzID0gYmxvY2tzVG9CZU1vdmVkLm1hcChmdW5jdGlvbiAoYmxvY2spIHtcbiAgICByZXR1cm4gW2Jsb2NrLmdldEtleSgpLCBibG9ja107XG4gIH0pO1xuXG4gIHZhciBuZXdCbG9ja3MgPSBPcmRlcmVkTWFwKCk7XG5cbiAgaWYgKGluc2VydGlvbk1vZGUgPT09ICdiZWZvcmUnKSB7XG4gICAgdmFyIGJsb2NrQmVmb3JlID0gY29udGVudFN0YXRlLmdldEJsb2NrQmVmb3JlKHRhcmdldEtleSk7XG5cbiAgICAhKCFibG9ja0JlZm9yZSB8fCBibG9ja0JlZm9yZS5nZXRLZXkoKSAhPT0gYmxvY2tUb0JlTW92ZWQuZ2V0S2V5KCkpID8gcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyA/IGludmFyaWFudChmYWxzZSwgJ0Jsb2NrIGNhbm5vdCBiZSBtb3ZlZCBuZXh0IHRvIGl0c2VsZi4nKSA6IGludmFyaWFudChmYWxzZSkgOiB2b2lkIDA7XG5cbiAgICBuZXdCbG9ja3MgPSBibG9ja3NCZWZvcmUuY29uY2F0KFtdLmNvbmNhdChzbGljZWRCbG9ja3MsIFtbdGFyZ2V0S2V5LCB0YXJnZXRCbG9ja11dKSwgYmxvY2tzQWZ0ZXIpLnRvT3JkZXJlZE1hcCgpO1xuICB9IGVsc2UgaWYgKGluc2VydGlvbk1vZGUgPT09ICdhZnRlcicpIHtcbiAgICB2YXIgYmxvY2tBZnRlciA9IGNvbnRlbnRTdGF0ZS5nZXRCbG9ja0FmdGVyKHRhcmdldEtleSk7XG5cbiAgICAhKCFibG9ja0FmdGVyIHx8IGJsb2NrQWZ0ZXIuZ2V0S2V5KCkgIT09IGJsb2NrS2V5KSA/IHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgPyBpbnZhcmlhbnQoZmFsc2UsICdCbG9jayBjYW5ub3QgYmUgbW92ZWQgbmV4dCB0byBpdHNlbGYuJykgOiBpbnZhcmlhbnQoZmFsc2UpIDogdm9pZCAwO1xuXG4gICAgbmV3QmxvY2tzID0gYmxvY2tzQmVmb3JlLmNvbmNhdChbW3RhcmdldEtleSwgdGFyZ2V0QmxvY2tdXS5jb25jYXQoc2xpY2VkQmxvY2tzKSwgYmxvY2tzQWZ0ZXIpLnRvT3JkZXJlZE1hcCgpO1xuICB9XG5cbiAgcmV0dXJuIGNvbnRlbnRTdGF0ZS5tZXJnZSh7XG4gICAgYmxvY2tNYXA6IHVwZGF0ZUJsb2NrTWFwTGlua3MobmV3QmxvY2tzLCBibG9ja1RvQmVNb3ZlZCwgdGFyZ2V0QmxvY2ssIGluc2VydGlvbk1vZGUsIGlzRXhwZXJpbWVudGFsVHJlZUJsb2NrKSxcbiAgICBzZWxlY3Rpb25CZWZvcmU6IGNvbnRlbnRTdGF0ZS5nZXRTZWxlY3Rpb25BZnRlcigpLFxuICAgIHNlbGVjdGlvbkFmdGVyOiBjb250ZW50U3RhdGUuZ2V0U2VsZWN0aW9uQWZ0ZXIoKS5tZXJnZSh7XG4gICAgICBhbmNob3JLZXk6IGJsb2NrS2V5LFxuICAgICAgZm9jdXNLZXk6IGJsb2NrS2V5XG4gICAgfSlcbiAgfSk7XG59O1xuXG5tb2R1bGUuZXhwb3J0cyA9IG1vdmVCbG9ja0luQ29udGVudFN0YXRlOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/moveBlockInContentState.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nvar ContentBlockNode = __webpack_require__(/*! ./ContentBlockNode */ \"./node_modules/draft-js/lib/ContentBlockNode.js\");\n\nvar getNextDelimiterBlockKey = __webpack_require__(/*! ./getNextDelimiterBlockKey */ \"./node_modules/draft-js/lib/getNextDelimiterBlockKey.js\");\n\nvar Immutable = __webpack_require__(/*! immutable */ \"./node_modules/draft-js/node_modules/immutable/dist/immutable.js\");\n\nvar invariant = __webpack_require__(/*! fbjs/lib/invariant */ \"./node_modules/fbjs/lib/invariant.js\");\n\nvar OrderedMap = Immutable.OrderedMap,\n List = Immutable.List;\n\nvar transformBlock = function transformBlock(key, blockMap, func) {\n if (!key) {\n return;\n }\n\n var block = blockMap.get(key);\n\n if (!block) {\n return;\n }\n\n blockMap.set(key, func(block));\n};\n\nvar updateBlockMapLinks = function updateBlockMapLinks(blockMap, originalBlockToBeMoved, originalTargetBlock, insertionMode, isExperimentalTreeBlock) {\n if (!isExperimentalTreeBlock) {\n return blockMap;\n } // possible values of 'insertionMode' are: 'after', 'before'\n\n\n var isInsertedAfterTarget = insertionMode === 'after';\n var originalBlockKey = originalBlockToBeMoved.getKey();\n var originalTargetKey = originalTargetBlock.getKey();\n var originalParentKey = originalBlockToBeMoved.getParentKey();\n var originalNextSiblingKey = originalBlockToBeMoved.getNextSiblingKey();\n var originalPrevSiblingKey = originalBlockToBeMoved.getPrevSiblingKey();\n var newParentKey = originalTargetBlock.getParentKey();\n var newNextSiblingKey = isInsertedAfterTarget ? originalTargetBlock.getNextSiblingKey() : originalTargetKey;\n var newPrevSiblingKey = isInsertedAfterTarget ? originalTargetKey : originalTargetBlock.getPrevSiblingKey();\n return blockMap.withMutations(function (blocks) {\n // update old parent\n transformBlock(originalParentKey, blocks, function (block) {\n var parentChildrenList = block.getChildKeys();\n return block.merge({\n children: parentChildrenList[\"delete\"](parentChildrenList.indexOf(originalBlockKey))\n });\n }); // update old prev\n\n transformBlock(originalPrevSiblingKey, blocks, function (block) {\n return block.merge({\n nextSibling: originalNextSiblingKey\n });\n }); // update old next\n\n transformBlock(originalNextSiblingKey, blocks, function (block) {\n return block.merge({\n prevSibling: originalPrevSiblingKey\n });\n }); // update new next\n\n transformBlock(newNextSiblingKey, blocks, function (block) {\n return block.merge({\n prevSibling: originalBlockKey\n });\n }); // update new prev\n\n transformBlock(newPrevSiblingKey, blocks, function (block) {\n return block.merge({\n nextSibling: originalBlockKey\n });\n }); // update new parent\n\n transformBlock(newParentKey, blocks, function (block) {\n var newParentChildrenList = block.getChildKeys();\n var targetBlockIndex = newParentChildrenList.indexOf(originalTargetKey);\n var insertionIndex = isInsertedAfterTarget ? targetBlockIndex + 1 : targetBlockIndex !== 0 ? targetBlockIndex - 1 : 0;\n var newChildrenArray = newParentChildrenList.toArray();\n newChildrenArray.splice(insertionIndex, 0, originalBlockKey);\n return block.merge({\n children: List(newChildrenArray)\n });\n }); // update block\n\n transformBlock(originalBlockKey, blocks, function (block) {\n return block.merge({\n nextSibling: newNextSiblingKey,\n prevSibling: newPrevSiblingKey,\n parent: newParentKey\n });\n });\n });\n};\n\nvar moveBlockInContentState = function moveBlockInContentState(contentState, blockToBeMoved, targetBlock, insertionMode) {\n !(insertionMode !== 'replace') ? true ? invariant(false, 'Replacing blocks is not supported.') : undefined : void 0;\n var targetKey = targetBlock.getKey();\n var blockKey = blockToBeMoved.getKey();\n !(blockKey !== targetKey) ? true ? invariant(false, 'Block cannot be moved next to itself.') : undefined : void 0;\n var blockMap = contentState.getBlockMap();\n var isExperimentalTreeBlock = blockToBeMoved instanceof ContentBlockNode;\n var blocksToBeMoved = [blockToBeMoved];\n var blockMapWithoutBlocksToBeMoved = blockMap[\"delete\"](blockKey);\n\n if (isExperimentalTreeBlock) {\n blocksToBeMoved = [];\n blockMapWithoutBlocksToBeMoved = blockMap.withMutations(function (blocks) {\n var nextSiblingKey = blockToBeMoved.getNextSiblingKey();\n var nextDelimiterBlockKey = getNextDelimiterBlockKey(blockToBeMoved, blocks);\n blocks.toSeq().skipUntil(function (block) {\n return block.getKey() === blockKey;\n }).takeWhile(function (block) {\n var key = block.getKey();\n var isBlockToBeMoved = key === blockKey;\n var hasNextSiblingAndIsNotNextSibling = nextSiblingKey && key !== nextSiblingKey;\n var doesNotHaveNextSiblingAndIsNotDelimiter = !nextSiblingKey && block.getParentKey() && (!nextDelimiterBlockKey || key !== nextDelimiterBlockKey);\n return !!(isBlockToBeMoved || hasNextSiblingAndIsNotNextSibling || doesNotHaveNextSiblingAndIsNotDelimiter);\n }).forEach(function (block) {\n blocksToBeMoved.push(block);\n blocks[\"delete\"](block.getKey());\n });\n });\n }\n\n var blocksBefore = blockMapWithoutBlocksToBeMoved.toSeq().takeUntil(function (v) {\n return v === targetBlock;\n });\n var blocksAfter = blockMapWithoutBlocksToBeMoved.toSeq().skipUntil(function (v) {\n return v === targetBlock;\n }).skip(1);\n var slicedBlocks = blocksToBeMoved.map(function (block) {\n return [block.getKey(), block];\n });\n var newBlocks = OrderedMap();\n\n if (insertionMode === 'before') {\n var blockBefore = contentState.getBlockBefore(targetKey);\n !(!blockBefore || blockBefore.getKey() !== blockToBeMoved.getKey()) ? true ? invariant(false, 'Block cannot be moved next to itself.') : undefined : void 0;\n newBlocks = blocksBefore.concat([].concat(slicedBlocks, [[targetKey, targetBlock]]), blocksAfter).toOrderedMap();\n } else if (insertionMode === 'after') {\n var blockAfter = contentState.getBlockAfter(targetKey);\n !(!blockAfter || blockAfter.getKey() !== blockKey) ? true ? invariant(false, 'Block cannot be moved next to itself.') : undefined : void 0;\n newBlocks = blocksBefore.concat([[targetKey, targetBlock]].concat(slicedBlocks), blocksAfter).toOrderedMap();\n }\n\n return contentState.merge({\n blockMap: updateBlockMapLinks(newBlocks, blockToBeMoved, targetBlock, insertionMode, isExperimentalTreeBlock),\n selectionBefore: contentState.getSelectionAfter(),\n selectionAfter: contentState.getSelectionAfter().merge({\n anchorKey: blockKey,\n focusKey: blockKey\n })\n });\n};\n\nmodule.exports = moveBlockInContentState;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL21vdmVCbG9ja0luQ29udGVudFN0YXRlLmpzPzIzNjUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDYTs7QUFFYix1QkFBdUIsbUJBQU8sQ0FBQywyRUFBb0I7O0FBRW5ELCtCQUErQixtQkFBTyxDQUFDLDJGQUE0Qjs7QUFFbkUsZ0JBQWdCLG1CQUFPLENBQUMsbUZBQVc7O0FBRW5DLGdCQUFnQixtQkFBTyxDQUFDLGdFQUFvQjs7QUFFNUM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOzs7QUFHSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1AsS0FBSyxFQUFFOztBQUVQO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUCxLQUFLLEVBQUU7O0FBRVA7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQLEtBQUssRUFBRTs7QUFFUDtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1AsS0FBSyxFQUFFOztBQUVQO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUCxLQUFLLEVBQUU7O0FBRVA7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUCxLQUFLLEVBQUU7O0FBRVA7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUCxLQUFLO0FBQ0wsR0FBRztBQUNIOztBQUVBO0FBQ0EsbUNBQW1DLEtBQXFDLDREQUE0RCxTQUFnQjtBQUNwSjtBQUNBO0FBQ0EsOEJBQThCLEtBQXFDLCtEQUErRCxTQUFnQjtBQUNsSjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1AsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQSwwRUFBMEUsS0FBcUMsK0RBQStELFNBQWdCO0FBQzlMO0FBQ0EsR0FBRztBQUNIO0FBQ0EseURBQXlELEtBQXFDLCtEQUErRCxTQUFnQjtBQUM3SztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTCxHQUFHO0FBQ0g7O0FBRUEiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL21vdmVCbG9ja0luQ29udGVudFN0YXRlLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIEZhY2Vib29rLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKiBAZm9ybWF0XG4gKiBcbiAqIEBlbWFpbHMgb25jYWxsK2RyYWZ0X2pzXG4gKi9cbid1c2Ugc3RyaWN0JztcblxudmFyIENvbnRlbnRCbG9ja05vZGUgPSByZXF1aXJlKFwiLi9Db250ZW50QmxvY2tOb2RlXCIpO1xuXG52YXIgZ2V0TmV4dERlbGltaXRlckJsb2NrS2V5ID0gcmVxdWlyZShcIi4vZ2V0TmV4dERlbGltaXRlckJsb2NrS2V5XCIpO1xuXG52YXIgSW1tdXRhYmxlID0gcmVxdWlyZShcImltbXV0YWJsZVwiKTtcblxudmFyIGludmFyaWFudCA9IHJlcXVpcmUoXCJmYmpzL2xpYi9pbnZhcmlhbnRcIik7XG5cbnZhciBPcmRlcmVkTWFwID0gSW1tdXRhYmxlLk9yZGVyZWRNYXAsXG4gICAgTGlzdCA9IEltbXV0YWJsZS5MaXN0O1xuXG52YXIgdHJhbnNmb3JtQmxvY2sgPSBmdW5jdGlvbiB0cmFuc2Zvcm1CbG9jayhrZXksIGJsb2NrTWFwLCBmdW5jKSB7XG4gIGlmICgha2V5KSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdmFyIGJsb2NrID0gYmxvY2tNYXAuZ2V0KGtleSk7XG5cbiAgaWYgKCFibG9jaykge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGJsb2NrTWFwLnNldChrZXksIGZ1bmMoYmxvY2spKTtcbn07XG5cbnZhciB1cGRhdGVCbG9ja01hcExpbmtzID0gZnVuY3Rpb24gdXBkYXRlQmxvY2tNYXBMaW5rcyhibG9ja01hcCwgb3JpZ2luYWxCbG9ja1RvQmVNb3ZlZCwgb3JpZ2luYWxUYXJnZXRCbG9jaywgaW5zZXJ0aW9uTW9kZSwgaXNFeHBlcmltZW50YWxUcmVlQmxvY2spIHtcbiAgaWYgKCFpc0V4cGVyaW1lbnRhbFRyZWVCbG9jaykge1xuICAgIHJldHVybiBibG9ja01hcDtcbiAgfSAvLyBwb3NzaWJsZSB2YWx1ZXMgb2YgJ2luc2VydGlvbk1vZGUnIGFyZTogJ2FmdGVyJywgJ2JlZm9yZSdcblxuXG4gIHZhciBpc0luc2VydGVkQWZ0ZXJUYXJnZXQgPSBpbnNlcnRpb25Nb2RlID09PSAnYWZ0ZXInO1xuICB2YXIgb3JpZ2luYWxCbG9ja0tleSA9IG9yaWdpbmFsQmxvY2tUb0JlTW92ZWQuZ2V0S2V5KCk7XG4gIHZhciBvcmlnaW5hbFRhcmdldEtleSA9IG9yaWdpbmFsVGFyZ2V0QmxvY2suZ2V0S2V5KCk7XG4gIHZhciBvcmlnaW5hbFBhcmVudEtleSA9IG9yaWdpbmFsQmxvY2tUb0JlTW92ZWQuZ2V0UGFyZW50S2V5KCk7XG4gIHZhciBvcmlnaW5hbE5leHRTaWJsaW5nS2V5ID0gb3JpZ2luYWxCbG9ja1RvQmVNb3ZlZC5nZXROZXh0U2libGluZ0tleSgpO1xuICB2YXIgb3JpZ2luYWxQcmV2U2libGluZ0tleSA9IG9yaWdpbmFsQmxvY2tUb0JlTW92ZWQuZ2V0UHJldlNpYmxpbmdLZXkoKTtcbiAgdmFyIG5ld1BhcmVudEtleSA9IG9yaWdpbmFsVGFyZ2V0QmxvY2suZ2V0UGFyZW50S2V5KCk7XG4gIHZhciBuZXdOZXh0U2libGluZ0tleSA9IGlzSW5zZXJ0ZWRBZnRlclRhcmdldCA/IG9yaWdpbmFsVGFyZ2V0QmxvY2suZ2V0TmV4dFNpYmxpbmdLZXkoKSA6IG9yaWdpbmFsVGFyZ2V0S2V5O1xuICB2YXIgbmV3UHJldlNpYmxpbmdLZXkgPSBpc0luc2VydGVkQWZ0ZXJUYXJnZXQgPyBvcmlnaW5hbFRhcmdldEtleSA6IG9yaWdpbmFsVGFyZ2V0QmxvY2suZ2V0UHJldlNpYmxpbmdLZXkoKTtcbiAgcmV0dXJuIGJsb2NrTWFwLndpdGhNdXRhdGlvbnMoZnVuY3Rpb24gKGJsb2Nrcykge1xuICAgIC8vIHVwZGF0ZSBvbGQgcGFyZW50XG4gICAgdHJhbnNmb3JtQmxvY2sob3JpZ2luYWxQYXJlbnRLZXksIGJsb2NrcywgZnVuY3Rpb24gKGJsb2NrKSB7XG4gICAgICB2YXIgcGFyZW50Q2hpbGRyZW5MaXN0ID0gYmxvY2suZ2V0Q2hpbGRLZXlzKCk7XG4gICAgICByZXR1cm4gYmxvY2subWVyZ2Uoe1xuICAgICAgICBjaGlsZHJlbjogcGFyZW50Q2hpbGRyZW5MaXN0W1wiZGVsZXRlXCJdKHBhcmVudENoaWxkcmVuTGlzdC5pbmRleE9mKG9yaWdpbmFsQmxvY2tLZXkpKVxuICAgICAgfSk7XG4gICAgfSk7IC8vIHVwZGF0ZSBvbGQgcHJldlxuXG4gICAgdHJhbnNmb3JtQmxvY2sob3JpZ2luYWxQcmV2U2libGluZ0tleSwgYmxvY2tzLCBmdW5jdGlvbiAoYmxvY2spIHtcbiAgICAgIHJldHVybiBibG9jay5tZXJnZSh7XG4gICAgICAgIG5leHRTaWJsaW5nOiBvcmlnaW5hbE5leHRTaWJsaW5nS2V5XG4gICAgICB9KTtcbiAgICB9KTsgLy8gdXBkYXRlIG9sZCBuZXh0XG5cbiAgICB0cmFuc2Zvcm1CbG9jayhvcmlnaW5hbE5leHRTaWJsaW5nS2V5LCBibG9ja3MsIGZ1bmN0aW9uIChibG9jaykge1xuICAgICAgcmV0dXJuIGJsb2NrLm1lcmdlKHtcbiAgICAgICAgcHJldlNpYmxpbmc6IG9yaWdpbmFsUHJldlNpYmxpbmdLZXlcbiAgICAgIH0pO1xuICAgIH0pOyAvLyB1cGRhdGUgbmV3IG5leHRcblxuICAgIHRyYW5zZm9ybUJsb2NrKG5ld05leHRTaWJsaW5nS2V5LCBibG9ja3MsIGZ1bmN0aW9uIChibG9jaykge1xuICAgICAgcmV0dXJuIGJsb2NrLm1lcmdlKHtcbiAgICAgICAgcHJldlNpYmxpbmc6IG9yaWdpbmFsQmxvY2tLZXlcbiAgICAgIH0pO1xuICAgIH0pOyAvLyB1cGRhdGUgbmV3IHByZXZcblxuICAgIHRyYW5zZm9ybUJsb2NrKG5ld1ByZXZTaWJsaW5nS2V5LCBibG9ja3MsIGZ1bmN0aW9uIChibG9jaykge1xuICAgICAgcmV0dXJuIGJsb2NrLm1lcmdlKHtcbiAgICAgICAgbmV4dFNpYmxpbmc6IG9yaWdpbmFsQmxvY2tLZXlcbiAgICAgIH0pO1xuICAgIH0pOyAvLyB1cGRhdGUgbmV3IHBhcmVudFxuXG4gICAgdHJhbnNmb3JtQmxvY2sobmV3UGFyZW50S2V5LCBibG9ja3MsIGZ1bmN0aW9uIChibG9jaykge1xuICAgICAgdmFyIG5ld1BhcmVudENoaWxkcmVuTGlzdCA9IGJsb2NrLmdldENoaWxkS2V5cygpO1xuICAgICAgdmFyIHRhcmdldEJsb2NrSW5kZXggPSBuZXdQYXJlbnRDaGlsZHJlbkxpc3QuaW5kZXhPZihvcmlnaW5hbFRhcmdldEtleSk7XG4gICAgICB2YXIgaW5zZXJ0aW9uSW5kZXggPSBpc0luc2VydGVkQWZ0ZXJUYXJnZXQgPyB0YXJnZXRCbG9ja0luZGV4ICsgMSA6IHRhcmdldEJsb2NrSW5kZXggIT09IDAgPyB0YXJnZXRCbG9ja0luZGV4IC0gMSA6IDA7XG4gICAgICB2YXIgbmV3Q2hpbGRyZW5BcnJheSA9IG5ld1BhcmVudENoaWxkcmVuTGlzdC50b0FycmF5KCk7XG4gICAgICBuZXdDaGlsZHJlbkFycmF5LnNwbGljZShpbnNlcnRpb25JbmRleCwgMCwgb3JpZ2luYWxCbG9ja0tleSk7XG4gICAgICByZXR1cm4gYmxvY2subWVyZ2Uoe1xuICAgICAgICBjaGlsZHJlbjogTGlzdChuZXdDaGlsZHJlbkFycmF5KVxuICAgICAgfSk7XG4gICAgfSk7IC8vIHVwZGF0ZSBibG9ja1xuXG4gICAgdHJhbnNmb3JtQmxvY2sob3JpZ2luYWxCbG9ja0tleSwgYmxvY2tzLCBmdW5jdGlvbiAoYmxvY2spIHtcbiAgICAgIHJldHVybiBibG9jay5tZXJnZSh7XG4gICAgICAgIG5leHRTaWJsaW5nOiBuZXdOZXh0U2libGluZ0tleSxcbiAgICAgICAgcHJldlNpYmxpbmc6IG5ld1ByZXZTaWJsaW5nS2V5LFxuICAgICAgICBwYXJlbnQ6IG5ld1BhcmVudEtleVxuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xufTtcblxudmFyIG1vdmVCbG9ja0luQ29udGVudFN0YXRlID0gZnVuY3Rpb24gbW92ZUJsb2NrSW5Db250ZW50U3RhdGUoY29udGVudFN0YXRlLCBibG9ja1RvQmVNb3ZlZCwgdGFyZ2V0QmxvY2ssIGluc2VydGlvbk1vZGUpIHtcbiAgIShpbnNlcnRpb25Nb2RlICE9PSAncmVwbGFjZScpID8gcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiID8gaW52YXJpYW50KGZhbHNlLCAnUmVwbGFjaW5nIGJsb2NrcyBpcyBub3Qgc3VwcG9ydGVkLicpIDogaW52YXJpYW50KGZhbHNlKSA6IHZvaWQgMDtcbiAgdmFyIHRhcmdldEtleSA9IHRhcmdldEJsb2NrLmdldEtleSgpO1xuICB2YXIgYmxvY2tLZXkgPSBibG9ja1RvQmVNb3ZlZC5nZXRLZXkoKTtcbiAgIShibG9ja0tleSAhPT0gdGFyZ2V0S2V5KSA/IHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIiA/IGludmFyaWFudChmYWxzZSwgJ0Jsb2NrIGNhbm5vdCBiZSBtb3ZlZCBuZXh0IHRvIGl0c2VsZi4nKSA6IGludmFyaWFudChmYWxzZSkgOiB2b2lkIDA7XG4gIHZhciBibG9ja01hcCA9IGNvbnRlbnRTdGF0ZS5nZXRCbG9ja01hcCgpO1xuICB2YXIgaXNFeHBlcmltZW50YWxUcmVlQmxvY2sgPSBibG9ja1RvQmVNb3ZlZCBpbnN0YW5jZW9mIENvbnRlbnRCbG9ja05vZGU7XG4gIHZhciBibG9ja3NUb0JlTW92ZWQgPSBbYmxvY2tUb0JlTW92ZWRdO1xuICB2YXIgYmxvY2tNYXBXaXRob3V0QmxvY2tzVG9CZU1vdmVkID0gYmxvY2tNYXBbXCJkZWxldGVcIl0oYmxvY2tLZXkpO1xuXG4gIGlmIChpc0V4cGVyaW1lbnRhbFRyZWVCbG9jaykge1xuICAgIGJsb2Nrc1RvQmVNb3ZlZCA9IFtdO1xuICAgIGJsb2NrTWFwV2l0aG91dEJsb2Nrc1RvQmVNb3ZlZCA9IGJsb2NrTWFwLndpdGhNdXRhdGlvbnMoZnVuY3Rpb24gKGJsb2Nrcykge1xuICAgICAgdmFyIG5leHRTaWJsaW5nS2V5ID0gYmxvY2tUb0JlTW92ZWQuZ2V0TmV4dFNpYmxpbmdLZXkoKTtcbiAgICAgIHZhciBuZXh0RGVsaW1pdGVyQmxvY2tLZXkgPSBnZXROZXh0RGVsaW1pdGVyQmxvY2tLZXkoYmxvY2tUb0JlTW92ZWQsIGJsb2Nrcyk7XG4gICAgICBibG9ja3MudG9TZXEoKS5za2lwVW50aWwoZnVuY3Rpb24gKGJsb2NrKSB7XG4gICAgICAgIHJldHVybiBibG9jay5nZXRLZXkoKSA9PT0gYmxvY2tLZXk7XG4gICAgICB9KS50YWtlV2hpbGUoZnVuY3Rpb24gKGJsb2NrKSB7XG4gICAgICAgIHZhciBrZXkgPSBibG9jay5nZXRLZXkoKTtcbiAgICAgICAgdmFyIGlzQmxvY2tUb0JlTW92ZWQgPSBrZXkgPT09IGJsb2NrS2V5O1xuICAgICAgICB2YXIgaGFzTmV4dFNpYmxpbmdBbmRJc05vdE5leHRTaWJsaW5nID0gbmV4dFNpYmxpbmdLZXkgJiYga2V5ICE9PSBuZXh0U2libGluZ0tleTtcbiAgICAgICAgdmFyIGRvZXNOb3RIYXZlTmV4dFNpYmxpbmdBbmRJc05vdERlbGltaXRlciA9ICFuZXh0U2libGluZ0tleSAmJiBibG9jay5nZXRQYXJlbnRLZXkoKSAmJiAoIW5leHREZWxpbWl0ZXJCbG9ja0tleSB8fCBrZXkgIT09IG5leHREZWxpbWl0ZXJCbG9ja0tleSk7XG4gICAgICAgIHJldHVybiAhIShpc0Jsb2NrVG9CZU1vdmVkIHx8IGhhc05leHRTaWJsaW5nQW5kSXNOb3ROZXh0U2libGluZyB8fCBkb2VzTm90SGF2ZU5leHRTaWJsaW5nQW5kSXNOb3REZWxpbWl0ZXIpO1xuICAgICAgfSkuZm9yRWFjaChmdW5jdGlvbiAoYmxvY2spIHtcbiAgICAgICAgYmxvY2tzVG9CZU1vdmVkLnB1c2goYmxvY2spO1xuICAgICAgICBibG9ja3NbXCJkZWxldGVcIl0oYmxvY2suZ2V0S2V5KCkpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICB2YXIgYmxvY2tzQmVmb3JlID0gYmxvY2tNYXBXaXRob3V0QmxvY2tzVG9CZU1vdmVkLnRvU2VxKCkudGFrZVVudGlsKGZ1bmN0aW9uICh2KSB7XG4gICAgcmV0dXJuIHYgPT09IHRhcmdldEJsb2NrO1xuICB9KTtcbiAgdmFyIGJsb2Nrc0FmdGVyID0gYmxvY2tNYXBXaXRob3V0QmxvY2tzVG9CZU1vdmVkLnRvU2VxKCkuc2tpcFVudGlsKGZ1bmN0aW9uICh2KSB7XG4gICAgcmV0dXJuIHYgPT09IHRhcmdldEJsb2NrO1xuICB9KS5za2lwKDEpO1xuICB2YXIgc2xpY2VkQmxvY2tzID0gYmxvY2tzVG9CZU1vdmVkLm1hcChmdW5jdGlvbiAoYmxvY2spIHtcbiAgICByZXR1cm4gW2Jsb2NrLmdldEtleSgpLCBibG9ja107XG4gIH0pO1xuICB2YXIgbmV3QmxvY2tzID0gT3JkZXJlZE1hcCgpO1xuXG4gIGlmIChpbnNlcnRpb25Nb2RlID09PSAnYmVmb3JlJykge1xuICAgIHZhciBibG9ja0JlZm9yZSA9IGNvbnRlbnRTdGF0ZS5nZXRCbG9ja0JlZm9yZSh0YXJnZXRLZXkpO1xuICAgICEoIWJsb2NrQmVmb3JlIHx8IGJsb2NrQmVmb3JlLmdldEtleSgpICE9PSBibG9ja1RvQmVNb3ZlZC5nZXRLZXkoKSkgPyBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIgPyBpbnZhcmlhbnQoZmFsc2UsICdCbG9jayBjYW5ub3QgYmUgbW92ZWQgbmV4dCB0byBpdHNlbGYuJykgOiBpbnZhcmlhbnQoZmFsc2UpIDogdm9pZCAwO1xuICAgIG5ld0Jsb2NrcyA9IGJsb2Nrc0JlZm9yZS5jb25jYXQoW10uY29uY2F0KHNsaWNlZEJsb2NrcywgW1t0YXJnZXRLZXksIHRhcmdldEJsb2NrXV0pLCBibG9ja3NBZnRlcikudG9PcmRlcmVkTWFwKCk7XG4gIH0gZWxzZSBpZiAoaW5zZXJ0aW9uTW9kZSA9PT0gJ2FmdGVyJykge1xuICAgIHZhciBibG9ja0FmdGVyID0gY29udGVudFN0YXRlLmdldEJsb2NrQWZ0ZXIodGFyZ2V0S2V5KTtcbiAgICAhKCFibG9ja0FmdGVyIHx8IGJsb2NrQWZ0ZXIuZ2V0S2V5KCkgIT09IGJsb2NrS2V5KSA/IHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIiA/IGludmFyaWFudChmYWxzZSwgJ0Jsb2NrIGNhbm5vdCBiZSBtb3ZlZCBuZXh0IHRvIGl0c2VsZi4nKSA6IGludmFyaWFudChmYWxzZSkgOiB2b2lkIDA7XG4gICAgbmV3QmxvY2tzID0gYmxvY2tzQmVmb3JlLmNvbmNhdChbW3RhcmdldEtleSwgdGFyZ2V0QmxvY2tdXS5jb25jYXQoc2xpY2VkQmxvY2tzKSwgYmxvY2tzQWZ0ZXIpLnRvT3JkZXJlZE1hcCgpO1xuICB9XG5cbiAgcmV0dXJuIGNvbnRlbnRTdGF0ZS5tZXJnZSh7XG4gICAgYmxvY2tNYXA6IHVwZGF0ZUJsb2NrTWFwTGlua3MobmV3QmxvY2tzLCBibG9ja1RvQmVNb3ZlZCwgdGFyZ2V0QmxvY2ssIGluc2VydGlvbk1vZGUsIGlzRXhwZXJpbWVudGFsVHJlZUJsb2NrKSxcbiAgICBzZWxlY3Rpb25CZWZvcmU6IGNvbnRlbnRTdGF0ZS5nZXRTZWxlY3Rpb25BZnRlcigpLFxuICAgIHNlbGVjdGlvbkFmdGVyOiBjb250ZW50U3RhdGUuZ2V0U2VsZWN0aW9uQWZ0ZXIoKS5tZXJnZSh7XG4gICAgICBhbmNob3JLZXk6IGJsb2NrS2V5LFxuICAgICAgZm9jdXNLZXk6IGJsb2NrS2V5XG4gICAgfSlcbiAgfSk7XG59O1xuXG5tb2R1bGUuZXhwb3J0cyA9IG1vdmVCbG9ja0luQ29udGVudFN0YXRlOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/moveBlockInContentState.js\n"); /***/ }), @@ -1219,7 +1446,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule moveSelectionBackward\n * @format\n * \n */\n\n\n\n/**\n * Given a collapsed selection, move the focus `maxDistance` backward within\n * the selected block. If the selection will go beyond the start of the block,\n * move focus to the end of the previous block, but no further.\n *\n * This function is not Unicode-aware, so surrogate pairs will be treated\n * as having length 2.\n */\nfunction moveSelectionBackward(editorState, maxDistance) {\n var selection = editorState.getSelection();\n var content = editorState.getCurrentContent();\n var key = selection.getStartKey();\n var offset = selection.getStartOffset();\n\n var focusKey = key;\n var focusOffset = 0;\n\n if (maxDistance > offset) {\n var keyBefore = content.getKeyBefore(key);\n if (keyBefore == null) {\n focusKey = key;\n } else {\n focusKey = keyBefore;\n var blockBefore = content.getBlockForKey(keyBefore);\n focusOffset = blockBefore.getText().length;\n }\n } else {\n focusOffset = offset - maxDistance;\n }\n\n return selection.merge({\n focusKey: focusKey,\n focusOffset: focusOffset,\n isBackward: true\n });\n}\n\nmodule.exports = moveSelectionBackward;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL21vdmVTZWxlY3Rpb25CYWNrd2FyZC5qcz85MTY4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFYTs7QUFFYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUEiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL21vdmVTZWxlY3Rpb25CYWNrd2FyZC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXG4gKiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEJTRC1zdHlsZSBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLiBBbiBhZGRpdGlvbmFsIGdyYW50XG4gKiBvZiBwYXRlbnQgcmlnaHRzIGNhbiBiZSBmb3VuZCBpbiB0aGUgUEFURU5UUyBmaWxlIGluIHRoZSBzYW1lIGRpcmVjdG9yeS5cbiAqXG4gKiBAcHJvdmlkZXNNb2R1bGUgbW92ZVNlbGVjdGlvbkJhY2t3YXJkXG4gKiBAZm9ybWF0XG4gKiBcbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbi8qKlxuICogR2l2ZW4gYSBjb2xsYXBzZWQgc2VsZWN0aW9uLCBtb3ZlIHRoZSBmb2N1cyBgbWF4RGlzdGFuY2VgIGJhY2t3YXJkIHdpdGhpblxuICogdGhlIHNlbGVjdGVkIGJsb2NrLiBJZiB0aGUgc2VsZWN0aW9uIHdpbGwgZ28gYmV5b25kIHRoZSBzdGFydCBvZiB0aGUgYmxvY2ssXG4gKiBtb3ZlIGZvY3VzIHRvIHRoZSBlbmQgb2YgdGhlIHByZXZpb3VzIGJsb2NrLCBidXQgbm8gZnVydGhlci5cbiAqXG4gKiBUaGlzIGZ1bmN0aW9uIGlzIG5vdCBVbmljb2RlLWF3YXJlLCBzbyBzdXJyb2dhdGUgcGFpcnMgd2lsbCBiZSB0cmVhdGVkXG4gKiBhcyBoYXZpbmcgbGVuZ3RoIDIuXG4gKi9cbmZ1bmN0aW9uIG1vdmVTZWxlY3Rpb25CYWNrd2FyZChlZGl0b3JTdGF0ZSwgbWF4RGlzdGFuY2UpIHtcbiAgdmFyIHNlbGVjdGlvbiA9IGVkaXRvclN0YXRlLmdldFNlbGVjdGlvbigpO1xuICB2YXIgY29udGVudCA9IGVkaXRvclN0YXRlLmdldEN1cnJlbnRDb250ZW50KCk7XG4gIHZhciBrZXkgPSBzZWxlY3Rpb24uZ2V0U3RhcnRLZXkoKTtcbiAgdmFyIG9mZnNldCA9IHNlbGVjdGlvbi5nZXRTdGFydE9mZnNldCgpO1xuXG4gIHZhciBmb2N1c0tleSA9IGtleTtcbiAgdmFyIGZvY3VzT2Zmc2V0ID0gMDtcblxuICBpZiAobWF4RGlzdGFuY2UgPiBvZmZzZXQpIHtcbiAgICB2YXIga2V5QmVmb3JlID0gY29udGVudC5nZXRLZXlCZWZvcmUoa2V5KTtcbiAgICBpZiAoa2V5QmVmb3JlID09IG51bGwpIHtcbiAgICAgIGZvY3VzS2V5ID0ga2V5O1xuICAgIH0gZWxzZSB7XG4gICAgICBmb2N1c0tleSA9IGtleUJlZm9yZTtcbiAgICAgIHZhciBibG9ja0JlZm9yZSA9IGNvbnRlbnQuZ2V0QmxvY2tGb3JLZXkoa2V5QmVmb3JlKTtcbiAgICAgIGZvY3VzT2Zmc2V0ID0gYmxvY2tCZWZvcmUuZ2V0VGV4dCgpLmxlbmd0aDtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgZm9jdXNPZmZzZXQgPSBvZmZzZXQgLSBtYXhEaXN0YW5jZTtcbiAgfVxuXG4gIHJldHVybiBzZWxlY3Rpb24ubWVyZ2Uoe1xuICAgIGZvY3VzS2V5OiBmb2N1c0tleSxcbiAgICBmb2N1c09mZnNldDogZm9jdXNPZmZzZXQsXG4gICAgaXNCYWNrd2FyZDogdHJ1ZVxuICB9KTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBtb3ZlU2VsZWN0aW9uQmFja3dhcmQ7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/moveSelectionBackward.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nvar warning = __webpack_require__(/*! fbjs/lib/warning */ \"./node_modules/fbjs/lib/warning.js\");\n/**\n * Given a collapsed selection, move the focus `maxDistance` backward within\n * the selected block. If the selection will go beyond the start of the block,\n * move focus to the end of the previous block, but no further.\n *\n * This function is not Unicode-aware, so surrogate pairs will be treated\n * as having length 2.\n */\n\n\nfunction moveSelectionBackward(editorState, maxDistance) {\n var selection = editorState.getSelection(); // Should eventually make this an invariant\n\n true ? warning(selection.isCollapsed(), 'moveSelectionBackward should only be called with a collapsed SelectionState') : undefined;\n var content = editorState.getCurrentContent();\n var key = selection.getStartKey();\n var offset = selection.getStartOffset();\n var focusKey = key;\n var focusOffset = 0;\n\n if (maxDistance > offset) {\n var keyBefore = content.getKeyBefore(key);\n\n if (keyBefore == null) {\n focusKey = key;\n } else {\n focusKey = keyBefore;\n var blockBefore = content.getBlockForKey(keyBefore);\n focusOffset = blockBefore.getText().length;\n }\n } else {\n focusOffset = offset - maxDistance;\n }\n\n return selection.merge({\n focusKey: focusKey,\n focusOffset: focusOffset,\n isBackward: true\n });\n}\n\nmodule.exports = moveSelectionBackward;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL21vdmVTZWxlY3Rpb25CYWNrd2FyZC5qcz85MTY4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ2E7O0FBRWIsY0FBYyxtQkFBTyxDQUFDLDREQUFrQjtBQUN4QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBLDZDQUE2Qzs7QUFFN0MsRUFBRSxLQUFxQyxxSEFBcUgsU0FBTTtBQUNsSztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUVBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2RyYWZ0LWpzL2xpYi9tb3ZlU2VsZWN0aW9uQmFja3dhcmQuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgRmFjZWJvb2ssIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIEBmb3JtYXRcbiAqIFxuICogQGVtYWlscyBvbmNhbGwrZHJhZnRfanNcbiAqL1xuJ3VzZSBzdHJpY3QnO1xuXG52YXIgd2FybmluZyA9IHJlcXVpcmUoXCJmYmpzL2xpYi93YXJuaW5nXCIpO1xuLyoqXG4gKiBHaXZlbiBhIGNvbGxhcHNlZCBzZWxlY3Rpb24sIG1vdmUgdGhlIGZvY3VzIGBtYXhEaXN0YW5jZWAgYmFja3dhcmQgd2l0aGluXG4gKiB0aGUgc2VsZWN0ZWQgYmxvY2suIElmIHRoZSBzZWxlY3Rpb24gd2lsbCBnbyBiZXlvbmQgdGhlIHN0YXJ0IG9mIHRoZSBibG9jayxcbiAqIG1vdmUgZm9jdXMgdG8gdGhlIGVuZCBvZiB0aGUgcHJldmlvdXMgYmxvY2ssIGJ1dCBubyBmdXJ0aGVyLlxuICpcbiAqIFRoaXMgZnVuY3Rpb24gaXMgbm90IFVuaWNvZGUtYXdhcmUsIHNvIHN1cnJvZ2F0ZSBwYWlycyB3aWxsIGJlIHRyZWF0ZWRcbiAqIGFzIGhhdmluZyBsZW5ndGggMi5cbiAqL1xuXG5cbmZ1bmN0aW9uIG1vdmVTZWxlY3Rpb25CYWNrd2FyZChlZGl0b3JTdGF0ZSwgbWF4RGlzdGFuY2UpIHtcbiAgdmFyIHNlbGVjdGlvbiA9IGVkaXRvclN0YXRlLmdldFNlbGVjdGlvbigpOyAvLyBTaG91bGQgZXZlbnR1YWxseSBtYWtlIHRoaXMgYW4gaW52YXJpYW50XG5cbiAgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiID8gd2FybmluZyhzZWxlY3Rpb24uaXNDb2xsYXBzZWQoKSwgJ21vdmVTZWxlY3Rpb25CYWNrd2FyZCBzaG91bGQgb25seSBiZSBjYWxsZWQgd2l0aCBhIGNvbGxhcHNlZCBTZWxlY3Rpb25TdGF0ZScpIDogdm9pZCAwO1xuICB2YXIgY29udGVudCA9IGVkaXRvclN0YXRlLmdldEN1cnJlbnRDb250ZW50KCk7XG4gIHZhciBrZXkgPSBzZWxlY3Rpb24uZ2V0U3RhcnRLZXkoKTtcbiAgdmFyIG9mZnNldCA9IHNlbGVjdGlvbi5nZXRTdGFydE9mZnNldCgpO1xuICB2YXIgZm9jdXNLZXkgPSBrZXk7XG4gIHZhciBmb2N1c09mZnNldCA9IDA7XG5cbiAgaWYgKG1heERpc3RhbmNlID4gb2Zmc2V0KSB7XG4gICAgdmFyIGtleUJlZm9yZSA9IGNvbnRlbnQuZ2V0S2V5QmVmb3JlKGtleSk7XG5cbiAgICBpZiAoa2V5QmVmb3JlID09IG51bGwpIHtcbiAgICAgIGZvY3VzS2V5ID0ga2V5O1xuICAgIH0gZWxzZSB7XG4gICAgICBmb2N1c0tleSA9IGtleUJlZm9yZTtcbiAgICAgIHZhciBibG9ja0JlZm9yZSA9IGNvbnRlbnQuZ2V0QmxvY2tGb3JLZXkoa2V5QmVmb3JlKTtcbiAgICAgIGZvY3VzT2Zmc2V0ID0gYmxvY2tCZWZvcmUuZ2V0VGV4dCgpLmxlbmd0aDtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgZm9jdXNPZmZzZXQgPSBvZmZzZXQgLSBtYXhEaXN0YW5jZTtcbiAgfVxuXG4gIHJldHVybiBzZWxlY3Rpb24ubWVyZ2Uoe1xuICAgIGZvY3VzS2V5OiBmb2N1c0tleSxcbiAgICBmb2N1c09mZnNldDogZm9jdXNPZmZzZXQsXG4gICAgaXNCYWNrd2FyZDogdHJ1ZVxuICB9KTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBtb3ZlU2VsZWN0aW9uQmFja3dhcmQ7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/moveSelectionBackward.js\n"); /***/ }), @@ -1231,7 +1458,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule moveSelectionForward\n * @format\n * \n */\n\n\n\n/**\n * Given a collapsed selection, move the focus `maxDistance` forward within\n * the selected block. If the selection will go beyond the end of the block,\n * move focus to the start of the next block, but no further.\n *\n * This function is not Unicode-aware, so surrogate pairs will be treated\n * as having length 2.\n */\nfunction moveSelectionForward(editorState, maxDistance) {\n var selection = editorState.getSelection();\n var key = selection.getStartKey();\n var offset = selection.getStartOffset();\n var content = editorState.getCurrentContent();\n\n var focusKey = key;\n var focusOffset;\n\n var block = content.getBlockForKey(key);\n\n if (maxDistance > block.getText().length - offset) {\n focusKey = content.getKeyAfter(key);\n focusOffset = 0;\n } else {\n focusOffset = offset + maxDistance;\n }\n\n return selection.merge({ focusKey: focusKey, focusOffset: focusOffset });\n}\n\nmodule.exports = moveSelectionForward;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL21vdmVTZWxlY3Rpb25Gb3J3YXJkLmpzPzBjNDUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVhOztBQUViO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUEsMEJBQTBCLCtDQUErQztBQUN6RTs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvbW92ZVNlbGVjdGlvbkZvcndhcmQuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxMy1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuICogQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBCU0Qtc3R5bGUgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS4gQW4gYWRkaXRpb25hbCBncmFudFxuICogb2YgcGF0ZW50IHJpZ2h0cyBjYW4gYmUgZm91bmQgaW4gdGhlIFBBVEVOVFMgZmlsZSBpbiB0aGUgc2FtZSBkaXJlY3RvcnkuXG4gKlxuICogQHByb3ZpZGVzTW9kdWxlIG1vdmVTZWxlY3Rpb25Gb3J3YXJkXG4gKiBAZm9ybWF0XG4gKiBcbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbi8qKlxuICogR2l2ZW4gYSBjb2xsYXBzZWQgc2VsZWN0aW9uLCBtb3ZlIHRoZSBmb2N1cyBgbWF4RGlzdGFuY2VgIGZvcndhcmQgd2l0aGluXG4gKiB0aGUgc2VsZWN0ZWQgYmxvY2suIElmIHRoZSBzZWxlY3Rpb24gd2lsbCBnbyBiZXlvbmQgdGhlIGVuZCBvZiB0aGUgYmxvY2ssXG4gKiBtb3ZlIGZvY3VzIHRvIHRoZSBzdGFydCBvZiB0aGUgbmV4dCBibG9jaywgYnV0IG5vIGZ1cnRoZXIuXG4gKlxuICogVGhpcyBmdW5jdGlvbiBpcyBub3QgVW5pY29kZS1hd2FyZSwgc28gc3Vycm9nYXRlIHBhaXJzIHdpbGwgYmUgdHJlYXRlZFxuICogYXMgaGF2aW5nIGxlbmd0aCAyLlxuICovXG5mdW5jdGlvbiBtb3ZlU2VsZWN0aW9uRm9yd2FyZChlZGl0b3JTdGF0ZSwgbWF4RGlzdGFuY2UpIHtcbiAgdmFyIHNlbGVjdGlvbiA9IGVkaXRvclN0YXRlLmdldFNlbGVjdGlvbigpO1xuICB2YXIga2V5ID0gc2VsZWN0aW9uLmdldFN0YXJ0S2V5KCk7XG4gIHZhciBvZmZzZXQgPSBzZWxlY3Rpb24uZ2V0U3RhcnRPZmZzZXQoKTtcbiAgdmFyIGNvbnRlbnQgPSBlZGl0b3JTdGF0ZS5nZXRDdXJyZW50Q29udGVudCgpO1xuXG4gIHZhciBmb2N1c0tleSA9IGtleTtcbiAgdmFyIGZvY3VzT2Zmc2V0O1xuXG4gIHZhciBibG9jayA9IGNvbnRlbnQuZ2V0QmxvY2tGb3JLZXkoa2V5KTtcblxuICBpZiAobWF4RGlzdGFuY2UgPiBibG9jay5nZXRUZXh0KCkubGVuZ3RoIC0gb2Zmc2V0KSB7XG4gICAgZm9jdXNLZXkgPSBjb250ZW50LmdldEtleUFmdGVyKGtleSk7XG4gICAgZm9jdXNPZmZzZXQgPSAwO1xuICB9IGVsc2Uge1xuICAgIGZvY3VzT2Zmc2V0ID0gb2Zmc2V0ICsgbWF4RGlzdGFuY2U7XG4gIH1cblxuICByZXR1cm4gc2VsZWN0aW9uLm1lcmdlKHsgZm9jdXNLZXk6IGZvY3VzS2V5LCBmb2N1c09mZnNldDogZm9jdXNPZmZzZXQgfSk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gbW92ZVNlbGVjdGlvbkZvcndhcmQ7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/moveSelectionForward.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nvar warning = __webpack_require__(/*! fbjs/lib/warning */ \"./node_modules/fbjs/lib/warning.js\");\n/**\n * Given a collapsed selection, move the focus `maxDistance` forward within\n * the selected block. If the selection will go beyond the end of the block,\n * move focus to the start of the next block, but no further.\n *\n * This function is not Unicode-aware, so surrogate pairs will be treated\n * as having length 2.\n */\n\n\nfunction moveSelectionForward(editorState, maxDistance) {\n var selection = editorState.getSelection(); // Should eventually make this an invariant\n\n true ? warning(selection.isCollapsed(), 'moveSelectionForward should only be called with a collapsed SelectionState') : undefined;\n var key = selection.getStartKey();\n var offset = selection.getStartOffset();\n var content = editorState.getCurrentContent();\n var focusKey = key;\n var focusOffset;\n var block = content.getBlockForKey(key);\n\n if (maxDistance > block.getText().length - offset) {\n focusKey = content.getKeyAfter(key);\n focusOffset = 0;\n } else {\n focusOffset = offset + maxDistance;\n }\n\n return selection.merge({\n focusKey: focusKey,\n focusOffset: focusOffset\n });\n}\n\nmodule.exports = moveSelectionForward;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL21vdmVTZWxlY3Rpb25Gb3J3YXJkLmpzPzBjNDUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDYTs7QUFFYixjQUFjLG1CQUFPLENBQUMsNERBQWtCO0FBQ3hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0EsNkNBQTZDOztBQUU3QyxFQUFFLEtBQXFDLG9IQUFvSCxTQUFNO0FBQ2pLO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUEiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL21vdmVTZWxlY3Rpb25Gb3J3YXJkLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIEZhY2Vib29rLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKiBAZm9ybWF0XG4gKiBcbiAqIEBlbWFpbHMgb25jYWxsK2RyYWZ0X2pzXG4gKi9cbid1c2Ugc3RyaWN0JztcblxudmFyIHdhcm5pbmcgPSByZXF1aXJlKFwiZmJqcy9saWIvd2FybmluZ1wiKTtcbi8qKlxuICogR2l2ZW4gYSBjb2xsYXBzZWQgc2VsZWN0aW9uLCBtb3ZlIHRoZSBmb2N1cyBgbWF4RGlzdGFuY2VgIGZvcndhcmQgd2l0aGluXG4gKiB0aGUgc2VsZWN0ZWQgYmxvY2suIElmIHRoZSBzZWxlY3Rpb24gd2lsbCBnbyBiZXlvbmQgdGhlIGVuZCBvZiB0aGUgYmxvY2ssXG4gKiBtb3ZlIGZvY3VzIHRvIHRoZSBzdGFydCBvZiB0aGUgbmV4dCBibG9jaywgYnV0IG5vIGZ1cnRoZXIuXG4gKlxuICogVGhpcyBmdW5jdGlvbiBpcyBub3QgVW5pY29kZS1hd2FyZSwgc28gc3Vycm9nYXRlIHBhaXJzIHdpbGwgYmUgdHJlYXRlZFxuICogYXMgaGF2aW5nIGxlbmd0aCAyLlxuICovXG5cblxuZnVuY3Rpb24gbW92ZVNlbGVjdGlvbkZvcndhcmQoZWRpdG9yU3RhdGUsIG1heERpc3RhbmNlKSB7XG4gIHZhciBzZWxlY3Rpb24gPSBlZGl0b3JTdGF0ZS5nZXRTZWxlY3Rpb24oKTsgLy8gU2hvdWxkIGV2ZW50dWFsbHkgbWFrZSB0aGlzIGFuIGludmFyaWFudFxuXG4gIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIiA/IHdhcm5pbmcoc2VsZWN0aW9uLmlzQ29sbGFwc2VkKCksICdtb3ZlU2VsZWN0aW9uRm9yd2FyZCBzaG91bGQgb25seSBiZSBjYWxsZWQgd2l0aCBhIGNvbGxhcHNlZCBTZWxlY3Rpb25TdGF0ZScpIDogdm9pZCAwO1xuICB2YXIga2V5ID0gc2VsZWN0aW9uLmdldFN0YXJ0S2V5KCk7XG4gIHZhciBvZmZzZXQgPSBzZWxlY3Rpb24uZ2V0U3RhcnRPZmZzZXQoKTtcbiAgdmFyIGNvbnRlbnQgPSBlZGl0b3JTdGF0ZS5nZXRDdXJyZW50Q29udGVudCgpO1xuICB2YXIgZm9jdXNLZXkgPSBrZXk7XG4gIHZhciBmb2N1c09mZnNldDtcbiAgdmFyIGJsb2NrID0gY29udGVudC5nZXRCbG9ja0ZvcktleShrZXkpO1xuXG4gIGlmIChtYXhEaXN0YW5jZSA+IGJsb2NrLmdldFRleHQoKS5sZW5ndGggLSBvZmZzZXQpIHtcbiAgICBmb2N1c0tleSA9IGNvbnRlbnQuZ2V0S2V5QWZ0ZXIoa2V5KTtcbiAgICBmb2N1c09mZnNldCA9IDA7XG4gIH0gZWxzZSB7XG4gICAgZm9jdXNPZmZzZXQgPSBvZmZzZXQgKyBtYXhEaXN0YW5jZTtcbiAgfVxuXG4gIHJldHVybiBzZWxlY3Rpb24ubWVyZ2Uoe1xuICAgIGZvY3VzS2V5OiBmb2N1c0tleSxcbiAgICBmb2N1c09mZnNldDogZm9jdXNPZmZzZXRcbiAgfSk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gbW92ZVNlbGVjdGlvbkZvcndhcmQ7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/moveSelectionForward.js\n"); /***/ }), @@ -1243,7 +1470,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule randomizeBlockMapKeys\n * @format\n * \n */\n\n\n\nvar ContentBlockNode = __webpack_require__(/*! ./ContentBlockNode */ \"./node_modules/draft-js/lib/ContentBlockNode.js\");\nvar Immutable = __webpack_require__(/*! immutable */ \"./node_modules/draft-js/node_modules/immutable/dist/immutable.js\");\n\nvar generateRandomKey = __webpack_require__(/*! ./generateRandomKey */ \"./node_modules/draft-js/lib/generateRandomKey.js\");\n\nvar OrderedMap = Immutable.OrderedMap;\n\n\nvar randomizeContentBlockNodeKeys = function randomizeContentBlockNodeKeys(blockMap) {\n var newKeysRef = {};\n\n // we keep track of root blocks in order to update subsequent sibling links\n var lastRootBlock = void 0;\n\n return OrderedMap(blockMap.withMutations(function (blockMapState) {\n blockMapState.forEach(function (block, index) {\n var oldKey = block.getKey();\n var nextKey = block.getNextSiblingKey();\n var prevKey = block.getPrevSiblingKey();\n var childrenKeys = block.getChildKeys();\n var parentKey = block.getParentKey();\n\n // new key that we will use to build linking\n var key = generateRandomKey();\n\n // we will add it here to re-use it later\n newKeysRef[oldKey] = key;\n\n if (nextKey) {\n var nextBlock = blockMapState.get(nextKey);\n if (nextBlock) {\n blockMapState.setIn([nextKey, 'prevSibling'], key);\n } else {\n // this can happen when generating random keys for fragments\n blockMapState.setIn([oldKey, 'nextSibling'], null);\n }\n }\n\n if (prevKey) {\n var prevBlock = blockMapState.get(prevKey);\n if (prevBlock) {\n blockMapState.setIn([prevKey, 'nextSibling'], key);\n } else {\n // this can happen when generating random keys for fragments\n blockMapState.setIn([oldKey, 'prevSibling'], null);\n }\n }\n\n if (parentKey && blockMapState.get(parentKey)) {\n var parentBlock = blockMapState.get(parentKey);\n var parentChildrenList = parentBlock.getChildKeys();\n blockMapState.setIn([parentKey, 'children'], parentChildrenList.set(parentChildrenList.indexOf(block.getKey()), key));\n } else {\n // blocks will then be treated as root block nodes\n blockMapState.setIn([oldKey, 'parent'], null);\n\n if (lastRootBlock) {\n blockMapState.setIn([lastRootBlock.getKey(), 'nextSibling'], key);\n blockMapState.setIn([oldKey, 'prevSibling'], newKeysRef[lastRootBlock.getKey()]);\n }\n\n lastRootBlock = blockMapState.get(oldKey);\n }\n\n childrenKeys.forEach(function (childKey) {\n var childBlock = blockMapState.get(childKey);\n if (childBlock) {\n blockMapState.setIn([childKey, 'parent'], key);\n } else {\n blockMapState.setIn([oldKey, 'children'], block.getChildKeys().filter(function (child) {\n return child !== childKey;\n }));\n }\n });\n });\n }).toArray().map(function (block) {\n return [newKeysRef[block.getKey()], block.set('key', newKeysRef[block.getKey()])];\n }));\n};\n\nvar randomizeContentBlockKeys = function randomizeContentBlockKeys(blockMap) {\n return OrderedMap(blockMap.toArray().map(function (block) {\n var key = generateRandomKey();\n return [key, block.set('key', key)];\n }));\n};\n\nvar randomizeBlockMapKeys = function randomizeBlockMapKeys(blockMap) {\n var isTreeBasedBlockMap = blockMap.first() instanceof ContentBlockNode;\n\n if (!isTreeBasedBlockMap) {\n return randomizeContentBlockKeys(blockMap);\n }\n\n return randomizeContentBlockNodeKeys(blockMap);\n};\n\nmodule.exports = randomizeBlockMapKeys;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL3JhbmRvbWl6ZUJsb2NrTWFwS2V5cy5qcz81N2M3Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFYTs7QUFFYix1QkFBdUIsbUJBQU8sQ0FBQywyRUFBb0I7QUFDbkQsZ0JBQWdCLG1CQUFPLENBQUMsbUZBQVc7O0FBRW5DLHdCQUF3QixtQkFBTyxDQUFDLDZFQUFxQjs7QUFFckQ7OztBQUdBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQSxPQUFPO0FBQ1AsS0FBSztBQUNMLEdBQUc7QUFDSDtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2RyYWZ0LWpzL2xpYi9yYW5kb21pemVCbG9ja01hcEtleXMuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxMy1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuICogQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBCU0Qtc3R5bGUgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS4gQW4gYWRkaXRpb25hbCBncmFudFxuICogb2YgcGF0ZW50IHJpZ2h0cyBjYW4gYmUgZm91bmQgaW4gdGhlIFBBVEVOVFMgZmlsZSBpbiB0aGUgc2FtZSBkaXJlY3RvcnkuXG4gKlxuICogQHByb3ZpZGVzTW9kdWxlIHJhbmRvbWl6ZUJsb2NrTWFwS2V5c1xuICogQGZvcm1hdFxuICogXG4gKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG52YXIgQ29udGVudEJsb2NrTm9kZSA9IHJlcXVpcmUoJy4vQ29udGVudEJsb2NrTm9kZScpO1xudmFyIEltbXV0YWJsZSA9IHJlcXVpcmUoJ2ltbXV0YWJsZScpO1xuXG52YXIgZ2VuZXJhdGVSYW5kb21LZXkgPSByZXF1aXJlKCcuL2dlbmVyYXRlUmFuZG9tS2V5Jyk7XG5cbnZhciBPcmRlcmVkTWFwID0gSW1tdXRhYmxlLk9yZGVyZWRNYXA7XG5cblxudmFyIHJhbmRvbWl6ZUNvbnRlbnRCbG9ja05vZGVLZXlzID0gZnVuY3Rpb24gcmFuZG9taXplQ29udGVudEJsb2NrTm9kZUtleXMoYmxvY2tNYXApIHtcbiAgdmFyIG5ld0tleXNSZWYgPSB7fTtcblxuICAvLyB3ZSBrZWVwIHRyYWNrIG9mIHJvb3QgYmxvY2tzIGluIG9yZGVyIHRvIHVwZGF0ZSBzdWJzZXF1ZW50IHNpYmxpbmcgbGlua3NcbiAgdmFyIGxhc3RSb290QmxvY2sgPSB2b2lkIDA7XG5cbiAgcmV0dXJuIE9yZGVyZWRNYXAoYmxvY2tNYXAud2l0aE11dGF0aW9ucyhmdW5jdGlvbiAoYmxvY2tNYXBTdGF0ZSkge1xuICAgIGJsb2NrTWFwU3RhdGUuZm9yRWFjaChmdW5jdGlvbiAoYmxvY2ssIGluZGV4KSB7XG4gICAgICB2YXIgb2xkS2V5ID0gYmxvY2suZ2V0S2V5KCk7XG4gICAgICB2YXIgbmV4dEtleSA9IGJsb2NrLmdldE5leHRTaWJsaW5nS2V5KCk7XG4gICAgICB2YXIgcHJldktleSA9IGJsb2NrLmdldFByZXZTaWJsaW5nS2V5KCk7XG4gICAgICB2YXIgY2hpbGRyZW5LZXlzID0gYmxvY2suZ2V0Q2hpbGRLZXlzKCk7XG4gICAgICB2YXIgcGFyZW50S2V5ID0gYmxvY2suZ2V0UGFyZW50S2V5KCk7XG5cbiAgICAgIC8vIG5ldyBrZXkgdGhhdCB3ZSB3aWxsIHVzZSB0byBidWlsZCBsaW5raW5nXG4gICAgICB2YXIga2V5ID0gZ2VuZXJhdGVSYW5kb21LZXkoKTtcblxuICAgICAgLy8gd2Ugd2lsbCBhZGQgaXQgaGVyZSB0byByZS11c2UgaXQgbGF0ZXJcbiAgICAgIG5ld0tleXNSZWZbb2xkS2V5XSA9IGtleTtcblxuICAgICAgaWYgKG5leHRLZXkpIHtcbiAgICAgICAgdmFyIG5leHRCbG9jayA9IGJsb2NrTWFwU3RhdGUuZ2V0KG5leHRLZXkpO1xuICAgICAgICBpZiAobmV4dEJsb2NrKSB7XG4gICAgICAgICAgYmxvY2tNYXBTdGF0ZS5zZXRJbihbbmV4dEtleSwgJ3ByZXZTaWJsaW5nJ10sIGtleSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gdGhpcyBjYW4gaGFwcGVuIHdoZW4gZ2VuZXJhdGluZyByYW5kb20ga2V5cyBmb3IgZnJhZ21lbnRzXG4gICAgICAgICAgYmxvY2tNYXBTdGF0ZS5zZXRJbihbb2xkS2V5LCAnbmV4dFNpYmxpbmcnXSwgbnVsbCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKHByZXZLZXkpIHtcbiAgICAgICAgdmFyIHByZXZCbG9jayA9IGJsb2NrTWFwU3RhdGUuZ2V0KHByZXZLZXkpO1xuICAgICAgICBpZiAocHJldkJsb2NrKSB7XG4gICAgICAgICAgYmxvY2tNYXBTdGF0ZS5zZXRJbihbcHJldktleSwgJ25leHRTaWJsaW5nJ10sIGtleSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gdGhpcyBjYW4gaGFwcGVuIHdoZW4gZ2VuZXJhdGluZyByYW5kb20ga2V5cyBmb3IgZnJhZ21lbnRzXG4gICAgICAgICAgYmxvY2tNYXBTdGF0ZS5zZXRJbihbb2xkS2V5LCAncHJldlNpYmxpbmcnXSwgbnVsbCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKHBhcmVudEtleSAmJiBibG9ja01hcFN0YXRlLmdldChwYXJlbnRLZXkpKSB7XG4gICAgICAgIHZhciBwYXJlbnRCbG9jayA9IGJsb2NrTWFwU3RhdGUuZ2V0KHBhcmVudEtleSk7XG4gICAgICAgIHZhciBwYXJlbnRDaGlsZHJlbkxpc3QgPSBwYXJlbnRCbG9jay5nZXRDaGlsZEtleXMoKTtcbiAgICAgICAgYmxvY2tNYXBTdGF0ZS5zZXRJbihbcGFyZW50S2V5LCAnY2hpbGRyZW4nXSwgcGFyZW50Q2hpbGRyZW5MaXN0LnNldChwYXJlbnRDaGlsZHJlbkxpc3QuaW5kZXhPZihibG9jay5nZXRLZXkoKSksIGtleSkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gYmxvY2tzIHdpbGwgdGhlbiBiZSB0cmVhdGVkIGFzIHJvb3QgYmxvY2sgbm9kZXNcbiAgICAgICAgYmxvY2tNYXBTdGF0ZS5zZXRJbihbb2xkS2V5LCAncGFyZW50J10sIG51bGwpO1xuXG4gICAgICAgIGlmIChsYXN0Um9vdEJsb2NrKSB7XG4gICAgICAgICAgYmxvY2tNYXBTdGF0ZS5zZXRJbihbbGFzdFJvb3RCbG9jay5nZXRLZXkoKSwgJ25leHRTaWJsaW5nJ10sIGtleSk7XG4gICAgICAgICAgYmxvY2tNYXBTdGF0ZS5zZXRJbihbb2xkS2V5LCAncHJldlNpYmxpbmcnXSwgbmV3S2V5c1JlZltsYXN0Um9vdEJsb2NrLmdldEtleSgpXSk7XG4gICAgICAgIH1cblxuICAgICAgICBsYXN0Um9vdEJsb2NrID0gYmxvY2tNYXBTdGF0ZS5nZXQob2xkS2V5KTtcbiAgICAgIH1cblxuICAgICAgY2hpbGRyZW5LZXlzLmZvckVhY2goZnVuY3Rpb24gKGNoaWxkS2V5KSB7XG4gICAgICAgIHZhciBjaGlsZEJsb2NrID0gYmxvY2tNYXBTdGF0ZS5nZXQoY2hpbGRLZXkpO1xuICAgICAgICBpZiAoY2hpbGRCbG9jaykge1xuICAgICAgICAgIGJsb2NrTWFwU3RhdGUuc2V0SW4oW2NoaWxkS2V5LCAncGFyZW50J10sIGtleSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYmxvY2tNYXBTdGF0ZS5zZXRJbihbb2xkS2V5LCAnY2hpbGRyZW4nXSwgYmxvY2suZ2V0Q2hpbGRLZXlzKCkuZmlsdGVyKGZ1bmN0aW9uIChjaGlsZCkge1xuICAgICAgICAgICAgcmV0dXJuIGNoaWxkICE9PSBjaGlsZEtleTtcbiAgICAgICAgICB9KSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuICB9KS50b0FycmF5KCkubWFwKGZ1bmN0aW9uIChibG9jaykge1xuICAgIHJldHVybiBbbmV3S2V5c1JlZltibG9jay5nZXRLZXkoKV0sIGJsb2NrLnNldCgna2V5JywgbmV3S2V5c1JlZltibG9jay5nZXRLZXkoKV0pXTtcbiAgfSkpO1xufTtcblxudmFyIHJhbmRvbWl6ZUNvbnRlbnRCbG9ja0tleXMgPSBmdW5jdGlvbiByYW5kb21pemVDb250ZW50QmxvY2tLZXlzKGJsb2NrTWFwKSB7XG4gIHJldHVybiBPcmRlcmVkTWFwKGJsb2NrTWFwLnRvQXJyYXkoKS5tYXAoZnVuY3Rpb24gKGJsb2NrKSB7XG4gICAgdmFyIGtleSA9IGdlbmVyYXRlUmFuZG9tS2V5KCk7XG4gICAgcmV0dXJuIFtrZXksIGJsb2NrLnNldCgna2V5Jywga2V5KV07XG4gIH0pKTtcbn07XG5cbnZhciByYW5kb21pemVCbG9ja01hcEtleXMgPSBmdW5jdGlvbiByYW5kb21pemVCbG9ja01hcEtleXMoYmxvY2tNYXApIHtcbiAgdmFyIGlzVHJlZUJhc2VkQmxvY2tNYXAgPSBibG9ja01hcC5maXJzdCgpIGluc3RhbmNlb2YgQ29udGVudEJsb2NrTm9kZTtcblxuICBpZiAoIWlzVHJlZUJhc2VkQmxvY2tNYXApIHtcbiAgICByZXR1cm4gcmFuZG9taXplQ29udGVudEJsb2NrS2V5cyhibG9ja01hcCk7XG4gIH1cblxuICByZXR1cm4gcmFuZG9taXplQ29udGVudEJsb2NrTm9kZUtleXMoYmxvY2tNYXApO1xufTtcblxubW9kdWxlLmV4cG9ydHMgPSByYW5kb21pemVCbG9ja01hcEtleXM7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/randomizeBlockMapKeys.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nvar ContentBlockNode = __webpack_require__(/*! ./ContentBlockNode */ \"./node_modules/draft-js/lib/ContentBlockNode.js\");\n\nvar generateRandomKey = __webpack_require__(/*! ./generateRandomKey */ \"./node_modules/draft-js/lib/generateRandomKey.js\");\n\nvar Immutable = __webpack_require__(/*! immutable */ \"./node_modules/draft-js/node_modules/immutable/dist/immutable.js\");\n\nvar OrderedMap = Immutable.OrderedMap;\n\nvar randomizeContentBlockNodeKeys = function randomizeContentBlockNodeKeys(blockMap) {\n var newKeysRef = {}; // we keep track of root blocks in order to update subsequent sibling links\n\n var lastRootBlock;\n return OrderedMap(blockMap.withMutations(function (blockMapState) {\n blockMapState.forEach(function (block, index) {\n var oldKey = block.getKey();\n var nextKey = block.getNextSiblingKey();\n var prevKey = block.getPrevSiblingKey();\n var childrenKeys = block.getChildKeys();\n var parentKey = block.getParentKey(); // new key that we will use to build linking\n\n var key = generateRandomKey(); // we will add it here to re-use it later\n\n newKeysRef[oldKey] = key;\n\n if (nextKey) {\n var nextBlock = blockMapState.get(nextKey);\n\n if (nextBlock) {\n blockMapState.setIn([nextKey, 'prevSibling'], key);\n } else {\n // this can happen when generating random keys for fragments\n blockMapState.setIn([oldKey, 'nextSibling'], null);\n }\n }\n\n if (prevKey) {\n var prevBlock = blockMapState.get(prevKey);\n\n if (prevBlock) {\n blockMapState.setIn([prevKey, 'nextSibling'], key);\n } else {\n // this can happen when generating random keys for fragments\n blockMapState.setIn([oldKey, 'prevSibling'], null);\n }\n }\n\n if (parentKey && blockMapState.get(parentKey)) {\n var parentBlock = blockMapState.get(parentKey);\n var parentChildrenList = parentBlock.getChildKeys();\n blockMapState.setIn([parentKey, 'children'], parentChildrenList.set(parentChildrenList.indexOf(block.getKey()), key));\n } else {\n // blocks will then be treated as root block nodes\n blockMapState.setIn([oldKey, 'parent'], null);\n\n if (lastRootBlock) {\n blockMapState.setIn([lastRootBlock.getKey(), 'nextSibling'], key);\n blockMapState.setIn([oldKey, 'prevSibling'], newKeysRef[lastRootBlock.getKey()]);\n }\n\n lastRootBlock = blockMapState.get(oldKey);\n }\n\n childrenKeys.forEach(function (childKey) {\n var childBlock = blockMapState.get(childKey);\n\n if (childBlock) {\n blockMapState.setIn([childKey, 'parent'], key);\n } else {\n blockMapState.setIn([oldKey, 'children'], block.getChildKeys().filter(function (child) {\n return child !== childKey;\n }));\n }\n });\n });\n }).toArray().map(function (block) {\n return [newKeysRef[block.getKey()], block.set('key', newKeysRef[block.getKey()])];\n }));\n};\n\nvar randomizeContentBlockKeys = function randomizeContentBlockKeys(blockMap) {\n return OrderedMap(blockMap.toArray().map(function (block) {\n var key = generateRandomKey();\n return [key, block.set('key', key)];\n }));\n};\n\nvar randomizeBlockMapKeys = function randomizeBlockMapKeys(blockMap) {\n var isTreeBasedBlockMap = blockMap.first() instanceof ContentBlockNode;\n\n if (!isTreeBasedBlockMap) {\n return randomizeContentBlockKeys(blockMap);\n }\n\n return randomizeContentBlockNodeKeys(blockMap);\n};\n\nmodule.exports = randomizeBlockMapKeys;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL3JhbmRvbWl6ZUJsb2NrTWFwS2V5cy5qcz81N2M3Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ2E7O0FBRWIsdUJBQXVCLG1CQUFPLENBQUMsMkVBQW9COztBQUVuRCx3QkFBd0IsbUJBQU8sQ0FBQyw2RUFBcUI7O0FBRXJELGdCQUFnQixtQkFBTyxDQUFDLG1GQUFXOztBQUVuQzs7QUFFQTtBQUNBLHNCQUFzQjs7QUFFdEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQ0FBMkM7O0FBRTNDLG9DQUFvQzs7QUFFcEM7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQSxPQUFPO0FBQ1AsS0FBSztBQUNMLEdBQUc7QUFDSDtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2RyYWZ0LWpzL2xpYi9yYW5kb21pemVCbG9ja01hcEtleXMuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgRmFjZWJvb2ssIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIEBmb3JtYXRcbiAqIFxuICogQGVtYWlscyBvbmNhbGwrZHJhZnRfanNcbiAqL1xuJ3VzZSBzdHJpY3QnO1xuXG52YXIgQ29udGVudEJsb2NrTm9kZSA9IHJlcXVpcmUoXCIuL0NvbnRlbnRCbG9ja05vZGVcIik7XG5cbnZhciBnZW5lcmF0ZVJhbmRvbUtleSA9IHJlcXVpcmUoXCIuL2dlbmVyYXRlUmFuZG9tS2V5XCIpO1xuXG52YXIgSW1tdXRhYmxlID0gcmVxdWlyZShcImltbXV0YWJsZVwiKTtcblxudmFyIE9yZGVyZWRNYXAgPSBJbW11dGFibGUuT3JkZXJlZE1hcDtcblxudmFyIHJhbmRvbWl6ZUNvbnRlbnRCbG9ja05vZGVLZXlzID0gZnVuY3Rpb24gcmFuZG9taXplQ29udGVudEJsb2NrTm9kZUtleXMoYmxvY2tNYXApIHtcbiAgdmFyIG5ld0tleXNSZWYgPSB7fTsgLy8gd2Uga2VlcCB0cmFjayBvZiByb290IGJsb2NrcyBpbiBvcmRlciB0byB1cGRhdGUgc3Vic2VxdWVudCBzaWJsaW5nIGxpbmtzXG5cbiAgdmFyIGxhc3RSb290QmxvY2s7XG4gIHJldHVybiBPcmRlcmVkTWFwKGJsb2NrTWFwLndpdGhNdXRhdGlvbnMoZnVuY3Rpb24gKGJsb2NrTWFwU3RhdGUpIHtcbiAgICBibG9ja01hcFN0YXRlLmZvckVhY2goZnVuY3Rpb24gKGJsb2NrLCBpbmRleCkge1xuICAgICAgdmFyIG9sZEtleSA9IGJsb2NrLmdldEtleSgpO1xuICAgICAgdmFyIG5leHRLZXkgPSBibG9jay5nZXROZXh0U2libGluZ0tleSgpO1xuICAgICAgdmFyIHByZXZLZXkgPSBibG9jay5nZXRQcmV2U2libGluZ0tleSgpO1xuICAgICAgdmFyIGNoaWxkcmVuS2V5cyA9IGJsb2NrLmdldENoaWxkS2V5cygpO1xuICAgICAgdmFyIHBhcmVudEtleSA9IGJsb2NrLmdldFBhcmVudEtleSgpOyAvLyBuZXcga2V5IHRoYXQgd2Ugd2lsbCB1c2UgdG8gYnVpbGQgbGlua2luZ1xuXG4gICAgICB2YXIga2V5ID0gZ2VuZXJhdGVSYW5kb21LZXkoKTsgLy8gd2Ugd2lsbCBhZGQgaXQgaGVyZSB0byByZS11c2UgaXQgbGF0ZXJcblxuICAgICAgbmV3S2V5c1JlZltvbGRLZXldID0ga2V5O1xuXG4gICAgICBpZiAobmV4dEtleSkge1xuICAgICAgICB2YXIgbmV4dEJsb2NrID0gYmxvY2tNYXBTdGF0ZS5nZXQobmV4dEtleSk7XG5cbiAgICAgICAgaWYgKG5leHRCbG9jaykge1xuICAgICAgICAgIGJsb2NrTWFwU3RhdGUuc2V0SW4oW25leHRLZXksICdwcmV2U2libGluZyddLCBrZXkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIHRoaXMgY2FuIGhhcHBlbiB3aGVuIGdlbmVyYXRpbmcgcmFuZG9tIGtleXMgZm9yIGZyYWdtZW50c1xuICAgICAgICAgIGJsb2NrTWFwU3RhdGUuc2V0SW4oW29sZEtleSwgJ25leHRTaWJsaW5nJ10sIG51bGwpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChwcmV2S2V5KSB7XG4gICAgICAgIHZhciBwcmV2QmxvY2sgPSBibG9ja01hcFN0YXRlLmdldChwcmV2S2V5KTtcblxuICAgICAgICBpZiAocHJldkJsb2NrKSB7XG4gICAgICAgICAgYmxvY2tNYXBTdGF0ZS5zZXRJbihbcHJldktleSwgJ25leHRTaWJsaW5nJ10sIGtleSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gdGhpcyBjYW4gaGFwcGVuIHdoZW4gZ2VuZXJhdGluZyByYW5kb20ga2V5cyBmb3IgZnJhZ21lbnRzXG4gICAgICAgICAgYmxvY2tNYXBTdGF0ZS5zZXRJbihbb2xkS2V5LCAncHJldlNpYmxpbmcnXSwgbnVsbCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKHBhcmVudEtleSAmJiBibG9ja01hcFN0YXRlLmdldChwYXJlbnRLZXkpKSB7XG4gICAgICAgIHZhciBwYXJlbnRCbG9jayA9IGJsb2NrTWFwU3RhdGUuZ2V0KHBhcmVudEtleSk7XG4gICAgICAgIHZhciBwYXJlbnRDaGlsZHJlbkxpc3QgPSBwYXJlbnRCbG9jay5nZXRDaGlsZEtleXMoKTtcbiAgICAgICAgYmxvY2tNYXBTdGF0ZS5zZXRJbihbcGFyZW50S2V5LCAnY2hpbGRyZW4nXSwgcGFyZW50Q2hpbGRyZW5MaXN0LnNldChwYXJlbnRDaGlsZHJlbkxpc3QuaW5kZXhPZihibG9jay5nZXRLZXkoKSksIGtleSkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gYmxvY2tzIHdpbGwgdGhlbiBiZSB0cmVhdGVkIGFzIHJvb3QgYmxvY2sgbm9kZXNcbiAgICAgICAgYmxvY2tNYXBTdGF0ZS5zZXRJbihbb2xkS2V5LCAncGFyZW50J10sIG51bGwpO1xuXG4gICAgICAgIGlmIChsYXN0Um9vdEJsb2NrKSB7XG4gICAgICAgICAgYmxvY2tNYXBTdGF0ZS5zZXRJbihbbGFzdFJvb3RCbG9jay5nZXRLZXkoKSwgJ25leHRTaWJsaW5nJ10sIGtleSk7XG4gICAgICAgICAgYmxvY2tNYXBTdGF0ZS5zZXRJbihbb2xkS2V5LCAncHJldlNpYmxpbmcnXSwgbmV3S2V5c1JlZltsYXN0Um9vdEJsb2NrLmdldEtleSgpXSk7XG4gICAgICAgIH1cblxuICAgICAgICBsYXN0Um9vdEJsb2NrID0gYmxvY2tNYXBTdGF0ZS5nZXQob2xkS2V5KTtcbiAgICAgIH1cblxuICAgICAgY2hpbGRyZW5LZXlzLmZvckVhY2goZnVuY3Rpb24gKGNoaWxkS2V5KSB7XG4gICAgICAgIHZhciBjaGlsZEJsb2NrID0gYmxvY2tNYXBTdGF0ZS5nZXQoY2hpbGRLZXkpO1xuXG4gICAgICAgIGlmIChjaGlsZEJsb2NrKSB7XG4gICAgICAgICAgYmxvY2tNYXBTdGF0ZS5zZXRJbihbY2hpbGRLZXksICdwYXJlbnQnXSwga2V5KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBibG9ja01hcFN0YXRlLnNldEluKFtvbGRLZXksICdjaGlsZHJlbiddLCBibG9jay5nZXRDaGlsZEtleXMoKS5maWx0ZXIoZnVuY3Rpb24gKGNoaWxkKSB7XG4gICAgICAgICAgICByZXR1cm4gY2hpbGQgIT09IGNoaWxkS2V5O1xuICAgICAgICAgIH0pKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pLnRvQXJyYXkoKS5tYXAoZnVuY3Rpb24gKGJsb2NrKSB7XG4gICAgcmV0dXJuIFtuZXdLZXlzUmVmW2Jsb2NrLmdldEtleSgpXSwgYmxvY2suc2V0KCdrZXknLCBuZXdLZXlzUmVmW2Jsb2NrLmdldEtleSgpXSldO1xuICB9KSk7XG59O1xuXG52YXIgcmFuZG9taXplQ29udGVudEJsb2NrS2V5cyA9IGZ1bmN0aW9uIHJhbmRvbWl6ZUNvbnRlbnRCbG9ja0tleXMoYmxvY2tNYXApIHtcbiAgcmV0dXJuIE9yZGVyZWRNYXAoYmxvY2tNYXAudG9BcnJheSgpLm1hcChmdW5jdGlvbiAoYmxvY2spIHtcbiAgICB2YXIga2V5ID0gZ2VuZXJhdGVSYW5kb21LZXkoKTtcbiAgICByZXR1cm4gW2tleSwgYmxvY2suc2V0KCdrZXknLCBrZXkpXTtcbiAgfSkpO1xufTtcblxudmFyIHJhbmRvbWl6ZUJsb2NrTWFwS2V5cyA9IGZ1bmN0aW9uIHJhbmRvbWl6ZUJsb2NrTWFwS2V5cyhibG9ja01hcCkge1xuICB2YXIgaXNUcmVlQmFzZWRCbG9ja01hcCA9IGJsb2NrTWFwLmZpcnN0KCkgaW5zdGFuY2VvZiBDb250ZW50QmxvY2tOb2RlO1xuXG4gIGlmICghaXNUcmVlQmFzZWRCbG9ja01hcCkge1xuICAgIHJldHVybiByYW5kb21pemVDb250ZW50QmxvY2tLZXlzKGJsb2NrTWFwKTtcbiAgfVxuXG4gIHJldHVybiByYW5kb21pemVDb250ZW50QmxvY2tOb2RlS2V5cyhibG9ja01hcCk7XG59O1xuXG5tb2R1bGUuZXhwb3J0cyA9IHJhbmRvbWl6ZUJsb2NrTWFwS2V5czsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/randomizeBlockMapKeys.js\n"); /***/ }), @@ -1255,7 +1482,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule removeEntitiesAtEdges\n * @format\n * \n */\n\n\n\nvar CharacterMetadata = __webpack_require__(/*! ./CharacterMetadata */ \"./node_modules/draft-js/lib/CharacterMetadata.js\");\n\nvar findRangesImmutable = __webpack_require__(/*! ./findRangesImmutable */ \"./node_modules/draft-js/lib/findRangesImmutable.js\");\nvar invariant = __webpack_require__(/*! fbjs/lib/invariant */ \"./node_modules/fbjs/lib/invariant.js\");\n\nfunction removeEntitiesAtEdges(contentState, selectionState) {\n var blockMap = contentState.getBlockMap();\n var entityMap = contentState.getEntityMap();\n\n var updatedBlocks = {};\n\n var startKey = selectionState.getStartKey();\n var startOffset = selectionState.getStartOffset();\n var startBlock = blockMap.get(startKey);\n var updatedStart = removeForBlock(entityMap, startBlock, startOffset);\n\n if (updatedStart !== startBlock) {\n updatedBlocks[startKey] = updatedStart;\n }\n\n var endKey = selectionState.getEndKey();\n var endOffset = selectionState.getEndOffset();\n var endBlock = blockMap.get(endKey);\n if (startKey === endKey) {\n endBlock = updatedStart;\n }\n\n var updatedEnd = removeForBlock(entityMap, endBlock, endOffset);\n\n if (updatedEnd !== endBlock) {\n updatedBlocks[endKey] = updatedEnd;\n }\n\n if (!Object.keys(updatedBlocks).length) {\n return contentState.set('selectionAfter', selectionState);\n }\n\n return contentState.merge({\n blockMap: blockMap.merge(updatedBlocks),\n selectionAfter: selectionState\n });\n}\n\nfunction getRemovalRange(characters, key, offset) {\n var removalRange;\n findRangesImmutable(characters, function (a, b) {\n return a.getEntity() === b.getEntity();\n }, function (element) {\n return element.getEntity() === key;\n }, function (start, end) {\n if (start <= offset && end >= offset) {\n removalRange = { start: start, end: end };\n }\n });\n !(typeof removalRange === 'object') ? true ? invariant(false, 'Removal range must exist within character list.') : undefined : void 0;\n return removalRange;\n}\n\nfunction removeForBlock(entityMap, block, offset) {\n var chars = block.getCharacterList();\n var charBefore = offset > 0 ? chars.get(offset - 1) : undefined;\n var charAfter = offset < chars.count() ? chars.get(offset) : undefined;\n var entityBeforeCursor = charBefore ? charBefore.getEntity() : undefined;\n var entityAfterCursor = charAfter ? charAfter.getEntity() : undefined;\n\n if (entityAfterCursor && entityAfterCursor === entityBeforeCursor) {\n var entity = entityMap.__get(entityAfterCursor);\n if (entity.getMutability() !== 'MUTABLE') {\n var _getRemovalRange = getRemovalRange(chars, entityAfterCursor, offset),\n start = _getRemovalRange.start,\n end = _getRemovalRange.end;\n\n var current;\n while (start < end) {\n current = chars.get(start);\n chars = chars.set(start, CharacterMetadata.applyEntity(current, null));\n start++;\n }\n return block.set('characterList', chars);\n }\n }\n\n return block;\n}\n\nmodule.exports = removeEntitiesAtEdges;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL3JlbW92ZUVudGl0aWVzQXRFZGdlcy5qcz82ZWVlIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFYTs7QUFFYix3QkFBd0IsbUJBQU8sQ0FBQyw2RUFBcUI7O0FBRXJELDBCQUEwQixtQkFBTyxDQUFDLGlGQUF1QjtBQUN6RCxnQkFBZ0IsbUJBQU8sQ0FBQyxnRUFBb0I7O0FBRTVDO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0EsR0FBRztBQUNIO0FBQ0Esc0JBQXNCO0FBQ3RCO0FBQ0EsR0FBRztBQUNILHdDQUF3QyxLQUFxQyx5RUFBeUUsU0FBZ0I7QUFDdEs7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2RyYWZ0LWpzL2xpYi9yZW1vdmVFbnRpdGllc0F0RWRnZXMuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxMy1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuICogQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBCU0Qtc3R5bGUgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS4gQW4gYWRkaXRpb25hbCBncmFudFxuICogb2YgcGF0ZW50IHJpZ2h0cyBjYW4gYmUgZm91bmQgaW4gdGhlIFBBVEVOVFMgZmlsZSBpbiB0aGUgc2FtZSBkaXJlY3RvcnkuXG4gKlxuICogQHByb3ZpZGVzTW9kdWxlIHJlbW92ZUVudGl0aWVzQXRFZGdlc1xuICogQGZvcm1hdFxuICogXG4gKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG52YXIgQ2hhcmFjdGVyTWV0YWRhdGEgPSByZXF1aXJlKCcuL0NoYXJhY3Rlck1ldGFkYXRhJyk7XG5cbnZhciBmaW5kUmFuZ2VzSW1tdXRhYmxlID0gcmVxdWlyZSgnLi9maW5kUmFuZ2VzSW1tdXRhYmxlJyk7XG52YXIgaW52YXJpYW50ID0gcmVxdWlyZSgnZmJqcy9saWIvaW52YXJpYW50Jyk7XG5cbmZ1bmN0aW9uIHJlbW92ZUVudGl0aWVzQXRFZGdlcyhjb250ZW50U3RhdGUsIHNlbGVjdGlvblN0YXRlKSB7XG4gIHZhciBibG9ja01hcCA9IGNvbnRlbnRTdGF0ZS5nZXRCbG9ja01hcCgpO1xuICB2YXIgZW50aXR5TWFwID0gY29udGVudFN0YXRlLmdldEVudGl0eU1hcCgpO1xuXG4gIHZhciB1cGRhdGVkQmxvY2tzID0ge307XG5cbiAgdmFyIHN0YXJ0S2V5ID0gc2VsZWN0aW9uU3RhdGUuZ2V0U3RhcnRLZXkoKTtcbiAgdmFyIHN0YXJ0T2Zmc2V0ID0gc2VsZWN0aW9uU3RhdGUuZ2V0U3RhcnRPZmZzZXQoKTtcbiAgdmFyIHN0YXJ0QmxvY2sgPSBibG9ja01hcC5nZXQoc3RhcnRLZXkpO1xuICB2YXIgdXBkYXRlZFN0YXJ0ID0gcmVtb3ZlRm9yQmxvY2soZW50aXR5TWFwLCBzdGFydEJsb2NrLCBzdGFydE9mZnNldCk7XG5cbiAgaWYgKHVwZGF0ZWRTdGFydCAhPT0gc3RhcnRCbG9jaykge1xuICAgIHVwZGF0ZWRCbG9ja3Nbc3RhcnRLZXldID0gdXBkYXRlZFN0YXJ0O1xuICB9XG5cbiAgdmFyIGVuZEtleSA9IHNlbGVjdGlvblN0YXRlLmdldEVuZEtleSgpO1xuICB2YXIgZW5kT2Zmc2V0ID0gc2VsZWN0aW9uU3RhdGUuZ2V0RW5kT2Zmc2V0KCk7XG4gIHZhciBlbmRCbG9jayA9IGJsb2NrTWFwLmdldChlbmRLZXkpO1xuICBpZiAoc3RhcnRLZXkgPT09IGVuZEtleSkge1xuICAgIGVuZEJsb2NrID0gdXBkYXRlZFN0YXJ0O1xuICB9XG5cbiAgdmFyIHVwZGF0ZWRFbmQgPSByZW1vdmVGb3JCbG9jayhlbnRpdHlNYXAsIGVuZEJsb2NrLCBlbmRPZmZzZXQpO1xuXG4gIGlmICh1cGRhdGVkRW5kICE9PSBlbmRCbG9jaykge1xuICAgIHVwZGF0ZWRCbG9ja3NbZW5kS2V5XSA9IHVwZGF0ZWRFbmQ7XG4gIH1cblxuICBpZiAoIU9iamVjdC5rZXlzKHVwZGF0ZWRCbG9ja3MpLmxlbmd0aCkge1xuICAgIHJldHVybiBjb250ZW50U3RhdGUuc2V0KCdzZWxlY3Rpb25BZnRlcicsIHNlbGVjdGlvblN0YXRlKTtcbiAgfVxuXG4gIHJldHVybiBjb250ZW50U3RhdGUubWVyZ2Uoe1xuICAgIGJsb2NrTWFwOiBibG9ja01hcC5tZXJnZSh1cGRhdGVkQmxvY2tzKSxcbiAgICBzZWxlY3Rpb25BZnRlcjogc2VsZWN0aW9uU3RhdGVcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGdldFJlbW92YWxSYW5nZShjaGFyYWN0ZXJzLCBrZXksIG9mZnNldCkge1xuICB2YXIgcmVtb3ZhbFJhbmdlO1xuICBmaW5kUmFuZ2VzSW1tdXRhYmxlKGNoYXJhY3RlcnMsIGZ1bmN0aW9uIChhLCBiKSB7XG4gICAgcmV0dXJuIGEuZ2V0RW50aXR5KCkgPT09IGIuZ2V0RW50aXR5KCk7XG4gIH0sIGZ1bmN0aW9uIChlbGVtZW50KSB7XG4gICAgcmV0dXJuIGVsZW1lbnQuZ2V0RW50aXR5KCkgPT09IGtleTtcbiAgfSwgZnVuY3Rpb24gKHN0YXJ0LCBlbmQpIHtcbiAgICBpZiAoc3RhcnQgPD0gb2Zmc2V0ICYmIGVuZCA+PSBvZmZzZXQpIHtcbiAgICAgIHJlbW92YWxSYW5nZSA9IHsgc3RhcnQ6IHN0YXJ0LCBlbmQ6IGVuZCB9O1xuICAgIH1cbiAgfSk7XG4gICEodHlwZW9mIHJlbW92YWxSYW5nZSA9PT0gJ29iamVjdCcpID8gcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyA/IGludmFyaWFudChmYWxzZSwgJ1JlbW92YWwgcmFuZ2UgbXVzdCBleGlzdCB3aXRoaW4gY2hhcmFjdGVyIGxpc3QuJykgOiBpbnZhcmlhbnQoZmFsc2UpIDogdm9pZCAwO1xuICByZXR1cm4gcmVtb3ZhbFJhbmdlO1xufVxuXG5mdW5jdGlvbiByZW1vdmVGb3JCbG9jayhlbnRpdHlNYXAsIGJsb2NrLCBvZmZzZXQpIHtcbiAgdmFyIGNoYXJzID0gYmxvY2suZ2V0Q2hhcmFjdGVyTGlzdCgpO1xuICB2YXIgY2hhckJlZm9yZSA9IG9mZnNldCA+IDAgPyBjaGFycy5nZXQob2Zmc2V0IC0gMSkgOiB1bmRlZmluZWQ7XG4gIHZhciBjaGFyQWZ0ZXIgPSBvZmZzZXQgPCBjaGFycy5jb3VudCgpID8gY2hhcnMuZ2V0KG9mZnNldCkgOiB1bmRlZmluZWQ7XG4gIHZhciBlbnRpdHlCZWZvcmVDdXJzb3IgPSBjaGFyQmVmb3JlID8gY2hhckJlZm9yZS5nZXRFbnRpdHkoKSA6IHVuZGVmaW5lZDtcbiAgdmFyIGVudGl0eUFmdGVyQ3Vyc29yID0gY2hhckFmdGVyID8gY2hhckFmdGVyLmdldEVudGl0eSgpIDogdW5kZWZpbmVkO1xuXG4gIGlmIChlbnRpdHlBZnRlckN1cnNvciAmJiBlbnRpdHlBZnRlckN1cnNvciA9PT0gZW50aXR5QmVmb3JlQ3Vyc29yKSB7XG4gICAgdmFyIGVudGl0eSA9IGVudGl0eU1hcC5fX2dldChlbnRpdHlBZnRlckN1cnNvcik7XG4gICAgaWYgKGVudGl0eS5nZXRNdXRhYmlsaXR5KCkgIT09ICdNVVRBQkxFJykge1xuICAgICAgdmFyIF9nZXRSZW1vdmFsUmFuZ2UgPSBnZXRSZW1vdmFsUmFuZ2UoY2hhcnMsIGVudGl0eUFmdGVyQ3Vyc29yLCBvZmZzZXQpLFxuICAgICAgICAgIHN0YXJ0ID0gX2dldFJlbW92YWxSYW5nZS5zdGFydCxcbiAgICAgICAgICBlbmQgPSBfZ2V0UmVtb3ZhbFJhbmdlLmVuZDtcblxuICAgICAgdmFyIGN1cnJlbnQ7XG4gICAgICB3aGlsZSAoc3RhcnQgPCBlbmQpIHtcbiAgICAgICAgY3VycmVudCA9IGNoYXJzLmdldChzdGFydCk7XG4gICAgICAgIGNoYXJzID0gY2hhcnMuc2V0KHN0YXJ0LCBDaGFyYWN0ZXJNZXRhZGF0YS5hcHBseUVudGl0eShjdXJyZW50LCBudWxsKSk7XG4gICAgICAgIHN0YXJ0Kys7XG4gICAgICB9XG4gICAgICByZXR1cm4gYmxvY2suc2V0KCdjaGFyYWN0ZXJMaXN0JywgY2hhcnMpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBibG9jaztcbn1cblxubW9kdWxlLmV4cG9ydHMgPSByZW1vdmVFbnRpdGllc0F0RWRnZXM7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/removeEntitiesAtEdges.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nvar CharacterMetadata = __webpack_require__(/*! ./CharacterMetadata */ \"./node_modules/draft-js/lib/CharacterMetadata.js\");\n\nvar findRangesImmutable = __webpack_require__(/*! ./findRangesImmutable */ \"./node_modules/draft-js/lib/findRangesImmutable.js\");\n\nvar invariant = __webpack_require__(/*! fbjs/lib/invariant */ \"./node_modules/fbjs/lib/invariant.js\");\n\nfunction removeEntitiesAtEdges(contentState, selectionState) {\n var blockMap = contentState.getBlockMap();\n var entityMap = contentState.getEntityMap();\n var updatedBlocks = {};\n var startKey = selectionState.getStartKey();\n var startOffset = selectionState.getStartOffset();\n var startBlock = blockMap.get(startKey);\n var updatedStart = removeForBlock(entityMap, startBlock, startOffset);\n\n if (updatedStart !== startBlock) {\n updatedBlocks[startKey] = updatedStart;\n }\n\n var endKey = selectionState.getEndKey();\n var endOffset = selectionState.getEndOffset();\n var endBlock = blockMap.get(endKey);\n\n if (startKey === endKey) {\n endBlock = updatedStart;\n }\n\n var updatedEnd = removeForBlock(entityMap, endBlock, endOffset);\n\n if (updatedEnd !== endBlock) {\n updatedBlocks[endKey] = updatedEnd;\n }\n\n if (!Object.keys(updatedBlocks).length) {\n return contentState.set('selectionAfter', selectionState);\n }\n\n return contentState.merge({\n blockMap: blockMap.merge(updatedBlocks),\n selectionAfter: selectionState\n });\n}\n/**\n * Given a list of characters and an offset that is in the middle of an entity,\n * returns the start and end of the entity that is overlapping the offset.\n * Note: This method requires that the offset be in an entity range.\n */\n\n\nfunction getRemovalRange(characters, entityKey, offset) {\n var removalRange; // Iterates through a list looking for ranges of matching items\n // based on the 'isEqual' callback.\n // Then instead of returning the result, call the 'found' callback\n // with each range.\n // Then filters those ranges based on the 'filter' callback\n //\n // Here we use it to find ranges of characters with the same entity key.\n\n findRangesImmutable(characters, // the list to iterate through\n function (a, b) {\n return a.getEntity() === b.getEntity();\n }, // 'isEqual' callback\n function (element) {\n return element.getEntity() === entityKey;\n }, // 'filter' callback\n function (start, end) {\n // 'found' callback\n if (start <= offset && end >= offset) {\n // this entity overlaps the offset index\n removalRange = {\n start: start,\n end: end\n };\n }\n });\n !(typeof removalRange === 'object') ? true ? invariant(false, 'Removal range must exist within character list.') : undefined : void 0;\n return removalRange;\n}\n\nfunction removeForBlock(entityMap, block, offset) {\n var chars = block.getCharacterList();\n var charBefore = offset > 0 ? chars.get(offset - 1) : undefined;\n var charAfter = offset < chars.count() ? chars.get(offset) : undefined;\n var entityBeforeCursor = charBefore ? charBefore.getEntity() : undefined;\n var entityAfterCursor = charAfter ? charAfter.getEntity() : undefined;\n\n if (entityAfterCursor && entityAfterCursor === entityBeforeCursor) {\n var entity = entityMap.__get(entityAfterCursor);\n\n if (entity.getMutability() !== 'MUTABLE') {\n var _getRemovalRange = getRemovalRange(chars, entityAfterCursor, offset),\n start = _getRemovalRange.start,\n end = _getRemovalRange.end;\n\n var current;\n\n while (start < end) {\n current = chars.get(start);\n chars = chars.set(start, CharacterMetadata.applyEntity(current, null));\n start++;\n }\n\n return block.set('characterList', chars);\n }\n }\n\n return block;\n}\n\nmodule.exports = removeEntitiesAtEdges;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL3JlbW92ZUVudGl0aWVzQXRFZGdlcy5qcz82ZWVlIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ2E7O0FBRWIsd0JBQXdCLG1CQUFPLENBQUMsNkVBQXFCOztBQUVyRCwwQkFBMEIsbUJBQU8sQ0FBQyxpRkFBdUI7O0FBRXpELGdCQUFnQixtQkFBTyxDQUFDLGdFQUFvQjs7QUFFNUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0EsbUJBQW1CO0FBQ25CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsd0NBQXdDLEtBQXFDLHlFQUF5RSxTQUFnQjtBQUN0SztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL3JlbW92ZUVudGl0aWVzQXRFZGdlcy5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSBGYWNlYm9vaywgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICogQGZvcm1hdFxuICogXG4gKiBAZW1haWxzIG9uY2FsbCtkcmFmdF9qc1xuICovXG4ndXNlIHN0cmljdCc7XG5cbnZhciBDaGFyYWN0ZXJNZXRhZGF0YSA9IHJlcXVpcmUoXCIuL0NoYXJhY3Rlck1ldGFkYXRhXCIpO1xuXG52YXIgZmluZFJhbmdlc0ltbXV0YWJsZSA9IHJlcXVpcmUoXCIuL2ZpbmRSYW5nZXNJbW11dGFibGVcIik7XG5cbnZhciBpbnZhcmlhbnQgPSByZXF1aXJlKFwiZmJqcy9saWIvaW52YXJpYW50XCIpO1xuXG5mdW5jdGlvbiByZW1vdmVFbnRpdGllc0F0RWRnZXMoY29udGVudFN0YXRlLCBzZWxlY3Rpb25TdGF0ZSkge1xuICB2YXIgYmxvY2tNYXAgPSBjb250ZW50U3RhdGUuZ2V0QmxvY2tNYXAoKTtcbiAgdmFyIGVudGl0eU1hcCA9IGNvbnRlbnRTdGF0ZS5nZXRFbnRpdHlNYXAoKTtcbiAgdmFyIHVwZGF0ZWRCbG9ja3MgPSB7fTtcbiAgdmFyIHN0YXJ0S2V5ID0gc2VsZWN0aW9uU3RhdGUuZ2V0U3RhcnRLZXkoKTtcbiAgdmFyIHN0YXJ0T2Zmc2V0ID0gc2VsZWN0aW9uU3RhdGUuZ2V0U3RhcnRPZmZzZXQoKTtcbiAgdmFyIHN0YXJ0QmxvY2sgPSBibG9ja01hcC5nZXQoc3RhcnRLZXkpO1xuICB2YXIgdXBkYXRlZFN0YXJ0ID0gcmVtb3ZlRm9yQmxvY2soZW50aXR5TWFwLCBzdGFydEJsb2NrLCBzdGFydE9mZnNldCk7XG5cbiAgaWYgKHVwZGF0ZWRTdGFydCAhPT0gc3RhcnRCbG9jaykge1xuICAgIHVwZGF0ZWRCbG9ja3Nbc3RhcnRLZXldID0gdXBkYXRlZFN0YXJ0O1xuICB9XG5cbiAgdmFyIGVuZEtleSA9IHNlbGVjdGlvblN0YXRlLmdldEVuZEtleSgpO1xuICB2YXIgZW5kT2Zmc2V0ID0gc2VsZWN0aW9uU3RhdGUuZ2V0RW5kT2Zmc2V0KCk7XG4gIHZhciBlbmRCbG9jayA9IGJsb2NrTWFwLmdldChlbmRLZXkpO1xuXG4gIGlmIChzdGFydEtleSA9PT0gZW5kS2V5KSB7XG4gICAgZW5kQmxvY2sgPSB1cGRhdGVkU3RhcnQ7XG4gIH1cblxuICB2YXIgdXBkYXRlZEVuZCA9IHJlbW92ZUZvckJsb2NrKGVudGl0eU1hcCwgZW5kQmxvY2ssIGVuZE9mZnNldCk7XG5cbiAgaWYgKHVwZGF0ZWRFbmQgIT09IGVuZEJsb2NrKSB7XG4gICAgdXBkYXRlZEJsb2Nrc1tlbmRLZXldID0gdXBkYXRlZEVuZDtcbiAgfVxuXG4gIGlmICghT2JqZWN0LmtleXModXBkYXRlZEJsb2NrcykubGVuZ3RoKSB7XG4gICAgcmV0dXJuIGNvbnRlbnRTdGF0ZS5zZXQoJ3NlbGVjdGlvbkFmdGVyJywgc2VsZWN0aW9uU3RhdGUpO1xuICB9XG5cbiAgcmV0dXJuIGNvbnRlbnRTdGF0ZS5tZXJnZSh7XG4gICAgYmxvY2tNYXA6IGJsb2NrTWFwLm1lcmdlKHVwZGF0ZWRCbG9ja3MpLFxuICAgIHNlbGVjdGlvbkFmdGVyOiBzZWxlY3Rpb25TdGF0ZVxuICB9KTtcbn1cbi8qKlxuICogR2l2ZW4gYSBsaXN0IG9mIGNoYXJhY3RlcnMgYW5kIGFuIG9mZnNldCB0aGF0IGlzIGluIHRoZSBtaWRkbGUgb2YgYW4gZW50aXR5LFxuICogcmV0dXJucyB0aGUgc3RhcnQgYW5kIGVuZCBvZiB0aGUgZW50aXR5IHRoYXQgaXMgb3ZlcmxhcHBpbmcgdGhlIG9mZnNldC5cbiAqIE5vdGU6IFRoaXMgbWV0aG9kIHJlcXVpcmVzIHRoYXQgdGhlIG9mZnNldCBiZSBpbiBhbiBlbnRpdHkgcmFuZ2UuXG4gKi9cblxuXG5mdW5jdGlvbiBnZXRSZW1vdmFsUmFuZ2UoY2hhcmFjdGVycywgZW50aXR5S2V5LCBvZmZzZXQpIHtcbiAgdmFyIHJlbW92YWxSYW5nZTsgLy8gSXRlcmF0ZXMgdGhyb3VnaCBhIGxpc3QgbG9va2luZyBmb3IgcmFuZ2VzIG9mIG1hdGNoaW5nIGl0ZW1zXG4gIC8vIGJhc2VkIG9uIHRoZSAnaXNFcXVhbCcgY2FsbGJhY2suXG4gIC8vIFRoZW4gaW5zdGVhZCBvZiByZXR1cm5pbmcgdGhlIHJlc3VsdCwgY2FsbCB0aGUgJ2ZvdW5kJyBjYWxsYmFja1xuICAvLyB3aXRoIGVhY2ggcmFuZ2UuXG4gIC8vIFRoZW4gZmlsdGVycyB0aG9zZSByYW5nZXMgYmFzZWQgb24gdGhlICdmaWx0ZXInIGNhbGxiYWNrXG4gIC8vXG4gIC8vIEhlcmUgd2UgdXNlIGl0IHRvIGZpbmQgcmFuZ2VzIG9mIGNoYXJhY3RlcnMgd2l0aCB0aGUgc2FtZSBlbnRpdHkga2V5LlxuXG4gIGZpbmRSYW5nZXNJbW11dGFibGUoY2hhcmFjdGVycywgLy8gdGhlIGxpc3QgdG8gaXRlcmF0ZSB0aHJvdWdoXG4gIGZ1bmN0aW9uIChhLCBiKSB7XG4gICAgcmV0dXJuIGEuZ2V0RW50aXR5KCkgPT09IGIuZ2V0RW50aXR5KCk7XG4gIH0sIC8vICdpc0VxdWFsJyBjYWxsYmFja1xuICBmdW5jdGlvbiAoZWxlbWVudCkge1xuICAgIHJldHVybiBlbGVtZW50LmdldEVudGl0eSgpID09PSBlbnRpdHlLZXk7XG4gIH0sIC8vICdmaWx0ZXInIGNhbGxiYWNrXG4gIGZ1bmN0aW9uIChzdGFydCwgZW5kKSB7XG4gICAgLy8gJ2ZvdW5kJyBjYWxsYmFja1xuICAgIGlmIChzdGFydCA8PSBvZmZzZXQgJiYgZW5kID49IG9mZnNldCkge1xuICAgICAgLy8gdGhpcyBlbnRpdHkgb3ZlcmxhcHMgdGhlIG9mZnNldCBpbmRleFxuICAgICAgcmVtb3ZhbFJhbmdlID0ge1xuICAgICAgICBzdGFydDogc3RhcnQsXG4gICAgICAgIGVuZDogZW5kXG4gICAgICB9O1xuICAgIH1cbiAgfSk7XG4gICEodHlwZW9mIHJlbW92YWxSYW5nZSA9PT0gJ29iamVjdCcpID8gcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiID8gaW52YXJpYW50KGZhbHNlLCAnUmVtb3ZhbCByYW5nZSBtdXN0IGV4aXN0IHdpdGhpbiBjaGFyYWN0ZXIgbGlzdC4nKSA6IGludmFyaWFudChmYWxzZSkgOiB2b2lkIDA7XG4gIHJldHVybiByZW1vdmFsUmFuZ2U7XG59XG5cbmZ1bmN0aW9uIHJlbW92ZUZvckJsb2NrKGVudGl0eU1hcCwgYmxvY2ssIG9mZnNldCkge1xuICB2YXIgY2hhcnMgPSBibG9jay5nZXRDaGFyYWN0ZXJMaXN0KCk7XG4gIHZhciBjaGFyQmVmb3JlID0gb2Zmc2V0ID4gMCA/IGNoYXJzLmdldChvZmZzZXQgLSAxKSA6IHVuZGVmaW5lZDtcbiAgdmFyIGNoYXJBZnRlciA9IG9mZnNldCA8IGNoYXJzLmNvdW50KCkgPyBjaGFycy5nZXQob2Zmc2V0KSA6IHVuZGVmaW5lZDtcbiAgdmFyIGVudGl0eUJlZm9yZUN1cnNvciA9IGNoYXJCZWZvcmUgPyBjaGFyQmVmb3JlLmdldEVudGl0eSgpIDogdW5kZWZpbmVkO1xuICB2YXIgZW50aXR5QWZ0ZXJDdXJzb3IgPSBjaGFyQWZ0ZXIgPyBjaGFyQWZ0ZXIuZ2V0RW50aXR5KCkgOiB1bmRlZmluZWQ7XG5cbiAgaWYgKGVudGl0eUFmdGVyQ3Vyc29yICYmIGVudGl0eUFmdGVyQ3Vyc29yID09PSBlbnRpdHlCZWZvcmVDdXJzb3IpIHtcbiAgICB2YXIgZW50aXR5ID0gZW50aXR5TWFwLl9fZ2V0KGVudGl0eUFmdGVyQ3Vyc29yKTtcblxuICAgIGlmIChlbnRpdHkuZ2V0TXV0YWJpbGl0eSgpICE9PSAnTVVUQUJMRScpIHtcbiAgICAgIHZhciBfZ2V0UmVtb3ZhbFJhbmdlID0gZ2V0UmVtb3ZhbFJhbmdlKGNoYXJzLCBlbnRpdHlBZnRlckN1cnNvciwgb2Zmc2V0KSxcbiAgICAgICAgICBzdGFydCA9IF9nZXRSZW1vdmFsUmFuZ2Uuc3RhcnQsXG4gICAgICAgICAgZW5kID0gX2dldFJlbW92YWxSYW5nZS5lbmQ7XG5cbiAgICAgIHZhciBjdXJyZW50O1xuXG4gICAgICB3aGlsZSAoc3RhcnQgPCBlbmQpIHtcbiAgICAgICAgY3VycmVudCA9IGNoYXJzLmdldChzdGFydCk7XG4gICAgICAgIGNoYXJzID0gY2hhcnMuc2V0KHN0YXJ0LCBDaGFyYWN0ZXJNZXRhZGF0YS5hcHBseUVudGl0eShjdXJyZW50LCBudWxsKSk7XG4gICAgICAgIHN0YXJ0Kys7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBibG9jay5zZXQoJ2NoYXJhY3Rlckxpc3QnLCBjaGFycyk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGJsb2NrO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHJlbW92ZUVudGl0aWVzQXRFZGdlczsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/removeEntitiesAtEdges.js\n"); /***/ }), @@ -1267,7 +1494,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule removeRangeFromContentState\n * @format\n * \n */\n\n\n\nvar ContentBlockNode = __webpack_require__(/*! ./ContentBlockNode */ \"./node_modules/draft-js/lib/ContentBlockNode.js\");\nvar Immutable = __webpack_require__(/*! immutable */ \"./node_modules/draft-js/node_modules/immutable/dist/immutable.js\");\n\nvar getNextDelimiterBlockKey = __webpack_require__(/*! ./getNextDelimiterBlockKey */ \"./node_modules/draft-js/lib/getNextDelimiterBlockKey.js\");\n\nvar List = Immutable.List,\n Map = Immutable.Map;\n\n\nvar transformBlock = function transformBlock(key, blockMap, func) {\n if (!key) {\n return;\n }\n\n var block = blockMap.get(key);\n\n if (!block) {\n return;\n }\n\n blockMap.set(key, func(block));\n};\n\n/**\n * Ancestors needs to be preserved when there are non selected\n * children to make sure we do not leave any orphans behind\n */\nvar getAncestorsKeys = function getAncestorsKeys(blockKey, blockMap) {\n var parents = [];\n\n if (!blockKey) {\n return parents;\n }\n\n var blockNode = blockMap.get(blockKey);\n while (blockNode && blockNode.getParentKey()) {\n var parentKey = blockNode.getParentKey();\n if (parentKey) {\n parents.push(parentKey);\n }\n blockNode = parentKey ? blockMap.get(parentKey) : null;\n }\n\n return parents;\n};\n\n/**\n * Get all next delimiter keys until we hit a root delimiter and return\n * an array of key references\n */\nvar getNextDelimitersBlockKeys = function getNextDelimitersBlockKeys(block, blockMap) {\n var nextDelimiters = [];\n\n if (!block) {\n return nextDelimiters;\n }\n\n var nextDelimiter = getNextDelimiterBlockKey(block, blockMap);\n while (nextDelimiter && blockMap.get(nextDelimiter)) {\n var _block = blockMap.get(nextDelimiter);\n nextDelimiters.push(nextDelimiter);\n\n // we do not need to keep checking all root node siblings, just the first occurance\n nextDelimiter = _block.getParentKey() ? getNextDelimiterBlockKey(_block, blockMap) : null;\n }\n\n return nextDelimiters;\n};\n\nvar getNextValidSibling = function getNextValidSibling(block, blockMap, originalBlockMap) {\n if (!block) {\n return null;\n }\n\n // note that we need to make sure we refer to the original block since this\n // function is called within a withMutations\n var nextValidSiblingKey = originalBlockMap.get(block.getKey()).getNextSiblingKey();\n\n while (nextValidSiblingKey && !blockMap.get(nextValidSiblingKey)) {\n nextValidSiblingKey = originalBlockMap.get(nextValidSiblingKey).getNextSiblingKey() || null;\n }\n\n return nextValidSiblingKey;\n};\n\nvar getPrevValidSibling = function getPrevValidSibling(block, blockMap, originalBlockMap) {\n if (!block) {\n return null;\n }\n\n // note that we need to make sure we refer to the original block since this\n // function is called within a withMutations\n var prevValidSiblingKey = originalBlockMap.get(block.getKey()).getPrevSiblingKey();\n\n while (prevValidSiblingKey && !blockMap.get(prevValidSiblingKey)) {\n prevValidSiblingKey = originalBlockMap.get(prevValidSiblingKey).getPrevSiblingKey() || null;\n }\n\n return prevValidSiblingKey;\n};\n\nvar updateBlockMapLinks = function updateBlockMapLinks(blockMap, startBlock, endBlock, originalBlockMap) {\n return blockMap.withMutations(function (blocks) {\n // update start block if its retained\n transformBlock(startBlock.getKey(), blocks, function (block) {\n return block.merge({\n nextSibling: getNextValidSibling(startBlock, blocks, originalBlockMap),\n prevSibling: getPrevValidSibling(startBlock, blocks, originalBlockMap)\n });\n });\n\n // update endblock if its retained\n transformBlock(endBlock.getKey(), blocks, function (block) {\n return block.merge({\n nextSibling: getNextValidSibling(endBlock, blocks, originalBlockMap),\n prevSibling: getPrevValidSibling(endBlock, blocks, originalBlockMap)\n });\n });\n\n // update start block parent ancestors\n getAncestorsKeys(startBlock.getKey(), originalBlockMap).forEach(function (parentKey) {\n return transformBlock(parentKey, blocks, function (block) {\n return block.merge({\n children: block.getChildKeys().filter(function (key) {\n return blocks.get(key);\n }),\n nextSibling: getNextValidSibling(block, blocks, originalBlockMap),\n prevSibling: getPrevValidSibling(block, blocks, originalBlockMap)\n });\n });\n });\n\n // update start block next - can only happen if startBlock == endBlock\n transformBlock(startBlock.getNextSiblingKey(), blocks, function (block) {\n return block.merge({\n prevSibling: startBlock.getPrevSiblingKey()\n });\n });\n\n // update start block prev\n transformBlock(startBlock.getPrevSiblingKey(), blocks, function (block) {\n return block.merge({\n nextSibling: getNextValidSibling(startBlock, blocks, originalBlockMap)\n });\n });\n\n // update end block next\n transformBlock(endBlock.getNextSiblingKey(), blocks, function (block) {\n return block.merge({\n prevSibling: getPrevValidSibling(endBlock, blocks, originalBlockMap)\n });\n });\n\n // update end block prev\n transformBlock(endBlock.getPrevSiblingKey(), blocks, function (block) {\n return block.merge({\n nextSibling: endBlock.getNextSiblingKey()\n });\n });\n\n // update end block parent ancestors\n getAncestorsKeys(endBlock.getKey(), originalBlockMap).forEach(function (parentKey) {\n transformBlock(parentKey, blocks, function (block) {\n return block.merge({\n children: block.getChildKeys().filter(function (key) {\n return blocks.get(key);\n }),\n nextSibling: getNextValidSibling(block, blocks, originalBlockMap),\n prevSibling: getPrevValidSibling(block, blocks, originalBlockMap)\n });\n });\n });\n\n // update next delimiters all the way to a root delimiter\n getNextDelimitersBlockKeys(endBlock, originalBlockMap).forEach(function (delimiterKey) {\n return transformBlock(delimiterKey, blocks, function (block) {\n return block.merge({\n nextSibling: getNextValidSibling(block, blocks, originalBlockMap),\n prevSibling: getPrevValidSibling(block, blocks, originalBlockMap)\n });\n });\n });\n });\n};\n\nvar removeRangeFromContentState = function removeRangeFromContentState(contentState, selectionState) {\n if (selectionState.isCollapsed()) {\n return contentState;\n }\n\n var blockMap = contentState.getBlockMap();\n var startKey = selectionState.getStartKey();\n var startOffset = selectionState.getStartOffset();\n var endKey = selectionState.getEndKey();\n var endOffset = selectionState.getEndOffset();\n\n var startBlock = blockMap.get(startKey);\n var endBlock = blockMap.get(endKey);\n\n // we assume that ContentBlockNode and ContentBlocks are not mixed together\n var isExperimentalTreeBlock = startBlock instanceof ContentBlockNode;\n\n // used to retain blocks that should not be deleted to avoid orphan children\n var parentAncestors = [];\n\n if (isExperimentalTreeBlock) {\n var endBlockchildrenKeys = endBlock.getChildKeys();\n var endBlockAncestors = getAncestorsKeys(endKey, blockMap);\n\n // endBlock has unselected sibblings so we can not remove its ancestors parents\n if (endBlock.getNextSiblingKey()) {\n parentAncestors = parentAncestors.concat(endBlockAncestors);\n }\n\n // endBlock has children so can not remove this block or any of its ancestors\n if (!endBlockchildrenKeys.isEmpty()) {\n parentAncestors = parentAncestors.concat(endBlockAncestors.concat([endKey]));\n }\n\n // we need to retain all ancestors of the next delimiter block\n parentAncestors = parentAncestors.concat(getAncestorsKeys(getNextDelimiterBlockKey(endBlock, blockMap), blockMap));\n }\n\n var characterList = void 0;\n\n if (startBlock === endBlock) {\n characterList = removeFromList(startBlock.getCharacterList(), startOffset, endOffset);\n } else {\n characterList = startBlock.getCharacterList().slice(0, startOffset).concat(endBlock.getCharacterList().slice(endOffset));\n }\n\n var modifiedStart = startBlock.merge({\n text: startBlock.getText().slice(0, startOffset) + endBlock.getText().slice(endOffset),\n characterList: characterList\n });\n\n var newBlocks = blockMap.toSeq().skipUntil(function (_, k) {\n return k === startKey;\n }).takeUntil(function (_, k) {\n return k === endKey;\n }).filter(function (_, k) {\n return parentAncestors.indexOf(k) === -1;\n }).concat(Map([[endKey, null]])).map(function (_, k) {\n return k === startKey ? modifiedStart : null;\n });\n\n var updatedBlockMap = blockMap.merge(newBlocks).filter(function (block) {\n return !!block;\n });\n\n if (isExperimentalTreeBlock) {\n updatedBlockMap = updateBlockMapLinks(updatedBlockMap, startBlock, endBlock, blockMap);\n }\n\n return contentState.merge({\n blockMap: updatedBlockMap,\n selectionBefore: selectionState,\n selectionAfter: selectionState.merge({\n anchorKey: startKey,\n anchorOffset: startOffset,\n focusKey: startKey,\n focusOffset: startOffset,\n isBackward: false\n })\n });\n};\n\n/**\n * Maintain persistence for target list when removing characters on the\n * head and tail of the character list.\n */\nvar removeFromList = function removeFromList(targetList, startOffset, endOffset) {\n if (startOffset === 0) {\n while (startOffset < endOffset) {\n targetList = targetList.shift();\n startOffset++;\n }\n } else if (endOffset === targetList.count()) {\n while (endOffset > startOffset) {\n targetList = targetList.pop();\n endOffset--;\n }\n } else {\n var head = targetList.slice(0, startOffset);\n var tail = targetList.slice(endOffset);\n targetList = head.concat(tail).toList();\n }\n return targetList;\n};\n\nmodule.exports = removeRangeFromContentState;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL3JlbW92ZVJhbmdlRnJvbUNvbnRlbnRTdGF0ZS5qcz83YzRjIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFYTs7QUFFYix1QkFBdUIsbUJBQU8sQ0FBQywyRUFBb0I7QUFDbkQsZ0JBQWdCLG1CQUFPLENBQUMsbUZBQVc7O0FBRW5DLCtCQUErQixtQkFBTyxDQUFDLDJGQUE0Qjs7QUFFbkU7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUCxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0EsU0FBUztBQUNULE9BQU87QUFDUCxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1AsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUCxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsT0FBTztBQUNQLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNULE9BQU87QUFDUCxLQUFLO0FBQ0wsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0EsR0FBRztBQUNIO0FBQ0EsR0FBRztBQUNIO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL3JlbW92ZVJhbmdlRnJvbUNvbnRlbnRTdGF0ZS5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXG4gKiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEJTRC1zdHlsZSBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLiBBbiBhZGRpdGlvbmFsIGdyYW50XG4gKiBvZiBwYXRlbnQgcmlnaHRzIGNhbiBiZSBmb3VuZCBpbiB0aGUgUEFURU5UUyBmaWxlIGluIHRoZSBzYW1lIGRpcmVjdG9yeS5cbiAqXG4gKiBAcHJvdmlkZXNNb2R1bGUgcmVtb3ZlUmFuZ2VGcm9tQ29udGVudFN0YXRlXG4gKiBAZm9ybWF0XG4gKiBcbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbnZhciBDb250ZW50QmxvY2tOb2RlID0gcmVxdWlyZSgnLi9Db250ZW50QmxvY2tOb2RlJyk7XG52YXIgSW1tdXRhYmxlID0gcmVxdWlyZSgnaW1tdXRhYmxlJyk7XG5cbnZhciBnZXROZXh0RGVsaW1pdGVyQmxvY2tLZXkgPSByZXF1aXJlKCcuL2dldE5leHREZWxpbWl0ZXJCbG9ja0tleScpO1xuXG52YXIgTGlzdCA9IEltbXV0YWJsZS5MaXN0LFxuICAgIE1hcCA9IEltbXV0YWJsZS5NYXA7XG5cblxudmFyIHRyYW5zZm9ybUJsb2NrID0gZnVuY3Rpb24gdHJhbnNmb3JtQmxvY2soa2V5LCBibG9ja01hcCwgZnVuYykge1xuICBpZiAoIWtleSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHZhciBibG9jayA9IGJsb2NrTWFwLmdldChrZXkpO1xuXG4gIGlmICghYmxvY2spIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBibG9ja01hcC5zZXQoa2V5LCBmdW5jKGJsb2NrKSk7XG59O1xuXG4vKipcbiAqIEFuY2VzdG9ycyBuZWVkcyB0byBiZSBwcmVzZXJ2ZWQgd2hlbiB0aGVyZSBhcmUgbm9uIHNlbGVjdGVkXG4gKiBjaGlsZHJlbiB0byBtYWtlIHN1cmUgd2UgZG8gbm90IGxlYXZlIGFueSBvcnBoYW5zIGJlaGluZFxuICovXG52YXIgZ2V0QW5jZXN0b3JzS2V5cyA9IGZ1bmN0aW9uIGdldEFuY2VzdG9yc0tleXMoYmxvY2tLZXksIGJsb2NrTWFwKSB7XG4gIHZhciBwYXJlbnRzID0gW107XG5cbiAgaWYgKCFibG9ja0tleSkge1xuICAgIHJldHVybiBwYXJlbnRzO1xuICB9XG5cbiAgdmFyIGJsb2NrTm9kZSA9IGJsb2NrTWFwLmdldChibG9ja0tleSk7XG4gIHdoaWxlIChibG9ja05vZGUgJiYgYmxvY2tOb2RlLmdldFBhcmVudEtleSgpKSB7XG4gICAgdmFyIHBhcmVudEtleSA9IGJsb2NrTm9kZS5nZXRQYXJlbnRLZXkoKTtcbiAgICBpZiAocGFyZW50S2V5KSB7XG4gICAgICBwYXJlbnRzLnB1c2gocGFyZW50S2V5KTtcbiAgICB9XG4gICAgYmxvY2tOb2RlID0gcGFyZW50S2V5ID8gYmxvY2tNYXAuZ2V0KHBhcmVudEtleSkgOiBudWxsO1xuICB9XG5cbiAgcmV0dXJuIHBhcmVudHM7XG59O1xuXG4vKipcbiAqIEdldCBhbGwgbmV4dCBkZWxpbWl0ZXIga2V5cyB1bnRpbCB3ZSBoaXQgYSByb290IGRlbGltaXRlciBhbmQgcmV0dXJuXG4gKiBhbiBhcnJheSBvZiBrZXkgcmVmZXJlbmNlc1xuICovXG52YXIgZ2V0TmV4dERlbGltaXRlcnNCbG9ja0tleXMgPSBmdW5jdGlvbiBnZXROZXh0RGVsaW1pdGVyc0Jsb2NrS2V5cyhibG9jaywgYmxvY2tNYXApIHtcbiAgdmFyIG5leHREZWxpbWl0ZXJzID0gW107XG5cbiAgaWYgKCFibG9jaykge1xuICAgIHJldHVybiBuZXh0RGVsaW1pdGVycztcbiAgfVxuXG4gIHZhciBuZXh0RGVsaW1pdGVyID0gZ2V0TmV4dERlbGltaXRlckJsb2NrS2V5KGJsb2NrLCBibG9ja01hcCk7XG4gIHdoaWxlIChuZXh0RGVsaW1pdGVyICYmIGJsb2NrTWFwLmdldChuZXh0RGVsaW1pdGVyKSkge1xuICAgIHZhciBfYmxvY2sgPSBibG9ja01hcC5nZXQobmV4dERlbGltaXRlcik7XG4gICAgbmV4dERlbGltaXRlcnMucHVzaChuZXh0RGVsaW1pdGVyKTtcblxuICAgIC8vIHdlIGRvIG5vdCBuZWVkIHRvIGtlZXAgY2hlY2tpbmcgYWxsIHJvb3Qgbm9kZSBzaWJsaW5ncywganVzdCB0aGUgZmlyc3Qgb2NjdXJhbmNlXG4gICAgbmV4dERlbGltaXRlciA9IF9ibG9jay5nZXRQYXJlbnRLZXkoKSA/IGdldE5leHREZWxpbWl0ZXJCbG9ja0tleShfYmxvY2ssIGJsb2NrTWFwKSA6IG51bGw7XG4gIH1cblxuICByZXR1cm4gbmV4dERlbGltaXRlcnM7XG59O1xuXG52YXIgZ2V0TmV4dFZhbGlkU2libGluZyA9IGZ1bmN0aW9uIGdldE5leHRWYWxpZFNpYmxpbmcoYmxvY2ssIGJsb2NrTWFwLCBvcmlnaW5hbEJsb2NrTWFwKSB7XG4gIGlmICghYmxvY2spIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIC8vIG5vdGUgdGhhdCB3ZSBuZWVkIHRvIG1ha2Ugc3VyZSB3ZSByZWZlciB0byB0aGUgb3JpZ2luYWwgYmxvY2sgc2luY2UgdGhpc1xuICAvLyBmdW5jdGlvbiBpcyBjYWxsZWQgd2l0aGluIGEgd2l0aE11dGF0aW9uc1xuICB2YXIgbmV4dFZhbGlkU2libGluZ0tleSA9IG9yaWdpbmFsQmxvY2tNYXAuZ2V0KGJsb2NrLmdldEtleSgpKS5nZXROZXh0U2libGluZ0tleSgpO1xuXG4gIHdoaWxlIChuZXh0VmFsaWRTaWJsaW5nS2V5ICYmICFibG9ja01hcC5nZXQobmV4dFZhbGlkU2libGluZ0tleSkpIHtcbiAgICBuZXh0VmFsaWRTaWJsaW5nS2V5ID0gb3JpZ2luYWxCbG9ja01hcC5nZXQobmV4dFZhbGlkU2libGluZ0tleSkuZ2V0TmV4dFNpYmxpbmdLZXkoKSB8fCBudWxsO1xuICB9XG5cbiAgcmV0dXJuIG5leHRWYWxpZFNpYmxpbmdLZXk7XG59O1xuXG52YXIgZ2V0UHJldlZhbGlkU2libGluZyA9IGZ1bmN0aW9uIGdldFByZXZWYWxpZFNpYmxpbmcoYmxvY2ssIGJsb2NrTWFwLCBvcmlnaW5hbEJsb2NrTWFwKSB7XG4gIGlmICghYmxvY2spIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIC8vIG5vdGUgdGhhdCB3ZSBuZWVkIHRvIG1ha2Ugc3VyZSB3ZSByZWZlciB0byB0aGUgb3JpZ2luYWwgYmxvY2sgc2luY2UgdGhpc1xuICAvLyBmdW5jdGlvbiBpcyBjYWxsZWQgd2l0aGluIGEgd2l0aE11dGF0aW9uc1xuICB2YXIgcHJldlZhbGlkU2libGluZ0tleSA9IG9yaWdpbmFsQmxvY2tNYXAuZ2V0KGJsb2NrLmdldEtleSgpKS5nZXRQcmV2U2libGluZ0tleSgpO1xuXG4gIHdoaWxlIChwcmV2VmFsaWRTaWJsaW5nS2V5ICYmICFibG9ja01hcC5nZXQocHJldlZhbGlkU2libGluZ0tleSkpIHtcbiAgICBwcmV2VmFsaWRTaWJsaW5nS2V5ID0gb3JpZ2luYWxCbG9ja01hcC5nZXQocHJldlZhbGlkU2libGluZ0tleSkuZ2V0UHJldlNpYmxpbmdLZXkoKSB8fCBudWxsO1xuICB9XG5cbiAgcmV0dXJuIHByZXZWYWxpZFNpYmxpbmdLZXk7XG59O1xuXG52YXIgdXBkYXRlQmxvY2tNYXBMaW5rcyA9IGZ1bmN0aW9uIHVwZGF0ZUJsb2NrTWFwTGlua3MoYmxvY2tNYXAsIHN0YXJ0QmxvY2ssIGVuZEJsb2NrLCBvcmlnaW5hbEJsb2NrTWFwKSB7XG4gIHJldHVybiBibG9ja01hcC53aXRoTXV0YXRpb25zKGZ1bmN0aW9uIChibG9ja3MpIHtcbiAgICAvLyB1cGRhdGUgc3RhcnQgYmxvY2sgaWYgaXRzIHJldGFpbmVkXG4gICAgdHJhbnNmb3JtQmxvY2soc3RhcnRCbG9jay5nZXRLZXkoKSwgYmxvY2tzLCBmdW5jdGlvbiAoYmxvY2spIHtcbiAgICAgIHJldHVybiBibG9jay5tZXJnZSh7XG4gICAgICAgIG5leHRTaWJsaW5nOiBnZXROZXh0VmFsaWRTaWJsaW5nKHN0YXJ0QmxvY2ssIGJsb2Nrcywgb3JpZ2luYWxCbG9ja01hcCksXG4gICAgICAgIHByZXZTaWJsaW5nOiBnZXRQcmV2VmFsaWRTaWJsaW5nKHN0YXJ0QmxvY2ssIGJsb2Nrcywgb3JpZ2luYWxCbG9ja01hcClcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgLy8gdXBkYXRlIGVuZGJsb2NrIGlmIGl0cyByZXRhaW5lZFxuICAgIHRyYW5zZm9ybUJsb2NrKGVuZEJsb2NrLmdldEtleSgpLCBibG9ja3MsIGZ1bmN0aW9uIChibG9jaykge1xuICAgICAgcmV0dXJuIGJsb2NrLm1lcmdlKHtcbiAgICAgICAgbmV4dFNpYmxpbmc6IGdldE5leHRWYWxpZFNpYmxpbmcoZW5kQmxvY2ssIGJsb2Nrcywgb3JpZ2luYWxCbG9ja01hcCksXG4gICAgICAgIHByZXZTaWJsaW5nOiBnZXRQcmV2VmFsaWRTaWJsaW5nKGVuZEJsb2NrLCBibG9ja3MsIG9yaWdpbmFsQmxvY2tNYXApXG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIC8vIHVwZGF0ZSBzdGFydCBibG9jayBwYXJlbnQgYW5jZXN0b3JzXG4gICAgZ2V0QW5jZXN0b3JzS2V5cyhzdGFydEJsb2NrLmdldEtleSgpLCBvcmlnaW5hbEJsb2NrTWFwKS5mb3JFYWNoKGZ1bmN0aW9uIChwYXJlbnRLZXkpIHtcbiAgICAgIHJldHVybiB0cmFuc2Zvcm1CbG9jayhwYXJlbnRLZXksIGJsb2NrcywgZnVuY3Rpb24gKGJsb2NrKSB7XG4gICAgICAgIHJldHVybiBibG9jay5tZXJnZSh7XG4gICAgICAgICAgY2hpbGRyZW46IGJsb2NrLmdldENoaWxkS2V5cygpLmZpbHRlcihmdW5jdGlvbiAoa2V5KSB7XG4gICAgICAgICAgICByZXR1cm4gYmxvY2tzLmdldChrZXkpO1xuICAgICAgICAgIH0pLFxuICAgICAgICAgIG5leHRTaWJsaW5nOiBnZXROZXh0VmFsaWRTaWJsaW5nKGJsb2NrLCBibG9ja3MsIG9yaWdpbmFsQmxvY2tNYXApLFxuICAgICAgICAgIHByZXZTaWJsaW5nOiBnZXRQcmV2VmFsaWRTaWJsaW5nKGJsb2NrLCBibG9ja3MsIG9yaWdpbmFsQmxvY2tNYXApXG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICAvLyB1cGRhdGUgc3RhcnQgYmxvY2sgbmV4dCAtIGNhbiBvbmx5IGhhcHBlbiBpZiBzdGFydEJsb2NrID09IGVuZEJsb2NrXG4gICAgdHJhbnNmb3JtQmxvY2soc3RhcnRCbG9jay5nZXROZXh0U2libGluZ0tleSgpLCBibG9ja3MsIGZ1bmN0aW9uIChibG9jaykge1xuICAgICAgcmV0dXJuIGJsb2NrLm1lcmdlKHtcbiAgICAgICAgcHJldlNpYmxpbmc6IHN0YXJ0QmxvY2suZ2V0UHJldlNpYmxpbmdLZXkoKVxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICAvLyB1cGRhdGUgc3RhcnQgYmxvY2sgcHJldlxuICAgIHRyYW5zZm9ybUJsb2NrKHN0YXJ0QmxvY2suZ2V0UHJldlNpYmxpbmdLZXkoKSwgYmxvY2tzLCBmdW5jdGlvbiAoYmxvY2spIHtcbiAgICAgIHJldHVybiBibG9jay5tZXJnZSh7XG4gICAgICAgIG5leHRTaWJsaW5nOiBnZXROZXh0VmFsaWRTaWJsaW5nKHN0YXJ0QmxvY2ssIGJsb2Nrcywgb3JpZ2luYWxCbG9ja01hcClcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgLy8gdXBkYXRlIGVuZCBibG9jayBuZXh0XG4gICAgdHJhbnNmb3JtQmxvY2soZW5kQmxvY2suZ2V0TmV4dFNpYmxpbmdLZXkoKSwgYmxvY2tzLCBmdW5jdGlvbiAoYmxvY2spIHtcbiAgICAgIHJldHVybiBibG9jay5tZXJnZSh7XG4gICAgICAgIHByZXZTaWJsaW5nOiBnZXRQcmV2VmFsaWRTaWJsaW5nKGVuZEJsb2NrLCBibG9ja3MsIG9yaWdpbmFsQmxvY2tNYXApXG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIC8vIHVwZGF0ZSBlbmQgYmxvY2sgcHJldlxuICAgIHRyYW5zZm9ybUJsb2NrKGVuZEJsb2NrLmdldFByZXZTaWJsaW5nS2V5KCksIGJsb2NrcywgZnVuY3Rpb24gKGJsb2NrKSB7XG4gICAgICByZXR1cm4gYmxvY2subWVyZ2Uoe1xuICAgICAgICBuZXh0U2libGluZzogZW5kQmxvY2suZ2V0TmV4dFNpYmxpbmdLZXkoKVxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICAvLyB1cGRhdGUgZW5kIGJsb2NrIHBhcmVudCBhbmNlc3RvcnNcbiAgICBnZXRBbmNlc3RvcnNLZXlzKGVuZEJsb2NrLmdldEtleSgpLCBvcmlnaW5hbEJsb2NrTWFwKS5mb3JFYWNoKGZ1bmN0aW9uIChwYXJlbnRLZXkpIHtcbiAgICAgIHRyYW5zZm9ybUJsb2NrKHBhcmVudEtleSwgYmxvY2tzLCBmdW5jdGlvbiAoYmxvY2spIHtcbiAgICAgICAgcmV0dXJuIGJsb2NrLm1lcmdlKHtcbiAgICAgICAgICBjaGlsZHJlbjogYmxvY2suZ2V0Q2hpbGRLZXlzKCkuZmlsdGVyKGZ1bmN0aW9uIChrZXkpIHtcbiAgICAgICAgICAgIHJldHVybiBibG9ja3MuZ2V0KGtleSk7XG4gICAgICAgICAgfSksXG4gICAgICAgICAgbmV4dFNpYmxpbmc6IGdldE5leHRWYWxpZFNpYmxpbmcoYmxvY2ssIGJsb2Nrcywgb3JpZ2luYWxCbG9ja01hcCksXG4gICAgICAgICAgcHJldlNpYmxpbmc6IGdldFByZXZWYWxpZFNpYmxpbmcoYmxvY2ssIGJsb2Nrcywgb3JpZ2luYWxCbG9ja01hcClcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIC8vIHVwZGF0ZSBuZXh0IGRlbGltaXRlcnMgYWxsIHRoZSB3YXkgdG8gYSByb290IGRlbGltaXRlclxuICAgIGdldE5leHREZWxpbWl0ZXJzQmxvY2tLZXlzKGVuZEJsb2NrLCBvcmlnaW5hbEJsb2NrTWFwKS5mb3JFYWNoKGZ1bmN0aW9uIChkZWxpbWl0ZXJLZXkpIHtcbiAgICAgIHJldHVybiB0cmFuc2Zvcm1CbG9jayhkZWxpbWl0ZXJLZXksIGJsb2NrcywgZnVuY3Rpb24gKGJsb2NrKSB7XG4gICAgICAgIHJldHVybiBibG9jay5tZXJnZSh7XG4gICAgICAgICAgbmV4dFNpYmxpbmc6IGdldE5leHRWYWxpZFNpYmxpbmcoYmxvY2ssIGJsb2Nrcywgb3JpZ2luYWxCbG9ja01hcCksXG4gICAgICAgICAgcHJldlNpYmxpbmc6IGdldFByZXZWYWxpZFNpYmxpbmcoYmxvY2ssIGJsb2Nrcywgb3JpZ2luYWxCbG9ja01hcClcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfSk7XG59O1xuXG52YXIgcmVtb3ZlUmFuZ2VGcm9tQ29udGVudFN0YXRlID0gZnVuY3Rpb24gcmVtb3ZlUmFuZ2VGcm9tQ29udGVudFN0YXRlKGNvbnRlbnRTdGF0ZSwgc2VsZWN0aW9uU3RhdGUpIHtcbiAgaWYgKHNlbGVjdGlvblN0YXRlLmlzQ29sbGFwc2VkKCkpIHtcbiAgICByZXR1cm4gY29udGVudFN0YXRlO1xuICB9XG5cbiAgdmFyIGJsb2NrTWFwID0gY29udGVudFN0YXRlLmdldEJsb2NrTWFwKCk7XG4gIHZhciBzdGFydEtleSA9IHNlbGVjdGlvblN0YXRlLmdldFN0YXJ0S2V5KCk7XG4gIHZhciBzdGFydE9mZnNldCA9IHNlbGVjdGlvblN0YXRlLmdldFN0YXJ0T2Zmc2V0KCk7XG4gIHZhciBlbmRLZXkgPSBzZWxlY3Rpb25TdGF0ZS5nZXRFbmRLZXkoKTtcbiAgdmFyIGVuZE9mZnNldCA9IHNlbGVjdGlvblN0YXRlLmdldEVuZE9mZnNldCgpO1xuXG4gIHZhciBzdGFydEJsb2NrID0gYmxvY2tNYXAuZ2V0KHN0YXJ0S2V5KTtcbiAgdmFyIGVuZEJsb2NrID0gYmxvY2tNYXAuZ2V0KGVuZEtleSk7XG5cbiAgLy8gd2UgYXNzdW1lIHRoYXQgQ29udGVudEJsb2NrTm9kZSBhbmQgQ29udGVudEJsb2NrcyBhcmUgbm90IG1peGVkIHRvZ2V0aGVyXG4gIHZhciBpc0V4cGVyaW1lbnRhbFRyZWVCbG9jayA9IHN0YXJ0QmxvY2sgaW5zdGFuY2VvZiBDb250ZW50QmxvY2tOb2RlO1xuXG4gIC8vIHVzZWQgdG8gcmV0YWluIGJsb2NrcyB0aGF0IHNob3VsZCBub3QgYmUgZGVsZXRlZCB0byBhdm9pZCBvcnBoYW4gY2hpbGRyZW5cbiAgdmFyIHBhcmVudEFuY2VzdG9ycyA9IFtdO1xuXG4gIGlmIChpc0V4cGVyaW1lbnRhbFRyZWVCbG9jaykge1xuICAgIHZhciBlbmRCbG9ja2NoaWxkcmVuS2V5cyA9IGVuZEJsb2NrLmdldENoaWxkS2V5cygpO1xuICAgIHZhciBlbmRCbG9ja0FuY2VzdG9ycyA9IGdldEFuY2VzdG9yc0tleXMoZW5kS2V5LCBibG9ja01hcCk7XG5cbiAgICAvLyBlbmRCbG9jayBoYXMgdW5zZWxlY3RlZCBzaWJibGluZ3Mgc28gd2UgY2FuIG5vdCByZW1vdmUgaXRzIGFuY2VzdG9ycyBwYXJlbnRzXG4gICAgaWYgKGVuZEJsb2NrLmdldE5leHRTaWJsaW5nS2V5KCkpIHtcbiAgICAgIHBhcmVudEFuY2VzdG9ycyA9IHBhcmVudEFuY2VzdG9ycy5jb25jYXQoZW5kQmxvY2tBbmNlc3RvcnMpO1xuICAgIH1cblxuICAgIC8vIGVuZEJsb2NrIGhhcyBjaGlsZHJlbiBzbyBjYW4gbm90IHJlbW92ZSB0aGlzIGJsb2NrIG9yIGFueSBvZiBpdHMgYW5jZXN0b3JzXG4gICAgaWYgKCFlbmRCbG9ja2NoaWxkcmVuS2V5cy5pc0VtcHR5KCkpIHtcbiAgICAgIHBhcmVudEFuY2VzdG9ycyA9IHBhcmVudEFuY2VzdG9ycy5jb25jYXQoZW5kQmxvY2tBbmNlc3RvcnMuY29uY2F0KFtlbmRLZXldKSk7XG4gICAgfVxuXG4gICAgLy8gd2UgbmVlZCB0byByZXRhaW4gYWxsIGFuY2VzdG9ycyBvZiB0aGUgbmV4dCBkZWxpbWl0ZXIgYmxvY2tcbiAgICBwYXJlbnRBbmNlc3RvcnMgPSBwYXJlbnRBbmNlc3RvcnMuY29uY2F0KGdldEFuY2VzdG9yc0tleXMoZ2V0TmV4dERlbGltaXRlckJsb2NrS2V5KGVuZEJsb2NrLCBibG9ja01hcCksIGJsb2NrTWFwKSk7XG4gIH1cblxuICB2YXIgY2hhcmFjdGVyTGlzdCA9IHZvaWQgMDtcblxuICBpZiAoc3RhcnRCbG9jayA9PT0gZW5kQmxvY2spIHtcbiAgICBjaGFyYWN0ZXJMaXN0ID0gcmVtb3ZlRnJvbUxpc3Qoc3RhcnRCbG9jay5nZXRDaGFyYWN0ZXJMaXN0KCksIHN0YXJ0T2Zmc2V0LCBlbmRPZmZzZXQpO1xuICB9IGVsc2Uge1xuICAgIGNoYXJhY3Rlckxpc3QgPSBzdGFydEJsb2NrLmdldENoYXJhY3Rlckxpc3QoKS5zbGljZSgwLCBzdGFydE9mZnNldCkuY29uY2F0KGVuZEJsb2NrLmdldENoYXJhY3Rlckxpc3QoKS5zbGljZShlbmRPZmZzZXQpKTtcbiAgfVxuXG4gIHZhciBtb2RpZmllZFN0YXJ0ID0gc3RhcnRCbG9jay5tZXJnZSh7XG4gICAgdGV4dDogc3RhcnRCbG9jay5nZXRUZXh0KCkuc2xpY2UoMCwgc3RhcnRPZmZzZXQpICsgZW5kQmxvY2suZ2V0VGV4dCgpLnNsaWNlKGVuZE9mZnNldCksXG4gICAgY2hhcmFjdGVyTGlzdDogY2hhcmFjdGVyTGlzdFxuICB9KTtcblxuICB2YXIgbmV3QmxvY2tzID0gYmxvY2tNYXAudG9TZXEoKS5za2lwVW50aWwoZnVuY3Rpb24gKF8sIGspIHtcbiAgICByZXR1cm4gayA9PT0gc3RhcnRLZXk7XG4gIH0pLnRha2VVbnRpbChmdW5jdGlvbiAoXywgaykge1xuICAgIHJldHVybiBrID09PSBlbmRLZXk7XG4gIH0pLmZpbHRlcihmdW5jdGlvbiAoXywgaykge1xuICAgIHJldHVybiBwYXJlbnRBbmNlc3RvcnMuaW5kZXhPZihrKSA9PT0gLTE7XG4gIH0pLmNvbmNhdChNYXAoW1tlbmRLZXksIG51bGxdXSkpLm1hcChmdW5jdGlvbiAoXywgaykge1xuICAgIHJldHVybiBrID09PSBzdGFydEtleSA/IG1vZGlmaWVkU3RhcnQgOiBudWxsO1xuICB9KTtcblxuICB2YXIgdXBkYXRlZEJsb2NrTWFwID0gYmxvY2tNYXAubWVyZ2UobmV3QmxvY2tzKS5maWx0ZXIoZnVuY3Rpb24gKGJsb2NrKSB7XG4gICAgcmV0dXJuICEhYmxvY2s7XG4gIH0pO1xuXG4gIGlmIChpc0V4cGVyaW1lbnRhbFRyZWVCbG9jaykge1xuICAgIHVwZGF0ZWRCbG9ja01hcCA9IHVwZGF0ZUJsb2NrTWFwTGlua3ModXBkYXRlZEJsb2NrTWFwLCBzdGFydEJsb2NrLCBlbmRCbG9jaywgYmxvY2tNYXApO1xuICB9XG5cbiAgcmV0dXJuIGNvbnRlbnRTdGF0ZS5tZXJnZSh7XG4gICAgYmxvY2tNYXA6IHVwZGF0ZWRCbG9ja01hcCxcbiAgICBzZWxlY3Rpb25CZWZvcmU6IHNlbGVjdGlvblN0YXRlLFxuICAgIHNlbGVjdGlvbkFmdGVyOiBzZWxlY3Rpb25TdGF0ZS5tZXJnZSh7XG4gICAgICBhbmNob3JLZXk6IHN0YXJ0S2V5LFxuICAgICAgYW5jaG9yT2Zmc2V0OiBzdGFydE9mZnNldCxcbiAgICAgIGZvY3VzS2V5OiBzdGFydEtleSxcbiAgICAgIGZvY3VzT2Zmc2V0OiBzdGFydE9mZnNldCxcbiAgICAgIGlzQmFja3dhcmQ6IGZhbHNlXG4gICAgfSlcbiAgfSk7XG59O1xuXG4vKipcbiAqIE1haW50YWluIHBlcnNpc3RlbmNlIGZvciB0YXJnZXQgbGlzdCB3aGVuIHJlbW92aW5nIGNoYXJhY3RlcnMgb24gdGhlXG4gKiBoZWFkIGFuZCB0YWlsIG9mIHRoZSBjaGFyYWN0ZXIgbGlzdC5cbiAqL1xudmFyIHJlbW92ZUZyb21MaXN0ID0gZnVuY3Rpb24gcmVtb3ZlRnJvbUxpc3QodGFyZ2V0TGlzdCwgc3RhcnRPZmZzZXQsIGVuZE9mZnNldCkge1xuICBpZiAoc3RhcnRPZmZzZXQgPT09IDApIHtcbiAgICB3aGlsZSAoc3RhcnRPZmZzZXQgPCBlbmRPZmZzZXQpIHtcbiAgICAgIHRhcmdldExpc3QgPSB0YXJnZXRMaXN0LnNoaWZ0KCk7XG4gICAgICBzdGFydE9mZnNldCsrO1xuICAgIH1cbiAgfSBlbHNlIGlmIChlbmRPZmZzZXQgPT09IHRhcmdldExpc3QuY291bnQoKSkge1xuICAgIHdoaWxlIChlbmRPZmZzZXQgPiBzdGFydE9mZnNldCkge1xuICAgICAgdGFyZ2V0TGlzdCA9IHRhcmdldExpc3QucG9wKCk7XG4gICAgICBlbmRPZmZzZXQtLTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgdmFyIGhlYWQgPSB0YXJnZXRMaXN0LnNsaWNlKDAsIHN0YXJ0T2Zmc2V0KTtcbiAgICB2YXIgdGFpbCA9IHRhcmdldExpc3Quc2xpY2UoZW5kT2Zmc2V0KTtcbiAgICB0YXJnZXRMaXN0ID0gaGVhZC5jb25jYXQodGFpbCkudG9MaXN0KCk7XG4gIH1cbiAgcmV0dXJuIHRhcmdldExpc3Q7XG59O1xuXG5tb2R1bGUuZXhwb3J0cyA9IHJlbW92ZVJhbmdlRnJvbUNvbnRlbnRTdGF0ZTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/removeRangeFromContentState.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nvar ContentBlockNode = __webpack_require__(/*! ./ContentBlockNode */ \"./node_modules/draft-js/lib/ContentBlockNode.js\");\n\nvar getNextDelimiterBlockKey = __webpack_require__(/*! ./getNextDelimiterBlockKey */ \"./node_modules/draft-js/lib/getNextDelimiterBlockKey.js\");\n\nvar Immutable = __webpack_require__(/*! immutable */ \"./node_modules/draft-js/node_modules/immutable/dist/immutable.js\");\n\nvar List = Immutable.List,\n Map = Immutable.Map;\n\nvar transformBlock = function transformBlock(key, blockMap, func) {\n if (!key) {\n return;\n }\n\n var block = blockMap.get(key);\n\n if (!block) {\n return;\n }\n\n blockMap.set(key, func(block));\n};\n/**\n * Ancestors needs to be preserved when there are non selected\n * children to make sure we do not leave any orphans behind\n */\n\n\nvar getAncestorsKeys = function getAncestorsKeys(blockKey, blockMap) {\n var parents = [];\n\n if (!blockKey) {\n return parents;\n }\n\n var blockNode = blockMap.get(blockKey);\n\n while (blockNode && blockNode.getParentKey()) {\n var parentKey = blockNode.getParentKey();\n\n if (parentKey) {\n parents.push(parentKey);\n }\n\n blockNode = parentKey ? blockMap.get(parentKey) : null;\n }\n\n return parents;\n};\n/**\n * Get all next delimiter keys until we hit a root delimiter and return\n * an array of key references\n */\n\n\nvar getNextDelimitersBlockKeys = function getNextDelimitersBlockKeys(block, blockMap) {\n var nextDelimiters = [];\n\n if (!block) {\n return nextDelimiters;\n }\n\n var nextDelimiter = getNextDelimiterBlockKey(block, blockMap);\n\n while (nextDelimiter && blockMap.get(nextDelimiter)) {\n var _block = blockMap.get(nextDelimiter);\n\n nextDelimiters.push(nextDelimiter); // we do not need to keep checking all root node siblings, just the first occurance\n\n nextDelimiter = _block.getParentKey() ? getNextDelimiterBlockKey(_block, blockMap) : null;\n }\n\n return nextDelimiters;\n};\n\nvar getNextValidSibling = function getNextValidSibling(block, blockMap, originalBlockMap) {\n if (!block) {\n return null;\n } // note that we need to make sure we refer to the original block since this\n // function is called within a withMutations\n\n\n var nextValidSiblingKey = originalBlockMap.get(block.getKey()).getNextSiblingKey();\n\n while (nextValidSiblingKey && !blockMap.get(nextValidSiblingKey)) {\n nextValidSiblingKey = originalBlockMap.get(nextValidSiblingKey).getNextSiblingKey() || null;\n }\n\n return nextValidSiblingKey;\n};\n\nvar getPrevValidSibling = function getPrevValidSibling(block, blockMap, originalBlockMap) {\n if (!block) {\n return null;\n } // note that we need to make sure we refer to the original block since this\n // function is called within a withMutations\n\n\n var prevValidSiblingKey = originalBlockMap.get(block.getKey()).getPrevSiblingKey();\n\n while (prevValidSiblingKey && !blockMap.get(prevValidSiblingKey)) {\n prevValidSiblingKey = originalBlockMap.get(prevValidSiblingKey).getPrevSiblingKey() || null;\n }\n\n return prevValidSiblingKey;\n};\n\nvar updateBlockMapLinks = function updateBlockMapLinks(blockMap, startBlock, endBlock, originalBlockMap) {\n return blockMap.withMutations(function (blocks) {\n // update start block if its retained\n transformBlock(startBlock.getKey(), blocks, function (block) {\n return block.merge({\n nextSibling: getNextValidSibling(block, blocks, originalBlockMap),\n prevSibling: getPrevValidSibling(block, blocks, originalBlockMap)\n });\n }); // update endblock if its retained\n\n transformBlock(endBlock.getKey(), blocks, function (block) {\n return block.merge({\n nextSibling: getNextValidSibling(block, blocks, originalBlockMap),\n prevSibling: getPrevValidSibling(block, blocks, originalBlockMap)\n });\n }); // update start block parent ancestors\n\n getAncestorsKeys(startBlock.getKey(), originalBlockMap).forEach(function (parentKey) {\n return transformBlock(parentKey, blocks, function (block) {\n return block.merge({\n children: block.getChildKeys().filter(function (key) {\n return blocks.get(key);\n }),\n nextSibling: getNextValidSibling(block, blocks, originalBlockMap),\n prevSibling: getPrevValidSibling(block, blocks, originalBlockMap)\n });\n });\n }); // update start block next - can only happen if startBlock == endBlock\n\n transformBlock(startBlock.getNextSiblingKey(), blocks, function (block) {\n return block.merge({\n prevSibling: startBlock.getPrevSiblingKey()\n });\n }); // update start block prev\n\n transformBlock(startBlock.getPrevSiblingKey(), blocks, function (block) {\n return block.merge({\n nextSibling: getNextValidSibling(block, blocks, originalBlockMap)\n });\n }); // update end block next\n\n transformBlock(endBlock.getNextSiblingKey(), blocks, function (block) {\n return block.merge({\n prevSibling: getPrevValidSibling(block, blocks, originalBlockMap)\n });\n }); // update end block prev\n\n transformBlock(endBlock.getPrevSiblingKey(), blocks, function (block) {\n return block.merge({\n nextSibling: endBlock.getNextSiblingKey()\n });\n }); // update end block parent ancestors\n\n getAncestorsKeys(endBlock.getKey(), originalBlockMap).forEach(function (parentKey) {\n transformBlock(parentKey, blocks, function (block) {\n return block.merge({\n children: block.getChildKeys().filter(function (key) {\n return blocks.get(key);\n }),\n nextSibling: getNextValidSibling(block, blocks, originalBlockMap),\n prevSibling: getPrevValidSibling(block, blocks, originalBlockMap)\n });\n });\n }); // update next delimiters all the way to a root delimiter\n\n getNextDelimitersBlockKeys(endBlock, originalBlockMap).forEach(function (delimiterKey) {\n return transformBlock(delimiterKey, blocks, function (block) {\n return block.merge({\n nextSibling: getNextValidSibling(block, blocks, originalBlockMap),\n prevSibling: getPrevValidSibling(block, blocks, originalBlockMap)\n });\n });\n }); // if parent (startBlock) was deleted\n\n if (blockMap.get(startBlock.getKey()) == null && blockMap.get(endBlock.getKey()) != null && endBlock.getParentKey() === startBlock.getKey() && endBlock.getPrevSiblingKey() == null) {\n var prevSiblingKey = startBlock.getPrevSiblingKey(); // endBlock becomes next sibling of parent's prevSibling\n\n transformBlock(endBlock.getKey(), blocks, function (block) {\n return block.merge({\n prevSibling: prevSiblingKey\n });\n });\n transformBlock(prevSiblingKey, blocks, function (block) {\n return block.merge({\n nextSibling: endBlock.getKey()\n });\n }); // Update parent for previous parent's children, and children for that parent\n\n var prevSibling = prevSiblingKey ? blockMap.get(prevSiblingKey) : null;\n var newParentKey = prevSibling ? prevSibling.getParentKey() : null;\n startBlock.getChildKeys().forEach(function (childKey) {\n transformBlock(childKey, blocks, function (block) {\n return block.merge({\n parent: newParentKey // set to null if there is no parent\n\n });\n });\n });\n\n if (newParentKey != null) {\n var newParent = blockMap.get(newParentKey);\n transformBlock(newParentKey, blocks, function (block) {\n return block.merge({\n children: newParent.getChildKeys().concat(startBlock.getChildKeys())\n });\n });\n } // last child of deleted parent should point to next sibling\n\n\n transformBlock(startBlock.getChildKeys().find(function (key) {\n var block = blockMap.get(key);\n return block.getNextSiblingKey() === null;\n }), blocks, function (block) {\n return block.merge({\n nextSibling: startBlock.getNextSiblingKey()\n });\n });\n }\n });\n};\n\nvar removeRangeFromContentState = function removeRangeFromContentState(contentState, selectionState) {\n if (selectionState.isCollapsed()) {\n return contentState;\n }\n\n var blockMap = contentState.getBlockMap();\n var startKey = selectionState.getStartKey();\n var startOffset = selectionState.getStartOffset();\n var endKey = selectionState.getEndKey();\n var endOffset = selectionState.getEndOffset();\n var startBlock = blockMap.get(startKey);\n var endBlock = blockMap.get(endKey); // we assume that ContentBlockNode and ContentBlocks are not mixed together\n\n var isExperimentalTreeBlock = startBlock instanceof ContentBlockNode; // used to retain blocks that should not be deleted to avoid orphan children\n\n var parentAncestors = [];\n\n if (isExperimentalTreeBlock) {\n var endBlockchildrenKeys = endBlock.getChildKeys();\n var endBlockAncestors = getAncestorsKeys(endKey, blockMap); // endBlock has unselected siblings so we can not remove its ancestors parents\n\n if (endBlock.getNextSiblingKey()) {\n parentAncestors = parentAncestors.concat(endBlockAncestors);\n } // endBlock has children so can not remove this block or any of its ancestors\n\n\n if (!endBlockchildrenKeys.isEmpty()) {\n parentAncestors = parentAncestors.concat(endBlockAncestors.concat([endKey]));\n } // we need to retain all ancestors of the next delimiter block\n\n\n parentAncestors = parentAncestors.concat(getAncestorsKeys(getNextDelimiterBlockKey(endBlock, blockMap), blockMap));\n }\n\n var characterList;\n\n if (startBlock === endBlock) {\n characterList = removeFromList(startBlock.getCharacterList(), startOffset, endOffset);\n } else {\n characterList = startBlock.getCharacterList().slice(0, startOffset).concat(endBlock.getCharacterList().slice(endOffset));\n }\n\n var modifiedStart = startBlock.merge({\n text: startBlock.getText().slice(0, startOffset) + endBlock.getText().slice(endOffset),\n characterList: characterList\n }); // If cursor (collapsed) is at the start of the first child, delete parent\n // instead of child\n\n var shouldDeleteParent = isExperimentalTreeBlock && startOffset === 0 && endOffset === 0 && endBlock.getParentKey() === startKey && endBlock.getPrevSiblingKey() == null;\n var newBlocks = shouldDeleteParent ? Map([[startKey, null]]) : blockMap.toSeq().skipUntil(function (_, k) {\n return k === startKey;\n }).takeUntil(function (_, k) {\n return k === endKey;\n }).filter(function (_, k) {\n return parentAncestors.indexOf(k) === -1;\n }).concat(Map([[endKey, null]])).map(function (_, k) {\n return k === startKey ? modifiedStart : null;\n });\n var updatedBlockMap = blockMap.merge(newBlocks).filter(function (block) {\n return !!block;\n }); // Only update tree block pointers if the range is across blocks\n\n if (isExperimentalTreeBlock && startBlock !== endBlock) {\n updatedBlockMap = updateBlockMapLinks(updatedBlockMap, startBlock, endBlock, blockMap);\n }\n\n return contentState.merge({\n blockMap: updatedBlockMap,\n selectionBefore: selectionState,\n selectionAfter: selectionState.merge({\n anchorKey: startKey,\n anchorOffset: startOffset,\n focusKey: startKey,\n focusOffset: startOffset,\n isBackward: false\n })\n });\n};\n/**\n * Maintain persistence for target list when removing characters on the\n * head and tail of the character list.\n */\n\n\nvar removeFromList = function removeFromList(targetList, startOffset, endOffset) {\n if (startOffset === 0) {\n while (startOffset < endOffset) {\n targetList = targetList.shift();\n startOffset++;\n }\n } else if (endOffset === targetList.count()) {\n while (endOffset > startOffset) {\n targetList = targetList.pop();\n endOffset--;\n }\n } else {\n var head = targetList.slice(0, startOffset);\n var tail = targetList.slice(endOffset);\n targetList = head.concat(tail).toList();\n }\n\n return targetList;\n};\n\nmodule.exports = removeRangeFromContentState;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL3JlbW92ZVJhbmdlRnJvbUNvbnRlbnRTdGF0ZS5qcz83YzRjIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ2E7O0FBRWIsdUJBQXVCLG1CQUFPLENBQUMsMkVBQW9COztBQUVuRCwrQkFBK0IsbUJBQU8sQ0FBQywyRkFBNEI7O0FBRW5FLGdCQUFnQixtQkFBTyxDQUFDLG1GQUFXOztBQUVuQztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBLHVDQUF1Qzs7QUFFdkM7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUCxLQUFLLEVBQUU7O0FBRVA7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1AsS0FBSyxFQUFFOztBQUVQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQTtBQUNBLFNBQVM7QUFDVCxPQUFPO0FBQ1AsS0FBSyxFQUFFOztBQUVQO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUCxLQUFLLEVBQUU7O0FBRVA7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQLEtBQUssRUFBRTs7QUFFUDtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1AsS0FBSyxFQUFFOztBQUVQO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUCxLQUFLLEVBQUU7O0FBRVA7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0EsU0FBUztBQUNULE9BQU87QUFDUCxLQUFLLEVBQUU7O0FBRVA7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVCxPQUFPO0FBQ1AsS0FBSyxFQUFFOztBQUVQO0FBQ0EsMERBQTBEOztBQUUxRDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVCxPQUFPLEVBQUU7O0FBRVQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLFdBQVc7QUFDWCxTQUFTO0FBQ1QsT0FBTzs7QUFFUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYLFNBQVM7QUFDVCxPQUFPOzs7QUFHUDtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLFNBQVM7QUFDVCxPQUFPO0FBQ1A7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0NBQXNDOztBQUV0Qyx1RUFBdUU7O0FBRXZFOztBQUVBO0FBQ0E7QUFDQSwrREFBK0Q7O0FBRS9EO0FBQ0E7QUFDQSxLQUFLOzs7QUFHTDtBQUNBO0FBQ0EsS0FBSzs7O0FBR0w7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRyxFQUFFO0FBQ0w7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0EsR0FBRztBQUNIO0FBQ0EsR0FBRztBQUNIO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxHQUFHLEVBQUU7O0FBRUw7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTCxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL3JlbW92ZVJhbmdlRnJvbUNvbnRlbnRTdGF0ZS5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSBGYWNlYm9vaywgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICogQGZvcm1hdFxuICogXG4gKiBAZW1haWxzIG9uY2FsbCtkcmFmdF9qc1xuICovXG4ndXNlIHN0cmljdCc7XG5cbnZhciBDb250ZW50QmxvY2tOb2RlID0gcmVxdWlyZShcIi4vQ29udGVudEJsb2NrTm9kZVwiKTtcblxudmFyIGdldE5leHREZWxpbWl0ZXJCbG9ja0tleSA9IHJlcXVpcmUoXCIuL2dldE5leHREZWxpbWl0ZXJCbG9ja0tleVwiKTtcblxudmFyIEltbXV0YWJsZSA9IHJlcXVpcmUoXCJpbW11dGFibGVcIik7XG5cbnZhciBMaXN0ID0gSW1tdXRhYmxlLkxpc3QsXG4gICAgTWFwID0gSW1tdXRhYmxlLk1hcDtcblxudmFyIHRyYW5zZm9ybUJsb2NrID0gZnVuY3Rpb24gdHJhbnNmb3JtQmxvY2soa2V5LCBibG9ja01hcCwgZnVuYykge1xuICBpZiAoIWtleSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHZhciBibG9jayA9IGJsb2NrTWFwLmdldChrZXkpO1xuXG4gIGlmICghYmxvY2spIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBibG9ja01hcC5zZXQoa2V5LCBmdW5jKGJsb2NrKSk7XG59O1xuLyoqXG4gKiBBbmNlc3RvcnMgbmVlZHMgdG8gYmUgcHJlc2VydmVkIHdoZW4gdGhlcmUgYXJlIG5vbiBzZWxlY3RlZFxuICogY2hpbGRyZW4gdG8gbWFrZSBzdXJlIHdlIGRvIG5vdCBsZWF2ZSBhbnkgb3JwaGFucyBiZWhpbmRcbiAqL1xuXG5cbnZhciBnZXRBbmNlc3RvcnNLZXlzID0gZnVuY3Rpb24gZ2V0QW5jZXN0b3JzS2V5cyhibG9ja0tleSwgYmxvY2tNYXApIHtcbiAgdmFyIHBhcmVudHMgPSBbXTtcblxuICBpZiAoIWJsb2NrS2V5KSB7XG4gICAgcmV0dXJuIHBhcmVudHM7XG4gIH1cblxuICB2YXIgYmxvY2tOb2RlID0gYmxvY2tNYXAuZ2V0KGJsb2NrS2V5KTtcblxuICB3aGlsZSAoYmxvY2tOb2RlICYmIGJsb2NrTm9kZS5nZXRQYXJlbnRLZXkoKSkge1xuICAgIHZhciBwYXJlbnRLZXkgPSBibG9ja05vZGUuZ2V0UGFyZW50S2V5KCk7XG5cbiAgICBpZiAocGFyZW50S2V5KSB7XG4gICAgICBwYXJlbnRzLnB1c2gocGFyZW50S2V5KTtcbiAgICB9XG5cbiAgICBibG9ja05vZGUgPSBwYXJlbnRLZXkgPyBibG9ja01hcC5nZXQocGFyZW50S2V5KSA6IG51bGw7XG4gIH1cblxuICByZXR1cm4gcGFyZW50cztcbn07XG4vKipcbiAqIEdldCBhbGwgbmV4dCBkZWxpbWl0ZXIga2V5cyB1bnRpbCB3ZSBoaXQgYSByb290IGRlbGltaXRlciBhbmQgcmV0dXJuXG4gKiBhbiBhcnJheSBvZiBrZXkgcmVmZXJlbmNlc1xuICovXG5cblxudmFyIGdldE5leHREZWxpbWl0ZXJzQmxvY2tLZXlzID0gZnVuY3Rpb24gZ2V0TmV4dERlbGltaXRlcnNCbG9ja0tleXMoYmxvY2ssIGJsb2NrTWFwKSB7XG4gIHZhciBuZXh0RGVsaW1pdGVycyA9IFtdO1xuXG4gIGlmICghYmxvY2spIHtcbiAgICByZXR1cm4gbmV4dERlbGltaXRlcnM7XG4gIH1cblxuICB2YXIgbmV4dERlbGltaXRlciA9IGdldE5leHREZWxpbWl0ZXJCbG9ja0tleShibG9jaywgYmxvY2tNYXApO1xuXG4gIHdoaWxlIChuZXh0RGVsaW1pdGVyICYmIGJsb2NrTWFwLmdldChuZXh0RGVsaW1pdGVyKSkge1xuICAgIHZhciBfYmxvY2sgPSBibG9ja01hcC5nZXQobmV4dERlbGltaXRlcik7XG5cbiAgICBuZXh0RGVsaW1pdGVycy5wdXNoKG5leHREZWxpbWl0ZXIpOyAvLyB3ZSBkbyBub3QgbmVlZCB0byBrZWVwIGNoZWNraW5nIGFsbCByb290IG5vZGUgc2libGluZ3MsIGp1c3QgdGhlIGZpcnN0IG9jY3VyYW5jZVxuXG4gICAgbmV4dERlbGltaXRlciA9IF9ibG9jay5nZXRQYXJlbnRLZXkoKSA/IGdldE5leHREZWxpbWl0ZXJCbG9ja0tleShfYmxvY2ssIGJsb2NrTWFwKSA6IG51bGw7XG4gIH1cblxuICByZXR1cm4gbmV4dERlbGltaXRlcnM7XG59O1xuXG52YXIgZ2V0TmV4dFZhbGlkU2libGluZyA9IGZ1bmN0aW9uIGdldE5leHRWYWxpZFNpYmxpbmcoYmxvY2ssIGJsb2NrTWFwLCBvcmlnaW5hbEJsb2NrTWFwKSB7XG4gIGlmICghYmxvY2spIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfSAvLyBub3RlIHRoYXQgd2UgbmVlZCB0byBtYWtlIHN1cmUgd2UgcmVmZXIgdG8gdGhlIG9yaWdpbmFsIGJsb2NrIHNpbmNlIHRoaXNcbiAgLy8gZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGhpbiBhIHdpdGhNdXRhdGlvbnNcblxuXG4gIHZhciBuZXh0VmFsaWRTaWJsaW5nS2V5ID0gb3JpZ2luYWxCbG9ja01hcC5nZXQoYmxvY2suZ2V0S2V5KCkpLmdldE5leHRTaWJsaW5nS2V5KCk7XG5cbiAgd2hpbGUgKG5leHRWYWxpZFNpYmxpbmdLZXkgJiYgIWJsb2NrTWFwLmdldChuZXh0VmFsaWRTaWJsaW5nS2V5KSkge1xuICAgIG5leHRWYWxpZFNpYmxpbmdLZXkgPSBvcmlnaW5hbEJsb2NrTWFwLmdldChuZXh0VmFsaWRTaWJsaW5nS2V5KS5nZXROZXh0U2libGluZ0tleSgpIHx8IG51bGw7XG4gIH1cblxuICByZXR1cm4gbmV4dFZhbGlkU2libGluZ0tleTtcbn07XG5cbnZhciBnZXRQcmV2VmFsaWRTaWJsaW5nID0gZnVuY3Rpb24gZ2V0UHJldlZhbGlkU2libGluZyhibG9jaywgYmxvY2tNYXAsIG9yaWdpbmFsQmxvY2tNYXApIHtcbiAgaWYgKCFibG9jaykge1xuICAgIHJldHVybiBudWxsO1xuICB9IC8vIG5vdGUgdGhhdCB3ZSBuZWVkIHRvIG1ha2Ugc3VyZSB3ZSByZWZlciB0byB0aGUgb3JpZ2luYWwgYmxvY2sgc2luY2UgdGhpc1xuICAvLyBmdW5jdGlvbiBpcyBjYWxsZWQgd2l0aGluIGEgd2l0aE11dGF0aW9uc1xuXG5cbiAgdmFyIHByZXZWYWxpZFNpYmxpbmdLZXkgPSBvcmlnaW5hbEJsb2NrTWFwLmdldChibG9jay5nZXRLZXkoKSkuZ2V0UHJldlNpYmxpbmdLZXkoKTtcblxuICB3aGlsZSAocHJldlZhbGlkU2libGluZ0tleSAmJiAhYmxvY2tNYXAuZ2V0KHByZXZWYWxpZFNpYmxpbmdLZXkpKSB7XG4gICAgcHJldlZhbGlkU2libGluZ0tleSA9IG9yaWdpbmFsQmxvY2tNYXAuZ2V0KHByZXZWYWxpZFNpYmxpbmdLZXkpLmdldFByZXZTaWJsaW5nS2V5KCkgfHwgbnVsbDtcbiAgfVxuXG4gIHJldHVybiBwcmV2VmFsaWRTaWJsaW5nS2V5O1xufTtcblxudmFyIHVwZGF0ZUJsb2NrTWFwTGlua3MgPSBmdW5jdGlvbiB1cGRhdGVCbG9ja01hcExpbmtzKGJsb2NrTWFwLCBzdGFydEJsb2NrLCBlbmRCbG9jaywgb3JpZ2luYWxCbG9ja01hcCkge1xuICByZXR1cm4gYmxvY2tNYXAud2l0aE11dGF0aW9ucyhmdW5jdGlvbiAoYmxvY2tzKSB7XG4gICAgLy8gdXBkYXRlIHN0YXJ0IGJsb2NrIGlmIGl0cyByZXRhaW5lZFxuICAgIHRyYW5zZm9ybUJsb2NrKHN0YXJ0QmxvY2suZ2V0S2V5KCksIGJsb2NrcywgZnVuY3Rpb24gKGJsb2NrKSB7XG4gICAgICByZXR1cm4gYmxvY2subWVyZ2Uoe1xuICAgICAgICBuZXh0U2libGluZzogZ2V0TmV4dFZhbGlkU2libGluZyhibG9jaywgYmxvY2tzLCBvcmlnaW5hbEJsb2NrTWFwKSxcbiAgICAgICAgcHJldlNpYmxpbmc6IGdldFByZXZWYWxpZFNpYmxpbmcoYmxvY2ssIGJsb2Nrcywgb3JpZ2luYWxCbG9ja01hcClcbiAgICAgIH0pO1xuICAgIH0pOyAvLyB1cGRhdGUgZW5kYmxvY2sgaWYgaXRzIHJldGFpbmVkXG5cbiAgICB0cmFuc2Zvcm1CbG9jayhlbmRCbG9jay5nZXRLZXkoKSwgYmxvY2tzLCBmdW5jdGlvbiAoYmxvY2spIHtcbiAgICAgIHJldHVybiBibG9jay5tZXJnZSh7XG4gICAgICAgIG5leHRTaWJsaW5nOiBnZXROZXh0VmFsaWRTaWJsaW5nKGJsb2NrLCBibG9ja3MsIG9yaWdpbmFsQmxvY2tNYXApLFxuICAgICAgICBwcmV2U2libGluZzogZ2V0UHJldlZhbGlkU2libGluZyhibG9jaywgYmxvY2tzLCBvcmlnaW5hbEJsb2NrTWFwKVxuICAgICAgfSk7XG4gICAgfSk7IC8vIHVwZGF0ZSBzdGFydCBibG9jayBwYXJlbnQgYW5jZXN0b3JzXG5cbiAgICBnZXRBbmNlc3RvcnNLZXlzKHN0YXJ0QmxvY2suZ2V0S2V5KCksIG9yaWdpbmFsQmxvY2tNYXApLmZvckVhY2goZnVuY3Rpb24gKHBhcmVudEtleSkge1xuICAgICAgcmV0dXJuIHRyYW5zZm9ybUJsb2NrKHBhcmVudEtleSwgYmxvY2tzLCBmdW5jdGlvbiAoYmxvY2spIHtcbiAgICAgICAgcmV0dXJuIGJsb2NrLm1lcmdlKHtcbiAgICAgICAgICBjaGlsZHJlbjogYmxvY2suZ2V0Q2hpbGRLZXlzKCkuZmlsdGVyKGZ1bmN0aW9uIChrZXkpIHtcbiAgICAgICAgICAgIHJldHVybiBibG9ja3MuZ2V0KGtleSk7XG4gICAgICAgICAgfSksXG4gICAgICAgICAgbmV4dFNpYmxpbmc6IGdldE5leHRWYWxpZFNpYmxpbmcoYmxvY2ssIGJsb2Nrcywgb3JpZ2luYWxCbG9ja01hcCksXG4gICAgICAgICAgcHJldlNpYmxpbmc6IGdldFByZXZWYWxpZFNpYmxpbmcoYmxvY2ssIGJsb2Nrcywgb3JpZ2luYWxCbG9ja01hcClcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9KTsgLy8gdXBkYXRlIHN0YXJ0IGJsb2NrIG5leHQgLSBjYW4gb25seSBoYXBwZW4gaWYgc3RhcnRCbG9jayA9PSBlbmRCbG9ja1xuXG4gICAgdHJhbnNmb3JtQmxvY2soc3RhcnRCbG9jay5nZXROZXh0U2libGluZ0tleSgpLCBibG9ja3MsIGZ1bmN0aW9uIChibG9jaykge1xuICAgICAgcmV0dXJuIGJsb2NrLm1lcmdlKHtcbiAgICAgICAgcHJldlNpYmxpbmc6IHN0YXJ0QmxvY2suZ2V0UHJldlNpYmxpbmdLZXkoKVxuICAgICAgfSk7XG4gICAgfSk7IC8vIHVwZGF0ZSBzdGFydCBibG9jayBwcmV2XG5cbiAgICB0cmFuc2Zvcm1CbG9jayhzdGFydEJsb2NrLmdldFByZXZTaWJsaW5nS2V5KCksIGJsb2NrcywgZnVuY3Rpb24gKGJsb2NrKSB7XG4gICAgICByZXR1cm4gYmxvY2subWVyZ2Uoe1xuICAgICAgICBuZXh0U2libGluZzogZ2V0TmV4dFZhbGlkU2libGluZyhibG9jaywgYmxvY2tzLCBvcmlnaW5hbEJsb2NrTWFwKVxuICAgICAgfSk7XG4gICAgfSk7IC8vIHVwZGF0ZSBlbmQgYmxvY2sgbmV4dFxuXG4gICAgdHJhbnNmb3JtQmxvY2soZW5kQmxvY2suZ2V0TmV4dFNpYmxpbmdLZXkoKSwgYmxvY2tzLCBmdW5jdGlvbiAoYmxvY2spIHtcbiAgICAgIHJldHVybiBibG9jay5tZXJnZSh7XG4gICAgICAgIHByZXZTaWJsaW5nOiBnZXRQcmV2VmFsaWRTaWJsaW5nKGJsb2NrLCBibG9ja3MsIG9yaWdpbmFsQmxvY2tNYXApXG4gICAgICB9KTtcbiAgICB9KTsgLy8gdXBkYXRlIGVuZCBibG9jayBwcmV2XG5cbiAgICB0cmFuc2Zvcm1CbG9jayhlbmRCbG9jay5nZXRQcmV2U2libGluZ0tleSgpLCBibG9ja3MsIGZ1bmN0aW9uIChibG9jaykge1xuICAgICAgcmV0dXJuIGJsb2NrLm1lcmdlKHtcbiAgICAgICAgbmV4dFNpYmxpbmc6IGVuZEJsb2NrLmdldE5leHRTaWJsaW5nS2V5KClcbiAgICAgIH0pO1xuICAgIH0pOyAvLyB1cGRhdGUgZW5kIGJsb2NrIHBhcmVudCBhbmNlc3RvcnNcblxuICAgIGdldEFuY2VzdG9yc0tleXMoZW5kQmxvY2suZ2V0S2V5KCksIG9yaWdpbmFsQmxvY2tNYXApLmZvckVhY2goZnVuY3Rpb24gKHBhcmVudEtleSkge1xuICAgICAgdHJhbnNmb3JtQmxvY2socGFyZW50S2V5LCBibG9ja3MsIGZ1bmN0aW9uIChibG9jaykge1xuICAgICAgICByZXR1cm4gYmxvY2subWVyZ2Uoe1xuICAgICAgICAgIGNoaWxkcmVuOiBibG9jay5nZXRDaGlsZEtleXMoKS5maWx0ZXIoZnVuY3Rpb24gKGtleSkge1xuICAgICAgICAgICAgcmV0dXJuIGJsb2Nrcy5nZXQoa2V5KTtcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBuZXh0U2libGluZzogZ2V0TmV4dFZhbGlkU2libGluZyhibG9jaywgYmxvY2tzLCBvcmlnaW5hbEJsb2NrTWFwKSxcbiAgICAgICAgICBwcmV2U2libGluZzogZ2V0UHJldlZhbGlkU2libGluZyhibG9jaywgYmxvY2tzLCBvcmlnaW5hbEJsb2NrTWFwKVxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH0pOyAvLyB1cGRhdGUgbmV4dCBkZWxpbWl0ZXJzIGFsbCB0aGUgd2F5IHRvIGEgcm9vdCBkZWxpbWl0ZXJcblxuICAgIGdldE5leHREZWxpbWl0ZXJzQmxvY2tLZXlzKGVuZEJsb2NrLCBvcmlnaW5hbEJsb2NrTWFwKS5mb3JFYWNoKGZ1bmN0aW9uIChkZWxpbWl0ZXJLZXkpIHtcbiAgICAgIHJldHVybiB0cmFuc2Zvcm1CbG9jayhkZWxpbWl0ZXJLZXksIGJsb2NrcywgZnVuY3Rpb24gKGJsb2NrKSB7XG4gICAgICAgIHJldHVybiBibG9jay5tZXJnZSh7XG4gICAgICAgICAgbmV4dFNpYmxpbmc6IGdldE5leHRWYWxpZFNpYmxpbmcoYmxvY2ssIGJsb2Nrcywgb3JpZ2luYWxCbG9ja01hcCksXG4gICAgICAgICAgcHJldlNpYmxpbmc6IGdldFByZXZWYWxpZFNpYmxpbmcoYmxvY2ssIGJsb2Nrcywgb3JpZ2luYWxCbG9ja01hcClcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9KTsgLy8gaWYgcGFyZW50IChzdGFydEJsb2NrKSB3YXMgZGVsZXRlZFxuXG4gICAgaWYgKGJsb2NrTWFwLmdldChzdGFydEJsb2NrLmdldEtleSgpKSA9PSBudWxsICYmIGJsb2NrTWFwLmdldChlbmRCbG9jay5nZXRLZXkoKSkgIT0gbnVsbCAmJiBlbmRCbG9jay5nZXRQYXJlbnRLZXkoKSA9PT0gc3RhcnRCbG9jay5nZXRLZXkoKSAmJiBlbmRCbG9jay5nZXRQcmV2U2libGluZ0tleSgpID09IG51bGwpIHtcbiAgICAgIHZhciBwcmV2U2libGluZ0tleSA9IHN0YXJ0QmxvY2suZ2V0UHJldlNpYmxpbmdLZXkoKTsgLy8gZW5kQmxvY2sgYmVjb21lcyBuZXh0IHNpYmxpbmcgb2YgcGFyZW50J3MgcHJldlNpYmxpbmdcblxuICAgICAgdHJhbnNmb3JtQmxvY2soZW5kQmxvY2suZ2V0S2V5KCksIGJsb2NrcywgZnVuY3Rpb24gKGJsb2NrKSB7XG4gICAgICAgIHJldHVybiBibG9jay5tZXJnZSh7XG4gICAgICAgICAgcHJldlNpYmxpbmc6IHByZXZTaWJsaW5nS2V5XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgICB0cmFuc2Zvcm1CbG9jayhwcmV2U2libGluZ0tleSwgYmxvY2tzLCBmdW5jdGlvbiAoYmxvY2spIHtcbiAgICAgICAgcmV0dXJuIGJsb2NrLm1lcmdlKHtcbiAgICAgICAgICBuZXh0U2libGluZzogZW5kQmxvY2suZ2V0S2V5KClcbiAgICAgICAgfSk7XG4gICAgICB9KTsgLy8gVXBkYXRlIHBhcmVudCBmb3IgcHJldmlvdXMgcGFyZW50J3MgY2hpbGRyZW4sIGFuZCBjaGlsZHJlbiBmb3IgdGhhdCBwYXJlbnRcblxuICAgICAgdmFyIHByZXZTaWJsaW5nID0gcHJldlNpYmxpbmdLZXkgPyBibG9ja01hcC5nZXQocHJldlNpYmxpbmdLZXkpIDogbnVsbDtcbiAgICAgIHZhciBuZXdQYXJlbnRLZXkgPSBwcmV2U2libGluZyA/IHByZXZTaWJsaW5nLmdldFBhcmVudEtleSgpIDogbnVsbDtcbiAgICAgIHN0YXJ0QmxvY2suZ2V0Q2hpbGRLZXlzKCkuZm9yRWFjaChmdW5jdGlvbiAoY2hpbGRLZXkpIHtcbiAgICAgICAgdHJhbnNmb3JtQmxvY2soY2hpbGRLZXksIGJsb2NrcywgZnVuY3Rpb24gKGJsb2NrKSB7XG4gICAgICAgICAgcmV0dXJuIGJsb2NrLm1lcmdlKHtcbiAgICAgICAgICAgIHBhcmVudDogbmV3UGFyZW50S2V5IC8vIHNldCB0byBudWxsIGlmIHRoZXJlIGlzIG5vIHBhcmVudFxuXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG5cbiAgICAgIGlmIChuZXdQYXJlbnRLZXkgIT0gbnVsbCkge1xuICAgICAgICB2YXIgbmV3UGFyZW50ID0gYmxvY2tNYXAuZ2V0KG5ld1BhcmVudEtleSk7XG4gICAgICAgIHRyYW5zZm9ybUJsb2NrKG5ld1BhcmVudEtleSwgYmxvY2tzLCBmdW5jdGlvbiAoYmxvY2spIHtcbiAgICAgICAgICByZXR1cm4gYmxvY2subWVyZ2Uoe1xuICAgICAgICAgICAgY2hpbGRyZW46IG5ld1BhcmVudC5nZXRDaGlsZEtleXMoKS5jb25jYXQoc3RhcnRCbG9jay5nZXRDaGlsZEtleXMoKSlcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICB9IC8vIGxhc3QgY2hpbGQgb2YgZGVsZXRlZCBwYXJlbnQgc2hvdWxkIHBvaW50IHRvIG5leHQgc2libGluZ1xuXG5cbiAgICAgIHRyYW5zZm9ybUJsb2NrKHN0YXJ0QmxvY2suZ2V0Q2hpbGRLZXlzKCkuZmluZChmdW5jdGlvbiAoa2V5KSB7XG4gICAgICAgIHZhciBibG9jayA9IGJsb2NrTWFwLmdldChrZXkpO1xuICAgICAgICByZXR1cm4gYmxvY2suZ2V0TmV4dFNpYmxpbmdLZXkoKSA9PT0gbnVsbDtcbiAgICAgIH0pLCBibG9ja3MsIGZ1bmN0aW9uIChibG9jaykge1xuICAgICAgICByZXR1cm4gYmxvY2subWVyZ2Uoe1xuICAgICAgICAgIG5leHRTaWJsaW5nOiBzdGFydEJsb2NrLmdldE5leHRTaWJsaW5nS2V5KClcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH0pO1xufTtcblxudmFyIHJlbW92ZVJhbmdlRnJvbUNvbnRlbnRTdGF0ZSA9IGZ1bmN0aW9uIHJlbW92ZVJhbmdlRnJvbUNvbnRlbnRTdGF0ZShjb250ZW50U3RhdGUsIHNlbGVjdGlvblN0YXRlKSB7XG4gIGlmIChzZWxlY3Rpb25TdGF0ZS5pc0NvbGxhcHNlZCgpKSB7XG4gICAgcmV0dXJuIGNvbnRlbnRTdGF0ZTtcbiAgfVxuXG4gIHZhciBibG9ja01hcCA9IGNvbnRlbnRTdGF0ZS5nZXRCbG9ja01hcCgpO1xuICB2YXIgc3RhcnRLZXkgPSBzZWxlY3Rpb25TdGF0ZS5nZXRTdGFydEtleSgpO1xuICB2YXIgc3RhcnRPZmZzZXQgPSBzZWxlY3Rpb25TdGF0ZS5nZXRTdGFydE9mZnNldCgpO1xuICB2YXIgZW5kS2V5ID0gc2VsZWN0aW9uU3RhdGUuZ2V0RW5kS2V5KCk7XG4gIHZhciBlbmRPZmZzZXQgPSBzZWxlY3Rpb25TdGF0ZS5nZXRFbmRPZmZzZXQoKTtcbiAgdmFyIHN0YXJ0QmxvY2sgPSBibG9ja01hcC5nZXQoc3RhcnRLZXkpO1xuICB2YXIgZW5kQmxvY2sgPSBibG9ja01hcC5nZXQoZW5kS2V5KTsgLy8gd2UgYXNzdW1lIHRoYXQgQ29udGVudEJsb2NrTm9kZSBhbmQgQ29udGVudEJsb2NrcyBhcmUgbm90IG1peGVkIHRvZ2V0aGVyXG5cbiAgdmFyIGlzRXhwZXJpbWVudGFsVHJlZUJsb2NrID0gc3RhcnRCbG9jayBpbnN0YW5jZW9mIENvbnRlbnRCbG9ja05vZGU7IC8vIHVzZWQgdG8gcmV0YWluIGJsb2NrcyB0aGF0IHNob3VsZCBub3QgYmUgZGVsZXRlZCB0byBhdm9pZCBvcnBoYW4gY2hpbGRyZW5cblxuICB2YXIgcGFyZW50QW5jZXN0b3JzID0gW107XG5cbiAgaWYgKGlzRXhwZXJpbWVudGFsVHJlZUJsb2NrKSB7XG4gICAgdmFyIGVuZEJsb2NrY2hpbGRyZW5LZXlzID0gZW5kQmxvY2suZ2V0Q2hpbGRLZXlzKCk7XG4gICAgdmFyIGVuZEJsb2NrQW5jZXN0b3JzID0gZ2V0QW5jZXN0b3JzS2V5cyhlbmRLZXksIGJsb2NrTWFwKTsgLy8gZW5kQmxvY2sgaGFzIHVuc2VsZWN0ZWQgc2libGluZ3Mgc28gd2UgY2FuIG5vdCByZW1vdmUgaXRzIGFuY2VzdG9ycyBwYXJlbnRzXG5cbiAgICBpZiAoZW5kQmxvY2suZ2V0TmV4dFNpYmxpbmdLZXkoKSkge1xuICAgICAgcGFyZW50QW5jZXN0b3JzID0gcGFyZW50QW5jZXN0b3JzLmNvbmNhdChlbmRCbG9ja0FuY2VzdG9ycyk7XG4gICAgfSAvLyBlbmRCbG9jayBoYXMgY2hpbGRyZW4gc28gY2FuIG5vdCByZW1vdmUgdGhpcyBibG9jayBvciBhbnkgb2YgaXRzIGFuY2VzdG9yc1xuXG5cbiAgICBpZiAoIWVuZEJsb2NrY2hpbGRyZW5LZXlzLmlzRW1wdHkoKSkge1xuICAgICAgcGFyZW50QW5jZXN0b3JzID0gcGFyZW50QW5jZXN0b3JzLmNvbmNhdChlbmRCbG9ja0FuY2VzdG9ycy5jb25jYXQoW2VuZEtleV0pKTtcbiAgICB9IC8vIHdlIG5lZWQgdG8gcmV0YWluIGFsbCBhbmNlc3RvcnMgb2YgdGhlIG5leHQgZGVsaW1pdGVyIGJsb2NrXG5cblxuICAgIHBhcmVudEFuY2VzdG9ycyA9IHBhcmVudEFuY2VzdG9ycy5jb25jYXQoZ2V0QW5jZXN0b3JzS2V5cyhnZXROZXh0RGVsaW1pdGVyQmxvY2tLZXkoZW5kQmxvY2ssIGJsb2NrTWFwKSwgYmxvY2tNYXApKTtcbiAgfVxuXG4gIHZhciBjaGFyYWN0ZXJMaXN0O1xuXG4gIGlmIChzdGFydEJsb2NrID09PSBlbmRCbG9jaykge1xuICAgIGNoYXJhY3Rlckxpc3QgPSByZW1vdmVGcm9tTGlzdChzdGFydEJsb2NrLmdldENoYXJhY3Rlckxpc3QoKSwgc3RhcnRPZmZzZXQsIGVuZE9mZnNldCk7XG4gIH0gZWxzZSB7XG4gICAgY2hhcmFjdGVyTGlzdCA9IHN0YXJ0QmxvY2suZ2V0Q2hhcmFjdGVyTGlzdCgpLnNsaWNlKDAsIHN0YXJ0T2Zmc2V0KS5jb25jYXQoZW5kQmxvY2suZ2V0Q2hhcmFjdGVyTGlzdCgpLnNsaWNlKGVuZE9mZnNldCkpO1xuICB9XG5cbiAgdmFyIG1vZGlmaWVkU3RhcnQgPSBzdGFydEJsb2NrLm1lcmdlKHtcbiAgICB0ZXh0OiBzdGFydEJsb2NrLmdldFRleHQoKS5zbGljZSgwLCBzdGFydE9mZnNldCkgKyBlbmRCbG9jay5nZXRUZXh0KCkuc2xpY2UoZW5kT2Zmc2V0KSxcbiAgICBjaGFyYWN0ZXJMaXN0OiBjaGFyYWN0ZXJMaXN0XG4gIH0pOyAvLyBJZiBjdXJzb3IgKGNvbGxhcHNlZCkgaXMgYXQgdGhlIHN0YXJ0IG9mIHRoZSBmaXJzdCBjaGlsZCwgZGVsZXRlIHBhcmVudFxuICAvLyBpbnN0ZWFkIG9mIGNoaWxkXG5cbiAgdmFyIHNob3VsZERlbGV0ZVBhcmVudCA9IGlzRXhwZXJpbWVudGFsVHJlZUJsb2NrICYmIHN0YXJ0T2Zmc2V0ID09PSAwICYmIGVuZE9mZnNldCA9PT0gMCAmJiBlbmRCbG9jay5nZXRQYXJlbnRLZXkoKSA9PT0gc3RhcnRLZXkgJiYgZW5kQmxvY2suZ2V0UHJldlNpYmxpbmdLZXkoKSA9PSBudWxsO1xuICB2YXIgbmV3QmxvY2tzID0gc2hvdWxkRGVsZXRlUGFyZW50ID8gTWFwKFtbc3RhcnRLZXksIG51bGxdXSkgOiBibG9ja01hcC50b1NlcSgpLnNraXBVbnRpbChmdW5jdGlvbiAoXywgaykge1xuICAgIHJldHVybiBrID09PSBzdGFydEtleTtcbiAgfSkudGFrZVVudGlsKGZ1bmN0aW9uIChfLCBrKSB7XG4gICAgcmV0dXJuIGsgPT09IGVuZEtleTtcbiAgfSkuZmlsdGVyKGZ1bmN0aW9uIChfLCBrKSB7XG4gICAgcmV0dXJuIHBhcmVudEFuY2VzdG9ycy5pbmRleE9mKGspID09PSAtMTtcbiAgfSkuY29uY2F0KE1hcChbW2VuZEtleSwgbnVsbF1dKSkubWFwKGZ1bmN0aW9uIChfLCBrKSB7XG4gICAgcmV0dXJuIGsgPT09IHN0YXJ0S2V5ID8gbW9kaWZpZWRTdGFydCA6IG51bGw7XG4gIH0pO1xuICB2YXIgdXBkYXRlZEJsb2NrTWFwID0gYmxvY2tNYXAubWVyZ2UobmV3QmxvY2tzKS5maWx0ZXIoZnVuY3Rpb24gKGJsb2NrKSB7XG4gICAgcmV0dXJuICEhYmxvY2s7XG4gIH0pOyAvLyBPbmx5IHVwZGF0ZSB0cmVlIGJsb2NrIHBvaW50ZXJzIGlmIHRoZSByYW5nZSBpcyBhY3Jvc3MgYmxvY2tzXG5cbiAgaWYgKGlzRXhwZXJpbWVudGFsVHJlZUJsb2NrICYmIHN0YXJ0QmxvY2sgIT09IGVuZEJsb2NrKSB7XG4gICAgdXBkYXRlZEJsb2NrTWFwID0gdXBkYXRlQmxvY2tNYXBMaW5rcyh1cGRhdGVkQmxvY2tNYXAsIHN0YXJ0QmxvY2ssIGVuZEJsb2NrLCBibG9ja01hcCk7XG4gIH1cblxuICByZXR1cm4gY29udGVudFN0YXRlLm1lcmdlKHtcbiAgICBibG9ja01hcDogdXBkYXRlZEJsb2NrTWFwLFxuICAgIHNlbGVjdGlvbkJlZm9yZTogc2VsZWN0aW9uU3RhdGUsXG4gICAgc2VsZWN0aW9uQWZ0ZXI6IHNlbGVjdGlvblN0YXRlLm1lcmdlKHtcbiAgICAgIGFuY2hvcktleTogc3RhcnRLZXksXG4gICAgICBhbmNob3JPZmZzZXQ6IHN0YXJ0T2Zmc2V0LFxuICAgICAgZm9jdXNLZXk6IHN0YXJ0S2V5LFxuICAgICAgZm9jdXNPZmZzZXQ6IHN0YXJ0T2Zmc2V0LFxuICAgICAgaXNCYWNrd2FyZDogZmFsc2VcbiAgICB9KVxuICB9KTtcbn07XG4vKipcbiAqIE1haW50YWluIHBlcnNpc3RlbmNlIGZvciB0YXJnZXQgbGlzdCB3aGVuIHJlbW92aW5nIGNoYXJhY3RlcnMgb24gdGhlXG4gKiBoZWFkIGFuZCB0YWlsIG9mIHRoZSBjaGFyYWN0ZXIgbGlzdC5cbiAqL1xuXG5cbnZhciByZW1vdmVGcm9tTGlzdCA9IGZ1bmN0aW9uIHJlbW92ZUZyb21MaXN0KHRhcmdldExpc3QsIHN0YXJ0T2Zmc2V0LCBlbmRPZmZzZXQpIHtcbiAgaWYgKHN0YXJ0T2Zmc2V0ID09PSAwKSB7XG4gICAgd2hpbGUgKHN0YXJ0T2Zmc2V0IDwgZW5kT2Zmc2V0KSB7XG4gICAgICB0YXJnZXRMaXN0ID0gdGFyZ2V0TGlzdC5zaGlmdCgpO1xuICAgICAgc3RhcnRPZmZzZXQrKztcbiAgICB9XG4gIH0gZWxzZSBpZiAoZW5kT2Zmc2V0ID09PSB0YXJnZXRMaXN0LmNvdW50KCkpIHtcbiAgICB3aGlsZSAoZW5kT2Zmc2V0ID4gc3RhcnRPZmZzZXQpIHtcbiAgICAgIHRhcmdldExpc3QgPSB0YXJnZXRMaXN0LnBvcCgpO1xuICAgICAgZW5kT2Zmc2V0LS07XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHZhciBoZWFkID0gdGFyZ2V0TGlzdC5zbGljZSgwLCBzdGFydE9mZnNldCk7XG4gICAgdmFyIHRhaWwgPSB0YXJnZXRMaXN0LnNsaWNlKGVuZE9mZnNldCk7XG4gICAgdGFyZ2V0TGlzdCA9IGhlYWQuY29uY2F0KHRhaWwpLnRvTGlzdCgpO1xuICB9XG5cbiAgcmV0dXJuIHRhcmdldExpc3Q7XG59O1xuXG5tb2R1bGUuZXhwb3J0cyA9IHJlbW92ZVJhbmdlRnJvbUNvbnRlbnRTdGF0ZTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/removeRangeFromContentState.js\n"); /***/ }), @@ -1279,7 +1506,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule removeTextWithStrategy\n * @format\n * \n */\n\n\n\nvar DraftModifier = __webpack_require__(/*! ./DraftModifier */ \"./node_modules/draft-js/lib/DraftModifier.js\");\n\n/**\n * For a collapsed selection state, remove text based on the specified strategy.\n * If the selection state is not collapsed, remove the entire selected range.\n */\nfunction removeTextWithStrategy(editorState, strategy, direction) {\n var selection = editorState.getSelection();\n var content = editorState.getCurrentContent();\n var target = selection;\n if (selection.isCollapsed()) {\n if (direction === 'forward') {\n if (editorState.isSelectionAtEndOfContent()) {\n return content;\n }\n } else if (editorState.isSelectionAtStartOfContent()) {\n return content;\n }\n\n target = strategy(editorState);\n if (target === selection) {\n return content;\n }\n }\n return DraftModifier.removeRange(content, target, direction);\n}\n\nmodule.exports = removeTextWithStrategy;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL3JlbW92ZVRleHRXaXRoU3RyYXRlZ3kuanM/ZjFkZiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWE7O0FBRWIsb0JBQW9CLG1CQUFPLENBQUMscUVBQWlCOztBQUU3QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2RyYWZ0LWpzL2xpYi9yZW1vdmVUZXh0V2l0aFN0cmF0ZWd5LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQlNELXN0eWxlIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuIEFuIGFkZGl0aW9uYWwgZ3JhbnRcbiAqIG9mIHBhdGVudCByaWdodHMgY2FuIGJlIGZvdW5kIGluIHRoZSBQQVRFTlRTIGZpbGUgaW4gdGhlIHNhbWUgZGlyZWN0b3J5LlxuICpcbiAqIEBwcm92aWRlc01vZHVsZSByZW1vdmVUZXh0V2l0aFN0cmF0ZWd5XG4gKiBAZm9ybWF0XG4gKiBcbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbnZhciBEcmFmdE1vZGlmaWVyID0gcmVxdWlyZSgnLi9EcmFmdE1vZGlmaWVyJyk7XG5cbi8qKlxuICogRm9yIGEgY29sbGFwc2VkIHNlbGVjdGlvbiBzdGF0ZSwgcmVtb3ZlIHRleHQgYmFzZWQgb24gdGhlIHNwZWNpZmllZCBzdHJhdGVneS5cbiAqIElmIHRoZSBzZWxlY3Rpb24gc3RhdGUgaXMgbm90IGNvbGxhcHNlZCwgcmVtb3ZlIHRoZSBlbnRpcmUgc2VsZWN0ZWQgcmFuZ2UuXG4gKi9cbmZ1bmN0aW9uIHJlbW92ZVRleHRXaXRoU3RyYXRlZ3koZWRpdG9yU3RhdGUsIHN0cmF0ZWd5LCBkaXJlY3Rpb24pIHtcbiAgdmFyIHNlbGVjdGlvbiA9IGVkaXRvclN0YXRlLmdldFNlbGVjdGlvbigpO1xuICB2YXIgY29udGVudCA9IGVkaXRvclN0YXRlLmdldEN1cnJlbnRDb250ZW50KCk7XG4gIHZhciB0YXJnZXQgPSBzZWxlY3Rpb247XG4gIGlmIChzZWxlY3Rpb24uaXNDb2xsYXBzZWQoKSkge1xuICAgIGlmIChkaXJlY3Rpb24gPT09ICdmb3J3YXJkJykge1xuICAgICAgaWYgKGVkaXRvclN0YXRlLmlzU2VsZWN0aW9uQXRFbmRPZkNvbnRlbnQoKSkge1xuICAgICAgICByZXR1cm4gY29udGVudDtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGVkaXRvclN0YXRlLmlzU2VsZWN0aW9uQXRTdGFydE9mQ29udGVudCgpKSB7XG4gICAgICByZXR1cm4gY29udGVudDtcbiAgICB9XG5cbiAgICB0YXJnZXQgPSBzdHJhdGVneShlZGl0b3JTdGF0ZSk7XG4gICAgaWYgKHRhcmdldCA9PT0gc2VsZWN0aW9uKSB7XG4gICAgICByZXR1cm4gY29udGVudDtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIERyYWZ0TW9kaWZpZXIucmVtb3ZlUmFuZ2UoY29udGVudCwgdGFyZ2V0LCBkaXJlY3Rpb24pO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHJlbW92ZVRleHRXaXRoU3RyYXRlZ3k7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/removeTextWithStrategy.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nvar DraftModifier = __webpack_require__(/*! ./DraftModifier */ \"./node_modules/draft-js/lib/DraftModifier.js\");\n\nvar gkx = __webpack_require__(/*! ./gkx */ \"./node_modules/draft-js/lib/gkx.js\");\n\nvar experimentalTreeDataSupport = gkx('draft_tree_data_support');\n/**\n * For a collapsed selection state, remove text based on the specified strategy.\n * If the selection state is not collapsed, remove the entire selected range.\n */\n\nfunction removeTextWithStrategy(editorState, strategy, direction) {\n var selection = editorState.getSelection();\n var content = editorState.getCurrentContent();\n var target = selection;\n var anchorKey = selection.getAnchorKey();\n var focusKey = selection.getFocusKey();\n var anchorBlock = content.getBlockForKey(anchorKey);\n\n if (experimentalTreeDataSupport) {\n if (direction === 'forward') {\n if (anchorKey !== focusKey) {\n // For now we ignore forward delete across blocks,\n // if there is demand for this we will implement it.\n return content;\n }\n }\n }\n\n if (selection.isCollapsed()) {\n if (direction === 'forward') {\n if (editorState.isSelectionAtEndOfContent()) {\n return content;\n }\n\n if (experimentalTreeDataSupport) {\n var isAtEndOfBlock = selection.getAnchorOffset() === content.getBlockForKey(anchorKey).getLength();\n\n if (isAtEndOfBlock) {\n var anchorBlockSibling = content.getBlockForKey(anchorBlock.nextSibling);\n\n if (!anchorBlockSibling || anchorBlockSibling.getLength() === 0) {\n // For now we ignore forward delete at the end of a block,\n // if there is demand for this we will implement it.\n return content;\n }\n }\n }\n } else if (editorState.isSelectionAtStartOfContent()) {\n return content;\n }\n\n target = strategy(editorState);\n\n if (target === selection) {\n return content;\n }\n }\n\n return DraftModifier.removeRange(content, target, direction);\n}\n\nmodule.exports = removeTextWithStrategy;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL3JlbW92ZVRleHRXaXRoU3RyYXRlZ3kuanM/ZjFkZiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNhOztBQUViLG9CQUFvQixtQkFBTyxDQUFDLHFFQUFpQjs7QUFFN0MsVUFBVSxtQkFBTyxDQUFDLGlEQUFPOztBQUV6QjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL3JlbW92ZVRleHRXaXRoU3RyYXRlZ3kuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgRmFjZWJvb2ssIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIEBmb3JtYXRcbiAqIFxuICogQGVtYWlscyBvbmNhbGwrZHJhZnRfanNcbiAqL1xuJ3VzZSBzdHJpY3QnO1xuXG52YXIgRHJhZnRNb2RpZmllciA9IHJlcXVpcmUoXCIuL0RyYWZ0TW9kaWZpZXJcIik7XG5cbnZhciBna3ggPSByZXF1aXJlKFwiLi9na3hcIik7XG5cbnZhciBleHBlcmltZW50YWxUcmVlRGF0YVN1cHBvcnQgPSBna3goJ2RyYWZ0X3RyZWVfZGF0YV9zdXBwb3J0Jyk7XG4vKipcbiAqIEZvciBhIGNvbGxhcHNlZCBzZWxlY3Rpb24gc3RhdGUsIHJlbW92ZSB0ZXh0IGJhc2VkIG9uIHRoZSBzcGVjaWZpZWQgc3RyYXRlZ3kuXG4gKiBJZiB0aGUgc2VsZWN0aW9uIHN0YXRlIGlzIG5vdCBjb2xsYXBzZWQsIHJlbW92ZSB0aGUgZW50aXJlIHNlbGVjdGVkIHJhbmdlLlxuICovXG5cbmZ1bmN0aW9uIHJlbW92ZVRleHRXaXRoU3RyYXRlZ3koZWRpdG9yU3RhdGUsIHN0cmF0ZWd5LCBkaXJlY3Rpb24pIHtcbiAgdmFyIHNlbGVjdGlvbiA9IGVkaXRvclN0YXRlLmdldFNlbGVjdGlvbigpO1xuICB2YXIgY29udGVudCA9IGVkaXRvclN0YXRlLmdldEN1cnJlbnRDb250ZW50KCk7XG4gIHZhciB0YXJnZXQgPSBzZWxlY3Rpb247XG4gIHZhciBhbmNob3JLZXkgPSBzZWxlY3Rpb24uZ2V0QW5jaG9yS2V5KCk7XG4gIHZhciBmb2N1c0tleSA9IHNlbGVjdGlvbi5nZXRGb2N1c0tleSgpO1xuICB2YXIgYW5jaG9yQmxvY2sgPSBjb250ZW50LmdldEJsb2NrRm9yS2V5KGFuY2hvcktleSk7XG5cbiAgaWYgKGV4cGVyaW1lbnRhbFRyZWVEYXRhU3VwcG9ydCkge1xuICAgIGlmIChkaXJlY3Rpb24gPT09ICdmb3J3YXJkJykge1xuICAgICAgaWYgKGFuY2hvcktleSAhPT0gZm9jdXNLZXkpIHtcbiAgICAgICAgLy8gRm9yIG5vdyB3ZSBpZ25vcmUgZm9yd2FyZCBkZWxldGUgYWNyb3NzIGJsb2NrcyxcbiAgICAgICAgLy8gaWYgdGhlcmUgaXMgZGVtYW5kIGZvciB0aGlzIHdlIHdpbGwgaW1wbGVtZW50IGl0LlxuICAgICAgICByZXR1cm4gY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpZiAoc2VsZWN0aW9uLmlzQ29sbGFwc2VkKCkpIHtcbiAgICBpZiAoZGlyZWN0aW9uID09PSAnZm9yd2FyZCcpIHtcbiAgICAgIGlmIChlZGl0b3JTdGF0ZS5pc1NlbGVjdGlvbkF0RW5kT2ZDb250ZW50KCkpIHtcbiAgICAgICAgcmV0dXJuIGNvbnRlbnQ7XG4gICAgICB9XG5cbiAgICAgIGlmIChleHBlcmltZW50YWxUcmVlRGF0YVN1cHBvcnQpIHtcbiAgICAgICAgdmFyIGlzQXRFbmRPZkJsb2NrID0gc2VsZWN0aW9uLmdldEFuY2hvck9mZnNldCgpID09PSBjb250ZW50LmdldEJsb2NrRm9yS2V5KGFuY2hvcktleSkuZ2V0TGVuZ3RoKCk7XG5cbiAgICAgICAgaWYgKGlzQXRFbmRPZkJsb2NrKSB7XG4gICAgICAgICAgdmFyIGFuY2hvckJsb2NrU2libGluZyA9IGNvbnRlbnQuZ2V0QmxvY2tGb3JLZXkoYW5jaG9yQmxvY2submV4dFNpYmxpbmcpO1xuXG4gICAgICAgICAgaWYgKCFhbmNob3JCbG9ja1NpYmxpbmcgfHwgYW5jaG9yQmxvY2tTaWJsaW5nLmdldExlbmd0aCgpID09PSAwKSB7XG4gICAgICAgICAgICAvLyBGb3Igbm93IHdlIGlnbm9yZSBmb3J3YXJkIGRlbGV0ZSBhdCB0aGUgZW5kIG9mIGEgYmxvY2ssXG4gICAgICAgICAgICAvLyBpZiB0aGVyZSBpcyBkZW1hbmQgZm9yIHRoaXMgd2Ugd2lsbCBpbXBsZW1lbnQgaXQuXG4gICAgICAgICAgICByZXR1cm4gY29udGVudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGVkaXRvclN0YXRlLmlzU2VsZWN0aW9uQXRTdGFydE9mQ29udGVudCgpKSB7XG4gICAgICByZXR1cm4gY29udGVudDtcbiAgICB9XG5cbiAgICB0YXJnZXQgPSBzdHJhdGVneShlZGl0b3JTdGF0ZSk7XG5cbiAgICBpZiAodGFyZ2V0ID09PSBzZWxlY3Rpb24pIHtcbiAgICAgIHJldHVybiBjb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBEcmFmdE1vZGlmaWVyLnJlbW92ZVJhbmdlKGNvbnRlbnQsIHRhcmdldCwgZGlyZWN0aW9uKTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSByZW1vdmVUZXh0V2l0aFN0cmF0ZWd5OyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/removeTextWithStrategy.js\n"); /***/ }), @@ -1291,7 +1518,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule sanitizeDraftText\n * @format\n * \n */\n\n\n\nvar REGEX_BLOCK_DELIMITER = new RegExp('\\r', 'g');\n\nfunction sanitizeDraftText(input) {\n return input.replace(REGEX_BLOCK_DELIMITER, '');\n}\n\nmodule.exports = sanitizeDraftText;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL3Nhbml0aXplRHJhZnRUZXh0LmpzPzFlYjgiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVhOztBQUViOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvc2FuaXRpemVEcmFmdFRleHQuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxMy1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuICogQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBCU0Qtc3R5bGUgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS4gQW4gYWRkaXRpb25hbCBncmFudFxuICogb2YgcGF0ZW50IHJpZ2h0cyBjYW4gYmUgZm91bmQgaW4gdGhlIFBBVEVOVFMgZmlsZSBpbiB0aGUgc2FtZSBkaXJlY3RvcnkuXG4gKlxuICogQHByb3ZpZGVzTW9kdWxlIHNhbml0aXplRHJhZnRUZXh0XG4gKiBAZm9ybWF0XG4gKiBcbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbnZhciBSRUdFWF9CTE9DS19ERUxJTUlURVIgPSBuZXcgUmVnRXhwKCdcXHInLCAnZycpO1xuXG5mdW5jdGlvbiBzYW5pdGl6ZURyYWZ0VGV4dChpbnB1dCkge1xuICByZXR1cm4gaW5wdXQucmVwbGFjZShSRUdFWF9CTE9DS19ERUxJTUlURVIsICcnKTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBzYW5pdGl6ZURyYWZ0VGV4dDsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/sanitizeDraftText.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nvar REGEX_BLOCK_DELIMITER = new RegExp('\\r', 'g');\n\nfunction sanitizeDraftText(input) {\n return input.replace(REGEX_BLOCK_DELIMITER, '');\n}\n\nmodule.exports = sanitizeDraftText;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL3Nhbml0aXplRHJhZnRUZXh0LmpzPzFlYjgiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDYTs7QUFFYjs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL3Nhbml0aXplRHJhZnRUZXh0LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIEZhY2Vib29rLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKiBAZm9ybWF0XG4gKiBcbiAqIEBlbWFpbHMgb25jYWxsK2RyYWZ0X2pzXG4gKi9cbid1c2Ugc3RyaWN0JztcblxudmFyIFJFR0VYX0JMT0NLX0RFTElNSVRFUiA9IG5ldyBSZWdFeHAoJ1xccicsICdnJyk7XG5cbmZ1bmN0aW9uIHNhbml0aXplRHJhZnRUZXh0KGlucHV0KSB7XG4gIHJldHVybiBpbnB1dC5yZXBsYWNlKFJFR0VYX0JMT0NLX0RFTElNSVRFUiwgJycpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHNhbml0aXplRHJhZnRUZXh0OyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/sanitizeDraftText.js\n"); /***/ }), @@ -1303,7 +1530,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/* WEBPACK VAR INJECTION */(function(global) {/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule setDraftEditorSelection\n * @format\n * \n */\n\n\n\nvar DraftJsDebugLogging = __webpack_require__(/*! ./DraftJsDebugLogging */ \"./node_modules/draft-js/lib/DraftJsDebugLogging.js\");\n\nvar containsNode = __webpack_require__(/*! fbjs/lib/containsNode */ \"./node_modules/fbjs/lib/containsNode.js\");\nvar getActiveElement = __webpack_require__(/*! fbjs/lib/getActiveElement */ \"./node_modules/fbjs/lib/getActiveElement.js\");\nvar invariant = __webpack_require__(/*! fbjs/lib/invariant */ \"./node_modules/fbjs/lib/invariant.js\");\n\nfunction getAnonymizedDOM(node, getNodeLabels) {\n if (!node) {\n return '[empty]';\n }\n\n var anonymized = anonymizeTextWithin(node, getNodeLabels);\n if (anonymized.nodeType === Node.TEXT_NODE) {\n return anonymized.textContent;\n }\n\n !(anonymized instanceof Element) ? true ? invariant(false, 'Node must be an Element if it is not a text node.') : undefined : void 0;\n return anonymized.outerHTML;\n}\n\nfunction anonymizeTextWithin(node, getNodeLabels) {\n var labels = getNodeLabels !== undefined ? getNodeLabels(node) : [];\n\n if (node.nodeType === Node.TEXT_NODE) {\n var length = node.textContent.length;\n return document.createTextNode('[text ' + length + (labels.length ? ' | ' + labels.join(', ') : '') + ']');\n }\n\n var clone = node.cloneNode();\n if (clone.nodeType === 1 && labels.length) {\n clone.setAttribute('data-labels', labels.join(', '));\n }\n var childNodes = node.childNodes;\n for (var ii = 0; ii < childNodes.length; ii++) {\n clone.appendChild(anonymizeTextWithin(childNodes[ii], getNodeLabels));\n }\n\n return clone;\n}\n\nfunction getAnonymizedEditorDOM(node, getNodeLabels) {\n // grabbing the DOM content of the Draft editor\n var currentNode = node;\n while (currentNode) {\n if (currentNode instanceof Element && currentNode.hasAttribute('contenteditable')) {\n // found the Draft editor container\n return getAnonymizedDOM(currentNode, getNodeLabels);\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n return 'Could not find contentEditable parent of node';\n}\n\nfunction getNodeLength(node) {\n return node.nodeValue === null ? node.childNodes.length : node.nodeValue.length;\n}\n\n/**\n * In modern non-IE browsers, we can support both forward and backward\n * selections.\n *\n * Note: IE10+ supports the Selection object, but it does not support\n * the `extend` method, which means that even in modern IE, it's not possible\n * to programatically create a backward selection. Thus, for all IE\n * versions, we use the old IE API to create our selections.\n */\nfunction setDraftEditorSelection(selectionState, node, blockKey, nodeStart, nodeEnd) {\n // It's possible that the editor has been removed from the DOM but\n // our selection code doesn't know it yet. Forcing selection in\n // this case may lead to errors, so just bail now.\n if (!containsNode(document.documentElement, node)) {\n return;\n }\n\n var selection = global.getSelection();\n var anchorKey = selectionState.getAnchorKey();\n var anchorOffset = selectionState.getAnchorOffset();\n var focusKey = selectionState.getFocusKey();\n var focusOffset = selectionState.getFocusOffset();\n var isBackward = selectionState.getIsBackward();\n\n // IE doesn't support backward selection. Swap key/offset pairs.\n if (!selection.extend && isBackward) {\n var tempKey = anchorKey;\n var tempOffset = anchorOffset;\n anchorKey = focusKey;\n anchorOffset = focusOffset;\n focusKey = tempKey;\n focusOffset = tempOffset;\n isBackward = false;\n }\n\n var hasAnchor = anchorKey === blockKey && nodeStart <= anchorOffset && nodeEnd >= anchorOffset;\n\n var hasFocus = focusKey === blockKey && nodeStart <= focusOffset && nodeEnd >= focusOffset;\n\n // If the selection is entirely bound within this node, set the selection\n // and be done.\n if (hasAnchor && hasFocus) {\n selection.removeAllRanges();\n addPointToSelection(selection, node, anchorOffset - nodeStart, selectionState);\n addFocusToSelection(selection, node, focusOffset - nodeStart, selectionState);\n return;\n }\n\n if (!isBackward) {\n // If the anchor is within this node, set the range start.\n if (hasAnchor) {\n selection.removeAllRanges();\n addPointToSelection(selection, node, anchorOffset - nodeStart, selectionState);\n }\n\n // If the focus is within this node, we can assume that we have\n // already set the appropriate start range on the selection, and\n // can simply extend the selection.\n if (hasFocus) {\n addFocusToSelection(selection, node, focusOffset - nodeStart, selectionState);\n }\n } else {\n // If this node has the focus, set the selection range to be a\n // collapsed range beginning here. Later, when we encounter the anchor,\n // we'll use this information to extend the selection.\n if (hasFocus) {\n selection.removeAllRanges();\n addPointToSelection(selection, node, focusOffset - nodeStart, selectionState);\n }\n\n // If this node has the anchor, we may assume that the correct\n // focus information is already stored on the selection object.\n // We keep track of it, reset the selection range, and extend it\n // back to the focus point.\n if (hasAnchor) {\n var storedFocusNode = selection.focusNode;\n var storedFocusOffset = selection.focusOffset;\n\n selection.removeAllRanges();\n addPointToSelection(selection, node, anchorOffset - nodeStart, selectionState);\n addFocusToSelection(selection, storedFocusNode, storedFocusOffset, selectionState);\n }\n }\n}\n\n/**\n * Extend selection towards focus point.\n */\nfunction addFocusToSelection(selection, node, offset, selectionState) {\n var activeElement = getActiveElement();\n if (selection.extend && containsNode(activeElement, node)) {\n // If `extend` is called while another element has focus, an error is\n // thrown. We therefore disable `extend` if the active element is somewhere\n // other than the node we are selecting. This should only occur in Firefox,\n // since it is the only browser to support multiple selections.\n // See https://bugzilla.mozilla.org/show_bug.cgi?id=921444.\n\n // logging to catch bug that is being reported in t16250795\n if (offset > getNodeLength(node)) {\n // the call to 'selection.extend' is about to throw\n DraftJsDebugLogging.logSelectionStateFailure({\n anonymizedDom: getAnonymizedEditorDOM(node),\n extraParams: JSON.stringify({ offset: offset }),\n selectionState: JSON.stringify(selectionState.toJS())\n });\n }\n\n // logging to catch bug that is being reported in t18110632\n var nodeWasFocus = node === selection.focusNode;\n try {\n selection.extend(node, offset);\n } catch (e) {\n DraftJsDebugLogging.logSelectionStateFailure({\n anonymizedDom: getAnonymizedEditorDOM(node, function (n) {\n var labels = [];\n if (n === activeElement) {\n labels.push('active element');\n }\n if (n === selection.anchorNode) {\n labels.push('selection anchor node');\n }\n if (n === selection.focusNode) {\n labels.push('selection focus node');\n }\n return labels;\n }),\n extraParams: JSON.stringify({\n activeElementName: activeElement ? activeElement.nodeName : null,\n nodeIsFocus: node === selection.focusNode,\n nodeWasFocus: nodeWasFocus,\n selectionRangeCount: selection.rangeCount,\n selectionAnchorNodeName: selection.anchorNode ? selection.anchorNode.nodeName : null,\n selectionAnchorOffset: selection.anchorOffset,\n selectionFocusNodeName: selection.focusNode ? selection.focusNode.nodeName : null,\n selectionFocusOffset: selection.focusOffset,\n message: e ? '' + e : null,\n offset: offset\n }, null, 2),\n selectionState: JSON.stringify(selectionState.toJS(), null, 2)\n });\n // allow the error to be thrown -\n // better than continuing in a broken state\n throw e;\n }\n } else {\n // IE doesn't support extend. This will mean no backward selection.\n // Extract the existing selection range and add focus to it.\n // Additionally, clone the selection range. IE11 throws an\n // InvalidStateError when attempting to access selection properties\n // after the range is detached.\n var range = selection.getRangeAt(0);\n range.setEnd(node, offset);\n selection.addRange(range.cloneRange());\n }\n}\n\nfunction addPointToSelection(selection, node, offset, selectionState) {\n var range = document.createRange();\n // logging to catch bug that is being reported in t16250795\n if (offset > getNodeLength(node)) {\n // in this case we know that the call to 'range.setStart' is about to throw\n DraftJsDebugLogging.logSelectionStateFailure({\n anonymizedDom: getAnonymizedEditorDOM(node),\n extraParams: JSON.stringify({ offset: offset }),\n selectionState: JSON.stringify(selectionState.toJS())\n });\n }\n range.setStart(node, offset);\n selection.addRange(range);\n}\n\nmodule.exports = setDraftEditorSelection;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL3NldERyYWZ0RWRpdG9yU2VsZWN0aW9uLmpzPzNiOGMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVhOztBQUViLDBCQUEwQixtQkFBTyxDQUFDLGlGQUF1Qjs7QUFFekQsbUJBQW1CLG1CQUFPLENBQUMsc0VBQXVCO0FBQ2xELHVCQUF1QixtQkFBTyxDQUFDLDhFQUEyQjtBQUMxRCxnQkFBZ0IsbUJBQU8sQ0FBQyxnRUFBb0I7O0FBRTVDO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLHFDQUFxQyxLQUFxQywyRUFBMkUsU0FBZ0I7QUFDcks7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQkFBa0Isd0JBQXdCO0FBQzFDO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQ0FBcUMsaUJBQWlCO0FBQ3REO0FBQ0EsT0FBTztBQUNQOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQ0FBbUMsaUJBQWlCO0FBQ3BEO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBOztBQUVBLHlDIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2RyYWZ0LWpzL2xpYi9zZXREcmFmdEVkaXRvclNlbGVjdGlvbi5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXG4gKiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEJTRC1zdHlsZSBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLiBBbiBhZGRpdGlvbmFsIGdyYW50XG4gKiBvZiBwYXRlbnQgcmlnaHRzIGNhbiBiZSBmb3VuZCBpbiB0aGUgUEFURU5UUyBmaWxlIGluIHRoZSBzYW1lIGRpcmVjdG9yeS5cbiAqXG4gKiBAcHJvdmlkZXNNb2R1bGUgc2V0RHJhZnRFZGl0b3JTZWxlY3Rpb25cbiAqIEBmb3JtYXRcbiAqIFxuICovXG5cbid1c2Ugc3RyaWN0JztcblxudmFyIERyYWZ0SnNEZWJ1Z0xvZ2dpbmcgPSByZXF1aXJlKCcuL0RyYWZ0SnNEZWJ1Z0xvZ2dpbmcnKTtcblxudmFyIGNvbnRhaW5zTm9kZSA9IHJlcXVpcmUoJ2ZianMvbGliL2NvbnRhaW5zTm9kZScpO1xudmFyIGdldEFjdGl2ZUVsZW1lbnQgPSByZXF1aXJlKCdmYmpzL2xpYi9nZXRBY3RpdmVFbGVtZW50Jyk7XG52YXIgaW52YXJpYW50ID0gcmVxdWlyZSgnZmJqcy9saWIvaW52YXJpYW50Jyk7XG5cbmZ1bmN0aW9uIGdldEFub255bWl6ZWRET00obm9kZSwgZ2V0Tm9kZUxhYmVscykge1xuICBpZiAoIW5vZGUpIHtcbiAgICByZXR1cm4gJ1tlbXB0eV0nO1xuICB9XG5cbiAgdmFyIGFub255bWl6ZWQgPSBhbm9ueW1pemVUZXh0V2l0aGluKG5vZGUsIGdldE5vZGVMYWJlbHMpO1xuICBpZiAoYW5vbnltaXplZC5ub2RlVHlwZSA9PT0gTm9kZS5URVhUX05PREUpIHtcbiAgICByZXR1cm4gYW5vbnltaXplZC50ZXh0Q29udGVudDtcbiAgfVxuXG4gICEoYW5vbnltaXplZCBpbnN0YW5jZW9mIEVsZW1lbnQpID8gcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyA/IGludmFyaWFudChmYWxzZSwgJ05vZGUgbXVzdCBiZSBhbiBFbGVtZW50IGlmIGl0IGlzIG5vdCBhIHRleHQgbm9kZS4nKSA6IGludmFyaWFudChmYWxzZSkgOiB2b2lkIDA7XG4gIHJldHVybiBhbm9ueW1pemVkLm91dGVySFRNTDtcbn1cblxuZnVuY3Rpb24gYW5vbnltaXplVGV4dFdpdGhpbihub2RlLCBnZXROb2RlTGFiZWxzKSB7XG4gIHZhciBsYWJlbHMgPSBnZXROb2RlTGFiZWxzICE9PSB1bmRlZmluZWQgPyBnZXROb2RlTGFiZWxzKG5vZGUpIDogW107XG5cbiAgaWYgKG5vZGUubm9kZVR5cGUgPT09IE5vZGUuVEVYVF9OT0RFKSB7XG4gICAgdmFyIGxlbmd0aCA9IG5vZGUudGV4dENvbnRlbnQubGVuZ3RoO1xuICAgIHJldHVybiBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgnW3RleHQgJyArIGxlbmd0aCArIChsYWJlbHMubGVuZ3RoID8gJyB8ICcgKyBsYWJlbHMuam9pbignLCAnKSA6ICcnKSArICddJyk7XG4gIH1cblxuICB2YXIgY2xvbmUgPSBub2RlLmNsb25lTm9kZSgpO1xuICBpZiAoY2xvbmUubm9kZVR5cGUgPT09IDEgJiYgbGFiZWxzLmxlbmd0aCkge1xuICAgIGNsb25lLnNldEF0dHJpYnV0ZSgnZGF0YS1sYWJlbHMnLCBsYWJlbHMuam9pbignLCAnKSk7XG4gIH1cbiAgdmFyIGNoaWxkTm9kZXMgPSBub2RlLmNoaWxkTm9kZXM7XG4gIGZvciAodmFyIGlpID0gMDsgaWkgPCBjaGlsZE5vZGVzLmxlbmd0aDsgaWkrKykge1xuICAgIGNsb25lLmFwcGVuZENoaWxkKGFub255bWl6ZVRleHRXaXRoaW4oY2hpbGROb2Rlc1tpaV0sIGdldE5vZGVMYWJlbHMpKTtcbiAgfVxuXG4gIHJldHVybiBjbG9uZTtcbn1cblxuZnVuY3Rpb24gZ2V0QW5vbnltaXplZEVkaXRvckRPTShub2RlLCBnZXROb2RlTGFiZWxzKSB7XG4gIC8vIGdyYWJiaW5nIHRoZSBET00gY29udGVudCBvZiB0aGUgRHJhZnQgZWRpdG9yXG4gIHZhciBjdXJyZW50Tm9kZSA9IG5vZGU7XG4gIHdoaWxlIChjdXJyZW50Tm9kZSkge1xuICAgIGlmIChjdXJyZW50Tm9kZSBpbnN0YW5jZW9mIEVsZW1lbnQgJiYgY3VycmVudE5vZGUuaGFzQXR0cmlidXRlKCdjb250ZW50ZWRpdGFibGUnKSkge1xuICAgICAgLy8gZm91bmQgdGhlIERyYWZ0IGVkaXRvciBjb250YWluZXJcbiAgICAgIHJldHVybiBnZXRBbm9ueW1pemVkRE9NKGN1cnJlbnROb2RlLCBnZXROb2RlTGFiZWxzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY3VycmVudE5vZGUgPSBjdXJyZW50Tm9kZS5wYXJlbnROb2RlO1xuICAgIH1cbiAgfVxuICByZXR1cm4gJ0NvdWxkIG5vdCBmaW5kIGNvbnRlbnRFZGl0YWJsZSBwYXJlbnQgb2Ygbm9kZSc7XG59XG5cbmZ1bmN0aW9uIGdldE5vZGVMZW5ndGgobm9kZSkge1xuICByZXR1cm4gbm9kZS5ub2RlVmFsdWUgPT09IG51bGwgPyBub2RlLmNoaWxkTm9kZXMubGVuZ3RoIDogbm9kZS5ub2RlVmFsdWUubGVuZ3RoO1xufVxuXG4vKipcbiAqIEluIG1vZGVybiBub24tSUUgYnJvd3NlcnMsIHdlIGNhbiBzdXBwb3J0IGJvdGggZm9yd2FyZCBhbmQgYmFja3dhcmRcbiAqIHNlbGVjdGlvbnMuXG4gKlxuICogTm90ZTogSUUxMCsgc3VwcG9ydHMgdGhlIFNlbGVjdGlvbiBvYmplY3QsIGJ1dCBpdCBkb2VzIG5vdCBzdXBwb3J0XG4gKiB0aGUgYGV4dGVuZGAgbWV0aG9kLCB3aGljaCBtZWFucyB0aGF0IGV2ZW4gaW4gbW9kZXJuIElFLCBpdCdzIG5vdCBwb3NzaWJsZVxuICogdG8gcHJvZ3JhbWF0aWNhbGx5IGNyZWF0ZSBhIGJhY2t3YXJkIHNlbGVjdGlvbi4gVGh1cywgZm9yIGFsbCBJRVxuICogdmVyc2lvbnMsIHdlIHVzZSB0aGUgb2xkIElFIEFQSSB0byBjcmVhdGUgb3VyIHNlbGVjdGlvbnMuXG4gKi9cbmZ1bmN0aW9uIHNldERyYWZ0RWRpdG9yU2VsZWN0aW9uKHNlbGVjdGlvblN0YXRlLCBub2RlLCBibG9ja0tleSwgbm9kZVN0YXJ0LCBub2RlRW5kKSB7XG4gIC8vIEl0J3MgcG9zc2libGUgdGhhdCB0aGUgZWRpdG9yIGhhcyBiZWVuIHJlbW92ZWQgZnJvbSB0aGUgRE9NIGJ1dFxuICAvLyBvdXIgc2VsZWN0aW9uIGNvZGUgZG9lc24ndCBrbm93IGl0IHlldC4gRm9yY2luZyBzZWxlY3Rpb24gaW5cbiAgLy8gdGhpcyBjYXNlIG1heSBsZWFkIHRvIGVycm9ycywgc28ganVzdCBiYWlsIG5vdy5cbiAgaWYgKCFjb250YWluc05vZGUoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LCBub2RlKSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHZhciBzZWxlY3Rpb24gPSBnbG9iYWwuZ2V0U2VsZWN0aW9uKCk7XG4gIHZhciBhbmNob3JLZXkgPSBzZWxlY3Rpb25TdGF0ZS5nZXRBbmNob3JLZXkoKTtcbiAgdmFyIGFuY2hvck9mZnNldCA9IHNlbGVjdGlvblN0YXRlLmdldEFuY2hvck9mZnNldCgpO1xuICB2YXIgZm9jdXNLZXkgPSBzZWxlY3Rpb25TdGF0ZS5nZXRGb2N1c0tleSgpO1xuICB2YXIgZm9jdXNPZmZzZXQgPSBzZWxlY3Rpb25TdGF0ZS5nZXRGb2N1c09mZnNldCgpO1xuICB2YXIgaXNCYWNrd2FyZCA9IHNlbGVjdGlvblN0YXRlLmdldElzQmFja3dhcmQoKTtcblxuICAvLyBJRSBkb2Vzbid0IHN1cHBvcnQgYmFja3dhcmQgc2VsZWN0aW9uLiBTd2FwIGtleS9vZmZzZXQgcGFpcnMuXG4gIGlmICghc2VsZWN0aW9uLmV4dGVuZCAmJiBpc0JhY2t3YXJkKSB7XG4gICAgdmFyIHRlbXBLZXkgPSBhbmNob3JLZXk7XG4gICAgdmFyIHRlbXBPZmZzZXQgPSBhbmNob3JPZmZzZXQ7XG4gICAgYW5jaG9yS2V5ID0gZm9jdXNLZXk7XG4gICAgYW5jaG9yT2Zmc2V0ID0gZm9jdXNPZmZzZXQ7XG4gICAgZm9jdXNLZXkgPSB0ZW1wS2V5O1xuICAgIGZvY3VzT2Zmc2V0ID0gdGVtcE9mZnNldDtcbiAgICBpc0JhY2t3YXJkID0gZmFsc2U7XG4gIH1cblxuICB2YXIgaGFzQW5jaG9yID0gYW5jaG9yS2V5ID09PSBibG9ja0tleSAmJiBub2RlU3RhcnQgPD0gYW5jaG9yT2Zmc2V0ICYmIG5vZGVFbmQgPj0gYW5jaG9yT2Zmc2V0O1xuXG4gIHZhciBoYXNGb2N1cyA9IGZvY3VzS2V5ID09PSBibG9ja0tleSAmJiBub2RlU3RhcnQgPD0gZm9jdXNPZmZzZXQgJiYgbm9kZUVuZCA+PSBmb2N1c09mZnNldDtcblxuICAvLyBJZiB0aGUgc2VsZWN0aW9uIGlzIGVudGlyZWx5IGJvdW5kIHdpdGhpbiB0aGlzIG5vZGUsIHNldCB0aGUgc2VsZWN0aW9uXG4gIC8vIGFuZCBiZSBkb25lLlxuICBpZiAoaGFzQW5jaG9yICYmIGhhc0ZvY3VzKSB7XG4gICAgc2VsZWN0aW9uLnJlbW92ZUFsbFJhbmdlcygpO1xuICAgIGFkZFBvaW50VG9TZWxlY3Rpb24oc2VsZWN0aW9uLCBub2RlLCBhbmNob3JPZmZzZXQgLSBub2RlU3RhcnQsIHNlbGVjdGlvblN0YXRlKTtcbiAgICBhZGRGb2N1c1RvU2VsZWN0aW9uKHNlbGVjdGlvbiwgbm9kZSwgZm9jdXNPZmZzZXQgLSBub2RlU3RhcnQsIHNlbGVjdGlvblN0YXRlKTtcbiAgICByZXR1cm47XG4gIH1cblxuICBpZiAoIWlzQmFja3dhcmQpIHtcbiAgICAvLyBJZiB0aGUgYW5jaG9yIGlzIHdpdGhpbiB0aGlzIG5vZGUsIHNldCB0aGUgcmFuZ2Ugc3RhcnQuXG4gICAgaWYgKGhhc0FuY2hvcikge1xuICAgICAgc2VsZWN0aW9uLnJlbW92ZUFsbFJhbmdlcygpO1xuICAgICAgYWRkUG9pbnRUb1NlbGVjdGlvbihzZWxlY3Rpb24sIG5vZGUsIGFuY2hvck9mZnNldCAtIG5vZGVTdGFydCwgc2VsZWN0aW9uU3RhdGUpO1xuICAgIH1cblxuICAgIC8vIElmIHRoZSBmb2N1cyBpcyB3aXRoaW4gdGhpcyBub2RlLCB3ZSBjYW4gYXNzdW1lIHRoYXQgd2UgaGF2ZVxuICAgIC8vIGFscmVhZHkgc2V0IHRoZSBhcHByb3ByaWF0ZSBzdGFydCByYW5nZSBvbiB0aGUgc2VsZWN0aW9uLCBhbmRcbiAgICAvLyBjYW4gc2ltcGx5IGV4dGVuZCB0aGUgc2VsZWN0aW9uLlxuICAgIGlmIChoYXNGb2N1cykge1xuICAgICAgYWRkRm9jdXNUb1NlbGVjdGlvbihzZWxlY3Rpb24sIG5vZGUsIGZvY3VzT2Zmc2V0IC0gbm9kZVN0YXJ0LCBzZWxlY3Rpb25TdGF0ZSk7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIC8vIElmIHRoaXMgbm9kZSBoYXMgdGhlIGZvY3VzLCBzZXQgdGhlIHNlbGVjdGlvbiByYW5nZSB0byBiZSBhXG4gICAgLy8gY29sbGFwc2VkIHJhbmdlIGJlZ2lubmluZyBoZXJlLiBMYXRlciwgd2hlbiB3ZSBlbmNvdW50ZXIgdGhlIGFuY2hvcixcbiAgICAvLyB3ZSdsbCB1c2UgdGhpcyBpbmZvcm1hdGlvbiB0byBleHRlbmQgdGhlIHNlbGVjdGlvbi5cbiAgICBpZiAoaGFzRm9jdXMpIHtcbiAgICAgIHNlbGVjdGlvbi5yZW1vdmVBbGxSYW5nZXMoKTtcbiAgICAgIGFkZFBvaW50VG9TZWxlY3Rpb24oc2VsZWN0aW9uLCBub2RlLCBmb2N1c09mZnNldCAtIG5vZGVTdGFydCwgc2VsZWN0aW9uU3RhdGUpO1xuICAgIH1cblxuICAgIC8vIElmIHRoaXMgbm9kZSBoYXMgdGhlIGFuY2hvciwgd2UgbWF5IGFzc3VtZSB0aGF0IHRoZSBjb3JyZWN0XG4gICAgLy8gZm9jdXMgaW5mb3JtYXRpb24gaXMgYWxyZWFkeSBzdG9yZWQgb24gdGhlIHNlbGVjdGlvbiBvYmplY3QuXG4gICAgLy8gV2Uga2VlcCB0cmFjayBvZiBpdCwgcmVzZXQgdGhlIHNlbGVjdGlvbiByYW5nZSwgYW5kIGV4dGVuZCBpdFxuICAgIC8vIGJhY2sgdG8gdGhlIGZvY3VzIHBvaW50LlxuICAgIGlmIChoYXNBbmNob3IpIHtcbiAgICAgIHZhciBzdG9yZWRGb2N1c05vZGUgPSBzZWxlY3Rpb24uZm9jdXNOb2RlO1xuICAgICAgdmFyIHN0b3JlZEZvY3VzT2Zmc2V0ID0gc2VsZWN0aW9uLmZvY3VzT2Zmc2V0O1xuXG4gICAgICBzZWxlY3Rpb24ucmVtb3ZlQWxsUmFuZ2VzKCk7XG4gICAgICBhZGRQb2ludFRvU2VsZWN0aW9uKHNlbGVjdGlvbiwgbm9kZSwgYW5jaG9yT2Zmc2V0IC0gbm9kZVN0YXJ0LCBzZWxlY3Rpb25TdGF0ZSk7XG4gICAgICBhZGRGb2N1c1RvU2VsZWN0aW9uKHNlbGVjdGlvbiwgc3RvcmVkRm9jdXNOb2RlLCBzdG9yZWRGb2N1c09mZnNldCwgc2VsZWN0aW9uU3RhdGUpO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIEV4dGVuZCBzZWxlY3Rpb24gdG93YXJkcyBmb2N1cyBwb2ludC5cbiAqL1xuZnVuY3Rpb24gYWRkRm9jdXNUb1NlbGVjdGlvbihzZWxlY3Rpb24sIG5vZGUsIG9mZnNldCwgc2VsZWN0aW9uU3RhdGUpIHtcbiAgdmFyIGFjdGl2ZUVsZW1lbnQgPSBnZXRBY3RpdmVFbGVtZW50KCk7XG4gIGlmIChzZWxlY3Rpb24uZXh0ZW5kICYmIGNvbnRhaW5zTm9kZShhY3RpdmVFbGVtZW50LCBub2RlKSkge1xuICAgIC8vIElmIGBleHRlbmRgIGlzIGNhbGxlZCB3aGlsZSBhbm90aGVyIGVsZW1lbnQgaGFzIGZvY3VzLCBhbiBlcnJvciBpc1xuICAgIC8vIHRocm93bi4gV2UgdGhlcmVmb3JlIGRpc2FibGUgYGV4dGVuZGAgaWYgdGhlIGFjdGl2ZSBlbGVtZW50IGlzIHNvbWV3aGVyZVxuICAgIC8vIG90aGVyIHRoYW4gdGhlIG5vZGUgd2UgYXJlIHNlbGVjdGluZy4gVGhpcyBzaG91bGQgb25seSBvY2N1ciBpbiBGaXJlZm94LFxuICAgIC8vIHNpbmNlIGl0IGlzIHRoZSBvbmx5IGJyb3dzZXIgdG8gc3VwcG9ydCBtdWx0aXBsZSBzZWxlY3Rpb25zLlxuICAgIC8vIFNlZSBodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD05MjE0NDQuXG5cbiAgICAvLyBsb2dnaW5nIHRvIGNhdGNoIGJ1ZyB0aGF0IGlzIGJlaW5nIHJlcG9ydGVkIGluIHQxNjI1MDc5NVxuICAgIGlmIChvZmZzZXQgPiBnZXROb2RlTGVuZ3RoKG5vZGUpKSB7XG4gICAgICAvLyB0aGUgY2FsbCB0byAnc2VsZWN0aW9uLmV4dGVuZCcgaXMgYWJvdXQgdG8gdGhyb3dcbiAgICAgIERyYWZ0SnNEZWJ1Z0xvZ2dpbmcubG9nU2VsZWN0aW9uU3RhdGVGYWlsdXJlKHtcbiAgICAgICAgYW5vbnltaXplZERvbTogZ2V0QW5vbnltaXplZEVkaXRvckRPTShub2RlKSxcbiAgICAgICAgZXh0cmFQYXJhbXM6IEpTT04uc3RyaW5naWZ5KHsgb2Zmc2V0OiBvZmZzZXQgfSksXG4gICAgICAgIHNlbGVjdGlvblN0YXRlOiBKU09OLnN0cmluZ2lmeShzZWxlY3Rpb25TdGF0ZS50b0pTKCkpXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyBsb2dnaW5nIHRvIGNhdGNoIGJ1ZyB0aGF0IGlzIGJlaW5nIHJlcG9ydGVkIGluIHQxODExMDYzMlxuICAgIHZhciBub2RlV2FzRm9jdXMgPSBub2RlID09PSBzZWxlY3Rpb24uZm9jdXNOb2RlO1xuICAgIHRyeSB7XG4gICAgICBzZWxlY3Rpb24uZXh0ZW5kKG5vZGUsIG9mZnNldCk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgRHJhZnRKc0RlYnVnTG9nZ2luZy5sb2dTZWxlY3Rpb25TdGF0ZUZhaWx1cmUoe1xuICAgICAgICBhbm9ueW1pemVkRG9tOiBnZXRBbm9ueW1pemVkRWRpdG9yRE9NKG5vZGUsIGZ1bmN0aW9uIChuKSB7XG4gICAgICAgICAgdmFyIGxhYmVscyA9IFtdO1xuICAgICAgICAgIGlmIChuID09PSBhY3RpdmVFbGVtZW50KSB7XG4gICAgICAgICAgICBsYWJlbHMucHVzaCgnYWN0aXZlIGVsZW1lbnQnKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKG4gPT09IHNlbGVjdGlvbi5hbmNob3JOb2RlKSB7XG4gICAgICAgICAgICBsYWJlbHMucHVzaCgnc2VsZWN0aW9uIGFuY2hvciBub2RlJyk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChuID09PSBzZWxlY3Rpb24uZm9jdXNOb2RlKSB7XG4gICAgICAgICAgICBsYWJlbHMucHVzaCgnc2VsZWN0aW9uIGZvY3VzIG5vZGUnKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGxhYmVscztcbiAgICAgICAgfSksXG4gICAgICAgIGV4dHJhUGFyYW1zOiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgYWN0aXZlRWxlbWVudE5hbWU6IGFjdGl2ZUVsZW1lbnQgPyBhY3RpdmVFbGVtZW50Lm5vZGVOYW1lIDogbnVsbCxcbiAgICAgICAgICBub2RlSXNGb2N1czogbm9kZSA9PT0gc2VsZWN0aW9uLmZvY3VzTm9kZSxcbiAgICAgICAgICBub2RlV2FzRm9jdXM6IG5vZGVXYXNGb2N1cyxcbiAgICAgICAgICBzZWxlY3Rpb25SYW5nZUNvdW50OiBzZWxlY3Rpb24ucmFuZ2VDb3VudCxcbiAgICAgICAgICBzZWxlY3Rpb25BbmNob3JOb2RlTmFtZTogc2VsZWN0aW9uLmFuY2hvck5vZGUgPyBzZWxlY3Rpb24uYW5jaG9yTm9kZS5ub2RlTmFtZSA6IG51bGwsXG4gICAgICAgICAgc2VsZWN0aW9uQW5jaG9yT2Zmc2V0OiBzZWxlY3Rpb24uYW5jaG9yT2Zmc2V0LFxuICAgICAgICAgIHNlbGVjdGlvbkZvY3VzTm9kZU5hbWU6IHNlbGVjdGlvbi5mb2N1c05vZGUgPyBzZWxlY3Rpb24uZm9jdXNOb2RlLm5vZGVOYW1lIDogbnVsbCxcbiAgICAgICAgICBzZWxlY3Rpb25Gb2N1c09mZnNldDogc2VsZWN0aW9uLmZvY3VzT2Zmc2V0LFxuICAgICAgICAgIG1lc3NhZ2U6IGUgPyAnJyArIGUgOiBudWxsLFxuICAgICAgICAgIG9mZnNldDogb2Zmc2V0XG4gICAgICAgIH0sIG51bGwsIDIpLFxuICAgICAgICBzZWxlY3Rpb25TdGF0ZTogSlNPTi5zdHJpbmdpZnkoc2VsZWN0aW9uU3RhdGUudG9KUygpLCBudWxsLCAyKVxuICAgICAgfSk7XG4gICAgICAvLyBhbGxvdyB0aGUgZXJyb3IgdG8gYmUgdGhyb3duIC1cbiAgICAgIC8vIGJldHRlciB0aGFuIGNvbnRpbnVpbmcgaW4gYSBicm9rZW4gc3RhdGVcbiAgICAgIHRocm93IGU7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIC8vIElFIGRvZXNuJ3Qgc3VwcG9ydCBleHRlbmQuIFRoaXMgd2lsbCBtZWFuIG5vIGJhY2t3YXJkIHNlbGVjdGlvbi5cbiAgICAvLyBFeHRyYWN0IHRoZSBleGlzdGluZyBzZWxlY3Rpb24gcmFuZ2UgYW5kIGFkZCBmb2N1cyB0byBpdC5cbiAgICAvLyBBZGRpdGlvbmFsbHksIGNsb25lIHRoZSBzZWxlY3Rpb24gcmFuZ2UuIElFMTEgdGhyb3dzIGFuXG4gICAgLy8gSW52YWxpZFN0YXRlRXJyb3Igd2hlbiBhdHRlbXB0aW5nIHRvIGFjY2VzcyBzZWxlY3Rpb24gcHJvcGVydGllc1xuICAgIC8vIGFmdGVyIHRoZSByYW5nZSBpcyBkZXRhY2hlZC5cbiAgICB2YXIgcmFuZ2UgPSBzZWxlY3Rpb24uZ2V0UmFuZ2VBdCgwKTtcbiAgICByYW5nZS5zZXRFbmQobm9kZSwgb2Zmc2V0KTtcbiAgICBzZWxlY3Rpb24uYWRkUmFuZ2UocmFuZ2UuY2xvbmVSYW5nZSgpKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBhZGRQb2ludFRvU2VsZWN0aW9uKHNlbGVjdGlvbiwgbm9kZSwgb2Zmc2V0LCBzZWxlY3Rpb25TdGF0ZSkge1xuICB2YXIgcmFuZ2UgPSBkb2N1bWVudC5jcmVhdGVSYW5nZSgpO1xuICAvLyBsb2dnaW5nIHRvIGNhdGNoIGJ1ZyB0aGF0IGlzIGJlaW5nIHJlcG9ydGVkIGluIHQxNjI1MDc5NVxuICBpZiAob2Zmc2V0ID4gZ2V0Tm9kZUxlbmd0aChub2RlKSkge1xuICAgIC8vIGluIHRoaXMgY2FzZSB3ZSBrbm93IHRoYXQgdGhlIGNhbGwgdG8gJ3JhbmdlLnNldFN0YXJ0JyBpcyBhYm91dCB0byB0aHJvd1xuICAgIERyYWZ0SnNEZWJ1Z0xvZ2dpbmcubG9nU2VsZWN0aW9uU3RhdGVGYWlsdXJlKHtcbiAgICAgIGFub255bWl6ZWREb206IGdldEFub255bWl6ZWRFZGl0b3JET00obm9kZSksXG4gICAgICBleHRyYVBhcmFtczogSlNPTi5zdHJpbmdpZnkoeyBvZmZzZXQ6IG9mZnNldCB9KSxcbiAgICAgIHNlbGVjdGlvblN0YXRlOiBKU09OLnN0cmluZ2lmeShzZWxlY3Rpb25TdGF0ZS50b0pTKCkpXG4gICAgfSk7XG4gIH1cbiAgcmFuZ2Uuc2V0U3RhcnQobm9kZSwgb2Zmc2V0KTtcbiAgc2VsZWN0aW9uLmFkZFJhbmdlKHJhbmdlKTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBzZXREcmFmdEVkaXRvclNlbGVjdGlvbjsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/setDraftEditorSelection.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nvar DraftEffects = __webpack_require__(/*! ./DraftEffects */ \"./node_modules/draft-js/lib/DraftEffects.js\");\n\nvar DraftJsDebugLogging = __webpack_require__(/*! ./DraftJsDebugLogging */ \"./node_modules/draft-js/lib/DraftJsDebugLogging.js\");\n\nvar UserAgent = __webpack_require__(/*! fbjs/lib/UserAgent */ \"./node_modules/fbjs/lib/UserAgent.js\");\n\nvar containsNode = __webpack_require__(/*! fbjs/lib/containsNode */ \"./node_modules/fbjs/lib/containsNode.js\");\n\nvar getActiveElement = __webpack_require__(/*! fbjs/lib/getActiveElement */ \"./node_modules/fbjs/lib/getActiveElement.js\");\n\nvar getCorrectDocumentFromNode = __webpack_require__(/*! ./getCorrectDocumentFromNode */ \"./node_modules/draft-js/lib/getCorrectDocumentFromNode.js\");\n\nvar invariant = __webpack_require__(/*! fbjs/lib/invariant */ \"./node_modules/fbjs/lib/invariant.js\");\n\nvar isElement = __webpack_require__(/*! ./isElement */ \"./node_modules/draft-js/lib/isElement.js\");\n\nvar isIE = UserAgent.isBrowser('IE');\n\nfunction getAnonymizedDOM(node, getNodeLabels) {\n if (!node) {\n return '[empty]';\n }\n\n var anonymized = anonymizeTextWithin(node, getNodeLabels);\n\n if (anonymized.nodeType === Node.TEXT_NODE) {\n return anonymized.textContent;\n }\n\n !isElement(anonymized) ? true ? invariant(false, 'Node must be an Element if it is not a text node.') : undefined : void 0;\n var castedElement = anonymized;\n return castedElement.outerHTML;\n}\n\nfunction anonymizeTextWithin(node, getNodeLabels) {\n var labels = getNodeLabels !== undefined ? getNodeLabels(node) : [];\n\n if (node.nodeType === Node.TEXT_NODE) {\n var length = node.textContent.length;\n return getCorrectDocumentFromNode(node).createTextNode('[text ' + length + (labels.length ? ' | ' + labels.join(', ') : '') + ']');\n }\n\n var clone = node.cloneNode();\n\n if (clone.nodeType === 1 && labels.length) {\n clone.setAttribute('data-labels', labels.join(', '));\n }\n\n var childNodes = node.childNodes;\n\n for (var ii = 0; ii < childNodes.length; ii++) {\n clone.appendChild(anonymizeTextWithin(childNodes[ii], getNodeLabels));\n }\n\n return clone;\n}\n\nfunction getAnonymizedEditorDOM(node, getNodeLabels) {\n // grabbing the DOM content of the Draft editor\n var currentNode = node; // this should only be used after checking with isElement\n\n var castedNode = currentNode;\n\n while (currentNode) {\n if (isElement(currentNode) && castedNode.hasAttribute('contenteditable')) {\n // found the Draft editor container\n return getAnonymizedDOM(currentNode, getNodeLabels);\n } else {\n currentNode = currentNode.parentNode;\n castedNode = currentNode;\n }\n }\n\n return 'Could not find contentEditable parent of node';\n}\n\nfunction getNodeLength(node) {\n return node.nodeValue === null ? node.childNodes.length : node.nodeValue.length;\n}\n/**\n * In modern non-IE browsers, we can support both forward and backward\n * selections.\n *\n * Note: IE10+ supports the Selection object, but it does not support\n * the `extend` method, which means that even in modern IE, it's not possible\n * to programatically create a backward selection. Thus, for all IE\n * versions, we use the old IE API to create our selections.\n */\n\n\nfunction setDraftEditorSelection(selectionState, node, blockKey, nodeStart, nodeEnd) {\n // It's possible that the editor has been removed from the DOM but\n // our selection code doesn't know it yet. Forcing selection in\n // this case may lead to errors, so just bail now.\n var documentObject = getCorrectDocumentFromNode(node);\n\n if (!containsNode(documentObject.documentElement, node)) {\n return;\n }\n\n var selection = documentObject.defaultView.getSelection();\n var anchorKey = selectionState.getAnchorKey();\n var anchorOffset = selectionState.getAnchorOffset();\n var focusKey = selectionState.getFocusKey();\n var focusOffset = selectionState.getFocusOffset();\n var isBackward = selectionState.getIsBackward(); // IE doesn't support backward selection. Swap key/offset pairs.\n\n if (!selection.extend && isBackward) {\n var tempKey = anchorKey;\n var tempOffset = anchorOffset;\n anchorKey = focusKey;\n anchorOffset = focusOffset;\n focusKey = tempKey;\n focusOffset = tempOffset;\n isBackward = false;\n }\n\n var hasAnchor = anchorKey === blockKey && nodeStart <= anchorOffset && nodeEnd >= anchorOffset;\n var hasFocus = focusKey === blockKey && nodeStart <= focusOffset && nodeEnd >= focusOffset; // If the selection is entirely bound within this node, set the selection\n // and be done.\n\n if (hasAnchor && hasFocus) {\n selection.removeAllRanges();\n addPointToSelection(selection, node, anchorOffset - nodeStart, selectionState);\n addFocusToSelection(selection, node, focusOffset - nodeStart, selectionState);\n return;\n }\n\n if (!isBackward) {\n // If the anchor is within this node, set the range start.\n if (hasAnchor) {\n selection.removeAllRanges();\n addPointToSelection(selection, node, anchorOffset - nodeStart, selectionState);\n } // If the focus is within this node, we can assume that we have\n // already set the appropriate start range on the selection, and\n // can simply extend the selection.\n\n\n if (hasFocus) {\n addFocusToSelection(selection, node, focusOffset - nodeStart, selectionState);\n }\n } else {\n // If this node has the focus, set the selection range to be a\n // collapsed range beginning here. Later, when we encounter the anchor,\n // we'll use this information to extend the selection.\n if (hasFocus) {\n selection.removeAllRanges();\n addPointToSelection(selection, node, focusOffset - nodeStart, selectionState);\n } // If this node has the anchor, we may assume that the correct\n // focus information is already stored on the selection object.\n // We keep track of it, reset the selection range, and extend it\n // back to the focus point.\n\n\n if (hasAnchor) {\n var storedFocusNode = selection.focusNode;\n var storedFocusOffset = selection.focusOffset;\n selection.removeAllRanges();\n addPointToSelection(selection, node, anchorOffset - nodeStart, selectionState);\n addFocusToSelection(selection, storedFocusNode, storedFocusOffset, selectionState);\n }\n }\n}\n/**\n * Extend selection towards focus point.\n */\n\n\nfunction addFocusToSelection(selection, node, offset, selectionState) {\n var activeElement = getActiveElement();\n\n if (selection.extend && containsNode(activeElement, node)) {\n // If `extend` is called while another element has focus, an error is\n // thrown. We therefore disable `extend` if the active element is somewhere\n // other than the node we are selecting. This should only occur in Firefox,\n // since it is the only browser to support multiple selections.\n // See https://bugzilla.mozilla.org/show_bug.cgi?id=921444.\n // logging to catch bug that is being reported in t16250795\n if (offset > getNodeLength(node)) {\n // the call to 'selection.extend' is about to throw\n DraftJsDebugLogging.logSelectionStateFailure({\n anonymizedDom: getAnonymizedEditorDOM(node),\n extraParams: JSON.stringify({\n offset: offset\n }),\n selectionState: JSON.stringify(selectionState.toJS())\n });\n } // logging to catch bug that is being reported in t18110632\n\n\n var nodeWasFocus = node === selection.focusNode;\n\n try {\n selection.extend(node, offset);\n } catch (e) {\n DraftJsDebugLogging.logSelectionStateFailure({\n anonymizedDom: getAnonymizedEditorDOM(node, function (n) {\n var labels = [];\n\n if (n === activeElement) {\n labels.push('active element');\n }\n\n if (n === selection.anchorNode) {\n labels.push('selection anchor node');\n }\n\n if (n === selection.focusNode) {\n labels.push('selection focus node');\n }\n\n return labels;\n }),\n extraParams: JSON.stringify({\n activeElementName: activeElement ? activeElement.nodeName : null,\n nodeIsFocus: node === selection.focusNode,\n nodeWasFocus: nodeWasFocus,\n selectionRangeCount: selection.rangeCount,\n selectionAnchorNodeName: selection.anchorNode ? selection.anchorNode.nodeName : null,\n selectionAnchorOffset: selection.anchorOffset,\n selectionFocusNodeName: selection.focusNode ? selection.focusNode.nodeName : null,\n selectionFocusOffset: selection.focusOffset,\n message: e ? '' + e : null,\n offset: offset\n }, null, 2),\n selectionState: JSON.stringify(selectionState.toJS(), null, 2)\n }); // allow the error to be thrown -\n // better than continuing in a broken state\n\n throw e;\n }\n } else {\n // IE doesn't support extend. This will mean no backward selection.\n // Extract the existing selection range and add focus to it.\n // Additionally, clone the selection range. IE11 throws an\n // InvalidStateError when attempting to access selection properties\n // after the range is detached.\n if (selection.rangeCount > 0) {\n var range = selection.getRangeAt(0);\n range.setEnd(node, offset);\n selection.addRange(range.cloneRange());\n }\n }\n}\n\nfunction addPointToSelection(selection, node, offset, selectionState) {\n var range = getCorrectDocumentFromNode(node).createRange(); // logging to catch bug that is being reported in t16250795\n\n if (offset > getNodeLength(node)) {\n // in this case we know that the call to 'range.setStart' is about to throw\n DraftJsDebugLogging.logSelectionStateFailure({\n anonymizedDom: getAnonymizedEditorDOM(node),\n extraParams: JSON.stringify({\n offset: offset\n }),\n selectionState: JSON.stringify(selectionState.toJS())\n });\n DraftEffects.handleExtensionCausedError();\n }\n\n range.setStart(node, offset); // IE sometimes throws Unspecified Error when trying to addRange\n\n if (isIE) {\n try {\n selection.addRange(range);\n } catch (e) {\n if (true) {\n /* eslint-disable-next-line no-console */\n console.warn('Call to selection.addRange() threw exception: ', e);\n }\n }\n } else {\n selection.addRange(range);\n }\n}\n\nmodule.exports = {\n setDraftEditorSelection: setDraftEditorSelection,\n addFocusToSelection: addFocusToSelection\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL3NldERyYWZ0RWRpdG9yU2VsZWN0aW9uLmpzPzNiOGMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDYTs7QUFFYixtQkFBbUIsbUJBQU8sQ0FBQyxtRUFBZ0I7O0FBRTNDLDBCQUEwQixtQkFBTyxDQUFDLGlGQUF1Qjs7QUFFekQsZ0JBQWdCLG1CQUFPLENBQUMsZ0VBQW9COztBQUU1QyxtQkFBbUIsbUJBQU8sQ0FBQyxzRUFBdUI7O0FBRWxELHVCQUF1QixtQkFBTyxDQUFDLDhFQUEyQjs7QUFFMUQsaUNBQWlDLG1CQUFPLENBQUMsK0ZBQThCOztBQUV2RSxnQkFBZ0IsbUJBQU8sQ0FBQyxnRUFBb0I7O0FBRTVDLGdCQUFnQixtQkFBTyxDQUFDLDZEQUFhOztBQUVyQzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsMkJBQTJCLEtBQXFDLDJFQUEyRSxTQUFnQjtBQUMzSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUEsa0JBQWtCLHdCQUF3QjtBQUMxQztBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLHlCQUF5Qjs7QUFFekI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrREFBa0Q7O0FBRWxEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLDZGQUE2RjtBQUM3Rjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0EsT0FBTztBQUNQLEtBQUs7OztBQUdMOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQSxPQUFPLEVBQUU7QUFDVDs7QUFFQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLDZEQUE2RDs7QUFFN0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUEsK0JBQStCOztBQUUvQjtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsVUFBVSxJQUFxQztBQUMvQztBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL3NldERyYWZ0RWRpdG9yU2VsZWN0aW9uLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIEZhY2Vib29rLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKiBAZm9ybWF0XG4gKiBcbiAqIEBlbWFpbHMgb25jYWxsK2RyYWZ0X2pzXG4gKi9cbid1c2Ugc3RyaWN0JztcblxudmFyIERyYWZ0RWZmZWN0cyA9IHJlcXVpcmUoXCIuL0RyYWZ0RWZmZWN0c1wiKTtcblxudmFyIERyYWZ0SnNEZWJ1Z0xvZ2dpbmcgPSByZXF1aXJlKFwiLi9EcmFmdEpzRGVidWdMb2dnaW5nXCIpO1xuXG52YXIgVXNlckFnZW50ID0gcmVxdWlyZShcImZianMvbGliL1VzZXJBZ2VudFwiKTtcblxudmFyIGNvbnRhaW5zTm9kZSA9IHJlcXVpcmUoXCJmYmpzL2xpYi9jb250YWluc05vZGVcIik7XG5cbnZhciBnZXRBY3RpdmVFbGVtZW50ID0gcmVxdWlyZShcImZianMvbGliL2dldEFjdGl2ZUVsZW1lbnRcIik7XG5cbnZhciBnZXRDb3JyZWN0RG9jdW1lbnRGcm9tTm9kZSA9IHJlcXVpcmUoXCIuL2dldENvcnJlY3REb2N1bWVudEZyb21Ob2RlXCIpO1xuXG52YXIgaW52YXJpYW50ID0gcmVxdWlyZShcImZianMvbGliL2ludmFyaWFudFwiKTtcblxudmFyIGlzRWxlbWVudCA9IHJlcXVpcmUoXCIuL2lzRWxlbWVudFwiKTtcblxudmFyIGlzSUUgPSBVc2VyQWdlbnQuaXNCcm93c2VyKCdJRScpO1xuXG5mdW5jdGlvbiBnZXRBbm9ueW1pemVkRE9NKG5vZGUsIGdldE5vZGVMYWJlbHMpIHtcbiAgaWYgKCFub2RlKSB7XG4gICAgcmV0dXJuICdbZW1wdHldJztcbiAgfVxuXG4gIHZhciBhbm9ueW1pemVkID0gYW5vbnltaXplVGV4dFdpdGhpbihub2RlLCBnZXROb2RlTGFiZWxzKTtcblxuICBpZiAoYW5vbnltaXplZC5ub2RlVHlwZSA9PT0gTm9kZS5URVhUX05PREUpIHtcbiAgICByZXR1cm4gYW5vbnltaXplZC50ZXh0Q29udGVudDtcbiAgfVxuXG4gICFpc0VsZW1lbnQoYW5vbnltaXplZCkgPyBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIgPyBpbnZhcmlhbnQoZmFsc2UsICdOb2RlIG11c3QgYmUgYW4gRWxlbWVudCBpZiBpdCBpcyBub3QgYSB0ZXh0IG5vZGUuJykgOiBpbnZhcmlhbnQoZmFsc2UpIDogdm9pZCAwO1xuICB2YXIgY2FzdGVkRWxlbWVudCA9IGFub255bWl6ZWQ7XG4gIHJldHVybiBjYXN0ZWRFbGVtZW50Lm91dGVySFRNTDtcbn1cblxuZnVuY3Rpb24gYW5vbnltaXplVGV4dFdpdGhpbihub2RlLCBnZXROb2RlTGFiZWxzKSB7XG4gIHZhciBsYWJlbHMgPSBnZXROb2RlTGFiZWxzICE9PSB1bmRlZmluZWQgPyBnZXROb2RlTGFiZWxzKG5vZGUpIDogW107XG5cbiAgaWYgKG5vZGUubm9kZVR5cGUgPT09IE5vZGUuVEVYVF9OT0RFKSB7XG4gICAgdmFyIGxlbmd0aCA9IG5vZGUudGV4dENvbnRlbnQubGVuZ3RoO1xuICAgIHJldHVybiBnZXRDb3JyZWN0RG9jdW1lbnRGcm9tTm9kZShub2RlKS5jcmVhdGVUZXh0Tm9kZSgnW3RleHQgJyArIGxlbmd0aCArIChsYWJlbHMubGVuZ3RoID8gJyB8ICcgKyBsYWJlbHMuam9pbignLCAnKSA6ICcnKSArICddJyk7XG4gIH1cblxuICB2YXIgY2xvbmUgPSBub2RlLmNsb25lTm9kZSgpO1xuXG4gIGlmIChjbG9uZS5ub2RlVHlwZSA9PT0gMSAmJiBsYWJlbHMubGVuZ3RoKSB7XG4gICAgY2xvbmUuc2V0QXR0cmlidXRlKCdkYXRhLWxhYmVscycsIGxhYmVscy5qb2luKCcsICcpKTtcbiAgfVxuXG4gIHZhciBjaGlsZE5vZGVzID0gbm9kZS5jaGlsZE5vZGVzO1xuXG4gIGZvciAodmFyIGlpID0gMDsgaWkgPCBjaGlsZE5vZGVzLmxlbmd0aDsgaWkrKykge1xuICAgIGNsb25lLmFwcGVuZENoaWxkKGFub255bWl6ZVRleHRXaXRoaW4oY2hpbGROb2Rlc1tpaV0sIGdldE5vZGVMYWJlbHMpKTtcbiAgfVxuXG4gIHJldHVybiBjbG9uZTtcbn1cblxuZnVuY3Rpb24gZ2V0QW5vbnltaXplZEVkaXRvckRPTShub2RlLCBnZXROb2RlTGFiZWxzKSB7XG4gIC8vIGdyYWJiaW5nIHRoZSBET00gY29udGVudCBvZiB0aGUgRHJhZnQgZWRpdG9yXG4gIHZhciBjdXJyZW50Tm9kZSA9IG5vZGU7IC8vIHRoaXMgc2hvdWxkIG9ubHkgYmUgdXNlZCBhZnRlciBjaGVja2luZyB3aXRoIGlzRWxlbWVudFxuXG4gIHZhciBjYXN0ZWROb2RlID0gY3VycmVudE5vZGU7XG5cbiAgd2hpbGUgKGN1cnJlbnROb2RlKSB7XG4gICAgaWYgKGlzRWxlbWVudChjdXJyZW50Tm9kZSkgJiYgY2FzdGVkTm9kZS5oYXNBdHRyaWJ1dGUoJ2NvbnRlbnRlZGl0YWJsZScpKSB7XG4gICAgICAvLyBmb3VuZCB0aGUgRHJhZnQgZWRpdG9yIGNvbnRhaW5lclxuICAgICAgcmV0dXJuIGdldEFub255bWl6ZWRET00oY3VycmVudE5vZGUsIGdldE5vZGVMYWJlbHMpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjdXJyZW50Tm9kZSA9IGN1cnJlbnROb2RlLnBhcmVudE5vZGU7XG4gICAgICBjYXN0ZWROb2RlID0gY3VycmVudE5vZGU7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuICdDb3VsZCBub3QgZmluZCBjb250ZW50RWRpdGFibGUgcGFyZW50IG9mIG5vZGUnO1xufVxuXG5mdW5jdGlvbiBnZXROb2RlTGVuZ3RoKG5vZGUpIHtcbiAgcmV0dXJuIG5vZGUubm9kZVZhbHVlID09PSBudWxsID8gbm9kZS5jaGlsZE5vZGVzLmxlbmd0aCA6IG5vZGUubm9kZVZhbHVlLmxlbmd0aDtcbn1cbi8qKlxuICogSW4gbW9kZXJuIG5vbi1JRSBicm93c2Vycywgd2UgY2FuIHN1cHBvcnQgYm90aCBmb3J3YXJkIGFuZCBiYWNrd2FyZFxuICogc2VsZWN0aW9ucy5cbiAqXG4gKiBOb3RlOiBJRTEwKyBzdXBwb3J0cyB0aGUgU2VsZWN0aW9uIG9iamVjdCwgYnV0IGl0IGRvZXMgbm90IHN1cHBvcnRcbiAqIHRoZSBgZXh0ZW5kYCBtZXRob2QsIHdoaWNoIG1lYW5zIHRoYXQgZXZlbiBpbiBtb2Rlcm4gSUUsIGl0J3Mgbm90IHBvc3NpYmxlXG4gKiB0byBwcm9ncmFtYXRpY2FsbHkgY3JlYXRlIGEgYmFja3dhcmQgc2VsZWN0aW9uLiBUaHVzLCBmb3IgYWxsIElFXG4gKiB2ZXJzaW9ucywgd2UgdXNlIHRoZSBvbGQgSUUgQVBJIHRvIGNyZWF0ZSBvdXIgc2VsZWN0aW9ucy5cbiAqL1xuXG5cbmZ1bmN0aW9uIHNldERyYWZ0RWRpdG9yU2VsZWN0aW9uKHNlbGVjdGlvblN0YXRlLCBub2RlLCBibG9ja0tleSwgbm9kZVN0YXJ0LCBub2RlRW5kKSB7XG4gIC8vIEl0J3MgcG9zc2libGUgdGhhdCB0aGUgZWRpdG9yIGhhcyBiZWVuIHJlbW92ZWQgZnJvbSB0aGUgRE9NIGJ1dFxuICAvLyBvdXIgc2VsZWN0aW9uIGNvZGUgZG9lc24ndCBrbm93IGl0IHlldC4gRm9yY2luZyBzZWxlY3Rpb24gaW5cbiAgLy8gdGhpcyBjYXNlIG1heSBsZWFkIHRvIGVycm9ycywgc28ganVzdCBiYWlsIG5vdy5cbiAgdmFyIGRvY3VtZW50T2JqZWN0ID0gZ2V0Q29ycmVjdERvY3VtZW50RnJvbU5vZGUobm9kZSk7XG5cbiAgaWYgKCFjb250YWluc05vZGUoZG9jdW1lbnRPYmplY3QuZG9jdW1lbnRFbGVtZW50LCBub2RlKSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHZhciBzZWxlY3Rpb24gPSBkb2N1bWVudE9iamVjdC5kZWZhdWx0Vmlldy5nZXRTZWxlY3Rpb24oKTtcbiAgdmFyIGFuY2hvcktleSA9IHNlbGVjdGlvblN0YXRlLmdldEFuY2hvcktleSgpO1xuICB2YXIgYW5jaG9yT2Zmc2V0ID0gc2VsZWN0aW9uU3RhdGUuZ2V0QW5jaG9yT2Zmc2V0KCk7XG4gIHZhciBmb2N1c0tleSA9IHNlbGVjdGlvblN0YXRlLmdldEZvY3VzS2V5KCk7XG4gIHZhciBmb2N1c09mZnNldCA9IHNlbGVjdGlvblN0YXRlLmdldEZvY3VzT2Zmc2V0KCk7XG4gIHZhciBpc0JhY2t3YXJkID0gc2VsZWN0aW9uU3RhdGUuZ2V0SXNCYWNrd2FyZCgpOyAvLyBJRSBkb2Vzbid0IHN1cHBvcnQgYmFja3dhcmQgc2VsZWN0aW9uLiBTd2FwIGtleS9vZmZzZXQgcGFpcnMuXG5cbiAgaWYgKCFzZWxlY3Rpb24uZXh0ZW5kICYmIGlzQmFja3dhcmQpIHtcbiAgICB2YXIgdGVtcEtleSA9IGFuY2hvcktleTtcbiAgICB2YXIgdGVtcE9mZnNldCA9IGFuY2hvck9mZnNldDtcbiAgICBhbmNob3JLZXkgPSBmb2N1c0tleTtcbiAgICBhbmNob3JPZmZzZXQgPSBmb2N1c09mZnNldDtcbiAgICBmb2N1c0tleSA9IHRlbXBLZXk7XG4gICAgZm9jdXNPZmZzZXQgPSB0ZW1wT2Zmc2V0O1xuICAgIGlzQmFja3dhcmQgPSBmYWxzZTtcbiAgfVxuXG4gIHZhciBoYXNBbmNob3IgPSBhbmNob3JLZXkgPT09IGJsb2NrS2V5ICYmIG5vZGVTdGFydCA8PSBhbmNob3JPZmZzZXQgJiYgbm9kZUVuZCA+PSBhbmNob3JPZmZzZXQ7XG4gIHZhciBoYXNGb2N1cyA9IGZvY3VzS2V5ID09PSBibG9ja0tleSAmJiBub2RlU3RhcnQgPD0gZm9jdXNPZmZzZXQgJiYgbm9kZUVuZCA+PSBmb2N1c09mZnNldDsgLy8gSWYgdGhlIHNlbGVjdGlvbiBpcyBlbnRpcmVseSBib3VuZCB3aXRoaW4gdGhpcyBub2RlLCBzZXQgdGhlIHNlbGVjdGlvblxuICAvLyBhbmQgYmUgZG9uZS5cblxuICBpZiAoaGFzQW5jaG9yICYmIGhhc0ZvY3VzKSB7XG4gICAgc2VsZWN0aW9uLnJlbW92ZUFsbFJhbmdlcygpO1xuICAgIGFkZFBvaW50VG9TZWxlY3Rpb24oc2VsZWN0aW9uLCBub2RlLCBhbmNob3JPZmZzZXQgLSBub2RlU3RhcnQsIHNlbGVjdGlvblN0YXRlKTtcbiAgICBhZGRGb2N1c1RvU2VsZWN0aW9uKHNlbGVjdGlvbiwgbm9kZSwgZm9jdXNPZmZzZXQgLSBub2RlU3RhcnQsIHNlbGVjdGlvblN0YXRlKTtcbiAgICByZXR1cm47XG4gIH1cblxuICBpZiAoIWlzQmFja3dhcmQpIHtcbiAgICAvLyBJZiB0aGUgYW5jaG9yIGlzIHdpdGhpbiB0aGlzIG5vZGUsIHNldCB0aGUgcmFuZ2Ugc3RhcnQuXG4gICAgaWYgKGhhc0FuY2hvcikge1xuICAgICAgc2VsZWN0aW9uLnJlbW92ZUFsbFJhbmdlcygpO1xuICAgICAgYWRkUG9pbnRUb1NlbGVjdGlvbihzZWxlY3Rpb24sIG5vZGUsIGFuY2hvck9mZnNldCAtIG5vZGVTdGFydCwgc2VsZWN0aW9uU3RhdGUpO1xuICAgIH0gLy8gSWYgdGhlIGZvY3VzIGlzIHdpdGhpbiB0aGlzIG5vZGUsIHdlIGNhbiBhc3N1bWUgdGhhdCB3ZSBoYXZlXG4gICAgLy8gYWxyZWFkeSBzZXQgdGhlIGFwcHJvcHJpYXRlIHN0YXJ0IHJhbmdlIG9uIHRoZSBzZWxlY3Rpb24sIGFuZFxuICAgIC8vIGNhbiBzaW1wbHkgZXh0ZW5kIHRoZSBzZWxlY3Rpb24uXG5cblxuICAgIGlmIChoYXNGb2N1cykge1xuICAgICAgYWRkRm9jdXNUb1NlbGVjdGlvbihzZWxlY3Rpb24sIG5vZGUsIGZvY3VzT2Zmc2V0IC0gbm9kZVN0YXJ0LCBzZWxlY3Rpb25TdGF0ZSk7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIC8vIElmIHRoaXMgbm9kZSBoYXMgdGhlIGZvY3VzLCBzZXQgdGhlIHNlbGVjdGlvbiByYW5nZSB0byBiZSBhXG4gICAgLy8gY29sbGFwc2VkIHJhbmdlIGJlZ2lubmluZyBoZXJlLiBMYXRlciwgd2hlbiB3ZSBlbmNvdW50ZXIgdGhlIGFuY2hvcixcbiAgICAvLyB3ZSdsbCB1c2UgdGhpcyBpbmZvcm1hdGlvbiB0byBleHRlbmQgdGhlIHNlbGVjdGlvbi5cbiAgICBpZiAoaGFzRm9jdXMpIHtcbiAgICAgIHNlbGVjdGlvbi5yZW1vdmVBbGxSYW5nZXMoKTtcbiAgICAgIGFkZFBvaW50VG9TZWxlY3Rpb24oc2VsZWN0aW9uLCBub2RlLCBmb2N1c09mZnNldCAtIG5vZGVTdGFydCwgc2VsZWN0aW9uU3RhdGUpO1xuICAgIH0gLy8gSWYgdGhpcyBub2RlIGhhcyB0aGUgYW5jaG9yLCB3ZSBtYXkgYXNzdW1lIHRoYXQgdGhlIGNvcnJlY3RcbiAgICAvLyBmb2N1cyBpbmZvcm1hdGlvbiBpcyBhbHJlYWR5IHN0b3JlZCBvbiB0aGUgc2VsZWN0aW9uIG9iamVjdC5cbiAgICAvLyBXZSBrZWVwIHRyYWNrIG9mIGl0LCByZXNldCB0aGUgc2VsZWN0aW9uIHJhbmdlLCBhbmQgZXh0ZW5kIGl0XG4gICAgLy8gYmFjayB0byB0aGUgZm9jdXMgcG9pbnQuXG5cblxuICAgIGlmIChoYXNBbmNob3IpIHtcbiAgICAgIHZhciBzdG9yZWRGb2N1c05vZGUgPSBzZWxlY3Rpb24uZm9jdXNOb2RlO1xuICAgICAgdmFyIHN0b3JlZEZvY3VzT2Zmc2V0ID0gc2VsZWN0aW9uLmZvY3VzT2Zmc2V0O1xuICAgICAgc2VsZWN0aW9uLnJlbW92ZUFsbFJhbmdlcygpO1xuICAgICAgYWRkUG9pbnRUb1NlbGVjdGlvbihzZWxlY3Rpb24sIG5vZGUsIGFuY2hvck9mZnNldCAtIG5vZGVTdGFydCwgc2VsZWN0aW9uU3RhdGUpO1xuICAgICAgYWRkRm9jdXNUb1NlbGVjdGlvbihzZWxlY3Rpb24sIHN0b3JlZEZvY3VzTm9kZSwgc3RvcmVkRm9jdXNPZmZzZXQsIHNlbGVjdGlvblN0YXRlKTtcbiAgICB9XG4gIH1cbn1cbi8qKlxuICogRXh0ZW5kIHNlbGVjdGlvbiB0b3dhcmRzIGZvY3VzIHBvaW50LlxuICovXG5cblxuZnVuY3Rpb24gYWRkRm9jdXNUb1NlbGVjdGlvbihzZWxlY3Rpb24sIG5vZGUsIG9mZnNldCwgc2VsZWN0aW9uU3RhdGUpIHtcbiAgdmFyIGFjdGl2ZUVsZW1lbnQgPSBnZXRBY3RpdmVFbGVtZW50KCk7XG5cbiAgaWYgKHNlbGVjdGlvbi5leHRlbmQgJiYgY29udGFpbnNOb2RlKGFjdGl2ZUVsZW1lbnQsIG5vZGUpKSB7XG4gICAgLy8gSWYgYGV4dGVuZGAgaXMgY2FsbGVkIHdoaWxlIGFub3RoZXIgZWxlbWVudCBoYXMgZm9jdXMsIGFuIGVycm9yIGlzXG4gICAgLy8gdGhyb3duLiBXZSB0aGVyZWZvcmUgZGlzYWJsZSBgZXh0ZW5kYCBpZiB0aGUgYWN0aXZlIGVsZW1lbnQgaXMgc29tZXdoZXJlXG4gICAgLy8gb3RoZXIgdGhhbiB0aGUgbm9kZSB3ZSBhcmUgc2VsZWN0aW5nLiBUaGlzIHNob3VsZCBvbmx5IG9jY3VyIGluIEZpcmVmb3gsXG4gICAgLy8gc2luY2UgaXQgaXMgdGhlIG9ubHkgYnJvd3NlciB0byBzdXBwb3J0IG11bHRpcGxlIHNlbGVjdGlvbnMuXG4gICAgLy8gU2VlIGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTkyMTQ0NC5cbiAgICAvLyBsb2dnaW5nIHRvIGNhdGNoIGJ1ZyB0aGF0IGlzIGJlaW5nIHJlcG9ydGVkIGluIHQxNjI1MDc5NVxuICAgIGlmIChvZmZzZXQgPiBnZXROb2RlTGVuZ3RoKG5vZGUpKSB7XG4gICAgICAvLyB0aGUgY2FsbCB0byAnc2VsZWN0aW9uLmV4dGVuZCcgaXMgYWJvdXQgdG8gdGhyb3dcbiAgICAgIERyYWZ0SnNEZWJ1Z0xvZ2dpbmcubG9nU2VsZWN0aW9uU3RhdGVGYWlsdXJlKHtcbiAgICAgICAgYW5vbnltaXplZERvbTogZ2V0QW5vbnltaXplZEVkaXRvckRPTShub2RlKSxcbiAgICAgICAgZXh0cmFQYXJhbXM6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICBvZmZzZXQ6IG9mZnNldFxuICAgICAgICB9KSxcbiAgICAgICAgc2VsZWN0aW9uU3RhdGU6IEpTT04uc3RyaW5naWZ5KHNlbGVjdGlvblN0YXRlLnRvSlMoKSlcbiAgICAgIH0pO1xuICAgIH0gLy8gbG9nZ2luZyB0byBjYXRjaCBidWcgdGhhdCBpcyBiZWluZyByZXBvcnRlZCBpbiB0MTgxMTA2MzJcblxuXG4gICAgdmFyIG5vZGVXYXNGb2N1cyA9IG5vZGUgPT09IHNlbGVjdGlvbi5mb2N1c05vZGU7XG5cbiAgICB0cnkge1xuICAgICAgc2VsZWN0aW9uLmV4dGVuZChub2RlLCBvZmZzZXQpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIERyYWZ0SnNEZWJ1Z0xvZ2dpbmcubG9nU2VsZWN0aW9uU3RhdGVGYWlsdXJlKHtcbiAgICAgICAgYW5vbnltaXplZERvbTogZ2V0QW5vbnltaXplZEVkaXRvckRPTShub2RlLCBmdW5jdGlvbiAobikge1xuICAgICAgICAgIHZhciBsYWJlbHMgPSBbXTtcblxuICAgICAgICAgIGlmIChuID09PSBhY3RpdmVFbGVtZW50KSB7XG4gICAgICAgICAgICBsYWJlbHMucHVzaCgnYWN0aXZlIGVsZW1lbnQnKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAobiA9PT0gc2VsZWN0aW9uLmFuY2hvck5vZGUpIHtcbiAgICAgICAgICAgIGxhYmVscy5wdXNoKCdzZWxlY3Rpb24gYW5jaG9yIG5vZGUnKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAobiA9PT0gc2VsZWN0aW9uLmZvY3VzTm9kZSkge1xuICAgICAgICAgICAgbGFiZWxzLnB1c2goJ3NlbGVjdGlvbiBmb2N1cyBub2RlJyk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIGxhYmVscztcbiAgICAgICAgfSksXG4gICAgICAgIGV4dHJhUGFyYW1zOiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgYWN0aXZlRWxlbWVudE5hbWU6IGFjdGl2ZUVsZW1lbnQgPyBhY3RpdmVFbGVtZW50Lm5vZGVOYW1lIDogbnVsbCxcbiAgICAgICAgICBub2RlSXNGb2N1czogbm9kZSA9PT0gc2VsZWN0aW9uLmZvY3VzTm9kZSxcbiAgICAgICAgICBub2RlV2FzRm9jdXM6IG5vZGVXYXNGb2N1cyxcbiAgICAgICAgICBzZWxlY3Rpb25SYW5nZUNvdW50OiBzZWxlY3Rpb24ucmFuZ2VDb3VudCxcbiAgICAgICAgICBzZWxlY3Rpb25BbmNob3JOb2RlTmFtZTogc2VsZWN0aW9uLmFuY2hvck5vZGUgPyBzZWxlY3Rpb24uYW5jaG9yTm9kZS5ub2RlTmFtZSA6IG51bGwsXG4gICAgICAgICAgc2VsZWN0aW9uQW5jaG9yT2Zmc2V0OiBzZWxlY3Rpb24uYW5jaG9yT2Zmc2V0LFxuICAgICAgICAgIHNlbGVjdGlvbkZvY3VzTm9kZU5hbWU6IHNlbGVjdGlvbi5mb2N1c05vZGUgPyBzZWxlY3Rpb24uZm9jdXNOb2RlLm5vZGVOYW1lIDogbnVsbCxcbiAgICAgICAgICBzZWxlY3Rpb25Gb2N1c09mZnNldDogc2VsZWN0aW9uLmZvY3VzT2Zmc2V0LFxuICAgICAgICAgIG1lc3NhZ2U6IGUgPyAnJyArIGUgOiBudWxsLFxuICAgICAgICAgIG9mZnNldDogb2Zmc2V0XG4gICAgICAgIH0sIG51bGwsIDIpLFxuICAgICAgICBzZWxlY3Rpb25TdGF0ZTogSlNPTi5zdHJpbmdpZnkoc2VsZWN0aW9uU3RhdGUudG9KUygpLCBudWxsLCAyKVxuICAgICAgfSk7IC8vIGFsbG93IHRoZSBlcnJvciB0byBiZSB0aHJvd24gLVxuICAgICAgLy8gYmV0dGVyIHRoYW4gY29udGludWluZyBpbiBhIGJyb2tlbiBzdGF0ZVxuXG4gICAgICB0aHJvdyBlO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICAvLyBJRSBkb2Vzbid0IHN1cHBvcnQgZXh0ZW5kLiBUaGlzIHdpbGwgbWVhbiBubyBiYWNrd2FyZCBzZWxlY3Rpb24uXG4gICAgLy8gRXh0cmFjdCB0aGUgZXhpc3Rpbmcgc2VsZWN0aW9uIHJhbmdlIGFuZCBhZGQgZm9jdXMgdG8gaXQuXG4gICAgLy8gQWRkaXRpb25hbGx5LCBjbG9uZSB0aGUgc2VsZWN0aW9uIHJhbmdlLiBJRTExIHRocm93cyBhblxuICAgIC8vIEludmFsaWRTdGF0ZUVycm9yIHdoZW4gYXR0ZW1wdGluZyB0byBhY2Nlc3Mgc2VsZWN0aW9uIHByb3BlcnRpZXNcbiAgICAvLyBhZnRlciB0aGUgcmFuZ2UgaXMgZGV0YWNoZWQuXG4gICAgaWYgKHNlbGVjdGlvbi5yYW5nZUNvdW50ID4gMCkge1xuICAgICAgdmFyIHJhbmdlID0gc2VsZWN0aW9uLmdldFJhbmdlQXQoMCk7XG4gICAgICByYW5nZS5zZXRFbmQobm9kZSwgb2Zmc2V0KTtcbiAgICAgIHNlbGVjdGlvbi5hZGRSYW5nZShyYW5nZS5jbG9uZVJhbmdlKCkpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBhZGRQb2ludFRvU2VsZWN0aW9uKHNlbGVjdGlvbiwgbm9kZSwgb2Zmc2V0LCBzZWxlY3Rpb25TdGF0ZSkge1xuICB2YXIgcmFuZ2UgPSBnZXRDb3JyZWN0RG9jdW1lbnRGcm9tTm9kZShub2RlKS5jcmVhdGVSYW5nZSgpOyAvLyBsb2dnaW5nIHRvIGNhdGNoIGJ1ZyB0aGF0IGlzIGJlaW5nIHJlcG9ydGVkIGluIHQxNjI1MDc5NVxuXG4gIGlmIChvZmZzZXQgPiBnZXROb2RlTGVuZ3RoKG5vZGUpKSB7XG4gICAgLy8gaW4gdGhpcyBjYXNlIHdlIGtub3cgdGhhdCB0aGUgY2FsbCB0byAncmFuZ2Uuc2V0U3RhcnQnIGlzIGFib3V0IHRvIHRocm93XG4gICAgRHJhZnRKc0RlYnVnTG9nZ2luZy5sb2dTZWxlY3Rpb25TdGF0ZUZhaWx1cmUoe1xuICAgICAgYW5vbnltaXplZERvbTogZ2V0QW5vbnltaXplZEVkaXRvckRPTShub2RlKSxcbiAgICAgIGV4dHJhUGFyYW1zOiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgIG9mZnNldDogb2Zmc2V0XG4gICAgICB9KSxcbiAgICAgIHNlbGVjdGlvblN0YXRlOiBKU09OLnN0cmluZ2lmeShzZWxlY3Rpb25TdGF0ZS50b0pTKCkpXG4gICAgfSk7XG4gICAgRHJhZnRFZmZlY3RzLmhhbmRsZUV4dGVuc2lvbkNhdXNlZEVycm9yKCk7XG4gIH1cblxuICByYW5nZS5zZXRTdGFydChub2RlLCBvZmZzZXQpOyAvLyBJRSBzb21ldGltZXMgdGhyb3dzIFVuc3BlY2lmaWVkIEVycm9yIHdoZW4gdHJ5aW5nIHRvIGFkZFJhbmdlXG5cbiAgaWYgKGlzSUUpIHtcbiAgICB0cnkge1xuICAgICAgc2VsZWN0aW9uLmFkZFJhbmdlKHJhbmdlKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiKSB7XG4gICAgICAgIC8qIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlICovXG4gICAgICAgIGNvbnNvbGUud2FybignQ2FsbCB0byBzZWxlY3Rpb24uYWRkUmFuZ2UoKSB0aHJldyBleGNlcHRpb246ICcsIGUpO1xuICAgICAgfVxuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBzZWxlY3Rpb24uYWRkUmFuZ2UocmFuZ2UpO1xuICB9XG59XG5cbm1vZHVsZS5leHBvcnRzID0ge1xuICBzZXREcmFmdEVkaXRvclNlbGVjdGlvbjogc2V0RHJhZnRFZGl0b3JTZWxlY3Rpb24sXG4gIGFkZEZvY3VzVG9TZWxlY3Rpb246IGFkZEZvY3VzVG9TZWxlY3Rpb25cbn07Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/setDraftEditorSelection.js\n"); /***/ }), @@ -1315,7 +1542,7 @@ eval("/* WEBPACK VAR INJECTION */(function(global) {/**\n * Copyright (c) 2013-p /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule splitBlockInContentState\n * @format\n * \n */\n\n\n\nvar ContentBlockNode = __webpack_require__(/*! ./ContentBlockNode */ \"./node_modules/draft-js/lib/ContentBlockNode.js\");\nvar Immutable = __webpack_require__(/*! immutable */ \"./node_modules/draft-js/node_modules/immutable/dist/immutable.js\");\n\nvar generateRandomKey = __webpack_require__(/*! ./generateRandomKey */ \"./node_modules/draft-js/lib/generateRandomKey.js\");\nvar invariant = __webpack_require__(/*! fbjs/lib/invariant */ \"./node_modules/fbjs/lib/invariant.js\");\n\nvar List = Immutable.List,\n Map = Immutable.Map;\n\n\nvar transformBlock = function transformBlock(key, blockMap, func) {\n if (!key) {\n return;\n }\n\n var block = blockMap.get(key);\n\n if (!block) {\n return;\n }\n\n blockMap.set(key, func(block));\n};\n\nvar updateBlockMapLinks = function updateBlockMapLinks(blockMap, originalBlock, belowBlock) {\n return blockMap.withMutations(function (blocks) {\n var originalBlockKey = originalBlock.getKey();\n var belowBlockKey = belowBlock.getKey();\n\n // update block parent\n transformBlock(originalBlock.getParentKey(), blocks, function (block) {\n var parentChildrenList = block.getChildKeys();\n var insertionIndex = parentChildrenList.indexOf(originalBlockKey) + 1;\n var newChildrenArray = parentChildrenList.toArray();\n\n newChildrenArray.splice(insertionIndex, 0, belowBlockKey);\n\n return block.merge({\n children: List(newChildrenArray)\n });\n });\n\n // update original next block\n transformBlock(originalBlock.getNextSiblingKey(), blocks, function (block) {\n return block.merge({\n prevSibling: belowBlockKey\n });\n });\n\n // update original block\n transformBlock(originalBlockKey, blocks, function (block) {\n return block.merge({\n nextSibling: belowBlockKey\n });\n });\n\n // update below block\n transformBlock(belowBlockKey, blocks, function (block) {\n return block.merge({\n prevSibling: originalBlockKey\n });\n });\n });\n};\n\nvar splitBlockInContentState = function splitBlockInContentState(contentState, selectionState) {\n !selectionState.isCollapsed() ? true ? invariant(false, 'Selection range must be collapsed.') : undefined : void 0;\n\n var key = selectionState.getAnchorKey();\n var offset = selectionState.getAnchorOffset();\n var blockMap = contentState.getBlockMap();\n var blockToSplit = blockMap.get(key);\n var text = blockToSplit.getText();\n var chars = blockToSplit.getCharacterList();\n var keyBelow = generateRandomKey();\n var isExperimentalTreeBlock = blockToSplit instanceof ContentBlockNode;\n\n var blockAbove = blockToSplit.merge({\n text: text.slice(0, offset),\n characterList: chars.slice(0, offset)\n });\n var blockBelow = blockAbove.merge({\n key: keyBelow,\n text: text.slice(offset),\n characterList: chars.slice(offset),\n data: Map()\n });\n\n var blocksBefore = blockMap.toSeq().takeUntil(function (v) {\n return v === blockToSplit;\n });\n var blocksAfter = blockMap.toSeq().skipUntil(function (v) {\n return v === blockToSplit;\n }).rest();\n var newBlocks = blocksBefore.concat([[key, blockAbove], [keyBelow, blockBelow]], blocksAfter).toOrderedMap();\n\n if (isExperimentalTreeBlock) {\n !blockToSplit.getChildKeys().isEmpty() ? true ? invariant(false, 'ContentBlockNode must not have children') : undefined : void 0;\n\n newBlocks = updateBlockMapLinks(newBlocks, blockAbove, blockBelow);\n }\n\n return contentState.merge({\n blockMap: newBlocks,\n selectionBefore: selectionState,\n selectionAfter: selectionState.merge({\n anchorKey: keyBelow,\n anchorOffset: 0,\n focusKey: keyBelow,\n focusOffset: 0,\n isBackward: false\n })\n });\n};\n\nmodule.exports = splitBlockInContentState;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL3NwbGl0QmxvY2tJbkNvbnRlbnRTdGF0ZS5qcz8wNzQ2Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFYTs7QUFFYix1QkFBdUIsbUJBQU8sQ0FBQywyRUFBb0I7QUFDbkQsZ0JBQWdCLG1CQUFPLENBQUMsbUZBQVc7O0FBRW5DLHdCQUF3QixtQkFBTyxDQUFDLDZFQUFxQjtBQUNyRCxnQkFBZ0IsbUJBQU8sQ0FBQyxnRUFBb0I7O0FBRTVDO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBLE9BQU87QUFDUCxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1AsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUCxLQUFLO0FBQ0wsR0FBRztBQUNIOztBQUVBO0FBQ0Esa0NBQWtDLEtBQXFDLDREQUE0RCxTQUFnQjs7QUFFbko7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0EsNkNBQTZDLEtBQXFDLGlFQUFpRSxTQUFnQjs7QUFFbks7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsR0FBRztBQUNIOztBQUVBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2RyYWZ0LWpzL2xpYi9zcGxpdEJsb2NrSW5Db250ZW50U3RhdGUuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxMy1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuICogQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBCU0Qtc3R5bGUgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS4gQW4gYWRkaXRpb25hbCBncmFudFxuICogb2YgcGF0ZW50IHJpZ2h0cyBjYW4gYmUgZm91bmQgaW4gdGhlIFBBVEVOVFMgZmlsZSBpbiB0aGUgc2FtZSBkaXJlY3RvcnkuXG4gKlxuICogQHByb3ZpZGVzTW9kdWxlIHNwbGl0QmxvY2tJbkNvbnRlbnRTdGF0ZVxuICogQGZvcm1hdFxuICogXG4gKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG52YXIgQ29udGVudEJsb2NrTm9kZSA9IHJlcXVpcmUoJy4vQ29udGVudEJsb2NrTm9kZScpO1xudmFyIEltbXV0YWJsZSA9IHJlcXVpcmUoJ2ltbXV0YWJsZScpO1xuXG52YXIgZ2VuZXJhdGVSYW5kb21LZXkgPSByZXF1aXJlKCcuL2dlbmVyYXRlUmFuZG9tS2V5Jyk7XG52YXIgaW52YXJpYW50ID0gcmVxdWlyZSgnZmJqcy9saWIvaW52YXJpYW50Jyk7XG5cbnZhciBMaXN0ID0gSW1tdXRhYmxlLkxpc3QsXG4gICAgTWFwID0gSW1tdXRhYmxlLk1hcDtcblxuXG52YXIgdHJhbnNmb3JtQmxvY2sgPSBmdW5jdGlvbiB0cmFuc2Zvcm1CbG9jayhrZXksIGJsb2NrTWFwLCBmdW5jKSB7XG4gIGlmICgha2V5KSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdmFyIGJsb2NrID0gYmxvY2tNYXAuZ2V0KGtleSk7XG5cbiAgaWYgKCFibG9jaykge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGJsb2NrTWFwLnNldChrZXksIGZ1bmMoYmxvY2spKTtcbn07XG5cbnZhciB1cGRhdGVCbG9ja01hcExpbmtzID0gZnVuY3Rpb24gdXBkYXRlQmxvY2tNYXBMaW5rcyhibG9ja01hcCwgb3JpZ2luYWxCbG9jaywgYmVsb3dCbG9jaykge1xuICByZXR1cm4gYmxvY2tNYXAud2l0aE11dGF0aW9ucyhmdW5jdGlvbiAoYmxvY2tzKSB7XG4gICAgdmFyIG9yaWdpbmFsQmxvY2tLZXkgPSBvcmlnaW5hbEJsb2NrLmdldEtleSgpO1xuICAgIHZhciBiZWxvd0Jsb2NrS2V5ID0gYmVsb3dCbG9jay5nZXRLZXkoKTtcblxuICAgIC8vIHVwZGF0ZSBibG9jayBwYXJlbnRcbiAgICB0cmFuc2Zvcm1CbG9jayhvcmlnaW5hbEJsb2NrLmdldFBhcmVudEtleSgpLCBibG9ja3MsIGZ1bmN0aW9uIChibG9jaykge1xuICAgICAgdmFyIHBhcmVudENoaWxkcmVuTGlzdCA9IGJsb2NrLmdldENoaWxkS2V5cygpO1xuICAgICAgdmFyIGluc2VydGlvbkluZGV4ID0gcGFyZW50Q2hpbGRyZW5MaXN0LmluZGV4T2Yob3JpZ2luYWxCbG9ja0tleSkgKyAxO1xuICAgICAgdmFyIG5ld0NoaWxkcmVuQXJyYXkgPSBwYXJlbnRDaGlsZHJlbkxpc3QudG9BcnJheSgpO1xuXG4gICAgICBuZXdDaGlsZHJlbkFycmF5LnNwbGljZShpbnNlcnRpb25JbmRleCwgMCwgYmVsb3dCbG9ja0tleSk7XG5cbiAgICAgIHJldHVybiBibG9jay5tZXJnZSh7XG4gICAgICAgIGNoaWxkcmVuOiBMaXN0KG5ld0NoaWxkcmVuQXJyYXkpXG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIC8vIHVwZGF0ZSBvcmlnaW5hbCBuZXh0IGJsb2NrXG4gICAgdHJhbnNmb3JtQmxvY2sob3JpZ2luYWxCbG9jay5nZXROZXh0U2libGluZ0tleSgpLCBibG9ja3MsIGZ1bmN0aW9uIChibG9jaykge1xuICAgICAgcmV0dXJuIGJsb2NrLm1lcmdlKHtcbiAgICAgICAgcHJldlNpYmxpbmc6IGJlbG93QmxvY2tLZXlcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgLy8gdXBkYXRlIG9yaWdpbmFsIGJsb2NrXG4gICAgdHJhbnNmb3JtQmxvY2sob3JpZ2luYWxCbG9ja0tleSwgYmxvY2tzLCBmdW5jdGlvbiAoYmxvY2spIHtcbiAgICAgIHJldHVybiBibG9jay5tZXJnZSh7XG4gICAgICAgIG5leHRTaWJsaW5nOiBiZWxvd0Jsb2NrS2V5XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIC8vIHVwZGF0ZSBiZWxvdyBibG9ja1xuICAgIHRyYW5zZm9ybUJsb2NrKGJlbG93QmxvY2tLZXksIGJsb2NrcywgZnVuY3Rpb24gKGJsb2NrKSB7XG4gICAgICByZXR1cm4gYmxvY2subWVyZ2Uoe1xuICAgICAgICBwcmV2U2libGluZzogb3JpZ2luYWxCbG9ja0tleVxuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xufTtcblxudmFyIHNwbGl0QmxvY2tJbkNvbnRlbnRTdGF0ZSA9IGZ1bmN0aW9uIHNwbGl0QmxvY2tJbkNvbnRlbnRTdGF0ZShjb250ZW50U3RhdGUsIHNlbGVjdGlvblN0YXRlKSB7XG4gICFzZWxlY3Rpb25TdGF0ZS5pc0NvbGxhcHNlZCgpID8gcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyA/IGludmFyaWFudChmYWxzZSwgJ1NlbGVjdGlvbiByYW5nZSBtdXN0IGJlIGNvbGxhcHNlZC4nKSA6IGludmFyaWFudChmYWxzZSkgOiB2b2lkIDA7XG5cbiAgdmFyIGtleSA9IHNlbGVjdGlvblN0YXRlLmdldEFuY2hvcktleSgpO1xuICB2YXIgb2Zmc2V0ID0gc2VsZWN0aW9uU3RhdGUuZ2V0QW5jaG9yT2Zmc2V0KCk7XG4gIHZhciBibG9ja01hcCA9IGNvbnRlbnRTdGF0ZS5nZXRCbG9ja01hcCgpO1xuICB2YXIgYmxvY2tUb1NwbGl0ID0gYmxvY2tNYXAuZ2V0KGtleSk7XG4gIHZhciB0ZXh0ID0gYmxvY2tUb1NwbGl0LmdldFRleHQoKTtcbiAgdmFyIGNoYXJzID0gYmxvY2tUb1NwbGl0LmdldENoYXJhY3Rlckxpc3QoKTtcbiAgdmFyIGtleUJlbG93ID0gZ2VuZXJhdGVSYW5kb21LZXkoKTtcbiAgdmFyIGlzRXhwZXJpbWVudGFsVHJlZUJsb2NrID0gYmxvY2tUb1NwbGl0IGluc3RhbmNlb2YgQ29udGVudEJsb2NrTm9kZTtcblxuICB2YXIgYmxvY2tBYm92ZSA9IGJsb2NrVG9TcGxpdC5tZXJnZSh7XG4gICAgdGV4dDogdGV4dC5zbGljZSgwLCBvZmZzZXQpLFxuICAgIGNoYXJhY3Rlckxpc3Q6IGNoYXJzLnNsaWNlKDAsIG9mZnNldClcbiAgfSk7XG4gIHZhciBibG9ja0JlbG93ID0gYmxvY2tBYm92ZS5tZXJnZSh7XG4gICAga2V5OiBrZXlCZWxvdyxcbiAgICB0ZXh0OiB0ZXh0LnNsaWNlKG9mZnNldCksXG4gICAgY2hhcmFjdGVyTGlzdDogY2hhcnMuc2xpY2Uob2Zmc2V0KSxcbiAgICBkYXRhOiBNYXAoKVxuICB9KTtcblxuICB2YXIgYmxvY2tzQmVmb3JlID0gYmxvY2tNYXAudG9TZXEoKS50YWtlVW50aWwoZnVuY3Rpb24gKHYpIHtcbiAgICByZXR1cm4gdiA9PT0gYmxvY2tUb1NwbGl0O1xuICB9KTtcbiAgdmFyIGJsb2Nrc0FmdGVyID0gYmxvY2tNYXAudG9TZXEoKS5za2lwVW50aWwoZnVuY3Rpb24gKHYpIHtcbiAgICByZXR1cm4gdiA9PT0gYmxvY2tUb1NwbGl0O1xuICB9KS5yZXN0KCk7XG4gIHZhciBuZXdCbG9ja3MgPSBibG9ja3NCZWZvcmUuY29uY2F0KFtba2V5LCBibG9ja0Fib3ZlXSwgW2tleUJlbG93LCBibG9ja0JlbG93XV0sIGJsb2Nrc0FmdGVyKS50b09yZGVyZWRNYXAoKTtcblxuICBpZiAoaXNFeHBlcmltZW50YWxUcmVlQmxvY2spIHtcbiAgICAhYmxvY2tUb1NwbGl0LmdldENoaWxkS2V5cygpLmlzRW1wdHkoKSA/IHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgPyBpbnZhcmlhbnQoZmFsc2UsICdDb250ZW50QmxvY2tOb2RlIG11c3Qgbm90IGhhdmUgY2hpbGRyZW4nKSA6IGludmFyaWFudChmYWxzZSkgOiB2b2lkIDA7XG5cbiAgICBuZXdCbG9ja3MgPSB1cGRhdGVCbG9ja01hcExpbmtzKG5ld0Jsb2NrcywgYmxvY2tBYm92ZSwgYmxvY2tCZWxvdyk7XG4gIH1cblxuICByZXR1cm4gY29udGVudFN0YXRlLm1lcmdlKHtcbiAgICBibG9ja01hcDogbmV3QmxvY2tzLFxuICAgIHNlbGVjdGlvbkJlZm9yZTogc2VsZWN0aW9uU3RhdGUsXG4gICAgc2VsZWN0aW9uQWZ0ZXI6IHNlbGVjdGlvblN0YXRlLm1lcmdlKHtcbiAgICAgIGFuY2hvcktleToga2V5QmVsb3csXG4gICAgICBhbmNob3JPZmZzZXQ6IDAsXG4gICAgICBmb2N1c0tleToga2V5QmVsb3csXG4gICAgICBmb2N1c09mZnNldDogMCxcbiAgICAgIGlzQmFja3dhcmQ6IGZhbHNlXG4gICAgfSlcbiAgfSk7XG59O1xuXG5tb2R1bGUuZXhwb3J0cyA9IHNwbGl0QmxvY2tJbkNvbnRlbnRTdGF0ZTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/splitBlockInContentState.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nvar ContentBlockNode = __webpack_require__(/*! ./ContentBlockNode */ \"./node_modules/draft-js/lib/ContentBlockNode.js\");\n\nvar generateRandomKey = __webpack_require__(/*! ./generateRandomKey */ \"./node_modules/draft-js/lib/generateRandomKey.js\");\n\nvar Immutable = __webpack_require__(/*! immutable */ \"./node_modules/draft-js/node_modules/immutable/dist/immutable.js\");\n\nvar invariant = __webpack_require__(/*! fbjs/lib/invariant */ \"./node_modules/fbjs/lib/invariant.js\");\n\nvar modifyBlockForContentState = __webpack_require__(/*! ./modifyBlockForContentState */ \"./node_modules/draft-js/lib/modifyBlockForContentState.js\");\n\nvar List = Immutable.List,\n Map = Immutable.Map;\n\nvar transformBlock = function transformBlock(key, blockMap, func) {\n if (!key) {\n return;\n }\n\n var block = blockMap.get(key);\n\n if (!block) {\n return;\n }\n\n blockMap.set(key, func(block));\n};\n\nvar updateBlockMapLinks = function updateBlockMapLinks(blockMap, originalBlock, belowBlock) {\n return blockMap.withMutations(function (blocks) {\n var originalBlockKey = originalBlock.getKey();\n var belowBlockKey = belowBlock.getKey(); // update block parent\n\n transformBlock(originalBlock.getParentKey(), blocks, function (block) {\n var parentChildrenList = block.getChildKeys();\n var insertionIndex = parentChildrenList.indexOf(originalBlockKey) + 1;\n var newChildrenArray = parentChildrenList.toArray();\n newChildrenArray.splice(insertionIndex, 0, belowBlockKey);\n return block.merge({\n children: List(newChildrenArray)\n });\n }); // update original next block\n\n transformBlock(originalBlock.getNextSiblingKey(), blocks, function (block) {\n return block.merge({\n prevSibling: belowBlockKey\n });\n }); // update original block\n\n transformBlock(originalBlockKey, blocks, function (block) {\n return block.merge({\n nextSibling: belowBlockKey\n });\n }); // update below block\n\n transformBlock(belowBlockKey, blocks, function (block) {\n return block.merge({\n prevSibling: originalBlockKey\n });\n });\n });\n};\n\nvar splitBlockInContentState = function splitBlockInContentState(contentState, selectionState) {\n !selectionState.isCollapsed() ? true ? invariant(false, 'Selection range must be collapsed.') : undefined : void 0;\n var key = selectionState.getAnchorKey();\n var blockMap = contentState.getBlockMap();\n var blockToSplit = blockMap.get(key);\n var text = blockToSplit.getText();\n\n if (!text) {\n var blockType = blockToSplit.getType();\n\n if (blockType === 'unordered-list-item' || blockType === 'ordered-list-item') {\n return modifyBlockForContentState(contentState, selectionState, function (block) {\n return block.merge({\n type: 'unstyled',\n depth: 0\n });\n });\n }\n }\n\n var offset = selectionState.getAnchorOffset();\n var chars = blockToSplit.getCharacterList();\n var keyBelow = generateRandomKey();\n var isExperimentalTreeBlock = blockToSplit instanceof ContentBlockNode;\n var blockAbove = blockToSplit.merge({\n text: text.slice(0, offset),\n characterList: chars.slice(0, offset)\n });\n var blockBelow = blockAbove.merge({\n key: keyBelow,\n text: text.slice(offset),\n characterList: chars.slice(offset),\n data: Map()\n });\n var blocksBefore = blockMap.toSeq().takeUntil(function (v) {\n return v === blockToSplit;\n });\n var blocksAfter = blockMap.toSeq().skipUntil(function (v) {\n return v === blockToSplit;\n }).rest();\n var newBlocks = blocksBefore.concat([[key, blockAbove], [keyBelow, blockBelow]], blocksAfter).toOrderedMap();\n\n if (isExperimentalTreeBlock) {\n !blockToSplit.getChildKeys().isEmpty() ? true ? invariant(false, 'ContentBlockNode must not have children') : undefined : void 0;\n newBlocks = updateBlockMapLinks(newBlocks, blockAbove, blockBelow);\n }\n\n return contentState.merge({\n blockMap: newBlocks,\n selectionBefore: selectionState,\n selectionAfter: selectionState.merge({\n anchorKey: keyBelow,\n anchorOffset: 0,\n focusKey: keyBelow,\n focusOffset: 0,\n isBackward: false\n })\n });\n};\n\nmodule.exports = splitBlockInContentState;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL3NwbGl0QmxvY2tJbkNvbnRlbnRTdGF0ZS5qcz8wNzQ2Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ2E7O0FBRWIsdUJBQXVCLG1CQUFPLENBQUMsMkVBQW9COztBQUVuRCx3QkFBd0IsbUJBQU8sQ0FBQyw2RUFBcUI7O0FBRXJELGdCQUFnQixtQkFBTyxDQUFDLG1GQUFXOztBQUVuQyxnQkFBZ0IsbUJBQU8sQ0FBQyxnRUFBb0I7O0FBRTVDLGlDQUFpQyxtQkFBTyxDQUFDLCtGQUE4Qjs7QUFFdkU7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSw0Q0FBNEM7O0FBRTVDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQLEtBQUssRUFBRTs7QUFFUDtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1AsS0FBSyxFQUFFOztBQUVQO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUCxLQUFLLEVBQUU7O0FBRVA7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQLEtBQUs7QUFDTCxHQUFHO0FBQ0g7O0FBRUE7QUFDQSxrQ0FBa0MsS0FBcUMsNERBQTRELFNBQWdCO0FBQ25KO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVCxPQUFPO0FBQ1A7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBLDZDQUE2QyxLQUFxQyxpRUFBaUUsU0FBZ0I7QUFDbks7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsR0FBRztBQUNIOztBQUVBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2RyYWZ0LWpzL2xpYi9zcGxpdEJsb2NrSW5Db250ZW50U3RhdGUuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgRmFjZWJvb2ssIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIEBmb3JtYXRcbiAqIFxuICogQGVtYWlscyBvbmNhbGwrZHJhZnRfanNcbiAqL1xuJ3VzZSBzdHJpY3QnO1xuXG52YXIgQ29udGVudEJsb2NrTm9kZSA9IHJlcXVpcmUoXCIuL0NvbnRlbnRCbG9ja05vZGVcIik7XG5cbnZhciBnZW5lcmF0ZVJhbmRvbUtleSA9IHJlcXVpcmUoXCIuL2dlbmVyYXRlUmFuZG9tS2V5XCIpO1xuXG52YXIgSW1tdXRhYmxlID0gcmVxdWlyZShcImltbXV0YWJsZVwiKTtcblxudmFyIGludmFyaWFudCA9IHJlcXVpcmUoXCJmYmpzL2xpYi9pbnZhcmlhbnRcIik7XG5cbnZhciBtb2RpZnlCbG9ja0ZvckNvbnRlbnRTdGF0ZSA9IHJlcXVpcmUoXCIuL21vZGlmeUJsb2NrRm9yQ29udGVudFN0YXRlXCIpO1xuXG52YXIgTGlzdCA9IEltbXV0YWJsZS5MaXN0LFxuICAgIE1hcCA9IEltbXV0YWJsZS5NYXA7XG5cbnZhciB0cmFuc2Zvcm1CbG9jayA9IGZ1bmN0aW9uIHRyYW5zZm9ybUJsb2NrKGtleSwgYmxvY2tNYXAsIGZ1bmMpIHtcbiAgaWYgKCFrZXkpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICB2YXIgYmxvY2sgPSBibG9ja01hcC5nZXQoa2V5KTtcblxuICBpZiAoIWJsb2NrKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgYmxvY2tNYXAuc2V0KGtleSwgZnVuYyhibG9jaykpO1xufTtcblxudmFyIHVwZGF0ZUJsb2NrTWFwTGlua3MgPSBmdW5jdGlvbiB1cGRhdGVCbG9ja01hcExpbmtzKGJsb2NrTWFwLCBvcmlnaW5hbEJsb2NrLCBiZWxvd0Jsb2NrKSB7XG4gIHJldHVybiBibG9ja01hcC53aXRoTXV0YXRpb25zKGZ1bmN0aW9uIChibG9ja3MpIHtcbiAgICB2YXIgb3JpZ2luYWxCbG9ja0tleSA9IG9yaWdpbmFsQmxvY2suZ2V0S2V5KCk7XG4gICAgdmFyIGJlbG93QmxvY2tLZXkgPSBiZWxvd0Jsb2NrLmdldEtleSgpOyAvLyB1cGRhdGUgYmxvY2sgcGFyZW50XG5cbiAgICB0cmFuc2Zvcm1CbG9jayhvcmlnaW5hbEJsb2NrLmdldFBhcmVudEtleSgpLCBibG9ja3MsIGZ1bmN0aW9uIChibG9jaykge1xuICAgICAgdmFyIHBhcmVudENoaWxkcmVuTGlzdCA9IGJsb2NrLmdldENoaWxkS2V5cygpO1xuICAgICAgdmFyIGluc2VydGlvbkluZGV4ID0gcGFyZW50Q2hpbGRyZW5MaXN0LmluZGV4T2Yob3JpZ2luYWxCbG9ja0tleSkgKyAxO1xuICAgICAgdmFyIG5ld0NoaWxkcmVuQXJyYXkgPSBwYXJlbnRDaGlsZHJlbkxpc3QudG9BcnJheSgpO1xuICAgICAgbmV3Q2hpbGRyZW5BcnJheS5zcGxpY2UoaW5zZXJ0aW9uSW5kZXgsIDAsIGJlbG93QmxvY2tLZXkpO1xuICAgICAgcmV0dXJuIGJsb2NrLm1lcmdlKHtcbiAgICAgICAgY2hpbGRyZW46IExpc3QobmV3Q2hpbGRyZW5BcnJheSlcbiAgICAgIH0pO1xuICAgIH0pOyAvLyB1cGRhdGUgb3JpZ2luYWwgbmV4dCBibG9ja1xuXG4gICAgdHJhbnNmb3JtQmxvY2sob3JpZ2luYWxCbG9jay5nZXROZXh0U2libGluZ0tleSgpLCBibG9ja3MsIGZ1bmN0aW9uIChibG9jaykge1xuICAgICAgcmV0dXJuIGJsb2NrLm1lcmdlKHtcbiAgICAgICAgcHJldlNpYmxpbmc6IGJlbG93QmxvY2tLZXlcbiAgICAgIH0pO1xuICAgIH0pOyAvLyB1cGRhdGUgb3JpZ2luYWwgYmxvY2tcblxuICAgIHRyYW5zZm9ybUJsb2NrKG9yaWdpbmFsQmxvY2tLZXksIGJsb2NrcywgZnVuY3Rpb24gKGJsb2NrKSB7XG4gICAgICByZXR1cm4gYmxvY2subWVyZ2Uoe1xuICAgICAgICBuZXh0U2libGluZzogYmVsb3dCbG9ja0tleVxuICAgICAgfSk7XG4gICAgfSk7IC8vIHVwZGF0ZSBiZWxvdyBibG9ja1xuXG4gICAgdHJhbnNmb3JtQmxvY2soYmVsb3dCbG9ja0tleSwgYmxvY2tzLCBmdW5jdGlvbiAoYmxvY2spIHtcbiAgICAgIHJldHVybiBibG9jay5tZXJnZSh7XG4gICAgICAgIHByZXZTaWJsaW5nOiBvcmlnaW5hbEJsb2NrS2V5XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfSk7XG59O1xuXG52YXIgc3BsaXRCbG9ja0luQ29udGVudFN0YXRlID0gZnVuY3Rpb24gc3BsaXRCbG9ja0luQ29udGVudFN0YXRlKGNvbnRlbnRTdGF0ZSwgc2VsZWN0aW9uU3RhdGUpIHtcbiAgIXNlbGVjdGlvblN0YXRlLmlzQ29sbGFwc2VkKCkgPyBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIgPyBpbnZhcmlhbnQoZmFsc2UsICdTZWxlY3Rpb24gcmFuZ2UgbXVzdCBiZSBjb2xsYXBzZWQuJykgOiBpbnZhcmlhbnQoZmFsc2UpIDogdm9pZCAwO1xuICB2YXIga2V5ID0gc2VsZWN0aW9uU3RhdGUuZ2V0QW5jaG9yS2V5KCk7XG4gIHZhciBibG9ja01hcCA9IGNvbnRlbnRTdGF0ZS5nZXRCbG9ja01hcCgpO1xuICB2YXIgYmxvY2tUb1NwbGl0ID0gYmxvY2tNYXAuZ2V0KGtleSk7XG4gIHZhciB0ZXh0ID0gYmxvY2tUb1NwbGl0LmdldFRleHQoKTtcblxuICBpZiAoIXRleHQpIHtcbiAgICB2YXIgYmxvY2tUeXBlID0gYmxvY2tUb1NwbGl0LmdldFR5cGUoKTtcblxuICAgIGlmIChibG9ja1R5cGUgPT09ICd1bm9yZGVyZWQtbGlzdC1pdGVtJyB8fCBibG9ja1R5cGUgPT09ICdvcmRlcmVkLWxpc3QtaXRlbScpIHtcbiAgICAgIHJldHVybiBtb2RpZnlCbG9ja0ZvckNvbnRlbnRTdGF0ZShjb250ZW50U3RhdGUsIHNlbGVjdGlvblN0YXRlLCBmdW5jdGlvbiAoYmxvY2spIHtcbiAgICAgICAgcmV0dXJuIGJsb2NrLm1lcmdlKHtcbiAgICAgICAgICB0eXBlOiAndW5zdHlsZWQnLFxuICAgICAgICAgIGRlcHRoOiAwXG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgdmFyIG9mZnNldCA9IHNlbGVjdGlvblN0YXRlLmdldEFuY2hvck9mZnNldCgpO1xuICB2YXIgY2hhcnMgPSBibG9ja1RvU3BsaXQuZ2V0Q2hhcmFjdGVyTGlzdCgpO1xuICB2YXIga2V5QmVsb3cgPSBnZW5lcmF0ZVJhbmRvbUtleSgpO1xuICB2YXIgaXNFeHBlcmltZW50YWxUcmVlQmxvY2sgPSBibG9ja1RvU3BsaXQgaW5zdGFuY2VvZiBDb250ZW50QmxvY2tOb2RlO1xuICB2YXIgYmxvY2tBYm92ZSA9IGJsb2NrVG9TcGxpdC5tZXJnZSh7XG4gICAgdGV4dDogdGV4dC5zbGljZSgwLCBvZmZzZXQpLFxuICAgIGNoYXJhY3Rlckxpc3Q6IGNoYXJzLnNsaWNlKDAsIG9mZnNldClcbiAgfSk7XG4gIHZhciBibG9ja0JlbG93ID0gYmxvY2tBYm92ZS5tZXJnZSh7XG4gICAga2V5OiBrZXlCZWxvdyxcbiAgICB0ZXh0OiB0ZXh0LnNsaWNlKG9mZnNldCksXG4gICAgY2hhcmFjdGVyTGlzdDogY2hhcnMuc2xpY2Uob2Zmc2V0KSxcbiAgICBkYXRhOiBNYXAoKVxuICB9KTtcbiAgdmFyIGJsb2Nrc0JlZm9yZSA9IGJsb2NrTWFwLnRvU2VxKCkudGFrZVVudGlsKGZ1bmN0aW9uICh2KSB7XG4gICAgcmV0dXJuIHYgPT09IGJsb2NrVG9TcGxpdDtcbiAgfSk7XG4gIHZhciBibG9ja3NBZnRlciA9IGJsb2NrTWFwLnRvU2VxKCkuc2tpcFVudGlsKGZ1bmN0aW9uICh2KSB7XG4gICAgcmV0dXJuIHYgPT09IGJsb2NrVG9TcGxpdDtcbiAgfSkucmVzdCgpO1xuICB2YXIgbmV3QmxvY2tzID0gYmxvY2tzQmVmb3JlLmNvbmNhdChbW2tleSwgYmxvY2tBYm92ZV0sIFtrZXlCZWxvdywgYmxvY2tCZWxvd11dLCBibG9ja3NBZnRlcikudG9PcmRlcmVkTWFwKCk7XG5cbiAgaWYgKGlzRXhwZXJpbWVudGFsVHJlZUJsb2NrKSB7XG4gICAgIWJsb2NrVG9TcGxpdC5nZXRDaGlsZEtleXMoKS5pc0VtcHR5KCkgPyBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIgPyBpbnZhcmlhbnQoZmFsc2UsICdDb250ZW50QmxvY2tOb2RlIG11c3Qgbm90IGhhdmUgY2hpbGRyZW4nKSA6IGludmFyaWFudChmYWxzZSkgOiB2b2lkIDA7XG4gICAgbmV3QmxvY2tzID0gdXBkYXRlQmxvY2tNYXBMaW5rcyhuZXdCbG9ja3MsIGJsb2NrQWJvdmUsIGJsb2NrQmVsb3cpO1xuICB9XG5cbiAgcmV0dXJuIGNvbnRlbnRTdGF0ZS5tZXJnZSh7XG4gICAgYmxvY2tNYXA6IG5ld0Jsb2NrcyxcbiAgICBzZWxlY3Rpb25CZWZvcmU6IHNlbGVjdGlvblN0YXRlLFxuICAgIHNlbGVjdGlvbkFmdGVyOiBzZWxlY3Rpb25TdGF0ZS5tZXJnZSh7XG4gICAgICBhbmNob3JLZXk6IGtleUJlbG93LFxuICAgICAgYW5jaG9yT2Zmc2V0OiAwLFxuICAgICAgZm9jdXNLZXk6IGtleUJlbG93LFxuICAgICAgZm9jdXNPZmZzZXQ6IDAsXG4gICAgICBpc0JhY2t3YXJkOiBmYWxzZVxuICAgIH0pXG4gIH0pO1xufTtcblxubW9kdWxlLmV4cG9ydHMgPSBzcGxpdEJsb2NrSW5Db250ZW50U3RhdGU7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/splitBlockInContentState.js\n"); /***/ }), @@ -1327,7 +1554,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule splitTextIntoTextBlocks\n * @format\n * \n */\n\n\n\nvar NEWLINE_REGEX = /\\r\\n?|\\n/g;\n\nfunction splitTextIntoTextBlocks(text) {\n return text.split(NEWLINE_REGEX);\n}\n\nmodule.exports = splitTextIntoTextBlocks;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL3NwbGl0VGV4dEludG9UZXh0QmxvY2tzLmpzPzQ0YWYiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVhOztBQUViOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdC1qcy9saWIvc3BsaXRUZXh0SW50b1RleHRCbG9ja3MuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxMy1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuICogQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBCU0Qtc3R5bGUgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS4gQW4gYWRkaXRpb25hbCBncmFudFxuICogb2YgcGF0ZW50IHJpZ2h0cyBjYW4gYmUgZm91bmQgaW4gdGhlIFBBVEVOVFMgZmlsZSBpbiB0aGUgc2FtZSBkaXJlY3RvcnkuXG4gKlxuICogQHByb3ZpZGVzTW9kdWxlIHNwbGl0VGV4dEludG9UZXh0QmxvY2tzXG4gKiBAZm9ybWF0XG4gKiBcbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbnZhciBORVdMSU5FX1JFR0VYID0gL1xcclxcbj98XFxuL2c7XG5cbmZ1bmN0aW9uIHNwbGl0VGV4dEludG9UZXh0QmxvY2tzKHRleHQpIHtcbiAgcmV0dXJuIHRleHQuc3BsaXQoTkVXTElORV9SRUdFWCk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gc3BsaXRUZXh0SW50b1RleHRCbG9ja3M7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/splitTextIntoTextBlocks.js\n"); +eval("/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @emails oncall+draft_js\n */\n\n\nvar NEWLINE_REGEX = /\\r\\n?|\\n/g;\n\nfunction splitTextIntoTextBlocks(text) {\n return text.split(NEWLINE_REGEX);\n}\n\nmodule.exports = splitTextIntoTextBlocks;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL3NwbGl0VGV4dEludG9UZXh0QmxvY2tzLmpzPzQ0YWYiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDYTs7QUFFYjs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZHJhZnQtanMvbGliL3NwbGl0VGV4dEludG9UZXh0QmxvY2tzLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIEZhY2Vib29rLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKiBAZm9ybWF0XG4gKiBcbiAqIEBlbWFpbHMgb25jYWxsK2RyYWZ0X2pzXG4gKi9cbid1c2Ugc3RyaWN0JztcblxudmFyIE5FV0xJTkVfUkVHRVggPSAvXFxyXFxuP3xcXG4vZztcblxuZnVuY3Rpb24gc3BsaXRUZXh0SW50b1RleHRCbG9ja3ModGV4dCkge1xuICByZXR1cm4gdGV4dC5zcGxpdChORVdMSU5FX1JFR0VYKTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBzcGxpdFRleHRJbnRvVGV4dEJsb2NrczsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draft-js/lib/splitTextIntoTextBlocks.js\n"); /***/ }), @@ -1349,7 +1576,7 @@ eval("/**\n * Copyright (c) 2014-2015, Facebook, Inc.\n * All rights reserved. /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { -eval("(function (global, factory) {\n\t true ? module.exports = factory() :\n\tundefined;\n}(this, (function () { 'use strict';\n\n/**\n* Utility function to execute callback for eack key->value pair.\n*/\nfunction forEach(obj, callback) {\n if (obj) {\n for (var key in obj) {\n // eslint-disable-line no-restricted-syntax\n if ({}.hasOwnProperty.call(obj, key)) {\n callback(key, obj[key]);\n }\n }\n }\n}\n\n/**\n* The function returns true if the string passed to it has no content.\n*/\nfunction isEmptyString(str) {\n if (str === undefined || str === null || str.length === 0 || str.trim().length === 0) {\n return true;\n }\n return false;\n}\n\n/**\n* Mapping block-type to corresponding html tag.\n*/\nvar blockTypesMapping = {\n unstyled: 'p',\n 'header-one': 'h1',\n 'header-two': 'h2',\n 'header-three': 'h3',\n 'header-four': 'h4',\n 'header-five': 'h5',\n 'header-six': 'h6',\n 'unordered-list-item': 'ul',\n 'ordered-list-item': 'ol',\n blockquote: 'blockquote',\n code: 'pre'\n};\n\n/**\n* Function will return HTML tag for a block.\n*/\nfunction getBlockTag(type) {\n return type && blockTypesMapping[type];\n}\n\n/**\n* Function will return style string for a block.\n*/\nfunction getBlockStyle(data) {\n var styles = '';\n forEach(data, function (key, value) {\n if (value) {\n styles += key + ':' + value + ';';\n }\n });\n return styles;\n}\n\n/**\n* The function returns an array of hashtag-sections in blocks.\n* These will be areas in block which have hashtags applicable to them.\n*/\nfunction getHashtagRanges(blockText, hashtagConfig) {\n var sections = [];\n if (hashtagConfig) {\n var counter = 0;\n var startIndex = 0;\n var text = blockText;\n var trigger = hashtagConfig.trigger || '#';\n var separator = hashtagConfig.separator || ' ';\n for (; text.length > 0 && startIndex >= 0;) {\n if (text[0] === trigger) {\n startIndex = 0;\n counter = 0;\n text = text.substr(trigger.length);\n } else {\n startIndex = text.indexOf(separator + trigger);\n if (startIndex >= 0) {\n text = text.substr(startIndex + (separator + trigger).length);\n counter += startIndex + separator.length;\n }\n }\n if (startIndex >= 0) {\n var endIndex = text.indexOf(separator) >= 0 ? text.indexOf(separator) : text.length;\n var hashtag = text.substr(0, endIndex);\n if (hashtag && hashtag.length > 0) {\n sections.push({\n offset: counter,\n length: hashtag.length + trigger.length,\n type: 'HASHTAG'\n });\n }\n counter += trigger.length;\n }\n }\n }\n return sections;\n}\n\n/**\n* The function returns an array of entity-sections in blocks.\n* These will be areas in block which have same entity or no entity applicable to them.\n*/\nfunction getSections(block, hashtagConfig) {\n var sections = [];\n var lastOffset = 0;\n var sectionRanges = block.entityRanges.map(function (range) {\n var offset = range.offset,\n length = range.length,\n key = range.key;\n\n return {\n offset: offset,\n length: length,\n key: key,\n type: 'ENTITY'\n };\n });\n sectionRanges = sectionRanges.concat(getHashtagRanges(block.text, hashtagConfig));\n sectionRanges = sectionRanges.sort(function (s1, s2) {\n return s1.offset - s2.offset;\n });\n sectionRanges.forEach(function (r) {\n if (r.offset > lastOffset) {\n sections.push({\n start: lastOffset,\n end: r.offset\n });\n }\n sections.push({\n start: r.offset,\n end: r.offset + r.length,\n entityKey: r.key,\n type: r.type\n });\n lastOffset = r.offset + r.length;\n });\n if (lastOffset < block.text.length) {\n sections.push({\n start: lastOffset,\n end: block.text.length\n });\n }\n return sections;\n}\n\n/**\n* Function to check if the block is an atomic entity block.\n*/\nfunction isAtomicEntityBlock(block) {\n if (block.entityRanges.length > 0 && (isEmptyString(block.text) || block.type === 'atomic')) {\n return true;\n }\n return false;\n}\n\n/**\n* The function will return array of inline styles applicable to the block.\n*/\nfunction getStyleArrayForBlock(block) {\n var text = block.text,\n inlineStyleRanges = block.inlineStyleRanges;\n\n var inlineStyles = {\n BOLD: new Array(text.length),\n ITALIC: new Array(text.length),\n UNDERLINE: new Array(text.length),\n STRIKETHROUGH: new Array(text.length),\n CODE: new Array(text.length),\n SUPERSCRIPT: new Array(text.length),\n SUBSCRIPT: new Array(text.length),\n COLOR: new Array(text.length),\n BGCOLOR: new Array(text.length),\n FONTSIZE: new Array(text.length),\n FONTFAMILY: new Array(text.length),\n length: text.length\n };\n if (inlineStyleRanges && inlineStyleRanges.length > 0) {\n inlineStyleRanges.forEach(function (range) {\n var offset = range.offset;\n\n var length = offset + range.length;\n for (var i = offset; i < length; i += 1) {\n if (range.style.indexOf('color-') === 0) {\n inlineStyles.COLOR[i] = range.style.substring(6);\n } else if (range.style.indexOf('bgcolor-') === 0) {\n inlineStyles.BGCOLOR[i] = range.style.substring(8);\n } else if (range.style.indexOf('fontsize-') === 0) {\n inlineStyles.FONTSIZE[i] = range.style.substring(9);\n } else if (range.style.indexOf('fontfamily-') === 0) {\n inlineStyles.FONTFAMILY[i] = range.style.substring(11);\n } else if (inlineStyles[range.style]) {\n inlineStyles[range.style][i] = true;\n }\n }\n });\n }\n return inlineStyles;\n}\n\n/**\n* The function will return inline style applicable at some offset within a block.\n*/\nfunction getStylesAtOffset(inlineStyles, offset) {\n var styles = {};\n if (inlineStyles.COLOR[offset]) {\n styles.COLOR = inlineStyles.COLOR[offset];\n }\n if (inlineStyles.BGCOLOR[offset]) {\n styles.BGCOLOR = inlineStyles.BGCOLOR[offset];\n }\n if (inlineStyles.FONTSIZE[offset]) {\n styles.FONTSIZE = inlineStyles.FONTSIZE[offset];\n }\n if (inlineStyles.FONTFAMILY[offset]) {\n styles.FONTFAMILY = inlineStyles.FONTFAMILY[offset];\n }\n if (inlineStyles.UNDERLINE[offset]) {\n styles.UNDERLINE = true;\n }\n if (inlineStyles.ITALIC[offset]) {\n styles.ITALIC = true;\n }\n if (inlineStyles.BOLD[offset]) {\n styles.BOLD = true;\n }\n if (inlineStyles.STRIKETHROUGH[offset]) {\n styles.STRIKETHROUGH = true;\n }\n if (inlineStyles.CODE[offset]) {\n styles.CODE = true;\n }\n if (inlineStyles.SUBSCRIPT[offset]) {\n styles.SUBSCRIPT = true;\n }\n if (inlineStyles.SUPERSCRIPT[offset]) {\n styles.SUPERSCRIPT = true;\n }\n return styles;\n}\n\n/**\n* Function returns true for a set of styles if the value of these styles at an offset\n* are same as that on the previous offset.\n*/\nfunction sameStyleAsPrevious(inlineStyles, styles, index) {\n var sameStyled = true;\n if (index > 0 && index < inlineStyles.length) {\n styles.forEach(function (style) {\n sameStyled = sameStyled && inlineStyles[style][index] === inlineStyles[style][index - 1];\n });\n } else {\n sameStyled = false;\n }\n return sameStyled;\n}\n\n/**\n* Function returns html for text depending on inline style tags applicable to it.\n*/\nfunction addInlineStyleMarkup(style, content) {\n if (style === 'BOLD') {\n return '' + content + '';\n } else if (style === 'ITALIC') {\n return '' + content + '';\n } else if (style === 'UNDERLINE') {\n return '' + content + '';\n } else if (style === 'STRIKETHROUGH') {\n return '' + content + '';\n } else if (style === 'CODE') {\n return '' + content + '';\n } else if (style === 'SUPERSCRIPT') {\n return '' + content + '';\n } else if (style === 'SUBSCRIPT') {\n return '' + content + '';\n }\n return content;\n}\n\n/**\n* The function returns text for given section of block after doing required character replacements.\n*/\nfunction getSectionText(text) {\n if (text && text.length > 0) {\n var chars = text.map(function (ch) {\n switch (ch) {\n case '\\n':\n return '
';\n case '&':\n return '&';\n case '<':\n return '<';\n case '>':\n return '>';\n default:\n return ch;\n }\n });\n return chars.join('');\n }\n return '';\n}\n\n/**\n* Function returns html for text depending on inline style tags applicable to it.\n*/\nfunction addStylePropertyMarkup(styles, text) {\n if (styles && (styles.COLOR || styles.BGCOLOR || styles.FONTSIZE || styles.FONTFAMILY)) {\n var styleString = 'style=\"';\n if (styles.COLOR) {\n styleString += 'color: ' + styles.COLOR + ';';\n }\n if (styles.BGCOLOR) {\n styleString += 'background-color: ' + styles.BGCOLOR + ';';\n }\n if (styles.FONTSIZE) {\n styleString += 'font-size: ' + styles.FONTSIZE + (/^\\d+$/.test(styles.FONTSIZE) ? 'px' : '') + ';';\n }\n if (styles.FONTFAMILY) {\n styleString += 'font-family: ' + styles.FONTFAMILY + ';';\n }\n styleString += '\"';\n return '' + text + '';\n }\n return text;\n}\n\n/**\n* Function will return markup for Entity.\n*/\nfunction getEntityMarkup(entityMap, entityKey, text, customEntityTransform) {\n var entity = entityMap[entityKey];\n if (typeof customEntityTransform === 'function') {\n var html = customEntityTransform(entity, text);\n if (html) {\n return html;\n }\n }\n if (entity.type === 'MENTION') {\n return '' + text + '';\n }\n if (entity.type === 'LINK') {\n var targetOption = entity.data.targetOption || '_self';\n return '' + text + '';\n }\n if (entity.type === 'IMAGE') {\n return '\"'';\n }\n if (entity.type === 'EMBEDDED_LINK') {\n return '';\n }\n return text;\n}\n\n/**\n* For a given section in a block the function will return a further list of sections,\n* with similar inline styles applicable to them.\n*/\nfunction getInlineStyleSections(block, styles, start, end) {\n var styleSections = [];\n var text = block.text;\n\n if (text.length > 0) {\n var inlineStyles = getStyleArrayForBlock(block);\n var section = void 0;\n for (var i = start; i < end; i += 1) {\n if (i !== start && sameStyleAsPrevious(inlineStyles, styles, i)) {\n section.text.push(text[i]);\n section.end = i + 1;\n } else {\n section = {\n styles: getStylesAtOffset(inlineStyles, i),\n text: [text[i]],\n start: i,\n end: i + 1\n };\n styleSections.push(section);\n }\n }\n }\n return styleSections;\n}\n\n/**\n* Replace leading blank spaces by  \n*/\nfunction trimLeadingZeros(sectionText) {\n if (sectionText) {\n var replacedText = sectionText;\n for (var i = 0; i < replacedText.length; i += 1) {\n if (sectionText[i] === ' ') {\n replacedText = replacedText.replace(' ', ' ');\n } else {\n break;\n }\n }\n return replacedText;\n }\n return sectionText;\n}\n\n/**\n* Replace trailing blank spaces by  \n*/\nfunction trimTrailingZeros(sectionText) {\n if (sectionText) {\n var replacedText = sectionText;\n for (var i = replacedText.length - 1; i >= 0; i -= 1) {\n if (replacedText[i] === ' ') {\n replacedText = replacedText.substring(0, i) + ' ' + replacedText.substring(i + 1);\n } else {\n break;\n }\n }\n return replacedText;\n }\n return sectionText;\n}\n\n/**\n* The method returns markup for section to which inline styles\n* like BOLD, ITALIC, UNDERLINE, STRIKETHROUGH, CODE, SUPERSCRIPT, SUBSCRIPT are applicable.\n*/\nfunction getStyleTagSectionMarkup(styleSection) {\n var styles = styleSection.styles,\n text = styleSection.text;\n\n var content = getSectionText(text);\n forEach(styles, function (style, value) {\n content = addInlineStyleMarkup(style, content, value);\n });\n return content;\n}\n\n/**\n* The method returns markup for section to which inline styles\nlike color, background-color, font-size are applicable.\n*/\nfunction getInlineStyleSectionMarkup(block, styleSection) {\n var styleTagSections = getInlineStyleSections(block, ['BOLD', 'ITALIC', 'UNDERLINE', 'STRIKETHROUGH', 'CODE', 'SUPERSCRIPT', 'SUBSCRIPT'], styleSection.start, styleSection.end);\n var styleSectionText = '';\n styleTagSections.forEach(function (stylePropertySection) {\n styleSectionText += getStyleTagSectionMarkup(stylePropertySection);\n });\n styleSectionText = addStylePropertyMarkup(styleSection.styles, styleSectionText);\n return styleSectionText;\n}\n\n/*\n* The method returns markup for an entity section.\n* An entity section is a continuous section in a block\n* to which same entity or no entity is applicable.\n*/\nfunction getSectionMarkup(block, entityMap, section, customEntityTransform) {\n var entityInlineMarkup = [];\n var inlineStyleSections = getInlineStyleSections(block, ['COLOR', 'BGCOLOR', 'FONTSIZE', 'FONTFAMILY'], section.start, section.end);\n inlineStyleSections.forEach(function (styleSection) {\n entityInlineMarkup.push(getInlineStyleSectionMarkup(block, styleSection));\n });\n var sectionText = entityInlineMarkup.join('');\n if (section.type === 'ENTITY') {\n if (section.entityKey !== undefined && section.entityKey !== null) {\n sectionText = getEntityMarkup(entityMap, section.entityKey, sectionText, customEntityTransform); // eslint-disable-line max-len\n }\n } else if (section.type === 'HASHTAG') {\n sectionText = '' + sectionText + '';\n }\n return sectionText;\n}\n\n/**\n* Function will return the markup for block preserving the inline styles and\n* special characters like newlines or blank spaces.\n*/\nfunction getBlockInnerMarkup(block, entityMap, hashtagConfig, customEntityTransform) {\n var blockMarkup = [];\n var sections = getSections(block, hashtagConfig);\n sections.forEach(function (section, index) {\n var sectionText = getSectionMarkup(block, entityMap, section, customEntityTransform);\n if (index === 0) {\n sectionText = trimLeadingZeros(sectionText);\n }\n if (index === sections.length - 1) {\n sectionText = trimTrailingZeros(sectionText);\n }\n blockMarkup.push(sectionText);\n });\n return blockMarkup.join('');\n}\n\n/**\n* Function will return html for the block.\n*/\nfunction getBlockMarkup(block, entityMap, hashtagConfig, directional, customEntityTransform) {\n var blockHtml = [];\n if (isAtomicEntityBlock(block)) {\n blockHtml.push(getEntityMarkup(entityMap, block.entityRanges[0].key, undefined, customEntityTransform));\n } else {\n var blockTag = getBlockTag(block.type);\n if (blockTag) {\n blockHtml.push('<' + blockTag);\n var blockStyle = getBlockStyle(block.data);\n if (blockStyle) {\n blockHtml.push(' style=\"' + blockStyle + '\"');\n }\n if (directional) {\n blockHtml.push(' dir = \"auto\"');\n }\n blockHtml.push('>');\n blockHtml.push(getBlockInnerMarkup(block, entityMap, hashtagConfig, customEntityTransform));\n blockHtml.push('');\n }\n }\n blockHtml.push('\\n');\n return blockHtml.join('');\n}\n\n/**\n* Function to check if a block is of type list.\n*/\nfunction isList(blockType) {\n return blockType === 'unordered-list-item' || blockType === 'ordered-list-item';\n}\n\n/**\n* Function will return html markup for a list block.\n*/\nfunction getListMarkup(listBlocks, entityMap, hashtagConfig, directional, customEntityTransform) {\n var listHtml = [];\n var nestedListBlock = [];\n var previousBlock = void 0;\n listBlocks.forEach(function (block) {\n var nestedBlock = false;\n if (!previousBlock) {\n listHtml.push('<' + getBlockTag(block.type) + '>\\n');\n } else if (previousBlock.type !== block.type) {\n listHtml.push('\\n');\n listHtml.push('<' + getBlockTag(block.type) + '>\\n');\n } else if (previousBlock.depth === block.depth) {\n if (nestedListBlock && nestedListBlock.length > 0) {\n listHtml.push(getListMarkup(nestedListBlock, entityMap, hashtagConfig, directional, customEntityTransform));\n nestedListBlock = [];\n }\n } else {\n nestedBlock = true;\n nestedListBlock.push(block);\n }\n if (!nestedBlock) {\n listHtml.push('');\n listHtml.push(getBlockInnerMarkup(block, entityMap, hashtagConfig, customEntityTransform));\n listHtml.push('\\n');\n previousBlock = block;\n }\n });\n if (nestedListBlock && nestedListBlock.length > 0) {\n listHtml.push(getListMarkup(nestedListBlock, entityMap, hashtagConfig, directional, customEntityTransform));\n }\n listHtml.push('\\n');\n return listHtml.join('');\n}\n\n/**\n* The function will generate html markup for given draftjs editorContent.\n*/\nfunction draftToHtml(editorContent, hashtagConfig, directional, customEntityTransform) {\n var html = [];\n if (editorContent) {\n var blocks = editorContent.blocks,\n entityMap = editorContent.entityMap;\n\n if (blocks && blocks.length > 0) {\n var listBlocks = [];\n blocks.forEach(function (block) {\n if (isList(block.type)) {\n listBlocks.push(block);\n } else {\n if (listBlocks.length > 0) {\n var listHtml = getListMarkup(listBlocks, entityMap, hashtagConfig, customEntityTransform); // eslint-disable-line max-len\n html.push(listHtml);\n listBlocks = [];\n }\n var blockHtml = getBlockMarkup(block, entityMap, hashtagConfig, directional, customEntityTransform);\n html.push(blockHtml);\n }\n });\n if (listBlocks.length > 0) {\n var listHtml = getListMarkup(listBlocks, entityMap, hashtagConfig, directional, customEntityTransform); // eslint-disable-line max-len\n html.push(listHtml);\n listBlocks = [];\n }\n }\n }\n return html.join('');\n}\n\nreturn draftToHtml;\n\n})));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnRqcy10by1odG1sL2xpYi9kcmFmdGpzLXRvLWh0bWwuanM/NmQwZiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBLENBQUMsS0FBNEQ7QUFDN0QsQ0FBQyxTQUNrQztBQUNuQyxDQUFDLHFCQUFxQjs7QUFFdEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0NBQXNDO0FBQ3RDO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVSxvQ0FBb0M7QUFDOUM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLDBCQUEwQixZQUFZO0FBQ3RDO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQSxTQUFTO0FBQ1Q7QUFDQSxTQUFTO0FBQ1Q7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBLEdBQUc7QUFDSDtBQUNBLEdBQUc7QUFDSDtBQUNBLEdBQUc7QUFDSDtBQUNBLEdBQUc7QUFDSDtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QjtBQUN2QjtBQUNBLHNCQUFzQjtBQUN0QjtBQUNBLHNCQUFzQjtBQUN0QjtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrREFBa0Q7QUFDbEQ7QUFDQTtBQUNBLCtEQUErRDtBQUMvRDtBQUNBO0FBQ0EsdUdBQXVHO0FBQ3ZHO0FBQ0E7QUFDQSw2REFBNkQ7QUFDN0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0lBQW9JLG1DQUFtQztBQUN2SztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCLFNBQVM7QUFDaEM7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQkFBbUIseUJBQXlCO0FBQzVDO0FBQ0Esd0RBQXdEO0FBQ3hELE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5Q0FBeUMsUUFBUTtBQUNqRDtBQUNBLDZEQUE2RDtBQUM3RCxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxzR0FBc0c7QUFDdEc7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQSxzR0FBc0c7QUFDdEc7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsK0dBQStHO0FBQy9HO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBLENBQUMiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZHJhZnRqcy10by1odG1sL2xpYi9kcmFmdGpzLXRvLWh0bWwuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIoZnVuY3Rpb24gKGdsb2JhbCwgZmFjdG9yeSkge1xuXHR0eXBlb2YgZXhwb3J0cyA9PT0gJ29iamVjdCcgJiYgdHlwZW9mIG1vZHVsZSAhPT0gJ3VuZGVmaW5lZCcgPyBtb2R1bGUuZXhwb3J0cyA9IGZhY3RvcnkoKSA6XG5cdHR5cGVvZiBkZWZpbmUgPT09ICdmdW5jdGlvbicgJiYgZGVmaW5lLmFtZCA/IGRlZmluZShmYWN0b3J5KSA6XG5cdChnbG9iYWwuZHJhZnRqc1RvSHRtbCA9IGZhY3RvcnkoKSk7XG59KHRoaXMsIChmdW5jdGlvbiAoKSB7ICd1c2Ugc3RyaWN0JztcblxuLyoqXG4qIFV0aWxpdHkgZnVuY3Rpb24gdG8gZXhlY3V0ZSBjYWxsYmFjayBmb3IgZWFjayBrZXktPnZhbHVlIHBhaXIuXG4qL1xuZnVuY3Rpb24gZm9yRWFjaChvYmosIGNhbGxiYWNrKSB7XG4gIGlmIChvYmopIHtcbiAgICBmb3IgKHZhciBrZXkgaW4gb2JqKSB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXJlc3RyaWN0ZWQtc3ludGF4XG4gICAgICBpZiAoe30uaGFzT3duUHJvcGVydHkuY2FsbChvYmosIGtleSkpIHtcbiAgICAgICAgY2FsbGJhY2soa2V5LCBvYmpba2V5XSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qKlxuKiBUaGUgZnVuY3Rpb24gcmV0dXJucyB0cnVlIGlmIHRoZSBzdHJpbmcgcGFzc2VkIHRvIGl0IGhhcyBubyBjb250ZW50LlxuKi9cbmZ1bmN0aW9uIGlzRW1wdHlTdHJpbmcoc3RyKSB7XG4gIGlmIChzdHIgPT09IHVuZGVmaW5lZCB8fCBzdHIgPT09IG51bGwgfHwgc3RyLmxlbmd0aCA9PT0gMCB8fCBzdHIudHJpbSgpLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG4gIHJldHVybiBmYWxzZTtcbn1cblxuLyoqXG4qIE1hcHBpbmcgYmxvY2stdHlwZSB0byBjb3JyZXNwb25kaW5nIGh0bWwgdGFnLlxuKi9cbnZhciBibG9ja1R5cGVzTWFwcGluZyA9IHtcbiAgdW5zdHlsZWQ6ICdwJyxcbiAgJ2hlYWRlci1vbmUnOiAnaDEnLFxuICAnaGVhZGVyLXR3byc6ICdoMicsXG4gICdoZWFkZXItdGhyZWUnOiAnaDMnLFxuICAnaGVhZGVyLWZvdXInOiAnaDQnLFxuICAnaGVhZGVyLWZpdmUnOiAnaDUnLFxuICAnaGVhZGVyLXNpeCc6ICdoNicsXG4gICd1bm9yZGVyZWQtbGlzdC1pdGVtJzogJ3VsJyxcbiAgJ29yZGVyZWQtbGlzdC1pdGVtJzogJ29sJyxcbiAgYmxvY2txdW90ZTogJ2Jsb2NrcXVvdGUnLFxuICBjb2RlOiAncHJlJ1xufTtcblxuLyoqXG4qIEZ1bmN0aW9uIHdpbGwgcmV0dXJuIEhUTUwgdGFnIGZvciBhIGJsb2NrLlxuKi9cbmZ1bmN0aW9uIGdldEJsb2NrVGFnKHR5cGUpIHtcbiAgcmV0dXJuIHR5cGUgJiYgYmxvY2tUeXBlc01hcHBpbmdbdHlwZV07XG59XG5cbi8qKlxuKiBGdW5jdGlvbiB3aWxsIHJldHVybiBzdHlsZSBzdHJpbmcgZm9yIGEgYmxvY2suXG4qL1xuZnVuY3Rpb24gZ2V0QmxvY2tTdHlsZShkYXRhKSB7XG4gIHZhciBzdHlsZXMgPSAnJztcbiAgZm9yRWFjaChkYXRhLCBmdW5jdGlvbiAoa2V5LCB2YWx1ZSkge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgc3R5bGVzICs9IGtleSArICc6JyArIHZhbHVlICsgJzsnO1xuICAgIH1cbiAgfSk7XG4gIHJldHVybiBzdHlsZXM7XG59XG5cbi8qKlxuKiBUaGUgZnVuY3Rpb24gcmV0dXJucyBhbiBhcnJheSBvZiBoYXNodGFnLXNlY3Rpb25zIGluIGJsb2Nrcy5cbiogVGhlc2Ugd2lsbCBiZSBhcmVhcyBpbiBibG9jayB3aGljaCBoYXZlIGhhc2h0YWdzIGFwcGxpY2FibGUgdG8gdGhlbS5cbiovXG5mdW5jdGlvbiBnZXRIYXNodGFnUmFuZ2VzKGJsb2NrVGV4dCwgaGFzaHRhZ0NvbmZpZykge1xuICB2YXIgc2VjdGlvbnMgPSBbXTtcbiAgaWYgKGhhc2h0YWdDb25maWcpIHtcbiAgICB2YXIgY291bnRlciA9IDA7XG4gICAgdmFyIHN0YXJ0SW5kZXggPSAwO1xuICAgIHZhciB0ZXh0ID0gYmxvY2tUZXh0O1xuICAgIHZhciB0cmlnZ2VyID0gaGFzaHRhZ0NvbmZpZy50cmlnZ2VyIHx8ICcjJztcbiAgICB2YXIgc2VwYXJhdG9yID0gaGFzaHRhZ0NvbmZpZy5zZXBhcmF0b3IgfHwgJyAnO1xuICAgIGZvciAoOyB0ZXh0Lmxlbmd0aCA+IDAgJiYgc3RhcnRJbmRleCA+PSAwOykge1xuICAgICAgaWYgKHRleHRbMF0gPT09IHRyaWdnZXIpIHtcbiAgICAgICAgc3RhcnRJbmRleCA9IDA7XG4gICAgICAgIGNvdW50ZXIgPSAwO1xuICAgICAgICB0ZXh0ID0gdGV4dC5zdWJzdHIodHJpZ2dlci5sZW5ndGgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc3RhcnRJbmRleCA9IHRleHQuaW5kZXhPZihzZXBhcmF0b3IgKyB0cmlnZ2VyKTtcbiAgICAgICAgaWYgKHN0YXJ0SW5kZXggPj0gMCkge1xuICAgICAgICAgIHRleHQgPSB0ZXh0LnN1YnN0cihzdGFydEluZGV4ICsgKHNlcGFyYXRvciArIHRyaWdnZXIpLmxlbmd0aCk7XG4gICAgICAgICAgY291bnRlciArPSBzdGFydEluZGV4ICsgc2VwYXJhdG9yLmxlbmd0aDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKHN0YXJ0SW5kZXggPj0gMCkge1xuICAgICAgICB2YXIgZW5kSW5kZXggPSB0ZXh0LmluZGV4T2Yoc2VwYXJhdG9yKSA+PSAwID8gdGV4dC5pbmRleE9mKHNlcGFyYXRvcikgOiB0ZXh0Lmxlbmd0aDtcbiAgICAgICAgdmFyIGhhc2h0YWcgPSB0ZXh0LnN1YnN0cigwLCBlbmRJbmRleCk7XG4gICAgICAgIGlmIChoYXNodGFnICYmIGhhc2h0YWcubGVuZ3RoID4gMCkge1xuICAgICAgICAgIHNlY3Rpb25zLnB1c2goe1xuICAgICAgICAgICAgb2Zmc2V0OiBjb3VudGVyLFxuICAgICAgICAgICAgbGVuZ3RoOiBoYXNodGFnLmxlbmd0aCArIHRyaWdnZXIubGVuZ3RoLFxuICAgICAgICAgICAgdHlwZTogJ0hBU0hUQUcnXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgY291bnRlciArPSB0cmlnZ2VyLmxlbmd0aDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIHNlY3Rpb25zO1xufVxuXG4vKipcbiogVGhlIGZ1bmN0aW9uIHJldHVybnMgYW4gYXJyYXkgb2YgZW50aXR5LXNlY3Rpb25zIGluIGJsb2Nrcy5cbiogVGhlc2Ugd2lsbCBiZSBhcmVhcyBpbiBibG9jayB3aGljaCBoYXZlIHNhbWUgZW50aXR5IG9yIG5vIGVudGl0eSBhcHBsaWNhYmxlIHRvIHRoZW0uXG4qL1xuZnVuY3Rpb24gZ2V0U2VjdGlvbnMoYmxvY2ssIGhhc2h0YWdDb25maWcpIHtcbiAgdmFyIHNlY3Rpb25zID0gW107XG4gIHZhciBsYXN0T2Zmc2V0ID0gMDtcbiAgdmFyIHNlY3Rpb25SYW5nZXMgPSBibG9jay5lbnRpdHlSYW5nZXMubWFwKGZ1bmN0aW9uIChyYW5nZSkge1xuICAgIHZhciBvZmZzZXQgPSByYW5nZS5vZmZzZXQsXG4gICAgICAgIGxlbmd0aCA9IHJhbmdlLmxlbmd0aCxcbiAgICAgICAga2V5ID0gcmFuZ2Uua2V5O1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIG9mZnNldDogb2Zmc2V0LFxuICAgICAgbGVuZ3RoOiBsZW5ndGgsXG4gICAgICBrZXk6IGtleSxcbiAgICAgIHR5cGU6ICdFTlRJVFknXG4gICAgfTtcbiAgfSk7XG4gIHNlY3Rpb25SYW5nZXMgPSBzZWN0aW9uUmFuZ2VzLmNvbmNhdChnZXRIYXNodGFnUmFuZ2VzKGJsb2NrLnRleHQsIGhhc2h0YWdDb25maWcpKTtcbiAgc2VjdGlvblJhbmdlcyA9IHNlY3Rpb25SYW5nZXMuc29ydChmdW5jdGlvbiAoczEsIHMyKSB7XG4gICAgcmV0dXJuIHMxLm9mZnNldCAtIHMyLm9mZnNldDtcbiAgfSk7XG4gIHNlY3Rpb25SYW5nZXMuZm9yRWFjaChmdW5jdGlvbiAocikge1xuICAgIGlmIChyLm9mZnNldCA+IGxhc3RPZmZzZXQpIHtcbiAgICAgIHNlY3Rpb25zLnB1c2goe1xuICAgICAgICBzdGFydDogbGFzdE9mZnNldCxcbiAgICAgICAgZW5kOiByLm9mZnNldFxuICAgICAgfSk7XG4gICAgfVxuICAgIHNlY3Rpb25zLnB1c2goe1xuICAgICAgc3RhcnQ6IHIub2Zmc2V0LFxuICAgICAgZW5kOiByLm9mZnNldCArIHIubGVuZ3RoLFxuICAgICAgZW50aXR5S2V5OiByLmtleSxcbiAgICAgIHR5cGU6IHIudHlwZVxuICAgIH0pO1xuICAgIGxhc3RPZmZzZXQgPSByLm9mZnNldCArIHIubGVuZ3RoO1xuICB9KTtcbiAgaWYgKGxhc3RPZmZzZXQgPCBibG9jay50ZXh0Lmxlbmd0aCkge1xuICAgIHNlY3Rpb25zLnB1c2goe1xuICAgICAgc3RhcnQ6IGxhc3RPZmZzZXQsXG4gICAgICBlbmQ6IGJsb2NrLnRleHQubGVuZ3RoXG4gICAgfSk7XG4gIH1cbiAgcmV0dXJuIHNlY3Rpb25zO1xufVxuXG4vKipcbiogRnVuY3Rpb24gdG8gY2hlY2sgaWYgdGhlIGJsb2NrIGlzIGFuIGF0b21pYyBlbnRpdHkgYmxvY2suXG4qL1xuZnVuY3Rpb24gaXNBdG9taWNFbnRpdHlCbG9jayhibG9jaykge1xuICBpZiAoYmxvY2suZW50aXR5UmFuZ2VzLmxlbmd0aCA+IDAgJiYgKGlzRW1wdHlTdHJpbmcoYmxvY2sudGV4dCkgfHwgYmxvY2sudHlwZSA9PT0gJ2F0b21pYycpKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG4vKipcbiogVGhlIGZ1bmN0aW9uIHdpbGwgcmV0dXJuIGFycmF5IG9mIGlubGluZSBzdHlsZXMgYXBwbGljYWJsZSB0byB0aGUgYmxvY2suXG4qL1xuZnVuY3Rpb24gZ2V0U3R5bGVBcnJheUZvckJsb2NrKGJsb2NrKSB7XG4gIHZhciB0ZXh0ID0gYmxvY2sudGV4dCxcbiAgICAgIGlubGluZVN0eWxlUmFuZ2VzID0gYmxvY2suaW5saW5lU3R5bGVSYW5nZXM7XG5cbiAgdmFyIGlubGluZVN0eWxlcyA9IHtcbiAgICBCT0xEOiBuZXcgQXJyYXkodGV4dC5sZW5ndGgpLFxuICAgIElUQUxJQzogbmV3IEFycmF5KHRleHQubGVuZ3RoKSxcbiAgICBVTkRFUkxJTkU6IG5ldyBBcnJheSh0ZXh0Lmxlbmd0aCksXG4gICAgU1RSSUtFVEhST1VHSDogbmV3IEFycmF5KHRleHQubGVuZ3RoKSxcbiAgICBDT0RFOiBuZXcgQXJyYXkodGV4dC5sZW5ndGgpLFxuICAgIFNVUEVSU0NSSVBUOiBuZXcgQXJyYXkodGV4dC5sZW5ndGgpLFxuICAgIFNVQlNDUklQVDogbmV3IEFycmF5KHRleHQubGVuZ3RoKSxcbiAgICBDT0xPUjogbmV3IEFycmF5KHRleHQubGVuZ3RoKSxcbiAgICBCR0NPTE9SOiBuZXcgQXJyYXkodGV4dC5sZW5ndGgpLFxuICAgIEZPTlRTSVpFOiBuZXcgQXJyYXkodGV4dC5sZW5ndGgpLFxuICAgIEZPTlRGQU1JTFk6IG5ldyBBcnJheSh0ZXh0Lmxlbmd0aCksXG4gICAgbGVuZ3RoOiB0ZXh0Lmxlbmd0aFxuICB9O1xuICBpZiAoaW5saW5lU3R5bGVSYW5nZXMgJiYgaW5saW5lU3R5bGVSYW5nZXMubGVuZ3RoID4gMCkge1xuICAgIGlubGluZVN0eWxlUmFuZ2VzLmZvckVhY2goZnVuY3Rpb24gKHJhbmdlKSB7XG4gICAgICB2YXIgb2Zmc2V0ID0gcmFuZ2Uub2Zmc2V0O1xuXG4gICAgICB2YXIgbGVuZ3RoID0gb2Zmc2V0ICsgcmFuZ2UubGVuZ3RoO1xuICAgICAgZm9yICh2YXIgaSA9IG9mZnNldDsgaSA8IGxlbmd0aDsgaSArPSAxKSB7XG4gICAgICAgIGlmIChyYW5nZS5zdHlsZS5pbmRleE9mKCdjb2xvci0nKSA9PT0gMCkge1xuICAgICAgICAgIGlubGluZVN0eWxlcy5DT0xPUltpXSA9IHJhbmdlLnN0eWxlLnN1YnN0cmluZyg2KTtcbiAgICAgICAgfSBlbHNlIGlmIChyYW5nZS5zdHlsZS5pbmRleE9mKCdiZ2NvbG9yLScpID09PSAwKSB7XG4gICAgICAgICAgaW5saW5lU3R5bGVzLkJHQ09MT1JbaV0gPSByYW5nZS5zdHlsZS5zdWJzdHJpbmcoOCk7XG4gICAgICAgIH0gZWxzZSBpZiAocmFuZ2Uuc3R5bGUuaW5kZXhPZignZm9udHNpemUtJykgPT09IDApIHtcbiAgICAgICAgICBpbmxpbmVTdHlsZXMuRk9OVFNJWkVbaV0gPSByYW5nZS5zdHlsZS5zdWJzdHJpbmcoOSk7XG4gICAgICAgIH0gZWxzZSBpZiAocmFuZ2Uuc3R5bGUuaW5kZXhPZignZm9udGZhbWlseS0nKSA9PT0gMCkge1xuICAgICAgICAgIGlubGluZVN0eWxlcy5GT05URkFNSUxZW2ldID0gcmFuZ2Uuc3R5bGUuc3Vic3RyaW5nKDExKTtcbiAgICAgICAgfSBlbHNlIGlmIChpbmxpbmVTdHlsZXNbcmFuZ2Uuc3R5bGVdKSB7XG4gICAgICAgICAgaW5saW5lU3R5bGVzW3JhbmdlLnN0eWxlXVtpXSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuICByZXR1cm4gaW5saW5lU3R5bGVzO1xufVxuXG4vKipcbiogVGhlIGZ1bmN0aW9uIHdpbGwgcmV0dXJuIGlubGluZSBzdHlsZSBhcHBsaWNhYmxlIGF0IHNvbWUgb2Zmc2V0IHdpdGhpbiBhIGJsb2NrLlxuKi9cbmZ1bmN0aW9uIGdldFN0eWxlc0F0T2Zmc2V0KGlubGluZVN0eWxlcywgb2Zmc2V0KSB7XG4gIHZhciBzdHlsZXMgPSB7fTtcbiAgaWYgKGlubGluZVN0eWxlcy5DT0xPUltvZmZzZXRdKSB7XG4gICAgc3R5bGVzLkNPTE9SID0gaW5saW5lU3R5bGVzLkNPTE9SW29mZnNldF07XG4gIH1cbiAgaWYgKGlubGluZVN0eWxlcy5CR0NPTE9SW29mZnNldF0pIHtcbiAgICBzdHlsZXMuQkdDT0xPUiA9IGlubGluZVN0eWxlcy5CR0NPTE9SW29mZnNldF07XG4gIH1cbiAgaWYgKGlubGluZVN0eWxlcy5GT05UU0laRVtvZmZzZXRdKSB7XG4gICAgc3R5bGVzLkZPTlRTSVpFID0gaW5saW5lU3R5bGVzLkZPTlRTSVpFW29mZnNldF07XG4gIH1cbiAgaWYgKGlubGluZVN0eWxlcy5GT05URkFNSUxZW29mZnNldF0pIHtcbiAgICBzdHlsZXMuRk9OVEZBTUlMWSA9IGlubGluZVN0eWxlcy5GT05URkFNSUxZW29mZnNldF07XG4gIH1cbiAgaWYgKGlubGluZVN0eWxlcy5VTkRFUkxJTkVbb2Zmc2V0XSkge1xuICAgIHN0eWxlcy5VTkRFUkxJTkUgPSB0cnVlO1xuICB9XG4gIGlmIChpbmxpbmVTdHlsZXMuSVRBTElDW29mZnNldF0pIHtcbiAgICBzdHlsZXMuSVRBTElDID0gdHJ1ZTtcbiAgfVxuICBpZiAoaW5saW5lU3R5bGVzLkJPTERbb2Zmc2V0XSkge1xuICAgIHN0eWxlcy5CT0xEID0gdHJ1ZTtcbiAgfVxuICBpZiAoaW5saW5lU3R5bGVzLlNUUklLRVRIUk9VR0hbb2Zmc2V0XSkge1xuICAgIHN0eWxlcy5TVFJJS0VUSFJPVUdIID0gdHJ1ZTtcbiAgfVxuICBpZiAoaW5saW5lU3R5bGVzLkNPREVbb2Zmc2V0XSkge1xuICAgIHN0eWxlcy5DT0RFID0gdHJ1ZTtcbiAgfVxuICBpZiAoaW5saW5lU3R5bGVzLlNVQlNDUklQVFtvZmZzZXRdKSB7XG4gICAgc3R5bGVzLlNVQlNDUklQVCA9IHRydWU7XG4gIH1cbiAgaWYgKGlubGluZVN0eWxlcy5TVVBFUlNDUklQVFtvZmZzZXRdKSB7XG4gICAgc3R5bGVzLlNVUEVSU0NSSVBUID0gdHJ1ZTtcbiAgfVxuICByZXR1cm4gc3R5bGVzO1xufVxuXG4vKipcbiogRnVuY3Rpb24gcmV0dXJucyB0cnVlIGZvciBhIHNldCBvZiBzdHlsZXMgaWYgdGhlIHZhbHVlIG9mIHRoZXNlIHN0eWxlcyBhdCBhbiBvZmZzZXRcbiogYXJlIHNhbWUgYXMgdGhhdCBvbiB0aGUgcHJldmlvdXMgb2Zmc2V0LlxuKi9cbmZ1bmN0aW9uIHNhbWVTdHlsZUFzUHJldmlvdXMoaW5saW5lU3R5bGVzLCBzdHlsZXMsIGluZGV4KSB7XG4gIHZhciBzYW1lU3R5bGVkID0gdHJ1ZTtcbiAgaWYgKGluZGV4ID4gMCAmJiBpbmRleCA8IGlubGluZVN0eWxlcy5sZW5ndGgpIHtcbiAgICBzdHlsZXMuZm9yRWFjaChmdW5jdGlvbiAoc3R5bGUpIHtcbiAgICAgIHNhbWVTdHlsZWQgPSBzYW1lU3R5bGVkICYmIGlubGluZVN0eWxlc1tzdHlsZV1baW5kZXhdID09PSBpbmxpbmVTdHlsZXNbc3R5bGVdW2luZGV4IC0gMV07XG4gICAgfSk7XG4gIH0gZWxzZSB7XG4gICAgc2FtZVN0eWxlZCA9IGZhbHNlO1xuICB9XG4gIHJldHVybiBzYW1lU3R5bGVkO1xufVxuXG4vKipcbiogRnVuY3Rpb24gcmV0dXJucyBodG1sIGZvciB0ZXh0IGRlcGVuZGluZyBvbiBpbmxpbmUgc3R5bGUgdGFncyBhcHBsaWNhYmxlIHRvIGl0LlxuKi9cbmZ1bmN0aW9uIGFkZElubGluZVN0eWxlTWFya3VwKHN0eWxlLCBjb250ZW50KSB7XG4gIGlmIChzdHlsZSA9PT0gJ0JPTEQnKSB7XG4gICAgcmV0dXJuICc8c3Ryb25nPicgKyBjb250ZW50ICsgJzwvc3Ryb25nPic7XG4gIH0gZWxzZSBpZiAoc3R5bGUgPT09ICdJVEFMSUMnKSB7XG4gICAgcmV0dXJuICc8ZW0+JyArIGNvbnRlbnQgKyAnPC9lbT4nO1xuICB9IGVsc2UgaWYgKHN0eWxlID09PSAnVU5ERVJMSU5FJykge1xuICAgIHJldHVybiAnPGlucz4nICsgY29udGVudCArICc8L2lucz4nO1xuICB9IGVsc2UgaWYgKHN0eWxlID09PSAnU1RSSUtFVEhST1VHSCcpIHtcbiAgICByZXR1cm4gJzxkZWw+JyArIGNvbnRlbnQgKyAnPC9kZWw+JztcbiAgfSBlbHNlIGlmIChzdHlsZSA9PT0gJ0NPREUnKSB7XG4gICAgcmV0dXJuICc8Y29kZT4nICsgY29udGVudCArICc8L2NvZGU+JztcbiAgfSBlbHNlIGlmIChzdHlsZSA9PT0gJ1NVUEVSU0NSSVBUJykge1xuICAgIHJldHVybiAnPHN1cD4nICsgY29udGVudCArICc8L3N1cD4nO1xuICB9IGVsc2UgaWYgKHN0eWxlID09PSAnU1VCU0NSSVBUJykge1xuICAgIHJldHVybiAnPHN1Yj4nICsgY29udGVudCArICc8L3N1Yj4nO1xuICB9XG4gIHJldHVybiBjb250ZW50O1xufVxuXG4vKipcbiogVGhlIGZ1bmN0aW9uIHJldHVybnMgdGV4dCBmb3IgZ2l2ZW4gc2VjdGlvbiBvZiBibG9jayBhZnRlciBkb2luZyByZXF1aXJlZCBjaGFyYWN0ZXIgcmVwbGFjZW1lbnRzLlxuKi9cbmZ1bmN0aW9uIGdldFNlY3Rpb25UZXh0KHRleHQpIHtcbiAgaWYgKHRleHQgJiYgdGV4dC5sZW5ndGggPiAwKSB7XG4gICAgdmFyIGNoYXJzID0gdGV4dC5tYXAoZnVuY3Rpb24gKGNoKSB7XG4gICAgICBzd2l0Y2ggKGNoKSB7XG4gICAgICAgIGNhc2UgJ1xcbic6XG4gICAgICAgICAgcmV0dXJuICc8YnI+JztcbiAgICAgICAgY2FzZSAnJic6XG4gICAgICAgICAgcmV0dXJuICcmYW1wOyc7XG4gICAgICAgIGNhc2UgJzwnOlxuICAgICAgICAgIHJldHVybiAnJmx0Oyc7XG4gICAgICAgIGNhc2UgJz4nOlxuICAgICAgICAgIHJldHVybiAnJmd0Oyc7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgcmV0dXJuIGNoO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBjaGFycy5qb2luKCcnKTtcbiAgfVxuICByZXR1cm4gJyc7XG59XG5cbi8qKlxuKiBGdW5jdGlvbiByZXR1cm5zIGh0bWwgZm9yIHRleHQgZGVwZW5kaW5nIG9uIGlubGluZSBzdHlsZSB0YWdzIGFwcGxpY2FibGUgdG8gaXQuXG4qL1xuZnVuY3Rpb24gYWRkU3R5bGVQcm9wZXJ0eU1hcmt1cChzdHlsZXMsIHRleHQpIHtcbiAgaWYgKHN0eWxlcyAmJiAoc3R5bGVzLkNPTE9SIHx8IHN0eWxlcy5CR0NPTE9SIHx8IHN0eWxlcy5GT05UU0laRSB8fCBzdHlsZXMuRk9OVEZBTUlMWSkpIHtcbiAgICB2YXIgc3R5bGVTdHJpbmcgPSAnc3R5bGU9XCInO1xuICAgIGlmIChzdHlsZXMuQ09MT1IpIHtcbiAgICAgIHN0eWxlU3RyaW5nICs9ICdjb2xvcjogJyArIHN0eWxlcy5DT0xPUiArICc7JztcbiAgICB9XG4gICAgaWYgKHN0eWxlcy5CR0NPTE9SKSB7XG4gICAgICBzdHlsZVN0cmluZyArPSAnYmFja2dyb3VuZC1jb2xvcjogJyArIHN0eWxlcy5CR0NPTE9SICsgJzsnO1xuICAgIH1cbiAgICBpZiAoc3R5bGVzLkZPTlRTSVpFKSB7XG4gICAgICBzdHlsZVN0cmluZyArPSAnZm9udC1zaXplOiAnICsgc3R5bGVzLkZPTlRTSVpFICsgKC9eXFxkKyQvLnRlc3Qoc3R5bGVzLkZPTlRTSVpFKSA/ICdweCcgOiAnJykgKyAnOyc7XG4gICAgfVxuICAgIGlmIChzdHlsZXMuRk9OVEZBTUlMWSkge1xuICAgICAgc3R5bGVTdHJpbmcgKz0gJ2ZvbnQtZmFtaWx5OiAnICsgc3R5bGVzLkZPTlRGQU1JTFkgKyAnOyc7XG4gICAgfVxuICAgIHN0eWxlU3RyaW5nICs9ICdcIic7XG4gICAgcmV0dXJuICc8c3BhbiAnICsgc3R5bGVTdHJpbmcgKyAnPicgKyB0ZXh0ICsgJzwvc3Bhbj4nO1xuICB9XG4gIHJldHVybiB0ZXh0O1xufVxuXG4vKipcbiogRnVuY3Rpb24gd2lsbCByZXR1cm4gbWFya3VwIGZvciBFbnRpdHkuXG4qL1xuZnVuY3Rpb24gZ2V0RW50aXR5TWFya3VwKGVudGl0eU1hcCwgZW50aXR5S2V5LCB0ZXh0LCBjdXN0b21FbnRpdHlUcmFuc2Zvcm0pIHtcbiAgdmFyIGVudGl0eSA9IGVudGl0eU1hcFtlbnRpdHlLZXldO1xuICBpZiAodHlwZW9mIGN1c3RvbUVudGl0eVRyYW5zZm9ybSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHZhciBodG1sID0gY3VzdG9tRW50aXR5VHJhbnNmb3JtKGVudGl0eSwgdGV4dCk7XG4gICAgaWYgKGh0bWwpIHtcbiAgICAgIHJldHVybiBodG1sO1xuICAgIH1cbiAgfVxuICBpZiAoZW50aXR5LnR5cGUgPT09ICdNRU5USU9OJykge1xuICAgIHJldHVybiAnPGEgaHJlZj1cIicgKyBlbnRpdHkuZGF0YS51cmwgKyAnXCIgY2xhc3M9XCJ3eXNpd3lnLW1lbnRpb25cIiBkYXRhLW1lbnRpb24gZGF0YS12YWx1ZT1cIicgKyBlbnRpdHkuZGF0YS52YWx1ZSArICdcIj4nICsgdGV4dCArICc8L2E+JztcbiAgfVxuICBpZiAoZW50aXR5LnR5cGUgPT09ICdMSU5LJykge1xuICAgIHZhciB0YXJnZXRPcHRpb24gPSBlbnRpdHkuZGF0YS50YXJnZXRPcHRpb24gfHwgJ19zZWxmJztcbiAgICByZXR1cm4gJzxhIGhyZWY9XCInICsgZW50aXR5LmRhdGEudXJsICsgJ1wiIHRhcmdldD1cIicgKyB0YXJnZXRPcHRpb24gKyAnXCI+JyArIHRleHQgKyAnPC9hPic7XG4gIH1cbiAgaWYgKGVudGl0eS50eXBlID09PSAnSU1BR0UnKSB7XG4gICAgcmV0dXJuICc8aW1nIHNyYz1cIicgKyBlbnRpdHkuZGF0YS5zcmMgKyAnXCIgYWx0PVwiJyArIGVudGl0eS5kYXRhLmFsdCArICdcIiBzdHlsZT1cImZsb2F0OicgKyAoZW50aXR5LmRhdGEuYWxpZ25tZW50IHx8ICdub25lJykgKyAnO2hlaWdodDogJyArIGVudGl0eS5kYXRhLmhlaWdodCArICc7d2lkdGg6ICcgKyBlbnRpdHkuZGF0YS53aWR0aCArICdcIi8+JztcbiAgfVxuICBpZiAoZW50aXR5LnR5cGUgPT09ICdFTUJFRERFRF9MSU5LJykge1xuICAgIHJldHVybiAnPGlmcmFtZSB3aWR0aD1cIicgKyBlbnRpdHkuZGF0YS53aWR0aCArICdcIiBoZWlnaHQ9XCInICsgZW50aXR5LmRhdGEuaGVpZ2h0ICsgJ1wiIHNyYz1cIicgKyBlbnRpdHkuZGF0YS5zcmMgKyAnXCIgZnJhbWVCb3JkZXI9XCIwXCI+PC9pZnJhbWU+JztcbiAgfVxuICByZXR1cm4gdGV4dDtcbn1cblxuLyoqXG4qIEZvciBhIGdpdmVuIHNlY3Rpb24gaW4gYSBibG9jayB0aGUgZnVuY3Rpb24gd2lsbCByZXR1cm4gYSBmdXJ0aGVyIGxpc3Qgb2Ygc2VjdGlvbnMsXG4qIHdpdGggc2ltaWxhciBpbmxpbmUgc3R5bGVzIGFwcGxpY2FibGUgdG8gdGhlbS5cbiovXG5mdW5jdGlvbiBnZXRJbmxpbmVTdHlsZVNlY3Rpb25zKGJsb2NrLCBzdHlsZXMsIHN0YXJ0LCBlbmQpIHtcbiAgdmFyIHN0eWxlU2VjdGlvbnMgPSBbXTtcbiAgdmFyIHRleHQgPSBibG9jay50ZXh0O1xuXG4gIGlmICh0ZXh0Lmxlbmd0aCA+IDApIHtcbiAgICB2YXIgaW5saW5lU3R5bGVzID0gZ2V0U3R5bGVBcnJheUZvckJsb2NrKGJsb2NrKTtcbiAgICB2YXIgc2VjdGlvbiA9IHZvaWQgMDtcbiAgICBmb3IgKHZhciBpID0gc3RhcnQ7IGkgPCBlbmQ7IGkgKz0gMSkge1xuICAgICAgaWYgKGkgIT09IHN0YXJ0ICYmIHNhbWVTdHlsZUFzUHJldmlvdXMoaW5saW5lU3R5bGVzLCBzdHlsZXMsIGkpKSB7XG4gICAgICAgIHNlY3Rpb24udGV4dC5wdXNoKHRleHRbaV0pO1xuICAgICAgICBzZWN0aW9uLmVuZCA9IGkgKyAxO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc2VjdGlvbiA9IHtcbiAgICAgICAgICBzdHlsZXM6IGdldFN0eWxlc0F0T2Zmc2V0KGlubGluZVN0eWxlcywgaSksXG4gICAgICAgICAgdGV4dDogW3RleHRbaV1dLFxuICAgICAgICAgIHN0YXJ0OiBpLFxuICAgICAgICAgIGVuZDogaSArIDFcbiAgICAgICAgfTtcbiAgICAgICAgc3R5bGVTZWN0aW9ucy5wdXNoKHNlY3Rpb24pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICByZXR1cm4gc3R5bGVTZWN0aW9ucztcbn1cblxuLyoqXG4qIFJlcGxhY2UgbGVhZGluZyBibGFuayBzcGFjZXMgYnkgJm5ic3A7XG4qL1xuZnVuY3Rpb24gdHJpbUxlYWRpbmdaZXJvcyhzZWN0aW9uVGV4dCkge1xuICBpZiAoc2VjdGlvblRleHQpIHtcbiAgICB2YXIgcmVwbGFjZWRUZXh0ID0gc2VjdGlvblRleHQ7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCByZXBsYWNlZFRleHQubGVuZ3RoOyBpICs9IDEpIHtcbiAgICAgIGlmIChzZWN0aW9uVGV4dFtpXSA9PT0gJyAnKSB7XG4gICAgICAgIHJlcGxhY2VkVGV4dCA9IHJlcGxhY2VkVGV4dC5yZXBsYWNlKCcgJywgJyZuYnNwOycpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiByZXBsYWNlZFRleHQ7XG4gIH1cbiAgcmV0dXJuIHNlY3Rpb25UZXh0O1xufVxuXG4vKipcbiogUmVwbGFjZSB0cmFpbGluZyBibGFuayBzcGFjZXMgYnkgJm5ic3A7XG4qL1xuZnVuY3Rpb24gdHJpbVRyYWlsaW5nWmVyb3Moc2VjdGlvblRleHQpIHtcbiAgaWYgKHNlY3Rpb25UZXh0KSB7XG4gICAgdmFyIHJlcGxhY2VkVGV4dCA9IHNlY3Rpb25UZXh0O1xuICAgIGZvciAodmFyIGkgPSByZXBsYWNlZFRleHQubGVuZ3RoIC0gMTsgaSA+PSAwOyBpIC09IDEpIHtcbiAgICAgIGlmIChyZXBsYWNlZFRleHRbaV0gPT09ICcgJykge1xuICAgICAgICByZXBsYWNlZFRleHQgPSByZXBsYWNlZFRleHQuc3Vic3RyaW5nKDAsIGkpICsgJyZuYnNwOycgKyByZXBsYWNlZFRleHQuc3Vic3RyaW5nKGkgKyAxKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVwbGFjZWRUZXh0O1xuICB9XG4gIHJldHVybiBzZWN0aW9uVGV4dDtcbn1cblxuLyoqXG4qIFRoZSBtZXRob2QgcmV0dXJucyBtYXJrdXAgZm9yIHNlY3Rpb24gdG8gd2hpY2ggaW5saW5lIHN0eWxlc1xuKiBsaWtlIEJPTEQsIElUQUxJQywgVU5ERVJMSU5FLCBTVFJJS0VUSFJPVUdILCBDT0RFLCBTVVBFUlNDUklQVCwgU1VCU0NSSVBUIGFyZSBhcHBsaWNhYmxlLlxuKi9cbmZ1bmN0aW9uIGdldFN0eWxlVGFnU2VjdGlvbk1hcmt1cChzdHlsZVNlY3Rpb24pIHtcbiAgdmFyIHN0eWxlcyA9IHN0eWxlU2VjdGlvbi5zdHlsZXMsXG4gICAgICB0ZXh0ID0gc3R5bGVTZWN0aW9uLnRleHQ7XG5cbiAgdmFyIGNvbnRlbnQgPSBnZXRTZWN0aW9uVGV4dCh0ZXh0KTtcbiAgZm9yRWFjaChzdHlsZXMsIGZ1bmN0aW9uIChzdHlsZSwgdmFsdWUpIHtcbiAgICBjb250ZW50ID0gYWRkSW5saW5lU3R5bGVNYXJrdXAoc3R5bGUsIGNvbnRlbnQsIHZhbHVlKTtcbiAgfSk7XG4gIHJldHVybiBjb250ZW50O1xufVxuXG4vKipcbiogVGhlIG1ldGhvZCByZXR1cm5zIG1hcmt1cCBmb3Igc2VjdGlvbiB0byB3aGljaCBpbmxpbmUgc3R5bGVzXG5saWtlIGNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yLCBmb250LXNpemUgYXJlIGFwcGxpY2FibGUuXG4qL1xuZnVuY3Rpb24gZ2V0SW5saW5lU3R5bGVTZWN0aW9uTWFya3VwKGJsb2NrLCBzdHlsZVNlY3Rpb24pIHtcbiAgdmFyIHN0eWxlVGFnU2VjdGlvbnMgPSBnZXRJbmxpbmVTdHlsZVNlY3Rpb25zKGJsb2NrLCBbJ0JPTEQnLCAnSVRBTElDJywgJ1VOREVSTElORScsICdTVFJJS0VUSFJPVUdIJywgJ0NPREUnLCAnU1VQRVJTQ1JJUFQnLCAnU1VCU0NSSVBUJ10sIHN0eWxlU2VjdGlvbi5zdGFydCwgc3R5bGVTZWN0aW9uLmVuZCk7XG4gIHZhciBzdHlsZVNlY3Rpb25UZXh0ID0gJyc7XG4gIHN0eWxlVGFnU2VjdGlvbnMuZm9yRWFjaChmdW5jdGlvbiAoc3R5bGVQcm9wZXJ0eVNlY3Rpb24pIHtcbiAgICBzdHlsZVNlY3Rpb25UZXh0ICs9IGdldFN0eWxlVGFnU2VjdGlvbk1hcmt1cChzdHlsZVByb3BlcnR5U2VjdGlvbik7XG4gIH0pO1xuICBzdHlsZVNlY3Rpb25UZXh0ID0gYWRkU3R5bGVQcm9wZXJ0eU1hcmt1cChzdHlsZVNlY3Rpb24uc3R5bGVzLCBzdHlsZVNlY3Rpb25UZXh0KTtcbiAgcmV0dXJuIHN0eWxlU2VjdGlvblRleHQ7XG59XG5cbi8qXG4qIFRoZSBtZXRob2QgcmV0dXJucyBtYXJrdXAgZm9yIGFuIGVudGl0eSBzZWN0aW9uLlxuKiBBbiBlbnRpdHkgc2VjdGlvbiBpcyBhIGNvbnRpbnVvdXMgc2VjdGlvbiBpbiBhIGJsb2NrXG4qIHRvIHdoaWNoIHNhbWUgZW50aXR5IG9yIG5vIGVudGl0eSBpcyBhcHBsaWNhYmxlLlxuKi9cbmZ1bmN0aW9uIGdldFNlY3Rpb25NYXJrdXAoYmxvY2ssIGVudGl0eU1hcCwgc2VjdGlvbiwgY3VzdG9tRW50aXR5VHJhbnNmb3JtKSB7XG4gIHZhciBlbnRpdHlJbmxpbmVNYXJrdXAgPSBbXTtcbiAgdmFyIGlubGluZVN0eWxlU2VjdGlvbnMgPSBnZXRJbmxpbmVTdHlsZVNlY3Rpb25zKGJsb2NrLCBbJ0NPTE9SJywgJ0JHQ09MT1InLCAnRk9OVFNJWkUnLCAnRk9OVEZBTUlMWSddLCBzZWN0aW9uLnN0YXJ0LCBzZWN0aW9uLmVuZCk7XG4gIGlubGluZVN0eWxlU2VjdGlvbnMuZm9yRWFjaChmdW5jdGlvbiAoc3R5bGVTZWN0aW9uKSB7XG4gICAgZW50aXR5SW5saW5lTWFya3VwLnB1c2goZ2V0SW5saW5lU3R5bGVTZWN0aW9uTWFya3VwKGJsb2NrLCBzdHlsZVNlY3Rpb24pKTtcbiAgfSk7XG4gIHZhciBzZWN0aW9uVGV4dCA9IGVudGl0eUlubGluZU1hcmt1cC5qb2luKCcnKTtcbiAgaWYgKHNlY3Rpb24udHlwZSA9PT0gJ0VOVElUWScpIHtcbiAgICBpZiAoc2VjdGlvbi5lbnRpdHlLZXkgIT09IHVuZGVmaW5lZCAmJiBzZWN0aW9uLmVudGl0eUtleSAhPT0gbnVsbCkge1xuICAgICAgc2VjdGlvblRleHQgPSBnZXRFbnRpdHlNYXJrdXAoZW50aXR5TWFwLCBzZWN0aW9uLmVudGl0eUtleSwgc2VjdGlvblRleHQsIGN1c3RvbUVudGl0eVRyYW5zZm9ybSk7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbWF4LWxlblxuICAgIH1cbiAgfSBlbHNlIGlmIChzZWN0aW9uLnR5cGUgPT09ICdIQVNIVEFHJykge1xuICAgIHNlY3Rpb25UZXh0ID0gJzxhIGhyZWY9XCInICsgc2VjdGlvblRleHQgKyAnXCIgY2xhc3M9XCJ3eXNpd3lnLWhhc2h0YWdcIj4nICsgc2VjdGlvblRleHQgKyAnPC9hPic7XG4gIH1cbiAgcmV0dXJuIHNlY3Rpb25UZXh0O1xufVxuXG4vKipcbiogRnVuY3Rpb24gd2lsbCByZXR1cm4gdGhlIG1hcmt1cCBmb3IgYmxvY2sgcHJlc2VydmluZyB0aGUgaW5saW5lIHN0eWxlcyBhbmRcbiogc3BlY2lhbCBjaGFyYWN0ZXJzIGxpa2UgbmV3bGluZXMgb3IgYmxhbmsgc3BhY2VzLlxuKi9cbmZ1bmN0aW9uIGdldEJsb2NrSW5uZXJNYXJrdXAoYmxvY2ssIGVudGl0eU1hcCwgaGFzaHRhZ0NvbmZpZywgY3VzdG9tRW50aXR5VHJhbnNmb3JtKSB7XG4gIHZhciBibG9ja01hcmt1cCA9IFtdO1xuICB2YXIgc2VjdGlvbnMgPSBnZXRTZWN0aW9ucyhibG9jaywgaGFzaHRhZ0NvbmZpZyk7XG4gIHNlY3Rpb25zLmZvckVhY2goZnVuY3Rpb24gKHNlY3Rpb24sIGluZGV4KSB7XG4gICAgdmFyIHNlY3Rpb25UZXh0ID0gZ2V0U2VjdGlvbk1hcmt1cChibG9jaywgZW50aXR5TWFwLCBzZWN0aW9uLCBjdXN0b21FbnRpdHlUcmFuc2Zvcm0pO1xuICAgIGlmIChpbmRleCA9PT0gMCkge1xuICAgICAgc2VjdGlvblRleHQgPSB0cmltTGVhZGluZ1plcm9zKHNlY3Rpb25UZXh0KTtcbiAgICB9XG4gICAgaWYgKGluZGV4ID09PSBzZWN0aW9ucy5sZW5ndGggLSAxKSB7XG4gICAgICBzZWN0aW9uVGV4dCA9IHRyaW1UcmFpbGluZ1plcm9zKHNlY3Rpb25UZXh0KTtcbiAgICB9XG4gICAgYmxvY2tNYXJrdXAucHVzaChzZWN0aW9uVGV4dCk7XG4gIH0pO1xuICByZXR1cm4gYmxvY2tNYXJrdXAuam9pbignJyk7XG59XG5cbi8qKlxuKiBGdW5jdGlvbiB3aWxsIHJldHVybiBodG1sIGZvciB0aGUgYmxvY2suXG4qL1xuZnVuY3Rpb24gZ2V0QmxvY2tNYXJrdXAoYmxvY2ssIGVudGl0eU1hcCwgaGFzaHRhZ0NvbmZpZywgZGlyZWN0aW9uYWwsIGN1c3RvbUVudGl0eVRyYW5zZm9ybSkge1xuICB2YXIgYmxvY2tIdG1sID0gW107XG4gIGlmIChpc0F0b21pY0VudGl0eUJsb2NrKGJsb2NrKSkge1xuICAgIGJsb2NrSHRtbC5wdXNoKGdldEVudGl0eU1hcmt1cChlbnRpdHlNYXAsIGJsb2NrLmVudGl0eVJhbmdlc1swXS5rZXksIHVuZGVmaW5lZCwgY3VzdG9tRW50aXR5VHJhbnNmb3JtKSk7XG4gIH0gZWxzZSB7XG4gICAgdmFyIGJsb2NrVGFnID0gZ2V0QmxvY2tUYWcoYmxvY2sudHlwZSk7XG4gICAgaWYgKGJsb2NrVGFnKSB7XG4gICAgICBibG9ja0h0bWwucHVzaCgnPCcgKyBibG9ja1RhZyk7XG4gICAgICB2YXIgYmxvY2tTdHlsZSA9IGdldEJsb2NrU3R5bGUoYmxvY2suZGF0YSk7XG4gICAgICBpZiAoYmxvY2tTdHlsZSkge1xuICAgICAgICBibG9ja0h0bWwucHVzaCgnIHN0eWxlPVwiJyArIGJsb2NrU3R5bGUgKyAnXCInKTtcbiAgICAgIH1cbiAgICAgIGlmIChkaXJlY3Rpb25hbCkge1xuICAgICAgICBibG9ja0h0bWwucHVzaCgnIGRpciA9IFwiYXV0b1wiJyk7XG4gICAgICB9XG4gICAgICBibG9ja0h0bWwucHVzaCgnPicpO1xuICAgICAgYmxvY2tIdG1sLnB1c2goZ2V0QmxvY2tJbm5lck1hcmt1cChibG9jaywgZW50aXR5TWFwLCBoYXNodGFnQ29uZmlnLCBjdXN0b21FbnRpdHlUcmFuc2Zvcm0pKTtcbiAgICAgIGJsb2NrSHRtbC5wdXNoKCc8LycgKyBibG9ja1RhZyArICc+Jyk7XG4gICAgfVxuICB9XG4gIGJsb2NrSHRtbC5wdXNoKCdcXG4nKTtcbiAgcmV0dXJuIGJsb2NrSHRtbC5qb2luKCcnKTtcbn1cblxuLyoqXG4qIEZ1bmN0aW9uIHRvIGNoZWNrIGlmIGEgYmxvY2sgaXMgb2YgdHlwZSBsaXN0LlxuKi9cbmZ1bmN0aW9uIGlzTGlzdChibG9ja1R5cGUpIHtcbiAgcmV0dXJuIGJsb2NrVHlwZSA9PT0gJ3Vub3JkZXJlZC1saXN0LWl0ZW0nIHx8IGJsb2NrVHlwZSA9PT0gJ29yZGVyZWQtbGlzdC1pdGVtJztcbn1cblxuLyoqXG4qIEZ1bmN0aW9uIHdpbGwgcmV0dXJuIGh0bWwgbWFya3VwIGZvciBhIGxpc3QgYmxvY2suXG4qL1xuZnVuY3Rpb24gZ2V0TGlzdE1hcmt1cChsaXN0QmxvY2tzLCBlbnRpdHlNYXAsIGhhc2h0YWdDb25maWcsIGRpcmVjdGlvbmFsLCBjdXN0b21FbnRpdHlUcmFuc2Zvcm0pIHtcbiAgdmFyIGxpc3RIdG1sID0gW107XG4gIHZhciBuZXN0ZWRMaXN0QmxvY2sgPSBbXTtcbiAgdmFyIHByZXZpb3VzQmxvY2sgPSB2b2lkIDA7XG4gIGxpc3RCbG9ja3MuZm9yRWFjaChmdW5jdGlvbiAoYmxvY2spIHtcbiAgICB2YXIgbmVzdGVkQmxvY2sgPSBmYWxzZTtcbiAgICBpZiAoIXByZXZpb3VzQmxvY2spIHtcbiAgICAgIGxpc3RIdG1sLnB1c2goJzwnICsgZ2V0QmxvY2tUYWcoYmxvY2sudHlwZSkgKyAnPlxcbicpO1xuICAgIH0gZWxzZSBpZiAocHJldmlvdXNCbG9jay50eXBlICE9PSBibG9jay50eXBlKSB7XG4gICAgICBsaXN0SHRtbC5wdXNoKCc8LycgKyBnZXRCbG9ja1RhZyhwcmV2aW91c0Jsb2NrLnR5cGUpICsgJz5cXG4nKTtcbiAgICAgIGxpc3RIdG1sLnB1c2goJzwnICsgZ2V0QmxvY2tUYWcoYmxvY2sudHlwZSkgKyAnPlxcbicpO1xuICAgIH0gZWxzZSBpZiAocHJldmlvdXNCbG9jay5kZXB0aCA9PT0gYmxvY2suZGVwdGgpIHtcbiAgICAgIGlmIChuZXN0ZWRMaXN0QmxvY2sgJiYgbmVzdGVkTGlzdEJsb2NrLmxlbmd0aCA+IDApIHtcbiAgICAgICAgbGlzdEh0bWwucHVzaChnZXRMaXN0TWFya3VwKG5lc3RlZExpc3RCbG9jaywgZW50aXR5TWFwLCBoYXNodGFnQ29uZmlnLCBkaXJlY3Rpb25hbCwgY3VzdG9tRW50aXR5VHJhbnNmb3JtKSk7XG4gICAgICAgIG5lc3RlZExpc3RCbG9jayA9IFtdO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBuZXN0ZWRCbG9jayA9IHRydWU7XG4gICAgICBuZXN0ZWRMaXN0QmxvY2sucHVzaChibG9jayk7XG4gICAgfVxuICAgIGlmICghbmVzdGVkQmxvY2spIHtcbiAgICAgIGxpc3RIdG1sLnB1c2goJzxsaScpO1xuICAgICAgdmFyIGJsb2NrU3R5bGUgPSBnZXRCbG9ja1N0eWxlKGJsb2NrLmRhdGEpO1xuICAgICAgaWYgKGJsb2NrU3R5bGUpIHtcbiAgICAgICAgbGlzdEh0bWwucHVzaCgnIHN0eWxlPVwiJyArIGJsb2NrU3R5bGUgKyAnXCInKTtcbiAgICAgIH1cbiAgICAgIGlmIChkaXJlY3Rpb25hbCkge1xuICAgICAgICBsaXN0SHRtbC5wdXNoKCcgZGlyID0gXCJhdXRvXCInKTtcbiAgICAgIH1cbiAgICAgIGxpc3RIdG1sLnB1c2goJz4nKTtcbiAgICAgIGxpc3RIdG1sLnB1c2goZ2V0QmxvY2tJbm5lck1hcmt1cChibG9jaywgZW50aXR5TWFwLCBoYXNodGFnQ29uZmlnLCBjdXN0b21FbnRpdHlUcmFuc2Zvcm0pKTtcbiAgICAgIGxpc3RIdG1sLnB1c2goJzwvbGk+XFxuJyk7XG4gICAgICBwcmV2aW91c0Jsb2NrID0gYmxvY2s7XG4gICAgfVxuICB9KTtcbiAgaWYgKG5lc3RlZExpc3RCbG9jayAmJiBuZXN0ZWRMaXN0QmxvY2subGVuZ3RoID4gMCkge1xuICAgIGxpc3RIdG1sLnB1c2goZ2V0TGlzdE1hcmt1cChuZXN0ZWRMaXN0QmxvY2ssIGVudGl0eU1hcCwgaGFzaHRhZ0NvbmZpZywgZGlyZWN0aW9uYWwsIGN1c3RvbUVudGl0eVRyYW5zZm9ybSkpO1xuICB9XG4gIGxpc3RIdG1sLnB1c2goJzwvJyArIGdldEJsb2NrVGFnKHByZXZpb3VzQmxvY2sudHlwZSkgKyAnPlxcbicpO1xuICByZXR1cm4gbGlzdEh0bWwuam9pbignJyk7XG59XG5cbi8qKlxuKiBUaGUgZnVuY3Rpb24gd2lsbCBnZW5lcmF0ZSBodG1sIG1hcmt1cCBmb3IgZ2l2ZW4gZHJhZnRqcyBlZGl0b3JDb250ZW50LlxuKi9cbmZ1bmN0aW9uIGRyYWZ0VG9IdG1sKGVkaXRvckNvbnRlbnQsIGhhc2h0YWdDb25maWcsIGRpcmVjdGlvbmFsLCBjdXN0b21FbnRpdHlUcmFuc2Zvcm0pIHtcbiAgdmFyIGh0bWwgPSBbXTtcbiAgaWYgKGVkaXRvckNvbnRlbnQpIHtcbiAgICB2YXIgYmxvY2tzID0gZWRpdG9yQ29udGVudC5ibG9ja3MsXG4gICAgICAgIGVudGl0eU1hcCA9IGVkaXRvckNvbnRlbnQuZW50aXR5TWFwO1xuXG4gICAgaWYgKGJsb2NrcyAmJiBibG9ja3MubGVuZ3RoID4gMCkge1xuICAgICAgdmFyIGxpc3RCbG9ja3MgPSBbXTtcbiAgICAgIGJsb2Nrcy5mb3JFYWNoKGZ1bmN0aW9uIChibG9jaykge1xuICAgICAgICBpZiAoaXNMaXN0KGJsb2NrLnR5cGUpKSB7XG4gICAgICAgICAgbGlzdEJsb2Nrcy5wdXNoKGJsb2NrKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAobGlzdEJsb2Nrcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICB2YXIgbGlzdEh0bWwgPSBnZXRMaXN0TWFya3VwKGxpc3RCbG9ja3MsIGVudGl0eU1hcCwgaGFzaHRhZ0NvbmZpZywgY3VzdG9tRW50aXR5VHJhbnNmb3JtKTsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBtYXgtbGVuXG4gICAgICAgICAgICBodG1sLnB1c2gobGlzdEh0bWwpO1xuICAgICAgICAgICAgbGlzdEJsb2NrcyA9IFtdO1xuICAgICAgICAgIH1cbiAgICAgICAgICB2YXIgYmxvY2tIdG1sID0gZ2V0QmxvY2tNYXJrdXAoYmxvY2ssIGVudGl0eU1hcCwgaGFzaHRhZ0NvbmZpZywgZGlyZWN0aW9uYWwsIGN1c3RvbUVudGl0eVRyYW5zZm9ybSk7XG4gICAgICAgICAgaHRtbC5wdXNoKGJsb2NrSHRtbCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgaWYgKGxpc3RCbG9ja3MubGVuZ3RoID4gMCkge1xuICAgICAgICB2YXIgbGlzdEh0bWwgPSBnZXRMaXN0TWFya3VwKGxpc3RCbG9ja3MsIGVudGl0eU1hcCwgaGFzaHRhZ0NvbmZpZywgZGlyZWN0aW9uYWwsIGN1c3RvbUVudGl0eVRyYW5zZm9ybSk7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbWF4LWxlblxuICAgICAgICBodG1sLnB1c2gobGlzdEh0bWwpO1xuICAgICAgICBsaXN0QmxvY2tzID0gW107XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiBodG1sLmpvaW4oJycpO1xufVxuXG5yZXR1cm4gZHJhZnRUb0h0bWw7XG5cbn0pKSk7XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draftjs-to-html/lib/draftjs-to-html.js\n"); +eval("(function (global, factory) {\n true ? module.exports = factory() :\n undefined;\n}(this, (function () { 'use strict';\n\n /**\n * Utility function to execute callback for eack key->value pair.\n */\n function forEach(obj, callback) {\n if (obj) {\n for (var key in obj) {\n // eslint-disable-line no-restricted-syntax\n if ({}.hasOwnProperty.call(obj, key)) {\n callback(key, obj[key]);\n }\n }\n }\n }\n /**\n * The function returns true if the string passed to it has no content.\n */\n\n function isEmptyString(str) {\n if (str === undefined || str === null || str.length === 0 || str.trim().length === 0) {\n return true;\n }\n\n return false;\n }\n\n /**\n * Mapping block-type to corresponding html tag.\n */\n\n var blockTypesMapping = {\n unstyled: 'p',\n 'header-one': 'h1',\n 'header-two': 'h2',\n 'header-three': 'h3',\n 'header-four': 'h4',\n 'header-five': 'h5',\n 'header-six': 'h6',\n 'unordered-list-item': 'ul',\n 'ordered-list-item': 'ol',\n blockquote: 'blockquote',\n code: 'pre'\n };\n /**\n * Function will return HTML tag for a block.\n */\n\n function getBlockTag(type) {\n return type && blockTypesMapping[type];\n }\n /**\n * Function will return style string for a block.\n */\n\n function getBlockStyle(data) {\n var styles = '';\n forEach(data, function (key, value) {\n if (value) {\n styles += \"\".concat(key, \":\").concat(value, \";\");\n }\n });\n return styles;\n }\n /**\n * The function returns an array of hashtag-sections in blocks.\n * These will be areas in block which have hashtags applicable to them.\n */\n\n function getHashtagRanges(blockText, hashtagConfig) {\n var sections = [];\n\n if (hashtagConfig) {\n var counter = 0;\n var startIndex = 0;\n var text = blockText;\n var trigger = hashtagConfig.trigger || '#';\n var separator = hashtagConfig.separator || ' ';\n\n for (; text.length > 0 && startIndex >= 0;) {\n if (text[0] === trigger) {\n startIndex = 0;\n counter = 0;\n text = text.substr(trigger.length);\n } else {\n startIndex = text.indexOf(separator + trigger);\n\n if (startIndex >= 0) {\n text = text.substr(startIndex + (separator + trigger).length);\n counter += startIndex + separator.length;\n }\n }\n\n if (startIndex >= 0) {\n var endIndex = text.indexOf(separator) >= 0 ? text.indexOf(separator) : text.length;\n var hashtag = text.substr(0, endIndex);\n\n if (hashtag && hashtag.length > 0) {\n sections.push({\n offset: counter,\n length: hashtag.length + trigger.length,\n type: 'HASHTAG'\n });\n }\n\n counter += trigger.length;\n }\n }\n }\n\n return sections;\n }\n /**\n * The function returns an array of entity-sections in blocks.\n * These will be areas in block which have same entity or no entity applicable to them.\n */\n\n\n function getSections(block, hashtagConfig) {\n var sections = [];\n var lastOffset = 0;\n var sectionRanges = block.entityRanges.map(function (range) {\n var offset = range.offset,\n length = range.length,\n key = range.key;\n return {\n offset: offset,\n length: length,\n key: key,\n type: 'ENTITY'\n };\n });\n sectionRanges = sectionRanges.concat(getHashtagRanges(block.text, hashtagConfig));\n sectionRanges = sectionRanges.sort(function (s1, s2) {\n return s1.offset - s2.offset;\n });\n sectionRanges.forEach(function (r) {\n if (r.offset > lastOffset) {\n sections.push({\n start: lastOffset,\n end: r.offset\n });\n }\n\n sections.push({\n start: r.offset,\n end: r.offset + r.length,\n entityKey: r.key,\n type: r.type\n });\n lastOffset = r.offset + r.length;\n });\n\n if (lastOffset < block.text.length) {\n sections.push({\n start: lastOffset,\n end: block.text.length\n });\n }\n\n return sections;\n }\n /**\n * Function to check if the block is an atomic entity block.\n */\n\n\n function isAtomicEntityBlock(block) {\n if (block.entityRanges.length > 0 && (isEmptyString(block.text) || block.type === 'atomic')) {\n return true;\n }\n\n return false;\n }\n /**\n * The function will return array of inline styles applicable to the block.\n */\n\n\n function getStyleArrayForBlock(block) {\n var text = block.text,\n inlineStyleRanges = block.inlineStyleRanges;\n var inlineStyles = {\n BOLD: new Array(text.length),\n ITALIC: new Array(text.length),\n UNDERLINE: new Array(text.length),\n STRIKETHROUGH: new Array(text.length),\n CODE: new Array(text.length),\n SUPERSCRIPT: new Array(text.length),\n SUBSCRIPT: new Array(text.length),\n COLOR: new Array(text.length),\n BGCOLOR: new Array(text.length),\n FONTSIZE: new Array(text.length),\n FONTFAMILY: new Array(text.length),\n length: text.length\n };\n\n if (inlineStyleRanges && inlineStyleRanges.length > 0) {\n inlineStyleRanges.forEach(function (range) {\n var offset = range.offset;\n var length = offset + range.length;\n\n for (var i = offset; i < length; i += 1) {\n if (range.style.indexOf('color-') === 0) {\n inlineStyles.COLOR[i] = range.style.substring(6);\n } else if (range.style.indexOf('bgcolor-') === 0) {\n inlineStyles.BGCOLOR[i] = range.style.substring(8);\n } else if (range.style.indexOf('fontsize-') === 0) {\n inlineStyles.FONTSIZE[i] = range.style.substring(9);\n } else if (range.style.indexOf('fontfamily-') === 0) {\n inlineStyles.FONTFAMILY[i] = range.style.substring(11);\n } else if (inlineStyles[range.style]) {\n inlineStyles[range.style][i] = true;\n }\n }\n });\n }\n\n return inlineStyles;\n }\n /**\n * The function will return inline style applicable at some offset within a block.\n */\n\n\n function getStylesAtOffset(inlineStyles, offset) {\n var styles = {};\n\n if (inlineStyles.COLOR[offset]) {\n styles.COLOR = inlineStyles.COLOR[offset];\n }\n\n if (inlineStyles.BGCOLOR[offset]) {\n styles.BGCOLOR = inlineStyles.BGCOLOR[offset];\n }\n\n if (inlineStyles.FONTSIZE[offset]) {\n styles.FONTSIZE = inlineStyles.FONTSIZE[offset];\n }\n\n if (inlineStyles.FONTFAMILY[offset]) {\n styles.FONTFAMILY = inlineStyles.FONTFAMILY[offset];\n }\n\n if (inlineStyles.UNDERLINE[offset]) {\n styles.UNDERLINE = true;\n }\n\n if (inlineStyles.ITALIC[offset]) {\n styles.ITALIC = true;\n }\n\n if (inlineStyles.BOLD[offset]) {\n styles.BOLD = true;\n }\n\n if (inlineStyles.STRIKETHROUGH[offset]) {\n styles.STRIKETHROUGH = true;\n }\n\n if (inlineStyles.CODE[offset]) {\n styles.CODE = true;\n }\n\n if (inlineStyles.SUBSCRIPT[offset]) {\n styles.SUBSCRIPT = true;\n }\n\n if (inlineStyles.SUPERSCRIPT[offset]) {\n styles.SUPERSCRIPT = true;\n }\n\n return styles;\n }\n /**\n * Function returns true for a set of styles if the value of these styles at an offset\n * are same as that on the previous offset.\n */\n\n function sameStyleAsPrevious(inlineStyles, styles, index) {\n var sameStyled = true;\n\n if (index > 0 && index < inlineStyles.length) {\n styles.forEach(function (style) {\n sameStyled = sameStyled && inlineStyles[style][index] === inlineStyles[style][index - 1];\n });\n } else {\n sameStyled = false;\n }\n\n return sameStyled;\n }\n /**\n * Function returns html for text depending on inline style tags applicable to it.\n */\n\n function addInlineStyleMarkup(style, content) {\n if (style === 'BOLD') {\n return \"\".concat(content, \"\");\n }\n\n if (style === 'ITALIC') {\n return \"\".concat(content, \"\");\n }\n\n if (style === 'UNDERLINE') {\n return \"\".concat(content, \"\");\n }\n\n if (style === 'STRIKETHROUGH') {\n return \"\".concat(content, \"\");\n }\n\n if (style === 'CODE') {\n return \"\".concat(content, \"\");\n }\n\n if (style === 'SUPERSCRIPT') {\n return \"\".concat(content, \"\");\n }\n\n if (style === 'SUBSCRIPT') {\n return \"\".concat(content, \"\");\n }\n\n return content;\n }\n /**\n * The function returns text for given section of block after doing required character replacements.\n */\n\n function getSectionText(text) {\n if (text && text.length > 0) {\n var chars = text.map(function (ch) {\n switch (ch) {\n case '\\n':\n return '
';\n\n case '&':\n return '&';\n\n case '<':\n return '<';\n\n case '>':\n return '>';\n\n default:\n return ch;\n }\n });\n return chars.join('');\n }\n\n return '';\n }\n /**\n * Function returns html for text depending on inline style tags applicable to it.\n */\n\n\n function addStylePropertyMarkup(styles, text) {\n if (styles && (styles.COLOR || styles.BGCOLOR || styles.FONTSIZE || styles.FONTFAMILY)) {\n var styleString = 'style=\"';\n\n if (styles.COLOR) {\n styleString += \"color: \".concat(styles.COLOR, \";\");\n }\n\n if (styles.BGCOLOR) {\n styleString += \"background-color: \".concat(styles.BGCOLOR, \";\");\n }\n\n if (styles.FONTSIZE) {\n styleString += \"font-size: \".concat(styles.FONTSIZE).concat(/^\\d+$/.test(styles.FONTSIZE) ? 'px' : '', \";\");\n }\n\n if (styles.FONTFAMILY) {\n styleString += \"font-family: \".concat(styles.FONTFAMILY, \";\");\n }\n\n styleString += '\"';\n return \"\").concat(text, \"\");\n }\n\n return text;\n }\n /**\n * Function will return markup for Entity.\n */\n\n function getEntityMarkup(entityMap, entityKey, text, customEntityTransform) {\n var entity = entityMap[entityKey];\n\n if (typeof customEntityTransform === 'function') {\n var html = customEntityTransform(entity, text);\n\n if (html) {\n return html;\n }\n }\n\n if (entity.type === 'MENTION') {\n return \"\").concat(text, \"\");\n }\n\n if (entity.type === 'LINK') {\n var targetOption = entity.data.targetOption || '_self';\n return \"\").concat(text, \"\");\n }\n\n if (entity.type === 'IMAGE') {\n var alignment = entity.data.alignment;\n\n if (alignment && alignment.length) {\n return \"
\\\"\").concat(entity.data.alt,
\");\n }\n\n return \"\\\"\").concat(entity.data.alt,\");\n }\n\n if (entity.type === 'EMBEDDED_LINK') {\n return \"\");\n }\n\n return text;\n }\n /**\n * For a given section in a block the function will return a further list of sections,\n * with similar inline styles applicable to them.\n */\n\n\n function getInlineStyleSections(block, styles, start, end) {\n var styleSections = [];\n var text = Array.from(block.text);\n\n if (text.length > 0) {\n var inlineStyles = getStyleArrayForBlock(block);\n var section;\n\n for (var i = start; i < end; i += 1) {\n if (i !== start && sameStyleAsPrevious(inlineStyles, styles, i)) {\n section.text.push(text[i]);\n section.end = i + 1;\n } else {\n section = {\n styles: getStylesAtOffset(inlineStyles, i),\n text: [text[i]],\n start: i,\n end: i + 1\n };\n styleSections.push(section);\n }\n }\n }\n\n return styleSections;\n }\n /**\n * Replace leading blank spaces by  \n */\n\n\n function trimLeadingZeros(sectionText) {\n if (sectionText) {\n var replacedText = sectionText;\n\n for (var i = 0; i < replacedText.length; i += 1) {\n if (sectionText[i] === ' ') {\n replacedText = replacedText.replace(' ', ' ');\n } else {\n break;\n }\n }\n\n return replacedText;\n }\n\n return sectionText;\n }\n /**\n * Replace trailing blank spaces by  \n */\n\n function trimTrailingZeros(sectionText) {\n if (sectionText) {\n var replacedText = sectionText;\n\n for (var i = replacedText.length - 1; i >= 0; i -= 1) {\n if (replacedText[i] === ' ') {\n replacedText = \"\".concat(replacedText.substring(0, i), \" \").concat(replacedText.substring(i + 1));\n } else {\n break;\n }\n }\n\n return replacedText;\n }\n\n return sectionText;\n }\n /**\n * The method returns markup for section to which inline styles\n * like BOLD, ITALIC, UNDERLINE, STRIKETHROUGH, CODE, SUPERSCRIPT, SUBSCRIPT are applicable.\n */\n\n function getStyleTagSectionMarkup(styleSection) {\n var styles = styleSection.styles,\n text = styleSection.text;\n var content = getSectionText(text);\n forEach(styles, function (style, value) {\n content = addInlineStyleMarkup(style, content);\n });\n return content;\n }\n /**\n * The method returns markup for section to which inline styles\n like color, background-color, font-size are applicable.\n */\n\n\n function getInlineStyleSectionMarkup(block, styleSection) {\n var styleTagSections = getInlineStyleSections(block, ['BOLD', 'ITALIC', 'UNDERLINE', 'STRIKETHROUGH', 'CODE', 'SUPERSCRIPT', 'SUBSCRIPT'], styleSection.start, styleSection.end);\n var styleSectionText = '';\n styleTagSections.forEach(function (stylePropertySection) {\n styleSectionText += getStyleTagSectionMarkup(stylePropertySection);\n });\n styleSectionText = addStylePropertyMarkup(styleSection.styles, styleSectionText);\n return styleSectionText;\n }\n /*\n * The method returns markup for an entity section.\n * An entity section is a continuous section in a block\n * to which same entity or no entity is applicable.\n */\n\n\n function getSectionMarkup(block, entityMap, section, customEntityTransform) {\n var entityInlineMarkup = [];\n var inlineStyleSections = getInlineStyleSections(block, ['COLOR', 'BGCOLOR', 'FONTSIZE', 'FONTFAMILY'], section.start, section.end);\n inlineStyleSections.forEach(function (styleSection) {\n entityInlineMarkup.push(getInlineStyleSectionMarkup(block, styleSection));\n });\n var sectionText = entityInlineMarkup.join('');\n\n if (section.type === 'ENTITY') {\n if (section.entityKey !== undefined && section.entityKey !== null) {\n sectionText = getEntityMarkup(entityMap, section.entityKey, sectionText, customEntityTransform); // eslint-disable-line max-len\n }\n } else if (section.type === 'HASHTAG') {\n sectionText = \"\").concat(sectionText, \"\");\n }\n\n return sectionText;\n }\n /**\n * Function will return the markup for block preserving the inline styles and\n * special characters like newlines or blank spaces.\n */\n\n\n function getBlockInnerMarkup(block, entityMap, hashtagConfig, customEntityTransform) {\n var blockMarkup = [];\n var sections = getSections(block, hashtagConfig);\n sections.forEach(function (section, index) {\n var sectionText = getSectionMarkup(block, entityMap, section, customEntityTransform);\n\n if (index === 0) {\n sectionText = trimLeadingZeros(sectionText);\n }\n\n if (index === sections.length - 1) {\n sectionText = trimTrailingZeros(sectionText);\n }\n\n blockMarkup.push(sectionText);\n });\n return blockMarkup.join('');\n }\n /**\n * Function will return html for the block.\n */\n\n function getBlockMarkup(block, entityMap, hashtagConfig, directional, customEntityTransform) {\n var blockHtml = [];\n\n if (isAtomicEntityBlock(block)) {\n blockHtml.push(getEntityMarkup(entityMap, block.entityRanges[0].key, undefined, customEntityTransform));\n } else {\n var blockTag = getBlockTag(block.type);\n\n if (blockTag) {\n blockHtml.push(\"<\".concat(blockTag));\n var blockStyle = getBlockStyle(block.data);\n\n if (blockStyle) {\n blockHtml.push(\" style=\\\"\".concat(blockStyle, \"\\\"\"));\n }\n\n if (directional) {\n blockHtml.push(' dir = \"auto\"');\n }\n\n blockHtml.push('>');\n blockHtml.push(getBlockInnerMarkup(block, entityMap, hashtagConfig, customEntityTransform));\n blockHtml.push(\"\"));\n }\n }\n\n blockHtml.push('\\n');\n return blockHtml.join('');\n }\n\n /**\n * Function to check if a block is of type list.\n */\n\n function isList(blockType) {\n return blockType === 'unordered-list-item' || blockType === 'ordered-list-item';\n }\n /**\n * Function will return html markup for a list block.\n */\n\n function getListMarkup(listBlocks, entityMap, hashtagConfig, directional, customEntityTransform) {\n var listHtml = [];\n var nestedListBlock = [];\n var previousBlock;\n listBlocks.forEach(function (block) {\n var nestedBlock = false;\n\n if (!previousBlock) {\n listHtml.push(\"<\".concat(getBlockTag(block.type), \">\\n\"));\n } else if (previousBlock.type !== block.type) {\n listHtml.push(\"\\n\"));\n listHtml.push(\"<\".concat(getBlockTag(block.type), \">\\n\"));\n } else if (previousBlock.depth === block.depth) {\n if (nestedListBlock && nestedListBlock.length > 0) {\n listHtml.push(getListMarkup(nestedListBlock, entityMap, hashtagConfig, directional, customEntityTransform));\n nestedListBlock = [];\n }\n } else {\n nestedBlock = true;\n nestedListBlock.push(block);\n }\n\n if (!nestedBlock) {\n listHtml.push('');\n listHtml.push(getBlockInnerMarkup(block, entityMap, hashtagConfig, customEntityTransform));\n listHtml.push('\\n');\n previousBlock = block;\n }\n });\n\n if (nestedListBlock && nestedListBlock.length > 0) {\n listHtml.push(getListMarkup(nestedListBlock, entityMap, hashtagConfig, directional, customEntityTransform));\n }\n\n listHtml.push(\"\\n\"));\n return listHtml.join('');\n }\n\n /**\n * The function will generate html markup for given draftjs editorContent.\n */\n\n function draftToHtml(editorContent, hashtagConfig, directional, customEntityTransform) {\n var html = [];\n\n if (editorContent) {\n var blocks = editorContent.blocks,\n entityMap = editorContent.entityMap;\n\n if (blocks && blocks.length > 0) {\n var listBlocks = [];\n blocks.forEach(function (block) {\n if (isList(block.type)) {\n listBlocks.push(block);\n } else {\n if (listBlocks.length > 0) {\n var listHtml = getListMarkup(listBlocks, entityMap, hashtagConfig, customEntityTransform); // eslint-disable-line max-len\n\n html.push(listHtml);\n listBlocks = [];\n }\n\n var blockHtml = getBlockMarkup(block, entityMap, hashtagConfig, directional, customEntityTransform);\n html.push(blockHtml);\n }\n });\n\n if (listBlocks.length > 0) {\n var listHtml = getListMarkup(listBlocks, entityMap, hashtagConfig, directional, customEntityTransform); // eslint-disable-line max-len\n\n html.push(listHtml);\n listBlocks = [];\n }\n }\n }\n\n return html.join('');\n }\n\n return draftToHtml;\n\n})));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZHJhZnRqcy10by1odG1sL2xpYi9kcmFmdGpzLXRvLWh0bWwuanM/NmQwZiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBLEVBQUUsS0FBNEQ7QUFDOUQsRUFBRSxTQUMyRDtBQUM3RCxDQUFDLHFCQUFxQjs7QUFFdEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzREFBc0Q7QUFDdEQ7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLFlBQVksb0NBQW9DO0FBQ2hEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLDRCQUE0QixZQUFZO0FBQ3hDO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQSxXQUFXO0FBQ1g7QUFDQSxXQUFXO0FBQ1g7QUFDQSxXQUFXO0FBQ1g7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1AsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHlCQUF5Qjs7QUFFekI7QUFDQSx3QkFBd0I7O0FBRXhCO0FBQ0Esd0JBQXdCOztBQUV4QjtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSx3REFBd0Q7QUFDeEQ7O0FBRUE7QUFDQSxxRUFBcUU7QUFDckU7O0FBRUE7QUFDQSxpSEFBaUg7QUFDakg7O0FBRUE7QUFDQSxtRUFBbUU7QUFDbkU7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0EsOERBQThELGtJQUFrSTtBQUNoTTs7QUFFQSw0SUFBNEk7QUFDNUk7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSx5QkFBeUIsU0FBUztBQUNsQztBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBOztBQUVBLHFCQUFxQix5QkFBeUI7QUFDOUM7QUFDQSwwREFBMEQ7QUFDMUQsU0FBUztBQUNUO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBLDJDQUEyQyxRQUFRO0FBQ25EO0FBQ0Esd0VBQXdFO0FBQ3hFLFNBQVM7QUFDVDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQSx3R0FBd0c7QUFDeEc7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQSx3R0FBd0c7O0FBRXhHO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxTQUFTOztBQUVUO0FBQ0EsaUhBQWlIOztBQUVqSDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUEsQ0FBQyIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9kcmFmdGpzLXRvLWh0bWwvbGliL2RyYWZ0anMtdG8taHRtbC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIihmdW5jdGlvbiAoZ2xvYmFsLCBmYWN0b3J5KSB7XG4gIHR5cGVvZiBleHBvcnRzID09PSAnb2JqZWN0JyAmJiB0eXBlb2YgbW9kdWxlICE9PSAndW5kZWZpbmVkJyA/IG1vZHVsZS5leHBvcnRzID0gZmFjdG9yeSgpIDpcbiAgdHlwZW9mIGRlZmluZSA9PT0gJ2Z1bmN0aW9uJyAmJiBkZWZpbmUuYW1kID8gZGVmaW5lKGZhY3RvcnkpIDpcbiAgKGdsb2JhbCA9IGdsb2JhbCB8fCBzZWxmLCBnbG9iYWwuZHJhZnRqc1RvSHRtbCA9IGZhY3RvcnkoKSk7XG59KHRoaXMsIChmdW5jdGlvbiAoKSB7ICd1c2Ugc3RyaWN0JztcblxuICAvKipcbiAgKiBVdGlsaXR5IGZ1bmN0aW9uIHRvIGV4ZWN1dGUgY2FsbGJhY2sgZm9yIGVhY2sga2V5LT52YWx1ZSBwYWlyLlxuICAqL1xuICBmdW5jdGlvbiBmb3JFYWNoKG9iaiwgY2FsbGJhY2spIHtcbiAgICBpZiAob2JqKSB7XG4gICAgICBmb3IgKHZhciBrZXkgaW4gb2JqKSB7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tcmVzdHJpY3RlZC1zeW50YXhcbiAgICAgICAgaWYgKHt9Lmhhc093blByb3BlcnR5LmNhbGwob2JqLCBrZXkpKSB7XG4gICAgICAgICAgY2FsbGJhY2soa2V5LCBvYmpba2V5XSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLyoqXG4gICogVGhlIGZ1bmN0aW9uIHJldHVybnMgdHJ1ZSBpZiB0aGUgc3RyaW5nIHBhc3NlZCB0byBpdCBoYXMgbm8gY29udGVudC5cbiAgKi9cblxuICBmdW5jdGlvbiBpc0VtcHR5U3RyaW5nKHN0cikge1xuICAgIGlmIChzdHIgPT09IHVuZGVmaW5lZCB8fCBzdHIgPT09IG51bGwgfHwgc3RyLmxlbmd0aCA9PT0gMCB8fCBzdHIudHJpbSgpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICogTWFwcGluZyBibG9jay10eXBlIHRvIGNvcnJlc3BvbmRpbmcgaHRtbCB0YWcuXG4gICovXG5cbiAgdmFyIGJsb2NrVHlwZXNNYXBwaW5nID0ge1xuICAgIHVuc3R5bGVkOiAncCcsXG4gICAgJ2hlYWRlci1vbmUnOiAnaDEnLFxuICAgICdoZWFkZXItdHdvJzogJ2gyJyxcbiAgICAnaGVhZGVyLXRocmVlJzogJ2gzJyxcbiAgICAnaGVhZGVyLWZvdXInOiAnaDQnLFxuICAgICdoZWFkZXItZml2ZSc6ICdoNScsXG4gICAgJ2hlYWRlci1zaXgnOiAnaDYnLFxuICAgICd1bm9yZGVyZWQtbGlzdC1pdGVtJzogJ3VsJyxcbiAgICAnb3JkZXJlZC1saXN0LWl0ZW0nOiAnb2wnLFxuICAgIGJsb2NrcXVvdGU6ICdibG9ja3F1b3RlJyxcbiAgICBjb2RlOiAncHJlJ1xuICB9O1xuICAvKipcbiAgKiBGdW5jdGlvbiB3aWxsIHJldHVybiBIVE1MIHRhZyBmb3IgYSBibG9jay5cbiAgKi9cblxuICBmdW5jdGlvbiBnZXRCbG9ja1RhZyh0eXBlKSB7XG4gICAgcmV0dXJuIHR5cGUgJiYgYmxvY2tUeXBlc01hcHBpbmdbdHlwZV07XG4gIH1cbiAgLyoqXG4gICogRnVuY3Rpb24gd2lsbCByZXR1cm4gc3R5bGUgc3RyaW5nIGZvciBhIGJsb2NrLlxuICAqL1xuXG4gIGZ1bmN0aW9uIGdldEJsb2NrU3R5bGUoZGF0YSkge1xuICAgIHZhciBzdHlsZXMgPSAnJztcbiAgICBmb3JFYWNoKGRhdGEsIGZ1bmN0aW9uIChrZXksIHZhbHVlKSB7XG4gICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgc3R5bGVzICs9IFwiXCIuY29uY2F0KGtleSwgXCI6XCIpLmNvbmNhdCh2YWx1ZSwgXCI7XCIpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBzdHlsZXM7XG4gIH1cbiAgLyoqXG4gICogVGhlIGZ1bmN0aW9uIHJldHVybnMgYW4gYXJyYXkgb2YgaGFzaHRhZy1zZWN0aW9ucyBpbiBibG9ja3MuXG4gICogVGhlc2Ugd2lsbCBiZSBhcmVhcyBpbiBibG9jayB3aGljaCBoYXZlIGhhc2h0YWdzIGFwcGxpY2FibGUgdG8gdGhlbS5cbiAgKi9cblxuICBmdW5jdGlvbiBnZXRIYXNodGFnUmFuZ2VzKGJsb2NrVGV4dCwgaGFzaHRhZ0NvbmZpZykge1xuICAgIHZhciBzZWN0aW9ucyA9IFtdO1xuXG4gICAgaWYgKGhhc2h0YWdDb25maWcpIHtcbiAgICAgIHZhciBjb3VudGVyID0gMDtcbiAgICAgIHZhciBzdGFydEluZGV4ID0gMDtcbiAgICAgIHZhciB0ZXh0ID0gYmxvY2tUZXh0O1xuICAgICAgdmFyIHRyaWdnZXIgPSBoYXNodGFnQ29uZmlnLnRyaWdnZXIgfHwgJyMnO1xuICAgICAgdmFyIHNlcGFyYXRvciA9IGhhc2h0YWdDb25maWcuc2VwYXJhdG9yIHx8ICcgJztcblxuICAgICAgZm9yICg7IHRleHQubGVuZ3RoID4gMCAmJiBzdGFydEluZGV4ID49IDA7KSB7XG4gICAgICAgIGlmICh0ZXh0WzBdID09PSB0cmlnZ2VyKSB7XG4gICAgICAgICAgc3RhcnRJbmRleCA9IDA7XG4gICAgICAgICAgY291bnRlciA9IDA7XG4gICAgICAgICAgdGV4dCA9IHRleHQuc3Vic3RyKHRyaWdnZXIubGVuZ3RoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzdGFydEluZGV4ID0gdGV4dC5pbmRleE9mKHNlcGFyYXRvciArIHRyaWdnZXIpO1xuXG4gICAgICAgICAgaWYgKHN0YXJ0SW5kZXggPj0gMCkge1xuICAgICAgICAgICAgdGV4dCA9IHRleHQuc3Vic3RyKHN0YXJ0SW5kZXggKyAoc2VwYXJhdG9yICsgdHJpZ2dlcikubGVuZ3RoKTtcbiAgICAgICAgICAgIGNvdW50ZXIgKz0gc3RhcnRJbmRleCArIHNlcGFyYXRvci5sZW5ndGg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHN0YXJ0SW5kZXggPj0gMCkge1xuICAgICAgICAgIHZhciBlbmRJbmRleCA9IHRleHQuaW5kZXhPZihzZXBhcmF0b3IpID49IDAgPyB0ZXh0LmluZGV4T2Yoc2VwYXJhdG9yKSA6IHRleHQubGVuZ3RoO1xuICAgICAgICAgIHZhciBoYXNodGFnID0gdGV4dC5zdWJzdHIoMCwgZW5kSW5kZXgpO1xuXG4gICAgICAgICAgaWYgKGhhc2h0YWcgJiYgaGFzaHRhZy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBzZWN0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgb2Zmc2V0OiBjb3VudGVyLFxuICAgICAgICAgICAgICBsZW5ndGg6IGhhc2h0YWcubGVuZ3RoICsgdHJpZ2dlci5sZW5ndGgsXG4gICAgICAgICAgICAgIHR5cGU6ICdIQVNIVEFHJ1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY291bnRlciArPSB0cmlnZ2VyLmxlbmd0aDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBzZWN0aW9ucztcbiAgfVxuICAvKipcbiAgKiBUaGUgZnVuY3Rpb24gcmV0dXJucyBhbiBhcnJheSBvZiBlbnRpdHktc2VjdGlvbnMgaW4gYmxvY2tzLlxuICAqIFRoZXNlIHdpbGwgYmUgYXJlYXMgaW4gYmxvY2sgd2hpY2ggaGF2ZSBzYW1lIGVudGl0eSBvciBubyBlbnRpdHkgYXBwbGljYWJsZSB0byB0aGVtLlxuICAqL1xuXG5cbiAgZnVuY3Rpb24gZ2V0U2VjdGlvbnMoYmxvY2ssIGhhc2h0YWdDb25maWcpIHtcbiAgICB2YXIgc2VjdGlvbnMgPSBbXTtcbiAgICB2YXIgbGFzdE9mZnNldCA9IDA7XG4gICAgdmFyIHNlY3Rpb25SYW5nZXMgPSBibG9jay5lbnRpdHlSYW5nZXMubWFwKGZ1bmN0aW9uIChyYW5nZSkge1xuICAgICAgdmFyIG9mZnNldCA9IHJhbmdlLm9mZnNldCxcbiAgICAgICAgICBsZW5ndGggPSByYW5nZS5sZW5ndGgsXG4gICAgICAgICAga2V5ID0gcmFuZ2Uua2V5O1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgb2Zmc2V0OiBvZmZzZXQsXG4gICAgICAgIGxlbmd0aDogbGVuZ3RoLFxuICAgICAgICBrZXk6IGtleSxcbiAgICAgICAgdHlwZTogJ0VOVElUWSdcbiAgICAgIH07XG4gICAgfSk7XG4gICAgc2VjdGlvblJhbmdlcyA9IHNlY3Rpb25SYW5nZXMuY29uY2F0KGdldEhhc2h0YWdSYW5nZXMoYmxvY2sudGV4dCwgaGFzaHRhZ0NvbmZpZykpO1xuICAgIHNlY3Rpb25SYW5nZXMgPSBzZWN0aW9uUmFuZ2VzLnNvcnQoZnVuY3Rpb24gKHMxLCBzMikge1xuICAgICAgcmV0dXJuIHMxLm9mZnNldCAtIHMyLm9mZnNldDtcbiAgICB9KTtcbiAgICBzZWN0aW9uUmFuZ2VzLmZvckVhY2goZnVuY3Rpb24gKHIpIHtcbiAgICAgIGlmIChyLm9mZnNldCA+IGxhc3RPZmZzZXQpIHtcbiAgICAgICAgc2VjdGlvbnMucHVzaCh7XG4gICAgICAgICAgc3RhcnQ6IGxhc3RPZmZzZXQsXG4gICAgICAgICAgZW5kOiByLm9mZnNldFxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgc2VjdGlvbnMucHVzaCh7XG4gICAgICAgIHN0YXJ0OiByLm9mZnNldCxcbiAgICAgICAgZW5kOiByLm9mZnNldCArIHIubGVuZ3RoLFxuICAgICAgICBlbnRpdHlLZXk6IHIua2V5LFxuICAgICAgICB0eXBlOiByLnR5cGVcbiAgICAgIH0pO1xuICAgICAgbGFzdE9mZnNldCA9IHIub2Zmc2V0ICsgci5sZW5ndGg7XG4gICAgfSk7XG5cbiAgICBpZiAobGFzdE9mZnNldCA8IGJsb2NrLnRleHQubGVuZ3RoKSB7XG4gICAgICBzZWN0aW9ucy5wdXNoKHtcbiAgICAgICAgc3RhcnQ6IGxhc3RPZmZzZXQsXG4gICAgICAgIGVuZDogYmxvY2sudGV4dC5sZW5ndGhcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBzZWN0aW9ucztcbiAgfVxuICAvKipcbiAgKiBGdW5jdGlvbiB0byBjaGVjayBpZiB0aGUgYmxvY2sgaXMgYW4gYXRvbWljIGVudGl0eSBibG9jay5cbiAgKi9cblxuXG4gIGZ1bmN0aW9uIGlzQXRvbWljRW50aXR5QmxvY2soYmxvY2spIHtcbiAgICBpZiAoYmxvY2suZW50aXR5UmFuZ2VzLmxlbmd0aCA+IDAgJiYgKGlzRW1wdHlTdHJpbmcoYmxvY2sudGV4dCkgfHwgYmxvY2sudHlwZSA9PT0gJ2F0b21pYycpKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgLyoqXG4gICogVGhlIGZ1bmN0aW9uIHdpbGwgcmV0dXJuIGFycmF5IG9mIGlubGluZSBzdHlsZXMgYXBwbGljYWJsZSB0byB0aGUgYmxvY2suXG4gICovXG5cblxuICBmdW5jdGlvbiBnZXRTdHlsZUFycmF5Rm9yQmxvY2soYmxvY2spIHtcbiAgICB2YXIgdGV4dCA9IGJsb2NrLnRleHQsXG4gICAgICAgIGlubGluZVN0eWxlUmFuZ2VzID0gYmxvY2suaW5saW5lU3R5bGVSYW5nZXM7XG4gICAgdmFyIGlubGluZVN0eWxlcyA9IHtcbiAgICAgIEJPTEQ6IG5ldyBBcnJheSh0ZXh0Lmxlbmd0aCksXG4gICAgICBJVEFMSUM6IG5ldyBBcnJheSh0ZXh0Lmxlbmd0aCksXG4gICAgICBVTkRFUkxJTkU6IG5ldyBBcnJheSh0ZXh0Lmxlbmd0aCksXG4gICAgICBTVFJJS0VUSFJPVUdIOiBuZXcgQXJyYXkodGV4dC5sZW5ndGgpLFxuICAgICAgQ09ERTogbmV3IEFycmF5KHRleHQubGVuZ3RoKSxcbiAgICAgIFNVUEVSU0NSSVBUOiBuZXcgQXJyYXkodGV4dC5sZW5ndGgpLFxuICAgICAgU1VCU0NSSVBUOiBuZXcgQXJyYXkodGV4dC5sZW5ndGgpLFxuICAgICAgQ09MT1I6IG5ldyBBcnJheSh0ZXh0Lmxlbmd0aCksXG4gICAgICBCR0NPTE9SOiBuZXcgQXJyYXkodGV4dC5sZW5ndGgpLFxuICAgICAgRk9OVFNJWkU6IG5ldyBBcnJheSh0ZXh0Lmxlbmd0aCksXG4gICAgICBGT05URkFNSUxZOiBuZXcgQXJyYXkodGV4dC5sZW5ndGgpLFxuICAgICAgbGVuZ3RoOiB0ZXh0Lmxlbmd0aFxuICAgIH07XG5cbiAgICBpZiAoaW5saW5lU3R5bGVSYW5nZXMgJiYgaW5saW5lU3R5bGVSYW5nZXMubGVuZ3RoID4gMCkge1xuICAgICAgaW5saW5lU3R5bGVSYW5nZXMuZm9yRWFjaChmdW5jdGlvbiAocmFuZ2UpIHtcbiAgICAgICAgdmFyIG9mZnNldCA9IHJhbmdlLm9mZnNldDtcbiAgICAgICAgdmFyIGxlbmd0aCA9IG9mZnNldCArIHJhbmdlLmxlbmd0aDtcblxuICAgICAgICBmb3IgKHZhciBpID0gb2Zmc2V0OyBpIDwgbGVuZ3RoOyBpICs9IDEpIHtcbiAgICAgICAgICBpZiAocmFuZ2Uuc3R5bGUuaW5kZXhPZignY29sb3ItJykgPT09IDApIHtcbiAgICAgICAgICAgIGlubGluZVN0eWxlcy5DT0xPUltpXSA9IHJhbmdlLnN0eWxlLnN1YnN0cmluZyg2KTtcbiAgICAgICAgICB9IGVsc2UgaWYgKHJhbmdlLnN0eWxlLmluZGV4T2YoJ2JnY29sb3ItJykgPT09IDApIHtcbiAgICAgICAgICAgIGlubGluZVN0eWxlcy5CR0NPTE9SW2ldID0gcmFuZ2Uuc3R5bGUuc3Vic3RyaW5nKDgpO1xuICAgICAgICAgIH0gZWxzZSBpZiAocmFuZ2Uuc3R5bGUuaW5kZXhPZignZm9udHNpemUtJykgPT09IDApIHtcbiAgICAgICAgICAgIGlubGluZVN0eWxlcy5GT05UU0laRVtpXSA9IHJhbmdlLnN0eWxlLnN1YnN0cmluZyg5KTtcbiAgICAgICAgICB9IGVsc2UgaWYgKHJhbmdlLnN0eWxlLmluZGV4T2YoJ2ZvbnRmYW1pbHktJykgPT09IDApIHtcbiAgICAgICAgICAgIGlubGluZVN0eWxlcy5GT05URkFNSUxZW2ldID0gcmFuZ2Uuc3R5bGUuc3Vic3RyaW5nKDExKTtcbiAgICAgICAgICB9IGVsc2UgaWYgKGlubGluZVN0eWxlc1tyYW5nZS5zdHlsZV0pIHtcbiAgICAgICAgICAgIGlubGluZVN0eWxlc1tyYW5nZS5zdHlsZV1baV0gPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGlubGluZVN0eWxlcztcbiAgfVxuICAvKipcbiAgKiBUaGUgZnVuY3Rpb24gd2lsbCByZXR1cm4gaW5saW5lIHN0eWxlIGFwcGxpY2FibGUgYXQgc29tZSBvZmZzZXQgd2l0aGluIGEgYmxvY2suXG4gICovXG5cblxuICBmdW5jdGlvbiBnZXRTdHlsZXNBdE9mZnNldChpbmxpbmVTdHlsZXMsIG9mZnNldCkge1xuICAgIHZhciBzdHlsZXMgPSB7fTtcblxuICAgIGlmIChpbmxpbmVTdHlsZXMuQ09MT1Jbb2Zmc2V0XSkge1xuICAgICAgc3R5bGVzLkNPTE9SID0gaW5saW5lU3R5bGVzLkNPTE9SW29mZnNldF07XG4gICAgfVxuXG4gICAgaWYgKGlubGluZVN0eWxlcy5CR0NPTE9SW29mZnNldF0pIHtcbiAgICAgIHN0eWxlcy5CR0NPTE9SID0gaW5saW5lU3R5bGVzLkJHQ09MT1Jbb2Zmc2V0XTtcbiAgICB9XG5cbiAgICBpZiAoaW5saW5lU3R5bGVzLkZPTlRTSVpFW29mZnNldF0pIHtcbiAgICAgIHN0eWxlcy5GT05UU0laRSA9IGlubGluZVN0eWxlcy5GT05UU0laRVtvZmZzZXRdO1xuICAgIH1cblxuICAgIGlmIChpbmxpbmVTdHlsZXMuRk9OVEZBTUlMWVtvZmZzZXRdKSB7XG4gICAgICBzdHlsZXMuRk9OVEZBTUlMWSA9IGlubGluZVN0eWxlcy5GT05URkFNSUxZW29mZnNldF07XG4gICAgfVxuXG4gICAgaWYgKGlubGluZVN0eWxlcy5VTkRFUkxJTkVbb2Zmc2V0XSkge1xuICAgICAgc3R5bGVzLlVOREVSTElORSA9IHRydWU7XG4gICAgfVxuXG4gICAgaWYgKGlubGluZVN0eWxlcy5JVEFMSUNbb2Zmc2V0XSkge1xuICAgICAgc3R5bGVzLklUQUxJQyA9IHRydWU7XG4gICAgfVxuXG4gICAgaWYgKGlubGluZVN0eWxlcy5CT0xEW29mZnNldF0pIHtcbiAgICAgIHN0eWxlcy5CT0xEID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAoaW5saW5lU3R5bGVzLlNUUklLRVRIUk9VR0hbb2Zmc2V0XSkge1xuICAgICAgc3R5bGVzLlNUUklLRVRIUk9VR0ggPSB0cnVlO1xuICAgIH1cblxuICAgIGlmIChpbmxpbmVTdHlsZXMuQ09ERVtvZmZzZXRdKSB7XG4gICAgICBzdHlsZXMuQ09ERSA9IHRydWU7XG4gICAgfVxuXG4gICAgaWYgKGlubGluZVN0eWxlcy5TVUJTQ1JJUFRbb2Zmc2V0XSkge1xuICAgICAgc3R5bGVzLlNVQlNDUklQVCA9IHRydWU7XG4gICAgfVxuXG4gICAgaWYgKGlubGluZVN0eWxlcy5TVVBFUlNDUklQVFtvZmZzZXRdKSB7XG4gICAgICBzdHlsZXMuU1VQRVJTQ1JJUFQgPSB0cnVlO1xuICAgIH1cblxuICAgIHJldHVybiBzdHlsZXM7XG4gIH1cbiAgLyoqXG4gICogRnVuY3Rpb24gcmV0dXJucyB0cnVlIGZvciBhIHNldCBvZiBzdHlsZXMgaWYgdGhlIHZhbHVlIG9mIHRoZXNlIHN0eWxlcyBhdCBhbiBvZmZzZXRcbiAgKiBhcmUgc2FtZSBhcyB0aGF0IG9uIHRoZSBwcmV2aW91cyBvZmZzZXQuXG4gICovXG5cbiAgZnVuY3Rpb24gc2FtZVN0eWxlQXNQcmV2aW91cyhpbmxpbmVTdHlsZXMsIHN0eWxlcywgaW5kZXgpIHtcbiAgICB2YXIgc2FtZVN0eWxlZCA9IHRydWU7XG5cbiAgICBpZiAoaW5kZXggPiAwICYmIGluZGV4IDwgaW5saW5lU3R5bGVzLmxlbmd0aCkge1xuICAgICAgc3R5bGVzLmZvckVhY2goZnVuY3Rpb24gKHN0eWxlKSB7XG4gICAgICAgIHNhbWVTdHlsZWQgPSBzYW1lU3R5bGVkICYmIGlubGluZVN0eWxlc1tzdHlsZV1baW5kZXhdID09PSBpbmxpbmVTdHlsZXNbc3R5bGVdW2luZGV4IC0gMV07XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgc2FtZVN0eWxlZCA9IGZhbHNlO1xuICAgIH1cblxuICAgIHJldHVybiBzYW1lU3R5bGVkO1xuICB9XG4gIC8qKlxuICAqIEZ1bmN0aW9uIHJldHVybnMgaHRtbCBmb3IgdGV4dCBkZXBlbmRpbmcgb24gaW5saW5lIHN0eWxlIHRhZ3MgYXBwbGljYWJsZSB0byBpdC5cbiAgKi9cblxuICBmdW5jdGlvbiBhZGRJbmxpbmVTdHlsZU1hcmt1cChzdHlsZSwgY29udGVudCkge1xuICAgIGlmIChzdHlsZSA9PT0gJ0JPTEQnKSB7XG4gICAgICByZXR1cm4gXCI8c3Ryb25nPlwiLmNvbmNhdChjb250ZW50LCBcIjwvc3Ryb25nPlwiKTtcbiAgICB9XG5cbiAgICBpZiAoc3R5bGUgPT09ICdJVEFMSUMnKSB7XG4gICAgICByZXR1cm4gXCI8ZW0+XCIuY29uY2F0KGNvbnRlbnQsIFwiPC9lbT5cIik7XG4gICAgfVxuXG4gICAgaWYgKHN0eWxlID09PSAnVU5ERVJMSU5FJykge1xuICAgICAgcmV0dXJuIFwiPGlucz5cIi5jb25jYXQoY29udGVudCwgXCI8L2lucz5cIik7XG4gICAgfVxuXG4gICAgaWYgKHN0eWxlID09PSAnU1RSSUtFVEhST1VHSCcpIHtcbiAgICAgIHJldHVybiBcIjxkZWw+XCIuY29uY2F0KGNvbnRlbnQsIFwiPC9kZWw+XCIpO1xuICAgIH1cblxuICAgIGlmIChzdHlsZSA9PT0gJ0NPREUnKSB7XG4gICAgICByZXR1cm4gXCI8Y29kZT5cIi5jb25jYXQoY29udGVudCwgXCI8L2NvZGU+XCIpO1xuICAgIH1cblxuICAgIGlmIChzdHlsZSA9PT0gJ1NVUEVSU0NSSVBUJykge1xuICAgICAgcmV0dXJuIFwiPHN1cD5cIi5jb25jYXQoY29udGVudCwgXCI8L3N1cD5cIik7XG4gICAgfVxuXG4gICAgaWYgKHN0eWxlID09PSAnU1VCU0NSSVBUJykge1xuICAgICAgcmV0dXJuIFwiPHN1Yj5cIi5jb25jYXQoY29udGVudCwgXCI8L3N1Yj5cIik7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvbnRlbnQ7XG4gIH1cbiAgLyoqXG4gICogVGhlIGZ1bmN0aW9uIHJldHVybnMgdGV4dCBmb3IgZ2l2ZW4gc2VjdGlvbiBvZiBibG9jayBhZnRlciBkb2luZyByZXF1aXJlZCBjaGFyYWN0ZXIgcmVwbGFjZW1lbnRzLlxuICAqL1xuXG4gIGZ1bmN0aW9uIGdldFNlY3Rpb25UZXh0KHRleHQpIHtcbiAgICBpZiAodGV4dCAmJiB0ZXh0Lmxlbmd0aCA+IDApIHtcbiAgICAgIHZhciBjaGFycyA9IHRleHQubWFwKGZ1bmN0aW9uIChjaCkge1xuICAgICAgICBzd2l0Y2ggKGNoKSB7XG4gICAgICAgICAgY2FzZSAnXFxuJzpcbiAgICAgICAgICAgIHJldHVybiAnPGJyPic7XG5cbiAgICAgICAgICBjYXNlICcmJzpcbiAgICAgICAgICAgIHJldHVybiAnJmFtcDsnO1xuXG4gICAgICAgICAgY2FzZSAnPCc6XG4gICAgICAgICAgICByZXR1cm4gJyZsdDsnO1xuXG4gICAgICAgICAgY2FzZSAnPic6XG4gICAgICAgICAgICByZXR1cm4gJyZndDsnO1xuXG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJldHVybiBjaDtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICByZXR1cm4gY2hhcnMuam9pbignJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuICcnO1xuICB9XG4gIC8qKlxuICAqIEZ1bmN0aW9uIHJldHVybnMgaHRtbCBmb3IgdGV4dCBkZXBlbmRpbmcgb24gaW5saW5lIHN0eWxlIHRhZ3MgYXBwbGljYWJsZSB0byBpdC5cbiAgKi9cblxuXG4gIGZ1bmN0aW9uIGFkZFN0eWxlUHJvcGVydHlNYXJrdXAoc3R5bGVzLCB0ZXh0KSB7XG4gICAgaWYgKHN0eWxlcyAmJiAoc3R5bGVzLkNPTE9SIHx8IHN0eWxlcy5CR0NPTE9SIHx8IHN0eWxlcy5GT05UU0laRSB8fCBzdHlsZXMuRk9OVEZBTUlMWSkpIHtcbiAgICAgIHZhciBzdHlsZVN0cmluZyA9ICdzdHlsZT1cIic7XG5cbiAgICAgIGlmIChzdHlsZXMuQ09MT1IpIHtcbiAgICAgICAgc3R5bGVTdHJpbmcgKz0gXCJjb2xvcjogXCIuY29uY2F0KHN0eWxlcy5DT0xPUiwgXCI7XCIpO1xuICAgICAgfVxuXG4gICAgICBpZiAoc3R5bGVzLkJHQ09MT1IpIHtcbiAgICAgICAgc3R5bGVTdHJpbmcgKz0gXCJiYWNrZ3JvdW5kLWNvbG9yOiBcIi5jb25jYXQoc3R5bGVzLkJHQ09MT1IsIFwiO1wiKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHN0eWxlcy5GT05UU0laRSkge1xuICAgICAgICBzdHlsZVN0cmluZyArPSBcImZvbnQtc2l6ZTogXCIuY29uY2F0KHN0eWxlcy5GT05UU0laRSkuY29uY2F0KC9eXFxkKyQvLnRlc3Qoc3R5bGVzLkZPTlRTSVpFKSA/ICdweCcgOiAnJywgXCI7XCIpO1xuICAgICAgfVxuXG4gICAgICBpZiAoc3R5bGVzLkZPTlRGQU1JTFkpIHtcbiAgICAgICAgc3R5bGVTdHJpbmcgKz0gXCJmb250LWZhbWlseTogXCIuY29uY2F0KHN0eWxlcy5GT05URkFNSUxZLCBcIjtcIik7XG4gICAgICB9XG5cbiAgICAgIHN0eWxlU3RyaW5nICs9ICdcIic7XG4gICAgICByZXR1cm4gXCI8c3BhbiBcIi5jb25jYXQoc3R5bGVTdHJpbmcsIFwiPlwiKS5jb25jYXQodGV4dCwgXCI8L3NwYW4+XCIpO1xuICAgIH1cblxuICAgIHJldHVybiB0ZXh0O1xuICB9XG4gIC8qKlxuICAqIEZ1bmN0aW9uIHdpbGwgcmV0dXJuIG1hcmt1cCBmb3IgRW50aXR5LlxuICAqL1xuXG4gIGZ1bmN0aW9uIGdldEVudGl0eU1hcmt1cChlbnRpdHlNYXAsIGVudGl0eUtleSwgdGV4dCwgY3VzdG9tRW50aXR5VHJhbnNmb3JtKSB7XG4gICAgdmFyIGVudGl0eSA9IGVudGl0eU1hcFtlbnRpdHlLZXldO1xuXG4gICAgaWYgKHR5cGVvZiBjdXN0b21FbnRpdHlUcmFuc2Zvcm0gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHZhciBodG1sID0gY3VzdG9tRW50aXR5VHJhbnNmb3JtKGVudGl0eSwgdGV4dCk7XG5cbiAgICAgIGlmIChodG1sKSB7XG4gICAgICAgIHJldHVybiBodG1sO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChlbnRpdHkudHlwZSA9PT0gJ01FTlRJT04nKSB7XG4gICAgICByZXR1cm4gXCI8YSBocmVmPVxcXCJcIi5jb25jYXQoZW50aXR5LmRhdGEudXJsLCBcIlxcXCIgY2xhc3M9XFxcInd5c2l3eWctbWVudGlvblxcXCIgZGF0YS1tZW50aW9uIGRhdGEtdmFsdWU9XFxcIlwiKS5jb25jYXQoZW50aXR5LmRhdGEudmFsdWUsIFwiXFxcIj5cIikuY29uY2F0KHRleHQsIFwiPC9hPlwiKTtcbiAgICB9XG5cbiAgICBpZiAoZW50aXR5LnR5cGUgPT09ICdMSU5LJykge1xuICAgICAgdmFyIHRhcmdldE9wdGlvbiA9IGVudGl0eS5kYXRhLnRhcmdldE9wdGlvbiB8fCAnX3NlbGYnO1xuICAgICAgcmV0dXJuIFwiPGEgaHJlZj1cXFwiXCIuY29uY2F0KGVudGl0eS5kYXRhLnVybCwgXCJcXFwiIHRhcmdldD1cXFwiXCIpLmNvbmNhdCh0YXJnZXRPcHRpb24sIFwiXFxcIj5cIikuY29uY2F0KHRleHQsIFwiPC9hPlwiKTtcbiAgICB9XG5cbiAgICBpZiAoZW50aXR5LnR5cGUgPT09ICdJTUFHRScpIHtcbiAgICAgIHZhciBhbGlnbm1lbnQgPSBlbnRpdHkuZGF0YS5hbGlnbm1lbnQ7XG5cbiAgICAgIGlmIChhbGlnbm1lbnQgJiYgYWxpZ25tZW50Lmxlbmd0aCkge1xuICAgICAgICByZXR1cm4gXCI8ZGl2IHN0eWxlPVxcXCJ0ZXh0LWFsaWduOlwiLmNvbmNhdChhbGlnbm1lbnQsIFwiO1xcXCI+PGltZyBzcmM9XFxcIlwiKS5jb25jYXQoZW50aXR5LmRhdGEuc3JjLCBcIlxcXCIgYWx0PVxcXCJcIikuY29uY2F0KGVudGl0eS5kYXRhLmFsdCwgXCJcXFwiIHN0eWxlPVxcXCJoZWlnaHQ6IFwiKS5jb25jYXQoZW50aXR5LmRhdGEuaGVpZ2h0LCBcIjt3aWR0aDogXCIpLmNvbmNhdChlbnRpdHkuZGF0YS53aWR0aCwgXCJcXFwiLz48L2Rpdj5cIik7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBcIjxpbWcgc3JjPVxcXCJcIi5jb25jYXQoZW50aXR5LmRhdGEuc3JjLCBcIlxcXCIgYWx0PVxcXCJcIikuY29uY2F0KGVudGl0eS5kYXRhLmFsdCwgXCJcXFwiIHN0eWxlPVxcXCJoZWlnaHQ6IFwiKS5jb25jYXQoZW50aXR5LmRhdGEuaGVpZ2h0LCBcIjt3aWR0aDogXCIpLmNvbmNhdChlbnRpdHkuZGF0YS53aWR0aCwgXCJcXFwiLz5cIik7XG4gICAgfVxuXG4gICAgaWYgKGVudGl0eS50eXBlID09PSAnRU1CRURERURfTElOSycpIHtcbiAgICAgIHJldHVybiBcIjxpZnJhbWUgd2lkdGg9XFxcIlwiLmNvbmNhdChlbnRpdHkuZGF0YS53aWR0aCwgXCJcXFwiIGhlaWdodD1cXFwiXCIpLmNvbmNhdChlbnRpdHkuZGF0YS5oZWlnaHQsIFwiXFxcIiBzcmM9XFxcIlwiKS5jb25jYXQoZW50aXR5LmRhdGEuc3JjLCBcIlxcXCIgZnJhbWVCb3JkZXI9XFxcIjBcXFwiPjwvaWZyYW1lPlwiKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGV4dDtcbiAgfVxuICAvKipcbiAgKiBGb3IgYSBnaXZlbiBzZWN0aW9uIGluIGEgYmxvY2sgdGhlIGZ1bmN0aW9uIHdpbGwgcmV0dXJuIGEgZnVydGhlciBsaXN0IG9mIHNlY3Rpb25zLFxuICAqIHdpdGggc2ltaWxhciBpbmxpbmUgc3R5bGVzIGFwcGxpY2FibGUgdG8gdGhlbS5cbiAgKi9cblxuXG4gIGZ1bmN0aW9uIGdldElubGluZVN0eWxlU2VjdGlvbnMoYmxvY2ssIHN0eWxlcywgc3RhcnQsIGVuZCkge1xuICAgIHZhciBzdHlsZVNlY3Rpb25zID0gW107XG4gICAgdmFyIHRleHQgPSBBcnJheS5mcm9tKGJsb2NrLnRleHQpO1xuXG4gICAgaWYgKHRleHQubGVuZ3RoID4gMCkge1xuICAgICAgdmFyIGlubGluZVN0eWxlcyA9IGdldFN0eWxlQXJyYXlGb3JCbG9jayhibG9jayk7XG4gICAgICB2YXIgc2VjdGlvbjtcblxuICAgICAgZm9yICh2YXIgaSA9IHN0YXJ0OyBpIDwgZW5kOyBpICs9IDEpIHtcbiAgICAgICAgaWYgKGkgIT09IHN0YXJ0ICYmIHNhbWVTdHlsZUFzUHJldmlvdXMoaW5saW5lU3R5bGVzLCBzdHlsZXMsIGkpKSB7XG4gICAgICAgICAgc2VjdGlvbi50ZXh0LnB1c2godGV4dFtpXSk7XG4gICAgICAgICAgc2VjdGlvbi5lbmQgPSBpICsgMTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzZWN0aW9uID0ge1xuICAgICAgICAgICAgc3R5bGVzOiBnZXRTdHlsZXNBdE9mZnNldChpbmxpbmVTdHlsZXMsIGkpLFxuICAgICAgICAgICAgdGV4dDogW3RleHRbaV1dLFxuICAgICAgICAgICAgc3RhcnQ6IGksXG4gICAgICAgICAgICBlbmQ6IGkgKyAxXG4gICAgICAgICAgfTtcbiAgICAgICAgICBzdHlsZVNlY3Rpb25zLnB1c2goc2VjdGlvbik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gc3R5bGVTZWN0aW9ucztcbiAgfVxuICAvKipcbiAgKiBSZXBsYWNlIGxlYWRpbmcgYmxhbmsgc3BhY2VzIGJ5ICZuYnNwO1xuICAqL1xuXG5cbiAgZnVuY3Rpb24gdHJpbUxlYWRpbmdaZXJvcyhzZWN0aW9uVGV4dCkge1xuICAgIGlmIChzZWN0aW9uVGV4dCkge1xuICAgICAgdmFyIHJlcGxhY2VkVGV4dCA9IHNlY3Rpb25UZXh0O1xuXG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJlcGxhY2VkVGV4dC5sZW5ndGg7IGkgKz0gMSkge1xuICAgICAgICBpZiAoc2VjdGlvblRleHRbaV0gPT09ICcgJykge1xuICAgICAgICAgIHJlcGxhY2VkVGV4dCA9IHJlcGxhY2VkVGV4dC5yZXBsYWNlKCcgJywgJyZuYnNwOycpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByZXBsYWNlZFRleHQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIHNlY3Rpb25UZXh0O1xuICB9XG4gIC8qKlxuICAqIFJlcGxhY2UgdHJhaWxpbmcgYmxhbmsgc3BhY2VzIGJ5ICZuYnNwO1xuICAqL1xuXG4gIGZ1bmN0aW9uIHRyaW1UcmFpbGluZ1plcm9zKHNlY3Rpb25UZXh0KSB7XG4gICAgaWYgKHNlY3Rpb25UZXh0KSB7XG4gICAgICB2YXIgcmVwbGFjZWRUZXh0ID0gc2VjdGlvblRleHQ7XG5cbiAgICAgIGZvciAodmFyIGkgPSByZXBsYWNlZFRleHQubGVuZ3RoIC0gMTsgaSA+PSAwOyBpIC09IDEpIHtcbiAgICAgICAgaWYgKHJlcGxhY2VkVGV4dFtpXSA9PT0gJyAnKSB7XG4gICAgICAgICAgcmVwbGFjZWRUZXh0ID0gXCJcIi5jb25jYXQocmVwbGFjZWRUZXh0LnN1YnN0cmluZygwLCBpKSwgXCImbmJzcDtcIikuY29uY2F0KHJlcGxhY2VkVGV4dC5zdWJzdHJpbmcoaSArIDEpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmVwbGFjZWRUZXh0O1xuICAgIH1cblxuICAgIHJldHVybiBzZWN0aW9uVGV4dDtcbiAgfVxuICAvKipcbiAgKiBUaGUgbWV0aG9kIHJldHVybnMgbWFya3VwIGZvciBzZWN0aW9uIHRvIHdoaWNoIGlubGluZSBzdHlsZXNcbiAgKiBsaWtlIEJPTEQsIElUQUxJQywgVU5ERVJMSU5FLCBTVFJJS0VUSFJPVUdILCBDT0RFLCBTVVBFUlNDUklQVCwgU1VCU0NSSVBUIGFyZSBhcHBsaWNhYmxlLlxuICAqL1xuXG4gIGZ1bmN0aW9uIGdldFN0eWxlVGFnU2VjdGlvbk1hcmt1cChzdHlsZVNlY3Rpb24pIHtcbiAgICB2YXIgc3R5bGVzID0gc3R5bGVTZWN0aW9uLnN0eWxlcyxcbiAgICAgICAgdGV4dCA9IHN0eWxlU2VjdGlvbi50ZXh0O1xuICAgIHZhciBjb250ZW50ID0gZ2V0U2VjdGlvblRleHQodGV4dCk7XG4gICAgZm9yRWFjaChzdHlsZXMsIGZ1bmN0aW9uIChzdHlsZSwgdmFsdWUpIHtcbiAgICAgIGNvbnRlbnQgPSBhZGRJbmxpbmVTdHlsZU1hcmt1cChzdHlsZSwgY29udGVudCk7XG4gICAgfSk7XG4gICAgcmV0dXJuIGNvbnRlbnQ7XG4gIH1cbiAgLyoqXG4gICogVGhlIG1ldGhvZCByZXR1cm5zIG1hcmt1cCBmb3Igc2VjdGlvbiB0byB3aGljaCBpbmxpbmUgc3R5bGVzXG4gIGxpa2UgY29sb3IsIGJhY2tncm91bmQtY29sb3IsIGZvbnQtc2l6ZSBhcmUgYXBwbGljYWJsZS5cbiAgKi9cblxuXG4gIGZ1bmN0aW9uIGdldElubGluZVN0eWxlU2VjdGlvbk1hcmt1cChibG9jaywgc3R5bGVTZWN0aW9uKSB7XG4gICAgdmFyIHN0eWxlVGFnU2VjdGlvbnMgPSBnZXRJbmxpbmVTdHlsZVNlY3Rpb25zKGJsb2NrLCBbJ0JPTEQnLCAnSVRBTElDJywgJ1VOREVSTElORScsICdTVFJJS0VUSFJPVUdIJywgJ0NPREUnLCAnU1VQRVJTQ1JJUFQnLCAnU1VCU0NSSVBUJ10sIHN0eWxlU2VjdGlvbi5zdGFydCwgc3R5bGVTZWN0aW9uLmVuZCk7XG4gICAgdmFyIHN0eWxlU2VjdGlvblRleHQgPSAnJztcbiAgICBzdHlsZVRhZ1NlY3Rpb25zLmZvckVhY2goZnVuY3Rpb24gKHN0eWxlUHJvcGVydHlTZWN0aW9uKSB7XG4gICAgICBzdHlsZVNlY3Rpb25UZXh0ICs9IGdldFN0eWxlVGFnU2VjdGlvbk1hcmt1cChzdHlsZVByb3BlcnR5U2VjdGlvbik7XG4gICAgfSk7XG4gICAgc3R5bGVTZWN0aW9uVGV4dCA9IGFkZFN0eWxlUHJvcGVydHlNYXJrdXAoc3R5bGVTZWN0aW9uLnN0eWxlcywgc3R5bGVTZWN0aW9uVGV4dCk7XG4gICAgcmV0dXJuIHN0eWxlU2VjdGlvblRleHQ7XG4gIH1cbiAgLypcbiAgKiBUaGUgbWV0aG9kIHJldHVybnMgbWFya3VwIGZvciBhbiBlbnRpdHkgc2VjdGlvbi5cbiAgKiBBbiBlbnRpdHkgc2VjdGlvbiBpcyBhIGNvbnRpbnVvdXMgc2VjdGlvbiBpbiBhIGJsb2NrXG4gICogdG8gd2hpY2ggc2FtZSBlbnRpdHkgb3Igbm8gZW50aXR5IGlzIGFwcGxpY2FibGUuXG4gICovXG5cblxuICBmdW5jdGlvbiBnZXRTZWN0aW9uTWFya3VwKGJsb2NrLCBlbnRpdHlNYXAsIHNlY3Rpb24sIGN1c3RvbUVudGl0eVRyYW5zZm9ybSkge1xuICAgIHZhciBlbnRpdHlJbmxpbmVNYXJrdXAgPSBbXTtcbiAgICB2YXIgaW5saW5lU3R5bGVTZWN0aW9ucyA9IGdldElubGluZVN0eWxlU2VjdGlvbnMoYmxvY2ssIFsnQ09MT1InLCAnQkdDT0xPUicsICdGT05UU0laRScsICdGT05URkFNSUxZJ10sIHNlY3Rpb24uc3RhcnQsIHNlY3Rpb24uZW5kKTtcbiAgICBpbmxpbmVTdHlsZVNlY3Rpb25zLmZvckVhY2goZnVuY3Rpb24gKHN0eWxlU2VjdGlvbikge1xuICAgICAgZW50aXR5SW5saW5lTWFya3VwLnB1c2goZ2V0SW5saW5lU3R5bGVTZWN0aW9uTWFya3VwKGJsb2NrLCBzdHlsZVNlY3Rpb24pKTtcbiAgICB9KTtcbiAgICB2YXIgc2VjdGlvblRleHQgPSBlbnRpdHlJbmxpbmVNYXJrdXAuam9pbignJyk7XG5cbiAgICBpZiAoc2VjdGlvbi50eXBlID09PSAnRU5USVRZJykge1xuICAgICAgaWYgKHNlY3Rpb24uZW50aXR5S2V5ICE9PSB1bmRlZmluZWQgJiYgc2VjdGlvbi5lbnRpdHlLZXkgIT09IG51bGwpIHtcbiAgICAgICAgc2VjdGlvblRleHQgPSBnZXRFbnRpdHlNYXJrdXAoZW50aXR5TWFwLCBzZWN0aW9uLmVudGl0eUtleSwgc2VjdGlvblRleHQsIGN1c3RvbUVudGl0eVRyYW5zZm9ybSk7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbWF4LWxlblxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoc2VjdGlvbi50eXBlID09PSAnSEFTSFRBRycpIHtcbiAgICAgIHNlY3Rpb25UZXh0ID0gXCI8YSBocmVmPVxcXCJcIi5jb25jYXQoc2VjdGlvblRleHQsIFwiXFxcIiBjbGFzcz1cXFwid3lzaXd5Zy1oYXNodGFnXFxcIj5cIikuY29uY2F0KHNlY3Rpb25UZXh0LCBcIjwvYT5cIik7XG4gICAgfVxuXG4gICAgcmV0dXJuIHNlY3Rpb25UZXh0O1xuICB9XG4gIC8qKlxuICAqIEZ1bmN0aW9uIHdpbGwgcmV0dXJuIHRoZSBtYXJrdXAgZm9yIGJsb2NrIHByZXNlcnZpbmcgdGhlIGlubGluZSBzdHlsZXMgYW5kXG4gICogc3BlY2lhbCBjaGFyYWN0ZXJzIGxpa2UgbmV3bGluZXMgb3IgYmxhbmsgc3BhY2VzLlxuICAqL1xuXG5cbiAgZnVuY3Rpb24gZ2V0QmxvY2tJbm5lck1hcmt1cChibG9jaywgZW50aXR5TWFwLCBoYXNodGFnQ29uZmlnLCBjdXN0b21FbnRpdHlUcmFuc2Zvcm0pIHtcbiAgICB2YXIgYmxvY2tNYXJrdXAgPSBbXTtcbiAgICB2YXIgc2VjdGlvbnMgPSBnZXRTZWN0aW9ucyhibG9jaywgaGFzaHRhZ0NvbmZpZyk7XG4gICAgc2VjdGlvbnMuZm9yRWFjaChmdW5jdGlvbiAoc2VjdGlvbiwgaW5kZXgpIHtcbiAgICAgIHZhciBzZWN0aW9uVGV4dCA9IGdldFNlY3Rpb25NYXJrdXAoYmxvY2ssIGVudGl0eU1hcCwgc2VjdGlvbiwgY3VzdG9tRW50aXR5VHJhbnNmb3JtKTtcblxuICAgICAgaWYgKGluZGV4ID09PSAwKSB7XG4gICAgICAgIHNlY3Rpb25UZXh0ID0gdHJpbUxlYWRpbmdaZXJvcyhzZWN0aW9uVGV4dCk7XG4gICAgICB9XG5cbiAgICAgIGlmIChpbmRleCA9PT0gc2VjdGlvbnMubGVuZ3RoIC0gMSkge1xuICAgICAgICBzZWN0aW9uVGV4dCA9IHRyaW1UcmFpbGluZ1plcm9zKHNlY3Rpb25UZXh0KTtcbiAgICAgIH1cblxuICAgICAgYmxvY2tNYXJrdXAucHVzaChzZWN0aW9uVGV4dCk7XG4gICAgfSk7XG4gICAgcmV0dXJuIGJsb2NrTWFya3VwLmpvaW4oJycpO1xuICB9XG4gIC8qKlxuICAqIEZ1bmN0aW9uIHdpbGwgcmV0dXJuIGh0bWwgZm9yIHRoZSBibG9jay5cbiAgKi9cblxuICBmdW5jdGlvbiBnZXRCbG9ja01hcmt1cChibG9jaywgZW50aXR5TWFwLCBoYXNodGFnQ29uZmlnLCBkaXJlY3Rpb25hbCwgY3VzdG9tRW50aXR5VHJhbnNmb3JtKSB7XG4gICAgdmFyIGJsb2NrSHRtbCA9IFtdO1xuXG4gICAgaWYgKGlzQXRvbWljRW50aXR5QmxvY2soYmxvY2spKSB7XG4gICAgICBibG9ja0h0bWwucHVzaChnZXRFbnRpdHlNYXJrdXAoZW50aXR5TWFwLCBibG9jay5lbnRpdHlSYW5nZXNbMF0ua2V5LCB1bmRlZmluZWQsIGN1c3RvbUVudGl0eVRyYW5zZm9ybSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICB2YXIgYmxvY2tUYWcgPSBnZXRCbG9ja1RhZyhibG9jay50eXBlKTtcblxuICAgICAgaWYgKGJsb2NrVGFnKSB7XG4gICAgICAgIGJsb2NrSHRtbC5wdXNoKFwiPFwiLmNvbmNhdChibG9ja1RhZykpO1xuICAgICAgICB2YXIgYmxvY2tTdHlsZSA9IGdldEJsb2NrU3R5bGUoYmxvY2suZGF0YSk7XG5cbiAgICAgICAgaWYgKGJsb2NrU3R5bGUpIHtcbiAgICAgICAgICBibG9ja0h0bWwucHVzaChcIiBzdHlsZT1cXFwiXCIuY29uY2F0KGJsb2NrU3R5bGUsIFwiXFxcIlwiKSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZGlyZWN0aW9uYWwpIHtcbiAgICAgICAgICBibG9ja0h0bWwucHVzaCgnIGRpciA9IFwiYXV0b1wiJyk7XG4gICAgICAgIH1cblxuICAgICAgICBibG9ja0h0bWwucHVzaCgnPicpO1xuICAgICAgICBibG9ja0h0bWwucHVzaChnZXRCbG9ja0lubmVyTWFya3VwKGJsb2NrLCBlbnRpdHlNYXAsIGhhc2h0YWdDb25maWcsIGN1c3RvbUVudGl0eVRyYW5zZm9ybSkpO1xuICAgICAgICBibG9ja0h0bWwucHVzaChcIjwvXCIuY29uY2F0KGJsb2NrVGFnLCBcIj5cIikpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGJsb2NrSHRtbC5wdXNoKCdcXG4nKTtcbiAgICByZXR1cm4gYmxvY2tIdG1sLmpvaW4oJycpO1xuICB9XG5cbiAgLyoqXG4gICogRnVuY3Rpb24gdG8gY2hlY2sgaWYgYSBibG9jayBpcyBvZiB0eXBlIGxpc3QuXG4gICovXG5cbiAgZnVuY3Rpb24gaXNMaXN0KGJsb2NrVHlwZSkge1xuICAgIHJldHVybiBibG9ja1R5cGUgPT09ICd1bm9yZGVyZWQtbGlzdC1pdGVtJyB8fCBibG9ja1R5cGUgPT09ICdvcmRlcmVkLWxpc3QtaXRlbSc7XG4gIH1cbiAgLyoqXG4gICogRnVuY3Rpb24gd2lsbCByZXR1cm4gaHRtbCBtYXJrdXAgZm9yIGEgbGlzdCBibG9jay5cbiAgKi9cblxuICBmdW5jdGlvbiBnZXRMaXN0TWFya3VwKGxpc3RCbG9ja3MsIGVudGl0eU1hcCwgaGFzaHRhZ0NvbmZpZywgZGlyZWN0aW9uYWwsIGN1c3RvbUVudGl0eVRyYW5zZm9ybSkge1xuICAgIHZhciBsaXN0SHRtbCA9IFtdO1xuICAgIHZhciBuZXN0ZWRMaXN0QmxvY2sgPSBbXTtcbiAgICB2YXIgcHJldmlvdXNCbG9jaztcbiAgICBsaXN0QmxvY2tzLmZvckVhY2goZnVuY3Rpb24gKGJsb2NrKSB7XG4gICAgICB2YXIgbmVzdGVkQmxvY2sgPSBmYWxzZTtcblxuICAgICAgaWYgKCFwcmV2aW91c0Jsb2NrKSB7XG4gICAgICAgIGxpc3RIdG1sLnB1c2goXCI8XCIuY29uY2F0KGdldEJsb2NrVGFnKGJsb2NrLnR5cGUpLCBcIj5cXG5cIikpO1xuICAgICAgfSBlbHNlIGlmIChwcmV2aW91c0Jsb2NrLnR5cGUgIT09IGJsb2NrLnR5cGUpIHtcbiAgICAgICAgbGlzdEh0bWwucHVzaChcIjwvXCIuY29uY2F0KGdldEJsb2NrVGFnKHByZXZpb3VzQmxvY2sudHlwZSksIFwiPlxcblwiKSk7XG4gICAgICAgIGxpc3RIdG1sLnB1c2goXCI8XCIuY29uY2F0KGdldEJsb2NrVGFnKGJsb2NrLnR5cGUpLCBcIj5cXG5cIikpO1xuICAgICAgfSBlbHNlIGlmIChwcmV2aW91c0Jsb2NrLmRlcHRoID09PSBibG9jay5kZXB0aCkge1xuICAgICAgICBpZiAobmVzdGVkTGlzdEJsb2NrICYmIG5lc3RlZExpc3RCbG9jay5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgbGlzdEh0bWwucHVzaChnZXRMaXN0TWFya3VwKG5lc3RlZExpc3RCbG9jaywgZW50aXR5TWFwLCBoYXNodGFnQ29uZmlnLCBkaXJlY3Rpb25hbCwgY3VzdG9tRW50aXR5VHJhbnNmb3JtKSk7XG4gICAgICAgICAgbmVzdGVkTGlzdEJsb2NrID0gW107XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5lc3RlZEJsb2NrID0gdHJ1ZTtcbiAgICAgICAgbmVzdGVkTGlzdEJsb2NrLnB1c2goYmxvY2spO1xuICAgICAgfVxuXG4gICAgICBpZiAoIW5lc3RlZEJsb2NrKSB7XG4gICAgICAgIGxpc3RIdG1sLnB1c2goJzxsaScpO1xuICAgICAgICB2YXIgYmxvY2tTdHlsZSA9IGdldEJsb2NrU3R5bGUoYmxvY2suZGF0YSk7XG5cbiAgICAgICAgaWYgKGJsb2NrU3R5bGUpIHtcbiAgICAgICAgICBsaXN0SHRtbC5wdXNoKFwiIHN0eWxlPVxcXCJcIi5jb25jYXQoYmxvY2tTdHlsZSwgXCJcXFwiXCIpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChkaXJlY3Rpb25hbCkge1xuICAgICAgICAgIGxpc3RIdG1sLnB1c2goJyBkaXIgPSBcImF1dG9cIicpO1xuICAgICAgICB9XG5cbiAgICAgICAgbGlzdEh0bWwucHVzaCgnPicpO1xuICAgICAgICBsaXN0SHRtbC5wdXNoKGdldEJsb2NrSW5uZXJNYXJrdXAoYmxvY2ssIGVudGl0eU1hcCwgaGFzaHRhZ0NvbmZpZywgY3VzdG9tRW50aXR5VHJhbnNmb3JtKSk7XG4gICAgICAgIGxpc3RIdG1sLnB1c2goJzwvbGk+XFxuJyk7XG4gICAgICAgIHByZXZpb3VzQmxvY2sgPSBibG9jaztcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmIChuZXN0ZWRMaXN0QmxvY2sgJiYgbmVzdGVkTGlzdEJsb2NrLmxlbmd0aCA+IDApIHtcbiAgICAgIGxpc3RIdG1sLnB1c2goZ2V0TGlzdE1hcmt1cChuZXN0ZWRMaXN0QmxvY2ssIGVudGl0eU1hcCwgaGFzaHRhZ0NvbmZpZywgZGlyZWN0aW9uYWwsIGN1c3RvbUVudGl0eVRyYW5zZm9ybSkpO1xuICAgIH1cblxuICAgIGxpc3RIdG1sLnB1c2goXCI8L1wiLmNvbmNhdChnZXRCbG9ja1RhZyhwcmV2aW91c0Jsb2NrLnR5cGUpLCBcIj5cXG5cIikpO1xuICAgIHJldHVybiBsaXN0SHRtbC5qb2luKCcnKTtcbiAgfVxuXG4gIC8qKlxuICAqIFRoZSBmdW5jdGlvbiB3aWxsIGdlbmVyYXRlIGh0bWwgbWFya3VwIGZvciBnaXZlbiBkcmFmdGpzIGVkaXRvckNvbnRlbnQuXG4gICovXG5cbiAgZnVuY3Rpb24gZHJhZnRUb0h0bWwoZWRpdG9yQ29udGVudCwgaGFzaHRhZ0NvbmZpZywgZGlyZWN0aW9uYWwsIGN1c3RvbUVudGl0eVRyYW5zZm9ybSkge1xuICAgIHZhciBodG1sID0gW107XG5cbiAgICBpZiAoZWRpdG9yQ29udGVudCkge1xuICAgICAgdmFyIGJsb2NrcyA9IGVkaXRvckNvbnRlbnQuYmxvY2tzLFxuICAgICAgICAgIGVudGl0eU1hcCA9IGVkaXRvckNvbnRlbnQuZW50aXR5TWFwO1xuXG4gICAgICBpZiAoYmxvY2tzICYmIGJsb2Nrcy5sZW5ndGggPiAwKSB7XG4gICAgICAgIHZhciBsaXN0QmxvY2tzID0gW107XG4gICAgICAgIGJsb2Nrcy5mb3JFYWNoKGZ1bmN0aW9uIChibG9jaykge1xuICAgICAgICAgIGlmIChpc0xpc3QoYmxvY2sudHlwZSkpIHtcbiAgICAgICAgICAgIGxpc3RCbG9ja3MucHVzaChibG9jayk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmIChsaXN0QmxvY2tzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgdmFyIGxpc3RIdG1sID0gZ2V0TGlzdE1hcmt1cChsaXN0QmxvY2tzLCBlbnRpdHlNYXAsIGhhc2h0YWdDb25maWcsIGN1c3RvbUVudGl0eVRyYW5zZm9ybSk7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbWF4LWxlblxuXG4gICAgICAgICAgICAgIGh0bWwucHVzaChsaXN0SHRtbCk7XG4gICAgICAgICAgICAgIGxpc3RCbG9ja3MgPSBbXTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdmFyIGJsb2NrSHRtbCA9IGdldEJsb2NrTWFya3VwKGJsb2NrLCBlbnRpdHlNYXAsIGhhc2h0YWdDb25maWcsIGRpcmVjdGlvbmFsLCBjdXN0b21FbnRpdHlUcmFuc2Zvcm0pO1xuICAgICAgICAgICAgaHRtbC5wdXNoKGJsb2NrSHRtbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICBpZiAobGlzdEJsb2Nrcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgdmFyIGxpc3RIdG1sID0gZ2V0TGlzdE1hcmt1cChsaXN0QmxvY2tzLCBlbnRpdHlNYXAsIGhhc2h0YWdDb25maWcsIGRpcmVjdGlvbmFsLCBjdXN0b21FbnRpdHlUcmFuc2Zvcm0pOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG1heC1sZW5cblxuICAgICAgICAgIGh0bWwucHVzaChsaXN0SHRtbCk7XG4gICAgICAgICAgbGlzdEJsb2NrcyA9IFtdO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGh0bWwuam9pbignJyk7XG4gIH1cblxuICByZXR1cm4gZHJhZnRUb0h0bWw7XG5cbn0pKSk7XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/draftjs-to-html/lib/draftjs-to-html.js\n"); /***/ }), @@ -1361,7 +1588,7 @@ eval("(function (global, factory) {\n\t true ? module.exports = factory() :\n\tu /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n */\n\nvar PhotosMimeType = __webpack_require__(/*! ./PhotosMimeType */ \"./node_modules/fbjs/lib/PhotosMimeType.js\");\n\nvar createArrayFromMixed = __webpack_require__(/*! ./createArrayFromMixed */ \"./node_modules/fbjs/lib/createArrayFromMixed.js\");\nvar emptyFunction = __webpack_require__(/*! ./emptyFunction */ \"./node_modules/fbjs/lib/emptyFunction.js\");\n\nvar CR_LF_REGEX = new RegExp('\\r\\n', 'g');\nvar LF_ONLY = '\\n';\n\nvar RICH_TEXT_TYPES = {\n 'text/rtf': 1,\n 'text/html': 1\n};\n\n/**\n * If DataTransferItem is a file then return the Blob of data.\n *\n * @param {object} item\n * @return {?blob}\n */\nfunction getFileFromDataTransfer(item) {\n if (item.kind == 'file') {\n return item.getAsFile();\n }\n}\n\nvar DataTransfer = function () {\n /**\n * @param {object} data\n */\n function DataTransfer(data) {\n _classCallCheck(this, DataTransfer);\n\n this.data = data;\n\n // Types could be DOMStringList or array\n this.types = data.types ? createArrayFromMixed(data.types) : [];\n }\n\n /**\n * Is this likely to be a rich text data transfer?\n *\n * @return {boolean}\n */\n\n\n DataTransfer.prototype.isRichText = function isRichText() {\n // If HTML is available, treat this data as rich text. This way, we avoid\n // using a pasted image if it is packaged with HTML -- this may occur with\n // pastes from MS Word, for example. However this is only rich text if\n // there's accompanying text.\n if (this.getHTML() && this.getText()) {\n return true;\n }\n\n // When an image is copied from a preview window, you end up with two\n // DataTransferItems one of which is a file's metadata as text. Skip those.\n if (this.isImage()) {\n return false;\n }\n\n return this.types.some(function (type) {\n return RICH_TEXT_TYPES[type];\n });\n };\n\n /**\n * Get raw text.\n *\n * @return {?string}\n */\n\n\n DataTransfer.prototype.getText = function getText() {\n var text;\n if (this.data.getData) {\n if (!this.types.length) {\n text = this.data.getData('Text');\n } else if (this.types.indexOf('text/plain') != -1) {\n text = this.data.getData('text/plain');\n }\n }\n return text ? text.replace(CR_LF_REGEX, LF_ONLY) : null;\n };\n\n /**\n * Get HTML paste data\n *\n * @return {?string}\n */\n\n\n DataTransfer.prototype.getHTML = function getHTML() {\n if (this.data.getData) {\n if (!this.types.length) {\n return this.data.getData('Text');\n } else if (this.types.indexOf('text/html') != -1) {\n return this.data.getData('text/html');\n }\n }\n };\n\n /**\n * Is this a link data transfer?\n *\n * @return {boolean}\n */\n\n\n DataTransfer.prototype.isLink = function isLink() {\n return this.types.some(function (type) {\n return type.indexOf('Url') != -1 || type.indexOf('text/uri-list') != -1 || type.indexOf('text/x-moz-url');\n });\n };\n\n /**\n * Get a link url.\n *\n * @return {?string}\n */\n\n\n DataTransfer.prototype.getLink = function getLink() {\n if (this.data.getData) {\n if (this.types.indexOf('text/x-moz-url') != -1) {\n var url = this.data.getData('text/x-moz-url').split('\\n');\n return url[0];\n }\n return this.types.indexOf('text/uri-list') != -1 ? this.data.getData('text/uri-list') : this.data.getData('url');\n }\n\n return null;\n };\n\n /**\n * Is this an image data transfer?\n *\n * @return {boolean}\n */\n\n\n DataTransfer.prototype.isImage = function isImage() {\n var isImage = this.types.some(function (type) {\n // Firefox will have a type of application/x-moz-file for images during\n // dragging\n return type.indexOf('application/x-moz-file') != -1;\n });\n\n if (isImage) {\n return true;\n }\n\n var items = this.getFiles();\n for (var i = 0; i < items.length; i++) {\n var type = items[i].type;\n if (!PhotosMimeType.isImage(type)) {\n return false;\n }\n }\n\n return true;\n };\n\n DataTransfer.prototype.getCount = function getCount() {\n if (this.data.hasOwnProperty('items')) {\n return this.data.items.length;\n } else if (this.data.hasOwnProperty('mozItemCount')) {\n return this.data.mozItemCount;\n } else if (this.data.files) {\n return this.data.files.length;\n }\n return null;\n };\n\n /**\n * Get files.\n *\n * @return {array}\n */\n\n\n DataTransfer.prototype.getFiles = function getFiles() {\n if (this.data.items) {\n // createArrayFromMixed doesn't properly handle DataTransferItemLists.\n return Array.prototype.slice.call(this.data.items).map(getFileFromDataTransfer).filter(emptyFunction.thatReturnsArgument);\n } else if (this.data.files) {\n return Array.prototype.slice.call(this.data.files);\n } else {\n return [];\n }\n };\n\n /**\n * Are there any files to fetch?\n *\n * @return {boolean}\n */\n\n\n DataTransfer.prototype.hasFiles = function hasFiles() {\n return this.getFiles().length > 0;\n };\n\n return DataTransfer;\n}();\n\nmodule.exports = DataTransfer;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvRGF0YVRyYW5zZmVyLmpzPzQyZmMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWIsaURBQWlELDBDQUEwQywwREFBMEQsRUFBRTs7QUFFdko7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxxQkFBcUIsbUJBQU8sQ0FBQyxtRUFBa0I7O0FBRS9DLDJCQUEyQixtQkFBTyxDQUFDLCtFQUF3QjtBQUMzRCxvQkFBb0IsbUJBQU8sQ0FBQyxpRUFBaUI7O0FBRTdDO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsV0FBVyxPQUFPO0FBQ2xCLFlBQVk7QUFDWjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGFBQWEsT0FBTztBQUNwQjtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGNBQWM7QUFDZDs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsY0FBYztBQUNkOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsY0FBYztBQUNkOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7OztBQUdBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLG1CQUFtQixrQkFBa0I7QUFDckM7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLENBQUM7O0FBRUQiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvRGF0YVRyYW5zZmVyLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG5mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7IGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7IH0gfVxuXG4vKipcbiAqIENvcHlyaWdodCAoYykgMjAxMy1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIEB0eXBlY2hlY2tzXG4gKi9cblxudmFyIFBob3Rvc01pbWVUeXBlID0gcmVxdWlyZSgnLi9QaG90b3NNaW1lVHlwZScpO1xuXG52YXIgY3JlYXRlQXJyYXlGcm9tTWl4ZWQgPSByZXF1aXJlKCcuL2NyZWF0ZUFycmF5RnJvbU1peGVkJyk7XG52YXIgZW1wdHlGdW5jdGlvbiA9IHJlcXVpcmUoJy4vZW1wdHlGdW5jdGlvbicpO1xuXG52YXIgQ1JfTEZfUkVHRVggPSBuZXcgUmVnRXhwKCdcXHJcXG4nLCAnZycpO1xudmFyIExGX09OTFkgPSAnXFxuJztcblxudmFyIFJJQ0hfVEVYVF9UWVBFUyA9IHtcbiAgJ3RleHQvcnRmJzogMSxcbiAgJ3RleHQvaHRtbCc6IDFcbn07XG5cbi8qKlxuICogSWYgRGF0YVRyYW5zZmVySXRlbSBpcyBhIGZpbGUgdGhlbiByZXR1cm4gdGhlIEJsb2Igb2YgZGF0YS5cbiAqXG4gKiBAcGFyYW0ge29iamVjdH0gaXRlbVxuICogQHJldHVybiB7P2Jsb2J9XG4gKi9cbmZ1bmN0aW9uIGdldEZpbGVGcm9tRGF0YVRyYW5zZmVyKGl0ZW0pIHtcbiAgaWYgKGl0ZW0ua2luZCA9PSAnZmlsZScpIHtcbiAgICByZXR1cm4gaXRlbS5nZXRBc0ZpbGUoKTtcbiAgfVxufVxuXG52YXIgRGF0YVRyYW5zZmVyID0gZnVuY3Rpb24gKCkge1xuICAvKipcbiAgICogQHBhcmFtIHtvYmplY3R9IGRhdGFcbiAgICovXG4gIGZ1bmN0aW9uIERhdGFUcmFuc2ZlcihkYXRhKSB7XG4gICAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIERhdGFUcmFuc2Zlcik7XG5cbiAgICB0aGlzLmRhdGEgPSBkYXRhO1xuXG4gICAgLy8gVHlwZXMgY291bGQgYmUgRE9NU3RyaW5nTGlzdCBvciBhcnJheVxuICAgIHRoaXMudHlwZXMgPSBkYXRhLnR5cGVzID8gY3JlYXRlQXJyYXlGcm9tTWl4ZWQoZGF0YS50eXBlcykgOiBbXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJcyB0aGlzIGxpa2VseSB0byBiZSBhIHJpY2ggdGV4dCBkYXRhIHRyYW5zZmVyP1xuICAgKlxuICAgKiBAcmV0dXJuIHtib29sZWFufVxuICAgKi9cblxuXG4gIERhdGFUcmFuc2Zlci5wcm90b3R5cGUuaXNSaWNoVGV4dCA9IGZ1bmN0aW9uIGlzUmljaFRleHQoKSB7XG4gICAgLy8gSWYgSFRNTCBpcyBhdmFpbGFibGUsIHRyZWF0IHRoaXMgZGF0YSBhcyByaWNoIHRleHQuIFRoaXMgd2F5LCB3ZSBhdm9pZFxuICAgIC8vIHVzaW5nIGEgcGFzdGVkIGltYWdlIGlmIGl0IGlzIHBhY2thZ2VkIHdpdGggSFRNTCAtLSB0aGlzIG1heSBvY2N1ciB3aXRoXG4gICAgLy8gcGFzdGVzIGZyb20gTVMgV29yZCwgZm9yIGV4YW1wbGUuICBIb3dldmVyIHRoaXMgaXMgb25seSByaWNoIHRleHQgaWZcbiAgICAvLyB0aGVyZSdzIGFjY29tcGFueWluZyB0ZXh0LlxuICAgIGlmICh0aGlzLmdldEhUTUwoKSAmJiB0aGlzLmdldFRleHQoKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgLy8gV2hlbiBhbiBpbWFnZSBpcyBjb3BpZWQgZnJvbSBhIHByZXZpZXcgd2luZG93LCB5b3UgZW5kIHVwIHdpdGggdHdvXG4gICAgLy8gRGF0YVRyYW5zZmVySXRlbXMgb25lIG9mIHdoaWNoIGlzIGEgZmlsZSdzIG1ldGFkYXRhIGFzIHRleHQuICBTa2lwIHRob3NlLlxuICAgIGlmICh0aGlzLmlzSW1hZ2UoKSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnR5cGVzLnNvbWUoZnVuY3Rpb24gKHR5cGUpIHtcbiAgICAgIHJldHVybiBSSUNIX1RFWFRfVFlQRVNbdHlwZV07XG4gICAgfSk7XG4gIH07XG5cbiAgLyoqXG4gICAqIEdldCByYXcgdGV4dC5cbiAgICpcbiAgICogQHJldHVybiB7P3N0cmluZ31cbiAgICovXG5cblxuICBEYXRhVHJhbnNmZXIucHJvdG90eXBlLmdldFRleHQgPSBmdW5jdGlvbiBnZXRUZXh0KCkge1xuICAgIHZhciB0ZXh0O1xuICAgIGlmICh0aGlzLmRhdGEuZ2V0RGF0YSkge1xuICAgICAgaWYgKCF0aGlzLnR5cGVzLmxlbmd0aCkge1xuICAgICAgICB0ZXh0ID0gdGhpcy5kYXRhLmdldERhdGEoJ1RleHQnKTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy50eXBlcy5pbmRleE9mKCd0ZXh0L3BsYWluJykgIT0gLTEpIHtcbiAgICAgICAgdGV4dCA9IHRoaXMuZGF0YS5nZXREYXRhKCd0ZXh0L3BsYWluJyk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0ZXh0ID8gdGV4dC5yZXBsYWNlKENSX0xGX1JFR0VYLCBMRl9PTkxZKSA6IG51bGw7XG4gIH07XG5cbiAgLyoqXG4gICAqIEdldCBIVE1MIHBhc3RlIGRhdGFcbiAgICpcbiAgICogQHJldHVybiB7P3N0cmluZ31cbiAgICovXG5cblxuICBEYXRhVHJhbnNmZXIucHJvdG90eXBlLmdldEhUTUwgPSBmdW5jdGlvbiBnZXRIVE1MKCkge1xuICAgIGlmICh0aGlzLmRhdGEuZ2V0RGF0YSkge1xuICAgICAgaWYgKCF0aGlzLnR5cGVzLmxlbmd0aCkge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLmdldERhdGEoJ1RleHQnKTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy50eXBlcy5pbmRleE9mKCd0ZXh0L2h0bWwnKSAhPSAtMSkge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLmdldERhdGEoJ3RleHQvaHRtbCcpO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICAvKipcbiAgICogSXMgdGhpcyBhIGxpbmsgZGF0YSB0cmFuc2Zlcj9cbiAgICpcbiAgICogQHJldHVybiB7Ym9vbGVhbn1cbiAgICovXG5cblxuICBEYXRhVHJhbnNmZXIucHJvdG90eXBlLmlzTGluayA9IGZ1bmN0aW9uIGlzTGluaygpIHtcbiAgICByZXR1cm4gdGhpcy50eXBlcy5zb21lKGZ1bmN0aW9uICh0eXBlKSB7XG4gICAgICByZXR1cm4gdHlwZS5pbmRleE9mKCdVcmwnKSAhPSAtMSB8fCB0eXBlLmluZGV4T2YoJ3RleHQvdXJpLWxpc3QnKSAhPSAtMSB8fCB0eXBlLmluZGV4T2YoJ3RleHQveC1tb3otdXJsJyk7XG4gICAgfSk7XG4gIH07XG5cbiAgLyoqXG4gICAqIEdldCBhIGxpbmsgdXJsLlxuICAgKlxuICAgKiBAcmV0dXJuIHs/c3RyaW5nfVxuICAgKi9cblxuXG4gIERhdGFUcmFuc2Zlci5wcm90b3R5cGUuZ2V0TGluayA9IGZ1bmN0aW9uIGdldExpbmsoKSB7XG4gICAgaWYgKHRoaXMuZGF0YS5nZXREYXRhKSB7XG4gICAgICBpZiAodGhpcy50eXBlcy5pbmRleE9mKCd0ZXh0L3gtbW96LXVybCcpICE9IC0xKSB7XG4gICAgICAgIHZhciB1cmwgPSB0aGlzLmRhdGEuZ2V0RGF0YSgndGV4dC94LW1vei11cmwnKS5zcGxpdCgnXFxuJyk7XG4gICAgICAgIHJldHVybiB1cmxbMF07XG4gICAgICB9XG4gICAgICByZXR1cm4gdGhpcy50eXBlcy5pbmRleE9mKCd0ZXh0L3VyaS1saXN0JykgIT0gLTEgPyB0aGlzLmRhdGEuZ2V0RGF0YSgndGV4dC91cmktbGlzdCcpIDogdGhpcy5kYXRhLmdldERhdGEoJ3VybCcpO1xuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9O1xuXG4gIC8qKlxuICAgKiBJcyB0aGlzIGFuIGltYWdlIGRhdGEgdHJhbnNmZXI/XG4gICAqXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59XG4gICAqL1xuXG5cbiAgRGF0YVRyYW5zZmVyLnByb3RvdHlwZS5pc0ltYWdlID0gZnVuY3Rpb24gaXNJbWFnZSgpIHtcbiAgICB2YXIgaXNJbWFnZSA9IHRoaXMudHlwZXMuc29tZShmdW5jdGlvbiAodHlwZSkge1xuICAgICAgLy8gRmlyZWZveCB3aWxsIGhhdmUgYSB0eXBlIG9mIGFwcGxpY2F0aW9uL3gtbW96LWZpbGUgZm9yIGltYWdlcyBkdXJpbmdcbiAgICAgIC8vIGRyYWdnaW5nXG4gICAgICByZXR1cm4gdHlwZS5pbmRleE9mKCdhcHBsaWNhdGlvbi94LW1vei1maWxlJykgIT0gLTE7XG4gICAgfSk7XG5cbiAgICBpZiAoaXNJbWFnZSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgdmFyIGl0ZW1zID0gdGhpcy5nZXRGaWxlcygpO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgaXRlbXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciB0eXBlID0gaXRlbXNbaV0udHlwZTtcbiAgICAgIGlmICghUGhvdG9zTWltZVR5cGUuaXNJbWFnZSh0eXBlKSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRydWU7XG4gIH07XG5cbiAgRGF0YVRyYW5zZmVyLnByb3RvdHlwZS5nZXRDb3VudCA9IGZ1bmN0aW9uIGdldENvdW50KCkge1xuICAgIGlmICh0aGlzLmRhdGEuaGFzT3duUHJvcGVydHkoJ2l0ZW1zJykpIHtcbiAgICAgIHJldHVybiB0aGlzLmRhdGEuaXRlbXMubGVuZ3RoO1xuICAgIH0gZWxzZSBpZiAodGhpcy5kYXRhLmhhc093blByb3BlcnR5KCdtb3pJdGVtQ291bnQnKSkge1xuICAgICAgcmV0dXJuIHRoaXMuZGF0YS5tb3pJdGVtQ291bnQ7XG4gICAgfSBlbHNlIGlmICh0aGlzLmRhdGEuZmlsZXMpIHtcbiAgICAgIHJldHVybiB0aGlzLmRhdGEuZmlsZXMubGVuZ3RoO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfTtcblxuICAvKipcbiAgICogR2V0IGZpbGVzLlxuICAgKlxuICAgKiBAcmV0dXJuIHthcnJheX1cbiAgICovXG5cblxuICBEYXRhVHJhbnNmZXIucHJvdG90eXBlLmdldEZpbGVzID0gZnVuY3Rpb24gZ2V0RmlsZXMoKSB7XG4gICAgaWYgKHRoaXMuZGF0YS5pdGVtcykge1xuICAgICAgLy8gY3JlYXRlQXJyYXlGcm9tTWl4ZWQgZG9lc24ndCBwcm9wZXJseSBoYW5kbGUgRGF0YVRyYW5zZmVySXRlbUxpc3RzLlxuICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKHRoaXMuZGF0YS5pdGVtcykubWFwKGdldEZpbGVGcm9tRGF0YVRyYW5zZmVyKS5maWx0ZXIoZW1wdHlGdW5jdGlvbi50aGF0UmV0dXJuc0FyZ3VtZW50KTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuZGF0YS5maWxlcykge1xuICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKHRoaXMuZGF0YS5maWxlcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG4gIH07XG5cbiAgLyoqXG4gICAqIEFyZSB0aGVyZSBhbnkgZmlsZXMgdG8gZmV0Y2g/XG4gICAqXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59XG4gICAqL1xuXG5cbiAgRGF0YVRyYW5zZmVyLnByb3RvdHlwZS5oYXNGaWxlcyA9IGZ1bmN0aW9uIGhhc0ZpbGVzKCkge1xuICAgIHJldHVybiB0aGlzLmdldEZpbGVzKCkubGVuZ3RoID4gMDtcbiAgfTtcblxuICByZXR1cm4gRGF0YVRyYW5zZmVyO1xufSgpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IERhdGFUcmFuc2ZlcjsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/fbjs/lib/DataTransfer.js\n"); +eval("\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n */\nvar PhotosMimeType = __webpack_require__(/*! ./PhotosMimeType */ \"./node_modules/fbjs/lib/PhotosMimeType.js\");\n\nvar createArrayFromMixed = __webpack_require__(/*! ./createArrayFromMixed */ \"./node_modules/fbjs/lib/createArrayFromMixed.js\");\n\nvar emptyFunction = __webpack_require__(/*! ./emptyFunction */ \"./node_modules/fbjs/lib/emptyFunction.js\");\n\nvar CR_LF_REGEX = new RegExp(\"\\r\\n\", 'g');\nvar LF_ONLY = \"\\n\";\nvar RICH_TEXT_TYPES = {\n 'text/rtf': 1,\n 'text/html': 1\n};\n/**\n * If DataTransferItem is a file then return the Blob of data.\n *\n * @param {object} item\n * @return {?blob}\n */\n\nfunction getFileFromDataTransfer(item) {\n if (item.kind == 'file') {\n return item.getAsFile();\n }\n}\n\nvar DataTransfer =\n/*#__PURE__*/\nfunction () {\n /**\n * @param {object} data\n */\n function DataTransfer(data) {\n this.data = data; // Types could be DOMStringList or array\n\n this.types = data.types ? createArrayFromMixed(data.types) : [];\n }\n /**\n * Is this likely to be a rich text data transfer?\n *\n * @return {boolean}\n */\n\n\n var _proto = DataTransfer.prototype;\n\n _proto.isRichText = function isRichText() {\n // If HTML is available, treat this data as rich text. This way, we avoid\n // using a pasted image if it is packaged with HTML -- this may occur with\n // pastes from MS Word, for example. However this is only rich text if\n // there's accompanying text.\n if (this.getHTML() && this.getText()) {\n return true;\n } // When an image is copied from a preview window, you end up with two\n // DataTransferItems one of which is a file's metadata as text. Skip those.\n\n\n if (this.isImage()) {\n return false;\n }\n\n return this.types.some(function (type) {\n return RICH_TEXT_TYPES[type];\n });\n };\n /**\n * Get raw text.\n *\n * @return {?string}\n */\n\n\n _proto.getText = function getText() {\n var text;\n\n if (this.data.getData) {\n if (!this.types.length) {\n text = this.data.getData('Text');\n } else if (this.types.indexOf('text/plain') != -1) {\n text = this.data.getData('text/plain');\n }\n }\n\n return text ? text.replace(CR_LF_REGEX, LF_ONLY) : null;\n };\n /**\n * Get HTML paste data\n *\n * @return {?string}\n */\n\n\n _proto.getHTML = function getHTML() {\n if (this.data.getData) {\n if (!this.types.length) {\n return this.data.getData('Text');\n } else if (this.types.indexOf('text/html') != -1) {\n return this.data.getData('text/html');\n }\n }\n };\n /**\n * Is this a link data transfer?\n *\n * @return {boolean}\n */\n\n\n _proto.isLink = function isLink() {\n return this.types.some(function (type) {\n return type.indexOf('Url') != -1 || type.indexOf('text/uri-list') != -1 || type.indexOf('text/x-moz-url');\n });\n };\n /**\n * Get a link url.\n *\n * @return {?string}\n */\n\n\n _proto.getLink = function getLink() {\n if (this.data.getData) {\n if (this.types.indexOf('text/x-moz-url') != -1) {\n var url = this.data.getData('text/x-moz-url').split('\\n');\n return url[0];\n }\n\n return this.types.indexOf('text/uri-list') != -1 ? this.data.getData('text/uri-list') : this.data.getData('url');\n }\n\n return null;\n };\n /**\n * Is this an image data transfer?\n *\n * @return {boolean}\n */\n\n\n _proto.isImage = function isImage() {\n var isImage = this.types.some(function (type) {\n // Firefox will have a type of application/x-moz-file for images during\n // dragging\n return type.indexOf('application/x-moz-file') != -1;\n });\n\n if (isImage) {\n return true;\n }\n\n var items = this.getFiles();\n\n for (var i = 0; i < items.length; i++) {\n var type = items[i].type;\n\n if (!PhotosMimeType.isImage(type)) {\n return false;\n }\n }\n\n return true;\n };\n\n _proto.getCount = function getCount() {\n if (this.data.hasOwnProperty('items')) {\n return this.data.items.length;\n } else if (this.data.hasOwnProperty('mozItemCount')) {\n return this.data.mozItemCount;\n } else if (this.data.files) {\n return this.data.files.length;\n }\n\n return null;\n };\n /**\n * Get files.\n *\n * @return {array}\n */\n\n\n _proto.getFiles = function getFiles() {\n if (this.data.items) {\n // createArrayFromMixed doesn't properly handle DataTransferItemLists.\n return Array.prototype.slice.call(this.data.items).map(getFileFromDataTransfer).filter(emptyFunction.thatReturnsArgument);\n } else if (this.data.files) {\n return Array.prototype.slice.call(this.data.files);\n } else {\n return [];\n }\n };\n /**\n * Are there any files to fetch?\n *\n * @return {boolean}\n */\n\n\n _proto.hasFiles = function hasFiles() {\n return this.getFiles().length > 0;\n };\n\n return DataTransfer;\n}();\n\nmodule.exports = DataTransfer;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvRGF0YVRyYW5zZmVyLmpzPzQyZmMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQixtQkFBTyxDQUFDLG1FQUFrQjs7QUFFL0MsMkJBQTJCLG1CQUFPLENBQUMsK0VBQXdCOztBQUUzRCxvQkFBb0IsbUJBQU8sQ0FBQyxpRUFBaUI7O0FBRTdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsT0FBTztBQUNsQixZQUFZO0FBQ1o7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWEsT0FBTztBQUNwQjtBQUNBO0FBQ0EscUJBQXFCOztBQUVyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYztBQUNkOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDs7O0FBR0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7OztBQUdBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYztBQUNkOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWM7QUFDZDs7O0FBR0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYztBQUNkOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYztBQUNkOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7O0FBRUE7O0FBRUEsbUJBQW1CLGtCQUFrQjtBQUNyQzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWM7QUFDZDs7O0FBR0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsQ0FBQzs7QUFFRCIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9mYmpzL2xpYi9EYXRhVHJhbnNmZXIuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKiBAdHlwZWNoZWNrc1xuICovXG52YXIgUGhvdG9zTWltZVR5cGUgPSByZXF1aXJlKFwiLi9QaG90b3NNaW1lVHlwZVwiKTtcblxudmFyIGNyZWF0ZUFycmF5RnJvbU1peGVkID0gcmVxdWlyZShcIi4vY3JlYXRlQXJyYXlGcm9tTWl4ZWRcIik7XG5cbnZhciBlbXB0eUZ1bmN0aW9uID0gcmVxdWlyZShcIi4vZW1wdHlGdW5jdGlvblwiKTtcblxudmFyIENSX0xGX1JFR0VYID0gbmV3IFJlZ0V4cChcIlxcclxcblwiLCAnZycpO1xudmFyIExGX09OTFkgPSBcIlxcblwiO1xudmFyIFJJQ0hfVEVYVF9UWVBFUyA9IHtcbiAgJ3RleHQvcnRmJzogMSxcbiAgJ3RleHQvaHRtbCc6IDFcbn07XG4vKipcbiAqIElmIERhdGFUcmFuc2Zlckl0ZW0gaXMgYSBmaWxlIHRoZW4gcmV0dXJuIHRoZSBCbG9iIG9mIGRhdGEuXG4gKlxuICogQHBhcmFtIHtvYmplY3R9IGl0ZW1cbiAqIEByZXR1cm4gez9ibG9ifVxuICovXG5cbmZ1bmN0aW9uIGdldEZpbGVGcm9tRGF0YVRyYW5zZmVyKGl0ZW0pIHtcbiAgaWYgKGl0ZW0ua2luZCA9PSAnZmlsZScpIHtcbiAgICByZXR1cm4gaXRlbS5nZXRBc0ZpbGUoKTtcbiAgfVxufVxuXG52YXIgRGF0YVRyYW5zZmVyID1cbi8qI19fUFVSRV9fKi9cbmZ1bmN0aW9uICgpIHtcbiAgLyoqXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBkYXRhXG4gICAqL1xuICBmdW5jdGlvbiBEYXRhVHJhbnNmZXIoZGF0YSkge1xuICAgIHRoaXMuZGF0YSA9IGRhdGE7IC8vIFR5cGVzIGNvdWxkIGJlIERPTVN0cmluZ0xpc3Qgb3IgYXJyYXlcblxuICAgIHRoaXMudHlwZXMgPSBkYXRhLnR5cGVzID8gY3JlYXRlQXJyYXlGcm9tTWl4ZWQoZGF0YS50eXBlcykgOiBbXTtcbiAgfVxuICAvKipcbiAgICogSXMgdGhpcyBsaWtlbHkgdG8gYmUgYSByaWNoIHRleHQgZGF0YSB0cmFuc2Zlcj9cbiAgICpcbiAgICogQHJldHVybiB7Ym9vbGVhbn1cbiAgICovXG5cblxuICB2YXIgX3Byb3RvID0gRGF0YVRyYW5zZmVyLnByb3RvdHlwZTtcblxuICBfcHJvdG8uaXNSaWNoVGV4dCA9IGZ1bmN0aW9uIGlzUmljaFRleHQoKSB7XG4gICAgLy8gSWYgSFRNTCBpcyBhdmFpbGFibGUsIHRyZWF0IHRoaXMgZGF0YSBhcyByaWNoIHRleHQuIFRoaXMgd2F5LCB3ZSBhdm9pZFxuICAgIC8vIHVzaW5nIGEgcGFzdGVkIGltYWdlIGlmIGl0IGlzIHBhY2thZ2VkIHdpdGggSFRNTCAtLSB0aGlzIG1heSBvY2N1ciB3aXRoXG4gICAgLy8gcGFzdGVzIGZyb20gTVMgV29yZCwgZm9yIGV4YW1wbGUuICBIb3dldmVyIHRoaXMgaXMgb25seSByaWNoIHRleHQgaWZcbiAgICAvLyB0aGVyZSdzIGFjY29tcGFueWluZyB0ZXh0LlxuICAgIGlmICh0aGlzLmdldEhUTUwoKSAmJiB0aGlzLmdldFRleHQoKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSAvLyBXaGVuIGFuIGltYWdlIGlzIGNvcGllZCBmcm9tIGEgcHJldmlldyB3aW5kb3csIHlvdSBlbmQgdXAgd2l0aCB0d29cbiAgICAvLyBEYXRhVHJhbnNmZXJJdGVtcyBvbmUgb2Ygd2hpY2ggaXMgYSBmaWxlJ3MgbWV0YWRhdGEgYXMgdGV4dC4gIFNraXAgdGhvc2UuXG5cblxuICAgIGlmICh0aGlzLmlzSW1hZ2UoKSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnR5cGVzLnNvbWUoZnVuY3Rpb24gKHR5cGUpIHtcbiAgICAgIHJldHVybiBSSUNIX1RFWFRfVFlQRVNbdHlwZV07XG4gICAgfSk7XG4gIH07XG4gIC8qKlxuICAgKiBHZXQgcmF3IHRleHQuXG4gICAqXG4gICAqIEByZXR1cm4gez9zdHJpbmd9XG4gICAqL1xuXG5cbiAgX3Byb3RvLmdldFRleHQgPSBmdW5jdGlvbiBnZXRUZXh0KCkge1xuICAgIHZhciB0ZXh0O1xuXG4gICAgaWYgKHRoaXMuZGF0YS5nZXREYXRhKSB7XG4gICAgICBpZiAoIXRoaXMudHlwZXMubGVuZ3RoKSB7XG4gICAgICAgIHRleHQgPSB0aGlzLmRhdGEuZ2V0RGF0YSgnVGV4dCcpO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLnR5cGVzLmluZGV4T2YoJ3RleHQvcGxhaW4nKSAhPSAtMSkge1xuICAgICAgICB0ZXh0ID0gdGhpcy5kYXRhLmdldERhdGEoJ3RleHQvcGxhaW4nKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdGV4dCA/IHRleHQucmVwbGFjZShDUl9MRl9SRUdFWCwgTEZfT05MWSkgOiBudWxsO1xuICB9O1xuICAvKipcbiAgICogR2V0IEhUTUwgcGFzdGUgZGF0YVxuICAgKlxuICAgKiBAcmV0dXJuIHs/c3RyaW5nfVxuICAgKi9cblxuXG4gIF9wcm90by5nZXRIVE1MID0gZnVuY3Rpb24gZ2V0SFRNTCgpIHtcbiAgICBpZiAodGhpcy5kYXRhLmdldERhdGEpIHtcbiAgICAgIGlmICghdGhpcy50eXBlcy5sZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YS5nZXREYXRhKCdUZXh0Jyk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMudHlwZXMuaW5kZXhPZigndGV4dC9odG1sJykgIT0gLTEpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YS5nZXREYXRhKCd0ZXh0L2h0bWwnKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG4gIC8qKlxuICAgKiBJcyB0aGlzIGEgbGluayBkYXRhIHRyYW5zZmVyP1xuICAgKlxuICAgKiBAcmV0dXJuIHtib29sZWFufVxuICAgKi9cblxuXG4gIF9wcm90by5pc0xpbmsgPSBmdW5jdGlvbiBpc0xpbmsoKSB7XG4gICAgcmV0dXJuIHRoaXMudHlwZXMuc29tZShmdW5jdGlvbiAodHlwZSkge1xuICAgICAgcmV0dXJuIHR5cGUuaW5kZXhPZignVXJsJykgIT0gLTEgfHwgdHlwZS5pbmRleE9mKCd0ZXh0L3VyaS1saXN0JykgIT0gLTEgfHwgdHlwZS5pbmRleE9mKCd0ZXh0L3gtbW96LXVybCcpO1xuICAgIH0pO1xuICB9O1xuICAvKipcbiAgICogR2V0IGEgbGluayB1cmwuXG4gICAqXG4gICAqIEByZXR1cm4gez9zdHJpbmd9XG4gICAqL1xuXG5cbiAgX3Byb3RvLmdldExpbmsgPSBmdW5jdGlvbiBnZXRMaW5rKCkge1xuICAgIGlmICh0aGlzLmRhdGEuZ2V0RGF0YSkge1xuICAgICAgaWYgKHRoaXMudHlwZXMuaW5kZXhPZigndGV4dC94LW1vei11cmwnKSAhPSAtMSkge1xuICAgICAgICB2YXIgdXJsID0gdGhpcy5kYXRhLmdldERhdGEoJ3RleHQveC1tb3otdXJsJykuc3BsaXQoJ1xcbicpO1xuICAgICAgICByZXR1cm4gdXJsWzBdO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdGhpcy50eXBlcy5pbmRleE9mKCd0ZXh0L3VyaS1saXN0JykgIT0gLTEgPyB0aGlzLmRhdGEuZ2V0RGF0YSgndGV4dC91cmktbGlzdCcpIDogdGhpcy5kYXRhLmdldERhdGEoJ3VybCcpO1xuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9O1xuICAvKipcbiAgICogSXMgdGhpcyBhbiBpbWFnZSBkYXRhIHRyYW5zZmVyP1xuICAgKlxuICAgKiBAcmV0dXJuIHtib29sZWFufVxuICAgKi9cblxuXG4gIF9wcm90by5pc0ltYWdlID0gZnVuY3Rpb24gaXNJbWFnZSgpIHtcbiAgICB2YXIgaXNJbWFnZSA9IHRoaXMudHlwZXMuc29tZShmdW5jdGlvbiAodHlwZSkge1xuICAgICAgLy8gRmlyZWZveCB3aWxsIGhhdmUgYSB0eXBlIG9mIGFwcGxpY2F0aW9uL3gtbW96LWZpbGUgZm9yIGltYWdlcyBkdXJpbmdcbiAgICAgIC8vIGRyYWdnaW5nXG4gICAgICByZXR1cm4gdHlwZS5pbmRleE9mKCdhcHBsaWNhdGlvbi94LW1vei1maWxlJykgIT0gLTE7XG4gICAgfSk7XG5cbiAgICBpZiAoaXNJbWFnZSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgdmFyIGl0ZW1zID0gdGhpcy5nZXRGaWxlcygpO1xuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBpdGVtcy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIHR5cGUgPSBpdGVtc1tpXS50eXBlO1xuXG4gICAgICBpZiAoIVBob3Rvc01pbWVUeXBlLmlzSW1hZ2UodHlwZSkpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0cnVlO1xuICB9O1xuXG4gIF9wcm90by5nZXRDb3VudCA9IGZ1bmN0aW9uIGdldENvdW50KCkge1xuICAgIGlmICh0aGlzLmRhdGEuaGFzT3duUHJvcGVydHkoJ2l0ZW1zJykpIHtcbiAgICAgIHJldHVybiB0aGlzLmRhdGEuaXRlbXMubGVuZ3RoO1xuICAgIH0gZWxzZSBpZiAodGhpcy5kYXRhLmhhc093blByb3BlcnR5KCdtb3pJdGVtQ291bnQnKSkge1xuICAgICAgcmV0dXJuIHRoaXMuZGF0YS5tb3pJdGVtQ291bnQ7XG4gICAgfSBlbHNlIGlmICh0aGlzLmRhdGEuZmlsZXMpIHtcbiAgICAgIHJldHVybiB0aGlzLmRhdGEuZmlsZXMubGVuZ3RoO1xuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9O1xuICAvKipcbiAgICogR2V0IGZpbGVzLlxuICAgKlxuICAgKiBAcmV0dXJuIHthcnJheX1cbiAgICovXG5cblxuICBfcHJvdG8uZ2V0RmlsZXMgPSBmdW5jdGlvbiBnZXRGaWxlcygpIHtcbiAgICBpZiAodGhpcy5kYXRhLml0ZW1zKSB7XG4gICAgICAvLyBjcmVhdGVBcnJheUZyb21NaXhlZCBkb2Vzbid0IHByb3Blcmx5IGhhbmRsZSBEYXRhVHJhbnNmZXJJdGVtTGlzdHMuXG4gICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwodGhpcy5kYXRhLml0ZW1zKS5tYXAoZ2V0RmlsZUZyb21EYXRhVHJhbnNmZXIpLmZpbHRlcihlbXB0eUZ1bmN0aW9uLnRoYXRSZXR1cm5zQXJndW1lbnQpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5kYXRhLmZpbGVzKSB7XG4gICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwodGhpcy5kYXRhLmZpbGVzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbiAgfTtcbiAgLyoqXG4gICAqIEFyZSB0aGVyZSBhbnkgZmlsZXMgdG8gZmV0Y2g/XG4gICAqXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59XG4gICAqL1xuXG5cbiAgX3Byb3RvLmhhc0ZpbGVzID0gZnVuY3Rpb24gaGFzRmlsZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0RmlsZXMoKS5sZW5ndGggPiAwO1xuICB9O1xuXG4gIHJldHVybiBEYXRhVHJhbnNmZXI7XG59KCk7XG5cbm1vZHVsZS5leHBvcnRzID0gRGF0YVRyYW5zZmVyOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/fbjs/lib/DataTransfer.js\n"); /***/ }), @@ -1373,7 +1600,7 @@ eval("\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance insta /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nmodule.exports = {\n BACKSPACE: 8,\n TAB: 9,\n RETURN: 13,\n ALT: 18,\n ESC: 27,\n SPACE: 32,\n PAGE_UP: 33,\n PAGE_DOWN: 34,\n END: 35,\n HOME: 36,\n LEFT: 37,\n UP: 38,\n RIGHT: 39,\n DOWN: 40,\n DELETE: 46,\n COMMA: 188,\n PERIOD: 190,\n A: 65,\n Z: 90,\n ZERO: 48,\n NUMPAD_0: 96,\n NUMPAD_9: 105\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvS2V5cy5qcz9lZjAwIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFhOztBQUViO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9mYmpzL2xpYi9LZXlzLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICovXG5cbm1vZHVsZS5leHBvcnRzID0ge1xuICBCQUNLU1BBQ0U6IDgsXG4gIFRBQjogOSxcbiAgUkVUVVJOOiAxMyxcbiAgQUxUOiAxOCxcbiAgRVNDOiAyNyxcbiAgU1BBQ0U6IDMyLFxuICBQQUdFX1VQOiAzMyxcbiAgUEFHRV9ET1dOOiAzNCxcbiAgRU5EOiAzNSxcbiAgSE9NRTogMzYsXG4gIExFRlQ6IDM3LFxuICBVUDogMzgsXG4gIFJJR0hUOiAzOSxcbiAgRE9XTjogNDAsXG4gIERFTEVURTogNDYsXG4gIENPTU1BOiAxODgsXG4gIFBFUklPRDogMTkwLFxuICBBOiA2NSxcbiAgWjogOTAsXG4gIFpFUk86IDQ4LFxuICBOVU1QQURfMDogOTYsXG4gIE5VTVBBRF85OiAxMDVcbn07Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/fbjs/lib/Keys.js\n"); +eval("\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\nmodule.exports = {\n BACKSPACE: 8,\n TAB: 9,\n RETURN: 13,\n ALT: 18,\n ESC: 27,\n SPACE: 32,\n PAGE_UP: 33,\n PAGE_DOWN: 34,\n END: 35,\n HOME: 36,\n LEFT: 37,\n UP: 38,\n RIGHT: 39,\n DOWN: 40,\n DELETE: 46,\n COMMA: 188,\n PERIOD: 190,\n A: 65,\n Z: 90,\n ZERO: 48,\n NUMPAD_0: 96,\n NUMPAD_9: 105\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvS2V5cy5qcz9lZjAwIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFhOztBQUViO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2ZianMvbGliL0tleXMuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKi9cbm1vZHVsZS5leHBvcnRzID0ge1xuICBCQUNLU1BBQ0U6IDgsXG4gIFRBQjogOSxcbiAgUkVUVVJOOiAxMyxcbiAgQUxUOiAxOCxcbiAgRVNDOiAyNyxcbiAgU1BBQ0U6IDMyLFxuICBQQUdFX1VQOiAzMyxcbiAgUEFHRV9ET1dOOiAzNCxcbiAgRU5EOiAzNSxcbiAgSE9NRTogMzYsXG4gIExFRlQ6IDM3LFxuICBVUDogMzgsXG4gIFJJR0hUOiAzOSxcbiAgRE9XTjogNDAsXG4gIERFTEVURTogNDYsXG4gIENPTU1BOiAxODgsXG4gIFBFUklPRDogMTkwLFxuICBBOiA2NSxcbiAgWjogOTAsXG4gIFpFUk86IDQ4LFxuICBOVU1QQURfMDogOTYsXG4gIE5VTVBBRF85OiAxMDVcbn07Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/fbjs/lib/Keys.js\n"); /***/ }), @@ -1385,7 +1612,7 @@ eval("\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\nvar PhotosMimeType = {\n isImage: function isImage(mimeString) {\n return getParts(mimeString)[0] === 'image';\n },\n isJpeg: function isJpeg(mimeString) {\n var parts = getParts(mimeString);\n return PhotosMimeType.isImage(mimeString) && (\n // see http://fburl.com/10972194\n parts[1] === 'jpeg' || parts[1] === 'pjpeg');\n }\n};\n\nfunction getParts(mimeString) {\n return mimeString.split('/');\n}\n\nmodule.exports = PhotosMimeType;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvUGhvdG9zTWltZVR5cGUuanM/MzUwNSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBYTs7QUFFYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvUGhvdG9zTWltZVR5cGUuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICovXG52YXIgUGhvdG9zTWltZVR5cGUgPSB7XG4gIGlzSW1hZ2U6IGZ1bmN0aW9uIGlzSW1hZ2UobWltZVN0cmluZykge1xuICAgIHJldHVybiBnZXRQYXJ0cyhtaW1lU3RyaW5nKVswXSA9PT0gJ2ltYWdlJztcbiAgfSxcbiAgaXNKcGVnOiBmdW5jdGlvbiBpc0pwZWcobWltZVN0cmluZykge1xuICAgIHZhciBwYXJ0cyA9IGdldFBhcnRzKG1pbWVTdHJpbmcpO1xuICAgIHJldHVybiBQaG90b3NNaW1lVHlwZS5pc0ltYWdlKG1pbWVTdHJpbmcpICYmIChcbiAgICAvLyBzZWUgaHR0cDovL2ZidXJsLmNvbS8xMDk3MjE5NFxuICAgIHBhcnRzWzFdID09PSAnanBlZycgfHwgcGFydHNbMV0gPT09ICdwanBlZycpO1xuICB9XG59O1xuXG5mdW5jdGlvbiBnZXRQYXJ0cyhtaW1lU3RyaW5nKSB7XG4gIHJldHVybiBtaW1lU3RyaW5nLnNwbGl0KCcvJyk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gUGhvdG9zTWltZVR5cGU7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/fbjs/lib/PhotosMimeType.js\n"); +eval("\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\nvar PhotosMimeType = {\n isImage: function isImage(mimeString) {\n return getParts(mimeString)[0] === 'image';\n },\n isJpeg: function isJpeg(mimeString) {\n var parts = getParts(mimeString);\n return PhotosMimeType.isImage(mimeString) && ( // see http://fburl.com/10972194\n parts[1] === 'jpeg' || parts[1] === 'pjpeg');\n }\n};\n\nfunction getParts(mimeString) {\n return mimeString.split('/');\n}\n\nmodule.exports = PhotosMimeType;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvUGhvdG9zTWltZVR5cGUuanM/MzUwNSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBYTs7QUFFYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2ZianMvbGliL1Bob3Rvc01pbWVUeXBlLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICovXG52YXIgUGhvdG9zTWltZVR5cGUgPSB7XG4gIGlzSW1hZ2U6IGZ1bmN0aW9uIGlzSW1hZ2UobWltZVN0cmluZykge1xuICAgIHJldHVybiBnZXRQYXJ0cyhtaW1lU3RyaW5nKVswXSA9PT0gJ2ltYWdlJztcbiAgfSxcbiAgaXNKcGVnOiBmdW5jdGlvbiBpc0pwZWcobWltZVN0cmluZykge1xuICAgIHZhciBwYXJ0cyA9IGdldFBhcnRzKG1pbWVTdHJpbmcpO1xuICAgIHJldHVybiBQaG90b3NNaW1lVHlwZS5pc0ltYWdlKG1pbWVTdHJpbmcpICYmICggLy8gc2VlIGh0dHA6Ly9mYnVybC5jb20vMTA5NzIxOTRcbiAgICBwYXJ0c1sxXSA9PT0gJ2pwZWcnIHx8IHBhcnRzWzFdID09PSAncGpwZWcnKTtcbiAgfVxufTtcblxuZnVuY3Rpb24gZ2V0UGFydHMobWltZVN0cmluZykge1xuICByZXR1cm4gbWltZVN0cmluZy5zcGxpdCgnLycpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IFBob3Rvc01pbWVUeXBlOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/fbjs/lib/PhotosMimeType.js\n"); /***/ }), @@ -1397,7 +1624,7 @@ eval("\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n/**\n * @param {DOMElement} element\n * @param {DOMDocument} doc\n * @return {boolean}\n */\nfunction _isViewportScrollElement(element, doc) {\n return !!doc && (element === doc.documentElement || element === doc.body);\n}\n\n/**\n * Scroll Module. This class contains 4 simple static functions\n * to be used to access Element.scrollTop/scrollLeft properties.\n * To solve the inconsistencies between browsers when either\n * document.body or document.documentElement is supplied,\n * below logic will be used to alleviate the issue:\n *\n * 1. If 'element' is either 'document.body' or 'document.documentElement,\n * get whichever element's 'scroll{Top,Left}' is larger.\n * 2. If 'element' is either 'document.body' or 'document.documentElement',\n * set the 'scroll{Top,Left}' on both elements.\n */\n\nvar Scroll = {\n /**\n * @param {DOMElement} element\n * @return {number}\n */\n getTop: function getTop(element) {\n var doc = element.ownerDocument;\n return _isViewportScrollElement(element, doc) ?\n // In practice, they will either both have the same value,\n // or one will be zero and the other will be the scroll position\n // of the viewport. So we can use `X || Y` instead of `Math.max(X, Y)`\n doc.body.scrollTop || doc.documentElement.scrollTop : element.scrollTop;\n },\n\n /**\n * @param {DOMElement} element\n * @param {number} newTop\n */\n setTop: function setTop(element, newTop) {\n var doc = element.ownerDocument;\n if (_isViewportScrollElement(element, doc)) {\n doc.body.scrollTop = doc.documentElement.scrollTop = newTop;\n } else {\n element.scrollTop = newTop;\n }\n },\n\n /**\n * @param {DOMElement} element\n * @return {number}\n */\n getLeft: function getLeft(element) {\n var doc = element.ownerDocument;\n return _isViewportScrollElement(element, doc) ? doc.body.scrollLeft || doc.documentElement.scrollLeft : element.scrollLeft;\n },\n\n /**\n * @param {DOMElement} element\n * @param {number} newLeft\n */\n setLeft: function setLeft(element, newLeft) {\n var doc = element.ownerDocument;\n if (_isViewportScrollElement(element, doc)) {\n doc.body.scrollLeft = doc.documentElement.scrollLeft = newLeft;\n } else {\n element.scrollLeft = newLeft;\n }\n }\n};\n\nmodule.exports = Scroll;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvU2Nyb2xsLmpzP2E2YjMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxXQUFXLFdBQVc7QUFDdEIsV0FBVyxZQUFZO0FBQ3ZCLFlBQVk7QUFDWjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0NBQXNDLFNBQVM7QUFDL0M7QUFDQSxzQkFBc0IsU0FBUztBQUMvQjs7QUFFQTtBQUNBO0FBQ0EsYUFBYSxXQUFXO0FBQ3hCLGNBQWM7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBLGFBQWEsV0FBVztBQUN4QixhQUFhLE9BQU87QUFDcEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBLGFBQWEsV0FBVztBQUN4QixjQUFjO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0EsYUFBYSxXQUFXO0FBQ3hCLGFBQWEsT0FBTztBQUNwQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBOztBQUVBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2ZianMvbGliL1Njcm9sbC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG4vKipcbiAqIENvcHlyaWdodCAoYykgMjAxMy1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqL1xuXG4vKipcbiAqIEBwYXJhbSB7RE9NRWxlbWVudH0gZWxlbWVudFxuICogQHBhcmFtIHtET01Eb2N1bWVudH0gZG9jXG4gKiBAcmV0dXJuIHtib29sZWFufVxuICovXG5mdW5jdGlvbiBfaXNWaWV3cG9ydFNjcm9sbEVsZW1lbnQoZWxlbWVudCwgZG9jKSB7XG4gIHJldHVybiAhIWRvYyAmJiAoZWxlbWVudCA9PT0gZG9jLmRvY3VtZW50RWxlbWVudCB8fCBlbGVtZW50ID09PSBkb2MuYm9keSk7XG59XG5cbi8qKlxuICogU2Nyb2xsIE1vZHVsZS4gVGhpcyBjbGFzcyBjb250YWlucyA0IHNpbXBsZSBzdGF0aWMgZnVuY3Rpb25zXG4gKiB0byBiZSB1c2VkIHRvIGFjY2VzcyBFbGVtZW50LnNjcm9sbFRvcC9zY3JvbGxMZWZ0IHByb3BlcnRpZXMuXG4gKiBUbyBzb2x2ZSB0aGUgaW5jb25zaXN0ZW5jaWVzIGJldHdlZW4gYnJvd3NlcnMgd2hlbiBlaXRoZXJcbiAqIGRvY3VtZW50LmJvZHkgb3IgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50IGlzIHN1cHBsaWVkLFxuICogYmVsb3cgbG9naWMgd2lsbCBiZSB1c2VkIHRvIGFsbGV2aWF0ZSB0aGUgaXNzdWU6XG4gKlxuICogMS4gSWYgJ2VsZW1lbnQnIGlzIGVpdGhlciAnZG9jdW1lbnQuYm9keScgb3IgJ2RvY3VtZW50LmRvY3VtZW50RWxlbWVudCxcbiAqICAgIGdldCB3aGljaGV2ZXIgZWxlbWVudCdzICdzY3JvbGx7VG9wLExlZnR9JyBpcyBsYXJnZXIuXG4gKiAyLiBJZiAnZWxlbWVudCcgaXMgZWl0aGVyICdkb2N1bWVudC5ib2R5JyBvciAnZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50JyxcbiAqICAgIHNldCB0aGUgJ3Njcm9sbHtUb3AsTGVmdH0nIG9uIGJvdGggZWxlbWVudHMuXG4gKi9cblxudmFyIFNjcm9sbCA9IHtcbiAgLyoqXG4gICAqIEBwYXJhbSB7RE9NRWxlbWVudH0gZWxlbWVudFxuICAgKiBAcmV0dXJuIHtudW1iZXJ9XG4gICAqL1xuICBnZXRUb3A6IGZ1bmN0aW9uIGdldFRvcChlbGVtZW50KSB7XG4gICAgdmFyIGRvYyA9IGVsZW1lbnQub3duZXJEb2N1bWVudDtcbiAgICByZXR1cm4gX2lzVmlld3BvcnRTY3JvbGxFbGVtZW50KGVsZW1lbnQsIGRvYykgP1xuICAgIC8vIEluIHByYWN0aWNlLCB0aGV5IHdpbGwgZWl0aGVyIGJvdGggaGF2ZSB0aGUgc2FtZSB2YWx1ZSxcbiAgICAvLyBvciBvbmUgd2lsbCBiZSB6ZXJvIGFuZCB0aGUgb3RoZXIgd2lsbCBiZSB0aGUgc2Nyb2xsIHBvc2l0aW9uXG4gICAgLy8gb2YgdGhlIHZpZXdwb3J0LiBTbyB3ZSBjYW4gdXNlIGBYIHx8IFlgIGluc3RlYWQgb2YgYE1hdGgubWF4KFgsIFkpYFxuICAgIGRvYy5ib2R5LnNjcm9sbFRvcCB8fCBkb2MuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcCA6IGVsZW1lbnQuc2Nyb2xsVG9wO1xuICB9LFxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge0RPTUVsZW1lbnR9IGVsZW1lbnRcbiAgICogQHBhcmFtIHtudW1iZXJ9IG5ld1RvcFxuICAgKi9cbiAgc2V0VG9wOiBmdW5jdGlvbiBzZXRUb3AoZWxlbWVudCwgbmV3VG9wKSB7XG4gICAgdmFyIGRvYyA9IGVsZW1lbnQub3duZXJEb2N1bWVudDtcbiAgICBpZiAoX2lzVmlld3BvcnRTY3JvbGxFbGVtZW50KGVsZW1lbnQsIGRvYykpIHtcbiAgICAgIGRvYy5ib2R5LnNjcm9sbFRvcCA9IGRvYy5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wID0gbmV3VG9wO1xuICAgIH0gZWxzZSB7XG4gICAgICBlbGVtZW50LnNjcm9sbFRvcCA9IG5ld1RvcDtcbiAgICB9XG4gIH0sXG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7RE9NRWxlbWVudH0gZWxlbWVudFxuICAgKiBAcmV0dXJuIHtudW1iZXJ9XG4gICAqL1xuICBnZXRMZWZ0OiBmdW5jdGlvbiBnZXRMZWZ0KGVsZW1lbnQpIHtcbiAgICB2YXIgZG9jID0gZWxlbWVudC5vd25lckRvY3VtZW50O1xuICAgIHJldHVybiBfaXNWaWV3cG9ydFNjcm9sbEVsZW1lbnQoZWxlbWVudCwgZG9jKSA/IGRvYy5ib2R5LnNjcm9sbExlZnQgfHwgZG9jLmRvY3VtZW50RWxlbWVudC5zY3JvbGxMZWZ0IDogZWxlbWVudC5zY3JvbGxMZWZ0O1xuICB9LFxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge0RPTUVsZW1lbnR9IGVsZW1lbnRcbiAgICogQHBhcmFtIHtudW1iZXJ9IG5ld0xlZnRcbiAgICovXG4gIHNldExlZnQ6IGZ1bmN0aW9uIHNldExlZnQoZWxlbWVudCwgbmV3TGVmdCkge1xuICAgIHZhciBkb2MgPSBlbGVtZW50Lm93bmVyRG9jdW1lbnQ7XG4gICAgaWYgKF9pc1ZpZXdwb3J0U2Nyb2xsRWxlbWVudChlbGVtZW50LCBkb2MpKSB7XG4gICAgICBkb2MuYm9keS5zY3JvbGxMZWZ0ID0gZG9jLmRvY3VtZW50RWxlbWVudC5zY3JvbGxMZWZ0ID0gbmV3TGVmdDtcbiAgICB9IGVsc2Uge1xuICAgICAgZWxlbWVudC5zY3JvbGxMZWZ0ID0gbmV3TGVmdDtcbiAgICB9XG4gIH1cbn07XG5cbm1vZHVsZS5leHBvcnRzID0gU2Nyb2xsOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/fbjs/lib/Scroll.js\n"); +eval("\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n/**\n * @param {DOMElement} element\n * @param {DOMDocument} doc\n * @return {boolean}\n */\nfunction _isViewportScrollElement(element, doc) {\n return !!doc && (element === doc.documentElement || element === doc.body);\n}\n/**\n * Scroll Module. This class contains 4 simple static functions\n * to be used to access Element.scrollTop/scrollLeft properties.\n * To solve the inconsistencies between browsers when either\n * document.body or document.documentElement is supplied,\n * below logic will be used to alleviate the issue:\n *\n * 1. If 'element' is either 'document.body' or 'document.documentElement,\n * get whichever element's 'scroll{Top,Left}' is larger.\n * 2. If 'element' is either 'document.body' or 'document.documentElement',\n * set the 'scroll{Top,Left}' on both elements.\n */\n\n\nvar Scroll = {\n /**\n * @param {DOMElement} element\n * @return {number}\n */\n getTop: function getTop(element) {\n var doc = element.ownerDocument;\n return _isViewportScrollElement(element, doc) ? // In practice, they will either both have the same value,\n // or one will be zero and the other will be the scroll position\n // of the viewport. So we can use `X || Y` instead of `Math.max(X, Y)`\n doc.body.scrollTop || doc.documentElement.scrollTop : element.scrollTop;\n },\n\n /**\n * @param {DOMElement} element\n * @param {number} newTop\n */\n setTop: function setTop(element, newTop) {\n var doc = element.ownerDocument;\n\n if (_isViewportScrollElement(element, doc)) {\n doc.body.scrollTop = doc.documentElement.scrollTop = newTop;\n } else {\n element.scrollTop = newTop;\n }\n },\n\n /**\n * @param {DOMElement} element\n * @return {number}\n */\n getLeft: function getLeft(element) {\n var doc = element.ownerDocument;\n return _isViewportScrollElement(element, doc) ? doc.body.scrollLeft || doc.documentElement.scrollLeft : element.scrollLeft;\n },\n\n /**\n * @param {DOMElement} element\n * @param {number} newLeft\n */\n setLeft: function setLeft(element, newLeft) {\n var doc = element.ownerDocument;\n\n if (_isViewportScrollElement(element, doc)) {\n doc.body.scrollLeft = doc.documentElement.scrollLeft = newLeft;\n } else {\n element.scrollLeft = newLeft;\n }\n }\n};\nmodule.exports = Scroll;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvU2Nyb2xsLmpzP2E2YjMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxXQUFXLFdBQVc7QUFDdEIsV0FBVyxZQUFZO0FBQ3ZCLFlBQVk7QUFDWjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQ0FBc0MsU0FBUztBQUMvQztBQUNBLHNCQUFzQixTQUFTO0FBQy9COzs7QUFHQTtBQUNBO0FBQ0EsYUFBYSxXQUFXO0FBQ3hCLGNBQWM7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQSxhQUFhLFdBQVc7QUFDeEIsYUFBYSxPQUFPO0FBQ3BCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0EsYUFBYSxXQUFXO0FBQ3hCLGNBQWM7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQSxhQUFhLFdBQVc7QUFDeEIsYUFBYSxPQUFPO0FBQ3BCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvU2Nyb2xsLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICovXG5cbi8qKlxuICogQHBhcmFtIHtET01FbGVtZW50fSBlbGVtZW50XG4gKiBAcGFyYW0ge0RPTURvY3VtZW50fSBkb2NcbiAqIEByZXR1cm4ge2Jvb2xlYW59XG4gKi9cbmZ1bmN0aW9uIF9pc1ZpZXdwb3J0U2Nyb2xsRWxlbWVudChlbGVtZW50LCBkb2MpIHtcbiAgcmV0dXJuICEhZG9jICYmIChlbGVtZW50ID09PSBkb2MuZG9jdW1lbnRFbGVtZW50IHx8IGVsZW1lbnQgPT09IGRvYy5ib2R5KTtcbn1cbi8qKlxuICogU2Nyb2xsIE1vZHVsZS4gVGhpcyBjbGFzcyBjb250YWlucyA0IHNpbXBsZSBzdGF0aWMgZnVuY3Rpb25zXG4gKiB0byBiZSB1c2VkIHRvIGFjY2VzcyBFbGVtZW50LnNjcm9sbFRvcC9zY3JvbGxMZWZ0IHByb3BlcnRpZXMuXG4gKiBUbyBzb2x2ZSB0aGUgaW5jb25zaXN0ZW5jaWVzIGJldHdlZW4gYnJvd3NlcnMgd2hlbiBlaXRoZXJcbiAqIGRvY3VtZW50LmJvZHkgb3IgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50IGlzIHN1cHBsaWVkLFxuICogYmVsb3cgbG9naWMgd2lsbCBiZSB1c2VkIHRvIGFsbGV2aWF0ZSB0aGUgaXNzdWU6XG4gKlxuICogMS4gSWYgJ2VsZW1lbnQnIGlzIGVpdGhlciAnZG9jdW1lbnQuYm9keScgb3IgJ2RvY3VtZW50LmRvY3VtZW50RWxlbWVudCxcbiAqICAgIGdldCB3aGljaGV2ZXIgZWxlbWVudCdzICdzY3JvbGx7VG9wLExlZnR9JyBpcyBsYXJnZXIuXG4gKiAyLiBJZiAnZWxlbWVudCcgaXMgZWl0aGVyICdkb2N1bWVudC5ib2R5JyBvciAnZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50JyxcbiAqICAgIHNldCB0aGUgJ3Njcm9sbHtUb3AsTGVmdH0nIG9uIGJvdGggZWxlbWVudHMuXG4gKi9cblxuXG52YXIgU2Nyb2xsID0ge1xuICAvKipcbiAgICogQHBhcmFtIHtET01FbGVtZW50fSBlbGVtZW50XG4gICAqIEByZXR1cm4ge251bWJlcn1cbiAgICovXG4gIGdldFRvcDogZnVuY3Rpb24gZ2V0VG9wKGVsZW1lbnQpIHtcbiAgICB2YXIgZG9jID0gZWxlbWVudC5vd25lckRvY3VtZW50O1xuICAgIHJldHVybiBfaXNWaWV3cG9ydFNjcm9sbEVsZW1lbnQoZWxlbWVudCwgZG9jKSA/IC8vIEluIHByYWN0aWNlLCB0aGV5IHdpbGwgZWl0aGVyIGJvdGggaGF2ZSB0aGUgc2FtZSB2YWx1ZSxcbiAgICAvLyBvciBvbmUgd2lsbCBiZSB6ZXJvIGFuZCB0aGUgb3RoZXIgd2lsbCBiZSB0aGUgc2Nyb2xsIHBvc2l0aW9uXG4gICAgLy8gb2YgdGhlIHZpZXdwb3J0LiBTbyB3ZSBjYW4gdXNlIGBYIHx8IFlgIGluc3RlYWQgb2YgYE1hdGgubWF4KFgsIFkpYFxuICAgIGRvYy5ib2R5LnNjcm9sbFRvcCB8fCBkb2MuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcCA6IGVsZW1lbnQuc2Nyb2xsVG9wO1xuICB9LFxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge0RPTUVsZW1lbnR9IGVsZW1lbnRcbiAgICogQHBhcmFtIHtudW1iZXJ9IG5ld1RvcFxuICAgKi9cbiAgc2V0VG9wOiBmdW5jdGlvbiBzZXRUb3AoZWxlbWVudCwgbmV3VG9wKSB7XG4gICAgdmFyIGRvYyA9IGVsZW1lbnQub3duZXJEb2N1bWVudDtcblxuICAgIGlmIChfaXNWaWV3cG9ydFNjcm9sbEVsZW1lbnQoZWxlbWVudCwgZG9jKSkge1xuICAgICAgZG9jLmJvZHkuc2Nyb2xsVG9wID0gZG9jLmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3AgPSBuZXdUb3A7XG4gICAgfSBlbHNlIHtcbiAgICAgIGVsZW1lbnQuc2Nyb2xsVG9wID0gbmV3VG9wO1xuICAgIH1cbiAgfSxcblxuICAvKipcbiAgICogQHBhcmFtIHtET01FbGVtZW50fSBlbGVtZW50XG4gICAqIEByZXR1cm4ge251bWJlcn1cbiAgICovXG4gIGdldExlZnQ6IGZ1bmN0aW9uIGdldExlZnQoZWxlbWVudCkge1xuICAgIHZhciBkb2MgPSBlbGVtZW50Lm93bmVyRG9jdW1lbnQ7XG4gICAgcmV0dXJuIF9pc1ZpZXdwb3J0U2Nyb2xsRWxlbWVudChlbGVtZW50LCBkb2MpID8gZG9jLmJvZHkuc2Nyb2xsTGVmdCB8fCBkb2MuZG9jdW1lbnRFbGVtZW50LnNjcm9sbExlZnQgOiBlbGVtZW50LnNjcm9sbExlZnQ7XG4gIH0sXG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7RE9NRWxlbWVudH0gZWxlbWVudFxuICAgKiBAcGFyYW0ge251bWJlcn0gbmV3TGVmdFxuICAgKi9cbiAgc2V0TGVmdDogZnVuY3Rpb24gc2V0TGVmdChlbGVtZW50LCBuZXdMZWZ0KSB7XG4gICAgdmFyIGRvYyA9IGVsZW1lbnQub3duZXJEb2N1bWVudDtcblxuICAgIGlmIChfaXNWaWV3cG9ydFNjcm9sbEVsZW1lbnQoZWxlbWVudCwgZG9jKSkge1xuICAgICAgZG9jLmJvZHkuc2Nyb2xsTGVmdCA9IGRvYy5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsTGVmdCA9IG5ld0xlZnQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIGVsZW1lbnQuc2Nyb2xsTGVmdCA9IG5ld0xlZnQ7XG4gICAgfVxuICB9XG59O1xubW9kdWxlLmV4cG9ydHMgPSBTY3JvbGw7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/fbjs/lib/Scroll.js\n"); /***/ }), @@ -1409,7 +1636,7 @@ eval("\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n */\n\nvar getStyleProperty = __webpack_require__(/*! ./getStyleProperty */ \"./node_modules/fbjs/lib/getStyleProperty.js\");\n\n/**\n * @param {DOMNode} element [description]\n * @param {string} name Overflow style property name.\n * @return {boolean} True if the supplied ndoe is scrollable.\n */\nfunction _isNodeScrollable(element, name) {\n var overflow = Style.get(element, name);\n return overflow === 'auto' || overflow === 'scroll';\n}\n\n/**\n * Utilities for querying and mutating style properties.\n */\nvar Style = {\n /**\n * Gets the style property for the supplied node. This will return either the\n * computed style, if available, or the declared style.\n *\n * @param {DOMNode} node\n * @param {string} name Style property name.\n * @return {?string} Style property value.\n */\n get: getStyleProperty,\n\n /**\n * Determines the nearest ancestor of a node that is scrollable.\n *\n * NOTE: This can be expensive if used repeatedly or on a node nested deeply.\n *\n * @param {?DOMNode} node Node from which to start searching.\n * @return {?DOMWindow|DOMElement} Scroll parent of the supplied node.\n */\n getScrollParent: function getScrollParent(node) {\n if (!node) {\n return null;\n }\n var ownerDocument = node.ownerDocument;\n while (node && node !== ownerDocument.body) {\n if (_isNodeScrollable(node, 'overflow') || _isNodeScrollable(node, 'overflowY') || _isNodeScrollable(node, 'overflowX')) {\n return node;\n }\n node = node.parentNode;\n }\n return ownerDocument.defaultView || ownerDocument.parentWindow;\n }\n\n};\n\nmodule.exports = Style;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvU3R5bGUuanM/ZTk3YSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBYTs7QUFFYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLHVCQUF1QixtQkFBTyxDQUFDLHVFQUFvQjs7QUFFbkQ7QUFDQSxXQUFXLFFBQVE7QUFDbkIsV0FBVyxPQUFPO0FBQ2xCLFlBQVksUUFBUTtBQUNwQjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLFFBQVE7QUFDckIsYUFBYSxPQUFPO0FBQ3BCLGNBQWMsUUFBUTtBQUN0QjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLFNBQVM7QUFDdEIsY0FBYyxzQkFBc0I7QUFDcEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9mYmpzL2xpYi9TdHlsZS5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKiBAdHlwZWNoZWNrc1xuICovXG5cbnZhciBnZXRTdHlsZVByb3BlcnR5ID0gcmVxdWlyZSgnLi9nZXRTdHlsZVByb3BlcnR5Jyk7XG5cbi8qKlxuICogQHBhcmFtIHtET01Ob2RlfSBlbGVtZW50IFtkZXNjcmlwdGlvbl1cbiAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIE92ZXJmbG93IHN0eWxlIHByb3BlcnR5IG5hbWUuXG4gKiBAcmV0dXJuIHtib29sZWFufSBUcnVlIGlmIHRoZSBzdXBwbGllZCBuZG9lIGlzIHNjcm9sbGFibGUuXG4gKi9cbmZ1bmN0aW9uIF9pc05vZGVTY3JvbGxhYmxlKGVsZW1lbnQsIG5hbWUpIHtcbiAgdmFyIG92ZXJmbG93ID0gU3R5bGUuZ2V0KGVsZW1lbnQsIG5hbWUpO1xuICByZXR1cm4gb3ZlcmZsb3cgPT09ICdhdXRvJyB8fCBvdmVyZmxvdyA9PT0gJ3Njcm9sbCc7XG59XG5cbi8qKlxuICogVXRpbGl0aWVzIGZvciBxdWVyeWluZyBhbmQgbXV0YXRpbmcgc3R5bGUgcHJvcGVydGllcy5cbiAqL1xudmFyIFN0eWxlID0ge1xuICAvKipcbiAgICogR2V0cyB0aGUgc3R5bGUgcHJvcGVydHkgZm9yIHRoZSBzdXBwbGllZCBub2RlLiBUaGlzIHdpbGwgcmV0dXJuIGVpdGhlciB0aGVcbiAgICogY29tcHV0ZWQgc3R5bGUsIGlmIGF2YWlsYWJsZSwgb3IgdGhlIGRlY2xhcmVkIHN0eWxlLlxuICAgKlxuICAgKiBAcGFyYW0ge0RPTU5vZGV9IG5vZGVcbiAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgU3R5bGUgcHJvcGVydHkgbmFtZS5cbiAgICogQHJldHVybiB7P3N0cmluZ30gU3R5bGUgcHJvcGVydHkgdmFsdWUuXG4gICAqL1xuICBnZXQ6IGdldFN0eWxlUHJvcGVydHksXG5cbiAgLyoqXG4gICAqIERldGVybWluZXMgdGhlIG5lYXJlc3QgYW5jZXN0b3Igb2YgYSBub2RlIHRoYXQgaXMgc2Nyb2xsYWJsZS5cbiAgICpcbiAgICogTk9URTogVGhpcyBjYW4gYmUgZXhwZW5zaXZlIGlmIHVzZWQgcmVwZWF0ZWRseSBvciBvbiBhIG5vZGUgbmVzdGVkIGRlZXBseS5cbiAgICpcbiAgICogQHBhcmFtIHs/RE9NTm9kZX0gbm9kZSBOb2RlIGZyb20gd2hpY2ggdG8gc3RhcnQgc2VhcmNoaW5nLlxuICAgKiBAcmV0dXJuIHs/RE9NV2luZG93fERPTUVsZW1lbnR9IFNjcm9sbCBwYXJlbnQgb2YgdGhlIHN1cHBsaWVkIG5vZGUuXG4gICAqL1xuICBnZXRTY3JvbGxQYXJlbnQ6IGZ1bmN0aW9uIGdldFNjcm9sbFBhcmVudChub2RlKSB7XG4gICAgaWYgKCFub2RlKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgdmFyIG93bmVyRG9jdW1lbnQgPSBub2RlLm93bmVyRG9jdW1lbnQ7XG4gICAgd2hpbGUgKG5vZGUgJiYgbm9kZSAhPT0gb3duZXJEb2N1bWVudC5ib2R5KSB7XG4gICAgICBpZiAoX2lzTm9kZVNjcm9sbGFibGUobm9kZSwgJ292ZXJmbG93JykgfHwgX2lzTm9kZVNjcm9sbGFibGUobm9kZSwgJ292ZXJmbG93WScpIHx8IF9pc05vZGVTY3JvbGxhYmxlKG5vZGUsICdvdmVyZmxvd1gnKSkge1xuICAgICAgICByZXR1cm4gbm9kZTtcbiAgICAgIH1cbiAgICAgIG5vZGUgPSBub2RlLnBhcmVudE5vZGU7XG4gICAgfVxuICAgIHJldHVybiBvd25lckRvY3VtZW50LmRlZmF1bHRWaWV3IHx8IG93bmVyRG9jdW1lbnQucGFyZW50V2luZG93O1xuICB9XG5cbn07XG5cbm1vZHVsZS5leHBvcnRzID0gU3R5bGU7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/fbjs/lib/Style.js\n"); +eval("\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n */\nvar getStyleProperty = __webpack_require__(/*! ./getStyleProperty */ \"./node_modules/fbjs/lib/getStyleProperty.js\");\n/**\n * @param {DOMNode} element [description]\n * @param {string} name Overflow style property name.\n * @return {boolean} True if the supplied ndoe is scrollable.\n */\n\n\nfunction _isNodeScrollable(element, name) {\n var overflow = Style.get(element, name);\n return overflow === 'auto' || overflow === 'scroll';\n}\n/**\n * Utilities for querying and mutating style properties.\n */\n\n\nvar Style = {\n /**\n * Gets the style property for the supplied node. This will return either the\n * computed style, if available, or the declared style.\n *\n * @param {DOMNode} node\n * @param {string} name Style property name.\n * @return {?string} Style property value.\n */\n get: getStyleProperty,\n\n /**\n * Determines the nearest ancestor of a node that is scrollable.\n *\n * NOTE: This can be expensive if used repeatedly or on a node nested deeply.\n *\n * @param {?DOMNode} node Node from which to start searching.\n * @return {?DOMWindow|DOMElement} Scroll parent of the supplied node.\n */\n getScrollParent: function getScrollParent(node) {\n if (!node) {\n return null;\n }\n\n var ownerDocument = node.ownerDocument;\n\n while (node && node !== ownerDocument.body) {\n if (_isNodeScrollable(node, 'overflow') || _isNodeScrollable(node, 'overflowY') || _isNodeScrollable(node, 'overflowX')) {\n return node;\n }\n\n node = node.parentNode;\n }\n\n return ownerDocument.defaultView || ownerDocument.parentWindow;\n }\n};\nmodule.exports = Style;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvU3R5bGUuanM/ZTk3YSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBYTs7QUFFYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCLG1CQUFPLENBQUMsdUVBQW9CO0FBQ25EO0FBQ0EsV0FBVyxRQUFRO0FBQ25CLFdBQVcsT0FBTztBQUNsQixZQUFZLFFBQVE7QUFDcEI7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSxRQUFRO0FBQ3JCLGFBQWEsT0FBTztBQUNwQixjQUFjLFFBQVE7QUFDdEI7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSxTQUFTO0FBQ3RCLGNBQWMsc0JBQXNCO0FBQ3BDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9mYmpzL2xpYi9TdHlsZS5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG4vKipcbiAqIENvcHlyaWdodCAoYykgMjAxMy1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIEB0eXBlY2hlY2tzXG4gKi9cbnZhciBnZXRTdHlsZVByb3BlcnR5ID0gcmVxdWlyZShcIi4vZ2V0U3R5bGVQcm9wZXJ0eVwiKTtcbi8qKlxuICogQHBhcmFtIHtET01Ob2RlfSBlbGVtZW50IFtkZXNjcmlwdGlvbl1cbiAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIE92ZXJmbG93IHN0eWxlIHByb3BlcnR5IG5hbWUuXG4gKiBAcmV0dXJuIHtib29sZWFufSBUcnVlIGlmIHRoZSBzdXBwbGllZCBuZG9lIGlzIHNjcm9sbGFibGUuXG4gKi9cblxuXG5mdW5jdGlvbiBfaXNOb2RlU2Nyb2xsYWJsZShlbGVtZW50LCBuYW1lKSB7XG4gIHZhciBvdmVyZmxvdyA9IFN0eWxlLmdldChlbGVtZW50LCBuYW1lKTtcbiAgcmV0dXJuIG92ZXJmbG93ID09PSAnYXV0bycgfHwgb3ZlcmZsb3cgPT09ICdzY3JvbGwnO1xufVxuLyoqXG4gKiBVdGlsaXRpZXMgZm9yIHF1ZXJ5aW5nIGFuZCBtdXRhdGluZyBzdHlsZSBwcm9wZXJ0aWVzLlxuICovXG5cblxudmFyIFN0eWxlID0ge1xuICAvKipcbiAgICogR2V0cyB0aGUgc3R5bGUgcHJvcGVydHkgZm9yIHRoZSBzdXBwbGllZCBub2RlLiBUaGlzIHdpbGwgcmV0dXJuIGVpdGhlciB0aGVcbiAgICogY29tcHV0ZWQgc3R5bGUsIGlmIGF2YWlsYWJsZSwgb3IgdGhlIGRlY2xhcmVkIHN0eWxlLlxuICAgKlxuICAgKiBAcGFyYW0ge0RPTU5vZGV9IG5vZGVcbiAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgU3R5bGUgcHJvcGVydHkgbmFtZS5cbiAgICogQHJldHVybiB7P3N0cmluZ30gU3R5bGUgcHJvcGVydHkgdmFsdWUuXG4gICAqL1xuICBnZXQ6IGdldFN0eWxlUHJvcGVydHksXG5cbiAgLyoqXG4gICAqIERldGVybWluZXMgdGhlIG5lYXJlc3QgYW5jZXN0b3Igb2YgYSBub2RlIHRoYXQgaXMgc2Nyb2xsYWJsZS5cbiAgICpcbiAgICogTk9URTogVGhpcyBjYW4gYmUgZXhwZW5zaXZlIGlmIHVzZWQgcmVwZWF0ZWRseSBvciBvbiBhIG5vZGUgbmVzdGVkIGRlZXBseS5cbiAgICpcbiAgICogQHBhcmFtIHs/RE9NTm9kZX0gbm9kZSBOb2RlIGZyb20gd2hpY2ggdG8gc3RhcnQgc2VhcmNoaW5nLlxuICAgKiBAcmV0dXJuIHs/RE9NV2luZG93fERPTUVsZW1lbnR9IFNjcm9sbCBwYXJlbnQgb2YgdGhlIHN1cHBsaWVkIG5vZGUuXG4gICAqL1xuICBnZXRTY3JvbGxQYXJlbnQ6IGZ1bmN0aW9uIGdldFNjcm9sbFBhcmVudChub2RlKSB7XG4gICAgaWYgKCFub2RlKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICB2YXIgb3duZXJEb2N1bWVudCA9IG5vZGUub3duZXJEb2N1bWVudDtcblxuICAgIHdoaWxlIChub2RlICYmIG5vZGUgIT09IG93bmVyRG9jdW1lbnQuYm9keSkge1xuICAgICAgaWYgKF9pc05vZGVTY3JvbGxhYmxlKG5vZGUsICdvdmVyZmxvdycpIHx8IF9pc05vZGVTY3JvbGxhYmxlKG5vZGUsICdvdmVyZmxvd1knKSB8fCBfaXNOb2RlU2Nyb2xsYWJsZShub2RlLCAnb3ZlcmZsb3dYJykpIHtcbiAgICAgICAgcmV0dXJuIG5vZGU7XG4gICAgICB9XG5cbiAgICAgIG5vZGUgPSBub2RlLnBhcmVudE5vZGU7XG4gICAgfVxuXG4gICAgcmV0dXJuIG93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXcgfHwgb3duZXJEb2N1bWVudC5wYXJlbnRXaW5kb3c7XG4gIH1cbn07XG5tb2R1bGUuZXhwb3J0cyA9IFN0eWxlOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/fbjs/lib/Style.js\n"); /***/ }), @@ -1421,7 +1648,7 @@ eval("\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n * @stub\n * \n */\n\n\n\n// \\u00a1-\\u00b1\\u00b4-\\u00b8\\u00ba\\u00bb\\u00bf\n// is latin supplement punctuation except fractions and superscript\n// numbers\n// \\u2010-\\u2027\\u2030-\\u205e\n// is punctuation from the general punctuation block:\n// weird quotes, commas, bullets, dashes, etc.\n// \\u30fb\\u3001\\u3002\\u3008-\\u3011\\u3014-\\u301f\n// is CJK punctuation\n// \\uff1a-\\uff1f\\uff01-\\uff0f\\uff3b-\\uff40\\uff5b-\\uff65\n// is some full-width/half-width punctuation\n// \\u2E2E\\u061f\\u066a-\\u066c\\u061b\\u060c\\u060d\\uFD3e\\uFD3F\n// is some Arabic punctuation marks\n// \\u1801\\u0964\\u104a\\u104b\n// is misc. other language punctuation marks\n\nvar PUNCTUATION = '[.,+*?$|#{}()\\'\\\\^\\\\-\\\\[\\\\]\\\\\\\\\\\\/!@%\"~=<>_:;' + '\\u30FB\\u3001\\u3002\\u3008-\\u3011\\u3014-\\u301F\\uFF1A-\\uFF1F\\uFF01-\\uFF0F' + '\\uFF3B-\\uFF40\\uFF5B-\\uFF65\\u2E2E\\u061F\\u066A-\\u066C\\u061B\\u060C\\u060D' + '\\uFD3E\\uFD3F\\u1801\\u0964\\u104A\\u104B\\u2010-\\u2027\\u2030-\\u205E' + '\\xA1-\\xB1\\xB4-\\xB8\\xBA\\xBB\\xBF]';\n\nmodule.exports = {\n getPunctuation: function getPunctuation() {\n return PUNCTUATION;\n }\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvVG9rZW5pemVVdGlsLmpzPzdhZjYiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWE7O0FBRWI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSw4QkFBOEIsa0NBQWtDOztBQUVoRTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2ZianMvbGliL1Rva2VuaXplVXRpbC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICogQHR5cGVjaGVja3NcbiAqIEBzdHViXG4gKiBcbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbi8vIFxcdTAwYTEtXFx1MDBiMVxcdTAwYjQtXFx1MDBiOFxcdTAwYmFcXHUwMGJiXFx1MDBiZlxuLy8gICAgICAgICAgICAgaXMgbGF0aW4gc3VwcGxlbWVudCBwdW5jdHVhdGlvbiBleGNlcHQgZnJhY3Rpb25zIGFuZCBzdXBlcnNjcmlwdFxuLy8gICAgICAgICAgICAgbnVtYmVyc1xuLy8gXFx1MjAxMC1cXHUyMDI3XFx1MjAzMC1cXHUyMDVlXG4vLyAgICAgICAgICAgICBpcyBwdW5jdHVhdGlvbiBmcm9tIHRoZSBnZW5lcmFsIHB1bmN0dWF0aW9uIGJsb2NrOlxuLy8gICAgICAgICAgICAgd2VpcmQgcXVvdGVzLCBjb21tYXMsIGJ1bGxldHMsIGRhc2hlcywgZXRjLlxuLy8gXFx1MzBmYlxcdTMwMDFcXHUzMDAyXFx1MzAwOC1cXHUzMDExXFx1MzAxNC1cXHUzMDFmXG4vLyAgICAgICAgICAgICBpcyBDSksgcHVuY3R1YXRpb25cbi8vIFxcdWZmMWEtXFx1ZmYxZlxcdWZmMDEtXFx1ZmYwZlxcdWZmM2ItXFx1ZmY0MFxcdWZmNWItXFx1ZmY2NVxuLy8gICAgICAgICAgICAgaXMgc29tZSBmdWxsLXdpZHRoL2hhbGYtd2lkdGggcHVuY3R1YXRpb25cbi8vIFxcdTJFMkVcXHUwNjFmXFx1MDY2YS1cXHUwNjZjXFx1MDYxYlxcdTA2MGNcXHUwNjBkXFx1RkQzZVxcdUZEM0Zcbi8vICAgICAgICAgICAgIGlzIHNvbWUgQXJhYmljIHB1bmN0dWF0aW9uIG1hcmtzXG4vLyBcXHUxODAxXFx1MDk2NFxcdTEwNGFcXHUxMDRiXG4vLyAgICAgICAgICAgICBpcyBtaXNjLiBvdGhlciBsYW5ndWFnZSBwdW5jdHVhdGlvbiBtYXJrc1xuXG52YXIgUFVOQ1RVQVRJT04gPSAnWy4sKyo/JHwje30oKVxcJ1xcXFxeXFxcXC1cXFxcW1xcXFxdXFxcXFxcXFxcXFxcLyFAJVwifj08Pl86OycgKyAnXFx1MzBGQlxcdTMwMDFcXHUzMDAyXFx1MzAwOC1cXHUzMDExXFx1MzAxNC1cXHUzMDFGXFx1RkYxQS1cXHVGRjFGXFx1RkYwMS1cXHVGRjBGJyArICdcXHVGRjNCLVxcdUZGNDBcXHVGRjVCLVxcdUZGNjVcXHUyRTJFXFx1MDYxRlxcdTA2NkEtXFx1MDY2Q1xcdTA2MUJcXHUwNjBDXFx1MDYwRCcgKyAnXFx1RkQzRVxcdUZEM0ZcXHUxODAxXFx1MDk2NFxcdTEwNEFcXHUxMDRCXFx1MjAxMC1cXHUyMDI3XFx1MjAzMC1cXHUyMDVFJyArICdcXHhBMS1cXHhCMVxceEI0LVxceEI4XFx4QkFcXHhCQlxceEJGXSc7XG5cbm1vZHVsZS5leHBvcnRzID0ge1xuICBnZXRQdW5jdHVhdGlvbjogZnVuY3Rpb24gZ2V0UHVuY3R1YXRpb24oKSB7XG4gICAgcmV0dXJuIFBVTkNUVUFUSU9OO1xuICB9XG59OyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/fbjs/lib/TokenizeUtil.js\n"); +eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n * @stub\n * \n */\n // \\u00a1-\\u00b1\\u00b4-\\u00b8\\u00ba\\u00bb\\u00bf\n// is latin supplement punctuation except fractions and superscript\n// numbers\n// \\u2010-\\u2027\\u2030-\\u205e\n// is punctuation from the general punctuation block:\n// weird quotes, commas, bullets, dashes, etc.\n// \\u30fb\\u3001\\u3002\\u3008-\\u3011\\u3014-\\u301f\n// is CJK punctuation\n// \\uff1a-\\uff1f\\uff01-\\uff0f\\uff3b-\\uff40\\uff5b-\\uff65\n// is some full-width/half-width punctuation\n// \\u2E2E\\u061f\\u066a-\\u066c\\u061b\\u060c\\u060d\\uFD3e\\uFD3F\n// is some Arabic punctuation marks\n// \\u1801\\u0964\\u104a\\u104b\n// is misc. other language punctuation marks\n\nvar PUNCTUATION = '[.,+*?$|#{}()\\'\\\\^\\\\-\\\\[\\\\]\\\\\\\\\\\\/!@%\"~=<>_:;' + \"\\u30FB\\u3001\\u3002\\u3008-\\u3011\\u3014-\\u301F\\uFF1A-\\uFF1F\\uFF01-\\uFF0F\" + \"\\uFF3B-\\uFF40\\uFF5B-\\uFF65\\u2E2E\\u061F\\u066A-\\u066C\\u061B\\u060C\\u060D\" + \"\\uFD3E\\uFD3F\\u1801\\u0964\\u104A\\u104B\\u2010-\\u2027\\u2030-\\u205E\" + \"\\xA1-\\xB1\\xB4-\\xB8\\xBA\\xBB\\xBF]\";\nmodule.exports = {\n getPunctuation: function getPunctuation() {\n return PUNCTUATION;\n }\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvVG9rZW5pemVVdGlsLmpzPzdhZjYiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLDhCQUE4QixrQ0FBa0M7QUFDaEU7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9mYmpzL2xpYi9Ub2tlbml6ZVV0aWwuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxMy1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIEB0eXBlY2hlY2tzXG4gKiBAc3R1YlxuICogXG4gKi9cbid1c2Ugc3RyaWN0JzsgLy8gXFx1MDBhMS1cXHUwMGIxXFx1MDBiNC1cXHUwMGI4XFx1MDBiYVxcdTAwYmJcXHUwMGJmXG4vLyAgICAgICAgICAgICBpcyBsYXRpbiBzdXBwbGVtZW50IHB1bmN0dWF0aW9uIGV4Y2VwdCBmcmFjdGlvbnMgYW5kIHN1cGVyc2NyaXB0XG4vLyAgICAgICAgICAgICBudW1iZXJzXG4vLyBcXHUyMDEwLVxcdTIwMjdcXHUyMDMwLVxcdTIwNWVcbi8vICAgICAgICAgICAgIGlzIHB1bmN0dWF0aW9uIGZyb20gdGhlIGdlbmVyYWwgcHVuY3R1YXRpb24gYmxvY2s6XG4vLyAgICAgICAgICAgICB3ZWlyZCBxdW90ZXMsIGNvbW1hcywgYnVsbGV0cywgZGFzaGVzLCBldGMuXG4vLyBcXHUzMGZiXFx1MzAwMVxcdTMwMDJcXHUzMDA4LVxcdTMwMTFcXHUzMDE0LVxcdTMwMWZcbi8vICAgICAgICAgICAgIGlzIENKSyBwdW5jdHVhdGlvblxuLy8gXFx1ZmYxYS1cXHVmZjFmXFx1ZmYwMS1cXHVmZjBmXFx1ZmYzYi1cXHVmZjQwXFx1ZmY1Yi1cXHVmZjY1XG4vLyAgICAgICAgICAgICBpcyBzb21lIGZ1bGwtd2lkdGgvaGFsZi13aWR0aCBwdW5jdHVhdGlvblxuLy8gXFx1MkUyRVxcdTA2MWZcXHUwNjZhLVxcdTA2NmNcXHUwNjFiXFx1MDYwY1xcdTA2MGRcXHVGRDNlXFx1RkQzRlxuLy8gICAgICAgICAgICAgaXMgc29tZSBBcmFiaWMgcHVuY3R1YXRpb24gbWFya3Ncbi8vIFxcdTE4MDFcXHUwOTY0XFx1MTA0YVxcdTEwNGJcbi8vICAgICAgICAgICAgIGlzIG1pc2MuIG90aGVyIGxhbmd1YWdlIHB1bmN0dWF0aW9uIG1hcmtzXG5cbnZhciBQVU5DVFVBVElPTiA9ICdbLiwrKj8kfCN7fSgpXFwnXFxcXF5cXFxcLVxcXFxbXFxcXF1cXFxcXFxcXFxcXFwvIUAlXCJ+PTw+Xzo7JyArIFwiXFx1MzBGQlxcdTMwMDFcXHUzMDAyXFx1MzAwOC1cXHUzMDExXFx1MzAxNC1cXHUzMDFGXFx1RkYxQS1cXHVGRjFGXFx1RkYwMS1cXHVGRjBGXCIgKyBcIlxcdUZGM0ItXFx1RkY0MFxcdUZGNUItXFx1RkY2NVxcdTJFMkVcXHUwNjFGXFx1MDY2QS1cXHUwNjZDXFx1MDYxQlxcdTA2MENcXHUwNjBEXCIgKyBcIlxcdUZEM0VcXHVGRDNGXFx1MTgwMVxcdTA5NjRcXHUxMDRBXFx1MTA0QlxcdTIwMTAtXFx1MjAyN1xcdTIwMzAtXFx1MjA1RVwiICsgXCJcXHhBMS1cXHhCMVxceEI0LVxceEI4XFx4QkFcXHhCQlxceEJGXVwiO1xubW9kdWxlLmV4cG9ydHMgPSB7XG4gIGdldFB1bmN0dWF0aW9uOiBmdW5jdGlvbiBnZXRQdW5jdHVhdGlvbigpIHtcbiAgICByZXR1cm4gUFVOQ1RVQVRJT047XG4gIH1cbn07Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/fbjs/lib/TokenizeUtil.js\n"); /***/ }), @@ -1433,7 +1660,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source cod /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\n\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar URI = function () {\n function URI(uri) {\n _classCallCheck(this, URI);\n\n this._uri = uri;\n }\n\n URI.prototype.toString = function toString() {\n return this._uri;\n };\n\n return URI;\n}();\n\nmodule.exports = URI;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvVVJJLmpzPzY3ZGIiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFYTs7QUFFYixpREFBaUQsMENBQTBDLDBEQUEwRCxFQUFFOztBQUV2SjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxDQUFDOztBQUVEIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2ZianMvbGliL1VSSS5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICogXG4gKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG5mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7IGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7IH0gfVxuXG52YXIgVVJJID0gZnVuY3Rpb24gKCkge1xuICBmdW5jdGlvbiBVUkkodXJpKSB7XG4gICAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIFVSSSk7XG5cbiAgICB0aGlzLl91cmkgPSB1cmk7XG4gIH1cblxuICBVUkkucHJvdG90eXBlLnRvU3RyaW5nID0gZnVuY3Rpb24gdG9TdHJpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3VyaTtcbiAgfTtcblxuICByZXR1cm4gVVJJO1xufSgpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IFVSSTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/fbjs/lib/URI.js\n"); +eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar URI =\n/*#__PURE__*/\nfunction () {\n function URI(uri) {\n _defineProperty(this, \"_uri\", void 0);\n\n this._uri = uri;\n }\n\n var _proto = URI.prototype;\n\n _proto.toString = function toString() {\n return this._uri;\n };\n\n return URI;\n}();\n\nmodule.exports = URI;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvVVJJLmpzPzY3ZGIiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNhOztBQUViLDJDQUEyQyxrQkFBa0Isa0NBQWtDLHFFQUFxRSxFQUFFLEVBQUUsT0FBTyxrQkFBa0IsRUFBRSxZQUFZOztBQUUvTTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsQ0FBQzs7QUFFRCIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9mYmpzL2xpYi9VUkkuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxMy1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIFxuICovXG4ndXNlIHN0cmljdCc7XG5cbmZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgdmFsdWUpIHsgaWYgKGtleSBpbiBvYmopIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwga2V5LCB7IHZhbHVlOiB2YWx1ZSwgZW51bWVyYWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCB3cml0YWJsZTogdHJ1ZSB9KTsgfSBlbHNlIHsgb2JqW2tleV0gPSB2YWx1ZTsgfSByZXR1cm4gb2JqOyB9XG5cbnZhciBVUkkgPVxuLyojX19QVVJFX18qL1xuZnVuY3Rpb24gKCkge1xuICBmdW5jdGlvbiBVUkkodXJpKSB7XG4gICAgX2RlZmluZVByb3BlcnR5KHRoaXMsIFwiX3VyaVwiLCB2b2lkIDApO1xuXG4gICAgdGhpcy5fdXJpID0gdXJpO1xuICB9XG5cbiAgdmFyIF9wcm90byA9IFVSSS5wcm90b3R5cGU7XG5cbiAgX3Byb3RvLnRvU3RyaW5nID0gZnVuY3Rpb24gdG9TdHJpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3VyaTtcbiAgfTtcblxuICByZXR1cm4gVVJJO1xufSgpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IFVSSTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/fbjs/lib/URI.js\n"); /***/ }), @@ -1445,7 +1672,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source cod /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n * \n */\n\n/**\n * Basic (stateless) API for text direction detection\n *\n * Part of our implementation of Unicode Bidirectional Algorithm (UBA)\n * Unicode Standard Annex #9 (UAX9)\n * http://www.unicode.org/reports/tr9/\n */\n\n\n\nvar UnicodeBidiDirection = __webpack_require__(/*! ./UnicodeBidiDirection */ \"./node_modules/fbjs/lib/UnicodeBidiDirection.js\");\n\nvar invariant = __webpack_require__(/*! ./invariant */ \"./node_modules/fbjs/lib/invariant.js\");\n\n/**\n * RegExp ranges of characters with a *Strong* Bidi_Class value.\n *\n * Data is based on DerivedBidiClass.txt in UCD version 7.0.0.\n *\n * NOTE: For performance reasons, we only support Unicode's\n * Basic Multilingual Plane (BMP) for now.\n */\nvar RANGE_BY_BIDI_TYPE = {\n\n L: 'A-Za-z\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u01BA\\u01BB' + '\\u01BC-\\u01BF\\u01C0-\\u01C3\\u01C4-\\u0293\\u0294\\u0295-\\u02AF\\u02B0-\\u02B8' + '\\u02BB-\\u02C1\\u02D0-\\u02D1\\u02E0-\\u02E4\\u02EE\\u0370-\\u0373\\u0376-\\u0377' + '\\u037A\\u037B-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1' + '\\u03A3-\\u03F5\\u03F7-\\u0481\\u0482\\u048A-\\u052F\\u0531-\\u0556\\u0559' + '\\u055A-\\u055F\\u0561-\\u0587\\u0589\\u0903\\u0904-\\u0939\\u093B\\u093D' + '\\u093E-\\u0940\\u0949-\\u094C\\u094E-\\u094F\\u0950\\u0958-\\u0961\\u0964-\\u0965' + '\\u0966-\\u096F\\u0970\\u0971\\u0972-\\u0980\\u0982-\\u0983\\u0985-\\u098C' + '\\u098F-\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD' + '\\u09BE-\\u09C0\\u09C7-\\u09C8\\u09CB-\\u09CC\\u09CE\\u09D7\\u09DC-\\u09DD' + '\\u09DF-\\u09E1\\u09E6-\\u09EF\\u09F0-\\u09F1\\u09F4-\\u09F9\\u09FA\\u0A03' + '\\u0A05-\\u0A0A\\u0A0F-\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32-\\u0A33' + '\\u0A35-\\u0A36\\u0A38-\\u0A39\\u0A3E-\\u0A40\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A6F' + '\\u0A72-\\u0A74\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0' + '\\u0AB2-\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0ABE-\\u0AC0\\u0AC9\\u0ACB-\\u0ACC\\u0AD0' + '\\u0AE0-\\u0AE1\\u0AE6-\\u0AEF\\u0AF0\\u0B02-\\u0B03\\u0B05-\\u0B0C\\u0B0F-\\u0B10' + '\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32-\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B3E\\u0B40' + '\\u0B47-\\u0B48\\u0B4B-\\u0B4C\\u0B57\\u0B5C-\\u0B5D\\u0B5F-\\u0B61\\u0B66-\\u0B6F' + '\\u0B70\\u0B71\\u0B72-\\u0B77\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95' + '\\u0B99-\\u0B9A\\u0B9C\\u0B9E-\\u0B9F\\u0BA3-\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9' + '\\u0BBE-\\u0BBF\\u0BC1-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCC\\u0BD0\\u0BD7' + '\\u0BE6-\\u0BEF\\u0BF0-\\u0BF2\\u0C01-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10' + '\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C41-\\u0C44\\u0C58-\\u0C59\\u0C60-\\u0C61' + '\\u0C66-\\u0C6F\\u0C7F\\u0C82-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8' + '\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CBE\\u0CBF\\u0CC0-\\u0CC4\\u0CC6' + '\\u0CC7-\\u0CC8\\u0CCA-\\u0CCB\\u0CD5-\\u0CD6\\u0CDE\\u0CE0-\\u0CE1\\u0CE6-\\u0CEF' + '\\u0CF1-\\u0CF2\\u0D02-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D' + '\\u0D3E-\\u0D40\\u0D46-\\u0D48\\u0D4A-\\u0D4C\\u0D4E\\u0D57\\u0D60-\\u0D61' + '\\u0D66-\\u0D6F\\u0D70-\\u0D75\\u0D79\\u0D7A-\\u0D7F\\u0D82-\\u0D83\\u0D85-\\u0D96' + '\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCF-\\u0DD1\\u0DD8-\\u0DDF' + '\\u0DE6-\\u0DEF\\u0DF2-\\u0DF3\\u0DF4\\u0E01-\\u0E30\\u0E32-\\u0E33\\u0E40-\\u0E45' + '\\u0E46\\u0E4F\\u0E50-\\u0E59\\u0E5A-\\u0E5B\\u0E81-\\u0E82\\u0E84\\u0E87-\\u0E88' + '\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7' + '\\u0EAA-\\u0EAB\\u0EAD-\\u0EB0\\u0EB2-\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6' + '\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F01-\\u0F03\\u0F04-\\u0F12\\u0F13\\u0F14' + '\\u0F15-\\u0F17\\u0F1A-\\u0F1F\\u0F20-\\u0F29\\u0F2A-\\u0F33\\u0F34\\u0F36\\u0F38' + '\\u0F3E-\\u0F3F\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F7F\\u0F85\\u0F88-\\u0F8C' + '\\u0FBE-\\u0FC5\\u0FC7-\\u0FCC\\u0FCE-\\u0FCF\\u0FD0-\\u0FD4\\u0FD5-\\u0FD8' + '\\u0FD9-\\u0FDA\\u1000-\\u102A\\u102B-\\u102C\\u1031\\u1038\\u103B-\\u103C\\u103F' + '\\u1040-\\u1049\\u104A-\\u104F\\u1050-\\u1055\\u1056-\\u1057\\u105A-\\u105D\\u1061' + '\\u1062-\\u1064\\u1065-\\u1066\\u1067-\\u106D\\u106E-\\u1070\\u1075-\\u1081' + '\\u1083-\\u1084\\u1087-\\u108C\\u108E\\u108F\\u1090-\\u1099\\u109A-\\u109C' + '\\u109E-\\u109F\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FB\\u10FC' + '\\u10FD-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288' + '\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5' + '\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1360-\\u1368' + '\\u1369-\\u137C\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C\\u166D-\\u166E' + '\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EB-\\u16ED\\u16EE-\\u16F0' + '\\u16F1-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1735-\\u1736' + '\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17B6\\u17BE-\\u17C5' + '\\u17C7-\\u17C8\\u17D4-\\u17D6\\u17D7\\u17D8-\\u17DA\\u17DC\\u17E0-\\u17E9' + '\\u1810-\\u1819\\u1820-\\u1842\\u1843\\u1844-\\u1877\\u1880-\\u18A8\\u18AA' + '\\u18B0-\\u18F5\\u1900-\\u191E\\u1923-\\u1926\\u1929-\\u192B\\u1930-\\u1931' + '\\u1933-\\u1938\\u1946-\\u194F\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB' + '\\u19B0-\\u19C0\\u19C1-\\u19C7\\u19C8-\\u19C9\\u19D0-\\u19D9\\u19DA\\u1A00-\\u1A16' + '\\u1A19-\\u1A1A\\u1A1E-\\u1A1F\\u1A20-\\u1A54\\u1A55\\u1A57\\u1A61\\u1A63-\\u1A64' + '\\u1A6D-\\u1A72\\u1A80-\\u1A89\\u1A90-\\u1A99\\u1AA0-\\u1AA6\\u1AA7\\u1AA8-\\u1AAD' + '\\u1B04\\u1B05-\\u1B33\\u1B35\\u1B3B\\u1B3D-\\u1B41\\u1B43-\\u1B44\\u1B45-\\u1B4B' + '\\u1B50-\\u1B59\\u1B5A-\\u1B60\\u1B61-\\u1B6A\\u1B74-\\u1B7C\\u1B82\\u1B83-\\u1BA0' + '\\u1BA1\\u1BA6-\\u1BA7\\u1BAA\\u1BAE-\\u1BAF\\u1BB0-\\u1BB9\\u1BBA-\\u1BE5\\u1BE7' + '\\u1BEA-\\u1BEC\\u1BEE\\u1BF2-\\u1BF3\\u1BFC-\\u1BFF\\u1C00-\\u1C23\\u1C24-\\u1C2B' + '\\u1C34-\\u1C35\\u1C3B-\\u1C3F\\u1C40-\\u1C49\\u1C4D-\\u1C4F\\u1C50-\\u1C59' + '\\u1C5A-\\u1C77\\u1C78-\\u1C7D\\u1C7E-\\u1C7F\\u1CC0-\\u1CC7\\u1CD3\\u1CE1' + '\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF2-\\u1CF3\\u1CF5-\\u1CF6\\u1D00-\\u1D2B' + '\\u1D2C-\\u1D6A\\u1D6B-\\u1D77\\u1D78\\u1D79-\\u1D9A\\u1D9B-\\u1DBF\\u1E00-\\u1F15' + '\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D' + '\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC' + '\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200E' + '\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D' + '\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2134\\u2135-\\u2138\\u2139' + '\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u214F\\u2160-\\u2182\\u2183-\\u2184' + '\\u2185-\\u2188\\u2336-\\u237A\\u2395\\u249C-\\u24E9\\u26AC\\u2800-\\u28FF' + '\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2C7B\\u2C7C-\\u2C7D\\u2C7E-\\u2CE4' + '\\u2CEB-\\u2CEE\\u2CF2-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F' + '\\u2D70\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE' + '\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u3005\\u3006\\u3007' + '\\u3021-\\u3029\\u302E-\\u302F\\u3031-\\u3035\\u3038-\\u303A\\u303B\\u303C' + '\\u3041-\\u3096\\u309D-\\u309E\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FE\\u30FF' + '\\u3105-\\u312D\\u3131-\\u318E\\u3190-\\u3191\\u3192-\\u3195\\u3196-\\u319F' + '\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3200-\\u321C\\u3220-\\u3229\\u322A-\\u3247' + '\\u3248-\\u324F\\u3260-\\u327B\\u327F\\u3280-\\u3289\\u328A-\\u32B0\\u32C0-\\u32CB' + '\\u32D0-\\u32FE\\u3300-\\u3376\\u337B-\\u33DD\\u33E0-\\u33FE\\u3400-\\u4DB5' + '\\u4E00-\\u9FCC\\uA000-\\uA014\\uA015\\uA016-\\uA48C\\uA4D0-\\uA4F7\\uA4F8-\\uA4FD' + '\\uA4FE-\\uA4FF\\uA500-\\uA60B\\uA60C\\uA610-\\uA61F\\uA620-\\uA629\\uA62A-\\uA62B' + '\\uA640-\\uA66D\\uA66E\\uA680-\\uA69B\\uA69C-\\uA69D\\uA6A0-\\uA6E5\\uA6E6-\\uA6EF' + '\\uA6F2-\\uA6F7\\uA722-\\uA76F\\uA770\\uA771-\\uA787\\uA789-\\uA78A\\uA78B-\\uA78E' + '\\uA790-\\uA7AD\\uA7B0-\\uA7B1\\uA7F7\\uA7F8-\\uA7F9\\uA7FA\\uA7FB-\\uA801' + '\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA823-\\uA824\\uA827\\uA830-\\uA835' + '\\uA836-\\uA837\\uA840-\\uA873\\uA880-\\uA881\\uA882-\\uA8B3\\uA8B4-\\uA8C3' + '\\uA8CE-\\uA8CF\\uA8D0-\\uA8D9\\uA8F2-\\uA8F7\\uA8F8-\\uA8FA\\uA8FB\\uA900-\\uA909' + '\\uA90A-\\uA925\\uA92E-\\uA92F\\uA930-\\uA946\\uA952-\\uA953\\uA95F\\uA960-\\uA97C' + '\\uA983\\uA984-\\uA9B2\\uA9B4-\\uA9B5\\uA9BA-\\uA9BB\\uA9BD-\\uA9C0\\uA9C1-\\uA9CD' + '\\uA9CF\\uA9D0-\\uA9D9\\uA9DE-\\uA9DF\\uA9E0-\\uA9E4\\uA9E6\\uA9E7-\\uA9EF' + '\\uA9F0-\\uA9F9\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA2F-\\uAA30\\uAA33-\\uAA34' + '\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA4D\\uAA50-\\uAA59\\uAA5C-\\uAA5F\\uAA60-\\uAA6F' + '\\uAA70\\uAA71-\\uAA76\\uAA77-\\uAA79\\uAA7A\\uAA7B\\uAA7D\\uAA7E-\\uAAAF\\uAAB1' + '\\uAAB5-\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADC\\uAADD\\uAADE-\\uAADF' + '\\uAAE0-\\uAAEA\\uAAEB\\uAAEE-\\uAAEF\\uAAF0-\\uAAF1\\uAAF2\\uAAF3-\\uAAF4\\uAAF5' + '\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E' + '\\uAB30-\\uAB5A\\uAB5B\\uAB5C-\\uAB5F\\uAB64-\\uAB65\\uABC0-\\uABE2\\uABE3-\\uABE4' + '\\uABE6-\\uABE7\\uABE9-\\uABEA\\uABEB\\uABEC\\uABF0-\\uABF9\\uAC00-\\uD7A3' + '\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uE000-\\uF8FF\\uF900-\\uFA6D\\uFA70-\\uFAD9' + '\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFF6F\\uFF70' + '\\uFF71-\\uFF9D\\uFF9E-\\uFF9F\\uFFA0-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF' + '\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC',\n\n R: '\\u0590\\u05BE\\u05C0\\u05C3\\u05C6\\u05C8-\\u05CF\\u05D0-\\u05EA\\u05EB-\\u05EF' + '\\u05F0-\\u05F2\\u05F3-\\u05F4\\u05F5-\\u05FF\\u07C0-\\u07C9\\u07CA-\\u07EA' + '\\u07F4-\\u07F5\\u07FA\\u07FB-\\u07FF\\u0800-\\u0815\\u081A\\u0824\\u0828' + '\\u082E-\\u082F\\u0830-\\u083E\\u083F\\u0840-\\u0858\\u085C-\\u085D\\u085E' + '\\u085F-\\u089F\\u200F\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB37\\uFB38-\\uFB3C' + '\\uFB3D\\uFB3E\\uFB3F\\uFB40-\\uFB41\\uFB42\\uFB43-\\uFB44\\uFB45\\uFB46-\\uFB4F',\n\n AL: '\\u0608\\u060B\\u060D\\u061B\\u061C\\u061D\\u061E-\\u061F\\u0620-\\u063F\\u0640' + '\\u0641-\\u064A\\u066D\\u066E-\\u066F\\u0671-\\u06D3\\u06D4\\u06D5\\u06E5-\\u06E6' + '\\u06EE-\\u06EF\\u06FA-\\u06FC\\u06FD-\\u06FE\\u06FF\\u0700-\\u070D\\u070E\\u070F' + '\\u0710\\u0712-\\u072F\\u074B-\\u074C\\u074D-\\u07A5\\u07B1\\u07B2-\\u07BF' + '\\u08A0-\\u08B2\\u08B3-\\u08E3\\uFB50-\\uFBB1\\uFBB2-\\uFBC1\\uFBC2-\\uFBD2' + '\\uFBD3-\\uFD3D\\uFD40-\\uFD4F\\uFD50-\\uFD8F\\uFD90-\\uFD91\\uFD92-\\uFDC7' + '\\uFDC8-\\uFDCF\\uFDF0-\\uFDFB\\uFDFC\\uFDFE-\\uFDFF\\uFE70-\\uFE74\\uFE75' + '\\uFE76-\\uFEFC\\uFEFD-\\uFEFE'\n\n};\n\nvar REGEX_STRONG = new RegExp('[' + RANGE_BY_BIDI_TYPE.L + RANGE_BY_BIDI_TYPE.R + RANGE_BY_BIDI_TYPE.AL + ']');\n\nvar REGEX_RTL = new RegExp('[' + RANGE_BY_BIDI_TYPE.R + RANGE_BY_BIDI_TYPE.AL + ']');\n\n/**\n * Returns the first strong character (has Bidi_Class value of L, R, or AL).\n *\n * @param str A text block; e.g. paragraph, table cell, tag\n * @return A character with strong bidi direction, or null if not found\n */\nfunction firstStrongChar(str) {\n var match = REGEX_STRONG.exec(str);\n return match == null ? null : match[0];\n}\n\n/**\n * Returns the direction of a block of text, based on the direction of its\n * first strong character (has Bidi_Class value of L, R, or AL).\n *\n * @param str A text block; e.g. paragraph, table cell, tag\n * @return The resolved direction\n */\nfunction firstStrongCharDir(str) {\n var strongChar = firstStrongChar(str);\n if (strongChar == null) {\n return UnicodeBidiDirection.NEUTRAL;\n }\n return REGEX_RTL.exec(strongChar) ? UnicodeBidiDirection.RTL : UnicodeBidiDirection.LTR;\n}\n\n/**\n * Returns the direction of a block of text, based on the direction of its\n * first strong character (has Bidi_Class value of L, R, or AL), or a fallback\n * direction, if no strong character is found.\n *\n * This function is supposed to be used in respect to Higher-Level Protocol\n * rule HL1. (http://www.unicode.org/reports/tr9/#HL1)\n *\n * @param str A text block; e.g. paragraph, table cell, tag\n * @param fallback Fallback direction, used if no strong direction detected\n * for the block (default = NEUTRAL)\n * @return The resolved direction\n */\nfunction resolveBlockDir(str, fallback) {\n fallback = fallback || UnicodeBidiDirection.NEUTRAL;\n if (!str.length) {\n return fallback;\n }\n var blockDir = firstStrongCharDir(str);\n return blockDir === UnicodeBidiDirection.NEUTRAL ? fallback : blockDir;\n}\n\n/**\n * Returns the direction of a block of text, based on the direction of its\n * first strong character (has Bidi_Class value of L, R, or AL), or a fallback\n * direction, if no strong character is found.\n *\n * NOTE: This function is similar to resolveBlockDir(), but uses the global\n * direction as the fallback, so it *always* returns a Strong direction,\n * making it useful for integration in places that you need to make the final\n * decision, like setting some CSS class.\n *\n * This function is supposed to be used in respect to Higher-Level Protocol\n * rule HL1. (http://www.unicode.org/reports/tr9/#HL1)\n *\n * @param str A text block; e.g. paragraph, table cell\n * @param strongFallback Fallback direction, used if no strong direction\n * detected for the block (default = global direction)\n * @return The resolved Strong direction\n */\nfunction getDirection(str, strongFallback) {\n if (!strongFallback) {\n strongFallback = UnicodeBidiDirection.getGlobalDir();\n }\n !UnicodeBidiDirection.isStrong(strongFallback) ? true ? invariant(false, 'Fallback direction must be a strong direction') : undefined : void 0;\n return resolveBlockDir(str, strongFallback);\n}\n\n/**\n * Returns true if getDirection(arguments...) returns LTR.\n *\n * @param str A text block; e.g. paragraph, table cell\n * @param strongFallback Fallback direction, used if no strong direction\n * detected for the block (default = global direction)\n * @return True if the resolved direction is LTR\n */\nfunction isDirectionLTR(str, strongFallback) {\n return getDirection(str, strongFallback) === UnicodeBidiDirection.LTR;\n}\n\n/**\n * Returns true if getDirection(arguments...) returns RTL.\n *\n * @param str A text block; e.g. paragraph, table cell\n * @param strongFallback Fallback direction, used if no strong direction\n * detected for the block (default = global direction)\n * @return True if the resolved direction is RTL\n */\nfunction isDirectionRTL(str, strongFallback) {\n return getDirection(str, strongFallback) === UnicodeBidiDirection.RTL;\n}\n\nvar UnicodeBidi = {\n firstStrongChar: firstStrongChar,\n firstStrongCharDir: firstStrongCharDir,\n resolveBlockDir: resolveBlockDir,\n getDirection: getDirection,\n isDirectionLTR: isDirectionLTR,\n isDirectionRTL: isDirectionRTL\n};\n\nmodule.exports = UnicodeBidi;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvVW5pY29kZUJpZGkuanM/N2Q5MCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWE7O0FBRWIsMkJBQTJCLG1CQUFPLENBQUMsK0VBQXdCOztBQUUzRCxnQkFBZ0IsbUJBQU8sQ0FBQyx5REFBYTs7QUFFckM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLDRCQUE0QjtBQUM1QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0QkFBNEI7QUFDNUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQ0FBaUM7QUFDakM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUNBQXVDO0FBQ3ZDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtREFBbUQsS0FBcUMsdUVBQXVFLFNBQWdCO0FBQy9LO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsdUNBQXVDO0FBQ3ZDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLHVDQUF1QztBQUN2QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2ZianMvbGliL1VuaWNvZGVCaWRpLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKiBAdHlwZWNoZWNrc1xuICogXG4gKi9cblxuLyoqXG4gKiBCYXNpYyAoc3RhdGVsZXNzKSBBUEkgZm9yIHRleHQgZGlyZWN0aW9uIGRldGVjdGlvblxuICpcbiAqIFBhcnQgb2Ygb3VyIGltcGxlbWVudGF0aW9uIG9mIFVuaWNvZGUgQmlkaXJlY3Rpb25hbCBBbGdvcml0aG0gKFVCQSlcbiAqIFVuaWNvZGUgU3RhbmRhcmQgQW5uZXggIzkgKFVBWDkpXG4gKiBodHRwOi8vd3d3LnVuaWNvZGUub3JnL3JlcG9ydHMvdHI5L1xuICovXG5cbid1c2Ugc3RyaWN0JztcblxudmFyIFVuaWNvZGVCaWRpRGlyZWN0aW9uID0gcmVxdWlyZSgnLi9Vbmljb2RlQmlkaURpcmVjdGlvbicpO1xuXG52YXIgaW52YXJpYW50ID0gcmVxdWlyZSgnLi9pbnZhcmlhbnQnKTtcblxuLyoqXG4gKiBSZWdFeHAgcmFuZ2VzIG9mIGNoYXJhY3RlcnMgd2l0aCBhICpTdHJvbmcqIEJpZGlfQ2xhc3MgdmFsdWUuXG4gKlxuICogRGF0YSBpcyBiYXNlZCBvbiBEZXJpdmVkQmlkaUNsYXNzLnR4dCBpbiBVQ0QgdmVyc2lvbiA3LjAuMC5cbiAqXG4gKiBOT1RFOiBGb3IgcGVyZm9ybWFuY2UgcmVhc29ucywgd2Ugb25seSBzdXBwb3J0IFVuaWNvZGUnc1xuICogICAgICAgQmFzaWMgTXVsdGlsaW5ndWFsIFBsYW5lIChCTVApIGZvciBub3cuXG4gKi9cbnZhciBSQU5HRV9CWV9CSURJX1RZUEUgPSB7XG5cbiAgTDogJ0EtWmEtelxceEFBXFx4QjVcXHhCQVxceEMwLVxceEQ2XFx4RDgtXFx4RjZcXHhGOC1cXHUwMUJBXFx1MDFCQicgKyAnXFx1MDFCQy1cXHUwMUJGXFx1MDFDMC1cXHUwMUMzXFx1MDFDNC1cXHUwMjkzXFx1MDI5NFxcdTAyOTUtXFx1MDJBRlxcdTAyQjAtXFx1MDJCOCcgKyAnXFx1MDJCQi1cXHUwMkMxXFx1MDJEMC1cXHUwMkQxXFx1MDJFMC1cXHUwMkU0XFx1MDJFRVxcdTAzNzAtXFx1MDM3M1xcdTAzNzYtXFx1MDM3NycgKyAnXFx1MDM3QVxcdTAzN0ItXFx1MDM3RFxcdTAzN0ZcXHUwMzg2XFx1MDM4OC1cXHUwMzhBXFx1MDM4Q1xcdTAzOEUtXFx1MDNBMScgKyAnXFx1MDNBMy1cXHUwM0Y1XFx1MDNGNy1cXHUwNDgxXFx1MDQ4MlxcdTA0OEEtXFx1MDUyRlxcdTA1MzEtXFx1MDU1NlxcdTA1NTknICsgJ1xcdTA1NUEtXFx1MDU1RlxcdTA1NjEtXFx1MDU4N1xcdTA1ODlcXHUwOTAzXFx1MDkwNC1cXHUwOTM5XFx1MDkzQlxcdTA5M0QnICsgJ1xcdTA5M0UtXFx1MDk0MFxcdTA5NDktXFx1MDk0Q1xcdTA5NEUtXFx1MDk0RlxcdTA5NTBcXHUwOTU4LVxcdTA5NjFcXHUwOTY0LVxcdTA5NjUnICsgJ1xcdTA5NjYtXFx1MDk2RlxcdTA5NzBcXHUwOTcxXFx1MDk3Mi1cXHUwOTgwXFx1MDk4Mi1cXHUwOTgzXFx1MDk4NS1cXHUwOThDJyArICdcXHUwOThGLVxcdTA5OTBcXHUwOTkzLVxcdTA5QThcXHUwOUFBLVxcdTA5QjBcXHUwOUIyXFx1MDlCNi1cXHUwOUI5XFx1MDlCRCcgKyAnXFx1MDlCRS1cXHUwOUMwXFx1MDlDNy1cXHUwOUM4XFx1MDlDQi1cXHUwOUNDXFx1MDlDRVxcdTA5RDdcXHUwOURDLVxcdTA5REQnICsgJ1xcdTA5REYtXFx1MDlFMVxcdTA5RTYtXFx1MDlFRlxcdTA5RjAtXFx1MDlGMVxcdTA5RjQtXFx1MDlGOVxcdTA5RkFcXHUwQTAzJyArICdcXHUwQTA1LVxcdTBBMEFcXHUwQTBGLVxcdTBBMTBcXHUwQTEzLVxcdTBBMjhcXHUwQTJBLVxcdTBBMzBcXHUwQTMyLVxcdTBBMzMnICsgJ1xcdTBBMzUtXFx1MEEzNlxcdTBBMzgtXFx1MEEzOVxcdTBBM0UtXFx1MEE0MFxcdTBBNTktXFx1MEE1Q1xcdTBBNUVcXHUwQTY2LVxcdTBBNkYnICsgJ1xcdTBBNzItXFx1MEE3NFxcdTBBODNcXHUwQTg1LVxcdTBBOERcXHUwQThGLVxcdTBBOTFcXHUwQTkzLVxcdTBBQThcXHUwQUFBLVxcdTBBQjAnICsgJ1xcdTBBQjItXFx1MEFCM1xcdTBBQjUtXFx1MEFCOVxcdTBBQkRcXHUwQUJFLVxcdTBBQzBcXHUwQUM5XFx1MEFDQi1cXHUwQUNDXFx1MEFEMCcgKyAnXFx1MEFFMC1cXHUwQUUxXFx1MEFFNi1cXHUwQUVGXFx1MEFGMFxcdTBCMDItXFx1MEIwM1xcdTBCMDUtXFx1MEIwQ1xcdTBCMEYtXFx1MEIxMCcgKyAnXFx1MEIxMy1cXHUwQjI4XFx1MEIyQS1cXHUwQjMwXFx1MEIzMi1cXHUwQjMzXFx1MEIzNS1cXHUwQjM5XFx1MEIzRFxcdTBCM0VcXHUwQjQwJyArICdcXHUwQjQ3LVxcdTBCNDhcXHUwQjRCLVxcdTBCNENcXHUwQjU3XFx1MEI1Qy1cXHUwQjVEXFx1MEI1Ri1cXHUwQjYxXFx1MEI2Ni1cXHUwQjZGJyArICdcXHUwQjcwXFx1MEI3MVxcdTBCNzItXFx1MEI3N1xcdTBCODNcXHUwQjg1LVxcdTBCOEFcXHUwQjhFLVxcdTBCOTBcXHUwQjkyLVxcdTBCOTUnICsgJ1xcdTBCOTktXFx1MEI5QVxcdTBCOUNcXHUwQjlFLVxcdTBCOUZcXHUwQkEzLVxcdTBCQTRcXHUwQkE4LVxcdTBCQUFcXHUwQkFFLVxcdTBCQjknICsgJ1xcdTBCQkUtXFx1MEJCRlxcdTBCQzEtXFx1MEJDMlxcdTBCQzYtXFx1MEJDOFxcdTBCQ0EtXFx1MEJDQ1xcdTBCRDBcXHUwQkQ3JyArICdcXHUwQkU2LVxcdTBCRUZcXHUwQkYwLVxcdTBCRjJcXHUwQzAxLVxcdTBDMDNcXHUwQzA1LVxcdTBDMENcXHUwQzBFLVxcdTBDMTAnICsgJ1xcdTBDMTItXFx1MEMyOFxcdTBDMkEtXFx1MEMzOVxcdTBDM0RcXHUwQzQxLVxcdTBDNDRcXHUwQzU4LVxcdTBDNTlcXHUwQzYwLVxcdTBDNjEnICsgJ1xcdTBDNjYtXFx1MEM2RlxcdTBDN0ZcXHUwQzgyLVxcdTBDODNcXHUwQzg1LVxcdTBDOENcXHUwQzhFLVxcdTBDOTBcXHUwQzkyLVxcdTBDQTgnICsgJ1xcdTBDQUEtXFx1MENCM1xcdTBDQjUtXFx1MENCOVxcdTBDQkRcXHUwQ0JFXFx1MENCRlxcdTBDQzAtXFx1MENDNFxcdTBDQzYnICsgJ1xcdTBDQzctXFx1MENDOFxcdTBDQ0EtXFx1MENDQlxcdTBDRDUtXFx1MENENlxcdTBDREVcXHUwQ0UwLVxcdTBDRTFcXHUwQ0U2LVxcdTBDRUYnICsgJ1xcdTBDRjEtXFx1MENGMlxcdTBEMDItXFx1MEQwM1xcdTBEMDUtXFx1MEQwQ1xcdTBEMEUtXFx1MEQxMFxcdTBEMTItXFx1MEQzQVxcdTBEM0QnICsgJ1xcdTBEM0UtXFx1MEQ0MFxcdTBENDYtXFx1MEQ0OFxcdTBENEEtXFx1MEQ0Q1xcdTBENEVcXHUwRDU3XFx1MEQ2MC1cXHUwRDYxJyArICdcXHUwRDY2LVxcdTBENkZcXHUwRDcwLVxcdTBENzVcXHUwRDc5XFx1MEQ3QS1cXHUwRDdGXFx1MEQ4Mi1cXHUwRDgzXFx1MEQ4NS1cXHUwRDk2JyArICdcXHUwRDlBLVxcdTBEQjFcXHUwREIzLVxcdTBEQkJcXHUwREJEXFx1MERDMC1cXHUwREM2XFx1MERDRi1cXHUwREQxXFx1MEREOC1cXHUwRERGJyArICdcXHUwREU2LVxcdTBERUZcXHUwREYyLVxcdTBERjNcXHUwREY0XFx1MEUwMS1cXHUwRTMwXFx1MEUzMi1cXHUwRTMzXFx1MEU0MC1cXHUwRTQ1JyArICdcXHUwRTQ2XFx1MEU0RlxcdTBFNTAtXFx1MEU1OVxcdTBFNUEtXFx1MEU1QlxcdTBFODEtXFx1MEU4MlxcdTBFODRcXHUwRTg3LVxcdTBFODgnICsgJ1xcdTBFOEFcXHUwRThEXFx1MEU5NC1cXHUwRTk3XFx1MEU5OS1cXHUwRTlGXFx1MEVBMS1cXHUwRUEzXFx1MEVBNVxcdTBFQTcnICsgJ1xcdTBFQUEtXFx1MEVBQlxcdTBFQUQtXFx1MEVCMFxcdTBFQjItXFx1MEVCM1xcdTBFQkRcXHUwRUMwLVxcdTBFQzRcXHUwRUM2JyArICdcXHUwRUQwLVxcdTBFRDlcXHUwRURDLVxcdTBFREZcXHUwRjAwXFx1MEYwMS1cXHUwRjAzXFx1MEYwNC1cXHUwRjEyXFx1MEYxM1xcdTBGMTQnICsgJ1xcdTBGMTUtXFx1MEYxN1xcdTBGMUEtXFx1MEYxRlxcdTBGMjAtXFx1MEYyOVxcdTBGMkEtXFx1MEYzM1xcdTBGMzRcXHUwRjM2XFx1MEYzOCcgKyAnXFx1MEYzRS1cXHUwRjNGXFx1MEY0MC1cXHUwRjQ3XFx1MEY0OS1cXHUwRjZDXFx1MEY3RlxcdTBGODVcXHUwRjg4LVxcdTBGOEMnICsgJ1xcdTBGQkUtXFx1MEZDNVxcdTBGQzctXFx1MEZDQ1xcdTBGQ0UtXFx1MEZDRlxcdTBGRDAtXFx1MEZENFxcdTBGRDUtXFx1MEZEOCcgKyAnXFx1MEZEOS1cXHUwRkRBXFx1MTAwMC1cXHUxMDJBXFx1MTAyQi1cXHUxMDJDXFx1MTAzMVxcdTEwMzhcXHUxMDNCLVxcdTEwM0NcXHUxMDNGJyArICdcXHUxMDQwLVxcdTEwNDlcXHUxMDRBLVxcdTEwNEZcXHUxMDUwLVxcdTEwNTVcXHUxMDU2LVxcdTEwNTdcXHUxMDVBLVxcdTEwNURcXHUxMDYxJyArICdcXHUxMDYyLVxcdTEwNjRcXHUxMDY1LVxcdTEwNjZcXHUxMDY3LVxcdTEwNkRcXHUxMDZFLVxcdTEwNzBcXHUxMDc1LVxcdTEwODEnICsgJ1xcdTEwODMtXFx1MTA4NFxcdTEwODctXFx1MTA4Q1xcdTEwOEVcXHUxMDhGXFx1MTA5MC1cXHUxMDk5XFx1MTA5QS1cXHUxMDlDJyArICdcXHUxMDlFLVxcdTEwOUZcXHUxMEEwLVxcdTEwQzVcXHUxMEM3XFx1MTBDRFxcdTEwRDAtXFx1MTBGQVxcdTEwRkJcXHUxMEZDJyArICdcXHUxMEZELVxcdTEyNDhcXHUxMjRBLVxcdTEyNERcXHUxMjUwLVxcdTEyNTZcXHUxMjU4XFx1MTI1QS1cXHUxMjVEXFx1MTI2MC1cXHUxMjg4JyArICdcXHUxMjhBLVxcdTEyOERcXHUxMjkwLVxcdTEyQjBcXHUxMkIyLVxcdTEyQjVcXHUxMkI4LVxcdTEyQkVcXHUxMkMwXFx1MTJDMi1cXHUxMkM1JyArICdcXHUxMkM4LVxcdTEyRDZcXHUxMkQ4LVxcdTEzMTBcXHUxMzEyLVxcdTEzMTVcXHUxMzE4LVxcdTEzNUFcXHUxMzYwLVxcdTEzNjgnICsgJ1xcdTEzNjktXFx1MTM3Q1xcdTEzODAtXFx1MTM4RlxcdTEzQTAtXFx1MTNGNFxcdTE0MDEtXFx1MTY2Q1xcdTE2NkQtXFx1MTY2RScgKyAnXFx1MTY2Ri1cXHUxNjdGXFx1MTY4MS1cXHUxNjlBXFx1MTZBMC1cXHUxNkVBXFx1MTZFQi1cXHUxNkVEXFx1MTZFRS1cXHUxNkYwJyArICdcXHUxNkYxLVxcdTE2RjhcXHUxNzAwLVxcdTE3MENcXHUxNzBFLVxcdTE3MTFcXHUxNzIwLVxcdTE3MzFcXHUxNzM1LVxcdTE3MzYnICsgJ1xcdTE3NDAtXFx1MTc1MVxcdTE3NjAtXFx1MTc2Q1xcdTE3NkUtXFx1MTc3MFxcdTE3ODAtXFx1MTdCM1xcdTE3QjZcXHUxN0JFLVxcdTE3QzUnICsgJ1xcdTE3QzctXFx1MTdDOFxcdTE3RDQtXFx1MTdENlxcdTE3RDdcXHUxN0Q4LVxcdTE3REFcXHUxN0RDXFx1MTdFMC1cXHUxN0U5JyArICdcXHUxODEwLVxcdTE4MTlcXHUxODIwLVxcdTE4NDJcXHUxODQzXFx1MTg0NC1cXHUxODc3XFx1MTg4MC1cXHUxOEE4XFx1MThBQScgKyAnXFx1MThCMC1cXHUxOEY1XFx1MTkwMC1cXHUxOTFFXFx1MTkyMy1cXHUxOTI2XFx1MTkyOS1cXHUxOTJCXFx1MTkzMC1cXHUxOTMxJyArICdcXHUxOTMzLVxcdTE5MzhcXHUxOTQ2LVxcdTE5NEZcXHUxOTUwLVxcdTE5NkRcXHUxOTcwLVxcdTE5NzRcXHUxOTgwLVxcdTE5QUInICsgJ1xcdTE5QjAtXFx1MTlDMFxcdTE5QzEtXFx1MTlDN1xcdTE5QzgtXFx1MTlDOVxcdTE5RDAtXFx1MTlEOVxcdTE5REFcXHUxQTAwLVxcdTFBMTYnICsgJ1xcdTFBMTktXFx1MUExQVxcdTFBMUUtXFx1MUExRlxcdTFBMjAtXFx1MUE1NFxcdTFBNTVcXHUxQTU3XFx1MUE2MVxcdTFBNjMtXFx1MUE2NCcgKyAnXFx1MUE2RC1cXHUxQTcyXFx1MUE4MC1cXHUxQTg5XFx1MUE5MC1cXHUxQTk5XFx1MUFBMC1cXHUxQUE2XFx1MUFBN1xcdTFBQTgtXFx1MUFBRCcgKyAnXFx1MUIwNFxcdTFCMDUtXFx1MUIzM1xcdTFCMzVcXHUxQjNCXFx1MUIzRC1cXHUxQjQxXFx1MUI0My1cXHUxQjQ0XFx1MUI0NS1cXHUxQjRCJyArICdcXHUxQjUwLVxcdTFCNTlcXHUxQjVBLVxcdTFCNjBcXHUxQjYxLVxcdTFCNkFcXHUxQjc0LVxcdTFCN0NcXHUxQjgyXFx1MUI4My1cXHUxQkEwJyArICdcXHUxQkExXFx1MUJBNi1cXHUxQkE3XFx1MUJBQVxcdTFCQUUtXFx1MUJBRlxcdTFCQjAtXFx1MUJCOVxcdTFCQkEtXFx1MUJFNVxcdTFCRTcnICsgJ1xcdTFCRUEtXFx1MUJFQ1xcdTFCRUVcXHUxQkYyLVxcdTFCRjNcXHUxQkZDLVxcdTFCRkZcXHUxQzAwLVxcdTFDMjNcXHUxQzI0LVxcdTFDMkInICsgJ1xcdTFDMzQtXFx1MUMzNVxcdTFDM0ItXFx1MUMzRlxcdTFDNDAtXFx1MUM0OVxcdTFDNEQtXFx1MUM0RlxcdTFDNTAtXFx1MUM1OScgKyAnXFx1MUM1QS1cXHUxQzc3XFx1MUM3OC1cXHUxQzdEXFx1MUM3RS1cXHUxQzdGXFx1MUNDMC1cXHUxQ0M3XFx1MUNEM1xcdTFDRTEnICsgJ1xcdTFDRTktXFx1MUNFQ1xcdTFDRUUtXFx1MUNGMVxcdTFDRjItXFx1MUNGM1xcdTFDRjUtXFx1MUNGNlxcdTFEMDAtXFx1MUQyQicgKyAnXFx1MUQyQy1cXHUxRDZBXFx1MUQ2Qi1cXHUxRDc3XFx1MUQ3OFxcdTFENzktXFx1MUQ5QVxcdTFEOUItXFx1MURCRlxcdTFFMDAtXFx1MUYxNScgKyAnXFx1MUYxOC1cXHUxRjFEXFx1MUYyMC1cXHUxRjQ1XFx1MUY0OC1cXHUxRjREXFx1MUY1MC1cXHUxRjU3XFx1MUY1OVxcdTFGNUJcXHUxRjVEJyArICdcXHUxRjVGLVxcdTFGN0RcXHUxRjgwLVxcdTFGQjRcXHUxRkI2LVxcdTFGQkNcXHUxRkJFXFx1MUZDMi1cXHUxRkM0XFx1MUZDNi1cXHUxRkNDJyArICdcXHUxRkQwLVxcdTFGRDNcXHUxRkQ2LVxcdTFGREJcXHUxRkUwLVxcdTFGRUNcXHUxRkYyLVxcdTFGRjRcXHUxRkY2LVxcdTFGRkNcXHUyMDBFJyArICdcXHUyMDcxXFx1MjA3RlxcdTIwOTAtXFx1MjA5Q1xcdTIxMDJcXHUyMTA3XFx1MjEwQS1cXHUyMTEzXFx1MjExNVxcdTIxMTktXFx1MjExRCcgKyAnXFx1MjEyNFxcdTIxMjZcXHUyMTI4XFx1MjEyQS1cXHUyMTJEXFx1MjEyRi1cXHUyMTM0XFx1MjEzNS1cXHUyMTM4XFx1MjEzOScgKyAnXFx1MjEzQy1cXHUyMTNGXFx1MjE0NS1cXHUyMTQ5XFx1MjE0RVxcdTIxNEZcXHUyMTYwLVxcdTIxODJcXHUyMTgzLVxcdTIxODQnICsgJ1xcdTIxODUtXFx1MjE4OFxcdTIzMzYtXFx1MjM3QVxcdTIzOTVcXHUyNDlDLVxcdTI0RTlcXHUyNkFDXFx1MjgwMC1cXHUyOEZGJyArICdcXHUyQzAwLVxcdTJDMkVcXHUyQzMwLVxcdTJDNUVcXHUyQzYwLVxcdTJDN0JcXHUyQzdDLVxcdTJDN0RcXHUyQzdFLVxcdTJDRTQnICsgJ1xcdTJDRUItXFx1MkNFRVxcdTJDRjItXFx1MkNGM1xcdTJEMDAtXFx1MkQyNVxcdTJEMjdcXHUyRDJEXFx1MkQzMC1cXHUyRDY3XFx1MkQ2RicgKyAnXFx1MkQ3MFxcdTJEODAtXFx1MkQ5NlxcdTJEQTAtXFx1MkRBNlxcdTJEQTgtXFx1MkRBRVxcdTJEQjAtXFx1MkRCNlxcdTJEQjgtXFx1MkRCRScgKyAnXFx1MkRDMC1cXHUyREM2XFx1MkRDOC1cXHUyRENFXFx1MkREMC1cXHUyREQ2XFx1MkREOC1cXHUyRERFXFx1MzAwNVxcdTMwMDZcXHUzMDA3JyArICdcXHUzMDIxLVxcdTMwMjlcXHUzMDJFLVxcdTMwMkZcXHUzMDMxLVxcdTMwMzVcXHUzMDM4LVxcdTMwM0FcXHUzMDNCXFx1MzAzQycgKyAnXFx1MzA0MS1cXHUzMDk2XFx1MzA5RC1cXHUzMDlFXFx1MzA5RlxcdTMwQTEtXFx1MzBGQVxcdTMwRkMtXFx1MzBGRVxcdTMwRkYnICsgJ1xcdTMxMDUtXFx1MzEyRFxcdTMxMzEtXFx1MzE4RVxcdTMxOTAtXFx1MzE5MVxcdTMxOTItXFx1MzE5NVxcdTMxOTYtXFx1MzE5RicgKyAnXFx1MzFBMC1cXHUzMUJBXFx1MzFGMC1cXHUzMUZGXFx1MzIwMC1cXHUzMjFDXFx1MzIyMC1cXHUzMjI5XFx1MzIyQS1cXHUzMjQ3JyArICdcXHUzMjQ4LVxcdTMyNEZcXHUzMjYwLVxcdTMyN0JcXHUzMjdGXFx1MzI4MC1cXHUzMjg5XFx1MzI4QS1cXHUzMkIwXFx1MzJDMC1cXHUzMkNCJyArICdcXHUzMkQwLVxcdTMyRkVcXHUzMzAwLVxcdTMzNzZcXHUzMzdCLVxcdTMzRERcXHUzM0UwLVxcdTMzRkVcXHUzNDAwLVxcdTREQjUnICsgJ1xcdTRFMDAtXFx1OUZDQ1xcdUEwMDAtXFx1QTAxNFxcdUEwMTVcXHVBMDE2LVxcdUE0OENcXHVBNEQwLVxcdUE0RjdcXHVBNEY4LVxcdUE0RkQnICsgJ1xcdUE0RkUtXFx1QTRGRlxcdUE1MDAtXFx1QTYwQlxcdUE2MENcXHVBNjEwLVxcdUE2MUZcXHVBNjIwLVxcdUE2MjlcXHVBNjJBLVxcdUE2MkInICsgJ1xcdUE2NDAtXFx1QTY2RFxcdUE2NkVcXHVBNjgwLVxcdUE2OUJcXHVBNjlDLVxcdUE2OURcXHVBNkEwLVxcdUE2RTVcXHVBNkU2LVxcdUE2RUYnICsgJ1xcdUE2RjItXFx1QTZGN1xcdUE3MjItXFx1QTc2RlxcdUE3NzBcXHVBNzcxLVxcdUE3ODdcXHVBNzg5LVxcdUE3OEFcXHVBNzhCLVxcdUE3OEUnICsgJ1xcdUE3OTAtXFx1QTdBRFxcdUE3QjAtXFx1QTdCMVxcdUE3RjdcXHVBN0Y4LVxcdUE3RjlcXHVBN0ZBXFx1QTdGQi1cXHVBODAxJyArICdcXHVBODAzLVxcdUE4MDVcXHVBODA3LVxcdUE4MEFcXHVBODBDLVxcdUE4MjJcXHVBODIzLVxcdUE4MjRcXHVBODI3XFx1QTgzMC1cXHVBODM1JyArICdcXHVBODM2LVxcdUE4MzdcXHVBODQwLVxcdUE4NzNcXHVBODgwLVxcdUE4ODFcXHVBODgyLVxcdUE4QjNcXHVBOEI0LVxcdUE4QzMnICsgJ1xcdUE4Q0UtXFx1QThDRlxcdUE4RDAtXFx1QThEOVxcdUE4RjItXFx1QThGN1xcdUE4RjgtXFx1QThGQVxcdUE4RkJcXHVBOTAwLVxcdUE5MDknICsgJ1xcdUE5MEEtXFx1QTkyNVxcdUE5MkUtXFx1QTkyRlxcdUE5MzAtXFx1QTk0NlxcdUE5NTItXFx1QTk1M1xcdUE5NUZcXHVBOTYwLVxcdUE5N0MnICsgJ1xcdUE5ODNcXHVBOTg0LVxcdUE5QjJcXHVBOUI0LVxcdUE5QjVcXHVBOUJBLVxcdUE5QkJcXHVBOUJELVxcdUE5QzBcXHVBOUMxLVxcdUE5Q0QnICsgJ1xcdUE5Q0ZcXHVBOUQwLVxcdUE5RDlcXHVBOURFLVxcdUE5REZcXHVBOUUwLVxcdUE5RTRcXHVBOUU2XFx1QTlFNy1cXHVBOUVGJyArICdcXHVBOUYwLVxcdUE5RjlcXHVBOUZBLVxcdUE5RkVcXHVBQTAwLVxcdUFBMjhcXHVBQTJGLVxcdUFBMzBcXHVBQTMzLVxcdUFBMzQnICsgJ1xcdUFBNDAtXFx1QUE0MlxcdUFBNDQtXFx1QUE0QlxcdUFBNERcXHVBQTUwLVxcdUFBNTlcXHVBQTVDLVxcdUFBNUZcXHVBQTYwLVxcdUFBNkYnICsgJ1xcdUFBNzBcXHVBQTcxLVxcdUFBNzZcXHVBQTc3LVxcdUFBNzlcXHVBQTdBXFx1QUE3QlxcdUFBN0RcXHVBQTdFLVxcdUFBQUZcXHVBQUIxJyArICdcXHVBQUI1LVxcdUFBQjZcXHVBQUI5LVxcdUFBQkRcXHVBQUMwXFx1QUFDMlxcdUFBREItXFx1QUFEQ1xcdUFBRERcXHVBQURFLVxcdUFBREYnICsgJ1xcdUFBRTAtXFx1QUFFQVxcdUFBRUJcXHVBQUVFLVxcdUFBRUZcXHVBQUYwLVxcdUFBRjFcXHVBQUYyXFx1QUFGMy1cXHVBQUY0XFx1QUFGNScgKyAnXFx1QUIwMS1cXHVBQjA2XFx1QUIwOS1cXHVBQjBFXFx1QUIxMS1cXHVBQjE2XFx1QUIyMC1cXHVBQjI2XFx1QUIyOC1cXHVBQjJFJyArICdcXHVBQjMwLVxcdUFCNUFcXHVBQjVCXFx1QUI1Qy1cXHVBQjVGXFx1QUI2NC1cXHVBQjY1XFx1QUJDMC1cXHVBQkUyXFx1QUJFMy1cXHVBQkU0JyArICdcXHVBQkU2LVxcdUFCRTdcXHVBQkU5LVxcdUFCRUFcXHVBQkVCXFx1QUJFQ1xcdUFCRjAtXFx1QUJGOVxcdUFDMDAtXFx1RDdBMycgKyAnXFx1RDdCMC1cXHVEN0M2XFx1RDdDQi1cXHVEN0ZCXFx1RTAwMC1cXHVGOEZGXFx1RjkwMC1cXHVGQTZEXFx1RkE3MC1cXHVGQUQ5JyArICdcXHVGQjAwLVxcdUZCMDZcXHVGQjEzLVxcdUZCMTdcXHVGRjIxLVxcdUZGM0FcXHVGRjQxLVxcdUZGNUFcXHVGRjY2LVxcdUZGNkZcXHVGRjcwJyArICdcXHVGRjcxLVxcdUZGOURcXHVGRjlFLVxcdUZGOUZcXHVGRkEwLVxcdUZGQkVcXHVGRkMyLVxcdUZGQzdcXHVGRkNBLVxcdUZGQ0YnICsgJ1xcdUZGRDItXFx1RkZEN1xcdUZGREEtXFx1RkZEQycsXG5cbiAgUjogJ1xcdTA1OTBcXHUwNUJFXFx1MDVDMFxcdTA1QzNcXHUwNUM2XFx1MDVDOC1cXHUwNUNGXFx1MDVEMC1cXHUwNUVBXFx1MDVFQi1cXHUwNUVGJyArICdcXHUwNUYwLVxcdTA1RjJcXHUwNUYzLVxcdTA1RjRcXHUwNUY1LVxcdTA1RkZcXHUwN0MwLVxcdTA3QzlcXHUwN0NBLVxcdTA3RUEnICsgJ1xcdTA3RjQtXFx1MDdGNVxcdTA3RkFcXHUwN0ZCLVxcdTA3RkZcXHUwODAwLVxcdTA4MTVcXHUwODFBXFx1MDgyNFxcdTA4MjgnICsgJ1xcdTA4MkUtXFx1MDgyRlxcdTA4MzAtXFx1MDgzRVxcdTA4M0ZcXHUwODQwLVxcdTA4NThcXHUwODVDLVxcdTA4NURcXHUwODVFJyArICdcXHUwODVGLVxcdTA4OUZcXHUyMDBGXFx1RkIxRFxcdUZCMUYtXFx1RkIyOFxcdUZCMkEtXFx1RkIzNlxcdUZCMzdcXHVGQjM4LVxcdUZCM0MnICsgJ1xcdUZCM0RcXHVGQjNFXFx1RkIzRlxcdUZCNDAtXFx1RkI0MVxcdUZCNDJcXHVGQjQzLVxcdUZCNDRcXHVGQjQ1XFx1RkI0Ni1cXHVGQjRGJyxcblxuICBBTDogJ1xcdTA2MDhcXHUwNjBCXFx1MDYwRFxcdTA2MUJcXHUwNjFDXFx1MDYxRFxcdTA2MUUtXFx1MDYxRlxcdTA2MjAtXFx1MDYzRlxcdTA2NDAnICsgJ1xcdTA2NDEtXFx1MDY0QVxcdTA2NkRcXHUwNjZFLVxcdTA2NkZcXHUwNjcxLVxcdTA2RDNcXHUwNkQ0XFx1MDZENVxcdTA2RTUtXFx1MDZFNicgKyAnXFx1MDZFRS1cXHUwNkVGXFx1MDZGQS1cXHUwNkZDXFx1MDZGRC1cXHUwNkZFXFx1MDZGRlxcdTA3MDAtXFx1MDcwRFxcdTA3MEVcXHUwNzBGJyArICdcXHUwNzEwXFx1MDcxMi1cXHUwNzJGXFx1MDc0Qi1cXHUwNzRDXFx1MDc0RC1cXHUwN0E1XFx1MDdCMVxcdTA3QjItXFx1MDdCRicgKyAnXFx1MDhBMC1cXHUwOEIyXFx1MDhCMy1cXHUwOEUzXFx1RkI1MC1cXHVGQkIxXFx1RkJCMi1cXHVGQkMxXFx1RkJDMi1cXHVGQkQyJyArICdcXHVGQkQzLVxcdUZEM0RcXHVGRDQwLVxcdUZENEZcXHVGRDUwLVxcdUZEOEZcXHVGRDkwLVxcdUZEOTFcXHVGRDkyLVxcdUZEQzcnICsgJ1xcdUZEQzgtXFx1RkRDRlxcdUZERjAtXFx1RkRGQlxcdUZERkNcXHVGREZFLVxcdUZERkZcXHVGRTcwLVxcdUZFNzRcXHVGRTc1JyArICdcXHVGRTc2LVxcdUZFRkNcXHVGRUZELVxcdUZFRkUnXG5cbn07XG5cbnZhciBSRUdFWF9TVFJPTkcgPSBuZXcgUmVnRXhwKCdbJyArIFJBTkdFX0JZX0JJRElfVFlQRS5MICsgUkFOR0VfQllfQklESV9UWVBFLlIgKyBSQU5HRV9CWV9CSURJX1RZUEUuQUwgKyAnXScpO1xuXG52YXIgUkVHRVhfUlRMID0gbmV3IFJlZ0V4cCgnWycgKyBSQU5HRV9CWV9CSURJX1RZUEUuUiArIFJBTkdFX0JZX0JJRElfVFlQRS5BTCArICddJyk7XG5cbi8qKlxuICogUmV0dXJucyB0aGUgZmlyc3Qgc3Ryb25nIGNoYXJhY3RlciAoaGFzIEJpZGlfQ2xhc3MgdmFsdWUgb2YgTCwgUiwgb3IgQUwpLlxuICpcbiAqIEBwYXJhbSBzdHIgIEEgdGV4dCBibG9jazsgZS5nLiBwYXJhZ3JhcGgsIHRhYmxlIGNlbGwsIHRhZ1xuICogQHJldHVybiAgICAgQSBjaGFyYWN0ZXIgd2l0aCBzdHJvbmcgYmlkaSBkaXJlY3Rpb24sIG9yIG51bGwgaWYgbm90IGZvdW5kXG4gKi9cbmZ1bmN0aW9uIGZpcnN0U3Ryb25nQ2hhcihzdHIpIHtcbiAgdmFyIG1hdGNoID0gUkVHRVhfU1RST05HLmV4ZWMoc3RyKTtcbiAgcmV0dXJuIG1hdGNoID09IG51bGwgPyBudWxsIDogbWF0Y2hbMF07XG59XG5cbi8qKlxuICogUmV0dXJucyB0aGUgZGlyZWN0aW9uIG9mIGEgYmxvY2sgb2YgdGV4dCwgYmFzZWQgb24gdGhlIGRpcmVjdGlvbiBvZiBpdHNcbiAqIGZpcnN0IHN0cm9uZyBjaGFyYWN0ZXIgKGhhcyBCaWRpX0NsYXNzIHZhbHVlIG9mIEwsIFIsIG9yIEFMKS5cbiAqXG4gKiBAcGFyYW0gc3RyICBBIHRleHQgYmxvY2s7IGUuZy4gcGFyYWdyYXBoLCB0YWJsZSBjZWxsLCB0YWdcbiAqIEByZXR1cm4gICAgIFRoZSByZXNvbHZlZCBkaXJlY3Rpb25cbiAqL1xuZnVuY3Rpb24gZmlyc3RTdHJvbmdDaGFyRGlyKHN0cikge1xuICB2YXIgc3Ryb25nQ2hhciA9IGZpcnN0U3Ryb25nQ2hhcihzdHIpO1xuICBpZiAoc3Ryb25nQ2hhciA9PSBudWxsKSB7XG4gICAgcmV0dXJuIFVuaWNvZGVCaWRpRGlyZWN0aW9uLk5FVVRSQUw7XG4gIH1cbiAgcmV0dXJuIFJFR0VYX1JUTC5leGVjKHN0cm9uZ0NoYXIpID8gVW5pY29kZUJpZGlEaXJlY3Rpb24uUlRMIDogVW5pY29kZUJpZGlEaXJlY3Rpb24uTFRSO1xufVxuXG4vKipcbiAqIFJldHVybnMgdGhlIGRpcmVjdGlvbiBvZiBhIGJsb2NrIG9mIHRleHQsIGJhc2VkIG9uIHRoZSBkaXJlY3Rpb24gb2YgaXRzXG4gKiBmaXJzdCBzdHJvbmcgY2hhcmFjdGVyIChoYXMgQmlkaV9DbGFzcyB2YWx1ZSBvZiBMLCBSLCBvciBBTCksIG9yIGEgZmFsbGJhY2tcbiAqIGRpcmVjdGlvbiwgaWYgbm8gc3Ryb25nIGNoYXJhY3RlciBpcyBmb3VuZC5cbiAqXG4gKiBUaGlzIGZ1bmN0aW9uIGlzIHN1cHBvc2VkIHRvIGJlIHVzZWQgaW4gcmVzcGVjdCB0byBIaWdoZXItTGV2ZWwgUHJvdG9jb2xcbiAqIHJ1bGUgSEwxLiAoaHR0cDovL3d3dy51bmljb2RlLm9yZy9yZXBvcnRzL3RyOS8jSEwxKVxuICpcbiAqIEBwYXJhbSBzdHIgICAgICAgQSB0ZXh0IGJsb2NrOyBlLmcuIHBhcmFncmFwaCwgdGFibGUgY2VsbCwgdGFnXG4gKiBAcGFyYW0gZmFsbGJhY2sgIEZhbGxiYWNrIGRpcmVjdGlvbiwgdXNlZCBpZiBubyBzdHJvbmcgZGlyZWN0aW9uIGRldGVjdGVkXG4gKiAgICAgICAgICAgICAgICAgIGZvciB0aGUgYmxvY2sgKGRlZmF1bHQgPSBORVVUUkFMKVxuICogQHJldHVybiAgICAgICAgICBUaGUgcmVzb2x2ZWQgZGlyZWN0aW9uXG4gKi9cbmZ1bmN0aW9uIHJlc29sdmVCbG9ja0RpcihzdHIsIGZhbGxiYWNrKSB7XG4gIGZhbGxiYWNrID0gZmFsbGJhY2sgfHwgVW5pY29kZUJpZGlEaXJlY3Rpb24uTkVVVFJBTDtcbiAgaWYgKCFzdHIubGVuZ3RoKSB7XG4gICAgcmV0dXJuIGZhbGxiYWNrO1xuICB9XG4gIHZhciBibG9ja0RpciA9IGZpcnN0U3Ryb25nQ2hhckRpcihzdHIpO1xuICByZXR1cm4gYmxvY2tEaXIgPT09IFVuaWNvZGVCaWRpRGlyZWN0aW9uLk5FVVRSQUwgPyBmYWxsYmFjayA6IGJsb2NrRGlyO1xufVxuXG4vKipcbiAqIFJldHVybnMgdGhlIGRpcmVjdGlvbiBvZiBhIGJsb2NrIG9mIHRleHQsIGJhc2VkIG9uIHRoZSBkaXJlY3Rpb24gb2YgaXRzXG4gKiBmaXJzdCBzdHJvbmcgY2hhcmFjdGVyIChoYXMgQmlkaV9DbGFzcyB2YWx1ZSBvZiBMLCBSLCBvciBBTCksIG9yIGEgZmFsbGJhY2tcbiAqIGRpcmVjdGlvbiwgaWYgbm8gc3Ryb25nIGNoYXJhY3RlciBpcyBmb3VuZC5cbiAqXG4gKiBOT1RFOiBUaGlzIGZ1bmN0aW9uIGlzIHNpbWlsYXIgdG8gcmVzb2x2ZUJsb2NrRGlyKCksIGJ1dCB1c2VzIHRoZSBnbG9iYWxcbiAqIGRpcmVjdGlvbiBhcyB0aGUgZmFsbGJhY2ssIHNvIGl0ICphbHdheXMqIHJldHVybnMgYSBTdHJvbmcgZGlyZWN0aW9uLFxuICogbWFraW5nIGl0IHVzZWZ1bCBmb3IgaW50ZWdyYXRpb24gaW4gcGxhY2VzIHRoYXQgeW91IG5lZWQgdG8gbWFrZSB0aGUgZmluYWxcbiAqIGRlY2lzaW9uLCBsaWtlIHNldHRpbmcgc29tZSBDU1MgY2xhc3MuXG4gKlxuICogVGhpcyBmdW5jdGlvbiBpcyBzdXBwb3NlZCB0byBiZSB1c2VkIGluIHJlc3BlY3QgdG8gSGlnaGVyLUxldmVsIFByb3RvY29sXG4gKiBydWxlIEhMMS4gKGh0dHA6Ly93d3cudW5pY29kZS5vcmcvcmVwb3J0cy90cjkvI0hMMSlcbiAqXG4gKiBAcGFyYW0gc3RyICAgICAgICAgICAgIEEgdGV4dCBibG9jazsgZS5nLiBwYXJhZ3JhcGgsIHRhYmxlIGNlbGxcbiAqIEBwYXJhbSBzdHJvbmdGYWxsYmFjayAgRmFsbGJhY2sgZGlyZWN0aW9uLCB1c2VkIGlmIG5vIHN0cm9uZyBkaXJlY3Rpb25cbiAqICAgICAgICAgICAgICAgICAgICAgICAgZGV0ZWN0ZWQgZm9yIHRoZSBibG9jayAoZGVmYXVsdCA9IGdsb2JhbCBkaXJlY3Rpb24pXG4gKiBAcmV0dXJuICAgICAgICAgICAgICAgIFRoZSByZXNvbHZlZCBTdHJvbmcgZGlyZWN0aW9uXG4gKi9cbmZ1bmN0aW9uIGdldERpcmVjdGlvbihzdHIsIHN0cm9uZ0ZhbGxiYWNrKSB7XG4gIGlmICghc3Ryb25nRmFsbGJhY2spIHtcbiAgICBzdHJvbmdGYWxsYmFjayA9IFVuaWNvZGVCaWRpRGlyZWN0aW9uLmdldEdsb2JhbERpcigpO1xuICB9XG4gICFVbmljb2RlQmlkaURpcmVjdGlvbi5pc1N0cm9uZyhzdHJvbmdGYWxsYmFjaykgPyBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nID8gaW52YXJpYW50KGZhbHNlLCAnRmFsbGJhY2sgZGlyZWN0aW9uIG11c3QgYmUgYSBzdHJvbmcgZGlyZWN0aW9uJykgOiBpbnZhcmlhbnQoZmFsc2UpIDogdm9pZCAwO1xuICByZXR1cm4gcmVzb2x2ZUJsb2NrRGlyKHN0ciwgc3Ryb25nRmFsbGJhY2spO1xufVxuXG4vKipcbiAqIFJldHVybnMgdHJ1ZSBpZiBnZXREaXJlY3Rpb24oYXJndW1lbnRzLi4uKSByZXR1cm5zIExUUi5cbiAqXG4gKiBAcGFyYW0gc3RyICAgICAgICAgICAgIEEgdGV4dCBibG9jazsgZS5nLiBwYXJhZ3JhcGgsIHRhYmxlIGNlbGxcbiAqIEBwYXJhbSBzdHJvbmdGYWxsYmFjayAgRmFsbGJhY2sgZGlyZWN0aW9uLCB1c2VkIGlmIG5vIHN0cm9uZyBkaXJlY3Rpb25cbiAqICAgICAgICAgICAgICAgICAgICAgICAgZGV0ZWN0ZWQgZm9yIHRoZSBibG9jayAoZGVmYXVsdCA9IGdsb2JhbCBkaXJlY3Rpb24pXG4gKiBAcmV0dXJuICAgICAgICAgICAgICAgIFRydWUgaWYgdGhlIHJlc29sdmVkIGRpcmVjdGlvbiBpcyBMVFJcbiAqL1xuZnVuY3Rpb24gaXNEaXJlY3Rpb25MVFIoc3RyLCBzdHJvbmdGYWxsYmFjaykge1xuICByZXR1cm4gZ2V0RGlyZWN0aW9uKHN0ciwgc3Ryb25nRmFsbGJhY2spID09PSBVbmljb2RlQmlkaURpcmVjdGlvbi5MVFI7XG59XG5cbi8qKlxuICogUmV0dXJucyB0cnVlIGlmIGdldERpcmVjdGlvbihhcmd1bWVudHMuLi4pIHJldHVybnMgUlRMLlxuICpcbiAqIEBwYXJhbSBzdHIgICAgICAgICAgICAgQSB0ZXh0IGJsb2NrOyBlLmcuIHBhcmFncmFwaCwgdGFibGUgY2VsbFxuICogQHBhcmFtIHN0cm9uZ0ZhbGxiYWNrICBGYWxsYmFjayBkaXJlY3Rpb24sIHVzZWQgaWYgbm8gc3Ryb25nIGRpcmVjdGlvblxuICogICAgICAgICAgICAgICAgICAgICAgICBkZXRlY3RlZCBmb3IgdGhlIGJsb2NrIChkZWZhdWx0ID0gZ2xvYmFsIGRpcmVjdGlvbilcbiAqIEByZXR1cm4gICAgICAgICAgICAgICAgVHJ1ZSBpZiB0aGUgcmVzb2x2ZWQgZGlyZWN0aW9uIGlzIFJUTFxuICovXG5mdW5jdGlvbiBpc0RpcmVjdGlvblJUTChzdHIsIHN0cm9uZ0ZhbGxiYWNrKSB7XG4gIHJldHVybiBnZXREaXJlY3Rpb24oc3RyLCBzdHJvbmdGYWxsYmFjaykgPT09IFVuaWNvZGVCaWRpRGlyZWN0aW9uLlJUTDtcbn1cblxudmFyIFVuaWNvZGVCaWRpID0ge1xuICBmaXJzdFN0cm9uZ0NoYXI6IGZpcnN0U3Ryb25nQ2hhcixcbiAgZmlyc3RTdHJvbmdDaGFyRGlyOiBmaXJzdFN0cm9uZ0NoYXJEaXIsXG4gIHJlc29sdmVCbG9ja0RpcjogcmVzb2x2ZUJsb2NrRGlyLFxuICBnZXREaXJlY3Rpb246IGdldERpcmVjdGlvbixcbiAgaXNEaXJlY3Rpb25MVFI6IGlzRGlyZWN0aW9uTFRSLFxuICBpc0RpcmVjdGlvblJUTDogaXNEaXJlY3Rpb25SVExcbn07XG5cbm1vZHVsZS5leHBvcnRzID0gVW5pY29kZUJpZGk7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/fbjs/lib/UnicodeBidi.js\n"); +eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n * \n */\n\n/**\n * Basic (stateless) API for text direction detection\n *\n * Part of our implementation of Unicode Bidirectional Algorithm (UBA)\n * Unicode Standard Annex #9 (UAX9)\n * http://www.unicode.org/reports/tr9/\n */\n\n\nvar UnicodeBidiDirection = __webpack_require__(/*! ./UnicodeBidiDirection */ \"./node_modules/fbjs/lib/UnicodeBidiDirection.js\");\n\nvar invariant = __webpack_require__(/*! ./invariant */ \"./node_modules/fbjs/lib/invariant.js\");\n\n/**\n * RegExp ranges of characters with a *Strong* Bidi_Class value.\n *\n * Data is based on DerivedBidiClass.txt in UCD version 7.0.0.\n *\n * NOTE: For performance reasons, we only support Unicode's\n * Basic Multilingual Plane (BMP) for now.\n */\nvar RANGE_BY_BIDI_TYPE = {\n L: \"A-Za-z\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u01BA\\u01BB\" + \"\\u01BC-\\u01BF\\u01C0-\\u01C3\\u01C4-\\u0293\\u0294\\u0295-\\u02AF\\u02B0-\\u02B8\" + \"\\u02BB-\\u02C1\\u02D0-\\u02D1\\u02E0-\\u02E4\\u02EE\\u0370-\\u0373\\u0376-\\u0377\" + \"\\u037A\\u037B-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\" + \"\\u03A3-\\u03F5\\u03F7-\\u0481\\u0482\\u048A-\\u052F\\u0531-\\u0556\\u0559\" + \"\\u055A-\\u055F\\u0561-\\u0587\\u0589\\u0903\\u0904-\\u0939\\u093B\\u093D\" + \"\\u093E-\\u0940\\u0949-\\u094C\\u094E-\\u094F\\u0950\\u0958-\\u0961\\u0964-\\u0965\" + \"\\u0966-\\u096F\\u0970\\u0971\\u0972-\\u0980\\u0982-\\u0983\\u0985-\\u098C\" + \"\\u098F-\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\" + \"\\u09BE-\\u09C0\\u09C7-\\u09C8\\u09CB-\\u09CC\\u09CE\\u09D7\\u09DC-\\u09DD\" + \"\\u09DF-\\u09E1\\u09E6-\\u09EF\\u09F0-\\u09F1\\u09F4-\\u09F9\\u09FA\\u0A03\" + \"\\u0A05-\\u0A0A\\u0A0F-\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32-\\u0A33\" + \"\\u0A35-\\u0A36\\u0A38-\\u0A39\\u0A3E-\\u0A40\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A6F\" + \"\\u0A72-\\u0A74\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\" + \"\\u0AB2-\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0ABE-\\u0AC0\\u0AC9\\u0ACB-\\u0ACC\\u0AD0\" + \"\\u0AE0-\\u0AE1\\u0AE6-\\u0AEF\\u0AF0\\u0B02-\\u0B03\\u0B05-\\u0B0C\\u0B0F-\\u0B10\" + \"\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32-\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B3E\\u0B40\" + \"\\u0B47-\\u0B48\\u0B4B-\\u0B4C\\u0B57\\u0B5C-\\u0B5D\\u0B5F-\\u0B61\\u0B66-\\u0B6F\" + \"\\u0B70\\u0B71\\u0B72-\\u0B77\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\" + \"\\u0B99-\\u0B9A\\u0B9C\\u0B9E-\\u0B9F\\u0BA3-\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\" + \"\\u0BBE-\\u0BBF\\u0BC1-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCC\\u0BD0\\u0BD7\" + \"\\u0BE6-\\u0BEF\\u0BF0-\\u0BF2\\u0C01-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\" + \"\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C41-\\u0C44\\u0C58-\\u0C59\\u0C60-\\u0C61\" + \"\\u0C66-\\u0C6F\\u0C7F\\u0C82-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\" + \"\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CBE\\u0CBF\\u0CC0-\\u0CC4\\u0CC6\" + \"\\u0CC7-\\u0CC8\\u0CCA-\\u0CCB\\u0CD5-\\u0CD6\\u0CDE\\u0CE0-\\u0CE1\\u0CE6-\\u0CEF\" + \"\\u0CF1-\\u0CF2\\u0D02-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\" + \"\\u0D3E-\\u0D40\\u0D46-\\u0D48\\u0D4A-\\u0D4C\\u0D4E\\u0D57\\u0D60-\\u0D61\" + \"\\u0D66-\\u0D6F\\u0D70-\\u0D75\\u0D79\\u0D7A-\\u0D7F\\u0D82-\\u0D83\\u0D85-\\u0D96\" + \"\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCF-\\u0DD1\\u0DD8-\\u0DDF\" + \"\\u0DE6-\\u0DEF\\u0DF2-\\u0DF3\\u0DF4\\u0E01-\\u0E30\\u0E32-\\u0E33\\u0E40-\\u0E45\" + \"\\u0E46\\u0E4F\\u0E50-\\u0E59\\u0E5A-\\u0E5B\\u0E81-\\u0E82\\u0E84\\u0E87-\\u0E88\" + \"\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\" + \"\\u0EAA-\\u0EAB\\u0EAD-\\u0EB0\\u0EB2-\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\" + \"\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F01-\\u0F03\\u0F04-\\u0F12\\u0F13\\u0F14\" + \"\\u0F15-\\u0F17\\u0F1A-\\u0F1F\\u0F20-\\u0F29\\u0F2A-\\u0F33\\u0F34\\u0F36\\u0F38\" + \"\\u0F3E-\\u0F3F\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F7F\\u0F85\\u0F88-\\u0F8C\" + \"\\u0FBE-\\u0FC5\\u0FC7-\\u0FCC\\u0FCE-\\u0FCF\\u0FD0-\\u0FD4\\u0FD5-\\u0FD8\" + \"\\u0FD9-\\u0FDA\\u1000-\\u102A\\u102B-\\u102C\\u1031\\u1038\\u103B-\\u103C\\u103F\" + \"\\u1040-\\u1049\\u104A-\\u104F\\u1050-\\u1055\\u1056-\\u1057\\u105A-\\u105D\\u1061\" + \"\\u1062-\\u1064\\u1065-\\u1066\\u1067-\\u106D\\u106E-\\u1070\\u1075-\\u1081\" + \"\\u1083-\\u1084\\u1087-\\u108C\\u108E\\u108F\\u1090-\\u1099\\u109A-\\u109C\" + \"\\u109E-\\u109F\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FB\\u10FC\" + \"\\u10FD-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\" + \"\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\" + \"\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1360-\\u1368\" + \"\\u1369-\\u137C\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C\\u166D-\\u166E\" + \"\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EB-\\u16ED\\u16EE-\\u16F0\" + \"\\u16F1-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1735-\\u1736\" + \"\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17B6\\u17BE-\\u17C5\" + \"\\u17C7-\\u17C8\\u17D4-\\u17D6\\u17D7\\u17D8-\\u17DA\\u17DC\\u17E0-\\u17E9\" + \"\\u1810-\\u1819\\u1820-\\u1842\\u1843\\u1844-\\u1877\\u1880-\\u18A8\\u18AA\" + \"\\u18B0-\\u18F5\\u1900-\\u191E\\u1923-\\u1926\\u1929-\\u192B\\u1930-\\u1931\" + \"\\u1933-\\u1938\\u1946-\\u194F\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\" + \"\\u19B0-\\u19C0\\u19C1-\\u19C7\\u19C8-\\u19C9\\u19D0-\\u19D9\\u19DA\\u1A00-\\u1A16\" + \"\\u1A19-\\u1A1A\\u1A1E-\\u1A1F\\u1A20-\\u1A54\\u1A55\\u1A57\\u1A61\\u1A63-\\u1A64\" + \"\\u1A6D-\\u1A72\\u1A80-\\u1A89\\u1A90-\\u1A99\\u1AA0-\\u1AA6\\u1AA7\\u1AA8-\\u1AAD\" + \"\\u1B04\\u1B05-\\u1B33\\u1B35\\u1B3B\\u1B3D-\\u1B41\\u1B43-\\u1B44\\u1B45-\\u1B4B\" + \"\\u1B50-\\u1B59\\u1B5A-\\u1B60\\u1B61-\\u1B6A\\u1B74-\\u1B7C\\u1B82\\u1B83-\\u1BA0\" + \"\\u1BA1\\u1BA6-\\u1BA7\\u1BAA\\u1BAE-\\u1BAF\\u1BB0-\\u1BB9\\u1BBA-\\u1BE5\\u1BE7\" + \"\\u1BEA-\\u1BEC\\u1BEE\\u1BF2-\\u1BF3\\u1BFC-\\u1BFF\\u1C00-\\u1C23\\u1C24-\\u1C2B\" + \"\\u1C34-\\u1C35\\u1C3B-\\u1C3F\\u1C40-\\u1C49\\u1C4D-\\u1C4F\\u1C50-\\u1C59\" + \"\\u1C5A-\\u1C77\\u1C78-\\u1C7D\\u1C7E-\\u1C7F\\u1CC0-\\u1CC7\\u1CD3\\u1CE1\" + \"\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF2-\\u1CF3\\u1CF5-\\u1CF6\\u1D00-\\u1D2B\" + \"\\u1D2C-\\u1D6A\\u1D6B-\\u1D77\\u1D78\\u1D79-\\u1D9A\\u1D9B-\\u1DBF\\u1E00-\\u1F15\" + \"\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\" + \"\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\" + \"\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200E\" + \"\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\" + \"\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2134\\u2135-\\u2138\\u2139\" + \"\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u214F\\u2160-\\u2182\\u2183-\\u2184\" + \"\\u2185-\\u2188\\u2336-\\u237A\\u2395\\u249C-\\u24E9\\u26AC\\u2800-\\u28FF\" + \"\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2C7B\\u2C7C-\\u2C7D\\u2C7E-\\u2CE4\" + \"\\u2CEB-\\u2CEE\\u2CF2-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\" + \"\\u2D70\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\" + \"\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u3005\\u3006\\u3007\" + \"\\u3021-\\u3029\\u302E-\\u302F\\u3031-\\u3035\\u3038-\\u303A\\u303B\\u303C\" + \"\\u3041-\\u3096\\u309D-\\u309E\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FE\\u30FF\" + \"\\u3105-\\u312D\\u3131-\\u318E\\u3190-\\u3191\\u3192-\\u3195\\u3196-\\u319F\" + \"\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3200-\\u321C\\u3220-\\u3229\\u322A-\\u3247\" + \"\\u3248-\\u324F\\u3260-\\u327B\\u327F\\u3280-\\u3289\\u328A-\\u32B0\\u32C0-\\u32CB\" + \"\\u32D0-\\u32FE\\u3300-\\u3376\\u337B-\\u33DD\\u33E0-\\u33FE\\u3400-\\u4DB5\" + \"\\u4E00-\\u9FCC\\uA000-\\uA014\\uA015\\uA016-\\uA48C\\uA4D0-\\uA4F7\\uA4F8-\\uA4FD\" + \"\\uA4FE-\\uA4FF\\uA500-\\uA60B\\uA60C\\uA610-\\uA61F\\uA620-\\uA629\\uA62A-\\uA62B\" + \"\\uA640-\\uA66D\\uA66E\\uA680-\\uA69B\\uA69C-\\uA69D\\uA6A0-\\uA6E5\\uA6E6-\\uA6EF\" + \"\\uA6F2-\\uA6F7\\uA722-\\uA76F\\uA770\\uA771-\\uA787\\uA789-\\uA78A\\uA78B-\\uA78E\" + \"\\uA790-\\uA7AD\\uA7B0-\\uA7B1\\uA7F7\\uA7F8-\\uA7F9\\uA7FA\\uA7FB-\\uA801\" + \"\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA823-\\uA824\\uA827\\uA830-\\uA835\" + \"\\uA836-\\uA837\\uA840-\\uA873\\uA880-\\uA881\\uA882-\\uA8B3\\uA8B4-\\uA8C3\" + \"\\uA8CE-\\uA8CF\\uA8D0-\\uA8D9\\uA8F2-\\uA8F7\\uA8F8-\\uA8FA\\uA8FB\\uA900-\\uA909\" + \"\\uA90A-\\uA925\\uA92E-\\uA92F\\uA930-\\uA946\\uA952-\\uA953\\uA95F\\uA960-\\uA97C\" + \"\\uA983\\uA984-\\uA9B2\\uA9B4-\\uA9B5\\uA9BA-\\uA9BB\\uA9BD-\\uA9C0\\uA9C1-\\uA9CD\" + \"\\uA9CF\\uA9D0-\\uA9D9\\uA9DE-\\uA9DF\\uA9E0-\\uA9E4\\uA9E6\\uA9E7-\\uA9EF\" + \"\\uA9F0-\\uA9F9\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA2F-\\uAA30\\uAA33-\\uAA34\" + \"\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA4D\\uAA50-\\uAA59\\uAA5C-\\uAA5F\\uAA60-\\uAA6F\" + \"\\uAA70\\uAA71-\\uAA76\\uAA77-\\uAA79\\uAA7A\\uAA7B\\uAA7D\\uAA7E-\\uAAAF\\uAAB1\" + \"\\uAAB5-\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADC\\uAADD\\uAADE-\\uAADF\" + \"\\uAAE0-\\uAAEA\\uAAEB\\uAAEE-\\uAAEF\\uAAF0-\\uAAF1\\uAAF2\\uAAF3-\\uAAF4\\uAAF5\" + \"\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\" + \"\\uAB30-\\uAB5A\\uAB5B\\uAB5C-\\uAB5F\\uAB64-\\uAB65\\uABC0-\\uABE2\\uABE3-\\uABE4\" + \"\\uABE6-\\uABE7\\uABE9-\\uABEA\\uABEB\\uABEC\\uABF0-\\uABF9\\uAC00-\\uD7A3\" + \"\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uE000-\\uF8FF\\uF900-\\uFA6D\\uFA70-\\uFAD9\" + \"\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFF6F\\uFF70\" + \"\\uFF71-\\uFF9D\\uFF9E-\\uFF9F\\uFFA0-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\" + \"\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC\",\n R: \"\\u0590\\u05BE\\u05C0\\u05C3\\u05C6\\u05C8-\\u05CF\\u05D0-\\u05EA\\u05EB-\\u05EF\" + \"\\u05F0-\\u05F2\\u05F3-\\u05F4\\u05F5-\\u05FF\\u07C0-\\u07C9\\u07CA-\\u07EA\" + \"\\u07F4-\\u07F5\\u07FA\\u07FB-\\u07FF\\u0800-\\u0815\\u081A\\u0824\\u0828\" + \"\\u082E-\\u082F\\u0830-\\u083E\\u083F\\u0840-\\u0858\\u085C-\\u085D\\u085E\" + \"\\u085F-\\u089F\\u200F\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB37\\uFB38-\\uFB3C\" + \"\\uFB3D\\uFB3E\\uFB3F\\uFB40-\\uFB41\\uFB42\\uFB43-\\uFB44\\uFB45\\uFB46-\\uFB4F\",\n AL: \"\\u0608\\u060B\\u060D\\u061B\\u061C\\u061D\\u061E-\\u061F\\u0620-\\u063F\\u0640\" + \"\\u0641-\\u064A\\u066D\\u066E-\\u066F\\u0671-\\u06D3\\u06D4\\u06D5\\u06E5-\\u06E6\" + \"\\u06EE-\\u06EF\\u06FA-\\u06FC\\u06FD-\\u06FE\\u06FF\\u0700-\\u070D\\u070E\\u070F\" + \"\\u0710\\u0712-\\u072F\\u074B-\\u074C\\u074D-\\u07A5\\u07B1\\u07B2-\\u07BF\" + \"\\u08A0-\\u08B2\\u08B3-\\u08E3\\uFB50-\\uFBB1\\uFBB2-\\uFBC1\\uFBC2-\\uFBD2\" + \"\\uFBD3-\\uFD3D\\uFD40-\\uFD4F\\uFD50-\\uFD8F\\uFD90-\\uFD91\\uFD92-\\uFDC7\" + \"\\uFDC8-\\uFDCF\\uFDF0-\\uFDFB\\uFDFC\\uFDFE-\\uFDFF\\uFE70-\\uFE74\\uFE75\" + \"\\uFE76-\\uFEFC\\uFEFD-\\uFEFE\"\n};\nvar REGEX_STRONG = new RegExp('[' + RANGE_BY_BIDI_TYPE.L + RANGE_BY_BIDI_TYPE.R + RANGE_BY_BIDI_TYPE.AL + ']');\nvar REGEX_RTL = new RegExp('[' + RANGE_BY_BIDI_TYPE.R + RANGE_BY_BIDI_TYPE.AL + ']');\n/**\n * Returns the first strong character (has Bidi_Class value of L, R, or AL).\n *\n * @param str A text block; e.g. paragraph, table cell, tag\n * @return A character with strong bidi direction, or null if not found\n */\n\nfunction firstStrongChar(str) {\n var match = REGEX_STRONG.exec(str);\n return match == null ? null : match[0];\n}\n/**\n * Returns the direction of a block of text, based on the direction of its\n * first strong character (has Bidi_Class value of L, R, or AL).\n *\n * @param str A text block; e.g. paragraph, table cell, tag\n * @return The resolved direction\n */\n\n\nfunction firstStrongCharDir(str) {\n var strongChar = firstStrongChar(str);\n\n if (strongChar == null) {\n return UnicodeBidiDirection.NEUTRAL;\n }\n\n return REGEX_RTL.exec(strongChar) ? UnicodeBidiDirection.RTL : UnicodeBidiDirection.LTR;\n}\n/**\n * Returns the direction of a block of text, based on the direction of its\n * first strong character (has Bidi_Class value of L, R, or AL), or a fallback\n * direction, if no strong character is found.\n *\n * This function is supposed to be used in respect to Higher-Level Protocol\n * rule HL1. (http://www.unicode.org/reports/tr9/#HL1)\n *\n * @param str A text block; e.g. paragraph, table cell, tag\n * @param fallback Fallback direction, used if no strong direction detected\n * for the block (default = NEUTRAL)\n * @return The resolved direction\n */\n\n\nfunction resolveBlockDir(str, fallback) {\n fallback = fallback || UnicodeBidiDirection.NEUTRAL;\n\n if (!str.length) {\n return fallback;\n }\n\n var blockDir = firstStrongCharDir(str);\n return blockDir === UnicodeBidiDirection.NEUTRAL ? fallback : blockDir;\n}\n/**\n * Returns the direction of a block of text, based on the direction of its\n * first strong character (has Bidi_Class value of L, R, or AL), or a fallback\n * direction, if no strong character is found.\n *\n * NOTE: This function is similar to resolveBlockDir(), but uses the global\n * direction as the fallback, so it *always* returns a Strong direction,\n * making it useful for integration in places that you need to make the final\n * decision, like setting some CSS class.\n *\n * This function is supposed to be used in respect to Higher-Level Protocol\n * rule HL1. (http://www.unicode.org/reports/tr9/#HL1)\n *\n * @param str A text block; e.g. paragraph, table cell\n * @param strongFallback Fallback direction, used if no strong direction\n * detected for the block (default = global direction)\n * @return The resolved Strong direction\n */\n\n\nfunction getDirection(str, strongFallback) {\n if (!strongFallback) {\n strongFallback = UnicodeBidiDirection.getGlobalDir();\n }\n\n !UnicodeBidiDirection.isStrong(strongFallback) ? true ? invariant(false, 'Fallback direction must be a strong direction') : undefined : void 0;\n return resolveBlockDir(str, strongFallback);\n}\n/**\n * Returns true if getDirection(arguments...) returns LTR.\n *\n * @param str A text block; e.g. paragraph, table cell\n * @param strongFallback Fallback direction, used if no strong direction\n * detected for the block (default = global direction)\n * @return True if the resolved direction is LTR\n */\n\n\nfunction isDirectionLTR(str, strongFallback) {\n return getDirection(str, strongFallback) === UnicodeBidiDirection.LTR;\n}\n/**\n * Returns true if getDirection(arguments...) returns RTL.\n *\n * @param str A text block; e.g. paragraph, table cell\n * @param strongFallback Fallback direction, used if no strong direction\n * detected for the block (default = global direction)\n * @return True if the resolved direction is RTL\n */\n\n\nfunction isDirectionRTL(str, strongFallback) {\n return getDirection(str, strongFallback) === UnicodeBidiDirection.RTL;\n}\n\nvar UnicodeBidi = {\n firstStrongChar: firstStrongChar,\n firstStrongCharDir: firstStrongCharDir,\n resolveBlockDir: resolveBlockDir,\n getDirection: getDirection,\n isDirectionLTR: isDirectionLTR,\n isDirectionRTL: isDirectionRTL\n};\nmodule.exports = UnicodeBidi;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvVW5pY29kZUJpZGkuanM/N2Q5MCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDYTs7QUFFYiwyQkFBMkIsbUJBQU8sQ0FBQywrRUFBd0I7O0FBRTNELGdCQUFnQixtQkFBTyxDQUFDLHlEQUFhOztBQUVyQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0QkFBNEI7QUFDNUI7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEJBQTRCO0FBQzVCO0FBQ0E7OztBQUdBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUNBQWlDO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVDQUF1QztBQUN2QztBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsbURBQW1ELEtBQXFDLHVFQUF1RSxTQUFnQjtBQUMvSztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUNBQXVDO0FBQ3ZDO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1Q0FBdUM7QUFDdkM7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvVW5pY29kZUJpZGkuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxMy1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIEB0eXBlY2hlY2tzXG4gKiBcbiAqL1xuXG4vKipcbiAqIEJhc2ljIChzdGF0ZWxlc3MpIEFQSSBmb3IgdGV4dCBkaXJlY3Rpb24gZGV0ZWN0aW9uXG4gKlxuICogUGFydCBvZiBvdXIgaW1wbGVtZW50YXRpb24gb2YgVW5pY29kZSBCaWRpcmVjdGlvbmFsIEFsZ29yaXRobSAoVUJBKVxuICogVW5pY29kZSBTdGFuZGFyZCBBbm5leCAjOSAoVUFYOSlcbiAqIGh0dHA6Ly93d3cudW5pY29kZS5vcmcvcmVwb3J0cy90cjkvXG4gKi9cbid1c2Ugc3RyaWN0JztcblxudmFyIFVuaWNvZGVCaWRpRGlyZWN0aW9uID0gcmVxdWlyZShcIi4vVW5pY29kZUJpZGlEaXJlY3Rpb25cIik7XG5cbnZhciBpbnZhcmlhbnQgPSByZXF1aXJlKFwiLi9pbnZhcmlhbnRcIik7XG5cbi8qKlxuICogUmVnRXhwIHJhbmdlcyBvZiBjaGFyYWN0ZXJzIHdpdGggYSAqU3Ryb25nKiBCaWRpX0NsYXNzIHZhbHVlLlxuICpcbiAqIERhdGEgaXMgYmFzZWQgb24gRGVyaXZlZEJpZGlDbGFzcy50eHQgaW4gVUNEIHZlcnNpb24gNy4wLjAuXG4gKlxuICogTk9URTogRm9yIHBlcmZvcm1hbmNlIHJlYXNvbnMsIHdlIG9ubHkgc3VwcG9ydCBVbmljb2RlJ3NcbiAqICAgICAgIEJhc2ljIE11bHRpbGluZ3VhbCBQbGFuZSAoQk1QKSBmb3Igbm93LlxuICovXG52YXIgUkFOR0VfQllfQklESV9UWVBFID0ge1xuICBMOiBcIkEtWmEtelxceEFBXFx4QjVcXHhCQVxceEMwLVxceEQ2XFx4RDgtXFx4RjZcXHhGOC1cXHUwMUJBXFx1MDFCQlwiICsgXCJcXHUwMUJDLVxcdTAxQkZcXHUwMUMwLVxcdTAxQzNcXHUwMUM0LVxcdTAyOTNcXHUwMjk0XFx1MDI5NS1cXHUwMkFGXFx1MDJCMC1cXHUwMkI4XCIgKyBcIlxcdTAyQkItXFx1MDJDMVxcdTAyRDAtXFx1MDJEMVxcdTAyRTAtXFx1MDJFNFxcdTAyRUVcXHUwMzcwLVxcdTAzNzNcXHUwMzc2LVxcdTAzNzdcIiArIFwiXFx1MDM3QVxcdTAzN0ItXFx1MDM3RFxcdTAzN0ZcXHUwMzg2XFx1MDM4OC1cXHUwMzhBXFx1MDM4Q1xcdTAzOEUtXFx1MDNBMVwiICsgXCJcXHUwM0EzLVxcdTAzRjVcXHUwM0Y3LVxcdTA0ODFcXHUwNDgyXFx1MDQ4QS1cXHUwNTJGXFx1MDUzMS1cXHUwNTU2XFx1MDU1OVwiICsgXCJcXHUwNTVBLVxcdTA1NUZcXHUwNTYxLVxcdTA1ODdcXHUwNTg5XFx1MDkwM1xcdTA5MDQtXFx1MDkzOVxcdTA5M0JcXHUwOTNEXCIgKyBcIlxcdTA5M0UtXFx1MDk0MFxcdTA5NDktXFx1MDk0Q1xcdTA5NEUtXFx1MDk0RlxcdTA5NTBcXHUwOTU4LVxcdTA5NjFcXHUwOTY0LVxcdTA5NjVcIiArIFwiXFx1MDk2Ni1cXHUwOTZGXFx1MDk3MFxcdTA5NzFcXHUwOTcyLVxcdTA5ODBcXHUwOTgyLVxcdTA5ODNcXHUwOTg1LVxcdTA5OENcIiArIFwiXFx1MDk4Ri1cXHUwOTkwXFx1MDk5My1cXHUwOUE4XFx1MDlBQS1cXHUwOUIwXFx1MDlCMlxcdTA5QjYtXFx1MDlCOVxcdTA5QkRcIiArIFwiXFx1MDlCRS1cXHUwOUMwXFx1MDlDNy1cXHUwOUM4XFx1MDlDQi1cXHUwOUNDXFx1MDlDRVxcdTA5RDdcXHUwOURDLVxcdTA5RERcIiArIFwiXFx1MDlERi1cXHUwOUUxXFx1MDlFNi1cXHUwOUVGXFx1MDlGMC1cXHUwOUYxXFx1MDlGNC1cXHUwOUY5XFx1MDlGQVxcdTBBMDNcIiArIFwiXFx1MEEwNS1cXHUwQTBBXFx1MEEwRi1cXHUwQTEwXFx1MEExMy1cXHUwQTI4XFx1MEEyQS1cXHUwQTMwXFx1MEEzMi1cXHUwQTMzXCIgKyBcIlxcdTBBMzUtXFx1MEEzNlxcdTBBMzgtXFx1MEEzOVxcdTBBM0UtXFx1MEE0MFxcdTBBNTktXFx1MEE1Q1xcdTBBNUVcXHUwQTY2LVxcdTBBNkZcIiArIFwiXFx1MEE3Mi1cXHUwQTc0XFx1MEE4M1xcdTBBODUtXFx1MEE4RFxcdTBBOEYtXFx1MEE5MVxcdTBBOTMtXFx1MEFBOFxcdTBBQUEtXFx1MEFCMFwiICsgXCJcXHUwQUIyLVxcdTBBQjNcXHUwQUI1LVxcdTBBQjlcXHUwQUJEXFx1MEFCRS1cXHUwQUMwXFx1MEFDOVxcdTBBQ0ItXFx1MEFDQ1xcdTBBRDBcIiArIFwiXFx1MEFFMC1cXHUwQUUxXFx1MEFFNi1cXHUwQUVGXFx1MEFGMFxcdTBCMDItXFx1MEIwM1xcdTBCMDUtXFx1MEIwQ1xcdTBCMEYtXFx1MEIxMFwiICsgXCJcXHUwQjEzLVxcdTBCMjhcXHUwQjJBLVxcdTBCMzBcXHUwQjMyLVxcdTBCMzNcXHUwQjM1LVxcdTBCMzlcXHUwQjNEXFx1MEIzRVxcdTBCNDBcIiArIFwiXFx1MEI0Ny1cXHUwQjQ4XFx1MEI0Qi1cXHUwQjRDXFx1MEI1N1xcdTBCNUMtXFx1MEI1RFxcdTBCNUYtXFx1MEI2MVxcdTBCNjYtXFx1MEI2RlwiICsgXCJcXHUwQjcwXFx1MEI3MVxcdTBCNzItXFx1MEI3N1xcdTBCODNcXHUwQjg1LVxcdTBCOEFcXHUwQjhFLVxcdTBCOTBcXHUwQjkyLVxcdTBCOTVcIiArIFwiXFx1MEI5OS1cXHUwQjlBXFx1MEI5Q1xcdTBCOUUtXFx1MEI5RlxcdTBCQTMtXFx1MEJBNFxcdTBCQTgtXFx1MEJBQVxcdTBCQUUtXFx1MEJCOVwiICsgXCJcXHUwQkJFLVxcdTBCQkZcXHUwQkMxLVxcdTBCQzJcXHUwQkM2LVxcdTBCQzhcXHUwQkNBLVxcdTBCQ0NcXHUwQkQwXFx1MEJEN1wiICsgXCJcXHUwQkU2LVxcdTBCRUZcXHUwQkYwLVxcdTBCRjJcXHUwQzAxLVxcdTBDMDNcXHUwQzA1LVxcdTBDMENcXHUwQzBFLVxcdTBDMTBcIiArIFwiXFx1MEMxMi1cXHUwQzI4XFx1MEMyQS1cXHUwQzM5XFx1MEMzRFxcdTBDNDEtXFx1MEM0NFxcdTBDNTgtXFx1MEM1OVxcdTBDNjAtXFx1MEM2MVwiICsgXCJcXHUwQzY2LVxcdTBDNkZcXHUwQzdGXFx1MEM4Mi1cXHUwQzgzXFx1MEM4NS1cXHUwQzhDXFx1MEM4RS1cXHUwQzkwXFx1MEM5Mi1cXHUwQ0E4XCIgKyBcIlxcdTBDQUEtXFx1MENCM1xcdTBDQjUtXFx1MENCOVxcdTBDQkRcXHUwQ0JFXFx1MENCRlxcdTBDQzAtXFx1MENDNFxcdTBDQzZcIiArIFwiXFx1MENDNy1cXHUwQ0M4XFx1MENDQS1cXHUwQ0NCXFx1MENENS1cXHUwQ0Q2XFx1MENERVxcdTBDRTAtXFx1MENFMVxcdTBDRTYtXFx1MENFRlwiICsgXCJcXHUwQ0YxLVxcdTBDRjJcXHUwRDAyLVxcdTBEMDNcXHUwRDA1LVxcdTBEMENcXHUwRDBFLVxcdTBEMTBcXHUwRDEyLVxcdTBEM0FcXHUwRDNEXCIgKyBcIlxcdTBEM0UtXFx1MEQ0MFxcdTBENDYtXFx1MEQ0OFxcdTBENEEtXFx1MEQ0Q1xcdTBENEVcXHUwRDU3XFx1MEQ2MC1cXHUwRDYxXCIgKyBcIlxcdTBENjYtXFx1MEQ2RlxcdTBENzAtXFx1MEQ3NVxcdTBENzlcXHUwRDdBLVxcdTBEN0ZcXHUwRDgyLVxcdTBEODNcXHUwRDg1LVxcdTBEOTZcIiArIFwiXFx1MEQ5QS1cXHUwREIxXFx1MERCMy1cXHUwREJCXFx1MERCRFxcdTBEQzAtXFx1MERDNlxcdTBEQ0YtXFx1MEREMVxcdTBERDgtXFx1MERERlwiICsgXCJcXHUwREU2LVxcdTBERUZcXHUwREYyLVxcdTBERjNcXHUwREY0XFx1MEUwMS1cXHUwRTMwXFx1MEUzMi1cXHUwRTMzXFx1MEU0MC1cXHUwRTQ1XCIgKyBcIlxcdTBFNDZcXHUwRTRGXFx1MEU1MC1cXHUwRTU5XFx1MEU1QS1cXHUwRTVCXFx1MEU4MS1cXHUwRTgyXFx1MEU4NFxcdTBFODctXFx1MEU4OFwiICsgXCJcXHUwRThBXFx1MEU4RFxcdTBFOTQtXFx1MEU5N1xcdTBFOTktXFx1MEU5RlxcdTBFQTEtXFx1MEVBM1xcdTBFQTVcXHUwRUE3XCIgKyBcIlxcdTBFQUEtXFx1MEVBQlxcdTBFQUQtXFx1MEVCMFxcdTBFQjItXFx1MEVCM1xcdTBFQkRcXHUwRUMwLVxcdTBFQzRcXHUwRUM2XCIgKyBcIlxcdTBFRDAtXFx1MEVEOVxcdTBFREMtXFx1MEVERlxcdTBGMDBcXHUwRjAxLVxcdTBGMDNcXHUwRjA0LVxcdTBGMTJcXHUwRjEzXFx1MEYxNFwiICsgXCJcXHUwRjE1LVxcdTBGMTdcXHUwRjFBLVxcdTBGMUZcXHUwRjIwLVxcdTBGMjlcXHUwRjJBLVxcdTBGMzNcXHUwRjM0XFx1MEYzNlxcdTBGMzhcIiArIFwiXFx1MEYzRS1cXHUwRjNGXFx1MEY0MC1cXHUwRjQ3XFx1MEY0OS1cXHUwRjZDXFx1MEY3RlxcdTBGODVcXHUwRjg4LVxcdTBGOENcIiArIFwiXFx1MEZCRS1cXHUwRkM1XFx1MEZDNy1cXHUwRkNDXFx1MEZDRS1cXHUwRkNGXFx1MEZEMC1cXHUwRkQ0XFx1MEZENS1cXHUwRkQ4XCIgKyBcIlxcdTBGRDktXFx1MEZEQVxcdTEwMDAtXFx1MTAyQVxcdTEwMkItXFx1MTAyQ1xcdTEwMzFcXHUxMDM4XFx1MTAzQi1cXHUxMDNDXFx1MTAzRlwiICsgXCJcXHUxMDQwLVxcdTEwNDlcXHUxMDRBLVxcdTEwNEZcXHUxMDUwLVxcdTEwNTVcXHUxMDU2LVxcdTEwNTdcXHUxMDVBLVxcdTEwNURcXHUxMDYxXCIgKyBcIlxcdTEwNjItXFx1MTA2NFxcdTEwNjUtXFx1MTA2NlxcdTEwNjctXFx1MTA2RFxcdTEwNkUtXFx1MTA3MFxcdTEwNzUtXFx1MTA4MVwiICsgXCJcXHUxMDgzLVxcdTEwODRcXHUxMDg3LVxcdTEwOENcXHUxMDhFXFx1MTA4RlxcdTEwOTAtXFx1MTA5OVxcdTEwOUEtXFx1MTA5Q1wiICsgXCJcXHUxMDlFLVxcdTEwOUZcXHUxMEEwLVxcdTEwQzVcXHUxMEM3XFx1MTBDRFxcdTEwRDAtXFx1MTBGQVxcdTEwRkJcXHUxMEZDXCIgKyBcIlxcdTEwRkQtXFx1MTI0OFxcdTEyNEEtXFx1MTI0RFxcdTEyNTAtXFx1MTI1NlxcdTEyNThcXHUxMjVBLVxcdTEyNURcXHUxMjYwLVxcdTEyODhcIiArIFwiXFx1MTI4QS1cXHUxMjhEXFx1MTI5MC1cXHUxMkIwXFx1MTJCMi1cXHUxMkI1XFx1MTJCOC1cXHUxMkJFXFx1MTJDMFxcdTEyQzItXFx1MTJDNVwiICsgXCJcXHUxMkM4LVxcdTEyRDZcXHUxMkQ4LVxcdTEzMTBcXHUxMzEyLVxcdTEzMTVcXHUxMzE4LVxcdTEzNUFcXHUxMzYwLVxcdTEzNjhcIiArIFwiXFx1MTM2OS1cXHUxMzdDXFx1MTM4MC1cXHUxMzhGXFx1MTNBMC1cXHUxM0Y0XFx1MTQwMS1cXHUxNjZDXFx1MTY2RC1cXHUxNjZFXCIgKyBcIlxcdTE2NkYtXFx1MTY3RlxcdTE2ODEtXFx1MTY5QVxcdTE2QTAtXFx1MTZFQVxcdTE2RUItXFx1MTZFRFxcdTE2RUUtXFx1MTZGMFwiICsgXCJcXHUxNkYxLVxcdTE2RjhcXHUxNzAwLVxcdTE3MENcXHUxNzBFLVxcdTE3MTFcXHUxNzIwLVxcdTE3MzFcXHUxNzM1LVxcdTE3MzZcIiArIFwiXFx1MTc0MC1cXHUxNzUxXFx1MTc2MC1cXHUxNzZDXFx1MTc2RS1cXHUxNzcwXFx1MTc4MC1cXHUxN0IzXFx1MTdCNlxcdTE3QkUtXFx1MTdDNVwiICsgXCJcXHUxN0M3LVxcdTE3QzhcXHUxN0Q0LVxcdTE3RDZcXHUxN0Q3XFx1MTdEOC1cXHUxN0RBXFx1MTdEQ1xcdTE3RTAtXFx1MTdFOVwiICsgXCJcXHUxODEwLVxcdTE4MTlcXHUxODIwLVxcdTE4NDJcXHUxODQzXFx1MTg0NC1cXHUxODc3XFx1MTg4MC1cXHUxOEE4XFx1MThBQVwiICsgXCJcXHUxOEIwLVxcdTE4RjVcXHUxOTAwLVxcdTE5MUVcXHUxOTIzLVxcdTE5MjZcXHUxOTI5LVxcdTE5MkJcXHUxOTMwLVxcdTE5MzFcIiArIFwiXFx1MTkzMy1cXHUxOTM4XFx1MTk0Ni1cXHUxOTRGXFx1MTk1MC1cXHUxOTZEXFx1MTk3MC1cXHUxOTc0XFx1MTk4MC1cXHUxOUFCXCIgKyBcIlxcdTE5QjAtXFx1MTlDMFxcdTE5QzEtXFx1MTlDN1xcdTE5QzgtXFx1MTlDOVxcdTE5RDAtXFx1MTlEOVxcdTE5REFcXHUxQTAwLVxcdTFBMTZcIiArIFwiXFx1MUExOS1cXHUxQTFBXFx1MUExRS1cXHUxQTFGXFx1MUEyMC1cXHUxQTU0XFx1MUE1NVxcdTFBNTdcXHUxQTYxXFx1MUE2My1cXHUxQTY0XCIgKyBcIlxcdTFBNkQtXFx1MUE3MlxcdTFBODAtXFx1MUE4OVxcdTFBOTAtXFx1MUE5OVxcdTFBQTAtXFx1MUFBNlxcdTFBQTdcXHUxQUE4LVxcdTFBQURcIiArIFwiXFx1MUIwNFxcdTFCMDUtXFx1MUIzM1xcdTFCMzVcXHUxQjNCXFx1MUIzRC1cXHUxQjQxXFx1MUI0My1cXHUxQjQ0XFx1MUI0NS1cXHUxQjRCXCIgKyBcIlxcdTFCNTAtXFx1MUI1OVxcdTFCNUEtXFx1MUI2MFxcdTFCNjEtXFx1MUI2QVxcdTFCNzQtXFx1MUI3Q1xcdTFCODJcXHUxQjgzLVxcdTFCQTBcIiArIFwiXFx1MUJBMVxcdTFCQTYtXFx1MUJBN1xcdTFCQUFcXHUxQkFFLVxcdTFCQUZcXHUxQkIwLVxcdTFCQjlcXHUxQkJBLVxcdTFCRTVcXHUxQkU3XCIgKyBcIlxcdTFCRUEtXFx1MUJFQ1xcdTFCRUVcXHUxQkYyLVxcdTFCRjNcXHUxQkZDLVxcdTFCRkZcXHUxQzAwLVxcdTFDMjNcXHUxQzI0LVxcdTFDMkJcIiArIFwiXFx1MUMzNC1cXHUxQzM1XFx1MUMzQi1cXHUxQzNGXFx1MUM0MC1cXHUxQzQ5XFx1MUM0RC1cXHUxQzRGXFx1MUM1MC1cXHUxQzU5XCIgKyBcIlxcdTFDNUEtXFx1MUM3N1xcdTFDNzgtXFx1MUM3RFxcdTFDN0UtXFx1MUM3RlxcdTFDQzAtXFx1MUNDN1xcdTFDRDNcXHUxQ0UxXCIgKyBcIlxcdTFDRTktXFx1MUNFQ1xcdTFDRUUtXFx1MUNGMVxcdTFDRjItXFx1MUNGM1xcdTFDRjUtXFx1MUNGNlxcdTFEMDAtXFx1MUQyQlwiICsgXCJcXHUxRDJDLVxcdTFENkFcXHUxRDZCLVxcdTFENzdcXHUxRDc4XFx1MUQ3OS1cXHUxRDlBXFx1MUQ5Qi1cXHUxREJGXFx1MUUwMC1cXHUxRjE1XCIgKyBcIlxcdTFGMTgtXFx1MUYxRFxcdTFGMjAtXFx1MUY0NVxcdTFGNDgtXFx1MUY0RFxcdTFGNTAtXFx1MUY1N1xcdTFGNTlcXHUxRjVCXFx1MUY1RFwiICsgXCJcXHUxRjVGLVxcdTFGN0RcXHUxRjgwLVxcdTFGQjRcXHUxRkI2LVxcdTFGQkNcXHUxRkJFXFx1MUZDMi1cXHUxRkM0XFx1MUZDNi1cXHUxRkNDXCIgKyBcIlxcdTFGRDAtXFx1MUZEM1xcdTFGRDYtXFx1MUZEQlxcdTFGRTAtXFx1MUZFQ1xcdTFGRjItXFx1MUZGNFxcdTFGRjYtXFx1MUZGQ1xcdTIwMEVcIiArIFwiXFx1MjA3MVxcdTIwN0ZcXHUyMDkwLVxcdTIwOUNcXHUyMTAyXFx1MjEwN1xcdTIxMEEtXFx1MjExM1xcdTIxMTVcXHUyMTE5LVxcdTIxMURcIiArIFwiXFx1MjEyNFxcdTIxMjZcXHUyMTI4XFx1MjEyQS1cXHUyMTJEXFx1MjEyRi1cXHUyMTM0XFx1MjEzNS1cXHUyMTM4XFx1MjEzOVwiICsgXCJcXHUyMTNDLVxcdTIxM0ZcXHUyMTQ1LVxcdTIxNDlcXHUyMTRFXFx1MjE0RlxcdTIxNjAtXFx1MjE4MlxcdTIxODMtXFx1MjE4NFwiICsgXCJcXHUyMTg1LVxcdTIxODhcXHUyMzM2LVxcdTIzN0FcXHUyMzk1XFx1MjQ5Qy1cXHUyNEU5XFx1MjZBQ1xcdTI4MDAtXFx1MjhGRlwiICsgXCJcXHUyQzAwLVxcdTJDMkVcXHUyQzMwLVxcdTJDNUVcXHUyQzYwLVxcdTJDN0JcXHUyQzdDLVxcdTJDN0RcXHUyQzdFLVxcdTJDRTRcIiArIFwiXFx1MkNFQi1cXHUyQ0VFXFx1MkNGMi1cXHUyQ0YzXFx1MkQwMC1cXHUyRDI1XFx1MkQyN1xcdTJEMkRcXHUyRDMwLVxcdTJENjdcXHUyRDZGXCIgKyBcIlxcdTJENzBcXHUyRDgwLVxcdTJEOTZcXHUyREEwLVxcdTJEQTZcXHUyREE4LVxcdTJEQUVcXHUyREIwLVxcdTJEQjZcXHUyREI4LVxcdTJEQkVcIiArIFwiXFx1MkRDMC1cXHUyREM2XFx1MkRDOC1cXHUyRENFXFx1MkREMC1cXHUyREQ2XFx1MkREOC1cXHUyRERFXFx1MzAwNVxcdTMwMDZcXHUzMDA3XCIgKyBcIlxcdTMwMjEtXFx1MzAyOVxcdTMwMkUtXFx1MzAyRlxcdTMwMzEtXFx1MzAzNVxcdTMwMzgtXFx1MzAzQVxcdTMwM0JcXHUzMDNDXCIgKyBcIlxcdTMwNDEtXFx1MzA5NlxcdTMwOUQtXFx1MzA5RVxcdTMwOUZcXHUzMEExLVxcdTMwRkFcXHUzMEZDLVxcdTMwRkVcXHUzMEZGXCIgKyBcIlxcdTMxMDUtXFx1MzEyRFxcdTMxMzEtXFx1MzE4RVxcdTMxOTAtXFx1MzE5MVxcdTMxOTItXFx1MzE5NVxcdTMxOTYtXFx1MzE5RlwiICsgXCJcXHUzMUEwLVxcdTMxQkFcXHUzMUYwLVxcdTMxRkZcXHUzMjAwLVxcdTMyMUNcXHUzMjIwLVxcdTMyMjlcXHUzMjJBLVxcdTMyNDdcIiArIFwiXFx1MzI0OC1cXHUzMjRGXFx1MzI2MC1cXHUzMjdCXFx1MzI3RlxcdTMyODAtXFx1MzI4OVxcdTMyOEEtXFx1MzJCMFxcdTMyQzAtXFx1MzJDQlwiICsgXCJcXHUzMkQwLVxcdTMyRkVcXHUzMzAwLVxcdTMzNzZcXHUzMzdCLVxcdTMzRERcXHUzM0UwLVxcdTMzRkVcXHUzNDAwLVxcdTREQjVcIiArIFwiXFx1NEUwMC1cXHU5RkNDXFx1QTAwMC1cXHVBMDE0XFx1QTAxNVxcdUEwMTYtXFx1QTQ4Q1xcdUE0RDAtXFx1QTRGN1xcdUE0RjgtXFx1QTRGRFwiICsgXCJcXHVBNEZFLVxcdUE0RkZcXHVBNTAwLVxcdUE2MEJcXHVBNjBDXFx1QTYxMC1cXHVBNjFGXFx1QTYyMC1cXHVBNjI5XFx1QTYyQS1cXHVBNjJCXCIgKyBcIlxcdUE2NDAtXFx1QTY2RFxcdUE2NkVcXHVBNjgwLVxcdUE2OUJcXHVBNjlDLVxcdUE2OURcXHVBNkEwLVxcdUE2RTVcXHVBNkU2LVxcdUE2RUZcIiArIFwiXFx1QTZGMi1cXHVBNkY3XFx1QTcyMi1cXHVBNzZGXFx1QTc3MFxcdUE3NzEtXFx1QTc4N1xcdUE3ODktXFx1QTc4QVxcdUE3OEItXFx1QTc4RVwiICsgXCJcXHVBNzkwLVxcdUE3QURcXHVBN0IwLVxcdUE3QjFcXHVBN0Y3XFx1QTdGOC1cXHVBN0Y5XFx1QTdGQVxcdUE3RkItXFx1QTgwMVwiICsgXCJcXHVBODAzLVxcdUE4MDVcXHVBODA3LVxcdUE4MEFcXHVBODBDLVxcdUE4MjJcXHVBODIzLVxcdUE4MjRcXHVBODI3XFx1QTgzMC1cXHVBODM1XCIgKyBcIlxcdUE4MzYtXFx1QTgzN1xcdUE4NDAtXFx1QTg3M1xcdUE4ODAtXFx1QTg4MVxcdUE4ODItXFx1QThCM1xcdUE4QjQtXFx1QThDM1wiICsgXCJcXHVBOENFLVxcdUE4Q0ZcXHVBOEQwLVxcdUE4RDlcXHVBOEYyLVxcdUE4RjdcXHVBOEY4LVxcdUE4RkFcXHVBOEZCXFx1QTkwMC1cXHVBOTA5XCIgKyBcIlxcdUE5MEEtXFx1QTkyNVxcdUE5MkUtXFx1QTkyRlxcdUE5MzAtXFx1QTk0NlxcdUE5NTItXFx1QTk1M1xcdUE5NUZcXHVBOTYwLVxcdUE5N0NcIiArIFwiXFx1QTk4M1xcdUE5ODQtXFx1QTlCMlxcdUE5QjQtXFx1QTlCNVxcdUE5QkEtXFx1QTlCQlxcdUE5QkQtXFx1QTlDMFxcdUE5QzEtXFx1QTlDRFwiICsgXCJcXHVBOUNGXFx1QTlEMC1cXHVBOUQ5XFx1QTlERS1cXHVBOURGXFx1QTlFMC1cXHVBOUU0XFx1QTlFNlxcdUE5RTctXFx1QTlFRlwiICsgXCJcXHVBOUYwLVxcdUE5RjlcXHVBOUZBLVxcdUE5RkVcXHVBQTAwLVxcdUFBMjhcXHVBQTJGLVxcdUFBMzBcXHVBQTMzLVxcdUFBMzRcIiArIFwiXFx1QUE0MC1cXHVBQTQyXFx1QUE0NC1cXHVBQTRCXFx1QUE0RFxcdUFBNTAtXFx1QUE1OVxcdUFBNUMtXFx1QUE1RlxcdUFBNjAtXFx1QUE2RlwiICsgXCJcXHVBQTcwXFx1QUE3MS1cXHVBQTc2XFx1QUE3Ny1cXHVBQTc5XFx1QUE3QVxcdUFBN0JcXHVBQTdEXFx1QUE3RS1cXHVBQUFGXFx1QUFCMVwiICsgXCJcXHVBQUI1LVxcdUFBQjZcXHVBQUI5LVxcdUFBQkRcXHVBQUMwXFx1QUFDMlxcdUFBREItXFx1QUFEQ1xcdUFBRERcXHVBQURFLVxcdUFBREZcIiArIFwiXFx1QUFFMC1cXHVBQUVBXFx1QUFFQlxcdUFBRUUtXFx1QUFFRlxcdUFBRjAtXFx1QUFGMVxcdUFBRjJcXHVBQUYzLVxcdUFBRjRcXHVBQUY1XCIgKyBcIlxcdUFCMDEtXFx1QUIwNlxcdUFCMDktXFx1QUIwRVxcdUFCMTEtXFx1QUIxNlxcdUFCMjAtXFx1QUIyNlxcdUFCMjgtXFx1QUIyRVwiICsgXCJcXHVBQjMwLVxcdUFCNUFcXHVBQjVCXFx1QUI1Qy1cXHVBQjVGXFx1QUI2NC1cXHVBQjY1XFx1QUJDMC1cXHVBQkUyXFx1QUJFMy1cXHVBQkU0XCIgKyBcIlxcdUFCRTYtXFx1QUJFN1xcdUFCRTktXFx1QUJFQVxcdUFCRUJcXHVBQkVDXFx1QUJGMC1cXHVBQkY5XFx1QUMwMC1cXHVEN0EzXCIgKyBcIlxcdUQ3QjAtXFx1RDdDNlxcdUQ3Q0ItXFx1RDdGQlxcdUUwMDAtXFx1RjhGRlxcdUY5MDAtXFx1RkE2RFxcdUZBNzAtXFx1RkFEOVwiICsgXCJcXHVGQjAwLVxcdUZCMDZcXHVGQjEzLVxcdUZCMTdcXHVGRjIxLVxcdUZGM0FcXHVGRjQxLVxcdUZGNUFcXHVGRjY2LVxcdUZGNkZcXHVGRjcwXCIgKyBcIlxcdUZGNzEtXFx1RkY5RFxcdUZGOUUtXFx1RkY5RlxcdUZGQTAtXFx1RkZCRVxcdUZGQzItXFx1RkZDN1xcdUZGQ0EtXFx1RkZDRlwiICsgXCJcXHVGRkQyLVxcdUZGRDdcXHVGRkRBLVxcdUZGRENcIixcbiAgUjogXCJcXHUwNTkwXFx1MDVCRVxcdTA1QzBcXHUwNUMzXFx1MDVDNlxcdTA1QzgtXFx1MDVDRlxcdTA1RDAtXFx1MDVFQVxcdTA1RUItXFx1MDVFRlwiICsgXCJcXHUwNUYwLVxcdTA1RjJcXHUwNUYzLVxcdTA1RjRcXHUwNUY1LVxcdTA1RkZcXHUwN0MwLVxcdTA3QzlcXHUwN0NBLVxcdTA3RUFcIiArIFwiXFx1MDdGNC1cXHUwN0Y1XFx1MDdGQVxcdTA3RkItXFx1MDdGRlxcdTA4MDAtXFx1MDgxNVxcdTA4MUFcXHUwODI0XFx1MDgyOFwiICsgXCJcXHUwODJFLVxcdTA4MkZcXHUwODMwLVxcdTA4M0VcXHUwODNGXFx1MDg0MC1cXHUwODU4XFx1MDg1Qy1cXHUwODVEXFx1MDg1RVwiICsgXCJcXHUwODVGLVxcdTA4OUZcXHUyMDBGXFx1RkIxRFxcdUZCMUYtXFx1RkIyOFxcdUZCMkEtXFx1RkIzNlxcdUZCMzdcXHVGQjM4LVxcdUZCM0NcIiArIFwiXFx1RkIzRFxcdUZCM0VcXHVGQjNGXFx1RkI0MC1cXHVGQjQxXFx1RkI0MlxcdUZCNDMtXFx1RkI0NFxcdUZCNDVcXHVGQjQ2LVxcdUZCNEZcIixcbiAgQUw6IFwiXFx1MDYwOFxcdTA2MEJcXHUwNjBEXFx1MDYxQlxcdTA2MUNcXHUwNjFEXFx1MDYxRS1cXHUwNjFGXFx1MDYyMC1cXHUwNjNGXFx1MDY0MFwiICsgXCJcXHUwNjQxLVxcdTA2NEFcXHUwNjZEXFx1MDY2RS1cXHUwNjZGXFx1MDY3MS1cXHUwNkQzXFx1MDZENFxcdTA2RDVcXHUwNkU1LVxcdTA2RTZcIiArIFwiXFx1MDZFRS1cXHUwNkVGXFx1MDZGQS1cXHUwNkZDXFx1MDZGRC1cXHUwNkZFXFx1MDZGRlxcdTA3MDAtXFx1MDcwRFxcdTA3MEVcXHUwNzBGXCIgKyBcIlxcdTA3MTBcXHUwNzEyLVxcdTA3MkZcXHUwNzRCLVxcdTA3NENcXHUwNzRELVxcdTA3QTVcXHUwN0IxXFx1MDdCMi1cXHUwN0JGXCIgKyBcIlxcdTA4QTAtXFx1MDhCMlxcdTA4QjMtXFx1MDhFM1xcdUZCNTAtXFx1RkJCMVxcdUZCQjItXFx1RkJDMVxcdUZCQzItXFx1RkJEMlwiICsgXCJcXHVGQkQzLVxcdUZEM0RcXHVGRDQwLVxcdUZENEZcXHVGRDUwLVxcdUZEOEZcXHVGRDkwLVxcdUZEOTFcXHVGRDkyLVxcdUZEQzdcIiArIFwiXFx1RkRDOC1cXHVGRENGXFx1RkRGMC1cXHVGREZCXFx1RkRGQ1xcdUZERkUtXFx1RkRGRlxcdUZFNzAtXFx1RkU3NFxcdUZFNzVcIiArIFwiXFx1RkU3Ni1cXHVGRUZDXFx1RkVGRC1cXHVGRUZFXCJcbn07XG52YXIgUkVHRVhfU1RST05HID0gbmV3IFJlZ0V4cCgnWycgKyBSQU5HRV9CWV9CSURJX1RZUEUuTCArIFJBTkdFX0JZX0JJRElfVFlQRS5SICsgUkFOR0VfQllfQklESV9UWVBFLkFMICsgJ10nKTtcbnZhciBSRUdFWF9SVEwgPSBuZXcgUmVnRXhwKCdbJyArIFJBTkdFX0JZX0JJRElfVFlQRS5SICsgUkFOR0VfQllfQklESV9UWVBFLkFMICsgJ10nKTtcbi8qKlxuICogUmV0dXJucyB0aGUgZmlyc3Qgc3Ryb25nIGNoYXJhY3RlciAoaGFzIEJpZGlfQ2xhc3MgdmFsdWUgb2YgTCwgUiwgb3IgQUwpLlxuICpcbiAqIEBwYXJhbSBzdHIgIEEgdGV4dCBibG9jazsgZS5nLiBwYXJhZ3JhcGgsIHRhYmxlIGNlbGwsIHRhZ1xuICogQHJldHVybiAgICAgQSBjaGFyYWN0ZXIgd2l0aCBzdHJvbmcgYmlkaSBkaXJlY3Rpb24sIG9yIG51bGwgaWYgbm90IGZvdW5kXG4gKi9cblxuZnVuY3Rpb24gZmlyc3RTdHJvbmdDaGFyKHN0cikge1xuICB2YXIgbWF0Y2ggPSBSRUdFWF9TVFJPTkcuZXhlYyhzdHIpO1xuICByZXR1cm4gbWF0Y2ggPT0gbnVsbCA/IG51bGwgOiBtYXRjaFswXTtcbn1cbi8qKlxuICogUmV0dXJucyB0aGUgZGlyZWN0aW9uIG9mIGEgYmxvY2sgb2YgdGV4dCwgYmFzZWQgb24gdGhlIGRpcmVjdGlvbiBvZiBpdHNcbiAqIGZpcnN0IHN0cm9uZyBjaGFyYWN0ZXIgKGhhcyBCaWRpX0NsYXNzIHZhbHVlIG9mIEwsIFIsIG9yIEFMKS5cbiAqXG4gKiBAcGFyYW0gc3RyICBBIHRleHQgYmxvY2s7IGUuZy4gcGFyYWdyYXBoLCB0YWJsZSBjZWxsLCB0YWdcbiAqIEByZXR1cm4gICAgIFRoZSByZXNvbHZlZCBkaXJlY3Rpb25cbiAqL1xuXG5cbmZ1bmN0aW9uIGZpcnN0U3Ryb25nQ2hhckRpcihzdHIpIHtcbiAgdmFyIHN0cm9uZ0NoYXIgPSBmaXJzdFN0cm9uZ0NoYXIoc3RyKTtcblxuICBpZiAoc3Ryb25nQ2hhciA9PSBudWxsKSB7XG4gICAgcmV0dXJuIFVuaWNvZGVCaWRpRGlyZWN0aW9uLk5FVVRSQUw7XG4gIH1cblxuICByZXR1cm4gUkVHRVhfUlRMLmV4ZWMoc3Ryb25nQ2hhcikgPyBVbmljb2RlQmlkaURpcmVjdGlvbi5SVEwgOiBVbmljb2RlQmlkaURpcmVjdGlvbi5MVFI7XG59XG4vKipcbiAqIFJldHVybnMgdGhlIGRpcmVjdGlvbiBvZiBhIGJsb2NrIG9mIHRleHQsIGJhc2VkIG9uIHRoZSBkaXJlY3Rpb24gb2YgaXRzXG4gKiBmaXJzdCBzdHJvbmcgY2hhcmFjdGVyIChoYXMgQmlkaV9DbGFzcyB2YWx1ZSBvZiBMLCBSLCBvciBBTCksIG9yIGEgZmFsbGJhY2tcbiAqIGRpcmVjdGlvbiwgaWYgbm8gc3Ryb25nIGNoYXJhY3RlciBpcyBmb3VuZC5cbiAqXG4gKiBUaGlzIGZ1bmN0aW9uIGlzIHN1cHBvc2VkIHRvIGJlIHVzZWQgaW4gcmVzcGVjdCB0byBIaWdoZXItTGV2ZWwgUHJvdG9jb2xcbiAqIHJ1bGUgSEwxLiAoaHR0cDovL3d3dy51bmljb2RlLm9yZy9yZXBvcnRzL3RyOS8jSEwxKVxuICpcbiAqIEBwYXJhbSBzdHIgICAgICAgQSB0ZXh0IGJsb2NrOyBlLmcuIHBhcmFncmFwaCwgdGFibGUgY2VsbCwgdGFnXG4gKiBAcGFyYW0gZmFsbGJhY2sgIEZhbGxiYWNrIGRpcmVjdGlvbiwgdXNlZCBpZiBubyBzdHJvbmcgZGlyZWN0aW9uIGRldGVjdGVkXG4gKiAgICAgICAgICAgICAgICAgIGZvciB0aGUgYmxvY2sgKGRlZmF1bHQgPSBORVVUUkFMKVxuICogQHJldHVybiAgICAgICAgICBUaGUgcmVzb2x2ZWQgZGlyZWN0aW9uXG4gKi9cblxuXG5mdW5jdGlvbiByZXNvbHZlQmxvY2tEaXIoc3RyLCBmYWxsYmFjaykge1xuICBmYWxsYmFjayA9IGZhbGxiYWNrIHx8IFVuaWNvZGVCaWRpRGlyZWN0aW9uLk5FVVRSQUw7XG5cbiAgaWYgKCFzdHIubGVuZ3RoKSB7XG4gICAgcmV0dXJuIGZhbGxiYWNrO1xuICB9XG5cbiAgdmFyIGJsb2NrRGlyID0gZmlyc3RTdHJvbmdDaGFyRGlyKHN0cik7XG4gIHJldHVybiBibG9ja0RpciA9PT0gVW5pY29kZUJpZGlEaXJlY3Rpb24uTkVVVFJBTCA/IGZhbGxiYWNrIDogYmxvY2tEaXI7XG59XG4vKipcbiAqIFJldHVybnMgdGhlIGRpcmVjdGlvbiBvZiBhIGJsb2NrIG9mIHRleHQsIGJhc2VkIG9uIHRoZSBkaXJlY3Rpb24gb2YgaXRzXG4gKiBmaXJzdCBzdHJvbmcgY2hhcmFjdGVyIChoYXMgQmlkaV9DbGFzcyB2YWx1ZSBvZiBMLCBSLCBvciBBTCksIG9yIGEgZmFsbGJhY2tcbiAqIGRpcmVjdGlvbiwgaWYgbm8gc3Ryb25nIGNoYXJhY3RlciBpcyBmb3VuZC5cbiAqXG4gKiBOT1RFOiBUaGlzIGZ1bmN0aW9uIGlzIHNpbWlsYXIgdG8gcmVzb2x2ZUJsb2NrRGlyKCksIGJ1dCB1c2VzIHRoZSBnbG9iYWxcbiAqIGRpcmVjdGlvbiBhcyB0aGUgZmFsbGJhY2ssIHNvIGl0ICphbHdheXMqIHJldHVybnMgYSBTdHJvbmcgZGlyZWN0aW9uLFxuICogbWFraW5nIGl0IHVzZWZ1bCBmb3IgaW50ZWdyYXRpb24gaW4gcGxhY2VzIHRoYXQgeW91IG5lZWQgdG8gbWFrZSB0aGUgZmluYWxcbiAqIGRlY2lzaW9uLCBsaWtlIHNldHRpbmcgc29tZSBDU1MgY2xhc3MuXG4gKlxuICogVGhpcyBmdW5jdGlvbiBpcyBzdXBwb3NlZCB0byBiZSB1c2VkIGluIHJlc3BlY3QgdG8gSGlnaGVyLUxldmVsIFByb3RvY29sXG4gKiBydWxlIEhMMS4gKGh0dHA6Ly93d3cudW5pY29kZS5vcmcvcmVwb3J0cy90cjkvI0hMMSlcbiAqXG4gKiBAcGFyYW0gc3RyICAgICAgICAgICAgIEEgdGV4dCBibG9jazsgZS5nLiBwYXJhZ3JhcGgsIHRhYmxlIGNlbGxcbiAqIEBwYXJhbSBzdHJvbmdGYWxsYmFjayAgRmFsbGJhY2sgZGlyZWN0aW9uLCB1c2VkIGlmIG5vIHN0cm9uZyBkaXJlY3Rpb25cbiAqICAgICAgICAgICAgICAgICAgICAgICAgZGV0ZWN0ZWQgZm9yIHRoZSBibG9jayAoZGVmYXVsdCA9IGdsb2JhbCBkaXJlY3Rpb24pXG4gKiBAcmV0dXJuICAgICAgICAgICAgICAgIFRoZSByZXNvbHZlZCBTdHJvbmcgZGlyZWN0aW9uXG4gKi9cblxuXG5mdW5jdGlvbiBnZXREaXJlY3Rpb24oc3RyLCBzdHJvbmdGYWxsYmFjaykge1xuICBpZiAoIXN0cm9uZ0ZhbGxiYWNrKSB7XG4gICAgc3Ryb25nRmFsbGJhY2sgPSBVbmljb2RlQmlkaURpcmVjdGlvbi5nZXRHbG9iYWxEaXIoKTtcbiAgfVxuXG4gICFVbmljb2RlQmlkaURpcmVjdGlvbi5pc1N0cm9uZyhzdHJvbmdGYWxsYmFjaykgPyBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIgPyBpbnZhcmlhbnQoZmFsc2UsICdGYWxsYmFjayBkaXJlY3Rpb24gbXVzdCBiZSBhIHN0cm9uZyBkaXJlY3Rpb24nKSA6IGludmFyaWFudChmYWxzZSkgOiB2b2lkIDA7XG4gIHJldHVybiByZXNvbHZlQmxvY2tEaXIoc3RyLCBzdHJvbmdGYWxsYmFjayk7XG59XG4vKipcbiAqIFJldHVybnMgdHJ1ZSBpZiBnZXREaXJlY3Rpb24oYXJndW1lbnRzLi4uKSByZXR1cm5zIExUUi5cbiAqXG4gKiBAcGFyYW0gc3RyICAgICAgICAgICAgIEEgdGV4dCBibG9jazsgZS5nLiBwYXJhZ3JhcGgsIHRhYmxlIGNlbGxcbiAqIEBwYXJhbSBzdHJvbmdGYWxsYmFjayAgRmFsbGJhY2sgZGlyZWN0aW9uLCB1c2VkIGlmIG5vIHN0cm9uZyBkaXJlY3Rpb25cbiAqICAgICAgICAgICAgICAgICAgICAgICAgZGV0ZWN0ZWQgZm9yIHRoZSBibG9jayAoZGVmYXVsdCA9IGdsb2JhbCBkaXJlY3Rpb24pXG4gKiBAcmV0dXJuICAgICAgICAgICAgICAgIFRydWUgaWYgdGhlIHJlc29sdmVkIGRpcmVjdGlvbiBpcyBMVFJcbiAqL1xuXG5cbmZ1bmN0aW9uIGlzRGlyZWN0aW9uTFRSKHN0ciwgc3Ryb25nRmFsbGJhY2spIHtcbiAgcmV0dXJuIGdldERpcmVjdGlvbihzdHIsIHN0cm9uZ0ZhbGxiYWNrKSA9PT0gVW5pY29kZUJpZGlEaXJlY3Rpb24uTFRSO1xufVxuLyoqXG4gKiBSZXR1cm5zIHRydWUgaWYgZ2V0RGlyZWN0aW9uKGFyZ3VtZW50cy4uLikgcmV0dXJucyBSVEwuXG4gKlxuICogQHBhcmFtIHN0ciAgICAgICAgICAgICBBIHRleHQgYmxvY2s7IGUuZy4gcGFyYWdyYXBoLCB0YWJsZSBjZWxsXG4gKiBAcGFyYW0gc3Ryb25nRmFsbGJhY2sgIEZhbGxiYWNrIGRpcmVjdGlvbiwgdXNlZCBpZiBubyBzdHJvbmcgZGlyZWN0aW9uXG4gKiAgICAgICAgICAgICAgICAgICAgICAgIGRldGVjdGVkIGZvciB0aGUgYmxvY2sgKGRlZmF1bHQgPSBnbG9iYWwgZGlyZWN0aW9uKVxuICogQHJldHVybiAgICAgICAgICAgICAgICBUcnVlIGlmIHRoZSByZXNvbHZlZCBkaXJlY3Rpb24gaXMgUlRMXG4gKi9cblxuXG5mdW5jdGlvbiBpc0RpcmVjdGlvblJUTChzdHIsIHN0cm9uZ0ZhbGxiYWNrKSB7XG4gIHJldHVybiBnZXREaXJlY3Rpb24oc3RyLCBzdHJvbmdGYWxsYmFjaykgPT09IFVuaWNvZGVCaWRpRGlyZWN0aW9uLlJUTDtcbn1cblxudmFyIFVuaWNvZGVCaWRpID0ge1xuICBmaXJzdFN0cm9uZ0NoYXI6IGZpcnN0U3Ryb25nQ2hhcixcbiAgZmlyc3RTdHJvbmdDaGFyRGlyOiBmaXJzdFN0cm9uZ0NoYXJEaXIsXG4gIHJlc29sdmVCbG9ja0RpcjogcmVzb2x2ZUJsb2NrRGlyLFxuICBnZXREaXJlY3Rpb246IGdldERpcmVjdGlvbixcbiAgaXNEaXJlY3Rpb25MVFI6IGlzRGlyZWN0aW9uTFRSLFxuICBpc0RpcmVjdGlvblJUTDogaXNEaXJlY3Rpb25SVExcbn07XG5tb2R1bGUuZXhwb3J0cyA9IFVuaWNvZGVCaWRpOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/fbjs/lib/UnicodeBidi.js\n"); /***/ }), @@ -1457,7 +1684,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source cod /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n * \n */\n\n/**\n * Constants to represent text directionality\n *\n * Also defines a *global* direciton, to be used in bidi algorithms as a\n * default fallback direciton, when no better direction is found or provided.\n *\n * NOTE: Use `setGlobalDir()`, or update `initGlobalDir()`, to set the initial\n * global direction value based on the application.\n *\n * Part of the implementation of Unicode Bidirectional Algorithm (UBA)\n * Unicode Standard Annex #9 (UAX9)\n * http://www.unicode.org/reports/tr9/\n */\n\n\n\nvar invariant = __webpack_require__(/*! ./invariant */ \"./node_modules/fbjs/lib/invariant.js\");\n\nvar NEUTRAL = 'NEUTRAL'; // No strong direction\nvar LTR = 'LTR'; // Left-to-Right direction\nvar RTL = 'RTL'; // Right-to-Left direction\n\nvar globalDir = null;\n\n// == Helpers ==\n\n/**\n * Check if a directionality value is a Strong one\n */\nfunction isStrong(dir) {\n return dir === LTR || dir === RTL;\n}\n\n/**\n * Get string value to be used for `dir` HTML attribute or `direction` CSS\n * property.\n */\nfunction getHTMLDir(dir) {\n !isStrong(dir) ? true ? invariant(false, '`dir` must be a strong direction to be converted to HTML Direction') : undefined : void 0;\n return dir === LTR ? 'ltr' : 'rtl';\n}\n\n/**\n * Get string value to be used for `dir` HTML attribute or `direction` CSS\n * property, but returns null if `dir` has same value as `otherDir`.\n * `null`.\n */\nfunction getHTMLDirIfDifferent(dir, otherDir) {\n !isStrong(dir) ? true ? invariant(false, '`dir` must be a strong direction to be converted to HTML Direction') : undefined : void 0;\n !isStrong(otherDir) ? true ? invariant(false, '`otherDir` must be a strong direction to be converted to HTML Direction') : undefined : void 0;\n return dir === otherDir ? null : getHTMLDir(dir);\n}\n\n// == Global Direction ==\n\n/**\n * Set the global direction.\n */\nfunction setGlobalDir(dir) {\n globalDir = dir;\n}\n\n/**\n * Initialize the global direction\n */\nfunction initGlobalDir() {\n setGlobalDir(LTR);\n}\n\n/**\n * Get the global direction\n */\nfunction getGlobalDir() {\n if (!globalDir) {\n this.initGlobalDir();\n }\n !globalDir ? true ? invariant(false, 'Global direction not set.') : undefined : void 0;\n return globalDir;\n}\n\nvar UnicodeBidiDirection = {\n // Values\n NEUTRAL: NEUTRAL,\n LTR: LTR,\n RTL: RTL,\n // Helpers\n isStrong: isStrong,\n getHTMLDir: getHTMLDir,\n getHTMLDirIfDifferent: getHTMLDirIfDifferent,\n // Global Direction\n setGlobalDir: setGlobalDir,\n initGlobalDir: initGlobalDir,\n getGlobalDir: getGlobalDir\n};\n\nmodule.exports = UnicodeBidiDirection;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvVW5pY29kZUJpZGlEaXJlY3Rpb24uanM/OWEzMSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWE7O0FBRWIsZ0JBQWdCLG1CQUFPLENBQUMseURBQWE7O0FBRXJDLHdCQUF3QjtBQUN4QixnQkFBZ0I7QUFDaEIsZ0JBQWdCOztBQUVoQjs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQixLQUFxQyw0RkFBNEYsU0FBZ0I7QUFDcEs7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQkFBbUIsS0FBcUMsNEZBQTRGLFNBQWdCO0FBQ3BLLHdCQUF3QixLQUFxQyxpR0FBaUcsU0FBZ0I7QUFDOUs7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxLQUFxQyxtREFBbUQsU0FBZ0I7QUFDdkg7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2ZianMvbGliL1VuaWNvZGVCaWRpRGlyZWN0aW9uLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKiBAdHlwZWNoZWNrc1xuICogXG4gKi9cblxuLyoqXG4gKiBDb25zdGFudHMgdG8gcmVwcmVzZW50IHRleHQgZGlyZWN0aW9uYWxpdHlcbiAqXG4gKiBBbHNvIGRlZmluZXMgYSAqZ2xvYmFsKiBkaXJlY2l0b24sIHRvIGJlIHVzZWQgaW4gYmlkaSBhbGdvcml0aG1zIGFzIGFcbiAqIGRlZmF1bHQgZmFsbGJhY2sgZGlyZWNpdG9uLCB3aGVuIG5vIGJldHRlciBkaXJlY3Rpb24gaXMgZm91bmQgb3IgcHJvdmlkZWQuXG4gKlxuICogTk9URTogVXNlIGBzZXRHbG9iYWxEaXIoKWAsIG9yIHVwZGF0ZSBgaW5pdEdsb2JhbERpcigpYCwgdG8gc2V0IHRoZSBpbml0aWFsXG4gKiAgICAgICBnbG9iYWwgZGlyZWN0aW9uIHZhbHVlIGJhc2VkIG9uIHRoZSBhcHBsaWNhdGlvbi5cbiAqXG4gKiBQYXJ0IG9mIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiBVbmljb2RlIEJpZGlyZWN0aW9uYWwgQWxnb3JpdGhtIChVQkEpXG4gKiBVbmljb2RlIFN0YW5kYXJkIEFubmV4ICM5IChVQVg5KVxuICogaHR0cDovL3d3dy51bmljb2RlLm9yZy9yZXBvcnRzL3RyOS9cbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbnZhciBpbnZhcmlhbnQgPSByZXF1aXJlKCcuL2ludmFyaWFudCcpO1xuXG52YXIgTkVVVFJBTCA9ICdORVVUUkFMJzsgLy8gTm8gc3Ryb25nIGRpcmVjdGlvblxudmFyIExUUiA9ICdMVFInOyAvLyBMZWZ0LXRvLVJpZ2h0IGRpcmVjdGlvblxudmFyIFJUTCA9ICdSVEwnOyAvLyBSaWdodC10by1MZWZ0IGRpcmVjdGlvblxuXG52YXIgZ2xvYmFsRGlyID0gbnVsbDtcblxuLy8gPT0gSGVscGVycyA9PVxuXG4vKipcbiAqIENoZWNrIGlmIGEgZGlyZWN0aW9uYWxpdHkgdmFsdWUgaXMgYSBTdHJvbmcgb25lXG4gKi9cbmZ1bmN0aW9uIGlzU3Ryb25nKGRpcikge1xuICByZXR1cm4gZGlyID09PSBMVFIgfHwgZGlyID09PSBSVEw7XG59XG5cbi8qKlxuICogR2V0IHN0cmluZyB2YWx1ZSB0byBiZSB1c2VkIGZvciBgZGlyYCBIVE1MIGF0dHJpYnV0ZSBvciBgZGlyZWN0aW9uYCBDU1NcbiAqIHByb3BlcnR5LlxuICovXG5mdW5jdGlvbiBnZXRIVE1MRGlyKGRpcikge1xuICAhaXNTdHJvbmcoZGlyKSA/IHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgPyBpbnZhcmlhbnQoZmFsc2UsICdgZGlyYCBtdXN0IGJlIGEgc3Ryb25nIGRpcmVjdGlvbiB0byBiZSBjb252ZXJ0ZWQgdG8gSFRNTCBEaXJlY3Rpb24nKSA6IGludmFyaWFudChmYWxzZSkgOiB2b2lkIDA7XG4gIHJldHVybiBkaXIgPT09IExUUiA/ICdsdHInIDogJ3J0bCc7XG59XG5cbi8qKlxuICogR2V0IHN0cmluZyB2YWx1ZSB0byBiZSB1c2VkIGZvciBgZGlyYCBIVE1MIGF0dHJpYnV0ZSBvciBgZGlyZWN0aW9uYCBDU1NcbiAqIHByb3BlcnR5LCBidXQgcmV0dXJucyBudWxsIGlmIGBkaXJgIGhhcyBzYW1lIHZhbHVlIGFzIGBvdGhlckRpcmAuXG4gKiBgbnVsbGAuXG4gKi9cbmZ1bmN0aW9uIGdldEhUTUxEaXJJZkRpZmZlcmVudChkaXIsIG90aGVyRGlyKSB7XG4gICFpc1N0cm9uZyhkaXIpID8gcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyA/IGludmFyaWFudChmYWxzZSwgJ2BkaXJgIG11c3QgYmUgYSBzdHJvbmcgZGlyZWN0aW9uIHRvIGJlIGNvbnZlcnRlZCB0byBIVE1MIERpcmVjdGlvbicpIDogaW52YXJpYW50KGZhbHNlKSA6IHZvaWQgMDtcbiAgIWlzU3Ryb25nKG90aGVyRGlyKSA/IHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgPyBpbnZhcmlhbnQoZmFsc2UsICdgb3RoZXJEaXJgIG11c3QgYmUgYSBzdHJvbmcgZGlyZWN0aW9uIHRvIGJlIGNvbnZlcnRlZCB0byBIVE1MIERpcmVjdGlvbicpIDogaW52YXJpYW50KGZhbHNlKSA6IHZvaWQgMDtcbiAgcmV0dXJuIGRpciA9PT0gb3RoZXJEaXIgPyBudWxsIDogZ2V0SFRNTERpcihkaXIpO1xufVxuXG4vLyA9PSBHbG9iYWwgRGlyZWN0aW9uID09XG5cbi8qKlxuICogU2V0IHRoZSBnbG9iYWwgZGlyZWN0aW9uLlxuICovXG5mdW5jdGlvbiBzZXRHbG9iYWxEaXIoZGlyKSB7XG4gIGdsb2JhbERpciA9IGRpcjtcbn1cblxuLyoqXG4gKiBJbml0aWFsaXplIHRoZSBnbG9iYWwgZGlyZWN0aW9uXG4gKi9cbmZ1bmN0aW9uIGluaXRHbG9iYWxEaXIoKSB7XG4gIHNldEdsb2JhbERpcihMVFIpO1xufVxuXG4vKipcbiAqIEdldCB0aGUgZ2xvYmFsIGRpcmVjdGlvblxuICovXG5mdW5jdGlvbiBnZXRHbG9iYWxEaXIoKSB7XG4gIGlmICghZ2xvYmFsRGlyKSB7XG4gICAgdGhpcy5pbml0R2xvYmFsRGlyKCk7XG4gIH1cbiAgIWdsb2JhbERpciA/IHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgPyBpbnZhcmlhbnQoZmFsc2UsICdHbG9iYWwgZGlyZWN0aW9uIG5vdCBzZXQuJykgOiBpbnZhcmlhbnQoZmFsc2UpIDogdm9pZCAwO1xuICByZXR1cm4gZ2xvYmFsRGlyO1xufVxuXG52YXIgVW5pY29kZUJpZGlEaXJlY3Rpb24gPSB7XG4gIC8vIFZhbHVlc1xuICBORVVUUkFMOiBORVVUUkFMLFxuICBMVFI6IExUUixcbiAgUlRMOiBSVEwsXG4gIC8vIEhlbHBlcnNcbiAgaXNTdHJvbmc6IGlzU3Ryb25nLFxuICBnZXRIVE1MRGlyOiBnZXRIVE1MRGlyLFxuICBnZXRIVE1MRGlySWZEaWZmZXJlbnQ6IGdldEhUTUxEaXJJZkRpZmZlcmVudCxcbiAgLy8gR2xvYmFsIERpcmVjdGlvblxuICBzZXRHbG9iYWxEaXI6IHNldEdsb2JhbERpcixcbiAgaW5pdEdsb2JhbERpcjogaW5pdEdsb2JhbERpcixcbiAgZ2V0R2xvYmFsRGlyOiBnZXRHbG9iYWxEaXJcbn07XG5cbm1vZHVsZS5leHBvcnRzID0gVW5pY29kZUJpZGlEaXJlY3Rpb247Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/fbjs/lib/UnicodeBidiDirection.js\n"); +eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n * \n */\n\n/**\n * Constants to represent text directionality\n *\n * Also defines a *global* direciton, to be used in bidi algorithms as a\n * default fallback direciton, when no better direction is found or provided.\n *\n * NOTE: Use `setGlobalDir()`, or update `initGlobalDir()`, to set the initial\n * global direction value based on the application.\n *\n * Part of the implementation of Unicode Bidirectional Algorithm (UBA)\n * Unicode Standard Annex #9 (UAX9)\n * http://www.unicode.org/reports/tr9/\n */\n\n\nvar invariant = __webpack_require__(/*! ./invariant */ \"./node_modules/fbjs/lib/invariant.js\");\n\nvar NEUTRAL = 'NEUTRAL'; // No strong direction\n\nvar LTR = 'LTR'; // Left-to-Right direction\n\nvar RTL = 'RTL'; // Right-to-Left direction\n\nvar globalDir = null; // == Helpers ==\n\n/**\n * Check if a directionality value is a Strong one\n */\n\nfunction isStrong(dir) {\n return dir === LTR || dir === RTL;\n}\n/**\n * Get string value to be used for `dir` HTML attribute or `direction` CSS\n * property.\n */\n\n\nfunction getHTMLDir(dir) {\n !isStrong(dir) ? true ? invariant(false, '`dir` must be a strong direction to be converted to HTML Direction') : undefined : void 0;\n return dir === LTR ? 'ltr' : 'rtl';\n}\n/**\n * Get string value to be used for `dir` HTML attribute or `direction` CSS\n * property, but returns null if `dir` has same value as `otherDir`.\n * `null`.\n */\n\n\nfunction getHTMLDirIfDifferent(dir, otherDir) {\n !isStrong(dir) ? true ? invariant(false, '`dir` must be a strong direction to be converted to HTML Direction') : undefined : void 0;\n !isStrong(otherDir) ? true ? invariant(false, '`otherDir` must be a strong direction to be converted to HTML Direction') : undefined : void 0;\n return dir === otherDir ? null : getHTMLDir(dir);\n} // == Global Direction ==\n\n/**\n * Set the global direction.\n */\n\n\nfunction setGlobalDir(dir) {\n globalDir = dir;\n}\n/**\n * Initialize the global direction\n */\n\n\nfunction initGlobalDir() {\n setGlobalDir(LTR);\n}\n/**\n * Get the global direction\n */\n\n\nfunction getGlobalDir() {\n if (!globalDir) {\n this.initGlobalDir();\n }\n\n !globalDir ? true ? invariant(false, 'Global direction not set.') : undefined : void 0;\n return globalDir;\n}\n\nvar UnicodeBidiDirection = {\n // Values\n NEUTRAL: NEUTRAL,\n LTR: LTR,\n RTL: RTL,\n // Helpers\n isStrong: isStrong,\n getHTMLDir: getHTMLDir,\n getHTMLDirIfDifferent: getHTMLDirIfDifferent,\n // Global Direction\n setGlobalDir: setGlobalDir,\n initGlobalDir: initGlobalDir,\n getGlobalDir: getGlobalDir\n};\nmodule.exports = UnicodeBidiDirection;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvVW5pY29kZUJpZGlEaXJlY3Rpb24uanM/OWEzMSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDYTs7QUFFYixnQkFBZ0IsbUJBQU8sQ0FBQyx5REFBYTs7QUFFckMsd0JBQXdCOztBQUV4QixnQkFBZ0I7O0FBRWhCLGdCQUFnQjs7QUFFaEIscUJBQXFCOztBQUVyQjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0EsbUJBQW1CLEtBQXFDLDRGQUE0RixTQUFnQjtBQUNwSztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQSxtQkFBbUIsS0FBcUMsNEZBQTRGLFNBQWdCO0FBQ3BLLHdCQUF3QixLQUFxQyxpR0FBaUcsU0FBZ0I7QUFDOUs7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLGVBQWUsS0FBcUMsbURBQW1ELFNBQWdCO0FBQ3ZIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2ZianMvbGliL1VuaWNvZGVCaWRpRGlyZWN0aW9uLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKiBAdHlwZWNoZWNrc1xuICogXG4gKi9cblxuLyoqXG4gKiBDb25zdGFudHMgdG8gcmVwcmVzZW50IHRleHQgZGlyZWN0aW9uYWxpdHlcbiAqXG4gKiBBbHNvIGRlZmluZXMgYSAqZ2xvYmFsKiBkaXJlY2l0b24sIHRvIGJlIHVzZWQgaW4gYmlkaSBhbGdvcml0aG1zIGFzIGFcbiAqIGRlZmF1bHQgZmFsbGJhY2sgZGlyZWNpdG9uLCB3aGVuIG5vIGJldHRlciBkaXJlY3Rpb24gaXMgZm91bmQgb3IgcHJvdmlkZWQuXG4gKlxuICogTk9URTogVXNlIGBzZXRHbG9iYWxEaXIoKWAsIG9yIHVwZGF0ZSBgaW5pdEdsb2JhbERpcigpYCwgdG8gc2V0IHRoZSBpbml0aWFsXG4gKiAgICAgICBnbG9iYWwgZGlyZWN0aW9uIHZhbHVlIGJhc2VkIG9uIHRoZSBhcHBsaWNhdGlvbi5cbiAqXG4gKiBQYXJ0IG9mIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiBVbmljb2RlIEJpZGlyZWN0aW9uYWwgQWxnb3JpdGhtIChVQkEpXG4gKiBVbmljb2RlIFN0YW5kYXJkIEFubmV4ICM5IChVQVg5KVxuICogaHR0cDovL3d3dy51bmljb2RlLm9yZy9yZXBvcnRzL3RyOS9cbiAqL1xuJ3VzZSBzdHJpY3QnO1xuXG52YXIgaW52YXJpYW50ID0gcmVxdWlyZShcIi4vaW52YXJpYW50XCIpO1xuXG52YXIgTkVVVFJBTCA9ICdORVVUUkFMJzsgLy8gTm8gc3Ryb25nIGRpcmVjdGlvblxuXG52YXIgTFRSID0gJ0xUUic7IC8vIExlZnQtdG8tUmlnaHQgZGlyZWN0aW9uXG5cbnZhciBSVEwgPSAnUlRMJzsgLy8gUmlnaHQtdG8tTGVmdCBkaXJlY3Rpb25cblxudmFyIGdsb2JhbERpciA9IG51bGw7IC8vID09IEhlbHBlcnMgPT1cblxuLyoqXG4gKiBDaGVjayBpZiBhIGRpcmVjdGlvbmFsaXR5IHZhbHVlIGlzIGEgU3Ryb25nIG9uZVxuICovXG5cbmZ1bmN0aW9uIGlzU3Ryb25nKGRpcikge1xuICByZXR1cm4gZGlyID09PSBMVFIgfHwgZGlyID09PSBSVEw7XG59XG4vKipcbiAqIEdldCBzdHJpbmcgdmFsdWUgdG8gYmUgdXNlZCBmb3IgYGRpcmAgSFRNTCBhdHRyaWJ1dGUgb3IgYGRpcmVjdGlvbmAgQ1NTXG4gKiBwcm9wZXJ0eS5cbiAqL1xuXG5cbmZ1bmN0aW9uIGdldEhUTUxEaXIoZGlyKSB7XG4gICFpc1N0cm9uZyhkaXIpID8gcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiID8gaW52YXJpYW50KGZhbHNlLCAnYGRpcmAgbXVzdCBiZSBhIHN0cm9uZyBkaXJlY3Rpb24gdG8gYmUgY29udmVydGVkIHRvIEhUTUwgRGlyZWN0aW9uJykgOiBpbnZhcmlhbnQoZmFsc2UpIDogdm9pZCAwO1xuICByZXR1cm4gZGlyID09PSBMVFIgPyAnbHRyJyA6ICdydGwnO1xufVxuLyoqXG4gKiBHZXQgc3RyaW5nIHZhbHVlIHRvIGJlIHVzZWQgZm9yIGBkaXJgIEhUTUwgYXR0cmlidXRlIG9yIGBkaXJlY3Rpb25gIENTU1xuICogcHJvcGVydHksIGJ1dCByZXR1cm5zIG51bGwgaWYgYGRpcmAgaGFzIHNhbWUgdmFsdWUgYXMgYG90aGVyRGlyYC5cbiAqIGBudWxsYC5cbiAqL1xuXG5cbmZ1bmN0aW9uIGdldEhUTUxEaXJJZkRpZmZlcmVudChkaXIsIG90aGVyRGlyKSB7XG4gICFpc1N0cm9uZyhkaXIpID8gcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiID8gaW52YXJpYW50KGZhbHNlLCAnYGRpcmAgbXVzdCBiZSBhIHN0cm9uZyBkaXJlY3Rpb24gdG8gYmUgY29udmVydGVkIHRvIEhUTUwgRGlyZWN0aW9uJykgOiBpbnZhcmlhbnQoZmFsc2UpIDogdm9pZCAwO1xuICAhaXNTdHJvbmcob3RoZXJEaXIpID8gcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiID8gaW52YXJpYW50KGZhbHNlLCAnYG90aGVyRGlyYCBtdXN0IGJlIGEgc3Ryb25nIGRpcmVjdGlvbiB0byBiZSBjb252ZXJ0ZWQgdG8gSFRNTCBEaXJlY3Rpb24nKSA6IGludmFyaWFudChmYWxzZSkgOiB2b2lkIDA7XG4gIHJldHVybiBkaXIgPT09IG90aGVyRGlyID8gbnVsbCA6IGdldEhUTUxEaXIoZGlyKTtcbn0gLy8gPT0gR2xvYmFsIERpcmVjdGlvbiA9PVxuXG4vKipcbiAqIFNldCB0aGUgZ2xvYmFsIGRpcmVjdGlvbi5cbiAqL1xuXG5cbmZ1bmN0aW9uIHNldEdsb2JhbERpcihkaXIpIHtcbiAgZ2xvYmFsRGlyID0gZGlyO1xufVxuLyoqXG4gKiBJbml0aWFsaXplIHRoZSBnbG9iYWwgZGlyZWN0aW9uXG4gKi9cblxuXG5mdW5jdGlvbiBpbml0R2xvYmFsRGlyKCkge1xuICBzZXRHbG9iYWxEaXIoTFRSKTtcbn1cbi8qKlxuICogR2V0IHRoZSBnbG9iYWwgZGlyZWN0aW9uXG4gKi9cblxuXG5mdW5jdGlvbiBnZXRHbG9iYWxEaXIoKSB7XG4gIGlmICghZ2xvYmFsRGlyKSB7XG4gICAgdGhpcy5pbml0R2xvYmFsRGlyKCk7XG4gIH1cblxuICAhZ2xvYmFsRGlyID8gcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiID8gaW52YXJpYW50KGZhbHNlLCAnR2xvYmFsIGRpcmVjdGlvbiBub3Qgc2V0LicpIDogaW52YXJpYW50KGZhbHNlKSA6IHZvaWQgMDtcbiAgcmV0dXJuIGdsb2JhbERpcjtcbn1cblxudmFyIFVuaWNvZGVCaWRpRGlyZWN0aW9uID0ge1xuICAvLyBWYWx1ZXNcbiAgTkVVVFJBTDogTkVVVFJBTCxcbiAgTFRSOiBMVFIsXG4gIFJUTDogUlRMLFxuICAvLyBIZWxwZXJzXG4gIGlzU3Ryb25nOiBpc1N0cm9uZyxcbiAgZ2V0SFRNTERpcjogZ2V0SFRNTERpcixcbiAgZ2V0SFRNTERpcklmRGlmZmVyZW50OiBnZXRIVE1MRGlySWZEaWZmZXJlbnQsXG4gIC8vIEdsb2JhbCBEaXJlY3Rpb25cbiAgc2V0R2xvYmFsRGlyOiBzZXRHbG9iYWxEaXIsXG4gIGluaXRHbG9iYWxEaXI6IGluaXRHbG9iYWxEaXIsXG4gIGdldEdsb2JhbERpcjogZ2V0R2xvYmFsRGlyXG59O1xubW9kdWxlLmV4cG9ydHMgPSBVbmljb2RlQmlkaURpcmVjdGlvbjsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/fbjs/lib/UnicodeBidiDirection.js\n"); /***/ }), @@ -1469,7 +1696,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source cod /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n * \n */\n\n/**\n * Stateful API for text direction detection\n *\n * This class can be used in applications where you need to detect the\n * direction of a sequence of text blocks, where each direction shall be used\n * as the fallback direction for the next one.\n *\n * NOTE: A default direction, if not provided, is set based on the global\n * direction, as defined by `UnicodeBidiDirection`.\n *\n * == Example ==\n * ```\n * var UnicodeBidiService = require('UnicodeBidiService');\n *\n * var bidiService = new UnicodeBidiService();\n *\n * ...\n *\n * bidiService.reset();\n * for (var para in paragraphs) {\n * var dir = bidiService.getDirection(para);\n * ...\n * }\n * ```\n *\n * Part of our implementation of Unicode Bidirectional Algorithm (UBA)\n * Unicode Standard Annex #9 (UAX9)\n * http://www.unicode.org/reports/tr9/\n */\n\n\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar UnicodeBidi = __webpack_require__(/*! ./UnicodeBidi */ \"./node_modules/fbjs/lib/UnicodeBidi.js\");\nvar UnicodeBidiDirection = __webpack_require__(/*! ./UnicodeBidiDirection */ \"./node_modules/fbjs/lib/UnicodeBidiDirection.js\");\n\nvar invariant = __webpack_require__(/*! ./invariant */ \"./node_modules/fbjs/lib/invariant.js\");\n\nvar UnicodeBidiService = function () {\n\n /**\n * Stateful class for paragraph direction detection\n *\n * @param defaultDir Default direction of the service\n */\n function UnicodeBidiService(defaultDir) {\n _classCallCheck(this, UnicodeBidiService);\n\n if (!defaultDir) {\n defaultDir = UnicodeBidiDirection.getGlobalDir();\n } else {\n !UnicodeBidiDirection.isStrong(defaultDir) ? true ? invariant(false, 'Default direction must be a strong direction (LTR or RTL)') : undefined : void 0;\n }\n this._defaultDir = defaultDir;\n this.reset();\n }\n\n /**\n * Reset the internal state\n *\n * Instead of creating a new instance, you can just reset() your instance\n * everytime you start a new loop.\n */\n\n\n UnicodeBidiService.prototype.reset = function reset() {\n this._lastDir = this._defaultDir;\n };\n\n /**\n * Returns the direction of a block of text, and remembers it as the\n * fall-back direction for the next paragraph.\n *\n * @param str A text block, e.g. paragraph, table cell, tag\n * @return The resolved direction\n */\n\n\n UnicodeBidiService.prototype.getDirection = function getDirection(str) {\n this._lastDir = UnicodeBidi.getDirection(str, this._lastDir);\n return this._lastDir;\n };\n\n return UnicodeBidiService;\n}();\n\nmodule.exports = UnicodeBidiService;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvVW5pY29kZUJpZGlTZXJ2aWNlLmpzPzIzYzMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWE7O0FBRWIsaURBQWlELDBDQUEwQywwREFBMEQsRUFBRTs7QUFFdkosa0JBQWtCLG1CQUFPLENBQUMsNkRBQWU7QUFDekMsMkJBQTJCLG1CQUFPLENBQUMsK0VBQXdCOztBQUUzRCxnQkFBZ0IsbUJBQU8sQ0FBQyx5REFBYTs7QUFFckM7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTCxtREFBbUQsS0FBcUMsbUZBQW1GLFNBQWdCO0FBQzNMO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLENBQUM7O0FBRUQiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvVW5pY29kZUJpZGlTZXJ2aWNlLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKiBAdHlwZWNoZWNrc1xuICogXG4gKi9cblxuLyoqXG4gKiBTdGF0ZWZ1bCBBUEkgZm9yIHRleHQgZGlyZWN0aW9uIGRldGVjdGlvblxuICpcbiAqIFRoaXMgY2xhc3MgY2FuIGJlIHVzZWQgaW4gYXBwbGljYXRpb25zIHdoZXJlIHlvdSBuZWVkIHRvIGRldGVjdCB0aGVcbiAqIGRpcmVjdGlvbiBvZiBhIHNlcXVlbmNlIG9mIHRleHQgYmxvY2tzLCB3aGVyZSBlYWNoIGRpcmVjdGlvbiBzaGFsbCBiZSB1c2VkXG4gKiBhcyB0aGUgZmFsbGJhY2sgZGlyZWN0aW9uIGZvciB0aGUgbmV4dCBvbmUuXG4gKlxuICogTk9URTogQSBkZWZhdWx0IGRpcmVjdGlvbiwgaWYgbm90IHByb3ZpZGVkLCBpcyBzZXQgYmFzZWQgb24gdGhlIGdsb2JhbFxuICogICAgICAgZGlyZWN0aW9uLCBhcyBkZWZpbmVkIGJ5IGBVbmljb2RlQmlkaURpcmVjdGlvbmAuXG4gKlxuICogPT0gRXhhbXBsZSA9PVxuICogYGBgXG4gKiB2YXIgVW5pY29kZUJpZGlTZXJ2aWNlID0gcmVxdWlyZSgnVW5pY29kZUJpZGlTZXJ2aWNlJyk7XG4gKlxuICogdmFyIGJpZGlTZXJ2aWNlID0gbmV3IFVuaWNvZGVCaWRpU2VydmljZSgpO1xuICpcbiAqIC4uLlxuICpcbiAqIGJpZGlTZXJ2aWNlLnJlc2V0KCk7XG4gKiBmb3IgKHZhciBwYXJhIGluIHBhcmFncmFwaHMpIHtcbiAqICAgdmFyIGRpciA9IGJpZGlTZXJ2aWNlLmdldERpcmVjdGlvbihwYXJhKTtcbiAqICAgLi4uXG4gKiB9XG4gKiBgYGBcbiAqXG4gKiBQYXJ0IG9mIG91ciBpbXBsZW1lbnRhdGlvbiBvZiBVbmljb2RlIEJpZGlyZWN0aW9uYWwgQWxnb3JpdGhtIChVQkEpXG4gKiBVbmljb2RlIFN0YW5kYXJkIEFubmV4ICM5IChVQVg5KVxuICogaHR0cDovL3d3dy51bmljb2RlLm9yZy9yZXBvcnRzL3RyOS9cbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbmZ1bmN0aW9uIF9jbGFzc0NhbGxDaGVjayhpbnN0YW5jZSwgQ29uc3RydWN0b3IpIHsgaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBDb25zdHJ1Y3RvcikpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKTsgfSB9XG5cbnZhciBVbmljb2RlQmlkaSA9IHJlcXVpcmUoJy4vVW5pY29kZUJpZGknKTtcbnZhciBVbmljb2RlQmlkaURpcmVjdGlvbiA9IHJlcXVpcmUoJy4vVW5pY29kZUJpZGlEaXJlY3Rpb24nKTtcblxudmFyIGludmFyaWFudCA9IHJlcXVpcmUoJy4vaW52YXJpYW50Jyk7XG5cbnZhciBVbmljb2RlQmlkaVNlcnZpY2UgPSBmdW5jdGlvbiAoKSB7XG5cbiAgLyoqXG4gICAqIFN0YXRlZnVsIGNsYXNzIGZvciBwYXJhZ3JhcGggZGlyZWN0aW9uIGRldGVjdGlvblxuICAgKlxuICAgKiBAcGFyYW0gZGVmYXVsdERpciAgRGVmYXVsdCBkaXJlY3Rpb24gb2YgdGhlIHNlcnZpY2VcbiAgICovXG4gIGZ1bmN0aW9uIFVuaWNvZGVCaWRpU2VydmljZShkZWZhdWx0RGlyKSB7XG4gICAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIFVuaWNvZGVCaWRpU2VydmljZSk7XG5cbiAgICBpZiAoIWRlZmF1bHREaXIpIHtcbiAgICAgIGRlZmF1bHREaXIgPSBVbmljb2RlQmlkaURpcmVjdGlvbi5nZXRHbG9iYWxEaXIoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgIVVuaWNvZGVCaWRpRGlyZWN0aW9uLmlzU3Ryb25nKGRlZmF1bHREaXIpID8gcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyA/IGludmFyaWFudChmYWxzZSwgJ0RlZmF1bHQgZGlyZWN0aW9uIG11c3QgYmUgYSBzdHJvbmcgZGlyZWN0aW9uIChMVFIgb3IgUlRMKScpIDogaW52YXJpYW50KGZhbHNlKSA6IHZvaWQgMDtcbiAgICB9XG4gICAgdGhpcy5fZGVmYXVsdERpciA9IGRlZmF1bHREaXI7XG4gICAgdGhpcy5yZXNldCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc2V0IHRoZSBpbnRlcm5hbCBzdGF0ZVxuICAgKlxuICAgKiBJbnN0ZWFkIG9mIGNyZWF0aW5nIGEgbmV3IGluc3RhbmNlLCB5b3UgY2FuIGp1c3QgcmVzZXQoKSB5b3VyIGluc3RhbmNlXG4gICAqIGV2ZXJ5dGltZSB5b3Ugc3RhcnQgYSBuZXcgbG9vcC5cbiAgICovXG5cblxuICBVbmljb2RlQmlkaVNlcnZpY2UucHJvdG90eXBlLnJlc2V0ID0gZnVuY3Rpb24gcmVzZXQoKSB7XG4gICAgdGhpcy5fbGFzdERpciA9IHRoaXMuX2RlZmF1bHREaXI7XG4gIH07XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGRpcmVjdGlvbiBvZiBhIGJsb2NrIG9mIHRleHQsIGFuZCByZW1lbWJlcnMgaXQgYXMgdGhlXG4gICAqIGZhbGwtYmFjayBkaXJlY3Rpb24gZm9yIHRoZSBuZXh0IHBhcmFncmFwaC5cbiAgICpcbiAgICogQHBhcmFtIHN0ciAgQSB0ZXh0IGJsb2NrLCBlLmcuIHBhcmFncmFwaCwgdGFibGUgY2VsbCwgdGFnXG4gICAqIEByZXR1cm4gICAgIFRoZSByZXNvbHZlZCBkaXJlY3Rpb25cbiAgICovXG5cblxuICBVbmljb2RlQmlkaVNlcnZpY2UucHJvdG90eXBlLmdldERpcmVjdGlvbiA9IGZ1bmN0aW9uIGdldERpcmVjdGlvbihzdHIpIHtcbiAgICB0aGlzLl9sYXN0RGlyID0gVW5pY29kZUJpZGkuZ2V0RGlyZWN0aW9uKHN0ciwgdGhpcy5fbGFzdERpcik7XG4gICAgcmV0dXJuIHRoaXMuX2xhc3REaXI7XG4gIH07XG5cbiAgcmV0dXJuIFVuaWNvZGVCaWRpU2VydmljZTtcbn0oKTtcblxubW9kdWxlLmV4cG9ydHMgPSBVbmljb2RlQmlkaVNlcnZpY2U7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/fbjs/lib/UnicodeBidiService.js\n"); +eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n * \n */\n\n/**\n * Stateful API for text direction detection\n *\n * This class can be used in applications where you need to detect the\n * direction of a sequence of text blocks, where each direction shall be used\n * as the fallback direction for the next one.\n *\n * NOTE: A default direction, if not provided, is set based on the global\n * direction, as defined by `UnicodeBidiDirection`.\n *\n * == Example ==\n * ```\n * var UnicodeBidiService = require('UnicodeBidiService');\n *\n * var bidiService = new UnicodeBidiService();\n *\n * ...\n *\n * bidiService.reset();\n * for (var para in paragraphs) {\n * var dir = bidiService.getDirection(para);\n * ...\n * }\n * ```\n *\n * Part of our implementation of Unicode Bidirectional Algorithm (UBA)\n * Unicode Standard Annex #9 (UAX9)\n * http://www.unicode.org/reports/tr9/\n */\n\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar UnicodeBidi = __webpack_require__(/*! ./UnicodeBidi */ \"./node_modules/fbjs/lib/UnicodeBidi.js\");\n\nvar UnicodeBidiDirection = __webpack_require__(/*! ./UnicodeBidiDirection */ \"./node_modules/fbjs/lib/UnicodeBidiDirection.js\");\n\nvar invariant = __webpack_require__(/*! ./invariant */ \"./node_modules/fbjs/lib/invariant.js\");\n\nvar UnicodeBidiService =\n/*#__PURE__*/\nfunction () {\n /**\n * Stateful class for paragraph direction detection\n *\n * @param defaultDir Default direction of the service\n */\n function UnicodeBidiService(defaultDir) {\n _defineProperty(this, \"_defaultDir\", void 0);\n\n _defineProperty(this, \"_lastDir\", void 0);\n\n if (!defaultDir) {\n defaultDir = UnicodeBidiDirection.getGlobalDir();\n } else {\n !UnicodeBidiDirection.isStrong(defaultDir) ? true ? invariant(false, 'Default direction must be a strong direction (LTR or RTL)') : undefined : void 0;\n }\n\n this._defaultDir = defaultDir;\n this.reset();\n }\n /**\n * Reset the internal state\n *\n * Instead of creating a new instance, you can just reset() your instance\n * everytime you start a new loop.\n */\n\n\n var _proto = UnicodeBidiService.prototype;\n\n _proto.reset = function reset() {\n this._lastDir = this._defaultDir;\n };\n /**\n * Returns the direction of a block of text, and remembers it as the\n * fall-back direction for the next paragraph.\n *\n * @param str A text block, e.g. paragraph, table cell, tag\n * @return The resolved direction\n */\n\n\n _proto.getDirection = function getDirection(str) {\n this._lastDir = UnicodeBidi.getDirection(str, this._lastDir);\n return this._lastDir;\n };\n\n return UnicodeBidiService;\n}();\n\nmodule.exports = UnicodeBidiService;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvVW5pY29kZUJpZGlTZXJ2aWNlLmpzPzIzYzMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDYTs7QUFFYiwyQ0FBMkMsa0JBQWtCLGtDQUFrQyxxRUFBcUUsRUFBRSxFQUFFLE9BQU8sa0JBQWtCLEVBQUUsWUFBWTs7QUFFL00sa0JBQWtCLG1CQUFPLENBQUMsNkRBQWU7O0FBRXpDLDJCQUEyQixtQkFBTyxDQUFDLCtFQUF3Qjs7QUFFM0QsZ0JBQWdCLG1CQUFPLENBQUMseURBQWE7O0FBRXJDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsbURBQW1ELEtBQXFDLG1GQUFtRixTQUFnQjtBQUMzTDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLENBQUM7O0FBRUQiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvVW5pY29kZUJpZGlTZXJ2aWNlLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKiBAdHlwZWNoZWNrc1xuICogXG4gKi9cblxuLyoqXG4gKiBTdGF0ZWZ1bCBBUEkgZm9yIHRleHQgZGlyZWN0aW9uIGRldGVjdGlvblxuICpcbiAqIFRoaXMgY2xhc3MgY2FuIGJlIHVzZWQgaW4gYXBwbGljYXRpb25zIHdoZXJlIHlvdSBuZWVkIHRvIGRldGVjdCB0aGVcbiAqIGRpcmVjdGlvbiBvZiBhIHNlcXVlbmNlIG9mIHRleHQgYmxvY2tzLCB3aGVyZSBlYWNoIGRpcmVjdGlvbiBzaGFsbCBiZSB1c2VkXG4gKiBhcyB0aGUgZmFsbGJhY2sgZGlyZWN0aW9uIGZvciB0aGUgbmV4dCBvbmUuXG4gKlxuICogTk9URTogQSBkZWZhdWx0IGRpcmVjdGlvbiwgaWYgbm90IHByb3ZpZGVkLCBpcyBzZXQgYmFzZWQgb24gdGhlIGdsb2JhbFxuICogICAgICAgZGlyZWN0aW9uLCBhcyBkZWZpbmVkIGJ5IGBVbmljb2RlQmlkaURpcmVjdGlvbmAuXG4gKlxuICogPT0gRXhhbXBsZSA9PVxuICogYGBgXG4gKiB2YXIgVW5pY29kZUJpZGlTZXJ2aWNlID0gcmVxdWlyZSgnVW5pY29kZUJpZGlTZXJ2aWNlJyk7XG4gKlxuICogdmFyIGJpZGlTZXJ2aWNlID0gbmV3IFVuaWNvZGVCaWRpU2VydmljZSgpO1xuICpcbiAqIC4uLlxuICpcbiAqIGJpZGlTZXJ2aWNlLnJlc2V0KCk7XG4gKiBmb3IgKHZhciBwYXJhIGluIHBhcmFncmFwaHMpIHtcbiAqICAgdmFyIGRpciA9IGJpZGlTZXJ2aWNlLmdldERpcmVjdGlvbihwYXJhKTtcbiAqICAgLi4uXG4gKiB9XG4gKiBgYGBcbiAqXG4gKiBQYXJ0IG9mIG91ciBpbXBsZW1lbnRhdGlvbiBvZiBVbmljb2RlIEJpZGlyZWN0aW9uYWwgQWxnb3JpdGhtIChVQkEpXG4gKiBVbmljb2RlIFN0YW5kYXJkIEFubmV4ICM5IChVQVg5KVxuICogaHR0cDovL3d3dy51bmljb2RlLm9yZy9yZXBvcnRzL3RyOS9cbiAqL1xuJ3VzZSBzdHJpY3QnO1xuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHZhbHVlKSB7IGlmIChrZXkgaW4gb2JqKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgeyB2YWx1ZTogdmFsdWUsIGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgd3JpdGFibGU6IHRydWUgfSk7IH0gZWxzZSB7IG9ialtrZXldID0gdmFsdWU7IH0gcmV0dXJuIG9iajsgfVxuXG52YXIgVW5pY29kZUJpZGkgPSByZXF1aXJlKFwiLi9Vbmljb2RlQmlkaVwiKTtcblxudmFyIFVuaWNvZGVCaWRpRGlyZWN0aW9uID0gcmVxdWlyZShcIi4vVW5pY29kZUJpZGlEaXJlY3Rpb25cIik7XG5cbnZhciBpbnZhcmlhbnQgPSByZXF1aXJlKFwiLi9pbnZhcmlhbnRcIik7XG5cbnZhciBVbmljb2RlQmlkaVNlcnZpY2UgPVxuLyojX19QVVJFX18qL1xuZnVuY3Rpb24gKCkge1xuICAvKipcbiAgICogU3RhdGVmdWwgY2xhc3MgZm9yIHBhcmFncmFwaCBkaXJlY3Rpb24gZGV0ZWN0aW9uXG4gICAqXG4gICAqIEBwYXJhbSBkZWZhdWx0RGlyICBEZWZhdWx0IGRpcmVjdGlvbiBvZiB0aGUgc2VydmljZVxuICAgKi9cbiAgZnVuY3Rpb24gVW5pY29kZUJpZGlTZXJ2aWNlKGRlZmF1bHREaXIpIHtcbiAgICBfZGVmaW5lUHJvcGVydHkodGhpcywgXCJfZGVmYXVsdERpclwiLCB2b2lkIDApO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KHRoaXMsIFwiX2xhc3REaXJcIiwgdm9pZCAwKTtcblxuICAgIGlmICghZGVmYXVsdERpcikge1xuICAgICAgZGVmYXVsdERpciA9IFVuaWNvZGVCaWRpRGlyZWN0aW9uLmdldEdsb2JhbERpcigpO1xuICAgIH0gZWxzZSB7XG4gICAgICAhVW5pY29kZUJpZGlEaXJlY3Rpb24uaXNTdHJvbmcoZGVmYXVsdERpcikgPyBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIgPyBpbnZhcmlhbnQoZmFsc2UsICdEZWZhdWx0IGRpcmVjdGlvbiBtdXN0IGJlIGEgc3Ryb25nIGRpcmVjdGlvbiAoTFRSIG9yIFJUTCknKSA6IGludmFyaWFudChmYWxzZSkgOiB2b2lkIDA7XG4gICAgfVxuXG4gICAgdGhpcy5fZGVmYXVsdERpciA9IGRlZmF1bHREaXI7XG4gICAgdGhpcy5yZXNldCgpO1xuICB9XG4gIC8qKlxuICAgKiBSZXNldCB0aGUgaW50ZXJuYWwgc3RhdGVcbiAgICpcbiAgICogSW5zdGVhZCBvZiBjcmVhdGluZyBhIG5ldyBpbnN0YW5jZSwgeW91IGNhbiBqdXN0IHJlc2V0KCkgeW91ciBpbnN0YW5jZVxuICAgKiBldmVyeXRpbWUgeW91IHN0YXJ0IGEgbmV3IGxvb3AuXG4gICAqL1xuXG5cbiAgdmFyIF9wcm90byA9IFVuaWNvZGVCaWRpU2VydmljZS5wcm90b3R5cGU7XG5cbiAgX3Byb3RvLnJlc2V0ID0gZnVuY3Rpb24gcmVzZXQoKSB7XG4gICAgdGhpcy5fbGFzdERpciA9IHRoaXMuX2RlZmF1bHREaXI7XG4gIH07XG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBkaXJlY3Rpb24gb2YgYSBibG9jayBvZiB0ZXh0LCBhbmQgcmVtZW1iZXJzIGl0IGFzIHRoZVxuICAgKiBmYWxsLWJhY2sgZGlyZWN0aW9uIGZvciB0aGUgbmV4dCBwYXJhZ3JhcGguXG4gICAqXG4gICAqIEBwYXJhbSBzdHIgIEEgdGV4dCBibG9jaywgZS5nLiBwYXJhZ3JhcGgsIHRhYmxlIGNlbGwsIHRhZ1xuICAgKiBAcmV0dXJuICAgICBUaGUgcmVzb2x2ZWQgZGlyZWN0aW9uXG4gICAqL1xuXG5cbiAgX3Byb3RvLmdldERpcmVjdGlvbiA9IGZ1bmN0aW9uIGdldERpcmVjdGlvbihzdHIpIHtcbiAgICB0aGlzLl9sYXN0RGlyID0gVW5pY29kZUJpZGkuZ2V0RGlyZWN0aW9uKHN0ciwgdGhpcy5fbGFzdERpcik7XG4gICAgcmV0dXJuIHRoaXMuX2xhc3REaXI7XG4gIH07XG5cbiAgcmV0dXJuIFVuaWNvZGVCaWRpU2VydmljZTtcbn0oKTtcblxubW9kdWxlLmV4cG9ydHMgPSBVbmljb2RlQmlkaVNlcnZpY2U7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/fbjs/lib/UnicodeBidiService.js\n"); /***/ }), @@ -1481,7 +1708,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source cod /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n */\n\n/**\n * Unicode-enabled replacesments for basic String functions.\n *\n * All the functions in this module assume that the input string is a valid\n * UTF-16 encoding of a Unicode sequence. If it's not the case, the behavior\n * will be undefined.\n *\n * WARNING: Since this module is typechecks-enforced, you may find new bugs\n * when replacing normal String functions with ones provided here.\n */\n\n\n\nvar invariant = __webpack_require__(/*! ./invariant */ \"./node_modules/fbjs/lib/invariant.js\");\n\n// These two ranges are consecutive so anything in [HIGH_START, LOW_END] is a\n// surrogate code unit.\nvar SURROGATE_HIGH_START = 0xD800;\nvar SURROGATE_HIGH_END = 0xDBFF;\nvar SURROGATE_LOW_START = 0xDC00;\nvar SURROGATE_LOW_END = 0xDFFF;\nvar SURROGATE_UNITS_REGEX = /[\\uD800-\\uDFFF]/;\n\n/**\n * @param {number} codeUnit A Unicode code-unit, in range [0, 0x10FFFF]\n * @return {boolean} Whether code-unit is in a surrogate (hi/low) range\n */\nfunction isCodeUnitInSurrogateRange(codeUnit) {\n return SURROGATE_HIGH_START <= codeUnit && codeUnit <= SURROGATE_LOW_END;\n}\n\n/**\n * Returns whether the two characters starting at `index` form a surrogate pair.\n * For example, given the string s = \"\\uD83D\\uDE0A\", (s, 0) returns true and\n * (s, 1) returns false.\n *\n * @param {string} str\n * @param {number} index\n * @return {boolean}\n */\nfunction isSurrogatePair(str, index) {\n !(0 <= index && index < str.length) ? true ? invariant(false, 'isSurrogatePair: Invalid index %s for string length %s.', index, str.length) : undefined : void 0;\n if (index + 1 === str.length) {\n return false;\n }\n var first = str.charCodeAt(index);\n var second = str.charCodeAt(index + 1);\n return SURROGATE_HIGH_START <= first && first <= SURROGATE_HIGH_END && SURROGATE_LOW_START <= second && second <= SURROGATE_LOW_END;\n}\n\n/**\n * @param {string} str Non-empty string\n * @return {boolean} True if the input includes any surrogate code units\n */\nfunction hasSurrogateUnit(str) {\n return SURROGATE_UNITS_REGEX.test(str);\n}\n\n/**\n * Return the length of the original Unicode character at given position in the\n * String by looking into the UTF-16 code unit; that is equal to 1 for any\n * non-surrogate characters in BMP ([U+0000..U+D7FF] and [U+E000, U+FFFF]); and\n * returns 2 for the hi/low surrogates ([U+D800..U+DFFF]), which are in fact\n * representing non-BMP characters ([U+10000..U+10FFFF]).\n *\n * Examples:\n * - '\\u0020' => 1\n * - '\\u3020' => 1\n * - '\\uD835' => 2\n * - '\\uD835\\uDDEF' => 2\n * - '\\uDDEF' => 2\n *\n * @param {string} str Non-empty string\n * @param {number} pos Position in the string to look for one code unit\n * @return {number} Number 1 or 2\n */\nfunction getUTF16Length(str, pos) {\n return 1 + isCodeUnitInSurrogateRange(str.charCodeAt(pos));\n}\n\n/**\n * Fully Unicode-enabled replacement for String#length\n *\n * @param {string} str Valid Unicode string\n * @return {number} The number of Unicode characters in the string\n */\nfunction strlen(str) {\n // Call the native functions if there's no surrogate char\n if (!hasSurrogateUnit(str)) {\n return str.length;\n }\n\n var len = 0;\n for (var pos = 0; pos < str.length; pos += getUTF16Length(str, pos)) {\n len++;\n }\n return len;\n}\n\n/**\n * Fully Unicode-enabled replacement for String#substr()\n *\n * @param {string} str Valid Unicode string\n * @param {number} start Location in Unicode sequence to begin extracting\n * @param {?number} length The number of Unicode characters to extract\n * (default: to the end of the string)\n * @return {string} Extracted sub-string\n */\nfunction substr(str, start, length) {\n start = start || 0;\n length = length === undefined ? Infinity : length || 0;\n\n // Call the native functions if there's no surrogate char\n if (!hasSurrogateUnit(str)) {\n return str.substr(start, length);\n }\n\n // Obvious cases\n var size = str.length;\n if (size <= 0 || start > size || length <= 0) {\n return '';\n }\n\n // Find the actual starting position\n var posA = 0;\n if (start > 0) {\n for (; start > 0 && posA < size; start--) {\n posA += getUTF16Length(str, posA);\n }\n if (posA >= size) {\n return '';\n }\n } else if (start < 0) {\n for (posA = size; start < 0 && 0 < posA; start++) {\n posA -= getUTF16Length(str, posA - 1);\n }\n if (posA < 0) {\n posA = 0;\n }\n }\n\n // Find the actual ending position\n var posB = size;\n if (length < size) {\n for (posB = posA; length > 0 && posB < size; length--) {\n posB += getUTF16Length(str, posB);\n }\n }\n\n return str.substring(posA, posB);\n}\n\n/**\n * Fully Unicode-enabled replacement for String#substring()\n *\n * @param {string} str Valid Unicode string\n * @param {number} start Location in Unicode sequence to begin extracting\n * @param {?number} end Location in Unicode sequence to end extracting\n * (default: end of the string)\n * @return {string} Extracted sub-string\n */\nfunction substring(str, start, end) {\n start = start || 0;\n end = end === undefined ? Infinity : end || 0;\n\n if (start < 0) {\n start = 0;\n }\n if (end < 0) {\n end = 0;\n }\n\n var length = Math.abs(end - start);\n start = start < end ? start : end;\n return substr(str, start, length);\n}\n\n/**\n * Get a list of Unicode code-points from a String\n *\n * @param {string} str Valid Unicode string\n * @return {array} A list of code-points in [0..0x10FFFF]\n */\nfunction getCodePoints(str) {\n var codePoints = [];\n for (var pos = 0; pos < str.length; pos += getUTF16Length(str, pos)) {\n codePoints.push(str.codePointAt(pos));\n }\n return codePoints;\n}\n\nvar UnicodeUtils = {\n getCodePoints: getCodePoints,\n getUTF16Length: getUTF16Length,\n hasSurrogateUnit: hasSurrogateUnit,\n isCodeUnitInSurrogateRange: isCodeUnitInSurrogateRange,\n isSurrogatePair: isSurrogatePair,\n strlen: strlen,\n substring: substring,\n substr: substr\n};\n\nmodule.exports = UnicodeUtils;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvVW5pY29kZVV0aWxzLmpzPzhjYjQiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFYTs7QUFFYixnQkFBZ0IsbUJBQU8sQ0FBQyx5REFBYTs7QUFFckM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxXQUFXLE9BQU87QUFDbEIsWUFBWSxRQUFRO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLE9BQU87QUFDbEIsV0FBVyxPQUFPO0FBQ2xCLFlBQVk7QUFDWjtBQUNBO0FBQ0Esd0NBQXdDLEtBQXFDLG9HQUFvRyxTQUFnQjtBQUNqTTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLFdBQVcsT0FBTztBQUNsQixZQUFZLFFBQVE7QUFDcEI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLCtDQUErQztBQUMvQywyRUFBMkU7QUFDM0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLE9BQU87QUFDbEIsV0FBVyxPQUFPO0FBQ2xCLFlBQVksT0FBTztBQUNuQjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLE9BQU87QUFDbEIsWUFBWSxPQUFPO0FBQ25CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLG1CQUFtQixrQkFBa0I7QUFDckM7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsV0FBVyxPQUFPO0FBQ2xCLFdBQVcsT0FBTztBQUNsQixXQUFXLFFBQVE7QUFDbkI7QUFDQSxZQUFZLE9BQU87QUFDbkI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxVQUFVLDBCQUEwQjtBQUNwQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILHFCQUFxQix1QkFBdUI7QUFDNUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQiwyQkFBMkI7QUFDaEQ7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsV0FBVyxPQUFPO0FBQ2xCLFdBQVcsT0FBTztBQUNsQixXQUFXLFFBQVE7QUFDbkI7QUFDQSxZQUFZLE9BQU87QUFDbkI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsT0FBTztBQUNsQixZQUFZLGNBQWM7QUFDMUI7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CLGtCQUFrQjtBQUNyQztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9mYmpzL2xpYi9Vbmljb2RlVXRpbHMuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxMy1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIEB0eXBlY2hlY2tzXG4gKi9cblxuLyoqXG4gKiBVbmljb2RlLWVuYWJsZWQgcmVwbGFjZXNtZW50cyBmb3IgYmFzaWMgU3RyaW5nIGZ1bmN0aW9ucy5cbiAqXG4gKiBBbGwgdGhlIGZ1bmN0aW9ucyBpbiB0aGlzIG1vZHVsZSBhc3N1bWUgdGhhdCB0aGUgaW5wdXQgc3RyaW5nIGlzIGEgdmFsaWRcbiAqIFVURi0xNiBlbmNvZGluZyBvZiBhIFVuaWNvZGUgc2VxdWVuY2UuIElmIGl0J3Mgbm90IHRoZSBjYXNlLCB0aGUgYmVoYXZpb3JcbiAqIHdpbGwgYmUgdW5kZWZpbmVkLlxuICpcbiAqIFdBUk5JTkc6IFNpbmNlIHRoaXMgbW9kdWxlIGlzIHR5cGVjaGVja3MtZW5mb3JjZWQsIHlvdSBtYXkgZmluZCBuZXcgYnVnc1xuICogd2hlbiByZXBsYWNpbmcgbm9ybWFsIFN0cmluZyBmdW5jdGlvbnMgd2l0aCBvbmVzIHByb3ZpZGVkIGhlcmUuXG4gKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG52YXIgaW52YXJpYW50ID0gcmVxdWlyZSgnLi9pbnZhcmlhbnQnKTtcblxuLy8gVGhlc2UgdHdvIHJhbmdlcyBhcmUgY29uc2VjdXRpdmUgc28gYW55dGhpbmcgaW4gW0hJR0hfU1RBUlQsIExPV19FTkRdIGlzIGFcbi8vIHN1cnJvZ2F0ZSBjb2RlIHVuaXQuXG52YXIgU1VSUk9HQVRFX0hJR0hfU1RBUlQgPSAweEQ4MDA7XG52YXIgU1VSUk9HQVRFX0hJR0hfRU5EID0gMHhEQkZGO1xudmFyIFNVUlJPR0FURV9MT1dfU1RBUlQgPSAweERDMDA7XG52YXIgU1VSUk9HQVRFX0xPV19FTkQgPSAweERGRkY7XG52YXIgU1VSUk9HQVRFX1VOSVRTX1JFR0VYID0gL1tcXHVEODAwLVxcdURGRkZdLztcblxuLyoqXG4gKiBAcGFyYW0ge251bWJlcn0gY29kZVVuaXQgICBBIFVuaWNvZGUgY29kZS11bml0LCBpbiByYW5nZSBbMCwgMHgxMEZGRkZdXG4gKiBAcmV0dXJuIHtib29sZWFufSAgICAgICAgICBXaGV0aGVyIGNvZGUtdW5pdCBpcyBpbiBhIHN1cnJvZ2F0ZSAoaGkvbG93KSByYW5nZVxuICovXG5mdW5jdGlvbiBpc0NvZGVVbml0SW5TdXJyb2dhdGVSYW5nZShjb2RlVW5pdCkge1xuICByZXR1cm4gU1VSUk9HQVRFX0hJR0hfU1RBUlQgPD0gY29kZVVuaXQgJiYgY29kZVVuaXQgPD0gU1VSUk9HQVRFX0xPV19FTkQ7XG59XG5cbi8qKlxuICogUmV0dXJucyB3aGV0aGVyIHRoZSB0d28gY2hhcmFjdGVycyBzdGFydGluZyBhdCBgaW5kZXhgIGZvcm0gYSBzdXJyb2dhdGUgcGFpci5cbiAqIEZvciBleGFtcGxlLCBnaXZlbiB0aGUgc3RyaW5nIHMgPSBcIlxcdUQ4M0RcXHVERTBBXCIsIChzLCAwKSByZXR1cm5zIHRydWUgYW5kXG4gKiAocywgMSkgcmV0dXJucyBmYWxzZS5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gc3RyXG4gKiBAcGFyYW0ge251bWJlcn0gaW5kZXhcbiAqIEByZXR1cm4ge2Jvb2xlYW59XG4gKi9cbmZ1bmN0aW9uIGlzU3Vycm9nYXRlUGFpcihzdHIsIGluZGV4KSB7XG4gICEoMCA8PSBpbmRleCAmJiBpbmRleCA8IHN0ci5sZW5ndGgpID8gcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyA/IGludmFyaWFudChmYWxzZSwgJ2lzU3Vycm9nYXRlUGFpcjogSW52YWxpZCBpbmRleCAlcyBmb3Igc3RyaW5nIGxlbmd0aCAlcy4nLCBpbmRleCwgc3RyLmxlbmd0aCkgOiBpbnZhcmlhbnQoZmFsc2UpIDogdm9pZCAwO1xuICBpZiAoaW5kZXggKyAxID09PSBzdHIubGVuZ3RoKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHZhciBmaXJzdCA9IHN0ci5jaGFyQ29kZUF0KGluZGV4KTtcbiAgdmFyIHNlY29uZCA9IHN0ci5jaGFyQ29kZUF0KGluZGV4ICsgMSk7XG4gIHJldHVybiBTVVJST0dBVEVfSElHSF9TVEFSVCA8PSBmaXJzdCAmJiBmaXJzdCA8PSBTVVJST0dBVEVfSElHSF9FTkQgJiYgU1VSUk9HQVRFX0xPV19TVEFSVCA8PSBzZWNvbmQgJiYgc2Vjb25kIDw9IFNVUlJPR0FURV9MT1dfRU5EO1xufVxuXG4vKipcbiAqIEBwYXJhbSB7c3RyaW5nfSBzdHIgIE5vbi1lbXB0eSBzdHJpbmdcbiAqIEByZXR1cm4ge2Jvb2xlYW59ICAgIFRydWUgaWYgdGhlIGlucHV0IGluY2x1ZGVzIGFueSBzdXJyb2dhdGUgY29kZSB1bml0c1xuICovXG5mdW5jdGlvbiBoYXNTdXJyb2dhdGVVbml0KHN0cikge1xuICByZXR1cm4gU1VSUk9HQVRFX1VOSVRTX1JFR0VYLnRlc3Qoc3RyKTtcbn1cblxuLyoqXG4gKiBSZXR1cm4gdGhlIGxlbmd0aCBvZiB0aGUgb3JpZ2luYWwgVW5pY29kZSBjaGFyYWN0ZXIgYXQgZ2l2ZW4gcG9zaXRpb24gaW4gdGhlXG4gKiBTdHJpbmcgYnkgbG9va2luZyBpbnRvIHRoZSBVVEYtMTYgY29kZSB1bml0OyB0aGF0IGlzIGVxdWFsIHRvIDEgZm9yIGFueVxuICogbm9uLXN1cnJvZ2F0ZSBjaGFyYWN0ZXJzIGluIEJNUCAoW1UrMDAwMC4uVStEN0ZGXSBhbmQgW1UrRTAwMCwgVStGRkZGXSk7IGFuZFxuICogcmV0dXJucyAyIGZvciB0aGUgaGkvbG93IHN1cnJvZ2F0ZXMgKFtVK0Q4MDAuLlUrREZGRl0pLCB3aGljaCBhcmUgaW4gZmFjdFxuICogcmVwcmVzZW50aW5nIG5vbi1CTVAgY2hhcmFjdGVycyAoW1UrMTAwMDAuLlUrMTBGRkZGXSkuXG4gKlxuICogRXhhbXBsZXM6XG4gKiAtICdcXHUwMDIwJyA9PiAxXG4gKiAtICdcXHUzMDIwJyA9PiAxXG4gKiAtICdcXHVEODM1JyA9PiAyXG4gKiAtICdcXHVEODM1XFx1RERFRicgPT4gMlxuICogLSAnXFx1RERFRicgPT4gMlxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBzdHIgIE5vbi1lbXB0eSBzdHJpbmdcbiAqIEBwYXJhbSB7bnVtYmVyfSBwb3MgIFBvc2l0aW9uIGluIHRoZSBzdHJpbmcgdG8gbG9vayBmb3Igb25lIGNvZGUgdW5pdFxuICogQHJldHVybiB7bnVtYmVyfSAgICAgIE51bWJlciAxIG9yIDJcbiAqL1xuZnVuY3Rpb24gZ2V0VVRGMTZMZW5ndGgoc3RyLCBwb3MpIHtcbiAgcmV0dXJuIDEgKyBpc0NvZGVVbml0SW5TdXJyb2dhdGVSYW5nZShzdHIuY2hhckNvZGVBdChwb3MpKTtcbn1cblxuLyoqXG4gKiBGdWxseSBVbmljb2RlLWVuYWJsZWQgcmVwbGFjZW1lbnQgZm9yIFN0cmluZyNsZW5ndGhcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gc3RyICBWYWxpZCBVbmljb2RlIHN0cmluZ1xuICogQHJldHVybiB7bnVtYmVyfSAgICAgVGhlIG51bWJlciBvZiBVbmljb2RlIGNoYXJhY3RlcnMgaW4gdGhlIHN0cmluZ1xuICovXG5mdW5jdGlvbiBzdHJsZW4oc3RyKSB7XG4gIC8vIENhbGwgdGhlIG5hdGl2ZSBmdW5jdGlvbnMgaWYgdGhlcmUncyBubyBzdXJyb2dhdGUgY2hhclxuICBpZiAoIWhhc1N1cnJvZ2F0ZVVuaXQoc3RyKSkge1xuICAgIHJldHVybiBzdHIubGVuZ3RoO1xuICB9XG5cbiAgdmFyIGxlbiA9IDA7XG4gIGZvciAodmFyIHBvcyA9IDA7IHBvcyA8IHN0ci5sZW5ndGg7IHBvcyArPSBnZXRVVEYxNkxlbmd0aChzdHIsIHBvcykpIHtcbiAgICBsZW4rKztcbiAgfVxuICByZXR1cm4gbGVuO1xufVxuXG4vKipcbiAqIEZ1bGx5IFVuaWNvZGUtZW5hYmxlZCByZXBsYWNlbWVudCBmb3IgU3RyaW5nI3N1YnN0cigpXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHN0ciAgICAgIFZhbGlkIFVuaWNvZGUgc3RyaW5nXG4gKiBAcGFyYW0ge251bWJlcn0gc3RhcnQgICAgTG9jYXRpb24gaW4gVW5pY29kZSBzZXF1ZW5jZSB0byBiZWdpbiBleHRyYWN0aW5nXG4gKiBAcGFyYW0gez9udW1iZXJ9IGxlbmd0aCAgVGhlIG51bWJlciBvZiBVbmljb2RlIGNoYXJhY3RlcnMgdG8gZXh0cmFjdFxuICogICAgICAgICAgICAgICAgICAgICAgICAgIChkZWZhdWx0OiB0byB0aGUgZW5kIG9mIHRoZSBzdHJpbmcpXG4gKiBAcmV0dXJuIHtzdHJpbmd9ICAgICAgICAgRXh0cmFjdGVkIHN1Yi1zdHJpbmdcbiAqL1xuZnVuY3Rpb24gc3Vic3RyKHN0ciwgc3RhcnQsIGxlbmd0aCkge1xuICBzdGFydCA9IHN0YXJ0IHx8IDA7XG4gIGxlbmd0aCA9IGxlbmd0aCA9PT0gdW5kZWZpbmVkID8gSW5maW5pdHkgOiBsZW5ndGggfHwgMDtcblxuICAvLyBDYWxsIHRoZSBuYXRpdmUgZnVuY3Rpb25zIGlmIHRoZXJlJ3Mgbm8gc3Vycm9nYXRlIGNoYXJcbiAgaWYgKCFoYXNTdXJyb2dhdGVVbml0KHN0cikpIHtcbiAgICByZXR1cm4gc3RyLnN1YnN0cihzdGFydCwgbGVuZ3RoKTtcbiAgfVxuXG4gIC8vIE9idmlvdXMgY2FzZXNcbiAgdmFyIHNpemUgPSBzdHIubGVuZ3RoO1xuICBpZiAoc2l6ZSA8PSAwIHx8IHN0YXJ0ID4gc2l6ZSB8fCBsZW5ndGggPD0gMCkge1xuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIC8vIEZpbmQgdGhlIGFjdHVhbCBzdGFydGluZyBwb3NpdGlvblxuICB2YXIgcG9zQSA9IDA7XG4gIGlmIChzdGFydCA+IDApIHtcbiAgICBmb3IgKDsgc3RhcnQgPiAwICYmIHBvc0EgPCBzaXplOyBzdGFydC0tKSB7XG4gICAgICBwb3NBICs9IGdldFVURjE2TGVuZ3RoKHN0ciwgcG9zQSk7XG4gICAgfVxuICAgIGlmIChwb3NBID49IHNpemUpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG4gIH0gZWxzZSBpZiAoc3RhcnQgPCAwKSB7XG4gICAgZm9yIChwb3NBID0gc2l6ZTsgc3RhcnQgPCAwICYmIDAgPCBwb3NBOyBzdGFydCsrKSB7XG4gICAgICBwb3NBIC09IGdldFVURjE2TGVuZ3RoKHN0ciwgcG9zQSAtIDEpO1xuICAgIH1cbiAgICBpZiAocG9zQSA8IDApIHtcbiAgICAgIHBvc0EgPSAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIEZpbmQgdGhlIGFjdHVhbCBlbmRpbmcgcG9zaXRpb25cbiAgdmFyIHBvc0IgPSBzaXplO1xuICBpZiAobGVuZ3RoIDwgc2l6ZSkge1xuICAgIGZvciAocG9zQiA9IHBvc0E7IGxlbmd0aCA+IDAgJiYgcG9zQiA8IHNpemU7IGxlbmd0aC0tKSB7XG4gICAgICBwb3NCICs9IGdldFVURjE2TGVuZ3RoKHN0ciwgcG9zQik7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHN0ci5zdWJzdHJpbmcocG9zQSwgcG9zQik7XG59XG5cbi8qKlxuICogRnVsbHkgVW5pY29kZS1lbmFibGVkIHJlcGxhY2VtZW50IGZvciBTdHJpbmcjc3Vic3RyaW5nKClcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gc3RyICAgIFZhbGlkIFVuaWNvZGUgc3RyaW5nXG4gKiBAcGFyYW0ge251bWJlcn0gc3RhcnQgIExvY2F0aW9uIGluIFVuaWNvZGUgc2VxdWVuY2UgdG8gYmVnaW4gZXh0cmFjdGluZ1xuICogQHBhcmFtIHs/bnVtYmVyfSBlbmQgICBMb2NhdGlvbiBpbiBVbmljb2RlIHNlcXVlbmNlIHRvIGVuZCBleHRyYWN0aW5nXG4gKiAgICAgICAgICAgICAgICAgICAgICAgIChkZWZhdWx0OiBlbmQgb2YgdGhlIHN0cmluZylcbiAqIEByZXR1cm4ge3N0cmluZ30gICAgICAgRXh0cmFjdGVkIHN1Yi1zdHJpbmdcbiAqL1xuZnVuY3Rpb24gc3Vic3RyaW5nKHN0ciwgc3RhcnQsIGVuZCkge1xuICBzdGFydCA9IHN0YXJ0IHx8IDA7XG4gIGVuZCA9IGVuZCA9PT0gdW5kZWZpbmVkID8gSW5maW5pdHkgOiBlbmQgfHwgMDtcblxuICBpZiAoc3RhcnQgPCAwKSB7XG4gICAgc3RhcnQgPSAwO1xuICB9XG4gIGlmIChlbmQgPCAwKSB7XG4gICAgZW5kID0gMDtcbiAgfVxuXG4gIHZhciBsZW5ndGggPSBNYXRoLmFicyhlbmQgLSBzdGFydCk7XG4gIHN0YXJ0ID0gc3RhcnQgPCBlbmQgPyBzdGFydCA6IGVuZDtcbiAgcmV0dXJuIHN1YnN0cihzdHIsIHN0YXJ0LCBsZW5ndGgpO1xufVxuXG4vKipcbiAqIEdldCBhIGxpc3Qgb2YgVW5pY29kZSBjb2RlLXBvaW50cyBmcm9tIGEgU3RyaW5nXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHN0ciAgICAgICAgVmFsaWQgVW5pY29kZSBzdHJpbmdcbiAqIEByZXR1cm4ge2FycmF5PG51bWJlcj59ICAgIEEgbGlzdCBvZiBjb2RlLXBvaW50cyBpbiBbMC4uMHgxMEZGRkZdXG4gKi9cbmZ1bmN0aW9uIGdldENvZGVQb2ludHMoc3RyKSB7XG4gIHZhciBjb2RlUG9pbnRzID0gW107XG4gIGZvciAodmFyIHBvcyA9IDA7IHBvcyA8IHN0ci5sZW5ndGg7IHBvcyArPSBnZXRVVEYxNkxlbmd0aChzdHIsIHBvcykpIHtcbiAgICBjb2RlUG9pbnRzLnB1c2goc3RyLmNvZGVQb2ludEF0KHBvcykpO1xuICB9XG4gIHJldHVybiBjb2RlUG9pbnRzO1xufVxuXG52YXIgVW5pY29kZVV0aWxzID0ge1xuICBnZXRDb2RlUG9pbnRzOiBnZXRDb2RlUG9pbnRzLFxuICBnZXRVVEYxNkxlbmd0aDogZ2V0VVRGMTZMZW5ndGgsXG4gIGhhc1N1cnJvZ2F0ZVVuaXQ6IGhhc1N1cnJvZ2F0ZVVuaXQsXG4gIGlzQ29kZVVuaXRJblN1cnJvZ2F0ZVJhbmdlOiBpc0NvZGVVbml0SW5TdXJyb2dhdGVSYW5nZSxcbiAgaXNTdXJyb2dhdGVQYWlyOiBpc1N1cnJvZ2F0ZVBhaXIsXG4gIHN0cmxlbjogc3RybGVuLFxuICBzdWJzdHJpbmc6IHN1YnN0cmluZyxcbiAgc3Vic3RyOiBzdWJzdHJcbn07XG5cbm1vZHVsZS5leHBvcnRzID0gVW5pY29kZVV0aWxzOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/fbjs/lib/UnicodeUtils.js\n"); +eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n */\n\n/**\n * Unicode-enabled replacesments for basic String functions.\n *\n * All the functions in this module assume that the input string is a valid\n * UTF-16 encoding of a Unicode sequence. If it's not the case, the behavior\n * will be undefined.\n *\n * WARNING: Since this module is typechecks-enforced, you may find new bugs\n * when replacing normal String functions with ones provided here.\n */\n\n\nvar invariant = __webpack_require__(/*! ./invariant */ \"./node_modules/fbjs/lib/invariant.js\"); // These two ranges are consecutive so anything in [HIGH_START, LOW_END] is a\n// surrogate code unit.\n\n\nvar SURROGATE_HIGH_START = 0xD800;\nvar SURROGATE_HIGH_END = 0xDBFF;\nvar SURROGATE_LOW_START = 0xDC00;\nvar SURROGATE_LOW_END = 0xDFFF;\nvar SURROGATE_UNITS_REGEX = /[\\uD800-\\uDFFF]/;\n/**\n * @param {number} codeUnit A Unicode code-unit, in range [0, 0x10FFFF]\n * @return {boolean} Whether code-unit is in a surrogate (hi/low) range\n */\n\nfunction isCodeUnitInSurrogateRange(codeUnit) {\n return SURROGATE_HIGH_START <= codeUnit && codeUnit <= SURROGATE_LOW_END;\n}\n/**\n * Returns whether the two characters starting at `index` form a surrogate pair.\n * For example, given the string s = \"\\uD83D\\uDE0A\", (s, 0) returns true and\n * (s, 1) returns false.\n *\n * @param {string} str\n * @param {number} index\n * @return {boolean}\n */\n\n\nfunction isSurrogatePair(str, index) {\n !(0 <= index && index < str.length) ? true ? invariant(false, 'isSurrogatePair: Invalid index %s for string length %s.', index, str.length) : undefined : void 0;\n\n if (index + 1 === str.length) {\n return false;\n }\n\n var first = str.charCodeAt(index);\n var second = str.charCodeAt(index + 1);\n return SURROGATE_HIGH_START <= first && first <= SURROGATE_HIGH_END && SURROGATE_LOW_START <= second && second <= SURROGATE_LOW_END;\n}\n/**\n * @param {string} str Non-empty string\n * @return {boolean} True if the input includes any surrogate code units\n */\n\n\nfunction hasSurrogateUnit(str) {\n return SURROGATE_UNITS_REGEX.test(str);\n}\n/**\n * Return the length of the original Unicode character at given position in the\n * String by looking into the UTF-16 code unit; that is equal to 1 for any\n * non-surrogate characters in BMP ([U+0000..U+D7FF] and [U+E000, U+FFFF]); and\n * returns 2 for the hi/low surrogates ([U+D800..U+DFFF]), which are in fact\n * representing non-BMP characters ([U+10000..U+10FFFF]).\n *\n * Examples:\n * - '\\u0020' => 1\n * - '\\u3020' => 1\n * - '\\uD835' => 2\n * - '\\uD835\\uDDEF' => 2\n * - '\\uDDEF' => 2\n *\n * @param {string} str Non-empty string\n * @param {number} pos Position in the string to look for one code unit\n * @return {number} Number 1 or 2\n */\n\n\nfunction getUTF16Length(str, pos) {\n return 1 + isCodeUnitInSurrogateRange(str.charCodeAt(pos));\n}\n/**\n * Fully Unicode-enabled replacement for String#length\n *\n * @param {string} str Valid Unicode string\n * @return {number} The number of Unicode characters in the string\n */\n\n\nfunction strlen(str) {\n // Call the native functions if there's no surrogate char\n if (!hasSurrogateUnit(str)) {\n return str.length;\n }\n\n var len = 0;\n\n for (var pos = 0; pos < str.length; pos += getUTF16Length(str, pos)) {\n len++;\n }\n\n return len;\n}\n/**\n * Fully Unicode-enabled replacement for String#substr()\n *\n * @param {string} str Valid Unicode string\n * @param {number} start Location in Unicode sequence to begin extracting\n * @param {?number} length The number of Unicode characters to extract\n * (default: to the end of the string)\n * @return {string} Extracted sub-string\n */\n\n\nfunction substr(str, start, length) {\n start = start || 0;\n length = length === undefined ? Infinity : length || 0; // Call the native functions if there's no surrogate char\n\n if (!hasSurrogateUnit(str)) {\n return str.substr(start, length);\n } // Obvious cases\n\n\n var size = str.length;\n\n if (size <= 0 || start > size || length <= 0) {\n return '';\n } // Find the actual starting position\n\n\n var posA = 0;\n\n if (start > 0) {\n for (; start > 0 && posA < size; start--) {\n posA += getUTF16Length(str, posA);\n }\n\n if (posA >= size) {\n return '';\n }\n } else if (start < 0) {\n for (posA = size; start < 0 && 0 < posA; start++) {\n posA -= getUTF16Length(str, posA - 1);\n }\n\n if (posA < 0) {\n posA = 0;\n }\n } // Find the actual ending position\n\n\n var posB = size;\n\n if (length < size) {\n for (posB = posA; length > 0 && posB < size; length--) {\n posB += getUTF16Length(str, posB);\n }\n }\n\n return str.substring(posA, posB);\n}\n/**\n * Fully Unicode-enabled replacement for String#substring()\n *\n * @param {string} str Valid Unicode string\n * @param {number} start Location in Unicode sequence to begin extracting\n * @param {?number} end Location in Unicode sequence to end extracting\n * (default: end of the string)\n * @return {string} Extracted sub-string\n */\n\n\nfunction substring(str, start, end) {\n start = start || 0;\n end = end === undefined ? Infinity : end || 0;\n\n if (start < 0) {\n start = 0;\n }\n\n if (end < 0) {\n end = 0;\n }\n\n var length = Math.abs(end - start);\n start = start < end ? start : end;\n return substr(str, start, length);\n}\n/**\n * Get a list of Unicode code-points from a String\n *\n * @param {string} str Valid Unicode string\n * @return {array} A list of code-points in [0..0x10FFFF]\n */\n\n\nfunction getCodePoints(str) {\n var codePoints = [];\n\n for (var pos = 0; pos < str.length; pos += getUTF16Length(str, pos)) {\n codePoints.push(str.codePointAt(pos));\n }\n\n return codePoints;\n}\n\nvar UnicodeUtils = {\n getCodePoints: getCodePoints,\n getUTF16Length: getUTF16Length,\n hasSurrogateUnit: hasSurrogateUnit,\n isCodeUnitInSurrogateRange: isCodeUnitInSurrogateRange,\n isSurrogatePair: isSurrogatePair,\n strlen: strlen,\n substring: substring,\n substr: substr\n};\nmodule.exports = UnicodeUtils;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvVW5pY29kZVV0aWxzLmpzPzhjYjQiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNhOztBQUViLGdCQUFnQixtQkFBTyxDQUFDLHlEQUFhLEVBQUU7QUFDdkM7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsT0FBTztBQUNsQixZQUFZLFFBQVE7QUFDcEI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsT0FBTztBQUNsQixXQUFXLE9BQU87QUFDbEIsWUFBWTtBQUNaOzs7QUFHQTtBQUNBLHdDQUF3QyxLQUFxQyxvR0FBb0csU0FBZ0I7O0FBRWpNO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxPQUFPO0FBQ2xCLFlBQVksUUFBUTtBQUNwQjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtDQUErQztBQUMvQywyRUFBMkU7QUFDM0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLE9BQU87QUFDbEIsV0FBVyxPQUFPO0FBQ2xCLFlBQVksT0FBTztBQUNuQjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxPQUFPO0FBQ2xCLFlBQVksT0FBTztBQUNuQjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQSxtQkFBbUIsa0JBQWtCO0FBQ3JDO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsT0FBTztBQUNsQixXQUFXLE9BQU87QUFDbEIsV0FBVyxRQUFRO0FBQ25CO0FBQ0EsWUFBWSxPQUFPO0FBQ25COzs7QUFHQTtBQUNBO0FBQ0EseURBQXlEOztBQUV6RDtBQUNBO0FBQ0EsR0FBRzs7O0FBR0g7O0FBRUE7QUFDQTtBQUNBLEdBQUc7OztBQUdIOztBQUVBO0FBQ0EsVUFBVSwwQkFBMEI7QUFDcEM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gscUJBQXFCLHVCQUF1QjtBQUM1QztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7OztBQUdIOztBQUVBO0FBQ0EscUJBQXFCLDJCQUEyQjtBQUNoRDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsT0FBTztBQUNsQixXQUFXLE9BQU87QUFDbEIsV0FBVyxRQUFRO0FBQ25CO0FBQ0EsWUFBWSxPQUFPO0FBQ25COzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsT0FBTztBQUNsQixZQUFZLGNBQWM7QUFDMUI7OztBQUdBO0FBQ0E7O0FBRUEsbUJBQW1CLGtCQUFrQjtBQUNyQztBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9mYmpzL2xpYi9Vbmljb2RlVXRpbHMuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxMy1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIEB0eXBlY2hlY2tzXG4gKi9cblxuLyoqXG4gKiBVbmljb2RlLWVuYWJsZWQgcmVwbGFjZXNtZW50cyBmb3IgYmFzaWMgU3RyaW5nIGZ1bmN0aW9ucy5cbiAqXG4gKiBBbGwgdGhlIGZ1bmN0aW9ucyBpbiB0aGlzIG1vZHVsZSBhc3N1bWUgdGhhdCB0aGUgaW5wdXQgc3RyaW5nIGlzIGEgdmFsaWRcbiAqIFVURi0xNiBlbmNvZGluZyBvZiBhIFVuaWNvZGUgc2VxdWVuY2UuIElmIGl0J3Mgbm90IHRoZSBjYXNlLCB0aGUgYmVoYXZpb3JcbiAqIHdpbGwgYmUgdW5kZWZpbmVkLlxuICpcbiAqIFdBUk5JTkc6IFNpbmNlIHRoaXMgbW9kdWxlIGlzIHR5cGVjaGVja3MtZW5mb3JjZWQsIHlvdSBtYXkgZmluZCBuZXcgYnVnc1xuICogd2hlbiByZXBsYWNpbmcgbm9ybWFsIFN0cmluZyBmdW5jdGlvbnMgd2l0aCBvbmVzIHByb3ZpZGVkIGhlcmUuXG4gKi9cbid1c2Ugc3RyaWN0JztcblxudmFyIGludmFyaWFudCA9IHJlcXVpcmUoXCIuL2ludmFyaWFudFwiKTsgLy8gVGhlc2UgdHdvIHJhbmdlcyBhcmUgY29uc2VjdXRpdmUgc28gYW55dGhpbmcgaW4gW0hJR0hfU1RBUlQsIExPV19FTkRdIGlzIGFcbi8vIHN1cnJvZ2F0ZSBjb2RlIHVuaXQuXG5cblxudmFyIFNVUlJPR0FURV9ISUdIX1NUQVJUID0gMHhEODAwO1xudmFyIFNVUlJPR0FURV9ISUdIX0VORCA9IDB4REJGRjtcbnZhciBTVVJST0dBVEVfTE9XX1NUQVJUID0gMHhEQzAwO1xudmFyIFNVUlJPR0FURV9MT1dfRU5EID0gMHhERkZGO1xudmFyIFNVUlJPR0FURV9VTklUU19SRUdFWCA9IC9bXFx1RDgwMC1cXHVERkZGXS87XG4vKipcbiAqIEBwYXJhbSB7bnVtYmVyfSBjb2RlVW5pdCAgIEEgVW5pY29kZSBjb2RlLXVuaXQsIGluIHJhbmdlIFswLCAweDEwRkZGRl1cbiAqIEByZXR1cm4ge2Jvb2xlYW59ICAgICAgICAgIFdoZXRoZXIgY29kZS11bml0IGlzIGluIGEgc3Vycm9nYXRlIChoaS9sb3cpIHJhbmdlXG4gKi9cblxuZnVuY3Rpb24gaXNDb2RlVW5pdEluU3Vycm9nYXRlUmFuZ2UoY29kZVVuaXQpIHtcbiAgcmV0dXJuIFNVUlJPR0FURV9ISUdIX1NUQVJUIDw9IGNvZGVVbml0ICYmIGNvZGVVbml0IDw9IFNVUlJPR0FURV9MT1dfRU5EO1xufVxuLyoqXG4gKiBSZXR1cm5zIHdoZXRoZXIgdGhlIHR3byBjaGFyYWN0ZXJzIHN0YXJ0aW5nIGF0IGBpbmRleGAgZm9ybSBhIHN1cnJvZ2F0ZSBwYWlyLlxuICogRm9yIGV4YW1wbGUsIGdpdmVuIHRoZSBzdHJpbmcgcyA9IFwiXFx1RDgzRFxcdURFMEFcIiwgKHMsIDApIHJldHVybnMgdHJ1ZSBhbmRcbiAqIChzLCAxKSByZXR1cm5zIGZhbHNlLlxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBzdHJcbiAqIEBwYXJhbSB7bnVtYmVyfSBpbmRleFxuICogQHJldHVybiB7Ym9vbGVhbn1cbiAqL1xuXG5cbmZ1bmN0aW9uIGlzU3Vycm9nYXRlUGFpcihzdHIsIGluZGV4KSB7XG4gICEoMCA8PSBpbmRleCAmJiBpbmRleCA8IHN0ci5sZW5ndGgpID8gcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiID8gaW52YXJpYW50KGZhbHNlLCAnaXNTdXJyb2dhdGVQYWlyOiBJbnZhbGlkIGluZGV4ICVzIGZvciBzdHJpbmcgbGVuZ3RoICVzLicsIGluZGV4LCBzdHIubGVuZ3RoKSA6IGludmFyaWFudChmYWxzZSkgOiB2b2lkIDA7XG5cbiAgaWYgKGluZGV4ICsgMSA9PT0gc3RyLmxlbmd0aCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHZhciBmaXJzdCA9IHN0ci5jaGFyQ29kZUF0KGluZGV4KTtcbiAgdmFyIHNlY29uZCA9IHN0ci5jaGFyQ29kZUF0KGluZGV4ICsgMSk7XG4gIHJldHVybiBTVVJST0dBVEVfSElHSF9TVEFSVCA8PSBmaXJzdCAmJiBmaXJzdCA8PSBTVVJST0dBVEVfSElHSF9FTkQgJiYgU1VSUk9HQVRFX0xPV19TVEFSVCA8PSBzZWNvbmQgJiYgc2Vjb25kIDw9IFNVUlJPR0FURV9MT1dfRU5EO1xufVxuLyoqXG4gKiBAcGFyYW0ge3N0cmluZ30gc3RyICBOb24tZW1wdHkgc3RyaW5nXG4gKiBAcmV0dXJuIHtib29sZWFufSAgICBUcnVlIGlmIHRoZSBpbnB1dCBpbmNsdWRlcyBhbnkgc3Vycm9nYXRlIGNvZGUgdW5pdHNcbiAqL1xuXG5cbmZ1bmN0aW9uIGhhc1N1cnJvZ2F0ZVVuaXQoc3RyKSB7XG4gIHJldHVybiBTVVJST0dBVEVfVU5JVFNfUkVHRVgudGVzdChzdHIpO1xufVxuLyoqXG4gKiBSZXR1cm4gdGhlIGxlbmd0aCBvZiB0aGUgb3JpZ2luYWwgVW5pY29kZSBjaGFyYWN0ZXIgYXQgZ2l2ZW4gcG9zaXRpb24gaW4gdGhlXG4gKiBTdHJpbmcgYnkgbG9va2luZyBpbnRvIHRoZSBVVEYtMTYgY29kZSB1bml0OyB0aGF0IGlzIGVxdWFsIHRvIDEgZm9yIGFueVxuICogbm9uLXN1cnJvZ2F0ZSBjaGFyYWN0ZXJzIGluIEJNUCAoW1UrMDAwMC4uVStEN0ZGXSBhbmQgW1UrRTAwMCwgVStGRkZGXSk7IGFuZFxuICogcmV0dXJucyAyIGZvciB0aGUgaGkvbG93IHN1cnJvZ2F0ZXMgKFtVK0Q4MDAuLlUrREZGRl0pLCB3aGljaCBhcmUgaW4gZmFjdFxuICogcmVwcmVzZW50aW5nIG5vbi1CTVAgY2hhcmFjdGVycyAoW1UrMTAwMDAuLlUrMTBGRkZGXSkuXG4gKlxuICogRXhhbXBsZXM6XG4gKiAtICdcXHUwMDIwJyA9PiAxXG4gKiAtICdcXHUzMDIwJyA9PiAxXG4gKiAtICdcXHVEODM1JyA9PiAyXG4gKiAtICdcXHVEODM1XFx1RERFRicgPT4gMlxuICogLSAnXFx1RERFRicgPT4gMlxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBzdHIgIE5vbi1lbXB0eSBzdHJpbmdcbiAqIEBwYXJhbSB7bnVtYmVyfSBwb3MgIFBvc2l0aW9uIGluIHRoZSBzdHJpbmcgdG8gbG9vayBmb3Igb25lIGNvZGUgdW5pdFxuICogQHJldHVybiB7bnVtYmVyfSAgICAgIE51bWJlciAxIG9yIDJcbiAqL1xuXG5cbmZ1bmN0aW9uIGdldFVURjE2TGVuZ3RoKHN0ciwgcG9zKSB7XG4gIHJldHVybiAxICsgaXNDb2RlVW5pdEluU3Vycm9nYXRlUmFuZ2Uoc3RyLmNoYXJDb2RlQXQocG9zKSk7XG59XG4vKipcbiAqIEZ1bGx5IFVuaWNvZGUtZW5hYmxlZCByZXBsYWNlbWVudCBmb3IgU3RyaW5nI2xlbmd0aFxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBzdHIgIFZhbGlkIFVuaWNvZGUgc3RyaW5nXG4gKiBAcmV0dXJuIHtudW1iZXJ9ICAgICBUaGUgbnVtYmVyIG9mIFVuaWNvZGUgY2hhcmFjdGVycyBpbiB0aGUgc3RyaW5nXG4gKi9cblxuXG5mdW5jdGlvbiBzdHJsZW4oc3RyKSB7XG4gIC8vIENhbGwgdGhlIG5hdGl2ZSBmdW5jdGlvbnMgaWYgdGhlcmUncyBubyBzdXJyb2dhdGUgY2hhclxuICBpZiAoIWhhc1N1cnJvZ2F0ZVVuaXQoc3RyKSkge1xuICAgIHJldHVybiBzdHIubGVuZ3RoO1xuICB9XG5cbiAgdmFyIGxlbiA9IDA7XG5cbiAgZm9yICh2YXIgcG9zID0gMDsgcG9zIDwgc3RyLmxlbmd0aDsgcG9zICs9IGdldFVURjE2TGVuZ3RoKHN0ciwgcG9zKSkge1xuICAgIGxlbisrO1xuICB9XG5cbiAgcmV0dXJuIGxlbjtcbn1cbi8qKlxuICogRnVsbHkgVW5pY29kZS1lbmFibGVkIHJlcGxhY2VtZW50IGZvciBTdHJpbmcjc3Vic3RyKClcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gc3RyICAgICAgVmFsaWQgVW5pY29kZSBzdHJpbmdcbiAqIEBwYXJhbSB7bnVtYmVyfSBzdGFydCAgICBMb2NhdGlvbiBpbiBVbmljb2RlIHNlcXVlbmNlIHRvIGJlZ2luIGV4dHJhY3RpbmdcbiAqIEBwYXJhbSB7P251bWJlcn0gbGVuZ3RoICBUaGUgbnVtYmVyIG9mIFVuaWNvZGUgY2hhcmFjdGVycyB0byBleHRyYWN0XG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgKGRlZmF1bHQ6IHRvIHRoZSBlbmQgb2YgdGhlIHN0cmluZylcbiAqIEByZXR1cm4ge3N0cmluZ30gICAgICAgICBFeHRyYWN0ZWQgc3ViLXN0cmluZ1xuICovXG5cblxuZnVuY3Rpb24gc3Vic3RyKHN0ciwgc3RhcnQsIGxlbmd0aCkge1xuICBzdGFydCA9IHN0YXJ0IHx8IDA7XG4gIGxlbmd0aCA9IGxlbmd0aCA9PT0gdW5kZWZpbmVkID8gSW5maW5pdHkgOiBsZW5ndGggfHwgMDsgLy8gQ2FsbCB0aGUgbmF0aXZlIGZ1bmN0aW9ucyBpZiB0aGVyZSdzIG5vIHN1cnJvZ2F0ZSBjaGFyXG5cbiAgaWYgKCFoYXNTdXJyb2dhdGVVbml0KHN0cikpIHtcbiAgICByZXR1cm4gc3RyLnN1YnN0cihzdGFydCwgbGVuZ3RoKTtcbiAgfSAvLyBPYnZpb3VzIGNhc2VzXG5cblxuICB2YXIgc2l6ZSA9IHN0ci5sZW5ndGg7XG5cbiAgaWYgKHNpemUgPD0gMCB8fCBzdGFydCA+IHNpemUgfHwgbGVuZ3RoIDw9IDApIHtcbiAgICByZXR1cm4gJyc7XG4gIH0gLy8gRmluZCB0aGUgYWN0dWFsIHN0YXJ0aW5nIHBvc2l0aW9uXG5cblxuICB2YXIgcG9zQSA9IDA7XG5cbiAgaWYgKHN0YXJ0ID4gMCkge1xuICAgIGZvciAoOyBzdGFydCA+IDAgJiYgcG9zQSA8IHNpemU7IHN0YXJ0LS0pIHtcbiAgICAgIHBvc0EgKz0gZ2V0VVRGMTZMZW5ndGgoc3RyLCBwb3NBKTtcbiAgICB9XG5cbiAgICBpZiAocG9zQSA+PSBzaXplKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICB9IGVsc2UgaWYgKHN0YXJ0IDwgMCkge1xuICAgIGZvciAocG9zQSA9IHNpemU7IHN0YXJ0IDwgMCAmJiAwIDwgcG9zQTsgc3RhcnQrKykge1xuICAgICAgcG9zQSAtPSBnZXRVVEYxNkxlbmd0aChzdHIsIHBvc0EgLSAxKTtcbiAgICB9XG5cbiAgICBpZiAocG9zQSA8IDApIHtcbiAgICAgIHBvc0EgPSAwO1xuICAgIH1cbiAgfSAvLyBGaW5kIHRoZSBhY3R1YWwgZW5kaW5nIHBvc2l0aW9uXG5cblxuICB2YXIgcG9zQiA9IHNpemU7XG5cbiAgaWYgKGxlbmd0aCA8IHNpemUpIHtcbiAgICBmb3IgKHBvc0IgPSBwb3NBOyBsZW5ndGggPiAwICYmIHBvc0IgPCBzaXplOyBsZW5ndGgtLSkge1xuICAgICAgcG9zQiArPSBnZXRVVEYxNkxlbmd0aChzdHIsIHBvc0IpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBzdHIuc3Vic3RyaW5nKHBvc0EsIHBvc0IpO1xufVxuLyoqXG4gKiBGdWxseSBVbmljb2RlLWVuYWJsZWQgcmVwbGFjZW1lbnQgZm9yIFN0cmluZyNzdWJzdHJpbmcoKVxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBzdHIgICAgVmFsaWQgVW5pY29kZSBzdHJpbmdcbiAqIEBwYXJhbSB7bnVtYmVyfSBzdGFydCAgTG9jYXRpb24gaW4gVW5pY29kZSBzZXF1ZW5jZSB0byBiZWdpbiBleHRyYWN0aW5nXG4gKiBAcGFyYW0gez9udW1iZXJ9IGVuZCAgIExvY2F0aW9uIGluIFVuaWNvZGUgc2VxdWVuY2UgdG8gZW5kIGV4dHJhY3RpbmdcbiAqICAgICAgICAgICAgICAgICAgICAgICAgKGRlZmF1bHQ6IGVuZCBvZiB0aGUgc3RyaW5nKVxuICogQHJldHVybiB7c3RyaW5nfSAgICAgICBFeHRyYWN0ZWQgc3ViLXN0cmluZ1xuICovXG5cblxuZnVuY3Rpb24gc3Vic3RyaW5nKHN0ciwgc3RhcnQsIGVuZCkge1xuICBzdGFydCA9IHN0YXJ0IHx8IDA7XG4gIGVuZCA9IGVuZCA9PT0gdW5kZWZpbmVkID8gSW5maW5pdHkgOiBlbmQgfHwgMDtcblxuICBpZiAoc3RhcnQgPCAwKSB7XG4gICAgc3RhcnQgPSAwO1xuICB9XG5cbiAgaWYgKGVuZCA8IDApIHtcbiAgICBlbmQgPSAwO1xuICB9XG5cbiAgdmFyIGxlbmd0aCA9IE1hdGguYWJzKGVuZCAtIHN0YXJ0KTtcbiAgc3RhcnQgPSBzdGFydCA8IGVuZCA/IHN0YXJ0IDogZW5kO1xuICByZXR1cm4gc3Vic3RyKHN0ciwgc3RhcnQsIGxlbmd0aCk7XG59XG4vKipcbiAqIEdldCBhIGxpc3Qgb2YgVW5pY29kZSBjb2RlLXBvaW50cyBmcm9tIGEgU3RyaW5nXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHN0ciAgICAgICAgVmFsaWQgVW5pY29kZSBzdHJpbmdcbiAqIEByZXR1cm4ge2FycmF5PG51bWJlcj59ICAgIEEgbGlzdCBvZiBjb2RlLXBvaW50cyBpbiBbMC4uMHgxMEZGRkZdXG4gKi9cblxuXG5mdW5jdGlvbiBnZXRDb2RlUG9pbnRzKHN0cikge1xuICB2YXIgY29kZVBvaW50cyA9IFtdO1xuXG4gIGZvciAodmFyIHBvcyA9IDA7IHBvcyA8IHN0ci5sZW5ndGg7IHBvcyArPSBnZXRVVEYxNkxlbmd0aChzdHIsIHBvcykpIHtcbiAgICBjb2RlUG9pbnRzLnB1c2goc3RyLmNvZGVQb2ludEF0KHBvcykpO1xuICB9XG5cbiAgcmV0dXJuIGNvZGVQb2ludHM7XG59XG5cbnZhciBVbmljb2RlVXRpbHMgPSB7XG4gIGdldENvZGVQb2ludHM6IGdldENvZGVQb2ludHMsXG4gIGdldFVURjE2TGVuZ3RoOiBnZXRVVEYxNkxlbmd0aCxcbiAgaGFzU3Vycm9nYXRlVW5pdDogaGFzU3Vycm9nYXRlVW5pdCxcbiAgaXNDb2RlVW5pdEluU3Vycm9nYXRlUmFuZ2U6IGlzQ29kZVVuaXRJblN1cnJvZ2F0ZVJhbmdlLFxuICBpc1N1cnJvZ2F0ZVBhaXI6IGlzU3Vycm9nYXRlUGFpcixcbiAgc3RybGVuOiBzdHJsZW4sXG4gIHN1YnN0cmluZzogc3Vic3RyaW5nLFxuICBzdWJzdHI6IHN1YnN0clxufTtcbm1vZHVsZS5leHBvcnRzID0gVW5pY29kZVV0aWxzOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/fbjs/lib/UnicodeUtils.js\n"); /***/ }), @@ -1493,7 +1720,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source cod /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n\n\nvar UserAgentData = __webpack_require__(/*! ./UserAgentData */ \"./node_modules/fbjs/lib/UserAgentData.js\");\nvar VersionRange = __webpack_require__(/*! ./VersionRange */ \"./node_modules/fbjs/lib/VersionRange.js\");\n\nvar mapObject = __webpack_require__(/*! ./mapObject */ \"./node_modules/fbjs/lib/mapObject.js\");\nvar memoizeStringOnly = __webpack_require__(/*! ./memoizeStringOnly */ \"./node_modules/fbjs/lib/memoizeStringOnly.js\");\n\n/**\n * Checks to see whether `name` and `version` satisfy `query`.\n *\n * @param {string} name Name of the browser, device, engine or platform\n * @param {?string} version Version of the browser, engine or platform\n * @param {string} query Query of form \"Name [range expression]\"\n * @param {?function} normalizer Optional pre-processor for range expression\n * @return {boolean}\n */\nfunction compare(name, version, query, normalizer) {\n // check for exact match with no version\n if (name === query) {\n return true;\n }\n\n // check for non-matching names\n if (!query.startsWith(name)) {\n return false;\n }\n\n // full comparison with version\n var range = query.slice(name.length);\n if (version) {\n range = normalizer ? normalizer(range) : range;\n return VersionRange.contains(range, version);\n }\n\n return false;\n}\n\n/**\n * Normalizes `version` by stripping any \"NT\" prefix, but only on the Windows\n * platform.\n *\n * Mimics the stripping performed by the `UserAgentWindowsPlatform` PHP class.\n *\n * @param {string} version\n * @return {string}\n */\nfunction normalizePlatformVersion(version) {\n if (UserAgentData.platformName === 'Windows') {\n return version.replace(/^\\s*NT/, '');\n }\n\n return version;\n}\n\n/**\n * Provides client-side access to the authoritative PHP-generated User Agent\n * information supplied by the server.\n */\nvar UserAgent = {\n /**\n * Check if the User Agent browser matches `query`.\n *\n * `query` should be a string like \"Chrome\" or \"Chrome > 33\".\n *\n * Valid browser names include:\n *\n * - ACCESS NetFront\n * - AOL\n * - Amazon Silk\n * - Android\n * - BlackBerry\n * - BlackBerry PlayBook\n * - Chrome\n * - Chrome for iOS\n * - Chrome frame\n * - Facebook PHP SDK\n * - Facebook for iOS\n * - Firefox\n * - IE\n * - IE Mobile\n * - Mobile Safari\n * - Motorola Internet Browser\n * - Nokia\n * - Openwave Mobile Browser\n * - Opera\n * - Opera Mini\n * - Opera Mobile\n * - Safari\n * - UIWebView\n * - Unknown\n * - webOS\n * - etc...\n *\n * An authoritative list can be found in the PHP `BrowserDetector` class and\n * related classes in the same file (see calls to `new UserAgentBrowser` here:\n * https://fburl.com/50728104).\n *\n * @note Function results are memoized\n *\n * @param {string} query Query of the form \"Name [range expression]\"\n * @return {boolean}\n */\n isBrowser: function isBrowser(query) {\n return compare(UserAgentData.browserName, UserAgentData.browserFullVersion, query);\n },\n\n\n /**\n * Check if the User Agent browser uses a 32 or 64 bit architecture.\n *\n * @note Function results are memoized\n *\n * @param {string} query Query of the form \"32\" or \"64\".\n * @return {boolean}\n */\n isBrowserArchitecture: function isBrowserArchitecture(query) {\n return compare(UserAgentData.browserArchitecture, null, query);\n },\n\n\n /**\n * Check if the User Agent device matches `query`.\n *\n * `query` should be a string like \"iPhone\" or \"iPad\".\n *\n * Valid device names include:\n *\n * - Kindle\n * - Kindle Fire\n * - Unknown\n * - iPad\n * - iPhone\n * - iPod\n * - etc...\n *\n * An authoritative list can be found in the PHP `DeviceDetector` class and\n * related classes in the same file (see calls to `new UserAgentDevice` here:\n * https://fburl.com/50728332).\n *\n * @note Function results are memoized\n *\n * @param {string} query Query of the form \"Name\"\n * @return {boolean}\n */\n isDevice: function isDevice(query) {\n return compare(UserAgentData.deviceName, null, query);\n },\n\n\n /**\n * Check if the User Agent rendering engine matches `query`.\n *\n * `query` should be a string like \"WebKit\" or \"WebKit >= 537\".\n *\n * Valid engine names include:\n *\n * - Gecko\n * - Presto\n * - Trident\n * - WebKit\n * - etc...\n *\n * An authoritative list can be found in the PHP `RenderingEngineDetector`\n * class related classes in the same file (see calls to `new\n * UserAgentRenderingEngine` here: https://fburl.com/50728617).\n *\n * @note Function results are memoized\n *\n * @param {string} query Query of the form \"Name [range expression]\"\n * @return {boolean}\n */\n isEngine: function isEngine(query) {\n return compare(UserAgentData.engineName, UserAgentData.engineVersion, query);\n },\n\n\n /**\n * Check if the User Agent platform matches `query`.\n *\n * `query` should be a string like \"Windows\" or \"iOS 5 - 6\".\n *\n * Valid platform names include:\n *\n * - Android\n * - BlackBerry OS\n * - Java ME\n * - Linux\n * - Mac OS X\n * - Mac OS X Calendar\n * - Mac OS X Internet Account\n * - Symbian\n * - SymbianOS\n * - Windows\n * - Windows Mobile\n * - Windows Phone\n * - iOS\n * - iOS Facebook Integration Account\n * - iOS Facebook Social Sharing UI\n * - webOS\n * - Chrome OS\n * - etc...\n *\n * An authoritative list can be found in the PHP `PlatformDetector` class and\n * related classes in the same file (see calls to `new UserAgentPlatform`\n * here: https://fburl.com/50729226).\n *\n * @note Function results are memoized\n *\n * @param {string} query Query of the form \"Name [range expression]\"\n * @return {boolean}\n */\n isPlatform: function isPlatform(query) {\n return compare(UserAgentData.platformName, UserAgentData.platformFullVersion, query, normalizePlatformVersion);\n },\n\n\n /**\n * Check if the User Agent platform is a 32 or 64 bit architecture.\n *\n * @note Function results are memoized\n *\n * @param {string} query Query of the form \"32\" or \"64\".\n * @return {boolean}\n */\n isPlatformArchitecture: function isPlatformArchitecture(query) {\n return compare(UserAgentData.platformArchitecture, null, query);\n }\n};\n\nmodule.exports = mapObject(UserAgent, memoizeStringOnly);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvVXNlckFnZW50LmpzPzA5ODQiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWE7O0FBRWIsb0JBQW9CLG1CQUFPLENBQUMsaUVBQWlCO0FBQzdDLG1CQUFtQixtQkFBTyxDQUFDLCtEQUFnQjs7QUFFM0MsZ0JBQWdCLG1CQUFPLENBQUMseURBQWE7QUFDckMsd0JBQXdCLG1CQUFPLENBQUMseUVBQXFCOztBQUVyRDtBQUNBO0FBQ0E7QUFDQSxXQUFXLE9BQU87QUFDbEIsV0FBVyxRQUFRO0FBQ25CLFdBQVcsT0FBTztBQUNsQixXQUFXLFVBQVU7QUFDckIsWUFBWTtBQUNaO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLE9BQU87QUFDbEIsWUFBWTtBQUNaO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLE9BQU87QUFDcEIsY0FBYztBQUNkO0FBQ0E7QUFDQTtBQUNBLEdBQUc7OztBQUdIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLE9BQU87QUFDcEIsY0FBYztBQUNkO0FBQ0E7QUFDQTtBQUNBLEdBQUc7OztBQUdIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWEsT0FBTztBQUNwQixjQUFjO0FBQ2Q7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7O0FBR0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLE9BQU87QUFDcEIsY0FBYztBQUNkO0FBQ0E7QUFDQTtBQUNBLEdBQUc7OztBQUdIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLE9BQU87QUFDcEIsY0FBYztBQUNkO0FBQ0E7QUFDQTtBQUNBLEdBQUc7OztBQUdIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLE9BQU87QUFDcEIsY0FBYztBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvVXNlckFnZW50LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG52YXIgVXNlckFnZW50RGF0YSA9IHJlcXVpcmUoJy4vVXNlckFnZW50RGF0YScpO1xudmFyIFZlcnNpb25SYW5nZSA9IHJlcXVpcmUoJy4vVmVyc2lvblJhbmdlJyk7XG5cbnZhciBtYXBPYmplY3QgPSByZXF1aXJlKCcuL21hcE9iamVjdCcpO1xudmFyIG1lbW9pemVTdHJpbmdPbmx5ID0gcmVxdWlyZSgnLi9tZW1vaXplU3RyaW5nT25seScpO1xuXG4vKipcbiAqIENoZWNrcyB0byBzZWUgd2hldGhlciBgbmFtZWAgYW5kIGB2ZXJzaW9uYCBzYXRpc2Z5IGBxdWVyeWAuXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgTmFtZSBvZiB0aGUgYnJvd3NlciwgZGV2aWNlLCBlbmdpbmUgb3IgcGxhdGZvcm1cbiAqIEBwYXJhbSB7P3N0cmluZ30gdmVyc2lvbiBWZXJzaW9uIG9mIHRoZSBicm93c2VyLCBlbmdpbmUgb3IgcGxhdGZvcm1cbiAqIEBwYXJhbSB7c3RyaW5nfSBxdWVyeSBRdWVyeSBvZiBmb3JtIFwiTmFtZSBbcmFuZ2UgZXhwcmVzc2lvbl1cIlxuICogQHBhcmFtIHs/ZnVuY3Rpb259IG5vcm1hbGl6ZXIgT3B0aW9uYWwgcHJlLXByb2Nlc3NvciBmb3IgcmFuZ2UgZXhwcmVzc2lvblxuICogQHJldHVybiB7Ym9vbGVhbn1cbiAqL1xuZnVuY3Rpb24gY29tcGFyZShuYW1lLCB2ZXJzaW9uLCBxdWVyeSwgbm9ybWFsaXplcikge1xuICAvLyBjaGVjayBmb3IgZXhhY3QgbWF0Y2ggd2l0aCBubyB2ZXJzaW9uXG4gIGlmIChuYW1lID09PSBxdWVyeSkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgLy8gY2hlY2sgZm9yIG5vbi1tYXRjaGluZyBuYW1lc1xuICBpZiAoIXF1ZXJ5LnN0YXJ0c1dpdGgobmFtZSkpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvLyBmdWxsIGNvbXBhcmlzb24gd2l0aCB2ZXJzaW9uXG4gIHZhciByYW5nZSA9IHF1ZXJ5LnNsaWNlKG5hbWUubGVuZ3RoKTtcbiAgaWYgKHZlcnNpb24pIHtcbiAgICByYW5nZSA9IG5vcm1hbGl6ZXIgPyBub3JtYWxpemVyKHJhbmdlKSA6IHJhbmdlO1xuICAgIHJldHVybiBWZXJzaW9uUmFuZ2UuY29udGFpbnMocmFuZ2UsIHZlcnNpb24pO1xuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG4vKipcbiAqIE5vcm1hbGl6ZXMgYHZlcnNpb25gIGJ5IHN0cmlwcGluZyBhbnkgXCJOVFwiIHByZWZpeCwgYnV0IG9ubHkgb24gdGhlIFdpbmRvd3NcbiAqIHBsYXRmb3JtLlxuICpcbiAqIE1pbWljcyB0aGUgc3RyaXBwaW5nIHBlcmZvcm1lZCBieSB0aGUgYFVzZXJBZ2VudFdpbmRvd3NQbGF0Zm9ybWAgUEhQIGNsYXNzLlxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSB2ZXJzaW9uXG4gKiBAcmV0dXJuIHtzdHJpbmd9XG4gKi9cbmZ1bmN0aW9uIG5vcm1hbGl6ZVBsYXRmb3JtVmVyc2lvbih2ZXJzaW9uKSB7XG4gIGlmIChVc2VyQWdlbnREYXRhLnBsYXRmb3JtTmFtZSA9PT0gJ1dpbmRvd3MnKSB7XG4gICAgcmV0dXJuIHZlcnNpb24ucmVwbGFjZSgvXlxccypOVC8sICcnKTtcbiAgfVxuXG4gIHJldHVybiB2ZXJzaW9uO1xufVxuXG4vKipcbiAqIFByb3ZpZGVzIGNsaWVudC1zaWRlIGFjY2VzcyB0byB0aGUgYXV0aG9yaXRhdGl2ZSBQSFAtZ2VuZXJhdGVkIFVzZXIgQWdlbnRcbiAqIGluZm9ybWF0aW9uIHN1cHBsaWVkIGJ5IHRoZSBzZXJ2ZXIuXG4gKi9cbnZhciBVc2VyQWdlbnQgPSB7XG4gIC8qKlxuICAgKiBDaGVjayBpZiB0aGUgVXNlciBBZ2VudCBicm93c2VyIG1hdGNoZXMgYHF1ZXJ5YC5cbiAgICpcbiAgICogYHF1ZXJ5YCBzaG91bGQgYmUgYSBzdHJpbmcgbGlrZSBcIkNocm9tZVwiIG9yIFwiQ2hyb21lID4gMzNcIi5cbiAgICpcbiAgICogVmFsaWQgYnJvd3NlciBuYW1lcyBpbmNsdWRlOlxuICAgKlxuICAgKiAtIEFDQ0VTUyBOZXRGcm9udFxuICAgKiAtIEFPTFxuICAgKiAtIEFtYXpvbiBTaWxrXG4gICAqIC0gQW5kcm9pZFxuICAgKiAtIEJsYWNrQmVycnlcbiAgICogLSBCbGFja0JlcnJ5IFBsYXlCb29rXG4gICAqIC0gQ2hyb21lXG4gICAqIC0gQ2hyb21lIGZvciBpT1NcbiAgICogLSBDaHJvbWUgZnJhbWVcbiAgICogLSBGYWNlYm9vayBQSFAgU0RLXG4gICAqIC0gRmFjZWJvb2sgZm9yIGlPU1xuICAgKiAtIEZpcmVmb3hcbiAgICogLSBJRVxuICAgKiAtIElFIE1vYmlsZVxuICAgKiAtIE1vYmlsZSBTYWZhcmlcbiAgICogLSBNb3Rvcm9sYSBJbnRlcm5ldCBCcm93c2VyXG4gICAqIC0gTm9raWFcbiAgICogLSBPcGVud2F2ZSBNb2JpbGUgQnJvd3NlclxuICAgKiAtIE9wZXJhXG4gICAqIC0gT3BlcmEgTWluaVxuICAgKiAtIE9wZXJhIE1vYmlsZVxuICAgKiAtIFNhZmFyaVxuICAgKiAtIFVJV2ViVmlld1xuICAgKiAtIFVua25vd25cbiAgICogLSB3ZWJPU1xuICAgKiAtIGV0Yy4uLlxuICAgKlxuICAgKiBBbiBhdXRob3JpdGF0aXZlIGxpc3QgY2FuIGJlIGZvdW5kIGluIHRoZSBQSFAgYEJyb3dzZXJEZXRlY3RvcmAgY2xhc3MgYW5kXG4gICAqIHJlbGF0ZWQgY2xhc3NlcyBpbiB0aGUgc2FtZSBmaWxlIChzZWUgY2FsbHMgdG8gYG5ldyBVc2VyQWdlbnRCcm93c2VyYCBoZXJlOlxuICAgKiBodHRwczovL2ZidXJsLmNvbS81MDcyODEwNCkuXG4gICAqXG4gICAqIEBub3RlIEZ1bmN0aW9uIHJlc3VsdHMgYXJlIG1lbW9pemVkXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBxdWVyeSBRdWVyeSBvZiB0aGUgZm9ybSBcIk5hbWUgW3JhbmdlIGV4cHJlc3Npb25dXCJcbiAgICogQHJldHVybiB7Ym9vbGVhbn1cbiAgICovXG4gIGlzQnJvd3NlcjogZnVuY3Rpb24gaXNCcm93c2VyKHF1ZXJ5KSB7XG4gICAgcmV0dXJuIGNvbXBhcmUoVXNlckFnZW50RGF0YS5icm93c2VyTmFtZSwgVXNlckFnZW50RGF0YS5icm93c2VyRnVsbFZlcnNpb24sIHF1ZXJ5KTtcbiAgfSxcblxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiB0aGUgVXNlciBBZ2VudCBicm93c2VyIHVzZXMgYSAzMiBvciA2NCBiaXQgYXJjaGl0ZWN0dXJlLlxuICAgKlxuICAgKiBAbm90ZSBGdW5jdGlvbiByZXN1bHRzIGFyZSBtZW1vaXplZFxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gcXVlcnkgUXVlcnkgb2YgdGhlIGZvcm0gXCIzMlwiIG9yIFwiNjRcIi5cbiAgICogQHJldHVybiB7Ym9vbGVhbn1cbiAgICovXG4gIGlzQnJvd3NlckFyY2hpdGVjdHVyZTogZnVuY3Rpb24gaXNCcm93c2VyQXJjaGl0ZWN0dXJlKHF1ZXJ5KSB7XG4gICAgcmV0dXJuIGNvbXBhcmUoVXNlckFnZW50RGF0YS5icm93c2VyQXJjaGl0ZWN0dXJlLCBudWxsLCBxdWVyeSk7XG4gIH0sXG5cblxuICAvKipcbiAgICogQ2hlY2sgaWYgdGhlIFVzZXIgQWdlbnQgZGV2aWNlIG1hdGNoZXMgYHF1ZXJ5YC5cbiAgICpcbiAgICogYHF1ZXJ5YCBzaG91bGQgYmUgYSBzdHJpbmcgbGlrZSBcImlQaG9uZVwiIG9yIFwiaVBhZFwiLlxuICAgKlxuICAgKiBWYWxpZCBkZXZpY2UgbmFtZXMgaW5jbHVkZTpcbiAgICpcbiAgICogLSBLaW5kbGVcbiAgICogLSBLaW5kbGUgRmlyZVxuICAgKiAtIFVua25vd25cbiAgICogLSBpUGFkXG4gICAqIC0gaVBob25lXG4gICAqIC0gaVBvZFxuICAgKiAtIGV0Yy4uLlxuICAgKlxuICAgKiBBbiBhdXRob3JpdGF0aXZlIGxpc3QgY2FuIGJlIGZvdW5kIGluIHRoZSBQSFAgYERldmljZURldGVjdG9yYCBjbGFzcyBhbmRcbiAgICogcmVsYXRlZCBjbGFzc2VzIGluIHRoZSBzYW1lIGZpbGUgKHNlZSBjYWxscyB0byBgbmV3IFVzZXJBZ2VudERldmljZWAgaGVyZTpcbiAgICogaHR0cHM6Ly9mYnVybC5jb20vNTA3MjgzMzIpLlxuICAgKlxuICAgKiBAbm90ZSBGdW5jdGlvbiByZXN1bHRzIGFyZSBtZW1vaXplZFxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gcXVlcnkgUXVlcnkgb2YgdGhlIGZvcm0gXCJOYW1lXCJcbiAgICogQHJldHVybiB7Ym9vbGVhbn1cbiAgICovXG4gIGlzRGV2aWNlOiBmdW5jdGlvbiBpc0RldmljZShxdWVyeSkge1xuICAgIHJldHVybiBjb21wYXJlKFVzZXJBZ2VudERhdGEuZGV2aWNlTmFtZSwgbnVsbCwgcXVlcnkpO1xuICB9LFxuXG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIHRoZSBVc2VyIEFnZW50IHJlbmRlcmluZyBlbmdpbmUgbWF0Y2hlcyBgcXVlcnlgLlxuICAgKlxuICAgKiBgcXVlcnlgIHNob3VsZCBiZSBhIHN0cmluZyBsaWtlIFwiV2ViS2l0XCIgb3IgXCJXZWJLaXQgPj0gNTM3XCIuXG4gICAqXG4gICAqIFZhbGlkIGVuZ2luZSBuYW1lcyBpbmNsdWRlOlxuICAgKlxuICAgKiAtIEdlY2tvXG4gICAqIC0gUHJlc3RvXG4gICAqIC0gVHJpZGVudFxuICAgKiAtIFdlYktpdFxuICAgKiAtIGV0Yy4uLlxuICAgKlxuICAgKiBBbiBhdXRob3JpdGF0aXZlIGxpc3QgY2FuIGJlIGZvdW5kIGluIHRoZSBQSFAgYFJlbmRlcmluZ0VuZ2luZURldGVjdG9yYFxuICAgKiBjbGFzcyByZWxhdGVkIGNsYXNzZXMgaW4gdGhlIHNhbWUgZmlsZSAoc2VlIGNhbGxzIHRvIGBuZXdcbiAgICogVXNlckFnZW50UmVuZGVyaW5nRW5naW5lYCBoZXJlOiBodHRwczovL2ZidXJsLmNvbS81MDcyODYxNykuXG4gICAqXG4gICAqIEBub3RlIEZ1bmN0aW9uIHJlc3VsdHMgYXJlIG1lbW9pemVkXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBxdWVyeSBRdWVyeSBvZiB0aGUgZm9ybSBcIk5hbWUgW3JhbmdlIGV4cHJlc3Npb25dXCJcbiAgICogQHJldHVybiB7Ym9vbGVhbn1cbiAgICovXG4gIGlzRW5naW5lOiBmdW5jdGlvbiBpc0VuZ2luZShxdWVyeSkge1xuICAgIHJldHVybiBjb21wYXJlKFVzZXJBZ2VudERhdGEuZW5naW5lTmFtZSwgVXNlckFnZW50RGF0YS5lbmdpbmVWZXJzaW9uLCBxdWVyeSk7XG4gIH0sXG5cblxuICAvKipcbiAgICogQ2hlY2sgaWYgdGhlIFVzZXIgQWdlbnQgcGxhdGZvcm0gbWF0Y2hlcyBgcXVlcnlgLlxuICAgKlxuICAgKiBgcXVlcnlgIHNob3VsZCBiZSBhIHN0cmluZyBsaWtlIFwiV2luZG93c1wiIG9yIFwiaU9TIDUgLSA2XCIuXG4gICAqXG4gICAqIFZhbGlkIHBsYXRmb3JtIG5hbWVzIGluY2x1ZGU6XG4gICAqXG4gICAqIC0gQW5kcm9pZFxuICAgKiAtIEJsYWNrQmVycnkgT1NcbiAgICogLSBKYXZhIE1FXG4gICAqIC0gTGludXhcbiAgICogLSBNYWMgT1MgWFxuICAgKiAtIE1hYyBPUyBYIENhbGVuZGFyXG4gICAqIC0gTWFjIE9TIFggSW50ZXJuZXQgQWNjb3VudFxuICAgKiAtIFN5bWJpYW5cbiAgICogLSBTeW1iaWFuT1NcbiAgICogLSBXaW5kb3dzXG4gICAqIC0gV2luZG93cyBNb2JpbGVcbiAgICogLSBXaW5kb3dzIFBob25lXG4gICAqIC0gaU9TXG4gICAqIC0gaU9TIEZhY2Vib29rIEludGVncmF0aW9uIEFjY291bnRcbiAgICogLSBpT1MgRmFjZWJvb2sgU29jaWFsIFNoYXJpbmcgVUlcbiAgICogLSB3ZWJPU1xuICAgKiAtIENocm9tZSBPU1xuICAgKiAtIGV0Yy4uLlxuICAgKlxuICAgKiBBbiBhdXRob3JpdGF0aXZlIGxpc3QgY2FuIGJlIGZvdW5kIGluIHRoZSBQSFAgYFBsYXRmb3JtRGV0ZWN0b3JgIGNsYXNzIGFuZFxuICAgKiByZWxhdGVkIGNsYXNzZXMgaW4gdGhlIHNhbWUgZmlsZSAoc2VlIGNhbGxzIHRvIGBuZXcgVXNlckFnZW50UGxhdGZvcm1gXG4gICAqIGhlcmU6IGh0dHBzOi8vZmJ1cmwuY29tLzUwNzI5MjI2KS5cbiAgICpcbiAgICogQG5vdGUgRnVuY3Rpb24gcmVzdWx0cyBhcmUgbWVtb2l6ZWRcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHF1ZXJ5IFF1ZXJ5IG9mIHRoZSBmb3JtIFwiTmFtZSBbcmFuZ2UgZXhwcmVzc2lvbl1cIlxuICAgKiBAcmV0dXJuIHtib29sZWFufVxuICAgKi9cbiAgaXNQbGF0Zm9ybTogZnVuY3Rpb24gaXNQbGF0Zm9ybShxdWVyeSkge1xuICAgIHJldHVybiBjb21wYXJlKFVzZXJBZ2VudERhdGEucGxhdGZvcm1OYW1lLCBVc2VyQWdlbnREYXRhLnBsYXRmb3JtRnVsbFZlcnNpb24sIHF1ZXJ5LCBub3JtYWxpemVQbGF0Zm9ybVZlcnNpb24pO1xuICB9LFxuXG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIHRoZSBVc2VyIEFnZW50IHBsYXRmb3JtIGlzIGEgMzIgb3IgNjQgYml0IGFyY2hpdGVjdHVyZS5cbiAgICpcbiAgICogQG5vdGUgRnVuY3Rpb24gcmVzdWx0cyBhcmUgbWVtb2l6ZWRcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHF1ZXJ5IFF1ZXJ5IG9mIHRoZSBmb3JtIFwiMzJcIiBvciBcIjY0XCIuXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59XG4gICAqL1xuICBpc1BsYXRmb3JtQXJjaGl0ZWN0dXJlOiBmdW5jdGlvbiBpc1BsYXRmb3JtQXJjaGl0ZWN0dXJlKHF1ZXJ5KSB7XG4gICAgcmV0dXJuIGNvbXBhcmUoVXNlckFnZW50RGF0YS5wbGF0Zm9ybUFyY2hpdGVjdHVyZSwgbnVsbCwgcXVlcnkpO1xuICB9XG59O1xuXG5tb2R1bGUuZXhwb3J0cyA9IG1hcE9iamVjdChVc2VyQWdlbnQsIG1lbW9pemVTdHJpbmdPbmx5KTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/fbjs/lib/UserAgent.js\n"); +eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n\nvar UserAgentData = __webpack_require__(/*! ./UserAgentData */ \"./node_modules/fbjs/lib/UserAgentData.js\");\n\nvar VersionRange = __webpack_require__(/*! ./VersionRange */ \"./node_modules/fbjs/lib/VersionRange.js\");\n\nvar mapObject = __webpack_require__(/*! ./mapObject */ \"./node_modules/fbjs/lib/mapObject.js\");\n\nvar memoizeStringOnly = __webpack_require__(/*! ./memoizeStringOnly */ \"./node_modules/fbjs/lib/memoizeStringOnly.js\");\n/**\n * Checks to see whether `name` and `version` satisfy `query`.\n *\n * @param {string} name Name of the browser, device, engine or platform\n * @param {?string} version Version of the browser, engine or platform\n * @param {string} query Query of form \"Name [range expression]\"\n * @param {?function} normalizer Optional pre-processor for range expression\n * @return {boolean}\n */\n\n\nfunction compare(name, version, query, normalizer) {\n // check for exact match with no version\n if (name === query) {\n return true;\n } // check for non-matching names\n\n\n if (!query.startsWith(name)) {\n return false;\n } // full comparison with version\n\n\n var range = query.slice(name.length);\n\n if (version) {\n range = normalizer ? normalizer(range) : range;\n return VersionRange.contains(range, version);\n }\n\n return false;\n}\n/**\n * Normalizes `version` by stripping any \"NT\" prefix, but only on the Windows\n * platform.\n *\n * Mimics the stripping performed by the `UserAgentWindowsPlatform` PHP class.\n *\n * @param {string} version\n * @return {string}\n */\n\n\nfunction normalizePlatformVersion(version) {\n if (UserAgentData.platformName === 'Windows') {\n return version.replace(/^\\s*NT/, '');\n }\n\n return version;\n}\n/**\n * Provides client-side access to the authoritative PHP-generated User Agent\n * information supplied by the server.\n */\n\n\nvar UserAgent = {\n /**\n * Check if the User Agent browser matches `query`.\n *\n * `query` should be a string like \"Chrome\" or \"Chrome > 33\".\n *\n * Valid browser names include:\n *\n * - ACCESS NetFront\n * - AOL\n * - Amazon Silk\n * - Android\n * - BlackBerry\n * - BlackBerry PlayBook\n * - Chrome\n * - Chrome for iOS\n * - Chrome frame\n * - Facebook PHP SDK\n * - Facebook for iOS\n * - Firefox\n * - IE\n * - IE Mobile\n * - Mobile Safari\n * - Motorola Internet Browser\n * - Nokia\n * - Openwave Mobile Browser\n * - Opera\n * - Opera Mini\n * - Opera Mobile\n * - Safari\n * - UIWebView\n * - Unknown\n * - webOS\n * - etc...\n *\n * An authoritative list can be found in the PHP `BrowserDetector` class and\n * related classes in the same file (see calls to `new UserAgentBrowser` here:\n * https://fburl.com/50728104).\n *\n * @note Function results are memoized\n *\n * @param {string} query Query of the form \"Name [range expression]\"\n * @return {boolean}\n */\n isBrowser: function isBrowser(query) {\n return compare(UserAgentData.browserName, UserAgentData.browserFullVersion, query);\n },\n\n /**\n * Check if the User Agent browser uses a 32 or 64 bit architecture.\n *\n * @note Function results are memoized\n *\n * @param {string} query Query of the form \"32\" or \"64\".\n * @return {boolean}\n */\n isBrowserArchitecture: function isBrowserArchitecture(query) {\n return compare(UserAgentData.browserArchitecture, null, query);\n },\n\n /**\n * Check if the User Agent device matches `query`.\n *\n * `query` should be a string like \"iPhone\" or \"iPad\".\n *\n * Valid device names include:\n *\n * - Kindle\n * - Kindle Fire\n * - Unknown\n * - iPad\n * - iPhone\n * - iPod\n * - etc...\n *\n * An authoritative list can be found in the PHP `DeviceDetector` class and\n * related classes in the same file (see calls to `new UserAgentDevice` here:\n * https://fburl.com/50728332).\n *\n * @note Function results are memoized\n *\n * @param {string} query Query of the form \"Name\"\n * @return {boolean}\n */\n isDevice: function isDevice(query) {\n return compare(UserAgentData.deviceName, null, query);\n },\n\n /**\n * Check if the User Agent rendering engine matches `query`.\n *\n * `query` should be a string like \"WebKit\" or \"WebKit >= 537\".\n *\n * Valid engine names include:\n *\n * - Gecko\n * - Presto\n * - Trident\n * - WebKit\n * - etc...\n *\n * An authoritative list can be found in the PHP `RenderingEngineDetector`\n * class related classes in the same file (see calls to `new\n * UserAgentRenderingEngine` here: https://fburl.com/50728617).\n *\n * @note Function results are memoized\n *\n * @param {string} query Query of the form \"Name [range expression]\"\n * @return {boolean}\n */\n isEngine: function isEngine(query) {\n return compare(UserAgentData.engineName, UserAgentData.engineVersion, query);\n },\n\n /**\n * Check if the User Agent platform matches `query`.\n *\n * `query` should be a string like \"Windows\" or \"iOS 5 - 6\".\n *\n * Valid platform names include:\n *\n * - Android\n * - BlackBerry OS\n * - Java ME\n * - Linux\n * - Mac OS X\n * - Mac OS X Calendar\n * - Mac OS X Internet Account\n * - Symbian\n * - SymbianOS\n * - Windows\n * - Windows Mobile\n * - Windows Phone\n * - iOS\n * - iOS Facebook Integration Account\n * - iOS Facebook Social Sharing UI\n * - webOS\n * - Chrome OS\n * - etc...\n *\n * An authoritative list can be found in the PHP `PlatformDetector` class and\n * related classes in the same file (see calls to `new UserAgentPlatform`\n * here: https://fburl.com/50729226).\n *\n * @note Function results are memoized\n *\n * @param {string} query Query of the form \"Name [range expression]\"\n * @return {boolean}\n */\n isPlatform: function isPlatform(query) {\n return compare(UserAgentData.platformName, UserAgentData.platformFullVersion, query, normalizePlatformVersion);\n },\n\n /**\n * Check if the User Agent platform is a 32 or 64 bit architecture.\n *\n * @note Function results are memoized\n *\n * @param {string} query Query of the form \"32\" or \"64\".\n * @return {boolean}\n */\n isPlatformArchitecture: function isPlatformArchitecture(query) {\n return compare(UserAgentData.platformArchitecture, null, query);\n }\n};\nmodule.exports = mapObject(UserAgent, memoizeStringOnly);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvVXNlckFnZW50LmpzPzA5ODQiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDYTs7QUFFYixvQkFBb0IsbUJBQU8sQ0FBQyxpRUFBaUI7O0FBRTdDLG1CQUFtQixtQkFBTyxDQUFDLCtEQUFnQjs7QUFFM0MsZ0JBQWdCLG1CQUFPLENBQUMseURBQWE7O0FBRXJDLHdCQUF3QixtQkFBTyxDQUFDLHlFQUFxQjtBQUNyRDtBQUNBO0FBQ0E7QUFDQSxXQUFXLE9BQU87QUFDbEIsV0FBVyxRQUFRO0FBQ25CLFdBQVcsT0FBTztBQUNsQixXQUFXLFVBQVU7QUFDckIsWUFBWTtBQUNaOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7OztBQUdIO0FBQ0E7QUFDQSxHQUFHOzs7QUFHSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxPQUFPO0FBQ2xCLFlBQVk7QUFDWjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSxPQUFPO0FBQ3BCLGNBQWM7QUFDZDtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLE9BQU87QUFDcEIsY0FBYztBQUNkO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSxPQUFPO0FBQ3BCLGNBQWM7QUFDZDtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSxPQUFPO0FBQ3BCLGNBQWM7QUFDZDtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLE9BQU87QUFDcEIsY0FBYztBQUNkO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWEsT0FBTztBQUNwQixjQUFjO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2ZianMvbGliL1VzZXJBZ2VudC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICovXG4ndXNlIHN0cmljdCc7XG5cbnZhciBVc2VyQWdlbnREYXRhID0gcmVxdWlyZShcIi4vVXNlckFnZW50RGF0YVwiKTtcblxudmFyIFZlcnNpb25SYW5nZSA9IHJlcXVpcmUoXCIuL1ZlcnNpb25SYW5nZVwiKTtcblxudmFyIG1hcE9iamVjdCA9IHJlcXVpcmUoXCIuL21hcE9iamVjdFwiKTtcblxudmFyIG1lbW9pemVTdHJpbmdPbmx5ID0gcmVxdWlyZShcIi4vbWVtb2l6ZVN0cmluZ09ubHlcIik7XG4vKipcbiAqIENoZWNrcyB0byBzZWUgd2hldGhlciBgbmFtZWAgYW5kIGB2ZXJzaW9uYCBzYXRpc2Z5IGBxdWVyeWAuXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgTmFtZSBvZiB0aGUgYnJvd3NlciwgZGV2aWNlLCBlbmdpbmUgb3IgcGxhdGZvcm1cbiAqIEBwYXJhbSB7P3N0cmluZ30gdmVyc2lvbiBWZXJzaW9uIG9mIHRoZSBicm93c2VyLCBlbmdpbmUgb3IgcGxhdGZvcm1cbiAqIEBwYXJhbSB7c3RyaW5nfSBxdWVyeSBRdWVyeSBvZiBmb3JtIFwiTmFtZSBbcmFuZ2UgZXhwcmVzc2lvbl1cIlxuICogQHBhcmFtIHs/ZnVuY3Rpb259IG5vcm1hbGl6ZXIgT3B0aW9uYWwgcHJlLXByb2Nlc3NvciBmb3IgcmFuZ2UgZXhwcmVzc2lvblxuICogQHJldHVybiB7Ym9vbGVhbn1cbiAqL1xuXG5cbmZ1bmN0aW9uIGNvbXBhcmUobmFtZSwgdmVyc2lvbiwgcXVlcnksIG5vcm1hbGl6ZXIpIHtcbiAgLy8gY2hlY2sgZm9yIGV4YWN0IG1hdGNoIHdpdGggbm8gdmVyc2lvblxuICBpZiAobmFtZSA9PT0gcXVlcnkpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSAvLyBjaGVjayBmb3Igbm9uLW1hdGNoaW5nIG5hbWVzXG5cblxuICBpZiAoIXF1ZXJ5LnN0YXJ0c1dpdGgobmFtZSkpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH0gLy8gZnVsbCBjb21wYXJpc29uIHdpdGggdmVyc2lvblxuXG5cbiAgdmFyIHJhbmdlID0gcXVlcnkuc2xpY2UobmFtZS5sZW5ndGgpO1xuXG4gIGlmICh2ZXJzaW9uKSB7XG4gICAgcmFuZ2UgPSBub3JtYWxpemVyID8gbm9ybWFsaXplcihyYW5nZSkgOiByYW5nZTtcbiAgICByZXR1cm4gVmVyc2lvblJhbmdlLmNvbnRhaW5zKHJhbmdlLCB2ZXJzaW9uKTtcbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn1cbi8qKlxuICogTm9ybWFsaXplcyBgdmVyc2lvbmAgYnkgc3RyaXBwaW5nIGFueSBcIk5UXCIgcHJlZml4LCBidXQgb25seSBvbiB0aGUgV2luZG93c1xuICogcGxhdGZvcm0uXG4gKlxuICogTWltaWNzIHRoZSBzdHJpcHBpbmcgcGVyZm9ybWVkIGJ5IHRoZSBgVXNlckFnZW50V2luZG93c1BsYXRmb3JtYCBQSFAgY2xhc3MuXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHZlcnNpb25cbiAqIEByZXR1cm4ge3N0cmluZ31cbiAqL1xuXG5cbmZ1bmN0aW9uIG5vcm1hbGl6ZVBsYXRmb3JtVmVyc2lvbih2ZXJzaW9uKSB7XG4gIGlmIChVc2VyQWdlbnREYXRhLnBsYXRmb3JtTmFtZSA9PT0gJ1dpbmRvd3MnKSB7XG4gICAgcmV0dXJuIHZlcnNpb24ucmVwbGFjZSgvXlxccypOVC8sICcnKTtcbiAgfVxuXG4gIHJldHVybiB2ZXJzaW9uO1xufVxuLyoqXG4gKiBQcm92aWRlcyBjbGllbnQtc2lkZSBhY2Nlc3MgdG8gdGhlIGF1dGhvcml0YXRpdmUgUEhQLWdlbmVyYXRlZCBVc2VyIEFnZW50XG4gKiBpbmZvcm1hdGlvbiBzdXBwbGllZCBieSB0aGUgc2VydmVyLlxuICovXG5cblxudmFyIFVzZXJBZ2VudCA9IHtcbiAgLyoqXG4gICAqIENoZWNrIGlmIHRoZSBVc2VyIEFnZW50IGJyb3dzZXIgbWF0Y2hlcyBgcXVlcnlgLlxuICAgKlxuICAgKiBgcXVlcnlgIHNob3VsZCBiZSBhIHN0cmluZyBsaWtlIFwiQ2hyb21lXCIgb3IgXCJDaHJvbWUgPiAzM1wiLlxuICAgKlxuICAgKiBWYWxpZCBicm93c2VyIG5hbWVzIGluY2x1ZGU6XG4gICAqXG4gICAqIC0gQUNDRVNTIE5ldEZyb250XG4gICAqIC0gQU9MXG4gICAqIC0gQW1hem9uIFNpbGtcbiAgICogLSBBbmRyb2lkXG4gICAqIC0gQmxhY2tCZXJyeVxuICAgKiAtIEJsYWNrQmVycnkgUGxheUJvb2tcbiAgICogLSBDaHJvbWVcbiAgICogLSBDaHJvbWUgZm9yIGlPU1xuICAgKiAtIENocm9tZSBmcmFtZVxuICAgKiAtIEZhY2Vib29rIFBIUCBTREtcbiAgICogLSBGYWNlYm9vayBmb3IgaU9TXG4gICAqIC0gRmlyZWZveFxuICAgKiAtIElFXG4gICAqIC0gSUUgTW9iaWxlXG4gICAqIC0gTW9iaWxlIFNhZmFyaVxuICAgKiAtIE1vdG9yb2xhIEludGVybmV0IEJyb3dzZXJcbiAgICogLSBOb2tpYVxuICAgKiAtIE9wZW53YXZlIE1vYmlsZSBCcm93c2VyXG4gICAqIC0gT3BlcmFcbiAgICogLSBPcGVyYSBNaW5pXG4gICAqIC0gT3BlcmEgTW9iaWxlXG4gICAqIC0gU2FmYXJpXG4gICAqIC0gVUlXZWJWaWV3XG4gICAqIC0gVW5rbm93blxuICAgKiAtIHdlYk9TXG4gICAqIC0gZXRjLi4uXG4gICAqXG4gICAqIEFuIGF1dGhvcml0YXRpdmUgbGlzdCBjYW4gYmUgZm91bmQgaW4gdGhlIFBIUCBgQnJvd3NlckRldGVjdG9yYCBjbGFzcyBhbmRcbiAgICogcmVsYXRlZCBjbGFzc2VzIGluIHRoZSBzYW1lIGZpbGUgKHNlZSBjYWxscyB0byBgbmV3IFVzZXJBZ2VudEJyb3dzZXJgIGhlcmU6XG4gICAqIGh0dHBzOi8vZmJ1cmwuY29tLzUwNzI4MTA0KS5cbiAgICpcbiAgICogQG5vdGUgRnVuY3Rpb24gcmVzdWx0cyBhcmUgbWVtb2l6ZWRcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHF1ZXJ5IFF1ZXJ5IG9mIHRoZSBmb3JtIFwiTmFtZSBbcmFuZ2UgZXhwcmVzc2lvbl1cIlxuICAgKiBAcmV0dXJuIHtib29sZWFufVxuICAgKi9cbiAgaXNCcm93c2VyOiBmdW5jdGlvbiBpc0Jyb3dzZXIocXVlcnkpIHtcbiAgICByZXR1cm4gY29tcGFyZShVc2VyQWdlbnREYXRhLmJyb3dzZXJOYW1lLCBVc2VyQWdlbnREYXRhLmJyb3dzZXJGdWxsVmVyc2lvbiwgcXVlcnkpO1xuICB9LFxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiB0aGUgVXNlciBBZ2VudCBicm93c2VyIHVzZXMgYSAzMiBvciA2NCBiaXQgYXJjaGl0ZWN0dXJlLlxuICAgKlxuICAgKiBAbm90ZSBGdW5jdGlvbiByZXN1bHRzIGFyZSBtZW1vaXplZFxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gcXVlcnkgUXVlcnkgb2YgdGhlIGZvcm0gXCIzMlwiIG9yIFwiNjRcIi5cbiAgICogQHJldHVybiB7Ym9vbGVhbn1cbiAgICovXG4gIGlzQnJvd3NlckFyY2hpdGVjdHVyZTogZnVuY3Rpb24gaXNCcm93c2VyQXJjaGl0ZWN0dXJlKHF1ZXJ5KSB7XG4gICAgcmV0dXJuIGNvbXBhcmUoVXNlckFnZW50RGF0YS5icm93c2VyQXJjaGl0ZWN0dXJlLCBudWxsLCBxdWVyeSk7XG4gIH0sXG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIHRoZSBVc2VyIEFnZW50IGRldmljZSBtYXRjaGVzIGBxdWVyeWAuXG4gICAqXG4gICAqIGBxdWVyeWAgc2hvdWxkIGJlIGEgc3RyaW5nIGxpa2UgXCJpUGhvbmVcIiBvciBcImlQYWRcIi5cbiAgICpcbiAgICogVmFsaWQgZGV2aWNlIG5hbWVzIGluY2x1ZGU6XG4gICAqXG4gICAqIC0gS2luZGxlXG4gICAqIC0gS2luZGxlIEZpcmVcbiAgICogLSBVbmtub3duXG4gICAqIC0gaVBhZFxuICAgKiAtIGlQaG9uZVxuICAgKiAtIGlQb2RcbiAgICogLSBldGMuLi5cbiAgICpcbiAgICogQW4gYXV0aG9yaXRhdGl2ZSBsaXN0IGNhbiBiZSBmb3VuZCBpbiB0aGUgUEhQIGBEZXZpY2VEZXRlY3RvcmAgY2xhc3MgYW5kXG4gICAqIHJlbGF0ZWQgY2xhc3NlcyBpbiB0aGUgc2FtZSBmaWxlIChzZWUgY2FsbHMgdG8gYG5ldyBVc2VyQWdlbnREZXZpY2VgIGhlcmU6XG4gICAqIGh0dHBzOi8vZmJ1cmwuY29tLzUwNzI4MzMyKS5cbiAgICpcbiAgICogQG5vdGUgRnVuY3Rpb24gcmVzdWx0cyBhcmUgbWVtb2l6ZWRcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHF1ZXJ5IFF1ZXJ5IG9mIHRoZSBmb3JtIFwiTmFtZVwiXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59XG4gICAqL1xuICBpc0RldmljZTogZnVuY3Rpb24gaXNEZXZpY2UocXVlcnkpIHtcbiAgICByZXR1cm4gY29tcGFyZShVc2VyQWdlbnREYXRhLmRldmljZU5hbWUsIG51bGwsIHF1ZXJ5KTtcbiAgfSxcblxuICAvKipcbiAgICogQ2hlY2sgaWYgdGhlIFVzZXIgQWdlbnQgcmVuZGVyaW5nIGVuZ2luZSBtYXRjaGVzIGBxdWVyeWAuXG4gICAqXG4gICAqIGBxdWVyeWAgc2hvdWxkIGJlIGEgc3RyaW5nIGxpa2UgXCJXZWJLaXRcIiBvciBcIldlYktpdCA+PSA1MzdcIi5cbiAgICpcbiAgICogVmFsaWQgZW5naW5lIG5hbWVzIGluY2x1ZGU6XG4gICAqXG4gICAqIC0gR2Vja29cbiAgICogLSBQcmVzdG9cbiAgICogLSBUcmlkZW50XG4gICAqIC0gV2ViS2l0XG4gICAqIC0gZXRjLi4uXG4gICAqXG4gICAqIEFuIGF1dGhvcml0YXRpdmUgbGlzdCBjYW4gYmUgZm91bmQgaW4gdGhlIFBIUCBgUmVuZGVyaW5nRW5naW5lRGV0ZWN0b3JgXG4gICAqIGNsYXNzIHJlbGF0ZWQgY2xhc3NlcyBpbiB0aGUgc2FtZSBmaWxlIChzZWUgY2FsbHMgdG8gYG5ld1xuICAgKiBVc2VyQWdlbnRSZW5kZXJpbmdFbmdpbmVgIGhlcmU6IGh0dHBzOi8vZmJ1cmwuY29tLzUwNzI4NjE3KS5cbiAgICpcbiAgICogQG5vdGUgRnVuY3Rpb24gcmVzdWx0cyBhcmUgbWVtb2l6ZWRcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHF1ZXJ5IFF1ZXJ5IG9mIHRoZSBmb3JtIFwiTmFtZSBbcmFuZ2UgZXhwcmVzc2lvbl1cIlxuICAgKiBAcmV0dXJuIHtib29sZWFufVxuICAgKi9cbiAgaXNFbmdpbmU6IGZ1bmN0aW9uIGlzRW5naW5lKHF1ZXJ5KSB7XG4gICAgcmV0dXJuIGNvbXBhcmUoVXNlckFnZW50RGF0YS5lbmdpbmVOYW1lLCBVc2VyQWdlbnREYXRhLmVuZ2luZVZlcnNpb24sIHF1ZXJ5KTtcbiAgfSxcblxuICAvKipcbiAgICogQ2hlY2sgaWYgdGhlIFVzZXIgQWdlbnQgcGxhdGZvcm0gbWF0Y2hlcyBgcXVlcnlgLlxuICAgKlxuICAgKiBgcXVlcnlgIHNob3VsZCBiZSBhIHN0cmluZyBsaWtlIFwiV2luZG93c1wiIG9yIFwiaU9TIDUgLSA2XCIuXG4gICAqXG4gICAqIFZhbGlkIHBsYXRmb3JtIG5hbWVzIGluY2x1ZGU6XG4gICAqXG4gICAqIC0gQW5kcm9pZFxuICAgKiAtIEJsYWNrQmVycnkgT1NcbiAgICogLSBKYXZhIE1FXG4gICAqIC0gTGludXhcbiAgICogLSBNYWMgT1MgWFxuICAgKiAtIE1hYyBPUyBYIENhbGVuZGFyXG4gICAqIC0gTWFjIE9TIFggSW50ZXJuZXQgQWNjb3VudFxuICAgKiAtIFN5bWJpYW5cbiAgICogLSBTeW1iaWFuT1NcbiAgICogLSBXaW5kb3dzXG4gICAqIC0gV2luZG93cyBNb2JpbGVcbiAgICogLSBXaW5kb3dzIFBob25lXG4gICAqIC0gaU9TXG4gICAqIC0gaU9TIEZhY2Vib29rIEludGVncmF0aW9uIEFjY291bnRcbiAgICogLSBpT1MgRmFjZWJvb2sgU29jaWFsIFNoYXJpbmcgVUlcbiAgICogLSB3ZWJPU1xuICAgKiAtIENocm9tZSBPU1xuICAgKiAtIGV0Yy4uLlxuICAgKlxuICAgKiBBbiBhdXRob3JpdGF0aXZlIGxpc3QgY2FuIGJlIGZvdW5kIGluIHRoZSBQSFAgYFBsYXRmb3JtRGV0ZWN0b3JgIGNsYXNzIGFuZFxuICAgKiByZWxhdGVkIGNsYXNzZXMgaW4gdGhlIHNhbWUgZmlsZSAoc2VlIGNhbGxzIHRvIGBuZXcgVXNlckFnZW50UGxhdGZvcm1gXG4gICAqIGhlcmU6IGh0dHBzOi8vZmJ1cmwuY29tLzUwNzI5MjI2KS5cbiAgICpcbiAgICogQG5vdGUgRnVuY3Rpb24gcmVzdWx0cyBhcmUgbWVtb2l6ZWRcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHF1ZXJ5IFF1ZXJ5IG9mIHRoZSBmb3JtIFwiTmFtZSBbcmFuZ2UgZXhwcmVzc2lvbl1cIlxuICAgKiBAcmV0dXJuIHtib29sZWFufVxuICAgKi9cbiAgaXNQbGF0Zm9ybTogZnVuY3Rpb24gaXNQbGF0Zm9ybShxdWVyeSkge1xuICAgIHJldHVybiBjb21wYXJlKFVzZXJBZ2VudERhdGEucGxhdGZvcm1OYW1lLCBVc2VyQWdlbnREYXRhLnBsYXRmb3JtRnVsbFZlcnNpb24sIHF1ZXJ5LCBub3JtYWxpemVQbGF0Zm9ybVZlcnNpb24pO1xuICB9LFxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiB0aGUgVXNlciBBZ2VudCBwbGF0Zm9ybSBpcyBhIDMyIG9yIDY0IGJpdCBhcmNoaXRlY3R1cmUuXG4gICAqXG4gICAqIEBub3RlIEZ1bmN0aW9uIHJlc3VsdHMgYXJlIG1lbW9pemVkXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBxdWVyeSBRdWVyeSBvZiB0aGUgZm9ybSBcIjMyXCIgb3IgXCI2NFwiLlxuICAgKiBAcmV0dXJuIHtib29sZWFufVxuICAgKi9cbiAgaXNQbGF0Zm9ybUFyY2hpdGVjdHVyZTogZnVuY3Rpb24gaXNQbGF0Zm9ybUFyY2hpdGVjdHVyZShxdWVyeSkge1xuICAgIHJldHVybiBjb21wYXJlKFVzZXJBZ2VudERhdGEucGxhdGZvcm1BcmNoaXRlY3R1cmUsIG51bGwsIHF1ZXJ5KTtcbiAgfVxufTtcbm1vZHVsZS5leHBvcnRzID0gbWFwT2JqZWN0KFVzZXJBZ2VudCwgbWVtb2l6ZVN0cmluZ09ubHkpOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/fbjs/lib/UserAgent.js\n"); /***/ }), @@ -1505,7 +1732,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source cod /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n/**\n * Usage note:\n * This module makes a best effort to export the same data we would internally.\n * At Facebook we use a server-generated module that does the parsing and\n * exports the data for the client to use. We can't rely on a server-side\n * implementation in open source so instead we make use of an open source\n * library to do the heavy lifting and then make some adjustments as necessary.\n * It's likely there will be some differences. Some we can smooth over.\n * Others are going to be harder.\n */\n\n\n\nvar UAParser = __webpack_require__(/*! ua-parser-js */ \"./node_modules/fbjs/node_modules/ua-parser-js/src/ua-parser.js\");\n\nvar UNKNOWN = 'Unknown';\n\nvar PLATFORM_MAP = {\n 'Mac OS': 'Mac OS X'\n};\n\n/**\n * Convert from UAParser platform name to what we expect.\n */\nfunction convertPlatformName(name) {\n return PLATFORM_MAP[name] || name;\n}\n\n/**\n * Get the version number in parts. This is very naive. We actually get major\n * version as a part of UAParser already, which is generally good enough, but\n * let's get the minor just in case.\n */\nfunction getBrowserVersion(version) {\n if (!version) {\n return {\n major: '',\n minor: ''\n };\n }\n var parts = version.split('.');\n return {\n major: parts[0],\n minor: parts[1]\n };\n}\n\n/**\n * Get the UA data fom UAParser and then convert it to the format we're\n * expecting for our APIS.\n */\nvar parser = new UAParser();\nvar results = parser.getResult();\n\n// Do some conversion first.\nvar browserVersionData = getBrowserVersion(results.browser.version);\nvar uaData = {\n browserArchitecture: results.cpu.architecture || UNKNOWN,\n browserFullVersion: results.browser.version || UNKNOWN,\n browserMinorVersion: browserVersionData.minor || UNKNOWN,\n browserName: results.browser.name || UNKNOWN,\n browserVersion: results.browser.major || UNKNOWN,\n deviceName: results.device.model || UNKNOWN,\n engineName: results.engine.name || UNKNOWN,\n engineVersion: results.engine.version || UNKNOWN,\n platformArchitecture: results.cpu.architecture || UNKNOWN,\n platformName: convertPlatformName(results.os.name) || UNKNOWN,\n platformVersion: results.os.version || UNKNOWN,\n platformFullVersion: results.os.version || UNKNOWN\n};\n\nmodule.exports = uaData;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvVXNlckFnZW50RGF0YS5qcz8yOGJmIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVhOztBQUViLGVBQWUsbUJBQU8sQ0FBQyxvRkFBYzs7QUFFckM7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2ZianMvbGliL1VzZXJBZ2VudERhdGEuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxMy1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqL1xuXG4vKipcbiAqIFVzYWdlIG5vdGU6XG4gKiBUaGlzIG1vZHVsZSBtYWtlcyBhIGJlc3QgZWZmb3J0IHRvIGV4cG9ydCB0aGUgc2FtZSBkYXRhIHdlIHdvdWxkIGludGVybmFsbHkuXG4gKiBBdCBGYWNlYm9vayB3ZSB1c2UgYSBzZXJ2ZXItZ2VuZXJhdGVkIG1vZHVsZSB0aGF0IGRvZXMgdGhlIHBhcnNpbmcgYW5kXG4gKiBleHBvcnRzIHRoZSBkYXRhIGZvciB0aGUgY2xpZW50IHRvIHVzZS4gV2UgY2FuJ3QgcmVseSBvbiBhIHNlcnZlci1zaWRlXG4gKiBpbXBsZW1lbnRhdGlvbiBpbiBvcGVuIHNvdXJjZSBzbyBpbnN0ZWFkIHdlIG1ha2UgdXNlIG9mIGFuIG9wZW4gc291cmNlXG4gKiBsaWJyYXJ5IHRvIGRvIHRoZSBoZWF2eSBsaWZ0aW5nIGFuZCB0aGVuIG1ha2Ugc29tZSBhZGp1c3RtZW50cyBhcyBuZWNlc3NhcnkuXG4gKiBJdCdzIGxpa2VseSB0aGVyZSB3aWxsIGJlIHNvbWUgZGlmZmVyZW5jZXMuIFNvbWUgd2UgY2FuIHNtb290aCBvdmVyLlxuICogT3RoZXJzIGFyZSBnb2luZyB0byBiZSBoYXJkZXIuXG4gKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG52YXIgVUFQYXJzZXIgPSByZXF1aXJlKCd1YS1wYXJzZXItanMnKTtcblxudmFyIFVOS05PV04gPSAnVW5rbm93bic7XG5cbnZhciBQTEFURk9STV9NQVAgPSB7XG4gICdNYWMgT1MnOiAnTWFjIE9TIFgnXG59O1xuXG4vKipcbiAqIENvbnZlcnQgZnJvbSBVQVBhcnNlciBwbGF0Zm9ybSBuYW1lIHRvIHdoYXQgd2UgZXhwZWN0LlxuICovXG5mdW5jdGlvbiBjb252ZXJ0UGxhdGZvcm1OYW1lKG5hbWUpIHtcbiAgcmV0dXJuIFBMQVRGT1JNX01BUFtuYW1lXSB8fCBuYW1lO1xufVxuXG4vKipcbiAqIEdldCB0aGUgdmVyc2lvbiBudW1iZXIgaW4gcGFydHMuIFRoaXMgaXMgdmVyeSBuYWl2ZS4gV2UgYWN0dWFsbHkgZ2V0IG1ham9yXG4gKiB2ZXJzaW9uIGFzIGEgcGFydCBvZiBVQVBhcnNlciBhbHJlYWR5LCB3aGljaCBpcyBnZW5lcmFsbHkgZ29vZCBlbm91Z2gsIGJ1dFxuICogbGV0J3MgZ2V0IHRoZSBtaW5vciBqdXN0IGluIGNhc2UuXG4gKi9cbmZ1bmN0aW9uIGdldEJyb3dzZXJWZXJzaW9uKHZlcnNpb24pIHtcbiAgaWYgKCF2ZXJzaW9uKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG1ham9yOiAnJyxcbiAgICAgIG1pbm9yOiAnJ1xuICAgIH07XG4gIH1cbiAgdmFyIHBhcnRzID0gdmVyc2lvbi5zcGxpdCgnLicpO1xuICByZXR1cm4ge1xuICAgIG1ham9yOiBwYXJ0c1swXSxcbiAgICBtaW5vcjogcGFydHNbMV1cbiAgfTtcbn1cblxuLyoqXG4gKiBHZXQgdGhlIFVBIGRhdGEgZm9tIFVBUGFyc2VyIGFuZCB0aGVuIGNvbnZlcnQgaXQgdG8gdGhlIGZvcm1hdCB3ZSdyZVxuICogZXhwZWN0aW5nIGZvciBvdXIgQVBJUy5cbiAqL1xudmFyIHBhcnNlciA9IG5ldyBVQVBhcnNlcigpO1xudmFyIHJlc3VsdHMgPSBwYXJzZXIuZ2V0UmVzdWx0KCk7XG5cbi8vIERvIHNvbWUgY29udmVyc2lvbiBmaXJzdC5cbnZhciBicm93c2VyVmVyc2lvbkRhdGEgPSBnZXRCcm93c2VyVmVyc2lvbihyZXN1bHRzLmJyb3dzZXIudmVyc2lvbik7XG52YXIgdWFEYXRhID0ge1xuICBicm93c2VyQXJjaGl0ZWN0dXJlOiByZXN1bHRzLmNwdS5hcmNoaXRlY3R1cmUgfHwgVU5LTk9XTixcbiAgYnJvd3NlckZ1bGxWZXJzaW9uOiByZXN1bHRzLmJyb3dzZXIudmVyc2lvbiB8fCBVTktOT1dOLFxuICBicm93c2VyTWlub3JWZXJzaW9uOiBicm93c2VyVmVyc2lvbkRhdGEubWlub3IgfHwgVU5LTk9XTixcbiAgYnJvd3Nlck5hbWU6IHJlc3VsdHMuYnJvd3Nlci5uYW1lIHx8IFVOS05PV04sXG4gIGJyb3dzZXJWZXJzaW9uOiByZXN1bHRzLmJyb3dzZXIubWFqb3IgfHwgVU5LTk9XTixcbiAgZGV2aWNlTmFtZTogcmVzdWx0cy5kZXZpY2UubW9kZWwgfHwgVU5LTk9XTixcbiAgZW5naW5lTmFtZTogcmVzdWx0cy5lbmdpbmUubmFtZSB8fCBVTktOT1dOLFxuICBlbmdpbmVWZXJzaW9uOiByZXN1bHRzLmVuZ2luZS52ZXJzaW9uIHx8IFVOS05PV04sXG4gIHBsYXRmb3JtQXJjaGl0ZWN0dXJlOiByZXN1bHRzLmNwdS5hcmNoaXRlY3R1cmUgfHwgVU5LTk9XTixcbiAgcGxhdGZvcm1OYW1lOiBjb252ZXJ0UGxhdGZvcm1OYW1lKHJlc3VsdHMub3MubmFtZSkgfHwgVU5LTk9XTixcbiAgcGxhdGZvcm1WZXJzaW9uOiByZXN1bHRzLm9zLnZlcnNpb24gfHwgVU5LTk9XTixcbiAgcGxhdGZvcm1GdWxsVmVyc2lvbjogcmVzdWx0cy5vcy52ZXJzaW9uIHx8IFVOS05PV05cbn07XG5cbm1vZHVsZS5leHBvcnRzID0gdWFEYXRhOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/fbjs/lib/UserAgentData.js\n"); +eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n/**\n * Usage note:\n * This module makes a best effort to export the same data we would internally.\n * At Facebook we use a server-generated module that does the parsing and\n * exports the data for the client to use. We can't rely on a server-side\n * implementation in open source so instead we make use of an open source\n * library to do the heavy lifting and then make some adjustments as necessary.\n * It's likely there will be some differences. Some we can smooth over.\n * Others are going to be harder.\n */\n\n\nvar UAParser = __webpack_require__(/*! ua-parser-js */ \"./node_modules/fbjs/node_modules/ua-parser-js/src/ua-parser.js\");\n\nvar UNKNOWN = 'Unknown';\nvar PLATFORM_MAP = {\n 'Mac OS': 'Mac OS X'\n};\n/**\n * Convert from UAParser platform name to what we expect.\n */\n\nfunction convertPlatformName(name) {\n return PLATFORM_MAP[name] || name;\n}\n/**\n * Get the version number in parts. This is very naive. We actually get major\n * version as a part of UAParser already, which is generally good enough, but\n * let's get the minor just in case.\n */\n\n\nfunction getBrowserVersion(version) {\n if (!version) {\n return {\n major: '',\n minor: ''\n };\n }\n\n var parts = version.split('.');\n return {\n major: parts[0],\n minor: parts[1]\n };\n}\n/**\n * Get the UA data fom UAParser and then convert it to the format we're\n * expecting for our APIS.\n */\n\n\nvar parser = new UAParser();\nvar results = parser.getResult(); // Do some conversion first.\n\nvar browserVersionData = getBrowserVersion(results.browser.version);\nvar uaData = {\n browserArchitecture: results.cpu.architecture || UNKNOWN,\n browserFullVersion: results.browser.version || UNKNOWN,\n browserMinorVersion: browserVersionData.minor || UNKNOWN,\n browserName: results.browser.name || UNKNOWN,\n browserVersion: results.browser.major || UNKNOWN,\n deviceName: results.device.model || UNKNOWN,\n engineName: results.engine.name || UNKNOWN,\n engineVersion: results.engine.version || UNKNOWN,\n platformArchitecture: results.cpu.architecture || UNKNOWN,\n platformName: convertPlatformName(results.os.name) || UNKNOWN,\n platformVersion: results.os.version || UNKNOWN,\n platformFullVersion: results.os.version || UNKNOWN\n};\nmodule.exports = uaData;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvVXNlckFnZW50RGF0YS5qcz8yOGJmIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ2E7O0FBRWIsZUFBZSxtQkFBTyxDQUFDLG9GQUFjOztBQUVyQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQSxpQ0FBaUM7O0FBRWpDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2ZianMvbGliL1VzZXJBZ2VudERhdGEuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxMy1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqL1xuXG4vKipcbiAqIFVzYWdlIG5vdGU6XG4gKiBUaGlzIG1vZHVsZSBtYWtlcyBhIGJlc3QgZWZmb3J0IHRvIGV4cG9ydCB0aGUgc2FtZSBkYXRhIHdlIHdvdWxkIGludGVybmFsbHkuXG4gKiBBdCBGYWNlYm9vayB3ZSB1c2UgYSBzZXJ2ZXItZ2VuZXJhdGVkIG1vZHVsZSB0aGF0IGRvZXMgdGhlIHBhcnNpbmcgYW5kXG4gKiBleHBvcnRzIHRoZSBkYXRhIGZvciB0aGUgY2xpZW50IHRvIHVzZS4gV2UgY2FuJ3QgcmVseSBvbiBhIHNlcnZlci1zaWRlXG4gKiBpbXBsZW1lbnRhdGlvbiBpbiBvcGVuIHNvdXJjZSBzbyBpbnN0ZWFkIHdlIG1ha2UgdXNlIG9mIGFuIG9wZW4gc291cmNlXG4gKiBsaWJyYXJ5IHRvIGRvIHRoZSBoZWF2eSBsaWZ0aW5nIGFuZCB0aGVuIG1ha2Ugc29tZSBhZGp1c3RtZW50cyBhcyBuZWNlc3NhcnkuXG4gKiBJdCdzIGxpa2VseSB0aGVyZSB3aWxsIGJlIHNvbWUgZGlmZmVyZW5jZXMuIFNvbWUgd2UgY2FuIHNtb290aCBvdmVyLlxuICogT3RoZXJzIGFyZSBnb2luZyB0byBiZSBoYXJkZXIuXG4gKi9cbid1c2Ugc3RyaWN0JztcblxudmFyIFVBUGFyc2VyID0gcmVxdWlyZShcInVhLXBhcnNlci1qc1wiKTtcblxudmFyIFVOS05PV04gPSAnVW5rbm93bic7XG52YXIgUExBVEZPUk1fTUFQID0ge1xuICAnTWFjIE9TJzogJ01hYyBPUyBYJ1xufTtcbi8qKlxuICogQ29udmVydCBmcm9tIFVBUGFyc2VyIHBsYXRmb3JtIG5hbWUgdG8gd2hhdCB3ZSBleHBlY3QuXG4gKi9cblxuZnVuY3Rpb24gY29udmVydFBsYXRmb3JtTmFtZShuYW1lKSB7XG4gIHJldHVybiBQTEFURk9STV9NQVBbbmFtZV0gfHwgbmFtZTtcbn1cbi8qKlxuICogR2V0IHRoZSB2ZXJzaW9uIG51bWJlciBpbiBwYXJ0cy4gVGhpcyBpcyB2ZXJ5IG5haXZlLiBXZSBhY3R1YWxseSBnZXQgbWFqb3JcbiAqIHZlcnNpb24gYXMgYSBwYXJ0IG9mIFVBUGFyc2VyIGFscmVhZHksIHdoaWNoIGlzIGdlbmVyYWxseSBnb29kIGVub3VnaCwgYnV0XG4gKiBsZXQncyBnZXQgdGhlIG1pbm9yIGp1c3QgaW4gY2FzZS5cbiAqL1xuXG5cbmZ1bmN0aW9uIGdldEJyb3dzZXJWZXJzaW9uKHZlcnNpb24pIHtcbiAgaWYgKCF2ZXJzaW9uKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG1ham9yOiAnJyxcbiAgICAgIG1pbm9yOiAnJ1xuICAgIH07XG4gIH1cblxuICB2YXIgcGFydHMgPSB2ZXJzaW9uLnNwbGl0KCcuJyk7XG4gIHJldHVybiB7XG4gICAgbWFqb3I6IHBhcnRzWzBdLFxuICAgIG1pbm9yOiBwYXJ0c1sxXVxuICB9O1xufVxuLyoqXG4gKiBHZXQgdGhlIFVBIGRhdGEgZm9tIFVBUGFyc2VyIGFuZCB0aGVuIGNvbnZlcnQgaXQgdG8gdGhlIGZvcm1hdCB3ZSdyZVxuICogZXhwZWN0aW5nIGZvciBvdXIgQVBJUy5cbiAqL1xuXG5cbnZhciBwYXJzZXIgPSBuZXcgVUFQYXJzZXIoKTtcbnZhciByZXN1bHRzID0gcGFyc2VyLmdldFJlc3VsdCgpOyAvLyBEbyBzb21lIGNvbnZlcnNpb24gZmlyc3QuXG5cbnZhciBicm93c2VyVmVyc2lvbkRhdGEgPSBnZXRCcm93c2VyVmVyc2lvbihyZXN1bHRzLmJyb3dzZXIudmVyc2lvbik7XG52YXIgdWFEYXRhID0ge1xuICBicm93c2VyQXJjaGl0ZWN0dXJlOiByZXN1bHRzLmNwdS5hcmNoaXRlY3R1cmUgfHwgVU5LTk9XTixcbiAgYnJvd3NlckZ1bGxWZXJzaW9uOiByZXN1bHRzLmJyb3dzZXIudmVyc2lvbiB8fCBVTktOT1dOLFxuICBicm93c2VyTWlub3JWZXJzaW9uOiBicm93c2VyVmVyc2lvbkRhdGEubWlub3IgfHwgVU5LTk9XTixcbiAgYnJvd3Nlck5hbWU6IHJlc3VsdHMuYnJvd3Nlci5uYW1lIHx8IFVOS05PV04sXG4gIGJyb3dzZXJWZXJzaW9uOiByZXN1bHRzLmJyb3dzZXIubWFqb3IgfHwgVU5LTk9XTixcbiAgZGV2aWNlTmFtZTogcmVzdWx0cy5kZXZpY2UubW9kZWwgfHwgVU5LTk9XTixcbiAgZW5naW5lTmFtZTogcmVzdWx0cy5lbmdpbmUubmFtZSB8fCBVTktOT1dOLFxuICBlbmdpbmVWZXJzaW9uOiByZXN1bHRzLmVuZ2luZS52ZXJzaW9uIHx8IFVOS05PV04sXG4gIHBsYXRmb3JtQXJjaGl0ZWN0dXJlOiByZXN1bHRzLmNwdS5hcmNoaXRlY3R1cmUgfHwgVU5LTk9XTixcbiAgcGxhdGZvcm1OYW1lOiBjb252ZXJ0UGxhdGZvcm1OYW1lKHJlc3VsdHMub3MubmFtZSkgfHwgVU5LTk9XTixcbiAgcGxhdGZvcm1WZXJzaW9uOiByZXN1bHRzLm9zLnZlcnNpb24gfHwgVU5LTk9XTixcbiAgcGxhdGZvcm1GdWxsVmVyc2lvbjogcmVzdWx0cy5vcy52ZXJzaW9uIHx8IFVOS05PV05cbn07XG5tb2R1bGUuZXhwb3J0cyA9IHVhRGF0YTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/fbjs/lib/UserAgentData.js\n"); /***/ }), @@ -1517,7 +1744,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source cod /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n\n\nvar invariant = __webpack_require__(/*! ./invariant */ \"./node_modules/fbjs/lib/invariant.js\");\n\nvar componentRegex = /\\./;\nvar orRegex = /\\|\\|/;\nvar rangeRegex = /\\s+\\-\\s+/;\nvar modifierRegex = /^(<=|<|=|>=|~>|~|>|)?\\s*(.+)/;\nvar numericRegex = /^(\\d*)(.*)/;\n\n/**\n * Splits input `range` on \"||\" and returns true if any subrange matches\n * `version`.\n *\n * @param {string} range\n * @param {string} version\n * @returns {boolean}\n */\nfunction checkOrExpression(range, version) {\n var expressions = range.split(orRegex);\n\n if (expressions.length > 1) {\n return expressions.some(function (range) {\n return VersionRange.contains(range, version);\n });\n } else {\n range = expressions[0].trim();\n return checkRangeExpression(range, version);\n }\n}\n\n/**\n * Splits input `range` on \" - \" (the surrounding whitespace is required) and\n * returns true if version falls between the two operands.\n *\n * @param {string} range\n * @param {string} version\n * @returns {boolean}\n */\nfunction checkRangeExpression(range, version) {\n var expressions = range.split(rangeRegex);\n\n !(expressions.length > 0 && expressions.length <= 2) ? true ? invariant(false, 'the \"-\" operator expects exactly 2 operands') : undefined : void 0;\n\n if (expressions.length === 1) {\n return checkSimpleExpression(expressions[0], version);\n } else {\n var startVersion = expressions[0],\n endVersion = expressions[1];\n\n !(isSimpleVersion(startVersion) && isSimpleVersion(endVersion)) ? true ? invariant(false, 'operands to the \"-\" operator must be simple (no modifiers)') : undefined : void 0;\n\n return checkSimpleExpression('>=' + startVersion, version) && checkSimpleExpression('<=' + endVersion, version);\n }\n}\n\n/**\n * Checks if `range` matches `version`. `range` should be a \"simple\" range (ie.\n * not a compound range using the \" - \" or \"||\" operators).\n *\n * @param {string} range\n * @param {string} version\n * @returns {boolean}\n */\nfunction checkSimpleExpression(range, version) {\n range = range.trim();\n if (range === '') {\n return true;\n }\n\n var versionComponents = version.split(componentRegex);\n\n var _getModifierAndCompon = getModifierAndComponents(range),\n modifier = _getModifierAndCompon.modifier,\n rangeComponents = _getModifierAndCompon.rangeComponents;\n\n switch (modifier) {\n case '<':\n return checkLessThan(versionComponents, rangeComponents);\n case '<=':\n return checkLessThanOrEqual(versionComponents, rangeComponents);\n case '>=':\n return checkGreaterThanOrEqual(versionComponents, rangeComponents);\n case '>':\n return checkGreaterThan(versionComponents, rangeComponents);\n case '~':\n case '~>':\n return checkApproximateVersion(versionComponents, rangeComponents);\n default:\n return checkEqual(versionComponents, rangeComponents);\n }\n}\n\n/**\n * Checks whether `a` is less than `b`.\n *\n * @param {array} a\n * @param {array} b\n * @returns {boolean}\n */\nfunction checkLessThan(a, b) {\n return compareComponents(a, b) === -1;\n}\n\n/**\n * Checks whether `a` is less than or equal to `b`.\n *\n * @param {array} a\n * @param {array} b\n * @returns {boolean}\n */\nfunction checkLessThanOrEqual(a, b) {\n var result = compareComponents(a, b);\n return result === -1 || result === 0;\n}\n\n/**\n * Checks whether `a` is equal to `b`.\n *\n * @param {array} a\n * @param {array} b\n * @returns {boolean}\n */\nfunction checkEqual(a, b) {\n return compareComponents(a, b) === 0;\n}\n\n/**\n * Checks whether `a` is greater than or equal to `b`.\n *\n * @param {array} a\n * @param {array} b\n * @returns {boolean}\n */\nfunction checkGreaterThanOrEqual(a, b) {\n var result = compareComponents(a, b);\n return result === 1 || result === 0;\n}\n\n/**\n * Checks whether `a` is greater than `b`.\n *\n * @param {array} a\n * @param {array} b\n * @returns {boolean}\n */\nfunction checkGreaterThan(a, b) {\n return compareComponents(a, b) === 1;\n}\n\n/**\n * Checks whether `a` is \"reasonably close\" to `b` (as described in\n * https://www.npmjs.org/doc/misc/semver.html). For example, if `b` is \"1.3.1\"\n * then \"reasonably close\" is defined as \">= 1.3.1 and < 1.4\".\n *\n * @param {array} a\n * @param {array} b\n * @returns {boolean}\n */\nfunction checkApproximateVersion(a, b) {\n var lowerBound = b.slice();\n var upperBound = b.slice();\n\n if (upperBound.length > 1) {\n upperBound.pop();\n }\n var lastIndex = upperBound.length - 1;\n var numeric = parseInt(upperBound[lastIndex], 10);\n if (isNumber(numeric)) {\n upperBound[lastIndex] = numeric + 1 + '';\n }\n\n return checkGreaterThanOrEqual(a, lowerBound) && checkLessThan(a, upperBound);\n}\n\n/**\n * Extracts the optional modifier (<, <=, =, >=, >, ~, ~>) and version\n * components from `range`.\n *\n * For example, given `range` \">= 1.2.3\" returns an object with a `modifier` of\n * `\">=\"` and `components` of `[1, 2, 3]`.\n *\n * @param {string} range\n * @returns {object}\n */\nfunction getModifierAndComponents(range) {\n var rangeComponents = range.split(componentRegex);\n var matches = rangeComponents[0].match(modifierRegex);\n !matches ? true ? invariant(false, 'expected regex to match but it did not') : undefined : void 0;\n\n return {\n modifier: matches[1],\n rangeComponents: [matches[2]].concat(rangeComponents.slice(1))\n };\n}\n\n/**\n * Determines if `number` is a number.\n *\n * @param {mixed} number\n * @returns {boolean}\n */\nfunction isNumber(number) {\n return !isNaN(number) && isFinite(number);\n}\n\n/**\n * Tests whether `range` is a \"simple\" version number without any modifiers\n * (\">\", \"~\" etc).\n *\n * @param {string} range\n * @returns {boolean}\n */\nfunction isSimpleVersion(range) {\n return !getModifierAndComponents(range).modifier;\n}\n\n/**\n * Zero-pads array `array` until it is at least `length` long.\n *\n * @param {array} array\n * @param {number} length\n */\nfunction zeroPad(array, length) {\n for (var i = array.length; i < length; i++) {\n array[i] = '0';\n }\n}\n\n/**\n * Normalizes `a` and `b` in preparation for comparison by doing the following:\n *\n * - zero-pads `a` and `b`\n * - marks any \"x\", \"X\" or \"*\" component in `b` as equivalent by zero-ing it out\n * in both `a` and `b`\n * - marks any final \"*\" component in `b` as a greedy wildcard by zero-ing it\n * and all of its successors in `a`\n *\n * @param {array} a\n * @param {array} b\n * @returns {array>}\n */\nfunction normalizeVersions(a, b) {\n a = a.slice();\n b = b.slice();\n\n zeroPad(a, b.length);\n\n // mark \"x\" and \"*\" components as equal\n for (var i = 0; i < b.length; i++) {\n var matches = b[i].match(/^[x*]$/i);\n if (matches) {\n b[i] = a[i] = '0';\n\n // final \"*\" greedily zeros all remaining components\n if (matches[0] === '*' && i === b.length - 1) {\n for (var j = i; j < a.length; j++) {\n a[j] = '0';\n }\n }\n }\n }\n\n zeroPad(b, a.length);\n\n return [a, b];\n}\n\n/**\n * Returns the numerical -- not the lexicographical -- ordering of `a` and `b`.\n *\n * For example, `10-alpha` is greater than `2-beta`.\n *\n * @param {string} a\n * @param {string} b\n * @returns {number} -1, 0 or 1 to indicate whether `a` is less than, equal to,\n * or greater than `b`, respectively\n */\nfunction compareNumeric(a, b) {\n var aPrefix = a.match(numericRegex)[1];\n var bPrefix = b.match(numericRegex)[1];\n var aNumeric = parseInt(aPrefix, 10);\n var bNumeric = parseInt(bPrefix, 10);\n\n if (isNumber(aNumeric) && isNumber(bNumeric) && aNumeric !== bNumeric) {\n return compare(aNumeric, bNumeric);\n } else {\n return compare(a, b);\n }\n}\n\n/**\n * Returns the ordering of `a` and `b`.\n *\n * @param {string|number} a\n * @param {string|number} b\n * @returns {number} -1, 0 or 1 to indicate whether `a` is less than, equal to,\n * or greater than `b`, respectively\n */\nfunction compare(a, b) {\n !(typeof a === typeof b) ? true ? invariant(false, '\"a\" and \"b\" must be of the same type') : undefined : void 0;\n\n if (a > b) {\n return 1;\n } else if (a < b) {\n return -1;\n } else {\n return 0;\n }\n}\n\n/**\n * Compares arrays of version components.\n *\n * @param {array} a\n * @param {array} b\n * @returns {number} -1, 0 or 1 to indicate whether `a` is less than, equal to,\n * or greater than `b`, respectively\n */\nfunction compareComponents(a, b) {\n var _normalizeVersions = normalizeVersions(a, b),\n aNormalized = _normalizeVersions[0],\n bNormalized = _normalizeVersions[1];\n\n for (var i = 0; i < bNormalized.length; i++) {\n var result = compareNumeric(aNormalized[i], bNormalized[i]);\n if (result) {\n return result;\n }\n }\n\n return 0;\n}\n\nvar VersionRange = {\n /**\n * Checks whether `version` satisfies the `range` specification.\n *\n * We support a subset of the expressions defined in\n * https://www.npmjs.org/doc/misc/semver.html:\n *\n * version Must match version exactly\n * =version Same as just version\n * >version Must be greater than version\n * >=version Must be greater than or equal to version\n * = 1.2.3 and < 1.3\"\n * ~>version Equivalent to ~version\n * 1.2.x Must match \"1.2.x\", where \"x\" is a wildcard that matches\n * anything\n * 1.2.* Similar to \"1.2.x\", but \"*\" in the trailing position is a\n * \"greedy\" wildcard, so will match any number of additional\n * components:\n * \"1.2.*\" will match \"1.2.1\", \"1.2.1.1\", \"1.2.1.1.1\" etc\n * * Any version\n * \"\" (Empty string) Same as *\n * v1 - v2 Equivalent to \">= v1 and <= v2\"\n * r1 || r2 Passes if either r1 or r2 are satisfied\n *\n * @param {string} range\n * @param {string} version\n * @returns {boolean}\n */\n contains: function contains(range, version) {\n return checkOrExpression(range.trim(), version.trim());\n }\n};\n\nmodule.exports = VersionRange;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvVmVyc2lvblJhbmdlLmpzPzQxZjQiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWE7O0FBRWIsZ0JBQWdCLG1CQUFPLENBQUMseURBQWE7O0FBRXJDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLE9BQU87QUFDbEIsV0FBVyxPQUFPO0FBQ2xCLGFBQWE7QUFDYjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsT0FBTztBQUNsQixXQUFXLE9BQU87QUFDbEIsYUFBYTtBQUNiO0FBQ0E7QUFDQTs7QUFFQSx5REFBeUQsS0FBcUMscUVBQXFFLFNBQWdCOztBQUVuTDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUEsc0VBQXNFLEtBQXFDLG9GQUFvRixTQUFnQjs7QUFFL007QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxPQUFPO0FBQ2xCLFdBQVcsT0FBTztBQUNsQixhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLGNBQWM7QUFDekIsV0FBVyxjQUFjO0FBQ3pCLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLGNBQWM7QUFDekIsV0FBVyxjQUFjO0FBQ3pCLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsY0FBYztBQUN6QixXQUFXLGNBQWM7QUFDekIsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsY0FBYztBQUN6QixXQUFXLGNBQWM7QUFDekIsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsV0FBVyxjQUFjO0FBQ3pCLFdBQVcsY0FBYztBQUN6QixhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsY0FBYztBQUN6QixXQUFXLGNBQWM7QUFDekIsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsT0FBTztBQUNsQixhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLEtBQXFDLGdFQUFnRSxTQUFnQjs7QUFFbEk7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLE1BQU07QUFDakIsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxPQUFPO0FBQ2xCLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLE1BQU07QUFDakIsV0FBVyxPQUFPO0FBQ2xCO0FBQ0E7QUFDQSw0QkFBNEIsWUFBWTtBQUN4QztBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxjQUFjO0FBQ3pCLFdBQVcsY0FBYztBQUN6QixhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQSxpQkFBaUIsY0FBYztBQUMvQjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLHVCQUF1QixjQUFjO0FBQ3JDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxPQUFPO0FBQ2xCLFdBQVcsT0FBTztBQUNsQixhQUFhLE9BQU87QUFDcEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsV0FBVyxjQUFjO0FBQ3pCLFdBQVcsY0FBYztBQUN6QixhQUFhLE9BQU87QUFDcEI7QUFDQTtBQUNBO0FBQ0EsNkJBQTZCLEtBQXFDLDhEQUE4RCxTQUFnQjs7QUFFaEo7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsV0FBVyxjQUFjO0FBQ3pCLFdBQVcsY0FBYztBQUN6QixhQUFhLE9BQU87QUFDcEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLGlCQUFpQix3QkFBd0I7QUFDekM7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSxPQUFPO0FBQ3BCLGFBQWEsT0FBTztBQUNwQixlQUFlO0FBQ2Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9mYmpzL2xpYi9WZXJzaW9uUmFuZ2UuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxMy1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbnZhciBpbnZhcmlhbnQgPSByZXF1aXJlKCcuL2ludmFyaWFudCcpO1xuXG52YXIgY29tcG9uZW50UmVnZXggPSAvXFwuLztcbnZhciBvclJlZ2V4ID0gL1xcfFxcfC87XG52YXIgcmFuZ2VSZWdleCA9IC9cXHMrXFwtXFxzKy87XG52YXIgbW9kaWZpZXJSZWdleCA9IC9eKDw9fDx8PXw+PXx+Pnx+fD58KT9cXHMqKC4rKS87XG52YXIgbnVtZXJpY1JlZ2V4ID0gL14oXFxkKikoLiopLztcblxuLyoqXG4gKiBTcGxpdHMgaW5wdXQgYHJhbmdlYCBvbiBcInx8XCIgYW5kIHJldHVybnMgdHJ1ZSBpZiBhbnkgc3VicmFuZ2UgbWF0Y2hlc1xuICogYHZlcnNpb25gLlxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSByYW5nZVxuICogQHBhcmFtIHtzdHJpbmd9IHZlcnNpb25cbiAqIEByZXR1cm5zIHtib29sZWFufVxuICovXG5mdW5jdGlvbiBjaGVja09yRXhwcmVzc2lvbihyYW5nZSwgdmVyc2lvbikge1xuICB2YXIgZXhwcmVzc2lvbnMgPSByYW5nZS5zcGxpdChvclJlZ2V4KTtcblxuICBpZiAoZXhwcmVzc2lvbnMubGVuZ3RoID4gMSkge1xuICAgIHJldHVybiBleHByZXNzaW9ucy5zb21lKGZ1bmN0aW9uIChyYW5nZSkge1xuICAgICAgcmV0dXJuIFZlcnNpb25SYW5nZS5jb250YWlucyhyYW5nZSwgdmVyc2lvbik7XG4gICAgfSk7XG4gIH0gZWxzZSB7XG4gICAgcmFuZ2UgPSBleHByZXNzaW9uc1swXS50cmltKCk7XG4gICAgcmV0dXJuIGNoZWNrUmFuZ2VFeHByZXNzaW9uKHJhbmdlLCB2ZXJzaW9uKTtcbiAgfVxufVxuXG4vKipcbiAqIFNwbGl0cyBpbnB1dCBgcmFuZ2VgIG9uIFwiIC0gXCIgKHRoZSBzdXJyb3VuZGluZyB3aGl0ZXNwYWNlIGlzIHJlcXVpcmVkKSBhbmRcbiAqIHJldHVybnMgdHJ1ZSBpZiB2ZXJzaW9uIGZhbGxzIGJldHdlZW4gdGhlIHR3byBvcGVyYW5kcy5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gcmFuZ2VcbiAqIEBwYXJhbSB7c3RyaW5nfSB2ZXJzaW9uXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn1cbiAqL1xuZnVuY3Rpb24gY2hlY2tSYW5nZUV4cHJlc3Npb24ocmFuZ2UsIHZlcnNpb24pIHtcbiAgdmFyIGV4cHJlc3Npb25zID0gcmFuZ2Uuc3BsaXQocmFuZ2VSZWdleCk7XG5cbiAgIShleHByZXNzaW9ucy5sZW5ndGggPiAwICYmIGV4cHJlc3Npb25zLmxlbmd0aCA8PSAyKSA/IHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgPyBpbnZhcmlhbnQoZmFsc2UsICd0aGUgXCItXCIgb3BlcmF0b3IgZXhwZWN0cyBleGFjdGx5IDIgb3BlcmFuZHMnKSA6IGludmFyaWFudChmYWxzZSkgOiB2b2lkIDA7XG5cbiAgaWYgKGV4cHJlc3Npb25zLmxlbmd0aCA9PT0gMSkge1xuICAgIHJldHVybiBjaGVja1NpbXBsZUV4cHJlc3Npb24oZXhwcmVzc2lvbnNbMF0sIHZlcnNpb24pO1xuICB9IGVsc2Uge1xuICAgIHZhciBzdGFydFZlcnNpb24gPSBleHByZXNzaW9uc1swXSxcbiAgICAgICAgZW5kVmVyc2lvbiA9IGV4cHJlc3Npb25zWzFdO1xuXG4gICAgIShpc1NpbXBsZVZlcnNpb24oc3RhcnRWZXJzaW9uKSAmJiBpc1NpbXBsZVZlcnNpb24oZW5kVmVyc2lvbikpID8gcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyA/IGludmFyaWFudChmYWxzZSwgJ29wZXJhbmRzIHRvIHRoZSBcIi1cIiBvcGVyYXRvciBtdXN0IGJlIHNpbXBsZSAobm8gbW9kaWZpZXJzKScpIDogaW52YXJpYW50KGZhbHNlKSA6IHZvaWQgMDtcblxuICAgIHJldHVybiBjaGVja1NpbXBsZUV4cHJlc3Npb24oJz49JyArIHN0YXJ0VmVyc2lvbiwgdmVyc2lvbikgJiYgY2hlY2tTaW1wbGVFeHByZXNzaW9uKCc8PScgKyBlbmRWZXJzaW9uLCB2ZXJzaW9uKTtcbiAgfVxufVxuXG4vKipcbiAqIENoZWNrcyBpZiBgcmFuZ2VgIG1hdGNoZXMgYHZlcnNpb25gLiBgcmFuZ2VgIHNob3VsZCBiZSBhIFwic2ltcGxlXCIgcmFuZ2UgKGllLlxuICogbm90IGEgY29tcG91bmQgcmFuZ2UgdXNpbmcgdGhlIFwiIC0gXCIgb3IgXCJ8fFwiIG9wZXJhdG9ycykuXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHJhbmdlXG4gKiBAcGFyYW0ge3N0cmluZ30gdmVyc2lvblxuICogQHJldHVybnMge2Jvb2xlYW59XG4gKi9cbmZ1bmN0aW9uIGNoZWNrU2ltcGxlRXhwcmVzc2lvbihyYW5nZSwgdmVyc2lvbikge1xuICByYW5nZSA9IHJhbmdlLnRyaW0oKTtcbiAgaWYgKHJhbmdlID09PSAnJykge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgdmFyIHZlcnNpb25Db21wb25lbnRzID0gdmVyc2lvbi5zcGxpdChjb21wb25lbnRSZWdleCk7XG5cbiAgdmFyIF9nZXRNb2RpZmllckFuZENvbXBvbiA9IGdldE1vZGlmaWVyQW5kQ29tcG9uZW50cyhyYW5nZSksXG4gICAgICBtb2RpZmllciA9IF9nZXRNb2RpZmllckFuZENvbXBvbi5tb2RpZmllcixcbiAgICAgIHJhbmdlQ29tcG9uZW50cyA9IF9nZXRNb2RpZmllckFuZENvbXBvbi5yYW5nZUNvbXBvbmVudHM7XG5cbiAgc3dpdGNoIChtb2RpZmllcikge1xuICAgIGNhc2UgJzwnOlxuICAgICAgcmV0dXJuIGNoZWNrTGVzc1RoYW4odmVyc2lvbkNvbXBvbmVudHMsIHJhbmdlQ29tcG9uZW50cyk7XG4gICAgY2FzZSAnPD0nOlxuICAgICAgcmV0dXJuIGNoZWNrTGVzc1RoYW5PckVxdWFsKHZlcnNpb25Db21wb25lbnRzLCByYW5nZUNvbXBvbmVudHMpO1xuICAgIGNhc2UgJz49JzpcbiAgICAgIHJldHVybiBjaGVja0dyZWF0ZXJUaGFuT3JFcXVhbCh2ZXJzaW9uQ29tcG9uZW50cywgcmFuZ2VDb21wb25lbnRzKTtcbiAgICBjYXNlICc+JzpcbiAgICAgIHJldHVybiBjaGVja0dyZWF0ZXJUaGFuKHZlcnNpb25Db21wb25lbnRzLCByYW5nZUNvbXBvbmVudHMpO1xuICAgIGNhc2UgJ34nOlxuICAgIGNhc2UgJ34+JzpcbiAgICAgIHJldHVybiBjaGVja0FwcHJveGltYXRlVmVyc2lvbih2ZXJzaW9uQ29tcG9uZW50cywgcmFuZ2VDb21wb25lbnRzKTtcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIGNoZWNrRXF1YWwodmVyc2lvbkNvbXBvbmVudHMsIHJhbmdlQ29tcG9uZW50cyk7XG4gIH1cbn1cblxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciBgYWAgaXMgbGVzcyB0aGFuIGBiYC5cbiAqXG4gKiBAcGFyYW0ge2FycmF5PHN0cmluZz59IGFcbiAqIEBwYXJhbSB7YXJyYXk8c3RyaW5nPn0gYlxuICogQHJldHVybnMge2Jvb2xlYW59XG4gKi9cbmZ1bmN0aW9uIGNoZWNrTGVzc1RoYW4oYSwgYikge1xuICByZXR1cm4gY29tcGFyZUNvbXBvbmVudHMoYSwgYikgPT09IC0xO1xufVxuXG4vKipcbiAqIENoZWNrcyB3aGV0aGVyIGBhYCBpcyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gYGJgLlxuICpcbiAqIEBwYXJhbSB7YXJyYXk8c3RyaW5nPn0gYVxuICogQHBhcmFtIHthcnJheTxzdHJpbmc+fSBiXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn1cbiAqL1xuZnVuY3Rpb24gY2hlY2tMZXNzVGhhbk9yRXF1YWwoYSwgYikge1xuICB2YXIgcmVzdWx0ID0gY29tcGFyZUNvbXBvbmVudHMoYSwgYik7XG4gIHJldHVybiByZXN1bHQgPT09IC0xIHx8IHJlc3VsdCA9PT0gMDtcbn1cblxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciBgYWAgaXMgZXF1YWwgdG8gYGJgLlxuICpcbiAqIEBwYXJhbSB7YXJyYXk8c3RyaW5nPn0gYVxuICogQHBhcmFtIHthcnJheTxzdHJpbmc+fSBiXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn1cbiAqL1xuZnVuY3Rpb24gY2hlY2tFcXVhbChhLCBiKSB7XG4gIHJldHVybiBjb21wYXJlQ29tcG9uZW50cyhhLCBiKSA9PT0gMDtcbn1cblxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciBgYWAgaXMgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIGBiYC5cbiAqXG4gKiBAcGFyYW0ge2FycmF5PHN0cmluZz59IGFcbiAqIEBwYXJhbSB7YXJyYXk8c3RyaW5nPn0gYlxuICogQHJldHVybnMge2Jvb2xlYW59XG4gKi9cbmZ1bmN0aW9uIGNoZWNrR3JlYXRlclRoYW5PckVxdWFsKGEsIGIpIHtcbiAgdmFyIHJlc3VsdCA9IGNvbXBhcmVDb21wb25lbnRzKGEsIGIpO1xuICByZXR1cm4gcmVzdWx0ID09PSAxIHx8IHJlc3VsdCA9PT0gMDtcbn1cblxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciBgYWAgaXMgZ3JlYXRlciB0aGFuIGBiYC5cbiAqXG4gKiBAcGFyYW0ge2FycmF5PHN0cmluZz59IGFcbiAqIEBwYXJhbSB7YXJyYXk8c3RyaW5nPn0gYlxuICogQHJldHVybnMge2Jvb2xlYW59XG4gKi9cbmZ1bmN0aW9uIGNoZWNrR3JlYXRlclRoYW4oYSwgYikge1xuICByZXR1cm4gY29tcGFyZUNvbXBvbmVudHMoYSwgYikgPT09IDE7XG59XG5cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgYGFgIGlzIFwicmVhc29uYWJseSBjbG9zZVwiIHRvIGBiYCAoYXMgZGVzY3JpYmVkIGluXG4gKiBodHRwczovL3d3dy5ucG1qcy5vcmcvZG9jL21pc2Mvc2VtdmVyLmh0bWwpLiBGb3IgZXhhbXBsZSwgaWYgYGJgIGlzIFwiMS4zLjFcIlxuICogdGhlbiBcInJlYXNvbmFibHkgY2xvc2VcIiBpcyBkZWZpbmVkIGFzIFwiPj0gMS4zLjEgYW5kIDwgMS40XCIuXG4gKlxuICogQHBhcmFtIHthcnJheTxzdHJpbmc+fSBhXG4gKiBAcGFyYW0ge2FycmF5PHN0cmluZz59IGJcbiAqIEByZXR1cm5zIHtib29sZWFufVxuICovXG5mdW5jdGlvbiBjaGVja0FwcHJveGltYXRlVmVyc2lvbihhLCBiKSB7XG4gIHZhciBsb3dlckJvdW5kID0gYi5zbGljZSgpO1xuICB2YXIgdXBwZXJCb3VuZCA9IGIuc2xpY2UoKTtcblxuICBpZiAodXBwZXJCb3VuZC5sZW5ndGggPiAxKSB7XG4gICAgdXBwZXJCb3VuZC5wb3AoKTtcbiAgfVxuICB2YXIgbGFzdEluZGV4ID0gdXBwZXJCb3VuZC5sZW5ndGggLSAxO1xuICB2YXIgbnVtZXJpYyA9IHBhcnNlSW50KHVwcGVyQm91bmRbbGFzdEluZGV4XSwgMTApO1xuICBpZiAoaXNOdW1iZXIobnVtZXJpYykpIHtcbiAgICB1cHBlckJvdW5kW2xhc3RJbmRleF0gPSBudW1lcmljICsgMSArICcnO1xuICB9XG5cbiAgcmV0dXJuIGNoZWNrR3JlYXRlclRoYW5PckVxdWFsKGEsIGxvd2VyQm91bmQpICYmIGNoZWNrTGVzc1RoYW4oYSwgdXBwZXJCb3VuZCk7XG59XG5cbi8qKlxuICogRXh0cmFjdHMgdGhlIG9wdGlvbmFsIG1vZGlmaWVyICg8LCA8PSwgPSwgPj0sID4sIH4sIH4+KSBhbmQgdmVyc2lvblxuICogY29tcG9uZW50cyBmcm9tIGByYW5nZWAuXG4gKlxuICogRm9yIGV4YW1wbGUsIGdpdmVuIGByYW5nZWAgXCI+PSAxLjIuM1wiIHJldHVybnMgYW4gb2JqZWN0IHdpdGggYSBgbW9kaWZpZXJgIG9mXG4gKiBgXCI+PVwiYCBhbmQgYGNvbXBvbmVudHNgIG9mIGBbMSwgMiwgM11gLlxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSByYW5nZVxuICogQHJldHVybnMge29iamVjdH1cbiAqL1xuZnVuY3Rpb24gZ2V0TW9kaWZpZXJBbmRDb21wb25lbnRzKHJhbmdlKSB7XG4gIHZhciByYW5nZUNvbXBvbmVudHMgPSByYW5nZS5zcGxpdChjb21wb25lbnRSZWdleCk7XG4gIHZhciBtYXRjaGVzID0gcmFuZ2VDb21wb25lbnRzWzBdLm1hdGNoKG1vZGlmaWVyUmVnZXgpO1xuICAhbWF0Y2hlcyA/IHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgPyBpbnZhcmlhbnQoZmFsc2UsICdleHBlY3RlZCByZWdleCB0byBtYXRjaCBidXQgaXQgZGlkIG5vdCcpIDogaW52YXJpYW50KGZhbHNlKSA6IHZvaWQgMDtcblxuICByZXR1cm4ge1xuICAgIG1vZGlmaWVyOiBtYXRjaGVzWzFdLFxuICAgIHJhbmdlQ29tcG9uZW50czogW21hdGNoZXNbMl1dLmNvbmNhdChyYW5nZUNvbXBvbmVudHMuc2xpY2UoMSkpXG4gIH07XG59XG5cbi8qKlxuICogRGV0ZXJtaW5lcyBpZiBgbnVtYmVyYCBpcyBhIG51bWJlci5cbiAqXG4gKiBAcGFyYW0ge21peGVkfSBudW1iZXJcbiAqIEByZXR1cm5zIHtib29sZWFufVxuICovXG5mdW5jdGlvbiBpc051bWJlcihudW1iZXIpIHtcbiAgcmV0dXJuICFpc05hTihudW1iZXIpICYmIGlzRmluaXRlKG51bWJlcik7XG59XG5cbi8qKlxuICogVGVzdHMgd2hldGhlciBgcmFuZ2VgIGlzIGEgXCJzaW1wbGVcIiB2ZXJzaW9uIG51bWJlciB3aXRob3V0IGFueSBtb2RpZmllcnNcbiAqIChcIj5cIiwgXCJ+XCIgZXRjKS5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gcmFuZ2VcbiAqIEByZXR1cm5zIHtib29sZWFufVxuICovXG5mdW5jdGlvbiBpc1NpbXBsZVZlcnNpb24ocmFuZ2UpIHtcbiAgcmV0dXJuICFnZXRNb2RpZmllckFuZENvbXBvbmVudHMocmFuZ2UpLm1vZGlmaWVyO1xufVxuXG4vKipcbiAqIFplcm8tcGFkcyBhcnJheSBgYXJyYXlgIHVudGlsIGl0IGlzIGF0IGxlYXN0IGBsZW5ndGhgIGxvbmcuXG4gKlxuICogQHBhcmFtIHthcnJheX0gYXJyYXlcbiAqIEBwYXJhbSB7bnVtYmVyfSBsZW5ndGhcbiAqL1xuZnVuY3Rpb24gemVyb1BhZChhcnJheSwgbGVuZ3RoKSB7XG4gIGZvciAodmFyIGkgPSBhcnJheS5sZW5ndGg7IGkgPCBsZW5ndGg7IGkrKykge1xuICAgIGFycmF5W2ldID0gJzAnO1xuICB9XG59XG5cbi8qKlxuICogTm9ybWFsaXplcyBgYWAgYW5kIGBiYCBpbiBwcmVwYXJhdGlvbiBmb3IgY29tcGFyaXNvbiBieSBkb2luZyB0aGUgZm9sbG93aW5nOlxuICpcbiAqIC0gemVyby1wYWRzIGBhYCBhbmQgYGJgXG4gKiAtIG1hcmtzIGFueSBcInhcIiwgXCJYXCIgb3IgXCIqXCIgY29tcG9uZW50IGluIGBiYCBhcyBlcXVpdmFsZW50IGJ5IHplcm8taW5nIGl0IG91dFxuICogICBpbiBib3RoIGBhYCBhbmQgYGJgXG4gKiAtIG1hcmtzIGFueSBmaW5hbCBcIipcIiBjb21wb25lbnQgaW4gYGJgIGFzIGEgZ3JlZWR5IHdpbGRjYXJkIGJ5IHplcm8taW5nIGl0XG4gKiAgIGFuZCBhbGwgb2YgaXRzIHN1Y2Nlc3NvcnMgaW4gYGFgXG4gKlxuICogQHBhcmFtIHthcnJheTxzdHJpbmc+fSBhXG4gKiBAcGFyYW0ge2FycmF5PHN0cmluZz59IGJcbiAqIEByZXR1cm5zIHthcnJheTxhcnJheTxzdHJpbmc+Pn1cbiAqL1xuZnVuY3Rpb24gbm9ybWFsaXplVmVyc2lvbnMoYSwgYikge1xuICBhID0gYS5zbGljZSgpO1xuICBiID0gYi5zbGljZSgpO1xuXG4gIHplcm9QYWQoYSwgYi5sZW5ndGgpO1xuXG4gIC8vIG1hcmsgXCJ4XCIgYW5kIFwiKlwiIGNvbXBvbmVudHMgYXMgZXF1YWxcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBiLmxlbmd0aDsgaSsrKSB7XG4gICAgdmFyIG1hdGNoZXMgPSBiW2ldLm1hdGNoKC9eW3gqXSQvaSk7XG4gICAgaWYgKG1hdGNoZXMpIHtcbiAgICAgIGJbaV0gPSBhW2ldID0gJzAnO1xuXG4gICAgICAvLyBmaW5hbCBcIipcIiBncmVlZGlseSB6ZXJvcyBhbGwgcmVtYWluaW5nIGNvbXBvbmVudHNcbiAgICAgIGlmIChtYXRjaGVzWzBdID09PSAnKicgJiYgaSA9PT0gYi5sZW5ndGggLSAxKSB7XG4gICAgICAgIGZvciAodmFyIGogPSBpOyBqIDwgYS5sZW5ndGg7IGorKykge1xuICAgICAgICAgIGFbal0gPSAnMCc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB6ZXJvUGFkKGIsIGEubGVuZ3RoKTtcblxuICByZXR1cm4gW2EsIGJdO1xufVxuXG4vKipcbiAqIFJldHVybnMgdGhlIG51bWVyaWNhbCAtLSBub3QgdGhlIGxleGljb2dyYXBoaWNhbCAtLSBvcmRlcmluZyBvZiBgYWAgYW5kIGBiYC5cbiAqXG4gKiBGb3IgZXhhbXBsZSwgYDEwLWFscGhhYCBpcyBncmVhdGVyIHRoYW4gYDItYmV0YWAuXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGFcbiAqIEBwYXJhbSB7c3RyaW5nfSBiXG4gKiBAcmV0dXJucyB7bnVtYmVyfSAtMSwgMCBvciAxIHRvIGluZGljYXRlIHdoZXRoZXIgYGFgIGlzIGxlc3MgdGhhbiwgZXF1YWwgdG8sXG4gKiBvciBncmVhdGVyIHRoYW4gYGJgLCByZXNwZWN0aXZlbHlcbiAqL1xuZnVuY3Rpb24gY29tcGFyZU51bWVyaWMoYSwgYikge1xuICB2YXIgYVByZWZpeCA9IGEubWF0Y2gobnVtZXJpY1JlZ2V4KVsxXTtcbiAgdmFyIGJQcmVmaXggPSBiLm1hdGNoKG51bWVyaWNSZWdleClbMV07XG4gIHZhciBhTnVtZXJpYyA9IHBhcnNlSW50KGFQcmVmaXgsIDEwKTtcbiAgdmFyIGJOdW1lcmljID0gcGFyc2VJbnQoYlByZWZpeCwgMTApO1xuXG4gIGlmIChpc051bWJlcihhTnVtZXJpYykgJiYgaXNOdW1iZXIoYk51bWVyaWMpICYmIGFOdW1lcmljICE9PSBiTnVtZXJpYykge1xuICAgIHJldHVybiBjb21wYXJlKGFOdW1lcmljLCBiTnVtZXJpYyk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGNvbXBhcmUoYSwgYik7XG4gIH1cbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBvcmRlcmluZyBvZiBgYWAgYW5kIGBiYC5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ3xudW1iZXJ9IGFcbiAqIEBwYXJhbSB7c3RyaW5nfG51bWJlcn0gYlxuICogQHJldHVybnMge251bWJlcn0gLTEsIDAgb3IgMSB0byBpbmRpY2F0ZSB3aGV0aGVyIGBhYCBpcyBsZXNzIHRoYW4sIGVxdWFsIHRvLFxuICogb3IgZ3JlYXRlciB0aGFuIGBiYCwgcmVzcGVjdGl2ZWx5XG4gKi9cbmZ1bmN0aW9uIGNvbXBhcmUoYSwgYikge1xuICAhKHR5cGVvZiBhID09PSB0eXBlb2YgYikgPyBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nID8gaW52YXJpYW50KGZhbHNlLCAnXCJhXCIgYW5kIFwiYlwiIG11c3QgYmUgb2YgdGhlIHNhbWUgdHlwZScpIDogaW52YXJpYW50KGZhbHNlKSA6IHZvaWQgMDtcblxuICBpZiAoYSA+IGIpIHtcbiAgICByZXR1cm4gMTtcbiAgfSBlbHNlIGlmIChhIDwgYikge1xuICAgIHJldHVybiAtMTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gMDtcbiAgfVxufVxuXG4vKipcbiAqIENvbXBhcmVzIGFycmF5cyBvZiB2ZXJzaW9uIGNvbXBvbmVudHMuXG4gKlxuICogQHBhcmFtIHthcnJheTxzdHJpbmc+fSBhXG4gKiBAcGFyYW0ge2FycmF5PHN0cmluZz59IGJcbiAqIEByZXR1cm5zIHtudW1iZXJ9IC0xLCAwIG9yIDEgdG8gaW5kaWNhdGUgd2hldGhlciBgYWAgaXMgbGVzcyB0aGFuLCBlcXVhbCB0byxcbiAqIG9yIGdyZWF0ZXIgdGhhbiBgYmAsIHJlc3BlY3RpdmVseVxuICovXG5mdW5jdGlvbiBjb21wYXJlQ29tcG9uZW50cyhhLCBiKSB7XG4gIHZhciBfbm9ybWFsaXplVmVyc2lvbnMgPSBub3JtYWxpemVWZXJzaW9ucyhhLCBiKSxcbiAgICAgIGFOb3JtYWxpemVkID0gX25vcm1hbGl6ZVZlcnNpb25zWzBdLFxuICAgICAgYk5vcm1hbGl6ZWQgPSBfbm9ybWFsaXplVmVyc2lvbnNbMV07XG5cbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBiTm9ybWFsaXplZC5sZW5ndGg7IGkrKykge1xuICAgIHZhciByZXN1bHQgPSBjb21wYXJlTnVtZXJpYyhhTm9ybWFsaXplZFtpXSwgYk5vcm1hbGl6ZWRbaV0pO1xuICAgIGlmIChyZXN1bHQpIHtcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIDA7XG59XG5cbnZhciBWZXJzaW9uUmFuZ2UgPSB7XG4gIC8qKlxuICAgKiBDaGVja3Mgd2hldGhlciBgdmVyc2lvbmAgc2F0aXNmaWVzIHRoZSBgcmFuZ2VgIHNwZWNpZmljYXRpb24uXG4gICAqXG4gICAqIFdlIHN1cHBvcnQgYSBzdWJzZXQgb2YgdGhlIGV4cHJlc3Npb25zIGRlZmluZWQgaW5cbiAgICogaHR0cHM6Ly93d3cubnBtanMub3JnL2RvYy9taXNjL3NlbXZlci5odG1sOlxuICAgKlxuICAgKiAgICB2ZXJzaW9uICAgTXVzdCBtYXRjaCB2ZXJzaW9uIGV4YWN0bHlcbiAgICogICAgPXZlcnNpb24gIFNhbWUgYXMganVzdCB2ZXJzaW9uXG4gICAqICAgID52ZXJzaW9uICBNdXN0IGJlIGdyZWF0ZXIgdGhhbiB2ZXJzaW9uXG4gICAqICAgID49dmVyc2lvbiBNdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byB2ZXJzaW9uXG4gICAqICAgIDx2ZXJzaW9uICBNdXN0IGJlIGxlc3MgdGhhbiB2ZXJzaW9uXG4gICAqICAgIDw9dmVyc2lvbiBNdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byB2ZXJzaW9uXG4gICAqICAgIH52ZXJzaW9uICBNdXN0IGJlIGF0IGxlYXN0IHZlcnNpb24sIGJ1dCBsZXNzIHRoYW4gdGhlIG5leHQgc2lnbmlmaWNhbnRcbiAgICogICAgICAgICAgICAgIHJldmlzaW9uIGFib3ZlIHZlcnNpb246XG4gICAqICAgICAgICAgICAgICBcIn4xLjIuM1wiIGlzIGVxdWl2YWxlbnQgdG8gXCI+PSAxLjIuMyBhbmQgPCAxLjNcIlxuICAgKiAgICB+PnZlcnNpb24gRXF1aXZhbGVudCB0byB+dmVyc2lvblxuICAgKiAgICAxLjIueCAgICAgTXVzdCBtYXRjaCBcIjEuMi54XCIsIHdoZXJlIFwieFwiIGlzIGEgd2lsZGNhcmQgdGhhdCBtYXRjaGVzXG4gICAqICAgICAgICAgICAgICBhbnl0aGluZ1xuICAgKiAgICAxLjIuKiAgICAgU2ltaWxhciB0byBcIjEuMi54XCIsIGJ1dCBcIipcIiBpbiB0aGUgdHJhaWxpbmcgcG9zaXRpb24gaXMgYVxuICAgKiAgICAgICAgICAgICAgXCJncmVlZHlcIiB3aWxkY2FyZCwgc28gd2lsbCBtYXRjaCBhbnkgbnVtYmVyIG9mIGFkZGl0aW9uYWxcbiAgICogICAgICAgICAgICAgIGNvbXBvbmVudHM6XG4gICAqICAgICAgICAgICAgICBcIjEuMi4qXCIgd2lsbCBtYXRjaCBcIjEuMi4xXCIsIFwiMS4yLjEuMVwiLCBcIjEuMi4xLjEuMVwiIGV0Y1xuICAgKiAgICAqICAgICAgICAgQW55IHZlcnNpb25cbiAgICogICAgXCJcIiAgICAgICAgKEVtcHR5IHN0cmluZykgU2FtZSBhcyAqXG4gICAqICAgIHYxIC0gdjIgICBFcXVpdmFsZW50IHRvIFwiPj0gdjEgYW5kIDw9IHYyXCJcbiAgICogICAgcjEgfHwgcjIgIFBhc3NlcyBpZiBlaXRoZXIgcjEgb3IgcjIgYXJlIHNhdGlzZmllZFxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gcmFuZ2VcbiAgICogQHBhcmFtIHtzdHJpbmd9IHZlcnNpb25cbiAgICogQHJldHVybnMge2Jvb2xlYW59XG4gICAqL1xuICBjb250YWluczogZnVuY3Rpb24gY29udGFpbnMocmFuZ2UsIHZlcnNpb24pIHtcbiAgICByZXR1cm4gY2hlY2tPckV4cHJlc3Npb24ocmFuZ2UudHJpbSgpLCB2ZXJzaW9uLnRyaW0oKSk7XG4gIH1cbn07XG5cbm1vZHVsZS5leHBvcnRzID0gVmVyc2lvblJhbmdlOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/fbjs/lib/VersionRange.js\n"); +eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n\nvar invariant = __webpack_require__(/*! ./invariant */ \"./node_modules/fbjs/lib/invariant.js\");\n\nvar componentRegex = /\\./;\nvar orRegex = /\\|\\|/;\nvar rangeRegex = /\\s+\\-\\s+/;\nvar modifierRegex = /^(<=|<|=|>=|~>|~|>|)?\\s*(.+)/;\nvar numericRegex = /^(\\d*)(.*)/;\n/**\n * Splits input `range` on \"||\" and returns true if any subrange matches\n * `version`.\n *\n * @param {string} range\n * @param {string} version\n * @returns {boolean}\n */\n\nfunction checkOrExpression(range, version) {\n var expressions = range.split(orRegex);\n\n if (expressions.length > 1) {\n return expressions.some(function (range) {\n return VersionRange.contains(range, version);\n });\n } else {\n range = expressions[0].trim();\n return checkRangeExpression(range, version);\n }\n}\n/**\n * Splits input `range` on \" - \" (the surrounding whitespace is required) and\n * returns true if version falls between the two operands.\n *\n * @param {string} range\n * @param {string} version\n * @returns {boolean}\n */\n\n\nfunction checkRangeExpression(range, version) {\n var expressions = range.split(rangeRegex);\n !(expressions.length > 0 && expressions.length <= 2) ? true ? invariant(false, 'the \"-\" operator expects exactly 2 operands') : undefined : void 0;\n\n if (expressions.length === 1) {\n return checkSimpleExpression(expressions[0], version);\n } else {\n var startVersion = expressions[0],\n endVersion = expressions[1];\n !(isSimpleVersion(startVersion) && isSimpleVersion(endVersion)) ? true ? invariant(false, 'operands to the \"-\" operator must be simple (no modifiers)') : undefined : void 0;\n return checkSimpleExpression('>=' + startVersion, version) && checkSimpleExpression('<=' + endVersion, version);\n }\n}\n/**\n * Checks if `range` matches `version`. `range` should be a \"simple\" range (ie.\n * not a compound range using the \" - \" or \"||\" operators).\n *\n * @param {string} range\n * @param {string} version\n * @returns {boolean}\n */\n\n\nfunction checkSimpleExpression(range, version) {\n range = range.trim();\n\n if (range === '') {\n return true;\n }\n\n var versionComponents = version.split(componentRegex);\n\n var _getModifierAndCompon = getModifierAndComponents(range),\n modifier = _getModifierAndCompon.modifier,\n rangeComponents = _getModifierAndCompon.rangeComponents;\n\n switch (modifier) {\n case '<':\n return checkLessThan(versionComponents, rangeComponents);\n\n case '<=':\n return checkLessThanOrEqual(versionComponents, rangeComponents);\n\n case '>=':\n return checkGreaterThanOrEqual(versionComponents, rangeComponents);\n\n case '>':\n return checkGreaterThan(versionComponents, rangeComponents);\n\n case '~':\n case '~>':\n return checkApproximateVersion(versionComponents, rangeComponents);\n\n default:\n return checkEqual(versionComponents, rangeComponents);\n }\n}\n/**\n * Checks whether `a` is less than `b`.\n *\n * @param {array} a\n * @param {array} b\n * @returns {boolean}\n */\n\n\nfunction checkLessThan(a, b) {\n return compareComponents(a, b) === -1;\n}\n/**\n * Checks whether `a` is less than or equal to `b`.\n *\n * @param {array} a\n * @param {array} b\n * @returns {boolean}\n */\n\n\nfunction checkLessThanOrEqual(a, b) {\n var result = compareComponents(a, b);\n return result === -1 || result === 0;\n}\n/**\n * Checks whether `a` is equal to `b`.\n *\n * @param {array} a\n * @param {array} b\n * @returns {boolean}\n */\n\n\nfunction checkEqual(a, b) {\n return compareComponents(a, b) === 0;\n}\n/**\n * Checks whether `a` is greater than or equal to `b`.\n *\n * @param {array} a\n * @param {array} b\n * @returns {boolean}\n */\n\n\nfunction checkGreaterThanOrEqual(a, b) {\n var result = compareComponents(a, b);\n return result === 1 || result === 0;\n}\n/**\n * Checks whether `a` is greater than `b`.\n *\n * @param {array} a\n * @param {array} b\n * @returns {boolean}\n */\n\n\nfunction checkGreaterThan(a, b) {\n return compareComponents(a, b) === 1;\n}\n/**\n * Checks whether `a` is \"reasonably close\" to `b` (as described in\n * https://www.npmjs.org/doc/misc/semver.html). For example, if `b` is \"1.3.1\"\n * then \"reasonably close\" is defined as \">= 1.3.1 and < 1.4\".\n *\n * @param {array} a\n * @param {array} b\n * @returns {boolean}\n */\n\n\nfunction checkApproximateVersion(a, b) {\n var lowerBound = b.slice();\n var upperBound = b.slice();\n\n if (upperBound.length > 1) {\n upperBound.pop();\n }\n\n var lastIndex = upperBound.length - 1;\n var numeric = parseInt(upperBound[lastIndex], 10);\n\n if (isNumber(numeric)) {\n upperBound[lastIndex] = numeric + 1 + '';\n }\n\n return checkGreaterThanOrEqual(a, lowerBound) && checkLessThan(a, upperBound);\n}\n/**\n * Extracts the optional modifier (<, <=, =, >=, >, ~, ~>) and version\n * components from `range`.\n *\n * For example, given `range` \">= 1.2.3\" returns an object with a `modifier` of\n * `\">=\"` and `components` of `[1, 2, 3]`.\n *\n * @param {string} range\n * @returns {object}\n */\n\n\nfunction getModifierAndComponents(range) {\n var rangeComponents = range.split(componentRegex);\n var matches = rangeComponents[0].match(modifierRegex);\n !matches ? true ? invariant(false, 'expected regex to match but it did not') : undefined : void 0;\n return {\n modifier: matches[1],\n rangeComponents: [matches[2]].concat(rangeComponents.slice(1))\n };\n}\n/**\n * Determines if `number` is a number.\n *\n * @param {mixed} number\n * @returns {boolean}\n */\n\n\nfunction isNumber(number) {\n return !isNaN(number) && isFinite(number);\n}\n/**\n * Tests whether `range` is a \"simple\" version number without any modifiers\n * (\">\", \"~\" etc).\n *\n * @param {string} range\n * @returns {boolean}\n */\n\n\nfunction isSimpleVersion(range) {\n return !getModifierAndComponents(range).modifier;\n}\n/**\n * Zero-pads array `array` until it is at least `length` long.\n *\n * @param {array} array\n * @param {number} length\n */\n\n\nfunction zeroPad(array, length) {\n for (var i = array.length; i < length; i++) {\n array[i] = '0';\n }\n}\n/**\n * Normalizes `a` and `b` in preparation for comparison by doing the following:\n *\n * - zero-pads `a` and `b`\n * - marks any \"x\", \"X\" or \"*\" component in `b` as equivalent by zero-ing it out\n * in both `a` and `b`\n * - marks any final \"*\" component in `b` as a greedy wildcard by zero-ing it\n * and all of its successors in `a`\n *\n * @param {array} a\n * @param {array} b\n * @returns {array>}\n */\n\n\nfunction normalizeVersions(a, b) {\n a = a.slice();\n b = b.slice();\n zeroPad(a, b.length); // mark \"x\" and \"*\" components as equal\n\n for (var i = 0; i < b.length; i++) {\n var matches = b[i].match(/^[x*]$/i);\n\n if (matches) {\n b[i] = a[i] = '0'; // final \"*\" greedily zeros all remaining components\n\n if (matches[0] === '*' && i === b.length - 1) {\n for (var j = i; j < a.length; j++) {\n a[j] = '0';\n }\n }\n }\n }\n\n zeroPad(b, a.length);\n return [a, b];\n}\n/**\n * Returns the numerical -- not the lexicographical -- ordering of `a` and `b`.\n *\n * For example, `10-alpha` is greater than `2-beta`.\n *\n * @param {string} a\n * @param {string} b\n * @returns {number} -1, 0 or 1 to indicate whether `a` is less than, equal to,\n * or greater than `b`, respectively\n */\n\n\nfunction compareNumeric(a, b) {\n var aPrefix = a.match(numericRegex)[1];\n var bPrefix = b.match(numericRegex)[1];\n var aNumeric = parseInt(aPrefix, 10);\n var bNumeric = parseInt(bPrefix, 10);\n\n if (isNumber(aNumeric) && isNumber(bNumeric) && aNumeric !== bNumeric) {\n return compare(aNumeric, bNumeric);\n } else {\n return compare(a, b);\n }\n}\n/**\n * Returns the ordering of `a` and `b`.\n *\n * @param {string|number} a\n * @param {string|number} b\n * @returns {number} -1, 0 or 1 to indicate whether `a` is less than, equal to,\n * or greater than `b`, respectively\n */\n\n\nfunction compare(a, b) {\n !(typeof a === typeof b) ? true ? invariant(false, '\"a\" and \"b\" must be of the same type') : undefined : void 0;\n\n if (a > b) {\n return 1;\n } else if (a < b) {\n return -1;\n } else {\n return 0;\n }\n}\n/**\n * Compares arrays of version components.\n *\n * @param {array} a\n * @param {array} b\n * @returns {number} -1, 0 or 1 to indicate whether `a` is less than, equal to,\n * or greater than `b`, respectively\n */\n\n\nfunction compareComponents(a, b) {\n var _normalizeVersions = normalizeVersions(a, b),\n aNormalized = _normalizeVersions[0],\n bNormalized = _normalizeVersions[1];\n\n for (var i = 0; i < bNormalized.length; i++) {\n var result = compareNumeric(aNormalized[i], bNormalized[i]);\n\n if (result) {\n return result;\n }\n }\n\n return 0;\n}\n\nvar VersionRange = {\n /**\n * Checks whether `version` satisfies the `range` specification.\n *\n * We support a subset of the expressions defined in\n * https://www.npmjs.org/doc/misc/semver.html:\n *\n * version Must match version exactly\n * =version Same as just version\n * >version Must be greater than version\n * >=version Must be greater than or equal to version\n * = 1.2.3 and < 1.3\"\n * ~>version Equivalent to ~version\n * 1.2.x Must match \"1.2.x\", where \"x\" is a wildcard that matches\n * anything\n * 1.2.* Similar to \"1.2.x\", but \"*\" in the trailing position is a\n * \"greedy\" wildcard, so will match any number of additional\n * components:\n * \"1.2.*\" will match \"1.2.1\", \"1.2.1.1\", \"1.2.1.1.1\" etc\n * * Any version\n * \"\" (Empty string) Same as *\n * v1 - v2 Equivalent to \">= v1 and <= v2\"\n * r1 || r2 Passes if either r1 or r2 are satisfied\n *\n * @param {string} range\n * @param {string} version\n * @returns {boolean}\n */\n contains: function contains(range, version) {\n return checkOrExpression(range.trim(), version.trim());\n }\n};\nmodule.exports = VersionRange;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvVmVyc2lvblJhbmdlLmpzPzQxZjQiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDYTs7QUFFYixnQkFBZ0IsbUJBQU8sQ0FBQyx5REFBYTs7QUFFckM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxPQUFPO0FBQ2xCLFdBQVcsT0FBTztBQUNsQixhQUFhO0FBQ2I7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLE9BQU87QUFDbEIsV0FBVyxPQUFPO0FBQ2xCLGFBQWE7QUFDYjs7O0FBR0E7QUFDQTtBQUNBLHlEQUF5RCxLQUFxQyxxRUFBcUUsU0FBZ0I7O0FBRW5MO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLHNFQUFzRSxLQUFxQyxvRkFBb0YsU0FBZ0I7QUFDL007QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLE9BQU87QUFDbEIsV0FBVyxPQUFPO0FBQ2xCLGFBQWE7QUFDYjs7O0FBR0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLGNBQWM7QUFDekIsV0FBVyxjQUFjO0FBQ3pCLGFBQWE7QUFDYjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxjQUFjO0FBQ3pCLFdBQVcsY0FBYztBQUN6QixhQUFhO0FBQ2I7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxjQUFjO0FBQ3pCLFdBQVcsY0FBYztBQUN6QixhQUFhO0FBQ2I7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsY0FBYztBQUN6QixXQUFXLGNBQWM7QUFDekIsYUFBYTtBQUNiOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsY0FBYztBQUN6QixXQUFXLGNBQWM7QUFDekIsYUFBYTtBQUNiOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxjQUFjO0FBQ3pCLFdBQVcsY0FBYztBQUN6QixhQUFhO0FBQ2I7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxPQUFPO0FBQ2xCLGFBQWE7QUFDYjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSxLQUFxQyxnRUFBZ0UsU0FBZ0I7QUFDbEk7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsTUFBTTtBQUNqQixhQUFhO0FBQ2I7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxPQUFPO0FBQ2xCLGFBQWE7QUFDYjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxNQUFNO0FBQ2pCLFdBQVcsT0FBTztBQUNsQjs7O0FBR0E7QUFDQSw0QkFBNEIsWUFBWTtBQUN4QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLGNBQWM7QUFDekIsV0FBVyxjQUFjO0FBQ3pCLGFBQWE7QUFDYjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCOztBQUV2QixpQkFBaUIsY0FBYztBQUMvQjs7QUFFQTtBQUNBLHdCQUF3Qjs7QUFFeEI7QUFDQSx1QkFBdUIsY0FBYztBQUNyQztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLE9BQU87QUFDbEIsV0FBVyxPQUFPO0FBQ2xCLGFBQWEsT0FBTztBQUNwQjtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxjQUFjO0FBQ3pCLFdBQVcsY0FBYztBQUN6QixhQUFhLE9BQU87QUFDcEI7QUFDQTs7O0FBR0E7QUFDQSw2QkFBNkIsS0FBcUMsOERBQThELFNBQWdCOztBQUVoSjtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsY0FBYztBQUN6QixXQUFXLGNBQWM7QUFDekIsYUFBYSxPQUFPO0FBQ3BCO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLGlCQUFpQix3QkFBd0I7QUFDekM7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWEsT0FBTztBQUNwQixhQUFhLE9BQU87QUFDcEIsZUFBZTtBQUNmO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9mYmpzL2xpYi9WZXJzaW9uUmFuZ2UuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxMy1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqL1xuJ3VzZSBzdHJpY3QnO1xuXG52YXIgaW52YXJpYW50ID0gcmVxdWlyZShcIi4vaW52YXJpYW50XCIpO1xuXG52YXIgY29tcG9uZW50UmVnZXggPSAvXFwuLztcbnZhciBvclJlZ2V4ID0gL1xcfFxcfC87XG52YXIgcmFuZ2VSZWdleCA9IC9cXHMrXFwtXFxzKy87XG52YXIgbW9kaWZpZXJSZWdleCA9IC9eKDw9fDx8PXw+PXx+Pnx+fD58KT9cXHMqKC4rKS87XG52YXIgbnVtZXJpY1JlZ2V4ID0gL14oXFxkKikoLiopLztcbi8qKlxuICogU3BsaXRzIGlucHV0IGByYW5nZWAgb24gXCJ8fFwiIGFuZCByZXR1cm5zIHRydWUgaWYgYW55IHN1YnJhbmdlIG1hdGNoZXNcbiAqIGB2ZXJzaW9uYC5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gcmFuZ2VcbiAqIEBwYXJhbSB7c3RyaW5nfSB2ZXJzaW9uXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn1cbiAqL1xuXG5mdW5jdGlvbiBjaGVja09yRXhwcmVzc2lvbihyYW5nZSwgdmVyc2lvbikge1xuICB2YXIgZXhwcmVzc2lvbnMgPSByYW5nZS5zcGxpdChvclJlZ2V4KTtcblxuICBpZiAoZXhwcmVzc2lvbnMubGVuZ3RoID4gMSkge1xuICAgIHJldHVybiBleHByZXNzaW9ucy5zb21lKGZ1bmN0aW9uIChyYW5nZSkge1xuICAgICAgcmV0dXJuIFZlcnNpb25SYW5nZS5jb250YWlucyhyYW5nZSwgdmVyc2lvbik7XG4gICAgfSk7XG4gIH0gZWxzZSB7XG4gICAgcmFuZ2UgPSBleHByZXNzaW9uc1swXS50cmltKCk7XG4gICAgcmV0dXJuIGNoZWNrUmFuZ2VFeHByZXNzaW9uKHJhbmdlLCB2ZXJzaW9uKTtcbiAgfVxufVxuLyoqXG4gKiBTcGxpdHMgaW5wdXQgYHJhbmdlYCBvbiBcIiAtIFwiICh0aGUgc3Vycm91bmRpbmcgd2hpdGVzcGFjZSBpcyByZXF1aXJlZCkgYW5kXG4gKiByZXR1cm5zIHRydWUgaWYgdmVyc2lvbiBmYWxscyBiZXR3ZWVuIHRoZSB0d28gb3BlcmFuZHMuXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHJhbmdlXG4gKiBAcGFyYW0ge3N0cmluZ30gdmVyc2lvblxuICogQHJldHVybnMge2Jvb2xlYW59XG4gKi9cblxuXG5mdW5jdGlvbiBjaGVja1JhbmdlRXhwcmVzc2lvbihyYW5nZSwgdmVyc2lvbikge1xuICB2YXIgZXhwcmVzc2lvbnMgPSByYW5nZS5zcGxpdChyYW5nZVJlZ2V4KTtcbiAgIShleHByZXNzaW9ucy5sZW5ndGggPiAwICYmIGV4cHJlc3Npb25zLmxlbmd0aCA8PSAyKSA/IHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIiA/IGludmFyaWFudChmYWxzZSwgJ3RoZSBcIi1cIiBvcGVyYXRvciBleHBlY3RzIGV4YWN0bHkgMiBvcGVyYW5kcycpIDogaW52YXJpYW50KGZhbHNlKSA6IHZvaWQgMDtcblxuICBpZiAoZXhwcmVzc2lvbnMubGVuZ3RoID09PSAxKSB7XG4gICAgcmV0dXJuIGNoZWNrU2ltcGxlRXhwcmVzc2lvbihleHByZXNzaW9uc1swXSwgdmVyc2lvbik7XG4gIH0gZWxzZSB7XG4gICAgdmFyIHN0YXJ0VmVyc2lvbiA9IGV4cHJlc3Npb25zWzBdLFxuICAgICAgICBlbmRWZXJzaW9uID0gZXhwcmVzc2lvbnNbMV07XG4gICAgIShpc1NpbXBsZVZlcnNpb24oc3RhcnRWZXJzaW9uKSAmJiBpc1NpbXBsZVZlcnNpb24oZW5kVmVyc2lvbikpID8gcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiID8gaW52YXJpYW50KGZhbHNlLCAnb3BlcmFuZHMgdG8gdGhlIFwiLVwiIG9wZXJhdG9yIG11c3QgYmUgc2ltcGxlIChubyBtb2RpZmllcnMpJykgOiBpbnZhcmlhbnQoZmFsc2UpIDogdm9pZCAwO1xuICAgIHJldHVybiBjaGVja1NpbXBsZUV4cHJlc3Npb24oJz49JyArIHN0YXJ0VmVyc2lvbiwgdmVyc2lvbikgJiYgY2hlY2tTaW1wbGVFeHByZXNzaW9uKCc8PScgKyBlbmRWZXJzaW9uLCB2ZXJzaW9uKTtcbiAgfVxufVxuLyoqXG4gKiBDaGVja3MgaWYgYHJhbmdlYCBtYXRjaGVzIGB2ZXJzaW9uYC4gYHJhbmdlYCBzaG91bGQgYmUgYSBcInNpbXBsZVwiIHJhbmdlIChpZS5cbiAqIG5vdCBhIGNvbXBvdW5kIHJhbmdlIHVzaW5nIHRoZSBcIiAtIFwiIG9yIFwifHxcIiBvcGVyYXRvcnMpLlxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSByYW5nZVxuICogQHBhcmFtIHtzdHJpbmd9IHZlcnNpb25cbiAqIEByZXR1cm5zIHtib29sZWFufVxuICovXG5cblxuZnVuY3Rpb24gY2hlY2tTaW1wbGVFeHByZXNzaW9uKHJhbmdlLCB2ZXJzaW9uKSB7XG4gIHJhbmdlID0gcmFuZ2UudHJpbSgpO1xuXG4gIGlmIChyYW5nZSA9PT0gJycpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHZhciB2ZXJzaW9uQ29tcG9uZW50cyA9IHZlcnNpb24uc3BsaXQoY29tcG9uZW50UmVnZXgpO1xuXG4gIHZhciBfZ2V0TW9kaWZpZXJBbmRDb21wb24gPSBnZXRNb2RpZmllckFuZENvbXBvbmVudHMocmFuZ2UpLFxuICAgICAgbW9kaWZpZXIgPSBfZ2V0TW9kaWZpZXJBbmRDb21wb24ubW9kaWZpZXIsXG4gICAgICByYW5nZUNvbXBvbmVudHMgPSBfZ2V0TW9kaWZpZXJBbmRDb21wb24ucmFuZ2VDb21wb25lbnRzO1xuXG4gIHN3aXRjaCAobW9kaWZpZXIpIHtcbiAgICBjYXNlICc8JzpcbiAgICAgIHJldHVybiBjaGVja0xlc3NUaGFuKHZlcnNpb25Db21wb25lbnRzLCByYW5nZUNvbXBvbmVudHMpO1xuXG4gICAgY2FzZSAnPD0nOlxuICAgICAgcmV0dXJuIGNoZWNrTGVzc1RoYW5PckVxdWFsKHZlcnNpb25Db21wb25lbnRzLCByYW5nZUNvbXBvbmVudHMpO1xuXG4gICAgY2FzZSAnPj0nOlxuICAgICAgcmV0dXJuIGNoZWNrR3JlYXRlclRoYW5PckVxdWFsKHZlcnNpb25Db21wb25lbnRzLCByYW5nZUNvbXBvbmVudHMpO1xuXG4gICAgY2FzZSAnPic6XG4gICAgICByZXR1cm4gY2hlY2tHcmVhdGVyVGhhbih2ZXJzaW9uQ29tcG9uZW50cywgcmFuZ2VDb21wb25lbnRzKTtcblxuICAgIGNhc2UgJ34nOlxuICAgIGNhc2UgJ34+JzpcbiAgICAgIHJldHVybiBjaGVja0FwcHJveGltYXRlVmVyc2lvbih2ZXJzaW9uQ29tcG9uZW50cywgcmFuZ2VDb21wb25lbnRzKTtcblxuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gY2hlY2tFcXVhbCh2ZXJzaW9uQ29tcG9uZW50cywgcmFuZ2VDb21wb25lbnRzKTtcbiAgfVxufVxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciBgYWAgaXMgbGVzcyB0aGFuIGBiYC5cbiAqXG4gKiBAcGFyYW0ge2FycmF5PHN0cmluZz59IGFcbiAqIEBwYXJhbSB7YXJyYXk8c3RyaW5nPn0gYlxuICogQHJldHVybnMge2Jvb2xlYW59XG4gKi9cblxuXG5mdW5jdGlvbiBjaGVja0xlc3NUaGFuKGEsIGIpIHtcbiAgcmV0dXJuIGNvbXBhcmVDb21wb25lbnRzKGEsIGIpID09PSAtMTtcbn1cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgYGFgIGlzIGxlc3MgdGhhbiBvciBlcXVhbCB0byBgYmAuXG4gKlxuICogQHBhcmFtIHthcnJheTxzdHJpbmc+fSBhXG4gKiBAcGFyYW0ge2FycmF5PHN0cmluZz59IGJcbiAqIEByZXR1cm5zIHtib29sZWFufVxuICovXG5cblxuZnVuY3Rpb24gY2hlY2tMZXNzVGhhbk9yRXF1YWwoYSwgYikge1xuICB2YXIgcmVzdWx0ID0gY29tcGFyZUNvbXBvbmVudHMoYSwgYik7XG4gIHJldHVybiByZXN1bHQgPT09IC0xIHx8IHJlc3VsdCA9PT0gMDtcbn1cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgYGFgIGlzIGVxdWFsIHRvIGBiYC5cbiAqXG4gKiBAcGFyYW0ge2FycmF5PHN0cmluZz59IGFcbiAqIEBwYXJhbSB7YXJyYXk8c3RyaW5nPn0gYlxuICogQHJldHVybnMge2Jvb2xlYW59XG4gKi9cblxuXG5mdW5jdGlvbiBjaGVja0VxdWFsKGEsIGIpIHtcbiAgcmV0dXJuIGNvbXBhcmVDb21wb25lbnRzKGEsIGIpID09PSAwO1xufVxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciBgYWAgaXMgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIGBiYC5cbiAqXG4gKiBAcGFyYW0ge2FycmF5PHN0cmluZz59IGFcbiAqIEBwYXJhbSB7YXJyYXk8c3RyaW5nPn0gYlxuICogQHJldHVybnMge2Jvb2xlYW59XG4gKi9cblxuXG5mdW5jdGlvbiBjaGVja0dyZWF0ZXJUaGFuT3JFcXVhbChhLCBiKSB7XG4gIHZhciByZXN1bHQgPSBjb21wYXJlQ29tcG9uZW50cyhhLCBiKTtcbiAgcmV0dXJuIHJlc3VsdCA9PT0gMSB8fCByZXN1bHQgPT09IDA7XG59XG4vKipcbiAqIENoZWNrcyB3aGV0aGVyIGBhYCBpcyBncmVhdGVyIHRoYW4gYGJgLlxuICpcbiAqIEBwYXJhbSB7YXJyYXk8c3RyaW5nPn0gYVxuICogQHBhcmFtIHthcnJheTxzdHJpbmc+fSBiXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn1cbiAqL1xuXG5cbmZ1bmN0aW9uIGNoZWNrR3JlYXRlclRoYW4oYSwgYikge1xuICByZXR1cm4gY29tcGFyZUNvbXBvbmVudHMoYSwgYikgPT09IDE7XG59XG4vKipcbiAqIENoZWNrcyB3aGV0aGVyIGBhYCBpcyBcInJlYXNvbmFibHkgY2xvc2VcIiB0byBgYmAgKGFzIGRlc2NyaWJlZCBpblxuICogaHR0cHM6Ly93d3cubnBtanMub3JnL2RvYy9taXNjL3NlbXZlci5odG1sKS4gRm9yIGV4YW1wbGUsIGlmIGBiYCBpcyBcIjEuMy4xXCJcbiAqIHRoZW4gXCJyZWFzb25hYmx5IGNsb3NlXCIgaXMgZGVmaW5lZCBhcyBcIj49IDEuMy4xIGFuZCA8IDEuNFwiLlxuICpcbiAqIEBwYXJhbSB7YXJyYXk8c3RyaW5nPn0gYVxuICogQHBhcmFtIHthcnJheTxzdHJpbmc+fSBiXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn1cbiAqL1xuXG5cbmZ1bmN0aW9uIGNoZWNrQXBwcm94aW1hdGVWZXJzaW9uKGEsIGIpIHtcbiAgdmFyIGxvd2VyQm91bmQgPSBiLnNsaWNlKCk7XG4gIHZhciB1cHBlckJvdW5kID0gYi5zbGljZSgpO1xuXG4gIGlmICh1cHBlckJvdW5kLmxlbmd0aCA+IDEpIHtcbiAgICB1cHBlckJvdW5kLnBvcCgpO1xuICB9XG5cbiAgdmFyIGxhc3RJbmRleCA9IHVwcGVyQm91bmQubGVuZ3RoIC0gMTtcbiAgdmFyIG51bWVyaWMgPSBwYXJzZUludCh1cHBlckJvdW5kW2xhc3RJbmRleF0sIDEwKTtcblxuICBpZiAoaXNOdW1iZXIobnVtZXJpYykpIHtcbiAgICB1cHBlckJvdW5kW2xhc3RJbmRleF0gPSBudW1lcmljICsgMSArICcnO1xuICB9XG5cbiAgcmV0dXJuIGNoZWNrR3JlYXRlclRoYW5PckVxdWFsKGEsIGxvd2VyQm91bmQpICYmIGNoZWNrTGVzc1RoYW4oYSwgdXBwZXJCb3VuZCk7XG59XG4vKipcbiAqIEV4dHJhY3RzIHRoZSBvcHRpb25hbCBtb2RpZmllciAoPCwgPD0sID0sID49LCA+LCB+LCB+PikgYW5kIHZlcnNpb25cbiAqIGNvbXBvbmVudHMgZnJvbSBgcmFuZ2VgLlxuICpcbiAqIEZvciBleGFtcGxlLCBnaXZlbiBgcmFuZ2VgIFwiPj0gMS4yLjNcIiByZXR1cm5zIGFuIG9iamVjdCB3aXRoIGEgYG1vZGlmaWVyYCBvZlxuICogYFwiPj1cImAgYW5kIGBjb21wb25lbnRzYCBvZiBgWzEsIDIsIDNdYC5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gcmFuZ2VcbiAqIEByZXR1cm5zIHtvYmplY3R9XG4gKi9cblxuXG5mdW5jdGlvbiBnZXRNb2RpZmllckFuZENvbXBvbmVudHMocmFuZ2UpIHtcbiAgdmFyIHJhbmdlQ29tcG9uZW50cyA9IHJhbmdlLnNwbGl0KGNvbXBvbmVudFJlZ2V4KTtcbiAgdmFyIG1hdGNoZXMgPSByYW5nZUNvbXBvbmVudHNbMF0ubWF0Y2gobW9kaWZpZXJSZWdleCk7XG4gICFtYXRjaGVzID8gcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiID8gaW52YXJpYW50KGZhbHNlLCAnZXhwZWN0ZWQgcmVnZXggdG8gbWF0Y2ggYnV0IGl0IGRpZCBub3QnKSA6IGludmFyaWFudChmYWxzZSkgOiB2b2lkIDA7XG4gIHJldHVybiB7XG4gICAgbW9kaWZpZXI6IG1hdGNoZXNbMV0sXG4gICAgcmFuZ2VDb21wb25lbnRzOiBbbWF0Y2hlc1syXV0uY29uY2F0KHJhbmdlQ29tcG9uZW50cy5zbGljZSgxKSlcbiAgfTtcbn1cbi8qKlxuICogRGV0ZXJtaW5lcyBpZiBgbnVtYmVyYCBpcyBhIG51bWJlci5cbiAqXG4gKiBAcGFyYW0ge21peGVkfSBudW1iZXJcbiAqIEByZXR1cm5zIHtib29sZWFufVxuICovXG5cblxuZnVuY3Rpb24gaXNOdW1iZXIobnVtYmVyKSB7XG4gIHJldHVybiAhaXNOYU4obnVtYmVyKSAmJiBpc0Zpbml0ZShudW1iZXIpO1xufVxuLyoqXG4gKiBUZXN0cyB3aGV0aGVyIGByYW5nZWAgaXMgYSBcInNpbXBsZVwiIHZlcnNpb24gbnVtYmVyIHdpdGhvdXQgYW55IG1vZGlmaWVyc1xuICogKFwiPlwiLCBcIn5cIiBldGMpLlxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSByYW5nZVxuICogQHJldHVybnMge2Jvb2xlYW59XG4gKi9cblxuXG5mdW5jdGlvbiBpc1NpbXBsZVZlcnNpb24ocmFuZ2UpIHtcbiAgcmV0dXJuICFnZXRNb2RpZmllckFuZENvbXBvbmVudHMocmFuZ2UpLm1vZGlmaWVyO1xufVxuLyoqXG4gKiBaZXJvLXBhZHMgYXJyYXkgYGFycmF5YCB1bnRpbCBpdCBpcyBhdCBsZWFzdCBgbGVuZ3RoYCBsb25nLlxuICpcbiAqIEBwYXJhbSB7YXJyYXl9IGFycmF5XG4gKiBAcGFyYW0ge251bWJlcn0gbGVuZ3RoXG4gKi9cblxuXG5mdW5jdGlvbiB6ZXJvUGFkKGFycmF5LCBsZW5ndGgpIHtcbiAgZm9yICh2YXIgaSA9IGFycmF5Lmxlbmd0aDsgaSA8IGxlbmd0aDsgaSsrKSB7XG4gICAgYXJyYXlbaV0gPSAnMCc7XG4gIH1cbn1cbi8qKlxuICogTm9ybWFsaXplcyBgYWAgYW5kIGBiYCBpbiBwcmVwYXJhdGlvbiBmb3IgY29tcGFyaXNvbiBieSBkb2luZyB0aGUgZm9sbG93aW5nOlxuICpcbiAqIC0gemVyby1wYWRzIGBhYCBhbmQgYGJgXG4gKiAtIG1hcmtzIGFueSBcInhcIiwgXCJYXCIgb3IgXCIqXCIgY29tcG9uZW50IGluIGBiYCBhcyBlcXVpdmFsZW50IGJ5IHplcm8taW5nIGl0IG91dFxuICogICBpbiBib3RoIGBhYCBhbmQgYGJgXG4gKiAtIG1hcmtzIGFueSBmaW5hbCBcIipcIiBjb21wb25lbnQgaW4gYGJgIGFzIGEgZ3JlZWR5IHdpbGRjYXJkIGJ5IHplcm8taW5nIGl0XG4gKiAgIGFuZCBhbGwgb2YgaXRzIHN1Y2Nlc3NvcnMgaW4gYGFgXG4gKlxuICogQHBhcmFtIHthcnJheTxzdHJpbmc+fSBhXG4gKiBAcGFyYW0ge2FycmF5PHN0cmluZz59IGJcbiAqIEByZXR1cm5zIHthcnJheTxhcnJheTxzdHJpbmc+Pn1cbiAqL1xuXG5cbmZ1bmN0aW9uIG5vcm1hbGl6ZVZlcnNpb25zKGEsIGIpIHtcbiAgYSA9IGEuc2xpY2UoKTtcbiAgYiA9IGIuc2xpY2UoKTtcbiAgemVyb1BhZChhLCBiLmxlbmd0aCk7IC8vIG1hcmsgXCJ4XCIgYW5kIFwiKlwiIGNvbXBvbmVudHMgYXMgZXF1YWxcblxuICBmb3IgKHZhciBpID0gMDsgaSA8IGIubGVuZ3RoOyBpKyspIHtcbiAgICB2YXIgbWF0Y2hlcyA9IGJbaV0ubWF0Y2goL15beCpdJC9pKTtcblxuICAgIGlmIChtYXRjaGVzKSB7XG4gICAgICBiW2ldID0gYVtpXSA9ICcwJzsgLy8gZmluYWwgXCIqXCIgZ3JlZWRpbHkgemVyb3MgYWxsIHJlbWFpbmluZyBjb21wb25lbnRzXG5cbiAgICAgIGlmIChtYXRjaGVzWzBdID09PSAnKicgJiYgaSA9PT0gYi5sZW5ndGggLSAxKSB7XG4gICAgICAgIGZvciAodmFyIGogPSBpOyBqIDwgYS5sZW5ndGg7IGorKykge1xuICAgICAgICAgIGFbal0gPSAnMCc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB6ZXJvUGFkKGIsIGEubGVuZ3RoKTtcbiAgcmV0dXJuIFthLCBiXTtcbn1cbi8qKlxuICogUmV0dXJucyB0aGUgbnVtZXJpY2FsIC0tIG5vdCB0aGUgbGV4aWNvZ3JhcGhpY2FsIC0tIG9yZGVyaW5nIG9mIGBhYCBhbmQgYGJgLlxuICpcbiAqIEZvciBleGFtcGxlLCBgMTAtYWxwaGFgIGlzIGdyZWF0ZXIgdGhhbiBgMi1iZXRhYC5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gYVxuICogQHBhcmFtIHtzdHJpbmd9IGJcbiAqIEByZXR1cm5zIHtudW1iZXJ9IC0xLCAwIG9yIDEgdG8gaW5kaWNhdGUgd2hldGhlciBgYWAgaXMgbGVzcyB0aGFuLCBlcXVhbCB0byxcbiAqIG9yIGdyZWF0ZXIgdGhhbiBgYmAsIHJlc3BlY3RpdmVseVxuICovXG5cblxuZnVuY3Rpb24gY29tcGFyZU51bWVyaWMoYSwgYikge1xuICB2YXIgYVByZWZpeCA9IGEubWF0Y2gobnVtZXJpY1JlZ2V4KVsxXTtcbiAgdmFyIGJQcmVmaXggPSBiLm1hdGNoKG51bWVyaWNSZWdleClbMV07XG4gIHZhciBhTnVtZXJpYyA9IHBhcnNlSW50KGFQcmVmaXgsIDEwKTtcbiAgdmFyIGJOdW1lcmljID0gcGFyc2VJbnQoYlByZWZpeCwgMTApO1xuXG4gIGlmIChpc051bWJlcihhTnVtZXJpYykgJiYgaXNOdW1iZXIoYk51bWVyaWMpICYmIGFOdW1lcmljICE9PSBiTnVtZXJpYykge1xuICAgIHJldHVybiBjb21wYXJlKGFOdW1lcmljLCBiTnVtZXJpYyk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGNvbXBhcmUoYSwgYik7XG4gIH1cbn1cbi8qKlxuICogUmV0dXJucyB0aGUgb3JkZXJpbmcgb2YgYGFgIGFuZCBgYmAuXG4gKlxuICogQHBhcmFtIHtzdHJpbmd8bnVtYmVyfSBhXG4gKiBAcGFyYW0ge3N0cmluZ3xudW1iZXJ9IGJcbiAqIEByZXR1cm5zIHtudW1iZXJ9IC0xLCAwIG9yIDEgdG8gaW5kaWNhdGUgd2hldGhlciBgYWAgaXMgbGVzcyB0aGFuLCBlcXVhbCB0byxcbiAqIG9yIGdyZWF0ZXIgdGhhbiBgYmAsIHJlc3BlY3RpdmVseVxuICovXG5cblxuZnVuY3Rpb24gY29tcGFyZShhLCBiKSB7XG4gICEodHlwZW9mIGEgPT09IHR5cGVvZiBiKSA/IHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIiA/IGludmFyaWFudChmYWxzZSwgJ1wiYVwiIGFuZCBcImJcIiBtdXN0IGJlIG9mIHRoZSBzYW1lIHR5cGUnKSA6IGludmFyaWFudChmYWxzZSkgOiB2b2lkIDA7XG5cbiAgaWYgKGEgPiBiKSB7XG4gICAgcmV0dXJuIDE7XG4gIH0gZWxzZSBpZiAoYSA8IGIpIHtcbiAgICByZXR1cm4gLTE7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIDA7XG4gIH1cbn1cbi8qKlxuICogQ29tcGFyZXMgYXJyYXlzIG9mIHZlcnNpb24gY29tcG9uZW50cy5cbiAqXG4gKiBAcGFyYW0ge2FycmF5PHN0cmluZz59IGFcbiAqIEBwYXJhbSB7YXJyYXk8c3RyaW5nPn0gYlxuICogQHJldHVybnMge251bWJlcn0gLTEsIDAgb3IgMSB0byBpbmRpY2F0ZSB3aGV0aGVyIGBhYCBpcyBsZXNzIHRoYW4sIGVxdWFsIHRvLFxuICogb3IgZ3JlYXRlciB0aGFuIGBiYCwgcmVzcGVjdGl2ZWx5XG4gKi9cblxuXG5mdW5jdGlvbiBjb21wYXJlQ29tcG9uZW50cyhhLCBiKSB7XG4gIHZhciBfbm9ybWFsaXplVmVyc2lvbnMgPSBub3JtYWxpemVWZXJzaW9ucyhhLCBiKSxcbiAgICAgIGFOb3JtYWxpemVkID0gX25vcm1hbGl6ZVZlcnNpb25zWzBdLFxuICAgICAgYk5vcm1hbGl6ZWQgPSBfbm9ybWFsaXplVmVyc2lvbnNbMV07XG5cbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBiTm9ybWFsaXplZC5sZW5ndGg7IGkrKykge1xuICAgIHZhciByZXN1bHQgPSBjb21wYXJlTnVtZXJpYyhhTm9ybWFsaXplZFtpXSwgYk5vcm1hbGl6ZWRbaV0pO1xuXG4gICAgaWYgKHJlc3VsdCkge1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gMDtcbn1cblxudmFyIFZlcnNpb25SYW5nZSA9IHtcbiAgLyoqXG4gICAqIENoZWNrcyB3aGV0aGVyIGB2ZXJzaW9uYCBzYXRpc2ZpZXMgdGhlIGByYW5nZWAgc3BlY2lmaWNhdGlvbi5cbiAgICpcbiAgICogV2Ugc3VwcG9ydCBhIHN1YnNldCBvZiB0aGUgZXhwcmVzc2lvbnMgZGVmaW5lZCBpblxuICAgKiBodHRwczovL3d3dy5ucG1qcy5vcmcvZG9jL21pc2Mvc2VtdmVyLmh0bWw6XG4gICAqXG4gICAqICAgIHZlcnNpb24gICBNdXN0IG1hdGNoIHZlcnNpb24gZXhhY3RseVxuICAgKiAgICA9dmVyc2lvbiAgU2FtZSBhcyBqdXN0IHZlcnNpb25cbiAgICogICAgPnZlcnNpb24gIE11c3QgYmUgZ3JlYXRlciB0aGFuIHZlcnNpb25cbiAgICogICAgPj12ZXJzaW9uIE11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIHZlcnNpb25cbiAgICogICAgPHZlcnNpb24gIE11c3QgYmUgbGVzcyB0aGFuIHZlcnNpb25cbiAgICogICAgPD12ZXJzaW9uIE11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIHZlcnNpb25cbiAgICogICAgfnZlcnNpb24gIE11c3QgYmUgYXQgbGVhc3QgdmVyc2lvbiwgYnV0IGxlc3MgdGhhbiB0aGUgbmV4dCBzaWduaWZpY2FudFxuICAgKiAgICAgICAgICAgICAgcmV2aXNpb24gYWJvdmUgdmVyc2lvbjpcbiAgICogICAgICAgICAgICAgIFwifjEuMi4zXCIgaXMgZXF1aXZhbGVudCB0byBcIj49IDEuMi4zIGFuZCA8IDEuM1wiXG4gICAqICAgIH4+dmVyc2lvbiBFcXVpdmFsZW50IHRvIH52ZXJzaW9uXG4gICAqICAgIDEuMi54ICAgICBNdXN0IG1hdGNoIFwiMS4yLnhcIiwgd2hlcmUgXCJ4XCIgaXMgYSB3aWxkY2FyZCB0aGF0IG1hdGNoZXNcbiAgICogICAgICAgICAgICAgIGFueXRoaW5nXG4gICAqICAgIDEuMi4qICAgICBTaW1pbGFyIHRvIFwiMS4yLnhcIiwgYnV0IFwiKlwiIGluIHRoZSB0cmFpbGluZyBwb3NpdGlvbiBpcyBhXG4gICAqICAgICAgICAgICAgICBcImdyZWVkeVwiIHdpbGRjYXJkLCBzbyB3aWxsIG1hdGNoIGFueSBudW1iZXIgb2YgYWRkaXRpb25hbFxuICAgKiAgICAgICAgICAgICAgY29tcG9uZW50czpcbiAgICogICAgICAgICAgICAgIFwiMS4yLipcIiB3aWxsIG1hdGNoIFwiMS4yLjFcIiwgXCIxLjIuMS4xXCIsIFwiMS4yLjEuMS4xXCIgZXRjXG4gICAqICAgICogICAgICAgICBBbnkgdmVyc2lvblxuICAgKiAgICBcIlwiICAgICAgICAoRW1wdHkgc3RyaW5nKSBTYW1lIGFzICpcbiAgICogICAgdjEgLSB2MiAgIEVxdWl2YWxlbnQgdG8gXCI+PSB2MSBhbmQgPD0gdjJcIlxuICAgKiAgICByMSB8fCByMiAgUGFzc2VzIGlmIGVpdGhlciByMSBvciByMiBhcmUgc2F0aXNmaWVkXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSByYW5nZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gdmVyc2lvblxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn1cbiAgICovXG4gIGNvbnRhaW5zOiBmdW5jdGlvbiBjb250YWlucyhyYW5nZSwgdmVyc2lvbikge1xuICAgIHJldHVybiBjaGVja09yRXhwcmVzc2lvbihyYW5nZS50cmltKCksIHZlcnNpb24udHJpbSgpKTtcbiAgfVxufTtcbm1vZHVsZS5leHBvcnRzID0gVmVyc2lvblJhbmdlOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/fbjs/lib/VersionRange.js\n"); /***/ }), @@ -1529,7 +1756,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source cod /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n */\n\nvar _hyphenPattern = /-(.)/g;\n\n/**\n * Camelcases a hyphenated string, for example:\n *\n * > camelize('background-color')\n * < \"backgroundColor\"\n *\n * @param {string} string\n * @return {string}\n */\nfunction camelize(string) {\n return string.replace(_hyphenPattern, function (_, character) {\n return character.toUpperCase();\n });\n}\n\nmodule.exports = camelize;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvY2FtZWxpemUuanM/MzYwMSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBYTs7QUFFYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsT0FBTztBQUNsQixZQUFZO0FBQ1o7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUEiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvY2FtZWxpemUuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKiBAdHlwZWNoZWNrc1xuICovXG5cbnZhciBfaHlwaGVuUGF0dGVybiA9IC8tKC4pL2c7XG5cbi8qKlxuICogQ2FtZWxjYXNlcyBhIGh5cGhlbmF0ZWQgc3RyaW5nLCBmb3IgZXhhbXBsZTpcbiAqXG4gKiAgID4gY2FtZWxpemUoJ2JhY2tncm91bmQtY29sb3InKVxuICogICA8IFwiYmFja2dyb3VuZENvbG9yXCJcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gc3RyaW5nXG4gKiBAcmV0dXJuIHtzdHJpbmd9XG4gKi9cbmZ1bmN0aW9uIGNhbWVsaXplKHN0cmluZykge1xuICByZXR1cm4gc3RyaW5nLnJlcGxhY2UoX2h5cGhlblBhdHRlcm4sIGZ1bmN0aW9uIChfLCBjaGFyYWN0ZXIpIHtcbiAgICByZXR1cm4gY2hhcmFjdGVyLnRvVXBwZXJDYXNlKCk7XG4gIH0pO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGNhbWVsaXplOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/fbjs/lib/camelize.js\n"); +eval("\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n */\nvar _hyphenPattern = /-(.)/g;\n/**\n * Camelcases a hyphenated string, for example:\n *\n * > camelize('background-color')\n * < \"backgroundColor\"\n *\n * @param {string} string\n * @return {string}\n */\n\nfunction camelize(string) {\n return string.replace(_hyphenPattern, function (_, character) {\n return character.toUpperCase();\n });\n}\n\nmodule.exports = camelize;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvY2FtZWxpemUuanM/MzYwMSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBYTs7QUFFYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLE9BQU87QUFDbEIsWUFBWTtBQUNaOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9mYmpzL2xpYi9jYW1lbGl6ZS5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG4vKipcbiAqIENvcHlyaWdodCAoYykgMjAxMy1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIEB0eXBlY2hlY2tzXG4gKi9cbnZhciBfaHlwaGVuUGF0dGVybiA9IC8tKC4pL2c7XG4vKipcbiAqIENhbWVsY2FzZXMgYSBoeXBoZW5hdGVkIHN0cmluZywgZm9yIGV4YW1wbGU6XG4gKlxuICogICA+IGNhbWVsaXplKCdiYWNrZ3JvdW5kLWNvbG9yJylcbiAqICAgPCBcImJhY2tncm91bmRDb2xvclwiXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHN0cmluZ1xuICogQHJldHVybiB7c3RyaW5nfVxuICovXG5cbmZ1bmN0aW9uIGNhbWVsaXplKHN0cmluZykge1xuICByZXR1cm4gc3RyaW5nLnJlcGxhY2UoX2h5cGhlblBhdHRlcm4sIGZ1bmN0aW9uIChfLCBjaGFyYWN0ZXIpIHtcbiAgICByZXR1cm4gY2hhcmFjdGVyLnRvVXBwZXJDYXNlKCk7XG4gIH0pO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGNhbWVsaXplOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/fbjs/lib/camelize.js\n"); /***/ }), @@ -1541,7 +1768,7 @@ eval("\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nvar isTextNode = __webpack_require__(/*! ./isTextNode */ \"./node_modules/fbjs/lib/isTextNode.js\");\n\n/*eslint-disable no-bitwise */\n\n/**\n * Checks if a given DOM node contains or is another DOM node.\n */\nfunction containsNode(outerNode, innerNode) {\n if (!outerNode || !innerNode) {\n return false;\n } else if (outerNode === innerNode) {\n return true;\n } else if (isTextNode(outerNode)) {\n return false;\n } else if (isTextNode(innerNode)) {\n return containsNode(outerNode, innerNode.parentNode);\n } else if ('contains' in outerNode) {\n return outerNode.contains(innerNode);\n } else if (outerNode.compareDocumentPosition) {\n return !!(outerNode.compareDocumentPosition(innerNode) & 16);\n } else {\n return false;\n }\n}\n\nmodule.exports = containsNode;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvY29udGFpbnNOb2RlLmpzPzRkNmEiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxpQkFBaUIsbUJBQU8sQ0FBQywyREFBYzs7QUFFdkM7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0EsR0FBRztBQUNIO0FBQ0EsR0FBRztBQUNIO0FBQ0EsR0FBRztBQUNIO0FBQ0EsR0FBRztBQUNIO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9mYmpzL2xpYi9jb250YWluc05vZGUuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICogXG4gKi9cblxudmFyIGlzVGV4dE5vZGUgPSByZXF1aXJlKCcuL2lzVGV4dE5vZGUnKTtcblxuLyplc2xpbnQtZGlzYWJsZSBuby1iaXR3aXNlICovXG5cbi8qKlxuICogQ2hlY2tzIGlmIGEgZ2l2ZW4gRE9NIG5vZGUgY29udGFpbnMgb3IgaXMgYW5vdGhlciBET00gbm9kZS5cbiAqL1xuZnVuY3Rpb24gY29udGFpbnNOb2RlKG91dGVyTm9kZSwgaW5uZXJOb2RlKSB7XG4gIGlmICghb3V0ZXJOb2RlIHx8ICFpbm5lck5vZGUpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH0gZWxzZSBpZiAob3V0ZXJOb2RlID09PSBpbm5lck5vZGUpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSBlbHNlIGlmIChpc1RleHROb2RlKG91dGVyTm9kZSkpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH0gZWxzZSBpZiAoaXNUZXh0Tm9kZShpbm5lck5vZGUpKSB7XG4gICAgcmV0dXJuIGNvbnRhaW5zTm9kZShvdXRlck5vZGUsIGlubmVyTm9kZS5wYXJlbnROb2RlKTtcbiAgfSBlbHNlIGlmICgnY29udGFpbnMnIGluIG91dGVyTm9kZSkge1xuICAgIHJldHVybiBvdXRlck5vZGUuY29udGFpbnMoaW5uZXJOb2RlKTtcbiAgfSBlbHNlIGlmIChvdXRlck5vZGUuY29tcGFyZURvY3VtZW50UG9zaXRpb24pIHtcbiAgICByZXR1cm4gISEob3V0ZXJOb2RlLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGlubmVyTm9kZSkgJiAxNik7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbm1vZHVsZS5leHBvcnRzID0gY29udGFpbnNOb2RlOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/fbjs/lib/containsNode.js\n"); +eval("\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nvar isTextNode = __webpack_require__(/*! ./isTextNode */ \"./node_modules/fbjs/lib/isTextNode.js\");\n/*eslint-disable no-bitwise */\n\n/**\n * Checks if a given DOM node contains or is another DOM node.\n */\n\n\nfunction containsNode(outerNode, innerNode) {\n if (!outerNode || !innerNode) {\n return false;\n } else if (outerNode === innerNode) {\n return true;\n } else if (isTextNode(outerNode)) {\n return false;\n } else if (isTextNode(innerNode)) {\n return containsNode(outerNode, innerNode.parentNode);\n } else if ('contains' in outerNode) {\n return outerNode.contains(innerNode);\n } else if (outerNode.compareDocumentPosition) {\n return !!(outerNode.compareDocumentPosition(innerNode) & 16);\n } else {\n return false;\n }\n}\n\nmodule.exports = containsNode;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvY29udGFpbnNOb2RlLmpzPzRkNmEiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQixtQkFBTyxDQUFDLDJEQUFjO0FBQ3ZDOztBQUVBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0EsR0FBRztBQUNIO0FBQ0EsR0FBRztBQUNIO0FBQ0EsR0FBRztBQUNIO0FBQ0EsR0FBRztBQUNIO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9mYmpzL2xpYi9jb250YWluc05vZGUuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKiBcbiAqL1xudmFyIGlzVGV4dE5vZGUgPSByZXF1aXJlKFwiLi9pc1RleHROb2RlXCIpO1xuLyplc2xpbnQtZGlzYWJsZSBuby1iaXR3aXNlICovXG5cbi8qKlxuICogQ2hlY2tzIGlmIGEgZ2l2ZW4gRE9NIG5vZGUgY29udGFpbnMgb3IgaXMgYW5vdGhlciBET00gbm9kZS5cbiAqL1xuXG5cbmZ1bmN0aW9uIGNvbnRhaW5zTm9kZShvdXRlck5vZGUsIGlubmVyTm9kZSkge1xuICBpZiAoIW91dGVyTm9kZSB8fCAhaW5uZXJOb2RlKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9IGVsc2UgaWYgKG91dGVyTm9kZSA9PT0gaW5uZXJOb2RlKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH0gZWxzZSBpZiAoaXNUZXh0Tm9kZShvdXRlck5vZGUpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9IGVsc2UgaWYgKGlzVGV4dE5vZGUoaW5uZXJOb2RlKSkge1xuICAgIHJldHVybiBjb250YWluc05vZGUob3V0ZXJOb2RlLCBpbm5lck5vZGUucGFyZW50Tm9kZSk7XG4gIH0gZWxzZSBpZiAoJ2NvbnRhaW5zJyBpbiBvdXRlck5vZGUpIHtcbiAgICByZXR1cm4gb3V0ZXJOb2RlLmNvbnRhaW5zKGlubmVyTm9kZSk7XG4gIH0gZWxzZSBpZiAob3V0ZXJOb2RlLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKSB7XG4gICAgcmV0dXJuICEhKG91dGVyTm9kZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihpbm5lck5vZGUpICYgMTYpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGNvbnRhaW5zTm9kZTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/fbjs/lib/containsNode.js\n"); /***/ }), @@ -1553,7 +1780,7 @@ eval("\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n */\n\nvar invariant = __webpack_require__(/*! ./invariant */ \"./node_modules/fbjs/lib/invariant.js\");\n\n/**\n * Convert array-like objects to arrays.\n *\n * This API assumes the caller knows the contents of the data type. For less\n * well defined inputs use createArrayFromMixed.\n *\n * @param {object|function|filelist} obj\n * @return {array}\n */\nfunction toArray(obj) {\n var length = obj.length;\n\n // Some browsers builtin objects can report typeof 'function' (e.g. NodeList\n // in old versions of Safari).\n !(!Array.isArray(obj) && (typeof obj === 'object' || typeof obj === 'function')) ? true ? invariant(false, 'toArray: Array-like object expected') : undefined : void 0;\n\n !(typeof length === 'number') ? true ? invariant(false, 'toArray: Object needs a length property') : undefined : void 0;\n\n !(length === 0 || length - 1 in obj) ? true ? invariant(false, 'toArray: Object should have keys for indices') : undefined : void 0;\n\n !(typeof obj.callee !== 'function') ? true ? invariant(false, 'toArray: Object can\\'t be `arguments`. Use rest params ' + '(function(...args) {}) or Array.from() instead.') : undefined : void 0;\n\n // Old IE doesn't give collections access to hasOwnProperty. Assume inputs\n // without method will throw during the slice call and skip straight to the\n // fallback.\n if (obj.hasOwnProperty) {\n try {\n return Array.prototype.slice.call(obj);\n } catch (e) {\n // IE < 9 does not support Array#slice on collections objects\n }\n }\n\n // Fall back to copying key by key. This assumes all keys have a value,\n // so will not preserve sparsely populated inputs.\n var ret = Array(length);\n for (var ii = 0; ii < length; ii++) {\n ret[ii] = obj[ii];\n }\n return ret;\n}\n\n/**\n * Perform a heuristic test to determine if an object is \"array-like\".\n *\n * A monk asked Joshu, a Zen master, \"Has a dog Buddha nature?\"\n * Joshu replied: \"Mu.\"\n *\n * This function determines if its argument has \"array nature\": it returns\n * true if the argument is an actual array, an `arguments' object, or an\n * HTMLCollection (e.g. node.childNodes or node.getElementsByTagName()).\n *\n * It will return false for other array-like objects like Filelist.\n *\n * @param {*} obj\n * @return {boolean}\n */\nfunction hasArrayNature(obj) {\n return (\n // not null/false\n !!obj && (\n // arrays are objects, NodeLists are functions in Safari\n typeof obj == 'object' || typeof obj == 'function') &&\n // quacks like an array\n 'length' in obj &&\n // not window\n !('setInterval' in obj) &&\n // no DOM node should be considered an array-like\n // a 'select' element has 'length' and 'item' properties on IE8\n typeof obj.nodeType != 'number' && (\n // a real array\n Array.isArray(obj) ||\n // arguments\n 'callee' in obj ||\n // HTMLCollection/NodeList\n 'item' in obj)\n );\n}\n\n/**\n * Ensure that the argument is an array by wrapping it in an array if it is not.\n * Creates a copy of the argument if it is already an array.\n *\n * This is mostly useful idiomatically:\n *\n * var createArrayFromMixed = require('createArrayFromMixed');\n *\n * function takesOneOrMoreThings(things) {\n * things = createArrayFromMixed(things);\n * ...\n * }\n *\n * This allows you to treat `things' as an array, but accept scalars in the API.\n *\n * If you need to convert an array-like object, like `arguments`, into an array\n * use toArray instead.\n *\n * @param {*} obj\n * @return {array}\n */\nfunction createArrayFromMixed(obj) {\n if (!hasArrayNature(obj)) {\n return [obj];\n } else if (Array.isArray(obj)) {\n return obj.slice();\n } else {\n return toArray(obj);\n }\n}\n\nmodule.exports = createArrayFromMixed;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvY3JlYXRlQXJyYXlGcm9tTWl4ZWQuanM/YWIyZCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBYTs7QUFFYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLGdCQUFnQixtQkFBTyxDQUFDLHlEQUFhOztBQUVyQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLHlCQUF5QjtBQUNwQyxZQUFZO0FBQ1o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxxRkFBcUYsS0FBcUMsNkRBQTZELFNBQWdCOztBQUV2TSxrQ0FBa0MsS0FBcUMsaUVBQWlFLFNBQWdCOztBQUV4Six5Q0FBeUMsS0FBcUMsc0VBQXNFLFNBQWdCOztBQUVwSyx3Q0FBd0MsS0FBcUMsc0dBQXNHLCtCQUErQixTQUFnQjs7QUFFbE87QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxrQkFBa0IsYUFBYTtBQUMvQjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLEVBQUU7QUFDYixZQUFZO0FBQ1o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxFQUFFO0FBQ2IsWUFBWTtBQUNaO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9mYmpzL2xpYi9jcmVhdGVBcnJheUZyb21NaXhlZC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKiBAdHlwZWNoZWNrc1xuICovXG5cbnZhciBpbnZhcmlhbnQgPSByZXF1aXJlKCcuL2ludmFyaWFudCcpO1xuXG4vKipcbiAqIENvbnZlcnQgYXJyYXktbGlrZSBvYmplY3RzIHRvIGFycmF5cy5cbiAqXG4gKiBUaGlzIEFQSSBhc3N1bWVzIHRoZSBjYWxsZXIga25vd3MgdGhlIGNvbnRlbnRzIG9mIHRoZSBkYXRhIHR5cGUuIEZvciBsZXNzXG4gKiB3ZWxsIGRlZmluZWQgaW5wdXRzIHVzZSBjcmVhdGVBcnJheUZyb21NaXhlZC5cbiAqXG4gKiBAcGFyYW0ge29iamVjdHxmdW5jdGlvbnxmaWxlbGlzdH0gb2JqXG4gKiBAcmV0dXJuIHthcnJheX1cbiAqL1xuZnVuY3Rpb24gdG9BcnJheShvYmopIHtcbiAgdmFyIGxlbmd0aCA9IG9iai5sZW5ndGg7XG5cbiAgLy8gU29tZSBicm93c2VycyBidWlsdGluIG9iamVjdHMgY2FuIHJlcG9ydCB0eXBlb2YgJ2Z1bmN0aW9uJyAoZS5nLiBOb2RlTGlzdFxuICAvLyBpbiBvbGQgdmVyc2lvbnMgb2YgU2FmYXJpKS5cbiAgISghQXJyYXkuaXNBcnJheShvYmopICYmICh0eXBlb2Ygb2JqID09PSAnb2JqZWN0JyB8fCB0eXBlb2Ygb2JqID09PSAnZnVuY3Rpb24nKSkgPyBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nID8gaW52YXJpYW50KGZhbHNlLCAndG9BcnJheTogQXJyYXktbGlrZSBvYmplY3QgZXhwZWN0ZWQnKSA6IGludmFyaWFudChmYWxzZSkgOiB2b2lkIDA7XG5cbiAgISh0eXBlb2YgbGVuZ3RoID09PSAnbnVtYmVyJykgPyBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nID8gaW52YXJpYW50KGZhbHNlLCAndG9BcnJheTogT2JqZWN0IG5lZWRzIGEgbGVuZ3RoIHByb3BlcnR5JykgOiBpbnZhcmlhbnQoZmFsc2UpIDogdm9pZCAwO1xuXG4gICEobGVuZ3RoID09PSAwIHx8IGxlbmd0aCAtIDEgaW4gb2JqKSA/IHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgPyBpbnZhcmlhbnQoZmFsc2UsICd0b0FycmF5OiBPYmplY3Qgc2hvdWxkIGhhdmUga2V5cyBmb3IgaW5kaWNlcycpIDogaW52YXJpYW50KGZhbHNlKSA6IHZvaWQgMDtcblxuICAhKHR5cGVvZiBvYmouY2FsbGVlICE9PSAnZnVuY3Rpb24nKSA/IHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgPyBpbnZhcmlhbnQoZmFsc2UsICd0b0FycmF5OiBPYmplY3QgY2FuXFwndCBiZSBgYXJndW1lbnRzYC4gVXNlIHJlc3QgcGFyYW1zICcgKyAnKGZ1bmN0aW9uKC4uLmFyZ3MpIHt9KSBvciBBcnJheS5mcm9tKCkgaW5zdGVhZC4nKSA6IGludmFyaWFudChmYWxzZSkgOiB2b2lkIDA7XG5cbiAgLy8gT2xkIElFIGRvZXNuJ3QgZ2l2ZSBjb2xsZWN0aW9ucyBhY2Nlc3MgdG8gaGFzT3duUHJvcGVydHkuIEFzc3VtZSBpbnB1dHNcbiAgLy8gd2l0aG91dCBtZXRob2Qgd2lsbCB0aHJvdyBkdXJpbmcgdGhlIHNsaWNlIGNhbGwgYW5kIHNraXAgc3RyYWlnaHQgdG8gdGhlXG4gIC8vIGZhbGxiYWNrLlxuICBpZiAob2JqLmhhc093blByb3BlcnR5KSB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChvYmopO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIC8vIElFIDwgOSBkb2VzIG5vdCBzdXBwb3J0IEFycmF5I3NsaWNlIG9uIGNvbGxlY3Rpb25zIG9iamVjdHNcbiAgICB9XG4gIH1cblxuICAvLyBGYWxsIGJhY2sgdG8gY29weWluZyBrZXkgYnkga2V5LiBUaGlzIGFzc3VtZXMgYWxsIGtleXMgaGF2ZSBhIHZhbHVlLFxuICAvLyBzbyB3aWxsIG5vdCBwcmVzZXJ2ZSBzcGFyc2VseSBwb3B1bGF0ZWQgaW5wdXRzLlxuICB2YXIgcmV0ID0gQXJyYXkobGVuZ3RoKTtcbiAgZm9yICh2YXIgaWkgPSAwOyBpaSA8IGxlbmd0aDsgaWkrKykge1xuICAgIHJldFtpaV0gPSBvYmpbaWldO1xuICB9XG4gIHJldHVybiByZXQ7XG59XG5cbi8qKlxuICogUGVyZm9ybSBhIGhldXJpc3RpYyB0ZXN0IHRvIGRldGVybWluZSBpZiBhbiBvYmplY3QgaXMgXCJhcnJheS1saWtlXCIuXG4gKlxuICogICBBIG1vbmsgYXNrZWQgSm9zaHUsIGEgWmVuIG1hc3RlciwgXCJIYXMgYSBkb2cgQnVkZGhhIG5hdHVyZT9cIlxuICogICBKb3NodSByZXBsaWVkOiBcIk11LlwiXG4gKlxuICogVGhpcyBmdW5jdGlvbiBkZXRlcm1pbmVzIGlmIGl0cyBhcmd1bWVudCBoYXMgXCJhcnJheSBuYXR1cmVcIjogaXQgcmV0dXJuc1xuICogdHJ1ZSBpZiB0aGUgYXJndW1lbnQgaXMgYW4gYWN0dWFsIGFycmF5LCBhbiBgYXJndW1lbnRzJyBvYmplY3QsIG9yIGFuXG4gKiBIVE1MQ29sbGVjdGlvbiAoZS5nLiBub2RlLmNoaWxkTm9kZXMgb3Igbm9kZS5nZXRFbGVtZW50c0J5VGFnTmFtZSgpKS5cbiAqXG4gKiBJdCB3aWxsIHJldHVybiBmYWxzZSBmb3Igb3RoZXIgYXJyYXktbGlrZSBvYmplY3RzIGxpa2UgRmlsZWxpc3QuXG4gKlxuICogQHBhcmFtIHsqfSBvYmpcbiAqIEByZXR1cm4ge2Jvb2xlYW59XG4gKi9cbmZ1bmN0aW9uIGhhc0FycmF5TmF0dXJlKG9iaikge1xuICByZXR1cm4gKFxuICAgIC8vIG5vdCBudWxsL2ZhbHNlXG4gICAgISFvYmogJiYgKFxuICAgIC8vIGFycmF5cyBhcmUgb2JqZWN0cywgTm9kZUxpc3RzIGFyZSBmdW5jdGlvbnMgaW4gU2FmYXJpXG4gICAgdHlwZW9mIG9iaiA9PSAnb2JqZWN0JyB8fCB0eXBlb2Ygb2JqID09ICdmdW5jdGlvbicpICYmXG4gICAgLy8gcXVhY2tzIGxpa2UgYW4gYXJyYXlcbiAgICAnbGVuZ3RoJyBpbiBvYmogJiZcbiAgICAvLyBub3Qgd2luZG93XG4gICAgISgnc2V0SW50ZXJ2YWwnIGluIG9iaikgJiZcbiAgICAvLyBubyBET00gbm9kZSBzaG91bGQgYmUgY29uc2lkZXJlZCBhbiBhcnJheS1saWtlXG4gICAgLy8gYSAnc2VsZWN0JyBlbGVtZW50IGhhcyAnbGVuZ3RoJyBhbmQgJ2l0ZW0nIHByb3BlcnRpZXMgb24gSUU4XG4gICAgdHlwZW9mIG9iai5ub2RlVHlwZSAhPSAnbnVtYmVyJyAmJiAoXG4gICAgLy8gYSByZWFsIGFycmF5XG4gICAgQXJyYXkuaXNBcnJheShvYmopIHx8XG4gICAgLy8gYXJndW1lbnRzXG4gICAgJ2NhbGxlZScgaW4gb2JqIHx8XG4gICAgLy8gSFRNTENvbGxlY3Rpb24vTm9kZUxpc3RcbiAgICAnaXRlbScgaW4gb2JqKVxuICApO1xufVxuXG4vKipcbiAqIEVuc3VyZSB0aGF0IHRoZSBhcmd1bWVudCBpcyBhbiBhcnJheSBieSB3cmFwcGluZyBpdCBpbiBhbiBhcnJheSBpZiBpdCBpcyBub3QuXG4gKiBDcmVhdGVzIGEgY29weSBvZiB0aGUgYXJndW1lbnQgaWYgaXQgaXMgYWxyZWFkeSBhbiBhcnJheS5cbiAqXG4gKiBUaGlzIGlzIG1vc3RseSB1c2VmdWwgaWRpb21hdGljYWxseTpcbiAqXG4gKiAgIHZhciBjcmVhdGVBcnJheUZyb21NaXhlZCA9IHJlcXVpcmUoJ2NyZWF0ZUFycmF5RnJvbU1peGVkJyk7XG4gKlxuICogICBmdW5jdGlvbiB0YWtlc09uZU9yTW9yZVRoaW5ncyh0aGluZ3MpIHtcbiAqICAgICB0aGluZ3MgPSBjcmVhdGVBcnJheUZyb21NaXhlZCh0aGluZ3MpO1xuICogICAgIC4uLlxuICogICB9XG4gKlxuICogVGhpcyBhbGxvd3MgeW91IHRvIHRyZWF0IGB0aGluZ3MnIGFzIGFuIGFycmF5LCBidXQgYWNjZXB0IHNjYWxhcnMgaW4gdGhlIEFQSS5cbiAqXG4gKiBJZiB5b3UgbmVlZCB0byBjb252ZXJ0IGFuIGFycmF5LWxpa2Ugb2JqZWN0LCBsaWtlIGBhcmd1bWVudHNgLCBpbnRvIGFuIGFycmF5XG4gKiB1c2UgdG9BcnJheSBpbnN0ZWFkLlxuICpcbiAqIEBwYXJhbSB7Kn0gb2JqXG4gKiBAcmV0dXJuIHthcnJheX1cbiAqL1xuZnVuY3Rpb24gY3JlYXRlQXJyYXlGcm9tTWl4ZWQob2JqKSB7XG4gIGlmICghaGFzQXJyYXlOYXR1cmUob2JqKSkge1xuICAgIHJldHVybiBbb2JqXTtcbiAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KG9iaikpIHtcbiAgICByZXR1cm4gb2JqLnNsaWNlKCk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHRvQXJyYXkob2JqKTtcbiAgfVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGNyZWF0ZUFycmF5RnJvbU1peGVkOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/fbjs/lib/createArrayFromMixed.js\n"); +eval("\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n */\nvar invariant = __webpack_require__(/*! ./invariant */ \"./node_modules/fbjs/lib/invariant.js\");\n/**\n * Convert array-like objects to arrays.\n *\n * This API assumes the caller knows the contents of the data type. For less\n * well defined inputs use createArrayFromMixed.\n *\n * @param {object|function|filelist} obj\n * @return {array}\n */\n\n\nfunction toArray(obj) {\n var length = obj.length; // Some browsers builtin objects can report typeof 'function' (e.g. NodeList\n // in old versions of Safari).\n\n !(!Array.isArray(obj) && (typeof obj === 'object' || typeof obj === 'function')) ? true ? invariant(false, 'toArray: Array-like object expected') : undefined : void 0;\n !(typeof length === 'number') ? true ? invariant(false, 'toArray: Object needs a length property') : undefined : void 0;\n !(length === 0 || length - 1 in obj) ? true ? invariant(false, 'toArray: Object should have keys for indices') : undefined : void 0;\n !(typeof obj.callee !== 'function') ? true ? invariant(false, 'toArray: Object can\\'t be `arguments`. Use rest params ' + '(function(...args) {}) or Array.from() instead.') : undefined : void 0; // Old IE doesn't give collections access to hasOwnProperty. Assume inputs\n // without method will throw during the slice call and skip straight to the\n // fallback.\n\n if (obj.hasOwnProperty) {\n try {\n return Array.prototype.slice.call(obj);\n } catch (e) {// IE < 9 does not support Array#slice on collections objects\n }\n } // Fall back to copying key by key. This assumes all keys have a value,\n // so will not preserve sparsely populated inputs.\n\n\n var ret = Array(length);\n\n for (var ii = 0; ii < length; ii++) {\n ret[ii] = obj[ii];\n }\n\n return ret;\n}\n/**\n * Perform a heuristic test to determine if an object is \"array-like\".\n *\n * A monk asked Joshu, a Zen master, \"Has a dog Buddha nature?\"\n * Joshu replied: \"Mu.\"\n *\n * This function determines if its argument has \"array nature\": it returns\n * true if the argument is an actual array, an `arguments' object, or an\n * HTMLCollection (e.g. node.childNodes or node.getElementsByTagName()).\n *\n * It will return false for other array-like objects like Filelist.\n *\n * @param {*} obj\n * @return {boolean}\n */\n\n\nfunction hasArrayNature(obj) {\n return (// not null/false\n !!obj && ( // arrays are objects, NodeLists are functions in Safari\n typeof obj == 'object' || typeof obj == 'function') && // quacks like an array\n 'length' in obj && // not window\n !('setInterval' in obj) && // no DOM node should be considered an array-like\n // a 'select' element has 'length' and 'item' properties on IE8\n typeof obj.nodeType != 'number' && ( // a real array\n Array.isArray(obj) || // arguments\n 'callee' in obj || // HTMLCollection/NodeList\n 'item' in obj)\n );\n}\n/**\n * Ensure that the argument is an array by wrapping it in an array if it is not.\n * Creates a copy of the argument if it is already an array.\n *\n * This is mostly useful idiomatically:\n *\n * var createArrayFromMixed = require('createArrayFromMixed');\n *\n * function takesOneOrMoreThings(things) {\n * things = createArrayFromMixed(things);\n * ...\n * }\n *\n * This allows you to treat `things' as an array, but accept scalars in the API.\n *\n * If you need to convert an array-like object, like `arguments`, into an array\n * use toArray instead.\n *\n * @param {*} obj\n * @return {array}\n */\n\n\nfunction createArrayFromMixed(obj) {\n if (!hasArrayNature(obj)) {\n return [obj];\n } else if (Array.isArray(obj)) {\n return obj.slice();\n } else {\n return toArray(obj);\n }\n}\n\nmodule.exports = createArrayFromMixed;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvY3JlYXRlQXJyYXlGcm9tTWl4ZWQuanM/YWIyZCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBYTs7QUFFYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCLG1CQUFPLENBQUMseURBQWE7QUFDckM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyx5QkFBeUI7QUFDcEMsWUFBWTtBQUNaOzs7QUFHQTtBQUNBLDBCQUEwQjtBQUMxQjs7QUFFQSxxRkFBcUYsS0FBcUMsNkRBQTZELFNBQWdCO0FBQ3ZNLGtDQUFrQyxLQUFxQyxpRUFBaUUsU0FBZ0I7QUFDeEoseUNBQXlDLEtBQXFDLHNFQUFzRSxTQUFnQjtBQUNwSyx3Q0FBd0MsS0FBcUMsc0dBQXNHLCtCQUErQixTQUFnQixVQUFVO0FBQzVPO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSyxZQUFZO0FBQ2pCO0FBQ0EsR0FBRztBQUNIOzs7QUFHQTs7QUFFQSxrQkFBa0IsYUFBYTtBQUMvQjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLEVBQUU7QUFDYixZQUFZO0FBQ1o7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxFQUFFO0FBQ2IsWUFBWTtBQUNaOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBOztBQUVBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2ZianMvbGliL2NyZWF0ZUFycmF5RnJvbU1peGVkLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICogQHR5cGVjaGVja3NcbiAqL1xudmFyIGludmFyaWFudCA9IHJlcXVpcmUoXCIuL2ludmFyaWFudFwiKTtcbi8qKlxuICogQ29udmVydCBhcnJheS1saWtlIG9iamVjdHMgdG8gYXJyYXlzLlxuICpcbiAqIFRoaXMgQVBJIGFzc3VtZXMgdGhlIGNhbGxlciBrbm93cyB0aGUgY29udGVudHMgb2YgdGhlIGRhdGEgdHlwZS4gRm9yIGxlc3NcbiAqIHdlbGwgZGVmaW5lZCBpbnB1dHMgdXNlIGNyZWF0ZUFycmF5RnJvbU1peGVkLlxuICpcbiAqIEBwYXJhbSB7b2JqZWN0fGZ1bmN0aW9ufGZpbGVsaXN0fSBvYmpcbiAqIEByZXR1cm4ge2FycmF5fVxuICovXG5cblxuZnVuY3Rpb24gdG9BcnJheShvYmopIHtcbiAgdmFyIGxlbmd0aCA9IG9iai5sZW5ndGg7IC8vIFNvbWUgYnJvd3NlcnMgYnVpbHRpbiBvYmplY3RzIGNhbiByZXBvcnQgdHlwZW9mICdmdW5jdGlvbicgKGUuZy4gTm9kZUxpc3RcbiAgLy8gaW4gb2xkIHZlcnNpb25zIG9mIFNhZmFyaSkuXG5cbiAgISghQXJyYXkuaXNBcnJheShvYmopICYmICh0eXBlb2Ygb2JqID09PSAnb2JqZWN0JyB8fCB0eXBlb2Ygb2JqID09PSAnZnVuY3Rpb24nKSkgPyBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIgPyBpbnZhcmlhbnQoZmFsc2UsICd0b0FycmF5OiBBcnJheS1saWtlIG9iamVjdCBleHBlY3RlZCcpIDogaW52YXJpYW50KGZhbHNlKSA6IHZvaWQgMDtcbiAgISh0eXBlb2YgbGVuZ3RoID09PSAnbnVtYmVyJykgPyBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIgPyBpbnZhcmlhbnQoZmFsc2UsICd0b0FycmF5OiBPYmplY3QgbmVlZHMgYSBsZW5ndGggcHJvcGVydHknKSA6IGludmFyaWFudChmYWxzZSkgOiB2b2lkIDA7XG4gICEobGVuZ3RoID09PSAwIHx8IGxlbmd0aCAtIDEgaW4gb2JqKSA/IHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIiA/IGludmFyaWFudChmYWxzZSwgJ3RvQXJyYXk6IE9iamVjdCBzaG91bGQgaGF2ZSBrZXlzIGZvciBpbmRpY2VzJykgOiBpbnZhcmlhbnQoZmFsc2UpIDogdm9pZCAwO1xuICAhKHR5cGVvZiBvYmouY2FsbGVlICE9PSAnZnVuY3Rpb24nKSA/IHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIiA/IGludmFyaWFudChmYWxzZSwgJ3RvQXJyYXk6IE9iamVjdCBjYW5cXCd0IGJlIGBhcmd1bWVudHNgLiBVc2UgcmVzdCBwYXJhbXMgJyArICcoZnVuY3Rpb24oLi4uYXJncykge30pIG9yIEFycmF5LmZyb20oKSBpbnN0ZWFkLicpIDogaW52YXJpYW50KGZhbHNlKSA6IHZvaWQgMDsgLy8gT2xkIElFIGRvZXNuJ3QgZ2l2ZSBjb2xsZWN0aW9ucyBhY2Nlc3MgdG8gaGFzT3duUHJvcGVydHkuIEFzc3VtZSBpbnB1dHNcbiAgLy8gd2l0aG91dCBtZXRob2Qgd2lsbCB0aHJvdyBkdXJpbmcgdGhlIHNsaWNlIGNhbGwgYW5kIHNraXAgc3RyYWlnaHQgdG8gdGhlXG4gIC8vIGZhbGxiYWNrLlxuXG4gIGlmIChvYmouaGFzT3duUHJvcGVydHkpIHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKG9iaik7XG4gICAgfSBjYXRjaCAoZSkgey8vIElFIDwgOSBkb2VzIG5vdCBzdXBwb3J0IEFycmF5I3NsaWNlIG9uIGNvbGxlY3Rpb25zIG9iamVjdHNcbiAgICB9XG4gIH0gLy8gRmFsbCBiYWNrIHRvIGNvcHlpbmcga2V5IGJ5IGtleS4gVGhpcyBhc3N1bWVzIGFsbCBrZXlzIGhhdmUgYSB2YWx1ZSxcbiAgLy8gc28gd2lsbCBub3QgcHJlc2VydmUgc3BhcnNlbHkgcG9wdWxhdGVkIGlucHV0cy5cblxuXG4gIHZhciByZXQgPSBBcnJheShsZW5ndGgpO1xuXG4gIGZvciAodmFyIGlpID0gMDsgaWkgPCBsZW5ndGg7IGlpKyspIHtcbiAgICByZXRbaWldID0gb2JqW2lpXTtcbiAgfVxuXG4gIHJldHVybiByZXQ7XG59XG4vKipcbiAqIFBlcmZvcm0gYSBoZXVyaXN0aWMgdGVzdCB0byBkZXRlcm1pbmUgaWYgYW4gb2JqZWN0IGlzIFwiYXJyYXktbGlrZVwiLlxuICpcbiAqICAgQSBtb25rIGFza2VkIEpvc2h1LCBhIFplbiBtYXN0ZXIsIFwiSGFzIGEgZG9nIEJ1ZGRoYSBuYXR1cmU/XCJcbiAqICAgSm9zaHUgcmVwbGllZDogXCJNdS5cIlxuICpcbiAqIFRoaXMgZnVuY3Rpb24gZGV0ZXJtaW5lcyBpZiBpdHMgYXJndW1lbnQgaGFzIFwiYXJyYXkgbmF0dXJlXCI6IGl0IHJldHVybnNcbiAqIHRydWUgaWYgdGhlIGFyZ3VtZW50IGlzIGFuIGFjdHVhbCBhcnJheSwgYW4gYGFyZ3VtZW50cycgb2JqZWN0LCBvciBhblxuICogSFRNTENvbGxlY3Rpb24gKGUuZy4gbm9kZS5jaGlsZE5vZGVzIG9yIG5vZGUuZ2V0RWxlbWVudHNCeVRhZ05hbWUoKSkuXG4gKlxuICogSXQgd2lsbCByZXR1cm4gZmFsc2UgZm9yIG90aGVyIGFycmF5LWxpa2Ugb2JqZWN0cyBsaWtlIEZpbGVsaXN0LlxuICpcbiAqIEBwYXJhbSB7Kn0gb2JqXG4gKiBAcmV0dXJuIHtib29sZWFufVxuICovXG5cblxuZnVuY3Rpb24gaGFzQXJyYXlOYXR1cmUob2JqKSB7XG4gIHJldHVybiAoLy8gbm90IG51bGwvZmFsc2VcbiAgICAhIW9iaiAmJiAoIC8vIGFycmF5cyBhcmUgb2JqZWN0cywgTm9kZUxpc3RzIGFyZSBmdW5jdGlvbnMgaW4gU2FmYXJpXG4gICAgdHlwZW9mIG9iaiA9PSAnb2JqZWN0JyB8fCB0eXBlb2Ygb2JqID09ICdmdW5jdGlvbicpICYmIC8vIHF1YWNrcyBsaWtlIGFuIGFycmF5XG4gICAgJ2xlbmd0aCcgaW4gb2JqICYmIC8vIG5vdCB3aW5kb3dcbiAgICAhKCdzZXRJbnRlcnZhbCcgaW4gb2JqKSAmJiAvLyBubyBET00gbm9kZSBzaG91bGQgYmUgY29uc2lkZXJlZCBhbiBhcnJheS1saWtlXG4gICAgLy8gYSAnc2VsZWN0JyBlbGVtZW50IGhhcyAnbGVuZ3RoJyBhbmQgJ2l0ZW0nIHByb3BlcnRpZXMgb24gSUU4XG4gICAgdHlwZW9mIG9iai5ub2RlVHlwZSAhPSAnbnVtYmVyJyAmJiAoIC8vIGEgcmVhbCBhcnJheVxuICAgIEFycmF5LmlzQXJyYXkob2JqKSB8fCAvLyBhcmd1bWVudHNcbiAgICAnY2FsbGVlJyBpbiBvYmogfHwgLy8gSFRNTENvbGxlY3Rpb24vTm9kZUxpc3RcbiAgICAnaXRlbScgaW4gb2JqKVxuICApO1xufVxuLyoqXG4gKiBFbnN1cmUgdGhhdCB0aGUgYXJndW1lbnQgaXMgYW4gYXJyYXkgYnkgd3JhcHBpbmcgaXQgaW4gYW4gYXJyYXkgaWYgaXQgaXMgbm90LlxuICogQ3JlYXRlcyBhIGNvcHkgb2YgdGhlIGFyZ3VtZW50IGlmIGl0IGlzIGFscmVhZHkgYW4gYXJyYXkuXG4gKlxuICogVGhpcyBpcyBtb3N0bHkgdXNlZnVsIGlkaW9tYXRpY2FsbHk6XG4gKlxuICogICB2YXIgY3JlYXRlQXJyYXlGcm9tTWl4ZWQgPSByZXF1aXJlKCdjcmVhdGVBcnJheUZyb21NaXhlZCcpO1xuICpcbiAqICAgZnVuY3Rpb24gdGFrZXNPbmVPck1vcmVUaGluZ3ModGhpbmdzKSB7XG4gKiAgICAgdGhpbmdzID0gY3JlYXRlQXJyYXlGcm9tTWl4ZWQodGhpbmdzKTtcbiAqICAgICAuLi5cbiAqICAgfVxuICpcbiAqIFRoaXMgYWxsb3dzIHlvdSB0byB0cmVhdCBgdGhpbmdzJyBhcyBhbiBhcnJheSwgYnV0IGFjY2VwdCBzY2FsYXJzIGluIHRoZSBBUEkuXG4gKlxuICogSWYgeW91IG5lZWQgdG8gY29udmVydCBhbiBhcnJheS1saWtlIG9iamVjdCwgbGlrZSBgYXJndW1lbnRzYCwgaW50byBhbiBhcnJheVxuICogdXNlIHRvQXJyYXkgaW5zdGVhZC5cbiAqXG4gKiBAcGFyYW0geyp9IG9ialxuICogQHJldHVybiB7YXJyYXl9XG4gKi9cblxuXG5mdW5jdGlvbiBjcmVhdGVBcnJheUZyb21NaXhlZChvYmopIHtcbiAgaWYgKCFoYXNBcnJheU5hdHVyZShvYmopKSB7XG4gICAgcmV0dXJuIFtvYmpdO1xuICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkob2JqKSkge1xuICAgIHJldHVybiBvYmouc2xpY2UoKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gdG9BcnJheShvYmopO1xuICB9XG59XG5cbm1vZHVsZS5leHBvcnRzID0gY3JlYXRlQXJyYXlGcm9tTWl4ZWQ7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/fbjs/lib/createArrayFromMixed.js\n"); /***/ }), @@ -1565,7 +1792,7 @@ eval("\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n/**\n * This function is used to mark string literals representing CSS class names\n * so that they can be transformed statically. This allows for modularization\n * and minification of CSS class names.\n *\n * In static_upstream, this function is actually implemented, but it should\n * eventually be replaced with something more descriptive, and the transform\n * that is used in the main stack should be ported for use elsewhere.\n *\n * @param string|object className to modularize, or an object of key/values.\n * In the object case, the values are conditions that\n * determine if the className keys should be included.\n * @param [string ...] Variable list of classNames in the string case.\n * @return string Renderable space-separated CSS className.\n */\nfunction cx(classNames) {\n if (typeof classNames == 'object') {\n return Object.keys(classNames).filter(function (className) {\n return classNames[className];\n }).map(replace).join(' ');\n }\n return Array.prototype.map.call(arguments, replace).join(' ');\n}\n\nfunction replace(str) {\n return str.replace(/\\//g, '-');\n}\n\nmodule.exports = cx;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvY3guanM/NjE1MiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBYTs7QUFFYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2ZianMvbGliL2N4LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG4vKipcbiAqIENvcHlyaWdodCAoYykgMjAxMy1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqL1xuXG4vKipcbiAqIFRoaXMgZnVuY3Rpb24gaXMgdXNlZCB0byBtYXJrIHN0cmluZyBsaXRlcmFscyByZXByZXNlbnRpbmcgQ1NTIGNsYXNzIG5hbWVzXG4gKiBzbyB0aGF0IHRoZXkgY2FuIGJlIHRyYW5zZm9ybWVkIHN0YXRpY2FsbHkuIFRoaXMgYWxsb3dzIGZvciBtb2R1bGFyaXphdGlvblxuICogYW5kIG1pbmlmaWNhdGlvbiBvZiBDU1MgY2xhc3MgbmFtZXMuXG4gKlxuICogSW4gc3RhdGljX3Vwc3RyZWFtLCB0aGlzIGZ1bmN0aW9uIGlzIGFjdHVhbGx5IGltcGxlbWVudGVkLCBidXQgaXQgc2hvdWxkXG4gKiBldmVudHVhbGx5IGJlIHJlcGxhY2VkIHdpdGggc29tZXRoaW5nIG1vcmUgZGVzY3JpcHRpdmUsIGFuZCB0aGUgdHJhbnNmb3JtXG4gKiB0aGF0IGlzIHVzZWQgaW4gdGhlIG1haW4gc3RhY2sgc2hvdWxkIGJlIHBvcnRlZCBmb3IgdXNlIGVsc2V3aGVyZS5cbiAqXG4gKiBAcGFyYW0gc3RyaW5nfG9iamVjdCBjbGFzc05hbWUgdG8gbW9kdWxhcml6ZSwgb3IgYW4gb2JqZWN0IG9mIGtleS92YWx1ZXMuXG4gKiAgICAgICAgICAgICAgICAgICAgICBJbiB0aGUgb2JqZWN0IGNhc2UsIHRoZSB2YWx1ZXMgYXJlIGNvbmRpdGlvbnMgdGhhdFxuICogICAgICAgICAgICAgICAgICAgICAgZGV0ZXJtaW5lIGlmIHRoZSBjbGFzc05hbWUga2V5cyBzaG91bGQgYmUgaW5jbHVkZWQuXG4gKiBAcGFyYW0gW3N0cmluZyAuLi5dICBWYXJpYWJsZSBsaXN0IG9mIGNsYXNzTmFtZXMgaW4gdGhlIHN0cmluZyBjYXNlLlxuICogQHJldHVybiBzdHJpbmcgICAgICAgUmVuZGVyYWJsZSBzcGFjZS1zZXBhcmF0ZWQgQ1NTIGNsYXNzTmFtZS5cbiAqL1xuZnVuY3Rpb24gY3goY2xhc3NOYW1lcykge1xuICBpZiAodHlwZW9mIGNsYXNzTmFtZXMgPT0gJ29iamVjdCcpIHtcbiAgICByZXR1cm4gT2JqZWN0LmtleXMoY2xhc3NOYW1lcykuZmlsdGVyKGZ1bmN0aW9uIChjbGFzc05hbWUpIHtcbiAgICAgIHJldHVybiBjbGFzc05hbWVzW2NsYXNzTmFtZV07XG4gICAgfSkubWFwKHJlcGxhY2UpLmpvaW4oJyAnKTtcbiAgfVxuICByZXR1cm4gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKGFyZ3VtZW50cywgcmVwbGFjZSkuam9pbignICcpO1xufVxuXG5mdW5jdGlvbiByZXBsYWNlKHN0cikge1xuICByZXR1cm4gc3RyLnJlcGxhY2UoL1xcLy9nLCAnLScpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGN4OyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/fbjs/lib/cx.js\n"); +eval("\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n/**\n * This function is used to mark string literals representing CSS class names\n * so that they can be transformed statically. This allows for modularization\n * and minification of CSS class names.\n *\n * In static_upstream, this function is actually implemented, but it should\n * eventually be replaced with something more descriptive, and the transform\n * that is used in the main stack should be ported for use elsewhere.\n *\n * @param string|object className to modularize, or an object of key/values.\n * In the object case, the values are conditions that\n * determine if the className keys should be included.\n * @param [string ...] Variable list of classNames in the string case.\n * @return string Renderable space-separated CSS className.\n */\nfunction cx(classNames) {\n if (typeof classNames == 'object') {\n return Object.keys(classNames).filter(function (className) {\n return classNames[className];\n }).map(replace).join(' ');\n }\n\n return Array.prototype.map.call(arguments, replace).join(' ');\n}\n\nfunction replace(str) {\n return str.replace(/\\//g, '-');\n}\n\nmodule.exports = cx;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvY3guanM/NjE1MiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBYTs7QUFFYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9mYmpzL2xpYi9jeC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG4vKipcbiAqIENvcHlyaWdodCAoYykgMjAxMy1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqL1xuXG4vKipcbiAqIFRoaXMgZnVuY3Rpb24gaXMgdXNlZCB0byBtYXJrIHN0cmluZyBsaXRlcmFscyByZXByZXNlbnRpbmcgQ1NTIGNsYXNzIG5hbWVzXG4gKiBzbyB0aGF0IHRoZXkgY2FuIGJlIHRyYW5zZm9ybWVkIHN0YXRpY2FsbHkuIFRoaXMgYWxsb3dzIGZvciBtb2R1bGFyaXphdGlvblxuICogYW5kIG1pbmlmaWNhdGlvbiBvZiBDU1MgY2xhc3MgbmFtZXMuXG4gKlxuICogSW4gc3RhdGljX3Vwc3RyZWFtLCB0aGlzIGZ1bmN0aW9uIGlzIGFjdHVhbGx5IGltcGxlbWVudGVkLCBidXQgaXQgc2hvdWxkXG4gKiBldmVudHVhbGx5IGJlIHJlcGxhY2VkIHdpdGggc29tZXRoaW5nIG1vcmUgZGVzY3JpcHRpdmUsIGFuZCB0aGUgdHJhbnNmb3JtXG4gKiB0aGF0IGlzIHVzZWQgaW4gdGhlIG1haW4gc3RhY2sgc2hvdWxkIGJlIHBvcnRlZCBmb3IgdXNlIGVsc2V3aGVyZS5cbiAqXG4gKiBAcGFyYW0gc3RyaW5nfG9iamVjdCBjbGFzc05hbWUgdG8gbW9kdWxhcml6ZSwgb3IgYW4gb2JqZWN0IG9mIGtleS92YWx1ZXMuXG4gKiAgICAgICAgICAgICAgICAgICAgICBJbiB0aGUgb2JqZWN0IGNhc2UsIHRoZSB2YWx1ZXMgYXJlIGNvbmRpdGlvbnMgdGhhdFxuICogICAgICAgICAgICAgICAgICAgICAgZGV0ZXJtaW5lIGlmIHRoZSBjbGFzc05hbWUga2V5cyBzaG91bGQgYmUgaW5jbHVkZWQuXG4gKiBAcGFyYW0gW3N0cmluZyAuLi5dICBWYXJpYWJsZSBsaXN0IG9mIGNsYXNzTmFtZXMgaW4gdGhlIHN0cmluZyBjYXNlLlxuICogQHJldHVybiBzdHJpbmcgICAgICAgUmVuZGVyYWJsZSBzcGFjZS1zZXBhcmF0ZWQgQ1NTIGNsYXNzTmFtZS5cbiAqL1xuZnVuY3Rpb24gY3goY2xhc3NOYW1lcykge1xuICBpZiAodHlwZW9mIGNsYXNzTmFtZXMgPT0gJ29iamVjdCcpIHtcbiAgICByZXR1cm4gT2JqZWN0LmtleXMoY2xhc3NOYW1lcykuZmlsdGVyKGZ1bmN0aW9uIChjbGFzc05hbWUpIHtcbiAgICAgIHJldHVybiBjbGFzc05hbWVzW2NsYXNzTmFtZV07XG4gICAgfSkubWFwKHJlcGxhY2UpLmpvaW4oJyAnKTtcbiAgfVxuXG4gIHJldHVybiBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwoYXJndW1lbnRzLCByZXBsYWNlKS5qb2luKCcgJyk7XG59XG5cbmZ1bmN0aW9uIHJlcGxhY2Uoc3RyKSB7XG4gIHJldHVybiBzdHIucmVwbGFjZSgvXFwvL2csICctJyk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gY3g7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/fbjs/lib/cx.js\n"); /***/ }), @@ -1577,7 +1804,7 @@ eval("\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nfunction makeEmptyFunction(arg) {\n return function () {\n return arg;\n };\n}\n\n/**\n * This function accepts and discards inputs; it has no side effects. This is\n * primarily useful idiomatically for overridable function endpoints which\n * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n */\nvar emptyFunction = function emptyFunction() {};\n\nemptyFunction.thatReturns = makeEmptyFunction;\nemptyFunction.thatReturnsFalse = makeEmptyFunction(false);\nemptyFunction.thatReturnsTrue = makeEmptyFunction(true);\nemptyFunction.thatReturnsNull = makeEmptyFunction(null);\nemptyFunction.thatReturnsThis = function () {\n return this;\n};\nemptyFunction.thatReturnsArgument = function (arg) {\n return arg;\n};\n\nmodule.exports = emptyFunction;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvZW1wdHlGdW5jdGlvbi5qcz9hMjExIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFhOztBQUViO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLDZDQUE2QztBQUM3QztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9mYmpzL2xpYi9lbXB0eUZ1bmN0aW9uLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICogXG4gKi9cblxuZnVuY3Rpb24gbWFrZUVtcHR5RnVuY3Rpb24oYXJnKSB7XG4gIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgcmV0dXJuIGFyZztcbiAgfTtcbn1cblxuLyoqXG4gKiBUaGlzIGZ1bmN0aW9uIGFjY2VwdHMgYW5kIGRpc2NhcmRzIGlucHV0czsgaXQgaGFzIG5vIHNpZGUgZWZmZWN0cy4gVGhpcyBpc1xuICogcHJpbWFyaWx5IHVzZWZ1bCBpZGlvbWF0aWNhbGx5IGZvciBvdmVycmlkYWJsZSBmdW5jdGlvbiBlbmRwb2ludHMgd2hpY2hcbiAqIGFsd2F5cyBuZWVkIHRvIGJlIGNhbGxhYmxlLCBzaW5jZSBKUyBsYWNrcyBhIG51bGwtY2FsbCBpZGlvbSBhbGEgQ29jb2EuXG4gKi9cbnZhciBlbXB0eUZ1bmN0aW9uID0gZnVuY3Rpb24gZW1wdHlGdW5jdGlvbigpIHt9O1xuXG5lbXB0eUZ1bmN0aW9uLnRoYXRSZXR1cm5zID0gbWFrZUVtcHR5RnVuY3Rpb247XG5lbXB0eUZ1bmN0aW9uLnRoYXRSZXR1cm5zRmFsc2UgPSBtYWtlRW1wdHlGdW5jdGlvbihmYWxzZSk7XG5lbXB0eUZ1bmN0aW9uLnRoYXRSZXR1cm5zVHJ1ZSA9IG1ha2VFbXB0eUZ1bmN0aW9uKHRydWUpO1xuZW1wdHlGdW5jdGlvbi50aGF0UmV0dXJuc051bGwgPSBtYWtlRW1wdHlGdW5jdGlvbihudWxsKTtcbmVtcHR5RnVuY3Rpb24udGhhdFJldHVybnNUaGlzID0gZnVuY3Rpb24gKCkge1xuICByZXR1cm4gdGhpcztcbn07XG5lbXB0eUZ1bmN0aW9uLnRoYXRSZXR1cm5zQXJndW1lbnQgPSBmdW5jdGlvbiAoYXJnKSB7XG4gIHJldHVybiBhcmc7XG59O1xuXG5tb2R1bGUuZXhwb3J0cyA9IGVtcHR5RnVuY3Rpb247Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/fbjs/lib/emptyFunction.js\n"); +eval("\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nfunction makeEmptyFunction(arg) {\n return function () {\n return arg;\n };\n}\n/**\n * This function accepts and discards inputs; it has no side effects. This is\n * primarily useful idiomatically for overridable function endpoints which\n * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n */\n\n\nvar emptyFunction = function emptyFunction() {};\n\nemptyFunction.thatReturns = makeEmptyFunction;\nemptyFunction.thatReturnsFalse = makeEmptyFunction(false);\nemptyFunction.thatReturnsTrue = makeEmptyFunction(true);\nemptyFunction.thatReturnsNull = makeEmptyFunction(null);\n\nemptyFunction.thatReturnsThis = function () {\n return this;\n};\n\nemptyFunction.thatReturnsArgument = function (arg) {\n return arg;\n};\n\nmodule.exports = emptyFunction;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvZW1wdHlGdW5jdGlvbi5qcz9hMjExIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFhOztBQUViO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2Q0FBNkM7QUFDN0M7QUFDQTtBQUNBOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2ZianMvbGliL2VtcHR5RnVuY3Rpb24uanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKiBcbiAqL1xuZnVuY3Rpb24gbWFrZUVtcHR5RnVuY3Rpb24oYXJnKSB7XG4gIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgcmV0dXJuIGFyZztcbiAgfTtcbn1cbi8qKlxuICogVGhpcyBmdW5jdGlvbiBhY2NlcHRzIGFuZCBkaXNjYXJkcyBpbnB1dHM7IGl0IGhhcyBubyBzaWRlIGVmZmVjdHMuIFRoaXMgaXNcbiAqIHByaW1hcmlseSB1c2VmdWwgaWRpb21hdGljYWxseSBmb3Igb3ZlcnJpZGFibGUgZnVuY3Rpb24gZW5kcG9pbnRzIHdoaWNoXG4gKiBhbHdheXMgbmVlZCB0byBiZSBjYWxsYWJsZSwgc2luY2UgSlMgbGFja3MgYSBudWxsLWNhbGwgaWRpb20gYWxhIENvY29hLlxuICovXG5cblxudmFyIGVtcHR5RnVuY3Rpb24gPSBmdW5jdGlvbiBlbXB0eUZ1bmN0aW9uKCkge307XG5cbmVtcHR5RnVuY3Rpb24udGhhdFJldHVybnMgPSBtYWtlRW1wdHlGdW5jdGlvbjtcbmVtcHR5RnVuY3Rpb24udGhhdFJldHVybnNGYWxzZSA9IG1ha2VFbXB0eUZ1bmN0aW9uKGZhbHNlKTtcbmVtcHR5RnVuY3Rpb24udGhhdFJldHVybnNUcnVlID0gbWFrZUVtcHR5RnVuY3Rpb24odHJ1ZSk7XG5lbXB0eUZ1bmN0aW9uLnRoYXRSZXR1cm5zTnVsbCA9IG1ha2VFbXB0eUZ1bmN0aW9uKG51bGwpO1xuXG5lbXB0eUZ1bmN0aW9uLnRoYXRSZXR1cm5zVGhpcyA9IGZ1bmN0aW9uICgpIHtcbiAgcmV0dXJuIHRoaXM7XG59O1xuXG5lbXB0eUZ1bmN0aW9uLnRoYXRSZXR1cm5zQXJndW1lbnQgPSBmdW5jdGlvbiAoYXJnKSB7XG4gIHJldHVybiBhcmc7XG59O1xuXG5tb2R1bGUuZXhwb3J0cyA9IGVtcHR5RnVuY3Rpb247Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/fbjs/lib/emptyFunction.js\n"); /***/ }), @@ -1589,7 +1816,7 @@ eval("\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n */\n\n/* eslint-disable fb-www/typeof-undefined */\n\n/**\n * Same as document.activeElement but wraps in a try-catch block. In IE it is\n * not safe to call document.activeElement if there is nothing focused.\n *\n * The activeElement will be null only if the document or document body is not\n * yet defined.\n *\n * @param {?DOMDocument} doc Defaults to current document.\n * @return {?DOMElement}\n */\nfunction getActiveElement(doc) /*?DOMElement*/{\n doc = doc || (typeof document !== 'undefined' ? document : undefined);\n if (typeof doc === 'undefined') {\n return null;\n }\n try {\n return doc.activeElement || doc.body;\n } catch (e) {\n return doc.body;\n }\n}\n\nmodule.exports = getActiveElement;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvZ2V0QWN0aXZlRWxlbWVudC5qcz84ZTVkIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFhOztBQUViO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLGFBQWE7QUFDeEIsWUFBWTtBQUNaO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBOztBQUVBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2ZianMvbGliL2dldEFjdGl2ZUVsZW1lbnQuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICogQHR5cGVjaGVja3NcbiAqL1xuXG4vKiBlc2xpbnQtZGlzYWJsZSBmYi13d3cvdHlwZW9mLXVuZGVmaW5lZCAqL1xuXG4vKipcbiAqIFNhbWUgYXMgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBidXQgd3JhcHMgaW4gYSB0cnktY2F0Y2ggYmxvY2suIEluIElFIGl0IGlzXG4gKiBub3Qgc2FmZSB0byBjYWxsIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgaWYgdGhlcmUgaXMgbm90aGluZyBmb2N1c2VkLlxuICpcbiAqIFRoZSBhY3RpdmVFbGVtZW50IHdpbGwgYmUgbnVsbCBvbmx5IGlmIHRoZSBkb2N1bWVudCBvciBkb2N1bWVudCBib2R5IGlzIG5vdFxuICogeWV0IGRlZmluZWQuXG4gKlxuICogQHBhcmFtIHs/RE9NRG9jdW1lbnR9IGRvYyBEZWZhdWx0cyB0byBjdXJyZW50IGRvY3VtZW50LlxuICogQHJldHVybiB7P0RPTUVsZW1lbnR9XG4gKi9cbmZ1bmN0aW9uIGdldEFjdGl2ZUVsZW1lbnQoZG9jKSAvKj9ET01FbGVtZW50Ki97XG4gIGRvYyA9IGRvYyB8fCAodHlwZW9mIGRvY3VtZW50ICE9PSAndW5kZWZpbmVkJyA/IGRvY3VtZW50IDogdW5kZWZpbmVkKTtcbiAgaWYgKHR5cGVvZiBkb2MgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgdHJ5IHtcbiAgICByZXR1cm4gZG9jLmFjdGl2ZUVsZW1lbnQgfHwgZG9jLmJvZHk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICByZXR1cm4gZG9jLmJvZHk7XG4gIH1cbn1cblxubW9kdWxlLmV4cG9ydHMgPSBnZXRBY3RpdmVFbGVtZW50OyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/fbjs/lib/getActiveElement.js\n"); +eval("\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n */\n\n/* eslint-disable fb-www/typeof-undefined */\n\n/**\n * Same as document.activeElement but wraps in a try-catch block. In IE it is\n * not safe to call document.activeElement if there is nothing focused.\n *\n * The activeElement will be null only if the document or document body is not\n * yet defined.\n *\n * @param {?DOMDocument} doc Defaults to current document.\n * @return {?DOMElement}\n */\nfunction getActiveElement(doc)\n/*?DOMElement*/\n{\n doc = doc || (typeof document !== 'undefined' ? document : undefined);\n\n if (typeof doc === 'undefined') {\n return null;\n }\n\n try {\n return doc.activeElement || doc.body;\n } catch (e) {\n return doc.body;\n }\n}\n\nmodule.exports = getActiveElement;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvZ2V0QWN0aXZlRWxlbWVudC5qcz84ZTVkIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFhOztBQUViO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLGFBQWE7QUFDeEIsWUFBWTtBQUNaO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBOztBQUVBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2ZianMvbGliL2dldEFjdGl2ZUVsZW1lbnQuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKiBAdHlwZWNoZWNrc1xuICovXG5cbi8qIGVzbGludC1kaXNhYmxlIGZiLXd3dy90eXBlb2YtdW5kZWZpbmVkICovXG5cbi8qKlxuICogU2FtZSBhcyBkb2N1bWVudC5hY3RpdmVFbGVtZW50IGJ1dCB3cmFwcyBpbiBhIHRyeS1jYXRjaCBibG9jay4gSW4gSUUgaXQgaXNcbiAqIG5vdCBzYWZlIHRvIGNhbGwgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBpZiB0aGVyZSBpcyBub3RoaW5nIGZvY3VzZWQuXG4gKlxuICogVGhlIGFjdGl2ZUVsZW1lbnQgd2lsbCBiZSBudWxsIG9ubHkgaWYgdGhlIGRvY3VtZW50IG9yIGRvY3VtZW50IGJvZHkgaXMgbm90XG4gKiB5ZXQgZGVmaW5lZC5cbiAqXG4gKiBAcGFyYW0gez9ET01Eb2N1bWVudH0gZG9jIERlZmF1bHRzIHRvIGN1cnJlbnQgZG9jdW1lbnQuXG4gKiBAcmV0dXJuIHs/RE9NRWxlbWVudH1cbiAqL1xuZnVuY3Rpb24gZ2V0QWN0aXZlRWxlbWVudChkb2MpXG4vKj9ET01FbGVtZW50Ki9cbntcbiAgZG9jID0gZG9jIHx8ICh0eXBlb2YgZG9jdW1lbnQgIT09ICd1bmRlZmluZWQnID8gZG9jdW1lbnQgOiB1bmRlZmluZWQpO1xuXG4gIGlmICh0eXBlb2YgZG9jID09PSAndW5kZWZpbmVkJykge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgdHJ5IHtcbiAgICByZXR1cm4gZG9jLmFjdGl2ZUVsZW1lbnQgfHwgZG9jLmJvZHk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICByZXR1cm4gZG9jLmJvZHk7XG4gIH1cbn1cblxubW9kdWxlLmV4cG9ydHMgPSBnZXRBY3RpdmVFbGVtZW50OyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/fbjs/lib/getActiveElement.js\n"); /***/ }), @@ -1601,7 +1828,7 @@ eval("\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n */\n\n\n\nvar isWebkit = typeof navigator !== 'undefined' && navigator.userAgent.indexOf('AppleWebKit') > -1;\n\n/**\n * Gets the element with the document scroll properties such as `scrollLeft` and\n * `scrollHeight`. This may differ across different browsers.\n *\n * NOTE: The return value can be null if the DOM is not yet ready.\n *\n * @param {?DOMDocument} doc Defaults to current document.\n * @return {?DOMElement}\n */\nfunction getDocumentScrollElement(doc) {\n doc = doc || document;\n if (doc.scrollingElement) {\n return doc.scrollingElement;\n }\n return !isWebkit && doc.compatMode === 'CSS1Compat' ? doc.documentElement : doc.body;\n}\n\nmodule.exports = getDocumentScrollElement;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvZ2V0RG9jdW1lbnRTY3JvbGxFbGVtZW50LmpzP2YzNzIiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFYTs7QUFFYjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLGFBQWE7QUFDeEIsWUFBWTtBQUNaO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvZ2V0RG9jdW1lbnRTY3JvbGxFbGVtZW50LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKiBAdHlwZWNoZWNrc1xuICovXG5cbid1c2Ugc3RyaWN0JztcblxudmFyIGlzV2Via2l0ID0gdHlwZW9mIG5hdmlnYXRvciAhPT0gJ3VuZGVmaW5lZCcgJiYgbmF2aWdhdG9yLnVzZXJBZ2VudC5pbmRleE9mKCdBcHBsZVdlYktpdCcpID4gLTE7XG5cbi8qKlxuICogR2V0cyB0aGUgZWxlbWVudCB3aXRoIHRoZSBkb2N1bWVudCBzY3JvbGwgcHJvcGVydGllcyBzdWNoIGFzIGBzY3JvbGxMZWZ0YCBhbmRcbiAqIGBzY3JvbGxIZWlnaHRgLiBUaGlzIG1heSBkaWZmZXIgYWNyb3NzIGRpZmZlcmVudCBicm93c2Vycy5cbiAqXG4gKiBOT1RFOiBUaGUgcmV0dXJuIHZhbHVlIGNhbiBiZSBudWxsIGlmIHRoZSBET00gaXMgbm90IHlldCByZWFkeS5cbiAqXG4gKiBAcGFyYW0gez9ET01Eb2N1bWVudH0gZG9jIERlZmF1bHRzIHRvIGN1cnJlbnQgZG9jdW1lbnQuXG4gKiBAcmV0dXJuIHs/RE9NRWxlbWVudH1cbiAqL1xuZnVuY3Rpb24gZ2V0RG9jdW1lbnRTY3JvbGxFbGVtZW50KGRvYykge1xuICBkb2MgPSBkb2MgfHwgZG9jdW1lbnQ7XG4gIGlmIChkb2Muc2Nyb2xsaW5nRWxlbWVudCkge1xuICAgIHJldHVybiBkb2Muc2Nyb2xsaW5nRWxlbWVudDtcbiAgfVxuICByZXR1cm4gIWlzV2Via2l0ICYmIGRvYy5jb21wYXRNb2RlID09PSAnQ1NTMUNvbXBhdCcgPyBkb2MuZG9jdW1lbnRFbGVtZW50IDogZG9jLmJvZHk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gZ2V0RG9jdW1lbnRTY3JvbGxFbGVtZW50OyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/fbjs/lib/getDocumentScrollElement.js\n"); +eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n */\n\n\nvar isWebkit = typeof navigator !== 'undefined' && navigator.userAgent.indexOf('AppleWebKit') > -1;\n/**\n * Gets the element with the document scroll properties such as `scrollLeft` and\n * `scrollHeight`. This may differ across different browsers.\n *\n * NOTE: The return value can be null if the DOM is not yet ready.\n *\n * @param {?DOMDocument} doc Defaults to current document.\n * @return {?DOMElement}\n */\n\nfunction getDocumentScrollElement(doc) {\n doc = doc || document;\n\n if (doc.scrollingElement) {\n return doc.scrollingElement;\n }\n\n return !isWebkit && doc.compatMode === 'CSS1Compat' ? doc.documentElement : doc.body;\n}\n\nmodule.exports = getDocumentScrollElement;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvZ2V0RG9jdW1lbnRTY3JvbGxFbGVtZW50LmpzP2YzNzIiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNhOztBQUViO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxhQUFhO0FBQ3hCLFlBQVk7QUFDWjs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2ZianMvbGliL2dldERvY3VtZW50U2Nyb2xsRWxlbWVudC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICogQHR5cGVjaGVja3NcbiAqL1xuJ3VzZSBzdHJpY3QnO1xuXG52YXIgaXNXZWJraXQgPSB0eXBlb2YgbmF2aWdhdG9yICE9PSAndW5kZWZpbmVkJyAmJiBuYXZpZ2F0b3IudXNlckFnZW50LmluZGV4T2YoJ0FwcGxlV2ViS2l0JykgPiAtMTtcbi8qKlxuICogR2V0cyB0aGUgZWxlbWVudCB3aXRoIHRoZSBkb2N1bWVudCBzY3JvbGwgcHJvcGVydGllcyBzdWNoIGFzIGBzY3JvbGxMZWZ0YCBhbmRcbiAqIGBzY3JvbGxIZWlnaHRgLiBUaGlzIG1heSBkaWZmZXIgYWNyb3NzIGRpZmZlcmVudCBicm93c2Vycy5cbiAqXG4gKiBOT1RFOiBUaGUgcmV0dXJuIHZhbHVlIGNhbiBiZSBudWxsIGlmIHRoZSBET00gaXMgbm90IHlldCByZWFkeS5cbiAqXG4gKiBAcGFyYW0gez9ET01Eb2N1bWVudH0gZG9jIERlZmF1bHRzIHRvIGN1cnJlbnQgZG9jdW1lbnQuXG4gKiBAcmV0dXJuIHs/RE9NRWxlbWVudH1cbiAqL1xuXG5mdW5jdGlvbiBnZXREb2N1bWVudFNjcm9sbEVsZW1lbnQoZG9jKSB7XG4gIGRvYyA9IGRvYyB8fCBkb2N1bWVudDtcblxuICBpZiAoZG9jLnNjcm9sbGluZ0VsZW1lbnQpIHtcbiAgICByZXR1cm4gZG9jLnNjcm9sbGluZ0VsZW1lbnQ7XG4gIH1cblxuICByZXR1cm4gIWlzV2Via2l0ICYmIGRvYy5jb21wYXRNb2RlID09PSAnQ1NTMUNvbXBhdCcgPyBkb2MuZG9jdW1lbnRFbGVtZW50IDogZG9jLmJvZHk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gZ2V0RG9jdW1lbnRTY3JvbGxFbGVtZW50OyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/fbjs/lib/getDocumentScrollElement.js\n"); /***/ }), @@ -1613,7 +1840,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source cod /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n */\n\nvar getElementRect = __webpack_require__(/*! ./getElementRect */ \"./node_modules/fbjs/lib/getElementRect.js\");\n\n/**\n * Gets an element's position in pixels relative to the viewport. The returned\n * object represents the position of the element's top left corner.\n *\n * @param {DOMElement} element\n * @return {object}\n */\nfunction getElementPosition(element) {\n var rect = getElementRect(element);\n return {\n x: rect.left,\n y: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n}\n\nmodule.exports = getElementPosition;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvZ2V0RWxlbWVudFBvc2l0aW9uLmpzP2E3NTkiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxxQkFBcUIsbUJBQU8sQ0FBQyxtRUFBa0I7O0FBRS9DO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxXQUFXO0FBQ3RCLFlBQVk7QUFDWjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9mYmpzL2xpYi9nZXRFbGVtZW50UG9zaXRpb24uanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICogQHR5cGVjaGVja3NcbiAqL1xuXG52YXIgZ2V0RWxlbWVudFJlY3QgPSByZXF1aXJlKCcuL2dldEVsZW1lbnRSZWN0Jyk7XG5cbi8qKlxuICogR2V0cyBhbiBlbGVtZW50J3MgcG9zaXRpb24gaW4gcGl4ZWxzIHJlbGF0aXZlIHRvIHRoZSB2aWV3cG9ydC4gVGhlIHJldHVybmVkXG4gKiBvYmplY3QgcmVwcmVzZW50cyB0aGUgcG9zaXRpb24gb2YgdGhlIGVsZW1lbnQncyB0b3AgbGVmdCBjb3JuZXIuXG4gKlxuICogQHBhcmFtIHtET01FbGVtZW50fSBlbGVtZW50XG4gKiBAcmV0dXJuIHtvYmplY3R9XG4gKi9cbmZ1bmN0aW9uIGdldEVsZW1lbnRQb3NpdGlvbihlbGVtZW50KSB7XG4gIHZhciByZWN0ID0gZ2V0RWxlbWVudFJlY3QoZWxlbWVudCk7XG4gIHJldHVybiB7XG4gICAgeDogcmVjdC5sZWZ0LFxuICAgIHk6IHJlY3QudG9wLFxuICAgIHdpZHRoOiByZWN0LnJpZ2h0IC0gcmVjdC5sZWZ0LFxuICAgIGhlaWdodDogcmVjdC5ib3R0b20gLSByZWN0LnRvcFxuICB9O1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGdldEVsZW1lbnRQb3NpdGlvbjsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/fbjs/lib/getElementPosition.js\n"); +eval("\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n */\nvar getElementRect = __webpack_require__(/*! ./getElementRect */ \"./node_modules/fbjs/lib/getElementRect.js\");\n/**\n * Gets an element's position in pixels relative to the viewport. The returned\n * object represents the position of the element's top left corner.\n *\n * @param {DOMElement} element\n * @return {object}\n */\n\n\nfunction getElementPosition(element) {\n var rect = getElementRect(element);\n return {\n x: rect.left,\n y: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n}\n\nmodule.exports = getElementPosition;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvZ2V0RWxlbWVudFBvc2l0aW9uLmpzP2E3NTkiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQixtQkFBTyxDQUFDLG1FQUFrQjtBQUMvQztBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsV0FBVztBQUN0QixZQUFZO0FBQ1o7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9mYmpzL2xpYi9nZXRFbGVtZW50UG9zaXRpb24uanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKiBAdHlwZWNoZWNrc1xuICovXG52YXIgZ2V0RWxlbWVudFJlY3QgPSByZXF1aXJlKFwiLi9nZXRFbGVtZW50UmVjdFwiKTtcbi8qKlxuICogR2V0cyBhbiBlbGVtZW50J3MgcG9zaXRpb24gaW4gcGl4ZWxzIHJlbGF0aXZlIHRvIHRoZSB2aWV3cG9ydC4gVGhlIHJldHVybmVkXG4gKiBvYmplY3QgcmVwcmVzZW50cyB0aGUgcG9zaXRpb24gb2YgdGhlIGVsZW1lbnQncyB0b3AgbGVmdCBjb3JuZXIuXG4gKlxuICogQHBhcmFtIHtET01FbGVtZW50fSBlbGVtZW50XG4gKiBAcmV0dXJuIHtvYmplY3R9XG4gKi9cblxuXG5mdW5jdGlvbiBnZXRFbGVtZW50UG9zaXRpb24oZWxlbWVudCkge1xuICB2YXIgcmVjdCA9IGdldEVsZW1lbnRSZWN0KGVsZW1lbnQpO1xuICByZXR1cm4ge1xuICAgIHg6IHJlY3QubGVmdCxcbiAgICB5OiByZWN0LnRvcCxcbiAgICB3aWR0aDogcmVjdC5yaWdodCAtIHJlY3QubGVmdCxcbiAgICBoZWlnaHQ6IHJlY3QuYm90dG9tIC0gcmVjdC50b3BcbiAgfTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBnZXRFbGVtZW50UG9zaXRpb247Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/fbjs/lib/getElementPosition.js\n"); /***/ }), @@ -1625,7 +1852,7 @@ eval("\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n */\n\nvar containsNode = __webpack_require__(/*! ./containsNode */ \"./node_modules/fbjs/lib/containsNode.js\");\n\n/**\n * Gets an element's bounding rect in pixels relative to the viewport.\n *\n * @param {DOMElement} elem\n * @return {object}\n */\nfunction getElementRect(elem) {\n var docElem = elem.ownerDocument.documentElement;\n\n // FF 2, Safari 3 and Opera 9.5- do not support getBoundingClientRect().\n // IE9- will throw if the element is not in the document.\n if (!('getBoundingClientRect' in elem) || !containsNode(docElem, elem)) {\n return {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n };\n }\n\n // Subtracts clientTop/Left because IE8- added a 2px border to the\n // element (see http://fburl.com/1493213). IE 7 in\n // Quicksmode does not report clientLeft/clientTop so there\n // will be an unaccounted offset of 2px when in quirksmode\n var rect = elem.getBoundingClientRect();\n\n return {\n left: Math.round(rect.left) - docElem.clientLeft,\n right: Math.round(rect.right) - docElem.clientLeft,\n top: Math.round(rect.top) - docElem.clientTop,\n bottom: Math.round(rect.bottom) - docElem.clientTop\n };\n}\n\nmodule.exports = getElementRect;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvZ2V0RWxlbWVudFJlY3QuanM/ODlhYiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBYTs7QUFFYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLG1CQUFtQixtQkFBTyxDQUFDLCtEQUFnQjs7QUFFM0M7QUFDQTtBQUNBO0FBQ0EsV0FBVyxXQUFXO0FBQ3RCLFlBQVk7QUFDWjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9mYmpzL2xpYi9nZXRFbGVtZW50UmVjdC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKiBAdHlwZWNoZWNrc1xuICovXG5cbnZhciBjb250YWluc05vZGUgPSByZXF1aXJlKCcuL2NvbnRhaW5zTm9kZScpO1xuXG4vKipcbiAqIEdldHMgYW4gZWxlbWVudCdzIGJvdW5kaW5nIHJlY3QgaW4gcGl4ZWxzIHJlbGF0aXZlIHRvIHRoZSB2aWV3cG9ydC5cbiAqXG4gKiBAcGFyYW0ge0RPTUVsZW1lbnR9IGVsZW1cbiAqIEByZXR1cm4ge29iamVjdH1cbiAqL1xuZnVuY3Rpb24gZ2V0RWxlbWVudFJlY3QoZWxlbSkge1xuICB2YXIgZG9jRWxlbSA9IGVsZW0ub3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7XG5cbiAgLy8gRkYgMiwgU2FmYXJpIDMgYW5kIE9wZXJhIDkuNS0gZG8gbm90IHN1cHBvcnQgZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuXG4gIC8vIElFOS0gd2lsbCB0aHJvdyBpZiB0aGUgZWxlbWVudCBpcyBub3QgaW4gdGhlIGRvY3VtZW50LlxuICBpZiAoISgnZ2V0Qm91bmRpbmdDbGllbnRSZWN0JyBpbiBlbGVtKSB8fCAhY29udGFpbnNOb2RlKGRvY0VsZW0sIGVsZW0pKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGxlZnQ6IDAsXG4gICAgICByaWdodDogMCxcbiAgICAgIHRvcDogMCxcbiAgICAgIGJvdHRvbTogMFxuICAgIH07XG4gIH1cblxuICAvLyBTdWJ0cmFjdHMgY2xpZW50VG9wL0xlZnQgYmVjYXVzZSBJRTgtIGFkZGVkIGEgMnB4IGJvcmRlciB0byB0aGVcbiAgLy8gPGh0bWw+IGVsZW1lbnQgKHNlZSBodHRwOi8vZmJ1cmwuY29tLzE0OTMyMTMpLiBJRSA3IGluXG4gIC8vIFF1aWNrc21vZGUgZG9lcyBub3QgcmVwb3J0IGNsaWVudExlZnQvY2xpZW50VG9wIHNvIHRoZXJlXG4gIC8vIHdpbGwgYmUgYW4gdW5hY2NvdW50ZWQgb2Zmc2V0IG9mIDJweCB3aGVuIGluIHF1aXJrc21vZGVcbiAgdmFyIHJlY3QgPSBlbGVtLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gIHJldHVybiB7XG4gICAgbGVmdDogTWF0aC5yb3VuZChyZWN0LmxlZnQpIC0gZG9jRWxlbS5jbGllbnRMZWZ0LFxuICAgIHJpZ2h0OiBNYXRoLnJvdW5kKHJlY3QucmlnaHQpIC0gZG9jRWxlbS5jbGllbnRMZWZ0LFxuICAgIHRvcDogTWF0aC5yb3VuZChyZWN0LnRvcCkgLSBkb2NFbGVtLmNsaWVudFRvcCxcbiAgICBib3R0b206IE1hdGgucm91bmQocmVjdC5ib3R0b20pIC0gZG9jRWxlbS5jbGllbnRUb3BcbiAgfTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBnZXRFbGVtZW50UmVjdDsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/fbjs/lib/getElementRect.js\n"); +eval("\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n */\nvar containsNode = __webpack_require__(/*! ./containsNode */ \"./node_modules/fbjs/lib/containsNode.js\");\n/**\n * Gets an element's bounding rect in pixels relative to the viewport.\n *\n * @param {DOMElement} elem\n * @return {object}\n */\n\n\nfunction getElementRect(elem) {\n var docElem = elem.ownerDocument.documentElement; // FF 2, Safari 3 and Opera 9.5- do not support getBoundingClientRect().\n // IE9- will throw if the element is not in the document.\n\n if (!('getBoundingClientRect' in elem) || !containsNode(docElem, elem)) {\n return {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n };\n } // Subtracts clientTop/Left because IE8- added a 2px border to the\n // element (see http://fburl.com/1493213). IE 7 in\n // Quicksmode does not report clientLeft/clientTop so there\n // will be an unaccounted offset of 2px when in quirksmode\n\n\n var rect = elem.getBoundingClientRect();\n return {\n left: Math.round(rect.left) - docElem.clientLeft,\n right: Math.round(rect.right) - docElem.clientLeft,\n top: Math.round(rect.top) - docElem.clientTop,\n bottom: Math.round(rect.bottom) - docElem.clientTop\n };\n}\n\nmodule.exports = getElementRect;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvZ2V0RWxlbWVudFJlY3QuanM/ODlhYiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBYTs7QUFFYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CLG1CQUFPLENBQUMsK0RBQWdCO0FBQzNDO0FBQ0E7QUFDQTtBQUNBLFdBQVcsV0FBVztBQUN0QixZQUFZO0FBQ1o7OztBQUdBO0FBQ0EsbURBQW1EO0FBQ25EOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9mYmpzL2xpYi9nZXRFbGVtZW50UmVjdC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG4vKipcbiAqIENvcHlyaWdodCAoYykgMjAxMy1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIEB0eXBlY2hlY2tzXG4gKi9cbnZhciBjb250YWluc05vZGUgPSByZXF1aXJlKFwiLi9jb250YWluc05vZGVcIik7XG4vKipcbiAqIEdldHMgYW4gZWxlbWVudCdzIGJvdW5kaW5nIHJlY3QgaW4gcGl4ZWxzIHJlbGF0aXZlIHRvIHRoZSB2aWV3cG9ydC5cbiAqXG4gKiBAcGFyYW0ge0RPTUVsZW1lbnR9IGVsZW1cbiAqIEByZXR1cm4ge29iamVjdH1cbiAqL1xuXG5cbmZ1bmN0aW9uIGdldEVsZW1lbnRSZWN0KGVsZW0pIHtcbiAgdmFyIGRvY0VsZW0gPSBlbGVtLm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50OyAvLyBGRiAyLCBTYWZhcmkgMyBhbmQgT3BlcmEgOS41LSBkbyBub3Qgc3VwcG9ydCBnZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5cbiAgLy8gSUU5LSB3aWxsIHRocm93IGlmIHRoZSBlbGVtZW50IGlzIG5vdCBpbiB0aGUgZG9jdW1lbnQuXG5cbiAgaWYgKCEoJ2dldEJvdW5kaW5nQ2xpZW50UmVjdCcgaW4gZWxlbSkgfHwgIWNvbnRhaW5zTm9kZShkb2NFbGVtLCBlbGVtKSkge1xuICAgIHJldHVybiB7XG4gICAgICBsZWZ0OiAwLFxuICAgICAgcmlnaHQ6IDAsXG4gICAgICB0b3A6IDAsXG4gICAgICBib3R0b206IDBcbiAgICB9O1xuICB9IC8vIFN1YnRyYWN0cyBjbGllbnRUb3AvTGVmdCBiZWNhdXNlIElFOC0gYWRkZWQgYSAycHggYm9yZGVyIHRvIHRoZVxuICAvLyA8aHRtbD4gZWxlbWVudCAoc2VlIGh0dHA6Ly9mYnVybC5jb20vMTQ5MzIxMykuIElFIDcgaW5cbiAgLy8gUXVpY2tzbW9kZSBkb2VzIG5vdCByZXBvcnQgY2xpZW50TGVmdC9jbGllbnRUb3Agc28gdGhlcmVcbiAgLy8gd2lsbCBiZSBhbiB1bmFjY291bnRlZCBvZmZzZXQgb2YgMnB4IHdoZW4gaW4gcXVpcmtzbW9kZVxuXG5cbiAgdmFyIHJlY3QgPSBlbGVtLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICByZXR1cm4ge1xuICAgIGxlZnQ6IE1hdGgucm91bmQocmVjdC5sZWZ0KSAtIGRvY0VsZW0uY2xpZW50TGVmdCxcbiAgICByaWdodDogTWF0aC5yb3VuZChyZWN0LnJpZ2h0KSAtIGRvY0VsZW0uY2xpZW50TGVmdCxcbiAgICB0b3A6IE1hdGgucm91bmQocmVjdC50b3ApIC0gZG9jRWxlbS5jbGllbnRUb3AsXG4gICAgYm90dG9tOiBNYXRoLnJvdW5kKHJlY3QuYm90dG9tKSAtIGRvY0VsZW0uY2xpZW50VG9wXG4gIH07XG59XG5cbm1vZHVsZS5leHBvcnRzID0gZ2V0RWxlbWVudFJlY3Q7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/fbjs/lib/getElementRect.js\n"); /***/ }), @@ -1637,7 +1864,7 @@ eval("\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n */\n\n\n\nvar getDocumentScrollElement = __webpack_require__(/*! ./getDocumentScrollElement */ \"./node_modules/fbjs/lib/getDocumentScrollElement.js\");\nvar getUnboundedScrollPosition = __webpack_require__(/*! ./getUnboundedScrollPosition */ \"./node_modules/fbjs/lib/getUnboundedScrollPosition.js\");\n\n/**\n * Gets the scroll position of the supplied element or window.\n *\n * The return values are bounded. This means that if the scroll position is\n * negative or exceeds the element boundaries (which is possible using inertial\n * scrolling), you will get zero or the maximum scroll position, respectively.\n *\n * If you need the unbound scroll position, use `getUnboundedScrollPosition`.\n *\n * @param {DOMWindow|DOMElement} scrollable\n * @return {object} Map with `x` and `y` keys.\n */\nfunction getScrollPosition(scrollable) {\n var documentScrollElement = getDocumentScrollElement(scrollable.ownerDocument || scrollable.document);\n if (scrollable.Window && scrollable instanceof scrollable.Window) {\n scrollable = documentScrollElement;\n }\n var scrollPosition = getUnboundedScrollPosition(scrollable);\n\n var viewport = scrollable === documentScrollElement ? scrollable.ownerDocument.documentElement : scrollable;\n\n var xMax = scrollable.scrollWidth - viewport.clientWidth;\n var yMax = scrollable.scrollHeight - viewport.clientHeight;\n\n scrollPosition.x = Math.max(0, Math.min(scrollPosition.x, xMax));\n scrollPosition.y = Math.max(0, Math.min(scrollPosition.y, yMax));\n\n return scrollPosition;\n}\n\nmodule.exports = getScrollPosition;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvZ2V0U2Nyb2xsUG9zaXRpb24uanM/MGRlMiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVhOztBQUViLCtCQUErQixtQkFBTyxDQUFDLHVGQUE0QjtBQUNuRSxpQ0FBaUMsbUJBQU8sQ0FBQywyRkFBOEI7O0FBRXZFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcscUJBQXFCO0FBQ2hDLFlBQVksT0FBTztBQUNuQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9mYmpzL2xpYi9nZXRTY3JvbGxQb3NpdGlvbi5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICogQHR5cGVjaGVja3NcbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbnZhciBnZXREb2N1bWVudFNjcm9sbEVsZW1lbnQgPSByZXF1aXJlKCcuL2dldERvY3VtZW50U2Nyb2xsRWxlbWVudCcpO1xudmFyIGdldFVuYm91bmRlZFNjcm9sbFBvc2l0aW9uID0gcmVxdWlyZSgnLi9nZXRVbmJvdW5kZWRTY3JvbGxQb3NpdGlvbicpO1xuXG4vKipcbiAqIEdldHMgdGhlIHNjcm9sbCBwb3NpdGlvbiBvZiB0aGUgc3VwcGxpZWQgZWxlbWVudCBvciB3aW5kb3cuXG4gKlxuICogVGhlIHJldHVybiB2YWx1ZXMgYXJlIGJvdW5kZWQuIFRoaXMgbWVhbnMgdGhhdCBpZiB0aGUgc2Nyb2xsIHBvc2l0aW9uIGlzXG4gKiBuZWdhdGl2ZSBvciBleGNlZWRzIHRoZSBlbGVtZW50IGJvdW5kYXJpZXMgKHdoaWNoIGlzIHBvc3NpYmxlIHVzaW5nIGluZXJ0aWFsXG4gKiBzY3JvbGxpbmcpLCB5b3Ugd2lsbCBnZXQgemVybyBvciB0aGUgbWF4aW11bSBzY3JvbGwgcG9zaXRpb24sIHJlc3BlY3RpdmVseS5cbiAqXG4gKiBJZiB5b3UgbmVlZCB0aGUgdW5ib3VuZCBzY3JvbGwgcG9zaXRpb24sIHVzZSBgZ2V0VW5ib3VuZGVkU2Nyb2xsUG9zaXRpb25gLlxuICpcbiAqIEBwYXJhbSB7RE9NV2luZG93fERPTUVsZW1lbnR9IHNjcm9sbGFibGVcbiAqIEByZXR1cm4ge29iamVjdH0gTWFwIHdpdGggYHhgIGFuZCBgeWAga2V5cy5cbiAqL1xuZnVuY3Rpb24gZ2V0U2Nyb2xsUG9zaXRpb24oc2Nyb2xsYWJsZSkge1xuICB2YXIgZG9jdW1lbnRTY3JvbGxFbGVtZW50ID0gZ2V0RG9jdW1lbnRTY3JvbGxFbGVtZW50KHNjcm9sbGFibGUub3duZXJEb2N1bWVudCB8fCBzY3JvbGxhYmxlLmRvY3VtZW50KTtcbiAgaWYgKHNjcm9sbGFibGUuV2luZG93ICYmIHNjcm9sbGFibGUgaW5zdGFuY2VvZiBzY3JvbGxhYmxlLldpbmRvdykge1xuICAgIHNjcm9sbGFibGUgPSBkb2N1bWVudFNjcm9sbEVsZW1lbnQ7XG4gIH1cbiAgdmFyIHNjcm9sbFBvc2l0aW9uID0gZ2V0VW5ib3VuZGVkU2Nyb2xsUG9zaXRpb24oc2Nyb2xsYWJsZSk7XG5cbiAgdmFyIHZpZXdwb3J0ID0gc2Nyb2xsYWJsZSA9PT0gZG9jdW1lbnRTY3JvbGxFbGVtZW50ID8gc2Nyb2xsYWJsZS5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudCA6IHNjcm9sbGFibGU7XG5cbiAgdmFyIHhNYXggPSBzY3JvbGxhYmxlLnNjcm9sbFdpZHRoIC0gdmlld3BvcnQuY2xpZW50V2lkdGg7XG4gIHZhciB5TWF4ID0gc2Nyb2xsYWJsZS5zY3JvbGxIZWlnaHQgLSB2aWV3cG9ydC5jbGllbnRIZWlnaHQ7XG5cbiAgc2Nyb2xsUG9zaXRpb24ueCA9IE1hdGgubWF4KDAsIE1hdGgubWluKHNjcm9sbFBvc2l0aW9uLngsIHhNYXgpKTtcbiAgc2Nyb2xsUG9zaXRpb24ueSA9IE1hdGgubWF4KDAsIE1hdGgubWluKHNjcm9sbFBvc2l0aW9uLnksIHlNYXgpKTtcblxuICByZXR1cm4gc2Nyb2xsUG9zaXRpb247XG59XG5cbm1vZHVsZS5leHBvcnRzID0gZ2V0U2Nyb2xsUG9zaXRpb247Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/fbjs/lib/getScrollPosition.js\n"); +eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n */\n\n\nvar getDocumentScrollElement = __webpack_require__(/*! ./getDocumentScrollElement */ \"./node_modules/fbjs/lib/getDocumentScrollElement.js\");\n\nvar getUnboundedScrollPosition = __webpack_require__(/*! ./getUnboundedScrollPosition */ \"./node_modules/fbjs/lib/getUnboundedScrollPosition.js\");\n/**\n * Gets the scroll position of the supplied element or window.\n *\n * The return values are bounded. This means that if the scroll position is\n * negative or exceeds the element boundaries (which is possible using inertial\n * scrolling), you will get zero or the maximum scroll position, respectively.\n *\n * If you need the unbound scroll position, use `getUnboundedScrollPosition`.\n *\n * @param {DOMWindow|DOMElement} scrollable\n * @return {object} Map with `x` and `y` keys.\n */\n\n\nfunction getScrollPosition(scrollable) {\n var documentScrollElement = getDocumentScrollElement(scrollable.ownerDocument || scrollable.document);\n\n if (scrollable.Window && scrollable instanceof scrollable.Window) {\n scrollable = documentScrollElement;\n }\n\n var scrollPosition = getUnboundedScrollPosition(scrollable);\n var viewport = scrollable === documentScrollElement ? scrollable.ownerDocument.documentElement : scrollable;\n var xMax = scrollable.scrollWidth - viewport.clientWidth;\n var yMax = scrollable.scrollHeight - viewport.clientHeight;\n scrollPosition.x = Math.max(0, Math.min(scrollPosition.x, xMax));\n scrollPosition.y = Math.max(0, Math.min(scrollPosition.y, yMax));\n return scrollPosition;\n}\n\nmodule.exports = getScrollPosition;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvZ2V0U2Nyb2xsUG9zaXRpb24uanM/MGRlMiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ2E7O0FBRWIsK0JBQStCLG1CQUFPLENBQUMsdUZBQTRCOztBQUVuRSxpQ0FBaUMsbUJBQU8sQ0FBQywyRkFBOEI7QUFDdkU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxxQkFBcUI7QUFDaEMsWUFBWSxPQUFPO0FBQ25COzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2ZianMvbGliL2dldFNjcm9sbFBvc2l0aW9uLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKiBAdHlwZWNoZWNrc1xuICovXG4ndXNlIHN0cmljdCc7XG5cbnZhciBnZXREb2N1bWVudFNjcm9sbEVsZW1lbnQgPSByZXF1aXJlKFwiLi9nZXREb2N1bWVudFNjcm9sbEVsZW1lbnRcIik7XG5cbnZhciBnZXRVbmJvdW5kZWRTY3JvbGxQb3NpdGlvbiA9IHJlcXVpcmUoXCIuL2dldFVuYm91bmRlZFNjcm9sbFBvc2l0aW9uXCIpO1xuLyoqXG4gKiBHZXRzIHRoZSBzY3JvbGwgcG9zaXRpb24gb2YgdGhlIHN1cHBsaWVkIGVsZW1lbnQgb3Igd2luZG93LlxuICpcbiAqIFRoZSByZXR1cm4gdmFsdWVzIGFyZSBib3VuZGVkLiBUaGlzIG1lYW5zIHRoYXQgaWYgdGhlIHNjcm9sbCBwb3NpdGlvbiBpc1xuICogbmVnYXRpdmUgb3IgZXhjZWVkcyB0aGUgZWxlbWVudCBib3VuZGFyaWVzICh3aGljaCBpcyBwb3NzaWJsZSB1c2luZyBpbmVydGlhbFxuICogc2Nyb2xsaW5nKSwgeW91IHdpbGwgZ2V0IHplcm8gb3IgdGhlIG1heGltdW0gc2Nyb2xsIHBvc2l0aW9uLCByZXNwZWN0aXZlbHkuXG4gKlxuICogSWYgeW91IG5lZWQgdGhlIHVuYm91bmQgc2Nyb2xsIHBvc2l0aW9uLCB1c2UgYGdldFVuYm91bmRlZFNjcm9sbFBvc2l0aW9uYC5cbiAqXG4gKiBAcGFyYW0ge0RPTVdpbmRvd3xET01FbGVtZW50fSBzY3JvbGxhYmxlXG4gKiBAcmV0dXJuIHtvYmplY3R9IE1hcCB3aXRoIGB4YCBhbmQgYHlgIGtleXMuXG4gKi9cblxuXG5mdW5jdGlvbiBnZXRTY3JvbGxQb3NpdGlvbihzY3JvbGxhYmxlKSB7XG4gIHZhciBkb2N1bWVudFNjcm9sbEVsZW1lbnQgPSBnZXREb2N1bWVudFNjcm9sbEVsZW1lbnQoc2Nyb2xsYWJsZS5vd25lckRvY3VtZW50IHx8IHNjcm9sbGFibGUuZG9jdW1lbnQpO1xuXG4gIGlmIChzY3JvbGxhYmxlLldpbmRvdyAmJiBzY3JvbGxhYmxlIGluc3RhbmNlb2Ygc2Nyb2xsYWJsZS5XaW5kb3cpIHtcbiAgICBzY3JvbGxhYmxlID0gZG9jdW1lbnRTY3JvbGxFbGVtZW50O1xuICB9XG5cbiAgdmFyIHNjcm9sbFBvc2l0aW9uID0gZ2V0VW5ib3VuZGVkU2Nyb2xsUG9zaXRpb24oc2Nyb2xsYWJsZSk7XG4gIHZhciB2aWV3cG9ydCA9IHNjcm9sbGFibGUgPT09IGRvY3VtZW50U2Nyb2xsRWxlbWVudCA/IHNjcm9sbGFibGUub3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQgOiBzY3JvbGxhYmxlO1xuICB2YXIgeE1heCA9IHNjcm9sbGFibGUuc2Nyb2xsV2lkdGggLSB2aWV3cG9ydC5jbGllbnRXaWR0aDtcbiAgdmFyIHlNYXggPSBzY3JvbGxhYmxlLnNjcm9sbEhlaWdodCAtIHZpZXdwb3J0LmNsaWVudEhlaWdodDtcbiAgc2Nyb2xsUG9zaXRpb24ueCA9IE1hdGgubWF4KDAsIE1hdGgubWluKHNjcm9sbFBvc2l0aW9uLngsIHhNYXgpKTtcbiAgc2Nyb2xsUG9zaXRpb24ueSA9IE1hdGgubWF4KDAsIE1hdGgubWluKHNjcm9sbFBvc2l0aW9uLnksIHlNYXgpKTtcbiAgcmV0dXJuIHNjcm9sbFBvc2l0aW9uO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGdldFNjcm9sbFBvc2l0aW9uOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/fbjs/lib/getScrollPosition.js\n"); /***/ }), @@ -1649,7 +1876,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source cod /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n */\n\nvar camelize = __webpack_require__(/*! ./camelize */ \"./node_modules/fbjs/lib/camelize.js\");\nvar hyphenate = __webpack_require__(/*! ./hyphenate */ \"./node_modules/fbjs/lib/hyphenate.js\");\n\nfunction asString(value) /*?string*/{\n return value == null ? value : String(value);\n}\n\nfunction getStyleProperty( /*DOMNode*/node, /*string*/name) /*?string*/{\n var computedStyle = void 0;\n\n // W3C Standard\n if (window.getComputedStyle) {\n // In certain cases such as within an iframe in FF3, this returns null.\n computedStyle = window.getComputedStyle(node, null);\n if (computedStyle) {\n return asString(computedStyle.getPropertyValue(hyphenate(name)));\n }\n }\n // Safari\n if (document.defaultView && document.defaultView.getComputedStyle) {\n computedStyle = document.defaultView.getComputedStyle(node, null);\n // A Safari bug causes this to return null for `display: none` elements.\n if (computedStyle) {\n return asString(computedStyle.getPropertyValue(hyphenate(name)));\n }\n if (name === 'display') {\n return 'none';\n }\n }\n // Internet Explorer\n if (node.currentStyle) {\n if (name === 'float') {\n return asString(node.currentStyle.cssFloat || node.currentStyle.styleFloat);\n }\n return asString(node.currentStyle[camelize(name)]);\n }\n return asString(node.style && node.style[camelize(name)]);\n}\n\nmodule.exports = getStyleProperty;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvZ2V0U3R5bGVQcm9wZXJ0eS5qcz80Yjk2Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFhOztBQUViO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsZUFBZSxtQkFBTyxDQUFDLHVEQUFZO0FBQ25DLGdCQUFnQixtQkFBTyxDQUFDLHlEQUFhOztBQUVyQztBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9mYmpzL2xpYi9nZXRTdHlsZVByb3BlcnR5LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG4vKipcbiAqIENvcHlyaWdodCAoYykgMjAxMy1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIEB0eXBlY2hlY2tzXG4gKi9cblxudmFyIGNhbWVsaXplID0gcmVxdWlyZSgnLi9jYW1lbGl6ZScpO1xudmFyIGh5cGhlbmF0ZSA9IHJlcXVpcmUoJy4vaHlwaGVuYXRlJyk7XG5cbmZ1bmN0aW9uIGFzU3RyaW5nKHZhbHVlKSAvKj9zdHJpbmcqL3tcbiAgcmV0dXJuIHZhbHVlID09IG51bGwgPyB2YWx1ZSA6IFN0cmluZyh2YWx1ZSk7XG59XG5cbmZ1bmN0aW9uIGdldFN0eWxlUHJvcGVydHkoIC8qRE9NTm9kZSovbm9kZSwgLypzdHJpbmcqL25hbWUpIC8qP3N0cmluZyove1xuICB2YXIgY29tcHV0ZWRTdHlsZSA9IHZvaWQgMDtcblxuICAvLyBXM0MgU3RhbmRhcmRcbiAgaWYgKHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKSB7XG4gICAgLy8gSW4gY2VydGFpbiBjYXNlcyBzdWNoIGFzIHdpdGhpbiBhbiBpZnJhbWUgaW4gRkYzLCB0aGlzIHJldHVybnMgbnVsbC5cbiAgICBjb21wdXRlZFN0eWxlID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUobm9kZSwgbnVsbCk7XG4gICAgaWYgKGNvbXB1dGVkU3R5bGUpIHtcbiAgICAgIHJldHVybiBhc1N0cmluZyhjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5VmFsdWUoaHlwaGVuYXRlKG5hbWUpKSk7XG4gICAgfVxuICB9XG4gIC8vIFNhZmFyaVxuICBpZiAoZG9jdW1lbnQuZGVmYXVsdFZpZXcgJiYgZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSkge1xuICAgIGNvbXB1dGVkU3R5bGUgPSBkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKG5vZGUsIG51bGwpO1xuICAgIC8vIEEgU2FmYXJpIGJ1ZyBjYXVzZXMgdGhpcyB0byByZXR1cm4gbnVsbCBmb3IgYGRpc3BsYXk6IG5vbmVgIGVsZW1lbnRzLlxuICAgIGlmIChjb21wdXRlZFN0eWxlKSB7XG4gICAgICByZXR1cm4gYXNTdHJpbmcoY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKGh5cGhlbmF0ZShuYW1lKSkpO1xuICAgIH1cbiAgICBpZiAobmFtZSA9PT0gJ2Rpc3BsYXknKSB7XG4gICAgICByZXR1cm4gJ25vbmUnO1xuICAgIH1cbiAgfVxuICAvLyBJbnRlcm5ldCBFeHBsb3JlclxuICBpZiAobm9kZS5jdXJyZW50U3R5bGUpIHtcbiAgICBpZiAobmFtZSA9PT0gJ2Zsb2F0Jykge1xuICAgICAgcmV0dXJuIGFzU3RyaW5nKG5vZGUuY3VycmVudFN0eWxlLmNzc0Zsb2F0IHx8IG5vZGUuY3VycmVudFN0eWxlLnN0eWxlRmxvYXQpO1xuICAgIH1cbiAgICByZXR1cm4gYXNTdHJpbmcobm9kZS5jdXJyZW50U3R5bGVbY2FtZWxpemUobmFtZSldKTtcbiAgfVxuICByZXR1cm4gYXNTdHJpbmcobm9kZS5zdHlsZSAmJiBub2RlLnN0eWxlW2NhbWVsaXplKG5hbWUpXSk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gZ2V0U3R5bGVQcm9wZXJ0eTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/fbjs/lib/getStyleProperty.js\n"); +eval("\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n */\nvar camelize = __webpack_require__(/*! ./camelize */ \"./node_modules/fbjs/lib/camelize.js\");\n\nvar hyphenate = __webpack_require__(/*! ./hyphenate */ \"./node_modules/fbjs/lib/hyphenate.js\");\n\nfunction asString(value)\n/*?string*/\n{\n return value == null ? value : String(value);\n}\n\nfunction getStyleProperty(\n/*DOMNode*/\nnode,\n/*string*/\nname)\n/*?string*/\n{\n var computedStyle; // W3C Standard\n\n if (window.getComputedStyle) {\n // In certain cases such as within an iframe in FF3, this returns null.\n computedStyle = window.getComputedStyle(node, null);\n\n if (computedStyle) {\n return asString(computedStyle.getPropertyValue(hyphenate(name)));\n }\n } // Safari\n\n\n if (document.defaultView && document.defaultView.getComputedStyle) {\n computedStyle = document.defaultView.getComputedStyle(node, null); // A Safari bug causes this to return null for `display: none` elements.\n\n if (computedStyle) {\n return asString(computedStyle.getPropertyValue(hyphenate(name)));\n }\n\n if (name === 'display') {\n return 'none';\n }\n } // Internet Explorer\n\n\n if (node.currentStyle) {\n if (name === 'float') {\n return asString(node.currentStyle.cssFloat || node.currentStyle.styleFloat);\n }\n\n return asString(node.currentStyle[camelize(name)]);\n }\n\n return asString(node.style && node.style[camelize(name)]);\n}\n\nmodule.exports = getStyleProperty;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvZ2V0U3R5bGVQcm9wZXJ0eS5qcz80Yjk2Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFhOztBQUViO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLG1CQUFPLENBQUMsdURBQVk7O0FBRW5DLGdCQUFnQixtQkFBTyxDQUFDLHlEQUFhOztBQUVyQztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9COztBQUVwQjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7O0FBR0g7QUFDQSxzRUFBc0U7O0FBRXRFO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOzs7QUFHSDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvZ2V0U3R5bGVQcm9wZXJ0eS5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG4vKipcbiAqIENvcHlyaWdodCAoYykgMjAxMy1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIEB0eXBlY2hlY2tzXG4gKi9cbnZhciBjYW1lbGl6ZSA9IHJlcXVpcmUoXCIuL2NhbWVsaXplXCIpO1xuXG52YXIgaHlwaGVuYXRlID0gcmVxdWlyZShcIi4vaHlwaGVuYXRlXCIpO1xuXG5mdW5jdGlvbiBhc1N0cmluZyh2YWx1ZSlcbi8qP3N0cmluZyovXG57XG4gIHJldHVybiB2YWx1ZSA9PSBudWxsID8gdmFsdWUgOiBTdHJpbmcodmFsdWUpO1xufVxuXG5mdW5jdGlvbiBnZXRTdHlsZVByb3BlcnR5KFxuLypET01Ob2RlKi9cbm5vZGUsXG4vKnN0cmluZyovXG5uYW1lKVxuLyo/c3RyaW5nKi9cbntcbiAgdmFyIGNvbXB1dGVkU3R5bGU7IC8vIFczQyBTdGFuZGFyZFxuXG4gIGlmICh3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSkge1xuICAgIC8vIEluIGNlcnRhaW4gY2FzZXMgc3VjaCBhcyB3aXRoaW4gYW4gaWZyYW1lIGluIEZGMywgdGhpcyByZXR1cm5zIG51bGwuXG4gICAgY29tcHV0ZWRTdHlsZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKG5vZGUsIG51bGwpO1xuXG4gICAgaWYgKGNvbXB1dGVkU3R5bGUpIHtcbiAgICAgIHJldHVybiBhc1N0cmluZyhjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5VmFsdWUoaHlwaGVuYXRlKG5hbWUpKSk7XG4gICAgfVxuICB9IC8vIFNhZmFyaVxuXG5cbiAgaWYgKGRvY3VtZW50LmRlZmF1bHRWaWV3ICYmIGRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUpIHtcbiAgICBjb21wdXRlZFN0eWxlID0gZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZShub2RlLCBudWxsKTsgLy8gQSBTYWZhcmkgYnVnIGNhdXNlcyB0aGlzIHRvIHJldHVybiBudWxsIGZvciBgZGlzcGxheTogbm9uZWAgZWxlbWVudHMuXG5cbiAgICBpZiAoY29tcHV0ZWRTdHlsZSkge1xuICAgICAgcmV0dXJuIGFzU3RyaW5nKGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZShoeXBoZW5hdGUobmFtZSkpKTtcbiAgICB9XG5cbiAgICBpZiAobmFtZSA9PT0gJ2Rpc3BsYXknKSB7XG4gICAgICByZXR1cm4gJ25vbmUnO1xuICAgIH1cbiAgfSAvLyBJbnRlcm5ldCBFeHBsb3JlclxuXG5cbiAgaWYgKG5vZGUuY3VycmVudFN0eWxlKSB7XG4gICAgaWYgKG5hbWUgPT09ICdmbG9hdCcpIHtcbiAgICAgIHJldHVybiBhc1N0cmluZyhub2RlLmN1cnJlbnRTdHlsZS5jc3NGbG9hdCB8fCBub2RlLmN1cnJlbnRTdHlsZS5zdHlsZUZsb2F0KTtcbiAgICB9XG5cbiAgICByZXR1cm4gYXNTdHJpbmcobm9kZS5jdXJyZW50U3R5bGVbY2FtZWxpemUobmFtZSldKTtcbiAgfVxuXG4gIHJldHVybiBhc1N0cmluZyhub2RlLnN0eWxlICYmIG5vZGUuc3R5bGVbY2FtZWxpemUobmFtZSldKTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBnZXRTdHlsZVByb3BlcnR5OyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/fbjs/lib/getStyleProperty.js\n"); /***/ }), @@ -1661,7 +1888,7 @@ eval("\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n */\n\n\n\n/**\n * Gets the scroll position of the supplied element or window.\n *\n * The return values are unbounded, unlike `getScrollPosition`. This means they\n * may be negative or exceed the element boundaries (which is possible using\n * inertial scrolling).\n *\n * @param {DOMWindow|DOMElement} scrollable\n * @return {object} Map with `x` and `y` keys.\n */\n\nfunction getUnboundedScrollPosition(scrollable) {\n if (scrollable.Window && scrollable instanceof scrollable.Window) {\n return {\n x: scrollable.pageXOffset || scrollable.document.documentElement.scrollLeft,\n y: scrollable.pageYOffset || scrollable.document.documentElement.scrollTop\n };\n }\n return {\n x: scrollable.scrollLeft,\n y: scrollable.scrollTop\n };\n}\n\nmodule.exports = getUnboundedScrollPosition;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvZ2V0VW5ib3VuZGVkU2Nyb2xsUG9zaXRpb24uanM/MzMxMCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVhOztBQUViO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxxQkFBcUI7QUFDaEMsWUFBWSxPQUFPO0FBQ25COztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9mYmpzL2xpYi9nZXRVbmJvdW5kZWRTY3JvbGxQb3NpdGlvbi5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICogQHR5cGVjaGVja3NcbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbi8qKlxuICogR2V0cyB0aGUgc2Nyb2xsIHBvc2l0aW9uIG9mIHRoZSBzdXBwbGllZCBlbGVtZW50IG9yIHdpbmRvdy5cbiAqXG4gKiBUaGUgcmV0dXJuIHZhbHVlcyBhcmUgdW5ib3VuZGVkLCB1bmxpa2UgYGdldFNjcm9sbFBvc2l0aW9uYC4gVGhpcyBtZWFucyB0aGV5XG4gKiBtYXkgYmUgbmVnYXRpdmUgb3IgZXhjZWVkIHRoZSBlbGVtZW50IGJvdW5kYXJpZXMgKHdoaWNoIGlzIHBvc3NpYmxlIHVzaW5nXG4gKiBpbmVydGlhbCBzY3JvbGxpbmcpLlxuICpcbiAqIEBwYXJhbSB7RE9NV2luZG93fERPTUVsZW1lbnR9IHNjcm9sbGFibGVcbiAqIEByZXR1cm4ge29iamVjdH0gTWFwIHdpdGggYHhgIGFuZCBgeWAga2V5cy5cbiAqL1xuXG5mdW5jdGlvbiBnZXRVbmJvdW5kZWRTY3JvbGxQb3NpdGlvbihzY3JvbGxhYmxlKSB7XG4gIGlmIChzY3JvbGxhYmxlLldpbmRvdyAmJiBzY3JvbGxhYmxlIGluc3RhbmNlb2Ygc2Nyb2xsYWJsZS5XaW5kb3cpIHtcbiAgICByZXR1cm4ge1xuICAgICAgeDogc2Nyb2xsYWJsZS5wYWdlWE9mZnNldCB8fCBzY3JvbGxhYmxlLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxMZWZ0LFxuICAgICAgeTogc2Nyb2xsYWJsZS5wYWdlWU9mZnNldCB8fCBzY3JvbGxhYmxlLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3BcbiAgICB9O1xuICB9XG4gIHJldHVybiB7XG4gICAgeDogc2Nyb2xsYWJsZS5zY3JvbGxMZWZ0LFxuICAgIHk6IHNjcm9sbGFibGUuc2Nyb2xsVG9wXG4gIH07XG59XG5cbm1vZHVsZS5leHBvcnRzID0gZ2V0VW5ib3VuZGVkU2Nyb2xsUG9zaXRpb247Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/fbjs/lib/getUnboundedScrollPosition.js\n"); +eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n */\n\n/**\n * Gets the scroll position of the supplied element or window.\n *\n * The return values are unbounded, unlike `getScrollPosition`. This means they\n * may be negative or exceed the element boundaries (which is possible using\n * inertial scrolling).\n *\n * @param {DOMWindow|DOMElement} scrollable\n * @return {object} Map with `x` and `y` keys.\n */\n\nfunction getUnboundedScrollPosition(scrollable) {\n if (scrollable.Window && scrollable instanceof scrollable.Window) {\n return {\n x: scrollable.pageXOffset || scrollable.document.documentElement.scrollLeft,\n y: scrollable.pageYOffset || scrollable.document.documentElement.scrollTop\n };\n }\n\n return {\n x: scrollable.scrollLeft,\n y: scrollable.scrollTop\n };\n}\n\nmodule.exports = getUnboundedScrollPosition;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvZ2V0VW5ib3VuZGVkU2Nyb2xsUG9zaXRpb24uanM/MzMxMCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ2E7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcscUJBQXFCO0FBQ2hDLFlBQVksT0FBTztBQUNuQjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2ZianMvbGliL2dldFVuYm91bmRlZFNjcm9sbFBvc2l0aW9uLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKiBAdHlwZWNoZWNrc1xuICovXG4ndXNlIHN0cmljdCc7XG4vKipcbiAqIEdldHMgdGhlIHNjcm9sbCBwb3NpdGlvbiBvZiB0aGUgc3VwcGxpZWQgZWxlbWVudCBvciB3aW5kb3cuXG4gKlxuICogVGhlIHJldHVybiB2YWx1ZXMgYXJlIHVuYm91bmRlZCwgdW5saWtlIGBnZXRTY3JvbGxQb3NpdGlvbmAuIFRoaXMgbWVhbnMgdGhleVxuICogbWF5IGJlIG5lZ2F0aXZlIG9yIGV4Y2VlZCB0aGUgZWxlbWVudCBib3VuZGFyaWVzICh3aGljaCBpcyBwb3NzaWJsZSB1c2luZ1xuICogaW5lcnRpYWwgc2Nyb2xsaW5nKS5cbiAqXG4gKiBAcGFyYW0ge0RPTVdpbmRvd3xET01FbGVtZW50fSBzY3JvbGxhYmxlXG4gKiBAcmV0dXJuIHtvYmplY3R9IE1hcCB3aXRoIGB4YCBhbmQgYHlgIGtleXMuXG4gKi9cblxuZnVuY3Rpb24gZ2V0VW5ib3VuZGVkU2Nyb2xsUG9zaXRpb24oc2Nyb2xsYWJsZSkge1xuICBpZiAoc2Nyb2xsYWJsZS5XaW5kb3cgJiYgc2Nyb2xsYWJsZSBpbnN0YW5jZW9mIHNjcm9sbGFibGUuV2luZG93KSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHg6IHNjcm9sbGFibGUucGFnZVhPZmZzZXQgfHwgc2Nyb2xsYWJsZS5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsTGVmdCxcbiAgICAgIHk6IHNjcm9sbGFibGUucGFnZVlPZmZzZXQgfHwgc2Nyb2xsYWJsZS5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wXG4gICAgfTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgeDogc2Nyb2xsYWJsZS5zY3JvbGxMZWZ0LFxuICAgIHk6IHNjcm9sbGFibGUuc2Nyb2xsVG9wXG4gIH07XG59XG5cbm1vZHVsZS5leHBvcnRzID0gZ2V0VW5ib3VuZGVkU2Nyb2xsUG9zaXRpb247Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/fbjs/lib/getUnboundedScrollPosition.js\n"); /***/ }), @@ -1673,7 +1900,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source cod /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\nfunction getViewportWidth() {\n var width = void 0;\n if (document.documentElement) {\n width = document.documentElement.clientWidth;\n }\n\n if (!width && document.body) {\n width = document.body.clientWidth;\n }\n\n return width || 0;\n} /**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @typechecks\n */\n\nfunction getViewportHeight() {\n var height = void 0;\n if (document.documentElement) {\n height = document.documentElement.clientHeight;\n }\n\n if (!height && document.body) {\n height = document.body.clientHeight;\n }\n\n return height || 0;\n}\n\n/**\n * Gets the viewport dimensions including any scrollbars.\n */\nfunction getViewportDimensions() {\n return {\n width: window.innerWidth || getViewportWidth(),\n height: window.innerHeight || getViewportHeight()\n };\n}\n\n/**\n * Gets the viewport dimensions excluding any scrollbars.\n */\ngetViewportDimensions.withoutScrollbars = function () {\n return {\n width: getViewportWidth(),\n height: getViewportHeight()\n };\n};\n\nmodule.exports = getViewportDimensions;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvZ2V0Vmlld3BvcnREaW1lbnNpb25zLmpzP2I0YTUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWI7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvZ2V0Vmlld3BvcnREaW1lbnNpb25zLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmZ1bmN0aW9uIGdldFZpZXdwb3J0V2lkdGgoKSB7XG4gIHZhciB3aWR0aCA9IHZvaWQgMDtcbiAgaWYgKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCkge1xuICAgIHdpZHRoID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoO1xuICB9XG5cbiAgaWYgKCF3aWR0aCAmJiBkb2N1bWVudC5ib2R5KSB7XG4gICAgd2lkdGggPSBkb2N1bWVudC5ib2R5LmNsaWVudFdpZHRoO1xuICB9XG5cbiAgcmV0dXJuIHdpZHRoIHx8IDA7XG59IC8qKlxuICAgKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAgICpcbiAgICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gICAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAgICpcbiAgICogXG4gICAqIEB0eXBlY2hlY2tzXG4gICAqL1xuXG5mdW5jdGlvbiBnZXRWaWV3cG9ydEhlaWdodCgpIHtcbiAgdmFyIGhlaWdodCA9IHZvaWQgMDtcbiAgaWYgKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCkge1xuICAgIGhlaWdodCA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQ7XG4gIH1cblxuICBpZiAoIWhlaWdodCAmJiBkb2N1bWVudC5ib2R5KSB7XG4gICAgaGVpZ2h0ID0gZG9jdW1lbnQuYm9keS5jbGllbnRIZWlnaHQ7XG4gIH1cblxuICByZXR1cm4gaGVpZ2h0IHx8IDA7XG59XG5cbi8qKlxuICogR2V0cyB0aGUgdmlld3BvcnQgZGltZW5zaW9ucyBpbmNsdWRpbmcgYW55IHNjcm9sbGJhcnMuXG4gKi9cbmZ1bmN0aW9uIGdldFZpZXdwb3J0RGltZW5zaW9ucygpIHtcbiAgcmV0dXJuIHtcbiAgICB3aWR0aDogd2luZG93LmlubmVyV2lkdGggfHwgZ2V0Vmlld3BvcnRXaWR0aCgpLFxuICAgIGhlaWdodDogd2luZG93LmlubmVySGVpZ2h0IHx8IGdldFZpZXdwb3J0SGVpZ2h0KClcbiAgfTtcbn1cblxuLyoqXG4gKiBHZXRzIHRoZSB2aWV3cG9ydCBkaW1lbnNpb25zIGV4Y2x1ZGluZyBhbnkgc2Nyb2xsYmFycy5cbiAqL1xuZ2V0Vmlld3BvcnREaW1lbnNpb25zLndpdGhvdXRTY3JvbGxiYXJzID0gZnVuY3Rpb24gKCkge1xuICByZXR1cm4ge1xuICAgIHdpZHRoOiBnZXRWaWV3cG9ydFdpZHRoKCksXG4gICAgaGVpZ2h0OiBnZXRWaWV3cG9ydEhlaWdodCgpXG4gIH07XG59O1xuXG5tb2R1bGUuZXhwb3J0cyA9IGdldFZpZXdwb3J0RGltZW5zaW9uczsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/fbjs/lib/getViewportDimensions.js\n"); +eval("\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @typechecks\n */\nfunction getViewportWidth() {\n var width;\n\n if (document.documentElement) {\n width = document.documentElement.clientWidth;\n }\n\n if (!width && document.body) {\n width = document.body.clientWidth;\n }\n\n return width || 0;\n}\n\nfunction getViewportHeight() {\n var height;\n\n if (document.documentElement) {\n height = document.documentElement.clientHeight;\n }\n\n if (!height && document.body) {\n height = document.body.clientHeight;\n }\n\n return height || 0;\n}\n/**\n * Gets the viewport dimensions including any scrollbars.\n */\n\n\nfunction getViewportDimensions() {\n return {\n width: window.innerWidth || getViewportWidth(),\n height: window.innerHeight || getViewportHeight()\n };\n}\n/**\n * Gets the viewport dimensions excluding any scrollbars.\n */\n\n\ngetViewportDimensions.withoutScrollbars = function () {\n return {\n width: getViewportWidth(),\n height: getViewportHeight()\n };\n};\n\nmodule.exports = getViewportDimensions;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvZ2V0Vmlld3BvcnREaW1lbnNpb25zLmpzP2I0YTUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2ZianMvbGliL2dldFZpZXdwb3J0RGltZW5zaW9ucy5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG4vKipcbiAqIENvcHlyaWdodCAoYykgMjAxMy1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIFxuICogQHR5cGVjaGVja3NcbiAqL1xuZnVuY3Rpb24gZ2V0Vmlld3BvcnRXaWR0aCgpIHtcbiAgdmFyIHdpZHRoO1xuXG4gIGlmIChkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpIHtcbiAgICB3aWR0aCA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aDtcbiAgfVxuXG4gIGlmICghd2lkdGggJiYgZG9jdW1lbnQuYm9keSkge1xuICAgIHdpZHRoID0gZG9jdW1lbnQuYm9keS5jbGllbnRXaWR0aDtcbiAgfVxuXG4gIHJldHVybiB3aWR0aCB8fCAwO1xufVxuXG5mdW5jdGlvbiBnZXRWaWV3cG9ydEhlaWdodCgpIHtcbiAgdmFyIGhlaWdodDtcblxuICBpZiAoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KSB7XG4gICAgaGVpZ2h0ID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodDtcbiAgfVxuXG4gIGlmICghaGVpZ2h0ICYmIGRvY3VtZW50LmJvZHkpIHtcbiAgICBoZWlnaHQgPSBkb2N1bWVudC5ib2R5LmNsaWVudEhlaWdodDtcbiAgfVxuXG4gIHJldHVybiBoZWlnaHQgfHwgMDtcbn1cbi8qKlxuICogR2V0cyB0aGUgdmlld3BvcnQgZGltZW5zaW9ucyBpbmNsdWRpbmcgYW55IHNjcm9sbGJhcnMuXG4gKi9cblxuXG5mdW5jdGlvbiBnZXRWaWV3cG9ydERpbWVuc2lvbnMoKSB7XG4gIHJldHVybiB7XG4gICAgd2lkdGg6IHdpbmRvdy5pbm5lcldpZHRoIHx8IGdldFZpZXdwb3J0V2lkdGgoKSxcbiAgICBoZWlnaHQ6IHdpbmRvdy5pbm5lckhlaWdodCB8fCBnZXRWaWV3cG9ydEhlaWdodCgpXG4gIH07XG59XG4vKipcbiAqIEdldHMgdGhlIHZpZXdwb3J0IGRpbWVuc2lvbnMgZXhjbHVkaW5nIGFueSBzY3JvbGxiYXJzLlxuICovXG5cblxuZ2V0Vmlld3BvcnREaW1lbnNpb25zLndpdGhvdXRTY3JvbGxiYXJzID0gZnVuY3Rpb24gKCkge1xuICByZXR1cm4ge1xuICAgIHdpZHRoOiBnZXRWaWV3cG9ydFdpZHRoKCksXG4gICAgaGVpZ2h0OiBnZXRWaWV3cG9ydEhlaWdodCgpXG4gIH07XG59O1xuXG5tb2R1bGUuZXhwb3J0cyA9IGdldFZpZXdwb3J0RGltZW5zaW9uczsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/fbjs/lib/getViewportDimensions.js\n"); /***/ }), @@ -1685,7 +1912,7 @@ eval("\n\nfunction getViewportWidth() {\n var width = void 0;\n if (document.d /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n */\n\nvar _uppercasePattern = /([A-Z])/g;\n\n/**\n * Hyphenates a camelcased string, for example:\n *\n * > hyphenate('backgroundColor')\n * < \"background-color\"\n *\n * For CSS style names, use `hyphenateStyleName` instead which works properly\n * with all vendor prefixes, including `ms`.\n *\n * @param {string} string\n * @return {string}\n */\nfunction hyphenate(string) {\n return string.replace(_uppercasePattern, '-$1').toLowerCase();\n}\n\nmodule.exports = hyphenate;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvaHlwaGVuYXRlLmpzP2Y5YTEiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLE9BQU87QUFDbEIsWUFBWTtBQUNaO0FBQ0E7QUFDQTtBQUNBOztBQUVBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2ZianMvbGliL2h5cGhlbmF0ZS5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKiBAdHlwZWNoZWNrc1xuICovXG5cbnZhciBfdXBwZXJjYXNlUGF0dGVybiA9IC8oW0EtWl0pL2c7XG5cbi8qKlxuICogSHlwaGVuYXRlcyBhIGNhbWVsY2FzZWQgc3RyaW5nLCBmb3IgZXhhbXBsZTpcbiAqXG4gKiAgID4gaHlwaGVuYXRlKCdiYWNrZ3JvdW5kQ29sb3InKVxuICogICA8IFwiYmFja2dyb3VuZC1jb2xvclwiXG4gKlxuICogRm9yIENTUyBzdHlsZSBuYW1lcywgdXNlIGBoeXBoZW5hdGVTdHlsZU5hbWVgIGluc3RlYWQgd2hpY2ggd29ya3MgcHJvcGVybHlcbiAqIHdpdGggYWxsIHZlbmRvciBwcmVmaXhlcywgaW5jbHVkaW5nIGBtc2AuXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHN0cmluZ1xuICogQHJldHVybiB7c3RyaW5nfVxuICovXG5mdW5jdGlvbiBoeXBoZW5hdGUoc3RyaW5nKSB7XG4gIHJldHVybiBzdHJpbmcucmVwbGFjZShfdXBwZXJjYXNlUGF0dGVybiwgJy0kMScpLnRvTG93ZXJDYXNlKCk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gaHlwaGVuYXRlOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/fbjs/lib/hyphenate.js\n"); +eval("\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n */\nvar _uppercasePattern = /([A-Z])/g;\n/**\n * Hyphenates a camelcased string, for example:\n *\n * > hyphenate('backgroundColor')\n * < \"background-color\"\n *\n * For CSS style names, use `hyphenateStyleName` instead which works properly\n * with all vendor prefixes, including `ms`.\n *\n * @param {string} string\n * @return {string}\n */\n\nfunction hyphenate(string) {\n return string.replace(_uppercasePattern, '-$1').toLowerCase();\n}\n\nmodule.exports = hyphenate;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvaHlwaGVuYXRlLmpzP2Y5YTEiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxPQUFPO0FBQ2xCLFlBQVk7QUFDWjs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvaHlwaGVuYXRlLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICogQHR5cGVjaGVja3NcbiAqL1xudmFyIF91cHBlcmNhc2VQYXR0ZXJuID0gLyhbQS1aXSkvZztcbi8qKlxuICogSHlwaGVuYXRlcyBhIGNhbWVsY2FzZWQgc3RyaW5nLCBmb3IgZXhhbXBsZTpcbiAqXG4gKiAgID4gaHlwaGVuYXRlKCdiYWNrZ3JvdW5kQ29sb3InKVxuICogICA8IFwiYmFja2dyb3VuZC1jb2xvclwiXG4gKlxuICogRm9yIENTUyBzdHlsZSBuYW1lcywgdXNlIGBoeXBoZW5hdGVTdHlsZU5hbWVgIGluc3RlYWQgd2hpY2ggd29ya3MgcHJvcGVybHlcbiAqIHdpdGggYWxsIHZlbmRvciBwcmVmaXhlcywgaW5jbHVkaW5nIGBtc2AuXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHN0cmluZ1xuICogQHJldHVybiB7c3RyaW5nfVxuICovXG5cbmZ1bmN0aW9uIGh5cGhlbmF0ZShzdHJpbmcpIHtcbiAgcmV0dXJuIHN0cmluZy5yZXBsYWNlKF91cHBlcmNhc2VQYXR0ZXJuLCAnLSQxJykudG9Mb3dlckNhc2UoKTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBoeXBoZW5hdGU7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/fbjs/lib/hyphenate.js\n"); /***/ }), @@ -1697,7 +1924,7 @@ eval("\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar validateFormat = function validateFormat(format) {};\n\nif (true) {\n validateFormat = function validateFormat(format) {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n };\n}\n\nfunction invariant(condition, format, a, b, c, d, e, f) {\n validateFormat(format);\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n}\n\nmodule.exports = invariant;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvaW52YXJpYW50LmpzP2Q4ZGIiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWE7O0FBRWI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUEsSUFBSSxJQUFxQztBQUN6QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxxREFBcUQ7QUFDckQsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7O0FBRUEsMEJBQTBCO0FBQzFCO0FBQ0E7QUFDQTs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9mYmpzL2xpYi9pbnZhcmlhbnQuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxMy1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbi8qKlxuICogVXNlIGludmFyaWFudCgpIHRvIGFzc2VydCBzdGF0ZSB3aGljaCB5b3VyIHByb2dyYW0gYXNzdW1lcyB0byBiZSB0cnVlLlxuICpcbiAqIFByb3ZpZGUgc3ByaW50Zi1zdHlsZSBmb3JtYXQgKG9ubHkgJXMgaXMgc3VwcG9ydGVkKSBhbmQgYXJndW1lbnRzXG4gKiB0byBwcm92aWRlIGluZm9ybWF0aW9uIGFib3V0IHdoYXQgYnJva2UgYW5kIHdoYXQgeW91IHdlcmVcbiAqIGV4cGVjdGluZy5cbiAqXG4gKiBUaGUgaW52YXJpYW50IG1lc3NhZ2Ugd2lsbCBiZSBzdHJpcHBlZCBpbiBwcm9kdWN0aW9uLCBidXQgdGhlIGludmFyaWFudFxuICogd2lsbCByZW1haW4gdG8gZW5zdXJlIGxvZ2ljIGRvZXMgbm90IGRpZmZlciBpbiBwcm9kdWN0aW9uLlxuICovXG5cbnZhciB2YWxpZGF0ZUZvcm1hdCA9IGZ1bmN0aW9uIHZhbGlkYXRlRm9ybWF0KGZvcm1hdCkge307XG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gIHZhbGlkYXRlRm9ybWF0ID0gZnVuY3Rpb24gdmFsaWRhdGVGb3JtYXQoZm9ybWF0KSB7XG4gICAgaWYgKGZvcm1hdCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludmFyaWFudCByZXF1aXJlcyBhbiBlcnJvciBtZXNzYWdlIGFyZ3VtZW50Jyk7XG4gICAgfVxuICB9O1xufVxuXG5mdW5jdGlvbiBpbnZhcmlhbnQoY29uZGl0aW9uLCBmb3JtYXQsIGEsIGIsIGMsIGQsIGUsIGYpIHtcbiAgdmFsaWRhdGVGb3JtYXQoZm9ybWF0KTtcblxuICBpZiAoIWNvbmRpdGlvbikge1xuICAgIHZhciBlcnJvcjtcbiAgICBpZiAoZm9ybWF0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGVycm9yID0gbmV3IEVycm9yKCdNaW5pZmllZCBleGNlcHRpb24gb2NjdXJyZWQ7IHVzZSB0aGUgbm9uLW1pbmlmaWVkIGRldiBlbnZpcm9ubWVudCAnICsgJ2ZvciB0aGUgZnVsbCBlcnJvciBtZXNzYWdlIGFuZCBhZGRpdGlvbmFsIGhlbHBmdWwgd2FybmluZ3MuJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhciBhcmdzID0gW2EsIGIsIGMsIGQsIGUsIGZdO1xuICAgICAgdmFyIGFyZ0luZGV4ID0gMDtcbiAgICAgIGVycm9yID0gbmV3IEVycm9yKGZvcm1hdC5yZXBsYWNlKC8lcy9nLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiBhcmdzW2FyZ0luZGV4KytdO1xuICAgICAgfSkpO1xuICAgICAgZXJyb3IubmFtZSA9ICdJbnZhcmlhbnQgVmlvbGF0aW9uJztcbiAgICB9XG5cbiAgICBlcnJvci5mcmFtZXNUb1BvcCA9IDE7IC8vIHdlIGRvbid0IGNhcmUgYWJvdXQgaW52YXJpYW50J3Mgb3duIGZyYW1lXG4gICAgdGhyb3cgZXJyb3I7XG4gIH1cbn1cblxubW9kdWxlLmV4cG9ydHMgPSBpbnZhcmlhbnQ7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/fbjs/lib/invariant.js\n"); +eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\n\nvar validateFormat = true ? function (format) {} : undefined;\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments to provide\n * information about what broke and what you were expecting.\n *\n * The invariant message will be stripped in production, but the invariant will\n * remain to ensure logic does not differ in production.\n */\n\nfunction invariant(condition, format) {\n for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n\n validateFormat(format);\n\n if (!condition) {\n var error;\n\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return String(args[argIndex++]);\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // Skip invariant's own stack frame.\n\n throw error;\n }\n}\n\nmodule.exports = invariant;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvaW52YXJpYW50LmpzP2Q4ZGIiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNhOztBQUViLHFCQUFxQixLQUFxQyx1QkFBdUIsR0FBRyxTQUluRjtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHdGQUF3RixhQUFhO0FBQ3JHO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLHFEQUFxRDtBQUNyRCxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7O0FBRUEsMEJBQTBCOztBQUUxQjtBQUNBO0FBQ0E7O0FBRUEiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvaW52YXJpYW50LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKiBcbiAqL1xuJ3VzZSBzdHJpY3QnO1xuXG52YXIgdmFsaWRhdGVGb3JtYXQgPSBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIgPyBmdW5jdGlvbiAoZm9ybWF0KSB7fSA6IGZ1bmN0aW9uIChmb3JtYXQpIHtcbiAgaWYgKGZvcm1hdCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdpbnZhcmlhbnQoLi4uKTogU2Vjb25kIGFyZ3VtZW50IG11c3QgYmUgYSBzdHJpbmcuJyk7XG4gIH1cbn07XG4vKipcbiAqIFVzZSBpbnZhcmlhbnQoKSB0byBhc3NlcnQgc3RhdGUgd2hpY2ggeW91ciBwcm9ncmFtIGFzc3VtZXMgdG8gYmUgdHJ1ZS5cbiAqXG4gKiBQcm92aWRlIHNwcmludGYtc3R5bGUgZm9ybWF0IChvbmx5ICVzIGlzIHN1cHBvcnRlZCkgYW5kIGFyZ3VtZW50cyB0byBwcm92aWRlXG4gKiBpbmZvcm1hdGlvbiBhYm91dCB3aGF0IGJyb2tlIGFuZCB3aGF0IHlvdSB3ZXJlIGV4cGVjdGluZy5cbiAqXG4gKiBUaGUgaW52YXJpYW50IG1lc3NhZ2Ugd2lsbCBiZSBzdHJpcHBlZCBpbiBwcm9kdWN0aW9uLCBidXQgdGhlIGludmFyaWFudCB3aWxsXG4gKiByZW1haW4gdG8gZW5zdXJlIGxvZ2ljIGRvZXMgbm90IGRpZmZlciBpbiBwcm9kdWN0aW9uLlxuICovXG5cbmZ1bmN0aW9uIGludmFyaWFudChjb25kaXRpb24sIGZvcm1hdCkge1xuICBmb3IgKHZhciBfbGVuID0gYXJndW1lbnRzLmxlbmd0aCwgYXJncyA9IG5ldyBBcnJheShfbGVuID4gMiA/IF9sZW4gLSAyIDogMCksIF9rZXkgPSAyOyBfa2V5IDwgX2xlbjsgX2tleSsrKSB7XG4gICAgYXJnc1tfa2V5IC0gMl0gPSBhcmd1bWVudHNbX2tleV07XG4gIH1cblxuICB2YWxpZGF0ZUZvcm1hdChmb3JtYXQpO1xuXG4gIGlmICghY29uZGl0aW9uKSB7XG4gICAgdmFyIGVycm9yO1xuXG4gICAgaWYgKGZvcm1hdCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBlcnJvciA9IG5ldyBFcnJvcignTWluaWZpZWQgZXhjZXB0aW9uIG9jY3VycmVkOyB1c2UgdGhlIG5vbi1taW5pZmllZCBkZXYgZW52aXJvbm1lbnQgJyArICdmb3IgdGhlIGZ1bGwgZXJyb3IgbWVzc2FnZSBhbmQgYWRkaXRpb25hbCBoZWxwZnVsIHdhcm5pbmdzLicpO1xuICAgIH0gZWxzZSB7XG4gICAgICB2YXIgYXJnSW5kZXggPSAwO1xuICAgICAgZXJyb3IgPSBuZXcgRXJyb3IoZm9ybWF0LnJlcGxhY2UoLyVzL2csIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgcmV0dXJuIFN0cmluZyhhcmdzW2FyZ0luZGV4KytdKTtcbiAgICAgIH0pKTtcbiAgICAgIGVycm9yLm5hbWUgPSAnSW52YXJpYW50IFZpb2xhdGlvbic7XG4gICAgfVxuXG4gICAgZXJyb3IuZnJhbWVzVG9Qb3AgPSAxOyAvLyBTa2lwIGludmFyaWFudCdzIG93biBzdGFjayBmcmFtZS5cblxuICAgIHRocm93IGVycm9yO1xuICB9XG59XG5cbm1vZHVsZS5leHBvcnRzID0gaW52YXJpYW50OyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/fbjs/lib/invariant.js\n"); /***/ }), @@ -1709,7 +1936,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source cod /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n */\n\n/**\n * @param {*} object The object to check.\n * @return {boolean} Whether or not the object is a DOM node.\n */\nfunction isNode(object) {\n var doc = object ? object.ownerDocument || object : document;\n var defaultView = doc.defaultView || window;\n return !!(object && (typeof defaultView.Node === 'function' ? object instanceof defaultView.Node : typeof object === 'object' && typeof object.nodeType === 'number' && typeof object.nodeName === 'string'));\n}\n\nmodule.exports = isNode;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvaXNOb2RlLmpzP2Y3ODYiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLFdBQVcsRUFBRTtBQUNiLFlBQVksUUFBUTtBQUNwQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvaXNOb2RlLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG4vKipcbiAqIENvcHlyaWdodCAoYykgMjAxMy1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIEB0eXBlY2hlY2tzXG4gKi9cblxuLyoqXG4gKiBAcGFyYW0geyp9IG9iamVjdCBUaGUgb2JqZWN0IHRvIGNoZWNrLlxuICogQHJldHVybiB7Ym9vbGVhbn0gV2hldGhlciBvciBub3QgdGhlIG9iamVjdCBpcyBhIERPTSBub2RlLlxuICovXG5mdW5jdGlvbiBpc05vZGUob2JqZWN0KSB7XG4gIHZhciBkb2MgPSBvYmplY3QgPyBvYmplY3Qub3duZXJEb2N1bWVudCB8fCBvYmplY3QgOiBkb2N1bWVudDtcbiAgdmFyIGRlZmF1bHRWaWV3ID0gZG9jLmRlZmF1bHRWaWV3IHx8IHdpbmRvdztcbiAgcmV0dXJuICEhKG9iamVjdCAmJiAodHlwZW9mIGRlZmF1bHRWaWV3Lk5vZGUgPT09ICdmdW5jdGlvbicgPyBvYmplY3QgaW5zdGFuY2VvZiBkZWZhdWx0Vmlldy5Ob2RlIDogdHlwZW9mIG9iamVjdCA9PT0gJ29iamVjdCcgJiYgdHlwZW9mIG9iamVjdC5ub2RlVHlwZSA9PT0gJ251bWJlcicgJiYgdHlwZW9mIG9iamVjdC5ub2RlTmFtZSA9PT0gJ3N0cmluZycpKTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBpc05vZGU7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/fbjs/lib/isNode.js\n"); +eval("\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n */\n\n/**\n * @param {*} object The object to check.\n * @return {boolean} Whether or not the object is a DOM node.\n */\nfunction isNode(object) {\n var doc = object ? object.ownerDocument || object : document;\n var defaultView = doc.defaultView || window;\n return !!(object && (typeof defaultView.Node === 'function' ? object instanceof defaultView.Node : typeof object === 'object' && typeof object.nodeType === 'number' && typeof object.nodeName === 'string'));\n}\n\nmodule.exports = isNode;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvaXNOb2RlLmpzP2Y3ODYiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLFdBQVcsRUFBRTtBQUNiLFlBQVksUUFBUTtBQUNwQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvaXNOb2RlLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICogQHR5cGVjaGVja3NcbiAqL1xuXG4vKipcbiAqIEBwYXJhbSB7Kn0gb2JqZWN0IFRoZSBvYmplY3QgdG8gY2hlY2suXG4gKiBAcmV0dXJuIHtib29sZWFufSBXaGV0aGVyIG9yIG5vdCB0aGUgb2JqZWN0IGlzIGEgRE9NIG5vZGUuXG4gKi9cbmZ1bmN0aW9uIGlzTm9kZShvYmplY3QpIHtcbiAgdmFyIGRvYyA9IG9iamVjdCA/IG9iamVjdC5vd25lckRvY3VtZW50IHx8IG9iamVjdCA6IGRvY3VtZW50O1xuICB2YXIgZGVmYXVsdFZpZXcgPSBkb2MuZGVmYXVsdFZpZXcgfHwgd2luZG93O1xuICByZXR1cm4gISEob2JqZWN0ICYmICh0eXBlb2YgZGVmYXVsdFZpZXcuTm9kZSA9PT0gJ2Z1bmN0aW9uJyA/IG9iamVjdCBpbnN0YW5jZW9mIGRlZmF1bHRWaWV3Lk5vZGUgOiB0eXBlb2Ygb2JqZWN0ID09PSAnb2JqZWN0JyAmJiB0eXBlb2Ygb2JqZWN0Lm5vZGVUeXBlID09PSAnbnVtYmVyJyAmJiB0eXBlb2Ygb2JqZWN0Lm5vZGVOYW1lID09PSAnc3RyaW5nJykpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGlzTm9kZTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/fbjs/lib/isNode.js\n"); /***/ }), @@ -1721,7 +1948,7 @@ eval("\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n */\n\nvar isNode = __webpack_require__(/*! ./isNode */ \"./node_modules/fbjs/lib/isNode.js\");\n\n/**\n * @param {*} object The object to check.\n * @return {boolean} Whether or not the object is a DOM text node.\n */\nfunction isTextNode(object) {\n return isNode(object) && object.nodeType == 3;\n}\n\nmodule.exports = isTextNode;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvaXNUZXh0Tm9kZS5qcz80OTBkIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFhOztBQUViO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsYUFBYSxtQkFBTyxDQUFDLG1EQUFVOztBQUUvQjtBQUNBLFdBQVcsRUFBRTtBQUNiLFlBQVksUUFBUTtBQUNwQjtBQUNBO0FBQ0E7QUFDQTs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9mYmpzL2xpYi9pc1RleHROb2RlLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG4vKipcbiAqIENvcHlyaWdodCAoYykgMjAxMy1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIEB0eXBlY2hlY2tzXG4gKi9cblxudmFyIGlzTm9kZSA9IHJlcXVpcmUoJy4vaXNOb2RlJyk7XG5cbi8qKlxuICogQHBhcmFtIHsqfSBvYmplY3QgVGhlIG9iamVjdCB0byBjaGVjay5cbiAqIEByZXR1cm4ge2Jvb2xlYW59IFdoZXRoZXIgb3Igbm90IHRoZSBvYmplY3QgaXMgYSBET00gdGV4dCBub2RlLlxuICovXG5mdW5jdGlvbiBpc1RleHROb2RlKG9iamVjdCkge1xuICByZXR1cm4gaXNOb2RlKG9iamVjdCkgJiYgb2JqZWN0Lm5vZGVUeXBlID09IDM7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gaXNUZXh0Tm9kZTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/fbjs/lib/isTextNode.js\n"); +eval("\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n */\nvar isNode = __webpack_require__(/*! ./isNode */ \"./node_modules/fbjs/lib/isNode.js\");\n/**\n * @param {*} object The object to check.\n * @return {boolean} Whether or not the object is a DOM text node.\n */\n\n\nfunction isTextNode(object) {\n return isNode(object) && object.nodeType == 3;\n}\n\nmodule.exports = isTextNode;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvaXNUZXh0Tm9kZS5qcz80OTBkIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFhOztBQUViO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLG1CQUFPLENBQUMsbURBQVU7QUFDL0I7QUFDQSxXQUFXLEVBQUU7QUFDYixZQUFZLFFBQVE7QUFDcEI7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9mYmpzL2xpYi9pc1RleHROb2RlLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICogQHR5cGVjaGVja3NcbiAqL1xudmFyIGlzTm9kZSA9IHJlcXVpcmUoXCIuL2lzTm9kZVwiKTtcbi8qKlxuICogQHBhcmFtIHsqfSBvYmplY3QgVGhlIG9iamVjdCB0byBjaGVjay5cbiAqIEByZXR1cm4ge2Jvb2xlYW59IFdoZXRoZXIgb3Igbm90IHRoZSBvYmplY3QgaXMgYSBET00gdGV4dCBub2RlLlxuICovXG5cblxuZnVuY3Rpb24gaXNUZXh0Tm9kZShvYmplY3QpIHtcbiAgcmV0dXJuIGlzTm9kZShvYmplY3QpICYmIG9iamVjdC5ub2RlVHlwZSA9PSAzO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGlzVGV4dE5vZGU7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/fbjs/lib/isTextNode.js\n"); /***/ }), @@ -1733,7 +1960,7 @@ eval("\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks static-only\n */\n\n\n\n/**\n * Combines multiple className strings into one.\n * http://jsperf.com/joinclasses-args-vs-array\n *\n * @param {...?string} className\n * @return {string}\n */\n\nfunction joinClasses(className /*, ... */) {\n if (!className) {\n className = '';\n }\n var nextClass = void 0;\n var argLength = arguments.length;\n if (argLength > 1) {\n for (var ii = 1; ii < argLength; ii++) {\n nextClass = arguments[ii];\n if (nextClass) {\n className = (className ? className + ' ' : '') + nextClass;\n }\n }\n }\n return className;\n}\n\nmodule.exports = joinClasses;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvam9pbkNsYXNzZXMuanM/N2RhMCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVhOztBQUViO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxXQUFXO0FBQ3RCLFlBQVk7QUFDWjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixnQkFBZ0I7QUFDcEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9mYmpzL2xpYi9qb2luQ2xhc3Nlcy5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICogQHR5cGVjaGVja3Mgc3RhdGljLW9ubHlcbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbi8qKlxuICogQ29tYmluZXMgbXVsdGlwbGUgY2xhc3NOYW1lIHN0cmluZ3MgaW50byBvbmUuXG4gKiBodHRwOi8vanNwZXJmLmNvbS9qb2luY2xhc3Nlcy1hcmdzLXZzLWFycmF5XG4gKlxuICogQHBhcmFtIHsuLi4/c3RyaW5nfSBjbGFzc05hbWVcbiAqIEByZXR1cm4ge3N0cmluZ31cbiAqL1xuXG5mdW5jdGlvbiBqb2luQ2xhc3NlcyhjbGFzc05hbWUgLyosIC4uLiAqLykge1xuICBpZiAoIWNsYXNzTmFtZSkge1xuICAgIGNsYXNzTmFtZSA9ICcnO1xuICB9XG4gIHZhciBuZXh0Q2xhc3MgPSB2b2lkIDA7XG4gIHZhciBhcmdMZW5ndGggPSBhcmd1bWVudHMubGVuZ3RoO1xuICBpZiAoYXJnTGVuZ3RoID4gMSkge1xuICAgIGZvciAodmFyIGlpID0gMTsgaWkgPCBhcmdMZW5ndGg7IGlpKyspIHtcbiAgICAgIG5leHRDbGFzcyA9IGFyZ3VtZW50c1tpaV07XG4gICAgICBpZiAobmV4dENsYXNzKSB7XG4gICAgICAgIGNsYXNzTmFtZSA9IChjbGFzc05hbWUgPyBjbGFzc05hbWUgKyAnICcgOiAnJykgKyBuZXh0Q2xhc3M7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiBjbGFzc05hbWU7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gam9pbkNsYXNzZXM7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/fbjs/lib/joinClasses.js\n"); +eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @typechecks static-only\n */\n\n/**\n * Combines multiple className strings into one.\n */\n\nfunction joinClasses(className) {\n var newClassName = className || '';\n var argLength = arguments.length;\n\n if (argLength > 1) {\n for (var index = 1; index < argLength; index++) {\n var nextClass = arguments[index];\n\n if (nextClass) {\n newClassName = (newClassName ? newClassName + ' ' : '') + nextClass;\n }\n }\n }\n\n return newClassName;\n}\n\nmodule.exports = joinClasses;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvam9pbkNsYXNzZXMuanM/N2RhMCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDYTtBQUNiO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSx1QkFBdUIsbUJBQW1CO0FBQzFDOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9mYmpzL2xpYi9qb2luQ2xhc3Nlcy5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICogXG4gKiBAdHlwZWNoZWNrcyBzdGF0aWMtb25seVxuICovXG4ndXNlIHN0cmljdCc7XG4vKipcbiAqIENvbWJpbmVzIG11bHRpcGxlIGNsYXNzTmFtZSBzdHJpbmdzIGludG8gb25lLlxuICovXG5cbmZ1bmN0aW9uIGpvaW5DbGFzc2VzKGNsYXNzTmFtZSkge1xuICB2YXIgbmV3Q2xhc3NOYW1lID0gY2xhc3NOYW1lIHx8ICcnO1xuICB2YXIgYXJnTGVuZ3RoID0gYXJndW1lbnRzLmxlbmd0aDtcblxuICBpZiAoYXJnTGVuZ3RoID4gMSkge1xuICAgIGZvciAodmFyIGluZGV4ID0gMTsgaW5kZXggPCBhcmdMZW5ndGg7IGluZGV4KyspIHtcbiAgICAgIHZhciBuZXh0Q2xhc3MgPSBhcmd1bWVudHNbaW5kZXhdO1xuXG4gICAgICBpZiAobmV4dENsYXNzKSB7XG4gICAgICAgIG5ld0NsYXNzTmFtZSA9IChuZXdDbGFzc05hbWUgPyBuZXdDbGFzc05hbWUgKyAnICcgOiAnJykgKyBuZXh0Q2xhc3M7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG5ld0NsYXNzTmFtZTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBqb2luQ2xhc3NlczsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/fbjs/lib/joinClasses.js\n"); /***/ }), @@ -1745,7 +1972,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source cod /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\n/**\n * Executes the provided `callback` once for each enumerable own property in the\n * object and constructs a new object from the results. The `callback` is\n * invoked with three arguments:\n *\n * - the property value\n * - the property name\n * - the object being traversed\n *\n * Properties that are added after the call to `mapObject` will not be visited\n * by `callback`. If the values of existing properties are changed, the value\n * passed to `callback` will be the value at the time `mapObject` visits them.\n * Properties that are deleted before being visited are not visited.\n *\n * @grep function objectMap()\n * @grep function objMap()\n *\n * @param {?object} object\n * @param {function} callback\n * @param {*} context\n * @return {?object}\n */\nfunction mapObject(object, callback, context) {\n if (!object) {\n return null;\n }\n var result = {};\n for (var name in object) {\n if (hasOwnProperty.call(object, name)) {\n result[name] = callback.call(context, object[name], name, object);\n }\n }\n return result;\n}\n\nmodule.exports = mapObject;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvbWFwT2JqZWN0LmpzPzZkZGYiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWE7O0FBRWI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsUUFBUTtBQUNuQixXQUFXLFNBQVM7QUFDcEIsV0FBVyxFQUFFO0FBQ2IsWUFBWTtBQUNaO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2ZianMvbGliL21hcE9iamVjdC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICovXG5cbid1c2Ugc3RyaWN0JztcblxudmFyIGhhc093blByb3BlcnR5ID0gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtcblxuLyoqXG4gKiBFeGVjdXRlcyB0aGUgcHJvdmlkZWQgYGNhbGxiYWNrYCBvbmNlIGZvciBlYWNoIGVudW1lcmFibGUgb3duIHByb3BlcnR5IGluIHRoZVxuICogb2JqZWN0IGFuZCBjb25zdHJ1Y3RzIGEgbmV3IG9iamVjdCBmcm9tIHRoZSByZXN1bHRzLiBUaGUgYGNhbGxiYWNrYCBpc1xuICogaW52b2tlZCB3aXRoIHRocmVlIGFyZ3VtZW50czpcbiAqXG4gKiAgLSB0aGUgcHJvcGVydHkgdmFsdWVcbiAqICAtIHRoZSBwcm9wZXJ0eSBuYW1lXG4gKiAgLSB0aGUgb2JqZWN0IGJlaW5nIHRyYXZlcnNlZFxuICpcbiAqIFByb3BlcnRpZXMgdGhhdCBhcmUgYWRkZWQgYWZ0ZXIgdGhlIGNhbGwgdG8gYG1hcE9iamVjdGAgd2lsbCBub3QgYmUgdmlzaXRlZFxuICogYnkgYGNhbGxiYWNrYC4gSWYgdGhlIHZhbHVlcyBvZiBleGlzdGluZyBwcm9wZXJ0aWVzIGFyZSBjaGFuZ2VkLCB0aGUgdmFsdWVcbiAqIHBhc3NlZCB0byBgY2FsbGJhY2tgIHdpbGwgYmUgdGhlIHZhbHVlIGF0IHRoZSB0aW1lIGBtYXBPYmplY3RgIHZpc2l0cyB0aGVtLlxuICogUHJvcGVydGllcyB0aGF0IGFyZSBkZWxldGVkIGJlZm9yZSBiZWluZyB2aXNpdGVkIGFyZSBub3QgdmlzaXRlZC5cbiAqXG4gKiBAZ3JlcCBmdW5jdGlvbiBvYmplY3RNYXAoKVxuICogQGdyZXAgZnVuY3Rpb24gb2JqTWFwKClcbiAqXG4gKiBAcGFyYW0gez9vYmplY3R9IG9iamVjdFxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAqIEBwYXJhbSB7Kn0gY29udGV4dFxuICogQHJldHVybiB7P29iamVjdH1cbiAqL1xuZnVuY3Rpb24gbWFwT2JqZWN0KG9iamVjdCwgY2FsbGJhY2ssIGNvbnRleHQpIHtcbiAgaWYgKCFvYmplY3QpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICB2YXIgcmVzdWx0ID0ge307XG4gIGZvciAodmFyIG5hbWUgaW4gb2JqZWN0KSB7XG4gICAgaWYgKGhhc093blByb3BlcnR5LmNhbGwob2JqZWN0LCBuYW1lKSkge1xuICAgICAgcmVzdWx0W25hbWVdID0gY2FsbGJhY2suY2FsbChjb250ZXh0LCBvYmplY3RbbmFtZV0sIG5hbWUsIG9iamVjdCk7XG4gICAgfVxuICB9XG4gIHJldHVybiByZXN1bHQ7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gbWFwT2JqZWN0OyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/fbjs/lib/mapObject.js\n"); +eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n/**\n * Executes the provided `callback` once for each enumerable own property in the\n * object and constructs a new object from the results. The `callback` is\n * invoked with three arguments:\n *\n * - the property value\n * - the property name\n * - the object being traversed\n *\n * Properties that are added after the call to `mapObject` will not be visited\n * by `callback`. If the values of existing properties are changed, the value\n * passed to `callback` will be the value at the time `mapObject` visits them.\n * Properties that are deleted before being visited are not visited.\n *\n * @grep function objectMap()\n * @grep function objMap()\n *\n * @param {?object} object\n * @param {function} callback\n * @param {*} context\n * @return {?object}\n */\n\nfunction mapObject(object, callback, context) {\n if (!object) {\n return null;\n }\n\n var result = {};\n\n for (var name in object) {\n if (hasOwnProperty.call(object, name)) {\n result[name] = callback.call(context, object[name], name, object);\n }\n }\n\n return result;\n}\n\nmodule.exports = mapObject;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvbWFwT2JqZWN0LmpzPzZkZGYiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDYTs7QUFFYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFFBQVE7QUFDbkIsV0FBVyxTQUFTO0FBQ3BCLFdBQVcsRUFBRTtBQUNiLFlBQVk7QUFDWjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvbWFwT2JqZWN0LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKi9cbid1c2Ugc3RyaWN0JztcblxudmFyIGhhc093blByb3BlcnR5ID0gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtcbi8qKlxuICogRXhlY3V0ZXMgdGhlIHByb3ZpZGVkIGBjYWxsYmFja2Agb25jZSBmb3IgZWFjaCBlbnVtZXJhYmxlIG93biBwcm9wZXJ0eSBpbiB0aGVcbiAqIG9iamVjdCBhbmQgY29uc3RydWN0cyBhIG5ldyBvYmplY3QgZnJvbSB0aGUgcmVzdWx0cy4gVGhlIGBjYWxsYmFja2AgaXNcbiAqIGludm9rZWQgd2l0aCB0aHJlZSBhcmd1bWVudHM6XG4gKlxuICogIC0gdGhlIHByb3BlcnR5IHZhbHVlXG4gKiAgLSB0aGUgcHJvcGVydHkgbmFtZVxuICogIC0gdGhlIG9iamVjdCBiZWluZyB0cmF2ZXJzZWRcbiAqXG4gKiBQcm9wZXJ0aWVzIHRoYXQgYXJlIGFkZGVkIGFmdGVyIHRoZSBjYWxsIHRvIGBtYXBPYmplY3RgIHdpbGwgbm90IGJlIHZpc2l0ZWRcbiAqIGJ5IGBjYWxsYmFja2AuIElmIHRoZSB2YWx1ZXMgb2YgZXhpc3RpbmcgcHJvcGVydGllcyBhcmUgY2hhbmdlZCwgdGhlIHZhbHVlXG4gKiBwYXNzZWQgdG8gYGNhbGxiYWNrYCB3aWxsIGJlIHRoZSB2YWx1ZSBhdCB0aGUgdGltZSBgbWFwT2JqZWN0YCB2aXNpdHMgdGhlbS5cbiAqIFByb3BlcnRpZXMgdGhhdCBhcmUgZGVsZXRlZCBiZWZvcmUgYmVpbmcgdmlzaXRlZCBhcmUgbm90IHZpc2l0ZWQuXG4gKlxuICogQGdyZXAgZnVuY3Rpb24gb2JqZWN0TWFwKClcbiAqIEBncmVwIGZ1bmN0aW9uIG9iak1hcCgpXG4gKlxuICogQHBhcmFtIHs/b2JqZWN0fSBvYmplY3RcbiAqIEBwYXJhbSB7ZnVuY3Rpb259IGNhbGxiYWNrXG4gKiBAcGFyYW0geyp9IGNvbnRleHRcbiAqIEByZXR1cm4gez9vYmplY3R9XG4gKi9cblxuZnVuY3Rpb24gbWFwT2JqZWN0KG9iamVjdCwgY2FsbGJhY2ssIGNvbnRleHQpIHtcbiAgaWYgKCFvYmplY3QpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHZhciByZXN1bHQgPSB7fTtcblxuICBmb3IgKHZhciBuYW1lIGluIG9iamVjdCkge1xuICAgIGlmIChoYXNPd25Qcm9wZXJ0eS5jYWxsKG9iamVjdCwgbmFtZSkpIHtcbiAgICAgIHJlc3VsdFtuYW1lXSA9IGNhbGxiYWNrLmNhbGwoY29udGV4dCwgb2JqZWN0W25hbWVdLCBuYW1lLCBvYmplY3QpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiByZXN1bHQ7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gbWFwT2JqZWN0OyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/fbjs/lib/mapObject.js\n"); /***/ }), @@ -1757,7 +1984,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source cod /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @typechecks static-only\n */\n\n\n\n/**\n * Memoizes the return value of a function that accepts one string argument.\n */\n\nfunction memoizeStringOnly(callback) {\n var cache = {};\n return function (string) {\n if (!cache.hasOwnProperty(string)) {\n cache[string] = callback.call(this, string);\n }\n return cache[string];\n };\n}\n\nmodule.exports = memoizeStringOnly;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvbWVtb2l6ZVN0cmluZ09ubHkuanM/YWQ2NSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWE7O0FBRWI7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9mYmpzL2xpYi9tZW1vaXplU3RyaW5nT25seS5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICogXG4gKiBAdHlwZWNoZWNrcyBzdGF0aWMtb25seVxuICovXG5cbid1c2Ugc3RyaWN0JztcblxuLyoqXG4gKiBNZW1vaXplcyB0aGUgcmV0dXJuIHZhbHVlIG9mIGEgZnVuY3Rpb24gdGhhdCBhY2NlcHRzIG9uZSBzdHJpbmcgYXJndW1lbnQuXG4gKi9cblxuZnVuY3Rpb24gbWVtb2l6ZVN0cmluZ09ubHkoY2FsbGJhY2spIHtcbiAgdmFyIGNhY2hlID0ge307XG4gIHJldHVybiBmdW5jdGlvbiAoc3RyaW5nKSB7XG4gICAgaWYgKCFjYWNoZS5oYXNPd25Qcm9wZXJ0eShzdHJpbmcpKSB7XG4gICAgICBjYWNoZVtzdHJpbmddID0gY2FsbGJhY2suY2FsbCh0aGlzLCBzdHJpbmcpO1xuICAgIH1cbiAgICByZXR1cm4gY2FjaGVbc3RyaW5nXTtcbiAgfTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBtZW1vaXplU3RyaW5nT25seTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/fbjs/lib/memoizeStringOnly.js\n"); +eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @typechecks static-only\n */\n\n/**\n * Memoizes the return value of a function that accepts one string argument.\n */\n\nfunction memoizeStringOnly(callback) {\n var cache = {};\n return function (string) {\n if (!cache.hasOwnProperty(string)) {\n cache[string] = callback.call(this, string);\n }\n\n return cache[string];\n };\n}\n\nmodule.exports = memoizeStringOnly;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvbWVtb2l6ZVN0cmluZ09ubHkuanM/YWQ2NSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDYTtBQUNiO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2ZianMvbGliL21lbW9pemVTdHJpbmdPbmx5LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKiBcbiAqIEB0eXBlY2hlY2tzIHN0YXRpYy1vbmx5XG4gKi9cbid1c2Ugc3RyaWN0Jztcbi8qKlxuICogTWVtb2l6ZXMgdGhlIHJldHVybiB2YWx1ZSBvZiBhIGZ1bmN0aW9uIHRoYXQgYWNjZXB0cyBvbmUgc3RyaW5nIGFyZ3VtZW50LlxuICovXG5cbmZ1bmN0aW9uIG1lbW9pemVTdHJpbmdPbmx5KGNhbGxiYWNrKSB7XG4gIHZhciBjYWNoZSA9IHt9O1xuICByZXR1cm4gZnVuY3Rpb24gKHN0cmluZykge1xuICAgIGlmICghY2FjaGUuaGFzT3duUHJvcGVydHkoc3RyaW5nKSkge1xuICAgICAgY2FjaGVbc3RyaW5nXSA9IGNhbGxiYWNrLmNhbGwodGhpcywgc3RyaW5nKTtcbiAgICB9XG5cbiAgICByZXR1cm4gY2FjaGVbc3RyaW5nXTtcbiAgfTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBtZW1vaXplU3RyaW5nT25seTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/fbjs/lib/memoizeStringOnly.js\n"); /***/ }), @@ -1769,7 +1996,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source cod /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nvar nullthrows = function nullthrows(x) {\n if (x != null) {\n return x;\n }\n throw new Error(\"Got unexpected null or undefined\");\n};\n\nmodule.exports = nullthrows;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvbnVsbHRocm93cy5qcz84MTY0Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFhOztBQUViO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2ZianMvbGliL251bGx0aHJvd3MuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKiBcbiAqL1xuXG52YXIgbnVsbHRocm93cyA9IGZ1bmN0aW9uIG51bGx0aHJvd3MoeCkge1xuICBpZiAoeCAhPSBudWxsKSB7XG4gICAgcmV0dXJuIHg7XG4gIH1cbiAgdGhyb3cgbmV3IEVycm9yKFwiR290IHVuZXhwZWN0ZWQgbnVsbCBvciB1bmRlZmluZWRcIik7XG59O1xuXG5tb2R1bGUuZXhwb3J0cyA9IG51bGx0aHJvd3M7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/fbjs/lib/nullthrows.js\n"); +eval("\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nvar nullthrows = function nullthrows(x) {\n if (x != null) {\n return x;\n }\n\n throw new Error(\"Got unexpected null or undefined\");\n};\n\nmodule.exports = nullthrows;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvbnVsbHRocm93cy5qcz84MTY0Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFhOztBQUViO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2ZianMvbGliL251bGx0aHJvd3MuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKiBcbiAqL1xudmFyIG51bGx0aHJvd3MgPSBmdW5jdGlvbiBudWxsdGhyb3dzKHgpIHtcbiAgaWYgKHggIT0gbnVsbCkge1xuICAgIHJldHVybiB4O1xuICB9XG5cbiAgdGhyb3cgbmV3IEVycm9yKFwiR290IHVuZXhwZWN0ZWQgbnVsbCBvciB1bmRlZmluZWRcIik7XG59O1xuXG5tb2R1bGUuZXhwb3J0cyA9IG51bGx0aHJvd3M7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/fbjs/lib/nullthrows.js\n"); /***/ }), @@ -1781,7 +2008,19 @@ eval("\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/* WEBPACK VAR INJECTION */(function(global) {/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n\n\n// setimmediate adds setImmediate to the global. We want to make sure we export\n// the actual function.\n\n__webpack_require__(/*! setimmediate */ \"./node_modules/setimmediate/setImmediate.js\");\nmodule.exports = global.setImmediate;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvc2V0SW1tZWRpYXRlLmpzPzc4ZWMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWE7O0FBRWI7QUFDQTs7QUFFQSxtQkFBTyxDQUFDLGlFQUFjO0FBQ3RCLHFDIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2ZianMvbGliL3NldEltbWVkaWF0ZS5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICovXG5cbid1c2Ugc3RyaWN0JztcblxuLy8gc2V0aW1tZWRpYXRlIGFkZHMgc2V0SW1tZWRpYXRlIHRvIHRoZSBnbG9iYWwuIFdlIHdhbnQgdG8gbWFrZSBzdXJlIHdlIGV4cG9ydFxuLy8gdGhlIGFjdHVhbCBmdW5jdGlvbi5cblxucmVxdWlyZSgnc2V0aW1tZWRpYXRlJyk7XG5tb2R1bGUuZXhwb3J0cyA9IGdsb2JhbC5zZXRJbW1lZGlhdGU7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/fbjs/lib/setImmediate.js\n"); +eval("/* WEBPACK VAR INJECTION */(function(global) {/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n // setimmediate adds setImmediate to the global. We want to make sure we export\n// the actual function.\n\n__webpack_require__(/*! setimmediate */ \"./node_modules/setimmediate/setImmediate.js\");\n\nmodule.exports = global.setImmediate;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvc2V0SW1tZWRpYXRlLmpzPzc4ZWMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDYTtBQUNiOztBQUVBLG1CQUFPLENBQUMsaUVBQWM7O0FBRXRCLHFDIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2ZianMvbGliL3NldEltbWVkaWF0ZS5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICovXG4ndXNlIHN0cmljdCc7IC8vIHNldGltbWVkaWF0ZSBhZGRzIHNldEltbWVkaWF0ZSB0byB0aGUgZ2xvYmFsLiBXZSB3YW50IHRvIG1ha2Ugc3VyZSB3ZSBleHBvcnRcbi8vIHRoZSBhY3R1YWwgZnVuY3Rpb24uXG5cbnJlcXVpcmUoXCJzZXRpbW1lZGlhdGVcIik7XG5cbm1vZHVsZS5leHBvcnRzID0gZ2xvYmFsLnNldEltbWVkaWF0ZTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/fbjs/lib/setImmediate.js\n"); + +/***/ }), + +/***/ "./node_modules/fbjs/lib/warning.js": +/*!******************************************!*\ + !*** ./node_modules/fbjs/lib/warning.js ***! + \******************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n\nvar emptyFunction = __webpack_require__(/*! ./emptyFunction */ \"./node_modules/fbjs/lib/emptyFunction.js\");\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\n\nfunction printWarning(format) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var argIndex = 0;\n var message = 'Warning: ' + format.replace(/%s/g, function () {\n return args[argIndex++];\n });\n\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n}\n\nvar warning = true ? function (condition, format) {\n if (format === undefined) {\n throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument');\n }\n\n if (!condition) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n args[_key2 - 2] = arguments[_key2];\n }\n\n printWarning.apply(void 0, [format].concat(args));\n }\n} : undefined;\nmodule.exports = warning;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvd2FybmluZy5qcz9kYTY3Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ2E7O0FBRWIsb0JBQW9CLG1CQUFPLENBQUMsaUVBQWlCO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQSx3RkFBd0YsYUFBYTtBQUNyRztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUEsY0FBYyxLQUFxQztBQUNuRDtBQUNBO0FBQ0E7O0FBRUE7QUFDQSw4RkFBOEYsZUFBZTtBQUM3RztBQUNBOztBQUVBO0FBQ0E7QUFDQSxDQUFDLEdBQUcsU0FBYTtBQUNqQiIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9mYmpzL2xpYi93YXJuaW5nLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTQtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKi9cbid1c2Ugc3RyaWN0JztcblxudmFyIGVtcHR5RnVuY3Rpb24gPSByZXF1aXJlKFwiLi9lbXB0eUZ1bmN0aW9uXCIpO1xuLyoqXG4gKiBTaW1pbGFyIHRvIGludmFyaWFudCBidXQgb25seSBsb2dzIGEgd2FybmluZyBpZiB0aGUgY29uZGl0aW9uIGlzIG5vdCBtZXQuXG4gKiBUaGlzIGNhbiBiZSB1c2VkIHRvIGxvZyBpc3N1ZXMgaW4gZGV2ZWxvcG1lbnQgZW52aXJvbm1lbnRzIGluIGNyaXRpY2FsXG4gKiBwYXRocy4gUmVtb3ZpbmcgdGhlIGxvZ2dpbmcgY29kZSBmb3IgcHJvZHVjdGlvbiBlbnZpcm9ubWVudHMgd2lsbCBrZWVwIHRoZVxuICogc2FtZSBsb2dpYyBhbmQgZm9sbG93IHRoZSBzYW1lIGNvZGUgcGF0aHMuXG4gKi9cblxuXG5mdW5jdGlvbiBwcmludFdhcm5pbmcoZm9ybWF0KSB7XG4gIGZvciAodmFyIF9sZW4gPSBhcmd1bWVudHMubGVuZ3RoLCBhcmdzID0gbmV3IEFycmF5KF9sZW4gPiAxID8gX2xlbiAtIDEgOiAwKSwgX2tleSA9IDE7IF9rZXkgPCBfbGVuOyBfa2V5KyspIHtcbiAgICBhcmdzW19rZXkgLSAxXSA9IGFyZ3VtZW50c1tfa2V5XTtcbiAgfVxuXG4gIHZhciBhcmdJbmRleCA9IDA7XG4gIHZhciBtZXNzYWdlID0gJ1dhcm5pbmc6ICcgKyBmb3JtYXQucmVwbGFjZSgvJXMvZywgZnVuY3Rpb24gKCkge1xuICAgIHJldHVybiBhcmdzW2FyZ0luZGV4KytdO1xuICB9KTtcblxuICBpZiAodHlwZW9mIGNvbnNvbGUgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgY29uc29sZS5lcnJvcihtZXNzYWdlKTtcbiAgfVxuXG4gIHRyeSB7XG4gICAgLy8gLS0tIFdlbGNvbWUgdG8gZGVidWdnaW5nIFJlYWN0IC0tLVxuICAgIC8vIFRoaXMgZXJyb3Igd2FzIHRocm93biBhcyBhIGNvbnZlbmllbmNlIHNvIHRoYXQgeW91IGNhbiB1c2UgdGhpcyBzdGFja1xuICAgIC8vIHRvIGZpbmQgdGhlIGNhbGxzaXRlIHRoYXQgY2F1c2VkIHRoaXMgd2FybmluZyB0byBmaXJlLlxuICAgIHRocm93IG5ldyBFcnJvcihtZXNzYWdlKTtcbiAgfSBjYXRjaCAoeCkge31cbn1cblxudmFyIHdhcm5pbmcgPSBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIgPyBmdW5jdGlvbiAoY29uZGl0aW9uLCBmb3JtYXQpIHtcbiAgaWYgKGZvcm1hdCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdgd2FybmluZyhjb25kaXRpb24sIGZvcm1hdCwgLi4uYXJncylgIHJlcXVpcmVzIGEgd2FybmluZyAnICsgJ21lc3NhZ2UgYXJndW1lbnQnKTtcbiAgfVxuXG4gIGlmICghY29uZGl0aW9uKSB7XG4gICAgZm9yICh2YXIgX2xlbjIgPSBhcmd1bWVudHMubGVuZ3RoLCBhcmdzID0gbmV3IEFycmF5KF9sZW4yID4gMiA/IF9sZW4yIC0gMiA6IDApLCBfa2V5MiA9IDI7IF9rZXkyIDwgX2xlbjI7IF9rZXkyKyspIHtcbiAgICAgIGFyZ3NbX2tleTIgLSAyXSA9IGFyZ3VtZW50c1tfa2V5Ml07XG4gICAgfVxuXG4gICAgcHJpbnRXYXJuaW5nLmFwcGx5KHZvaWQgMCwgW2Zvcm1hdF0uY29uY2F0KGFyZ3MpKTtcbiAgfVxufSA6IGVtcHR5RnVuY3Rpb247XG5tb2R1bGUuZXhwb3J0cyA9IHdhcm5pbmc7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/fbjs/lib/warning.js\n"); /***/ }), @@ -1792,7 +2031,7 @@ eval("/* WEBPACK VAR INJECTION */(function(global) {/**\n * Copyright (c) 2013-p /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { -eval("var __WEBPACK_AMD_DEFINE_RESULT__;/*!\n * UAParser.js v0.7.20\n * Lightweight JavaScript-based User-Agent string parser\n * https://github.com/faisalman/ua-parser-js\n *\n * Copyright © 2012-2019 Faisal Salman \n * Licensed under MIT License\n */\n\n(function (window, undefined) {\n\n 'use strict';\n\n //////////////\n // Constants\n /////////////\n\n\n var LIBVERSION = '0.7.20',\n EMPTY = '',\n UNKNOWN = '?',\n FUNC_TYPE = 'function',\n UNDEF_TYPE = 'undefined',\n OBJ_TYPE = 'object',\n STR_TYPE = 'string',\n MAJOR = 'major', // deprecated\n MODEL = 'model',\n NAME = 'name',\n TYPE = 'type',\n VENDOR = 'vendor',\n VERSION = 'version',\n ARCHITECTURE= 'architecture',\n CONSOLE = 'console',\n MOBILE = 'mobile',\n TABLET = 'tablet',\n SMARTTV = 'smarttv',\n WEARABLE = 'wearable',\n EMBEDDED = 'embedded';\n\n\n ///////////\n // Helper\n //////////\n\n\n var util = {\n extend : function (regexes, extensions) {\n var mergedRegexes = {};\n for (var i in regexes) {\n if (extensions[i] && extensions[i].length % 2 === 0) {\n mergedRegexes[i] = extensions[i].concat(regexes[i]);\n } else {\n mergedRegexes[i] = regexes[i];\n }\n }\n return mergedRegexes;\n },\n has : function (str1, str2) {\n if (typeof str1 === \"string\") {\n return str2.toLowerCase().indexOf(str1.toLowerCase()) !== -1;\n } else {\n return false;\n }\n },\n lowerize : function (str) {\n return str.toLowerCase();\n },\n major : function (version) {\n return typeof(version) === STR_TYPE ? version.replace(/[^\\d\\.]/g,'').split(\".\")[0] : undefined;\n },\n trim : function (str) {\n return str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n }\n };\n\n\n ///////////////\n // Map helper\n //////////////\n\n\n var mapper = {\n\n rgx : function (ua, arrays) {\n\n var i = 0, j, k, p, q, matches, match;\n\n // loop through all regexes maps\n while (i < arrays.length && !matches) {\n\n var regex = arrays[i], // even sequence (0,2,4,..)\n props = arrays[i + 1]; // odd sequence (1,3,5,..)\n j = k = 0;\n\n // try matching uastring with regexes\n while (j < regex.length && !matches) {\n\n matches = regex[j++].exec(ua);\n\n if (!!matches) {\n for (p = 0; p < props.length; p++) {\n match = matches[++k];\n q = props[p];\n // check if given property is actually array\n if (typeof q === OBJ_TYPE && q.length > 0) {\n if (q.length == 2) {\n if (typeof q[1] == FUNC_TYPE) {\n // assign modified match\n this[q[0]] = q[1].call(this, match);\n } else {\n // assign given value, ignore regex match\n this[q[0]] = q[1];\n }\n } else if (q.length == 3) {\n // check whether function or regex\n if (typeof q[1] === FUNC_TYPE && !(q[1].exec && q[1].test)) {\n // call function (usually string mapper)\n this[q[0]] = match ? q[1].call(this, match, q[2]) : undefined;\n } else {\n // sanitize match using given regex\n this[q[0]] = match ? match.replace(q[1], q[2]) : undefined;\n }\n } else if (q.length == 4) {\n this[q[0]] = match ? q[3].call(this, match.replace(q[1], q[2])) : undefined;\n }\n } else {\n this[q] = match ? match : undefined;\n }\n }\n }\n }\n i += 2;\n }\n },\n\n str : function (str, map) {\n\n for (var i in map) {\n // check if array\n if (typeof map[i] === OBJ_TYPE && map[i].length > 0) {\n for (var j = 0; j < map[i].length; j++) {\n if (util.has(map[i][j], str)) {\n return (i === UNKNOWN) ? undefined : i;\n }\n }\n } else if (util.has(map[i], str)) {\n return (i === UNKNOWN) ? undefined : i;\n }\n }\n return str;\n }\n };\n\n\n ///////////////\n // String map\n //////////////\n\n\n var maps = {\n\n browser : {\n oldsafari : {\n version : {\n '1.0' : '/8',\n '1.2' : '/1',\n '1.3' : '/3',\n '2.0' : '/412',\n '2.0.2' : '/416',\n '2.0.3' : '/417',\n '2.0.4' : '/419',\n '?' : '/'\n }\n }\n },\n\n device : {\n amazon : {\n model : {\n 'Fire Phone' : ['SD', 'KF']\n }\n },\n sprint : {\n model : {\n 'Evo Shift 4G' : '7373KT'\n },\n vendor : {\n 'HTC' : 'APA',\n 'Sprint' : 'Sprint'\n }\n }\n },\n\n os : {\n windows : {\n version : {\n 'ME' : '4.90',\n 'NT 3.11' : 'NT3.51',\n 'NT 4.0' : 'NT4.0',\n '2000' : 'NT 5.0',\n 'XP' : ['NT 5.1', 'NT 5.2'],\n 'Vista' : 'NT 6.0',\n '7' : 'NT 6.1',\n '8' : 'NT 6.2',\n '8.1' : 'NT 6.3',\n '10' : ['NT 6.4', 'NT 10.0'],\n 'RT' : 'ARM'\n }\n }\n }\n };\n\n\n //////////////\n // Regex map\n /////////////\n\n\n var regexes = {\n\n browser : [[\n\n // Presto based\n /(opera\\smini)\\/([\\w\\.-]+)/i, // Opera Mini\n /(opera\\s[mobiletab]+).+version\\/([\\w\\.-]+)/i, // Opera Mobi/Tablet\n /(opera).+version\\/([\\w\\.]+)/i, // Opera > 9.80\n /(opera)[\\/\\s]+([\\w\\.]+)/i // Opera < 9.80\n ], [NAME, VERSION], [\n\n /(opios)[\\/\\s]+([\\w\\.]+)/i // Opera mini on iphone >= 8.0\n ], [[NAME, 'Opera Mini'], VERSION], [\n\n /\\s(opr)\\/([\\w\\.]+)/i // Opera Webkit\n ], [[NAME, 'Opera'], VERSION], [\n\n // Mixed\n /(kindle)\\/([\\w\\.]+)/i, // Kindle\n /(lunascape|maxthon|netfront|jasmine|blazer)[\\/\\s]?([\\w\\.]*)/i,\n // Lunascape/Maxthon/Netfront/Jasmine/Blazer\n\n // Trident based\n /(avant\\s|iemobile|slim|baidu)(?:browser)?[\\/\\s]?([\\w\\.]*)/i,\n // Avant/IEMobile/SlimBrowser/Baidu\n /(?:ms|\\()(ie)\\s([\\w\\.]+)/i, // Internet Explorer\n\n // Webkit/KHTML based\n /(rekonq)\\/([\\w\\.]*)/i, // Rekonq\n /(chromium|flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon)\\/([\\w\\.-]+)/i\n // Chromium/Flock/RockMelt/Midori/Epiphany/Silk/Skyfire/Bolt/Iron/Iridium/PhantomJS/Bowser/QupZilla/Falkon\n ], [NAME, VERSION], [\n\n /(konqueror)\\/([\\w\\.]+)/i // Konqueror\n ], [[NAME, 'Konqueror'], VERSION], [\n\n /(trident).+rv[:\\s]([\\w\\.]+).+like\\sgecko/i // IE11\n ], [[NAME, 'IE'], VERSION], [\n\n /(edge|edgios|edga|edg)\\/((\\d+)?[\\w\\.]+)/i // Microsoft Edge\n ], [[NAME, 'Edge'], VERSION], [\n\n /(yabrowser)\\/([\\w\\.]+)/i // Yandex\n ], [[NAME, 'Yandex'], VERSION], [\n\n /(puffin)\\/([\\w\\.]+)/i // Puffin\n ], [[NAME, 'Puffin'], VERSION], [\n\n /(focus)\\/([\\w\\.]+)/i // Firefox Focus\n ], [[NAME, 'Firefox Focus'], VERSION], [\n\n /(opt)\\/([\\w\\.]+)/i // Opera Touch\n ], [[NAME, 'Opera Touch'], VERSION], [\n\n /((?:[\\s\\/])uc?\\s?browser|(?:juc.+)ucweb)[\\/\\s]?([\\w\\.]+)/i // UCBrowser\n ], [[NAME, 'UCBrowser'], VERSION], [\n\n /(comodo_dragon)\\/([\\w\\.]+)/i // Comodo Dragon\n ], [[NAME, /_/g, ' '], VERSION], [\n\n /(windowswechat qbcore)\\/([\\w\\.]+)/i // WeChat Desktop for Windows Built-in Browser\n ], [[NAME, 'WeChat(Win) Desktop'], VERSION], [\n\n /(micromessenger)\\/([\\w\\.]+)/i // WeChat\n ], [[NAME, 'WeChat'], VERSION], [\n\n /(brave)\\/([\\w\\.]+)/i // Brave browser\n ], [[NAME, 'Brave'], VERSION], [\n\n /(qqbrowserlite)\\/([\\w\\.]+)/i // QQBrowserLite\n ], [NAME, VERSION], [\n\n /(QQ)\\/([\\d\\.]+)/i // QQ, aka ShouQ\n ], [NAME, VERSION], [\n\n /m?(qqbrowser)[\\/\\s]?([\\w\\.]+)/i // QQBrowser\n ], [NAME, VERSION], [\n\n /(BIDUBrowser)[\\/\\s]?([\\w\\.]+)/i // Baidu Browser\n ], [NAME, VERSION], [\n\n /(2345Explorer)[\\/\\s]?([\\w\\.]+)/i // 2345 Browser\n ], [NAME, VERSION], [\n\n /(MetaSr)[\\/\\s]?([\\w\\.]+)/i // SouGouBrowser\n ], [NAME], [\n\n /(LBBROWSER)/i // LieBao Browser\n ], [NAME], [\n\n /xiaomi\\/miuibrowser\\/([\\w\\.]+)/i // MIUI Browser\n ], [VERSION, [NAME, 'MIUI Browser']], [\n\n /;fbav\\/([\\w\\.]+);/i // Facebook App for iOS & Android\n ], [VERSION, [NAME, 'Facebook']], [\n\n /safari\\s(line)\\/([\\w\\.]+)/i, // Line App for iOS\n /android.+(line)\\/([\\w\\.]+)\\/iab/i // Line App for Android\n ], [NAME, VERSION], [\n\n /headlesschrome(?:\\/([\\w\\.]+)|\\s)/i // Chrome Headless\n ], [VERSION, [NAME, 'Chrome Headless']], [\n\n /\\swv\\).+(chrome)\\/([\\w\\.]+)/i // Chrome WebView\n ], [[NAME, /(.+)/, '$1 WebView'], VERSION], [\n\n /((?:oculus|samsung)browser)\\/([\\w\\.]+)/i\n ], [[NAME, /(.+(?:g|us))(.+)/, '$1 $2'], VERSION], [ // Oculus / Samsung Browser\n\n /android.+version\\/([\\w\\.]+)\\s+(?:mobile\\s?safari|safari)*/i // Android Browser\n ], [VERSION, [NAME, 'Android Browser']], [\n\n /(sailfishbrowser)\\/([\\w\\.]+)/i // Sailfish Browser\n ], [[NAME, 'Sailfish Browser'], VERSION], [\n\n /(chrome|omniweb|arora|[tizenoka]{5}\\s?browser)\\/v?([\\w\\.]+)/i\n // Chrome/OmniWeb/Arora/Tizen/Nokia\n ], [NAME, VERSION], [\n\n /(dolfin)\\/([\\w\\.]+)/i // Dolphin\n ], [[NAME, 'Dolphin'], VERSION], [\n\n /((?:android.+)crmo|crios)\\/([\\w\\.]+)/i // Chrome for Android/iOS\n ], [[NAME, 'Chrome'], VERSION], [\n\n /(coast)\\/([\\w\\.]+)/i // Opera Coast\n ], [[NAME, 'Opera Coast'], VERSION], [\n\n /fxios\\/([\\w\\.-]+)/i // Firefox for iOS\n ], [VERSION, [NAME, 'Firefox']], [\n\n /version\\/([\\w\\.]+).+?mobile\\/\\w+\\s(safari)/i // Mobile Safari\n ], [VERSION, [NAME, 'Mobile Safari']], [\n\n /version\\/([\\w\\.]+).+?(mobile\\s?safari|safari)/i // Safari & Safari Mobile\n ], [VERSION, NAME], [\n\n /webkit.+?(gsa)\\/([\\w\\.]+).+?(mobile\\s?safari|safari)(\\/[\\w\\.]+)/i // Google Search Appliance on iOS\n ], [[NAME, 'GSA'], VERSION], [\n\n /webkit.+?(mobile\\s?safari|safari)(\\/[\\w\\.]+)/i // Safari < 3.0\n ], [NAME, [VERSION, mapper.str, maps.browser.oldsafari.version]], [\n\n /(webkit|khtml)\\/([\\w\\.]+)/i\n ], [NAME, VERSION], [\n\n // Gecko based\n /(navigator|netscape)\\/([\\w\\.-]+)/i // Netscape\n ], [[NAME, 'Netscape'], VERSION], [\n /(swiftfox)/i, // Swiftfox\n /(icedragon|iceweasel|camino|chimera|fennec|maemo\\sbrowser|minimo|conkeror)[\\/\\s]?([\\w\\.\\+]+)/i,\n // IceDragon/Iceweasel/Camino/Chimera/Fennec/Maemo/Minimo/Conkeror\n /(firefox|seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\\/([\\w\\.-]+)$/i,\n\n // Firefox/SeaMonkey/K-Meleon/IceCat/IceApe/Firebird/Phoenix\n /(mozilla)\\/([\\w\\.]+).+rv\\:.+gecko\\/\\d+/i, // Mozilla\n\n // Other\n /(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir)[\\/\\s]?([\\w\\.]+)/i,\n // Polaris/Lynx/Dillo/iCab/Doris/Amaya/w3m/NetSurf/Sleipnir\n /(links)\\s\\(([\\w\\.]+)/i, // Links\n /(gobrowser)\\/?([\\w\\.]*)/i, // GoBrowser\n /(ice\\s?browser)\\/v?([\\w\\._]+)/i, // ICE Browser\n /(mosaic)[\\/\\s]([\\w\\.]+)/i // Mosaic\n ], [NAME, VERSION]\n ],\n\n cpu : [[\n\n /(?:(amd|x(?:(?:86|64)[_-])?|wow|win)64)[;\\)]/i // AMD64\n ], [[ARCHITECTURE, 'amd64']], [\n\n /(ia32(?=;))/i // IA32 (quicktime)\n ], [[ARCHITECTURE, util.lowerize]], [\n\n /((?:i[346]|x)86)[;\\)]/i // IA32\n ], [[ARCHITECTURE, 'ia32']], [\n\n // PocketPC mistakenly identified as PowerPC\n /windows\\s(ce|mobile);\\sppc;/i\n ], [[ARCHITECTURE, 'arm']], [\n\n /((?:ppc|powerpc)(?:64)?)(?:\\smac|;|\\))/i // PowerPC\n ], [[ARCHITECTURE, /ower/, '', util.lowerize]], [\n\n /(sun4\\w)[;\\)]/i // SPARC\n ], [[ARCHITECTURE, 'sparc']], [\n\n /((?:avr32|ia64(?=;))|68k(?=\\))|arm(?:64|(?=v\\d+[;l]))|(?=atmel\\s)avr|(?:irix|mips|sparc)(?:64)?(?=;)|pa-risc)/i\n // IA64, 68K, ARM/64, AVR/32, IRIX/64, MIPS/64, SPARC/64, PA-RISC\n ], [[ARCHITECTURE, util.lowerize]]\n ],\n\n device : [[\n\n /\\((ipad|playbook);[\\w\\s\\),;-]+(rim|apple)/i // iPad/PlayBook\n ], [MODEL, VENDOR, [TYPE, TABLET]], [\n\n /applecoremedia\\/[\\w\\.]+ \\((ipad)/ // iPad\n ], [MODEL, [VENDOR, 'Apple'], [TYPE, TABLET]], [\n\n /(apple\\s{0,1}tv)/i // Apple TV\n ], [[MODEL, 'Apple TV'], [VENDOR, 'Apple']], [\n\n /(archos)\\s(gamepad2?)/i, // Archos\n /(hp).+(touchpad)/i, // HP TouchPad\n /(hp).+(tablet)/i, // HP Tablet\n /(kindle)\\/([\\w\\.]+)/i, // Kindle\n /\\s(nook)[\\w\\s]+build\\/(\\w+)/i, // Nook\n /(dell)\\s(strea[kpr\\s\\d]*[\\dko])/i // Dell Streak\n ], [VENDOR, MODEL, [TYPE, TABLET]], [\n\n /(kf[A-z]+)\\sbuild\\/.+silk\\//i // Kindle Fire HD\n ], [MODEL, [VENDOR, 'Amazon'], [TYPE, TABLET]], [\n /(sd|kf)[0349hijorstuw]+\\sbuild\\/.+silk\\//i // Fire Phone\n ], [[MODEL, mapper.str, maps.device.amazon.model], [VENDOR, 'Amazon'], [TYPE, MOBILE]], [\n /android.+aft([bms])\\sbuild/i // Fire TV\n ], [MODEL, [VENDOR, 'Amazon'], [TYPE, SMARTTV]], [\n\n /\\((ip[honed|\\s\\w*]+);.+(apple)/i // iPod/iPhone\n ], [MODEL, VENDOR, [TYPE, MOBILE]], [\n /\\((ip[honed|\\s\\w*]+);/i // iPod/iPhone\n ], [MODEL, [VENDOR, 'Apple'], [TYPE, MOBILE]], [\n\n /(blackberry)[\\s-]?(\\w+)/i, // BlackBerry\n /(blackberry|benq|palm(?=\\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron)[\\s_-]?([\\w-]*)/i,\n // BenQ/Palm/Sony-Ericsson/Acer/Asus/Dell/Meizu/Motorola/Polytron\n /(hp)\\s([\\w\\s]+\\w)/i, // HP iPAQ\n /(asus)-?(\\w+)/i // Asus\n ], [VENDOR, MODEL, [TYPE, MOBILE]], [\n /\\(bb10;\\s(\\w+)/i // BlackBerry 10\n ], [MODEL, [VENDOR, 'BlackBerry'], [TYPE, MOBILE]], [\n // Asus Tablets\n /android.+(transfo[prime\\s]{4,10}\\s\\w+|eeepc|slider\\s\\w+|nexus 7|padfone|p00c)/i\n ], [MODEL, [VENDOR, 'Asus'], [TYPE, TABLET]], [\n\n /(sony)\\s(tablet\\s[ps])\\sbuild\\//i, // Sony\n /(sony)?(?:sgp.+)\\sbuild\\//i\n ], [[VENDOR, 'Sony'], [MODEL, 'Xperia Tablet'], [TYPE, TABLET]], [\n /android.+\\s([c-g]\\d{4}|so[-l]\\w+)(?=\\sbuild\\/|\\).+chrome\\/(?![1-6]{0,1}\\d\\.))/i\n ], [MODEL, [VENDOR, 'Sony'], [TYPE, MOBILE]], [\n\n /\\s(ouya)\\s/i, // Ouya\n /(nintendo)\\s([wids3u]+)/i // Nintendo\n ], [VENDOR, MODEL, [TYPE, CONSOLE]], [\n\n /android.+;\\s(shield)\\sbuild/i // Nvidia\n ], [MODEL, [VENDOR, 'Nvidia'], [TYPE, CONSOLE]], [\n\n /(playstation\\s[34portablevi]+)/i // Playstation\n ], [MODEL, [VENDOR, 'Sony'], [TYPE, CONSOLE]], [\n\n /(sprint\\s(\\w+))/i // Sprint Phones\n ], [[VENDOR, mapper.str, maps.device.sprint.vendor], [MODEL, mapper.str, maps.device.sprint.model], [TYPE, MOBILE]], [\n\n /(htc)[;_\\s-]+([\\w\\s]+(?=\\)|\\sbuild)|\\w+)/i, // HTC\n /(zte)-(\\w*)/i, // ZTE\n /(alcatel|geeksphone|nexian|panasonic|(?=;\\s)sony)[_\\s-]?([\\w-]*)/i\n // Alcatel/GeeksPhone/Nexian/Panasonic/Sony\n ], [VENDOR, [MODEL, /_/g, ' '], [TYPE, MOBILE]], [\n\n /(nexus\\s9)/i // HTC Nexus 9\n ], [MODEL, [VENDOR, 'HTC'], [TYPE, TABLET]], [\n\n /d\\/huawei([\\w\\s-]+)[;\\)]/i,\n /(nexus\\s6p)/i // Huawei\n ], [MODEL, [VENDOR, 'Huawei'], [TYPE, MOBILE]], [\n\n /(microsoft);\\s(lumia[\\s\\w]+)/i // Microsoft Lumia\n ], [VENDOR, MODEL, [TYPE, MOBILE]], [\n\n /[\\s\\(;](xbox(?:\\sone)?)[\\s\\);]/i // Microsoft Xbox\n ], [MODEL, [VENDOR, 'Microsoft'], [TYPE, CONSOLE]], [\n /(kin\\.[onetw]{3})/i // Microsoft Kin\n ], [[MODEL, /\\./g, ' '], [VENDOR, 'Microsoft'], [TYPE, MOBILE]], [\n\n // Motorola\n /\\s(milestone|droid(?:[2-4x]|\\s(?:bionic|x2|pro|razr))?:?(\\s4g)?)[\\w\\s]+build\\//i,\n /mot[\\s-]?(\\w*)/i,\n /(XT\\d{3,4}) build\\//i,\n /(nexus\\s6)/i\n ], [MODEL, [VENDOR, 'Motorola'], [TYPE, MOBILE]], [\n /android.+\\s(mz60\\d|xoom[\\s2]{0,2})\\sbuild\\//i\n ], [MODEL, [VENDOR, 'Motorola'], [TYPE, TABLET]], [\n\n /hbbtv\\/\\d+\\.\\d+\\.\\d+\\s+\\([\\w\\s]*;\\s*(\\w[^;]*);([^;]*)/i // HbbTV devices\n ], [[VENDOR, util.trim], [MODEL, util.trim], [TYPE, SMARTTV]], [\n\n /hbbtv.+maple;(\\d+)/i\n ], [[MODEL, /^/, 'SmartTV'], [VENDOR, 'Samsung'], [TYPE, SMARTTV]], [\n\n /\\(dtv[\\);].+(aquos)/i // Sharp\n ], [MODEL, [VENDOR, 'Sharp'], [TYPE, SMARTTV]], [\n\n /android.+((sch-i[89]0\\d|shw-m380s|gt-p\\d{4}|gt-n\\d+|sgh-t8[56]9|nexus 10))/i,\n /((SM-T\\w+))/i\n ], [[VENDOR, 'Samsung'], MODEL, [TYPE, TABLET]], [ // Samsung\n /smart-tv.+(samsung)/i\n ], [VENDOR, [TYPE, SMARTTV], MODEL], [\n /((s[cgp]h-\\w+|gt-\\w+|galaxy\\snexus|sm-\\w[\\w\\d]+))/i,\n /(sam[sung]*)[\\s-]*(\\w+-?[\\w-]*)/i,\n /sec-((sgh\\w+))/i\n ], [[VENDOR, 'Samsung'], MODEL, [TYPE, MOBILE]], [\n\n /sie-(\\w*)/i // Siemens\n ], [MODEL, [VENDOR, 'Siemens'], [TYPE, MOBILE]], [\n\n /(maemo|nokia).*(n900|lumia\\s\\d+)/i, // Nokia\n /(nokia)[\\s_-]?([\\w-]*)/i\n ], [[VENDOR, 'Nokia'], MODEL, [TYPE, MOBILE]], [\n\n /android[x\\d\\.\\s;]+\\s([ab][1-7]\\-?[0178a]\\d\\d?)/i // Acer\n ], [MODEL, [VENDOR, 'Acer'], [TYPE, TABLET]], [\n\n /android.+([vl]k\\-?\\d{3})\\s+build/i // LG Tablet\n ], [MODEL, [VENDOR, 'LG'], [TYPE, TABLET]], [\n /android\\s3\\.[\\s\\w;-]{10}(lg?)-([06cv9]{3,4})/i // LG Tablet\n ], [[VENDOR, 'LG'], MODEL, [TYPE, TABLET]], [\n /(lg) netcast\\.tv/i // LG SmartTV\n ], [VENDOR, MODEL, [TYPE, SMARTTV]], [\n /(nexus\\s[45])/i, // LG\n /lg[e;\\s\\/-]+(\\w*)/i,\n /android.+lg(\\-?[\\d\\w]+)\\s+build/i\n ], [MODEL, [VENDOR, 'LG'], [TYPE, MOBILE]], [\n\n /(lenovo)\\s?(s(?:5000|6000)(?:[\\w-]+)|tab(?:[\\s\\w]+))/i // Lenovo tablets\n ], [VENDOR, MODEL, [TYPE, TABLET]], [\n /android.+(ideatab[a-z0-9\\-\\s]+)/i // Lenovo\n ], [MODEL, [VENDOR, 'Lenovo'], [TYPE, TABLET]], [\n /(lenovo)[_\\s-]?([\\w-]+)/i\n ], [VENDOR, MODEL, [TYPE, MOBILE]], [\n\n /linux;.+((jolla));/i // Jolla\n ], [VENDOR, MODEL, [TYPE, MOBILE]], [\n\n /((pebble))app\\/[\\d\\.]+\\s/i // Pebble\n ], [VENDOR, MODEL, [TYPE, WEARABLE]], [\n\n /android.+;\\s(oppo)\\s?([\\w\\s]+)\\sbuild/i // OPPO\n ], [VENDOR, MODEL, [TYPE, MOBILE]], [\n\n /crkey/i // Google Chromecast\n ], [[MODEL, 'Chromecast'], [VENDOR, 'Google']], [\n\n /android.+;\\s(glass)\\s\\d/i // Google Glass\n ], [MODEL, [VENDOR, 'Google'], [TYPE, WEARABLE]], [\n\n /android.+;\\s(pixel c)[\\s)]/i // Google Pixel C\n ], [MODEL, [VENDOR, 'Google'], [TYPE, TABLET]], [\n\n /android.+;\\s(pixel( [23])?( xl)?)[\\s)]/i // Google Pixel\n ], [MODEL, [VENDOR, 'Google'], [TYPE, MOBILE]], [\n\n /android.+;\\s(\\w+)\\s+build\\/hm\\1/i, // Xiaomi Hongmi 'numeric' models\n /android.+(hm[\\s\\-_]*note?[\\s_]*(?:\\d\\w)?)\\s+build/i, // Xiaomi Hongmi\n /android.+(mi[\\s\\-_]*(?:a\\d|one|one[\\s_]plus|note lte)?[\\s_]*(?:\\d?\\w?)[\\s_]*(?:plus)?)\\s+build/i, \n // Xiaomi Mi\n /android.+(redmi[\\s\\-_]*(?:note)?(?:[\\s_]*[\\w\\s]+))\\s+build/i // Redmi Phones\n ], [[MODEL, /_/g, ' '], [VENDOR, 'Xiaomi'], [TYPE, MOBILE]], [\n /android.+(mi[\\s\\-_]*(?:pad)(?:[\\s_]*[\\w\\s]+))\\s+build/i // Mi Pad tablets\n ],[[MODEL, /_/g, ' '], [VENDOR, 'Xiaomi'], [TYPE, TABLET]], [\n /android.+;\\s(m[1-5]\\snote)\\sbuild/i // Meizu\n ], [MODEL, [VENDOR, 'Meizu'], [TYPE, MOBILE]], [\n /(mz)-([\\w-]{2,})/i\n ], [[VENDOR, 'Meizu'], MODEL, [TYPE, MOBILE]], [\n\n /android.+a000(1)\\s+build/i, // OnePlus\n /android.+oneplus\\s(a\\d{4})\\s+build/i\n ], [MODEL, [VENDOR, 'OnePlus'], [TYPE, MOBILE]], [\n\n /android.+[;\\/]\\s*(RCT[\\d\\w]+)\\s+build/i // RCA Tablets\n ], [MODEL, [VENDOR, 'RCA'], [TYPE, TABLET]], [\n\n /android.+[;\\/\\s]+(Venue[\\d\\s]{2,7})\\s+build/i // Dell Venue Tablets\n ], [MODEL, [VENDOR, 'Dell'], [TYPE, TABLET]], [\n\n /android.+[;\\/]\\s*(Q[T|M][\\d\\w]+)\\s+build/i // Verizon Tablet\n ], [MODEL, [VENDOR, 'Verizon'], [TYPE, TABLET]], [\n\n /android.+[;\\/]\\s+(Barnes[&\\s]+Noble\\s+|BN[RT])(V?.*)\\s+build/i // Barnes & Noble Tablet\n ], [[VENDOR, 'Barnes & Noble'], MODEL, [TYPE, TABLET]], [\n\n /android.+[;\\/]\\s+(TM\\d{3}.*\\b)\\s+build/i // Barnes & Noble Tablet\n ], [MODEL, [VENDOR, 'NuVision'], [TYPE, TABLET]], [\n\n /android.+;\\s(k88)\\sbuild/i // ZTE K Series Tablet\n ], [MODEL, [VENDOR, 'ZTE'], [TYPE, TABLET]], [\n\n /android.+[;\\/]\\s*(gen\\d{3})\\s+build.*49h/i // Swiss GEN Mobile\n ], [MODEL, [VENDOR, 'Swiss'], [TYPE, MOBILE]], [\n\n /android.+[;\\/]\\s*(zur\\d{3})\\s+build/i // Swiss ZUR Tablet\n ], [MODEL, [VENDOR, 'Swiss'], [TYPE, TABLET]], [\n\n /android.+[;\\/]\\s*((Zeki)?TB.*\\b)\\s+build/i // Zeki Tablets\n ], [MODEL, [VENDOR, 'Zeki'], [TYPE, TABLET]], [\n\n /(android).+[;\\/]\\s+([YR]\\d{2})\\s+build/i,\n /android.+[;\\/]\\s+(Dragon[\\-\\s]+Touch\\s+|DT)(\\w{5})\\sbuild/i // Dragon Touch Tablet\n ], [[VENDOR, 'Dragon Touch'], MODEL, [TYPE, TABLET]], [\n\n /android.+[;\\/]\\s*(NS-?\\w{0,9})\\sbuild/i // Insignia Tablets\n ], [MODEL, [VENDOR, 'Insignia'], [TYPE, TABLET]], [\n\n /android.+[;\\/]\\s*((NX|Next)-?\\w{0,9})\\s+build/i // NextBook Tablets\n ], [MODEL, [VENDOR, 'NextBook'], [TYPE, TABLET]], [\n\n /android.+[;\\/]\\s*(Xtreme\\_)?(V(1[045]|2[015]|30|40|60|7[05]|90))\\s+build/i\n ], [[VENDOR, 'Voice'], MODEL, [TYPE, MOBILE]], [ // Voice Xtreme Phones\n\n /android.+[;\\/]\\s*(LVTEL\\-)?(V1[12])\\s+build/i // LvTel Phones\n ], [[VENDOR, 'LvTel'], MODEL, [TYPE, MOBILE]], [\n\n /android.+;\\s(PH-1)\\s/i\n ], [MODEL, [VENDOR, 'Essential'], [TYPE, MOBILE]], [ // Essential PH-1\n\n /android.+[;\\/]\\s*(V(100MD|700NA|7011|917G).*\\b)\\s+build/i // Envizen Tablets\n ], [MODEL, [VENDOR, 'Envizen'], [TYPE, TABLET]], [\n\n /android.+[;\\/]\\s*(Le[\\s\\-]+Pan)[\\s\\-]+(\\w{1,9})\\s+build/i // Le Pan Tablets\n ], [VENDOR, MODEL, [TYPE, TABLET]], [\n\n /android.+[;\\/]\\s*(Trio[\\s\\-]*.*)\\s+build/i // MachSpeed Tablets\n ], [MODEL, [VENDOR, 'MachSpeed'], [TYPE, TABLET]], [\n\n /android.+[;\\/]\\s*(Trinity)[\\-\\s]*(T\\d{3})\\s+build/i // Trinity Tablets\n ], [VENDOR, MODEL, [TYPE, TABLET]], [\n\n /android.+[;\\/]\\s*TU_(1491)\\s+build/i // Rotor Tablets\n ], [MODEL, [VENDOR, 'Rotor'], [TYPE, TABLET]], [\n\n /android.+(KS(.+))\\s+build/i // Amazon Kindle Tablets\n ], [MODEL, [VENDOR, 'Amazon'], [TYPE, TABLET]], [\n\n /android.+(Gigaset)[\\s\\-]+(Q\\w{1,9})\\s+build/i // Gigaset Tablets\n ], [VENDOR, MODEL, [TYPE, TABLET]], [\n\n /\\s(tablet|tab)[;\\/]/i, // Unidentifiable Tablet\n /\\s(mobile)(?:[;\\/]|\\ssafari)/i // Unidentifiable Mobile\n ], [[TYPE, util.lowerize], VENDOR, MODEL], [\n\n /[\\s\\/\\(](smart-?tv)[;\\)]/i // SmartTV\n ], [[TYPE, SMARTTV]], [\n\n /(android[\\w\\.\\s\\-]{0,9});.+build/i // Generic Android Device\n ], [MODEL, [VENDOR, 'Generic']]\n ],\n\n engine : [[\n\n /windows.+\\sedge\\/([\\w\\.]+)/i // EdgeHTML\n ], [VERSION, [NAME, 'EdgeHTML']], [\n\n /webkit\\/537\\.36.+chrome\\/(?!27)/i // Blink\n ], [[NAME, 'Blink']], [\n\n /(presto)\\/([\\w\\.]+)/i, // Presto\n /(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\\/([\\w\\.]+)/i, \n // WebKit/Trident/NetFront/NetSurf/Amaya/Lynx/w3m/Goanna\n /(khtml|tasman|links)[\\/\\s]\\(?([\\w\\.]+)/i, // KHTML/Tasman/Links\n /(icab)[\\/\\s]([23]\\.[\\d\\.]+)/i // iCab\n ], [NAME, VERSION], [\n\n /rv\\:([\\w\\.]{1,9}).+(gecko)/i // Gecko\n ], [VERSION, NAME]\n ],\n\n os : [[\n\n // Windows based\n /microsoft\\s(windows)\\s(vista|xp)/i // Windows (iTunes)\n ], [NAME, VERSION], [\n /(windows)\\snt\\s6\\.2;\\s(arm)/i, // Windows RT\n /(windows\\sphone(?:\\sos)*)[\\s\\/]?([\\d\\.\\s\\w]*)/i, // Windows Phone\n /(windows\\smobile|windows)[\\s\\/]?([ntce\\d\\.\\s]+\\w)/i\n ], [NAME, [VERSION, mapper.str, maps.os.windows.version]], [\n /(win(?=3|9|n)|win\\s9x\\s)([nt\\d\\.]+)/i\n ], [[NAME, 'Windows'], [VERSION, mapper.str, maps.os.windows.version]], [\n\n // Mobile/Embedded OS\n /\\((bb)(10);/i // BlackBerry 10\n ], [[NAME, 'BlackBerry'], VERSION], [\n /(blackberry)\\w*\\/?([\\w\\.]*)/i, // Blackberry\n /(tizen)[\\/\\s]([\\w\\.]+)/i, // Tizen\n /(android|webos|palm\\sos|qnx|bada|rim\\stablet\\sos|meego|sailfish|contiki)[\\/\\s-]?([\\w\\.]*)/i\n // Android/WebOS/Palm/QNX/Bada/RIM/MeeGo/Contiki/Sailfish OS\n ], [NAME, VERSION], [\n /(symbian\\s?os|symbos|s60(?=;))[\\/\\s-]?([\\w\\.]*)/i // Symbian\n ], [[NAME, 'Symbian'], VERSION], [\n /\\((series40);/i // Series 40\n ], [NAME], [\n /mozilla.+\\(mobile;.+gecko.+firefox/i // Firefox OS\n ], [[NAME, 'Firefox OS'], VERSION], [\n\n // Console\n /(nintendo|playstation)\\s([wids34portablevu]+)/i, // Nintendo/Playstation\n\n // GNU/Linux based\n /(mint)[\\/\\s\\(]?(\\w*)/i, // Mint\n /(mageia|vectorlinux)[;\\s]/i, // Mageia/VectorLinux\n /(joli|[kxln]?ubuntu|debian|suse|opensuse|gentoo|(?=\\s)arch|slackware|fedora|mandriva|centos|pclinuxos|redhat|zenwalk|linpus)[\\/\\s-]?(?!chrom)([\\w\\.-]*)/i,\n // Joli/Ubuntu/Debian/SUSE/Gentoo/Arch/Slackware\n // Fedora/Mandriva/CentOS/PCLinuxOS/RedHat/Zenwalk/Linpus\n /(hurd|linux)\\s?([\\w\\.]*)/i, // Hurd/Linux\n /(gnu)\\s?([\\w\\.]*)/i // GNU\n ], [NAME, VERSION], [\n\n /(cros)\\s[\\w]+\\s([\\w\\.]+\\w)/i // Chromium OS\n ], [[NAME, 'Chromium OS'], VERSION],[\n\n // Solaris\n /(sunos)\\s?([\\w\\.\\d]*)/i // Solaris\n ], [[NAME, 'Solaris'], VERSION], [\n\n // BSD based\n /\\s([frentopc-]{0,4}bsd|dragonfly)\\s?([\\w\\.]*)/i // FreeBSD/NetBSD/OpenBSD/PC-BSD/DragonFly\n ], [NAME, VERSION],[\n\n /(haiku)\\s(\\w+)/i // Haiku\n ], [NAME, VERSION],[\n\n /cfnetwork\\/.+darwin/i,\n /ip[honead]{2,4}(?:.*os\\s([\\w]+)\\slike\\smac|;\\sopera)/i // iOS\n ], [[VERSION, /_/g, '.'], [NAME, 'iOS']], [\n\n /(mac\\sos\\sx)\\s?([\\w\\s\\.]*)/i,\n /(macintosh|mac(?=_powerpc)\\s)/i // Mac OS\n ], [[NAME, 'Mac OS'], [VERSION, /_/g, '.']], [\n\n // Other\n /((?:open)?solaris)[\\/\\s-]?([\\w\\.]*)/i, // Solaris\n /(aix)\\s((\\d)(?=\\.|\\)|\\s)[\\w\\.])*/i, // AIX\n /(plan\\s9|minix|beos|os\\/2|amigaos|morphos|risc\\sos|openvms|fuchsia)/i,\n // Plan9/Minix/BeOS/OS2/AmigaOS/MorphOS/RISCOS/OpenVMS/Fuchsia\n /(unix)\\s?([\\w\\.]*)/i // UNIX\n ], [NAME, VERSION]\n ]\n };\n\n\n /////////////////\n // Constructor\n ////////////////\n var UAParser = function (uastring, extensions) {\n\n if (typeof uastring === 'object') {\n extensions = uastring;\n uastring = undefined;\n }\n\n if (!(this instanceof UAParser)) {\n return new UAParser(uastring, extensions).getResult();\n }\n\n var ua = uastring || ((window && window.navigator && window.navigator.userAgent) ? window.navigator.userAgent : EMPTY);\n var rgxmap = extensions ? util.extend(regexes, extensions) : regexes;\n\n this.getBrowser = function () {\n var browser = { name: undefined, version: undefined };\n mapper.rgx.call(browser, ua, rgxmap.browser);\n browser.major = util.major(browser.version); // deprecated\n return browser;\n };\n this.getCPU = function () {\n var cpu = { architecture: undefined };\n mapper.rgx.call(cpu, ua, rgxmap.cpu);\n return cpu;\n };\n this.getDevice = function () {\n var device = { vendor: undefined, model: undefined, type: undefined };\n mapper.rgx.call(device, ua, rgxmap.device);\n return device;\n };\n this.getEngine = function () {\n var engine = { name: undefined, version: undefined };\n mapper.rgx.call(engine, ua, rgxmap.engine);\n return engine;\n };\n this.getOS = function () {\n var os = { name: undefined, version: undefined };\n mapper.rgx.call(os, ua, rgxmap.os);\n return os;\n };\n this.getResult = function () {\n return {\n ua : this.getUA(),\n browser : this.getBrowser(),\n engine : this.getEngine(),\n os : this.getOS(),\n device : this.getDevice(),\n cpu : this.getCPU()\n };\n };\n this.getUA = function () {\n return ua;\n };\n this.setUA = function (uastring) {\n ua = uastring;\n return this;\n };\n return this;\n };\n\n UAParser.VERSION = LIBVERSION;\n UAParser.BROWSER = {\n NAME : NAME,\n MAJOR : MAJOR, // deprecated\n VERSION : VERSION\n };\n UAParser.CPU = {\n ARCHITECTURE : ARCHITECTURE\n };\n UAParser.DEVICE = {\n MODEL : MODEL,\n VENDOR : VENDOR,\n TYPE : TYPE,\n CONSOLE : CONSOLE,\n MOBILE : MOBILE,\n SMARTTV : SMARTTV,\n TABLET : TABLET,\n WEARABLE: WEARABLE,\n EMBEDDED: EMBEDDED\n };\n UAParser.ENGINE = {\n NAME : NAME,\n VERSION : VERSION\n };\n UAParser.OS = {\n NAME : NAME,\n VERSION : VERSION\n };\n\n ///////////\n // Export\n //////////\n\n\n // check js environment\n if (typeof(exports) !== UNDEF_TYPE) {\n // nodejs env\n if (typeof module !== UNDEF_TYPE && module.exports) {\n exports = module.exports = UAParser;\n }\n exports.UAParser = UAParser;\n } else {\n // requirejs env (optional)\n if (true) {\n !(__WEBPACK_AMD_DEFINE_RESULT__ = (function () {\n return UAParser;\n }).call(exports, __webpack_require__, exports, module),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n } else {}\n }\n\n // jQuery/Zepto specific (optional)\n // Note:\n // In AMD env the global scope should be kept clean, but jQuery is an exception.\n // jQuery always exports to global scope, unless jQuery.noConflict(true) is used,\n // and we should catch that.\n var $ = window && (window.jQuery || window.Zepto);\n if (typeof $ !== UNDEF_TYPE && !$.ua) {\n var parser = new UAParser();\n $.ua = parser.getResult();\n $.ua.get = function () {\n return parser.getUA();\n };\n $.ua.set = function (uastring) {\n parser.setUA(uastring);\n var result = parser.getResult();\n for (var prop in result) {\n $.ua[prop] = result[prop];\n }\n };\n }\n\n})(typeof window === 'object' ? window : this);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZmJqcy9ub2RlX21vZHVsZXMvdWEtcGFyc2VyLWpzL3NyYy91YS1wYXJzZXIuanM/NGM1MiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7OztBQUdBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSwwQ0FBMEM7QUFDMUM7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBLG1DQUFtQyxrQkFBa0I7QUFDckQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFDQUFxQztBQUNyQztBQUNBO0FBQ0E7QUFDQSxpQ0FBaUM7QUFDakM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQ0FBcUM7QUFDckM7QUFDQTtBQUNBO0FBQ0EsaUNBQWlDO0FBQ2pDO0FBQ0E7QUFDQSw2QkFBNkI7QUFDN0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTOztBQUVUOztBQUVBO0FBQ0E7QUFDQTtBQUNBLG1DQUFtQyxtQkFBbUI7QUFDdEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7OztBQUdBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUzs7QUFFVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUzs7QUFFVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSxjQUFjLGdCQUFnQjtBQUM5Qjs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBLDhDQUE4QyxFQUFFO0FBQ2hEO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUEsc0RBQXNEO0FBQ3REOztBQUVBLHNCQUFzQjtBQUN0Qjs7QUFFQSwrQkFBK0I7QUFDL0I7O0FBRUE7QUFDQSxrQ0FBa0MsTUFBTTtBQUN4Qzs7QUFFQSwrQ0FBK0M7QUFDL0M7O0FBRUEsdUJBQXVCO0FBQ3ZCOztBQUVBLCtCQUErQiwrQkFBK0Isa0RBQWtEO0FBQ2hIO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQSwrQkFBK0IsU0FBUztBQUN4Qzs7QUFFQTtBQUNBOztBQUVBLHNCQUFzQixJQUFJO0FBQzFCOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxrQ0FBa0M7QUFDbEM7QUFDQSxrQ0FBa0M7QUFDbEM7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CO0FBQ3BCO0FBQ0E7QUFDQSx3Q0FBd0MsS0FBSztBQUM3Qzs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxpQ0FBaUMsRUFBRSw2Q0FBNkMsSUFBSTtBQUNwRjs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsdUJBQXVCO0FBQ3ZCOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSxvQkFBb0I7QUFDcEI7QUFDQSxzREFBc0Q7QUFDdEQ7QUFDQTs7QUFFQTtBQUNBOztBQUVBLGtDQUFrQztBQUNsQztBQUNBOztBQUVBLHlCQUF5QjtBQUN6Qjs7QUFFQSxtQkFBbUIsdUJBQXVCO0FBQzFDO0FBQ0EsMkJBQTJCLEVBQUU7QUFDN0I7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CLElBQUk7QUFDdkI7QUFDQTtBQUNBLDBDQUEwQyxJQUFJO0FBQzlDOztBQUVBLDhDQUE4QyxTQUFTLElBQUksSUFBSTtBQUMvRDs7QUFFQSwwQkFBMEI7QUFDMUI7O0FBRUEsc0JBQXNCO0FBQ3RCOztBQUVBLHNEQUFzRCxFQUFFO0FBQ3hEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsNkJBQTZCO0FBQzdCOztBQUVBLGtDQUFrQyxFQUFFO0FBQ3BDO0FBQ0EsK0JBQStCLEdBQUcsR0FBRyxlQUFlLElBQUk7QUFDeEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQkFBa0I7QUFDbEI7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsbUJBQW1CLFlBQVk7QUFDL0I7O0FBRUE7QUFDQTs7QUFFQSx1QkFBdUI7QUFDdkI7O0FBRUE7QUFDQTs7QUFFQSx1QkFBdUI7QUFDdkI7O0FBRUEsdUJBQXVCO0FBQ3ZCOztBQUVBLHVCQUF1QjtBQUN2Qjs7QUFFQSx1QkFBdUI7QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1QkFBdUI7QUFDdkI7QUFDQSx5QkFBeUIsR0FBRztBQUM1Qjs7QUFFQTtBQUNBLG9DQUFvQyxFQUFFO0FBQ3RDOztBQUVBLHdCQUF3QjtBQUN4Qjs7QUFFQSx3QkFBd0IsbUJBQW1CLElBQUk7QUFDL0M7O0FBRUEsd0JBQXdCO0FBQ3hCOztBQUVBLHdCQUF3QjtBQUN4Qjs7QUFFQSx3QkFBd0IsWUFBWSxFQUFFO0FBQ3RDOztBQUVBLHVCQUF1QjtBQUN2Qjs7QUFFQSx3QkFBd0IsYUFBYSxFQUFFO0FBQ3ZDOztBQUVBLHdCQUF3QixhQUFhLEVBQUU7QUFDdkM7O0FBRUEsd0JBQXdCO0FBQ3hCOztBQUVBLDBCQUEwQixjQUFjLEVBQUU7QUFDMUMsd0JBQXdCLG9DQUFvQyxFQUFFO0FBQzlEOztBQUVBLHdCQUF3QixjQUFjLElBQUk7QUFDMUM7O0FBRUEsd0JBQXdCLHFCQUFxQixJQUFJO0FBQ2pEOztBQUVBLHdCQUF3QjtBQUN4Qjs7QUFFQSx3QkFBd0I7QUFDeEI7O0FBRUEsdUJBQXVCO0FBQ3ZCOztBQUVBLHdCQUF3QjtBQUN4Qjs7QUFFQSx3QkFBd0IsK0JBQStCLElBQUk7QUFDM0Q7O0FBRUEsd0JBQXdCO0FBQ3hCOztBQUVBLHdCQUF3QiwyQkFBMkIsRUFBRTtBQUNyRDs7QUFFQSx3QkFBd0I7QUFDeEI7O0FBRUE7QUFDQTs7QUFFQSwyQ0FBMkMsSUFBSTtBQUMvQzs7QUFFQSw2QkFBNkI7QUFDN0IsNEJBQTRCO0FBQzVCOztBQUVBLGtDQUFrQztBQUNsQzs7QUFFQSxnQ0FBZ0MsSUFBSSxFQUFFO0FBQ3RDO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSx5QkFBeUIsSUFBSTtBQUM3QjtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGlDQUFpQztBQUNqQztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0Esd0JBQXdCO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlDQUF5QztBQUN6QztBQUNBLDBCQUEwQjtBQUMxQjtBQUNBLCtCQUErQjtBQUMvQjs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxtQ0FBbUM7QUFDbkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsNEJBQTRCLElBQUk7QUFDaEM7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLHdCQUF3QixJQUFJLDZCQUE2QjtBQUN6RDs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLDJCQUEyQjtBQUMzQjtBQUNBLHdEQUF3RDtBQUN4RDtBQUNBO0FBQ0E7QUFDQSx1QkFBdUI7QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwQkFBMEI7QUFDMUI7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwQkFBMEI7QUFDMUI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0I7QUFDdEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLFlBQVksSUFBMkM7QUFDdkQsWUFBWSxtQ0FBTztBQUNuQjtBQUNBLGFBQWE7QUFBQSxvR0FBQztBQUNkLFNBQVMsTUFBTSxFQUdOO0FBQ1Q7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxDQUFDIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2ZianMvbm9kZV9tb2R1bGVzL3VhLXBhcnNlci1qcy9zcmMvdWEtcGFyc2VyLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBVQVBhcnNlci5qcyB2MC43LjIwXG4gKiBMaWdodHdlaWdodCBKYXZhU2NyaXB0LWJhc2VkIFVzZXItQWdlbnQgc3RyaW5nIHBhcnNlclxuICogaHR0cHM6Ly9naXRodWIuY29tL2ZhaXNhbG1hbi91YS1wYXJzZXItanNcbiAqXG4gKiBDb3B5cmlnaHQgwqkgMjAxMi0yMDE5IEZhaXNhbCBTYWxtYW4gPGZAZmFpc2FsbWFuLmNvbT5cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBMaWNlbnNlXG4gKi9cblxuKGZ1bmN0aW9uICh3aW5kb3csIHVuZGVmaW5lZCkge1xuXG4gICAgJ3VzZSBzdHJpY3QnO1xuXG4gICAgLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBDb25zdGFudHNcbiAgICAvLy8vLy8vLy8vLy8vXG5cblxuICAgIHZhciBMSUJWRVJTSU9OICA9ICcwLjcuMjAnLFxuICAgICAgICBFTVBUWSAgICAgICA9ICcnLFxuICAgICAgICBVTktOT1dOICAgICA9ICc/JyxcbiAgICAgICAgRlVOQ19UWVBFICAgPSAnZnVuY3Rpb24nLFxuICAgICAgICBVTkRFRl9UWVBFICA9ICd1bmRlZmluZWQnLFxuICAgICAgICBPQkpfVFlQRSAgICA9ICdvYmplY3QnLFxuICAgICAgICBTVFJfVFlQRSAgICA9ICdzdHJpbmcnLFxuICAgICAgICBNQUpPUiAgICAgICA9ICdtYWpvcicsIC8vIGRlcHJlY2F0ZWRcbiAgICAgICAgTU9ERUwgICAgICAgPSAnbW9kZWwnLFxuICAgICAgICBOQU1FICAgICAgICA9ICduYW1lJyxcbiAgICAgICAgVFlQRSAgICAgICAgPSAndHlwZScsXG4gICAgICAgIFZFTkRPUiAgICAgID0gJ3ZlbmRvcicsXG4gICAgICAgIFZFUlNJT04gICAgID0gJ3ZlcnNpb24nLFxuICAgICAgICBBUkNISVRFQ1RVUkU9ICdhcmNoaXRlY3R1cmUnLFxuICAgICAgICBDT05TT0xFICAgICA9ICdjb25zb2xlJyxcbiAgICAgICAgTU9CSUxFICAgICAgPSAnbW9iaWxlJyxcbiAgICAgICAgVEFCTEVUICAgICAgPSAndGFibGV0JyxcbiAgICAgICAgU01BUlRUViAgICAgPSAnc21hcnR0dicsXG4gICAgICAgIFdFQVJBQkxFICAgID0gJ3dlYXJhYmxlJyxcbiAgICAgICAgRU1CRURERUQgICAgPSAnZW1iZWRkZWQnO1xuXG5cbiAgICAvLy8vLy8vLy8vL1xuICAgIC8vIEhlbHBlclxuICAgIC8vLy8vLy8vLy9cblxuXG4gICAgdmFyIHV0aWwgPSB7XG4gICAgICAgIGV4dGVuZCA6IGZ1bmN0aW9uIChyZWdleGVzLCBleHRlbnNpb25zKSB7XG4gICAgICAgICAgICB2YXIgbWVyZ2VkUmVnZXhlcyA9IHt9O1xuICAgICAgICAgICAgZm9yICh2YXIgaSBpbiByZWdleGVzKSB7XG4gICAgICAgICAgICAgICAgaWYgKGV4dGVuc2lvbnNbaV0gJiYgZXh0ZW5zaW9uc1tpXS5sZW5ndGggJSAyID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIG1lcmdlZFJlZ2V4ZXNbaV0gPSBleHRlbnNpb25zW2ldLmNvbmNhdChyZWdleGVzW2ldKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBtZXJnZWRSZWdleGVzW2ldID0gcmVnZXhlc1tpXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gbWVyZ2VkUmVnZXhlcztcbiAgICAgICAgfSxcbiAgICAgICAgaGFzIDogZnVuY3Rpb24gKHN0cjEsIHN0cjIpIHtcbiAgICAgICAgICBpZiAodHlwZW9mIHN0cjEgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgICAgIHJldHVybiBzdHIyLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihzdHIxLnRvTG93ZXJDYXNlKCkpICE9PSAtMTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgbG93ZXJpemUgOiBmdW5jdGlvbiAoc3RyKSB7XG4gICAgICAgICAgICByZXR1cm4gc3RyLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIH0sXG4gICAgICAgIG1ham9yIDogZnVuY3Rpb24gKHZlcnNpb24pIHtcbiAgICAgICAgICAgIHJldHVybiB0eXBlb2YodmVyc2lvbikgPT09IFNUUl9UWVBFID8gdmVyc2lvbi5yZXBsYWNlKC9bXlxcZFxcLl0vZywnJykuc3BsaXQoXCIuXCIpWzBdIDogdW5kZWZpbmVkO1xuICAgICAgICB9LFxuICAgICAgICB0cmltIDogZnVuY3Rpb24gKHN0cikge1xuICAgICAgICAgIHJldHVybiBzdHIucmVwbGFjZSgvXltcXHNcXHVGRUZGXFx4QTBdK3xbXFxzXFx1RkVGRlxceEEwXSskL2csICcnKTtcbiAgICAgICAgfVxuICAgIH07XG5cblxuICAgIC8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIE1hcCBoZWxwZXJcbiAgICAvLy8vLy8vLy8vLy8vL1xuXG5cbiAgICB2YXIgbWFwcGVyID0ge1xuXG4gICAgICAgIHJneCA6IGZ1bmN0aW9uICh1YSwgYXJyYXlzKSB7XG5cbiAgICAgICAgICAgIHZhciBpID0gMCwgaiwgaywgcCwgcSwgbWF0Y2hlcywgbWF0Y2g7XG5cbiAgICAgICAgICAgIC8vIGxvb3AgdGhyb3VnaCBhbGwgcmVnZXhlcyBtYXBzXG4gICAgICAgICAgICB3aGlsZSAoaSA8IGFycmF5cy5sZW5ndGggJiYgIW1hdGNoZXMpIHtcblxuICAgICAgICAgICAgICAgIHZhciByZWdleCA9IGFycmF5c1tpXSwgICAgICAgLy8gZXZlbiBzZXF1ZW5jZSAoMCwyLDQsLi4pXG4gICAgICAgICAgICAgICAgICAgIHByb3BzID0gYXJyYXlzW2kgKyAxXTsgICAvLyBvZGQgc2VxdWVuY2UgKDEsMyw1LC4uKVxuICAgICAgICAgICAgICAgIGogPSBrID0gMDtcblxuICAgICAgICAgICAgICAgIC8vIHRyeSBtYXRjaGluZyB1YXN0cmluZyB3aXRoIHJlZ2V4ZXNcbiAgICAgICAgICAgICAgICB3aGlsZSAoaiA8IHJlZ2V4Lmxlbmd0aCAmJiAhbWF0Y2hlcykge1xuXG4gICAgICAgICAgICAgICAgICAgIG1hdGNoZXMgPSByZWdleFtqKytdLmV4ZWModWEpO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmICghIW1hdGNoZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvciAocCA9IDA7IHAgPCBwcm9wcy5sZW5ndGg7IHArKykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoID0gbWF0Y2hlc1srK2tdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHEgPSBwcm9wc1twXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBjaGVjayBpZiBnaXZlbiBwcm9wZXJ0eSBpcyBhY3R1YWxseSBhcnJheVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgcSA9PT0gT0JKX1RZUEUgJiYgcS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChxLmxlbmd0aCA9PSAyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHFbMV0gPT0gRlVOQ19UWVBFKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYXNzaWduIG1vZGlmaWVkIG1hdGNoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpc1txWzBdXSA9IHFbMV0uY2FsbCh0aGlzLCBtYXRjaCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGFzc2lnbiBnaXZlbiB2YWx1ZSwgaWdub3JlIHJlZ2V4IG1hdGNoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpc1txWzBdXSA9IHFbMV07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAocS5sZW5ndGggPT0gMykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gY2hlY2sgd2hldGhlciBmdW5jdGlvbiBvciByZWdleFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBxWzFdID09PSBGVU5DX1RZUEUgJiYgIShxWzFdLmV4ZWMgJiYgcVsxXS50ZXN0KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNhbGwgZnVuY3Rpb24gKHVzdWFsbHkgc3RyaW5nIG1hcHBlcilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzW3FbMF1dID0gbWF0Y2ggPyBxWzFdLmNhbGwodGhpcywgbWF0Y2gsIHFbMl0pIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBzYW5pdGl6ZSBtYXRjaCB1c2luZyBnaXZlbiByZWdleFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXNbcVswXV0gPSBtYXRjaCA/IG1hdGNoLnJlcGxhY2UocVsxXSwgcVsyXSkgOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAocS5sZW5ndGggPT0gNCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXNbcVswXV0gPSBtYXRjaCA/IHFbM10uY2FsbCh0aGlzLCBtYXRjaC5yZXBsYWNlKHFbMV0sIHFbMl0pKSA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXNbcV0gPSBtYXRjaCA/IG1hdGNoIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpICs9IDI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG5cbiAgICAgICAgc3RyIDogZnVuY3Rpb24gKHN0ciwgbWFwKSB7XG5cbiAgICAgICAgICAgIGZvciAodmFyIGkgaW4gbWFwKSB7XG4gICAgICAgICAgICAgICAgLy8gY2hlY2sgaWYgYXJyYXlcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIG1hcFtpXSA9PT0gT0JKX1RZUEUgJiYgbWFwW2ldLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCBtYXBbaV0ubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh1dGlsLmhhcyhtYXBbaV1bal0sIHN0cikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKGkgPT09IFVOS05PV04pID8gdW5kZWZpbmVkIDogaTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodXRpbC5oYXMobWFwW2ldLCBzdHIpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAoaSA9PT0gVU5LTk9XTikgPyB1bmRlZmluZWQgOiBpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBzdHI7XG4gICAgICAgIH1cbiAgICB9O1xuXG5cbiAgICAvLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBTdHJpbmcgbWFwXG4gICAgLy8vLy8vLy8vLy8vLy9cblxuXG4gICAgdmFyIG1hcHMgPSB7XG5cbiAgICAgICAgYnJvd3NlciA6IHtcbiAgICAgICAgICAgIG9sZHNhZmFyaSA6IHtcbiAgICAgICAgICAgICAgICB2ZXJzaW9uIDoge1xuICAgICAgICAgICAgICAgICAgICAnMS4wJyAgIDogJy84JyxcbiAgICAgICAgICAgICAgICAgICAgJzEuMicgICA6ICcvMScsXG4gICAgICAgICAgICAgICAgICAgICcxLjMnICAgOiAnLzMnLFxuICAgICAgICAgICAgICAgICAgICAnMi4wJyAgIDogJy80MTInLFxuICAgICAgICAgICAgICAgICAgICAnMi4wLjInIDogJy80MTYnLFxuICAgICAgICAgICAgICAgICAgICAnMi4wLjMnIDogJy80MTcnLFxuICAgICAgICAgICAgICAgICAgICAnMi4wLjQnIDogJy80MTknLFxuICAgICAgICAgICAgICAgICAgICAnPycgICAgIDogJy8nXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuXG4gICAgICAgIGRldmljZSA6IHtcbiAgICAgICAgICAgIGFtYXpvbiA6IHtcbiAgICAgICAgICAgICAgICBtb2RlbCA6IHtcbiAgICAgICAgICAgICAgICAgICAgJ0ZpcmUgUGhvbmUnIDogWydTRCcsICdLRiddXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHNwcmludCA6IHtcbiAgICAgICAgICAgICAgICBtb2RlbCA6IHtcbiAgICAgICAgICAgICAgICAgICAgJ0V2byBTaGlmdCA0RycgOiAnNzM3M0tUJ1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgdmVuZG9yIDoge1xuICAgICAgICAgICAgICAgICAgICAnSFRDJyAgICAgICA6ICdBUEEnLFxuICAgICAgICAgICAgICAgICAgICAnU3ByaW50JyAgICA6ICdTcHJpbnQnXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuXG4gICAgICAgIG9zIDoge1xuICAgICAgICAgICAgd2luZG93cyA6IHtcbiAgICAgICAgICAgICAgICB2ZXJzaW9uIDoge1xuICAgICAgICAgICAgICAgICAgICAnTUUnICAgICAgICA6ICc0LjkwJyxcbiAgICAgICAgICAgICAgICAgICAgJ05UIDMuMTEnICAgOiAnTlQzLjUxJyxcbiAgICAgICAgICAgICAgICAgICAgJ05UIDQuMCcgICAgOiAnTlQ0LjAnLFxuICAgICAgICAgICAgICAgICAgICAnMjAwMCcgICAgICA6ICdOVCA1LjAnLFxuICAgICAgICAgICAgICAgICAgICAnWFAnICAgICAgICA6IFsnTlQgNS4xJywgJ05UIDUuMiddLFxuICAgICAgICAgICAgICAgICAgICAnVmlzdGEnICAgICA6ICdOVCA2LjAnLFxuICAgICAgICAgICAgICAgICAgICAnNycgICAgICAgICA6ICdOVCA2LjEnLFxuICAgICAgICAgICAgICAgICAgICAnOCcgICAgICAgICA6ICdOVCA2LjInLFxuICAgICAgICAgICAgICAgICAgICAnOC4xJyAgICAgICA6ICdOVCA2LjMnLFxuICAgICAgICAgICAgICAgICAgICAnMTAnICAgICAgICA6IFsnTlQgNi40JywgJ05UIDEwLjAnXSxcbiAgICAgICAgICAgICAgICAgICAgJ1JUJyAgICAgICAgOiAnQVJNJ1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH07XG5cblxuICAgIC8vLy8vLy8vLy8vLy8vXG4gICAgLy8gUmVnZXggbWFwXG4gICAgLy8vLy8vLy8vLy8vL1xuXG5cbiAgICB2YXIgcmVnZXhlcyA9IHtcblxuICAgICAgICBicm93c2VyIDogW1tcblxuICAgICAgICAgICAgLy8gUHJlc3RvIGJhc2VkXG4gICAgICAgICAgICAvKG9wZXJhXFxzbWluaSlcXC8oW1xcd1xcLi1dKykvaSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBPcGVyYSBNaW5pXG4gICAgICAgICAgICAvKG9wZXJhXFxzW21vYmlsZXRhYl0rKS4rdmVyc2lvblxcLyhbXFx3XFwuLV0rKS9pLCAgICAgICAgICAgICAgICAgICAgICAvLyBPcGVyYSBNb2JpL1RhYmxldFxuICAgICAgICAgICAgLyhvcGVyYSkuK3ZlcnNpb25cXC8oW1xcd1xcLl0rKS9pLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBPcGVyYSA+IDkuODBcbiAgICAgICAgICAgIC8ob3BlcmEpW1xcL1xcc10rKFtcXHdcXC5dKykvaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE9wZXJhIDwgOS44MFxuICAgICAgICAgICAgXSwgW05BTUUsIFZFUlNJT05dLCBbXG5cbiAgICAgICAgICAgIC8ob3Bpb3MpW1xcL1xcc10rKFtcXHdcXC5dKykvaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE9wZXJhIG1pbmkgb24gaXBob25lID49IDguMFxuICAgICAgICAgICAgXSwgW1tOQU1FLCAnT3BlcmEgTWluaSddLCBWRVJTSU9OXSwgW1xuXG4gICAgICAgICAgICAvXFxzKG9wcilcXC8oW1xcd1xcLl0rKS9pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBPcGVyYSBXZWJraXRcbiAgICAgICAgICAgIF0sIFtbTkFNRSwgJ09wZXJhJ10sIFZFUlNJT05dLCBbXG5cbiAgICAgICAgICAgIC8vIE1peGVkXG4gICAgICAgICAgICAvKGtpbmRsZSlcXC8oW1xcd1xcLl0rKS9pLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEtpbmRsZVxuICAgICAgICAgICAgLyhsdW5hc2NhcGV8bWF4dGhvbnxuZXRmcm9udHxqYXNtaW5lfGJsYXplcilbXFwvXFxzXT8oW1xcd1xcLl0qKS9pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBMdW5hc2NhcGUvTWF4dGhvbi9OZXRmcm9udC9KYXNtaW5lL0JsYXplclxuXG4gICAgICAgICAgICAvLyBUcmlkZW50IGJhc2VkXG4gICAgICAgICAgICAvKGF2YW50XFxzfGllbW9iaWxlfHNsaW18YmFpZHUpKD86YnJvd3Nlcik/W1xcL1xcc10/KFtcXHdcXC5dKikvaSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQXZhbnQvSUVNb2JpbGUvU2xpbUJyb3dzZXIvQmFpZHVcbiAgICAgICAgICAgIC8oPzptc3xcXCgpKGllKVxccyhbXFx3XFwuXSspL2ksICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEludGVybmV0IEV4cGxvcmVyXG5cbiAgICAgICAgICAgIC8vIFdlYmtpdC9LSFRNTCBiYXNlZFxuICAgICAgICAgICAgLyhyZWtvbnEpXFwvKFtcXHdcXC5dKikvaSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBSZWtvbnFcbiAgICAgICAgICAgIC8oY2hyb21pdW18ZmxvY2t8cm9ja21lbHR8bWlkb3JpfGVwaXBoYW55fHNpbGt8c2t5ZmlyZXxvdmlicm93c2VyfGJvbHR8aXJvbnx2aXZhbGRpfGlyaWRpdW18cGhhbnRvbWpzfGJvd3NlcnxxdWFya3xxdXB6aWxsYXxmYWxrb24pXFwvKFtcXHdcXC4tXSspL2lcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQ2hyb21pdW0vRmxvY2svUm9ja01lbHQvTWlkb3JpL0VwaXBoYW55L1NpbGsvU2t5ZmlyZS9Cb2x0L0lyb24vSXJpZGl1bS9QaGFudG9tSlMvQm93c2VyL1F1cFppbGxhL0ZhbGtvblxuICAgICAgICAgICAgXSwgW05BTUUsIFZFUlNJT05dLCBbXG5cbiAgICAgICAgICAgIC8oa29ucXVlcm9yKVxcLyhbXFx3XFwuXSspL2kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gS29ucXVlcm9yXG4gICAgICAgICAgICBdLCBbW05BTUUsICdLb25xdWVyb3InXSwgVkVSU0lPTl0sIFtcblxuICAgICAgICAgICAgLyh0cmlkZW50KS4rcnZbOlxcc10oW1xcd1xcLl0rKS4rbGlrZVxcc2dlY2tvL2kgICAgICAgICAgICAgICAgICAgICAgICAgLy8gSUUxMVxuICAgICAgICAgICAgXSwgW1tOQU1FLCAnSUUnXSwgVkVSU0lPTl0sIFtcblxuICAgICAgICAgICAgLyhlZGdlfGVkZ2lvc3xlZGdhfGVkZylcXC8oKFxcZCspP1tcXHdcXC5dKykvaSAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gTWljcm9zb2Z0IEVkZ2VcbiAgICAgICAgICAgIF0sIFtbTkFNRSwgJ0VkZ2UnXSwgVkVSU0lPTl0sIFtcblxuICAgICAgICAgICAgLyh5YWJyb3dzZXIpXFwvKFtcXHdcXC5dKykvaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBZYW5kZXhcbiAgICAgICAgICAgIF0sIFtbTkFNRSwgJ1lhbmRleCddLCBWRVJTSU9OXSwgW1xuXG4gICAgICAgICAgICAvKHB1ZmZpbilcXC8oW1xcd1xcLl0rKS9pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFB1ZmZpblxuICAgICAgICAgICAgXSwgW1tOQU1FLCAnUHVmZmluJ10sIFZFUlNJT05dLCBbXG5cbiAgICAgICAgICAgIC8oZm9jdXMpXFwvKFtcXHdcXC5dKykvaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gRmlyZWZveCBGb2N1c1xuICAgICAgICAgICAgXSwgW1tOQU1FLCAnRmlyZWZveCBGb2N1cyddLCBWRVJTSU9OXSwgW1xuXG4gICAgICAgICAgICAvKG9wdClcXC8oW1xcd1xcLl0rKS9pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE9wZXJhIFRvdWNoXG4gICAgICAgICAgICBdLCBbW05BTUUsICdPcGVyYSBUb3VjaCddLCBWRVJTSU9OXSwgW1xuXG4gICAgICAgICAgICAvKCg/OltcXHNcXC9dKXVjP1xccz9icm93c2VyfCg/Omp1Yy4rKXVjd2ViKVtcXC9cXHNdPyhbXFx3XFwuXSspL2kgICAgICAgICAvLyBVQ0Jyb3dzZXJcbiAgICAgICAgICAgIF0sIFtbTkFNRSwgJ1VDQnJvd3NlciddLCBWRVJTSU9OXSwgW1xuXG4gICAgICAgICAgICAvKGNvbW9kb19kcmFnb24pXFwvKFtcXHdcXC5dKykvaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIENvbW9kbyBEcmFnb25cbiAgICAgICAgICAgIF0sIFtbTkFNRSwgL18vZywgJyAnXSwgVkVSU0lPTl0sIFtcblxuICAgICAgICAgICAgLyh3aW5kb3dzd2VjaGF0IHFiY29yZSlcXC8oW1xcd1xcLl0rKS9pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBXZUNoYXQgRGVza3RvcCBmb3IgV2luZG93cyBCdWlsdC1pbiBCcm93c2VyXG4gICAgICAgICAgICBdLCBbW05BTUUsICdXZUNoYXQoV2luKSBEZXNrdG9wJ10sIFZFUlNJT05dLCBbXG5cbiAgICAgICAgICAgIC8obWljcm9tZXNzZW5nZXIpXFwvKFtcXHdcXC5dKykvaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gV2VDaGF0XG4gICAgICAgICAgICBdLCBbW05BTUUsICdXZUNoYXQnXSwgVkVSU0lPTl0sIFtcblxuICAgICAgICAgICAgLyhicmF2ZSlcXC8oW1xcd1xcLl0rKS9pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEJyYXZlIGJyb3dzZXJcbiAgICAgICAgICAgIF0sIFtbTkFNRSwgJ0JyYXZlJ10sIFZFUlNJT05dLCBbXG5cbiAgICAgICAgICAgIC8ocXFicm93c2VybGl0ZSlcXC8oW1xcd1xcLl0rKS9pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gUVFCcm93c2VyTGl0ZVxuICAgICAgICAgICAgXSwgW05BTUUsIFZFUlNJT05dLCBbXG5cbiAgICAgICAgICAgIC8oUVEpXFwvKFtcXGRcXC5dKykvaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gUVEsIGFrYSBTaG91UVxuICAgICAgICAgICAgXSwgW05BTUUsIFZFUlNJT05dLCBbXG5cbiAgICAgICAgICAgIC9tPyhxcWJyb3dzZXIpW1xcL1xcc10/KFtcXHdcXC5dKykvaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFFRQnJvd3NlclxuICAgICAgICAgICAgXSwgW05BTUUsIFZFUlNJT05dLCBbXG5cbiAgICAgICAgICAgIC8oQklEVUJyb3dzZXIpW1xcL1xcc10/KFtcXHdcXC5dKykvaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEJhaWR1IEJyb3dzZXJcbiAgICAgICAgICAgIF0sIFtOQU1FLCBWRVJTSU9OXSwgW1xuXG4gICAgICAgICAgICAvKDIzNDVFeHBsb3JlcilbXFwvXFxzXT8oW1xcd1xcLl0rKS9pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAyMzQ1IEJyb3dzZXJcbiAgICAgICAgICAgIF0sIFtOQU1FLCBWRVJTSU9OXSwgW1xuXG4gICAgICAgICAgICAvKE1ldGFTcilbXFwvXFxzXT8oW1xcd1xcLl0rKS9pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBTb3VHb3VCcm93c2VyXG4gICAgICAgICAgICBdLCBbTkFNRV0sIFtcblxuICAgICAgICAgICAgLyhMQkJST1dTRVIpL2kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIExpZUJhbyBCcm93c2VyXG4gICAgICAgICAgICBdLCBbTkFNRV0sIFtcblxuICAgICAgICAgICAgL3hpYW9taVxcL21pdWlicm93c2VyXFwvKFtcXHdcXC5dKykvaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gTUlVSSBCcm93c2VyXG4gICAgICAgICAgICBdLCBbVkVSU0lPTiwgW05BTUUsICdNSVVJIEJyb3dzZXInXV0sIFtcblxuICAgICAgICAgICAgLztmYmF2XFwvKFtcXHdcXC5dKyk7L2kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBGYWNlYm9vayBBcHAgZm9yIGlPUyAmIEFuZHJvaWRcbiAgICAgICAgICAgIF0sIFtWRVJTSU9OLCBbTkFNRSwgJ0ZhY2Vib29rJ11dLCBbXG5cbiAgICAgICAgICAgIC9zYWZhcmlcXHMobGluZSlcXC8oW1xcd1xcLl0rKS9pLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIExpbmUgQXBwIGZvciBpT1NcbiAgICAgICAgICAgIC9hbmRyb2lkLisobGluZSlcXC8oW1xcd1xcLl0rKVxcL2lhYi9pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIExpbmUgQXBwIGZvciBBbmRyb2lkXG4gICAgICAgICAgICBdLCBbTkFNRSwgVkVSU0lPTl0sIFtcblxuICAgICAgICAgICAgL2hlYWRsZXNzY2hyb21lKD86XFwvKFtcXHdcXC5dKyl8XFxzKS9pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQ2hyb21lIEhlYWRsZXNzXG4gICAgICAgICAgICBdLCBbVkVSU0lPTiwgW05BTUUsICdDaHJvbWUgSGVhZGxlc3MnXV0sIFtcblxuICAgICAgICAgICAgL1xcc3d2XFwpLisoY2hyb21lKVxcLyhbXFx3XFwuXSspL2kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIENocm9tZSBXZWJWaWV3XG4gICAgICAgICAgICBdLCBbW05BTUUsIC8oLispLywgJyQxIFdlYlZpZXcnXSwgVkVSU0lPTl0sIFtcblxuICAgICAgICAgICAgLygoPzpvY3VsdXN8c2Ftc3VuZylicm93c2VyKVxcLyhbXFx3XFwuXSspL2lcbiAgICAgICAgICAgIF0sIFtbTkFNRSwgLyguKyg/Omd8dXMpKSguKykvLCAnJDEgJDInXSwgVkVSU0lPTl0sIFsgICAgICAgICAgICAgICAgLy8gT2N1bHVzIC8gU2Ftc3VuZyBCcm93c2VyXG5cbiAgICAgICAgICAgIC9hbmRyb2lkLit2ZXJzaW9uXFwvKFtcXHdcXC5dKylcXHMrKD86bW9iaWxlXFxzP3NhZmFyaXxzYWZhcmkpKi9pICAgICAgICAvLyBBbmRyb2lkIEJyb3dzZXJcbiAgICAgICAgICAgIF0sIFtWRVJTSU9OLCBbTkFNRSwgJ0FuZHJvaWQgQnJvd3NlciddXSwgW1xuXG4gICAgICAgICAgICAvKHNhaWxmaXNoYnJvd3NlcilcXC8oW1xcd1xcLl0rKS9pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFNhaWxmaXNoIEJyb3dzZXJcbiAgICAgICAgICAgIF0sIFtbTkFNRSwgJ1NhaWxmaXNoIEJyb3dzZXInXSwgVkVSU0lPTl0sIFtcblxuICAgICAgICAgICAgLyhjaHJvbWV8b21uaXdlYnxhcm9yYXxbdGl6ZW5va2FdezV9XFxzP2Jyb3dzZXIpXFwvdj8oW1xcd1xcLl0rKS9pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIENocm9tZS9PbW5pV2ViL0Fyb3JhL1RpemVuL05va2lhXG4gICAgICAgICAgICBdLCBbTkFNRSwgVkVSU0lPTl0sIFtcblxuICAgICAgICAgICAgLyhkb2xmaW4pXFwvKFtcXHdcXC5dKykvaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBEb2xwaGluXG4gICAgICAgICAgICBdLCBbW05BTUUsICdEb2xwaGluJ10sIFZFUlNJT05dLCBbXG5cbiAgICAgICAgICAgIC8oKD86YW5kcm9pZC4rKWNybW98Y3Jpb3MpXFwvKFtcXHdcXC5dKykvaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQ2hyb21lIGZvciBBbmRyb2lkL2lPU1xuICAgICAgICAgICAgXSwgW1tOQU1FLCAnQ2hyb21lJ10sIFZFUlNJT05dLCBbXG5cbiAgICAgICAgICAgIC8oY29hc3QpXFwvKFtcXHdcXC5dKykvaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gT3BlcmEgQ29hc3RcbiAgICAgICAgICAgIF0sIFtbTkFNRSwgJ09wZXJhIENvYXN0J10sIFZFUlNJT05dLCBbXG5cbiAgICAgICAgICAgIC9meGlvc1xcLyhbXFx3XFwuLV0rKS9pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gRmlyZWZveCBmb3IgaU9TXG4gICAgICAgICAgICBdLCBbVkVSU0lPTiwgW05BTUUsICdGaXJlZm94J11dLCBbXG5cbiAgICAgICAgICAgIC92ZXJzaW9uXFwvKFtcXHdcXC5dKykuKz9tb2JpbGVcXC9cXHcrXFxzKHNhZmFyaSkvaSAgICAgICAgICAgICAgICAgICAgICAgLy8gTW9iaWxlIFNhZmFyaVxuICAgICAgICAgICAgXSwgW1ZFUlNJT04sIFtOQU1FLCAnTW9iaWxlIFNhZmFyaSddXSwgW1xuXG4gICAgICAgICAgICAvdmVyc2lvblxcLyhbXFx3XFwuXSspLis/KG1vYmlsZVxccz9zYWZhcml8c2FmYXJpKS9pICAgICAgICAgICAgICAgICAgICAvLyBTYWZhcmkgJiBTYWZhcmkgTW9iaWxlXG4gICAgICAgICAgICBdLCBbVkVSU0lPTiwgTkFNRV0sIFtcblxuICAgICAgICAgICAgL3dlYmtpdC4rPyhnc2EpXFwvKFtcXHdcXC5dKykuKz8obW9iaWxlXFxzP3NhZmFyaXxzYWZhcmkpKFxcL1tcXHdcXC5dKykvaSAgLy8gR29vZ2xlIFNlYXJjaCBBcHBsaWFuY2Ugb24gaU9TXG4gICAgICAgICAgICBdLCBbW05BTUUsICdHU0EnXSwgVkVSU0lPTl0sIFtcblxuICAgICAgICAgICAgL3dlYmtpdC4rPyhtb2JpbGVcXHM/c2FmYXJpfHNhZmFyaSkoXFwvW1xcd1xcLl0rKS9pICAgICAgICAgICAgICAgICAgICAgLy8gU2FmYXJpIDwgMy4wXG4gICAgICAgICAgICBdLCBbTkFNRSwgW1ZFUlNJT04sIG1hcHBlci5zdHIsIG1hcHMuYnJvd3Nlci5vbGRzYWZhcmkudmVyc2lvbl1dLCBbXG5cbiAgICAgICAgICAgIC8od2Via2l0fGtodG1sKVxcLyhbXFx3XFwuXSspL2lcbiAgICAgICAgICAgIF0sIFtOQU1FLCBWRVJTSU9OXSwgW1xuXG4gICAgICAgICAgICAvLyBHZWNrbyBiYXNlZFxuICAgICAgICAgICAgLyhuYXZpZ2F0b3J8bmV0c2NhcGUpXFwvKFtcXHdcXC4tXSspL2kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBOZXRzY2FwZVxuICAgICAgICAgICAgXSwgW1tOQU1FLCAnTmV0c2NhcGUnXSwgVkVSU0lPTl0sIFtcbiAgICAgICAgICAgIC8oc3dpZnRmb3gpL2ksICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gU3dpZnRmb3hcbiAgICAgICAgICAgIC8oaWNlZHJhZ29ufGljZXdlYXNlbHxjYW1pbm98Y2hpbWVyYXxmZW5uZWN8bWFlbW9cXHNicm93c2VyfG1pbmltb3xjb25rZXJvcilbXFwvXFxzXT8oW1xcd1xcLlxcK10rKS9pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBJY2VEcmFnb24vSWNld2Vhc2VsL0NhbWluby9DaGltZXJhL0Zlbm5lYy9NYWVtby9NaW5pbW8vQ29ua2Vyb3JcbiAgICAgICAgICAgIC8oZmlyZWZveHxzZWFtb25rZXl8ay1tZWxlb258aWNlY2F0fGljZWFwZXxmaXJlYmlyZHxwaG9lbml4fHBhbGVtb29ufGJhc2lsaXNrfHdhdGVyZm94KVxcLyhbXFx3XFwuLV0rKSQvaSxcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBGaXJlZm94L1NlYU1vbmtleS9LLU1lbGVvbi9JY2VDYXQvSWNlQXBlL0ZpcmViaXJkL1Bob2VuaXhcbiAgICAgICAgICAgIC8obW96aWxsYSlcXC8oW1xcd1xcLl0rKS4rcnZcXDouK2dlY2tvXFwvXFxkKy9pLCAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gTW96aWxsYVxuXG4gICAgICAgICAgICAvLyBPdGhlclxuICAgICAgICAgICAgLyhwb2xhcmlzfGx5bnh8ZGlsbG98aWNhYnxkb3Jpc3xhbWF5YXx3M218bmV0c3VyZnxzbGVpcG5pcilbXFwvXFxzXT8oW1xcd1xcLl0rKS9pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBQb2xhcmlzL0x5bngvRGlsbG8vaUNhYi9Eb3Jpcy9BbWF5YS93M20vTmV0U3VyZi9TbGVpcG5pclxuICAgICAgICAgICAgLyhsaW5rcylcXHNcXCgoW1xcd1xcLl0rKS9pLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gTGlua3NcbiAgICAgICAgICAgIC8oZ29icm93c2VyKVxcLz8oW1xcd1xcLl0qKS9pLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gR29Ccm93c2VyXG4gICAgICAgICAgICAvKGljZVxccz9icm93c2VyKVxcL3Y/KFtcXHdcXC5fXSspL2ksICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBJQ0UgQnJvd3NlclxuICAgICAgICAgICAgLyhtb3NhaWMpW1xcL1xcc10oW1xcd1xcLl0rKS9pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gTW9zYWljXG4gICAgICAgICAgICBdLCBbTkFNRSwgVkVSU0lPTl1cbiAgICAgICAgXSxcblxuICAgICAgICBjcHUgOiBbW1xuXG4gICAgICAgICAgICAvKD86KGFtZHx4KD86KD86ODZ8NjQpW18tXSk/fHdvd3x3aW4pNjQpWztcXCldL2kgICAgICAgICAgICAgICAgICAgICAvLyBBTUQ2NFxuICAgICAgICAgICAgXSwgW1tBUkNISVRFQ1RVUkUsICdhbWQ2NCddXSwgW1xuXG4gICAgICAgICAgICAvKGlhMzIoPz07KSkvaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIElBMzIgKHF1aWNrdGltZSlcbiAgICAgICAgICAgIF0sIFtbQVJDSElURUNUVVJFLCB1dGlsLmxvd2VyaXplXV0sIFtcblxuICAgICAgICAgICAgLygoPzppWzM0Nl18eCk4NilbO1xcKV0vaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gSUEzMlxuICAgICAgICAgICAgXSwgW1tBUkNISVRFQ1RVUkUsICdpYTMyJ11dLCBbXG5cbiAgICAgICAgICAgIC8vIFBvY2tldFBDIG1pc3Rha2VubHkgaWRlbnRpZmllZCBhcyBQb3dlclBDXG4gICAgICAgICAgICAvd2luZG93c1xccyhjZXxtb2JpbGUpO1xcc3BwYzsvaVxuICAgICAgICAgICAgXSwgW1tBUkNISVRFQ1RVUkUsICdhcm0nXV0sIFtcblxuICAgICAgICAgICAgLygoPzpwcGN8cG93ZXJwYykoPzo2NCk/KSg/Olxcc21hY3w7fFxcKSkvaSAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFBvd2VyUENcbiAgICAgICAgICAgIF0sIFtbQVJDSElURUNUVVJFLCAvb3dlci8sICcnLCB1dGlsLmxvd2VyaXplXV0sIFtcblxuICAgICAgICAgICAgLyhzdW40XFx3KVs7XFwpXS9pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFNQQVJDXG4gICAgICAgICAgICBdLCBbW0FSQ0hJVEVDVFVSRSwgJ3NwYXJjJ11dLCBbXG5cbiAgICAgICAgICAgIC8oKD86YXZyMzJ8aWE2NCg/PTspKXw2OGsoPz1cXCkpfGFybSg/OjY0fCg/PXZcXGQrWztsXSkpfCg/PWF0bWVsXFxzKWF2cnwoPzppcml4fG1pcHN8c3BhcmMpKD86NjQpPyg/PTspfHBhLXJpc2MpL2lcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gSUE2NCwgNjhLLCBBUk0vNjQsIEFWUi8zMiwgSVJJWC82NCwgTUlQUy82NCwgU1BBUkMvNjQsIFBBLVJJU0NcbiAgICAgICAgICAgIF0sIFtbQVJDSElURUNUVVJFLCB1dGlsLmxvd2VyaXplXV1cbiAgICAgICAgXSxcblxuICAgICAgICBkZXZpY2UgOiBbW1xuXG4gICAgICAgICAgICAvXFwoKGlwYWR8cGxheWJvb2spO1tcXHdcXHNcXCksOy1dKyhyaW18YXBwbGUpL2kgICAgICAgICAgICAgICAgICAgICAgICAvLyBpUGFkL1BsYXlCb29rXG4gICAgICAgICAgICBdLCBbTU9ERUwsIFZFTkRPUiwgW1RZUEUsIFRBQkxFVF1dLCBbXG5cbiAgICAgICAgICAgIC9hcHBsZWNvcmVtZWRpYVxcL1tcXHdcXC5dKyBcXCgoaXBhZCkvICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGlQYWRcbiAgICAgICAgICAgIF0sIFtNT0RFTCwgW1ZFTkRPUiwgJ0FwcGxlJ10sIFtUWVBFLCBUQUJMRVRdXSwgW1xuXG4gICAgICAgICAgICAvKGFwcGxlXFxzezAsMX10dikvaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBBcHBsZSBUVlxuICAgICAgICAgICAgXSwgW1tNT0RFTCwgJ0FwcGxlIFRWJ10sIFtWRU5ET1IsICdBcHBsZSddXSwgW1xuXG4gICAgICAgICAgICAvKGFyY2hvcylcXHMoZ2FtZXBhZDI/KS9pLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBBcmNob3NcbiAgICAgICAgICAgIC8oaHApLisodG91Y2hwYWQpL2ksICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gSFAgVG91Y2hQYWRcbiAgICAgICAgICAgIC8oaHApLisodGFibGV0KS9pLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gSFAgVGFibGV0XG4gICAgICAgICAgICAvKGtpbmRsZSlcXC8oW1xcd1xcLl0rKS9pLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEtpbmRsZVxuICAgICAgICAgICAgL1xccyhub29rKVtcXHdcXHNdK2J1aWxkXFwvKFxcdyspL2ksICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE5vb2tcbiAgICAgICAgICAgIC8oZGVsbClcXHMoc3RyZWFba3ByXFxzXFxkXSpbXFxka29dKS9pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIERlbGwgU3RyZWFrXG4gICAgICAgICAgICBdLCBbVkVORE9SLCBNT0RFTCwgW1RZUEUsIFRBQkxFVF1dLCBbXG5cbiAgICAgICAgICAgIC8oa2ZbQS16XSspXFxzYnVpbGRcXC8uK3NpbGtcXC8vaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gS2luZGxlIEZpcmUgSERcbiAgICAgICAgICAgIF0sIFtNT0RFTCwgW1ZFTkRPUiwgJ0FtYXpvbiddLCBbVFlQRSwgVEFCTEVUXV0sIFtcbiAgICAgICAgICAgIC8oc2R8a2YpWzAzNDloaWpvcnN0dXddK1xcc2J1aWxkXFwvLitzaWxrXFwvL2kgICAgICAgICAgICAgICAgICAgICAgICAgLy8gRmlyZSBQaG9uZVxuICAgICAgICAgICAgXSwgW1tNT0RFTCwgbWFwcGVyLnN0ciwgbWFwcy5kZXZpY2UuYW1hem9uLm1vZGVsXSwgW1ZFTkRPUiwgJ0FtYXpvbiddLCBbVFlQRSwgTU9CSUxFXV0sIFtcbiAgICAgICAgICAgIC9hbmRyb2lkLithZnQoW2Jtc10pXFxzYnVpbGQvaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEZpcmUgVFZcbiAgICAgICAgICAgIF0sIFtNT0RFTCwgW1ZFTkRPUiwgJ0FtYXpvbiddLCBbVFlQRSwgU01BUlRUVl1dLCBbXG5cbiAgICAgICAgICAgIC9cXCgoaXBbaG9uZWR8XFxzXFx3Kl0rKTsuKyhhcHBsZSkvaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gaVBvZC9pUGhvbmVcbiAgICAgICAgICAgIF0sIFtNT0RFTCwgVkVORE9SLCBbVFlQRSwgTU9CSUxFXV0sIFtcbiAgICAgICAgICAgIC9cXCgoaXBbaG9uZWR8XFxzXFx3Kl0rKTsvaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gaVBvZC9pUGhvbmVcbiAgICAgICAgICAgIF0sIFtNT0RFTCwgW1ZFTkRPUiwgJ0FwcGxlJ10sIFtUWVBFLCBNT0JJTEVdXSwgW1xuXG4gICAgICAgICAgICAvKGJsYWNrYmVycnkpW1xccy1dPyhcXHcrKS9pLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQmxhY2tCZXJyeVxuICAgICAgICAgICAgLyhibGFja2JlcnJ5fGJlbnF8cGFsbSg/PVxcLSl8c29ueWVyaWNzc29ufGFjZXJ8YXN1c3xkZWxsfG1laXp1fG1vdG9yb2xhfHBvbHl0cm9uKVtcXHNfLV0/KFtcXHctXSopL2ksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEJlblEvUGFsbS9Tb255LUVyaWNzc29uL0FjZXIvQXN1cy9EZWxsL01laXp1L01vdG9yb2xhL1BvbHl0cm9uXG4gICAgICAgICAgICAvKGhwKVxccyhbXFx3XFxzXStcXHcpL2ksICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBIUCBpUEFRXG4gICAgICAgICAgICAvKGFzdXMpLT8oXFx3KykvaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBBc3VzXG4gICAgICAgICAgICBdLCBbVkVORE9SLCBNT0RFTCwgW1RZUEUsIE1PQklMRV1dLCBbXG4gICAgICAgICAgICAvXFwoYmIxMDtcXHMoXFx3KykvaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEJsYWNrQmVycnkgMTBcbiAgICAgICAgICAgIF0sIFtNT0RFTCwgW1ZFTkRPUiwgJ0JsYWNrQmVycnknXSwgW1RZUEUsIE1PQklMRV1dLCBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEFzdXMgVGFibGV0c1xuICAgICAgICAgICAgL2FuZHJvaWQuKyh0cmFuc2ZvW3ByaW1lXFxzXXs0LDEwfVxcc1xcdyt8ZWVlcGN8c2xpZGVyXFxzXFx3K3xuZXh1cyA3fHBhZGZvbmV8cDAwYykvaVxuICAgICAgICAgICAgXSwgW01PREVMLCBbVkVORE9SLCAnQXN1cyddLCBbVFlQRSwgVEFCTEVUXV0sIFtcblxuICAgICAgICAgICAgLyhzb255KVxccyh0YWJsZXRcXHNbcHNdKVxcc2J1aWxkXFwvL2ksICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFNvbnlcbiAgICAgICAgICAgIC8oc29ueSk/KD86c2dwLispXFxzYnVpbGRcXC8vaVxuICAgICAgICAgICAgXSwgW1tWRU5ET1IsICdTb255J10sIFtNT0RFTCwgJ1hwZXJpYSBUYWJsZXQnXSwgW1RZUEUsIFRBQkxFVF1dLCBbXG4gICAgICAgICAgICAvYW5kcm9pZC4rXFxzKFtjLWddXFxkezR9fHNvWy1sXVxcdyspKD89XFxzYnVpbGRcXC98XFwpLitjaHJvbWVcXC8oPyFbMS02XXswLDF9XFxkXFwuKSkvaVxuICAgICAgICAgICAgXSwgW01PREVMLCBbVkVORE9SLCAnU29ueSddLCBbVFlQRSwgTU9CSUxFXV0sIFtcblxuICAgICAgICAgICAgL1xccyhvdXlhKVxccy9pLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE91eWFcbiAgICAgICAgICAgIC8obmludGVuZG8pXFxzKFt3aWRzM3VdKykvaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE5pbnRlbmRvXG4gICAgICAgICAgICBdLCBbVkVORE9SLCBNT0RFTCwgW1RZUEUsIENPTlNPTEVdXSwgW1xuXG4gICAgICAgICAgICAvYW5kcm9pZC4rO1xccyhzaGllbGQpXFxzYnVpbGQvaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gTnZpZGlhXG4gICAgICAgICAgICBdLCBbTU9ERUwsIFtWRU5ET1IsICdOdmlkaWEnXSwgW1RZUEUsIENPTlNPTEVdXSwgW1xuXG4gICAgICAgICAgICAvKHBsYXlzdGF0aW9uXFxzWzM0cG9ydGFibGV2aV0rKS9pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBQbGF5c3RhdGlvblxuICAgICAgICAgICAgXSwgW01PREVMLCBbVkVORE9SLCAnU29ueSddLCBbVFlQRSwgQ09OU09MRV1dLCBbXG5cbiAgICAgICAgICAgIC8oc3ByaW50XFxzKFxcdyspKS9pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBTcHJpbnQgUGhvbmVzXG4gICAgICAgICAgICBdLCBbW1ZFTkRPUiwgbWFwcGVyLnN0ciwgbWFwcy5kZXZpY2Uuc3ByaW50LnZlbmRvcl0sIFtNT0RFTCwgbWFwcGVyLnN0ciwgbWFwcy5kZXZpY2Uuc3ByaW50Lm1vZGVsXSwgW1RZUEUsIE1PQklMRV1dLCBbXG5cbiAgICAgICAgICAgIC8oaHRjKVs7X1xccy1dKyhbXFx3XFxzXSsoPz1cXCl8XFxzYnVpbGQpfFxcdyspL2ksICAgICAgICAgICAgICAgICAgICAgICAgLy8gSFRDXG4gICAgICAgICAgICAvKHp0ZSktKFxcdyopL2ksICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBaVEVcbiAgICAgICAgICAgIC8oYWxjYXRlbHxnZWVrc3Bob25lfG5leGlhbnxwYW5hc29uaWN8KD89O1xccylzb255KVtfXFxzLV0/KFtcXHctXSopL2lcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQWxjYXRlbC9HZWVrc1Bob25lL05leGlhbi9QYW5hc29uaWMvU29ueVxuICAgICAgICAgICAgXSwgW1ZFTkRPUiwgW01PREVMLCAvXy9nLCAnICddLCBbVFlQRSwgTU9CSUxFXV0sIFtcblxuICAgICAgICAgICAgLyhuZXh1c1xcczkpL2kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gSFRDIE5leHVzIDlcbiAgICAgICAgICAgIF0sIFtNT0RFTCwgW1ZFTkRPUiwgJ0hUQyddLCBbVFlQRSwgVEFCTEVUXV0sIFtcblxuICAgICAgICAgICAgL2RcXC9odWF3ZWkoW1xcd1xccy1dKylbO1xcKV0vaSxcbiAgICAgICAgICAgIC8obmV4dXNcXHM2cCkvaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEh1YXdlaVxuICAgICAgICAgICAgXSwgW01PREVMLCBbVkVORE9SLCAnSHVhd2VpJ10sIFtUWVBFLCBNT0JJTEVdXSwgW1xuXG4gICAgICAgICAgICAvKG1pY3Jvc29mdCk7XFxzKGx1bWlhW1xcc1xcd10rKS9pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE1pY3Jvc29mdCBMdW1pYVxuICAgICAgICAgICAgXSwgW1ZFTkRPUiwgTU9ERUwsIFtUWVBFLCBNT0JJTEVdXSwgW1xuXG4gICAgICAgICAgICAvW1xcc1xcKDtdKHhib3goPzpcXHNvbmUpPylbXFxzXFwpO10vaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gTWljcm9zb2Z0IFhib3hcbiAgICAgICAgICAgIF0sIFtNT0RFTCwgW1ZFTkRPUiwgJ01pY3Jvc29mdCddLCBbVFlQRSwgQ09OU09MRV1dLCBbXG4gICAgICAgICAgICAvKGtpblxcLltvbmV0d117M30pL2kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBNaWNyb3NvZnQgS2luXG4gICAgICAgICAgICBdLCBbW01PREVMLCAvXFwuL2csICcgJ10sIFtWRU5ET1IsICdNaWNyb3NvZnQnXSwgW1RZUEUsIE1PQklMRV1dLCBbXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gTW90b3JvbGFcbiAgICAgICAgICAgIC9cXHMobWlsZXN0b25lfGRyb2lkKD86WzItNHhdfFxccyg/OmJpb25pY3x4Mnxwcm98cmF6cikpPzo/KFxcczRnKT8pW1xcd1xcc10rYnVpbGRcXC8vaSxcbiAgICAgICAgICAgIC9tb3RbXFxzLV0/KFxcdyopL2ksXG4gICAgICAgICAgICAvKFhUXFxkezMsNH0pIGJ1aWxkXFwvL2ksXG4gICAgICAgICAgICAvKG5leHVzXFxzNikvaVxuICAgICAgICAgICAgXSwgW01PREVMLCBbVkVORE9SLCAnTW90b3JvbGEnXSwgW1RZUEUsIE1PQklMRV1dLCBbXG4gICAgICAgICAgICAvYW5kcm9pZC4rXFxzKG16NjBcXGR8eG9vbVtcXHMyXXswLDJ9KVxcc2J1aWxkXFwvL2lcbiAgICAgICAgICAgIF0sIFtNT0RFTCwgW1ZFTkRPUiwgJ01vdG9yb2xhJ10sIFtUWVBFLCBUQUJMRVRdXSwgW1xuXG4gICAgICAgICAgICAvaGJidHZcXC9cXGQrXFwuXFxkK1xcLlxcZCtcXHMrXFwoW1xcd1xcc10qO1xccyooXFx3W147XSopOyhbXjtdKikvaSAgICAgICAgICAgIC8vIEhiYlRWIGRldmljZXNcbiAgICAgICAgICAgIF0sIFtbVkVORE9SLCB1dGlsLnRyaW1dLCBbTU9ERUwsIHV0aWwudHJpbV0sIFtUWVBFLCBTTUFSVFRWXV0sIFtcblxuICAgICAgICAgICAgL2hiYnR2LittYXBsZTsoXFxkKykvaVxuICAgICAgICAgICAgXSwgW1tNT0RFTCwgL14vLCAnU21hcnRUViddLCBbVkVORE9SLCAnU2Ftc3VuZyddLCBbVFlQRSwgU01BUlRUVl1dLCBbXG5cbiAgICAgICAgICAgIC9cXChkdHZbXFwpO10uKyhhcXVvcykvaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBTaGFycFxuICAgICAgICAgICAgXSwgW01PREVMLCBbVkVORE9SLCAnU2hhcnAnXSwgW1RZUEUsIFNNQVJUVFZdXSwgW1xuXG4gICAgICAgICAgICAvYW5kcm9pZC4rKChzY2gtaVs4OV0wXFxkfHNody1tMzgwc3xndC1wXFxkezR9fGd0LW5cXGQrfHNnaC10OFs1Nl05fG5leHVzIDEwKSkvaSxcbiAgICAgICAgICAgIC8oKFNNLVRcXHcrKSkvaVxuICAgICAgICAgICAgXSwgW1tWRU5ET1IsICdTYW1zdW5nJ10sIE1PREVMLCBbVFlQRSwgVEFCTEVUXV0sIFsgICAgICAgICAgICAgICAgICAvLyBTYW1zdW5nXG4gICAgICAgICAgICAvc21hcnQtdHYuKyhzYW1zdW5nKS9pXG4gICAgICAgICAgICBdLCBbVkVORE9SLCBbVFlQRSwgU01BUlRUVl0sIE1PREVMXSwgW1xuICAgICAgICAgICAgLygoc1tjZ3BdaC1cXHcrfGd0LVxcdyt8Z2FsYXh5XFxzbmV4dXN8c20tXFx3W1xcd1xcZF0rKSkvaSxcbiAgICAgICAgICAgIC8oc2FtW3N1bmddKilbXFxzLV0qKFxcdystP1tcXHctXSopL2ksXG4gICAgICAgICAgICAvc2VjLSgoc2doXFx3KykpL2lcbiAgICAgICAgICAgIF0sIFtbVkVORE9SLCAnU2Ftc3VuZyddLCBNT0RFTCwgW1RZUEUsIE1PQklMRV1dLCBbXG5cbiAgICAgICAgICAgIC9zaWUtKFxcdyopL2kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFNpZW1lbnNcbiAgICAgICAgICAgIF0sIFtNT0RFTCwgW1ZFTkRPUiwgJ1NpZW1lbnMnXSwgW1RZUEUsIE1PQklMRV1dLCBbXG5cbiAgICAgICAgICAgIC8obWFlbW98bm9raWEpLioobjkwMHxsdW1pYVxcc1xcZCspL2ksICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBOb2tpYVxuICAgICAgICAgICAgLyhub2tpYSlbXFxzXy1dPyhbXFx3LV0qKS9pXG4gICAgICAgICAgICBdLCBbW1ZFTkRPUiwgJ05va2lhJ10sIE1PREVMLCBbVFlQRSwgTU9CSUxFXV0sIFtcblxuICAgICAgICAgICAgL2FuZHJvaWRbeFxcZFxcLlxccztdK1xccyhbYWJdWzEtN11cXC0/WzAxNzhhXVxcZFxcZD8pL2kgICAgICAgICAgICAgICAgICAgLy8gQWNlclxuICAgICAgICAgICAgXSwgW01PREVMLCBbVkVORE9SLCAnQWNlciddLCBbVFlQRSwgVEFCTEVUXV0sIFtcblxuICAgICAgICAgICAgL2FuZHJvaWQuKyhbdmxda1xcLT9cXGR7M30pXFxzK2J1aWxkL2kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBMRyBUYWJsZXRcbiAgICAgICAgICAgIF0sIFtNT0RFTCwgW1ZFTkRPUiwgJ0xHJ10sIFtUWVBFLCBUQUJMRVRdXSwgW1xuICAgICAgICAgICAgL2FuZHJvaWRcXHMzXFwuW1xcc1xcdzstXXsxMH0obGc/KS0oWzA2Y3Y5XXszLDR9KS9pICAgICAgICAgICAgICAgICAgICAgLy8gTEcgVGFibGV0XG4gICAgICAgICAgICBdLCBbW1ZFTkRPUiwgJ0xHJ10sIE1PREVMLCBbVFlQRSwgVEFCTEVUXV0sIFtcbiAgICAgICAgICAgIC8obGcpIG5ldGNhc3RcXC50di9pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIExHIFNtYXJ0VFZcbiAgICAgICAgICAgIF0sIFtWRU5ET1IsIE1PREVMLCBbVFlQRSwgU01BUlRUVl1dLCBbXG4gICAgICAgICAgICAvKG5leHVzXFxzWzQ1XSkvaSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBMR1xuICAgICAgICAgICAgL2xnW2U7XFxzXFwvLV0rKFxcdyopL2ksXG4gICAgICAgICAgICAvYW5kcm9pZC4rbGcoXFwtP1tcXGRcXHddKylcXHMrYnVpbGQvaVxuICAgICAgICAgICAgXSwgW01PREVMLCBbVkVORE9SLCAnTEcnXSwgW1RZUEUsIE1PQklMRV1dLCBbXG5cbiAgICAgICAgICAgIC8obGVub3ZvKVxccz8ocyg/OjUwMDB8NjAwMCkoPzpbXFx3LV0rKXx0YWIoPzpbXFxzXFx3XSspKS9pICAgICAgICAgICAgIC8vIExlbm92byB0YWJsZXRzXG4gICAgICAgICAgICBdLCBbVkVORE9SLCBNT0RFTCwgW1RZUEUsIFRBQkxFVF1dLCBbXG4gICAgICAgICAgICAvYW5kcm9pZC4rKGlkZWF0YWJbYS16MC05XFwtXFxzXSspL2kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gTGVub3ZvXG4gICAgICAgICAgICBdLCBbTU9ERUwsIFtWRU5ET1IsICdMZW5vdm8nXSwgW1RZUEUsIFRBQkxFVF1dLCBbXG4gICAgICAgICAgICAvKGxlbm92bylbX1xccy1dPyhbXFx3LV0rKS9pXG4gICAgICAgICAgICBdLCBbVkVORE9SLCBNT0RFTCwgW1RZUEUsIE1PQklMRV1dLCBbXG5cbiAgICAgICAgICAgIC9saW51eDsuKygoam9sbGEpKTsvaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gSm9sbGFcbiAgICAgICAgICAgIF0sIFtWRU5ET1IsIE1PREVMLCBbVFlQRSwgTU9CSUxFXV0sIFtcblxuICAgICAgICAgICAgLygocGViYmxlKSlhcHBcXC9bXFxkXFwuXStcXHMvaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gUGViYmxlXG4gICAgICAgICAgICBdLCBbVkVORE9SLCBNT0RFTCwgW1RZUEUsIFdFQVJBQkxFXV0sIFtcblxuICAgICAgICAgICAgL2FuZHJvaWQuKztcXHMob3BwbylcXHM/KFtcXHdcXHNdKylcXHNidWlsZC9pICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE9QUE9cbiAgICAgICAgICAgIF0sIFtWRU5ET1IsIE1PREVMLCBbVFlQRSwgTU9CSUxFXV0sIFtcblxuICAgICAgICAgICAgL2Nya2V5L2kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBHb29nbGUgQ2hyb21lY2FzdFxuICAgICAgICAgICAgXSwgW1tNT0RFTCwgJ0Nocm9tZWNhc3QnXSwgW1ZFTkRPUiwgJ0dvb2dsZSddXSwgW1xuXG4gICAgICAgICAgICAvYW5kcm9pZC4rO1xccyhnbGFzcylcXHNcXGQvaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEdvb2dsZSBHbGFzc1xuICAgICAgICAgICAgXSwgW01PREVMLCBbVkVORE9SLCAnR29vZ2xlJ10sIFtUWVBFLCBXRUFSQUJMRV1dLCBbXG5cbiAgICAgICAgICAgIC9hbmRyb2lkLis7XFxzKHBpeGVsIGMpW1xccyldL2kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBHb29nbGUgUGl4ZWwgQ1xuICAgICAgICAgICAgXSwgW01PREVMLCBbVkVORE9SLCAnR29vZ2xlJ10sIFtUWVBFLCBUQUJMRVRdXSwgW1xuXG4gICAgICAgICAgICAvYW5kcm9pZC4rO1xccyhwaXhlbCggWzIzXSk/KCB4bCk/KVtcXHMpXS9pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gR29vZ2xlIFBpeGVsXG4gICAgICAgICAgICBdLCBbTU9ERUwsIFtWRU5ET1IsICdHb29nbGUnXSwgW1RZUEUsIE1PQklMRV1dLCBbXG5cbiAgICAgICAgICAgIC9hbmRyb2lkLis7XFxzKFxcdyspXFxzK2J1aWxkXFwvaG1cXDEvaSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBYaWFvbWkgSG9uZ21pICdudW1lcmljJyBtb2RlbHNcbiAgICAgICAgICAgIC9hbmRyb2lkLisoaG1bXFxzXFwtX10qbm90ZT9bXFxzX10qKD86XFxkXFx3KT8pXFxzK2J1aWxkL2ksICAgICAgICAgICAgICAgLy8gWGlhb21pIEhvbmdtaVxuICAgICAgICAgICAgL2FuZHJvaWQuKyhtaVtcXHNcXC1fXSooPzphXFxkfG9uZXxvbmVbXFxzX11wbHVzfG5vdGUgbHRlKT9bXFxzX10qKD86XFxkP1xcdz8pW1xcc19dKig/OnBsdXMpPylcXHMrYnVpbGQvaSwgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFhpYW9taSBNaVxuICAgICAgICAgICAgL2FuZHJvaWQuKyhyZWRtaVtcXHNcXC1fXSooPzpub3RlKT8oPzpbXFxzX10qW1xcd1xcc10rKSlcXHMrYnVpbGQvaSAgICAgICAvLyBSZWRtaSBQaG9uZXNcbiAgICAgICAgICAgIF0sIFtbTU9ERUwsIC9fL2csICcgJ10sIFtWRU5ET1IsICdYaWFvbWknXSwgW1RZUEUsIE1PQklMRV1dLCBbXG4gICAgICAgICAgICAvYW5kcm9pZC4rKG1pW1xcc1xcLV9dKig/OnBhZCkoPzpbXFxzX10qW1xcd1xcc10rKSlcXHMrYnVpbGQvaSAgICAgICAgICAgIC8vIE1pIFBhZCB0YWJsZXRzXG4gICAgICAgICAgICBdLFtbTU9ERUwsIC9fL2csICcgJ10sIFtWRU5ET1IsICdYaWFvbWknXSwgW1RZUEUsIFRBQkxFVF1dLCBbXG4gICAgICAgICAgICAvYW5kcm9pZC4rO1xccyhtWzEtNV1cXHNub3RlKVxcc2J1aWxkL2kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE1laXp1XG4gICAgICAgICAgICBdLCBbTU9ERUwsIFtWRU5ET1IsICdNZWl6dSddLCBbVFlQRSwgTU9CSUxFXV0sIFtcbiAgICAgICAgICAgIC8obXopLShbXFx3LV17Mix9KS9pXG4gICAgICAgICAgICBdLCBbW1ZFTkRPUiwgJ01laXp1J10sIE1PREVMLCBbVFlQRSwgTU9CSUxFXV0sIFtcblxuICAgICAgICAgICAgL2FuZHJvaWQuK2EwMDAoMSlcXHMrYnVpbGQvaSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gT25lUGx1c1xuICAgICAgICAgICAgL2FuZHJvaWQuK29uZXBsdXNcXHMoYVxcZHs0fSlcXHMrYnVpbGQvaVxuICAgICAgICAgICAgXSwgW01PREVMLCBbVkVORE9SLCAnT25lUGx1cyddLCBbVFlQRSwgTU9CSUxFXV0sIFtcblxuICAgICAgICAgICAgL2FuZHJvaWQuK1s7XFwvXVxccyooUkNUW1xcZFxcd10rKVxccytidWlsZC9pICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFJDQSBUYWJsZXRzXG4gICAgICAgICAgICBdLCBbTU9ERUwsIFtWRU5ET1IsICdSQ0EnXSwgW1RZUEUsIFRBQkxFVF1dLCBbXG5cbiAgICAgICAgICAgIC9hbmRyb2lkLitbO1xcL1xcc10rKFZlbnVlW1xcZFxcc117Miw3fSlcXHMrYnVpbGQvaSAgICAgICAgICAgICAgICAgICAgICAvLyBEZWxsIFZlbnVlIFRhYmxldHNcbiAgICAgICAgICAgIF0sIFtNT0RFTCwgW1ZFTkRPUiwgJ0RlbGwnXSwgW1RZUEUsIFRBQkxFVF1dLCBbXG5cbiAgICAgICAgICAgIC9hbmRyb2lkLitbO1xcL11cXHMqKFFbVHxNXVtcXGRcXHddKylcXHMrYnVpbGQvaSAgICAgICAgICAgICAgICAgICAgICAgICAvLyBWZXJpem9uIFRhYmxldFxuICAgICAgICAgICAgXSwgW01PREVMLCBbVkVORE9SLCAnVmVyaXpvbiddLCBbVFlQRSwgVEFCTEVUXV0sIFtcblxuICAgICAgICAgICAgL2FuZHJvaWQuK1s7XFwvXVxccysoQmFybmVzWyZcXHNdK05vYmxlXFxzK3xCTltSVF0pKFY/LiopXFxzK2J1aWxkL2kgICAgIC8vIEJhcm5lcyAmIE5vYmxlIFRhYmxldFxuICAgICAgICAgICAgXSwgW1tWRU5ET1IsICdCYXJuZXMgJiBOb2JsZSddLCBNT0RFTCwgW1RZUEUsIFRBQkxFVF1dLCBbXG5cbiAgICAgICAgICAgIC9hbmRyb2lkLitbO1xcL11cXHMrKFRNXFxkezN9LipcXGIpXFxzK2J1aWxkL2kgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBCYXJuZXMgJiBOb2JsZSBUYWJsZXRcbiAgICAgICAgICAgIF0sIFtNT0RFTCwgW1ZFTkRPUiwgJ051VmlzaW9uJ10sIFtUWVBFLCBUQUJMRVRdXSwgW1xuXG4gICAgICAgICAgICAvYW5kcm9pZC4rO1xccyhrODgpXFxzYnVpbGQvaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gWlRFIEsgU2VyaWVzIFRhYmxldFxuICAgICAgICAgICAgXSwgW01PREVMLCBbVkVORE9SLCAnWlRFJ10sIFtUWVBFLCBUQUJMRVRdXSwgW1xuXG4gICAgICAgICAgICAvYW5kcm9pZC4rWztcXC9dXFxzKihnZW5cXGR7M30pXFxzK2J1aWxkLio0OWgvaSAgICAgICAgICAgICAgICAgICAgICAgICAvLyBTd2lzcyBHRU4gTW9iaWxlXG4gICAgICAgICAgICBdLCBbTU9ERUwsIFtWRU5ET1IsICdTd2lzcyddLCBbVFlQRSwgTU9CSUxFXV0sIFtcblxuICAgICAgICAgICAgL2FuZHJvaWQuK1s7XFwvXVxccyooenVyXFxkezN9KVxccytidWlsZC9pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gU3dpc3MgWlVSIFRhYmxldFxuICAgICAgICAgICAgXSwgW01PREVMLCBbVkVORE9SLCAnU3dpc3MnXSwgW1RZUEUsIFRBQkxFVF1dLCBbXG5cbiAgICAgICAgICAgIC9hbmRyb2lkLitbO1xcL11cXHMqKChaZWtpKT9UQi4qXFxiKVxccytidWlsZC9pICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFpla2kgVGFibGV0c1xuICAgICAgICAgICAgXSwgW01PREVMLCBbVkVORE9SLCAnWmVraSddLCBbVFlQRSwgVEFCTEVUXV0sIFtcblxuICAgICAgICAgICAgLyhhbmRyb2lkKS4rWztcXC9dXFxzKyhbWVJdXFxkezJ9KVxccytidWlsZC9pLFxuICAgICAgICAgICAgL2FuZHJvaWQuK1s7XFwvXVxccysoRHJhZ29uW1xcLVxcc10rVG91Y2hcXHMrfERUKShcXHd7NX0pXFxzYnVpbGQvaSAgICAgICAgLy8gRHJhZ29uIFRvdWNoIFRhYmxldFxuICAgICAgICAgICAgXSwgW1tWRU5ET1IsICdEcmFnb24gVG91Y2gnXSwgTU9ERUwsIFtUWVBFLCBUQUJMRVRdXSwgW1xuXG4gICAgICAgICAgICAvYW5kcm9pZC4rWztcXC9dXFxzKihOUy0/XFx3ezAsOX0pXFxzYnVpbGQvaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBJbnNpZ25pYSBUYWJsZXRzXG4gICAgICAgICAgICBdLCBbTU9ERUwsIFtWRU5ET1IsICdJbnNpZ25pYSddLCBbVFlQRSwgVEFCTEVUXV0sIFtcblxuICAgICAgICAgICAgL2FuZHJvaWQuK1s7XFwvXVxccyooKE5YfE5leHQpLT9cXHd7MCw5fSlcXHMrYnVpbGQvaSAgICAgICAgICAgICAgICAgICAgLy8gTmV4dEJvb2sgVGFibGV0c1xuICAgICAgICAgICAgXSwgW01PREVMLCBbVkVORE9SLCAnTmV4dEJvb2snXSwgW1RZUEUsIFRBQkxFVF1dLCBbXG5cbiAgICAgICAgICAgIC9hbmRyb2lkLitbO1xcL11cXHMqKFh0cmVtZVxcXyk/KFYoMVswNDVdfDJbMDE1XXwzMHw0MHw2MHw3WzA1XXw5MCkpXFxzK2J1aWxkL2lcbiAgICAgICAgICAgIF0sIFtbVkVORE9SLCAnVm9pY2UnXSwgTU9ERUwsIFtUWVBFLCBNT0JJTEVdXSwgWyAgICAgICAgICAgICAgICAgICAgLy8gVm9pY2UgWHRyZW1lIFBob25lc1xuXG4gICAgICAgICAgICAvYW5kcm9pZC4rWztcXC9dXFxzKihMVlRFTFxcLSk/KFYxWzEyXSlcXHMrYnVpbGQvaSAgICAgICAgICAgICAgICAgICAgIC8vIEx2VGVsIFBob25lc1xuICAgICAgICAgICAgXSwgW1tWRU5ET1IsICdMdlRlbCddLCBNT0RFTCwgW1RZUEUsIE1PQklMRV1dLCBbXG5cbiAgICAgICAgICAgIC9hbmRyb2lkLis7XFxzKFBILTEpXFxzL2lcbiAgICAgICAgICAgIF0sIFtNT0RFTCwgW1ZFTkRPUiwgJ0Vzc2VudGlhbCddLCBbVFlQRSwgTU9CSUxFXV0sIFsgICAgICAgICAgICAgICAgLy8gRXNzZW50aWFsIFBILTFcblxuICAgICAgICAgICAgL2FuZHJvaWQuK1s7XFwvXVxccyooVigxMDBNRHw3MDBOQXw3MDExfDkxN0cpLipcXGIpXFxzK2J1aWxkL2kgICAgICAgICAgLy8gRW52aXplbiBUYWJsZXRzXG4gICAgICAgICAgICBdLCBbTU9ERUwsIFtWRU5ET1IsICdFbnZpemVuJ10sIFtUWVBFLCBUQUJMRVRdXSwgW1xuXG4gICAgICAgICAgICAvYW5kcm9pZC4rWztcXC9dXFxzKihMZVtcXHNcXC1dK1BhbilbXFxzXFwtXSsoXFx3ezEsOX0pXFxzK2J1aWxkL2kgICAgICAgICAgLy8gTGUgUGFuIFRhYmxldHNcbiAgICAgICAgICAgIF0sIFtWRU5ET1IsIE1PREVMLCBbVFlQRSwgVEFCTEVUXV0sIFtcblxuICAgICAgICAgICAgL2FuZHJvaWQuK1s7XFwvXVxccyooVHJpb1tcXHNcXC1dKi4qKVxccytidWlsZC9pICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE1hY2hTcGVlZCBUYWJsZXRzXG4gICAgICAgICAgICBdLCBbTU9ERUwsIFtWRU5ET1IsICdNYWNoU3BlZWQnXSwgW1RZUEUsIFRBQkxFVF1dLCBbXG5cbiAgICAgICAgICAgIC9hbmRyb2lkLitbO1xcL11cXHMqKFRyaW5pdHkpW1xcLVxcc10qKFRcXGR7M30pXFxzK2J1aWxkL2kgICAgICAgICAgICAgICAgLy8gVHJpbml0eSBUYWJsZXRzXG4gICAgICAgICAgICBdLCBbVkVORE9SLCBNT0RFTCwgW1RZUEUsIFRBQkxFVF1dLCBbXG5cbiAgICAgICAgICAgIC9hbmRyb2lkLitbO1xcL11cXHMqVFVfKDE0OTEpXFxzK2J1aWxkL2kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gUm90b3IgVGFibGV0c1xuICAgICAgICAgICAgXSwgW01PREVMLCBbVkVORE9SLCAnUm90b3InXSwgW1RZUEUsIFRBQkxFVF1dLCBbXG5cbiAgICAgICAgICAgIC9hbmRyb2lkLisoS1MoLispKVxccytidWlsZC9pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEFtYXpvbiBLaW5kbGUgVGFibGV0c1xuICAgICAgICAgICAgXSwgW01PREVMLCBbVkVORE9SLCAnQW1hem9uJ10sIFtUWVBFLCBUQUJMRVRdXSwgW1xuXG4gICAgICAgICAgICAvYW5kcm9pZC4rKEdpZ2FzZXQpW1xcc1xcLV0rKFFcXHd7MSw5fSlcXHMrYnVpbGQvaSAgICAgICAgICAgICAgICAgICAgICAvLyBHaWdhc2V0IFRhYmxldHNcbiAgICAgICAgICAgIF0sIFtWRU5ET1IsIE1PREVMLCBbVFlQRSwgVEFCTEVUXV0sIFtcblxuICAgICAgICAgICAgL1xccyh0YWJsZXR8dGFiKVs7XFwvXS9pLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFVuaWRlbnRpZmlhYmxlIFRhYmxldFxuICAgICAgICAgICAgL1xccyhtb2JpbGUpKD86WztcXC9dfFxcc3NhZmFyaSkvaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBVbmlkZW50aWZpYWJsZSBNb2JpbGVcbiAgICAgICAgICAgIF0sIFtbVFlQRSwgdXRpbC5sb3dlcml6ZV0sIFZFTkRPUiwgTU9ERUxdLCBbXG5cbiAgICAgICAgICAgIC9bXFxzXFwvXFwoXShzbWFydC0/dHYpWztcXCldL2kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFNtYXJ0VFZcbiAgICAgICAgICAgIF0sIFtbVFlQRSwgU01BUlRUVl1dLCBbXG5cbiAgICAgICAgICAgIC8oYW5kcm9pZFtcXHdcXC5cXHNcXC1dezAsOX0pOy4rYnVpbGQvaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEdlbmVyaWMgQW5kcm9pZCBEZXZpY2VcbiAgICAgICAgICAgIF0sIFtNT0RFTCwgW1ZFTkRPUiwgJ0dlbmVyaWMnXV1cbiAgICAgICAgXSxcblxuICAgICAgICBlbmdpbmUgOiBbW1xuXG4gICAgICAgICAgICAvd2luZG93cy4rXFxzZWRnZVxcLyhbXFx3XFwuXSspL2kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBFZGdlSFRNTFxuICAgICAgICAgICAgXSwgW1ZFUlNJT04sIFtOQU1FLCAnRWRnZUhUTUwnXV0sIFtcblxuICAgICAgICAgICAgL3dlYmtpdFxcLzUzN1xcLjM2LitjaHJvbWVcXC8oPyEyNykvaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBCbGlua1xuICAgICAgICAgICAgXSwgW1tOQU1FLCAnQmxpbmsnXV0sIFtcblxuICAgICAgICAgICAgLyhwcmVzdG8pXFwvKFtcXHdcXC5dKykvaSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBQcmVzdG9cbiAgICAgICAgICAgIC8od2Via2l0fHRyaWRlbnR8bmV0ZnJvbnR8bmV0c3VyZnxhbWF5YXxseW54fHczbXxnb2FubmEpXFwvKFtcXHdcXC5dKykvaSwgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBXZWJLaXQvVHJpZGVudC9OZXRGcm9udC9OZXRTdXJmL0FtYXlhL0x5bngvdzNtL0dvYW5uYVxuICAgICAgICAgICAgLyhraHRtbHx0YXNtYW58bGlua3MpW1xcL1xcc11cXCg/KFtcXHdcXC5dKykvaSwgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEtIVE1ML1Rhc21hbi9MaW5rc1xuICAgICAgICAgICAgLyhpY2FiKVtcXC9cXHNdKFsyM11cXC5bXFxkXFwuXSspL2kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGlDYWJcbiAgICAgICAgICAgIF0sIFtOQU1FLCBWRVJTSU9OXSwgW1xuXG4gICAgICAgICAgICAvcnZcXDooW1xcd1xcLl17MSw5fSkuKyhnZWNrbykvaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEdlY2tvXG4gICAgICAgICAgICBdLCBbVkVSU0lPTiwgTkFNRV1cbiAgICAgICAgXSxcblxuICAgICAgICBvcyA6IFtbXG5cbiAgICAgICAgICAgIC8vIFdpbmRvd3MgYmFzZWRcbiAgICAgICAgICAgIC9taWNyb3NvZnRcXHMod2luZG93cylcXHModmlzdGF8eHApL2kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBXaW5kb3dzIChpVHVuZXMpXG4gICAgICAgICAgICBdLCBbTkFNRSwgVkVSU0lPTl0sIFtcbiAgICAgICAgICAgIC8od2luZG93cylcXHNudFxcczZcXC4yO1xccyhhcm0pL2ksICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFdpbmRvd3MgUlRcbiAgICAgICAgICAgIC8od2luZG93c1xcc3Bob25lKD86XFxzb3MpKilbXFxzXFwvXT8oW1xcZFxcLlxcc1xcd10qKS9pLCAgICAgICAgICAgICAgICAgICAvLyBXaW5kb3dzIFBob25lXG4gICAgICAgICAgICAvKHdpbmRvd3NcXHNtb2JpbGV8d2luZG93cylbXFxzXFwvXT8oW250Y2VcXGRcXC5cXHNdK1xcdykvaVxuICAgICAgICAgICAgXSwgW05BTUUsIFtWRVJTSU9OLCBtYXBwZXIuc3RyLCBtYXBzLm9zLndpbmRvd3MudmVyc2lvbl1dLCBbXG4gICAgICAgICAgICAvKHdpbig/PTN8OXxuKXx3aW5cXHM5eFxccykoW250XFxkXFwuXSspL2lcbiAgICAgICAgICAgIF0sIFtbTkFNRSwgJ1dpbmRvd3MnXSwgW1ZFUlNJT04sIG1hcHBlci5zdHIsIG1hcHMub3Mud2luZG93cy52ZXJzaW9uXV0sIFtcblxuICAgICAgICAgICAgLy8gTW9iaWxlL0VtYmVkZGVkIE9TXG4gICAgICAgICAgICAvXFwoKGJiKSgxMCk7L2kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBCbGFja0JlcnJ5IDEwXG4gICAgICAgICAgICBdLCBbW05BTUUsICdCbGFja0JlcnJ5J10sIFZFUlNJT05dLCBbXG4gICAgICAgICAgICAvKGJsYWNrYmVycnkpXFx3KlxcLz8oW1xcd1xcLl0qKS9pLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBCbGFja2JlcnJ5XG4gICAgICAgICAgICAvKHRpemVuKVtcXC9cXHNdKFtcXHdcXC5dKykvaSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBUaXplblxuICAgICAgICAgICAgLyhhbmRyb2lkfHdlYm9zfHBhbG1cXHNvc3xxbnh8YmFkYXxyaW1cXHN0YWJsZXRcXHNvc3xtZWVnb3xzYWlsZmlzaHxjb250aWtpKVtcXC9cXHMtXT8oW1xcd1xcLl0qKS9pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEFuZHJvaWQvV2ViT1MvUGFsbS9RTlgvQmFkYS9SSU0vTWVlR28vQ29udGlraS9TYWlsZmlzaCBPU1xuICAgICAgICAgICAgXSwgW05BTUUsIFZFUlNJT05dLCBbXG4gICAgICAgICAgICAvKHN5bWJpYW5cXHM/b3N8c3ltYm9zfHM2MCg/PTspKVtcXC9cXHMtXT8oW1xcd1xcLl0qKS9pICAgICAgICAgICAgICAgICAgLy8gU3ltYmlhblxuICAgICAgICAgICAgXSwgW1tOQU1FLCAnU3ltYmlhbiddLCBWRVJTSU9OXSwgW1xuICAgICAgICAgICAgL1xcKChzZXJpZXM0MCk7L2kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gU2VyaWVzIDQwXG4gICAgICAgICAgICBdLCBbTkFNRV0sIFtcbiAgICAgICAgICAgIC9tb3ppbGxhLitcXChtb2JpbGU7LitnZWNrby4rZmlyZWZveC9pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEZpcmVmb3ggT1NcbiAgICAgICAgICAgIF0sIFtbTkFNRSwgJ0ZpcmVmb3ggT1MnXSwgVkVSU0lPTl0sIFtcblxuICAgICAgICAgICAgLy8gQ29uc29sZVxuICAgICAgICAgICAgLyhuaW50ZW5kb3xwbGF5c3RhdGlvbilcXHMoW3dpZHMzNHBvcnRhYmxldnVdKykvaSwgICAgICAgICAgICAgICAgICAgLy8gTmludGVuZG8vUGxheXN0YXRpb25cblxuICAgICAgICAgICAgLy8gR05VL0xpbnV4IGJhc2VkXG4gICAgICAgICAgICAvKG1pbnQpW1xcL1xcc1xcKF0/KFxcdyopL2ksICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBNaW50XG4gICAgICAgICAgICAvKG1hZ2VpYXx2ZWN0b3JsaW51eClbO1xcc10vaSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBNYWdlaWEvVmVjdG9yTGludXhcbiAgICAgICAgICAgIC8oam9saXxba3hsbl0/dWJ1bnR1fGRlYmlhbnxzdXNlfG9wZW5zdXNlfGdlbnRvb3woPz1cXHMpYXJjaHxzbGFja3dhcmV8ZmVkb3JhfG1hbmRyaXZhfGNlbnRvc3xwY2xpbnV4b3N8cmVkaGF0fHplbndhbGt8bGlucHVzKVtcXC9cXHMtXT8oPyFjaHJvbSkoW1xcd1xcLi1dKikvaSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gSm9saS9VYnVudHUvRGViaWFuL1NVU0UvR2VudG9vL0FyY2gvU2xhY2t3YXJlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEZlZG9yYS9NYW5kcml2YS9DZW50T1MvUENMaW51eE9TL1JlZEhhdC9aZW53YWxrL0xpbnB1c1xuICAgICAgICAgICAgLyhodXJkfGxpbnV4KVxccz8oW1xcd1xcLl0qKS9pLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBIdXJkL0xpbnV4XG4gICAgICAgICAgICAvKGdudSlcXHM/KFtcXHdcXC5dKikvaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEdOVVxuICAgICAgICAgICAgXSwgW05BTUUsIFZFUlNJT05dLCBbXG5cbiAgICAgICAgICAgIC8oY3JvcylcXHNbXFx3XStcXHMoW1xcd1xcLl0rXFx3KS9pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQ2hyb21pdW0gT1NcbiAgICAgICAgICAgIF0sIFtbTkFNRSwgJ0Nocm9taXVtIE9TJ10sIFZFUlNJT05dLFtcblxuICAgICAgICAgICAgLy8gU29sYXJpc1xuICAgICAgICAgICAgLyhzdW5vcylcXHM/KFtcXHdcXC5cXGRdKikvaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gU29sYXJpc1xuICAgICAgICAgICAgXSwgW1tOQU1FLCAnU29sYXJpcyddLCBWRVJTSU9OXSwgW1xuXG4gICAgICAgICAgICAvLyBCU0QgYmFzZWRcbiAgICAgICAgICAgIC9cXHMoW2ZyZW50b3BjLV17MCw0fWJzZHxkcmFnb25mbHkpXFxzPyhbXFx3XFwuXSopL2kgICAgICAgICAgICAgICAgICAgIC8vIEZyZWVCU0QvTmV0QlNEL09wZW5CU0QvUEMtQlNEL0RyYWdvbkZseVxuICAgICAgICAgICAgXSwgW05BTUUsIFZFUlNJT05dLFtcblxuICAgICAgICAgICAgLyhoYWlrdSlcXHMoXFx3KykvaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEhhaWt1XG4gICAgICAgICAgICBdLCBbTkFNRSwgVkVSU0lPTl0sW1xuXG4gICAgICAgICAgICAvY2ZuZXR3b3JrXFwvLitkYXJ3aW4vaSxcbiAgICAgICAgICAgIC9pcFtob25lYWRdezIsNH0oPzouKm9zXFxzKFtcXHddKylcXHNsaWtlXFxzbWFjfDtcXHNvcGVyYSkvaSAgICAgICAgICAgICAvLyBpT1NcbiAgICAgICAgICAgIF0sIFtbVkVSU0lPTiwgL18vZywgJy4nXSwgW05BTUUsICdpT1MnXV0sIFtcblxuICAgICAgICAgICAgLyhtYWNcXHNvc1xcc3gpXFxzPyhbXFx3XFxzXFwuXSopL2ksXG4gICAgICAgICAgICAvKG1hY2ludG9zaHxtYWMoPz1fcG93ZXJwYylcXHMpL2kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBNYWMgT1NcbiAgICAgICAgICAgIF0sIFtbTkFNRSwgJ01hYyBPUyddLCBbVkVSU0lPTiwgL18vZywgJy4nXV0sIFtcblxuICAgICAgICAgICAgLy8gT3RoZXJcbiAgICAgICAgICAgIC8oKD86b3Blbik/c29sYXJpcylbXFwvXFxzLV0/KFtcXHdcXC5dKikvaSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFNvbGFyaXNcbiAgICAgICAgICAgIC8oYWl4KVxccygoXFxkKSg/PVxcLnxcXCl8XFxzKVtcXHdcXC5dKSovaSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEFJWFxuICAgICAgICAgICAgLyhwbGFuXFxzOXxtaW5peHxiZW9zfG9zXFwvMnxhbWlnYW9zfG1vcnBob3N8cmlzY1xcc29zfG9wZW52bXN8ZnVjaHNpYSkvaSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gUGxhbjkvTWluaXgvQmVPUy9PUzIvQW1pZ2FPUy9Nb3JwaE9TL1JJU0NPUy9PcGVuVk1TL0Z1Y2hzaWFcbiAgICAgICAgICAgIC8odW5peClcXHM/KFtcXHdcXC5dKikvaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVU5JWFxuICAgICAgICAgICAgXSwgW05BTUUsIFZFUlNJT05dXG4gICAgICAgIF1cbiAgICB9O1xuXG5cbiAgICAvLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIENvbnN0cnVjdG9yXG4gICAgLy8vLy8vLy8vLy8vLy8vL1xuICAgIHZhciBVQVBhcnNlciA9IGZ1bmN0aW9uICh1YXN0cmluZywgZXh0ZW5zaW9ucykge1xuXG4gICAgICAgIGlmICh0eXBlb2YgdWFzdHJpbmcgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICBleHRlbnNpb25zID0gdWFzdHJpbmc7XG4gICAgICAgICAgICB1YXN0cmluZyA9IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghKHRoaXMgaW5zdGFuY2VvZiBVQVBhcnNlcikpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgVUFQYXJzZXIodWFzdHJpbmcsIGV4dGVuc2lvbnMpLmdldFJlc3VsdCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdmFyIHVhID0gdWFzdHJpbmcgfHwgKCh3aW5kb3cgJiYgd2luZG93Lm5hdmlnYXRvciAmJiB3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudCkgPyB3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudCA6IEVNUFRZKTtcbiAgICAgICAgdmFyIHJneG1hcCA9IGV4dGVuc2lvbnMgPyB1dGlsLmV4dGVuZChyZWdleGVzLCBleHRlbnNpb25zKSA6IHJlZ2V4ZXM7XG5cbiAgICAgICAgdGhpcy5nZXRCcm93c2VyID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgdmFyIGJyb3dzZXIgPSB7IG5hbWU6IHVuZGVmaW5lZCwgdmVyc2lvbjogdW5kZWZpbmVkIH07XG4gICAgICAgICAgICBtYXBwZXIucmd4LmNhbGwoYnJvd3NlciwgdWEsIHJneG1hcC5icm93c2VyKTtcbiAgICAgICAgICAgIGJyb3dzZXIubWFqb3IgPSB1dGlsLm1ham9yKGJyb3dzZXIudmVyc2lvbik7IC8vIGRlcHJlY2F0ZWRcbiAgICAgICAgICAgIHJldHVybiBicm93c2VyO1xuICAgICAgICB9O1xuICAgICAgICB0aGlzLmdldENQVSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHZhciBjcHUgPSB7IGFyY2hpdGVjdHVyZTogdW5kZWZpbmVkIH07XG4gICAgICAgICAgICBtYXBwZXIucmd4LmNhbGwoY3B1LCB1YSwgcmd4bWFwLmNwdSk7XG4gICAgICAgICAgICByZXR1cm4gY3B1O1xuICAgICAgICB9O1xuICAgICAgICB0aGlzLmdldERldmljZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHZhciBkZXZpY2UgPSB7IHZlbmRvcjogdW5kZWZpbmVkLCBtb2RlbDogdW5kZWZpbmVkLCB0eXBlOiB1bmRlZmluZWQgfTtcbiAgICAgICAgICAgIG1hcHBlci5yZ3guY2FsbChkZXZpY2UsIHVhLCByZ3htYXAuZGV2aWNlKTtcbiAgICAgICAgICAgIHJldHVybiBkZXZpY2U7XG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuZ2V0RW5naW5lID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgdmFyIGVuZ2luZSA9IHsgbmFtZTogdW5kZWZpbmVkLCB2ZXJzaW9uOiB1bmRlZmluZWQgfTtcbiAgICAgICAgICAgIG1hcHBlci5yZ3guY2FsbChlbmdpbmUsIHVhLCByZ3htYXAuZW5naW5lKTtcbiAgICAgICAgICAgIHJldHVybiBlbmdpbmU7XG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuZ2V0T1MgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICB2YXIgb3MgPSB7IG5hbWU6IHVuZGVmaW5lZCwgdmVyc2lvbjogdW5kZWZpbmVkIH07XG4gICAgICAgICAgICBtYXBwZXIucmd4LmNhbGwob3MsIHVhLCByZ3htYXAub3MpO1xuICAgICAgICAgICAgcmV0dXJuIG9zO1xuICAgICAgICB9O1xuICAgICAgICB0aGlzLmdldFJlc3VsdCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgdWEgICAgICA6IHRoaXMuZ2V0VUEoKSxcbiAgICAgICAgICAgICAgICBicm93c2VyIDogdGhpcy5nZXRCcm93c2VyKCksXG4gICAgICAgICAgICAgICAgZW5naW5lICA6IHRoaXMuZ2V0RW5naW5lKCksXG4gICAgICAgICAgICAgICAgb3MgICAgICA6IHRoaXMuZ2V0T1MoKSxcbiAgICAgICAgICAgICAgICBkZXZpY2UgIDogdGhpcy5nZXREZXZpY2UoKSxcbiAgICAgICAgICAgICAgICBjcHUgICAgIDogdGhpcy5nZXRDUFUoKVxuICAgICAgICAgICAgfTtcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5nZXRVQSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHJldHVybiB1YTtcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5zZXRVQSA9IGZ1bmN0aW9uICh1YXN0cmluZykge1xuICAgICAgICAgICAgdWEgPSB1YXN0cmluZztcbiAgICAgICAgICAgIHJldHVybiB0aGlzO1xuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9O1xuXG4gICAgVUFQYXJzZXIuVkVSU0lPTiA9IExJQlZFUlNJT047XG4gICAgVUFQYXJzZXIuQlJPV1NFUiA9IHtcbiAgICAgICAgTkFNRSAgICA6IE5BTUUsXG4gICAgICAgIE1BSk9SICAgOiBNQUpPUiwgLy8gZGVwcmVjYXRlZFxuICAgICAgICBWRVJTSU9OIDogVkVSU0lPTlxuICAgIH07XG4gICAgVUFQYXJzZXIuQ1BVID0ge1xuICAgICAgICBBUkNISVRFQ1RVUkUgOiBBUkNISVRFQ1RVUkVcbiAgICB9O1xuICAgIFVBUGFyc2VyLkRFVklDRSA9IHtcbiAgICAgICAgTU9ERUwgICA6IE1PREVMLFxuICAgICAgICBWRU5ET1IgIDogVkVORE9SLFxuICAgICAgICBUWVBFICAgIDogVFlQRSxcbiAgICAgICAgQ09OU09MRSA6IENPTlNPTEUsXG4gICAgICAgIE1PQklMRSAgOiBNT0JJTEUsXG4gICAgICAgIFNNQVJUVFYgOiBTTUFSVFRWLFxuICAgICAgICBUQUJMRVQgIDogVEFCTEVULFxuICAgICAgICBXRUFSQUJMRTogV0VBUkFCTEUsXG4gICAgICAgIEVNQkVEREVEOiBFTUJFRERFRFxuICAgIH07XG4gICAgVUFQYXJzZXIuRU5HSU5FID0ge1xuICAgICAgICBOQU1FICAgIDogTkFNRSxcbiAgICAgICAgVkVSU0lPTiA6IFZFUlNJT05cbiAgICB9O1xuICAgIFVBUGFyc2VyLk9TID0ge1xuICAgICAgICBOQU1FICAgIDogTkFNRSxcbiAgICAgICAgVkVSU0lPTiA6IFZFUlNJT05cbiAgICB9O1xuXG4gICAgLy8vLy8vLy8vLy9cbiAgICAvLyBFeHBvcnRcbiAgICAvLy8vLy8vLy8vXG5cblxuICAgIC8vIGNoZWNrIGpzIGVudmlyb25tZW50XG4gICAgaWYgKHR5cGVvZihleHBvcnRzKSAhPT0gVU5ERUZfVFlQRSkge1xuICAgICAgICAvLyBub2RlanMgZW52XG4gICAgICAgIGlmICh0eXBlb2YgbW9kdWxlICE9PSBVTkRFRl9UWVBFICYmIG1vZHVsZS5leHBvcnRzKSB7XG4gICAgICAgICAgICBleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSBVQVBhcnNlcjtcbiAgICAgICAgfVxuICAgICAgICBleHBvcnRzLlVBUGFyc2VyID0gVUFQYXJzZXI7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgLy8gcmVxdWlyZWpzIGVudiAob3B0aW9uYWwpXG4gICAgICAgIGlmICh0eXBlb2YoZGVmaW5lKSA9PT0gJ2Z1bmN0aW9uJyAmJiBkZWZpbmUuYW1kKSB7XG4gICAgICAgICAgICBkZWZpbmUoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBVQVBhcnNlcjtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2UgaWYgKHdpbmRvdykge1xuICAgICAgICAgICAgLy8gYnJvd3NlciBlbnZcbiAgICAgICAgICAgIHdpbmRvdy5VQVBhcnNlciA9IFVBUGFyc2VyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8galF1ZXJ5L1plcHRvIHNwZWNpZmljIChvcHRpb25hbClcbiAgICAvLyBOb3RlOlxuICAgIC8vICAgSW4gQU1EIGVudiB0aGUgZ2xvYmFsIHNjb3BlIHNob3VsZCBiZSBrZXB0IGNsZWFuLCBidXQgalF1ZXJ5IGlzIGFuIGV4Y2VwdGlvbi5cbiAgICAvLyAgIGpRdWVyeSBhbHdheXMgZXhwb3J0cyB0byBnbG9iYWwgc2NvcGUsIHVubGVzcyBqUXVlcnkubm9Db25mbGljdCh0cnVlKSBpcyB1c2VkLFxuICAgIC8vICAgYW5kIHdlIHNob3VsZCBjYXRjaCB0aGF0LlxuICAgIHZhciAkID0gd2luZG93ICYmICh3aW5kb3cualF1ZXJ5IHx8IHdpbmRvdy5aZXB0byk7XG4gICAgaWYgKHR5cGVvZiAkICE9PSBVTkRFRl9UWVBFICYmICEkLnVhKSB7XG4gICAgICAgIHZhciBwYXJzZXIgPSBuZXcgVUFQYXJzZXIoKTtcbiAgICAgICAgJC51YSA9IHBhcnNlci5nZXRSZXN1bHQoKTtcbiAgICAgICAgJC51YS5nZXQgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICByZXR1cm4gcGFyc2VyLmdldFVBKCk7XG4gICAgICAgIH07XG4gICAgICAgICQudWEuc2V0ID0gZnVuY3Rpb24gKHVhc3RyaW5nKSB7XG4gICAgICAgICAgICBwYXJzZXIuc2V0VUEodWFzdHJpbmcpO1xuICAgICAgICAgICAgdmFyIHJlc3VsdCA9IHBhcnNlci5nZXRSZXN1bHQoKTtcbiAgICAgICAgICAgIGZvciAodmFyIHByb3AgaW4gcmVzdWx0KSB7XG4gICAgICAgICAgICAgICAgJC51YVtwcm9wXSA9IHJlc3VsdFtwcm9wXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICB9XG5cbn0pKHR5cGVvZiB3aW5kb3cgPT09ICdvYmplY3QnID8gd2luZG93IDogdGhpcyk7XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/fbjs/node_modules/ua-parser-js/src/ua-parser.js\n"); +eval("var __WEBPACK_AMD_DEFINE_RESULT__;/*!\n * UAParser.js v0.7.21\n * Lightweight JavaScript-based User-Agent string parser\n * https://github.com/faisalman/ua-parser-js\n *\n * Copyright © 2012-2019 Faisal Salman \n * Licensed under MIT License\n */\n\n(function (window, undefined) {\n\n 'use strict';\n\n //////////////\n // Constants\n /////////////\n\n\n var LIBVERSION = '0.7.21',\n EMPTY = '',\n UNKNOWN = '?',\n FUNC_TYPE = 'function',\n UNDEF_TYPE = 'undefined',\n OBJ_TYPE = 'object',\n STR_TYPE = 'string',\n MAJOR = 'major', // deprecated\n MODEL = 'model',\n NAME = 'name',\n TYPE = 'type',\n VENDOR = 'vendor',\n VERSION = 'version',\n ARCHITECTURE= 'architecture',\n CONSOLE = 'console',\n MOBILE = 'mobile',\n TABLET = 'tablet',\n SMARTTV = 'smarttv',\n WEARABLE = 'wearable',\n EMBEDDED = 'embedded';\n\n\n ///////////\n // Helper\n //////////\n\n\n var util = {\n extend : function (regexes, extensions) {\n var mergedRegexes = {};\n for (var i in regexes) {\n if (extensions[i] && extensions[i].length % 2 === 0) {\n mergedRegexes[i] = extensions[i].concat(regexes[i]);\n } else {\n mergedRegexes[i] = regexes[i];\n }\n }\n return mergedRegexes;\n },\n has : function (str1, str2) {\n if (typeof str1 === \"string\") {\n return str2.toLowerCase().indexOf(str1.toLowerCase()) !== -1;\n } else {\n return false;\n }\n },\n lowerize : function (str) {\n return str.toLowerCase();\n },\n major : function (version) {\n return typeof(version) === STR_TYPE ? version.replace(/[^\\d\\.]/g,'').split(\".\")[0] : undefined;\n },\n trim : function (str) {\n return str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n }\n };\n\n\n ///////////////\n // Map helper\n //////////////\n\n\n var mapper = {\n\n rgx : function (ua, arrays) {\n\n var i = 0, j, k, p, q, matches, match;\n\n // loop through all regexes maps\n while (i < arrays.length && !matches) {\n\n var regex = arrays[i], // even sequence (0,2,4,..)\n props = arrays[i + 1]; // odd sequence (1,3,5,..)\n j = k = 0;\n\n // try matching uastring with regexes\n while (j < regex.length && !matches) {\n\n matches = regex[j++].exec(ua);\n\n if (!!matches) {\n for (p = 0; p < props.length; p++) {\n match = matches[++k];\n q = props[p];\n // check if given property is actually array\n if (typeof q === OBJ_TYPE && q.length > 0) {\n if (q.length == 2) {\n if (typeof q[1] == FUNC_TYPE) {\n // assign modified match\n this[q[0]] = q[1].call(this, match);\n } else {\n // assign given value, ignore regex match\n this[q[0]] = q[1];\n }\n } else if (q.length == 3) {\n // check whether function or regex\n if (typeof q[1] === FUNC_TYPE && !(q[1].exec && q[1].test)) {\n // call function (usually string mapper)\n this[q[0]] = match ? q[1].call(this, match, q[2]) : undefined;\n } else {\n // sanitize match using given regex\n this[q[0]] = match ? match.replace(q[1], q[2]) : undefined;\n }\n } else if (q.length == 4) {\n this[q[0]] = match ? q[3].call(this, match.replace(q[1], q[2])) : undefined;\n }\n } else {\n this[q] = match ? match : undefined;\n }\n }\n }\n }\n i += 2;\n }\n },\n\n str : function (str, map) {\n\n for (var i in map) {\n // check if array\n if (typeof map[i] === OBJ_TYPE && map[i].length > 0) {\n for (var j = 0; j < map[i].length; j++) {\n if (util.has(map[i][j], str)) {\n return (i === UNKNOWN) ? undefined : i;\n }\n }\n } else if (util.has(map[i], str)) {\n return (i === UNKNOWN) ? undefined : i;\n }\n }\n return str;\n }\n };\n\n\n ///////////////\n // String map\n //////////////\n\n\n var maps = {\n\n browser : {\n oldsafari : {\n version : {\n '1.0' : '/8',\n '1.2' : '/1',\n '1.3' : '/3',\n '2.0' : '/412',\n '2.0.2' : '/416',\n '2.0.3' : '/417',\n '2.0.4' : '/419',\n '?' : '/'\n }\n }\n },\n\n device : {\n amazon : {\n model : {\n 'Fire Phone' : ['SD', 'KF']\n }\n },\n sprint : {\n model : {\n 'Evo Shift 4G' : '7373KT'\n },\n vendor : {\n 'HTC' : 'APA',\n 'Sprint' : 'Sprint'\n }\n }\n },\n\n os : {\n windows : {\n version : {\n 'ME' : '4.90',\n 'NT 3.11' : 'NT3.51',\n 'NT 4.0' : 'NT4.0',\n '2000' : 'NT 5.0',\n 'XP' : ['NT 5.1', 'NT 5.2'],\n 'Vista' : 'NT 6.0',\n '7' : 'NT 6.1',\n '8' : 'NT 6.2',\n '8.1' : 'NT 6.3',\n '10' : ['NT 6.4', 'NT 10.0'],\n 'RT' : 'ARM'\n }\n }\n }\n };\n\n\n //////////////\n // Regex map\n /////////////\n\n\n var regexes = {\n\n browser : [[\n\n // Presto based\n /(opera\\smini)\\/([\\w\\.-]+)/i, // Opera Mini\n /(opera\\s[mobiletab]+).+version\\/([\\w\\.-]+)/i, // Opera Mobi/Tablet\n /(opera).+version\\/([\\w\\.]+)/i, // Opera > 9.80\n /(opera)[\\/\\s]+([\\w\\.]+)/i // Opera < 9.80\n ], [NAME, VERSION], [\n\n /(opios)[\\/\\s]+([\\w\\.]+)/i // Opera mini on iphone >= 8.0\n ], [[NAME, 'Opera Mini'], VERSION], [\n\n /\\s(opr)\\/([\\w\\.]+)/i // Opera Webkit\n ], [[NAME, 'Opera'], VERSION], [\n\n // Mixed\n /(kindle)\\/([\\w\\.]+)/i, // Kindle\n /(lunascape|maxthon|netfront|jasmine|blazer)[\\/\\s]?([\\w\\.]*)/i,\n // Lunascape/Maxthon/Netfront/Jasmine/Blazer\n // Trident based\n /(avant\\s|iemobile|slim)(?:browser)?[\\/\\s]?([\\w\\.]*)/i,\n // Avant/IEMobile/SlimBrowser\n /(bidubrowser|baidubrowser)[\\/\\s]?([\\w\\.]+)/i, // Baidu Browser\n /(?:ms|\\()(ie)\\s([\\w\\.]+)/i, // Internet Explorer\n\n // Webkit/KHTML based\n /(rekonq)\\/([\\w\\.]*)/i, // Rekonq\n /(chromium|flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon)\\/([\\w\\.-]+)/i\n // Chromium/Flock/RockMelt/Midori/Epiphany/Silk/Skyfire/Bolt/Iron/Iridium/PhantomJS/Bowser/QupZilla/Falkon\n ], [NAME, VERSION], [\n\n /(konqueror)\\/([\\w\\.]+)/i // Konqueror\n ], [[NAME, 'Konqueror'], VERSION], [\n\n /(trident).+rv[:\\s]([\\w\\.]+).+like\\sgecko/i // IE11\n ], [[NAME, 'IE'], VERSION], [\n\n /(edge|edgios|edga|edg)\\/((\\d+)?[\\w\\.]+)/i // Microsoft Edge\n ], [[NAME, 'Edge'], VERSION], [\n\n /(yabrowser)\\/([\\w\\.]+)/i // Yandex\n ], [[NAME, 'Yandex'], VERSION], [\n\n /(Avast)\\/([\\w\\.]+)/i // Avast Secure Browser\n ], [[NAME, 'Avast Secure Browser'], VERSION], [\n\n /(AVG)\\/([\\w\\.]+)/i // AVG Secure Browser\n ], [[NAME, 'AVG Secure Browser'], VERSION], [\n\n /(puffin)\\/([\\w\\.]+)/i // Puffin\n ], [[NAME, 'Puffin'], VERSION], [\n\n /(focus)\\/([\\w\\.]+)/i // Firefox Focus\n ], [[NAME, 'Firefox Focus'], VERSION], [\n\n /(opt)\\/([\\w\\.]+)/i // Opera Touch\n ], [[NAME, 'Opera Touch'], VERSION], [\n\n /((?:[\\s\\/])uc?\\s?browser|(?:juc.+)ucweb)[\\/\\s]?([\\w\\.]+)/i // UCBrowser\n ], [[NAME, 'UCBrowser'], VERSION], [\n\n /(comodo_dragon)\\/([\\w\\.]+)/i // Comodo Dragon\n ], [[NAME, /_/g, ' '], VERSION], [\n\n /(windowswechat qbcore)\\/([\\w\\.]+)/i // WeChat Desktop for Windows Built-in Browser\n ], [[NAME, 'WeChat(Win) Desktop'], VERSION], [\n\n /(micromessenger)\\/([\\w\\.]+)/i // WeChat\n ], [[NAME, 'WeChat'], VERSION], [\n\n /(brave)\\/([\\w\\.]+)/i // Brave browser\n ], [[NAME, 'Brave'], VERSION], [\n\n /(qqbrowserlite)\\/([\\w\\.]+)/i // QQBrowserLite\n ], [NAME, VERSION], [\n\n /(QQ)\\/([\\d\\.]+)/i // QQ, aka ShouQ\n ], [NAME, VERSION], [\n\n /m?(qqbrowser)[\\/\\s]?([\\w\\.]+)/i // QQBrowser\n ], [NAME, VERSION], [\n\n /(baiduboxapp)[\\/\\s]?([\\w\\.]+)/i // Baidu App\n ], [NAME, VERSION], [\n\n /(2345Explorer)[\\/\\s]?([\\w\\.]+)/i // 2345 Browser\n ], [NAME, VERSION], [\n\n /(MetaSr)[\\/\\s]?([\\w\\.]+)/i // SouGouBrowser\n ], [NAME], [\n\n /(LBBROWSER)/i // LieBao Browser\n ], [NAME], [\n\n /xiaomi\\/miuibrowser\\/([\\w\\.]+)/i // MIUI Browser\n ], [VERSION, [NAME, 'MIUI Browser']], [\n\n /;fbav\\/([\\w\\.]+);/i // Facebook App for iOS & Android\n ], [VERSION, [NAME, 'Facebook']], [\n\n /safari\\s(line)\\/([\\w\\.]+)/i, // Line App for iOS\n /android.+(line)\\/([\\w\\.]+)\\/iab/i // Line App for Android\n ], [NAME, VERSION], [\n\n /headlesschrome(?:\\/([\\w\\.]+)|\\s)/i // Chrome Headless\n ], [VERSION, [NAME, 'Chrome Headless']], [\n\n /\\swv\\).+(chrome)\\/([\\w\\.]+)/i // Chrome WebView\n ], [[NAME, /(.+)/, '$1 WebView'], VERSION], [\n\n /((?:oculus|samsung)browser)\\/([\\w\\.]+)/i\n ], [[NAME, /(.+(?:g|us))(.+)/, '$1 $2'], VERSION], [ // Oculus / Samsung Browser\n\n /android.+version\\/([\\w\\.]+)\\s+(?:mobile\\s?safari|safari)*/i // Android Browser\n ], [VERSION, [NAME, 'Android Browser']], [\n\n /(sailfishbrowser)\\/([\\w\\.]+)/i // Sailfish Browser\n ], [[NAME, 'Sailfish Browser'], VERSION], [\n\n /(chrome|omniweb|arora|[tizenoka]{5}\\s?browser)\\/v?([\\w\\.]+)/i\n // Chrome/OmniWeb/Arora/Tizen/Nokia\n ], [NAME, VERSION], [\n\n /(dolfin)\\/([\\w\\.]+)/i // Dolphin\n ], [[NAME, 'Dolphin'], VERSION], [\n\n /(qihu|qhbrowser|qihoobrowser|360browser)/i // 360\n ], [[NAME, '360 Browser']], [\n\n /((?:android.+)crmo|crios)\\/([\\w\\.]+)/i // Chrome for Android/iOS\n ], [[NAME, 'Chrome'], VERSION], [\n\n /(coast)\\/([\\w\\.]+)/i // Opera Coast\n ], [[NAME, 'Opera Coast'], VERSION], [\n\n /fxios\\/([\\w\\.-]+)/i // Firefox for iOS\n ], [VERSION, [NAME, 'Firefox']], [\n\n /version\\/([\\w\\.]+).+?mobile\\/\\w+\\s(safari)/i // Mobile Safari\n ], [VERSION, [NAME, 'Mobile Safari']], [\n\n /version\\/([\\w\\.]+).+?(mobile\\s?safari|safari)/i // Safari & Safari Mobile\n ], [VERSION, NAME], [\n\n /webkit.+?(gsa)\\/([\\w\\.]+).+?(mobile\\s?safari|safari)(\\/[\\w\\.]+)/i // Google Search Appliance on iOS\n ], [[NAME, 'GSA'], VERSION], [\n\n /webkit.+?(mobile\\s?safari|safari)(\\/[\\w\\.]+)/i // Safari < 3.0\n ], [NAME, [VERSION, mapper.str, maps.browser.oldsafari.version]], [\n\n /(webkit|khtml)\\/([\\w\\.]+)/i\n ], [NAME, VERSION], [\n\n // Gecko based\n /(navigator|netscape)\\/([\\w\\.-]+)/i // Netscape\n ], [[NAME, 'Netscape'], VERSION], [\n /(swiftfox)/i, // Swiftfox\n /(icedragon|iceweasel|camino|chimera|fennec|maemo\\sbrowser|minimo|conkeror)[\\/\\s]?([\\w\\.\\+]+)/i,\n // IceDragon/Iceweasel/Camino/Chimera/Fennec/Maemo/Minimo/Conkeror\n /(firefox|seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\\/([\\w\\.-]+)$/i,\n\n // Firefox/SeaMonkey/K-Meleon/IceCat/IceApe/Firebird/Phoenix\n /(mozilla)\\/([\\w\\.]+).+rv\\:.+gecko\\/\\d+/i, // Mozilla\n\n // Other\n /(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir)[\\/\\s]?([\\w\\.]+)/i,\n // Polaris/Lynx/Dillo/iCab/Doris/Amaya/w3m/NetSurf/Sleipnir\n /(links)\\s\\(([\\w\\.]+)/i, // Links\n /(gobrowser)\\/?([\\w\\.]*)/i, // GoBrowser\n /(ice\\s?browser)\\/v?([\\w\\._]+)/i, // ICE Browser\n /(mosaic)[\\/\\s]([\\w\\.]+)/i // Mosaic\n ], [NAME, VERSION]\n ],\n\n cpu : [[\n\n /(?:(amd|x(?:(?:86|64)[_-])?|wow|win)64)[;\\)]/i // AMD64\n ], [[ARCHITECTURE, 'amd64']], [\n\n /(ia32(?=;))/i // IA32 (quicktime)\n ], [[ARCHITECTURE, util.lowerize]], [\n\n /((?:i[346]|x)86)[;\\)]/i // IA32\n ], [[ARCHITECTURE, 'ia32']], [\n\n // PocketPC mistakenly identified as PowerPC\n /windows\\s(ce|mobile);\\sppc;/i\n ], [[ARCHITECTURE, 'arm']], [\n\n /((?:ppc|powerpc)(?:64)?)(?:\\smac|;|\\))/i // PowerPC\n ], [[ARCHITECTURE, /ower/, '', util.lowerize]], [\n\n /(sun4\\w)[;\\)]/i // SPARC\n ], [[ARCHITECTURE, 'sparc']], [\n\n /((?:avr32|ia64(?=;))|68k(?=\\))|arm(?:64|(?=v\\d+[;l]))|(?=atmel\\s)avr|(?:irix|mips|sparc)(?:64)?(?=;)|pa-risc)/i\n // IA64, 68K, ARM/64, AVR/32, IRIX/64, MIPS/64, SPARC/64, PA-RISC\n ], [[ARCHITECTURE, util.lowerize]]\n ],\n\n device : [[\n\n /\\((ipad|playbook);[\\w\\s\\),;-]+(rim|apple)/i // iPad/PlayBook\n ], [MODEL, VENDOR, [TYPE, TABLET]], [\n\n /applecoremedia\\/[\\w\\.]+ \\((ipad)/ // iPad\n ], [MODEL, [VENDOR, 'Apple'], [TYPE, TABLET]], [\n\n /(apple\\s{0,1}tv)/i // Apple TV\n ], [[MODEL, 'Apple TV'], [VENDOR, 'Apple'], [TYPE, SMARTTV]], [\n\n /(archos)\\s(gamepad2?)/i, // Archos\n /(hp).+(touchpad)/i, // HP TouchPad\n /(hp).+(tablet)/i, // HP Tablet\n /(kindle)\\/([\\w\\.]+)/i, // Kindle\n /\\s(nook)[\\w\\s]+build\\/(\\w+)/i, // Nook\n /(dell)\\s(strea[kpr\\s\\d]*[\\dko])/i // Dell Streak\n ], [VENDOR, MODEL, [TYPE, TABLET]], [\n\n /(kf[A-z]+)\\sbuild\\/.+silk\\//i // Kindle Fire HD\n ], [MODEL, [VENDOR, 'Amazon'], [TYPE, TABLET]], [\n /(sd|kf)[0349hijorstuw]+\\sbuild\\/.+silk\\//i // Fire Phone\n ], [[MODEL, mapper.str, maps.device.amazon.model], [VENDOR, 'Amazon'], [TYPE, MOBILE]], [\n /android.+aft([bms])\\sbuild/i // Fire TV\n ], [MODEL, [VENDOR, 'Amazon'], [TYPE, SMARTTV]], [\n\n /\\((ip[honed|\\s\\w*]+);.+(apple)/i // iPod/iPhone\n ], [MODEL, VENDOR, [TYPE, MOBILE]], [\n /\\((ip[honed|\\s\\w*]+);/i // iPod/iPhone\n ], [MODEL, [VENDOR, 'Apple'], [TYPE, MOBILE]], [\n\n /(blackberry)[\\s-]?(\\w+)/i, // BlackBerry\n /(blackberry|benq|palm(?=\\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron)[\\s_-]?([\\w-]*)/i,\n // BenQ/Palm/Sony-Ericsson/Acer/Asus/Dell/Meizu/Motorola/Polytron\n /(hp)\\s([\\w\\s]+\\w)/i, // HP iPAQ\n /(asus)-?(\\w+)/i // Asus\n ], [VENDOR, MODEL, [TYPE, MOBILE]], [\n /\\(bb10;\\s(\\w+)/i // BlackBerry 10\n ], [MODEL, [VENDOR, 'BlackBerry'], [TYPE, MOBILE]], [\n // Asus Tablets\n /android.+(transfo[prime\\s]{4,10}\\s\\w+|eeepc|slider\\s\\w+|nexus 7|padfone|p00c)/i\n ], [MODEL, [VENDOR, 'Asus'], [TYPE, TABLET]], [\n\n /(sony)\\s(tablet\\s[ps])\\sbuild\\//i, // Sony\n /(sony)?(?:sgp.+)\\sbuild\\//i\n ], [[VENDOR, 'Sony'], [MODEL, 'Xperia Tablet'], [TYPE, TABLET]], [\n /android.+\\s([c-g]\\d{4}|so[-l]\\w+)(?=\\sbuild\\/|\\).+chrome\\/(?![1-6]{0,1}\\d\\.))/i\n ], [MODEL, [VENDOR, 'Sony'], [TYPE, MOBILE]], [\n\n /\\s(ouya)\\s/i, // Ouya\n /(nintendo)\\s([wids3u]+)/i // Nintendo\n ], [VENDOR, MODEL, [TYPE, CONSOLE]], [\n\n /android.+;\\s(shield)\\sbuild/i // Nvidia\n ], [MODEL, [VENDOR, 'Nvidia'], [TYPE, CONSOLE]], [\n\n /(playstation\\s[34portablevi]+)/i // Playstation\n ], [MODEL, [VENDOR, 'Sony'], [TYPE, CONSOLE]], [\n\n /(sprint\\s(\\w+))/i // Sprint Phones\n ], [[VENDOR, mapper.str, maps.device.sprint.vendor], [MODEL, mapper.str, maps.device.sprint.model], [TYPE, MOBILE]], [\n\n /(htc)[;_\\s-]+([\\w\\s]+(?=\\)|\\sbuild)|\\w+)/i, // HTC\n /(zte)-(\\w*)/i, // ZTE\n /(alcatel|geeksphone|nexian|panasonic|(?=;\\s)sony)[_\\s-]?([\\w-]*)/i\n // Alcatel/GeeksPhone/Nexian/Panasonic/Sony\n ], [VENDOR, [MODEL, /_/g, ' '], [TYPE, MOBILE]], [\n\n /(nexus\\s9)/i // HTC Nexus 9\n ], [MODEL, [VENDOR, 'HTC'], [TYPE, TABLET]], [\n\n /d\\/huawei([\\w\\s-]+)[;\\)]/i,\n /(nexus\\s6p|vog-l29|ane-lx1|eml-l29)/i // Huawei\n ], [MODEL, [VENDOR, 'Huawei'], [TYPE, MOBILE]], [\n\n /android.+(bah2?-a?[lw]\\d{2})/i // Huawei MediaPad\n ], [MODEL, [VENDOR, 'Huawei'], [TYPE, TABLET]], [\n\n /(microsoft);\\s(lumia[\\s\\w]+)/i // Microsoft Lumia\n ], [VENDOR, MODEL, [TYPE, MOBILE]], [\n\n /[\\s\\(;](xbox(?:\\sone)?)[\\s\\);]/i // Microsoft Xbox\n ], [MODEL, [VENDOR, 'Microsoft'], [TYPE, CONSOLE]], [\n /(kin\\.[onetw]{3})/i // Microsoft Kin\n ], [[MODEL, /\\./g, ' '], [VENDOR, 'Microsoft'], [TYPE, MOBILE]], [\n\n // Motorola\n /\\s(milestone|droid(?:[2-4x]|\\s(?:bionic|x2|pro|razr))?:?(\\s4g)?)[\\w\\s]+build\\//i,\n /mot[\\s-]?(\\w*)/i,\n /(XT\\d{3,4}) build\\//i,\n /(nexus\\s6)/i\n ], [MODEL, [VENDOR, 'Motorola'], [TYPE, MOBILE]], [\n /android.+\\s(mz60\\d|xoom[\\s2]{0,2})\\sbuild\\//i\n ], [MODEL, [VENDOR, 'Motorola'], [TYPE, TABLET]], [\n\n /hbbtv\\/\\d+\\.\\d+\\.\\d+\\s+\\([\\w\\s]*;\\s*(\\w[^;]*);([^;]*)/i // HbbTV devices\n ], [[VENDOR, util.trim], [MODEL, util.trim], [TYPE, SMARTTV]], [\n\n /hbbtv.+maple;(\\d+)/i\n ], [[MODEL, /^/, 'SmartTV'], [VENDOR, 'Samsung'], [TYPE, SMARTTV]], [\n\n /\\(dtv[\\);].+(aquos)/i // Sharp\n ], [MODEL, [VENDOR, 'Sharp'], [TYPE, SMARTTV]], [\n\n /android.+((sch-i[89]0\\d|shw-m380s|gt-p\\d{4}|gt-n\\d+|sgh-t8[56]9|nexus 10))/i,\n /((SM-T\\w+))/i\n ], [[VENDOR, 'Samsung'], MODEL, [TYPE, TABLET]], [ // Samsung\n /smart-tv.+(samsung)/i\n ], [VENDOR, [TYPE, SMARTTV], MODEL], [\n /((s[cgp]h-\\w+|gt-\\w+|galaxy\\snexus|sm-\\w[\\w\\d]+))/i,\n /(sam[sung]*)[\\s-]*(\\w+-?[\\w-]*)/i,\n /sec-((sgh\\w+))/i\n ], [[VENDOR, 'Samsung'], MODEL, [TYPE, MOBILE]], [\n\n /sie-(\\w*)/i // Siemens\n ], [MODEL, [VENDOR, 'Siemens'], [TYPE, MOBILE]], [\n\n /(maemo|nokia).*(n900|lumia\\s\\d+)/i, // Nokia\n /(nokia)[\\s_-]?([\\w-]*)/i\n ], [[VENDOR, 'Nokia'], MODEL, [TYPE, MOBILE]], [\n\n /android[x\\d\\.\\s;]+\\s([ab][1-7]\\-?[0178a]\\d\\d?)/i // Acer\n ], [MODEL, [VENDOR, 'Acer'], [TYPE, TABLET]], [\n\n /android.+([vl]k\\-?\\d{3})\\s+build/i // LG Tablet\n ], [MODEL, [VENDOR, 'LG'], [TYPE, TABLET]], [\n /android\\s3\\.[\\s\\w;-]{10}(lg?)-([06cv9]{3,4})/i // LG Tablet\n ], [[VENDOR, 'LG'], MODEL, [TYPE, TABLET]], [\n /(lg) netcast\\.tv/i // LG SmartTV\n ], [VENDOR, MODEL, [TYPE, SMARTTV]], [\n /(nexus\\s[45])/i, // LG\n /lg[e;\\s\\/-]+(\\w*)/i,\n /android.+lg(\\-?[\\d\\w]+)\\s+build/i\n ], [MODEL, [VENDOR, 'LG'], [TYPE, MOBILE]], [\n\n /(lenovo)\\s?(s(?:5000|6000)(?:[\\w-]+)|tab(?:[\\s\\w]+))/i // Lenovo tablets\n ], [VENDOR, MODEL, [TYPE, TABLET]], [\n /android.+(ideatab[a-z0-9\\-\\s]+)/i // Lenovo\n ], [MODEL, [VENDOR, 'Lenovo'], [TYPE, TABLET]], [\n /(lenovo)[_\\s-]?([\\w-]+)/i\n ], [VENDOR, MODEL, [TYPE, MOBILE]], [\n\n /linux;.+((jolla));/i // Jolla\n ], [VENDOR, MODEL, [TYPE, MOBILE]], [\n\n /((pebble))app\\/[\\d\\.]+\\s/i // Pebble\n ], [VENDOR, MODEL, [TYPE, WEARABLE]], [\n\n /android.+;\\s(oppo)\\s?([\\w\\s]+)\\sbuild/i // OPPO\n ], [VENDOR, MODEL, [TYPE, MOBILE]], [\n\n /crkey/i // Google Chromecast\n ], [[MODEL, 'Chromecast'], [VENDOR, 'Google'], [TYPE, SMARTTV]], [\n\n /android.+;\\s(glass)\\s\\d/i // Google Glass\n ], [MODEL, [VENDOR, 'Google'], [TYPE, WEARABLE]], [\n\n /android.+;\\s(pixel c)[\\s)]/i // Google Pixel C\n ], [MODEL, [VENDOR, 'Google'], [TYPE, TABLET]], [\n\n /android.+;\\s(pixel( [23])?( xl)?)[\\s)]/i // Google Pixel\n ], [MODEL, [VENDOR, 'Google'], [TYPE, MOBILE]], [\n\n /android.+;\\s(\\w+)\\s+build\\/hm\\1/i, // Xiaomi Hongmi 'numeric' models\n /android.+(hm[\\s\\-_]*note?[\\s_]*(?:\\d\\w)?)\\s+build/i, // Xiaomi Hongmi\n /android.+(mi[\\s\\-_]*(?:a\\d|one|one[\\s_]plus|note lte)?[\\s_]*(?:\\d?\\w?)[\\s_]*(?:plus)?)\\s+build/i, \n // Xiaomi Mi\n /android.+(redmi[\\s\\-_]*(?:note)?(?:[\\s_]*[\\w\\s]+))\\s+build/i // Redmi Phones\n ], [[MODEL, /_/g, ' '], [VENDOR, 'Xiaomi'], [TYPE, MOBILE]], [\n /android.+(mi[\\s\\-_]*(?:pad)(?:[\\s_]*[\\w\\s]+))\\s+build/i // Mi Pad tablets\n ],[[MODEL, /_/g, ' '], [VENDOR, 'Xiaomi'], [TYPE, TABLET]], [\n /android.+;\\s(m[1-5]\\snote)\\sbuild/i // Meizu\n ], [MODEL, [VENDOR, 'Meizu'], [TYPE, MOBILE]], [\n /(mz)-([\\w-]{2,})/i\n ], [[VENDOR, 'Meizu'], MODEL, [TYPE, MOBILE]], [\n\n /android.+a000(1)\\s+build/i, // OnePlus\n /android.+oneplus\\s(a\\d{4})[\\s)]/i\n ], [MODEL, [VENDOR, 'OnePlus'], [TYPE, MOBILE]], [\n\n /android.+[;\\/]\\s*(RCT[\\d\\w]+)\\s+build/i // RCA Tablets\n ], [MODEL, [VENDOR, 'RCA'], [TYPE, TABLET]], [\n\n /android.+[;\\/\\s]+(Venue[\\d\\s]{2,7})\\s+build/i // Dell Venue Tablets\n ], [MODEL, [VENDOR, 'Dell'], [TYPE, TABLET]], [\n\n /android.+[;\\/]\\s*(Q[T|M][\\d\\w]+)\\s+build/i // Verizon Tablet\n ], [MODEL, [VENDOR, 'Verizon'], [TYPE, TABLET]], [\n\n /android.+[;\\/]\\s+(Barnes[&\\s]+Noble\\s+|BN[RT])(V?.*)\\s+build/i // Barnes & Noble Tablet\n ], [[VENDOR, 'Barnes & Noble'], MODEL, [TYPE, TABLET]], [\n\n /android.+[;\\/]\\s+(TM\\d{3}.*\\b)\\s+build/i // Barnes & Noble Tablet\n ], [MODEL, [VENDOR, 'NuVision'], [TYPE, TABLET]], [\n\n /android.+;\\s(k88)\\sbuild/i // ZTE K Series Tablet\n ], [MODEL, [VENDOR, 'ZTE'], [TYPE, TABLET]], [\n\n /android.+[;\\/]\\s*(gen\\d{3})\\s+build.*49h/i // Swiss GEN Mobile\n ], [MODEL, [VENDOR, 'Swiss'], [TYPE, MOBILE]], [\n\n /android.+[;\\/]\\s*(zur\\d{3})\\s+build/i // Swiss ZUR Tablet\n ], [MODEL, [VENDOR, 'Swiss'], [TYPE, TABLET]], [\n\n /android.+[;\\/]\\s*((Zeki)?TB.*\\b)\\s+build/i // Zeki Tablets\n ], [MODEL, [VENDOR, 'Zeki'], [TYPE, TABLET]], [\n\n /(android).+[;\\/]\\s+([YR]\\d{2})\\s+build/i,\n /android.+[;\\/]\\s+(Dragon[\\-\\s]+Touch\\s+|DT)(\\w{5})\\sbuild/i // Dragon Touch Tablet\n ], [[VENDOR, 'Dragon Touch'], MODEL, [TYPE, TABLET]], [\n\n /android.+[;\\/]\\s*(NS-?\\w{0,9})\\sbuild/i // Insignia Tablets\n ], [MODEL, [VENDOR, 'Insignia'], [TYPE, TABLET]], [\n\n /android.+[;\\/]\\s*((NX|Next)-?\\w{0,9})\\s+build/i // NextBook Tablets\n ], [MODEL, [VENDOR, 'NextBook'], [TYPE, TABLET]], [\n\n /android.+[;\\/]\\s*(Xtreme\\_)?(V(1[045]|2[015]|30|40|60|7[05]|90))\\s+build/i\n ], [[VENDOR, 'Voice'], MODEL, [TYPE, MOBILE]], [ // Voice Xtreme Phones\n\n /android.+[;\\/]\\s*(LVTEL\\-)?(V1[12])\\s+build/i // LvTel Phones\n ], [[VENDOR, 'LvTel'], MODEL, [TYPE, MOBILE]], [\n\n /android.+;\\s(PH-1)\\s/i\n ], [MODEL, [VENDOR, 'Essential'], [TYPE, MOBILE]], [ // Essential PH-1\n\n /android.+[;\\/]\\s*(V(100MD|700NA|7011|917G).*\\b)\\s+build/i // Envizen Tablets\n ], [MODEL, [VENDOR, 'Envizen'], [TYPE, TABLET]], [\n\n /android.+[;\\/]\\s*(Le[\\s\\-]+Pan)[\\s\\-]+(\\w{1,9})\\s+build/i // Le Pan Tablets\n ], [VENDOR, MODEL, [TYPE, TABLET]], [\n\n /android.+[;\\/]\\s*(Trio[\\s\\-]*.*)\\s+build/i // MachSpeed Tablets\n ], [MODEL, [VENDOR, 'MachSpeed'], [TYPE, TABLET]], [\n\n /android.+[;\\/]\\s*(Trinity)[\\-\\s]*(T\\d{3})\\s+build/i // Trinity Tablets\n ], [VENDOR, MODEL, [TYPE, TABLET]], [\n\n /android.+[;\\/]\\s*TU_(1491)\\s+build/i // Rotor Tablets\n ], [MODEL, [VENDOR, 'Rotor'], [TYPE, TABLET]], [\n\n /android.+(KS(.+))\\s+build/i // Amazon Kindle Tablets\n ], [MODEL, [VENDOR, 'Amazon'], [TYPE, TABLET]], [\n\n /android.+(Gigaset)[\\s\\-]+(Q\\w{1,9})\\s+build/i // Gigaset Tablets\n ], [VENDOR, MODEL, [TYPE, TABLET]], [\n\n /\\s(tablet|tab)[;\\/]/i, // Unidentifiable Tablet\n /\\s(mobile)(?:[;\\/]|\\ssafari)/i // Unidentifiable Mobile\n ], [[TYPE, util.lowerize], VENDOR, MODEL], [\n\n /[\\s\\/\\(](smart-?tv)[;\\)]/i // SmartTV\n ], [[TYPE, SMARTTV]], [\n\n /(android[\\w\\.\\s\\-]{0,9});.+build/i // Generic Android Device\n ], [MODEL, [VENDOR, 'Generic']]\n ],\n\n engine : [[\n\n /windows.+\\sedge\\/([\\w\\.]+)/i // EdgeHTML\n ], [VERSION, [NAME, 'EdgeHTML']], [\n\n /webkit\\/537\\.36.+chrome\\/(?!27)([\\w\\.]+)/i // Blink\n ], [VERSION, [NAME, 'Blink']], [\n\n /(presto)\\/([\\w\\.]+)/i, // Presto\n /(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\\/([\\w\\.]+)/i, \n // WebKit/Trident/NetFront/NetSurf/Amaya/Lynx/w3m/Goanna\n /(khtml|tasman|links)[\\/\\s]\\(?([\\w\\.]+)/i, // KHTML/Tasman/Links\n /(icab)[\\/\\s]([23]\\.[\\d\\.]+)/i // iCab\n ], [NAME, VERSION], [\n\n /rv\\:([\\w\\.]{1,9}).+(gecko)/i // Gecko\n ], [VERSION, NAME]\n ],\n\n os : [[\n\n // Windows based\n /microsoft\\s(windows)\\s(vista|xp)/i // Windows (iTunes)\n ], [NAME, VERSION], [\n /(windows)\\snt\\s6\\.2;\\s(arm)/i, // Windows RT\n /(windows\\sphone(?:\\sos)*)[\\s\\/]?([\\d\\.\\s\\w]*)/i, // Windows Phone\n /(windows\\smobile|windows)[\\s\\/]?([ntce\\d\\.\\s]+\\w)/i\n ], [NAME, [VERSION, mapper.str, maps.os.windows.version]], [\n /(win(?=3|9|n)|win\\s9x\\s)([nt\\d\\.]+)/i\n ], [[NAME, 'Windows'], [VERSION, mapper.str, maps.os.windows.version]], [\n\n // Mobile/Embedded OS\n /\\((bb)(10);/i // BlackBerry 10\n ], [[NAME, 'BlackBerry'], VERSION], [\n /(blackberry)\\w*\\/?([\\w\\.]*)/i, // Blackberry\n /(tizen|kaios)[\\/\\s]([\\w\\.]+)/i, // Tizen/KaiOS\n /(android|webos|palm\\sos|qnx|bada|rim\\stablet\\sos|meego|sailfish|contiki)[\\/\\s-]?([\\w\\.]*)/i\n // Android/WebOS/Palm/QNX/Bada/RIM/MeeGo/Contiki/Sailfish OS\n ], [NAME, VERSION], [\n /(symbian\\s?os|symbos|s60(?=;))[\\/\\s-]?([\\w\\.]*)/i // Symbian\n ], [[NAME, 'Symbian'], VERSION], [\n /\\((series40);/i // Series 40\n ], [NAME], [\n /mozilla.+\\(mobile;.+gecko.+firefox/i // Firefox OS\n ], [[NAME, 'Firefox OS'], VERSION], [\n\n // Console\n /(nintendo|playstation)\\s([wids34portablevu]+)/i, // Nintendo/Playstation\n\n // GNU/Linux based\n /(mint)[\\/\\s\\(]?(\\w*)/i, // Mint\n /(mageia|vectorlinux)[;\\s]/i, // Mageia/VectorLinux\n /(joli|[kxln]?ubuntu|debian|suse|opensuse|gentoo|(?=\\s)arch|slackware|fedora|mandriva|centos|pclinuxos|redhat|zenwalk|linpus)[\\/\\s-]?(?!chrom)([\\w\\.-]*)/i,\n // Joli/Ubuntu/Debian/SUSE/Gentoo/Arch/Slackware\n // Fedora/Mandriva/CentOS/PCLinuxOS/RedHat/Zenwalk/Linpus\n /(hurd|linux)\\s?([\\w\\.]*)/i, // Hurd/Linux\n /(gnu)\\s?([\\w\\.]*)/i // GNU\n ], [NAME, VERSION], [\n\n /(cros)\\s[\\w]+\\s([\\w\\.]+\\w)/i // Chromium OS\n ], [[NAME, 'Chromium OS'], VERSION],[\n\n // Solaris\n /(sunos)\\s?([\\w\\.\\d]*)/i // Solaris\n ], [[NAME, 'Solaris'], VERSION], [\n\n // BSD based\n /\\s([frentopc-]{0,4}bsd|dragonfly)\\s?([\\w\\.]*)/i // FreeBSD/NetBSD/OpenBSD/PC-BSD/DragonFly\n ], [NAME, VERSION],[\n\n /(haiku)\\s(\\w+)/i // Haiku\n ], [NAME, VERSION],[\n\n /cfnetwork\\/.+darwin/i,\n /ip[honead]{2,4}(?:.*os\\s([\\w]+)\\slike\\smac|;\\sopera)/i // iOS\n ], [[VERSION, /_/g, '.'], [NAME, 'iOS']], [\n\n /(mac\\sos\\sx)\\s?([\\w\\s\\.]*)/i,\n /(macintosh|mac(?=_powerpc)\\s)/i // Mac OS\n ], [[NAME, 'Mac OS'], [VERSION, /_/g, '.']], [\n\n // Other\n /((?:open)?solaris)[\\/\\s-]?([\\w\\.]*)/i, // Solaris\n /(aix)\\s((\\d)(?=\\.|\\)|\\s)[\\w\\.])*/i, // AIX\n /(plan\\s9|minix|beos|os\\/2|amigaos|morphos|risc\\sos|openvms|fuchsia)/i,\n // Plan9/Minix/BeOS/OS2/AmigaOS/MorphOS/RISCOS/OpenVMS/Fuchsia\n /(unix)\\s?([\\w\\.]*)/i // UNIX\n ], [NAME, VERSION]\n ]\n };\n\n\n /////////////////\n // Constructor\n ////////////////\n var UAParser = function (uastring, extensions) {\n\n if (typeof uastring === 'object') {\n extensions = uastring;\n uastring = undefined;\n }\n\n if (!(this instanceof UAParser)) {\n return new UAParser(uastring, extensions).getResult();\n }\n\n var ua = uastring || ((window && window.navigator && window.navigator.userAgent) ? window.navigator.userAgent : EMPTY);\n var rgxmap = extensions ? util.extend(regexes, extensions) : regexes;\n\n this.getBrowser = function () {\n var browser = { name: undefined, version: undefined };\n mapper.rgx.call(browser, ua, rgxmap.browser);\n browser.major = util.major(browser.version); // deprecated\n return browser;\n };\n this.getCPU = function () {\n var cpu = { architecture: undefined };\n mapper.rgx.call(cpu, ua, rgxmap.cpu);\n return cpu;\n };\n this.getDevice = function () {\n var device = { vendor: undefined, model: undefined, type: undefined };\n mapper.rgx.call(device, ua, rgxmap.device);\n return device;\n };\n this.getEngine = function () {\n var engine = { name: undefined, version: undefined };\n mapper.rgx.call(engine, ua, rgxmap.engine);\n return engine;\n };\n this.getOS = function () {\n var os = { name: undefined, version: undefined };\n mapper.rgx.call(os, ua, rgxmap.os);\n return os;\n };\n this.getResult = function () {\n return {\n ua : this.getUA(),\n browser : this.getBrowser(),\n engine : this.getEngine(),\n os : this.getOS(),\n device : this.getDevice(),\n cpu : this.getCPU()\n };\n };\n this.getUA = function () {\n return ua;\n };\n this.setUA = function (uastring) {\n ua = uastring;\n return this;\n };\n return this;\n };\n\n UAParser.VERSION = LIBVERSION;\n UAParser.BROWSER = {\n NAME : NAME,\n MAJOR : MAJOR, // deprecated\n VERSION : VERSION\n };\n UAParser.CPU = {\n ARCHITECTURE : ARCHITECTURE\n };\n UAParser.DEVICE = {\n MODEL : MODEL,\n VENDOR : VENDOR,\n TYPE : TYPE,\n CONSOLE : CONSOLE,\n MOBILE : MOBILE,\n SMARTTV : SMARTTV,\n TABLET : TABLET,\n WEARABLE: WEARABLE,\n EMBEDDED: EMBEDDED\n };\n UAParser.ENGINE = {\n NAME : NAME,\n VERSION : VERSION\n };\n UAParser.OS = {\n NAME : NAME,\n VERSION : VERSION\n };\n\n ///////////\n // Export\n //////////\n\n\n // check js environment\n if (typeof(exports) !== UNDEF_TYPE) {\n // nodejs env\n if (typeof module !== UNDEF_TYPE && module.exports) {\n exports = module.exports = UAParser;\n }\n exports.UAParser = UAParser;\n } else {\n // requirejs env (optional)\n if (true) {\n !(__WEBPACK_AMD_DEFINE_RESULT__ = (function () {\n return UAParser;\n }).call(exports, __webpack_require__, exports, module),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n } else {}\n }\n\n // jQuery/Zepto specific (optional)\n // Note:\n // In AMD env the global scope should be kept clean, but jQuery is an exception.\n // jQuery always exports to global scope, unless jQuery.noConflict(true) is used,\n // and we should catch that.\n var $ = window && (window.jQuery || window.Zepto);\n if ($ && !$.ua) {\n var parser = new UAParser();\n $.ua = parser.getResult();\n $.ua.get = function () {\n return parser.getUA();\n };\n $.ua.set = function (uastring) {\n parser.setUA(uastring);\n var result = parser.getResult();\n for (var prop in result) {\n $.ua[prop] = result[prop];\n }\n };\n }\n\n})(typeof window === 'object' ? window : this);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZmJqcy9ub2RlX21vZHVsZXMvdWEtcGFyc2VyLWpzL3NyYy91YS1wYXJzZXIuanM/NGM1MiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7OztBQUdBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSwwQ0FBMEM7QUFDMUM7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBLG1DQUFtQyxrQkFBa0I7QUFDckQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFDQUFxQztBQUNyQztBQUNBO0FBQ0E7QUFDQSxpQ0FBaUM7QUFDakM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQ0FBcUM7QUFDckM7QUFDQTtBQUNBO0FBQ0EsaUNBQWlDO0FBQ2pDO0FBQ0E7QUFDQSw2QkFBNkI7QUFDN0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTOztBQUVUOztBQUVBO0FBQ0E7QUFDQTtBQUNBLG1DQUFtQyxtQkFBbUI7QUFDdEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7OztBQUdBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUzs7QUFFVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUzs7QUFFVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBLGNBQWMsZ0JBQWdCO0FBQzlCOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsOENBQThDLEVBQUU7QUFDaEQ7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBLHNEQUFzRDtBQUN0RDs7QUFFQSxzQkFBc0I7QUFDdEI7O0FBRUEsK0JBQStCO0FBQy9COztBQUVBO0FBQ0Esa0NBQWtDLE1BQU07QUFDeEM7O0FBRUEsK0NBQStDO0FBQy9DOztBQUVBLHVCQUF1QjtBQUN2Qjs7QUFFQSwrQkFBK0IsK0JBQStCLGtEQUFrRDtBQUNoSDtBQUNBO0FBQ0E7O0FBRUE7O0FBRUEsK0JBQStCLFNBQVM7QUFDeEM7O0FBRUE7QUFDQTs7QUFFQSxzQkFBc0IsSUFBSTtBQUMxQjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsa0NBQWtDO0FBQ2xDO0FBQ0Esa0NBQWtDO0FBQ2xDOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQjtBQUNwQjtBQUNBO0FBQ0Esd0NBQXdDLEtBQUs7QUFDN0M7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsaUNBQWlDLEVBQUUsNkNBQTZDLElBQUk7QUFDcEY7O0FBRUE7QUFDQTtBQUNBOztBQUVBLHVCQUF1QjtBQUN2Qjs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsb0JBQW9CO0FBQ3BCO0FBQ0Esc0RBQXNEO0FBQ3REO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSxrQ0FBa0M7QUFDbEM7QUFDQTs7QUFFQSxzQ0FBc0MsRUFBRTtBQUN4Qzs7QUFFQSx5QkFBeUI7QUFDekI7O0FBRUEsbUJBQW1CLHVCQUF1QjtBQUMxQztBQUNBLDJCQUEyQixFQUFFO0FBQzdCOztBQUVBO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQixJQUFJO0FBQ3ZCO0FBQ0E7QUFDQSwwQ0FBMEMsSUFBSTtBQUM5Qzs7QUFFQSw4Q0FBOEMsU0FBUyxJQUFJLElBQUk7QUFDL0Q7O0FBRUEsMEJBQTBCO0FBQzFCOztBQUVBLHNCQUFzQjtBQUN0Qjs7QUFFQSxzREFBc0QsRUFBRTtBQUN4RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBLDZCQUE2QjtBQUM3Qjs7QUFFQSxrQ0FBa0MsRUFBRTtBQUNwQztBQUNBLCtCQUErQixHQUFHLEdBQUcsZUFBZSxJQUFJO0FBQ3hEO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCO0FBQ2xCO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLG1CQUFtQixZQUFZO0FBQy9COztBQUVBO0FBQ0E7O0FBRUEsdUJBQXVCO0FBQ3ZCOztBQUVBO0FBQ0E7O0FBRUEsdUJBQXVCO0FBQ3ZCOztBQUVBLHVCQUF1QjtBQUN2Qjs7QUFFQSx1QkFBdUI7QUFDdkI7O0FBRUEsdUJBQXVCO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCO0FBQ3ZCO0FBQ0EseUJBQXlCLEdBQUc7QUFDNUI7O0FBRUE7QUFDQSxvQ0FBb0MsRUFBRTtBQUN0Qzs7QUFFQSx3QkFBd0I7QUFDeEI7O0FBRUEsd0JBQXdCLG1CQUFtQixJQUFJO0FBQy9DOztBQUVBLHdCQUF3QjtBQUN4Qjs7QUFFQSx3QkFBd0I7QUFDeEI7O0FBRUEsd0JBQXdCLFlBQVksRUFBRTtBQUN0Qzs7QUFFQSx1QkFBdUI7QUFDdkI7O0FBRUEsd0JBQXdCLGFBQWEsRUFBRTtBQUN2Qzs7QUFFQSx3QkFBd0IsYUFBYSxFQUFFO0FBQ3ZDOztBQUVBLHdCQUF3QjtBQUN4Qjs7QUFFQSwwQkFBMEIsY0FBYyxFQUFFO0FBQzFDLHdCQUF3QixvQ0FBb0MsRUFBRTtBQUM5RDs7QUFFQSx3QkFBd0IsY0FBYyxJQUFJO0FBQzFDOztBQUVBLHdCQUF3QixxQkFBcUIsSUFBSTtBQUNqRDs7QUFFQSx3QkFBd0I7QUFDeEI7O0FBRUEsd0JBQXdCO0FBQ3hCOztBQUVBLHVCQUF1QjtBQUN2Qjs7QUFFQSx3QkFBd0I7QUFDeEI7O0FBRUEsd0JBQXdCLCtCQUErQixJQUFJO0FBQzNEOztBQUVBLHdCQUF3QjtBQUN4Qjs7QUFFQSx3QkFBd0IsMkJBQTJCLEVBQUU7QUFDckQ7O0FBRUEsd0JBQXdCO0FBQ3hCOztBQUVBO0FBQ0E7O0FBRUEsMkNBQTJDLElBQUk7QUFDL0M7O0FBRUEsNkJBQTZCO0FBQzdCLDRCQUE0QjtBQUM1Qjs7QUFFQSxrQ0FBa0M7QUFDbEM7O0FBRUEsZ0NBQWdDLElBQUksRUFBRTtBQUN0QztBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEseUJBQXlCLElBQUk7QUFDN0I7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxpQ0FBaUM7QUFDakM7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHdCQUF3QjtBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5Q0FBeUM7QUFDekM7QUFDQSwwQkFBMEI7QUFDMUI7QUFDQSwrQkFBK0I7QUFDL0I7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsbUNBQW1DO0FBQ25DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLDRCQUE0QixJQUFJO0FBQ2hDOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSx3QkFBd0IsSUFBSSw2QkFBNkI7QUFDekQ7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSwyQkFBMkI7QUFDM0I7QUFDQSx3REFBd0Q7QUFDeEQ7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMEJBQTBCO0FBQzFCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMEJBQTBCO0FBQzFCO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0JBQXNCO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxZQUFZLElBQTJDO0FBQ3ZELFlBQVksbUNBQU87QUFDbkI7QUFDQSxhQUFhO0FBQUEsb0dBQUM7QUFDZCxTQUFTLE1BQU0sRUFHTjtBQUNUOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsQ0FBQyIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9mYmpzL25vZGVfbW9kdWxlcy91YS1wYXJzZXItanMvc3JjL3VhLXBhcnNlci5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogVUFQYXJzZXIuanMgdjAuNy4yMVxuICogTGlnaHR3ZWlnaHQgSmF2YVNjcmlwdC1iYXNlZCBVc2VyLUFnZW50IHN0cmluZyBwYXJzZXJcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWlzYWxtYW4vdWEtcGFyc2VyLWpzXG4gKlxuICogQ29weXJpZ2h0IMKpIDIwMTItMjAxOSBGYWlzYWwgU2FsbWFuIDxmQGZhaXNhbG1hbi5jb20+XG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgTGljZW5zZVxuICovXG5cbihmdW5jdGlvbiAod2luZG93LCB1bmRlZmluZWQpIHtcblxuICAgICd1c2Ugc3RyaWN0JztcblxuICAgIC8vLy8vLy8vLy8vLy8vXG4gICAgLy8gQ29uc3RhbnRzXG4gICAgLy8vLy8vLy8vLy8vL1xuXG5cbiAgICB2YXIgTElCVkVSU0lPTiAgPSAnMC43LjIxJyxcbiAgICAgICAgRU1QVFkgICAgICAgPSAnJyxcbiAgICAgICAgVU5LTk9XTiAgICAgPSAnPycsXG4gICAgICAgIEZVTkNfVFlQRSAgID0gJ2Z1bmN0aW9uJyxcbiAgICAgICAgVU5ERUZfVFlQRSAgPSAndW5kZWZpbmVkJyxcbiAgICAgICAgT0JKX1RZUEUgICAgPSAnb2JqZWN0JyxcbiAgICAgICAgU1RSX1RZUEUgICAgPSAnc3RyaW5nJyxcbiAgICAgICAgTUFKT1IgICAgICAgPSAnbWFqb3InLCAvLyBkZXByZWNhdGVkXG4gICAgICAgIE1PREVMICAgICAgID0gJ21vZGVsJyxcbiAgICAgICAgTkFNRSAgICAgICAgPSAnbmFtZScsXG4gICAgICAgIFRZUEUgICAgICAgID0gJ3R5cGUnLFxuICAgICAgICBWRU5ET1IgICAgICA9ICd2ZW5kb3InLFxuICAgICAgICBWRVJTSU9OICAgICA9ICd2ZXJzaW9uJyxcbiAgICAgICAgQVJDSElURUNUVVJFPSAnYXJjaGl0ZWN0dXJlJyxcbiAgICAgICAgQ09OU09MRSAgICAgPSAnY29uc29sZScsXG4gICAgICAgIE1PQklMRSAgICAgID0gJ21vYmlsZScsXG4gICAgICAgIFRBQkxFVCAgICAgID0gJ3RhYmxldCcsXG4gICAgICAgIFNNQVJUVFYgICAgID0gJ3NtYXJ0dHYnLFxuICAgICAgICBXRUFSQUJMRSAgICA9ICd3ZWFyYWJsZScsXG4gICAgICAgIEVNQkVEREVEICAgID0gJ2VtYmVkZGVkJztcblxuXG4gICAgLy8vLy8vLy8vLy9cbiAgICAvLyBIZWxwZXJcbiAgICAvLy8vLy8vLy8vXG5cblxuICAgIHZhciB1dGlsID0ge1xuICAgICAgICBleHRlbmQgOiBmdW5jdGlvbiAocmVnZXhlcywgZXh0ZW5zaW9ucykge1xuICAgICAgICAgICAgdmFyIG1lcmdlZFJlZ2V4ZXMgPSB7fTtcbiAgICAgICAgICAgIGZvciAodmFyIGkgaW4gcmVnZXhlcykge1xuICAgICAgICAgICAgICAgIGlmIChleHRlbnNpb25zW2ldICYmIGV4dGVuc2lvbnNbaV0ubGVuZ3RoICUgMiA9PT0gMCkge1xuICAgICAgICAgICAgICAgICAgICBtZXJnZWRSZWdleGVzW2ldID0gZXh0ZW5zaW9uc1tpXS5jb25jYXQocmVnZXhlc1tpXSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgbWVyZ2VkUmVnZXhlc1tpXSA9IHJlZ2V4ZXNbaV07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIG1lcmdlZFJlZ2V4ZXM7XG4gICAgICAgIH0sXG4gICAgICAgIGhhcyA6IGZ1bmN0aW9uIChzdHIxLCBzdHIyKSB7XG4gICAgICAgICAgaWYgKHR5cGVvZiBzdHIxID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICByZXR1cm4gc3RyMi50b0xvd2VyQ2FzZSgpLmluZGV4T2Yoc3RyMS50b0xvd2VyQ2FzZSgpKSAhPT0gLTE7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGxvd2VyaXplIDogZnVuY3Rpb24gKHN0cikge1xuICAgICAgICAgICAgcmV0dXJuIHN0ci50b0xvd2VyQ2FzZSgpO1xuICAgICAgICB9LFxuICAgICAgICBtYWpvciA6IGZ1bmN0aW9uICh2ZXJzaW9uKSB7XG4gICAgICAgICAgICByZXR1cm4gdHlwZW9mKHZlcnNpb24pID09PSBTVFJfVFlQRSA/IHZlcnNpb24ucmVwbGFjZSgvW15cXGRcXC5dL2csJycpLnNwbGl0KFwiLlwiKVswXSA6IHVuZGVmaW5lZDtcbiAgICAgICAgfSxcbiAgICAgICAgdHJpbSA6IGZ1bmN0aW9uIChzdHIpIHtcbiAgICAgICAgICByZXR1cm4gc3RyLnJlcGxhY2UoL15bXFxzXFx1RkVGRlxceEEwXSt8W1xcc1xcdUZFRkZcXHhBMF0rJC9nLCAnJyk7XG4gICAgICAgIH1cbiAgICB9O1xuXG5cbiAgICAvLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBNYXAgaGVscGVyXG4gICAgLy8vLy8vLy8vLy8vLy9cblxuXG4gICAgdmFyIG1hcHBlciA9IHtcblxuICAgICAgICByZ3ggOiBmdW5jdGlvbiAodWEsIGFycmF5cykge1xuXG4gICAgICAgICAgICB2YXIgaSA9IDAsIGosIGssIHAsIHEsIG1hdGNoZXMsIG1hdGNoO1xuXG4gICAgICAgICAgICAvLyBsb29wIHRocm91Z2ggYWxsIHJlZ2V4ZXMgbWFwc1xuICAgICAgICAgICAgd2hpbGUgKGkgPCBhcnJheXMubGVuZ3RoICYmICFtYXRjaGVzKSB7XG5cbiAgICAgICAgICAgICAgICB2YXIgcmVnZXggPSBhcnJheXNbaV0sICAgICAgIC8vIGV2ZW4gc2VxdWVuY2UgKDAsMiw0LC4uKVxuICAgICAgICAgICAgICAgICAgICBwcm9wcyA9IGFycmF5c1tpICsgMV07ICAgLy8gb2RkIHNlcXVlbmNlICgxLDMsNSwuLilcbiAgICAgICAgICAgICAgICBqID0gayA9IDA7XG5cbiAgICAgICAgICAgICAgICAvLyB0cnkgbWF0Y2hpbmcgdWFzdHJpbmcgd2l0aCByZWdleGVzXG4gICAgICAgICAgICAgICAgd2hpbGUgKGogPCByZWdleC5sZW5ndGggJiYgIW1hdGNoZXMpIHtcblxuICAgICAgICAgICAgICAgICAgICBtYXRjaGVzID0gcmVnZXhbaisrXS5leGVjKHVhKTtcblxuICAgICAgICAgICAgICAgICAgICBpZiAoISFtYXRjaGVzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb3IgKHAgPSAwOyBwIDwgcHJvcHMubGVuZ3RoOyBwKyspIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRjaCA9IG1hdGNoZXNbKytrXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBxID0gcHJvcHNbcF07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gY2hlY2sgaWYgZ2l2ZW4gcHJvcGVydHkgaXMgYWN0dWFsbHkgYXJyYXlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHEgPT09IE9CSl9UWVBFICYmIHEubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocS5sZW5ndGggPT0gMikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBxWzFdID09IEZVTkNfVFlQRSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGFzc2lnbiBtb2RpZmllZCBtYXRjaFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXNbcVswXV0gPSBxWzFdLmNhbGwodGhpcywgbWF0Y2gpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBhc3NpZ24gZ2l2ZW4gdmFsdWUsIGlnbm9yZSByZWdleCBtYXRjaFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXNbcVswXV0gPSBxWzFdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHEubGVuZ3RoID09IDMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNoZWNrIHdoZXRoZXIgZnVuY3Rpb24gb3IgcmVnZXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgcVsxXSA9PT0gRlVOQ19UWVBFICYmICEocVsxXS5leGVjICYmIHFbMV0udGVzdCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBjYWxsIGZ1bmN0aW9uICh1c3VhbGx5IHN0cmluZyBtYXBwZXIpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpc1txWzBdXSA9IG1hdGNoID8gcVsxXS5jYWxsKHRoaXMsIG1hdGNoLCBxWzJdKSA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gc2FuaXRpemUgbWF0Y2ggdXNpbmcgZ2l2ZW4gcmVnZXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzW3FbMF1dID0gbWF0Y2ggPyBtYXRjaC5yZXBsYWNlKHFbMV0sIHFbMl0pIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHEubGVuZ3RoID09IDQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzW3FbMF1dID0gbWF0Y2ggPyBxWzNdLmNhbGwodGhpcywgbWF0Y2gucmVwbGFjZShxWzFdLCBxWzJdKSkgOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzW3FdID0gbWF0Y2ggPyBtYXRjaCA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaSArPSAyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuXG4gICAgICAgIHN0ciA6IGZ1bmN0aW9uIChzdHIsIG1hcCkge1xuXG4gICAgICAgICAgICBmb3IgKHZhciBpIGluIG1hcCkge1xuICAgICAgICAgICAgICAgIC8vIGNoZWNrIGlmIGFycmF5XG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBtYXBbaV0gPT09IE9CSl9UWVBFICYmIG1hcFtpXS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgbWFwW2ldLmxlbmd0aDsgaisrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodXRpbC5oYXMobWFwW2ldW2pdLCBzdHIpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChpID09PSBVTktOT1dOKSA/IHVuZGVmaW5lZCA6IGk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHV0aWwuaGFzKG1hcFtpXSwgc3RyKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gKGkgPT09IFVOS05PV04pID8gdW5kZWZpbmVkIDogaTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gc3RyO1xuICAgICAgICB9XG4gICAgfTtcblxuXG4gICAgLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gU3RyaW5nIG1hcFxuICAgIC8vLy8vLy8vLy8vLy8vXG5cblxuICAgIHZhciBtYXBzID0ge1xuXG4gICAgICAgIGJyb3dzZXIgOiB7XG4gICAgICAgICAgICBvbGRzYWZhcmkgOiB7XG4gICAgICAgICAgICAgICAgdmVyc2lvbiA6IHtcbiAgICAgICAgICAgICAgICAgICAgJzEuMCcgICA6ICcvOCcsXG4gICAgICAgICAgICAgICAgICAgICcxLjInICAgOiAnLzEnLFxuICAgICAgICAgICAgICAgICAgICAnMS4zJyAgIDogJy8zJyxcbiAgICAgICAgICAgICAgICAgICAgJzIuMCcgICA6ICcvNDEyJyxcbiAgICAgICAgICAgICAgICAgICAgJzIuMC4yJyA6ICcvNDE2JyxcbiAgICAgICAgICAgICAgICAgICAgJzIuMC4zJyA6ICcvNDE3JyxcbiAgICAgICAgICAgICAgICAgICAgJzIuMC40JyA6ICcvNDE5JyxcbiAgICAgICAgICAgICAgICAgICAgJz8nICAgICA6ICcvJ1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcblxuICAgICAgICBkZXZpY2UgOiB7XG4gICAgICAgICAgICBhbWF6b24gOiB7XG4gICAgICAgICAgICAgICAgbW9kZWwgOiB7XG4gICAgICAgICAgICAgICAgICAgICdGaXJlIFBob25lJyA6IFsnU0QnLCAnS0YnXVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBzcHJpbnQgOiB7XG4gICAgICAgICAgICAgICAgbW9kZWwgOiB7XG4gICAgICAgICAgICAgICAgICAgICdFdm8gU2hpZnQgNEcnIDogJzczNzNLVCdcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHZlbmRvciA6IHtcbiAgICAgICAgICAgICAgICAgICAgJ0hUQycgICAgICAgOiAnQVBBJyxcbiAgICAgICAgICAgICAgICAgICAgJ1NwcmludCcgICAgOiAnU3ByaW50J1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcblxuICAgICAgICBvcyA6IHtcbiAgICAgICAgICAgIHdpbmRvd3MgOiB7XG4gICAgICAgICAgICAgICAgdmVyc2lvbiA6IHtcbiAgICAgICAgICAgICAgICAgICAgJ01FJyAgICAgICAgOiAnNC45MCcsXG4gICAgICAgICAgICAgICAgICAgICdOVCAzLjExJyAgIDogJ05UMy41MScsXG4gICAgICAgICAgICAgICAgICAgICdOVCA0LjAnICAgIDogJ05UNC4wJyxcbiAgICAgICAgICAgICAgICAgICAgJzIwMDAnICAgICAgOiAnTlQgNS4wJyxcbiAgICAgICAgICAgICAgICAgICAgJ1hQJyAgICAgICAgOiBbJ05UIDUuMScsICdOVCA1LjInXSxcbiAgICAgICAgICAgICAgICAgICAgJ1Zpc3RhJyAgICAgOiAnTlQgNi4wJyxcbiAgICAgICAgICAgICAgICAgICAgJzcnICAgICAgICAgOiAnTlQgNi4xJyxcbiAgICAgICAgICAgICAgICAgICAgJzgnICAgICAgICAgOiAnTlQgNi4yJyxcbiAgICAgICAgICAgICAgICAgICAgJzguMScgICAgICAgOiAnTlQgNi4zJyxcbiAgICAgICAgICAgICAgICAgICAgJzEwJyAgICAgICAgOiBbJ05UIDYuNCcsICdOVCAxMC4wJ10sXG4gICAgICAgICAgICAgICAgICAgICdSVCcgICAgICAgIDogJ0FSTSdcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9O1xuXG5cbiAgICAvLy8vLy8vLy8vLy8vL1xuICAgIC8vIFJlZ2V4IG1hcFxuICAgIC8vLy8vLy8vLy8vLy9cblxuXG4gICAgdmFyIHJlZ2V4ZXMgPSB7XG5cbiAgICAgICAgYnJvd3NlciA6IFtbXG5cbiAgICAgICAgICAgIC8vIFByZXN0byBiYXNlZFxuICAgICAgICAgICAgLyhvcGVyYVxcc21pbmkpXFwvKFtcXHdcXC4tXSspL2ksICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gT3BlcmEgTWluaVxuICAgICAgICAgICAgLyhvcGVyYVxcc1ttb2JpbGV0YWJdKykuK3ZlcnNpb25cXC8oW1xcd1xcLi1dKykvaSwgICAgICAgICAgICAgICAgICAgICAgLy8gT3BlcmEgTW9iaS9UYWJsZXRcbiAgICAgICAgICAgIC8ob3BlcmEpLit2ZXJzaW9uXFwvKFtcXHdcXC5dKykvaSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gT3BlcmEgPiA5LjgwXG4gICAgICAgICAgICAvKG9wZXJhKVtcXC9cXHNdKyhbXFx3XFwuXSspL2kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBPcGVyYSA8IDkuODBcbiAgICAgICAgICAgIF0sIFtOQU1FLCBWRVJTSU9OXSwgW1xuXG4gICAgICAgICAgICAvKG9waW9zKVtcXC9cXHNdKyhbXFx3XFwuXSspL2kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBPcGVyYSBtaW5pIG9uIGlwaG9uZSA+PSA4LjBcbiAgICAgICAgICAgIF0sIFtbTkFNRSwgJ09wZXJhIE1pbmknXSwgVkVSU0lPTl0sIFtcblxuICAgICAgICAgICAgL1xccyhvcHIpXFwvKFtcXHdcXC5dKykvaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gT3BlcmEgV2Via2l0XG4gICAgICAgICAgICBdLCBbW05BTUUsICdPcGVyYSddLCBWRVJTSU9OXSwgW1xuXG4gICAgICAgICAgICAvLyBNaXhlZFxuICAgICAgICAgICAgLyhraW5kbGUpXFwvKFtcXHdcXC5dKykvaSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBLaW5kbGVcbiAgICAgICAgICAgIC8obHVuYXNjYXBlfG1heHRob258bmV0ZnJvbnR8amFzbWluZXxibGF6ZXIpW1xcL1xcc10/KFtcXHdcXC5dKikvaSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gTHVuYXNjYXBlL01heHRob24vTmV0ZnJvbnQvSmFzbWluZS9CbGF6ZXJcbiAgICAgICAgICAgIC8vIFRyaWRlbnQgYmFzZWRcbiAgICAgICAgICAgIC8oYXZhbnRcXHN8aWVtb2JpbGV8c2xpbSkoPzpicm93c2VyKT9bXFwvXFxzXT8oW1xcd1xcLl0qKS9pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBBdmFudC9JRU1vYmlsZS9TbGltQnJvd3NlclxuICAgICAgICAgICAgLyhiaWR1YnJvd3NlcnxiYWlkdWJyb3dzZXIpW1xcL1xcc10/KFtcXHdcXC5dKykvaSwgICAgICAgICAgICAgICAgICAgICAgLy8gQmFpZHUgQnJvd3NlclxuICAgICAgICAgICAgLyg/Om1zfFxcKCkoaWUpXFxzKFtcXHdcXC5dKykvaSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gSW50ZXJuZXQgRXhwbG9yZXJcblxuICAgICAgICAgICAgLy8gV2Via2l0L0tIVE1MIGJhc2VkXG4gICAgICAgICAgICAvKHJla29ucSlcXC8oW1xcd1xcLl0qKS9pLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFJla29ucVxuICAgICAgICAgICAgLyhjaHJvbWl1bXxmbG9ja3xyb2NrbWVsdHxtaWRvcml8ZXBpcGhhbnl8c2lsa3xza3lmaXJlfG92aWJyb3dzZXJ8Ym9sdHxpcm9ufHZpdmFsZGl8aXJpZGl1bXxwaGFudG9tanN8Ym93c2VyfHF1YXJrfHF1cHppbGxhfGZhbGtvbilcXC8oW1xcd1xcLi1dKykvaVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBDaHJvbWl1bS9GbG9jay9Sb2NrTWVsdC9NaWRvcmkvRXBpcGhhbnkvU2lsay9Ta3lmaXJlL0JvbHQvSXJvbi9JcmlkaXVtL1BoYW50b21KUy9Cb3dzZXIvUXVwWmlsbGEvRmFsa29uXG4gICAgICAgICAgICBdLCBbTkFNRSwgVkVSU0lPTl0sIFtcblxuICAgICAgICAgICAgLyhrb25xdWVyb3IpXFwvKFtcXHdcXC5dKykvaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBLb25xdWVyb3JcbiAgICAgICAgICAgIF0sIFtbTkFNRSwgJ0tvbnF1ZXJvciddLCBWRVJTSU9OXSwgW1xuXG4gICAgICAgICAgICAvKHRyaWRlbnQpLitydls6XFxzXShbXFx3XFwuXSspLitsaWtlXFxzZ2Vja28vaSAgICAgICAgICAgICAgICAgICAgICAgICAvLyBJRTExXG4gICAgICAgICAgICBdLCBbW05BTUUsICdJRSddLCBWRVJTSU9OXSwgW1xuXG4gICAgICAgICAgICAvKGVkZ2V8ZWRnaW9zfGVkZ2F8ZWRnKVxcLygoXFxkKyk/W1xcd1xcLl0rKS9pICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBNaWNyb3NvZnQgRWRnZVxuICAgICAgICAgICAgXSwgW1tOQU1FLCAnRWRnZSddLCBWRVJTSU9OXSwgW1xuXG4gICAgICAgICAgICAvKHlhYnJvd3NlcilcXC8oW1xcd1xcLl0rKS9pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFlhbmRleFxuICAgICAgICAgICAgXSwgW1tOQU1FLCAnWWFuZGV4J10sIFZFUlNJT05dLCBbXG5cbiAgICAgICAgICAgIC8oQXZhc3QpXFwvKFtcXHdcXC5dKykvaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQXZhc3QgU2VjdXJlIEJyb3dzZXJcbiAgICAgICAgICAgIF0sIFtbTkFNRSwgJ0F2YXN0IFNlY3VyZSBCcm93c2VyJ10sIFZFUlNJT05dLCBbXG5cbiAgICAgICAgICAgIC8oQVZHKVxcLyhbXFx3XFwuXSspL2kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQVZHIFNlY3VyZSBCcm93c2VyXG4gICAgICAgICAgICBdLCBbW05BTUUsICdBVkcgU2VjdXJlIEJyb3dzZXInXSwgVkVSU0lPTl0sIFtcblxuICAgICAgICAgICAgLyhwdWZmaW4pXFwvKFtcXHdcXC5dKykvaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBQdWZmaW5cbiAgICAgICAgICAgIF0sIFtbTkFNRSwgJ1B1ZmZpbiddLCBWRVJTSU9OXSwgW1xuXG4gICAgICAgICAgICAvKGZvY3VzKVxcLyhbXFx3XFwuXSspL2kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEZpcmVmb3ggRm9jdXNcbiAgICAgICAgICAgIF0sIFtbTkFNRSwgJ0ZpcmVmb3ggRm9jdXMnXSwgVkVSU0lPTl0sIFtcblxuICAgICAgICAgICAgLyhvcHQpXFwvKFtcXHdcXC5dKykvaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBPcGVyYSBUb3VjaFxuICAgICAgICAgICAgXSwgW1tOQU1FLCAnT3BlcmEgVG91Y2gnXSwgVkVSU0lPTl0sIFtcblxuICAgICAgICAgICAgLygoPzpbXFxzXFwvXSl1Yz9cXHM/YnJvd3NlcnwoPzpqdWMuKyl1Y3dlYilbXFwvXFxzXT8oW1xcd1xcLl0rKS9pICAgICAgICAgLy8gVUNCcm93c2VyXG4gICAgICAgICAgICBdLCBbW05BTUUsICdVQ0Jyb3dzZXInXSwgVkVSU0lPTl0sIFtcblxuICAgICAgICAgICAgLyhjb21vZG9fZHJhZ29uKVxcLyhbXFx3XFwuXSspL2kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBDb21vZG8gRHJhZ29uXG4gICAgICAgICAgICBdLCBbW05BTUUsIC9fL2csICcgJ10sIFZFUlNJT05dLCBbXG5cbiAgICAgICAgICAgIC8od2luZG93c3dlY2hhdCBxYmNvcmUpXFwvKFtcXHdcXC5dKykvaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gV2VDaGF0IERlc2t0b3AgZm9yIFdpbmRvd3MgQnVpbHQtaW4gQnJvd3NlclxuICAgICAgICAgICAgXSwgW1tOQU1FLCAnV2VDaGF0KFdpbikgRGVza3RvcCddLCBWRVJTSU9OXSwgW1xuXG4gICAgICAgICAgICAvKG1pY3JvbWVzc2VuZ2VyKVxcLyhbXFx3XFwuXSspL2kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFdlQ2hhdFxuICAgICAgICAgICAgXSwgW1tOQU1FLCAnV2VDaGF0J10sIFZFUlNJT05dLCBbXG5cbiAgICAgICAgICAgIC8oYnJhdmUpXFwvKFtcXHdcXC5dKykvaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQnJhdmUgYnJvd3NlclxuICAgICAgICAgICAgXSwgW1tOQU1FLCAnQnJhdmUnXSwgVkVSU0lPTl0sIFtcblxuICAgICAgICAgICAgLyhxcWJyb3dzZXJsaXRlKVxcLyhbXFx3XFwuXSspL2kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBRUUJyb3dzZXJMaXRlXG4gICAgICAgICAgICBdLCBbTkFNRSwgVkVSU0lPTl0sIFtcblxuICAgICAgICAgICAgLyhRUSlcXC8oW1xcZFxcLl0rKS9pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBRUSwgYWthIFNob3VRXG4gICAgICAgICAgICBdLCBbTkFNRSwgVkVSU0lPTl0sIFtcblxuICAgICAgICAgICAgL20/KHFxYnJvd3NlcilbXFwvXFxzXT8oW1xcd1xcLl0rKS9pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gUVFCcm93c2VyXG4gICAgICAgICAgICBdLCBbTkFNRSwgVkVSU0lPTl0sIFtcblxuICAgICAgICAgICAgLyhiYWlkdWJveGFwcClbXFwvXFxzXT8oW1xcd1xcLl0rKS9pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQmFpZHUgQXBwXG4gICAgICAgICAgICBdLCBbTkFNRSwgVkVSU0lPTl0sIFtcblxuICAgICAgICAgICAgLygyMzQ1RXhwbG9yZXIpW1xcL1xcc10/KFtcXHdcXC5dKykvaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gMjM0NSBCcm93c2VyXG4gICAgICAgICAgICBdLCBbTkFNRSwgVkVSU0lPTl0sIFtcblxuICAgICAgICAgICAgLyhNZXRhU3IpW1xcL1xcc10/KFtcXHdcXC5dKykvaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gU291R291QnJvd3NlclxuICAgICAgICAgICAgXSwgW05BTUVdLCBbXG5cbiAgICAgICAgICAgIC8oTEJCUk9XU0VSKS9pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gTGllQmFvIEJyb3dzZXJcbiAgICAgICAgICAgIF0sIFtOQU1FXSwgW1xuXG4gICAgICAgICAgICAveGlhb21pXFwvbWl1aWJyb3dzZXJcXC8oW1xcd1xcLl0rKS9pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBNSVVJIEJyb3dzZXJcbiAgICAgICAgICAgIF0sIFtWRVJTSU9OLCBbTkFNRSwgJ01JVUkgQnJvd3NlciddXSwgW1xuXG4gICAgICAgICAgICAvO2ZiYXZcXC8oW1xcd1xcLl0rKTsvaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEZhY2Vib29rIEFwcCBmb3IgaU9TICYgQW5kcm9pZFxuICAgICAgICAgICAgXSwgW1ZFUlNJT04sIFtOQU1FLCAnRmFjZWJvb2snXV0sIFtcblxuICAgICAgICAgICAgL3NhZmFyaVxccyhsaW5lKVxcLyhbXFx3XFwuXSspL2ksICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gTGluZSBBcHAgZm9yIGlPU1xuICAgICAgICAgICAgL2FuZHJvaWQuKyhsaW5lKVxcLyhbXFx3XFwuXSspXFwvaWFiL2kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gTGluZSBBcHAgZm9yIEFuZHJvaWRcbiAgICAgICAgICAgIF0sIFtOQU1FLCBWRVJTSU9OXSwgW1xuXG4gICAgICAgICAgICAvaGVhZGxlc3NjaHJvbWUoPzpcXC8oW1xcd1xcLl0rKXxcXHMpL2kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBDaHJvbWUgSGVhZGxlc3NcbiAgICAgICAgICAgIF0sIFtWRVJTSU9OLCBbTkFNRSwgJ0Nocm9tZSBIZWFkbGVzcyddXSwgW1xuXG4gICAgICAgICAgICAvXFxzd3ZcXCkuKyhjaHJvbWUpXFwvKFtcXHdcXC5dKykvaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQ2hyb21lIFdlYlZpZXdcbiAgICAgICAgICAgIF0sIFtbTkFNRSwgLyguKykvLCAnJDEgV2ViVmlldyddLCBWRVJTSU9OXSwgW1xuXG4gICAgICAgICAgICAvKCg/Om9jdWx1c3xzYW1zdW5nKWJyb3dzZXIpXFwvKFtcXHdcXC5dKykvaVxuICAgICAgICAgICAgXSwgW1tOQU1FLCAvKC4rKD86Z3x1cykpKC4rKS8sICckMSAkMiddLCBWRVJTSU9OXSwgWyAgICAgICAgICAgICAgICAvLyBPY3VsdXMgLyBTYW1zdW5nIEJyb3dzZXJcblxuICAgICAgICAgICAgL2FuZHJvaWQuK3ZlcnNpb25cXC8oW1xcd1xcLl0rKVxccysoPzptb2JpbGVcXHM/c2FmYXJpfHNhZmFyaSkqL2kgICAgICAgIC8vIEFuZHJvaWQgQnJvd3NlclxuICAgICAgICAgICAgXSwgW1ZFUlNJT04sIFtOQU1FLCAnQW5kcm9pZCBCcm93c2VyJ11dLCBbXG5cbiAgICAgICAgICAgIC8oc2FpbGZpc2hicm93c2VyKVxcLyhbXFx3XFwuXSspL2kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gU2FpbGZpc2ggQnJvd3NlclxuICAgICAgICAgICAgXSwgW1tOQU1FLCAnU2FpbGZpc2ggQnJvd3NlciddLCBWRVJTSU9OXSwgW1xuXG4gICAgICAgICAgICAvKGNocm9tZXxvbW5pd2VifGFyb3JhfFt0aXplbm9rYV17NX1cXHM/YnJvd3NlcilcXC92PyhbXFx3XFwuXSspL2lcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQ2hyb21lL09tbmlXZWIvQXJvcmEvVGl6ZW4vTm9raWFcbiAgICAgICAgICAgIF0sIFtOQU1FLCBWRVJTSU9OXSwgW1xuXG4gICAgICAgICAgICAvKGRvbGZpbilcXC8oW1xcd1xcLl0rKS9pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIERvbHBoaW5cbiAgICAgICAgICAgIF0sIFtbTkFNRSwgJ0RvbHBoaW4nXSwgVkVSU0lPTl0sIFtcblxuICAgICAgICAgICAgLyhxaWh1fHFoYnJvd3NlcnxxaWhvb2Jyb3dzZXJ8MzYwYnJvd3NlcikvaSAgICAgICAgICAgICAgICAgICAgICAgICAvLyAzNjBcbiAgICAgICAgICAgIF0sIFtbTkFNRSwgJzM2MCBCcm93c2VyJ11dLCBbXG5cbiAgICAgICAgICAgIC8oKD86YW5kcm9pZC4rKWNybW98Y3Jpb3MpXFwvKFtcXHdcXC5dKykvaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQ2hyb21lIGZvciBBbmRyb2lkL2lPU1xuICAgICAgICAgICAgXSwgW1tOQU1FLCAnQ2hyb21lJ10sIFZFUlNJT05dLCBbXG5cbiAgICAgICAgICAgIC8oY29hc3QpXFwvKFtcXHdcXC5dKykvaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gT3BlcmEgQ29hc3RcbiAgICAgICAgICAgIF0sIFtbTkFNRSwgJ09wZXJhIENvYXN0J10sIFZFUlNJT05dLCBbXG5cbiAgICAgICAgICAgIC9meGlvc1xcLyhbXFx3XFwuLV0rKS9pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gRmlyZWZveCBmb3IgaU9TXG4gICAgICAgICAgICBdLCBbVkVSU0lPTiwgW05BTUUsICdGaXJlZm94J11dLCBbXG5cbiAgICAgICAgICAgIC92ZXJzaW9uXFwvKFtcXHdcXC5dKykuKz9tb2JpbGVcXC9cXHcrXFxzKHNhZmFyaSkvaSAgICAgICAgICAgICAgICAgICAgICAgLy8gTW9iaWxlIFNhZmFyaVxuICAgICAgICAgICAgXSwgW1ZFUlNJT04sIFtOQU1FLCAnTW9iaWxlIFNhZmFyaSddXSwgW1xuXG4gICAgICAgICAgICAvdmVyc2lvblxcLyhbXFx3XFwuXSspLis/KG1vYmlsZVxccz9zYWZhcml8c2FmYXJpKS9pICAgICAgICAgICAgICAgICAgICAvLyBTYWZhcmkgJiBTYWZhcmkgTW9iaWxlXG4gICAgICAgICAgICBdLCBbVkVSU0lPTiwgTkFNRV0sIFtcblxuICAgICAgICAgICAgL3dlYmtpdC4rPyhnc2EpXFwvKFtcXHdcXC5dKykuKz8obW9iaWxlXFxzP3NhZmFyaXxzYWZhcmkpKFxcL1tcXHdcXC5dKykvaSAgLy8gR29vZ2xlIFNlYXJjaCBBcHBsaWFuY2Ugb24gaU9TXG4gICAgICAgICAgICBdLCBbW05BTUUsICdHU0EnXSwgVkVSU0lPTl0sIFtcblxuICAgICAgICAgICAgL3dlYmtpdC4rPyhtb2JpbGVcXHM/c2FmYXJpfHNhZmFyaSkoXFwvW1xcd1xcLl0rKS9pICAgICAgICAgICAgICAgICAgICAgLy8gU2FmYXJpIDwgMy4wXG4gICAgICAgICAgICBdLCBbTkFNRSwgW1ZFUlNJT04sIG1hcHBlci5zdHIsIG1hcHMuYnJvd3Nlci5vbGRzYWZhcmkudmVyc2lvbl1dLCBbXG5cbiAgICAgICAgICAgIC8od2Via2l0fGtodG1sKVxcLyhbXFx3XFwuXSspL2lcbiAgICAgICAgICAgIF0sIFtOQU1FLCBWRVJTSU9OXSwgW1xuXG4gICAgICAgICAgICAvLyBHZWNrbyBiYXNlZFxuICAgICAgICAgICAgLyhuYXZpZ2F0b3J8bmV0c2NhcGUpXFwvKFtcXHdcXC4tXSspL2kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBOZXRzY2FwZVxuICAgICAgICAgICAgXSwgW1tOQU1FLCAnTmV0c2NhcGUnXSwgVkVSU0lPTl0sIFtcbiAgICAgICAgICAgIC8oc3dpZnRmb3gpL2ksICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gU3dpZnRmb3hcbiAgICAgICAgICAgIC8oaWNlZHJhZ29ufGljZXdlYXNlbHxjYW1pbm98Y2hpbWVyYXxmZW5uZWN8bWFlbW9cXHNicm93c2VyfG1pbmltb3xjb25rZXJvcilbXFwvXFxzXT8oW1xcd1xcLlxcK10rKS9pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBJY2VEcmFnb24vSWNld2Vhc2VsL0NhbWluby9DaGltZXJhL0Zlbm5lYy9NYWVtby9NaW5pbW8vQ29ua2Vyb3JcbiAgICAgICAgICAgIC8oZmlyZWZveHxzZWFtb25rZXl8ay1tZWxlb258aWNlY2F0fGljZWFwZXxmaXJlYmlyZHxwaG9lbml4fHBhbGVtb29ufGJhc2lsaXNrfHdhdGVyZm94KVxcLyhbXFx3XFwuLV0rKSQvaSxcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBGaXJlZm94L1NlYU1vbmtleS9LLU1lbGVvbi9JY2VDYXQvSWNlQXBlL0ZpcmViaXJkL1Bob2VuaXhcbiAgICAgICAgICAgIC8obW96aWxsYSlcXC8oW1xcd1xcLl0rKS4rcnZcXDouK2dlY2tvXFwvXFxkKy9pLCAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gTW96aWxsYVxuXG4gICAgICAgICAgICAvLyBPdGhlclxuICAgICAgICAgICAgLyhwb2xhcmlzfGx5bnh8ZGlsbG98aWNhYnxkb3Jpc3xhbWF5YXx3M218bmV0c3VyZnxzbGVpcG5pcilbXFwvXFxzXT8oW1xcd1xcLl0rKS9pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBQb2xhcmlzL0x5bngvRGlsbG8vaUNhYi9Eb3Jpcy9BbWF5YS93M20vTmV0U3VyZi9TbGVpcG5pclxuICAgICAgICAgICAgLyhsaW5rcylcXHNcXCgoW1xcd1xcLl0rKS9pLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gTGlua3NcbiAgICAgICAgICAgIC8oZ29icm93c2VyKVxcLz8oW1xcd1xcLl0qKS9pLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gR29Ccm93c2VyXG4gICAgICAgICAgICAvKGljZVxccz9icm93c2VyKVxcL3Y/KFtcXHdcXC5fXSspL2ksICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBJQ0UgQnJvd3NlclxuICAgICAgICAgICAgLyhtb3NhaWMpW1xcL1xcc10oW1xcd1xcLl0rKS9pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gTW9zYWljXG4gICAgICAgICAgICBdLCBbTkFNRSwgVkVSU0lPTl1cbiAgICAgICAgXSxcblxuICAgICAgICBjcHUgOiBbW1xuXG4gICAgICAgICAgICAvKD86KGFtZHx4KD86KD86ODZ8NjQpW18tXSk/fHdvd3x3aW4pNjQpWztcXCldL2kgICAgICAgICAgICAgICAgICAgICAvLyBBTUQ2NFxuICAgICAgICAgICAgXSwgW1tBUkNISVRFQ1RVUkUsICdhbWQ2NCddXSwgW1xuXG4gICAgICAgICAgICAvKGlhMzIoPz07KSkvaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIElBMzIgKHF1aWNrdGltZSlcbiAgICAgICAgICAgIF0sIFtbQVJDSElURUNUVVJFLCB1dGlsLmxvd2VyaXplXV0sIFtcblxuICAgICAgICAgICAgLygoPzppWzM0Nl18eCk4NilbO1xcKV0vaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gSUEzMlxuICAgICAgICAgICAgXSwgW1tBUkNISVRFQ1RVUkUsICdpYTMyJ11dLCBbXG5cbiAgICAgICAgICAgIC8vIFBvY2tldFBDIG1pc3Rha2VubHkgaWRlbnRpZmllZCBhcyBQb3dlclBDXG4gICAgICAgICAgICAvd2luZG93c1xccyhjZXxtb2JpbGUpO1xcc3BwYzsvaVxuICAgICAgICAgICAgXSwgW1tBUkNISVRFQ1RVUkUsICdhcm0nXV0sIFtcblxuICAgICAgICAgICAgLygoPzpwcGN8cG93ZXJwYykoPzo2NCk/KSg/Olxcc21hY3w7fFxcKSkvaSAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFBvd2VyUENcbiAgICAgICAgICAgIF0sIFtbQVJDSElURUNUVVJFLCAvb3dlci8sICcnLCB1dGlsLmxvd2VyaXplXV0sIFtcblxuICAgICAgICAgICAgLyhzdW40XFx3KVs7XFwpXS9pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFNQQVJDXG4gICAgICAgICAgICBdLCBbW0FSQ0hJVEVDVFVSRSwgJ3NwYXJjJ11dLCBbXG5cbiAgICAgICAgICAgIC8oKD86YXZyMzJ8aWE2NCg/PTspKXw2OGsoPz1cXCkpfGFybSg/OjY0fCg/PXZcXGQrWztsXSkpfCg/PWF0bWVsXFxzKWF2cnwoPzppcml4fG1pcHN8c3BhcmMpKD86NjQpPyg/PTspfHBhLXJpc2MpL2lcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gSUE2NCwgNjhLLCBBUk0vNjQsIEFWUi8zMiwgSVJJWC82NCwgTUlQUy82NCwgU1BBUkMvNjQsIFBBLVJJU0NcbiAgICAgICAgICAgIF0sIFtbQVJDSElURUNUVVJFLCB1dGlsLmxvd2VyaXplXV1cbiAgICAgICAgXSxcblxuICAgICAgICBkZXZpY2UgOiBbW1xuXG4gICAgICAgICAgICAvXFwoKGlwYWR8cGxheWJvb2spO1tcXHdcXHNcXCksOy1dKyhyaW18YXBwbGUpL2kgICAgICAgICAgICAgICAgICAgICAgICAvLyBpUGFkL1BsYXlCb29rXG4gICAgICAgICAgICBdLCBbTU9ERUwsIFZFTkRPUiwgW1RZUEUsIFRBQkxFVF1dLCBbXG5cbiAgICAgICAgICAgIC9hcHBsZWNvcmVtZWRpYVxcL1tcXHdcXC5dKyBcXCgoaXBhZCkvICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGlQYWRcbiAgICAgICAgICAgIF0sIFtNT0RFTCwgW1ZFTkRPUiwgJ0FwcGxlJ10sIFtUWVBFLCBUQUJMRVRdXSwgW1xuXG4gICAgICAgICAgICAvKGFwcGxlXFxzezAsMX10dikvaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBBcHBsZSBUVlxuICAgICAgICAgICAgXSwgW1tNT0RFTCwgJ0FwcGxlIFRWJ10sIFtWRU5ET1IsICdBcHBsZSddLCBbVFlQRSwgU01BUlRUVl1dLCBbXG5cbiAgICAgICAgICAgIC8oYXJjaG9zKVxccyhnYW1lcGFkMj8pL2ksICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEFyY2hvc1xuICAgICAgICAgICAgLyhocCkuKyh0b3VjaHBhZCkvaSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBIUCBUb3VjaFBhZFxuICAgICAgICAgICAgLyhocCkuKyh0YWJsZXQpL2ksICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBIUCBUYWJsZXRcbiAgICAgICAgICAgIC8oa2luZGxlKVxcLyhbXFx3XFwuXSspL2ksICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gS2luZGxlXG4gICAgICAgICAgICAvXFxzKG5vb2spW1xcd1xcc10rYnVpbGRcXC8oXFx3KykvaSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gTm9va1xuICAgICAgICAgICAgLyhkZWxsKVxccyhzdHJlYVtrcHJcXHNcXGRdKltcXGRrb10pL2kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gRGVsbCBTdHJlYWtcbiAgICAgICAgICAgIF0sIFtWRU5ET1IsIE1PREVMLCBbVFlQRSwgVEFCTEVUXV0sIFtcblxuICAgICAgICAgICAgLyhrZltBLXpdKylcXHNidWlsZFxcLy4rc2lsa1xcLy9pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBLaW5kbGUgRmlyZSBIRFxuICAgICAgICAgICAgXSwgW01PREVMLCBbVkVORE9SLCAnQW1hem9uJ10sIFtUWVBFLCBUQUJMRVRdXSwgW1xuICAgICAgICAgICAgLyhzZHxrZilbMDM0OWhpam9yc3R1d10rXFxzYnVpbGRcXC8uK3NpbGtcXC8vaSAgICAgICAgICAgICAgICAgICAgICAgICAvLyBGaXJlIFBob25lXG4gICAgICAgICAgICBdLCBbW01PREVMLCBtYXBwZXIuc3RyLCBtYXBzLmRldmljZS5hbWF6b24ubW9kZWxdLCBbVkVORE9SLCAnQW1hem9uJ10sIFtUWVBFLCBNT0JJTEVdXSwgW1xuICAgICAgICAgICAgL2FuZHJvaWQuK2FmdChbYm1zXSlcXHNidWlsZC9pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gRmlyZSBUVlxuICAgICAgICAgICAgXSwgW01PREVMLCBbVkVORE9SLCAnQW1hem9uJ10sIFtUWVBFLCBTTUFSVFRWXV0sIFtcblxuICAgICAgICAgICAgL1xcKChpcFtob25lZHxcXHNcXHcqXSspOy4rKGFwcGxlKS9pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBpUG9kL2lQaG9uZVxuICAgICAgICAgICAgXSwgW01PREVMLCBWRU5ET1IsIFtUWVBFLCBNT0JJTEVdXSwgW1xuICAgICAgICAgICAgL1xcKChpcFtob25lZHxcXHNcXHcqXSspOy9pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBpUG9kL2lQaG9uZVxuICAgICAgICAgICAgXSwgW01PREVMLCBbVkVORE9SLCAnQXBwbGUnXSwgW1RZUEUsIE1PQklMRV1dLCBbXG5cbiAgICAgICAgICAgIC8oYmxhY2tiZXJyeSlbXFxzLV0/KFxcdyspL2ksICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBCbGFja0JlcnJ5XG4gICAgICAgICAgICAvKGJsYWNrYmVycnl8YmVucXxwYWxtKD89XFwtKXxzb255ZXJpY3Nzb258YWNlcnxhc3VzfGRlbGx8bWVpenV8bW90b3JvbGF8cG9seXRyb24pW1xcc18tXT8oW1xcdy1dKikvaSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQmVuUS9QYWxtL1NvbnktRXJpY3Nzb24vQWNlci9Bc3VzL0RlbGwvTWVpenUvTW90b3JvbGEvUG9seXRyb25cbiAgICAgICAgICAgIC8oaHApXFxzKFtcXHdcXHNdK1xcdykvaSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEhQIGlQQVFcbiAgICAgICAgICAgIC8oYXN1cyktPyhcXHcrKS9pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEFzdXNcbiAgICAgICAgICAgIF0sIFtWRU5ET1IsIE1PREVMLCBbVFlQRSwgTU9CSUxFXV0sIFtcbiAgICAgICAgICAgIC9cXChiYjEwO1xccyhcXHcrKS9pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQmxhY2tCZXJyeSAxMFxuICAgICAgICAgICAgXSwgW01PREVMLCBbVkVORE9SLCAnQmxhY2tCZXJyeSddLCBbVFlQRSwgTU9CSUxFXV0sIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQXN1cyBUYWJsZXRzXG4gICAgICAgICAgICAvYW5kcm9pZC4rKHRyYW5zZm9bcHJpbWVcXHNdezQsMTB9XFxzXFx3K3xlZWVwY3xzbGlkZXJcXHNcXHcrfG5leHVzIDd8cGFkZm9uZXxwMDBjKS9pXG4gICAgICAgICAgICBdLCBbTU9ERUwsIFtWRU5ET1IsICdBc3VzJ10sIFtUWVBFLCBUQUJMRVRdXSwgW1xuXG4gICAgICAgICAgICAvKHNvbnkpXFxzKHRhYmxldFxcc1twc10pXFxzYnVpbGRcXC8vaSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gU29ueVxuICAgICAgICAgICAgLyhzb255KT8oPzpzZ3AuKylcXHNidWlsZFxcLy9pXG4gICAgICAgICAgICBdLCBbW1ZFTkRPUiwgJ1NvbnknXSwgW01PREVMLCAnWHBlcmlhIFRhYmxldCddLCBbVFlQRSwgVEFCTEVUXV0sIFtcbiAgICAgICAgICAgIC9hbmRyb2lkLitcXHMoW2MtZ11cXGR7NH18c29bLWxdXFx3KykoPz1cXHNidWlsZFxcL3xcXCkuK2Nocm9tZVxcLyg/IVsxLTZdezAsMX1cXGRcXC4pKS9pXG4gICAgICAgICAgICBdLCBbTU9ERUwsIFtWRU5ET1IsICdTb255J10sIFtUWVBFLCBNT0JJTEVdXSwgW1xuXG4gICAgICAgICAgICAvXFxzKG91eWEpXFxzL2ksICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gT3V5YVxuICAgICAgICAgICAgLyhuaW50ZW5kbylcXHMoW3dpZHMzdV0rKS9pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gTmludGVuZG9cbiAgICAgICAgICAgIF0sIFtWRU5ET1IsIE1PREVMLCBbVFlQRSwgQ09OU09MRV1dLCBbXG5cbiAgICAgICAgICAgIC9hbmRyb2lkLis7XFxzKHNoaWVsZClcXHNidWlsZC9pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBOdmlkaWFcbiAgICAgICAgICAgIF0sIFtNT0RFTCwgW1ZFTkRPUiwgJ052aWRpYSddLCBbVFlQRSwgQ09OU09MRV1dLCBbXG5cbiAgICAgICAgICAgIC8ocGxheXN0YXRpb25cXHNbMzRwb3J0YWJsZXZpXSspL2kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFBsYXlzdGF0aW9uXG4gICAgICAgICAgICBdLCBbTU9ERUwsIFtWRU5ET1IsICdTb255J10sIFtUWVBFLCBDT05TT0xFXV0sIFtcblxuICAgICAgICAgICAgLyhzcHJpbnRcXHMoXFx3KykpL2kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFNwcmludCBQaG9uZXNcbiAgICAgICAgICAgIF0sIFtbVkVORE9SLCBtYXBwZXIuc3RyLCBtYXBzLmRldmljZS5zcHJpbnQudmVuZG9yXSwgW01PREVMLCBtYXBwZXIuc3RyLCBtYXBzLmRldmljZS5zcHJpbnQubW9kZWxdLCBbVFlQRSwgTU9CSUxFXV0sIFtcblxuICAgICAgICAgICAgLyhodGMpWztfXFxzLV0rKFtcXHdcXHNdKyg/PVxcKXxcXHNidWlsZCl8XFx3KykvaSwgICAgICAgICAgICAgICAgICAgICAgICAvLyBIVENcbiAgICAgICAgICAgIC8oenRlKS0oXFx3KikvaSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFpURVxuICAgICAgICAgICAgLyhhbGNhdGVsfGdlZWtzcGhvbmV8bmV4aWFufHBhbmFzb25pY3woPz07XFxzKXNvbnkpW19cXHMtXT8oW1xcdy1dKikvaVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBBbGNhdGVsL0dlZWtzUGhvbmUvTmV4aWFuL1BhbmFzb25pYy9Tb255XG4gICAgICAgICAgICBdLCBbVkVORE9SLCBbTU9ERUwsIC9fL2csICcgJ10sIFtUWVBFLCBNT0JJTEVdXSwgW1xuXG4gICAgICAgICAgICAvKG5leHVzXFxzOSkvaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBIVEMgTmV4dXMgOVxuICAgICAgICAgICAgXSwgW01PREVMLCBbVkVORE9SLCAnSFRDJ10sIFtUWVBFLCBUQUJMRVRdXSwgW1xuXG4gICAgICAgICAgICAvZFxcL2h1YXdlaShbXFx3XFxzLV0rKVs7XFwpXS9pLFxuICAgICAgICAgICAgLyhuZXh1c1xcczZwfHZvZy1sMjl8YW5lLWx4MXxlbWwtbDI5KS9pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gSHVhd2VpXG4gICAgICAgICAgICBdLCBbTU9ERUwsIFtWRU5ET1IsICdIdWF3ZWknXSwgW1RZUEUsIE1PQklMRV1dLCBbXG5cbiAgICAgICAgICAgIC9hbmRyb2lkLisoYmFoMj8tYT9bbHddXFxkezJ9KS9pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEh1YXdlaSBNZWRpYVBhZFxuICAgICAgICAgICAgXSwgW01PREVMLCBbVkVORE9SLCAnSHVhd2VpJ10sIFtUWVBFLCBUQUJMRVRdXSwgW1xuXG4gICAgICAgICAgICAvKG1pY3Jvc29mdCk7XFxzKGx1bWlhW1xcc1xcd10rKS9pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE1pY3Jvc29mdCBMdW1pYVxuICAgICAgICAgICAgXSwgW1ZFTkRPUiwgTU9ERUwsIFtUWVBFLCBNT0JJTEVdXSwgW1xuXG4gICAgICAgICAgICAvW1xcc1xcKDtdKHhib3goPzpcXHNvbmUpPylbXFxzXFwpO10vaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gTWljcm9zb2Z0IFhib3hcbiAgICAgICAgICAgIF0sIFtNT0RFTCwgW1ZFTkRPUiwgJ01pY3Jvc29mdCddLCBbVFlQRSwgQ09OU09MRV1dLCBbXG4gICAgICAgICAgICAvKGtpblxcLltvbmV0d117M30pL2kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBNaWNyb3NvZnQgS2luXG4gICAgICAgICAgICBdLCBbW01PREVMLCAvXFwuL2csICcgJ10sIFtWRU5ET1IsICdNaWNyb3NvZnQnXSwgW1RZUEUsIE1PQklMRV1dLCBbXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gTW90b3JvbGFcbiAgICAgICAgICAgIC9cXHMobWlsZXN0b25lfGRyb2lkKD86WzItNHhdfFxccyg/OmJpb25pY3x4Mnxwcm98cmF6cikpPzo/KFxcczRnKT8pW1xcd1xcc10rYnVpbGRcXC8vaSxcbiAgICAgICAgICAgIC9tb3RbXFxzLV0/KFxcdyopL2ksXG4gICAgICAgICAgICAvKFhUXFxkezMsNH0pIGJ1aWxkXFwvL2ksXG4gICAgICAgICAgICAvKG5leHVzXFxzNikvaVxuICAgICAgICAgICAgXSwgW01PREVMLCBbVkVORE9SLCAnTW90b3JvbGEnXSwgW1RZUEUsIE1PQklMRV1dLCBbXG4gICAgICAgICAgICAvYW5kcm9pZC4rXFxzKG16NjBcXGR8eG9vbVtcXHMyXXswLDJ9KVxcc2J1aWxkXFwvL2lcbiAgICAgICAgICAgIF0sIFtNT0RFTCwgW1ZFTkRPUiwgJ01vdG9yb2xhJ10sIFtUWVBFLCBUQUJMRVRdXSwgW1xuXG4gICAgICAgICAgICAvaGJidHZcXC9cXGQrXFwuXFxkK1xcLlxcZCtcXHMrXFwoW1xcd1xcc10qO1xccyooXFx3W147XSopOyhbXjtdKikvaSAgICAgICAgICAgIC8vIEhiYlRWIGRldmljZXNcbiAgICAgICAgICAgIF0sIFtbVkVORE9SLCB1dGlsLnRyaW1dLCBbTU9ERUwsIHV0aWwudHJpbV0sIFtUWVBFLCBTTUFSVFRWXV0sIFtcblxuICAgICAgICAgICAgL2hiYnR2LittYXBsZTsoXFxkKykvaVxuICAgICAgICAgICAgXSwgW1tNT0RFTCwgL14vLCAnU21hcnRUViddLCBbVkVORE9SLCAnU2Ftc3VuZyddLCBbVFlQRSwgU01BUlRUVl1dLCBbXG5cbiAgICAgICAgICAgIC9cXChkdHZbXFwpO10uKyhhcXVvcykvaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBTaGFycFxuICAgICAgICAgICAgXSwgW01PREVMLCBbVkVORE9SLCAnU2hhcnAnXSwgW1RZUEUsIFNNQVJUVFZdXSwgW1xuXG4gICAgICAgICAgICAvYW5kcm9pZC4rKChzY2gtaVs4OV0wXFxkfHNody1tMzgwc3xndC1wXFxkezR9fGd0LW5cXGQrfHNnaC10OFs1Nl05fG5leHVzIDEwKSkvaSxcbiAgICAgICAgICAgIC8oKFNNLVRcXHcrKSkvaVxuICAgICAgICAgICAgXSwgW1tWRU5ET1IsICdTYW1zdW5nJ10sIE1PREVMLCBbVFlQRSwgVEFCTEVUXV0sIFsgICAgICAgICAgICAgICAgICAvLyBTYW1zdW5nXG4gICAgICAgICAgICAvc21hcnQtdHYuKyhzYW1zdW5nKS9pXG4gICAgICAgICAgICBdLCBbVkVORE9SLCBbVFlQRSwgU01BUlRUVl0sIE1PREVMXSwgW1xuICAgICAgICAgICAgLygoc1tjZ3BdaC1cXHcrfGd0LVxcdyt8Z2FsYXh5XFxzbmV4dXN8c20tXFx3W1xcd1xcZF0rKSkvaSxcbiAgICAgICAgICAgIC8oc2FtW3N1bmddKilbXFxzLV0qKFxcdystP1tcXHctXSopL2ksXG4gICAgICAgICAgICAvc2VjLSgoc2doXFx3KykpL2lcbiAgICAgICAgICAgIF0sIFtbVkVORE9SLCAnU2Ftc3VuZyddLCBNT0RFTCwgW1RZUEUsIE1PQklMRV1dLCBbXG5cbiAgICAgICAgICAgIC9zaWUtKFxcdyopL2kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFNpZW1lbnNcbiAgICAgICAgICAgIF0sIFtNT0RFTCwgW1ZFTkRPUiwgJ1NpZW1lbnMnXSwgW1RZUEUsIE1PQklMRV1dLCBbXG5cbiAgICAgICAgICAgIC8obWFlbW98bm9raWEpLioobjkwMHxsdW1pYVxcc1xcZCspL2ksICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBOb2tpYVxuICAgICAgICAgICAgLyhub2tpYSlbXFxzXy1dPyhbXFx3LV0qKS9pXG4gICAgICAgICAgICBdLCBbW1ZFTkRPUiwgJ05va2lhJ10sIE1PREVMLCBbVFlQRSwgTU9CSUxFXV0sIFtcblxuICAgICAgICAgICAgL2FuZHJvaWRbeFxcZFxcLlxccztdK1xccyhbYWJdWzEtN11cXC0/WzAxNzhhXVxcZFxcZD8pL2kgICAgICAgICAgICAgICAgICAgLy8gQWNlclxuICAgICAgICAgICAgXSwgW01PREVMLCBbVkVORE9SLCAnQWNlciddLCBbVFlQRSwgVEFCTEVUXV0sIFtcblxuICAgICAgICAgICAgL2FuZHJvaWQuKyhbdmxda1xcLT9cXGR7M30pXFxzK2J1aWxkL2kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBMRyBUYWJsZXRcbiAgICAgICAgICAgIF0sIFtNT0RFTCwgW1ZFTkRPUiwgJ0xHJ10sIFtUWVBFLCBUQUJMRVRdXSwgW1xuICAgICAgICAgICAgL2FuZHJvaWRcXHMzXFwuW1xcc1xcdzstXXsxMH0obGc/KS0oWzA2Y3Y5XXszLDR9KS9pICAgICAgICAgICAgICAgICAgICAgLy8gTEcgVGFibGV0XG4gICAgICAgICAgICBdLCBbW1ZFTkRPUiwgJ0xHJ10sIE1PREVMLCBbVFlQRSwgVEFCTEVUXV0sIFtcbiAgICAgICAgICAgIC8obGcpIG5ldGNhc3RcXC50di9pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIExHIFNtYXJ0VFZcbiAgICAgICAgICAgIF0sIFtWRU5ET1IsIE1PREVMLCBbVFlQRSwgU01BUlRUVl1dLCBbXG4gICAgICAgICAgICAvKG5leHVzXFxzWzQ1XSkvaSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBMR1xuICAgICAgICAgICAgL2xnW2U7XFxzXFwvLV0rKFxcdyopL2ksXG4gICAgICAgICAgICAvYW5kcm9pZC4rbGcoXFwtP1tcXGRcXHddKylcXHMrYnVpbGQvaVxuICAgICAgICAgICAgXSwgW01PREVMLCBbVkVORE9SLCAnTEcnXSwgW1RZUEUsIE1PQklMRV1dLCBbXG5cbiAgICAgICAgICAgIC8obGVub3ZvKVxccz8ocyg/OjUwMDB8NjAwMCkoPzpbXFx3LV0rKXx0YWIoPzpbXFxzXFx3XSspKS9pICAgICAgICAgICAgIC8vIExlbm92byB0YWJsZXRzXG4gICAgICAgICAgICBdLCBbVkVORE9SLCBNT0RFTCwgW1RZUEUsIFRBQkxFVF1dLCBbXG4gICAgICAgICAgICAvYW5kcm9pZC4rKGlkZWF0YWJbYS16MC05XFwtXFxzXSspL2kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gTGVub3ZvXG4gICAgICAgICAgICBdLCBbTU9ERUwsIFtWRU5ET1IsICdMZW5vdm8nXSwgW1RZUEUsIFRBQkxFVF1dLCBbXG4gICAgICAgICAgICAvKGxlbm92bylbX1xccy1dPyhbXFx3LV0rKS9pXG4gICAgICAgICAgICBdLCBbVkVORE9SLCBNT0RFTCwgW1RZUEUsIE1PQklMRV1dLCBbXG5cbiAgICAgICAgICAgIC9saW51eDsuKygoam9sbGEpKTsvaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gSm9sbGFcbiAgICAgICAgICAgIF0sIFtWRU5ET1IsIE1PREVMLCBbVFlQRSwgTU9CSUxFXV0sIFtcblxuICAgICAgICAgICAgLygocGViYmxlKSlhcHBcXC9bXFxkXFwuXStcXHMvaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gUGViYmxlXG4gICAgICAgICAgICBdLCBbVkVORE9SLCBNT0RFTCwgW1RZUEUsIFdFQVJBQkxFXV0sIFtcblxuICAgICAgICAgICAgL2FuZHJvaWQuKztcXHMob3BwbylcXHM/KFtcXHdcXHNdKylcXHNidWlsZC9pICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE9QUE9cbiAgICAgICAgICAgIF0sIFtWRU5ET1IsIE1PREVMLCBbVFlQRSwgTU9CSUxFXV0sIFtcblxuICAgICAgICAgICAgL2Nya2V5L2kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBHb29nbGUgQ2hyb21lY2FzdFxuICAgICAgICAgICAgXSwgW1tNT0RFTCwgJ0Nocm9tZWNhc3QnXSwgW1ZFTkRPUiwgJ0dvb2dsZSddLCBbVFlQRSwgU01BUlRUVl1dLCBbXG5cbiAgICAgICAgICAgIC9hbmRyb2lkLis7XFxzKGdsYXNzKVxcc1xcZC9pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gR29vZ2xlIEdsYXNzXG4gICAgICAgICAgICBdLCBbTU9ERUwsIFtWRU5ET1IsICdHb29nbGUnXSwgW1RZUEUsIFdFQVJBQkxFXV0sIFtcblxuICAgICAgICAgICAgL2FuZHJvaWQuKztcXHMocGl4ZWwgYylbXFxzKV0vaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEdvb2dsZSBQaXhlbCBDXG4gICAgICAgICAgICBdLCBbTU9ERUwsIFtWRU5ET1IsICdHb29nbGUnXSwgW1RZUEUsIFRBQkxFVF1dLCBbXG5cbiAgICAgICAgICAgIC9hbmRyb2lkLis7XFxzKHBpeGVsKCBbMjNdKT8oIHhsKT8pW1xccyldL2kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBHb29nbGUgUGl4ZWxcbiAgICAgICAgICAgIF0sIFtNT0RFTCwgW1ZFTkRPUiwgJ0dvb2dsZSddLCBbVFlQRSwgTU9CSUxFXV0sIFtcblxuICAgICAgICAgICAgL2FuZHJvaWQuKztcXHMoXFx3KylcXHMrYnVpbGRcXC9obVxcMS9pLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFhpYW9taSBIb25nbWkgJ251bWVyaWMnIG1vZGVsc1xuICAgICAgICAgICAgL2FuZHJvaWQuKyhobVtcXHNcXC1fXSpub3RlP1tcXHNfXSooPzpcXGRcXHcpPylcXHMrYnVpbGQvaSwgICAgICAgICAgICAgICAvLyBYaWFvbWkgSG9uZ21pXG4gICAgICAgICAgICAvYW5kcm9pZC4rKG1pW1xcc1xcLV9dKig/OmFcXGR8b25lfG9uZVtcXHNfXXBsdXN8bm90ZSBsdGUpP1tcXHNfXSooPzpcXGQ/XFx3PylbXFxzX10qKD86cGx1cyk/KVxccytidWlsZC9pLCAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gWGlhb21pIE1pXG4gICAgICAgICAgICAvYW5kcm9pZC4rKHJlZG1pW1xcc1xcLV9dKig/Om5vdGUpPyg/OltcXHNfXSpbXFx3XFxzXSspKVxccytidWlsZC9pICAgICAgIC8vIFJlZG1pIFBob25lc1xuICAgICAgICAgICAgXSwgW1tNT0RFTCwgL18vZywgJyAnXSwgW1ZFTkRPUiwgJ1hpYW9taSddLCBbVFlQRSwgTU9CSUxFXV0sIFtcbiAgICAgICAgICAgIC9hbmRyb2lkLisobWlbXFxzXFwtX10qKD86cGFkKSg/OltcXHNfXSpbXFx3XFxzXSspKVxccytidWlsZC9pICAgICAgICAgICAgLy8gTWkgUGFkIHRhYmxldHNcbiAgICAgICAgICAgIF0sW1tNT0RFTCwgL18vZywgJyAnXSwgW1ZFTkRPUiwgJ1hpYW9taSddLCBbVFlQRSwgVEFCTEVUXV0sIFtcbiAgICAgICAgICAgIC9hbmRyb2lkLis7XFxzKG1bMS01XVxcc25vdGUpXFxzYnVpbGQvaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gTWVpenVcbiAgICAgICAgICAgIF0sIFtNT0RFTCwgW1ZFTkRPUiwgJ01laXp1J10sIFtUWVBFLCBNT0JJTEVdXSwgW1xuICAgICAgICAgICAgLyhteiktKFtcXHctXXsyLH0pL2lcbiAgICAgICAgICAgIF0sIFtbVkVORE9SLCAnTWVpenUnXSwgTU9ERUwsIFtUWVBFLCBNT0JJTEVdXSwgW1xuXG4gICAgICAgICAgICAvYW5kcm9pZC4rYTAwMCgxKVxccytidWlsZC9pLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBPbmVQbHVzXG4gICAgICAgICAgICAvYW5kcm9pZC4rb25lcGx1c1xccyhhXFxkezR9KVtcXHMpXS9pXG4gICAgICAgICAgICBdLCBbTU9ERUwsIFtWRU5ET1IsICdPbmVQbHVzJ10sIFtUWVBFLCBNT0JJTEVdXSwgW1xuXG4gICAgICAgICAgICAvYW5kcm9pZC4rWztcXC9dXFxzKihSQ1RbXFxkXFx3XSspXFxzK2J1aWxkL2kgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gUkNBIFRhYmxldHNcbiAgICAgICAgICAgIF0sIFtNT0RFTCwgW1ZFTkRPUiwgJ1JDQSddLCBbVFlQRSwgVEFCTEVUXV0sIFtcblxuICAgICAgICAgICAgL2FuZHJvaWQuK1s7XFwvXFxzXSsoVmVudWVbXFxkXFxzXXsyLDd9KVxccytidWlsZC9pICAgICAgICAgICAgICAgICAgICAgIC8vIERlbGwgVmVudWUgVGFibGV0c1xuICAgICAgICAgICAgXSwgW01PREVMLCBbVkVORE9SLCAnRGVsbCddLCBbVFlQRSwgVEFCTEVUXV0sIFtcblxuICAgICAgICAgICAgL2FuZHJvaWQuK1s7XFwvXVxccyooUVtUfE1dW1xcZFxcd10rKVxccytidWlsZC9pICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFZlcml6b24gVGFibGV0XG4gICAgICAgICAgICBdLCBbTU9ERUwsIFtWRU5ET1IsICdWZXJpem9uJ10sIFtUWVBFLCBUQUJMRVRdXSwgW1xuXG4gICAgICAgICAgICAvYW5kcm9pZC4rWztcXC9dXFxzKyhCYXJuZXNbJlxcc10rTm9ibGVcXHMrfEJOW1JUXSkoVj8uKilcXHMrYnVpbGQvaSAgICAgLy8gQmFybmVzICYgTm9ibGUgVGFibGV0XG4gICAgICAgICAgICBdLCBbW1ZFTkRPUiwgJ0Jhcm5lcyAmIE5vYmxlJ10sIE1PREVMLCBbVFlQRSwgVEFCTEVUXV0sIFtcblxuICAgICAgICAgICAgL2FuZHJvaWQuK1s7XFwvXVxccysoVE1cXGR7M30uKlxcYilcXHMrYnVpbGQvaSAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEJhcm5lcyAmIE5vYmxlIFRhYmxldFxuICAgICAgICAgICAgXSwgW01PREVMLCBbVkVORE9SLCAnTnVWaXNpb24nXSwgW1RZUEUsIFRBQkxFVF1dLCBbXG5cbiAgICAgICAgICAgIC9hbmRyb2lkLis7XFxzKGs4OClcXHNidWlsZC9pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBaVEUgSyBTZXJpZXMgVGFibGV0XG4gICAgICAgICAgICBdLCBbTU9ERUwsIFtWRU5ET1IsICdaVEUnXSwgW1RZUEUsIFRBQkxFVF1dLCBbXG5cbiAgICAgICAgICAgIC9hbmRyb2lkLitbO1xcL11cXHMqKGdlblxcZHszfSlcXHMrYnVpbGQuKjQ5aC9pICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFN3aXNzIEdFTiBNb2JpbGVcbiAgICAgICAgICAgIF0sIFtNT0RFTCwgW1ZFTkRPUiwgJ1N3aXNzJ10sIFtUWVBFLCBNT0JJTEVdXSwgW1xuXG4gICAgICAgICAgICAvYW5kcm9pZC4rWztcXC9dXFxzKih6dXJcXGR7M30pXFxzK2J1aWxkL2kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBTd2lzcyBaVVIgVGFibGV0XG4gICAgICAgICAgICBdLCBbTU9ERUwsIFtWRU5ET1IsICdTd2lzcyddLCBbVFlQRSwgVEFCTEVUXV0sIFtcblxuICAgICAgICAgICAgL2FuZHJvaWQuK1s7XFwvXVxccyooKFpla2kpP1RCLipcXGIpXFxzK2J1aWxkL2kgICAgICAgICAgICAgICAgICAgICAgICAgLy8gWmVraSBUYWJsZXRzXG4gICAgICAgICAgICBdLCBbTU9ERUwsIFtWRU5ET1IsICdaZWtpJ10sIFtUWVBFLCBUQUJMRVRdXSwgW1xuXG4gICAgICAgICAgICAvKGFuZHJvaWQpLitbO1xcL11cXHMrKFtZUl1cXGR7Mn0pXFxzK2J1aWxkL2ksXG4gICAgICAgICAgICAvYW5kcm9pZC4rWztcXC9dXFxzKyhEcmFnb25bXFwtXFxzXStUb3VjaFxccyt8RFQpKFxcd3s1fSlcXHNidWlsZC9pICAgICAgICAvLyBEcmFnb24gVG91Y2ggVGFibGV0XG4gICAgICAgICAgICBdLCBbW1ZFTkRPUiwgJ0RyYWdvbiBUb3VjaCddLCBNT0RFTCwgW1RZUEUsIFRBQkxFVF1dLCBbXG5cbiAgICAgICAgICAgIC9hbmRyb2lkLitbO1xcL11cXHMqKE5TLT9cXHd7MCw5fSlcXHNidWlsZC9pICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEluc2lnbmlhIFRhYmxldHNcbiAgICAgICAgICAgIF0sIFtNT0RFTCwgW1ZFTkRPUiwgJ0luc2lnbmlhJ10sIFtUWVBFLCBUQUJMRVRdXSwgW1xuXG4gICAgICAgICAgICAvYW5kcm9pZC4rWztcXC9dXFxzKigoTlh8TmV4dCktP1xcd3swLDl9KVxccytidWlsZC9pICAgICAgICAgICAgICAgICAgICAvLyBOZXh0Qm9vayBUYWJsZXRzXG4gICAgICAgICAgICBdLCBbTU9ERUwsIFtWRU5ET1IsICdOZXh0Qm9vayddLCBbVFlQRSwgVEFCTEVUXV0sIFtcblxuICAgICAgICAgICAgL2FuZHJvaWQuK1s7XFwvXVxccyooWHRyZW1lXFxfKT8oVigxWzA0NV18MlswMTVdfDMwfDQwfDYwfDdbMDVdfDkwKSlcXHMrYnVpbGQvaVxuICAgICAgICAgICAgXSwgW1tWRU5ET1IsICdWb2ljZSddLCBNT0RFTCwgW1RZUEUsIE1PQklMRV1dLCBbICAgICAgICAgICAgICAgICAgICAvLyBWb2ljZSBYdHJlbWUgUGhvbmVzXG5cbiAgICAgICAgICAgIC9hbmRyb2lkLitbO1xcL11cXHMqKExWVEVMXFwtKT8oVjFbMTJdKVxccytidWlsZC9pICAgICAgICAgICAgICAgICAgICAgLy8gTHZUZWwgUGhvbmVzXG4gICAgICAgICAgICBdLCBbW1ZFTkRPUiwgJ0x2VGVsJ10sIE1PREVMLCBbVFlQRSwgTU9CSUxFXV0sIFtcblxuICAgICAgICAgICAgL2FuZHJvaWQuKztcXHMoUEgtMSlcXHMvaVxuICAgICAgICAgICAgXSwgW01PREVMLCBbVkVORE9SLCAnRXNzZW50aWFsJ10sIFtUWVBFLCBNT0JJTEVdXSwgWyAgICAgICAgICAgICAgICAvLyBFc3NlbnRpYWwgUEgtMVxuXG4gICAgICAgICAgICAvYW5kcm9pZC4rWztcXC9dXFxzKihWKDEwME1EfDcwME5BfDcwMTF8OTE3RykuKlxcYilcXHMrYnVpbGQvaSAgICAgICAgICAvLyBFbnZpemVuIFRhYmxldHNcbiAgICAgICAgICAgIF0sIFtNT0RFTCwgW1ZFTkRPUiwgJ0Vudml6ZW4nXSwgW1RZUEUsIFRBQkxFVF1dLCBbXG5cbiAgICAgICAgICAgIC9hbmRyb2lkLitbO1xcL11cXHMqKExlW1xcc1xcLV0rUGFuKVtcXHNcXC1dKyhcXHd7MSw5fSlcXHMrYnVpbGQvaSAgICAgICAgICAvLyBMZSBQYW4gVGFibGV0c1xuICAgICAgICAgICAgXSwgW1ZFTkRPUiwgTU9ERUwsIFtUWVBFLCBUQUJMRVRdXSwgW1xuXG4gICAgICAgICAgICAvYW5kcm9pZC4rWztcXC9dXFxzKihUcmlvW1xcc1xcLV0qLiopXFxzK2J1aWxkL2kgICAgICAgICAgICAgICAgICAgICAgICAgLy8gTWFjaFNwZWVkIFRhYmxldHNcbiAgICAgICAgICAgIF0sIFtNT0RFTCwgW1ZFTkRPUiwgJ01hY2hTcGVlZCddLCBbVFlQRSwgVEFCTEVUXV0sIFtcblxuICAgICAgICAgICAgL2FuZHJvaWQuK1s7XFwvXVxccyooVHJpbml0eSlbXFwtXFxzXSooVFxcZHszfSlcXHMrYnVpbGQvaSAgICAgICAgICAgICAgICAvLyBUcmluaXR5IFRhYmxldHNcbiAgICAgICAgICAgIF0sIFtWRU5ET1IsIE1PREVMLCBbVFlQRSwgVEFCTEVUXV0sIFtcblxuICAgICAgICAgICAgL2FuZHJvaWQuK1s7XFwvXVxccypUVV8oMTQ5MSlcXHMrYnVpbGQvaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBSb3RvciBUYWJsZXRzXG4gICAgICAgICAgICBdLCBbTU9ERUwsIFtWRU5ET1IsICdSb3RvciddLCBbVFlQRSwgVEFCTEVUXV0sIFtcblxuICAgICAgICAgICAgL2FuZHJvaWQuKyhLUyguKykpXFxzK2J1aWxkL2kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQW1hem9uIEtpbmRsZSBUYWJsZXRzXG4gICAgICAgICAgICBdLCBbTU9ERUwsIFtWRU5ET1IsICdBbWF6b24nXSwgW1RZUEUsIFRBQkxFVF1dLCBbXG5cbiAgICAgICAgICAgIC9hbmRyb2lkLisoR2lnYXNldClbXFxzXFwtXSsoUVxcd3sxLDl9KVxccytidWlsZC9pICAgICAgICAgICAgICAgICAgICAgIC8vIEdpZ2FzZXQgVGFibGV0c1xuICAgICAgICAgICAgXSwgW1ZFTkRPUiwgTU9ERUwsIFtUWVBFLCBUQUJMRVRdXSwgW1xuXG4gICAgICAgICAgICAvXFxzKHRhYmxldHx0YWIpWztcXC9dL2ksICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVW5pZGVudGlmaWFibGUgVGFibGV0XG4gICAgICAgICAgICAvXFxzKG1vYmlsZSkoPzpbO1xcL118XFxzc2FmYXJpKS9pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFVuaWRlbnRpZmlhYmxlIE1vYmlsZVxuICAgICAgICAgICAgXSwgW1tUWVBFLCB1dGlsLmxvd2VyaXplXSwgVkVORE9SLCBNT0RFTF0sIFtcblxuICAgICAgICAgICAgL1tcXHNcXC9cXChdKHNtYXJ0LT90dilbO1xcKV0vaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gU21hcnRUVlxuICAgICAgICAgICAgXSwgW1tUWVBFLCBTTUFSVFRWXV0sIFtcblxuICAgICAgICAgICAgLyhhbmRyb2lkW1xcd1xcLlxcc1xcLV17MCw5fSk7LitidWlsZC9pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gR2VuZXJpYyBBbmRyb2lkIERldmljZVxuICAgICAgICAgICAgXSwgW01PREVMLCBbVkVORE9SLCAnR2VuZXJpYyddXVxuICAgICAgICBdLFxuXG4gICAgICAgIGVuZ2luZSA6IFtbXG5cbiAgICAgICAgICAgIC93aW5kb3dzLitcXHNlZGdlXFwvKFtcXHdcXC5dKykvaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEVkZ2VIVE1MXG4gICAgICAgICAgICBdLCBbVkVSU0lPTiwgW05BTUUsICdFZGdlSFRNTCddXSwgW1xuXG4gICAgICAgICAgICAvd2Via2l0XFwvNTM3XFwuMzYuK2Nocm9tZVxcLyg/ITI3KShbXFx3XFwuXSspL2kgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQmxpbmtcbiAgICAgICAgICAgIF0sIFtWRVJTSU9OLCBbTkFNRSwgJ0JsaW5rJ11dLCBbXG5cbiAgICAgICAgICAgIC8ocHJlc3RvKVxcLyhbXFx3XFwuXSspL2ksICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gUHJlc3RvXG4gICAgICAgICAgICAvKHdlYmtpdHx0cmlkZW50fG5ldGZyb250fG5ldHN1cmZ8YW1heWF8bHlueHx3M218Z29hbm5hKVxcLyhbXFx3XFwuXSspL2ksICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gV2ViS2l0L1RyaWRlbnQvTmV0RnJvbnQvTmV0U3VyZi9BbWF5YS9MeW54L3czbS9Hb2FubmFcbiAgICAgICAgICAgIC8oa2h0bWx8dGFzbWFufGxpbmtzKVtcXC9cXHNdXFwoPyhbXFx3XFwuXSspL2ksICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBLSFRNTC9UYXNtYW4vTGlua3NcbiAgICAgICAgICAgIC8oaWNhYilbXFwvXFxzXShbMjNdXFwuW1xcZFxcLl0rKS9pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBpQ2FiXG4gICAgICAgICAgICBdLCBbTkFNRSwgVkVSU0lPTl0sIFtcblxuICAgICAgICAgICAgL3J2XFw6KFtcXHdcXC5dezEsOX0pLisoZ2Vja28pL2kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBHZWNrb1xuICAgICAgICAgICAgXSwgW1ZFUlNJT04sIE5BTUVdXG4gICAgICAgIF0sXG5cbiAgICAgICAgb3MgOiBbW1xuXG4gICAgICAgICAgICAvLyBXaW5kb3dzIGJhc2VkXG4gICAgICAgICAgICAvbWljcm9zb2Z0XFxzKHdpbmRvd3MpXFxzKHZpc3RhfHhwKS9pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gV2luZG93cyAoaVR1bmVzKVxuICAgICAgICAgICAgXSwgW05BTUUsIFZFUlNJT05dLCBbXG4gICAgICAgICAgICAvKHdpbmRvd3MpXFxzbnRcXHM2XFwuMjtcXHMoYXJtKS9pLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBXaW5kb3dzIFJUXG4gICAgICAgICAgICAvKHdpbmRvd3NcXHNwaG9uZSg/Olxcc29zKSopW1xcc1xcL10/KFtcXGRcXC5cXHNcXHddKikvaSwgICAgICAgICAgICAgICAgICAgLy8gV2luZG93cyBQaG9uZVxuICAgICAgICAgICAgLyh3aW5kb3dzXFxzbW9iaWxlfHdpbmRvd3MpW1xcc1xcL10/KFtudGNlXFxkXFwuXFxzXStcXHcpL2lcbiAgICAgICAgICAgIF0sIFtOQU1FLCBbVkVSU0lPTiwgbWFwcGVyLnN0ciwgbWFwcy5vcy53aW5kb3dzLnZlcnNpb25dXSwgW1xuICAgICAgICAgICAgLyh3aW4oPz0zfDl8bil8d2luXFxzOXhcXHMpKFtudFxcZFxcLl0rKS9pXG4gICAgICAgICAgICBdLCBbW05BTUUsICdXaW5kb3dzJ10sIFtWRVJTSU9OLCBtYXBwZXIuc3RyLCBtYXBzLm9zLndpbmRvd3MudmVyc2lvbl1dLCBbXG5cbiAgICAgICAgICAgIC8vIE1vYmlsZS9FbWJlZGRlZCBPU1xuICAgICAgICAgICAgL1xcKChiYikoMTApOy9pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQmxhY2tCZXJyeSAxMFxuICAgICAgICAgICAgXSwgW1tOQU1FLCAnQmxhY2tCZXJyeSddLCBWRVJTSU9OXSwgW1xuICAgICAgICAgICAgLyhibGFja2JlcnJ5KVxcdypcXC8/KFtcXHdcXC5dKikvaSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQmxhY2tiZXJyeVxuICAgICAgICAgICAgLyh0aXplbnxrYWlvcylbXFwvXFxzXShbXFx3XFwuXSspL2ksICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGl6ZW4vS2FpT1NcbiAgICAgICAgICAgIC8oYW5kcm9pZHx3ZWJvc3xwYWxtXFxzb3N8cW54fGJhZGF8cmltXFxzdGFibGV0XFxzb3N8bWVlZ298c2FpbGZpc2h8Y29udGlraSlbXFwvXFxzLV0/KFtcXHdcXC5dKikvaVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBBbmRyb2lkL1dlYk9TL1BhbG0vUU5YL0JhZGEvUklNL01lZUdvL0NvbnRpa2kvU2FpbGZpc2ggT1NcbiAgICAgICAgICAgIF0sIFtOQU1FLCBWRVJTSU9OXSwgW1xuICAgICAgICAgICAgLyhzeW1iaWFuXFxzP29zfHN5bWJvc3xzNjAoPz07KSlbXFwvXFxzLV0/KFtcXHdcXC5dKikvaSAgICAgICAgICAgICAgICAgIC8vIFN5bWJpYW5cbiAgICAgICAgICAgIF0sIFtbTkFNRSwgJ1N5bWJpYW4nXSwgVkVSU0lPTl0sIFtcbiAgICAgICAgICAgIC9cXCgoc2VyaWVzNDApOy9pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFNlcmllcyA0MFxuICAgICAgICAgICAgXSwgW05BTUVdLCBbXG4gICAgICAgICAgICAvbW96aWxsYS4rXFwobW9iaWxlOy4rZ2Vja28uK2ZpcmVmb3gvaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBGaXJlZm94IE9TXG4gICAgICAgICAgICBdLCBbW05BTUUsICdGaXJlZm94IE9TJ10sIFZFUlNJT05dLCBbXG5cbiAgICAgICAgICAgIC8vIENvbnNvbGVcbiAgICAgICAgICAgIC8obmludGVuZG98cGxheXN0YXRpb24pXFxzKFt3aWRzMzRwb3J0YWJsZXZ1XSspL2ksICAgICAgICAgICAgICAgICAgIC8vIE5pbnRlbmRvL1BsYXlzdGF0aW9uXG5cbiAgICAgICAgICAgIC8vIEdOVS9MaW51eCBiYXNlZFxuICAgICAgICAgICAgLyhtaW50KVtcXC9cXHNcXChdPyhcXHcqKS9pLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gTWludFxuICAgICAgICAgICAgLyhtYWdlaWF8dmVjdG9ybGludXgpWztcXHNdL2ksICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gTWFnZWlhL1ZlY3RvckxpbnV4XG4gICAgICAgICAgICAvKGpvbGl8W2t4bG5dP3VidW50dXxkZWJpYW58c3VzZXxvcGVuc3VzZXxnZW50b298KD89XFxzKWFyY2h8c2xhY2t3YXJlfGZlZG9yYXxtYW5kcml2YXxjZW50b3N8cGNsaW51eG9zfHJlZGhhdHx6ZW53YWxrfGxpbnB1cylbXFwvXFxzLV0/KD8hY2hyb20pKFtcXHdcXC4tXSopL2ksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEpvbGkvVWJ1bnR1L0RlYmlhbi9TVVNFL0dlbnRvby9BcmNoL1NsYWNrd2FyZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBGZWRvcmEvTWFuZHJpdmEvQ2VudE9TL1BDTGludXhPUy9SZWRIYXQvWmVud2Fsay9MaW5wdXNcbiAgICAgICAgICAgIC8oaHVyZHxsaW51eClcXHM/KFtcXHdcXC5dKikvaSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gSHVyZC9MaW51eFxuICAgICAgICAgICAgLyhnbnUpXFxzPyhbXFx3XFwuXSopL2kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBHTlVcbiAgICAgICAgICAgIF0sIFtOQU1FLCBWRVJTSU9OXSwgW1xuXG4gICAgICAgICAgICAvKGNyb3MpXFxzW1xcd10rXFxzKFtcXHdcXC5dK1xcdykvaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIENocm9taXVtIE9TXG4gICAgICAgICAgICBdLCBbW05BTUUsICdDaHJvbWl1bSBPUyddLCBWRVJTSU9OXSxbXG5cbiAgICAgICAgICAgIC8vIFNvbGFyaXNcbiAgICAgICAgICAgIC8oc3Vub3MpXFxzPyhbXFx3XFwuXFxkXSopL2kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFNvbGFyaXNcbiAgICAgICAgICAgIF0sIFtbTkFNRSwgJ1NvbGFyaXMnXSwgVkVSU0lPTl0sIFtcblxuICAgICAgICAgICAgLy8gQlNEIGJhc2VkXG4gICAgICAgICAgICAvXFxzKFtmcmVudG9wYy1dezAsNH1ic2R8ZHJhZ29uZmx5KVxccz8oW1xcd1xcLl0qKS9pICAgICAgICAgICAgICAgICAgICAvLyBGcmVlQlNEL05ldEJTRC9PcGVuQlNEL1BDLUJTRC9EcmFnb25GbHlcbiAgICAgICAgICAgIF0sIFtOQU1FLCBWRVJTSU9OXSxbXG5cbiAgICAgICAgICAgIC8oaGFpa3UpXFxzKFxcdyspL2kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBIYWlrdVxuICAgICAgICAgICAgXSwgW05BTUUsIFZFUlNJT05dLFtcblxuICAgICAgICAgICAgL2NmbmV0d29ya1xcLy4rZGFyd2luL2ksXG4gICAgICAgICAgICAvaXBbaG9uZWFkXXsyLDR9KD86Lipvc1xccyhbXFx3XSspXFxzbGlrZVxcc21hY3w7XFxzb3BlcmEpL2kgICAgICAgICAgICAgLy8gaU9TXG4gICAgICAgICAgICBdLCBbW1ZFUlNJT04sIC9fL2csICcuJ10sIFtOQU1FLCAnaU9TJ11dLCBbXG5cbiAgICAgICAgICAgIC8obWFjXFxzb3NcXHN4KVxccz8oW1xcd1xcc1xcLl0qKS9pLFxuICAgICAgICAgICAgLyhtYWNpbnRvc2h8bWFjKD89X3Bvd2VycGMpXFxzKS9pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gTWFjIE9TXG4gICAgICAgICAgICBdLCBbW05BTUUsICdNYWMgT1MnXSwgW1ZFUlNJT04sIC9fL2csICcuJ11dLCBbXG5cbiAgICAgICAgICAgIC8vIE90aGVyXG4gICAgICAgICAgICAvKCg/Om9wZW4pP3NvbGFyaXMpW1xcL1xccy1dPyhbXFx3XFwuXSopL2ksICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBTb2xhcmlzXG4gICAgICAgICAgICAvKGFpeClcXHMoKFxcZCkoPz1cXC58XFwpfFxccylbXFx3XFwuXSkqL2ksICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBBSVhcbiAgICAgICAgICAgIC8ocGxhblxcczl8bWluaXh8YmVvc3xvc1xcLzJ8YW1pZ2Fvc3xtb3JwaG9zfHJpc2NcXHNvc3xvcGVudm1zfGZ1Y2hzaWEpL2ksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFBsYW45L01pbml4L0JlT1MvT1MyL0FtaWdhT1MvTW9ycGhPUy9SSVNDT1MvT3BlblZNUy9GdWNoc2lhXG4gICAgICAgICAgICAvKHVuaXgpXFxzPyhbXFx3XFwuXSopL2kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFVOSVhcbiAgICAgICAgICAgIF0sIFtOQU1FLCBWRVJTSU9OXVxuICAgICAgICBdXG4gICAgfTtcblxuXG4gICAgLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBDb25zdHJ1Y3RvclxuICAgIC8vLy8vLy8vLy8vLy8vLy9cbiAgICB2YXIgVUFQYXJzZXIgPSBmdW5jdGlvbiAodWFzdHJpbmcsIGV4dGVuc2lvbnMpIHtcblxuICAgICAgICBpZiAodHlwZW9mIHVhc3RyaW5nID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgZXh0ZW5zaW9ucyA9IHVhc3RyaW5nO1xuICAgICAgICAgICAgdWFzdHJpbmcgPSB1bmRlZmluZWQ7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoISh0aGlzIGluc3RhbmNlb2YgVUFQYXJzZXIpKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IFVBUGFyc2VyKHVhc3RyaW5nLCBleHRlbnNpb25zKS5nZXRSZXN1bHQoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciB1YSA9IHVhc3RyaW5nIHx8ICgod2luZG93ICYmIHdpbmRvdy5uYXZpZ2F0b3IgJiYgd2luZG93Lm5hdmlnYXRvci51c2VyQWdlbnQpID8gd2luZG93Lm5hdmlnYXRvci51c2VyQWdlbnQgOiBFTVBUWSk7XG4gICAgICAgIHZhciByZ3htYXAgPSBleHRlbnNpb25zID8gdXRpbC5leHRlbmQocmVnZXhlcywgZXh0ZW5zaW9ucykgOiByZWdleGVzO1xuXG4gICAgICAgIHRoaXMuZ2V0QnJvd3NlciA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHZhciBicm93c2VyID0geyBuYW1lOiB1bmRlZmluZWQsIHZlcnNpb246IHVuZGVmaW5lZCB9O1xuICAgICAgICAgICAgbWFwcGVyLnJneC5jYWxsKGJyb3dzZXIsIHVhLCByZ3htYXAuYnJvd3Nlcik7XG4gICAgICAgICAgICBicm93c2VyLm1ham9yID0gdXRpbC5tYWpvcihicm93c2VyLnZlcnNpb24pOyAvLyBkZXByZWNhdGVkXG4gICAgICAgICAgICByZXR1cm4gYnJvd3NlcjtcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5nZXRDUFUgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICB2YXIgY3B1ID0geyBhcmNoaXRlY3R1cmU6IHVuZGVmaW5lZCB9O1xuICAgICAgICAgICAgbWFwcGVyLnJneC5jYWxsKGNwdSwgdWEsIHJneG1hcC5jcHUpO1xuICAgICAgICAgICAgcmV0dXJuIGNwdTtcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5nZXREZXZpY2UgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICB2YXIgZGV2aWNlID0geyB2ZW5kb3I6IHVuZGVmaW5lZCwgbW9kZWw6IHVuZGVmaW5lZCwgdHlwZTogdW5kZWZpbmVkIH07XG4gICAgICAgICAgICBtYXBwZXIucmd4LmNhbGwoZGV2aWNlLCB1YSwgcmd4bWFwLmRldmljZSk7XG4gICAgICAgICAgICByZXR1cm4gZGV2aWNlO1xuICAgICAgICB9O1xuICAgICAgICB0aGlzLmdldEVuZ2luZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHZhciBlbmdpbmUgPSB7IG5hbWU6IHVuZGVmaW5lZCwgdmVyc2lvbjogdW5kZWZpbmVkIH07XG4gICAgICAgICAgICBtYXBwZXIucmd4LmNhbGwoZW5naW5lLCB1YSwgcmd4bWFwLmVuZ2luZSk7XG4gICAgICAgICAgICByZXR1cm4gZW5naW5lO1xuICAgICAgICB9O1xuICAgICAgICB0aGlzLmdldE9TID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgdmFyIG9zID0geyBuYW1lOiB1bmRlZmluZWQsIHZlcnNpb246IHVuZGVmaW5lZCB9O1xuICAgICAgICAgICAgbWFwcGVyLnJneC5jYWxsKG9zLCB1YSwgcmd4bWFwLm9zKTtcbiAgICAgICAgICAgIHJldHVybiBvcztcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5nZXRSZXN1bHQgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHVhICAgICAgOiB0aGlzLmdldFVBKCksXG4gICAgICAgICAgICAgICAgYnJvd3NlciA6IHRoaXMuZ2V0QnJvd3NlcigpLFxuICAgICAgICAgICAgICAgIGVuZ2luZSAgOiB0aGlzLmdldEVuZ2luZSgpLFxuICAgICAgICAgICAgICAgIG9zICAgICAgOiB0aGlzLmdldE9TKCksXG4gICAgICAgICAgICAgICAgZGV2aWNlICA6IHRoaXMuZ2V0RGV2aWNlKCksXG4gICAgICAgICAgICAgICAgY3B1ICAgICA6IHRoaXMuZ2V0Q1BVKClcbiAgICAgICAgICAgIH07XG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuZ2V0VUEgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICByZXR1cm4gdWE7XG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuc2V0VUEgPSBmdW5jdGlvbiAodWFzdHJpbmcpIHtcbiAgICAgICAgICAgIHVhID0gdWFzdHJpbmc7XG4gICAgICAgICAgICByZXR1cm4gdGhpcztcbiAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfTtcblxuICAgIFVBUGFyc2VyLlZFUlNJT04gPSBMSUJWRVJTSU9OO1xuICAgIFVBUGFyc2VyLkJST1dTRVIgPSB7XG4gICAgICAgIE5BTUUgICAgOiBOQU1FLFxuICAgICAgICBNQUpPUiAgIDogTUFKT1IsIC8vIGRlcHJlY2F0ZWRcbiAgICAgICAgVkVSU0lPTiA6IFZFUlNJT05cbiAgICB9O1xuICAgIFVBUGFyc2VyLkNQVSA9IHtcbiAgICAgICAgQVJDSElURUNUVVJFIDogQVJDSElURUNUVVJFXG4gICAgfTtcbiAgICBVQVBhcnNlci5ERVZJQ0UgPSB7XG4gICAgICAgIE1PREVMICAgOiBNT0RFTCxcbiAgICAgICAgVkVORE9SICA6IFZFTkRPUixcbiAgICAgICAgVFlQRSAgICA6IFRZUEUsXG4gICAgICAgIENPTlNPTEUgOiBDT05TT0xFLFxuICAgICAgICBNT0JJTEUgIDogTU9CSUxFLFxuICAgICAgICBTTUFSVFRWIDogU01BUlRUVixcbiAgICAgICAgVEFCTEVUICA6IFRBQkxFVCxcbiAgICAgICAgV0VBUkFCTEU6IFdFQVJBQkxFLFxuICAgICAgICBFTUJFRERFRDogRU1CRURERURcbiAgICB9O1xuICAgIFVBUGFyc2VyLkVOR0lORSA9IHtcbiAgICAgICAgTkFNRSAgICA6IE5BTUUsXG4gICAgICAgIFZFUlNJT04gOiBWRVJTSU9OXG4gICAgfTtcbiAgICBVQVBhcnNlci5PUyA9IHtcbiAgICAgICAgTkFNRSAgICA6IE5BTUUsXG4gICAgICAgIFZFUlNJT04gOiBWRVJTSU9OXG4gICAgfTtcblxuICAgIC8vLy8vLy8vLy8vXG4gICAgLy8gRXhwb3J0XG4gICAgLy8vLy8vLy8vL1xuXG5cbiAgICAvLyBjaGVjayBqcyBlbnZpcm9ubWVudFxuICAgIGlmICh0eXBlb2YoZXhwb3J0cykgIT09IFVOREVGX1RZUEUpIHtcbiAgICAgICAgLy8gbm9kZWpzIGVudlxuICAgICAgICBpZiAodHlwZW9mIG1vZHVsZSAhPT0gVU5ERUZfVFlQRSAmJiBtb2R1bGUuZXhwb3J0cykge1xuICAgICAgICAgICAgZXhwb3J0cyA9IG1vZHVsZS5leHBvcnRzID0gVUFQYXJzZXI7XG4gICAgICAgIH1cbiAgICAgICAgZXhwb3J0cy5VQVBhcnNlciA9IFVBUGFyc2VyO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIHJlcXVpcmVqcyBlbnYgKG9wdGlvbmFsKVxuICAgICAgICBpZiAodHlwZW9mKGRlZmluZSkgPT09ICdmdW5jdGlvbicgJiYgZGVmaW5lLmFtZCkge1xuICAgICAgICAgICAgZGVmaW5lKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gVUFQYXJzZXI7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIGlmICh3aW5kb3cpIHtcbiAgICAgICAgICAgIC8vIGJyb3dzZXIgZW52XG4gICAgICAgICAgICB3aW5kb3cuVUFQYXJzZXIgPSBVQVBhcnNlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIGpRdWVyeS9aZXB0byBzcGVjaWZpYyAob3B0aW9uYWwpXG4gICAgLy8gTm90ZTpcbiAgICAvLyAgIEluIEFNRCBlbnYgdGhlIGdsb2JhbCBzY29wZSBzaG91bGQgYmUga2VwdCBjbGVhbiwgYnV0IGpRdWVyeSBpcyBhbiBleGNlcHRpb24uXG4gICAgLy8gICBqUXVlcnkgYWx3YXlzIGV4cG9ydHMgdG8gZ2xvYmFsIHNjb3BlLCB1bmxlc3MgalF1ZXJ5Lm5vQ29uZmxpY3QodHJ1ZSkgaXMgdXNlZCxcbiAgICAvLyAgIGFuZCB3ZSBzaG91bGQgY2F0Y2ggdGhhdC5cbiAgICB2YXIgJCA9IHdpbmRvdyAmJiAod2luZG93LmpRdWVyeSB8fCB3aW5kb3cuWmVwdG8pO1xuICAgIGlmICgkICYmICEkLnVhKSB7XG4gICAgICAgIHZhciBwYXJzZXIgPSBuZXcgVUFQYXJzZXIoKTtcbiAgICAgICAgJC51YSA9IHBhcnNlci5nZXRSZXN1bHQoKTtcbiAgICAgICAgJC51YS5nZXQgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICByZXR1cm4gcGFyc2VyLmdldFVBKCk7XG4gICAgICAgIH07XG4gICAgICAgICQudWEuc2V0ID0gZnVuY3Rpb24gKHVhc3RyaW5nKSB7XG4gICAgICAgICAgICBwYXJzZXIuc2V0VUEodWFzdHJpbmcpO1xuICAgICAgICAgICAgdmFyIHJlc3VsdCA9IHBhcnNlci5nZXRSZXN1bHQoKTtcbiAgICAgICAgICAgIGZvciAodmFyIHByb3AgaW4gcmVzdWx0KSB7XG4gICAgICAgICAgICAgICAgJC51YVtwcm9wXSA9IHJlc3VsdFtwcm9wXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICB9XG5cbn0pKHR5cGVvZiB3aW5kb3cgPT09ICdvYmplY3QnID8gd2luZG93IDogdGhpcyk7XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/fbjs/node_modules/ua-parser-js/src/ua-parser.js\n"); /***/ }), @@ -1826,7 +2065,7 @@ eval("\nvar content = __webpack_require__(/*! !../../css-loader??ref--6-1!../../ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { -eval("!function(e,t){ true?module.exports=t(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"),__webpack_require__(/*! draft-js */ \"./node_modules/draft-js/lib/Draft.js\"),__webpack_require__(/*! immutable */ \"./node_modules/immutable/dist/immutable.es.js\")):undefined}(\"undefined\"!=typeof self?self:this,function(e,t,n){return function(e){function t(o){if(n[o])return n[o].exports;var r=n[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,t),r.l=!0,r.exports}var n={};return t.m=e,t.c=n,t.d=function(e,n,o){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:o})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,\"a\",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p=\"\",t(t.s=13)}([function(t,n){t.exports=e},function(e,t,n){\"use strict\";\"function\"==typeof Symbol&&Symbol.iterator;e.exports=n(16)()},function(e,t,n){\"use strict\";var o,r,i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e};/*!\n Copyright (c) 2016 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n!function(){function a(){for(var e=[],t=0;t-1)return o.get(r)}}function l(e){return e?e.getCurrentContent().getBlockMap().toList():new h.List}function c(e){var t=r(e);if(!t.some(function(e){return e.type!==t.get(0).type}))return t.get(0).type}function s(e){var t=y.RichUtils.tryToRemoveBlockStyle(e);return t?y.EditorState.push(e,t,\"change-block-type\"):e}function u(e){var t=\"\",n=e.getSelection(),o=n.getAnchorOffset(),i=n.getFocusOffset(),a=r(e);if(a.size>0){if(n.getIsBackward()){var l=o;o=i,i=l}for(var c=0;c0)for(var o=0;o=0}),n}var r=t.getStartOffset(),i=t.getEndOffset(),a=(0,y.getSelectedBlocksList)(e);if(a.size>0){var l=function(){for(var e={BOLD:!0,ITALIC:!0,UNDERLINE:!0,STRIKETHROUGH:!0,CODE:!0,SUPERSCRIPT:!0,SUBSCRIPT:!0},t=0;t0)return r.get(0)}function u(e,t){var n=e.getCurrentInlineStyle().toList(),o=n.filter(function(e){return e.startsWith(t.toLowerCase())});if(o&&o.size>0)return o.get(0)}function d(e,t){if(e&&t&&t.length>0){var n=function(){var n=e.getSelection(),o={};if(n.isCollapsed())return t.forEach(function(t){o[t]=u(e,t)}),{v:o};var r=n.getStartOffset(),i=n.getEndOffset(),a=(0,y.getSelectedBlocksList)(e);if(a.size>0){for(var l=0;l0)return(0,c.changeDepth)(e,-1,i)}}}function r(e){return 13===e.which&&(e.getModifierState(\"Shift\")||e.getModifierState(\"Alt\")||e.getModifierState(\"Control\"))}function i(e,t){return r(t)?e.getSelection().isCollapsed()?a.RichUtils.insertSoftNewline(e):(0,l.addLineBreakRemovingSelection)(e):o(e)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=i;var a=n(0),l=n(1),c=n(2)}])})},function(e,t,n){\"use strict\";function o(e){return e&&e.__esModule?e:{default:e}}function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function a(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function l(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var c=function(){function e(e,t){for(var n=0;n0&&n.forEach(function(t){o[t]=e[t]}),o}function c(e){e.stopPropagation()}Object.defineProperty(t,\"__esModule\",{value:!0}),t.forEach=o,t.hasProperty=r,t.isEmptyString=i,t.isMap=a,t.filter=l,t.stopPropagation=c},function(e,t,n){\"use strict\";function o(e){return e&&e.__esModule?e:{default:e}}var r=n(30),i=o(r),a=n(32),l=o(a);e.exports={Dropdown:i.default,DropdownOption:l.default}},function(e,t,n){\"use strict\";var o=n(6),r=function(e){return e[e.options[0]].icon},i=function e(t,n){if(t&&void 0===n)return t;var r={};return(0,o.forEach)(t,function(t,i){(0,o.isMap)(i)?r[t]=e(i,n[t]):r[t]=void 0!==n[t]?n[t]:i}),r};e.exports={getFirstIcon:r,mergeRecursive:i}},function(e,t){e.exports=n},function(e,t){(function(t){e.exports=t}).call(t,{})},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var o=[];t.default={onKeyDown:function(e){o.forEach(function(t){t(e)})},registerCallBack:function(e){o.push(e)},deregisterCallBack:function(e){o=o.filter(function(t){return t!==e})}}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var o=void 0;t.default={open:function(){o=!0},close:function(){o=!1},isOpen:function(){return o}}},function(e,t,n){e.exports=n(14)},function(e,t,n){\"use strict\";var o=n(15),r=function(e){return e&&e.__esModule?e:{default:e}}(o);e.exports={Editor:r.default}},function(e,t,n){\"use strict\";function o(e){return e&&e.__esModule?e:{default:e}}function r(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t=0){var i=m.RichUtils.handleKeyCommand(o,t);if(i)return e.onChange(i),!0}return!1},this.handleReturn=function(t){if(E.default.isOpen())return!0;var n=(0,g.handleNewLine)(e.state.editorState,t);return!!n&&(e.onChange(n),!0)},this.handlePastedText=function(t,n){var o=e.state.editorState;return e.props.handlePastedText?e.props.handlePastedText(t,n,o,e.onChange):!e.props.stripPastedStyles&&(0,x.handlePastedText)(t,n,o,e.onChange)},this.preventDefault=function(t){\"INPUT\"===t.target.tagName||\"LABEL\"===t.target.tagName||\"TEXTAREA\"===t.target.tagName?e.focusHandler.onInputMouseDown():t.preventDefault()}};t.default=Z},function(e,t,n){\"use strict\";var o=n(17),r=n(18),i=n(19);e.exports=function(){function e(e,t,n,o,a,l){l!==i&&r(!1,\"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types\")}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t};return n.checkPropTypes=o,n.PropTypes=n,n}},function(e,t,n){\"use strict\";function o(e){return function(){return e}}var r=function(){};r.thatReturns=o,r.thatReturnsFalse=o(!1),r.thatReturnsTrue=o(!0),r.thatReturnsNull=o(null),r.thatReturnsThis=function(){return this},r.thatReturnsArgument=function(e){return e},e.exports=r},function(e,t,n){\"use strict\";function o(e,t,n,o,i,a,l,c){if(r(t),!e){var s;if(void 0===t)s=new Error(\"Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.\");else{var u=[n,o,i,a,l,c],d=0;s=new Error(t.replace(/%s/g,function(){return u[d++]})),s.name=\"Invariant Violation\"}throw s.framesToPop=1,s}}var r=function(e){};e.exports=o},function(e,t,n){\"use strict\";e.exports=\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\"},function(e,t,n){\"use strict\";function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}Object.defineProperty(t,\"__esModule\",{value:!0});var r=function e(){var t=this;o(this,e),this.callBacks=[],this.suggestionCallback=void 0,this.editorFlag=!1,this.suggestionFlag=!1,this.closeAllModals=function(e){t.callBacks.forEach(function(t){t(e)})},this.init=function(e){var n=document.getElementById(e);n&&n.addEventListener(\"click\",function(){t.editorFlag=!0}),document&&(document.addEventListener(\"click\",function(){t.editorFlag?t.editorFlag=!1:(t.closeAllModals(),t.suggestionCallback&&t.suggestionCallback())}),document.addEventListener(\"keydown\",function(e){\"Escape\"===e.key&&t.closeAllModals()}))},this.onEditorClick=function(){t.closeModals(),!t.suggestionFlag&&t.suggestionCallback?t.suggestionCallback():t.suggestionFlag=!1},this.closeModals=function(e){t.closeAllModals(e)},this.registerCallBack=function(e){t.callBacks.push(e)},this.deregisterCallBack=function(e){t.callBacks=t.callBacks.filter(function(t){return t!==e})},this.setSuggestionCallback=function(e){t.suggestionCallback=e},this.removeSuggestionCallback=function(){t.suggestionCallback=void 0},this.onSuggestionClick=function(){t.suggestionFlag=!0}};t.default=r},function(e,t,n){\"use strict\";function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}Object.defineProperty(t,\"__esModule\",{value:!0});var r=function e(){var t=this;o(this,e),this.inputFocused=!1,this.editorMouseDown=!1,this.onEditorMouseDown=function(){t.editorFocused=!0},this.onInputMouseDown=function(){t.inputFocused=!0},this.isEditorBlur=function(e){return\"INPUT\"!==e.target.tagName&&\"LABEL\"!==e.target.tagName&&\"TEXTAREA\"!==e.target.tagName||t.editorFocused?!(\"INPUT\"===e.target.tagName&&\"LABEL\"===e.target.tagName&&\"TEXTAREA\"===e.target.tagName||t.inputFocused)&&(t.editorFocused=!1,!0):(t.inputFocused=!1,!0)},this.isEditorFocused=function(){return!t.inputFocused||(t.inputFocused=!1,!1)},this.isToolbarFocused=function(){return!t.editorFocused||(t.editorFocused=!1,!1)},this.isInputFocused=function(){return t.inputFocused}};t.default=r},function(e,t,n){\"use strict\";function o(e){var t=e.getData()&&e.getData().get(\"text-align\");return t?\"rdw-\"+t+\"-aligned-block\":\"\"}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=o},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.handlePastedText=void 0;var o=n(4),r=n(3),i=n(24),a=function(e){return e&&e.__esModule?e:{default:e}}(i),l=n(9);t.handlePastedText=function(e,t,n,i){var c=(0,o.getSelectedBlock)(n);if(c&&\"code\"===c.type){var s=r.Modifier.replaceText(n.getCurrentContent(),n.getSelection(),e,n.getCurrentInlineStyle());return i(r.EditorState.push(n,s,\"insert-characters\")),!0}if(t){var u=(0,a.default)(t),d=n.getCurrentContent();return u.entityMap.forEach(function(e,t){d=d.mergeEntityData(t,e)}),d=r.Modifier.replaceWithFragment(d,n.getSelection(),new l.List(u.contentBlocks)),i(r.EditorState.push(n,d,\"insert-characters\")),!0}return!1}},function(e,t,n){\"use strict\";(function(e){var o,r,i,a=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e};!function(l,c){\"object\"==a(t)&&\"object\"==a(e)?e.exports=c(n(9),n(3)):(r=[n(9),n(3)],o=c,void 0!==(i=\"function\"==typeof o?o.apply(t,r):o)&&(e.exports=i))}(\"undefined\"!=typeof self&&self,function(e,t){return function(e){function t(o){if(n[o])return n[o].exports;var r=n[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,t),r.l=!0,r.exports}var n={};return t.m=e,t.c=n,t.d=function(e,n,o){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:o})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,\"a\",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p=\"\",t(t.s=2)}([function(t,n){t.exports=e},function(e,n){e.exports=t},function(e,t,n){e.exports=n(3)},function(e,t,n){function o(e){return e&&e.__esModule?e:{default:e}}function r(e,t,n,o,i,a){var c=e.nodeName.toLowerCase();if(a){var s=a(c,e);if(s){var u=l.Entity.__create(s.type,s.mutability,s.data||{});return{chunk:(0,d.getAtomicBlockChunk)(u)}}}if(\"#text\"===c&&\"\\n\"!==e.textContent)return(0,d.createTextChunk)(e,t,i);if(\"br\"===c)return{chunk:(0,d.getSoftNewlineChunk)()};if(\"img\"===c&&e instanceof HTMLImageElement){var p={};p.src=e.getAttribute?e.getAttribute(\"src\")||e.src:e.src,p.alt=e.alt,p.height=e.style.height,p.width=e.style.width,e.style.float&&(p.alignment=e.style.float);var m=l.Entity.__create(\"IMAGE\",\"MUTABLE\",p);return{chunk:(0,d.getAtomicBlockChunk)(m)}}if(\"iframe\"===c&&e instanceof HTMLIFrameElement){var y={};y.src=e.getAttribute?e.getAttribute(\"src\")||e.src:e.src,y.height=e.height,y.width=e.width;var M=l.Entity.__create(\"EMBEDDED_LINK\",\"MUTABLE\",y);return{chunk:(0,d.getAtomicBlockChunk)(M)}}var j=(0,f.default)(c,o),w=void 0;j&&(\"ul\"===c||\"ol\"===c?(o=c,n+=1):(\"unordered-list-item\"!==j&&\"ordered-list-item\"!==j&&(o=\"\",n=-1),k?(w=(0,d.getFirstBlockChunk)(j,(0,h.default)(e)),k=!1):w=(0,d.getBlockDividerChunk)(j,n,(0,h.default)(e)))),w||(w=(0,d.getEmptyChunk)()),t=(0,g.default)(c,e,t);for(var N=e.firstChild;N;){var C=(0,b.default)(N),E=r(N,t,n,o,C||i,a),L=E.chunk;w=(0,d.joinChunks)(w,L),N=N.nextSibling}return{chunk:w}}function i(e,t){var n=e.trim().replace(w,j),o=(0,u.default)(n);return o?(k=!0,{chunk:r(o,new c.OrderedSet,-1,\"\",void 0,t).chunk}):null}function a(e,t){var n=i(e,t);if(n){var o=n.chunk,r=new c.OrderedMap({});o.entities&&o.entities.forEach(function(e){e&&(r=r.set(e,l.Entity.__get(e)))});var a=0;return{contentBlocks:o.text.split(\"\\r\").map(function(e,t){var n=a+e.length,r=o&&o.inlines.slice(a,n),i=o&&o.entities.slice(a,n),s=new c.List(r.map(function(e,t){var n={style:e,entity:null};return i[t]&&(n.entity=i[t]),l.CharacterMetadata.create(n)}));return a=n,new l.ContentBlock({key:(0,l.genKey)(),type:o&&o.blocks[t]&&o.blocks[t].type||\"unstyled\",depth:o&&o.blocks[t]&&o.blocks[t].depth,data:o&&o.blocks[t]&&o.blocks[t].data||new c.Map({}),text:e,characterList:s})}),entityMap:r}}return null}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=a;var l=n(1),c=n(0),s=n(4),u=o(s),d=n(5),p=n(6),f=o(p),m=n(7),g=o(m),y=n(8),h=o(y),M=n(9),b=o(M),j=\" \",w=new RegExp(\" \",\"g\"),k=!0},function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0});var o=function(e){var t,n=null;return document.implementation&&document.implementation.createHTMLDocument&&(t=document.implementation.createHTMLDocument(\"foo\"),t.documentElement.innerHTML=e,n=t.getElementsByTagName(\"body\")[0]),n};t.default=o},function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.joinChunks=t.getAtomicBlockChunk=t.getBlockDividerChunk=t.getFirstBlockChunk=t.getEmptyChunk=t.getSoftNewlineChunk=t.createTextChunk=t.getWhitespaceChunk=void 0;var o=n(0),r=t.getWhitespaceChunk=function(e){return{text:\" \",inlines:[new o.OrderedSet],entities:[e],blocks:[]}};t.createTextChunk=function(e,t,n){var o=e.textContent;return\"\"===o.trim()?{chunk:r(n)}:{chunk:{text:o,inlines:Array(o.length).fill(t),entities:Array(o.length).fill(n),blocks:[]}}},t.getSoftNewlineChunk=function(){return{text:\"\\n\",inlines:[new o.OrderedSet],entities:new Array(1),blocks:[]}},t.getEmptyChunk=function(){return{text:\"\",inlines:[],entities:[],blocks:[]}},t.getFirstBlockChunk=function(e,t){return{text:\"\",inlines:[],entities:[],blocks:[{type:e,depth:0,data:t||new o.Map({})}]}},t.getBlockDividerChunk=function(e,t,n){return{text:\"\\r\",inlines:[],entities:[],blocks:[{type:e,depth:Math.max(0,Math.min(4,t)),data:n||new o.Map({})}]}},t.getAtomicBlockChunk=function(e){return{text:\"\\r \",inlines:[new o.OrderedSet],entities:[e],blocks:[{type:\"atomic\",depth:0,data:new o.Map({})}]}},t.joinChunks=function(e,t){return{text:e.text+t.text,inlines:e.inlines.concat(t.inlines),entities:e.entities.concat(t.entities),blocks:e.blocks.concat(t.blocks)}}},function(e,t,n){function o(e,t){var n=i.filter(function(n){return n.element===e&&(!n.wrapper||n.wrapper===t)||n.wrapper===e||n.aliasedElements&&n.aliasedElements.indexOf(e)>-1}).keySeq().toSet().toArray();if(1===n.length)return n[0]}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=o;var r=n(0),i=new r.Map({\"header-one\":{element:\"h1\"},\"header-two\":{element:\"h2\"},\"header-three\":{element:\"h3\"},\"header-four\":{element:\"h4\"},\"header-five\":{element:\"h5\"},\"header-six\":{element:\"h6\"},\"unordered-list-item\":{element:\"li\",wrapper:\"ul\"},\"ordered-list-item\":{element:\"li\",wrapper:\"ol\"},blockquote:{element:\"blockquote\"},code:{element:\"pre\"},atomic:{element:\"figure\"},unstyled:{element:\"p\",aliasedElements:[\"div\"]}})},function(e,t,n){function o(e,t,n){var o=r[e],i=void 0;if(o)i=n.add(o).toOrderedSet();else if(t instanceof HTMLElement){i=n;var a=t;i=i.withMutations(function(e){var t=a.style.color,n=a.style.backgroundColor,o=a.style.fontSize,r=a.style.fontFamily.replace(/^\"|\"$/g,\"\");t&&e.add(\"color-\"+t.replace(/ /g,\"\")),n&&e.add(\"bgcolor-\"+n.replace(/ /g,\"\")),o&&e.add(\"fontsize-\"+o.replace(/px$/g,\"\")),r&&e.add(\"fontfamily-\"+r)}).toOrderedSet()}return i}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=o;var r={code:\"CODE\",del:\"STRIKETHROUGH\",em:\"ITALIC\",strong:\"BOLD\",ins:\"UNDERLINE\",sub:\"SUBSCRIPT\",sup:\"SUPERSCRIPT\"}},function(e,t,n){function o(e){if(e.style.textAlign)return new r.Map({\"text-align\":e.style.textAlign})}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=o;var r=n(0)},function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0});var o=n(1),r=function(e){var t=void 0;if(e instanceof HTMLAnchorElement){var n={};e.dataset&&void 0!==e.dataset.mention?(n.url=e.href,n.text=e.innerHTML,n.value=e.dataset.value,t=o.Entity.__create(\"MENTION\",\"IMMUTABLE\",n)):(n.url=e.getAttribute?e.getAttribute(\"href\")||e.href:e.href,n.title=e.innerHTML,n.targetOption=e.target,t=o.Entity.__create(\"LINK\",\"MUTABLE\",n))}return t};t.default=r}])})}).call(t,n(25)(e))},function(e,t,n){\"use strict\";e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,\"loaded\",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,\"id\",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},function(e,t,n){\"use strict\";function o(e){return e&&e.__esModule?e:{default:e}}var r=n(27),i=o(r),a=n(35),l=o(a),c=n(38),s=o(c),u=n(41),d=o(u),p=n(44),f=o(p),m=n(47),g=o(m),y=n(50),h=o(y),M=n(53),b=o(M),j=n(62),w=o(j),k=n(65),N=o(k),C=n(68),E=o(C),L=n(73),D=o(L),S=n(76),v=o(S);e.exports={inline:i.default,blockType:l.default,fontSize:s.default,fontFamily:d.default,list:f.default,textAlign:g.default,colorPicker:h.default,link:b.default,embedded:w.default,emoji:N.default,image:E.default,remove:D.default,history:v.default}},function(e,t,n){\"use strict\";function o(e){return e&&e.__esModule?e:{default:e}}function r(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var l=function(){function e(e,t){for(var n=0;n-1});return t?this.renderInDropdown(o):this.renderFlat(o)}}]),t}(c.Component);h.propTypes={expanded:d.default.bool,onExpandEvent:d.default.func,doExpand:d.default.func,doCollapse:d.default.func,onChange:d.default.func,config:d.default.object,currentState:d.default.object,translations:d.default.object},t.default=h},function(e,t){e.exports={\"rdw-block-wrapper\":\"rdw-block-wrapper\",\"rdw-block-dropdown\":\"rdw-block-dropdown\"}},function(e,t,n){\"use strict\";function o(e){return e&&e.__esModule?e:{default:e}}function r(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var l=function(){function e(e,t){for(var n=0;n0){var t=window.getComputedStyle(e[0]),n=t.getPropertyValue(\"font-size\");n=n.substring(0,n.length-2),this.setState({defaultFontSize:n})}}},{key:\"render\",value:function(){var e=this.props,t=e.config,n=t.icon,o=t.className,r=t.dropdownClassName,i=t.options,a=t.title,l=e.onChange,c=e.expanded,u=e.doCollapse,d=e.onExpandEvent,p=e.doExpand,g=e.translations,y=this.props.currentState.fontSize,h=this.state.defaultFontSize;return h=Number(h),y=y||i&&i.indexOf(h)>=0&&h,s.default.createElement(\"div\",{className:\"rdw-fontsize-wrapper\",\"aria-label\":\"rdw-font-size-control\"},s.default.createElement(m.Dropdown,{className:(0,f.default)(\"rdw-fontsize-dropdown\",o),optionWrapperClassName:(0,f.default)(r),onChange:l,expanded:c,doExpand:p,doCollapse:u,onExpandEvent:d,title:a||g[\"components.controls.fontsize.fontsize\"]},y?s.default.createElement(\"span\",null,y):s.default.createElement(\"img\",{src:n,alt:\"\"}),i.map(function(e,t){return s.default.createElement(m.DropdownOption,{className:\"rdw-fontsize-option\",active:y===e,value:e,key:t},e)})))}}]),t}(c.Component);g.propTypes={expanded:d.default.bool,onExpandEvent:d.default.func,doExpand:d.default.func,doCollapse:d.default.func,onChange:d.default.func,config:d.default.object,currentState:d.default.object,translations:d.default.object},t.default=g},function(e,t){e.exports={\"rdw-fontsize-wrapper\":\"rdw-fontsize-wrapper\",\"rdw-fontsize-dropdown\":\"rdw-fontsize-dropdown\",\"rdw-fontsize-option\":\"rdw-fontsize-option\"}},function(e,t,n){\"use strict\";function o(e){return e&&e.__esModule?e:{default:e}}function r(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var l=function(){function e(e,t){for(var n=0;n0){var t=window.getComputedStyle(e[0]),n=t.getPropertyValue(\"font-family\");this.setState({defaultFontFamily:n})}}},{key:\"render\",value:function(){var e=this.state.defaultFontFamily,t=this.props,n=t.config,o=n.className,r=n.dropdownClassName,i=n.options,a=n.title,l=t.translations,c=t.onChange,u=t.expanded,d=t.doCollapse,p=t.onExpandEvent,g=t.doExpand,y=this.props.currentState.fontFamily;return y=y||i&&e&&i.some(function(t){return t.toLowerCase()===e.toLowerCase()})&&e,s.default.createElement(\"div\",{className:\"rdw-fontfamily-wrapper\",\"aria-label\":\"rdw-font-family-control\"},s.default.createElement(m.Dropdown,{className:(0,f.default)(\"rdw-fontfamily-dropdown\",o),optionWrapperClassName:(0,f.default)(\"rdw-fontfamily-optionwrapper\",r),onChange:c,expanded:u,doExpand:g,doCollapse:d,onExpandEvent:p,title:a||l[\"components.controls.fontfamily.fontfamily\"]},s.default.createElement(\"span\",{className:\"rdw-fontfamily-placeholder\"},y||l[\"components.controls.fontfamily.fontfamily\"]),i.map(function(e,t){return s.default.createElement(m.DropdownOption,{active:y===e,value:e,key:t},e)})))}}]),t}(c.Component);g.propTypes={expanded:d.default.bool,onExpandEvent:d.default.func,doExpand:d.default.func,doCollapse:d.default.func,onChange:d.default.func,config:d.default.object,currentState:d.default.object,translations:d.default.object},t.default=g},function(e,t){e.exports={\"rdw-fontfamily-wrapper\":\"rdw-fontfamily-wrapper\",\"rdw-fontfamily-dropdown\":\"rdw-fontfamily-dropdown\",\"rdw-fontfamily-placeholder\":\"rdw-fontfamily-placeholder\",\"rdw-fontfamily-optionwrapper\":\"rdw-fontfamily-optionwrapper\"}},function(e,t,n){\"use strict\";function o(e){return e&&e.__esModule?e:{default:e}}function r(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var l=function(){function e(e,t){for(var n=0;n=0&&s.default.createElement(h.default,{value:\"unordered\",onClick:this.toggleBlockType,className:(0,f.default)(l.className),active:\"unordered\"===n,title:l.title||o[\"components.controls.list.unordered\"]},s.default.createElement(\"img\",{src:l.icon,alt:\"\"})),a.indexOf(\"ordered\")>=0&&s.default.createElement(h.default,{value:\"ordered\",onClick:this.toggleBlockType,className:(0,f.default)(c.className),active:\"ordered\"===n,title:c.title||o[\"components.controls.list.ordered\"]},s.default.createElement(\"img\",{src:c.icon,alt:\"\"})),a.indexOf(\"indent\")>=0&&s.default.createElement(h.default,{onClick:this.indent,disabled:r,className:(0,f.default)(u.className),title:u.title||o[\"components.controls.list.indent\"]},s.default.createElement(\"img\",{src:u.icon,alt:\"\"})),a.indexOf(\"outdent\")>=0&&s.default.createElement(h.default,{onClick:this.outdent,disabled:i,className:(0,f.default)(d.className),title:d.title||o[\"components.controls.list.outdent\"]},s.default.createElement(\"img\",{src:d.icon,alt:\"\"})))}},{key:\"renderInDropDown\",value:function(){var e=this,t=this.props,n=t.config,o=t.expanded,r=t.doCollapse,i=t.doExpand,a=t.onExpandEvent,l=t.onChange,c=t.currentState.listType,u=t.translations,d=n.options,p=n.className,y=n.dropdownClassName,h=n.title;return s.default.createElement(g.Dropdown,{className:(0,f.default)(\"rdw-list-dropdown\",p),optionWrapperClassName:(0,f.default)(y),onChange:l,expanded:o,doExpand:i,doCollapse:r,onExpandEvent:a,\"aria-label\":\"rdw-list-control\",title:h||u[\"components.controls.list.list\"]},s.default.createElement(\"img\",{src:(0,m.getFirstIcon)(n),alt:\"\"}),this.options.filter(function(e){return d.indexOf(e)>=0}).map(function(t,o){return s.default.createElement(g.DropdownOption,{key:o,value:t,disabled:e.props[t+\"Disabled\"],className:(0,f.default)(\"rdw-list-dropdownOption\",n[t].className),active:c===t,title:n[t].title||u[\"components.controls.list.\"+t]},s.default.createElement(\"img\",{src:n[t].icon,alt:\"\"}))}))}},{key:\"render\",value:function(){return this.props.config.inDropdown?this.renderInDropDown():this.renderInFlatList()}}]),t}(c.Component);M.propTypes={expanded:d.default.bool,doExpand:d.default.func,doCollapse:d.default.func,onExpandEvent:d.default.func,config:d.default.object,onChange:d.default.func,currentState:d.default.object,translations:d.default.object,indentDisabled:d.default.bool,outdentDisabled:d.default.bool},t.default=M},function(e,t){e.exports={\"rdw-list-wrapper\":\"rdw-list-wrapper\",\"rdw-list-dropdown\":\"rdw-list-dropdown\",\"rdw-list-dropdownOption\":\"rdw-list-dropdownOption\"}},function(e,t,n){\"use strict\";function o(e){return e&&e.__esModule?e:{default:e}}function r(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var l=function(){function e(e,t){for(var n=0;n=0&&s.default.createElement(g.default,{value:\"left\",className:(0,f.default)(o.className),active:\"left\"===u,onClick:c,title:o.title||d[\"components.controls.textalign.left\"]},s.default.createElement(\"img\",{src:o.icon,alt:\"\"})),n.indexOf(\"center\")>=0&&s.default.createElement(g.default,{value:\"center\",className:(0,f.default)(r.className),active:\"center\"===u,onClick:c,title:r.title||d[\"components.controls.textalign.center\"]},s.default.createElement(\"img\",{src:r.icon,alt:\"\"})),n.indexOf(\"right\")>=0&&s.default.createElement(g.default,{value:\"right\",className:(0,f.default)(i.className),active:\"right\"===u,onClick:c,title:i.title||d[\"components.controls.textalign.right\"]},s.default.createElement(\"img\",{src:i.icon,alt:\"\"})),n.indexOf(\"justify\")>=0&&s.default.createElement(g.default,{value:\"justify\",className:(0,f.default)(a.className),active:\"justify\"===u,onClick:c,title:a.title||d[\"components.controls.textalign.justify\"]},s.default.createElement(\"img\",{src:a.icon,alt:\"\"})))}},{key:\"renderInDropDown\",value:function(){var e=this.props,t=e.config,n=e.expanded,o=e.doExpand,r=e.onExpandEvent,i=e.doCollapse,a=e.currentState.textAlignment,l=e.onChange,c=e.translations,u=t.options,d=t.left,p=t.center,m=t.right,g=t.justify,M=t.className,b=t.dropdownClassName,j=t.title;return s.default.createElement(y.Dropdown,{className:(0,f.default)(\"rdw-text-align-dropdown\",M),optionWrapperClassName:(0,f.default)(b),onChange:l,expanded:n,doExpand:o,doCollapse:i,onExpandEvent:r,\"aria-label\":\"rdw-textalign-control\",title:j||c[\"components.controls.textalign.textalign\"]},s.default.createElement(\"img\",{src:a&&t[a]&&t[a].icon||(0,h.getFirstIcon)(t),alt:\"\"}),u.indexOf(\"left\")>=0&&s.default.createElement(y.DropdownOption,{value:\"left\",active:\"left\"===a,className:(0,f.default)(\"rdw-text-align-dropdownOption\",d.className),title:d.title||c[\"components.controls.textalign.left\"]},s.default.createElement(\"img\",{src:d.icon,alt:\"\"})),u.indexOf(\"center\")>=0&&s.default.createElement(y.DropdownOption,{value:\"center\",active:\"center\"===a,className:(0,f.default)(\"rdw-text-align-dropdownOption\",p.className),title:p.title||c[\"components.controls.textalign.center\"]},s.default.createElement(\"img\",{src:p.icon,alt:\"\"})),u.indexOf(\"right\")>=0&&s.default.createElement(y.DropdownOption,{value:\"right\",active:\"right\"===a,className:(0,f.default)(\"rdw-text-align-dropdownOption\",m.className),title:m.title||c[\"components.controls.textalign.right\"]},s.default.createElement(\"img\",{src:m.icon,alt:\"\"})),u.indexOf(\"justify\")>=0&&s.default.createElement(y.DropdownOption,{value:\"justify\",active:\"justify\"===a,className:(0,f.default)(\"rdw-text-align-dropdownOption\",g.className),title:g.title||c[\"components.controls.textalign.justify\"]},s.default.createElement(\"img\",{src:g.icon,alt:\"\"})))}},{key:\"render\",value:function(){return this.props.config.inDropdown?this.renderInDropDown():this.renderInFlatList()}}]),t}(c.Component);M.propTypes={expanded:d.default.bool,doExpand:d.default.func,doCollapse:d.default.func,onExpandEvent:d.default.func,config:d.default.object,onChange:d.default.func,currentState:d.default.object,translations:d.default.object},t.default=M},function(e,t){e.exports={\"rdw-text-align-wrapper\":\"rdw-text-align-wrapper\",\"rdw-text-align-dropdown\":\"rdw-text-align-dropdown\",\"rdw-text-align-dropdownOption\":\"rdw-text-align-dropdownOption\",\"rdw-right-aligned-block\":\"rdw-right-aligned-block\",\"rdw-left-aligned-block\":\"rdw-left-aligned-block\",\"rdw-center-aligned-block\":\"rdw-center-aligned-block\",\"rdw-justify-aligned-block\":\"rdw-justify-aligned-block\"}},function(e,t,n){\"use strict\";function o(e){return e&&e.__esModule?e:{default:e}}function r(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var l=function(){function e(e,t){for(var n=0;n0&&e.__compiled__[t]}).map(s).join(\"|\");e.re.schema_test=RegExp(\"(^|(?!_)(?:[><|]|\"+r.src_ZPCc+\"))(\"+g+\")\",\"i\"),e.re.schema_search=RegExp(\"(^|(?!_)(?:[><|]|\"+r.src_ZPCc+\"))(\"+g+\")\",\"ig\"),e.re.pretest=RegExp(\"(\"+e.re.schema_test.source+\")|(\"+e.re.host_fuzzy_test.source+\")|@\",\"i\"),d(e)}function g(e,t){var n=e.__index__,o=e.__last_index__,r=e.__text_cache__.slice(n,o);this.schema=e.__schema__.toLowerCase(),this.index=n+t,this.lastIndex=o+t,this.raw=r,this.text=r,this.url=r}function y(e,t){var n=new g(e,t);return e.__compiled__[n.schema].normalize(n,e),n}function h(e,t){if(!(this instanceof h))return new h(e,t);t||u(e)&&(t=e,e={}),this.__opts__=o({},M,t),this.__index__=-1,this.__last_index__=-1,this.__schema__=\"\",this.__text_cache__=\"\",this.__schemas__=o({},b,e),this.__compiled__={},this.__tlds__=w,this.__tlds_replaced__=!1,this.re={},m(this)}var M={fuzzyLink:!0,fuzzyEmail:!0,fuzzyIP:!1},b={\"http:\":{validate:function(e,t,n){var o=e.slice(t);return n.re.http||(n.re.http=new RegExp(\"^\\\\/\\\\/\"+n.re.src_auth+n.re.src_host_port_strict+n.re.src_path,\"i\")),n.re.http.test(o)?o.match(n.re.http)[0].length:0}},\"https:\":\"http:\",\"ftp:\":\"http:\",\"//\":{validate:function(e,t,n){var o=e.slice(t);return n.re.no_http||(n.re.no_http=new RegExp(\"^\"+n.re.src_auth+\"(?:localhost|(?:(?:\"+n.re.src_domain+\")\\\\.)+\"+n.re.src_domain_root+\")\"+n.re.src_port+n.re.src_host_terminator+n.re.src_path,\"i\")),n.re.no_http.test(o)?t>=3&&\":\"===e[t-3]?0:t>=3&&\"/\"===e[t-3]?0:o.match(n.re.no_http)[0].length:0}},\"mailto:\":{validate:function(e,t,n){var o=e.slice(t);return n.re.mailto||(n.re.mailto=new RegExp(\"^\"+n.re.src_email_name+\"@\"+n.re.src_host_strict,\"i\")),n.re.mailto.test(o)?o.match(n.re.mailto)[0].length:0}}},j=\"a[cdefgilmnoqrstuwxz]|b[abdefghijmnorstvwyz]|c[acdfghiklmnoruvwxyz]|d[ejkmoz]|e[cegrstu]|f[ijkmor]|g[abdefghilmnpqrstuwy]|h[kmnrtu]|i[delmnoqrst]|j[emop]|k[eghimnprwyz]|l[abcikrstuvy]|m[acdeghklmnopqrstuvwxyz]|n[acefgilopruz]|om|p[aefghklmnrstwy]|qa|r[eosuw]|s[abcdeghijklmnortuvxyz]|t[cdfghjklmnortvwz]|u[agksyz]|v[aceginu]|w[fs]|y[et]|z[amw]\",w=\"biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|рф\".split(\"|\");h.prototype.add=function(e,t){return this.__schemas__[e]=t,m(this),this},h.prototype.set=function(e){return this.__opts__=o(this.__opts__,e),this},h.prototype.test=function(e){if(this.__text_cache__=e,this.__index__=-1,!e.length)return!1;var t,n,o,r,i,a,l,c;if(this.re.schema_test.test(e))for(l=this.re.schema_search,l.lastIndex=0;null!==(t=l.exec(e));)if(r=this.testSchemaAt(e,t[2],l.lastIndex)){this.__schema__=t[2],this.__index__=t.index+t[1].length,this.__last_index__=t.index+t[0].length+r;break}return this.__opts__.fuzzyLink&&this.__compiled__[\"http:\"]&&(c=e.search(this.re.host_fuzzy_test))>=0&&(this.__index__<0||c=0&&null!==(o=e.match(this.re.email_fuzzy))&&(i=o.index+o[1].length,a=o.index+o[0].length,(this.__index__<0||ithis.__last_index__)&&(this.__schema__=\"mailto:\",this.__index__=i,this.__last_index__=a)),this.__index__>=0},h.prototype.pretest=function(e){return this.re.pretest.test(e)},h.prototype.testSchemaAt=function(e,t,n){return this.__compiled__[t.toLowerCase()]?this.__compiled__[t.toLowerCase()].validate(e,n,this):0},h.prototype.match=function(e){var t=0,n=[];this.__index__>=0&&this.__text_cache__===e&&(n.push(y(this,t)),t=this.__last_index__);for(var o=t?e.slice(t):e;this.test(o);)n.push(y(this,t)),o=o.slice(this.__last_index__),t+=this.__last_index__;return n.length?n:null},h.prototype.tlds=function(e,t){return e=Array.isArray(e)?e:[e],t?(this.__tlds__=this.__tlds__.concat(e).sort().filter(function(e,t,n){return e!==n[t-1]}).reverse(),m(this),this):(this.__tlds__=e.slice(),this.__tlds_replaced__=!0,m(this),this)},h.prototype.normalize=function(e){e.schema||(e.url=\"http://\"+e.url),\"mailto:\"!==e.schema||/^mailto:/i.test(e.url)||(e.url=\"mailto:\"+e.url)},h.prototype.onCompile=function(){},e.exports=h},function(e,t,n){\"use strict\";e.exports=function(e){var t={};t.src_Any=n(56).source,t.src_Cc=n(57).source,t.src_Z=n(58).source,t.src_P=n(59).source,t.src_ZPCc=[t.src_Z,t.src_P,t.src_Cc].join(\"|\"),t.src_ZCc=[t.src_Z,t.src_Cc].join(\"|\");return t.src_pseudo_letter=\"(?:(?![><|]|\"+t.src_ZPCc+\")\"+t.src_Any+\")\",t.src_ip4=\"(?:(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\",t.src_auth=\"(?:(?:(?!\"+t.src_ZCc+\"|[@/\\\\[\\\\]()]).)+@)?\",t.src_port=\"(?::(?:6(?:[0-4]\\\\d{3}|5(?:[0-4]\\\\d{2}|5(?:[0-2]\\\\d|3[0-5])))|[1-5]?\\\\d{1,4}))?\",t.src_host_terminator=\"(?=$|[><|]|\"+t.src_ZPCc+\")(?!-|_|:\\\\d|\\\\.-|\\\\.(?!$|\"+t.src_ZPCc+\"))\",t.src_path=\"(?:[/?#](?:(?!\"+t.src_ZCc+\"|[><|]|[()[\\\\]{}.,\\\"'?!\\\\-]).|\\\\[(?:(?!\"+t.src_ZCc+\"|\\\\]).)*\\\\]|\\\\((?:(?!\"+t.src_ZCc+\"|[)]).)*\\\\)|\\\\{(?:(?!\"+t.src_ZCc+'|[}]).)*\\\\}|\\\\\"(?:(?!'+t.src_ZCc+'|[\"]).)+\\\\\"|\\\\\\'(?:(?!'+t.src_ZCc+\"|[']).)+\\\\'|\\\\'(?=\"+t.src_pseudo_letter+\"|[-]).|\\\\.{2,3}[a-zA-Z0-9%/]|\\\\.(?!\"+t.src_ZCc+\"|[.]).|\"+(e&&e[\"---\"]?\"\\\\-(?!--(?:[^-]|$))(?:-*)|\":\"\\\\-+|\")+\"\\\\,(?!\"+t.src_ZCc+\").|\\\\!(?!\"+t.src_ZCc+\"|[!]).|\\\\?(?!\"+t.src_ZCc+\"|[?]).)+|\\\\/)?\",t.src_email_name='[\\\\-;:&=\\\\+\\\\$,\\\\\"\\\\.a-zA-Z0-9_]+',t.src_xn=\"xn--[a-z0-9\\\\-]{1,59}\",t.src_domain_root=\"(?:\"+t.src_xn+\"|\"+t.src_pseudo_letter+\"{1,63})\",t.src_domain=\"(?:\"+t.src_xn+\"|(?:\"+t.src_pseudo_letter+\")|(?:\"+t.src_pseudo_letter+\"(?:-(?!-)|\"+t.src_pseudo_letter+\"){0,61}\"+t.src_pseudo_letter+\"))\",t.src_host=\"(?:(?:(?:(?:\"+t.src_domain+\")\\\\.)*\"+t.src_domain+\"))\",t.tpl_host_fuzzy=\"(?:\"+t.src_ip4+\"|(?:(?:(?:\"+t.src_domain+\")\\\\.)+(?:%TLDS%)))\",t.tpl_host_no_ip_fuzzy=\"(?:(?:(?:\"+t.src_domain+\")\\\\.)+(?:%TLDS%))\",t.src_host_strict=t.src_host+t.src_host_terminator,t.tpl_host_fuzzy_strict=t.tpl_host_fuzzy+t.src_host_terminator,t.src_host_port_strict=t.src_host+t.src_port+t.src_host_terminator,t.tpl_host_port_fuzzy_strict=t.tpl_host_fuzzy+t.src_port+t.src_host_terminator,t.tpl_host_port_no_ip_fuzzy_strict=t.tpl_host_no_ip_fuzzy+t.src_port+t.src_host_terminator,t.tpl_host_fuzzy_test=\"localhost|www\\\\.|\\\\.\\\\d{1,3}\\\\.|(?:\\\\.(?:%TLDS%)(?:\"+t.src_ZPCc+\"|>|$))\",t.tpl_email_fuzzy=\"(^|[><|]|\\\\(|\"+t.src_ZCc+\")(\"+t.src_email_name+\"@\"+t.tpl_host_fuzzy_strict+\")\",t.tpl_link_fuzzy=\"(^|(?![.:/\\\\-_@])(?:[$+<=>^`||]|\"+t.src_ZPCc+\"))((?![$+<=>^`||])\"+t.tpl_host_port_fuzzy_strict+t.src_path+\")\",t.tpl_link_no_ip_fuzzy=\"(^|(?![.:/\\\\-_@])(?:[$+<=>^`||]|\"+t.src_ZPCc+\"))((?![$+<=>^`||])\"+t.tpl_host_port_no_ip_fuzzy_strict+t.src_path+\")\",t}},function(e,t,n){\"use strict\";e.exports=/[\\0-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]/},function(e,t,n){\"use strict\";e.exports=/[\\0-\\x1F\\x7F-\\x9F]/},function(e,t,n){\"use strict\";e.exports=/[ \\xA0\\u1680\\u2000-\\u200A\\u202F\\u205F\\u3000]/},function(e,t,n){\"use strict\";e.exports=/[!-#%-\\*,-\\/:;\\?@\\[-\\]_\\{\\}\\xA1\\xA7\\xAB\\xB6\\xB7\\xBB\\xBF\\u037E\\u0387\\u055A-\\u055F\\u0589\\u058A\\u05BE\\u05C0\\u05C3\\u05C6\\u05F3\\u05F4\\u0609\\u060A\\u060C\\u060D\\u061B\\u061E\\u061F\\u066A-\\u066D\\u06D4\\u0700-\\u070D\\u07F7-\\u07F9\\u0830-\\u083E\\u085E\\u0964\\u0965\\u0970\\u0AF0\\u0DF4\\u0E4F\\u0E5A\\u0E5B\\u0F04-\\u0F12\\u0F14\\u0F3A-\\u0F3D\\u0F85\\u0FD0-\\u0FD4\\u0FD9\\u0FDA\\u104A-\\u104F\\u10FB\\u1360-\\u1368\\u1400\\u166D\\u166E\\u169B\\u169C\\u16EB-\\u16ED\\u1735\\u1736\\u17D4-\\u17D6\\u17D8-\\u17DA\\u1800-\\u180A\\u1944\\u1945\\u1A1E\\u1A1F\\u1AA0-\\u1AA6\\u1AA8-\\u1AAD\\u1B5A-\\u1B60\\u1BFC-\\u1BFF\\u1C3B-\\u1C3F\\u1C7E\\u1C7F\\u1CC0-\\u1CC7\\u1CD3\\u2010-\\u2027\\u2030-\\u2043\\u2045-\\u2051\\u2053-\\u205E\\u207D\\u207E\\u208D\\u208E\\u2308-\\u230B\\u2329\\u232A\\u2768-\\u2775\\u27C5\\u27C6\\u27E6-\\u27EF\\u2983-\\u2998\\u29D8-\\u29DB\\u29FC\\u29FD\\u2CF9-\\u2CFC\\u2CFE\\u2CFF\\u2D70\\u2E00-\\u2E2E\\u2E30-\\u2E44\\u3001-\\u3003\\u3008-\\u3011\\u3014-\\u301F\\u3030\\u303D\\u30A0\\u30FB\\uA4FE\\uA4FF\\uA60D-\\uA60F\\uA673\\uA67E\\uA6F2-\\uA6F7\\uA874-\\uA877\\uA8CE\\uA8CF\\uA8F8-\\uA8FA\\uA8FC\\uA92E\\uA92F\\uA95F\\uA9C1-\\uA9CD\\uA9DE\\uA9DF\\uAA5C-\\uAA5F\\uAADE\\uAADF\\uAAF0\\uAAF1\\uABEB\\uFD3E\\uFD3F\\uFE10-\\uFE19\\uFE30-\\uFE52\\uFE54-\\uFE61\\uFE63\\uFE68\\uFE6A\\uFE6B\\uFF01-\\uFF03\\uFF05-\\uFF0A\\uFF0C-\\uFF0F\\uFF1A\\uFF1B\\uFF1F\\uFF20\\uFF3B-\\uFF3D\\uFF3F\\uFF5B\\uFF5D\\uFF5F-\\uFF65]|\\uD800[\\uDD00-\\uDD02\\uDF9F\\uDFD0]|\\uD801\\uDD6F|\\uD802[\\uDC57\\uDD1F\\uDD3F\\uDE50-\\uDE58\\uDE7F\\uDEF0-\\uDEF6\\uDF39-\\uDF3F\\uDF99-\\uDF9C]|\\uD804[\\uDC47-\\uDC4D\\uDCBB\\uDCBC\\uDCBE-\\uDCC1\\uDD40-\\uDD43\\uDD74\\uDD75\\uDDC5-\\uDDC9\\uDDCD\\uDDDB\\uDDDD-\\uDDDF\\uDE38-\\uDE3D\\uDEA9]|\\uD805[\\uDC4B-\\uDC4F\\uDC5B\\uDC5D\\uDCC6\\uDDC1-\\uDDD7\\uDE41-\\uDE43\\uDE60-\\uDE6C\\uDF3C-\\uDF3E]|\\uD807[\\uDC41-\\uDC45\\uDC70\\uDC71]|\\uD809[\\uDC70-\\uDC74]|\\uD81A[\\uDE6E\\uDE6F\\uDEF5\\uDF37-\\uDF3B\\uDF44]|\\uD82F\\uDC9F|\\uD836[\\uDE87-\\uDE8B]|\\uD83A[\\uDD5E\\uDD5F]/},function(e,t,n){\"use strict\";function o(e){return e&&e.__esModule?e:{default:e}}function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function a(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function l(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var c=function(){function e(e,t){for(var n=0;n=0&&u.default.createElement(M.default,{value:\"unordered-list-item\",className:(0,m.default)(o.className),onClick:this.signalExpandShowModal,\"aria-haspopup\":\"true\",\"aria-expanded\":s,title:o.title||c[\"components.controls.link.link\"]},u.default.createElement(\"img\",{src:o.icon,alt:\"\"})),n.indexOf(\"unlink\")>=0&&u.default.createElement(M.default,{disabled:!a.link,value:\"ordered-list-item\",className:(0,m.default)(r.className),onClick:this.removeLink,title:r.title||c[\"components.controls.link.unlink\"]},u.default.createElement(\"img\",{src:r.icon,alt:\"\"})),l&&s?this.renderAddLinkModal():void 0)}},{key:\"renderInDropDown\",value:function(){var e=this.props,t=e.expanded,n=e.onExpandEvent,o=e.doCollapse,r=e.doExpand,i=e.onChange,a=e.config,l=e.currentState,c=e.translations,s=a.options,d=a.link,p=a.unlink,f=a.className,g=a.dropdownClassName,h=a.title,M=this.state.showModal;return u.default.createElement(\"div\",{className:\"rdw-link-wrapper\",\"aria-haspopup\":\"true\",\"aria-label\":\"rdw-link-control\",\"aria-expanded\":t,title:h},u.default.createElement(b.Dropdown,{className:(0,m.default)(\"rdw-link-dropdown\",f),optionWrapperClassName:(0,m.default)(g),onChange:i,expanded:t&&!M,doExpand:r,doCollapse:o,onExpandEvent:n},u.default.createElement(\"img\",{src:(0,y.getFirstIcon)(a),alt:\"\"}),s.indexOf(\"link\")>=0&&u.default.createElement(b.DropdownOption,{onClick:this.forceExpandAndShowModal,className:(0,m.default)(\"rdw-link-dropdownoption\",d.className),title:d.title||c[\"components.controls.link.link\"]},u.default.createElement(\"img\",{src:d.icon,alt:\"\"})),s.indexOf(\"unlink\")>=0&&u.default.createElement(b.DropdownOption,{onClick:this.removeLink,disabled:!l.link,className:(0,m.default)(\"rdw-link-dropdownoption\",p.className),title:p.title||c[\"components.controls.link.unlink\"]},u.default.createElement(\"img\",{src:p.icon,alt:\"\"}))),t&&M?this.renderAddLinkModal():void 0)}},{key:\"render\",value:function(){return this.props.config.inDropdown?this.renderInDropDown():this.renderInFlatList()}}]),t}(s.Component);j.propTypes={expanded:p.default.bool,doExpand:p.default.func,doCollapse:p.default.func,onExpandEvent:p.default.func,config:p.default.object,onChange:p.default.func,currentState:p.default.object,translations:p.default.object},t.default=j},function(e,t){e.exports={\"rdw-link-wrapper\":\"rdw-link-wrapper\",\"rdw-link-dropdown\":\"rdw-link-dropdown\",\"rdw-link-dropdownOption\":\"rdw-link-dropdownOption\",\"rdw-link-dropdownPlaceholder\":\"rdw-link-dropdownPlaceholder\",\"rdw-link-modal\":\"rdw-link-modal\",\"rdw-link-modal-label\":\"rdw-link-modal-label\",\"rdw-link-modal-input\":\"rdw-link-modal-input\",\"rdw-link-modal-buttonsection\":\"rdw-link-modal-buttonsection\",\"rdw-link-modal-target-option\":\"rdw-link-modal-target-option\",\"rdw-link-modal-btn\":\"rdw-link-modal-btn\",\"rdw-link-dropdownoption\":\"rdw-link-dropdownoption\",\"rdw-history-dropdown\":\"rdw-history-dropdown\"}},function(e,t,n){\"use strict\";function o(e){return e&&e.__esModule?e:{default:e}}function r(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var l=function(){function e(e,t){for(var n=0;n0&&o.uploadImage(e.target.files[0])},o.uploadImage=function(e){o.toggleShowImageLoading(),(0,o.props.config.uploadCallback)(e).then(function(e){var t=e.data;o.setState({showImageLoading:!1,dragEnter:!1,imgSrc:t.link||t.url}),o.fileUpload=!1}).catch(function(){o.setState({showImageLoading:!1,dragEnter:!1})})},o.fileUploadClick=function(e){o.fileUpload=!0,e.stopPropagation()},o.stopPropagation=function(e){o.fileUpload?o.fileUpload=!1:(e.preventDefault(),e.stopPropagation())},l=n,a(o,l)}return l(t,e),c(t,[{key:\"componentWillReceiveProps\",value:function(e){this.props.expanded&&!e.expanded?this.setState({imgSrc:\"\",dragEnter:!1,uploadHighlighted:this.props.config.uploadEnabled&&!!this.props.config.uploadCallback,showImageLoading:!1,height:this.props.config.defaultSize.height,width:this.props.config.defaultSize.width,alt:\"\"}):e.config.uploadCallback===this.props.config.uploadCallback&&e.config.uploadEnabled===this.props.config.uploadEnabled||this.setState({uploadHighlighted:e.config.uploadEnabled&&!!e.config.uploadCallback})}},{key:\"renderAddImageModal\",value:function(){var e=this.state,t=e.imgSrc,n=e.uploadHighlighted,o=e.showImageLoading,r=e.dragEnter,i=e.height,a=e.width,l=e.alt,c=this.props,s=c.config,d=s.popupClassName,p=s.uploadCallback,f=s.uploadEnabled,g=s.urlEnabled,y=s.previewImage,h=s.inputAccept,b=s.alt,j=c.doCollapse,w=c.translations;return u.default.createElement(\"div\",{className:(0,m.default)(\"rdw-image-modal\",d),onClick:this.stopPropagation},u.default.createElement(\"div\",{className:\"rdw-image-modal-header\"},f&&p&&u.default.createElement(\"span\",{onClick:this.showImageUploadOption,className:\"rdw-image-modal-header-option\"},w[\"components.controls.image.fileUpload\"],u.default.createElement(\"span\",{className:(0,m.default)(\"rdw-image-modal-header-label\",{\"rdw-image-modal-header-label-highlighted\":n})})),g&&u.default.createElement(\"span\",{onClick:this.showImageURLOption,className:\"rdw-image-modal-header-option\"},w[\"components.controls.image.byURL\"],u.default.createElement(\"span\",{className:(0,m.default)(\"rdw-image-modal-header-label\",{\"rdw-image-modal-header-label-highlighted\":!n})}))),n?u.default.createElement(\"div\",{onClick:this.fileUploadClick},u.default.createElement(\"div\",{onDragEnter:this.onDragEnter,onDragOver:this.stopPropagation,onDrop:this.onImageDrop,className:(0,m.default)(\"rdw-image-modal-upload-option\",{\"rdw-image-modal-upload-option-highlighted\":r})},u.default.createElement(\"label\",{htmlFor:\"file\",className:\"rdw-image-modal-upload-option-label\"},y&&t?u.default.createElement(\"img\",{src:t,alt:t,className:\"rdw-image-modal-upload-option-image-preview\"}):t||w[\"components.controls.image.dropFileText\"])),u.default.createElement(\"input\",{type:\"file\",id:\"file\",accept:h,onChange:this.selectImage,className:\"rdw-image-modal-upload-option-input\"})):u.default.createElement(\"div\",{className:\"rdw-image-modal-url-section\"},u.default.createElement(\"input\",{className:\"rdw-image-modal-url-input\",placeholder:w[\"components.controls.image.enterlink\"],name:\"imgSrc\",onChange:this.updateValue,onBlur:this.updateValue,value:t}),u.default.createElement(\"span\",{className:\"rdw-image-mandatory-sign\"},\"*\")),b.present&&u.default.createElement(\"div\",{className:\"rdw-image-modal-size\"},u.default.createElement(\"span\",{className:\"rdw-image-modal-alt-lbl\"},\"Alt Text\"),u.default.createElement(\"input\",{onChange:this.updateValue,onBlur:this.updateValue,value:l,name:\"alt\",className:\"rdw-image-modal-alt-input\",placeholder:\"alt\"}),u.default.createElement(\"span\",{className:\"rdw-image-mandatory-sign\"},b.mandatory&&\"*\")),u.default.createElement(\"div\",{className:\"rdw-image-modal-size\"},\"↕ \",u.default.createElement(\"input\",{onChange:this.updateValue,onBlur:this.updateValue,value:i,name:\"height\",className:\"rdw-image-modal-size-input\",placeholder:\"Height\"}),u.default.createElement(\"span\",{className:\"rdw-image-mandatory-sign\"},\"*\"),\" ↔ \",u.default.createElement(\"input\",{onChange:this.updateValue,onBlur:this.updateValue,value:a,name:\"width\",className:\"rdw-image-modal-size-input\",placeholder:\"Width\"}),u.default.createElement(\"span\",{className:\"rdw-image-mandatory-sign\"},\"*\")),u.default.createElement(\"span\",{className:\"rdw-image-modal-btn-section\"},u.default.createElement(\"button\",{className:\"rdw-image-modal-btn\",onClick:this.addImageFromState,disabled:!t||!i||!a||b.mandatory&&!l},w[\"generic.add\"]),u.default.createElement(\"button\",{className:\"rdw-image-modal-btn\",onClick:j},w[\"generic.cancel\"])),o?u.default.createElement(\"div\",{className:\"rdw-image-modal-spinner\"},u.default.createElement(M.default,null)):void 0)}},{key:\"render\",value:function(){var e=this.props,t=e.config,n=t.icon,o=t.className,r=t.title,i=e.expanded,a=e.onExpandEvent,l=e.translations;return u.default.createElement(\"div\",{className:\"rdw-image-wrapper\",\"aria-haspopup\":\"true\",\"aria-expanded\":i,\"aria-label\":\"rdw-image-control\"},u.default.createElement(y.default,{className:(0,m.default)(o),value:\"unordered-list-item\",onClick:a,title:r||l[\"components.controls.image.image\"]},u.default.createElement(\"img\",{src:n,alt:\"\"})),i?this.renderAddImageModal():void 0)}}]),t}(s.Component);b.propTypes={expanded:p.default.bool,onExpandEvent:p.default.func,doCollapse:p.default.func,onChange:p.default.func,config:p.default.object,translations:p.default.object},t.default=b},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var o=n(0),r=function(e){return e&&e.__esModule?e:{default:e}}(o);n(71),t.default=function(){return r.default.createElement(\"div\",{className:\"rdw-spinner\"},r.default.createElement(\"div\",{className:\"rdw-bounce1\"}),r.default.createElement(\"div\",{className:\"rdw-bounce2\"}),r.default.createElement(\"div\",{className:\"rdw-bounce3\"}))}},function(e,t){e.exports={\"rdw-spinner\":\"rdw-spinner\",\"sk-bouncedelay\":\"sk-bouncedelay\",\"rdw-bounce1\":\"rdw-bounce1\",\"rdw-bounce2\":\"rdw-bounce2\"}},function(e,t){e.exports={\"rdw-image-wrapper\":\"rdw-image-wrapper\",\"rdw-image-modal\":\"rdw-image-modal\",\"rdw-image-modal-header\":\"rdw-image-modal-header\",\"rdw-image-modal-header-option\":\"rdw-image-modal-header-option\",\"rdw-image-modal-header-label\":\"rdw-image-modal-header-label\",\"rdw-image-modal-header-label-highlighted\":\"rdw-image-modal-header-label-highlighted\",\"rdw-image-modal-upload-option\":\"rdw-image-modal-upload-option\",\"rdw-image-modal-upload-option-highlighted\":\"rdw-image-modal-upload-option-highlighted\",\"rdw-image-modal-upload-option-label\":\"rdw-image-modal-upload-option-label\",\"rdw-image-modal-upload-option-image-preview\":\"rdw-image-modal-upload-option-image-preview\",\"rdw-image-modal-upload-option-input\":\"rdw-image-modal-upload-option-input\",\"rdw-image-modal-url-section\":\"rdw-image-modal-url-section\",\"rdw-image-modal-url-input\":\"rdw-image-modal-url-input\",\"rdw-image-modal-btn-section\":\"rdw-image-modal-btn-section\",\"rdw-image-modal-btn\":\"rdw-image-modal-btn\",\"rdw-image-modal-spinner\":\"rdw-image-modal-spinner\",\"rdw-image-modal-alt-input\":\"rdw-image-modal-alt-input\",\"rdw-image-modal-alt-lbl\":\"rdw-image-modal-alt-lbl\",\"rdw-image-modal-size\":\"rdw-image-modal-size\",\"rdw-image-modal-size-input\":\"rdw-image-modal-size-input\",\"rdw-image-mandatory-sign\":\"rdw-image-mandatory-sign\"}},function(e,t,n){\"use strict\";function o(e){return e&&e.__esModule?e:{default:e}}function r(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var l=function(){function e(e,t){for(var n=0;n=0&&s.default.createElement(h.DropdownOption,{value:\"undo\",onClick:this.onChange,disabled:l,className:(0,f.default)(\"rdw-history-dropdownoption\",p.className),title:p.title||u[\"components.controls.history.undo\"]},s.default.createElement(\"img\",{src:p.icon,alt:\"\"})),d.indexOf(\"redo\")>=0&&s.default.createElement(h.DropdownOption,{value:\"redo\",onClick:this.onChange,disabled:c,className:(0,f.default)(\"rdw-history-dropdownoption\",g.className),title:g.title||u[\"components.controls.history.redo\"]},s.default.createElement(\"img\",{src:g.icon,alt:\"\"})))}},{key:\"renderInFlatList\",value:function(){var e=this.props,t=e.config,n=t.options,o=t.undo,r=t.redo,i=t.className,a=e.currentState,l=a.undoDisabled,c=a.redoDisabled,u=e.translations;return s.default.createElement(\"div\",{className:(0,f.default)(\"rdw-history-wrapper\",i),\"aria-label\":\"rdw-history-control\"},n.indexOf(\"undo\")>=0&&s.default.createElement(y.default,{value:\"undo\",onClick:this.onChange,className:(0,f.default)(o.className),disabled:l,title:o.title||u[\"components.controls.history.undo\"]},s.default.createElement(\"img\",{src:o.icon,alt:\"\"})),n.indexOf(\"redo\")>=0&&s.default.createElement(y.default,{value:\"redo\",onClick:this.onChange,className:(0,f.default)(r.className),disabled:c,title:r.title||u[\"components.controls.history.redo\"]},s.default.createElement(\"img\",{src:r.icon,alt:\"\"})))}},{key:\"render\",value:function(){return this.props.config.inDropdown?this.renderInDropDown():this.renderInFlatList()}}]),t}(c.Component);M.propTypes={expanded:d.default.bool,doExpand:d.default.func,doCollapse:d.default.func,onExpandEvent:d.default.func,config:d.default.object,onChange:d.default.func,currentState:d.default.object,translations:d.default.object},t.default=M},function(e,t){e.exports={\"rdw-history-wrapper\":\"rdw-history-wrapper\",\"rdw-history-dropdownoption\":\"rdw-history-dropdownoption\",\"rdw-history-dropdown\":\"rdw-history-dropdown\"}},function(e,t,n){\"use strict\";function o(e){return e&&e.__esModule?e:{default:e}}function r(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function l(e,t,n){e.findEntityRanges(function(e){var t=e.getEntity();return null!==t&&\"LINK\"===n.getEntity(t).getType()},t)}function c(e){var t,n,o=e.showOpenOptionOnHover;return n=t=function(e){function t(){var e,n,o,a;r(this,t);for(var l=arguments.length,c=Array(l),s=0;s=0:e.value.toLowerCase().indexOf(t&&t.toLowerCase())>=0)})},i.addMention=function(){var e=i.state.activeOption,t=n.getEditorState(),o=n.onChange,r=n.separator,a=n.trigger,l=i.filteredSuggestions[e];l&&(0,y.default)(t,o,r,a,l)},l=o,r(i,l)}return i(t,e),c(t,[{key:\"componentDidMount\",value:function(){var e=n.getWrapperRef().getBoundingClientRect(),t=this.suggestion.getBoundingClientRect(),o=this.dropdown.getBoundingClientRect(),r=void 0,i=void 0,a=void 0;e.width=0){var p=s.substr(u+d.length,s.length);a().some(function(t){return!!t.value&&(e.config.caseSensitive?t.value.indexOf(p)>=0:t.value.toLowerCase().indexOf(p&&p.toLowerCase())>=0)})&&n(0===u?0:u+1,s.length)}}}},this.getSuggestionComponent=l.bind(this),this.getSuggestionDecorator=function(){return{strategy:e.findSuggestionEntities,component:e.getSuggestionComponent()}}};e.exports=w},function(e,t,n){\"use strict\";function o(e,t,n,o,a){var l=a.value,c=a.url,s=e.getCurrentContent().createEntity(\"MENTION\",\"IMMUTABLE\",{text:\"\"+o+l,value:l,url:c}).getLastCreatedEntityKey(),u=(0,i.getSelectedBlock)(e),d=u.getText(),p=e.getSelection().focusOffset,f=(d.lastIndexOf(n+o,p)||0)+1,m=!1;d.length===f+1&&(p=d.length),\" \"===d[p]&&(m=!0);var g=e.getSelection().merge({anchorOffset:f,focusOffset:p}),y=r.EditorState.acceptSelection(e,g),h=r.Modifier.replaceText(y.getCurrentContent(),g,\"\"+o+l,y.getCurrentInlineStyle(),s);y=r.EditorState.push(y,h,\"insert-characters\"),m||(g=y.getSelection().merge({anchorOffset:f+l.length+o.length,focusOffset:f+l.length+o.length}),y=r.EditorState.acceptSelection(y,g),h=r.Modifier.insertText(y.getCurrentContent(),g,\" \",y.getCurrentInlineStyle(),void 0)),t(r.EditorState.push(y,h,\"insert-characters\"))}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=o;var r=n(3),i=n(4)},function(e,t){e.exports={\"rdw-suggestion-wrapper\":\"rdw-suggestion-wrapper\",\"rdw-suggestion-dropdown\":\"rdw-suggestion-dropdown\",\"rdw-suggestion-option\":\"rdw-suggestion-option\",\"rdw-suggestion-option-active\":\"rdw-suggestion-option-active\"}},function(e,t,n){\"use strict\";function o(e){return e&&e.__esModule?e:{default:e}}function r(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}var i=n(0),a=o(i),l=n(1),c=o(l),s=n(2),u=o(s);n(89);var d=function e(t){var n=this;r(this,e),this.getHashtagComponent=function(){var e=n.className,t=function(t){var n=t.children,o=n[0].props.text;return a.default.createElement(\"a\",{href:o,className:(0,u.default)(\"rdw-hashtag-link\",e)},n)};return t.propTypes={children:c.default.object},t},this.findHashtagEntities=function(e,t){for(var o=e.getText(),r=0,i=0;o.length>0&&r>=0;)if(o[0]===n.hashCharacter?(r=0,i=0,o=o.substr(n.hashCharacter.length)):(r=o.indexOf(n.separator+n.hashCharacter))>=0&&(o=o.substr(r+(n.separator+n.hashCharacter).length),i+=r+n.separator.length),r>=0){var a=o.indexOf(n.separator)>=0?o.indexOf(n.separator):o.length,l=o.substr(0,a);l&&l.length>0&&(t(i,i+l.length+n.hashCharacter.length),i+=n.hashCharacter.length)}},this.getHashtagDecorator=function(){return{strategy:n.findHashtagEntities,component:n.getHashtagComponent()}},this.className=t.className,this.hashCharacter=t.hashCharacter||\"#\",this.separator=t.separator||\" \"},p=function(e){return new d(e).getHashtagDecorator()};e.exports=p},function(e,t){e.exports={\"rdw-hashtag-link\":\"rdw-hashtag-link\"}},function(e,t,n){\"use strict\";function o(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(91),i=o(r),a=n(92),l=o(a),c=function(e,t){return function(n){if(\"function\"==typeof t){var o=t(n,e,e.getEditorState);if(o)return o}if(\"atomic\"===n.getType()){var r=e.getEditorState().getCurrentContent(),a=r.getEntity(n.getEntityAt(0));if(a&&\"IMAGE\"===a.type)return{component:(0,l.default)(e),editable:!1};if(a&&\"EMBEDDED_LINK\"===a.type)return{component:i.default,editable:!1}}}};t.default=c},function(e,t,n){\"use strict\";function o(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(0),i=o(r),a=n(1),l=o(a),c=function(e){var t=e.block,n=e.contentState,o=n.getEntity(t.getEntityAt(0)),r=o.getData(),a=r.src,l=r.height,c=r.width;return i.default.createElement(\"iframe\",{height:l,width:c,src:a,frameBorder:\"0\",allowFullScreen:!0,title:\"Wysiwyg Embedded Content\"})};c.propTypes={block:l.default.object,contentState:l.default.object},t.default=c},function(e,t,n){\"use strict\";function o(e){return e&&e.__esModule?e:{default:e}}function r(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var l=function(){function e(e,t){for(var n=0;n<|]|\"+t.src_ZPCc+\"))(\"+c+\")\",\"i\"),r.re.schema_search=RegExp(\"(^|(?!_)(?:[><|]|\"+t.src_ZPCc+\"))(\"+c+\")\",\"ig\"),r.re.pretest=RegExp(\"(\"+r.re.schema_test.source+\")|(\"+r.re.host_fuzzy_test.source+\")|@\",\"i\"),(o=r).__index__=-1,o.__text_cache__=\"\"}function f(e,t){var n=e.__index__,o=e.__last_index__,r=e.__text_cache__.slice(n,o);this.schema=e.__schema__.toLowerCase(),this.index=n+t,this.lastIndex=o+t,this.raw=r,this.text=r,this.url=r}function g(e,t){var n=new f(e,t);return e.__compiled__[n.schema].normalize(n,e),n}function y(e,t){if(!(this instanceof y))return new y(e,t);var n;t||(n=e,Object.keys(n||{}).reduce(function(e,t){return e||r.hasOwnProperty(t)},!1)&&(t=e,e={})),this.__opts__=o({},r,t),this.__index__=-1,this.__last_index__=-1,this.__schema__=\"\",this.__text_cache__=\"\",this.__schemas__=o({},i,e),this.__compiled__={},this.__tlds__=a,this.__tlds_replaced__=!1,this.re={},c(this)}y.prototype.add=function(e,t){return this.__schemas__[e]=t,c(this),this},y.prototype.set=function(e){return this.__opts__=o(this.__opts__,e),this},y.prototype.test=function(e){if(this.__text_cache__=e,this.__index__=-1,!e.length)return!1;var t,n,o,r,i,a,c,l;if(this.re.schema_test.test(e))for((c=this.re.schema_search).lastIndex=0;null!==(t=c.exec(e));)if(r=this.testSchemaAt(e,t[2],c.lastIndex)){this.__schema__=t[2],this.__index__=t.index+t[1].length,this.__last_index__=t.index+t[0].length+r;break}return this.__opts__.fuzzyLink&&this.__compiled__[\"http:\"]&&0<=(l=e.search(this.re.host_fuzzy_test))&&(this.__index__<0||lthis.__last_index__)&&(this.__schema__=\"mailto:\",this.__index__=i,this.__last_index__=a)),0<=this.__index__},y.prototype.pretest=function(e){return this.re.pretest.test(e)},y.prototype.testSchemaAt=function(e,t,n){return this.__compiled__[t.toLowerCase()]?this.__compiled__[t.toLowerCase()].validate(e,n,this):0},y.prototype.match=function(e){var t=0,n=[];0<=this.__index__&&this.__text_cache__===e&&(n.push(g(this,t)),t=this.__last_index__);for(var o=t?e.slice(t):e;this.test(o);)n.push(g(this,t)),o=o.slice(this.__last_index__),t+=this.__last_index__;return n.length?n:null},y.prototype.tlds=function(e,t){return e=Array.isArray(e)?e:[e],t?this.__tlds__=this.__tlds__.concat(e).sort().filter(function(e,t,n){return e!==n[t-1]}).reverse():(this.__tlds__=e.slice(),this.__tlds_replaced__=!0),c(this),this},y.prototype.normalize=function(e){e.schema||(e.url=\"http://\"+e.url),\"mailto:\"!==e.schema||/^mailto:/i.test(e.url)||(e.url=\"mailto:\"+e.url)},y.prototype.onCompile=function(){},e.exports=y},function(e,t,n){e.exports=n(40)},function(e,t,n){\"use strict\";var c=n(10);function o(){}function r(){}r.resetWarningCache=o,e.exports=function(){function e(e,t,n,o,r,i){if(i!==c){var a=new Error(\"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types\");throw a.name=\"Invariant Violation\",a}}function t(){return e}var n={array:e.isRequired=e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:r,resetWarningCache:o};return n.PropTypes=n}},function(e,t,n){\"use strict\";e.exports=\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\"},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,o){\"use strict\";e.exports=function(e){var t={};t.src_Any=o(22).source,t.src_Cc=o(23).source,t.src_Z=o(24).source,t.src_P=o(25).source,t.src_ZPCc=[t.src_Z,t.src_P,t.src_Cc].join(\"|\"),t.src_ZCc=[t.src_Z,t.src_Cc].join(\"|\");var n=\"[><|]\";return t.src_pseudo_letter=\"(?:(?![><|]|\"+t.src_ZPCc+\")\"+t.src_Any+\")\",t.src_ip4=\"(?:(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\",t.src_auth=\"(?:(?:(?!\"+t.src_ZCc+\"|[@/\\\\[\\\\]()]).)+@)?\",t.src_port=\"(?::(?:6(?:[0-4]\\\\d{3}|5(?:[0-4]\\\\d{2}|5(?:[0-2]\\\\d|3[0-5])))|[1-5]?\\\\d{1,4}))?\",t.src_host_terminator=\"(?=$|[><|]|\"+t.src_ZPCc+\")(?!-|_|:\\\\d|\\\\.-|\\\\.(?!$|\"+t.src_ZPCc+\"))\",t.src_path=\"(?:[/?#](?:(?!\"+t.src_ZCc+\"|\"+n+\"|[()[\\\\]{}.,\\\"'?!\\\\-]).|\\\\[(?:(?!\"+t.src_ZCc+\"|\\\\]).)*\\\\]|\\\\((?:(?!\"+t.src_ZCc+\"|[)]).)*\\\\)|\\\\{(?:(?!\"+t.src_ZCc+'|[}]).)*\\\\}|\\\\\"(?:(?!'+t.src_ZCc+'|[\"]).)+\\\\\"|\\\\\\'(?:(?!'+t.src_ZCc+\"|[']).)+\\\\'|\\\\'(?=\"+t.src_pseudo_letter+\"|[-]).|\\\\.{2,4}[a-zA-Z0-9%/]|\\\\.(?!\"+t.src_ZCc+\"|[.]).|\"+(e&&e[\"---\"]?\"\\\\-(?!--(?:[^-]|$))(?:-*)|\":\"\\\\-+|\")+\"\\\\,(?!\"+t.src_ZCc+\").|\\\\!(?!\"+t.src_ZCc+\"|[!]).|\\\\?(?!\"+t.src_ZCc+\"|[?]).)+|\\\\/)?\",t.src_email_name='[\\\\-;:&=\\\\+\\\\$,\\\\.a-zA-Z0-9_][\\\\-;:&=\\\\+\\\\$,\\\\\"\\\\.a-zA-Z0-9_]*',t.src_xn=\"xn--[a-z0-9\\\\-]{1,59}\",t.src_domain_root=\"(?:\"+t.src_xn+\"|\"+t.src_pseudo_letter+\"{1,63})\",t.src_domain=\"(?:\"+t.src_xn+\"|(?:\"+t.src_pseudo_letter+\")|(?:\"+t.src_pseudo_letter+\"(?:-|\"+t.src_pseudo_letter+\"){0,61}\"+t.src_pseudo_letter+\"))\",t.src_host=\"(?:(?:(?:(?:\"+t.src_domain+\")\\\\.)*\"+t.src_domain+\"))\",t.tpl_host_fuzzy=\"(?:\"+t.src_ip4+\"|(?:(?:(?:\"+t.src_domain+\")\\\\.)+(?:%TLDS%)))\",t.tpl_host_no_ip_fuzzy=\"(?:(?:(?:\"+t.src_domain+\")\\\\.)+(?:%TLDS%))\",t.src_host_strict=t.src_host+t.src_host_terminator,t.tpl_host_fuzzy_strict=t.tpl_host_fuzzy+t.src_host_terminator,t.src_host_port_strict=t.src_host+t.src_port+t.src_host_terminator,t.tpl_host_port_fuzzy_strict=t.tpl_host_fuzzy+t.src_port+t.src_host_terminator,t.tpl_host_port_no_ip_fuzzy_strict=t.tpl_host_no_ip_fuzzy+t.src_port+t.src_host_terminator,t.tpl_host_fuzzy_test=\"localhost|www\\\\.|\\\\.\\\\d{1,3}\\\\.|(?:\\\\.(?:%TLDS%)(?:\"+t.src_ZPCc+\"|>|$))\",t.tpl_email_fuzzy='(^|[><|]|\"|\\\\(|'+t.src_ZCc+\")(\"+t.src_email_name+\"@\"+t.tpl_host_fuzzy_strict+\")\",t.tpl_link_fuzzy=\"(^|(?![.:/\\\\-_@])(?:[$+<=>^`||]|\"+t.src_ZPCc+\"))((?![$+<=>^`||])\"+t.tpl_host_port_fuzzy_strict+t.src_path+\")\",t.tpl_link_no_ip_fuzzy=\"(^|(?![.:/\\\\-_@])(?:[$+<=>^`||]|\"+t.src_ZPCc+\"))((?![$+<=>^`||])\"+t.tpl_host_port_no_ip_fuzzy_strict+t.src_path+\")\",t}},function(e,t){e.exports=/[\\0-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]/},function(e,t){e.exports=/[\\0-\\x1F\\x7F-\\x9F]/},function(e,t){e.exports=/[ \\xA0\\u1680\\u2000-\\u200A\\u202F\\u205F\\u3000]/},function(e,t){e.exports=/[!-#%-\\*,-/:;\\?@\\[-\\]_\\{\\}\\xA1\\xA7\\xAB\\xB6\\xB7\\xBB\\xBF\\u037E\\u0387\\u055A-\\u055F\\u0589\\u058A\\u05BE\\u05C0\\u05C3\\u05C6\\u05F3\\u05F4\\u0609\\u060A\\u060C\\u060D\\u061B\\u061E\\u061F\\u066A-\\u066D\\u06D4\\u0700-\\u070D\\u07F7-\\u07F9\\u0830-\\u083E\\u085E\\u0964\\u0965\\u0970\\u0AF0\\u0DF4\\u0E4F\\u0E5A\\u0E5B\\u0F04-\\u0F12\\u0F14\\u0F3A-\\u0F3D\\u0F85\\u0FD0-\\u0FD4\\u0FD9\\u0FDA\\u104A-\\u104F\\u10FB\\u1360-\\u1368\\u1400\\u166D\\u166E\\u169B\\u169C\\u16EB-\\u16ED\\u1735\\u1736\\u17D4-\\u17D6\\u17D8-\\u17DA\\u1800-\\u180A\\u1944\\u1945\\u1A1E\\u1A1F\\u1AA0-\\u1AA6\\u1AA8-\\u1AAD\\u1B5A-\\u1B60\\u1BFC-\\u1BFF\\u1C3B-\\u1C3F\\u1C7E\\u1C7F\\u1CC0-\\u1CC7\\u1CD3\\u2010-\\u2027\\u2030-\\u2043\\u2045-\\u2051\\u2053-\\u205E\\u207D\\u207E\\u208D\\u208E\\u2308-\\u230B\\u2329\\u232A\\u2768-\\u2775\\u27C5\\u27C6\\u27E6-\\u27EF\\u2983-\\u2998\\u29D8-\\u29DB\\u29FC\\u29FD\\u2CF9-\\u2CFC\\u2CFE\\u2CFF\\u2D70\\u2E00-\\u2E2E\\u2E30-\\u2E44\\u3001-\\u3003\\u3008-\\u3011\\u3014-\\u301F\\u3030\\u303D\\u30A0\\u30FB\\uA4FE\\uA4FF\\uA60D-\\uA60F\\uA673\\uA67E\\uA6F2-\\uA6F7\\uA874-\\uA877\\uA8CE\\uA8CF\\uA8F8-\\uA8FA\\uA8FC\\uA92E\\uA92F\\uA95F\\uA9C1-\\uA9CD\\uA9DE\\uA9DF\\uAA5C-\\uAA5F\\uAADE\\uAADF\\uAAF0\\uAAF1\\uABEB\\uFD3E\\uFD3F\\uFE10-\\uFE19\\uFE30-\\uFE52\\uFE54-\\uFE61\\uFE63\\uFE68\\uFE6A\\uFE6B\\uFF01-\\uFF03\\uFF05-\\uFF0A\\uFF0C-\\uFF0F\\uFF1A\\uFF1B\\uFF1F\\uFF20\\uFF3B-\\uFF3D\\uFF3F\\uFF5B\\uFF5D\\uFF5F-\\uFF65]|\\uD800[\\uDD00-\\uDD02\\uDF9F\\uDFD0]|\\uD801\\uDD6F|\\uD802[\\uDC57\\uDD1F\\uDD3F\\uDE50-\\uDE58\\uDE7F\\uDEF0-\\uDEF6\\uDF39-\\uDF3F\\uDF99-\\uDF9C]|\\uD804[\\uDC47-\\uDC4D\\uDCBB\\uDCBC\\uDCBE-\\uDCC1\\uDD40-\\uDD43\\uDD74\\uDD75\\uDDC5-\\uDDC9\\uDDCD\\uDDDB\\uDDDD-\\uDDDF\\uDE38-\\uDE3D\\uDEA9]|\\uD805[\\uDC4B-\\uDC4F\\uDC5B\\uDC5D\\uDCC6\\uDDC1-\\uDDD7\\uDE41-\\uDE43\\uDE60-\\uDE6C\\uDF3C-\\uDF3E]|\\uD807[\\uDC41-\\uDC45\\uDC70\\uDC71]|\\uD809[\\uDC70-\\uDC74]|\\uD81A[\\uDE6E\\uDE6F\\uDEF5\\uDF37-\\uDF3B\\uDF44]|\\uD82F\\uDC9F|\\uD836[\\uDE87-\\uDE8B]|\\uD83A[\\uDD5E\\uDD5F]/},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){\"use strict\";n.r(t);var m=n(1),S=n.n(m),o=n(0),f=n.n(o),E=n(3),C=n(4),r=n(2),L=n.n(r);function i(){var n=this;!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,i),this.callBacks=[],this.suggestionCallback=void 0,this.editorFlag=!1,this.suggestionFlag=!1,this.closeAllModals=function(t){n.callBacks.forEach(function(e){e(t)})},this.init=function(e){var t=document.getElementById(e);t&&t.addEventListener(\"click\",function(){n.editorFlag=!0}),document&&(document.addEventListener(\"click\",function(){n.editorFlag?n.editorFlag=!1:(n.closeAllModals(),n.suggestionCallback&&n.suggestionCallback())}),document.addEventListener(\"keydown\",function(e){\"Escape\"===e.key&&n.closeAllModals()}))},this.onEditorClick=function(){n.closeModals(),!n.suggestionFlag&&n.suggestionCallback?n.suggestionCallback():n.suggestionFlag=!1},this.closeModals=function(e){n.closeAllModals(e)},this.registerCallBack=function(e){n.callBacks.push(e)},this.deregisterCallBack=function(t){n.callBacks=n.callBacks.filter(function(e){return e!==t})},this.setSuggestionCallback=function(e){n.suggestionCallback=e},this.removeSuggestionCallback=function(){n.suggestionCallback=void 0},this.onSuggestionClick=function(){n.suggestionFlag=!0}}function c(){var t=this;!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,c),this.inputFocused=!1,this.editorMouseDown=!1,this.onEditorMouseDown=function(){t.editorFocused=!0},this.onInputMouseDown=function(){t.inputFocused=!0},this.isEditorBlur=function(e){return\"INPUT\"!==e.target.tagName&&\"LABEL\"!==e.target.tagName&&\"TEXTAREA\"!==e.target.tagName||t.editorFocused?!(\"INPUT\"===e.target.tagName&&\"LABEL\"===e.target.tagName&&\"TEXTAREA\"===e.target.tagName||t.inputFocused)&&!(t.editorFocused=!1):!(t.inputFocused=!1)},this.isEditorFocused=function(){return!t.inputFocused||(t.inputFocused=!1)},this.isToolbarFocused=function(){return!t.editorFocused||(t.editorFocused=!1)},this.isInputFocused=function(){return t.inputFocused}}var a,l=[],k={onKeyDown:function(t){l.forEach(function(e){e(t)})},registerCallBack:function(e){l.push(e)},deregisterCallBack:function(t){l=l.filter(function(e){return e!==t})}},g=function(){a=!0},y=function(){a=!1},s=function(){return a};function D(e){var t=e.getData()&&e.getData().get(\"text-align\");return t?\"rdw-\".concat(t,\"-aligned-block\"):\"\"}function u(e,t){if(e)for(var n in e)!{}.hasOwnProperty.call(e,n)||t(n,e[n])}function p(e,t){var n=!1;if(e)for(var o in e)if({}.hasOwnProperty.call(e,o)&&t===o){n=!0;break}return n}function d(e){e.stopPropagation()}function h(e){return e[e.options[0]].icon}function M(e,o){if(e&&void 0===o)return e;var r={};return u(e,function(e,t){var n;n=t,\"[object Object]\"===Object.prototype.toString.call(n)?r[e]=M(t,o[e]):r[e]=void 0!==o[e]?o[e]:t}),r}var b=n(6),j=n.n(b),N=n(5);n(11);function v(e){return(v=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function w(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function x(e,t){for(var n=0;n element; its readystatechange event will be fired asynchronously once it is inserted\n // into the document. Do so, thus queuing up the task. Remember to clean up once it's been called.\n var script = doc.createElement(\"script\");\n script.onreadystatechange = function () {\n runIfPresent(handle);\n script.onreadystatechange = null;\n html.removeChild(script);\n script = null;\n };\n html.appendChild(script);\n };\n }\n\n function installSetTimeoutImplementation() {\n registerImmediate = function(handle) {\n setTimeout(runIfPresent, 0, handle);\n };\n }\n\n // If supported, we should attach to the prototype of global, since that is where setTimeout et al. live.\n var attachTo = Object.getPrototypeOf && Object.getPrototypeOf(global);\n attachTo = attachTo && attachTo.setTimeout ? attachTo : global;\n\n // Don't get fooled by e.g. browserify environments.\n if ({}.toString.call(global.process) === \"[object process]\") {\n // For Node.js before 0.9\n installNextTickImplementation();\n\n } else if (canUsePostMessage()) {\n // For non-IE10 modern browsers\n installPostMessageImplementation();\n\n } else if (global.MessageChannel) {\n // For web workers, where supported\n installMessageChannelImplementation();\n\n } else if (doc && \"onreadystatechange\" in doc.createElement(\"script\")) {\n // For IE 6–8\n installReadyStateChangeImplementation();\n\n } else {\n // For older browsers\n installSetTimeoutImplementation();\n }\n\n attachTo.setImmediate = setImmediate;\n attachTo.clearImmediate = clearImmediate;\n}(typeof self === \"undefined\" ? typeof global === \"undefined\" ? this : global : self));\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\"), __webpack_require__(/*! ./../process/browser.js */ \"./node_modules/process/browser.js\")))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvc2V0aW1tZWRpYXRlL3NldEltbWVkaWF0ZS5qcz82MDE3Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBLHVCQUF1QjtBQUN2QjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQixpQkFBaUI7QUFDdEM7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLDBDQUEwQyxzQkFBc0IsRUFBRTtBQUNsRTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLHlDQUF5QztBQUN6QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7O0FBRUEsS0FBSztBQUNMO0FBQ0E7O0FBRUEsS0FBSztBQUNMO0FBQ0E7O0FBRUEsS0FBSztBQUNMO0FBQ0E7O0FBRUEsS0FBSztBQUNMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsQ0FBQyIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9zZXRpbW1lZGlhdGUvc2V0SW1tZWRpYXRlLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiKGZ1bmN0aW9uIChnbG9iYWwsIHVuZGVmaW5lZCkge1xuICAgIFwidXNlIHN0cmljdFwiO1xuXG4gICAgaWYgKGdsb2JhbC5zZXRJbW1lZGlhdGUpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHZhciBuZXh0SGFuZGxlID0gMTsgLy8gU3BlYyBzYXlzIGdyZWF0ZXIgdGhhbiB6ZXJvXG4gICAgdmFyIHRhc2tzQnlIYW5kbGUgPSB7fTtcbiAgICB2YXIgY3VycmVudGx5UnVubmluZ0FUYXNrID0gZmFsc2U7XG4gICAgdmFyIGRvYyA9IGdsb2JhbC5kb2N1bWVudDtcbiAgICB2YXIgcmVnaXN0ZXJJbW1lZGlhdGU7XG5cbiAgICBmdW5jdGlvbiBzZXRJbW1lZGlhdGUoY2FsbGJhY2spIHtcbiAgICAgIC8vIENhbGxiYWNrIGNhbiBlaXRoZXIgYmUgYSBmdW5jdGlvbiBvciBhIHN0cmluZ1xuICAgICAgaWYgKHR5cGVvZiBjYWxsYmFjayAhPT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgIGNhbGxiYWNrID0gbmV3IEZ1bmN0aW9uKFwiXCIgKyBjYWxsYmFjayk7XG4gICAgICB9XG4gICAgICAvLyBDb3B5IGZ1bmN0aW9uIGFyZ3VtZW50c1xuICAgICAgdmFyIGFyZ3MgPSBuZXcgQXJyYXkoYXJndW1lbnRzLmxlbmd0aCAtIDEpO1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhcmdzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgYXJnc1tpXSA9IGFyZ3VtZW50c1tpICsgMV07XG4gICAgICB9XG4gICAgICAvLyBTdG9yZSBhbmQgcmVnaXN0ZXIgdGhlIHRhc2tcbiAgICAgIHZhciB0YXNrID0geyBjYWxsYmFjazogY2FsbGJhY2ssIGFyZ3M6IGFyZ3MgfTtcbiAgICAgIHRhc2tzQnlIYW5kbGVbbmV4dEhhbmRsZV0gPSB0YXNrO1xuICAgICAgcmVnaXN0ZXJJbW1lZGlhdGUobmV4dEhhbmRsZSk7XG4gICAgICByZXR1cm4gbmV4dEhhbmRsZSsrO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGNsZWFySW1tZWRpYXRlKGhhbmRsZSkge1xuICAgICAgICBkZWxldGUgdGFza3NCeUhhbmRsZVtoYW5kbGVdO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHJ1bih0YXNrKSB7XG4gICAgICAgIHZhciBjYWxsYmFjayA9IHRhc2suY2FsbGJhY2s7XG4gICAgICAgIHZhciBhcmdzID0gdGFzay5hcmdzO1xuICAgICAgICBzd2l0Y2ggKGFyZ3MubGVuZ3RoKSB7XG4gICAgICAgIGNhc2UgMDpcbiAgICAgICAgICAgIGNhbGxiYWNrKCk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAxOlxuICAgICAgICAgICAgY2FsbGJhY2soYXJnc1swXSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAyOlxuICAgICAgICAgICAgY2FsbGJhY2soYXJnc1swXSwgYXJnc1sxXSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAzOlxuICAgICAgICAgICAgY2FsbGJhY2soYXJnc1swXSwgYXJnc1sxXSwgYXJnc1syXSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIGNhbGxiYWNrLmFwcGx5KHVuZGVmaW5lZCwgYXJncyk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGZ1bmN0aW9uIHJ1bklmUHJlc2VudChoYW5kbGUpIHtcbiAgICAgICAgLy8gRnJvbSB0aGUgc3BlYzogXCJXYWl0IHVudGlsIGFueSBpbnZvY2F0aW9ucyBvZiB0aGlzIGFsZ29yaXRobSBzdGFydGVkIGJlZm9yZSB0aGlzIG9uZSBoYXZlIGNvbXBsZXRlZC5cIlxuICAgICAgICAvLyBTbyBpZiB3ZSdyZSBjdXJyZW50bHkgcnVubmluZyBhIHRhc2ssIHdlJ2xsIG5lZWQgdG8gZGVsYXkgdGhpcyBpbnZvY2F0aW9uLlxuICAgICAgICBpZiAoY3VycmVudGx5UnVubmluZ0FUYXNrKSB7XG4gICAgICAgICAgICAvLyBEZWxheSBieSBkb2luZyBhIHNldFRpbWVvdXQuIHNldEltbWVkaWF0ZSB3YXMgdHJpZWQgaW5zdGVhZCwgYnV0IGluIEZpcmVmb3ggNyBpdCBnZW5lcmF0ZWQgYVxuICAgICAgICAgICAgLy8gXCJ0b28gbXVjaCByZWN1cnNpb25cIiBlcnJvci5cbiAgICAgICAgICAgIHNldFRpbWVvdXQocnVuSWZQcmVzZW50LCAwLCBoYW5kbGUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdmFyIHRhc2sgPSB0YXNrc0J5SGFuZGxlW2hhbmRsZV07XG4gICAgICAgICAgICBpZiAodGFzaykge1xuICAgICAgICAgICAgICAgIGN1cnJlbnRseVJ1bm5pbmdBVGFzayA9IHRydWU7XG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgcnVuKHRhc2spO1xuICAgICAgICAgICAgICAgIH0gZmluYWxseSB7XG4gICAgICAgICAgICAgICAgICAgIGNsZWFySW1tZWRpYXRlKGhhbmRsZSk7XG4gICAgICAgICAgICAgICAgICAgIGN1cnJlbnRseVJ1bm5pbmdBVGFzayA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGZ1bmN0aW9uIGluc3RhbGxOZXh0VGlja0ltcGxlbWVudGF0aW9uKCkge1xuICAgICAgICByZWdpc3RlckltbWVkaWF0ZSA9IGZ1bmN0aW9uKGhhbmRsZSkge1xuICAgICAgICAgICAgcHJvY2Vzcy5uZXh0VGljayhmdW5jdGlvbiAoKSB7IHJ1bklmUHJlc2VudChoYW5kbGUpOyB9KTtcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBjYW5Vc2VQb3N0TWVzc2FnZSgpIHtcbiAgICAgICAgLy8gVGhlIHRlc3QgYWdhaW5zdCBgaW1wb3J0U2NyaXB0c2AgcHJldmVudHMgdGhpcyBpbXBsZW1lbnRhdGlvbiBmcm9tIGJlaW5nIGluc3RhbGxlZCBpbnNpZGUgYSB3ZWIgd29ya2VyLFxuICAgICAgICAvLyB3aGVyZSBgZ2xvYmFsLnBvc3RNZXNzYWdlYCBtZWFucyBzb21ldGhpbmcgY29tcGxldGVseSBkaWZmZXJlbnQgYW5kIGNhbid0IGJlIHVzZWQgZm9yIHRoaXMgcHVycG9zZS5cbiAgICAgICAgaWYgKGdsb2JhbC5wb3N0TWVzc2FnZSAmJiAhZ2xvYmFsLmltcG9ydFNjcmlwdHMpIHtcbiAgICAgICAgICAgIHZhciBwb3N0TWVzc2FnZUlzQXN5bmNocm9ub3VzID0gdHJ1ZTtcbiAgICAgICAgICAgIHZhciBvbGRPbk1lc3NhZ2UgPSBnbG9iYWwub25tZXNzYWdlO1xuICAgICAgICAgICAgZ2xvYmFsLm9ubWVzc2FnZSA9IGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgICAgIHBvc3RNZXNzYWdlSXNBc3luY2hyb25vdXMgPSBmYWxzZTtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBnbG9iYWwucG9zdE1lc3NhZ2UoXCJcIiwgXCIqXCIpO1xuICAgICAgICAgICAgZ2xvYmFsLm9ubWVzc2FnZSA9IG9sZE9uTWVzc2FnZTtcbiAgICAgICAgICAgIHJldHVybiBwb3N0TWVzc2FnZUlzQXN5bmNocm9ub3VzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gaW5zdGFsbFBvc3RNZXNzYWdlSW1wbGVtZW50YXRpb24oKSB7XG4gICAgICAgIC8vIEluc3RhbGxzIGFuIGV2ZW50IGhhbmRsZXIgb24gYGdsb2JhbGAgZm9yIHRoZSBgbWVzc2FnZWAgZXZlbnQ6IHNlZVxuICAgICAgICAvLyAqIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuL0RPTS93aW5kb3cucG9zdE1lc3NhZ2VcbiAgICAgICAgLy8gKiBodHRwOi8vd3d3LndoYXR3Zy5vcmcvc3BlY3Mvd2ViLWFwcHMvY3VycmVudC13b3JrL211bHRpcGFnZS9jb21tcy5odG1sI2Nyb3NzRG9jdW1lbnRNZXNzYWdlc1xuXG4gICAgICAgIHZhciBtZXNzYWdlUHJlZml4ID0gXCJzZXRJbW1lZGlhdGUkXCIgKyBNYXRoLnJhbmRvbSgpICsgXCIkXCI7XG4gICAgICAgIHZhciBvbkdsb2JhbE1lc3NhZ2UgPSBmdW5jdGlvbihldmVudCkge1xuICAgICAgICAgICAgaWYgKGV2ZW50LnNvdXJjZSA9PT0gZ2xvYmFsICYmXG4gICAgICAgICAgICAgICAgdHlwZW9mIGV2ZW50LmRhdGEgPT09IFwic3RyaW5nXCIgJiZcbiAgICAgICAgICAgICAgICBldmVudC5kYXRhLmluZGV4T2YobWVzc2FnZVByZWZpeCkgPT09IDApIHtcbiAgICAgICAgICAgICAgICBydW5JZlByZXNlbnQoK2V2ZW50LmRhdGEuc2xpY2UobWVzc2FnZVByZWZpeC5sZW5ndGgpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcblxuICAgICAgICBpZiAoZ2xvYmFsLmFkZEV2ZW50TGlzdGVuZXIpIHtcbiAgICAgICAgICAgIGdsb2JhbC5hZGRFdmVudExpc3RlbmVyKFwibWVzc2FnZVwiLCBvbkdsb2JhbE1lc3NhZ2UsIGZhbHNlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGdsb2JhbC5hdHRhY2hFdmVudChcIm9ubWVzc2FnZVwiLCBvbkdsb2JhbE1lc3NhZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmVnaXN0ZXJJbW1lZGlhdGUgPSBmdW5jdGlvbihoYW5kbGUpIHtcbiAgICAgICAgICAgIGdsb2JhbC5wb3N0TWVzc2FnZShtZXNzYWdlUHJlZml4ICsgaGFuZGxlLCBcIipcIik7XG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gaW5zdGFsbE1lc3NhZ2VDaGFubmVsSW1wbGVtZW50YXRpb24oKSB7XG4gICAgICAgIHZhciBjaGFubmVsID0gbmV3IE1lc3NhZ2VDaGFubmVsKCk7XG4gICAgICAgIGNoYW5uZWwucG9ydDEub25tZXNzYWdlID0gZnVuY3Rpb24oZXZlbnQpIHtcbiAgICAgICAgICAgIHZhciBoYW5kbGUgPSBldmVudC5kYXRhO1xuICAgICAgICAgICAgcnVuSWZQcmVzZW50KGhhbmRsZSk7XG4gICAgICAgIH07XG5cbiAgICAgICAgcmVnaXN0ZXJJbW1lZGlhdGUgPSBmdW5jdGlvbihoYW5kbGUpIHtcbiAgICAgICAgICAgIGNoYW5uZWwucG9ydDIucG9zdE1lc3NhZ2UoaGFuZGxlKTtcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBpbnN0YWxsUmVhZHlTdGF0ZUNoYW5nZUltcGxlbWVudGF0aW9uKCkge1xuICAgICAgICB2YXIgaHRtbCA9IGRvYy5kb2N1bWVudEVsZW1lbnQ7XG4gICAgICAgIHJlZ2lzdGVySW1tZWRpYXRlID0gZnVuY3Rpb24oaGFuZGxlKSB7XG4gICAgICAgICAgICAvLyBDcmVhdGUgYSA8c2NyaXB0PiBlbGVtZW50OyBpdHMgcmVhZHlzdGF0ZWNoYW5nZSBldmVudCB3aWxsIGJlIGZpcmVkIGFzeW5jaHJvbm91c2x5IG9uY2UgaXQgaXMgaW5zZXJ0ZWRcbiAgICAgICAgICAgIC8vIGludG8gdGhlIGRvY3VtZW50LiBEbyBzbywgdGh1cyBxdWV1aW5nIHVwIHRoZSB0YXNrLiBSZW1lbWJlciB0byBjbGVhbiB1cCBvbmNlIGl0J3MgYmVlbiBjYWxsZWQuXG4gICAgICAgICAgICB2YXIgc2NyaXB0ID0gZG9jLmNyZWF0ZUVsZW1lbnQoXCJzY3JpcHRcIik7XG4gICAgICAgICAgICBzY3JpcHQub25yZWFkeXN0YXRlY2hhbmdlID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIHJ1bklmUHJlc2VudChoYW5kbGUpO1xuICAgICAgICAgICAgICAgIHNjcmlwdC5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBudWxsO1xuICAgICAgICAgICAgICAgIGh0bWwucmVtb3ZlQ2hpbGQoc2NyaXB0KTtcbiAgICAgICAgICAgICAgICBzY3JpcHQgPSBudWxsO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGh0bWwuYXBwZW5kQ2hpbGQoc2NyaXB0KTtcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBpbnN0YWxsU2V0VGltZW91dEltcGxlbWVudGF0aW9uKCkge1xuICAgICAgICByZWdpc3RlckltbWVkaWF0ZSA9IGZ1bmN0aW9uKGhhbmRsZSkge1xuICAgICAgICAgICAgc2V0VGltZW91dChydW5JZlByZXNlbnQsIDAsIGhhbmRsZSk7XG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgLy8gSWYgc3VwcG9ydGVkLCB3ZSBzaG91bGQgYXR0YWNoIHRvIHRoZSBwcm90b3R5cGUgb2YgZ2xvYmFsLCBzaW5jZSB0aGF0IGlzIHdoZXJlIHNldFRpbWVvdXQgZXQgYWwuIGxpdmUuXG4gICAgdmFyIGF0dGFjaFRvID0gT2JqZWN0LmdldFByb3RvdHlwZU9mICYmIE9iamVjdC5nZXRQcm90b3R5cGVPZihnbG9iYWwpO1xuICAgIGF0dGFjaFRvID0gYXR0YWNoVG8gJiYgYXR0YWNoVG8uc2V0VGltZW91dCA/IGF0dGFjaFRvIDogZ2xvYmFsO1xuXG4gICAgLy8gRG9uJ3QgZ2V0IGZvb2xlZCBieSBlLmcuIGJyb3dzZXJpZnkgZW52aXJvbm1lbnRzLlxuICAgIGlmICh7fS50b1N0cmluZy5jYWxsKGdsb2JhbC5wcm9jZXNzKSA9PT0gXCJbb2JqZWN0IHByb2Nlc3NdXCIpIHtcbiAgICAgICAgLy8gRm9yIE5vZGUuanMgYmVmb3JlIDAuOVxuICAgICAgICBpbnN0YWxsTmV4dFRpY2tJbXBsZW1lbnRhdGlvbigpO1xuXG4gICAgfSBlbHNlIGlmIChjYW5Vc2VQb3N0TWVzc2FnZSgpKSB7XG4gICAgICAgIC8vIEZvciBub24tSUUxMCBtb2Rlcm4gYnJvd3NlcnNcbiAgICAgICAgaW5zdGFsbFBvc3RNZXNzYWdlSW1wbGVtZW50YXRpb24oKTtcblxuICAgIH0gZWxzZSBpZiAoZ2xvYmFsLk1lc3NhZ2VDaGFubmVsKSB7XG4gICAgICAgIC8vIEZvciB3ZWIgd29ya2Vycywgd2hlcmUgc3VwcG9ydGVkXG4gICAgICAgIGluc3RhbGxNZXNzYWdlQ2hhbm5lbEltcGxlbWVudGF0aW9uKCk7XG5cbiAgICB9IGVsc2UgaWYgKGRvYyAmJiBcIm9ucmVhZHlzdGF0ZWNoYW5nZVwiIGluIGRvYy5jcmVhdGVFbGVtZW50KFwic2NyaXB0XCIpKSB7XG4gICAgICAgIC8vIEZvciBJRSA24oCTOFxuICAgICAgICBpbnN0YWxsUmVhZHlTdGF0ZUNoYW5nZUltcGxlbWVudGF0aW9uKCk7XG5cbiAgICB9IGVsc2Uge1xuICAgICAgICAvLyBGb3Igb2xkZXIgYnJvd3NlcnNcbiAgICAgICAgaW5zdGFsbFNldFRpbWVvdXRJbXBsZW1lbnRhdGlvbigpO1xuICAgIH1cblxuICAgIGF0dGFjaFRvLnNldEltbWVkaWF0ZSA9IHNldEltbWVkaWF0ZTtcbiAgICBhdHRhY2hUby5jbGVhckltbWVkaWF0ZSA9IGNsZWFySW1tZWRpYXRlO1xufSh0eXBlb2Ygc2VsZiA9PT0gXCJ1bmRlZmluZWRcIiA/IHR5cGVvZiBnbG9iYWwgPT09IFwidW5kZWZpbmVkXCIgPyB0aGlzIDogZ2xvYmFsIDogc2VsZikpO1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/setimmediate/setImmediate.js\n"); +/***/ }), + +/***/ "./node_modules/style-loader/lib/addStyles.js": +/*!****************************************************!*\ + !*** ./node_modules/style-loader/lib/addStyles.js ***! + \****************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +eval("/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n\nvar stylesInDom = {};\n\nvar\tmemoize = function (fn) {\n\tvar memo;\n\n\treturn function () {\n\t\tif (typeof memo === \"undefined\") memo = fn.apply(this, arguments);\n\t\treturn memo;\n\t};\n};\n\nvar isOldIE = memoize(function () {\n\t// Test for IE <= 9 as proposed by Browserhacks\n\t// @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805\n\t// Tests for existence of standard globals is to allow style-loader\n\t// to operate correctly into non-standard environments\n\t// @see https://github.com/webpack-contrib/style-loader/issues/177\n\treturn window && document && document.all && !window.atob;\n});\n\nvar getTarget = function (target, parent) {\n if (parent){\n return parent.querySelector(target);\n }\n return document.querySelector(target);\n};\n\nvar getElement = (function (fn) {\n\tvar memo = {};\n\n\treturn function(target, parent) {\n // If passing function in options, then use it for resolve \"head\" element.\n // Useful for Shadow Root style i.e\n // {\n // insertInto: function () { return document.querySelector(\"#foo\").shadowRoot }\n // }\n if (typeof target === 'function') {\n return target();\n }\n if (typeof memo[target] === \"undefined\") {\n\t\t\tvar styleTarget = getTarget.call(this, target, parent);\n\t\t\t// Special case to return head of iframe instead of iframe itself\n\t\t\tif (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n\t\t\t\ttry {\n\t\t\t\t\t// This will throw an exception if access to iframe is blocked\n\t\t\t\t\t// due to cross-origin restrictions\n\t\t\t\t\tstyleTarget = styleTarget.contentDocument.head;\n\t\t\t\t} catch(e) {\n\t\t\t\t\tstyleTarget = null;\n\t\t\t\t}\n\t\t\t}\n\t\t\tmemo[target] = styleTarget;\n\t\t}\n\t\treturn memo[target]\n\t};\n})();\n\nvar singleton = null;\nvar\tsingletonCounter = 0;\nvar\tstylesInsertedAtTop = [];\n\nvar\tfixUrls = __webpack_require__(/*! ./urls */ \"./node_modules/style-loader/lib/urls.js\");\n\nmodule.exports = function(list, options) {\n\tif (typeof DEBUG !== \"undefined\" && DEBUG) {\n\t\tif (typeof document !== \"object\") throw new Error(\"The style-loader cannot be used in a non-browser environment\");\n\t}\n\n\toptions = options || {};\n\n\toptions.attrs = typeof options.attrs === \"object\" ? options.attrs : {};\n\n\t// Force single-tag solution on IE6-9, which has a hard limit on the # of